@mclawnet/agent 0.6.32 → 0.6.34

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 (48) hide show
  1. package/dist/__tests__/backend-adapter-types.test.d.ts +2 -0
  2. package/dist/__tests__/backend-adapter-types.test.d.ts.map +1 -0
  3. package/dist/__tests__/backend-factory.test.d.ts +2 -0
  4. package/dist/__tests__/backend-factory.test.d.ts.map +1 -0
  5. package/dist/__tests__/normalize-backend-output.test.d.ts +2 -0
  6. package/dist/__tests__/normalize-backend-output.test.d.ts.map +1 -0
  7. package/dist/__tests__/session-manager-backend.test.d.ts +2 -0
  8. package/dist/__tests__/session-manager-backend.test.d.ts.map +1 -0
  9. package/dist/__tests__/session-manager-permission.test.d.ts +2 -0
  10. package/dist/__tests__/session-manager-permission.test.d.ts.map +1 -0
  11. package/dist/__tests__/templates-roles-bridge.test.d.ts +2 -0
  12. package/dist/__tests__/templates-roles-bridge.test.d.ts.map +1 -0
  13. package/dist/backend-adapter.d.ts +102 -10
  14. package/dist/backend-adapter.d.ts.map +1 -1
  15. package/dist/backend-factory-RUYUBJVF.js +9 -0
  16. package/dist/backend-factory-RUYUBJVF.js.map +1 -0
  17. package/dist/backend-factory.d.ts +19 -0
  18. package/dist/backend-factory.d.ts.map +1 -0
  19. package/dist/checkpoint.d.ts +1 -1
  20. package/dist/checkpoint.d.ts.map +1 -1
  21. package/dist/{chunk-QPLG5WHL.js → chunk-2JDX6XFD.js} +445 -84
  22. package/dist/chunk-2JDX6XFD.js.map +1 -0
  23. package/dist/chunk-MFXF77LG.js +49 -0
  24. package/dist/chunk-MFXF77LG.js.map +1 -0
  25. package/dist/dist-VLBO5CT3.js +775 -0
  26. package/dist/dist-VLBO5CT3.js.map +1 -0
  27. package/dist/fs-handler.d.ts +1 -1
  28. package/dist/fs-handler.d.ts.map +1 -1
  29. package/dist/hub-connection.d.ts.map +1 -1
  30. package/dist/index.d.ts +2 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +7 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/normalize-backend-output.d.ts +5 -0
  35. package/dist/normalize-backend-output.d.ts.map +1 -0
  36. package/dist/session-manager.d.ts +35 -4
  37. package/dist/session-manager.d.ts.map +1 -1
  38. package/dist/start.d.ts +2 -0
  39. package/dist/start.d.ts.map +1 -1
  40. package/dist/start.js +1 -1
  41. package/dist/swarm-control-dispatch.d.ts +33 -1
  42. package/dist/swarm-control-dispatch.d.ts.map +1 -1
  43. package/dist/swarm-session-bridge.d.ts +3 -3
  44. package/dist/swarm-session-bridge.d.ts.map +1 -1
  45. package/dist/templates-roles-bridge.d.ts +14 -0
  46. package/dist/templates-roles-bridge.d.ts.map +1 -0
  47. package/package.json +13 -10
  48. package/dist/chunk-QPLG5WHL.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=backend-adapter-types.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-adapter-types.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/backend-adapter-types.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=backend-factory.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-factory.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/backend-factory.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=normalize-backend-output.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-backend-output.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/normalize-backend-output.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session-manager-backend.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager-backend.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/session-manager-backend.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session-manager-permission.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager-permission.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/session-manager-permission.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=templates-roles-bridge.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-roles-bridge.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/templates-roles-bridge.test.ts"],"names":[],"mappings":""}
@@ -4,8 +4,66 @@
4
4
  * Implementations:
5
5
  * - ClaudeCodeAdapter (@mclawnet/claude-adapter): spawn `claude` CLI
6
6
  * - OpenClawAdapter: spawn `openclaw gateway` (legacy)
7
- * - CodexAdapter: future
7
+ * - CodexAdapter: M3.S3 — `codex app-server --listen stdio://`
8
+ *
9
+ * M3.S1 introduces:
10
+ * - Typed permission flow (PermissionRequest / PermissionDecision)
11
+ * - Typed BackendOutput envelope replacing the historical `onOutput(msg: unknown)`
12
+ * - `backendSessionId` replaces the previous `claudeSessionId` (see plan D7).
8
13
  */
14
+ export interface PermissionRequest {
15
+ /** Stable identifier for the pending tool call. */
16
+ callId: string;
17
+ /** Tool name as reported by the backend (e.g. 'shell', 'apply_patch', 'Write'). */
18
+ toolName: string;
19
+ /** Raw tool input as the backend supplied it. */
20
+ input: unknown;
21
+ /** Optional backend-supplied context (sandbox, cwd, reason, ...). */
22
+ meta?: {
23
+ backend?: "claude" | "codex" | string;
24
+ reason?: string;
25
+ cwd?: string;
26
+ [k: string]: unknown;
27
+ };
28
+ }
29
+ /**
30
+ * S0 finding: neither claude `--permission-mode default` (no wire channel)
31
+ * nor codex `ReviewDecision` supports "approve with modifiedInput", so the
32
+ * S1 contract is a 4-state enum. `allow_session` may degrade to `allow` for
33
+ * backends that don't track session-scoped approvals.
34
+ */
35
+ export interface PermissionDecision {
36
+ callId: string;
37
+ decision: "allow" | "allow_session" | "deny" | "abort";
38
+ reason?: string;
39
+ }
40
+ export type BackendOutput = {
41
+ kind: "assistant_text";
42
+ text: string;
43
+ } | {
44
+ kind: "tool_use";
45
+ toolName: string;
46
+ input: unknown;
47
+ callId: string;
48
+ } | {
49
+ kind: "tool_result";
50
+ callId: string;
51
+ output: unknown;
52
+ isError?: boolean;
53
+ } | {
54
+ kind: "system";
55
+ subtype: string;
56
+ data: unknown;
57
+ }
58
+ /**
59
+ * Adapter-internal diagnostic only. Hub and wire layers MUST NOT consume
60
+ * `raw` — promote a new typed variant instead when hub needs to read it.
61
+ */
62
+ | {
63
+ kind: "raw";
64
+ backend: string;
65
+ payload: unknown;
66
+ };
9
67
  export interface BackendProcess {
10
68
  /** Unique identifier (e.g., Claude session ID) */
11
69
  id: string;
@@ -70,6 +128,26 @@ export interface SpawnOptions {
70
128
  * don't honour it lose D-lite escalation but never crash.
71
129
  */
72
130
  maxOutputTokens?: number;
131
+ /**
132
+ * Optional backend kind for this spawn. When set, SessionManager resolves
133
+ * an adapter via its `resolveAdapter` hook (typically `createBackendAdapter`)
134
+ * and uses it for this process instead of the default constructor adapter.
135
+ * Omitted = use the default adapter (back-compat).
136
+ */
137
+ backend?: "claude" | "codex";
138
+ /**
139
+ * Per-role sandbox level. Each adapter maps to its own permission model:
140
+ * - codex-adapter: `-c sandbox_mode="<value>"` (OS-level seatbelt /
141
+ * landlock — strong enforcement)
142
+ * - claude-adapter: `--permission-mode` (LLM-soft approval; UI should
143
+ * tooltip that claude has no real OS sandbox)
144
+ *
145
+ * Values: "read-only" | "workspace-write" | "full-access".
146
+ * Default (undefined): adapter-specific — claude uses constructor
147
+ * permissionMode (typically bypassPermissions), codex uses
148
+ * "workspace-write".
149
+ */
150
+ sandbox?: "read-only" | "workspace-write" | "full-access";
73
151
  }
74
152
  export interface BackendAdapter {
75
153
  /** Backend type identifier */
@@ -80,35 +158,49 @@ export interface BackendAdapter {
80
158
  stop(process: BackendProcess): Promise<void>;
81
159
  /** Send user input to the backend process */
82
160
  send(process: BackendProcess, input: string): void;
83
- /** Register output handler for a backend process */
161
+ /**
162
+ * Register output handler. Handler receives `unknown` today (legacy claude
163
+ * stream-json frames); adapters are migrating to emit `BackendOutput`
164
+ * envelopes. Consumers that need typed output should narrow with the
165
+ * `BackendOutput` discriminator.
166
+ */
84
167
  onOutput(process: BackendProcess, handler: (msg: unknown) => void): void;
85
- /** Register turn-complete handler */
168
+ /**
169
+ * M3.S1 — Optional permission flow.
170
+ * - codex-adapter (S3): implemented; maps from `ReviewDecision` wire format.
171
+ * - claude-adapter: M3 stays on `bypassPermissions` and does NOT implement
172
+ * these. M4+ will add via an MCP permission-prompt tool.
173
+ */
174
+ onPermissionRequest?(process: BackendProcess, handler: (req: PermissionRequest) => void): void;
175
+ respondToPermission?(process: BackendProcess, decision: PermissionDecision): Promise<void>;
176
+ /** Turn-complete handler. */
86
177
  onTurnComplete?(process: BackendProcess, handler: (info: {
87
- claudeSessionId?: string;
178
+ backendSessionId?: string;
88
179
  cost?: number;
89
180
  duration?: number;
90
181
  contextUsage?: {
91
182
  used: number;
92
183
  total: number;
93
184
  };
185
+ backendMeta?: Record<string, unknown>;
94
186
  }) => void): void;
95
187
  /** Register error handler */
96
188
  onError?(process: BackendProcess, handler: (error: Error) => void): void;
97
189
  /**
98
190
  * Register a handler that fires the moment the backend reports its session
99
- * is initialized (e.g. Claude CLI's `system/init` frame). Used by hub to
100
- * persist `claudeSessionId` early — without this we have to wait for
101
- * `turn_complete`, and a mid-turn crash would leave db's claudeSessionId
102
- * NULL despite a valid jsonl file existing on disk.
191
+ * is initialized (e.g. Claude CLI's `system/init` frame, codex `thread_id`).
192
+ * Used by hub to persist `backendSessionId` early — without this we have to
193
+ * wait for `turn_complete`, and a mid-turn crash would leave db's
194
+ * backend_session_id NULL despite a valid jsonl file existing on disk.
103
195
  *
104
196
  * Optional: adapters that don't implement this lose the early-backfill
105
- * capability — db's claudeSessionId will only be populated on
197
+ * capability — db's backend_session_id will only be populated on
106
198
  * `turn_complete`, so any session whose first turn crashes will be
107
199
  * unrecoverable via `--resume`. Other backends (codex, openclaw) should
108
200
  * implement this if they have an analogous "session ready" signal.
109
201
  */
110
202
  onSessionStarted?(process: BackendProcess, handler: (info: {
111
- claudeSessionId: string;
203
+ backendSessionId: string;
112
204
  }) => void): void;
113
205
  /**
114
206
  * Register a handler that fires when the underlying process exits on its
@@ -1 +1 @@
1
- {"version":3,"file":"backend-adapter.d.ts","sourceRoot":"","sources":["../src/backend-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-adapter.d.ts","sourceRoot":"","sources":["../src/backend-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import {
2
+ __resetBackendFactoryCache,
3
+ createBackendAdapter
4
+ } from "./chunk-MFXF77LG.js";
5
+ export {
6
+ __resetBackendFactoryCache,
7
+ createBackendAdapter
8
+ };
9
+ //# sourceMappingURL=backend-factory-RUYUBJVF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,19 @@
1
+ import type { BackendAdapter } from "./backend-adapter.js";
2
+ export type BackendKind = "claude" | "codex";
3
+ export declare function __resetBackendFactoryCache(): void;
4
+ export interface BackendFactoryContext {
5
+ /** Role instance / template name — surfaces in error messages so users know
6
+ * which role is misconfigured when its backend package fails to load. */
7
+ roleName?: string;
8
+ }
9
+ /**
10
+ * Resolve a BackendAdapter for the given backend kind.
11
+ *
12
+ * - "claude" / undefined → @mclawnet/claude-adapter (back-compat default).
13
+ * - "codex" → @mclawnet/codex-adapter via dynamic import so the codex bundle
14
+ * isn't pulled into claude-only deployments.
15
+ *
16
+ * Results are cached per kind; subsequent calls return the same instance.
17
+ */
18
+ export declare function createBackendAdapter(kind: BackendKind | undefined, ctx?: BackendFactoryContext): Promise<BackendAdapter>;
19
+ //# sourceMappingURL=backend-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-factory.d.ts","sourceRoot":"","sources":["../src/backend-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAI7C,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED,MAAM,WAAW,qBAAqB;IACpC;8EAC0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,GAAG,GAAE,qBAA0B,GAC9B,OAAO,CAAC,cAAc,CAAC,CA0CzB"}
@@ -9,7 +9,7 @@ export interface CheckpointEntry {
9
9
  sessionId: string;
10
10
  kind: SessionKind;
11
11
  workDir: string;
12
- claudeSessionId?: string;
12
+ backendSessionId?: string;
13
13
  agentInstanceId?: string;
14
14
  startedAt: number;
15
15
  lastActivityAt: number;
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAShC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO/C"}
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAShC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO/C"}