cyrus-opencode-runner 0.2.69

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.
@@ -0,0 +1,9 @@
1
+ import type { IMessageFormatter } from "cyrus-core";
2
+ export declare class OpenCodeMessageFormatter implements IMessageFormatter {
3
+ formatTodoWriteParameter(jsonContent: string): string;
4
+ formatTaskParameter(toolName: string, toolInput: unknown): string;
5
+ formatToolParameter(toolName: string, toolInput: unknown): string;
6
+ formatToolActionName(toolName: string, toolInput: unknown, _isError: boolean): string;
7
+ formatToolResult(_toolName: string, _toolInput: unknown, result: string, isError: boolean): string;
8
+ }
9
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoCpD,qBAAa,wBAAyB,YAAW,iBAAiB;IACjE,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAkCrD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM;IAiCjE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM;IAwCjE,oBAAoB,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,GACf,MAAM;IAQT,gBAAgB,CACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACd,MAAM;CAOT"}
@@ -0,0 +1,135 @@
1
+ function asObject(input) {
2
+ if (input && typeof input === "object" && !Array.isArray(input)) {
3
+ return input;
4
+ }
5
+ return null;
6
+ }
7
+ function safeStringify(input) {
8
+ try {
9
+ return JSON.stringify(input);
10
+ }
11
+ catch {
12
+ return String(input);
13
+ }
14
+ }
15
+ function truncateResult(result, maxLength = 4000) {
16
+ if (result.length <= maxLength) {
17
+ return result;
18
+ }
19
+ return `${result.slice(0, maxLength)}\n\n[truncated]`;
20
+ }
21
+ function getString(input, keys) {
22
+ for (const key of keys) {
23
+ const value = input[key];
24
+ if (typeof value === "string" && value.length > 0) {
25
+ return value;
26
+ }
27
+ }
28
+ return null;
29
+ }
30
+ export class OpenCodeMessageFormatter {
31
+ formatTodoWriteParameter(jsonContent) {
32
+ try {
33
+ const parsed = JSON.parse(jsonContent);
34
+ if (!parsed || !Array.isArray(parsed.todos)) {
35
+ return jsonContent;
36
+ }
37
+ return parsed.todos
38
+ .map((todo) => {
39
+ const status = typeof todo.status === "string"
40
+ ? todo.status.toLowerCase()
41
+ : "pending";
42
+ const content = typeof todo.content === "string"
43
+ ? todo.content
44
+ : typeof todo.description === "string"
45
+ ? todo.description
46
+ : "";
47
+ const marker = status === "completed" ? "[x]" : "[ ]";
48
+ const suffix = status === "in_progress"
49
+ ? " (in progress)"
50
+ : status === "pending"
51
+ ? " (pending)"
52
+ : "";
53
+ return `- ${marker} ${content}${suffix}`.trim();
54
+ })
55
+ .join("\n");
56
+ }
57
+ catch {
58
+ return jsonContent;
59
+ }
60
+ }
61
+ formatTaskParameter(toolName, toolInput) {
62
+ if (typeof toolInput === "string") {
63
+ return toolInput;
64
+ }
65
+ const input = asObject(toolInput);
66
+ if (!input) {
67
+ return safeStringify(toolInput);
68
+ }
69
+ if (toolName === "TaskList") {
70
+ return "List all tasks";
71
+ }
72
+ const taskId = getString(input, ["taskId", "id"]) || "";
73
+ const subject = getString(input, ["subject", "description", "title"]) || "";
74
+ const status = getString(input, ["status"]) || "";
75
+ if (toolName === "TaskCreate") {
76
+ return subject || "Create task";
77
+ }
78
+ if (toolName === "TaskUpdate") {
79
+ return [taskId ? `Task #${taskId}` : "Task", status, subject]
80
+ .filter(Boolean)
81
+ .join(" ");
82
+ }
83
+ if (toolName === "TaskGet" && taskId) {
84
+ return subject ? `Task #${taskId}: ${subject}` : `Task #${taskId}`;
85
+ }
86
+ return safeStringify(toolInput);
87
+ }
88
+ formatToolParameter(toolName, toolInput) {
89
+ if (typeof toolInput === "string") {
90
+ if (toolName.toLowerCase() === "todowrite") {
91
+ return this.formatTodoWriteParameter(toolInput);
92
+ }
93
+ return toolInput;
94
+ }
95
+ const input = asObject(toolInput);
96
+ if (!input) {
97
+ return safeStringify(toolInput);
98
+ }
99
+ if (toolName.toLowerCase() === "todowrite") {
100
+ return this.formatTodoWriteParameter(safeStringify(toolInput));
101
+ }
102
+ const command = getString(input, ["command", "cmd"]);
103
+ if (command) {
104
+ return command;
105
+ }
106
+ const filePath = getString(input, ["file_path", "filePath", "path"]);
107
+ if (filePath) {
108
+ return filePath;
109
+ }
110
+ const url = getString(input, ["url"]);
111
+ if (url) {
112
+ return url;
113
+ }
114
+ const pattern = getString(input, ["pattern", "query"]);
115
+ if (pattern) {
116
+ return pattern;
117
+ }
118
+ return safeStringify(toolInput);
119
+ }
120
+ formatToolActionName(toolName, toolInput, _isError) {
121
+ const input = asObject(toolInput);
122
+ const description = input
123
+ ? getString(input, ["description", "title"])
124
+ : null;
125
+ return description ? `${toolName} (${description})` : toolName;
126
+ }
127
+ formatToolResult(_toolName, _toolInput, result, isError) {
128
+ const normalized = truncateResult(result || "No output");
129
+ if (isError) {
130
+ return `\`\`\`\n${normalized}\n\`\`\``;
131
+ }
132
+ return normalized;
133
+ }
134
+ }
135
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { OpenCodeMessageFormatter } from "./formatter.js";
2
+ export { OpenCodeRunner } from "./OpenCodeRunner.js";
3
+ export { SimpleOpenCodeRunner } from "./SimpleOpenCodeRunner.js";
4
+ export type { OpenCodeJsonEvent, OpenCodeRunnerConfig, OpenCodeRunnerEvents, OpenCodeSessionInfo, } from "./types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACX,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export { OpenCodeMessageFormatter } from "./formatter.js";
2
+ export { OpenCodeRunner } from "./OpenCodeRunner.js";
3
+ export { SimpleOpenCodeRunner } from "./SimpleOpenCodeRunner.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,83 @@
1
+ import type { AgentRunnerConfig, AgentSessionInfo, SDKMessage } from "cyrus-core";
2
+ export type OpenCodeJsonEvent = OpenCodeStepStartEvent | OpenCodeTextEvent | OpenCodeToolUseEvent | OpenCodeStepFinishEvent;
3
+ export interface OpenCodeRunnerConfig extends AgentRunnerConfig {
4
+ /** Path to opencode CLI binary (defaults to `opencode` in PATH). */
5
+ openCodePath?: string;
6
+ /** Title passed to `opencode run --title`. */
7
+ title?: string;
8
+ /** Optional OpenCode agent name passed with `--agent`. */
9
+ agent?: string;
10
+ /** Extra environment variables for the OpenCode child process. */
11
+ env?: Record<string, string | undefined>;
12
+ /** OpenCode CLI config/state/cache scope. Defaults to inheriting parent env. */
13
+ opencodeStateScope?: "inherit" | "shared" | "repository";
14
+ /** Stable key used when opencodeStateScope is repository. */
15
+ opencodeStateKey?: string;
16
+ /**
17
+ * Optional maximum time the OpenCode child may remain silent before it is
18
+ * terminated. Disabled by default because model requests and context
19
+ * compaction can legitimately produce no CLI output for extended periods.
20
+ * Set to 0 to explicitly disable it.
21
+ */
22
+ inactivityTimeoutMs?: number;
23
+ }
24
+ export interface OpenCodeSessionInfo extends AgentSessionInfo {
25
+ sessionId: string | null;
26
+ }
27
+ export interface OpenCodeRunnerEvents {
28
+ message: (message: SDKMessage) => void;
29
+ error: (error: Error) => void;
30
+ complete: (messages: SDKMessage[]) => void;
31
+ streamEvent: (event: OpenCodeJsonEvent) => void;
32
+ }
33
+ export interface OpenCodeStepStartEvent {
34
+ type: "step_start";
35
+ sessionID?: string;
36
+ sessionId?: string;
37
+ session_id?: string;
38
+ }
39
+ export interface OpenCodeTextEvent {
40
+ type: "text";
41
+ part?: {
42
+ text?: string;
43
+ };
44
+ }
45
+ export interface OpenCodeToolUseEvent {
46
+ type: "tool_use";
47
+ part?: {
48
+ tool?: string;
49
+ callID?: string;
50
+ callId?: string;
51
+ call_id?: string;
52
+ state?: {
53
+ status?: string;
54
+ input?: unknown;
55
+ output?: unknown;
56
+ metadata?: unknown;
57
+ error?: unknown;
58
+ };
59
+ };
60
+ }
61
+ export interface OpenCodeStepFinishEvent {
62
+ type: "step_finish";
63
+ reason?: string;
64
+ stopReason?: string;
65
+ stop_reason?: string;
66
+ result?: unknown;
67
+ output?: unknown;
68
+ message?: unknown;
69
+ cost?: number;
70
+ totalCostUSD?: number;
71
+ total_cost_usd?: number;
72
+ usage?: {
73
+ inputTokens?: number;
74
+ input_tokens?: number;
75
+ outputTokens?: number;
76
+ output_tokens?: number;
77
+ cacheReadTokens?: number;
78
+ cache_read_input_tokens?: number;
79
+ cacheWriteTokens?: number;
80
+ cache_creation_input_tokens?: number;
81
+ };
82
+ }
83
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "cyrus-opencode-runner",
3
+ "version": "0.2.69",
4
+ "description": "OpenCode CLI process wrapper for Cyrus",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/cyrusagents/cyrus.git",
8
+ "directory": "packages/opencode-runner"
9
+ },
10
+ "type": "module",
11
+ "main": "dist/index.js",
12
+ "types": "dist/index.d.ts",
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "dependencies": {
17
+ "cyrus-core": "0.2.69",
18
+ "cyrus-simple-agent-runner": "0.2.69"
19
+ },
20
+ "devDependencies": {
21
+ "@types/node": "^20.0.0",
22
+ "typescript": "^5.3.3",
23
+ "vitest": "^3.1.4"
24
+ },
25
+ "publishConfig": {
26
+ "access": "public"
27
+ },
28
+ "scripts": {
29
+ "build": "tsc",
30
+ "dev": "tsc --watch",
31
+ "test": "vitest",
32
+ "test:run": "vitest run --passWithNoTests",
33
+ "typecheck": "tsc --noEmit"
34
+ }
35
+ }