genaicode 2.5.3 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -1
- package/README.md +25 -4
- package/dist/agents/drivers/muse-live.js +4 -3
- package/dist/agents/drivers/muse-live.js.map +1 -1
- package/dist/agents/drivers/muse.js +4 -2
- package/dist/agents/drivers/muse.js.map +1 -1
- package/dist/cli/agents.d.ts +6 -0
- package/dist/cli/agents.js +17 -0
- package/dist/cli/agents.js.map +1 -0
- package/dist/cli/args.d.ts +24 -0
- package/dist/cli/args.js +68 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/main.d.ts +28 -0
- package/dist/cli/main.js +180 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/render.d.ts +11 -0
- package/dist/cli/render.js +80 -0
- package/dist/cli/render.js.map +1 -0
- package/dist/cli.js +20 -2
- package/dist/cli.js.map +1 -1
- package/dist/providers/anthropic-converter.d.ts +17 -0
- package/dist/providers/anthropic-converter.js +84 -12
- package/dist/providers/anthropic-converter.js.map +1 -1
- package/dist/providers.d.ts +2 -2
- package/dist/providers.js +1 -1
- package/dist/providers.js.map +1 -1
- package/docs/pivot.md +4 -1
- package/package.json +4 -2
- package/dist/pivot-notice.d.ts +0 -1
- package/dist/pivot-notice.js +0 -13
- package/dist/pivot-notice.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,47 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 2.7.0 — 2026-09-29
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- The Anthropic provider maps `thinking.level` to `output_config.effort` (`minimal` and
|
|
8
|
+
`low` → `low`, `medium`, `high`) with adaptive thinking on models that have it (Opus and
|
|
9
|
+
Sonnet 4.6 and later, Fable, Mythos). Before, `level` was ignored on Anthropic.
|
|
10
|
+
- `anthropicModelTraits(model)` reports what a Claude model ID accepts (adaptive thinking,
|
|
11
|
+
budgets, temperature, forced tool choice, how thinking turns off). It reads Bedrock
|
|
12
|
+
(`anthropic.`) and Vertex (`@date`) IDs too.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- Claude Sonnet 5.5, Opus 5.5 and Fable 5.1 no longer 400 on requests genaicode builds:
|
|
17
|
+
- `thinking: false` sends `between_tools` on Sonnet 5.5, and on Opus 5.5 / Fable / Mythos
|
|
18
|
+
(where thinking cannot be turned off) leaves `thinking` out and sets effort `low`.
|
|
19
|
+
- A forced `toolChoice` (`'required'` or `{ name }`) becomes `auto` plus a system-prompt
|
|
20
|
+
line asking for the call. These models reject `any` / `tool`; check that a call was made.
|
|
21
|
+
- `thinking.budgetTokens` becomes adaptive thinking on models that removed budgets (Opus
|
|
22
|
+
4.7+, Sonnet 5+, Fable, Mythos) instead of a 400.
|
|
23
|
+
- `temperature` is left out on models that reject it (Opus 4.7+, Sonnet 5+, Fable, Mythos),
|
|
24
|
+
as for `gpt-6-luna`.
|
|
25
|
+
|
|
26
|
+
## 2.6.0 — 2026-09-28
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- `npx genaicode` is a command-line front end to the `genaicode/agents` drivers.
|
|
31
|
+
`genaicode agents` lists which agent CLIs are installed, and `genaicode run <prompt>`
|
|
32
|
+
runs one task with the first installed agent (or `--agent <name>`), with `--cwd`,
|
|
33
|
+
`--model`, `--effort`, `--max-turns`, `--timeout`, `--json` event output, and a
|
|
34
|
+
`--verify <command>` repair loop. It replaces the 2.x notice the bin used to print;
|
|
35
|
+
`npx genaicode@1` still runs the legacy 1.x agent.
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- `museLive()` reads tool items as `muse serve` sends them (`itemId`, `tool`), so
|
|
40
|
+
`tool-start`/`tool-end` carry the item id and the tool name (`bash`) instead of `toolCall`.
|
|
41
|
+
- `muse()` no longer reports Muse's internal reminder subagents (`reminder.child_run`) as
|
|
42
|
+
tool calls, and names tools without the `tool:` prefix (`bash`, like `museLive()`).
|
|
43
|
+
|
|
44
|
+
## 2.5.3 — 2026-09-26
|
|
4
45
|
|
|
5
46
|
### Fixed
|
|
6
47
|
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ The core does not inspect repositories, execute shell commands, edit files, or r
|
|
|
16
16
|
The opt-in [`genaicode/agents`](#coding-agents) subpath drives the coding-agent CLIs you
|
|
17
17
|
already have (Claude Code, Codex, GitHub Copilot CLI, Cursor, Gemini CLI, opencode, Muse,
|
|
18
18
|
Mistral Vibe, Antigravity) behind one task and event API, so you can orchestrate them from
|
|
19
|
-
backend code.
|
|
19
|
+
backend code. The same drivers are on the command line as `npx genaicode run`.
|
|
20
20
|
|
|
21
21
|
**Like jQuery**, the common case starts with one small function and becomes more specific
|
|
22
22
|
through chaining—configure a request, follow up across multiple prompts, and keep history
|
|
@@ -134,6 +134,23 @@ its own credentials, billing, and permission settings. GenAIcode does not sandbo
|
|
|
134
134
|
choose a model, or retry it. See [docs/agents.md](docs/agents.md) for events, options per
|
|
135
135
|
driver, and writing your own driver.
|
|
136
136
|
|
|
137
|
+
### From the command line
|
|
138
|
+
|
|
139
|
+
The `genaicode` bin runs the same headless drivers without writing any code:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
npx genaicode agents # which agent CLIs are installed
|
|
143
|
+
npx genaicode run "Add a unit test for parseDate" # first installed agent, current dir
|
|
144
|
+
npx genaicode run -a codex -C ../api --verify "npm test" "Fix the failing date tests"
|
|
145
|
+
git diff | npx genaicode run --json -a claude - # prompt from stdin, JSON-lines events
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Assistant text goes to stdout and tool calls, edits, and the result line go to stderr.
|
|
149
|
+
`--verify` runs a shell command after the agent finishes and sends its output back for up
|
|
150
|
+
to `--max-repairs` more attempts (`runWithVerify`). The exit code is 0 on success, 1 when
|
|
151
|
+
the agent or the check fails, 2 on a usage error, and 130 when interrupted.
|
|
152
|
+
`npx genaicode --help` lists every option.
|
|
153
|
+
|
|
137
154
|
## Chaining prompts
|
|
138
155
|
|
|
139
156
|
A chain remembers successful user and assistant turns. Each new prompt sees the complete
|
|
@@ -237,6 +254,10 @@ const verdict = await ai(promptText)
|
|
|
237
254
|
because Gemini 3 rejects `thinkingBudget: 0`. JSON `responseFormat` without an
|
|
238
255
|
explicit `thinking` setting or provider `generationConfig.thinkingConfig` default also
|
|
239
256
|
defaults Google thinking to `MINIMAL` (or `LOW` on Gemini 3.7 / Pro).
|
|
257
|
+
On Anthropic, `level` becomes `output_config.effort` with adaptive thinking (Opus and
|
|
258
|
+
Sonnet 4.6+), and `false` uses whatever the model accepts: `disabled`, `between_tools`
|
|
259
|
+
(Sonnet 5.5), or effort `low` where thinking is always on (Opus 5.5, Fable). Budgets
|
|
260
|
+
become adaptive thinking on models that removed them.
|
|
240
261
|
|
|
241
262
|
Providers map what they support and ignore the rest. `ProviderCapabilities.jsonResponse`
|
|
242
263
|
and `ProviderCapabilities.thinking` advertise support. Vendor-specific escapes such as
|
|
@@ -508,9 +529,9 @@ GenAIcode 1.x was a coding agent. Version 2.0 deliberately replaces that product
|
|
|
508
529
|
small backend LLM toolkit: a jQuery-like layer for portable prompts, provider adapters,
|
|
509
530
|
conversation chains, and plugins.
|
|
510
531
|
|
|
511
|
-
The coding
|
|
512
|
-
|
|
513
|
-
|
|
532
|
+
The 1.x coding agent, browser UI, repository tools, and shell execution are not
|
|
533
|
+
deprecated compatibility features; they have been removed from 2.0. The 2.x
|
|
534
|
+
`genaicode` command only drives external agent CLIs (see [From the command line](#from-the-command-line)). The GenAIcode name, `PromptItem` model, provider converters, and extensibility
|
|
514
535
|
continue here in a smaller and more focused form.
|
|
515
536
|
|
|
516
537
|
The original coding agent remains available from the preserved
|
|
@@ -188,14 +188,15 @@ export function museNotification(method, params) {
|
|
|
188
188
|
const item = isObject(params) && isObject(params.item) ? params.item : undefined;
|
|
189
189
|
if (!item)
|
|
190
190
|
return [];
|
|
191
|
-
|
|
192
|
-
const
|
|
191
|
+
// `muse serve` sends `kind`/`itemId`/`tool`; `type`/`id`/`toolName` are the older spellings.
|
|
192
|
+
const kind = stringField(item, 'kind') ?? stringField(item, 'type');
|
|
193
|
+
const id = stringField(item, 'itemId') ?? stringField(item, 'id');
|
|
193
194
|
if (method === 'item/completed' && kind === 'agentMessage') {
|
|
194
195
|
const text = stringField(item, 'text');
|
|
195
196
|
return text ? [{ type: 'message', text }] : [];
|
|
196
197
|
}
|
|
197
198
|
if (kind && TOOL_KINDS.has(kind)) {
|
|
198
|
-
const name = stringField(item, 'toolName') ?? kind;
|
|
199
|
+
const name = stringField(item, 'tool') ?? stringField(item, 'toolName') ?? kind;
|
|
199
200
|
if (method === 'item/started')
|
|
200
201
|
return [{ type: 'tool-start', ...(id ? { id } : {}), name }];
|
|
201
202
|
if (method === 'item/completed')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"muse-live.js","sourceRoot":"","sources":["../../../src/agents/drivers/muse-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAoB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAWlD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;AAE1F;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,UAA2B,EAAE;IACpD,OAAO,SAAS,CAAC;QACf,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,MAAM;QAClC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;QAC/F,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACd,OAAO;YACP,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;SAC1B;QACD,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAAoB,EAAE,OAAwB;IACrE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,IAAI,MAAM,CAAC;IACnD,2EAA2E;IAC3E,MAAM,GAAG,GAAwC,EAAE,CAAC;IACpD,IAAI,MAAM,GAAoC,GAAG,EAAE,GAAE,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,EAAE;QACrD,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAErE,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACxC,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,GAAG,CAAC,OAAO;YAAE,OAAO;QAC1F,IAAI,MAAM,KAAK,oBAAoB;YAAE,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,MAAM,KAAK,kBAAkB;YAAE,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI;gBAAE,OAAO;YACpG,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClF,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,MAAM,CACJ,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,aAAa,QAAQ,IAAI,OAAO,GAAG,EAAE,CAC7G,CAAC;YACF,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACnC,gFAAgF;QAChF,oFAAoF;QACpF,IAAI,MAAM,KAAK,kBAAkB,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;YACtF,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,QAAQ,CAAC,wCAAwC,EAAE,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,OAAO,CACf,YAAY,EACZ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,EAC9F,OAAO,CACR,CAAC;IACF,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAE1B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAC/B,eAAe,EACf;QACE,SAAS,EAAE,MAAM,EAAE;QACnB,aAAa,EAAE,IAAI,CAAC,GAAG;QACvB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,YAAY,EAAE,WAAW;KAC1B,EACD,OAAO,CACR,CAAC;IACF,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC5F,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACxB,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAC/B,YAAY,EACZ;QACE,SAAS;QACT,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,SAAS,EAAE,MAAM,EAAE;QACnB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,EACD,OAAO,CACR,CAAC;IACF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAE/D,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAC3B,YAAY,EACZ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAC9E,OAAO,CACR,CAAC;QACF,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,MAAM;YACvC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQD;;;;;GAKG;AACH,SAAS,aAAa,CAAC,OAAoB,EAAE,SAAmC,EAAE,OAAe;IAC/F,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,MAAM,MAAM,GAAG,KAAK,EAAE,MAA+B,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;QACpG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;YAAE,OAAO;QACxC,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9G,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO;QAC5D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtB,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CACpC,mBAAmB,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC,CACjF,CAAC;QACF,uFAAuF;QACvF,IAAI,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,yCAAyC,UAAU,eAAe,EAAE,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,+CAA+C,UAAU,GAAG,EAAE,CAAC,CAAC;YACvG,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CACnC,iBAAiB,EACjB;YACE,SAAS,EAAE,SAAS,EAAE;YACtB,UAAU;YACV,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,WAAW;YAC1B,SAAS,EAAE,MAAM,EAAE;SACpB,EACD,OAAO,CACR,CAAC;QACF,0FAA0F;QAC1F,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,CAAC,MAA+B,EAAE,EAAE,CAC9C,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAC3C,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;KACvG,CAAC,CACH,CAAC;IAEJ,OAAO;QACL,SAAS,CAAC,MAAe;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO;YAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACrD,IAAI,UAAU;gBAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACjD,GAAG,CAAC,MAAM,CAAC,CAAC;QACd,CAAC;QACD,OAAO,CAAC,MAAe;YACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO;YAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC;gBAAE,OAAO;YAC/F,0FAA0F;YAC1F,GAAG,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAClC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACrG,CAAC;AAED,+GAA+G;AAC/G,SAAS,UAAU,CAAC,OAAqB,EAAE,QAA0B;IACnE,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA+B,EAAE,EAAU;IACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,IAAI,GACR,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,SAAS;QAClD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAW,KAAK,YAAY,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM;YACzE,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,OAAO,CAAC;IAChB,MAAM,OAAO,GACX,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC;QAC/B,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC;QAC5B,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC9B,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACvE,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAAe;IAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"muse-live.js","sourceRoot":"","sources":["../../../src/agents/drivers/muse-live.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,8 +52,10 @@ export function createMuseParser() {
|
|
|
52
52
|
}
|
|
53
53
|
else if (type === 'task.lifecycle.side_effect_intent') {
|
|
54
54
|
const operation = stringField(payload?.event, 'operation');
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
// `model.*` is the model call itself; `reminder.*` runs Muse's internal reminder subagents.
|
|
56
|
+
// `tool:bash` names the same tool museLive() reports as `bash`.
|
|
57
|
+
if (operation && !operation.startsWith('model.') && !operation.startsWith('reminder.'))
|
|
58
|
+
events.push({ type: 'tool-start', name: operation.replace(/^tool:/, '') });
|
|
57
59
|
}
|
|
58
60
|
else if (type === 'approval_wait.effect.started' ||
|
|
59
61
|
(type === 'runtime.session' &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"muse.js","sourceRoot":"","sources":["../../../src/agents/drivers/muse.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"muse.js","sourceRoot":"","sources":["../../../src/agents/drivers/muse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA6C,MAAM,iBAAiB,CAAC;AAEtF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AASlD,8CAA8C;AAC9C,MAAM,UAAU,IAAI,CAAC,UAA4B,EAAE;IACjD,OAAO,QAAQ,CAAC;QACd,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,MAAM;QAClC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9F,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvC,YAAY,EAAE,gBAAgB;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAe,EAAE,UAA4B,EAAE;IACtE,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnE,IAAI,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvF,IAAI,IAAI,CAAC,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,QAAQ,GAAG,eAAe,CAAC;AAEjC,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAiC,CAAC;IACtC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;QACtB,KAAK,CAAC,KAAK;YACT,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAChC,MAAM,MAAM,GAAiB,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC5D,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI;gBAAE,OAAO,MAAM,CAAC;YAEzB,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBACxC,QAAQ,IAAI,IAAI,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;iBAAM,IAAI,IAAI,KAAK,mCAAmC,EAAE,CAAC;gBACxD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC3D,4FAA4F;gBAC5F,gEAAgE;gBAChE,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;oBACpF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/E,CAAC;iBAAM,IACL,IAAI,KAAK,8BAA8B;gBACvC,CAAC,IAAI,KAAK,iBAAiB;oBACzB,OAAO,EAAE,IAAI,KAAK,UAAU;oBAC5B,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,WAAW,CAAC,EACrD,CAAC;gBACD,+CAA+C;gBAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAClH,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;oBACvB,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;oBACxC,IAAI,KAAK;wBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC;oBACtD,MAAM,OAAO,GAAG,YAAY,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACpE,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;oBACxC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,OAA4C;IAC9D,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,UAAU,CAAC;AACxF,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CodingAgent } from '../agents/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Headless drivers the CLI can run, in the order `run` picks the first installed one.
|
|
4
|
+
* Live drivers are left out: the CLI has no approval prompt, so they would deny everything.
|
|
5
|
+
*/
|
|
6
|
+
export declare function defaultAgents(): CodingAgent[];
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { antigravity } from '../agents/drivers/antigravity.js';
|
|
2
|
+
import { claude } from '../agents/drivers/claude.js';
|
|
3
|
+
import { codex } from '../agents/drivers/codex.js';
|
|
4
|
+
import { copilot } from '../agents/drivers/copilot.js';
|
|
5
|
+
import { cursor } from '../agents/drivers/cursor.js';
|
|
6
|
+
import { gemini } from '../agents/drivers/gemini.js';
|
|
7
|
+
import { muse } from '../agents/drivers/muse.js';
|
|
8
|
+
import { opencode } from '../agents/drivers/opencode.js';
|
|
9
|
+
import { vibe } from '../agents/drivers/vibe.js';
|
|
10
|
+
/**
|
|
11
|
+
* Headless drivers the CLI can run, in the order `run` picks the first installed one.
|
|
12
|
+
* Live drivers are left out: the CLI has no approval prompt, so they would deny everything.
|
|
13
|
+
*/
|
|
14
|
+
export function defaultAgents() {
|
|
15
|
+
return [claude(), codex(), copilot(), cursor(), gemini(), opencode(), vibe(), antigravity(), muse()];
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/cli/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAGjD;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACvG,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type CliCommand = {
|
|
2
|
+
kind: 'help';
|
|
3
|
+
} | {
|
|
4
|
+
kind: 'version';
|
|
5
|
+
} | {
|
|
6
|
+
kind: 'agents';
|
|
7
|
+
json: boolean;
|
|
8
|
+
} | {
|
|
9
|
+
kind: 'run';
|
|
10
|
+
prompt: string | undefined;
|
|
11
|
+
agent?: string;
|
|
12
|
+
cwd?: string;
|
|
13
|
+
model?: string;
|
|
14
|
+
effort?: string;
|
|
15
|
+
maxTurns?: number;
|
|
16
|
+
timeoutMs?: number;
|
|
17
|
+
verify?: string;
|
|
18
|
+
maxRepairs: number;
|
|
19
|
+
json: boolean;
|
|
20
|
+
};
|
|
21
|
+
export declare class UsageError extends Error {
|
|
22
|
+
}
|
|
23
|
+
/** Parse `genaicode` arguments. Throws `UsageError` for anything the help text does not describe. */
|
|
24
|
+
export declare function parseCli(argv: readonly string[]): CliCommand;
|
package/dist/cli/args.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { parseArgs } from 'node:util';
|
|
2
|
+
export class UsageError extends Error {
|
|
3
|
+
}
|
|
4
|
+
/** Parse `genaicode` arguments. Throws `UsageError` for anything the help text does not describe. */
|
|
5
|
+
export function parseCli(argv) {
|
|
6
|
+
const [command, ...rest] = argv;
|
|
7
|
+
if (command === undefined || command === 'help' || command === '--help' || command === '-h')
|
|
8
|
+
return { kind: 'help' };
|
|
9
|
+
if (command === '--version' || command === '-v')
|
|
10
|
+
return { kind: 'version' };
|
|
11
|
+
if (command === 'agents') {
|
|
12
|
+
const { values } = parse(() => parseArgs({ args: rest, options: { json: { type: 'boolean' } }, strict: true }));
|
|
13
|
+
return { kind: 'agents', json: values.json === true };
|
|
14
|
+
}
|
|
15
|
+
if (command === 'run') {
|
|
16
|
+
const { values, positionals } = parse(() => parseArgs({
|
|
17
|
+
args: rest,
|
|
18
|
+
allowPositionals: true,
|
|
19
|
+
strict: true,
|
|
20
|
+
options: {
|
|
21
|
+
agent: { type: 'string', short: 'a' },
|
|
22
|
+
cwd: { type: 'string', short: 'C' },
|
|
23
|
+
model: { type: 'string', short: 'm' },
|
|
24
|
+
effort: { type: 'string' },
|
|
25
|
+
'max-turns': { type: 'string' },
|
|
26
|
+
timeout: { type: 'string' },
|
|
27
|
+
verify: { type: 'string' },
|
|
28
|
+
'max-repairs': { type: 'string' },
|
|
29
|
+
json: { type: 'boolean' },
|
|
30
|
+
},
|
|
31
|
+
}));
|
|
32
|
+
const prompt = positionals.join(' ').trim();
|
|
33
|
+
const timeout = optionalNumber(values.timeout, '--timeout');
|
|
34
|
+
return {
|
|
35
|
+
kind: 'run',
|
|
36
|
+
prompt: prompt === '' || prompt === '-' ? undefined : prompt,
|
|
37
|
+
agent: values.agent,
|
|
38
|
+
cwd: values.cwd,
|
|
39
|
+
model: values.model,
|
|
40
|
+
effort: values.effort,
|
|
41
|
+
maxTurns: optionalNumber(values['max-turns'], '--max-turns'),
|
|
42
|
+
timeoutMs: timeout === undefined ? undefined : timeout * 1000,
|
|
43
|
+
verify: values.verify,
|
|
44
|
+
maxRepairs: optionalNumber(values['max-repairs'], '--max-repairs') ?? 2,
|
|
45
|
+
json: values.json === true,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
throw new UsageError(`Unknown command: ${command}`);
|
|
49
|
+
}
|
|
50
|
+
/** Run a `parseArgs` call, reporting its errors as usage errors. */
|
|
51
|
+
function parse(call) {
|
|
52
|
+
try {
|
|
53
|
+
return call();
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
throw new UsageError(error instanceof Error ? error.message : String(error));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function optionalNumber(value, flag) {
|
|
60
|
+
if (value === undefined)
|
|
61
|
+
return undefined;
|
|
62
|
+
const number = Number(value);
|
|
63
|
+
if (typeof value !== 'string' || value.trim() === '' || !Number.isInteger(number) || number < 0) {
|
|
64
|
+
throw new UsageError(`${flag} expects a non-negative whole number, got "${String(value)}".`);
|
|
65
|
+
}
|
|
66
|
+
return number;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { CodingAgent } from '../agents/types.js';
|
|
2
|
+
import { type Output } from './render.js';
|
|
3
|
+
export interface CliEnvironment {
|
|
4
|
+
argv: readonly string[];
|
|
5
|
+
env: NodeJS.ProcessEnv;
|
|
6
|
+
cwd: string;
|
|
7
|
+
stdout: Output;
|
|
8
|
+
stderr: Output;
|
|
9
|
+
/** The prompt when none is given as arguments. Return undefined when stdin is a terminal. */
|
|
10
|
+
readStdin(): Promise<string | undefined>;
|
|
11
|
+
/** Stops a running task (Ctrl-C). */
|
|
12
|
+
signal?: AbortSignal;
|
|
13
|
+
/** Agents to offer. Defaults to every headless driver. */
|
|
14
|
+
agents?: readonly CodingAgent[];
|
|
15
|
+
/** Runs the `--verify` command. Defaults to a shell in the task directory. */
|
|
16
|
+
runCheck?(command: string, cwd: string, env: NodeJS.ProcessEnv, signal?: AbortSignal): Promise<CheckResult>;
|
|
17
|
+
}
|
|
18
|
+
export interface CheckResult {
|
|
19
|
+
exitCode: number | null;
|
|
20
|
+
output: string;
|
|
21
|
+
}
|
|
22
|
+
export declare const EXIT_OK = 0;
|
|
23
|
+
export declare const EXIT_FAILED = 1;
|
|
24
|
+
export declare const EXIT_USAGE = 2;
|
|
25
|
+
export declare const EXIT_ABORTED = 130;
|
|
26
|
+
export declare const helpText = "genaicode: run the coding-agent CLIs installed on this machine behind one interface.\n\nUsage:\n genaicode agents [--json] List supported agents and whether each is installed\n genaicode run [options] <prompt...> Run one task (reads the prompt from stdin if omitted)\n\nRun options:\n -a, --agent <name> Agent to use (default: the first installed one, see \"agents\")\n -C, --cwd <dir> Directory the agent works in (default: current directory)\n -m, --model <id> Model id passed to the agent CLI\n --effort <level> Reasoning effort, in the agent's own vocabulary\n --max-turns <n> Turn limit, where the agent supports one\n --timeout <sec> Stop the agent after this many seconds\n --verify <command> Shell command that checks the work; on failure its output goes\n back to the agent for another attempt\n --max-repairs <n> Repair attempts after a failed check (default 2)\n --json Print agent events as JSON lines instead of text\n\nThe agent uses its own login, billing, and permission defaults. GenAIcode adds no agent\nloop, prompts, or sandbox of its own. Library API: https://github.com/gtanczyk/genaicode#readme\n\nLooking for the legacy 1.x coding agent?\n Run it: npx genaicode@1\n Source: https://github.com/gtanczyk/genaicode/tree/1.x\n";
|
|
27
|
+
/** Run the CLI and return its exit code. */
|
|
28
|
+
export declare function main(cli: CliEnvironment): Promise<number>;
|
package/dist/cli/main.js
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { resolve } from 'node:path';
|
|
4
|
+
import { detectAgents } from '../agents/discovery.js';
|
|
5
|
+
import { runWithVerify } from '../agents/verify.js';
|
|
6
|
+
import { defaultAgents } from './agents.js';
|
|
7
|
+
import { parseCli, UsageError } from './args.js';
|
|
8
|
+
import { createRenderer, describeResult } from './render.js';
|
|
9
|
+
export const EXIT_OK = 0;
|
|
10
|
+
export const EXIT_FAILED = 1;
|
|
11
|
+
export const EXIT_USAGE = 2;
|
|
12
|
+
export const EXIT_ABORTED = 130;
|
|
13
|
+
export const helpText = `genaicode: run the coding-agent CLIs installed on this machine behind one interface.
|
|
14
|
+
|
|
15
|
+
Usage:
|
|
16
|
+
genaicode agents [--json] List supported agents and whether each is installed
|
|
17
|
+
genaicode run [options] <prompt...> Run one task (reads the prompt from stdin if omitted)
|
|
18
|
+
|
|
19
|
+
Run options:
|
|
20
|
+
-a, --agent <name> Agent to use (default: the first installed one, see "agents")
|
|
21
|
+
-C, --cwd <dir> Directory the agent works in (default: current directory)
|
|
22
|
+
-m, --model <id> Model id passed to the agent CLI
|
|
23
|
+
--effort <level> Reasoning effort, in the agent's own vocabulary
|
|
24
|
+
--max-turns <n> Turn limit, where the agent supports one
|
|
25
|
+
--timeout <sec> Stop the agent after this many seconds
|
|
26
|
+
--verify <command> Shell command that checks the work; on failure its output goes
|
|
27
|
+
back to the agent for another attempt
|
|
28
|
+
--max-repairs <n> Repair attempts after a failed check (default 2)
|
|
29
|
+
--json Print agent events as JSON lines instead of text
|
|
30
|
+
|
|
31
|
+
The agent uses its own login, billing, and permission defaults. GenAIcode adds no agent
|
|
32
|
+
loop, prompts, or sandbox of its own. Library API: https://github.com/gtanczyk/genaicode#readme
|
|
33
|
+
|
|
34
|
+
Looking for the legacy 1.x coding agent?
|
|
35
|
+
Run it: npx genaicode@1
|
|
36
|
+
Source: https://github.com/gtanczyk/genaicode/tree/1.x
|
|
37
|
+
`;
|
|
38
|
+
/** Run the CLI and return its exit code. */
|
|
39
|
+
export async function main(cli) {
|
|
40
|
+
let command;
|
|
41
|
+
try {
|
|
42
|
+
command = parseCli(cli.argv);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (!(error instanceof UsageError))
|
|
46
|
+
throw error;
|
|
47
|
+
cli.stderr.write(`${error.message}\n\n${helpText}`);
|
|
48
|
+
return EXIT_USAGE;
|
|
49
|
+
}
|
|
50
|
+
const agents = cli.agents ?? defaultAgents();
|
|
51
|
+
switch (command.kind) {
|
|
52
|
+
case 'help':
|
|
53
|
+
cli.stdout.write(helpText);
|
|
54
|
+
return EXIT_OK;
|
|
55
|
+
case 'version':
|
|
56
|
+
cli.stdout.write(`${packageVersion()}\n`);
|
|
57
|
+
return EXIT_OK;
|
|
58
|
+
case 'agents':
|
|
59
|
+
return listAgents(cli, agents, command.json);
|
|
60
|
+
case 'run':
|
|
61
|
+
return runTask(cli, agents, command);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function listAgents(cli, agents, json) {
|
|
65
|
+
const found = detectAgents(agents, cli.env);
|
|
66
|
+
if (json) {
|
|
67
|
+
for (const { agent, path } of found) {
|
|
68
|
+
cli.stdout.write(`${JSON.stringify({ name: agent.name, command: agent.command, path })}\n`);
|
|
69
|
+
}
|
|
70
|
+
return EXIT_OK;
|
|
71
|
+
}
|
|
72
|
+
const width = Math.max(...agents.map((agent) => agent.name.length));
|
|
73
|
+
for (const { agent, path } of found) {
|
|
74
|
+
cli.stdout.write(`${agent.name.padEnd(width)} ${path ?? `not installed (${agent.command})`}\n`);
|
|
75
|
+
}
|
|
76
|
+
return EXIT_OK;
|
|
77
|
+
}
|
|
78
|
+
async function runTask(cli, agents, options) {
|
|
79
|
+
const prompt = options.prompt ?? (await cli.readStdin())?.trim();
|
|
80
|
+
if (!prompt) {
|
|
81
|
+
cli.stderr.write(`No prompt. Pass it as arguments or on stdin.\n\n${helpText}`);
|
|
82
|
+
return EXIT_USAGE;
|
|
83
|
+
}
|
|
84
|
+
const agent = pickAgent(cli, agents, options.agent);
|
|
85
|
+
if (!agent)
|
|
86
|
+
return EXIT_USAGE;
|
|
87
|
+
const task = {
|
|
88
|
+
prompt,
|
|
89
|
+
cwd: resolve(cli.cwd, options.cwd ?? '.'),
|
|
90
|
+
model: options.model,
|
|
91
|
+
effort: options.effort,
|
|
92
|
+
maxTurns: options.maxTurns,
|
|
93
|
+
timeoutMs: options.timeoutMs,
|
|
94
|
+
env: cli.env,
|
|
95
|
+
signal: cli.signal,
|
|
96
|
+
};
|
|
97
|
+
const render = options.json
|
|
98
|
+
? (event) => cli.stdout.write(`${JSON.stringify(event)}\n`)
|
|
99
|
+
: createRenderer(cli.stdout, cli.stderr);
|
|
100
|
+
const note = (line) => {
|
|
101
|
+
if (!options.json)
|
|
102
|
+
cli.stderr.write(`${line}\n`);
|
|
103
|
+
};
|
|
104
|
+
note(`${agent.name} in ${task.cwd}`);
|
|
105
|
+
if (!options.verify) {
|
|
106
|
+
const run = agent.run(task);
|
|
107
|
+
for await (const event of run)
|
|
108
|
+
render(event);
|
|
109
|
+
const result = await run.result;
|
|
110
|
+
note(describeResult(agent.name, result));
|
|
111
|
+
return exitCode(result);
|
|
112
|
+
}
|
|
113
|
+
const verify = options.verify;
|
|
114
|
+
const runCheck = cli.runCheck ?? shellCheck;
|
|
115
|
+
const loop = await runWithVerify(agent, task, {
|
|
116
|
+
maxRepairs: options.maxRepairs,
|
|
117
|
+
onEvent: (event) => {
|
|
118
|
+
render(event);
|
|
119
|
+
if (event.type === 'done')
|
|
120
|
+
note(describeResult(agent.name, event.result));
|
|
121
|
+
},
|
|
122
|
+
async verify(attempt) {
|
|
123
|
+
note(`verify: ${verify}`);
|
|
124
|
+
const check = await runCheck(verify, task.cwd, cli.env, cli.signal);
|
|
125
|
+
const ok = check.exitCode === 0;
|
|
126
|
+
if (options.json) {
|
|
127
|
+
cli.stdout.write(`${JSON.stringify({ type: 'verify', attempt, ok, exitCode: check.exitCode })}\n`);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
note(ok ? 'verify: passed' : `verify: failed (exit ${check.exitCode ?? 'signal'})`);
|
|
131
|
+
}
|
|
132
|
+
return { ok, detail: check.output };
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
if (!loop.ok && loop.error)
|
|
136
|
+
note(loop.error);
|
|
137
|
+
const last = loop.attempts.at(-1)?.result;
|
|
138
|
+
if (loop.ok)
|
|
139
|
+
return EXIT_OK;
|
|
140
|
+
return last?.status === 'aborted' || cli.signal?.aborted ? EXIT_ABORTED : EXIT_FAILED;
|
|
141
|
+
}
|
|
142
|
+
function pickAgent(cli, agents, name) {
|
|
143
|
+
if (name) {
|
|
144
|
+
const agent = agents.find((candidate) => candidate.name === name);
|
|
145
|
+
if (!agent) {
|
|
146
|
+
cli.stderr.write(`Unknown agent "${name}". Known agents: ${agents.map((a) => a.name).join(', ')}.\n`);
|
|
147
|
+
}
|
|
148
|
+
return agent;
|
|
149
|
+
}
|
|
150
|
+
const installed = detectAgents(agents, cli.env).find(({ path }) => path);
|
|
151
|
+
if (!installed) {
|
|
152
|
+
cli.stderr.write(`No supported agent CLI found on PATH. Install one of: ${agents.map((a) => a.command).join(', ')}.\n`);
|
|
153
|
+
}
|
|
154
|
+
return installed?.agent;
|
|
155
|
+
}
|
|
156
|
+
function exitCode(result) {
|
|
157
|
+
if (result.ok)
|
|
158
|
+
return EXIT_OK;
|
|
159
|
+
return result.status === 'aborted' ? EXIT_ABORTED : EXIT_FAILED;
|
|
160
|
+
}
|
|
161
|
+
/** Keep the tail of the check's output: that is where test runners put the failures. */
|
|
162
|
+
const CHECK_OUTPUT_LIMIT = 16_000;
|
|
163
|
+
function shellCheck(command, cwd, env, signal) {
|
|
164
|
+
return new Promise((done) => {
|
|
165
|
+
let output = '';
|
|
166
|
+
const child = spawn(command, { cwd, env, shell: true, stdio: ['ignore', 'pipe', 'pipe'], signal });
|
|
167
|
+
const collect = (chunk) => {
|
|
168
|
+
output = (output + chunk.toString('utf8')).slice(-CHECK_OUTPUT_LIMIT);
|
|
169
|
+
};
|
|
170
|
+
child.stdout.on('data', collect);
|
|
171
|
+
child.stderr.on('data', collect);
|
|
172
|
+
child.on('error', (error) => done({ exitCode: null, output: `${output}\n${error.message}`.trim() }));
|
|
173
|
+
child.on('close', (code) => done({ exitCode: code, output }));
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
function packageVersion() {
|
|
177
|
+
const require = createRequire(import.meta.url);
|
|
178
|
+
return require('../../package.json').version;
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAe,MAAM,aAAa,CAAC;AAuB1E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC;AACzB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC;AAEhC,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBvB,CAAC;AAEF,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,GAAmB;IAC5C,IAAI,OAAmB,CAAC;IACxB,IAAI,CAAC;QACH,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;YAAE,MAAM,KAAK,CAAC;QAChD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,OAAO,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IAC7C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3B,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS;YACZ,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,KAAK,KAAK;YACR,OAAO,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAmB,EAAE,MAA8B,EAAE,IAAa;IACpF,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;QACpC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,kBAAkB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,GAAmB,EACnB,MAA8B,EAC9B,OAA6C;IAE7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IACjE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,QAAQ,EAAE,CAAC,CAAC;QAChF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,UAAU,CAAC;IAE9B,MAAM,IAAI,GAAc;QACtB,MAAM;QACN,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC;QACzC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI;QACzB,CAAC,CAAC,CAAC,KAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;QACvE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG;YAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACzC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,UAAU,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;QAC5C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;gBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,OAAO;YAClB,IAAI,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACpE,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC;YAChC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,wBAAwB,KAAK,CAAC,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC;YACtF,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,CAAC;KACF,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAC1C,IAAI,IAAI,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC;IAC5B,OAAO,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;AACxF,CAAC;AAED,SAAS,SAAS,CAChB,GAAmB,EACnB,MAA8B,EAC9B,IAAwB;IAExB,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,oBAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,KAAK,CACd,yDAAyD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CACtG,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,EAAE,KAAK,CAAC;AAC1B,CAAC;AAED,SAAS,QAAQ,CAAC,MAAmB;IACnC,IAAI,MAAM,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC;IAC9B,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;AAClE,CAAC;AAED,wFAAwF;AACxF,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,SAAS,UAAU,CAAC,OAAe,EAAE,GAAW,EAAE,GAAsB,EAAE,MAAoB;IAC5F,OAAO,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACnG,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YAChC,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACxE,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAQ,OAAO,CAAC,oBAAoB,CAAyB,CAAC,OAAO,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AgentEvent, AgentResult } from '../agents/types.js';
|
|
2
|
+
export interface Output {
|
|
3
|
+
write(text: string): unknown;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Human-readable event printer. Assistant text goes to stdout, so it can be piped;
|
|
7
|
+
* tool calls, edits, and errors go to stderr.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createRenderer(stdout: Output, stderr: Output): (event: AgentEvent) => void;
|
|
10
|
+
/** One-line result summary for stderr. */
|
|
11
|
+
export declare function describeResult(agent: string, result: AgentResult): string;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-readable event printer. Assistant text goes to stdout, so it can be piped;
|
|
3
|
+
* tool calls, edits, and errors go to stderr.
|
|
4
|
+
*/
|
|
5
|
+
export function createRenderer(stdout, stderr) {
|
|
6
|
+
let streamed = false;
|
|
7
|
+
let midLine = false;
|
|
8
|
+
const text = (value) => {
|
|
9
|
+
stdout.write(value);
|
|
10
|
+
midLine = !value.endsWith('\n');
|
|
11
|
+
};
|
|
12
|
+
const note = (line) => {
|
|
13
|
+
if (midLine)
|
|
14
|
+
text('\n');
|
|
15
|
+
stderr.write(`${line}\n`);
|
|
16
|
+
};
|
|
17
|
+
return (event) => {
|
|
18
|
+
switch (event.type) {
|
|
19
|
+
case 'text-delta':
|
|
20
|
+
streamed = true;
|
|
21
|
+
text(event.text);
|
|
22
|
+
break;
|
|
23
|
+
case 'message':
|
|
24
|
+
// Drivers that stream deltas also send the full message; print it only once.
|
|
25
|
+
if (!streamed)
|
|
26
|
+
text(`${event.text}\n`);
|
|
27
|
+
else if (midLine)
|
|
28
|
+
text('\n');
|
|
29
|
+
streamed = false;
|
|
30
|
+
break;
|
|
31
|
+
case 'tool-start':
|
|
32
|
+
note(`› ${event.name}${summarize(event.input)}`);
|
|
33
|
+
break;
|
|
34
|
+
case 'tool-end':
|
|
35
|
+
if (event.isError)
|
|
36
|
+
note(`✗ ${event.name ?? 'tool'} failed`);
|
|
37
|
+
break;
|
|
38
|
+
case 'file-change':
|
|
39
|
+
note(`✎ ${event.paths.join(', ')}`);
|
|
40
|
+
break;
|
|
41
|
+
case 'error':
|
|
42
|
+
note(`error: ${event.message}`);
|
|
43
|
+
break;
|
|
44
|
+
case 'done':
|
|
45
|
+
if (midLine)
|
|
46
|
+
text('\n');
|
|
47
|
+
break;
|
|
48
|
+
default:
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/** One-line result summary for stderr. */
|
|
54
|
+
export function describeResult(agent, result) {
|
|
55
|
+
const parts = [`${agent}: ${result.status}`];
|
|
56
|
+
if (result.usage)
|
|
57
|
+
parts.push(`${result.usage.inputTokens ?? 0} in / ${result.usage.outputTokens ?? 0} out tokens`);
|
|
58
|
+
if (result.costUsd !== undefined)
|
|
59
|
+
parts.push(`$${result.costUsd.toFixed(4)}`);
|
|
60
|
+
if (result.sessionId)
|
|
61
|
+
parts.push(`session ${result.sessionId}`);
|
|
62
|
+
const line = parts.join(' · ');
|
|
63
|
+
return result.error ? `${line}\n${result.error}` : line;
|
|
64
|
+
}
|
|
65
|
+
function summarize(input) {
|
|
66
|
+
if (input === undefined || input === null)
|
|
67
|
+
return '';
|
|
68
|
+
const value = typeof input === 'string'
|
|
69
|
+
? input
|
|
70
|
+
: typeof input === 'object'
|
|
71
|
+
? (['command', 'cmd', 'file_path', 'path', 'pattern', 'query', 'url']
|
|
72
|
+
.map((key) => input[key])
|
|
73
|
+
.find((field) => typeof field === 'string' || Array.isArray(field)) ?? '')
|
|
74
|
+
: '';
|
|
75
|
+
const flat = (Array.isArray(value) ? value.join(' ') : String(value)).replace(/\s+/g, ' ').trim();
|
|
76
|
+
if (!flat)
|
|
77
|
+
return '';
|
|
78
|
+
return ` ${flat.length > 80 ? `${flat.slice(0, 79)}…` : flat}`;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { main } from './cli/main.js';
|
|
3
|
+
const controller = new AbortController();
|
|
4
|
+
process.once('SIGINT', () => controller.abort());
|
|
5
|
+
process.once('SIGTERM', () => controller.abort());
|
|
6
|
+
process.exitCode = await main({
|
|
7
|
+
argv: process.argv.slice(2),
|
|
8
|
+
env: process.env,
|
|
9
|
+
cwd: process.cwd(),
|
|
10
|
+
stdout: process.stdout,
|
|
11
|
+
stderr: process.stderr,
|
|
12
|
+
signal: controller.signal,
|
|
13
|
+
readStdin: async () => {
|
|
14
|
+
if (process.stdin.isTTY)
|
|
15
|
+
return undefined;
|
|
16
|
+
const chunks = [];
|
|
17
|
+
for await (const chunk of process.stdin)
|
|
18
|
+
chunks.push(chunk);
|
|
19
|
+
return Buffer.concat(chunks).toString('utf8');
|
|
20
|
+
},
|
|
21
|
+
});
|
|
4
22
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;AACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;AACjD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;AAElD,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3B,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;IAClB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,MAAM,EAAE,UAAU,CAAC,MAAM;IACzB,SAAS,EAAE,KAAK,IAAI,EAAE;QACpB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -8,5 +8,22 @@ export interface AnthropicRequestDefaults {
|
|
|
8
8
|
maxOutputTokens?: number;
|
|
9
9
|
thinking?: Anthropic.ThinkingConfigParam;
|
|
10
10
|
}
|
|
11
|
+
/** What a Claude model accepts, where it differs across generations. */
|
|
12
|
+
export interface AnthropicModelTraits {
|
|
13
|
+
/** Adaptive thinking and `output_config.effort` are available. */
|
|
14
|
+
adaptiveThinking: boolean;
|
|
15
|
+
/** `thinking: { type: 'enabled', budget_tokens }` returns a 400. */
|
|
16
|
+
rejectsBudgetTokens: boolean;
|
|
17
|
+
/** A non-default `temperature` returns a 400. */
|
|
18
|
+
rejectsTemperature: boolean;
|
|
19
|
+
/** Forced `tool_choice` (`any` / `tool`) returns a 400. */
|
|
20
|
+
rejectsForcedToolChoice: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* How the model turns thinking off: `disabled`, `between_tools` (its lowest
|
|
23
|
+
* setting), or `none` when thinking is always on and only effort lowers it.
|
|
24
|
+
*/
|
|
25
|
+
thinkingOff: 'disabled' | 'between_tools' | 'none';
|
|
26
|
+
}
|
|
27
|
+
export declare function anthropicModelTraits(model: string): AnthropicModelTraits;
|
|
11
28
|
export declare function toAnthropicRequest(request: GenerationRequest, defaults: AnthropicRequestDefaults): Anthropic.MessageCreateParamsNonStreaming;
|
|
12
29
|
export declare function fromAnthropicMessage(message: Anthropic.Message): GenerationResult;
|
|
@@ -58,19 +58,82 @@ export function toAnthropicToolChoice(choice) {
|
|
|
58
58
|
return { type: 'any' };
|
|
59
59
|
return { type: 'tool', name: choice.name };
|
|
60
60
|
}
|
|
61
|
-
|
|
61
|
+
const LEGACY_TRAITS = {
|
|
62
|
+
adaptiveThinking: false,
|
|
63
|
+
rejectsBudgetTokens: false,
|
|
64
|
+
rejectsTemperature: false,
|
|
65
|
+
rejectsForcedToolChoice: false,
|
|
66
|
+
thinkingOff: 'disabled',
|
|
67
|
+
};
|
|
68
|
+
// Matches `claude-sonnet-5-5`, `anthropic.claude-opus-4-7`, `claude-opus-4-5@20251101`,
|
|
69
|
+
// `claude-sonnet-4-20250514`; a date is never read as a minor version.
|
|
70
|
+
const CLAUDE_MODEL = /claude-(opus|sonnet|haiku|fable|mythos)-(\d{1,2})(?:-(\d{1,2}))?(?!\d)/;
|
|
71
|
+
export function anthropicModelTraits(model) {
|
|
72
|
+
const match = CLAUDE_MODEL.exec(model.toLowerCase());
|
|
73
|
+
if (!match)
|
|
74
|
+
return LEGACY_TRAITS;
|
|
75
|
+
const family = match[1];
|
|
76
|
+
const version = Number(match[2]) + Number(match[3] ?? 0) / 10;
|
|
77
|
+
const at = (min) => version >= min;
|
|
78
|
+
if (family === 'fable' || family === 'mythos') {
|
|
79
|
+
return {
|
|
80
|
+
adaptiveThinking: true,
|
|
81
|
+
rejectsBudgetTokens: true,
|
|
82
|
+
rejectsTemperature: true,
|
|
83
|
+
rejectsForcedToolChoice: at(5.1),
|
|
84
|
+
thinkingOff: 'none',
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
if (family === 'opus' || family === 'sonnet') {
|
|
88
|
+
const since = family === 'opus' ? 4.7 : 5;
|
|
89
|
+
return {
|
|
90
|
+
adaptiveThinking: at(4.6),
|
|
91
|
+
rejectsBudgetTokens: at(since),
|
|
92
|
+
rejectsTemperature: at(since),
|
|
93
|
+
rejectsForcedToolChoice: at(5.5),
|
|
94
|
+
thinkingOff: !at(5.5) ? 'disabled' : family === 'sonnet' ? 'between_tools' : 'none',
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return LEGACY_TRAITS;
|
|
98
|
+
}
|
|
99
|
+
const EFFORT_BY_LEVEL = {
|
|
100
|
+
minimal: 'low',
|
|
101
|
+
low: 'low',
|
|
102
|
+
medium: 'medium',
|
|
103
|
+
high: 'high',
|
|
104
|
+
};
|
|
105
|
+
function toAnthropicThinking(thinking, fallback, traits) {
|
|
62
106
|
if (thinking === undefined)
|
|
63
|
-
return fallback;
|
|
107
|
+
return { thinking: fallback };
|
|
108
|
+
const effort = thinking && thinking.level && traits.adaptiveThinking ? EFFORT_BY_LEVEL[thinking.level] : undefined;
|
|
64
109
|
if (thinking === false || thinking.budgetTokens === 0) {
|
|
65
|
-
|
|
110
|
+
if (traits.thinkingOff === 'none')
|
|
111
|
+
return { effort: effort ?? 'low' };
|
|
112
|
+
if (traits.thinkingOff === 'between_tools') {
|
|
113
|
+
// Not in the SDK's types yet; the API takes it as-is.
|
|
114
|
+
return { thinking: { type: 'between_tools' }, effort };
|
|
115
|
+
}
|
|
116
|
+
return { thinking: { type: 'disabled' }, effort };
|
|
66
117
|
}
|
|
67
|
-
if (thinking.budgetTokens !== undefined) {
|
|
68
|
-
return { type: 'enabled', budget_tokens: thinking.budgetTokens };
|
|
118
|
+
if (thinking.budgetTokens !== undefined && !traits.rejectsBudgetTokens) {
|
|
119
|
+
return { thinking: { type: 'enabled', budget_tokens: thinking.budgetTokens }, effort };
|
|
69
120
|
}
|
|
70
|
-
|
|
71
|
-
|
|
121
|
+
if (traits.adaptiveThinking)
|
|
122
|
+
return { thinking: { type: 'adaptive' }, effort };
|
|
123
|
+
// Older models have no qualitative level; keep the provider default.
|
|
124
|
+
return { thinking: fallback };
|
|
125
|
+
}
|
|
126
|
+
// Newer models 400 on forced tool use, so ask for the call in the system prompt instead.
|
|
127
|
+
function forcedToolInstruction(choice) {
|
|
128
|
+
if (!choice || choice === 'auto' || choice === 'none')
|
|
129
|
+
return undefined;
|
|
130
|
+
if (choice === 'required')
|
|
131
|
+
return 'Respond by calling one of the provided tools.';
|
|
132
|
+
return `Respond by calling the \`${choice.name}\` tool.`;
|
|
72
133
|
}
|
|
73
134
|
export function toAnthropicRequest(request, defaults) {
|
|
135
|
+
const model = request.model ?? defaults.model;
|
|
136
|
+
const traits = anthropicModelTraits(model);
|
|
74
137
|
// Unlike Google, Anthropic allows the web_search server tool alongside function tools.
|
|
75
138
|
const tools = (request.tools ?? []).map((tool) => ({
|
|
76
139
|
name: tool.name,
|
|
@@ -79,15 +142,24 @@ export function toAnthropicRequest(request, defaults) {
|
|
|
79
142
|
}));
|
|
80
143
|
if (request.search)
|
|
81
144
|
tools.push(WEB_SEARCH_TOOL);
|
|
145
|
+
const system = toAnthropicSystem(request.prompt);
|
|
146
|
+
let toolChoice = request.tools?.length ? toAnthropicToolChoice(request.toolChoice) : undefined;
|
|
147
|
+
const instruction = request.tools?.length ? forcedToolInstruction(request.toolChoice) : undefined;
|
|
148
|
+
if (instruction && traits.rejectsForcedToolChoice) {
|
|
149
|
+
toolChoice = { type: 'auto' };
|
|
150
|
+
system.push({ type: 'text', text: instruction });
|
|
151
|
+
}
|
|
152
|
+
const { thinking, effort } = toAnthropicThinking(request.thinking, defaults.thinking, traits);
|
|
82
153
|
return {
|
|
83
|
-
model
|
|
154
|
+
model,
|
|
84
155
|
max_tokens: request.maxOutputTokens ?? defaults.maxOutputTokens ?? 8192,
|
|
85
|
-
system
|
|
156
|
+
system,
|
|
86
157
|
messages: toAnthropicMessages(request.prompt),
|
|
87
|
-
temperature: request.temperature,
|
|
158
|
+
temperature: traits.rejectsTemperature ? undefined : request.temperature,
|
|
88
159
|
tools: tools.length ? tools : undefined,
|
|
89
|
-
tool_choice:
|
|
90
|
-
thinking
|
|
160
|
+
tool_choice: toolChoice,
|
|
161
|
+
thinking,
|
|
162
|
+
...(effort ? { output_config: { effort } } : {}),
|
|
91
163
|
};
|
|
92
164
|
}
|
|
93
165
|
function normalizeArguments(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-converter.js","sourceRoot":"","sources":["../../src/providers/anthropic-converter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anthropic-converter.js","sourceRoot":"","sources":["../../src/providers/anthropic-converter.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { anthropic } from './providers/anthropic.js';
|
|
2
2
|
export type { AnthropicProviderOptions } from './providers/anthropic.js';
|
|
3
|
-
export { fromAnthropicMessage, toAnthropicMessages, toAnthropicRequest, toAnthropicSystem, toAnthropicToolChoice, } from './providers/anthropic-converter.js';
|
|
4
|
-
export type { AnthropicRequestDefaults } from './providers/anthropic-converter.js';
|
|
3
|
+
export { anthropicModelTraits, fromAnthropicMessage, toAnthropicMessages, toAnthropicRequest, toAnthropicSystem, toAnthropicToolChoice, } from './providers/anthropic-converter.js';
|
|
4
|
+
export type { AnthropicModelTraits, AnthropicRequestDefaults } from './providers/anthropic-converter.js';
|
|
5
5
|
export { gemini, vertexAI } from './providers/google.js';
|
|
6
6
|
export type { GeminiProviderOptions, VertexAIProviderOptions } from './providers/google.js';
|
|
7
7
|
export { fromGoogleResponse, toGoogleContents, toGoogleRequest, toGoogleSystemInstruction, } from './providers/google-converter.js';
|
package/dist/providers.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { anthropic } from './providers/anthropic.js';
|
|
2
|
-
export { fromAnthropicMessage, toAnthropicMessages, toAnthropicRequest, toAnthropicSystem, toAnthropicToolChoice, } from './providers/anthropic-converter.js';
|
|
2
|
+
export { anthropicModelTraits, fromAnthropicMessage, toAnthropicMessages, toAnthropicRequest, toAnthropicSystem, toAnthropicToolChoice, } from './providers/anthropic-converter.js';
|
|
3
3
|
export { gemini, vertexAI } from './providers/google.js';
|
|
4
4
|
export { fromGoogleResponse, toGoogleContents, toGoogleRequest, toGoogleSystemInstruction, } from './providers/google-converter.js';
|
|
5
5
|
export { openai, openaiCompatible } from './providers/openai.js';
|
package/dist/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,iCAAiC,CAAC"}
|
package/docs/pivot.md
CHANGED
|
@@ -35,7 +35,7 @@ The following 1.x capabilities are intentionally removed:
|
|
|
35
35
|
|
|
36
36
|
- coding-agent orchestration and coding-specific prompts;
|
|
37
37
|
- repository discovery, project profiles, file operations, and shell execution;
|
|
38
|
-
- interactive CLI and browser UI;
|
|
38
|
+
- the 1.x interactive CLI and browser UI;
|
|
39
39
|
- Vite development plugin;
|
|
40
40
|
- context compression and repository summarization;
|
|
41
41
|
- agent-oriented plugin and action systems;
|
|
@@ -44,6 +44,9 @@ The following 1.x capabilities are intentionally removed:
|
|
|
44
44
|
The 2.x `genaicode/agents` subpath does not restore these. It drives _external_
|
|
45
45
|
coding-agent CLIs behind one task/event interface, the same way providers wrap model APIs,
|
|
46
46
|
and it adds no agent loop, prompts, or repository tools of its own. See [agents.md](./agents.md).
|
|
47
|
+
The `genaicode` bin (`npx genaicode run`) is a thin command-line front end to those drivers,
|
|
48
|
+
under the same rule: it parses flags, prints events, and adds nothing the library does not
|
|
49
|
+
already do.
|
|
47
50
|
|
|
48
51
|
This is a major-version break. The old implementation remains available in git history
|
|
49
52
|
and in the 1.x npm line.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "genaicode",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.0",
|
|
4
4
|
"description": "A small, provider-neutral TypeScript toolkit for calling LLMs from backend code.",
|
|
5
5
|
"author": "Grzegorz Tańczyk",
|
|
6
6
|
"repository": {
|
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
"openai",
|
|
14
14
|
"backend",
|
|
15
15
|
"prompt",
|
|
16
|
-
"toolkit"
|
|
16
|
+
"toolkit",
|
|
17
|
+
"coding-agent",
|
|
18
|
+
"cli"
|
|
17
19
|
],
|
|
18
20
|
"type": "module",
|
|
19
21
|
"bin": {
|
package/dist/pivot-notice.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const pivotNotice = "GenAIcode 2.x is a backend LLM toolkit, not a coding agent.\n\nUse the 2.x library in backend code:\n npm install genaicode\n https://github.com/gtanczyk/genaicode#readme\n\nNeed the legacy 1.x coding agent?\n Run it: npx genaicode@1\n Install: npm install genaicode@1\n Source: https://github.com/gtanczyk/genaicode/tree/1.x\n\nThe 1.x line is preserved for legacy use and critical fixes.";
|
package/dist/pivot-notice.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export const pivotNotice = `GenAIcode 2.x is a backend LLM toolkit, not a coding agent.
|
|
2
|
-
|
|
3
|
-
Use the 2.x library in backend code:
|
|
4
|
-
npm install genaicode
|
|
5
|
-
https://github.com/gtanczyk/genaicode#readme
|
|
6
|
-
|
|
7
|
-
Need the legacy 1.x coding agent?
|
|
8
|
-
Run it: npx genaicode@1
|
|
9
|
-
Install: npm install genaicode@1
|
|
10
|
-
Source: https://github.com/gtanczyk/genaicode/tree/1.x
|
|
11
|
-
|
|
12
|
-
The 1.x line is preserved for legacy use and critical fixes.`;
|
|
13
|
-
//# sourceMappingURL=pivot-notice.js.map
|
package/dist/pivot-notice.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pivot-notice.js","sourceRoot":"","sources":["../src/pivot-notice.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;6DAWkC,CAAC"}
|