@rudderhq/agent-runtime-opencode-local 0.4.3-canary.1 → 0.4.3-canary.10
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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/server/execute.d.ts.map +1 -1
- package/dist/server/execute.js +163 -18
- package/dist/server/execute.js.map +1 -1
- package/dist/server/parse.d.ts +33 -0
- package/dist/server/parse.d.ts.map +1 -1
- package/dist/server/parse.js +100 -21
- package/dist/server/parse.js.map +1 -1
- package/dist/server/parse.test.js +184 -1
- package/dist/server/parse.test.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ export declare const models: Array<{
|
|
|
4
4
|
id: string;
|
|
5
5
|
label: string;
|
|
6
6
|
}>;
|
|
7
|
-
export declare const agentConfigurationDoc = "# opencode_local agent configuration\n\nAdapter: opencode_local\n\nUse when:\n- You want Rudder to run OpenCode locally as the agent runtime\n- You want provider/model routing in OpenCode format (provider/model)\n- You want OpenCode session resume across heartbeats via --session\n\nDon't use when:\n- You need webhook-style external invocation (use openclaw_gateway or http)\n- You only need one-shot shell commands (use process)\n- OpenCode CLI is not installed on the machine\n\nCore fields:\n- cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)\n- instructionsFilePath (string, optional): absolute path to a markdown role/persona instructions file such as SOUL.md; Rudder's shared operating contract is prepended separately at runtime\n- model (string, required): OpenCode model id in provider/model format (for example opencode/deepseek-v4-flash-free)\n- modelFallbacks (array, optional): ordered fallback attempts as { agentRuntimeType, model, config? }; each may use a different runtime/provider\n- variant (string, optional): provider-specific model variant (for example minimal|low|medium|high|max)\n- dangerouslySkipPermissions (boolean, optional): pass --dangerously-skip-permissions to opencode\n- promptTemplate (string, optional): run prompt template\n- command (string, optional): defaults to \"opencode\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): SIGTERM grace period in seconds\n\nNotes:\n- OpenCode supports multiple providers and models. Use `opencode models` to list available options in provider/model format.\n- Rudder requires an explicit `model` value for `opencode_local` agents.\n- OpenCode runs keep HOME/USERPROFILE on the operator home for normal local CLI auth and host tooling state; RUDDER_OPERATOR_HOME records the same boundary.\n- OpenCode CLI currently exposes plugin loading but no verified skills-directory allowlist. Rudder points OPENCODE_CONFIG and OpenCode XDG state at sanitized adapter-managed runtime state, links selected skills into a Rudder-managed OpenCode sidecar, then injects only those selected SKILL.md files into the prompt.\n- Operator-home Claude/OpenCode skill directories are not used as Rudder runtime skill sources, and operator HOME does not authorize provider-native, project, global, stale, or unselected skills to become Rudder-loaded skills.\n- Runs are executed with: opencode run --format json --dir <cwd> ...\n- Sessions are resumed with --session when stored session cwd matches current cwd.\n- dangerouslySkipPermissions is opt-in for OpenCode. New OpenCode agents do not inherit the global Claude-oriented dangerous permission default unless this field is explicitly true.\n- A zero-exit OpenCode run that writes files but emits no final text is marked degraded instead of reported as an empty successful Rudder result.\n";
|
|
7
|
+
export declare const agentConfigurationDoc = "# opencode_local agent configuration\n\nAdapter: opencode_local\n\nUse when:\n- You want Rudder to run OpenCode locally as the agent runtime\n- You want provider/model routing in OpenCode format (provider/model)\n- You want OpenCode session resume across heartbeats via --session\n\nDon't use when:\n- You need webhook-style external invocation (use openclaw_gateway or http)\n- You only need one-shot shell commands (use process)\n- OpenCode CLI is not installed on the machine\n\nCore fields:\n- cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)\n- instructionsFilePath (string, optional): absolute path to a markdown role/persona instructions file such as SOUL.md; Rudder's shared operating contract is prepended separately at runtime\n- model (string, required): OpenCode model id in provider/model format (for example opencode/deepseek-v4-flash-free)\n- modelFallbacks (array, optional): ordered fallback attempts as { agentRuntimeType, model, config? }; each may use a different runtime/provider\n- variant (string, optional): provider-specific model variant (for example minimal|low|medium|high|max)\n- dangerouslySkipPermissions (boolean, optional): pass --dangerously-skip-permissions to opencode\n- promptTemplate (string, optional): run prompt template\n- command (string, optional): defaults to \"opencode\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): SIGTERM grace period in seconds\n\nNotes:\n- OpenCode supports multiple providers and models. Use `opencode models` to list available options in provider/model format.\n- Rudder requires an explicit `model` value for `opencode_local` agents.\n- OpenCode runs keep HOME/USERPROFILE on the operator home for normal local CLI auth and host tooling state; RUDDER_OPERATOR_HOME records the same boundary.\n- OpenCode CLI currently exposes plugin loading but no verified skills-directory allowlist. Rudder points OPENCODE_CONFIG and OpenCode XDG state at sanitized adapter-managed runtime state, links selected skills into a Rudder-managed OpenCode sidecar, then injects only those selected SKILL.md files into the prompt.\n- Operator-home Claude/OpenCode skill directories are not used as Rudder runtime skill sources, and operator HOME does not authorize provider-native, project, global, stale, or unselected skills to become Rudder-loaded skills.\n- Runs are executed with: opencode run --pure --format json --dir <cwd> ...\n- Rudder writes a first-party rudder-control-plane MCP server into the adapter-managed OpenCode config for runtime control-plane work.\n- Sessions are resumed with --session when stored session cwd matches current cwd.\n- dangerouslySkipPermissions is opt-in for OpenCode. New OpenCode agents do not inherit the global Claude-oriented dangerous permission default unless this field is explicitly true.\n- A zero-exit OpenCode run that writes files but emits no final text is marked degraded instead of reported as an empty successful Rudder result.\n";
|
|
8
8
|
//# 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,eAAO,MAAM,IAAI,mBAAmB,CAAC;AACrC,eAAO,MAAM,KAAK,qBAAqB,CAAC;AAExC,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC;AAE/D,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,mBAAmB,CAAC;AACrC,eAAO,MAAM,KAAK,qBAAqB,CAAC;AAExC,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC;AAE/D,eAAO,MAAM,qBAAqB,ioGA0CjC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -38,7 +38,8 @@ Notes:
|
|
|
38
38
|
- OpenCode runs keep HOME/USERPROFILE on the operator home for normal local CLI auth and host tooling state; RUDDER_OPERATOR_HOME records the same boundary.
|
|
39
39
|
- OpenCode CLI currently exposes plugin loading but no verified skills-directory allowlist. Rudder points OPENCODE_CONFIG and OpenCode XDG state at sanitized adapter-managed runtime state, links selected skills into a Rudder-managed OpenCode sidecar, then injects only those selected SKILL.md files into the prompt.
|
|
40
40
|
- Operator-home Claude/OpenCode skill directories are not used as Rudder runtime skill sources, and operator HOME does not authorize provider-native, project, global, stale, or unselected skills to become Rudder-loaded skills.
|
|
41
|
-
- Runs are executed with: opencode run --format json --dir <cwd> ...
|
|
41
|
+
- Runs are executed with: opencode run --pure --format json --dir <cwd> ...
|
|
42
|
+
- Rudder writes a first-party rudder-control-plane MCP server into the adapter-managed OpenCode config for runtime control-plane work.
|
|
42
43
|
- Sessions are resumed with --session when stored session cwd matches current cwd.
|
|
43
44
|
- dangerouslySkipPermissions is opt-in for OpenCode. New OpenCode agents do not inherit the global Claude-oriented dangerous permission default unless this field is explicitly true.
|
|
44
45
|
- A zero-exit OpenCode run that writes files but emits no final text is marked degraded instead of reported as an empty successful Rudder result.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,gBAAgB,CAAC;AACrC,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAC;AAExC,MAAM,CAAC,MAAM,MAAM,GAAyC,EAAE,CAAC;AAE/D,MAAM,CAAC,MAAM,qBAAqB,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,gBAAgB,CAAC;AACrC,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAC;AAExC,MAAM,CAAC,MAAM,MAAM,GAAyC,EAAE,CAAC;AAE/D,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAEjC,MAAM,+BAA+B,CAAC;AAyWvC,wBAAsB,OAAO,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAqiBrG"}
|
package/dist/server/execute.js
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
import { inferOpenAiCompatibleBiller } from "@rudderhq/agent-runtime-utils";
|
|
1
|
+
import { RUDDER_MCP_MANAGED_ENV_KEYS, RUDDER_MCP_SERVER_NAME, inferOpenAiCompatibleBiller, pickRudderMcpManagedEnv, rudderMcpRuntimeMetadata, } from "@rudderhq/agent-runtime-utils";
|
|
2
2
|
import { applyGitCredentialHelperPolicyEnv, applyGitIdentityPreparationEnv, ensureGitIdentityFileConfig } from "@rudderhq/agent-runtime-utils/git-identity";
|
|
3
|
+
import { resolveRudderMcpCliCommand } from "@rudderhq/agent-runtime-utils/rudder-mcp-server";
|
|
3
4
|
import { asBoolean, asNumber, asString, asStringArray, buildRudderEnv, ensureAbsoluteDirectory, ensureCommandResolvable, ensurePathInEnv, ensureRudderCliInPath, ensureRudderSkillSymlink, joinPromptSections, loadAgentInstructionsPrefix, parseObject, prepareAgentInstructionRuntimeContext, pruneLegacyLocalCliCredentialHomeEntries, readRudderRuntimeSkillEntries, redactEnvForLogs, removeUnselectedRudderSkillSymlinks, renderTemplate, resolveLocalOperatorHome, resolveRudderDesiredSkillNames, runChildProcess, selectPromptTemplate, shouldIncludeRuntimeHeartbeatInstructions, } from "@rudderhq/agent-runtime-utils/server-utils";
|
|
4
5
|
import fs from "node:fs/promises";
|
|
5
6
|
import os from "node:os";
|
|
6
7
|
import path from "node:path";
|
|
7
8
|
import { fileURLToPath } from "node:url";
|
|
8
9
|
import { validateOpenCodeModelConfig } from "./models.js";
|
|
9
|
-
import { isOpenCodeUnknownSessionError, parseOpenCodeJsonl } from "./parse.js";
|
|
10
|
+
import { isOpenCodeUnknownSessionError, parseOpenCodeJsonl, parseOpenCodeJsonlLine } from "./parse.js";
|
|
10
11
|
import { resolveManagedOpenCodeHomeDir } from "./skills.js";
|
|
11
12
|
const __moduleDir = path.dirname(fileURLToPath(import.meta.url));
|
|
12
13
|
const OPENCODE_PROTECTED_ENV_KEYS = new Set([
|
|
13
14
|
"AGENT_HOME",
|
|
14
15
|
"HOME",
|
|
15
16
|
"OPENCODE_CONFIG",
|
|
17
|
+
"OPENCODE_CONFIG_CONTENT",
|
|
18
|
+
"OPENCODE_CONFIG_DIR",
|
|
16
19
|
"OPENCODE_DISABLE_CLAUDE_CODE",
|
|
17
20
|
"OPENCODE_DISABLE_CLAUDE_CODE_PROMPT",
|
|
18
21
|
"OPENCODE_DISABLE_CLAUDE_CODE_SKILLS",
|
|
22
|
+
...RUDDER_MCP_MANAGED_ENV_KEYS,
|
|
19
23
|
"RUDDER_AGENT_ROOT",
|
|
20
24
|
"RUDDER_OPERATOR_HOME",
|
|
21
25
|
"USERPROFILE",
|
|
@@ -23,6 +27,10 @@ const OPENCODE_PROTECTED_ENV_KEYS = new Set([
|
|
|
23
27
|
"XDG_CONFIG_HOME",
|
|
24
28
|
"XDG_DATA_HOME",
|
|
25
29
|
]);
|
|
30
|
+
const OPENCODE_INHERITED_ENV_BLOCKLIST = new Set([
|
|
31
|
+
"OPENCODE_CONFIG_CONTENT",
|
|
32
|
+
"OPENCODE_CONFIG_DIR",
|
|
33
|
+
]);
|
|
26
34
|
const SHARED_OPENCODE_HOME_ENTRIES = [
|
|
27
35
|
".local/share/opencode",
|
|
28
36
|
".cache/opencode",
|
|
@@ -31,6 +39,8 @@ const OPENCODE_CONFIG_FILE_CANDIDATES = ["opencode.json", "opencode.jsonc"];
|
|
|
31
39
|
const MANAGED_OPENCODE_CONFIG_FILE = "opencode.json";
|
|
32
40
|
const OPENCODE_PROMPT_FILE_MESSAGE = "Follow the attached Rudder runtime prompt file exactly.";
|
|
33
41
|
const CHAT_MODE_DEFAULT_TIMEOUT_SEC = 60;
|
|
42
|
+
const DEFAULT_STARTUP_IDLE_TIMEOUT_SEC = 90;
|
|
43
|
+
const DEFAULT_TOOL_LOOP_IDLE_TIMEOUT_SEC = 90;
|
|
34
44
|
const SAFE_OPENCODE_STRING_CONFIG_KEYS = [
|
|
35
45
|
"$schema",
|
|
36
46
|
"model",
|
|
@@ -167,6 +177,19 @@ async function readOpenCodeConfigFile(sourceHome) {
|
|
|
167
177
|
}
|
|
168
178
|
return sanitizeOpenCodeConfig({});
|
|
169
179
|
}
|
|
180
|
+
async function resolveRudderOpenCodeMcpConfig(managedEnv = {}) {
|
|
181
|
+
const rudderMcp = await resolveRudderMcpCliCommand(__moduleDir);
|
|
182
|
+
const env = {
|
|
183
|
+
...(rudderMcp.env ?? {}),
|
|
184
|
+
...managedEnv,
|
|
185
|
+
};
|
|
186
|
+
return {
|
|
187
|
+
type: "local",
|
|
188
|
+
command: [rudderMcp.command, ...rudderMcp.args],
|
|
189
|
+
enabled: true,
|
|
190
|
+
...(Object.keys(env).length > 0 ? { environment: env } : {}),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
170
193
|
async function ensureManagedOpenCodeConfig(input) {
|
|
171
194
|
const configDir = path.join(input.targetHome, ".config", "opencode");
|
|
172
195
|
const existing = await fs.lstat(configDir).catch(() => null);
|
|
@@ -176,7 +199,11 @@ async function ensureManagedOpenCodeConfig(input) {
|
|
|
176
199
|
await fs.mkdir(configDir, { recursive: true });
|
|
177
200
|
await removeManagedOpenCodeConfigExtensions(configDir);
|
|
178
201
|
const config = await readOpenCodeConfigFile(input.sourceHome);
|
|
179
|
-
|
|
202
|
+
config.mcp = {
|
|
203
|
+
[RUDDER_MCP_SERVER_NAME]: await resolveRudderOpenCodeMcpConfig(input.managedEnv ?? {}),
|
|
204
|
+
};
|
|
205
|
+
await fs.writeFile(path.join(configDir, MANAGED_OPENCODE_CONFIG_FILE), `${JSON.stringify(config, null, 2)}\n`, { encoding: "utf8", mode: 0o600 });
|
|
206
|
+
await fs.chmod(path.join(configDir, MANAGED_OPENCODE_CONFIG_FILE), 0o600);
|
|
180
207
|
await input.onLog("stdout", `[rudder] Wrote sanitized OpenCode config into adapter-managed runtime state ${configDir}.\n`);
|
|
181
208
|
}
|
|
182
209
|
function resolveSharedOpenCodeHomeDir(env) {
|
|
@@ -185,7 +212,7 @@ function resolveSharedOpenCodeHomeDir(env) {
|
|
|
185
212
|
function resolveManagedOpenCodeSkillsDir(homeDir) {
|
|
186
213
|
return path.join(homeDir, ".claude", "skills");
|
|
187
214
|
}
|
|
188
|
-
async function prepareManagedOpenCodeHome(env, operatorHome, onLog, orgId) {
|
|
215
|
+
async function prepareManagedOpenCodeHome(env, operatorHome, onLog, orgId, managedEnv = {}) {
|
|
189
216
|
const sourceHome = path.resolve(operatorHome);
|
|
190
217
|
const targetHome = resolveManagedOpenCodeHomeDir({ env }, orgId);
|
|
191
218
|
if (targetHome === sourceHome)
|
|
@@ -199,7 +226,7 @@ async function prepareManagedOpenCodeHome(env, operatorHome, onLog, orgId) {
|
|
|
199
226
|
continue;
|
|
200
227
|
await ensureSymlink(path.join(targetHome, relativeEntry), source);
|
|
201
228
|
}
|
|
202
|
-
await ensureManagedOpenCodeConfig({ sourceHome, targetHome, onLog });
|
|
229
|
+
await ensureManagedOpenCodeConfig({ sourceHome, targetHome, managedEnv, onLog });
|
|
203
230
|
await onLog("stdout", `[rudder] Using adapter-managed OpenCode runtime state "${targetHome}" with operator HOME "${sourceHome}".\n`);
|
|
204
231
|
return targetHome;
|
|
205
232
|
}
|
|
@@ -278,7 +305,6 @@ export async function execute(ctx) {
|
|
|
278
305
|
const cwd = effectiveWorkspaceCwd || configuredCwd || process.cwd();
|
|
279
306
|
await ensureAbsoluteDirectory(cwd, { createIfMissing: true });
|
|
280
307
|
const envConfig = parseObject(config.env);
|
|
281
|
-
const hasExplicitApiKey = typeof envConfig.RUDDER_API_KEY === "string" && envConfig.RUDDER_API_KEY.trim().length > 0;
|
|
282
308
|
const env = { ...buildRudderEnv(agent) };
|
|
283
309
|
env.RUDDER_RUN_ID = runId;
|
|
284
310
|
const wakeTaskId = (typeof context.taskId === "string" && context.taskId.trim().length > 0 && context.taskId.trim()) ||
|
|
@@ -349,7 +375,9 @@ export async function execute(ctx) {
|
|
|
349
375
|
}
|
|
350
376
|
const sourceEnv = { ...process.env };
|
|
351
377
|
const operatorHome = resolveLocalOperatorHome(sourceEnv);
|
|
352
|
-
|
|
378
|
+
if (authToken)
|
|
379
|
+
env.RUDDER_API_KEY = authToken;
|
|
380
|
+
const managedHome = await prepareManagedOpenCodeHome({ ...sourceEnv, ...env }, operatorHome, onLog, agent.orgId, pickRudderMcpManagedEnv(env));
|
|
353
381
|
const preparedGitIdentity = await ensureGitIdentityFileConfig({
|
|
354
382
|
cwd,
|
|
355
383
|
home: managedHome,
|
|
@@ -366,9 +394,6 @@ export async function execute(ctx) {
|
|
|
366
394
|
env.XDG_CONFIG_HOME = path.join(managedHome, ".config");
|
|
367
395
|
env.XDG_DATA_HOME = path.join(managedHome, ".local", "share");
|
|
368
396
|
env.XDG_CACHE_HOME = path.join(managedHome, ".cache");
|
|
369
|
-
if (!hasExplicitApiKey && authToken) {
|
|
370
|
-
env.RUDDER_API_KEY = authToken;
|
|
371
|
-
}
|
|
372
397
|
applyGitIdentityPreparationEnv(env, preparedGitIdentity);
|
|
373
398
|
applyGitCredentialHelperPolicyEnv(env);
|
|
374
399
|
const openCodeSkillEntries = await readRudderRuntimeSkillEntries(config, __moduleDir);
|
|
@@ -390,6 +415,16 @@ export async function execute(ctx) {
|
|
|
390
415
|
const selectedSkillPrompt = await renderSelectedOpenCodeSkillPrompt(onLog, managedOpenCodeSkillsDir, selectedOpenCodeSkillEntries);
|
|
391
416
|
const runtimeEnv = Object.fromEntries(Object.entries(ensurePathInEnv(await ensureRudderCliInPath(__moduleDir, { ...process.env, ...env })))
|
|
392
417
|
.filter((entry) => typeof entry[1] === "string"));
|
|
418
|
+
for (const key of OPENCODE_INHERITED_ENV_BLOCKLIST) {
|
|
419
|
+
delete runtimeEnv[key];
|
|
420
|
+
}
|
|
421
|
+
for (const key of RUDDER_MCP_MANAGED_ENV_KEYS) {
|
|
422
|
+
const value = env[key];
|
|
423
|
+
if (typeof value === "string" && value.trim().length > 0)
|
|
424
|
+
runtimeEnv[key] = value;
|
|
425
|
+
else
|
|
426
|
+
delete runtimeEnv[key];
|
|
427
|
+
}
|
|
393
428
|
await ensureCommandResolvable(command, cwd, runtimeEnv);
|
|
394
429
|
validateOpenCodeModelConfig({ model });
|
|
395
430
|
const configuredTimeoutSec = asNumber(config.timeoutSec, 0);
|
|
@@ -423,19 +458,25 @@ export async function execute(ctx) {
|
|
|
423
458
|
const instructionsPrefix = loadedInstructions.prefix;
|
|
424
459
|
const instructionsDir = loadedInstructions.instructionsDir;
|
|
425
460
|
const commandNotes = (() => {
|
|
461
|
+
const rudderMcpNote = "Configured first-party Rudder MCP tools for OpenCode.";
|
|
426
462
|
if (!resolvedInstructionsFilePath) {
|
|
427
463
|
return [
|
|
428
464
|
...loadedInstructions.commandNotes,
|
|
465
|
+
rudderMcpNote,
|
|
429
466
|
"Prepended Rudder operating contract to stdin prompt.",
|
|
430
467
|
];
|
|
431
468
|
}
|
|
432
469
|
if (instructionsPrefix.length > 0) {
|
|
433
470
|
return [
|
|
434
471
|
...loadedInstructions.commandNotes,
|
|
472
|
+
rudderMcpNote,
|
|
435
473
|
`Prepended instructions + path directive to stdin prompt (relative references from ${instructionsDir}).`,
|
|
436
474
|
];
|
|
437
475
|
}
|
|
438
|
-
return
|
|
476
|
+
return [
|
|
477
|
+
...loadedInstructions.commandNotes,
|
|
478
|
+
rudderMcpNote,
|
|
479
|
+
];
|
|
439
480
|
})();
|
|
440
481
|
/**
|
|
441
482
|
* Final prompt assembly order is intentional and shared across runtimes:
|
|
@@ -505,6 +546,8 @@ export async function execute(ctx) {
|
|
|
505
546
|
const timeoutSec = hasChatModeTimeoutFallback
|
|
506
547
|
? CHAT_MODE_DEFAULT_TIMEOUT_SEC
|
|
507
548
|
: configuredTimeoutSec;
|
|
549
|
+
const toolLoopIdleTimeoutSec = Math.max(1, asNumber(config.toolLoopIdleTimeoutSec, asNumber(env.RUDDER_OPENCODE_TOOL_LOOP_IDLE_TIMEOUT_SEC, DEFAULT_TOOL_LOOP_IDLE_TIMEOUT_SEC)));
|
|
550
|
+
const startupIdleTimeoutSec = Math.max(1, asNumber(config.startupIdleTimeoutSec, asNumber(env.RUDDER_OPENCODE_STARTUP_IDLE_TIMEOUT_SEC, DEFAULT_STARTUP_IDLE_TIMEOUT_SEC)));
|
|
508
551
|
const effectiveCommandNotes = hasChatModeTimeoutFallback
|
|
509
552
|
? [
|
|
510
553
|
...commandNotes,
|
|
@@ -512,7 +555,7 @@ export async function execute(ctx) {
|
|
|
512
555
|
]
|
|
513
556
|
: commandNotes;
|
|
514
557
|
const buildArgs = (resumeSessionId, redactPromptFile) => {
|
|
515
|
-
const args = ["run", "--format", "json", "--dir", cwd];
|
|
558
|
+
const args = ["run", "--pure", "--format", "json", "--dir", cwd];
|
|
516
559
|
if (!useStdinPrompt)
|
|
517
560
|
args.push(OPENCODE_PROMPT_FILE_MESSAGE);
|
|
518
561
|
if (resumeSessionId)
|
|
@@ -546,9 +589,88 @@ export async function execute(ctx) {
|
|
|
546
589
|
loadedSkills,
|
|
547
590
|
realizedSkills: loadedSkills,
|
|
548
591
|
promptInjectedSkills: loadedSkills,
|
|
592
|
+
rudderMcp: rudderMcpRuntimeMetadata(),
|
|
549
593
|
context,
|
|
550
594
|
});
|
|
551
595
|
}
|
|
596
|
+
let stdoutBuffer = "";
|
|
597
|
+
let sawTerminalContent = false;
|
|
598
|
+
let sawTerminalCompletionSummary = false;
|
|
599
|
+
let stoppedAfterTerminalText = false;
|
|
600
|
+
let stoppedAfterToolLoopIdle = false;
|
|
601
|
+
let stoppedAfterStartupIdle = false;
|
|
602
|
+
const terminalStopController = new AbortController();
|
|
603
|
+
let startupIdleTimer = null;
|
|
604
|
+
let toolLoopIdleTimer = null;
|
|
605
|
+
const clearStartupIdleTimer = () => {
|
|
606
|
+
if (!startupIdleTimer)
|
|
607
|
+
return;
|
|
608
|
+
clearTimeout(startupIdleTimer);
|
|
609
|
+
startupIdleTimer = null;
|
|
610
|
+
};
|
|
611
|
+
const clearToolLoopIdleTimer = () => {
|
|
612
|
+
if (!toolLoopIdleTimer)
|
|
613
|
+
return;
|
|
614
|
+
clearTimeout(toolLoopIdleTimer);
|
|
615
|
+
toolLoopIdleTimer = null;
|
|
616
|
+
};
|
|
617
|
+
const armToolLoopIdleTimer = () => {
|
|
618
|
+
clearToolLoopIdleTimer();
|
|
619
|
+
toolLoopIdleTimer = setTimeout(() => {
|
|
620
|
+
stoppedAfterToolLoopIdle = true;
|
|
621
|
+
if (!terminalStopController.signal.aborted)
|
|
622
|
+
terminalStopController.abort();
|
|
623
|
+
}, toolLoopIdleTimeoutSec * 1000);
|
|
624
|
+
};
|
|
625
|
+
startupIdleTimer = setTimeout(() => {
|
|
626
|
+
stoppedAfterStartupIdle = true;
|
|
627
|
+
if (!terminalStopController.signal.aborted)
|
|
628
|
+
terminalStopController.abort();
|
|
629
|
+
}, startupIdleTimeoutSec * 1000);
|
|
630
|
+
const abortSignals = [
|
|
631
|
+
ctx.abortSignal,
|
|
632
|
+
terminalStopController.signal,
|
|
633
|
+
].filter((signal) => Boolean(signal));
|
|
634
|
+
const combinedAbortSignal = abortSignals.length > 0
|
|
635
|
+
? AbortSignal.any(abortSignals)
|
|
636
|
+
: undefined;
|
|
637
|
+
const bufferedOnLog = async (stream, chunk) => {
|
|
638
|
+
if (stream !== "stdout") {
|
|
639
|
+
await onLog(stream, chunk);
|
|
640
|
+
return;
|
|
641
|
+
}
|
|
642
|
+
stdoutBuffer += chunk;
|
|
643
|
+
const lines = stdoutBuffer.split(/\r?\n/);
|
|
644
|
+
stdoutBuffer = lines.pop() ?? "";
|
|
645
|
+
for (const line of lines) {
|
|
646
|
+
const parsedLine = parseOpenCodeJsonlLine(line.trim());
|
|
647
|
+
if (parsedLine)
|
|
648
|
+
clearStartupIdleTimer();
|
|
649
|
+
if (parsedLine?.type === "assistantText" && parsedLine.text.trim().length > 0) {
|
|
650
|
+
sawTerminalContent = true;
|
|
651
|
+
}
|
|
652
|
+
const sawCompletionSummary = parsedLine?.type === "syntheticText" &&
|
|
653
|
+
parsedLine.completion &&
|
|
654
|
+
parsedLine.text.trim().length > 0;
|
|
655
|
+
if (parsedLine && parsedLine.type !== "other")
|
|
656
|
+
clearToolLoopIdleTimer();
|
|
657
|
+
if (sawCompletionSummary) {
|
|
658
|
+
sawTerminalCompletionSummary = true;
|
|
659
|
+
}
|
|
660
|
+
if (parsedLine?.type === "toolCallsStepFinish") {
|
|
661
|
+
armToolLoopIdleTimer();
|
|
662
|
+
}
|
|
663
|
+
if (parsedLine?.type === "terminalStop" && sawTerminalContent && !terminalStopController.signal.aborted) {
|
|
664
|
+
stoppedAfterTerminalText = true;
|
|
665
|
+
terminalStopController.abort();
|
|
666
|
+
}
|
|
667
|
+
if (parsedLine?.type === "terminalStop" && sawTerminalCompletionSummary && !terminalStopController.signal.aborted) {
|
|
668
|
+
stoppedAfterTerminalText = true;
|
|
669
|
+
terminalStopController.abort();
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
await onLog(stream, chunk);
|
|
673
|
+
};
|
|
552
674
|
const proc = await runChildProcess(runId, command, args, {
|
|
553
675
|
cwd,
|
|
554
676
|
env: runtimeEnv,
|
|
@@ -556,13 +678,22 @@ export async function execute(ctx) {
|
|
|
556
678
|
graceSec,
|
|
557
679
|
stdin: useStdinPrompt ? prompt : undefined,
|
|
558
680
|
onSpawn,
|
|
559
|
-
abortSignal:
|
|
560
|
-
onLog,
|
|
681
|
+
abortSignal: combinedAbortSignal,
|
|
682
|
+
onLog: bufferedOnLog,
|
|
683
|
+
})
|
|
684
|
+
.finally(() => {
|
|
685
|
+
clearStartupIdleTimer();
|
|
686
|
+
clearToolLoopIdleTimer();
|
|
561
687
|
});
|
|
562
688
|
return {
|
|
563
|
-
proc
|
|
689
|
+
proc: stoppedAfterTerminalText && !proc.timedOut && proc.signal === "SIGTERM"
|
|
690
|
+
? { ...proc, exitCode: 0, signal: null }
|
|
691
|
+
: proc,
|
|
564
692
|
rawStderr: proc.stderr,
|
|
565
693
|
parsed: parseOpenCodeJsonl(proc.stdout),
|
|
694
|
+
stoppedAfterTerminalText,
|
|
695
|
+
stoppedAfterToolLoopIdle,
|
|
696
|
+
stoppedAfterStartupIdle,
|
|
566
697
|
};
|
|
567
698
|
};
|
|
568
699
|
const toResult = (attempt, clearSessionOnMissingSession = false) => {
|
|
@@ -589,11 +720,22 @@ export async function execute(ctx) {
|
|
|
589
720
|
const stderrLine = firstNonEmptyLine(attempt.proc.stderr);
|
|
590
721
|
const rawExitCode = attempt.proc.exitCode;
|
|
591
722
|
const parsedError = typeof attempt.parsed.errorMessage === "string" ? attempt.parsed.errorMessage.trim() : "";
|
|
723
|
+
const parsedSummary = attempt.parsed.summary.trim() || attempt.parsed.completionSummary?.trim() || "";
|
|
724
|
+
const startupIdle = attempt.stoppedAfterStartupIdle === true;
|
|
725
|
+
const toolLoopIdle = attempt.stoppedAfterToolLoopIdle === true;
|
|
592
726
|
const missingFinalSummary = !parsedError &&
|
|
727
|
+
!startupIdle &&
|
|
728
|
+
!toolLoopIdle &&
|
|
593
729
|
(rawExitCode ?? 0) === 0 &&
|
|
594
|
-
|
|
595
|
-
const synthesizedExitCode = (parsedError || missingFinalSummary) && (rawExitCode ?? 0) === 0 ? 1 : rawExitCode;
|
|
730
|
+
parsedSummary.length === 0;
|
|
731
|
+
const synthesizedExitCode = (parsedError || missingFinalSummary || startupIdle || toolLoopIdle) && (rawExitCode ?? 0) === 0 ? 1 : rawExitCode;
|
|
596
732
|
const fallbackErrorMessage = parsedError ||
|
|
733
|
+
(startupIdle
|
|
734
|
+
? `OpenCode stopped after ${startupIdleTimeoutSec}s without emitting JSON output.`
|
|
735
|
+
: "") ||
|
|
736
|
+
(toolLoopIdle
|
|
737
|
+
? `OpenCode stopped after ${toolLoopIdleTimeoutSec}s without continuing after a Rudder tool-call step.`
|
|
738
|
+
: "") ||
|
|
597
739
|
(missingFinalSummary
|
|
598
740
|
? "OpenCode completed without a final text summary; Rudder requires final text to persist a trustworthy run result."
|
|
599
741
|
: "") ||
|
|
@@ -605,6 +747,7 @@ export async function execute(ctx) {
|
|
|
605
747
|
signal: attempt.proc.signal,
|
|
606
748
|
timedOut: false,
|
|
607
749
|
errorMessage: (synthesizedExitCode ?? 0) === 0 ? null : fallbackErrorMessage,
|
|
750
|
+
errorCode: startupIdle ? "opencode_startup_idle" : toolLoopIdle ? "opencode_tool_loop_idle" : null,
|
|
608
751
|
usage: {
|
|
609
752
|
inputTokens: attempt.parsed.usage.inputTokens,
|
|
610
753
|
outputTokens: attempt.parsed.usage.outputTokens,
|
|
@@ -622,8 +765,10 @@ export async function execute(ctx) {
|
|
|
622
765
|
stdout: attempt.proc.stdout,
|
|
623
766
|
stderr: attempt.proc.stderr,
|
|
624
767
|
...(missingFinalSummary ? { summaryStatus: "missing_final_text" } : {}),
|
|
768
|
+
...(startupIdle ? { summaryStatus: "startup_idle", stoppedAfterStartupIdle: true } : {}),
|
|
769
|
+
...(toolLoopIdle ? { summaryStatus: "tool_loop_idle", stoppedAfterToolLoopIdle: true } : {}),
|
|
625
770
|
},
|
|
626
|
-
summary:
|
|
771
|
+
summary: parsedSummary || ((synthesizedExitCode ?? 0) === 0 ? "" : fallbackErrorMessage),
|
|
627
772
|
clearSession: Boolean(clearSessionOnMissingSession && !attempt.parsed.sessionId),
|
|
628
773
|
};
|
|
629
774
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
|
package/dist/server/parse.d.ts
CHANGED
|
@@ -8,6 +8,39 @@ export declare function parseOpenCodeJsonl(stdout: string): {
|
|
|
8
8
|
};
|
|
9
9
|
costUsd: number;
|
|
10
10
|
errorMessage: string | null;
|
|
11
|
+
terminalStop: boolean;
|
|
12
|
+
completionSummary: string | null;
|
|
11
13
|
};
|
|
14
|
+
export type OpenCodeJsonlLine = {
|
|
15
|
+
type: "assistantText";
|
|
16
|
+
text: string;
|
|
17
|
+
event: Record<string, unknown>;
|
|
18
|
+
} | {
|
|
19
|
+
type: "syntheticText";
|
|
20
|
+
text: string;
|
|
21
|
+
completion: boolean;
|
|
22
|
+
event: Record<string, unknown>;
|
|
23
|
+
} | {
|
|
24
|
+
type: "terminalStop";
|
|
25
|
+
event: Record<string, unknown>;
|
|
26
|
+
} | {
|
|
27
|
+
type: "stepFinish";
|
|
28
|
+
event: Record<string, unknown>;
|
|
29
|
+
} | {
|
|
30
|
+
type: "toolCallsStepFinish";
|
|
31
|
+
event: Record<string, unknown>;
|
|
32
|
+
} | {
|
|
33
|
+
type: "toolUseError";
|
|
34
|
+
text: string;
|
|
35
|
+
event: Record<string, unknown>;
|
|
36
|
+
} | {
|
|
37
|
+
type: "error";
|
|
38
|
+
text: string;
|
|
39
|
+
event: Record<string, unknown>;
|
|
40
|
+
} | {
|
|
41
|
+
type: "other";
|
|
42
|
+
event: Record<string, unknown>;
|
|
43
|
+
};
|
|
44
|
+
export declare function parseOpenCodeJsonlLine(line: string): OpenCodeJsonlLine | null;
|
|
12
45
|
export declare function isOpenCodeUnknownSessionError(stdout: string, stderr: string): boolean;
|
|
13
46
|
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/server/parse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/server/parse.ts"],"names":[],"mappings":"AA6DA,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;EAyEhD;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC5F;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAEtD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAwC7E;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAUrF"}
|
package/dist/server/parse.js
CHANGED
|
@@ -23,6 +23,38 @@ function errorText(value) {
|
|
|
23
23
|
return "";
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
+
function isOpenCodeContinuationSummaryText(text) {
|
|
27
|
+
if (text.startsWith("## Goal\n") &&
|
|
28
|
+
text.includes("\n## Constraints & Preferences\n") &&
|
|
29
|
+
text.includes("\n## Progress\n") &&
|
|
30
|
+
text.includes("\n## Next Steps\n") &&
|
|
31
|
+
text.includes("\n## Critical Context\n")) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
return (text.startsWith("## Goal\n") &&
|
|
35
|
+
text.includes("\n## Progress\n") &&
|
|
36
|
+
text.includes("\n## Critical Context\n") &&
|
|
37
|
+
text.includes("\n## Relevant Files\n"));
|
|
38
|
+
}
|
|
39
|
+
function isOpenCodeCompletionContinuationText(text) {
|
|
40
|
+
if (!isOpenCodeContinuationSummaryText(text))
|
|
41
|
+
return false;
|
|
42
|
+
const progressSection = text.split("\n## Progress\n")[1]?.split(/\n## [^\n]+\n/)[0] ?? "";
|
|
43
|
+
const nextStepsSection = text.split("\n## Next Steps\n")[1]?.split(/\n## [^\n]+\n/)[0] ?? "";
|
|
44
|
+
const lower = `${progressSection}\n${nextStepsSection}`.toLowerCase();
|
|
45
|
+
return (/\btask complete\b/.test(lower) ||
|
|
46
|
+
/\bcomplete[d]?\b/.test(lower) && /\bcalled\b.*\brudder_/.test(lower) ||
|
|
47
|
+
/\bin progress\s*\n-\s*\(none\)/.test(lower) && /\bcalled\b.*\brudder_/.test(lower));
|
|
48
|
+
}
|
|
49
|
+
function isOpenCodeSyntheticContinuationText(text, part) {
|
|
50
|
+
const metadata = parseObject(part.metadata);
|
|
51
|
+
if (part.synthetic === true || metadata.compaction_continue === true)
|
|
52
|
+
return true;
|
|
53
|
+
return isOpenCodeContinuationSummaryText(text);
|
|
54
|
+
}
|
|
55
|
+
function isOpenCodeProviderToolCallText(text) {
|
|
56
|
+
return /^<tool_call>\s*<function=[\s\S]*<\/function>\s*<\/tool_call>$/.test(text.trim());
|
|
57
|
+
}
|
|
26
58
|
export function parseOpenCodeJsonl(stdout) {
|
|
27
59
|
let sessionId = null;
|
|
28
60
|
const messages = [];
|
|
@@ -33,25 +65,35 @@ export function parseOpenCodeJsonl(stdout) {
|
|
|
33
65
|
outputTokens: 0,
|
|
34
66
|
};
|
|
35
67
|
let costUsd = 0;
|
|
68
|
+
let terminalStop = false;
|
|
69
|
+
let completionSummary = null;
|
|
36
70
|
for (const rawLine of stdout.split(/\r?\n/)) {
|
|
37
71
|
const line = rawLine.trim();
|
|
38
72
|
if (!line)
|
|
39
73
|
continue;
|
|
40
|
-
const
|
|
41
|
-
if (!
|
|
74
|
+
const parsedLine = parseOpenCodeJsonlLine(line);
|
|
75
|
+
if (!parsedLine)
|
|
42
76
|
continue;
|
|
77
|
+
const { event } = parsedLine;
|
|
43
78
|
const currentSessionId = asString(event.sessionID, "").trim();
|
|
44
79
|
if (currentSessionId)
|
|
45
80
|
sessionId = currentSessionId;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const text = asString(part.text, "").trim();
|
|
50
|
-
if (text)
|
|
51
|
-
messages.push(text);
|
|
81
|
+
if (parsedLine.type === "assistantText") {
|
|
82
|
+
if (parsedLine.text)
|
|
83
|
+
messages.push(parsedLine.text);
|
|
52
84
|
continue;
|
|
53
85
|
}
|
|
54
|
-
if (type === "
|
|
86
|
+
if (parsedLine.type === "syntheticText") {
|
|
87
|
+
if (parsedLine.completion && parsedLine.text)
|
|
88
|
+
completionSummary = parsedLine.text;
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
if (parsedLine.type === "terminalStop") {
|
|
92
|
+
terminalStop = true;
|
|
93
|
+
}
|
|
94
|
+
if (parsedLine.type === "stepFinish" ||
|
|
95
|
+
parsedLine.type === "toolCallsStepFinish" ||
|
|
96
|
+
parsedLine.type === "terminalStop") {
|
|
55
97
|
const part = parseObject(event.part);
|
|
56
98
|
const tokens = parseObject(part.tokens);
|
|
57
99
|
const cache = parseObject(tokens.cache);
|
|
@@ -61,20 +103,14 @@ export function parseOpenCodeJsonl(stdout) {
|
|
|
61
103
|
costUsd += asNumber(part.cost, 0);
|
|
62
104
|
continue;
|
|
63
105
|
}
|
|
64
|
-
if (type === "
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (asString(state.status, "") === "error") {
|
|
68
|
-
const text = asString(state.error, "").trim();
|
|
69
|
-
if (text)
|
|
70
|
-
errors.push(text);
|
|
71
|
-
}
|
|
106
|
+
if (parsedLine.type === "toolUseError") {
|
|
107
|
+
if (parsedLine.text)
|
|
108
|
+
errors.push(parsedLine.text);
|
|
72
109
|
continue;
|
|
73
110
|
}
|
|
74
|
-
if (type === "error") {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
errors.push(text);
|
|
111
|
+
if (parsedLine.type === "error") {
|
|
112
|
+
if (parsedLine.text)
|
|
113
|
+
errors.push(parsedLine.text);
|
|
78
114
|
continue;
|
|
79
115
|
}
|
|
80
116
|
}
|
|
@@ -84,8 +120,51 @@ export function parseOpenCodeJsonl(stdout) {
|
|
|
84
120
|
usage,
|
|
85
121
|
costUsd,
|
|
86
122
|
errorMessage: errors.length > 0 ? errors.join("\n") : null,
|
|
123
|
+
terminalStop,
|
|
124
|
+
completionSummary,
|
|
87
125
|
};
|
|
88
126
|
}
|
|
127
|
+
export function parseOpenCodeJsonlLine(line) {
|
|
128
|
+
const event = parseJson(line);
|
|
129
|
+
if (!event || typeof event !== "object" || Array.isArray(event))
|
|
130
|
+
return null;
|
|
131
|
+
const record = event;
|
|
132
|
+
const type = asString(record.type, "");
|
|
133
|
+
if (type === "text") {
|
|
134
|
+
const part = parseObject(record.part);
|
|
135
|
+
const text = asString(part.text, "").trim();
|
|
136
|
+
const synthetic = isOpenCodeSyntheticContinuationText(text, part);
|
|
137
|
+
if (isOpenCodeProviderToolCallText(text))
|
|
138
|
+
return { type: "other", event: record };
|
|
139
|
+
return synthetic
|
|
140
|
+
? { type: "syntheticText", text, completion: isOpenCodeCompletionContinuationText(text), event: record }
|
|
141
|
+
: { type: "assistantText", text, event: record };
|
|
142
|
+
}
|
|
143
|
+
if (type === "step_finish") {
|
|
144
|
+
const part = parseObject(record.part);
|
|
145
|
+
const reason = asString(part.reason, "");
|
|
146
|
+
if (reason === "stop")
|
|
147
|
+
return { type: "terminalStop", event: record };
|
|
148
|
+
if (reason === "tool-calls")
|
|
149
|
+
return { type: "toolCallsStepFinish", event: record };
|
|
150
|
+
return { type: "stepFinish", event: record };
|
|
151
|
+
}
|
|
152
|
+
if (type === "tool_use") {
|
|
153
|
+
const part = parseObject(record.part);
|
|
154
|
+
const state = parseObject(part.state);
|
|
155
|
+
if (asString(state.status, "") === "error") {
|
|
156
|
+
const text = asString(state.error, "").trim();
|
|
157
|
+
if (text)
|
|
158
|
+
return { type: "toolUseError", text, event: record };
|
|
159
|
+
}
|
|
160
|
+
return { type: "other", event: record };
|
|
161
|
+
}
|
|
162
|
+
if (type === "error") {
|
|
163
|
+
const text = errorText(record.error ?? record.message).trim();
|
|
164
|
+
return { type: "error", text, event: record };
|
|
165
|
+
}
|
|
166
|
+
return { type: "other", event: record };
|
|
167
|
+
}
|
|
89
168
|
export function isOpenCodeUnknownSessionError(stdout, stderr) {
|
|
90
169
|
const haystack = `${stdout}\n${stderr}`
|
|
91
170
|
.split(/\r?\n/)
|
package/dist/server/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/server/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAExG,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG;QACZ,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;QACpB,YAAY,EAAE,CAAC;KAChB,CAAC;IACF,IAAI,OAAO,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/server/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { isOpenCodeUnknownSessionError, parseOpenCodeJsonl } from "./parse.js";
|
|
2
|
+
import { isOpenCodeUnknownSessionError, parseOpenCodeJsonl, parseOpenCodeJsonlLine } from "./parse.js";
|
|
3
3
|
describe("parseOpenCodeJsonl", () => {
|
|
4
4
|
it("parses assistant text, usage, cost, and errors", () => {
|
|
5
5
|
const stdout = [
|
|
@@ -39,6 +39,189 @@ describe("parseOpenCodeJsonl", () => {
|
|
|
39
39
|
expect(parsed.costUsd).toBeCloseTo(0.0025, 6);
|
|
40
40
|
expect(parsed.errorMessage).toContain("model unavailable");
|
|
41
41
|
});
|
|
42
|
+
it("filters synthetic compaction text and detects terminal stop", () => {
|
|
43
|
+
const synthetic = JSON.stringify({
|
|
44
|
+
type: "text",
|
|
45
|
+
sessionID: "session_123",
|
|
46
|
+
part: {
|
|
47
|
+
type: "text",
|
|
48
|
+
metadata: { compaction_continue: true },
|
|
49
|
+
synthetic: true,
|
|
50
|
+
text: "Continue if you have next steps, or stop and ask for clarification if you are unsure how to proceed.",
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
const stdout = [
|
|
54
|
+
JSON.stringify({
|
|
55
|
+
type: "text",
|
|
56
|
+
sessionID: "session_123",
|
|
57
|
+
part: { type: "text", text: "final answer" },
|
|
58
|
+
}),
|
|
59
|
+
JSON.stringify({
|
|
60
|
+
type: "step_finish",
|
|
61
|
+
sessionID: "session_123",
|
|
62
|
+
part: {
|
|
63
|
+
reason: "stop",
|
|
64
|
+
cost: 0,
|
|
65
|
+
tokens: { input: 1, output: 2, reasoning: 0, cache: { read: 0, write: 0 } },
|
|
66
|
+
},
|
|
67
|
+
}),
|
|
68
|
+
synthetic,
|
|
69
|
+
].join("\n");
|
|
70
|
+
const parsed = parseOpenCodeJsonl(stdout);
|
|
71
|
+
expect(parsed.summary).toBe("final answer");
|
|
72
|
+
expect(parsed.terminalStop).toBe(true);
|
|
73
|
+
expect(parseOpenCodeJsonlLine(synthetic)?.type).toBe("syntheticText");
|
|
74
|
+
});
|
|
75
|
+
it("filters OpenCode compaction summary text without explicit synthetic metadata", () => {
|
|
76
|
+
const stdout = [
|
|
77
|
+
JSON.stringify({
|
|
78
|
+
type: "text",
|
|
79
|
+
sessionID: "session_123",
|
|
80
|
+
part: {
|
|
81
|
+
type: "text",
|
|
82
|
+
text: [
|
|
83
|
+
"## Goal",
|
|
84
|
+
"- Keep going.",
|
|
85
|
+
"",
|
|
86
|
+
"## Progress",
|
|
87
|
+
"### Done",
|
|
88
|
+
"- Read prompt.",
|
|
89
|
+
"",
|
|
90
|
+
"## Critical Context",
|
|
91
|
+
"- Internal state.",
|
|
92
|
+
"",
|
|
93
|
+
"## Relevant Files",
|
|
94
|
+
"- /tmp/prompt.md",
|
|
95
|
+
].join("\n"),
|
|
96
|
+
},
|
|
97
|
+
}),
|
|
98
|
+
JSON.stringify({
|
|
99
|
+
type: "text",
|
|
100
|
+
sessionID: "session_123",
|
|
101
|
+
part: { type: "text", text: "{\"path\":\"mcp\",\"tools\":[\"rudder_agent_me\"],\"note\":\"ok\"}" },
|
|
102
|
+
}),
|
|
103
|
+
].join("\n");
|
|
104
|
+
const parsed = parseOpenCodeJsonl(stdout);
|
|
105
|
+
expect(parsed.summary).toBe("{\"path\":\"mcp\",\"tools\":[\"rudder_agent_me\"],\"note\":\"ok\"}");
|
|
106
|
+
});
|
|
107
|
+
it("ignores provider-emitted XML tool call text as assistant final text", () => {
|
|
108
|
+
const toolCallText = [
|
|
109
|
+
"<tool_call>",
|
|
110
|
+
"<function=read>",
|
|
111
|
+
"<parameter=filePath>/tmp/rudder-prompt.md</parameter>",
|
|
112
|
+
"</function>",
|
|
113
|
+
"</tool_call>",
|
|
114
|
+
].join("\n");
|
|
115
|
+
const stdout = [
|
|
116
|
+
JSON.stringify({
|
|
117
|
+
type: "text",
|
|
118
|
+
sessionID: "session_123",
|
|
119
|
+
part: { type: "text", text: toolCallText },
|
|
120
|
+
}),
|
|
121
|
+
JSON.stringify({
|
|
122
|
+
type: "text",
|
|
123
|
+
sessionID: "session_123",
|
|
124
|
+
part: { type: "text", text: "final answer" },
|
|
125
|
+
}),
|
|
126
|
+
].join("\n");
|
|
127
|
+
expect(parseOpenCodeJsonlLine(JSON.stringify({
|
|
128
|
+
type: "text",
|
|
129
|
+
part: { type: "text", text: toolCallText },
|
|
130
|
+
}))?.type).toBe("other");
|
|
131
|
+
expect(parseOpenCodeJsonl(stdout).summary).toBe("final answer");
|
|
132
|
+
});
|
|
133
|
+
it("filters OpenCode continuation summaries that include constraints and next steps", () => {
|
|
134
|
+
const summary = [
|
|
135
|
+
"## Goal",
|
|
136
|
+
"- Validate Rudder runtime tools by calling `rudder_agent_me`.",
|
|
137
|
+
"",
|
|
138
|
+
"## Constraints & Preferences",
|
|
139
|
+
"- Do not use shell, Bash, curl, or rudder CLI.",
|
|
140
|
+
"",
|
|
141
|
+
"## Progress",
|
|
142
|
+
"### Done",
|
|
143
|
+
"- Read the full Rudder runtime prompt file.",
|
|
144
|
+
"",
|
|
145
|
+
"### In Progress",
|
|
146
|
+
"- Preparing to call `rudder_agent_me`.",
|
|
147
|
+
"",
|
|
148
|
+
"### Blocked",
|
|
149
|
+
"- (none)",
|
|
150
|
+
"",
|
|
151
|
+
"## Key Decisions",
|
|
152
|
+
"- (none)",
|
|
153
|
+
"",
|
|
154
|
+
"## Next Steps",
|
|
155
|
+
"1. Call `rudder_agent_me`.",
|
|
156
|
+
"",
|
|
157
|
+
"## Critical Context",
|
|
158
|
+
"- Prompt file loaded at instruction load time.",
|
|
159
|
+
"",
|
|
160
|
+
"## Relevant Files",
|
|
161
|
+
"- /tmp/rudder-prompt.md",
|
|
162
|
+
].join("\n");
|
|
163
|
+
const stdout = [
|
|
164
|
+
JSON.stringify({
|
|
165
|
+
type: "text",
|
|
166
|
+
sessionID: "session_123",
|
|
167
|
+
part: { type: "text", text: summary },
|
|
168
|
+
}),
|
|
169
|
+
JSON.stringify({
|
|
170
|
+
type: "text",
|
|
171
|
+
sessionID: "session_123",
|
|
172
|
+
part: { type: "text", text: "```json\n{\"path\":\"mcp\",\"tools\":[\"rudder_agent_me\"],\"note\":\"ok\"}\n```" },
|
|
173
|
+
}),
|
|
174
|
+
].join("\n");
|
|
175
|
+
const parsed = parseOpenCodeJsonl(stdout);
|
|
176
|
+
expect(parseOpenCodeJsonlLine(JSON.stringify({
|
|
177
|
+
type: "text",
|
|
178
|
+
part: { type: "text", text: summary },
|
|
179
|
+
}))?.type).toBe("syntheticText");
|
|
180
|
+
expect(parsed.summary).toBe("```json\n{\"path\":\"mcp\",\"tools\":[\"rudder_agent_me\"],\"note\":\"ok\"}\n```");
|
|
181
|
+
});
|
|
182
|
+
it("keeps completed OpenCode continuation summaries as fallback completion evidence", () => {
|
|
183
|
+
const summary = [
|
|
184
|
+
"## Goal",
|
|
185
|
+
"- Validate Rudder runtime tools by calling `rudder_agent_me`.",
|
|
186
|
+
"",
|
|
187
|
+
"## Constraints & Preferences",
|
|
188
|
+
"- Do not use shell, Bash, curl, or rudder CLI.",
|
|
189
|
+
"",
|
|
190
|
+
"## Progress",
|
|
191
|
+
"### Done",
|
|
192
|
+
"- Called `rudder_agent_me` tool successfully.",
|
|
193
|
+
"",
|
|
194
|
+
"### In Progress",
|
|
195
|
+
"- (none)",
|
|
196
|
+
"",
|
|
197
|
+
"### Blocked",
|
|
198
|
+
"- (none)",
|
|
199
|
+
"",
|
|
200
|
+
"## Key Decisions",
|
|
201
|
+
"- (none)",
|
|
202
|
+
"",
|
|
203
|
+
"## Next Steps",
|
|
204
|
+
"- Task complete - runtime validation successful.",
|
|
205
|
+
"",
|
|
206
|
+
"## Critical Context",
|
|
207
|
+
"- 69 Rudder tools available via `rudder-control-plane`.",
|
|
208
|
+
"",
|
|
209
|
+
"## Relevant Files",
|
|
210
|
+
"- /tmp/rudder-prompt.md",
|
|
211
|
+
].join("\n");
|
|
212
|
+
const parsedLine = parseOpenCodeJsonlLine(JSON.stringify({
|
|
213
|
+
type: "text",
|
|
214
|
+
part: { type: "text", text: summary },
|
|
215
|
+
}));
|
|
216
|
+
const parsed = parseOpenCodeJsonl(JSON.stringify({
|
|
217
|
+
type: "text",
|
|
218
|
+
sessionID: "session_123",
|
|
219
|
+
part: { type: "text", text: summary },
|
|
220
|
+
}));
|
|
221
|
+
expect(parsedLine).toMatchObject({ type: "syntheticText", completion: true });
|
|
222
|
+
expect(parsed.summary).toBe("");
|
|
223
|
+
expect(parsed.completionSummary).toContain("Task complete");
|
|
224
|
+
});
|
|
42
225
|
it("detects unknown session errors", () => {
|
|
43
226
|
expect(isOpenCodeUnknownSessionError("Session not found: s_123", "")).toBe(true);
|
|
44
227
|
expect(isOpenCodeUnknownSessionError("", "unknown session id")).toBe(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.test.js","sourceRoot":"","sources":["../../src/server/parse.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.test.js","sourceRoot":"","sources":["../../src/server/parse.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderhq/agent-runtime-opencode-local",
|
|
3
|
-
"version": "0.4.3-canary.
|
|
3
|
+
"version": "0.4.3-canary.10",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"homepage": "https://github.com/Undertone0809/rudder",
|
|
6
6
|
"bugs": {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"typecheck": "tsc --noEmit"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@rudderhq/agent-runtime-utils": "0.4.3-canary.
|
|
70
|
+
"@rudderhq/agent-runtime-utils": "0.4.3-canary.10",
|
|
71
71
|
"picocolors": "^1.1.1"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|