@gencode/uni 0.2.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 +15 -0
- package/README.md +50 -0
- package/dist/shared/src/agent-progress.d.ts +133 -0
- package/dist/shared/src/agent-progress.d.ts.map +1 -0
- package/dist/shared/src/agent-progress.js +4 -0
- package/dist/shared/src/agent-progress.js.map +1 -0
- package/dist/shared/src/context-protocol.d.ts +83 -0
- package/dist/shared/src/context-protocol.d.ts.map +1 -0
- package/dist/shared/src/context-protocol.js +2 -0
- package/dist/shared/src/context-protocol.js.map +1 -0
- package/dist/shared/src/goal.d.ts +50 -0
- package/dist/shared/src/goal.d.ts.map +1 -0
- package/dist/shared/src/goal.js +11 -0
- package/dist/shared/src/goal.js.map +1 -0
- package/dist/shared/src/hitl.d.ts +214 -0
- package/dist/shared/src/hitl.d.ts.map +1 -0
- package/dist/shared/src/hitl.js +205 -0
- package/dist/shared/src/hitl.js.map +1 -0
- package/dist/shared/src/index.d.ts +16 -0
- package/dist/shared/src/index.d.ts.map +1 -0
- package/dist/shared/src/index.js +12 -0
- package/dist/shared/src/index.js.map +1 -0
- package/dist/shared/src/run-events.d.ts +129 -0
- package/dist/shared/src/run-events.d.ts.map +1 -0
- package/dist/shared/src/run-events.js +2 -0
- package/dist/shared/src/run-events.js.map +1 -0
- package/dist/shared/src/session.d.ts +37 -0
- package/dist/shared/src/session.d.ts.map +1 -0
- package/dist/shared/src/session.js +2 -0
- package/dist/shared/src/session.js.map +1 -0
- package/dist/shared/src/task-display.d.ts +3 -0
- package/dist/shared/src/task-display.d.ts.map +1 -0
- package/dist/shared/src/task-display.js +41 -0
- package/dist/shared/src/task-display.js.map +1 -0
- package/dist/shared/src/ui-tool.d.ts +94 -0
- package/dist/shared/src/ui-tool.d.ts.map +1 -0
- package/dist/shared/src/ui-tool.js +39 -0
- package/dist/shared/src/ui-tool.js.map +1 -0
- package/dist/uni/src/auth/api-key.d.ts +3 -0
- package/dist/uni/src/auth/api-key.d.ts.map +1 -0
- package/dist/uni/src/auth/api-key.js +8 -0
- package/dist/uni/src/auth/api-key.js.map +1 -0
- package/dist/uni/src/bin.d.ts +3 -0
- package/dist/uni/src/bin.d.ts.map +1 -0
- package/dist/uni/src/bin.js +4 -0
- package/dist/uni/src/bin.js.map +1 -0
- package/dist/uni/src/events/normalizer.d.ts +4 -0
- package/dist/uni/src/events/normalizer.d.ts.map +1 -0
- package/dist/uni/src/events/normalizer.js +72 -0
- package/dist/uni/src/events/normalizer.js.map +1 -0
- package/dist/uni/src/events/provider-events.d.ts +8 -0
- package/dist/uni/src/events/provider-events.d.ts.map +1 -0
- package/dist/uni/src/events/provider-events.js +317 -0
- package/dist/uni/src/events/provider-events.js.map +1 -0
- package/dist/uni/src/hooks.d.ts +8 -0
- package/dist/uni/src/hooks.d.ts.map +1 -0
- package/dist/uni/src/hooks.js +13 -0
- package/dist/uni/src/hooks.js.map +1 -0
- package/dist/uni/src/index.d.ts +10 -0
- package/dist/uni/src/index.d.ts.map +1 -0
- package/dist/uni/src/index.js +8 -0
- package/dist/uni/src/index.js.map +1 -0
- package/dist/uni/src/program.d.ts +3 -0
- package/dist/uni/src/program.d.ts.map +1 -0
- package/dist/uni/src/program.js +140 -0
- package/dist/uni/src/program.js.map +1 -0
- package/dist/uni/src/providers/acp.d.ts +3 -0
- package/dist/uni/src/providers/acp.d.ts.map +1 -0
- package/dist/uni/src/providers/acp.js +33 -0
- package/dist/uni/src/providers/acp.js.map +1 -0
- package/dist/uni/src/providers/claude-code.d.ts +3 -0
- package/dist/uni/src/providers/claude-code.d.ts.map +1 -0
- package/dist/uni/src/providers/claude-code.js +87 -0
- package/dist/uni/src/providers/claude-code.js.map +1 -0
- package/dist/uni/src/providers/codex.d.ts +3 -0
- package/dist/uni/src/providers/codex.d.ts.map +1 -0
- package/dist/uni/src/providers/codex.js +71 -0
- package/dist/uni/src/providers/codex.js.map +1 -0
- package/dist/uni/src/providers/opencode.d.ts +3 -0
- package/dist/uni/src/providers/opencode.d.ts.map +1 -0
- package/dist/uni/src/providers/opencode.js +47 -0
- package/dist/uni/src/providers/opencode.js.map +1 -0
- package/dist/uni/src/providers/pi.d.ts +3 -0
- package/dist/uni/src/providers/pi.d.ts.map +1 -0
- package/dist/uni/src/providers/pi.js +42 -0
- package/dist/uni/src/providers/pi.js.map +1 -0
- package/dist/uni/src/providers/registry.d.ts +3 -0
- package/dist/uni/src/providers/registry.d.ts.map +1 -0
- package/dist/uni/src/providers/registry.js +25 -0
- package/dist/uni/src/providers/registry.js.map +1 -0
- package/dist/uni/src/providers/spawned-provider.d.ts +22 -0
- package/dist/uni/src/providers/spawned-provider.d.ts.map +1 -0
- package/dist/uni/src/providers/spawned-provider.js +109 -0
- package/dist/uni/src/providers/spawned-provider.js.map +1 -0
- package/dist/uni/src/providers/types.d.ts +6 -0
- package/dist/uni/src/providers/types.d.ts.map +1 -0
- package/dist/uni/src/providers/types.js +2 -0
- package/dist/uni/src/providers/types.js.map +1 -0
- package/dist/uni/src/run.d.ts +3 -0
- package/dist/uni/src/run.d.ts.map +1 -0
- package/dist/uni/src/run.js +446 -0
- package/dist/uni/src/run.js.map +1 -0
- package/dist/uni/src/runtime-config.d.ts +40 -0
- package/dist/uni/src/runtime-config.d.ts.map +1 -0
- package/dist/uni/src/runtime-config.js +203 -0
- package/dist/uni/src/runtime-config.js.map +1 -0
- package/dist/uni/src/session/input.d.ts +3 -0
- package/dist/uni/src/session/input.d.ts.map +1 -0
- package/dist/uni/src/session/input.js +147 -0
- package/dist/uni/src/session/input.js.map +1 -0
- package/dist/uni/src/session/logger.d.ts +16 -0
- package/dist/uni/src/session/logger.d.ts.map +1 -0
- package/dist/uni/src/session/logger.js +66 -0
- package/dist/uni/src/session/logger.js.map +1 -0
- package/dist/uni/src/session/session-state.d.ts +19 -0
- package/dist/uni/src/session/session-state.d.ts.map +1 -0
- package/dist/uni/src/session/session-state.js +13 -0
- package/dist/uni/src/session/session-state.js.map +1 -0
- package/dist/uni/src/session/session-store.d.ts +23 -0
- package/dist/uni/src/session/session-store.d.ts.map +1 -0
- package/dist/uni/src/session/session-store.js +36 -0
- package/dist/uni/src/session/session-store.js.map +1 -0
- package/dist/uni/src/transports/composite-sink.d.ts +9 -0
- package/dist/uni/src/transports/composite-sink.d.ts.map +1 -0
- package/dist/uni/src/transports/composite-sink.js +17 -0
- package/dist/uni/src/transports/composite-sink.js.map +1 -0
- package/dist/uni/src/transports/event-sink.d.ts +6 -0
- package/dist/uni/src/transports/event-sink.d.ts.map +1 -0
- package/dist/uni/src/transports/event-sink.js +2 -0
- package/dist/uni/src/transports/event-sink.js.map +1 -0
- package/dist/uni/src/transports/http-callback-sink.d.ts +9 -0
- package/dist/uni/src/transports/http-callback-sink.d.ts.map +1 -0
- package/dist/uni/src/transports/http-callback-sink.js +20 -0
- package/dist/uni/src/transports/http-callback-sink.js.map +1 -0
- package/dist/uni/src/transports/websocket-auth.d.ts +8 -0
- package/dist/uni/src/transports/websocket-auth.d.ts.map +1 -0
- package/dist/uni/src/transports/websocket-auth.js +9 -0
- package/dist/uni/src/transports/websocket-auth.js.map +1 -0
- package/dist/uni/src/transports/websocket-sink.d.ts +24 -0
- package/dist/uni/src/transports/websocket-sink.d.ts.map +1 -0
- package/dist/uni/src/transports/websocket-sink.js +205 -0
- package/dist/uni/src/transports/websocket-sink.js.map +1 -0
- package/dist/uni/src/types.d.ts +239 -0
- package/dist/uni/src/types.d.ts.map +1 -0
- package/dist/uni/src/types.js +2 -0
- package/dist/uni/src/types.js.map +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { buildRuntimeConfig } from "./runtime-config.js";
|
|
3
|
+
import { runUni } from "./run.js";
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
7
|
+
function loadPackageVersion() {
|
|
8
|
+
const currentDir = path.dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
const candidates = [
|
|
10
|
+
path.resolve(currentDir, "../package.json"),
|
|
11
|
+
path.resolve(currentDir, "../../package.json"),
|
|
12
|
+
path.resolve(currentDir, "../../../package.json"),
|
|
13
|
+
];
|
|
14
|
+
for (const candidate of candidates) {
|
|
15
|
+
if (!fs.existsSync(candidate)) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const raw = fs.readFileSync(candidate, "utf8");
|
|
19
|
+
const parsed = JSON.parse(raw);
|
|
20
|
+
if (typeof parsed.version === "string" && parsed.version.length > 0) {
|
|
21
|
+
return parsed.version;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return "0.0.0";
|
|
25
|
+
}
|
|
26
|
+
const packageVersion = loadPackageVersion();
|
|
27
|
+
function addRuntimeOptions(command) {
|
|
28
|
+
return command
|
|
29
|
+
.requiredOption("--runtime-agent <name>", "Runtime agent: claude-code, codex, opencode, pi, acp")
|
|
30
|
+
.option("--runtime-config-json <json>", "Runtime config JSON")
|
|
31
|
+
.option("--runtime-command <value>", "Override runtime command")
|
|
32
|
+
.option("--runtime-arg <value>", "Append runtime arg", (value, previous = []) => [...previous, value], [])
|
|
33
|
+
.option("--runtime-env <pair>", "Runtime env pair KEY=VALUE", (value, previous = []) => [...previous, value], [])
|
|
34
|
+
.option("--runtime-mode <value>", "Runtime mode / approval mode")
|
|
35
|
+
.option("--runtime-backend <value>", "Runtime backend, e.g. exec or app_server")
|
|
36
|
+
.option("--runtime-app-server-url <value>", "Codex app-server URL")
|
|
37
|
+
.option("--runtime-cli-path <value>", "CLI path with optional extra args")
|
|
38
|
+
.option("--runtime-cli-args-flag <value>", "Wrapper CLI args flag, e.g. -a")
|
|
39
|
+
.option("--runtime-codex-home <path>", "Override CODEX_HOME for codex runtime")
|
|
40
|
+
.option("--runtime-reasoning-effort <value>", "Reasoning effort override")
|
|
41
|
+
.option("--runtime-thinking <value>", "Thinking level for pi-like runtimes")
|
|
42
|
+
.option("--runtime-system-prompt <value>", "Custom runtime system prompt")
|
|
43
|
+
.option("--runtime-allowed-tools <list>", "Comma-separated allowed tools")
|
|
44
|
+
.option("--runtime-disallowed-tools <list>", "Comma-separated disallowed tools")
|
|
45
|
+
.option("--runtime-max-context-tokens <n>", "Max context tokens for Claude Code")
|
|
46
|
+
.option("--runtime-router-url <url>", "Claude router URL")
|
|
47
|
+
.option("--runtime-router-api-key <key>", "Claude router API key")
|
|
48
|
+
.option("--runtime-auth-method <value>", "ACP auth method")
|
|
49
|
+
.option("--runtime-display-name <value>", "ACP display name")
|
|
50
|
+
.option("--runtime-provider-name <value>", "Provider name")
|
|
51
|
+
.option("--runtime-provider-api-key <value>", "Provider API key")
|
|
52
|
+
.option("--runtime-provider-base-url <value>", "Provider base URL")
|
|
53
|
+
.option("--runtime-provider-model <value>", "Provider model override")
|
|
54
|
+
.option("--runtime-provider-thinking <value>", "Provider thinking override")
|
|
55
|
+
.option("--runtime-provider-env <pair>", "Provider env pair KEY=VALUE", (value, previous = []) => [...previous, value], [])
|
|
56
|
+
.option("--runtime-provider-codex-wire-api <value>", "Codex provider wire API")
|
|
57
|
+
.option("--runtime-provider-header <pair>", "Codex provider header KEY=VALUE", (value, previous = []) => [...previous, value], []);
|
|
58
|
+
}
|
|
59
|
+
function buildRunOptions(options) {
|
|
60
|
+
return {
|
|
61
|
+
runtimeAgent: options.runtimeAgent,
|
|
62
|
+
dataDir: options.dataDir,
|
|
63
|
+
projectDir: options.projectDir,
|
|
64
|
+
agent: options.agent,
|
|
65
|
+
user: options.user,
|
|
66
|
+
message: options.message,
|
|
67
|
+
fromFile: options.fromFile,
|
|
68
|
+
skillsLoadPaths: options.skillsLoadPaths,
|
|
69
|
+
sessionId: options.sessionId,
|
|
70
|
+
sessionStore: options.sessionStore,
|
|
71
|
+
messageId: options.messageId,
|
|
72
|
+
channel: options.channel,
|
|
73
|
+
baseUrl: options.baseUrl,
|
|
74
|
+
apiKey: options.apiKey,
|
|
75
|
+
authToken: options.authToken,
|
|
76
|
+
model: options.model,
|
|
77
|
+
contextWindow: options.contextWindow,
|
|
78
|
+
flashModel: options.flashModel,
|
|
79
|
+
callbackUrl: options.callbackUrl,
|
|
80
|
+
streamUrl: options.streamUrl,
|
|
81
|
+
streamAuthToken: options.streamAuthToken,
|
|
82
|
+
streamEvents: options.streamEvents,
|
|
83
|
+
timeout: options.timeout,
|
|
84
|
+
output: options.output,
|
|
85
|
+
pluginsConfig: options.pluginsConfig,
|
|
86
|
+
resumeRequestId: options.resumeRequestId,
|
|
87
|
+
resumeInputJson: options.resumeInputJson,
|
|
88
|
+
resumeFromFile: options.resumeFromFile,
|
|
89
|
+
runtimeConfig: buildRuntimeConfig(options.runtimeAgent, options),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
async function executeRun(options) {
|
|
93
|
+
const result = await runUni(buildRunOptions(options));
|
|
94
|
+
if (options.output === "json") {
|
|
95
|
+
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
process.stdout.write(`${result.text}\n`);
|
|
99
|
+
}
|
|
100
|
+
export function createProgram() {
|
|
101
|
+
const program = new Command();
|
|
102
|
+
program
|
|
103
|
+
.name("gencode-uni")
|
|
104
|
+
.description("Standalone unified multi-agent runtime")
|
|
105
|
+
.version(packageVersion);
|
|
106
|
+
addRuntimeOptions(program
|
|
107
|
+
.command("run")
|
|
108
|
+
.description("Run a task with the standalone unified runtime")
|
|
109
|
+
.option("-d, --data-dir <path>", "Data directory path")
|
|
110
|
+
.option("--project-dir <path>", "Current project directory")
|
|
111
|
+
.option("--agent <name>", "Legacy root agent field, currently unsupported")
|
|
112
|
+
.option("--user <id>", "User identifier")
|
|
113
|
+
.option("--message <text>", "User message to send to the runtime")
|
|
114
|
+
.option("--from-file <path>", "Load structured message JSON from a file")
|
|
115
|
+
.option("--skillsLoadPaths <paths>", "Legacy skills load paths, currently unsupported")
|
|
116
|
+
.option("-s, --session-id <id>", "Resume an existing provider session by ID")
|
|
117
|
+
.option("--session-store <name>", "Session store directory under .aimax")
|
|
118
|
+
.option("--message-id <id>", "Message ID for correlation")
|
|
119
|
+
.option("-c, --channel <channel>", "Channel name", "WEB")
|
|
120
|
+
.option("--base-url <url>", "LLM API base URL")
|
|
121
|
+
.option("--api-key <key>", "LLM API key")
|
|
122
|
+
.option("--auth-token <token>", "Auth token used to derive the API key")
|
|
123
|
+
.option("--model <name>", "LLM model name")
|
|
124
|
+
.option("--context-window <n>", "LLM context window size")
|
|
125
|
+
.option("--flash-model <name>", "Flash model for lightweight tasks")
|
|
126
|
+
.option("--callback-url <url>", "HTTP callback URL")
|
|
127
|
+
.option("--stream-url <url>", "WebSocket URL for streaming")
|
|
128
|
+
.option("--stream-auth-token <token>", "WebSocket auth token")
|
|
129
|
+
.option("--stream-events <list>", "Comma-separated stream events")
|
|
130
|
+
.option("--timeout <ms>", "Execution timeout in milliseconds")
|
|
131
|
+
.option("--output <format>", "Output format: text or json", "text")
|
|
132
|
+
.option("--plugins-config <path>", "Legacy plugins config, currently unsupported")
|
|
133
|
+
.option("--resume-request-id <id>", "Legacy HITL resume request id, currently unsupported")
|
|
134
|
+
.option("--resume-input-json <json>", "Legacy HITL resume input JSON, currently unsupported")
|
|
135
|
+
.option("--resume-from-file <path>", "Legacy HITL resume input file, currently unsupported")).action(async (options) => {
|
|
136
|
+
await executeRun(options);
|
|
137
|
+
});
|
|
138
|
+
return program;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=program.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/program.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../../../src/providers/acp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,WAAW,EAAsB,MAAM,aAAa,CAAC;AAwBjF,wBAAgB,iBAAiB,IAAI,WAAW,CAY/C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { parseAcpEvent } from "../events/provider-events.js";
|
|
2
|
+
import { SpawnedProvider } from "./spawned-provider.js";
|
|
3
|
+
function resolveConfig(context) {
|
|
4
|
+
return context.runtimeConfig.acp ?? {};
|
|
5
|
+
}
|
|
6
|
+
function buildArgs(context) {
|
|
7
|
+
const args = resolveConfig(context).args ?? [];
|
|
8
|
+
return args;
|
|
9
|
+
}
|
|
10
|
+
function buildEnv(context) {
|
|
11
|
+
const env = resolveConfig(context).env ?? {};
|
|
12
|
+
const resolved = {};
|
|
13
|
+
for (const [key, value] of Object.entries(env)) {
|
|
14
|
+
if (typeof value === "string") {
|
|
15
|
+
resolved[key] = value;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return resolved;
|
|
19
|
+
}
|
|
20
|
+
export function createAcpProvider() {
|
|
21
|
+
return new SpawnedProvider({
|
|
22
|
+
runtimeAgent: "acp",
|
|
23
|
+
defaultCommand: "acp-agent",
|
|
24
|
+
capabilities: new Set(["session-resume", "text-stream", "acp", "callback", "websocket"]),
|
|
25
|
+
buildArgs,
|
|
26
|
+
resolveCommand: (context) => ({
|
|
27
|
+
command: resolveConfig(context).command ?? "acp-agent",
|
|
28
|
+
}),
|
|
29
|
+
buildEnv,
|
|
30
|
+
parseLine: parseAcpEvent,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=acp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acp.js","sourceRoot":"","sources":["../../../../src/providers/acp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,SAAS,aAAa,CAAC,OAA2B;IAChD,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,SAAS,CAAC,OAA2B;IAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,OAA2B;IAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,eAAe,CAAC;QACzB,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,WAAW;QAC3B,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACxF,SAAS;QACT,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,WAAW;SACvD,CAAC;QACF,QAAQ;QACR,SAAS,EAAE,aAAa;KACzB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../../src/providers/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,WAAW,EAAsB,MAAM,aAAa,CAAC;AA+DxF,wBAAgB,wBAAwB,IAAI,WAAW,CA6BtD"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { parseClaudeCodeEvent } from "../events/provider-events.js";
|
|
2
|
+
import { SpawnedProvider } from "./spawned-provider.js";
|
|
3
|
+
import { splitCliPath } from "../runtime-config.js";
|
|
4
|
+
function resolveConfig(context) {
|
|
5
|
+
return context.runtimeConfig.claudeCode ?? {};
|
|
6
|
+
}
|
|
7
|
+
function resolveModel(context, config) {
|
|
8
|
+
return context.model ?? config.provider?.model;
|
|
9
|
+
}
|
|
10
|
+
function shellJoinArgs(args) {
|
|
11
|
+
return args.map((arg) => {
|
|
12
|
+
if (/^[A-Za-z0-9_./:-]+$/.test(arg)) {
|
|
13
|
+
return arg;
|
|
14
|
+
}
|
|
15
|
+
return JSON.stringify(arg);
|
|
16
|
+
}).join(" ");
|
|
17
|
+
}
|
|
18
|
+
function buildArgs(context, prompt) {
|
|
19
|
+
const config = resolveConfig(context);
|
|
20
|
+
const args = [
|
|
21
|
+
"--verbose",
|
|
22
|
+
"--output-format", "stream-json",
|
|
23
|
+
"--print",
|
|
24
|
+
];
|
|
25
|
+
if (context.sessionId) {
|
|
26
|
+
args.push("--resume", context.sessionId);
|
|
27
|
+
}
|
|
28
|
+
const model = resolveModel(context, config);
|
|
29
|
+
if (model) {
|
|
30
|
+
args.push("--model", model);
|
|
31
|
+
}
|
|
32
|
+
if (config.reasoningEffort) {
|
|
33
|
+
args.push("--effort", config.reasoningEffort);
|
|
34
|
+
}
|
|
35
|
+
if (config.mode && config.mode !== "default") {
|
|
36
|
+
args.push("--permission-mode", config.mode === "yolo" ? "bypassPermissions" : config.mode);
|
|
37
|
+
}
|
|
38
|
+
if (config.systemPrompt) {
|
|
39
|
+
args.push("--system-prompt", config.systemPrompt);
|
|
40
|
+
}
|
|
41
|
+
if (config.allowedTools && config.allowedTools.length > 0) {
|
|
42
|
+
args.push("--allowedTools", config.allowedTools.join(","));
|
|
43
|
+
}
|
|
44
|
+
if (config.disallowedTools && config.disallowedTools.length > 0) {
|
|
45
|
+
args.push("--disallowedTools", config.disallowedTools.join(","));
|
|
46
|
+
}
|
|
47
|
+
if (config.maxContextTokens) {
|
|
48
|
+
args.push("--max-context-tokens", String(config.maxContextTokens));
|
|
49
|
+
}
|
|
50
|
+
const cliArgsFlag = config.cliArgsFlag?.trim();
|
|
51
|
+
if (cliArgsFlag) {
|
|
52
|
+
return [cliArgsFlag, shellJoinArgs([...args, prompt])];
|
|
53
|
+
}
|
|
54
|
+
args.push(prompt);
|
|
55
|
+
return args;
|
|
56
|
+
}
|
|
57
|
+
export function createClaudeCodeProvider() {
|
|
58
|
+
return new SpawnedProvider({
|
|
59
|
+
runtimeAgent: "claude-code",
|
|
60
|
+
defaultCommand: "claude",
|
|
61
|
+
capabilities: new Set(["session-resume", "text-stream", "tool-events", "callback", "websocket"]),
|
|
62
|
+
promptTransport: "none",
|
|
63
|
+
buildArgs,
|
|
64
|
+
resolveCommand: (context) => {
|
|
65
|
+
const config = resolveConfig(context);
|
|
66
|
+
const resolved = splitCliPath(config.cliPath);
|
|
67
|
+
return {
|
|
68
|
+
command: resolved.command ?? "claude",
|
|
69
|
+
extraArgs: resolved.extraArgs,
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
buildEnv: (context) => {
|
|
73
|
+
const config = resolveConfig(context);
|
|
74
|
+
return {
|
|
75
|
+
...(config.provider?.env ?? {}),
|
|
76
|
+
...(config.env ?? {}),
|
|
77
|
+
...(config.provider?.apiKey ? { ANTHROPIC_API_KEY: config.provider.apiKey } : {}),
|
|
78
|
+
...(config.provider?.baseUrl ? { ANTHROPIC_BASE_URL: config.provider.baseUrl } : {}),
|
|
79
|
+
...(config.provider?.model ? { ANTHROPIC_MODEL: config.provider.model } : {}),
|
|
80
|
+
...(config.routerUrl ? { CLAUDE_CODE_ROUTER_URL: config.routerUrl } : {}),
|
|
81
|
+
...(config.routerApiKey ? { CLAUDE_CODE_ROUTER_API_KEY: config.routerApiKey } : {}),
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
parseLine: parseClaudeCodeEvent,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=claude-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../../src/providers/claude-code.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,SAAS,aAAa,CAAC,OAA2B;IAChD,OAAO,OAAO,CAAC,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,YAAY,CAAC,OAA2B,EAAE,MAA2B;IAC5E,OAAO,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,IAAc;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,OAA2B,EAAE,MAAc;IAC5D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG;QACX,WAAW;QACX,iBAAiB,EAAE,aAAa;QAChC,SAAS;KACV,CAAC;IAEF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAC/C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,eAAe,CAAC;QACzB,YAAY,EAAE,aAAa;QAC3B,cAAc,EAAE,QAAQ;QACxB,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAChG,eAAe,EAAE,MAAM;QACvB,SAAS;QACT,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ;gBACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO;gBACL,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpF,CAAC;QACJ,CAAC;QACD,SAAS,EAAE,oBAAoB;KAChC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/providers/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,WAAW,EAAsB,MAAM,aAAa,CAAC;AA+CnF,wBAAgB,mBAAmB,IAAI,WAAW,CA0BjD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { parseCodexEvent } from "../events/provider-events.js";
|
|
2
|
+
import { SpawnedProvider } from "./spawned-provider.js";
|
|
3
|
+
import { splitCliPath } from "../runtime-config.js";
|
|
4
|
+
function resolveConfig(context) {
|
|
5
|
+
return context.runtimeConfig.codex ?? {};
|
|
6
|
+
}
|
|
7
|
+
function resolveModel(context, config) {
|
|
8
|
+
return context.model ?? config.provider?.model;
|
|
9
|
+
}
|
|
10
|
+
function buildArgs(context) {
|
|
11
|
+
const config = resolveConfig(context);
|
|
12
|
+
if (config.backend === "app_server") {
|
|
13
|
+
throw new Error("codex backend app_server is not implemented in @gencode/uni yet");
|
|
14
|
+
}
|
|
15
|
+
const args = ["exec", "--skip-git-repo-check", "--json", "-"];
|
|
16
|
+
if (context.sessionId) {
|
|
17
|
+
args.splice(1, 0, "resume", context.sessionId);
|
|
18
|
+
args.splice(args.indexOf("--json") - 1, 1);
|
|
19
|
+
}
|
|
20
|
+
if (context.projectDir) {
|
|
21
|
+
args.push("--cd", context.projectDir);
|
|
22
|
+
}
|
|
23
|
+
const model = resolveModel(context, config);
|
|
24
|
+
if (model) {
|
|
25
|
+
args.push("--model", model);
|
|
26
|
+
}
|
|
27
|
+
if (config.reasoningEffort) {
|
|
28
|
+
args.push("-c", `model_reasoning_effort=${JSON.stringify(config.reasoningEffort)}`);
|
|
29
|
+
}
|
|
30
|
+
if (config.mode === "auto-edit" || config.mode === "full-auto") {
|
|
31
|
+
args.push("--full-auto");
|
|
32
|
+
}
|
|
33
|
+
else if (config.mode === "yolo") {
|
|
34
|
+
args.push("--dangerously-bypass-approvals-and-sandbox");
|
|
35
|
+
}
|
|
36
|
+
if (config.provider?.name) {
|
|
37
|
+
args.push("-c", `model_provider=${JSON.stringify(config.provider.name)}`);
|
|
38
|
+
}
|
|
39
|
+
if (context.baseUrl) {
|
|
40
|
+
args.push("-c", `openai_base_url=${JSON.stringify(context.baseUrl)}`);
|
|
41
|
+
}
|
|
42
|
+
return args;
|
|
43
|
+
}
|
|
44
|
+
export function createCodexProvider() {
|
|
45
|
+
return new SpawnedProvider({
|
|
46
|
+
runtimeAgent: "codex",
|
|
47
|
+
defaultCommand: "codex",
|
|
48
|
+
capabilities: new Set(["session-resume", "text-stream", "callback", "websocket"]),
|
|
49
|
+
buildArgs,
|
|
50
|
+
resolveCommand: (context) => {
|
|
51
|
+
const config = resolveConfig(context);
|
|
52
|
+
const resolved = splitCliPath(config.cliPath);
|
|
53
|
+
return {
|
|
54
|
+
command: resolved.command ?? "codex",
|
|
55
|
+
extraArgs: resolved.extraArgs,
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
buildEnv: (context) => {
|
|
59
|
+
const config = resolveConfig(context);
|
|
60
|
+
return {
|
|
61
|
+
...(config.provider?.env ?? {}),
|
|
62
|
+
...(config.env ?? {}),
|
|
63
|
+
...(config.codexHome ? { CODEX_HOME: config.codexHome } : {}),
|
|
64
|
+
...(config.provider?.apiKey ? { OPENAI_API_KEY: config.provider.apiKey } : {}),
|
|
65
|
+
...(config.provider?.baseUrl ? { OPENAI_BASE_URL: config.provider.baseUrl } : {}),
|
|
66
|
+
};
|
|
67
|
+
},
|
|
68
|
+
parseLine: parseCodexEvent,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/providers/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/providers/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,WAAW,EAAsB,MAAM,aAAa,CAAC;AAyBtF,wBAAgB,sBAAsB,IAAI,WAAW,CAwBpD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { parseOpenCodeEvent } from "../events/provider-events.js";
|
|
2
|
+
import { splitCliPath } from "../runtime-config.js";
|
|
3
|
+
import { SpawnedProvider } from "./spawned-provider.js";
|
|
4
|
+
function resolveConfig(context) {
|
|
5
|
+
return context.runtimeConfig.opencode ?? {};
|
|
6
|
+
}
|
|
7
|
+
function buildArgs(context) {
|
|
8
|
+
const config = resolveConfig(context);
|
|
9
|
+
const args = ["run", "--format", "json", "--thinking"];
|
|
10
|
+
if (context.sessionId) {
|
|
11
|
+
args.push("--session", context.sessionId);
|
|
12
|
+
}
|
|
13
|
+
const model = context.model ?? config.provider?.model;
|
|
14
|
+
if (model) {
|
|
15
|
+
args.push("--model", model);
|
|
16
|
+
}
|
|
17
|
+
if (context.projectDir) {
|
|
18
|
+
args.push("--dir", context.projectDir);
|
|
19
|
+
}
|
|
20
|
+
return args;
|
|
21
|
+
}
|
|
22
|
+
export function createOpenCodeProvider() {
|
|
23
|
+
return new SpawnedProvider({
|
|
24
|
+
runtimeAgent: "opencode",
|
|
25
|
+
defaultCommand: "opencode",
|
|
26
|
+
capabilities: new Set(["session-resume", "text-stream", "tool-events", "callback", "websocket"]),
|
|
27
|
+
buildArgs,
|
|
28
|
+
resolveCommand: (context) => {
|
|
29
|
+
const resolved = splitCliPath(resolveConfig(context).command);
|
|
30
|
+
return {
|
|
31
|
+
command: resolved.command ?? "opencode",
|
|
32
|
+
extraArgs: resolved.extraArgs,
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
buildEnv: (context) => {
|
|
36
|
+
const config = resolveConfig(context);
|
|
37
|
+
return {
|
|
38
|
+
...(config.provider?.env ?? {}),
|
|
39
|
+
...(config.env ?? {}),
|
|
40
|
+
...(config.provider?.apiKey ? { OPENAI_API_KEY: config.provider.apiKey } : {}),
|
|
41
|
+
...(config.provider?.baseUrl ? { OPENAI_BASE_URL: config.provider.baseUrl } : {}),
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
parseLine: parseOpenCodeEvent,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=opencode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/providers/opencode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,SAAS,aAAa,CAAC,OAA2B;IAChD,OAAO,OAAO,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,SAAS,CAAC,OAA2B;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;IACtD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,eAAe,CAAC;QACzB,YAAY,EAAE,UAAU;QACxB,cAAc,EAAE,UAAU;QAC1B,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAChG,SAAS;QACT,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9D,OAAO;gBACL,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,UAAU;gBACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO;gBACL,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC;QACJ,CAAC;QACD,SAAS,EAAE,kBAAkB;KAC9B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../../../src/providers/pi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,WAAW,EAAsB,MAAM,aAAa,CAAC;AA2BhF,wBAAgB,gBAAgB,IAAI,WAAW,CAiB9C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { parsePiEvent } from "../events/provider-events.js";
|
|
2
|
+
import { SpawnedProvider } from "./spawned-provider.js";
|
|
3
|
+
function resolveConfig(context) {
|
|
4
|
+
return context.runtimeConfig.pi ?? {};
|
|
5
|
+
}
|
|
6
|
+
function buildArgs(context) {
|
|
7
|
+
const config = resolveConfig(context);
|
|
8
|
+
const args = ["--mode", "json", "-p"];
|
|
9
|
+
if (context.sessionId) {
|
|
10
|
+
args.push("--session", context.sessionId);
|
|
11
|
+
}
|
|
12
|
+
const model = context.model;
|
|
13
|
+
if (model) {
|
|
14
|
+
args.push("--model", model);
|
|
15
|
+
}
|
|
16
|
+
if (config.mode === "yolo") {
|
|
17
|
+
args.push("--auto-approve");
|
|
18
|
+
}
|
|
19
|
+
if (config.thinking) {
|
|
20
|
+
args.push("--thinking", config.thinking);
|
|
21
|
+
}
|
|
22
|
+
return args;
|
|
23
|
+
}
|
|
24
|
+
export function createPiProvider() {
|
|
25
|
+
return new SpawnedProvider({
|
|
26
|
+
runtimeAgent: "pi",
|
|
27
|
+
defaultCommand: "pi-ai",
|
|
28
|
+
capabilities: new Set(["session-resume", "text-stream", "callback", "websocket"]),
|
|
29
|
+
buildArgs,
|
|
30
|
+
resolveCommand: (context) => ({
|
|
31
|
+
command: resolveConfig(context).command ?? "pi-ai",
|
|
32
|
+
}),
|
|
33
|
+
buildEnv: (context) => {
|
|
34
|
+
const config = resolveConfig(context);
|
|
35
|
+
return {
|
|
36
|
+
...(config.env ?? {}),
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
parseLine: parsePiEvent,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=pi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi.js","sourceRoot":"","sources":["../../../../src/providers/pi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,SAAS,aAAa,CAAC,OAA2B;IAChD,OAAO,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,OAA2B;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,eAAe,CAAC;QACzB,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,OAAO;QACvB,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACjF,SAAS;QACT,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO;SACnD,CAAC;QACF,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO;gBACL,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;aACtB,CAAC;QACJ,CAAC;QACD,SAAS,EAAE,YAAY;KACxB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/providers/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA6BnD,wBAAgB,6BAA6B,IAAI,gBAAgB,CAEhE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createAcpProvider } from "./acp.js";
|
|
2
|
+
import { createClaudeCodeProvider } from "./claude-code.js";
|
|
3
|
+
import { createCodexProvider } from "./codex.js";
|
|
4
|
+
import { createOpenCodeProvider } from "./opencode.js";
|
|
5
|
+
import { createPiProvider } from "./pi.js";
|
|
6
|
+
const providers = [
|
|
7
|
+
createClaudeCodeProvider(),
|
|
8
|
+
createCodexProvider(),
|
|
9
|
+
createOpenCodeProvider(),
|
|
10
|
+
createPiProvider(),
|
|
11
|
+
createAcpProvider(),
|
|
12
|
+
];
|
|
13
|
+
class BuiltInProviderRegistry {
|
|
14
|
+
byName = new Map(providers.map((provider) => [provider.runtimeAgent, provider]));
|
|
15
|
+
get(name) {
|
|
16
|
+
return this.byName.get(name);
|
|
17
|
+
}
|
|
18
|
+
list() {
|
|
19
|
+
return providers;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export function createBuiltInProviderRegistry() {
|
|
23
|
+
return new BuiltInProviderRegistry();
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/providers/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,SAAS,GAAG;IAChB,wBAAwB,EAAE;IAC1B,mBAAmB,EAAE;IACrB,sBAAsB,EAAE;IACxB,gBAAgB,EAAE;IAClB,iBAAiB,EAAE;CACsB,CAAC;AAE5C,MAAM,uBAAuB;IACV,MAAM,GAAG,IAAI,GAAG,CAC/B,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAC/D,CAAC;IAEF,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAuB,CAAC,CAAC;IAClD,CAAC;IAED,IAAI;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO,IAAI,uBAAuB,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { UniProvider, UniProviderContext, UniProviderEvent, UniProviderResult, UniRuntimeAgent, UniProviderCapability } from "../types.js";
|
|
2
|
+
export type SpawnedProviderProfile = {
|
|
3
|
+
runtimeAgent: UniRuntimeAgent;
|
|
4
|
+
defaultCommand: string;
|
|
5
|
+
capabilities: ReadonlySet<UniProviderCapability>;
|
|
6
|
+
buildArgs: (context: UniProviderContext, prompt: string) => string[];
|
|
7
|
+
promptTransport?: "stdin" | "none";
|
|
8
|
+
resolveCommand?: (context: UniProviderContext) => {
|
|
9
|
+
command: string;
|
|
10
|
+
extraArgs?: string[];
|
|
11
|
+
};
|
|
12
|
+
buildEnv?: (context: UniProviderContext) => NodeJS.ProcessEnv;
|
|
13
|
+
parseLine: (line: string) => UniProviderEvent[];
|
|
14
|
+
};
|
|
15
|
+
export declare class SpawnedProvider implements UniProvider {
|
|
16
|
+
private readonly profile;
|
|
17
|
+
readonly runtimeAgent: UniRuntimeAgent;
|
|
18
|
+
readonly capabilities: ReadonlySet<UniProviderCapability>;
|
|
19
|
+
constructor(profile: SpawnedProviderProfile);
|
|
20
|
+
run(context: UniProviderContext, emit: (event: UniProviderEvent) => Promise<void>): Promise<UniProviderResult>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=spawned-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawned-provider.d.ts","sourceRoot":"","sources":["../../../../src/providers/spawned-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEhJ,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC;IACjD,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACrE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5F,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,CAAC,UAAU,CAAC;IAC9D,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,EAAE,CAAC;CACjD,CAAC;AAwBF,qBAAa,eAAgB,YAAW,WAAW;IAIrC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC;gBAE7B,OAAO,EAAE,sBAAsB;IAKtD,GAAG,CACP,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/C,OAAO,CAAC,iBAAiB,CAAC;CAgF9B"}
|