coding-agent-forge 0.1.1 → 1.0.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 +130 -11
- package/agent-forge.yaml +19 -0
- package/dist/agent/agent.d.ts +11 -0
- package/dist/agent/agent.d.ts.map +1 -0
- package/dist/agent/agent.js +13 -0
- package/dist/agent/agent.js.map +1 -0
- package/dist/agent/config.d.ts +15 -0
- package/dist/agent/config.d.ts.map +1 -0
- package/dist/agent/config.js +49 -0
- package/dist/agent/config.js.map +1 -0
- package/dist/agent/factories.d.ts +5 -0
- package/dist/agent/factories.d.ts.map +1 -0
- package/dist/agent/factories.js +5 -0
- package/dist/agent/factories.js.map +1 -0
- package/dist/agent/index.d.ts +10 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +6 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/team.d.ts +19 -0
- package/dist/agent/team.d.ts.map +1 -0
- package/dist/agent/team.js +81 -0
- package/dist/agent/team.js.map +1 -0
- package/dist/agent/template.d.ts +12 -0
- package/dist/agent/template.d.ts.map +1 -0
- package/dist/agent/template.js +37 -0
- package/dist/agent/template.js.map +1 -0
- package/dist/cli.js +35 -21
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +22 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -6
- package/dist/index.js.map +1 -1
- package/dist/runtime/claude.d.ts +3 -1
- package/dist/runtime/claude.d.ts.map +1 -1
- package/dist/runtime/claude.js +9 -8
- package/dist/runtime/claude.js.map +1 -1
- package/dist/runtime/codex.d.ts +1 -1
- package/dist/runtime/codex.d.ts.map +1 -1
- package/dist/runtime/codex.js +4 -15
- package/dist/runtime/codex.js.map +1 -1
- package/dist/runtime/config.d.ts +19 -12
- package/dist/runtime/config.d.ts.map +1 -1
- package/dist/runtime/config.js +55 -45
- package/dist/runtime/config.js.map +1 -1
- package/dist/runtime/format.d.ts +4 -0
- package/dist/runtime/format.d.ts.map +1 -0
- package/dist/runtime/format.js +16 -0
- package/dist/runtime/format.js.map +1 -0
- package/dist/runtime/index.d.ts +4 -4
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +2 -19
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/opencode.d.ts +1 -1
- package/dist/runtime/opencode.d.ts.map +1 -1
- package/dist/runtime/opencode.js +4 -8
- package/dist/runtime/opencode.js.map +1 -1
- package/dist/runtime/qwen.d.ts +4 -3
- package/dist/runtime/qwen.d.ts.map +1 -1
- package/dist/runtime/qwen.js +11 -8
- package/dist/runtime/qwen.js.map +1 -1
- package/dist/runtime/types.d.ts +46 -36
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/types.js +10 -0
- package/dist/runtime/types.js.map +1 -1
- package/dist/utils/object.d.ts +4 -0
- package/dist/utils/object.d.ts.map +1 -0
- package/dist/utils/object.js +17 -0
- package/dist/utils/object.js.map +1 -0
- package/package.json +10 -2
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AgentDefinitions, RuntimeThreadAgentConfig } from "./agent/config.js";
|
|
2
|
+
import type { RuntimeDefinitions, ThreadDefinitions } from "./runtime/config.js";
|
|
3
|
+
export type Config<Runtimes extends RuntimeDefinitions = RuntimeDefinitions, Threads extends ThreadDefinitions<Runtimes> = ThreadDefinitions<Runtimes>, Agents extends AgentDefinitions<keyof Threads & string> = AgentDefinitions<keyof Threads & string>> = RuntimeThreadAgentConfig<Runtimes, Threads, Agents>;
|
|
4
|
+
export declare function defineConfig<const Runtimes extends RuntimeDefinitions, const Threads extends ThreadDefinitions<Runtimes>, const Agents extends AgentDefinitions<keyof Threads & string>>(config: Config<Runtimes, Threads, Agents>): Config<Runtimes, Threads, Agents>;
|
|
5
|
+
export declare function loadConfig(...paths: string[]): Promise<Config>;
|
|
6
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGjF,MAAM,MAAM,MAAM,CAChB,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,EACxD,OAAO,SAAS,iBAAiB,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,EACzE,MAAM,SAAS,gBAAgB,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,gBAAgB,CACxE,MAAM,OAAO,GAAG,MAAM,CACvB,IACC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAExD,wBAAgB,YAAY,CAC1B,KAAK,CAAC,QAAQ,SAAS,kBAAkB,EACzC,KAAK,CAAC,OAAO,SAAS,iBAAiB,CAAC,QAAQ,CAAC,EACjD,KAAK,CAAC,MAAM,SAAS,gBAAgB,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,EAC7D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAE9E;AAED,wBAAsB,UAAU,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAepE"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { parse } from "yaml";
|
|
3
|
+
import { loadRuntimeThreadAgentConfig } from "./agent/config.js";
|
|
4
|
+
import { isPlainObject, mergePlainObjects } from "./utils/object.js";
|
|
5
|
+
export function defineConfig(config) {
|
|
6
|
+
return config;
|
|
7
|
+
}
|
|
8
|
+
export async function loadConfig(...paths) {
|
|
9
|
+
if (paths.length === 0) {
|
|
10
|
+
throw new Error("loadConfig requires at least one path");
|
|
11
|
+
}
|
|
12
|
+
let config = {};
|
|
13
|
+
for (const path of paths) {
|
|
14
|
+
const nextConfig = parse(await readFile(path, "utf8"));
|
|
15
|
+
if (!isPlainObject(nextConfig)) {
|
|
16
|
+
throw new Error(`Config file must contain an object: ${path}`);
|
|
17
|
+
}
|
|
18
|
+
config = mergePlainObjects(config, nextConfig);
|
|
19
|
+
}
|
|
20
|
+
return loadRuntimeThreadAgentConfig(config);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAoB,MAAM,mBAAmB,CAAC;AAUvF,MAAM,UAAU,YAAY,CAI1B,MAAyC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAG,KAAe;IACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,MAAM,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAY,CAAC;QAClE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export { CodexRuntime, CodexThread } from "./runtime/codex.js";
|
|
5
|
-
export { ClaudeRuntime, ClaudeThread } from "./runtime/claude.js";
|
|
6
|
-
export { QwenRuntime, QwenThread } from "./runtime/qwen.js";
|
|
7
|
-
export { OpencodeRuntime, OpencodeThread } from "./runtime/opencode.js";
|
|
8
|
-
export type { RuntimeKind, Runtime, RuntimeOptions, BaseRuntime, Thread, ThreadOptions, Record, RecordCallback, } from "./runtime/types.js";
|
|
1
|
+
export * from "./config.js";
|
|
2
|
+
export * from "./agent/index.js";
|
|
3
|
+
export * from "./runtime/index.js";
|
|
9
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export { ClaudeRuntime, ClaudeThread } from "./runtime/claude.js";
|
|
5
|
-
export { QwenRuntime, QwenThread } from "./runtime/qwen.js";
|
|
6
|
-
export { OpencodeRuntime, OpencodeThread } from "./runtime/opencode.js";
|
|
1
|
+
export * from "./config.js";
|
|
2
|
+
export * from "./agent/index.js";
|
|
3
|
+
export * from "./runtime/index.js";
|
|
7
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
|
package/dist/runtime/claude.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { BaseRuntime } from "./types.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { RecordCallback, RuntimeOptions, RuntimeRecord, Thread, ThreadOptions } from "./types.js";
|
|
3
3
|
export declare class ClaudeRuntime extends BaseRuntime<"claude"> {
|
|
4
|
+
private readonly options;
|
|
5
|
+
constructor(options?: RuntimeOptions<"claude">);
|
|
4
6
|
startThread(options?: ThreadOptions<"claude">): Promise<Thread<"claude">>;
|
|
5
7
|
}
|
|
6
8
|
export declare class ClaudeThread implements Thread<"claude"> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/runtime/claude.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/runtime/claude.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,MAAM,EACN,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,qBAAa,aAAc,SAAQ,WAAW,CAAC,QAAQ,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,cAAc,CAAC,QAAQ,CAAM;IAInE,WAAW,CAAC,OAAO,GAAE,aAAa,CAAC,QAAQ,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;CAG9E;AAED,qBAAa,YAAa,YAAW,MAAM,CAAC,QAAQ,CAAC;;IAGvC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC;IAEvD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCvF,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM;CAwB9D"}
|
package/dist/runtime/claude.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { query } from "@anthropic-ai/claude-agent-sdk";
|
|
2
2
|
import { BaseRuntime } from "./types.js";
|
|
3
|
+
import { formatValue, mergePlainObjectOptions } from "./format.js";
|
|
3
4
|
export class ClaudeRuntime extends BaseRuntime {
|
|
5
|
+
options;
|
|
6
|
+
constructor(options = {}) {
|
|
7
|
+
super();
|
|
8
|
+
this.options = options;
|
|
9
|
+
}
|
|
4
10
|
startThread(options = {}) {
|
|
5
|
-
return Promise.resolve(new ClaudeThread(options));
|
|
11
|
+
return Promise.resolve(new ClaudeThread(mergePlainObjectOptions(this.options, options)));
|
|
6
12
|
}
|
|
7
13
|
}
|
|
8
14
|
export class ClaudeThread {
|
|
@@ -11,9 +17,7 @@ export class ClaudeThread {
|
|
|
11
17
|
constructor(options) {
|
|
12
18
|
this.options = options;
|
|
13
19
|
}
|
|
14
|
-
async runStreamed(prompt, onRecord
|
|
15
|
-
process.stdout.write(`${this.recordToPrettyString(record)}\n`);
|
|
16
|
-
}) {
|
|
20
|
+
async runStreamed(prompt, onRecord) {
|
|
17
21
|
const options = { ...this.options };
|
|
18
22
|
if (this.#sessionId) {
|
|
19
23
|
delete options.continue;
|
|
@@ -31,7 +35,7 @@ export class ClaudeThread {
|
|
|
31
35
|
if ("session_id" in message && typeof message.session_id === "string") {
|
|
32
36
|
this.#sessionId = message.session_id;
|
|
33
37
|
}
|
|
34
|
-
await onRecord({ runtime: "claude", message });
|
|
38
|
+
await onRecord?.(this, { runtime: "claude", message });
|
|
35
39
|
if (message.type === "result") {
|
|
36
40
|
if (message.subtype === "success") {
|
|
37
41
|
finalResponse = message.result;
|
|
@@ -44,9 +48,6 @@ export class ClaudeThread {
|
|
|
44
48
|
return finalResponse;
|
|
45
49
|
}
|
|
46
50
|
recordToPrettyString(record) {
|
|
47
|
-
const formatValue = (value) => {
|
|
48
|
-
return typeof value === "string" ? value : JSON.stringify(value, null, 2);
|
|
49
|
-
};
|
|
50
51
|
const { message } = record;
|
|
51
52
|
switch (message.type) {
|
|
52
53
|
case "assistant":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/runtime/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/runtime/claude.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/codex.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Thread as CodexSdkThread } from "@openai/codex-sdk";
|
|
2
2
|
import { BaseRuntime } from "./types.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { RecordCallback, RuntimeRecord, RuntimeOptions, Thread, ThreadOptions } from "./types.js";
|
|
4
4
|
export declare class CodexRuntime extends BaseRuntime<"codex"> {
|
|
5
5
|
#private;
|
|
6
6
|
constructor(options?: RuntimeOptions<"codex">);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/runtime/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,IAAI,cAAc,EAE9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/runtime/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,IAAI,cAAc,EAE9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,MAAM,EACN,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAa,SAAQ,WAAW,CAAC,OAAO,CAAC;;gBAGxC,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IAK7C,WAAW,CAAC,OAAO,GAAE,aAAa,CAAC,OAAO,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CAI5E;AAED,qBAAa,WAAY,YAAW,MAAM,CAAC,OAAO,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE7C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBtF,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM;CAiE7D"}
|
package/dist/runtime/codex.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Codex, } from "@openai/codex-sdk";
|
|
2
2
|
import { BaseRuntime } from "./types.js";
|
|
3
|
+
import { formatValue, previewText } from "./format.js";
|
|
3
4
|
export class CodexRuntime extends BaseRuntime {
|
|
4
5
|
#codex;
|
|
5
6
|
constructor(options) {
|
|
@@ -16,14 +17,12 @@ export class CodexThread {
|
|
|
16
17
|
constructor(thread) {
|
|
17
18
|
this.thread = thread;
|
|
18
19
|
}
|
|
19
|
-
async runStreamed(prompt, onRecord
|
|
20
|
-
|
|
21
|
-
}) {
|
|
22
|
-
await onRecord({ runtime: "codex", input: prompt });
|
|
20
|
+
async runStreamed(prompt, onRecord) {
|
|
21
|
+
await onRecord?.(this, { runtime: "codex", input: prompt });
|
|
23
22
|
const { events } = await this.thread.runStreamed(prompt);
|
|
24
23
|
let finalResponse = "";
|
|
25
24
|
for await (const event of events) {
|
|
26
|
-
await onRecord({ runtime: "codex", event });
|
|
25
|
+
await onRecord?.(this, { runtime: "codex", event });
|
|
27
26
|
if (event.type === "item.completed" && event.item.type === "agent_message") {
|
|
28
27
|
finalResponse = event.item.text;
|
|
29
28
|
}
|
|
@@ -37,16 +36,6 @@ export class CodexThread {
|
|
|
37
36
|
return finalResponse;
|
|
38
37
|
}
|
|
39
38
|
recordToPrettyString(record) {
|
|
40
|
-
const formatValue = (value) => {
|
|
41
|
-
return typeof value === "string" ? value : JSON.stringify(value, null, 2);
|
|
42
|
-
};
|
|
43
|
-
const previewText = (text, maxLength = 240) => {
|
|
44
|
-
const trimmed = text.trim();
|
|
45
|
-
if (trimmed.length <= maxLength) {
|
|
46
|
-
return trimmed;
|
|
47
|
-
}
|
|
48
|
-
return `${trimmed.slice(0, maxLength - 3)}...`;
|
|
49
|
-
};
|
|
50
39
|
const summarizeItem = (item) => {
|
|
51
40
|
switch (item.type) {
|
|
52
41
|
case "agent_message":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/runtime/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAGN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/runtime/codex.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/config.d.ts
CHANGED
|
@@ -1,19 +1,26 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type PlainObject } from "../utils/object.js";
|
|
2
|
+
import type { Runtime, RuntimeKind, RuntimeOptions, Thread, ThreadOptions } from "./types.js";
|
|
2
3
|
export type RuntimeDefinition<K extends RuntimeKind = RuntimeKind> = {
|
|
3
|
-
[P in K]:
|
|
4
|
-
kind: P;
|
|
5
|
-
} : {
|
|
4
|
+
[P in K]: {
|
|
6
5
|
kind: P;
|
|
7
6
|
options?: RuntimeOptions<P>;
|
|
8
7
|
};
|
|
9
8
|
}[K];
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export type
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
export declare function createRuntime<K extends RuntimeKind>(runtime: RuntimeDefinition<K>): Runtime<K>;
|
|
10
|
+
export declare function startThread<K extends RuntimeKind>(runtime: Runtime<K>, options?: ThreadOptions<K>): Promise<Thread<K>>;
|
|
11
|
+
export type RuntimeDefinitions = Record<string, RuntimeDefinition>;
|
|
12
|
+
export declare function loadRuntimeDefinitions(value: object): RuntimeDefinitions;
|
|
13
|
+
export type ThreadDefinition<Runtimes extends RuntimeDefinitions = RuntimeDefinitions, RuntimeName extends keyof Runtimes & string = keyof Runtimes & string> = {
|
|
14
|
+
[Name in RuntimeName]: Runtimes[Name] extends RuntimeDefinition<infer K extends RuntimeKind> ? {
|
|
15
|
+
runtime: Name;
|
|
16
|
+
options?: ThreadOptions<K>;
|
|
17
|
+
} : never;
|
|
18
|
+
}[RuntimeName];
|
|
19
|
+
export type ThreadDefinitions<Runtimes extends RuntimeDefinitions = RuntimeDefinitions> = Record<string, ThreadDefinition<Runtimes>>;
|
|
20
|
+
export declare function loadThreadDefinitions(value: object, runtimes: RuntimeDefinitions): ThreadDefinitions;
|
|
21
|
+
export type RuntimeThreadConfig<Runtimes extends RuntimeDefinitions = RuntimeDefinitions, Threads extends ThreadDefinitions<Runtimes> = ThreadDefinitions<Runtimes>> = {
|
|
22
|
+
runtimes: Runtimes;
|
|
23
|
+
threads: Threads;
|
|
17
24
|
};
|
|
18
|
-
export declare function
|
|
25
|
+
export declare function loadRuntimeThreadConfig(config: PlainObject): RuntimeThreadConfig;
|
|
19
26
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAe9F,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;KAClE,CAAC,IAAI,CAAC,GAAG;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;KAAE;CACnD,CAAC,CAAC,CAAC,CAAC;AAEL,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE9F;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAEpB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAEnE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAwBxE;AAED,MAAM,MAAM,gBAAgB,CAC1B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,EACxD,WAAW,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACnE;KACD,IAAI,IAAI,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,iBAAiB,CAAC,MAAM,CAAC,SAAS,WAAW,CAAC,GACxF;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;KAAE,GAC7C,KAAK;CACV,CAAC,WAAW,CAAC,CAAC;AAEf,MAAM,MAAM,iBAAiB,CAAC,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,IAAI,MAAM,CAC9F,MAAM,EACN,gBAAgB,CAAC,QAAQ,CAAC,CAC3B,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,kBAAkB,GAC3B,iBAAiB,CA2BnB;AAED,MAAM,MAAM,mBAAmB,CAC7B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,EACxD,OAAO,SAAS,iBAAiB,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IACvE;IACF,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,CAYhF"}
|
package/dist/runtime/config.js
CHANGED
|
@@ -1,65 +1,75 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
merged[key] =
|
|
16
|
-
isPlainObject(existing) && isPlainObject(value) ? mergeObjects(existing, value) : value;
|
|
17
|
-
}
|
|
18
|
-
return merged;
|
|
1
|
+
import { ClaudeRuntime } from "./claude.js";
|
|
2
|
+
import { CodexRuntime } from "./codex.js";
|
|
3
|
+
import { OpencodeRuntime } from "./opencode.js";
|
|
4
|
+
import { QwenRuntime } from "./qwen.js";
|
|
5
|
+
import { isPlainObject } from "../utils/object.js";
|
|
6
|
+
import { isRuntimeKind, runtimeKinds } from "./types.js";
|
|
7
|
+
const runtimeFactoryMap = {
|
|
8
|
+
codex: (options) => new CodexRuntime(options),
|
|
9
|
+
claude: (options) => new ClaudeRuntime(options),
|
|
10
|
+
qwen: (options) => new QwenRuntime(options),
|
|
11
|
+
opencode: (options) => new OpencodeRuntime(options),
|
|
12
|
+
};
|
|
13
|
+
export function createRuntime(runtime) {
|
|
14
|
+
return runtimeFactoryMap[runtime.kind](runtime.options);
|
|
19
15
|
}
|
|
20
|
-
function
|
|
21
|
-
return
|
|
16
|
+
export function startThread(runtime, options) {
|
|
17
|
+
return runtime.startThread(options);
|
|
22
18
|
}
|
|
23
|
-
export
|
|
24
|
-
if (
|
|
25
|
-
throw new Error("
|
|
26
|
-
}
|
|
27
|
-
let config = {};
|
|
28
|
-
for (const path of paths) {
|
|
29
|
-
const nextConfig = parse(await readFile(path, "utf8"));
|
|
30
|
-
if (!isPlainObject(nextConfig)) {
|
|
31
|
-
throw new Error(`Config file must contain an object: ${path}`);
|
|
32
|
-
}
|
|
33
|
-
config = mergeObjects(config, nextConfig);
|
|
34
|
-
}
|
|
35
|
-
if (!isPlainObject(config.runtimes)) {
|
|
36
|
-
throw new Error("Config must define a runtimes object");
|
|
37
|
-
}
|
|
38
|
-
if (!isPlainObject(config.threads)) {
|
|
39
|
-
throw new Error("Config must define a threads object");
|
|
40
|
-
}
|
|
41
|
-
if (Object.keys(config.threads).length === 0) {
|
|
42
|
-
throw new Error("Config must define at least one thread");
|
|
19
|
+
export function loadRuntimeDefinitions(value) {
|
|
20
|
+
if (Object.keys(value).length === 0) {
|
|
21
|
+
throw new Error("Config must define at least one runtime");
|
|
43
22
|
}
|
|
44
|
-
|
|
23
|
+
const runtimes = {};
|
|
24
|
+
for (const [name, runtime] of Object.entries(value)) {
|
|
45
25
|
if (!isPlainObject(runtime)) {
|
|
46
26
|
throw new Error(`Runtime ${name} must be an object`);
|
|
47
27
|
}
|
|
48
28
|
if (!isRuntimeKind(runtime.kind)) {
|
|
49
|
-
throw new Error(`Runtime ${name} must use kind
|
|
29
|
+
throw new Error(`Runtime ${name} must use kind ${runtimeKinds.join(", ")}`);
|
|
50
30
|
}
|
|
31
|
+
const options = runtime.options;
|
|
32
|
+
if (options !== undefined && !isPlainObject(options)) {
|
|
33
|
+
throw new Error(`Runtime ${name} options must be an object`);
|
|
34
|
+
}
|
|
35
|
+
runtimes[name] =
|
|
36
|
+
options === undefined ? { kind: runtime.kind } : { kind: runtime.kind, options };
|
|
37
|
+
}
|
|
38
|
+
return runtimes;
|
|
39
|
+
}
|
|
40
|
+
export function loadThreadDefinitions(value, runtimes) {
|
|
41
|
+
if (Object.keys(value).length === 0) {
|
|
42
|
+
throw new Error("Config must define at least one thread");
|
|
51
43
|
}
|
|
52
|
-
|
|
44
|
+
const threads = {};
|
|
45
|
+
for (const [name, thread] of Object.entries(value)) {
|
|
53
46
|
if (!isPlainObject(thread)) {
|
|
54
47
|
throw new Error(`Thread ${name} must be an object`);
|
|
55
48
|
}
|
|
56
49
|
if (typeof thread.runtime !== "string") {
|
|
57
50
|
throw new Error(`Thread ${name} must define a runtime`);
|
|
58
51
|
}
|
|
59
|
-
if (!
|
|
52
|
+
if (!Object.hasOwn(runtimes, thread.runtime)) {
|
|
60
53
|
throw new Error(`Unknown runtime for thread ${name}: ${thread.runtime}`);
|
|
61
54
|
}
|
|
55
|
+
const options = thread.options;
|
|
56
|
+
if (options !== undefined && !isPlainObject(options)) {
|
|
57
|
+
throw new Error(`Thread ${name} options must be an object`);
|
|
58
|
+
}
|
|
59
|
+
threads[name] =
|
|
60
|
+
options === undefined ? { runtime: thread.runtime } : { runtime: thread.runtime, options };
|
|
61
|
+
}
|
|
62
|
+
return threads;
|
|
63
|
+
}
|
|
64
|
+
export function loadRuntimeThreadConfig(config) {
|
|
65
|
+
if (!isPlainObject(config.runtimes)) {
|
|
66
|
+
throw new Error("Config must define a runtimes object");
|
|
67
|
+
}
|
|
68
|
+
if (!isPlainObject(config.threads)) {
|
|
69
|
+
throw new Error("Config must define a threads object");
|
|
62
70
|
}
|
|
63
|
-
|
|
71
|
+
const runtimes = loadRuntimeDefinitions(config.runtimes);
|
|
72
|
+
const threads = loadThreadDefinitions(config.threads, runtimes);
|
|
73
|
+
return { runtimes, threads };
|
|
64
74
|
}
|
|
65
75
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function formatValue(value: unknown): string;
|
|
2
|
+
export declare function previewText(text: string, maxLength?: number): string;
|
|
3
|
+
export declare function mergePlainObjectOptions<T extends object>(base: T, override: T): T;
|
|
4
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/runtime/format.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOlD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAGjE;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAKjF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { mergePlainObjects } from "../utils/object.js";
|
|
2
|
+
export function formatValue(value) {
|
|
3
|
+
if (typeof value === "string") {
|
|
4
|
+
return value;
|
|
5
|
+
}
|
|
6
|
+
const serialized = JSON.stringify(value, null, 2);
|
|
7
|
+
return serialized ?? String(value);
|
|
8
|
+
}
|
|
9
|
+
export function previewText(text, maxLength = 240) {
|
|
10
|
+
const trimmed = text.trim();
|
|
11
|
+
return trimmed.length <= maxLength ? trimmed : `${trimmed.slice(0, maxLength - 3)}...`;
|
|
12
|
+
}
|
|
13
|
+
export function mergePlainObjectOptions(base, override) {
|
|
14
|
+
return mergePlainObjects(base, override);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/runtime/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAuB,CAAC;IACxE,OAAO,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,SAAS,GAAG,GAAG;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAmB,IAAO,EAAE,QAAW;IAC5E,OAAO,iBAAiB,CACtB,IAA+B,EAC/B,QAAmC,CAC/B,CAAC;AACT,CAAC"}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export
|
|
1
|
+
export type { RuntimeSpec, RuntimeKind, RuntimeOptions, ThreadOptions, RuntimeRecord, Runtime, BaseRuntime, Thread, RecordCallback, } from "./types.js";
|
|
2
|
+
export { isRuntimeKind, runtimeKinds } from "./types.js";
|
|
3
|
+
export { createRuntime, startThread, loadRuntimeDefinitions, loadThreadDefinitions, } from "./config.js";
|
|
4
|
+
export type { RuntimeDefinition, RuntimeDefinitions, ThreadDefinition, ThreadDefinitions, RuntimeThreadConfig, } from "./config.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,aAAa,EACb,aAAa,EACb,OAAO,EACP,WAAW,EACX,MAAM,EACN,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,aAAa,EACb,WAAW,EACX,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAC"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { OpencodeRuntime } from "./opencode.js";
|
|
4
|
-
import { QwenRuntime } from "./qwen.js";
|
|
5
|
-
export function createRuntime(runtime) {
|
|
6
|
-
switch (runtime.kind) {
|
|
7
|
-
case "codex":
|
|
8
|
-
return new CodexRuntime(runtime.options);
|
|
9
|
-
case "claude":
|
|
10
|
-
return new ClaudeRuntime();
|
|
11
|
-
case "qwen":
|
|
12
|
-
return new QwenRuntime();
|
|
13
|
-
case "opencode":
|
|
14
|
-
return new OpencodeRuntime(runtime.options);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export function startThread(runtime, thread) {
|
|
18
|
-
return runtime.startThread(thread.options ?? {});
|
|
19
|
-
}
|
|
1
|
+
export { isRuntimeKind, runtimeKinds } from "./types.js";
|
|
2
|
+
export { createRuntime, startThread, loadRuntimeDefinitions, loadThreadDefinitions, } from "./config.js";
|
|
20
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,aAAa,EACb,WAAW,EACX,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type OpencodeClient } from "@opencode-ai/sdk";
|
|
2
2
|
import { BaseRuntime } from "./types.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { RecordCallback, RuntimeRecord, RuntimeOptions, Thread, ThreadOptions } from "./types.js";
|
|
4
4
|
export declare class OpencodeRuntime extends BaseRuntime<"opencode"> {
|
|
5
5
|
#private;
|
|
6
6
|
constructor(options?: RuntimeOptions<"opencode">);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/runtime/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/runtime/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,MAAM,EACN,aAAa,EACd,MAAM,YAAY,CAAC;AAIpB,qBAAa,eAAgB,SAAQ,WAAW,CAAC,UAAU,CAAC;;gBAG9C,OAAO,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC;IAK1C,WAAW,CAAC,OAAO,GAAE,aAAa,CAAC,UAAU,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAUjF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B;AAED,qBAAa,cAAe,YAAW,MAAM,CAAC,UAAU,CAAC;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM;IAG9B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAuDzF,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,MAAM;CA0ChE"}
|
package/dist/runtime/opencode.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createOpencode } from "@opencode-ai/sdk";
|
|
2
2
|
import { BaseRuntime } from "./types.js";
|
|
3
|
+
import { formatValue } from "./format.js";
|
|
3
4
|
export class OpencodeRuntime extends BaseRuntime {
|
|
4
5
|
#opencode;
|
|
5
6
|
constructor(options) {
|
|
@@ -26,16 +27,14 @@ export class OpencodeThread {
|
|
|
26
27
|
this.client = client;
|
|
27
28
|
this.sessionId = sessionId;
|
|
28
29
|
}
|
|
29
|
-
async runStreamed(prompt, onRecord
|
|
30
|
-
process.stdout.write(`${this.recordToPrettyString(record)}\n`);
|
|
31
|
-
}) {
|
|
30
|
+
async runStreamed(prompt, onRecord) {
|
|
32
31
|
const request = {
|
|
33
32
|
path: { id: this.sessionId },
|
|
34
33
|
body: {
|
|
35
34
|
parts: [{ type: "text", text: prompt }],
|
|
36
35
|
},
|
|
37
36
|
};
|
|
38
|
-
await onRecord({ runtime: "opencode", request: prompt });
|
|
37
|
+
await onRecord?.(this, { runtime: "opencode", request: prompt });
|
|
39
38
|
const { stream } = await this.client.event.subscribe({
|
|
40
39
|
throwOnError: true,
|
|
41
40
|
});
|
|
@@ -45,7 +44,7 @@ export class OpencodeThread {
|
|
|
45
44
|
});
|
|
46
45
|
for await (const event of stream) {
|
|
47
46
|
if ("sessionID" in event.properties && event.properties.sessionID === this.sessionId) {
|
|
48
|
-
await onRecord({ runtime: "opencode", event });
|
|
47
|
+
await onRecord?.(this, { runtime: "opencode", event });
|
|
49
48
|
if (event.type === "session.error") {
|
|
50
49
|
throw new Error(event.properties.error?.name ?? "Opencode session error");
|
|
51
50
|
}
|
|
@@ -73,9 +72,6 @@ export class OpencodeThread {
|
|
|
73
72
|
.join("");
|
|
74
73
|
}
|
|
75
74
|
recordToPrettyString(record) {
|
|
76
|
-
const formatValue = (value) => {
|
|
77
|
-
return typeof value === "string" ? value : JSON.stringify(value, null, 2);
|
|
78
|
-
};
|
|
79
75
|
if ("request" in record) {
|
|
80
76
|
return `[opencode] request\n${record.request}`;
|
|
81
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/runtime/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/runtime/opencode.ts"],"names":[],"mappings":"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"}
|