@clemrig/flow 0.2.0 → 0.4.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.
Files changed (44) hide show
  1. package/README.md +6 -4
  2. package/dist/app/run.js +5 -1
  3. package/dist/app/run.js.map +1 -1
  4. package/dist/app/runs.d.ts +1 -1
  5. package/dist/app/runs.js +4 -5
  6. package/dist/app/runs.js.map +1 -1
  7. package/dist/engine/metrics.d.ts +17 -10
  8. package/dist/engine/metrics.js +29 -15
  9. package/dist/engine/metrics.js.map +1 -1
  10. package/dist/engine/profiles.d.ts +44 -11
  11. package/dist/engine/profiles.js +78 -78
  12. package/dist/engine/profiles.js.map +1 -1
  13. package/dist/engine/types.d.ts +10 -1
  14. package/dist/engine/workflow.d.ts +8 -3
  15. package/dist/engine/workflow.js +58 -3
  16. package/dist/engine/workflow.js.map +1 -1
  17. package/dist/index.d.ts +3 -3
  18. package/dist/index.js +2 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/system/process.d.ts +28 -6
  21. package/dist/system/process.js +24 -5
  22. package/dist/system/process.js.map +1 -1
  23. package/dist/system/runtimes/adapter.d.ts +21 -11
  24. package/dist/system/runtimes/adapter.js.map +1 -1
  25. package/dist/system/runtimes/agent-runtime.d.ts +3 -1
  26. package/dist/system/runtimes/agent-runtime.js +76 -87
  27. package/dist/system/runtimes/agent-runtime.js.map +1 -1
  28. package/dist/system/runtimes/claude-code.d.ts +5 -4
  29. package/dist/system/runtimes/claude-code.js +39 -84
  30. package/dist/system/runtimes/claude-code.js.map +1 -1
  31. package/dist/system/runtimes/codex.d.ts +11 -0
  32. package/dist/system/runtimes/codex.js +253 -0
  33. package/dist/system/runtimes/codex.js.map +1 -0
  34. package/dist/system/runtimes/inspect.js +7 -5
  35. package/dist/system/runtimes/inspect.js.map +1 -1
  36. package/dist/system/runtimes/pi.d.ts +3 -1
  37. package/dist/system/runtimes/pi.js +22 -10
  38. package/dist/system/runtimes/pi.js.map +1 -1
  39. package/dist/system/runtimes/registry.d.ts +3 -2
  40. package/dist/system/runtimes/registry.js +6 -1
  41. package/dist/system/runtimes/registry.js.map +1 -1
  42. package/dist/system/store.js +6 -2
  43. package/dist/system/store.js.map +1 -1
  44. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../../src/system/runtimes/agent-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAEL,QAAQ,GAET,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,cAAc,GACf,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAazC,4FAA4F;AAC5F,SAAS,SAAS,CAAC,OAAsB;IAIvC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAC9B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CACvD,CAAC;IACF,IAAI,OAAO,EAAE,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACtE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAA0B,EAC1B,IAA4E,EAC5E,OAAoB;IAEpB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IAClD,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,iEAAiE;IACjE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,EAAE,CAAC;QACP,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;IACH,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,IAAI,IAAwB,CAAC;IAC7B,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAC3B,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAC3D,OAAO,CAAC,GAAG,EACX,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,CAAC,IAAI,EAAE,EAAE;YACP,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAI,KAAc,CAAC;YACnB,IAAI,CAAC;gBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+BAA+B,CAAC,CAAC;YAC3D,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBACpC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;oBAClB,KAAK,MAAM,EAAE,CAAC;wBACZ,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;wBAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;4BACzB,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;4BAC1B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;wBAC/C,CAAC;;4BACC,MAAM,EAAE,CAAC;gCACP,IAAI,EAAE,MAAM;gCACZ,EAAE;gCACF,IAAI;gCACJ,MAAM;gCACN,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;6BACvD,CAAC,CAAC;wBACL,MAAM;oBACR,CAAC;oBACD,KAAK,UAAU;wBACb,MAAM,EAAE,CAAC;4BACP,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,WAAW,EAAE,IAAI;yBAClB,CAAC,CAAC;wBACH,MAAM;oBACR,KAAK,OAAO;wBACV,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;wBAChE,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;4BAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;4BAC1C,MAAM,EAAE,CAAC;gCACP,IAAI,EAAE,UAAU;gCAChB,MAAM;gCACN,OAAO;gCACP,WAAW,EAAE,KAAK;6BACnB,CAAC,CAAC;wBACL,CAAC;wBACD,MAAM;oBACR,KAAK,SAAS;wBACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;wBACrD,MAAM;oBACR,KAAK,SAAS;wBACZ,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAChC,KAAK,QAAQ;wBACX,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACrB,CAAC;QACL,CAAC,EACD,OAAO,CACR,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,qBAAqB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,iBAAiB,EAAE,CACzF,CAAC;QACJ,IAAI,IAAI,KAAK,SAAS;YACpB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mCAAmC,CAAC,CAAC;QAC/D,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB;YAAE,OAAO,GAAG,KAAK,CAAC;QACxD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;YAC5B,MAAM,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC;YACP,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;YAC1C,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,GAAG,SAAS,CAAC,OAAO,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iHAAiH;AACjH,SAAS,YAAY,CACnB,OAAwB,EACxB,SAAiB;IAEjB,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI;QAC1B,OAAO;YACL,GAAG,OAAO;YACV,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC9D,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SACvE,CAAC;IACJ,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAChC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC;QAC3B,CAAC,CAAC,KAAK,CAAC;IACZ,OAAO;QACL,GAAG,OAAO;QACV,UAAU,EAAE,MAAM,CAAC,WAAW,CAC5B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;YACzD,IAAI;YACJ,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;SAChD,CAAC,CACH;KACF,CAAC;AACJ,CAAC;AAeD,gHAAgH;AAChH,MAAM,OAAO,YAAY;IACd,QAAQ,CAAsB;IAEvC,YAAY,OAA4B;QACtC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAAqB,EACrB,MAAuB;QAEvB,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,GAC1D,IAAI,CAAC,QAAQ,CAAC;QAChB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;YACzD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YACzB,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,YAAY,KAAK,SAAS;YAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;QACzE,MAAM,OAAO,GAAgB;YAC3B,GAAG;YACH,UAAU,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1C,MAAM;YACN,OAAO;SACR,CAAC;QACF,MAAM,IAAI,GAAG;YACX,YAAY;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE;gBACR,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;aAChD;YACD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,KAAK,IAAI;YAC7B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC;YACrD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../../src/system/runtimes/agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,10 @@ import { type RuntimeAdapter } from "./adapter.js";
2
2
  /** Claude Code session IDs are UUIDs: a stable one per session name. */
3
3
  export declare function claudeCodeSessionId(name: string): string;
4
4
  /**
5
- * Claude Code in print mode, in a session that holds only the profile's tools and
6
- * MCP servers. Its sessions need UUIDs: the run keeps a marker per session, so
7
- * that the next call resumes it. At the end of each call, Claude Code announces
8
- * its session's total, which is reported as it is.
5
+ * Claude Code in print mode, with the machine's configuration and the profile's
6
+ * settings. Its sessions need UUIDs: the run keeps a marker per session, so that
7
+ * the next call resumes it. At the end of each call, Claude Code announces its
8
+ * session's total, which is reported as it is. On SIGTERM it ends the process
9
+ * tree of its running commands (its documentation).
9
10
  */
10
11
  export declare const claudeCode: RuntimeAdapter<"claude-code">;
@@ -1,6 +1,6 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { existsSync, writeFileSync } from "node:fs";
3
- import { join } from "node:path";
3
+ import { isAbsolute, join, resolve } from "node:path";
4
4
  import { z } from "zod";
5
5
  import { runtimeLabels } from "../../engine/profiles.js";
6
6
  import { parseEvent, } from "./adapter.js";
@@ -10,16 +10,11 @@ const anyEvent = z.looseObject({
10
10
  type: z.string(),
11
11
  subtype: z.unknown().optional(),
12
12
  });
13
- /** What the session holds. Capabilities are required: an unreported one could hide a tool. */
13
+ /** The session started: its tools and MCP servers confirm what the profile grants. */
14
14
  const initEvent = z.looseObject({
15
15
  session_id: z.string(),
16
16
  tools: z.array(z.string()),
17
17
  mcp_servers: z.array(z.looseObject({ name: z.string(), status: z.string() })),
18
- plugins: z.array(z.looseObject({ name: z.string(), path: z.string() })),
19
- skills: z.array(z.string()).optional(),
20
- slash_commands: z.array(z.string()).optional(),
21
- output_style: z.string().optional(),
22
- memory_paths: z.unknown().optional(),
23
18
  });
24
19
  /** A content block; a tool use names its call and its tool, a tool result its call. */
25
20
  const contentBlock = z
@@ -108,10 +103,12 @@ export function claudeCodeSessionId(name) {
108
103
  return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-5${hex.slice(13, 16)}-${variant}${hex.slice(17, 20)}-${hex.slice(20, 32)}`;
109
104
  }
110
105
  const isMcpTool = (tool) => tool.startsWith("mcp__");
106
+ /**
107
+ * The profile's settings over those of the machine, which Claude Code loads as
108
+ * usual: settings files, CLAUDE.md, plugins, hooks, skills, MCP servers, memory.
109
+ */
111
110
  function profileArgs(profile, systemPrompt) {
112
- const servers = Object.keys(profile.mcpServers).length
113
- ? ["--mcp-config", JSON.stringify({ mcpServers: profile.mcpServers })]
114
- : [];
111
+ const { tools, permissionMode, mcpServers } = profile;
115
112
  return [
116
113
  "--model",
117
114
  profile.model,
@@ -119,85 +116,31 @@ function profileArgs(profile, systemPrompt) {
119
116
  profile.thinking,
120
117
  "--append-system-prompt",
121
118
  systemPrompt,
122
- // No settings file: no CLAUDE.md, installed plugins, hooks, permissions or output style
123
- // from the operator's setup. `--safe-mode` would also drop the profile's MCP servers.
124
- "--setting-sources",
125
- "",
126
- "--strict-mcp-config",
127
- ...servers,
128
- "--disable-slash-commands",
129
- "--settings",
130
- JSON.stringify({ outputStyle: "default", autoMemoryEnabled: false }),
131
- // `--tools` bounds built-in tools only; the allowlist is what lets MCP tools run.
132
- "--tools",
133
- profile.tools.filter((tool) => !isMcpTool(tool)).join(","),
134
- ...(profile.tools.length
135
- ? ["--allowedTools", profile.tools.join(",")]
119
+ // Added to the machine's servers.
120
+ ...(Object.keys(mcpServers).length
121
+ ? ["--mcp-config", JSON.stringify({ mcpServers })]
136
122
  : []),
137
- "--permission-mode",
138
- "dontAsk",
123
+ // `--tools` bounds built-in tools only; the allowlist is what lets the listed tools run.
124
+ ...(tools
125
+ ? ["--tools", tools.filter((tool) => !isMcpTool(tool)).join(",")]
126
+ : []),
127
+ ...(tools?.length ? ["--allowedTools", tools.join(",")] : []),
128
+ ...(permissionMode ? ["--permission-mode", permissionMode] : []),
139
129
  ];
140
130
  }
141
- /**
142
- * Checks the started session against the profile: what the agent can do must be
143
- * exactly what the profile grants (failure); any other customization is a warning.
144
- */
131
+ /** The started session holds what the profile grants: its MCP servers connected, its tools available. */
145
132
  function checkSession(profile, init) {
146
- const declared = Object.keys(profile.mcpServers);
147
133
  // A server that failed to start would otherwise surface as missing tools.
148
- const unavailable = declared.flatMap((server) => {
134
+ const unavailable = Object.keys(profile.mcpServers).flatMap((server) => {
149
135
  const status = init.mcp_servers.find(({ name }) => name === server)?.status;
150
136
  return status === "connected" ? [] : [`${server} (${status ?? "missing"})`];
151
137
  });
152
138
  if (unavailable.length)
153
139
  return failure(`${label} MCP servers are not connected: ${unavailable.join(", ")}`);
154
140
  // An unknown name would silently remove a tool the profile grants.
155
- const missing = profile.tools.filter((tool) => !init.tools.includes(tool));
156
- if (missing.length)
157
- return failure(`${label} does not provide tools: ${missing.join(", ")}`);
158
- const capabilities = [
159
- [
160
- "tools",
161
- init.tools.filter((tool) => !profile.tools.includes(tool) &&
162
- !declared.some((server) => tool.startsWith(`mcp__${server}__`))),
163
- ],
164
- [
165
- "MCP servers",
166
- init.mcp_servers
167
- .map(({ name }) => name)
168
- .filter((name) => !declared.includes(name)),
169
- ],
170
- [
171
- "plugins",
172
- init.plugins
173
- .filter(({ path }) => path !== "builtin")
174
- .map(({ name }) => name),
175
- ],
176
- ];
177
- const extra = capabilities.flatMap(([field, names]) => names.length ? [`${field} ${names.join(", ")}`] : []);
178
- if (extra.length)
179
- return failure(`${label} session is not isolated: ${extra.join("; ")}`);
180
- const customizations = [
181
- ...[
182
- ["skills", init.skills],
183
- ["slash commands", init.slash_commands],
184
- ].flatMap(([field, names]) => names === undefined
185
- ? [`${field} unreported`]
186
- : names.length
187
- ? [`${field} ${names.join(", ")}`]
188
- : []),
189
- ...(init.memory_paths === undefined ? [] : ["auto memory"]),
190
- ...(init.output_style === "default"
191
- ? []
192
- : [`output style ${init.output_style ?? "unreported"}`]),
193
- ];
194
- return customizations.length
195
- ? [
196
- {
197
- type: "warning",
198
- message: `${label} session is not fully isolated: ${customizations.join("; ")}`,
199
- },
200
- ]
141
+ const missing = (profile.tools ?? []).filter((tool) => !init.tools.includes(tool));
142
+ return missing.length
143
+ ? failure(`${label} does not provide tools: ${missing.join(", ")}`)
201
144
  : [];
202
145
  }
203
146
  /** `claude auth status --json`; it also names the account, which is never read. */
@@ -233,21 +176,33 @@ const failure = (message) => [
233
176
  { type: "failure", message },
234
177
  ];
235
178
  /**
236
- * Claude Code in print mode, in a session that holds only the profile's tools and
237
- * MCP servers. Its sessions need UUIDs: the run keeps a marker per session, so
238
- * that the next call resumes it. At the end of each call, Claude Code announces
239
- * its session's total, which is reported as it is.
179
+ * Claude Code in print mode, with the machine's configuration and the profile's
180
+ * settings. Its sessions need UUIDs: the run keeps a marker per session, so that
181
+ * the next call resumes it. At the end of each call, Claude Code announces its
182
+ * session's total, which is reported as it is. On SIGTERM it ends the process
183
+ * tree of its running commands (its documentation).
240
184
  */
241
185
  export const claudeCode = {
242
186
  name: "claude-code",
243
187
  label,
244
188
  executable: "claude",
245
189
  minimumVersion: "2.1.296",
190
+ stopSignal: "SIGTERM",
246
191
  connection: () => ({
247
192
  args: ["auth", "status", "--json"],
248
- read: readLogin,
193
+ read: ({ stdout }) => readLogin(stdout),
249
194
  }),
250
195
  model: (profile) => profile.model,
196
+ // A command containing "/" belongs to the configuration directory; a bare one stays a PATH lookup.
197
+ resolvePaths: (profile, configDir) => ({
198
+ ...profile,
199
+ mcpServers: Object.fromEntries(Object.entries(profile.mcpServers).map(([name, server]) => [
200
+ name,
201
+ server.command.includes("/") && !isAbsolute(server.command)
202
+ ? { ...server, command: resolve(configDir, server.command) }
203
+ : server,
204
+ ])),
205
+ }),
251
206
  async start({ profile, systemPrompt, session, sessions }) {
252
207
  const name = agentSessionName(sessions.runId, session);
253
208
  const sessionId = claudeCodeSessionId(name);
@@ -363,7 +318,7 @@ export const claudeCode = {
363
318
  usage,
364
319
  ...failure(`${label} final response ended with stop reason ${result.stop_reason}`),
365
320
  ];
366
- // Without an init event, neither the session nor its isolation was checked.
321
+ // Without an init event, neither the session nor what it grants was checked.
367
322
  if (!initialized)
368
323
  return [
369
324
  usage,
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/system/runtimes/claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/system/runtimes/claude-code.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type RuntimeAdapter } from "./adapter.js";
2
+ /**
3
+ * Codex in non-interactive mode (`codex exec --json`, its documented event
4
+ * stream). A session is a Codex thread: the run keeps its identifier per
5
+ * session, so that the next call resumes it (`codex exec resume`). At the end of
6
+ * each turn, Codex announces its thread's total tokens, earlier turns included,
7
+ * without a cost. Codex ends the commands it started on SIGINT, not on SIGTERM,
8
+ * and runs each in its own process group. Both observed with Codex 0.160.1, not
9
+ * documented.
10
+ */
11
+ export declare const codex: RuntimeAdapter<"codex">;
@@ -0,0 +1,253 @@
1
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { z } from "zod";
4
+ import { runtimeLabels } from "../../engine/profiles.js";
5
+ import { parseEvent, } from "./adapter.js";
6
+ import { agentSessionName } from "./protocol.js";
7
+ const label = runtimeLabels.codex;
8
+ const anyEvent = z.looseObject({ type: z.string() });
9
+ /** The first event of a thread, new or resumed: its identifier resumes it. */
10
+ const threadStarted = z.looseObject({ thread_id: z.string().min(1) });
11
+ /** An item of the thread: its kind and identifier, then each kind's own fields. */
12
+ const item = z.looseObject({ id: z.string(), type: z.string() });
13
+ const itemEvent = z.looseObject({ item });
14
+ /** The kinds of item that end with a status: a command, a file change, an MCP call. */
15
+ const withStatus = new Set([
16
+ "command_execution",
17
+ "file_change",
18
+ "mcp_tool_call",
19
+ ]);
20
+ const statusItem = z.looseObject({ status: z.string() });
21
+ const mcpToolItem = z.looseObject({ server: z.string(), tool: z.string() });
22
+ const agentMessageItem = z.looseObject({ text: z.string() });
23
+ /** A message only explains an error: its shape never hides the error. */
24
+ const explained = z.looseObject({ message: z.unknown().optional() });
25
+ const turnFailed = z.looseObject({ error: z.unknown().optional() });
26
+ /**
27
+ * The thread's usage at the end of a turn, earlier turns included: tokens only,
28
+ * Codex announces no cost. Its input tokens include the cached ones.
29
+ */
30
+ const turnUsage = z
31
+ .looseObject({
32
+ input_tokens: z.number().nonnegative(),
33
+ cached_input_tokens: z.number().nonnegative(),
34
+ cache_write_input_tokens: z.number().nonnegative().optional(),
35
+ output_tokens: z.number().nonnegative(),
36
+ })
37
+ .refine((usage) => usage.cached_input_tokens <= usage.input_tokens);
38
+ const turnCompleted = z.looseObject({ usage: z.unknown().optional() });
39
+ const text = (value) => (typeof value === "string" ? value : "");
40
+ /** The message of a failure's error, when it has one. */
41
+ const errorMessage = (error) => typeof error === "object" && error !== null && "message" in error
42
+ ? text(error.message)
43
+ : "";
44
+ /**
45
+ * The tool a thread item stands for, named as Codex reports it: its kind, or
46
+ * `<server>.<tool>` for an MCP call; `undefined` for an item that is not a tool.
47
+ */
48
+ function toolOf(raw) {
49
+ switch (raw.type) {
50
+ case "command_execution":
51
+ case "file_change":
52
+ case "web_search":
53
+ return raw.type;
54
+ case "mcp_tool_call": {
55
+ const { server, tool } = parseEvent(label, mcpToolItem, raw);
56
+ return `${server}.${tool}`;
57
+ }
58
+ default:
59
+ return undefined;
60
+ }
61
+ }
62
+ /** `codex login status`, on standard error: its text names the method; the account or key is never read. */
63
+ function readLogin(stderr) {
64
+ const status = stderr.trim();
65
+ if (status.startsWith("Logged in using ChatGPT"))
66
+ return { connected: true, detail: "ChatGPT login" };
67
+ if (status.startsWith("Logged in using an API key"))
68
+ return { connected: true, detail: "API key" };
69
+ if (status.startsWith("Logged in"))
70
+ return { connected: true, detail: "logged in" };
71
+ return {
72
+ connected: false,
73
+ detail: status
74
+ ? `${label}: ${status}`
75
+ : `${label} login status is unreadable`,
76
+ };
77
+ }
78
+ /** The thread a session marker keeps; an unreadable marker stops the call before it starts. */
79
+ function threadOf(marker) {
80
+ try {
81
+ return z
82
+ .object({ threadId: z.string().min(1) })
83
+ .parse(JSON.parse(readFileSync(marker, "utf8"))).threadId;
84
+ }
85
+ catch {
86
+ throw new Error(`${label} session marker is unreadable: ${marker}`);
87
+ }
88
+ }
89
+ /** A string as a TOML value for `-c key=value`, as Codex's own SDK writes it. */
90
+ const toml = (value) => JSON.stringify(value);
91
+ /**
92
+ * The profile's settings over the machine's configuration, which Codex loads as
93
+ * usual: config.toml, AGENTS.md files, skills, MCP servers. The workflow's prompt
94
+ * is the session's `developer_instructions`, replacing any from that configuration.
95
+ * `-c sandbox_mode` rather than `--sandbox`, which `codex exec resume` does not take.
96
+ */
97
+ function profileArgs(profile, systemPrompt) {
98
+ return [
99
+ "--model",
100
+ profile.model,
101
+ "-c",
102
+ `model_reasoning_effort=${toml(profile.thinking)}`,
103
+ ...(profile.sandbox ? ["-c", `sandbox_mode=${toml(profile.sandbox)}`] : []),
104
+ "-c",
105
+ `developer_instructions=${toml(systemPrompt)}`,
106
+ ];
107
+ }
108
+ /**
109
+ * Codex in non-interactive mode (`codex exec --json`, its documented event
110
+ * stream). A session is a Codex thread: the run keeps its identifier per
111
+ * session, so that the next call resumes it (`codex exec resume`). At the end of
112
+ * each turn, Codex announces its thread's total tokens, earlier turns included,
113
+ * without a cost. Codex ends the commands it started on SIGINT, not on SIGTERM,
114
+ * and runs each in its own process group. Both observed with Codex 0.160.1, not
115
+ * documented.
116
+ */
117
+ export const codex = {
118
+ name: "codex",
119
+ label,
120
+ executable: "codex",
121
+ minimumVersion: "0.160.1",
122
+ stopSignal: "SIGINT",
123
+ // `codex exec` prefers an API key in the environment to the stored login
124
+ // (observed with Codex 0.160.1); only the variable's presence is read.
125
+ connection: () => process.env.CODEX_API_KEY
126
+ ? { connected: true, detail: "API key (CODEX_API_KEY)" }
127
+ : { args: ["login", "status"], read: ({ stderr }) => readLogin(stderr) },
128
+ model: (profile) => profile.model,
129
+ async start({ profile, systemPrompt, session, sessions }) {
130
+ const name = agentSessionName(sessions.runId, session);
131
+ const marker = join(sessions.directory, name);
132
+ const resumed = existsSync(marker) ? threadOf(marker) : undefined;
133
+ const settings = profileArgs(profile, systemPrompt);
134
+ const tools = new Map();
135
+ let reply;
136
+ let threaded = resumed !== undefined;
137
+ return {
138
+ // The request comes through standard input (`-`).
139
+ args: resumed
140
+ ? ["exec", "resume", "--json", ...settings, resumed, "-"]
141
+ : ["exec", "--json", ...settings, "-"],
142
+ read(raw) {
143
+ const { type } = parseEvent(label, anyEvent, raw);
144
+ switch (type) {
145
+ case "thread.started": {
146
+ const { thread_id } = parseEvent(label, threadStarted, raw);
147
+ if (resumed !== undefined && thread_id !== resumed)
148
+ return [
149
+ {
150
+ type: "failure",
151
+ message: `${label} started thread ${thread_id} instead of resuming ${resumed}`,
152
+ },
153
+ ];
154
+ if (resumed === undefined)
155
+ writeFileSync(marker, `${JSON.stringify({ threadId: thread_id })}\n`, { mode: 0o600 });
156
+ threaded = true;
157
+ return [];
158
+ }
159
+ case "item.started": {
160
+ const begun = parseEvent(label, itemEvent, raw).item;
161
+ const tool = toolOf(begun);
162
+ if (tool === undefined)
163
+ return [];
164
+ tools.set(begun.id, tool);
165
+ return [
166
+ { type: "tool", id: begun.id, name: tool, status: "started" },
167
+ ];
168
+ }
169
+ case "item.completed": {
170
+ const completed = parseEvent(label, itemEvent, raw).item;
171
+ if (completed.type === "agent_message") {
172
+ reply = parseEvent(label, agentMessageItem, completed).text;
173
+ return [];
174
+ }
175
+ if (completed.type === "error")
176
+ return [
177
+ {
178
+ type: "warning",
179
+ message: `${label}: ${text(parseEvent(label, explained, completed).message) || "error without detail"}`,
180
+ },
181
+ ];
182
+ const tool = tools.get(completed.id) ?? toolOf(completed);
183
+ if (tool === undefined)
184
+ return [];
185
+ const failed = withStatus.has(completed.type) &&
186
+ parseEvent(label, statusItem, completed).status !== "completed";
187
+ return [
188
+ {
189
+ type: "tool",
190
+ id: completed.id,
191
+ name: tool,
192
+ status: failed ? "failed" : "completed",
193
+ },
194
+ ];
195
+ }
196
+ case "turn.completed": {
197
+ const usage = turnUsage.safeParse(parseEvent(label, turnCompleted, raw).usage);
198
+ // The thread's total so far replaces the session's earlier one;
199
+ // `input` counts the tokens read without the cache, as for the other runtimes.
200
+ const measure = {
201
+ type: "usage",
202
+ scope: "session",
203
+ usage: usage.success
204
+ ? {
205
+ input: usage.data.input_tokens - usage.data.cached_input_tokens,
206
+ output: usage.data.output_tokens,
207
+ cacheRead: usage.data.cached_input_tokens,
208
+ cacheWrite: usage.data.cache_write_input_tokens ?? 0,
209
+ }
210
+ : undefined,
211
+ };
212
+ // Without a thread, the session cannot be resumed.
213
+ if (!threaded)
214
+ return [
215
+ measure,
216
+ {
217
+ type: "failure",
218
+ message: `${label} answered without starting a thread`,
219
+ },
220
+ ];
221
+ return reply === undefined
222
+ ? [
223
+ measure,
224
+ {
225
+ type: "failure",
226
+ message: `${label} completed its turn without a final message`,
227
+ },
228
+ ]
229
+ : [measure, { type: "result", text: reply }];
230
+ }
231
+ case "turn.failed":
232
+ return [
233
+ {
234
+ type: "failure",
235
+ message: `${label} turn failed: ${errorMessage(parseEvent(label, turnFailed, raw).error) || "no detail provided"}`,
236
+ },
237
+ ];
238
+ // As Codex's own SDK reads its stream, only a failed turn fails the call.
239
+ case "error":
240
+ return [
241
+ {
242
+ type: "warning",
243
+ message: `${label} error: ${text(parseEvent(label, explained, raw).message) || "no detail provided"}`,
244
+ },
245
+ ];
246
+ default:
247
+ return [];
248
+ }
249
+ },
250
+ };
251
+ },
252
+ };
253
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/system/runtimes/codex.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,7 @@ function connectionOf(adapter, printed, read) {
75
75
  connected: false,
76
76
  detail: `Cannot run ${adapter.label}: ${printed.error}`,
77
77
  };
78
- const reported = read(printed.stdout);
78
+ const reported = read(printed);
79
79
  return reported.connected && printed.exitCode !== 0
80
80
  ? {
81
81
  connected: false,
@@ -109,12 +109,14 @@ dir) {
109
109
  // Stages whose profiles use the same connection share one check.
110
110
  const checked = new Map();
111
111
  for (const [stage, { profile }] of using) {
112
- const { args, read } = adapter.connection(profile);
113
- const key = args.join("\0");
112
+ const check = adapter.connection(profile);
113
+ const key = "connected" in check ? check.detail : check.args.join("\0");
114
114
  let connection = checked.get(key);
115
115
  if (!connection) {
116
- const printed = await output(executable.path, args, dir);
117
- connection = connectionOf(adapter, printed, read);
116
+ connection =
117
+ "connected" in check
118
+ ? check
119
+ : connectionOf(adapter, await output(executable.path, check.args, dir), check.read);
118
120
  checked.set(key, connection);
119
121
  }
120
122
  if (!connection.connected)