genaicode 2.17.1 → 2.18.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/README.md +33 -0
- package/dist/cli/args.d.ts +17 -0
- package/dist/cli/args.js +39 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/embed.d.ts +16 -0
- package/dist/cli/embed.js +32 -0
- package/dist/cli/embed.js.map +1 -0
- package/dist/cli/main.d.ts +7 -1
- package/dist/cli/main.js +51 -6
- package/dist/cli/main.js.map +1 -1
- package/dist/ui/index.js +62 -60
- package/dist/ui/web-client.js +7 -7
- package/docs/CHANGELOG.md +11 -0
- package/package.json +4 -3
- package/skills/genaicode-embed/SKILL.md +285 -0
package/README.md
CHANGED
|
@@ -117,8 +117,14 @@ the agent or the check fails, 2 on a usage error, and 130 when interrupted.
|
|
|
117
117
|
npx genaicode # chat in this terminal (same as "genaicode chat")
|
|
118
118
|
npx genaicode chat -a claude -C ../api
|
|
119
119
|
npx genaicode ui # the same chat in your browser, served on 127.0.0.1
|
|
120
|
+
npx genaicode chat --web # both: the terminal and the browser on one session
|
|
120
121
|
```
|
|
121
122
|
|
|
123
|
+
The terminal and the browser can show one session. `/web` in the terminal chat opens it in
|
|
124
|
+
the browser (`/web off` stops the server), and Enter in the terminal that runs
|
|
125
|
+
`genaicode ui` brings it into that terminal. A prompt, an approval or a stop from either
|
|
126
|
+
side shows up in both.
|
|
127
|
+
|
|
122
128
|
Each prompt after the first continues the agent's own session (`AgentTask.resume`), so you
|
|
123
129
|
can say "now add a test for that". Prompts sent while the agent works wait in a queue and
|
|
124
130
|
run next; Esc stops the agent. `/agent`, `/model` and `/new` switch agent, model and
|
|
@@ -159,6 +165,33 @@ In code, the same conversation is `createAgentSession` from `genaicode/agents` (
|
|
|
159
165
|
[docs/agents.md](docs/agents.md#chat-sessions)); with a live driver (`codexLive`,
|
|
160
166
|
`museLive`) it also steers the running agent and asks you about permission requests.
|
|
161
167
|
|
|
168
|
+
### Let your agent embed it
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
npx genaicode embed # in your project: your agent wires genaicode in
|
|
172
|
+
npx genaicode embed -a codex "only the dev panel"
|
|
173
|
+
npx genaicode embed --print | pbcopy # just the instructions, for any other agent
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
`genaicode embed` does not inspect your project itself. It starts your agent with
|
|
177
|
+
instructions on how to embed genaicode, and the agent reads the project and picks the way
|
|
178
|
+
in: the Vite overlay below for an app on Vite; for any other Node dev server (webpack,
|
|
179
|
+
Next.js, Express...) a development-only panel that shows the same chat through
|
|
180
|
+
`startEmbeddedWeb` from `genaicode/ui`; the in-app agent (`genaicode/app-agent` with
|
|
181
|
+
`<AppAgentChat>`) when the agent should act on the app itself; and `npx genaicode ui` next
|
|
182
|
+
to the dev server when there is no Node process to host it. Words after `embed` go to the
|
|
183
|
+
agent as your request. You watch and answer in the same chat as `genaicode chat` (`--ui`
|
|
184
|
+
for the browser); without a terminal it runs headless like `run`. The agent installs the
|
|
185
|
+
package, edits the config, runs your checks and reports; it does not commit.
|
|
186
|
+
|
|
187
|
+
The instructions are also a Claude Code skill. Copy
|
|
188
|
+
[`skills/genaicode-embed`](skills/genaicode-embed/SKILL.md) into `.claude/skills/` (or
|
|
189
|
+
`~/.claude/skills/`) and ask Claude to "embed genaicode":
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
mkdir -p .claude/skills && cp -r node_modules/genaicode/skills/genaicode-embed .claude/skills/
|
|
193
|
+
```
|
|
194
|
+
|
|
162
195
|
### Inside a Vite app
|
|
163
196
|
|
|
164
197
|
```ts
|
package/dist/cli/args.d.ts
CHANGED
|
@@ -15,6 +15,23 @@ export type CliCommand = {
|
|
|
15
15
|
approveAll: boolean;
|
|
16
16
|
port?: number;
|
|
17
17
|
open: boolean;
|
|
18
|
+
/** chat: also open the session in the browser. */
|
|
19
|
+
web: boolean;
|
|
20
|
+
} | {
|
|
21
|
+
kind: 'embed';
|
|
22
|
+
/** What the user wants, in their words, e.g. "only the dev overlay". */
|
|
23
|
+
request?: string;
|
|
24
|
+
agent?: string;
|
|
25
|
+
cwd?: string;
|
|
26
|
+
model?: string;
|
|
27
|
+
effort?: string;
|
|
28
|
+
approveAll: boolean;
|
|
29
|
+
/** Print the prompt instead of starting an agent. */
|
|
30
|
+
print: boolean;
|
|
31
|
+
/** Chat in the browser instead of the terminal. */
|
|
32
|
+
ui: boolean;
|
|
33
|
+
port?: number;
|
|
34
|
+
open: boolean;
|
|
18
35
|
} | {
|
|
19
36
|
kind: 'run';
|
|
20
37
|
prompt: string | undefined;
|
package/dist/cli/args.js
CHANGED
|
@@ -23,11 +23,12 @@ export function parseCli(argv) {
|
|
|
23
23
|
effort: { type: 'string' },
|
|
24
24
|
resume: { type: 'string', short: 'r' },
|
|
25
25
|
yes: { type: 'boolean', short: 'y' },
|
|
26
|
-
|
|
26
|
+
port: { type: 'string' },
|
|
27
|
+
...(command === 'ui' ? { 'no-open': { type: 'boolean' } } : { web: { type: 'boolean' } }),
|
|
27
28
|
},
|
|
28
29
|
}));
|
|
29
30
|
const extra = values;
|
|
30
|
-
const port = optionalNumber(
|
|
31
|
+
const port = optionalNumber(values.port, '--port');
|
|
31
32
|
if (port !== undefined && port > 65535)
|
|
32
33
|
throw new UsageError(`--port expects 0-65535, got ${port}.`);
|
|
33
34
|
return {
|
|
@@ -40,6 +41,42 @@ export function parseCli(argv) {
|
|
|
40
41
|
approveAll: values.yes === true,
|
|
41
42
|
port,
|
|
42
43
|
open: extra['no-open'] !== true,
|
|
44
|
+
web: extra.web === true,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
if (command === 'embed') {
|
|
48
|
+
const { values, positionals } = parse(() => parseArgs({
|
|
49
|
+
args: rest,
|
|
50
|
+
allowPositionals: true,
|
|
51
|
+
strict: true,
|
|
52
|
+
options: {
|
|
53
|
+
agent: { type: 'string', short: 'a' },
|
|
54
|
+
cwd: { type: 'string', short: 'C' },
|
|
55
|
+
model: { type: 'string', short: 'm' },
|
|
56
|
+
effort: { type: 'string' },
|
|
57
|
+
yes: { type: 'boolean', short: 'y' },
|
|
58
|
+
print: { type: 'boolean' },
|
|
59
|
+
ui: { type: 'boolean' },
|
|
60
|
+
port: { type: 'string' },
|
|
61
|
+
'no-open': { type: 'boolean' },
|
|
62
|
+
},
|
|
63
|
+
}));
|
|
64
|
+
const request = positionals.join(' ').trim();
|
|
65
|
+
const port = optionalNumber(values.port, '--port');
|
|
66
|
+
if (port !== undefined && port > 65535)
|
|
67
|
+
throw new UsageError(`--port expects 0-65535, got ${port}.`);
|
|
68
|
+
return {
|
|
69
|
+
kind: 'embed',
|
|
70
|
+
request: request || undefined,
|
|
71
|
+
agent: values.agent,
|
|
72
|
+
cwd: values.cwd,
|
|
73
|
+
model: values.model,
|
|
74
|
+
effort: values.effort,
|
|
75
|
+
approveAll: values.yes === true,
|
|
76
|
+
print: values.print === true,
|
|
77
|
+
ui: values.ui === true,
|
|
78
|
+
port,
|
|
79
|
+
open: values['no-open'] !== true,
|
|
43
80
|
};
|
|
44
81
|
}
|
|
45
82
|
if (command === 'run') {
|
package/dist/cli/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `genaicode embed` hands the work to the agent: it sends the shipped instructions and
|
|
3
|
+
* whatever the user asked for, and the agent reads the project and decides how to wire it in.
|
|
4
|
+
*/
|
|
5
|
+
/** What the user's chat shows for the request; the agent gets `embedPrompt` instead. */
|
|
6
|
+
export declare function embedRequest(request: string | undefined): string;
|
|
7
|
+
/** The skill's instructions, then the directory, the version to install and the user's request. */
|
|
8
|
+
export declare function embedPrompt(instructions: string, { cwd, version, request }: {
|
|
9
|
+
cwd: string;
|
|
10
|
+
version: string;
|
|
11
|
+
request?: string;
|
|
12
|
+
}): string;
|
|
13
|
+
/** The skill file without its YAML header. */
|
|
14
|
+
export declare function stripFrontmatter(text: string): string;
|
|
15
|
+
/** The instructions as shipped: `skills/genaicode-embed/SKILL.md` in the package. */
|
|
16
|
+
export declare function readEmbedInstructions(): string;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
/**
|
|
3
|
+
* `genaicode embed` hands the work to the agent: it sends the shipped instructions and
|
|
4
|
+
* whatever the user asked for, and the agent reads the project and decides how to wire it in.
|
|
5
|
+
*/
|
|
6
|
+
/** What the user's chat shows for the request; the agent gets `embedPrompt` instead. */
|
|
7
|
+
export function embedRequest(request) {
|
|
8
|
+
return request ? `Embed genaicode in this project: ${request}` : 'Embed genaicode in this project.';
|
|
9
|
+
}
|
|
10
|
+
/** The skill's instructions, then the directory, the version to install and the user's request. */
|
|
11
|
+
export function embedPrompt(instructions, { cwd, version, request }) {
|
|
12
|
+
return [
|
|
13
|
+
stripFrontmatter(instructions).trim(),
|
|
14
|
+
'## Your task',
|
|
15
|
+
[
|
|
16
|
+
`Embed genaicode in the project in ${cwd}.`,
|
|
17
|
+
`The current genaicode release is ${version}: depend on \`^${version}\`.`,
|
|
18
|
+
request ? `The user asked: ${request}` : 'The user did not say which integration; choose as described above.',
|
|
19
|
+
'Do the steps now. If a choice is genuinely unclear, ask the user one short question and stop there.',
|
|
20
|
+
].join('\n'),
|
|
21
|
+
].join('\n\n');
|
|
22
|
+
}
|
|
23
|
+
/** The skill file without its YAML header. */
|
|
24
|
+
export function stripFrontmatter(text) {
|
|
25
|
+
const match = /^---\r?\n[\s\S]*?\r?\n---\r?\n/.exec(text);
|
|
26
|
+
return match ? text.slice(match[0].length) : text;
|
|
27
|
+
}
|
|
28
|
+
/** The instructions as shipped: `skills/genaicode-embed/SKILL.md` in the package. */
|
|
29
|
+
export function readEmbedInstructions() {
|
|
30
|
+
return readFileSync(new URL('../../skills/genaicode-embed/SKILL.md', import.meta.url), 'utf8');
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=embed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/cli/embed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;GAGG;AAEH,wFAAwF;AACxF,MAAM,UAAU,YAAY,CAAC,OAA2B;IACtD,OAAO,OAAO,CAAC,CAAC,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC,CAAC,kCAAkC,CAAC;AACtG,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,WAAW,CACzB,YAAoB,EACpB,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAsD;IAE7E,OAAO;QACL,gBAAgB,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;QACrC,cAAc;QACd;YACE,qCAAqC,GAAG,GAAG;YAC3C,oCAAoC,OAAO,kBAAkB,OAAO,KAAK;YACzE,OAAO,CAAC,CAAC,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC,CAAC,oEAAoE;YAC7G,qGAAqG;SACtG,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,qBAAqB;IACnC,OAAO,YAAY,CAAC,IAAI,GAAG,CAAC,uCAAuC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AACjG,CAAC"}
|
package/dist/cli/main.d.ts
CHANGED
|
@@ -41,6 +41,12 @@ export interface UiLaunch {
|
|
|
41
41
|
signal?: AbortSignal;
|
|
42
42
|
port?: number;
|
|
43
43
|
open?: boolean;
|
|
44
|
+
/** Sent as soon as the chat opens (`genaicode embed`). */
|
|
45
|
+
firstPrompt?: string;
|
|
46
|
+
/** Rewrites each prompt before it reaches the agent; the transcript shows what was typed. */
|
|
47
|
+
transformPrompt?(prompt: string): string;
|
|
48
|
+
/** `chat --web`: also open the session in the browser. */
|
|
49
|
+
openWeb?: boolean;
|
|
44
50
|
}
|
|
45
51
|
export interface UiModule {
|
|
46
52
|
runChat(options: UiLaunch): Promise<number>;
|
|
@@ -54,6 +60,6 @@ export declare const EXIT_OK = 0;
|
|
|
54
60
|
export declare const EXIT_FAILED = 1;
|
|
55
61
|
export declare const EXIT_USAGE = 2;
|
|
56
62
|
export declare const EXIT_ABORTED = 130;
|
|
57
|
-
export declare const helpText = "genaicode: run the coding-agent CLIs installed on this machine behind one interface.\n\nUsage:\n genaicode Chat with an agent in this terminal (same as \"chat\")\n genaicode chat [options] Chat with an agent in this terminal\n genaicode ui [options] Chat with an agent in the browser (local server)\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\nChat and UI options:\n -a, --agent <name> Agent to start with (default: the first installed one)\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 -r, --resume <id> Continue this agent session\n -y, --yes Approve every permission request the agent asks for\n --port <n>
|
|
63
|
+
export declare const helpText = "genaicode: run the coding-agent CLIs installed on this machine behind one interface.\n\nUsage:\n genaicode Chat with an agent in this terminal (same as \"chat\")\n genaicode chat [options] Chat with an agent in this terminal\n genaicode ui [options] Chat with an agent in the browser (local server)\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 genaicode embed [options] [request] Have an agent add genaicode to the project here\n\nChat and UI options:\n -a, --agent <name> Agent to start with (default: the first installed one)\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 -r, --resume <id> Continue this agent session\n -y, --yes Approve every permission request the agent asks for\n --web (chat) Also open the session in the browser\n --port <n> Port for the browser UI, on 127.0.0.1 (default: a free port)\n --no-open (ui) Print the link instead of opening a browser\n\n Each prompt after the first continues the agent's session (claude, codex, cursor,\n opencode, copilot). Prompts sent while the agent works wait in a queue. Type /help in\n the chat for commands. The terminal and the browser can show one session: /web in the\n chat opens it in the browser, and Enter in \"genaicode ui\" brings it into the terminal.\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 -r, --resume <id> Continue the agent session with this id (printed after each run)\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\nEmbed options:\n --print Print the agent's instructions instead of starting one\n --ui Follow the agent in the browser instead of this terminal\n -a, -C, -m, --effort, -y, --port, --no-open: as for chat and ui\n\n The agent reads the project and chooses how to wire genaicode in; [request] steers it,\n e.g. \"only the dev panel\". Without a terminal it runs headless like \"run\". The\n instructions also ship as a Claude Code skill: skills/genaicode-embed/SKILL.md.\n\nThe agent uses its own login, billing, and permission defaults. GenAIcode adds no agent\nloop or sandbox of its own, and no prompts but embed's instructions.\nLibrary 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";
|
|
58
64
|
/** Run the CLI and return its exit code. */
|
|
59
65
|
export declare function main(cli: CliEnvironment): Promise<number>;
|
package/dist/cli/main.js
CHANGED
|
@@ -5,6 +5,7 @@ import { detectAgents } from '../agents/discovery.js';
|
|
|
5
5
|
import { runWithVerify } from '../agents/verify.js';
|
|
6
6
|
import { defaultAgents } from '../agents/defaults.js';
|
|
7
7
|
import { parseCli, UsageError } from './args.js';
|
|
8
|
+
import { embedPrompt, embedRequest, readEmbedInstructions } from './embed.js';
|
|
8
9
|
import { createRenderer, describeResult } from './render.js';
|
|
9
10
|
export const EXIT_OK = 0;
|
|
10
11
|
export const EXIT_FAILED = 1;
|
|
@@ -18,6 +19,7 @@ Usage:
|
|
|
18
19
|
genaicode ui [options] Chat with an agent in the browser (local server)
|
|
19
20
|
genaicode agents [--json] List supported agents and whether each is installed
|
|
20
21
|
genaicode run [options] <prompt...> Run one task (reads the prompt from stdin if omitted)
|
|
22
|
+
genaicode embed [options] [request] Have an agent add genaicode to the project here
|
|
21
23
|
|
|
22
24
|
Chat and UI options:
|
|
23
25
|
-a, --agent <name> Agent to start with (default: the first installed one)
|
|
@@ -26,12 +28,14 @@ Chat and UI options:
|
|
|
26
28
|
--effort <level> Reasoning effort, in the agent's own vocabulary
|
|
27
29
|
-r, --resume <id> Continue this agent session
|
|
28
30
|
-y, --yes Approve every permission request the agent asks for
|
|
29
|
-
--
|
|
31
|
+
--web (chat) Also open the session in the browser
|
|
32
|
+
--port <n> Port for the browser UI, on 127.0.0.1 (default: a free port)
|
|
30
33
|
--no-open (ui) Print the link instead of opening a browser
|
|
31
34
|
|
|
32
35
|
Each prompt after the first continues the agent's session (claude, codex, cursor,
|
|
33
36
|
opencode, copilot). Prompts sent while the agent works wait in a queue. Type /help in
|
|
34
|
-
the chat for commands.
|
|
37
|
+
the chat for commands. The terminal and the browser can show one session: /web in the
|
|
38
|
+
chat opens it in the browser, and Enter in "genaicode ui" brings it into the terminal.
|
|
35
39
|
|
|
36
40
|
Run options:
|
|
37
41
|
-a, --agent <name> Agent to use (default: the first installed one, see "agents")
|
|
@@ -46,8 +50,18 @@ Run options:
|
|
|
46
50
|
--max-repairs <n> Repair attempts after a failed check (default 2)
|
|
47
51
|
--json Print agent events as JSON lines instead of text
|
|
48
52
|
|
|
53
|
+
Embed options:
|
|
54
|
+
--print Print the agent's instructions instead of starting one
|
|
55
|
+
--ui Follow the agent in the browser instead of this terminal
|
|
56
|
+
-a, -C, -m, --effort, -y, --port, --no-open: as for chat and ui
|
|
57
|
+
|
|
58
|
+
The agent reads the project and chooses how to wire genaicode in; [request] steers it,
|
|
59
|
+
e.g. "only the dev panel". Without a terminal it runs headless like "run". The
|
|
60
|
+
instructions also ship as a Claude Code skill: skills/genaicode-embed/SKILL.md.
|
|
61
|
+
|
|
49
62
|
The agent uses its own login, billing, and permission defaults. GenAIcode adds no agent
|
|
50
|
-
loop
|
|
63
|
+
loop or sandbox of its own, and no prompts but embed's instructions.
|
|
64
|
+
Library API: https://github.com/gtanczyk/genaicode#readme
|
|
51
65
|
|
|
52
66
|
Looking for the legacy 1.x coding agent?
|
|
53
67
|
Run it: npx genaicode@1
|
|
@@ -67,7 +81,7 @@ export async function main(cli) {
|
|
|
67
81
|
}
|
|
68
82
|
const agents = cli.agents ?? defaultAgents();
|
|
69
83
|
if (command.kind === 'help' && cli.argv.length === 0 && cli.interactive) {
|
|
70
|
-
command = { kind: 'chat', approveAll: false, open: false };
|
|
84
|
+
command = { kind: 'chat', approveAll: false, open: false, web: false };
|
|
71
85
|
}
|
|
72
86
|
switch (command.kind) {
|
|
73
87
|
case 'help':
|
|
@@ -83,9 +97,37 @@ export async function main(cli) {
|
|
|
83
97
|
case 'chat':
|
|
84
98
|
case 'ui':
|
|
85
99
|
return runUi(cli, agents, command);
|
|
100
|
+
case 'embed':
|
|
101
|
+
return runEmbed(cli, agents, command);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async function runEmbed(cli, agents, options) {
|
|
105
|
+
const cwd = resolve(cli.cwd, options.cwd ?? '.');
|
|
106
|
+
const prompt = embedPrompt(readEmbedInstructions(), { cwd, version: packageVersion(), request: options.request });
|
|
107
|
+
if (options.print) {
|
|
108
|
+
cli.stdout.write(`${prompt}\n`);
|
|
109
|
+
return EXIT_OK;
|
|
86
110
|
}
|
|
111
|
+
const tty = cli.tty ?? { stdin: process.stdin, stdout: process.stdout };
|
|
112
|
+
if (options.ui || (cli.interactive ?? (tty.stdin.isTTY && tty.stdout.isTTY))) {
|
|
113
|
+
// The chat shows the short request; the agent gets the instructions.
|
|
114
|
+
const request = embedRequest(options.request);
|
|
115
|
+
return runUi(cli, agents, { ...options, kind: options.ui ? 'ui' : 'chat', cwd, web: false }, { firstPrompt: request, transformPrompt: (text) => (text === request ? prompt : text) });
|
|
116
|
+
}
|
|
117
|
+
return runTask(cli, agents, {
|
|
118
|
+
kind: 'run',
|
|
119
|
+
prompt,
|
|
120
|
+
agent: options.agent,
|
|
121
|
+
cwd,
|
|
122
|
+
model: options.model,
|
|
123
|
+
effort: options.effort,
|
|
124
|
+
maxRepairs: 0,
|
|
125
|
+
json: false,
|
|
126
|
+
},
|
|
127
|
+
// -y without a terminal: the same answer the chat's auto-approve gives.
|
|
128
|
+
options.approveAll ? { onApproval: async () => 'approve' } : {});
|
|
87
129
|
}
|
|
88
|
-
async function runUi(cli, agents, options) {
|
|
130
|
+
async function runUi(cli, agents, options, extra = {}) {
|
|
89
131
|
const tty = cli.tty ?? { stdin: process.stdin, stdout: process.stdout };
|
|
90
132
|
if (options.kind === 'chat' && !(cli.interactive ?? (tty.stdin.isTTY && tty.stdout.isTTY))) {
|
|
91
133
|
cli.stderr.write('genaicode chat needs a terminal. Use "genaicode run" for scripts, or "genaicode ui".\n');
|
|
@@ -108,6 +150,8 @@ async function runUi(cli, agents, options) {
|
|
|
108
150
|
signal: cli.signal,
|
|
109
151
|
port: options.port,
|
|
110
152
|
open: options.open,
|
|
153
|
+
openWeb: options.web,
|
|
154
|
+
...extra,
|
|
111
155
|
};
|
|
112
156
|
return options.kind === 'chat' ? ui.runChat(launch) : ui.runWeb(launch);
|
|
113
157
|
}
|
|
@@ -130,7 +174,7 @@ function listAgents(cli, agents, json) {
|
|
|
130
174
|
}
|
|
131
175
|
return EXIT_OK;
|
|
132
176
|
}
|
|
133
|
-
async function runTask(cli, agents, options) {
|
|
177
|
+
async function runTask(cli, agents, options, extra = {}) {
|
|
134
178
|
const prompt = options.prompt ?? (await cli.readStdin())?.trim();
|
|
135
179
|
if (!prompt) {
|
|
136
180
|
cli.stderr.write(`No prompt. Pass it as arguments or on stdin.\n\n${helpText}`);
|
|
@@ -149,6 +193,7 @@ async function runTask(cli, agents, options) {
|
|
|
149
193
|
timeoutMs: options.timeoutMs,
|
|
150
194
|
env: cli.env,
|
|
151
195
|
signal: cli.signal,
|
|
196
|
+
...extra,
|
|
152
197
|
};
|
|
153
198
|
const render = options.json
|
|
154
199
|
? (event) => cli.stdout.write(`${JSON.stringify(event)}\n`)
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +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,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAe,MAAM,aAAa,CAAC;AAqD1E,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CvB,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,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACxE,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC7D,CAAC;IACD,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;QACvC,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI;YACP,OAAO,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK,CAClB,GAAmB,EACnB,MAA8B,EAC9B,OAAqD;IAErD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACxE,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAC;QAC3G,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,aAAa,CAAC,EAAE,CAAC;IACjD,MAAM,MAAM,GAAa;QACvB,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,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,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,OAAO,EAAE,cAAc,EAAE;QACzB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED,uGAAuG;AACvG,SAAS,aAAa;IACpB,MAAM,MAAM,GAAW,IAAI,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACvE,OAAO,MAAM,CAAC,MAAM,CAAsB,CAAC;AAC7C,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,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|