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.
- package/LICENSE +201 -0
- package/dist/OpenCodeRunner.d.ts +52 -0
- package/dist/OpenCodeRunner.d.ts.map +1 -0
- package/dist/OpenCodeRunner.js +666 -0
- package/dist/OpenCodeRunner.js.map +1 -0
- package/dist/SimpleOpenCodeRunner.d.ts +9 -0
- package/dist/SimpleOpenCodeRunner.d.ts.map +1 -0
- package/dist/SimpleOpenCodeRunner.js +137 -0
- package/dist/SimpleOpenCodeRunner.js.map +1 -0
- package/dist/config.d.ts +31 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +381 -0
- package/dist/config.js.map +1 -0
- package/dist/formatter.d.ts +9 -0
- package/dist/formatter.d.ts.map +1 -0
- package/dist/formatter.js +135 -0
- package/dist/formatter.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +83 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +35 -0
|
@@ -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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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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 @@
|
|
|
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"}
|
package/dist/types.d.ts
ADDED
|
@@ -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 @@
|
|
|
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
|
+
}
|