Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
7863aed
More changes, checkpoint!
ClickerMonkey Apr 29, 2026
b4f8499
toSchema enhancements
ClickerMonkey Apr 29, 2026
cfa4ba0
Pre compaction savepoint
ClickerMonkey Apr 29, 2026
ae9545a
Introduce AliasType and scope-based generic resolution
ClickerMonkey Apr 30, 2026
bf65bc7
Limit validation error size; strict schema fixes
ClickerMonkey May 1, 2026
b634505
Generic constraints and obj compatibility
ClickerMonkey May 1, 2026
cb895b3
Update README.md
ClickerMonkey May 1, 2026
c4081ab
Update README.md
ClickerMonkey May 1, 2026
68c556f
Add type augmentation & reshape loop yield API
ClickerMonkey May 1, 2026
c2225a8
Revise gin README with detailed type system docs
ClickerMonkey May 1, 2026
f725477
function => fn & loop dynamic & parallel support
ClickerMonkey May 1, 2026
4fbaecd
Introduce @aeye/gin and ginny updates
ClickerMonkey May 1, 2026
89723c9
Validate type names; enhance fetch & logging
ClickerMonkey May 1, 2026
f15a156
Auto-call zero-arg methods and improve logging
ClickerMonkey May 2, 2026
fd1f6e0
Template scope-fallback, prop set, and markdown
ClickerMonkey May 2, 2026
e7157ef
Import Call/Prop and default parseValue scope
ClickerMonkey May 4, 2026
147564e
to Gin/JSON Code & problem underscoring
ClickerMonkey May 5, 2026
cfa4827
Add type surface validation and JSONCode spans
ClickerMonkey May 5, 2026
f29971e
Add memory probes & improve logging/debug info
ClickerMonkey May 7, 2026
7c3d9b1
Add strict-mode support & model selection
ClickerMonkey May 8, 2026
b47c14b
Pair tool_calls with synthesized results
ClickerMonkey May 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

To see a complex example of a CLI agent built with aeye - `npm i -g @aeye/cletus` and run `cletus`!

For a higher-level "build with types" experience, check out **[@aeye/gin](./packages/gin)** (a JSON-typed, executable program language for LLMs) and **[@aeye/ginny](./packages/ginny)** (a CLI that turns natural-language requests into validated gin programs) — `npm i -g @aeye/ginny` and run `ginny`.

```ts
import { AI } from '@aeye/ai';
import { OpenAIProvider } from '@aeye/openai';
Expand Down Expand Up @@ -227,6 +229,35 @@ npm install @aeye/aws
- Text embeddings (Amazon Titan)
- Automatic AWS credential discovery

### Higher-Level Packages

#### [@aeye/gin](./packages/gin)
A JSON-based programming language and type system designed for LLMs to author, validate, and execute typed programs at runtime. Gives the model a real type system (generics, structural compatibility, extension-based inheritance) and an expression language serialized as plain JSON — programs round-trip through `JSON.stringify` / `JSON.parse`, can be introspected and validated without running them, and execute in-process against a pluggable registry of native functions.

```bash
npm install @aeye/gin zod
```

**Features:**
- Typed expressions (`get`, `set`, `define`, `loop`, `if`, `switch`, `lambda`, `flow`, `native`, …) authored as JSON
- Static `validate()` catches unknown vars, prop / type mismatches, out-of-place flow before execution
- Generics with constraints (not defaults), structural type compatibility, type augmentation via `registry.augment(...)`
- Sequential and parallel loops over lists, maps, objs, text, num — plus dynamic (bool while-loop) iteration that composes with parallelism

#### [@aeye/ginny](./packages/ginny)
CLI agent that turns natural-language requests into executable gin programs. Multi-prompt orchestration (programmer → designer → architect → researcher → DBA) drafts, validates, and persists reusable typed functions and variables to disk, with a path-callable native fn surface (`fns.fetch`, `fns.llm`, `fns.log`, `fns.ask`) and optional Tavily-powered web research.

```bash
npm install -g @aeye/ginny
ginny
```

**Features:**
- REPL with conversation history, ESC-to-interrupt, Ctrl+C exit
- Per-prompt model overrides via `GIN_<KEY>_MODEL` env vars (programmer, researcher, architect, designer, dba, llm)
- Fn / type / var catalog persisted as JSON under `./fns`, `./types`, `./vars` for reuse across sessions
- Works with any provider configured for `@aeye/ai` — OpenAI, OpenRouter, AWS Bedrock; web research via Tavily

## Usage Examples

### Chat Completion
Expand Down Expand Up @@ -766,6 +797,8 @@ aeye/
│ ├── openrouter/ # OpenRouter provider
│ ├── replicate/ # Replicate provider
│ ├── aws/ # AWS Bedrock provider
│ ├── gin/ # JSON-typed program language for LLMs
│ ├── ginny/ # CLI agent that authors gin programs
│ └── cletus/ # Example CLI agent
├── package.json # Root package configuration
└── tsconfig.json # TypeScript configuration
Expand Down
Loading