@mclawnet/agent 0.6.34 → 0.6.36

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 (77) hide show
  1. package/cli.js +75 -7
  2. package/dist/__tests__/bootstrap-deps.test.d.ts +2 -0
  3. package/dist/__tests__/bootstrap-deps.test.d.ts.map +1 -0
  4. package/dist/__tests__/collect-manifest.test.d.ts +2 -0
  5. package/dist/__tests__/collect-manifest.test.d.ts.map +1 -0
  6. package/dist/__tests__/hub-connection-on-activity.test.d.ts +2 -0
  7. package/dist/__tests__/hub-connection-on-activity.test.d.ts.map +1 -0
  8. package/dist/__tests__/hub-connection-wake-watch.test.d.ts +2 -0
  9. package/dist/__tests__/hub-connection-wake-watch.test.d.ts.map +1 -0
  10. package/dist/__tests__/ideas-rest-client.test.d.ts +2 -0
  11. package/dist/__tests__/ideas-rest-client.test.d.ts.map +1 -0
  12. package/dist/__tests__/legacy-claude-execute-compat.test.d.ts +2 -0
  13. package/dist/__tests__/legacy-claude-execute-compat.test.d.ts.map +1 -0
  14. package/dist/__tests__/no-adapter-cycle.test.d.ts +2 -0
  15. package/dist/__tests__/no-adapter-cycle.test.d.ts.map +1 -0
  16. package/dist/__tests__/runtime-env-defaults.test.d.ts +2 -0
  17. package/dist/__tests__/runtime-env-defaults.test.d.ts.map +1 -0
  18. package/dist/__tests__/session-manager-exit-reason.test.d.ts +2 -0
  19. package/dist/__tests__/session-manager-exit-reason.test.d.ts.map +1 -0
  20. package/dist/__tests__/session-manager-merge.test.d.ts +2 -0
  21. package/dist/__tests__/session-manager-merge.test.d.ts.map +1 -0
  22. package/dist/__tests__/session-manager-sticky.test.d.ts +2 -0
  23. package/dist/__tests__/session-manager-sticky.test.d.ts.map +1 -0
  24. package/dist/__tests__/session-protocol-dispatch.test.d.ts +2 -0
  25. package/dist/__tests__/session-protocol-dispatch.test.d.ts.map +1 -0
  26. package/dist/__tests__/worktree-bridge.test.d.ts +2 -0
  27. package/dist/__tests__/worktree-bridge.test.d.ts.map +1 -0
  28. package/dist/backend-adapter.d.ts +6 -232
  29. package/dist/backend-adapter.d.ts.map +1 -1
  30. package/dist/backend-factory-AFF6I7YF.js +11 -0
  31. package/dist/backend-factory.d.ts +23 -1
  32. package/dist/backend-factory.d.ts.map +1 -1
  33. package/dist/bootstrap-deps.d.ts +84 -0
  34. package/dist/bootstrap-deps.d.ts.map +1 -0
  35. package/dist/bootstrap-deps.js +173 -0
  36. package/dist/bootstrap-deps.js.map +1 -0
  37. package/dist/{chunk-PJ5M6Q36.js → chunk-376QZ7JB.js} +2 -2
  38. package/dist/chunk-376QZ7JB.js.map +1 -0
  39. package/dist/{chunk-2JDX6XFD.js → chunk-GOCWMRBB.js} +1817 -298
  40. package/dist/chunk-GOCWMRBB.js.map +1 -0
  41. package/dist/{chunk-M2CDVPQF.js → chunk-JH6RGJBQ.js} +2 -2
  42. package/dist/{chunk-MFXF77LG.js → chunk-VAEFJLPL.js} +25 -3
  43. package/dist/chunk-VAEFJLPL.js.map +1 -0
  44. package/dist/{dist-VLBO5CT3.js → dist-NWVHAP5R.js} +330 -23
  45. package/dist/dist-NWVHAP5R.js.map +1 -0
  46. package/dist/errors.d.ts +20 -0
  47. package/dist/errors.d.ts.map +1 -1
  48. package/dist/hub-connection.d.ts +25 -1
  49. package/dist/hub-connection.d.ts.map +1 -1
  50. package/dist/ideas-rest-client.d.ts +25 -0
  51. package/dist/ideas-rest-client.d.ts.map +1 -0
  52. package/dist/index.js +3 -3
  53. package/dist/{linux-IHA4O633.js → linux-MBU6ERXL.js} +3 -3
  54. package/dist/{macos-G4VK2253.js → macos-I2DUWFUH.js} +3 -3
  55. package/dist/projects-handler.d.ts +146 -1
  56. package/dist/projects-handler.d.ts.map +1 -1
  57. package/dist/runtime-env-defaults.d.ts +18 -0
  58. package/dist/runtime-env-defaults.d.ts.map +1 -0
  59. package/dist/service/index.js +5 -5
  60. package/dist/session-manager.d.ts +59 -0
  61. package/dist/session-manager.d.ts.map +1 -1
  62. package/dist/start.d.ts.map +1 -1
  63. package/dist/start.js +3 -2
  64. package/dist/{windows-P6U3JLUZ.js → windows-PEJ3KOLC.js} +3 -3
  65. package/dist/worktree-bridge.d.ts +51 -0
  66. package/dist/worktree-bridge.d.ts.map +1 -0
  67. package/package.json +10 -8
  68. package/dist/backend-factory-RUYUBJVF.js +0 -9
  69. package/dist/chunk-2JDX6XFD.js.map +0 -1
  70. package/dist/chunk-MFXF77LG.js.map +0 -1
  71. package/dist/chunk-PJ5M6Q36.js.map +0 -1
  72. package/dist/dist-VLBO5CT3.js.map +0 -1
  73. /package/dist/{backend-factory-RUYUBJVF.js.map → backend-factory-AFF6I7YF.js.map} +0 -0
  74. /package/dist/{chunk-M2CDVPQF.js.map → chunk-JH6RGJBQ.js.map} +0 -0
  75. /package/dist/{linux-IHA4O633.js.map → linux-MBU6ERXL.js.map} +0 -0
  76. /package/dist/{macos-G4VK2253.js.map → macos-I2DUWFUH.js.map} +0 -0
  77. /package/dist/{windows-P6U3JLUZ.js.map → windows-PEJ3KOLC.js.map} +0 -0
@@ -9,22 +9,22 @@ import {
9
9
  mergeServiceConfig,
10
10
  saveServiceConfig,
11
11
  validateServiceConfig
12
- } from "../chunk-M2CDVPQF.js";
13
- import "../chunk-PJ5M6Q36.js";
12
+ } from "../chunk-JH6RGJBQ.js";
13
+ import "../chunk-376QZ7JB.js";
14
14
 
15
15
  // src/service/index.ts
16
16
  async function getServiceManager() {
17
17
  switch (process.platform) {
18
18
  case "darwin": {
19
- const { MacOSServiceManager } = await import("../macos-G4VK2253.js");
19
+ const { MacOSServiceManager } = await import("../macos-I2DUWFUH.js");
20
20
  return new MacOSServiceManager();
21
21
  }
22
22
  case "linux": {
23
- const { LinuxServiceManager } = await import("../linux-IHA4O633.js");
23
+ const { LinuxServiceManager } = await import("../linux-MBU6ERXL.js");
24
24
  return new LinuxServiceManager();
25
25
  }
26
26
  case "win32": {
27
- const { WindowsServiceManager } = await import("../windows-P6U3JLUZ.js");
27
+ const { WindowsServiceManager } = await import("../windows-PEJ3KOLC.js");
28
28
  return new WindowsServiceManager();
29
29
  }
30
30
  default:
@@ -1,3 +1,4 @@
1
+ import type { WorkspaceHandle } from "@mclawnet/swarm";
1
2
  import type { BackendAdapter, PermissionDecision, PermissionRequest, SpawnOptions } from "./backend-adapter.js";
2
3
  import { type SessionKind } from "./errors.js";
3
4
  import { type RecoveryReport } from "./checkpoint.js";
@@ -14,9 +15,11 @@ export declare class SessionManager {
14
15
  private sessions;
15
16
  private conversationBuffer;
16
17
  private sessionMeta;
18
+ private stickyState;
17
19
  private activelyExecuting;
18
20
  private aborting;
19
21
  private expectedExits;
22
+ private lastSessionError;
20
23
  private idleSweepTimer;
21
24
  private idleTtlMs;
22
25
  private idleSweepIntervalMs;
@@ -62,6 +65,14 @@ export declare class SessionManager {
62
65
  */
63
66
  private onSessionExit?;
64
67
  private onPermissionRequest?;
68
+ /**
69
+ * (N5) Fires when `closeSession` runs against a session that had a
70
+ * workspace handle attached via {@link SessionManager.attachWorkspace}.
71
+ * Receives the original handle so the host can dispose it (keep=true) and
72
+ * notify hub via `session.worktree_closed`. Never blocks the close path —
73
+ * exceptions are caught and logged.
74
+ */
75
+ private onWorkspaceClose?;
65
76
  private classify;
66
77
  constructor(options: {
67
78
  adapter: BackendAdapter;
@@ -96,6 +107,12 @@ export declare class SessionManager {
96
107
  * Use {@link SessionManager.respondToPermission} to deliver the decision back.
97
108
  */
98
109
  onPermissionRequest?: (sessionId: string, req: PermissionRequest) => void;
110
+ /**
111
+ * (N5) Invoked synchronously from {@link SessionManager.closeSession} when
112
+ * the session had a workspace handle attached. Caller typically disposes
113
+ * the handle (keep=true) and sends `session.worktree_closed` to hub.
114
+ */
115
+ onWorkspaceClose?: (sessionId: string, handle: WorkspaceHandle) => void;
99
116
  classify?: (sessionId: string) => SessionKind;
100
117
  /**
101
118
  * (PR-C) Where to write the agent-sessions.json checkpoint. Pass `null`
@@ -116,6 +133,48 @@ export declare class SessionManager {
116
133
  * block the user's turn on memory.
117
134
  */
118
135
  sendUserInput(sessionId: string, content: string): Promise<void>;
136
+ /**
137
+ * (N2/N3) Update sticky model/mode on a session. Survives abort/respawn
138
+ * because it writes to `stickyState`, which is independent of `sessionMeta`
139
+ * (cleared on abort). Partial: fields with `undefined` are not touched.
140
+ *
141
+ * Valid use cases:
142
+ * - patch sticky on a live session (mutates meta + stickyState)
143
+ * - stage sticky BEFORE the first session.create lands (writes only to
144
+ * stickyState — meta is created later by createSession, which mirrors
145
+ * from stickyState)
146
+ *
147
+ * No-throw on missing session; this method is best-effort state staging.
148
+ */
149
+ updateSticky(sessionId: string, sticky: {
150
+ model?: string;
151
+ mode?: string;
152
+ }): void;
153
+ /**
154
+ * (N2/N3) Stage a per-turn override for the very next spawn. Consumed
155
+ * (and deleted from stickyState) by the next `createSession` for this
156
+ * sessionId. Survives abort/respawn until consumed — so a hub-side
157
+ * abort+recreate driven by a model switch still carries the override.
158
+ *
159
+ * No-throw on missing session: same staging-before-alive use case as
160
+ * `updateSticky`.
161
+ */
162
+ setTurnOverride(sessionId: string, override: {
163
+ model?: string;
164
+ mode?: string;
165
+ }): void;
166
+ /**
167
+ * (N5) Attach a workspace handle to an existing session's meta so that a
168
+ * later `closeSession` can fire `onWorkspaceClose` with it. Idempotent: a
169
+ * second call overwrites the existing handle (acceptable since the host
170
+ * never adopts two workspaces for the same session in practice). No-op
171
+ * with a warn when the session is unknown — the caller's prepare succeeded
172
+ * before createSession failed, so the workspace is already cleaning itself
173
+ * up via the error path in hub-connection.
174
+ */
175
+ attachWorkspace(sessionId: string, handle: WorkspaceHandle): void;
176
+ /** (N5) Inspect the attached workspace handle for a session, if any. */
177
+ getWorkspaceHandle(sessionId: string): WorkspaceHandle | undefined;
119
178
  abortSession(sessionId: string): Promise<void>;
120
179
  /**
121
180
  * M3.S2b — Deliver a permission decision back to the adapter for the named
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAa,MAAM,iBAAiB,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAqB3D,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/D,GAAG,EAAE,aAAa,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C,CAAC,CAiSD"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAsU,MAAM,iBAAiB,CAAC;AAIvX,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAsB3D,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/D,GAAG,EAAE,aAAa,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C,CAAC,CAwgBD"}
package/dist/start.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  startAgent
3
- } from "./chunk-2JDX6XFD.js";
4
- import "./chunk-PJ5M6Q36.js";
3
+ } from "./chunk-GOCWMRBB.js";
4
+ import "./chunk-VAEFJLPL.js";
5
+ import "./chunk-376QZ7JB.js";
5
6
  export {
6
7
  startAgent
7
8
  };
@@ -5,8 +5,8 @@ import {
5
5
  getLogDir,
6
6
  getNodePath,
7
7
  loadServiceConfig
8
- } from "./chunk-M2CDVPQF.js";
9
- import "./chunk-PJ5M6Q36.js";
8
+ } from "./chunk-JH6RGJBQ.js";
9
+ import "./chunk-376QZ7JB.js";
10
10
 
11
11
  // src/service/windows.ts
12
12
  import { execSync, spawn } from "child_process";
@@ -162,4 +162,4 @@ export {
162
162
  generateEcosystem,
163
163
  getEcosystemPath
164
164
  };
165
- //# sourceMappingURL=windows-P6U3JLUZ.js.map
165
+ //# sourceMappingURL=windows-PEJ3KOLC.js.map
@@ -0,0 +1,51 @@
1
+ import type { AgentGenericRequest } from "@mclawnet/shared";
2
+ import type { HubConnection } from "./hub-connection.js";
3
+ /**
4
+ * Generic.request handler for the `worktree` namespace. Provides chat-session
5
+ * lifecycle operations on worktrees prepared by WorkspaceManager (PR-A):
6
+ *
7
+ * - `delete` → remove worktree + branch (force-delete unmerged branches when
8
+ * caller passes force=true)
9
+ * - `ship` → commit + push + open PR via shipment pipeline (added separately
10
+ * in PR-A task #8; this file holds the dispatch skeleton)
11
+ *
12
+ * Unlike SwarmCoordinator-driven dispose (which goes through WorkspaceManager
13
+ * + per-swarm handle index), the delete action operates directly on the on-disk
14
+ * path so it survives agent restarts that lost the in-memory handle map. The
15
+ * trade-off: caller (hub/UI) must pass the exact worktree path & branch name,
16
+ * which it has via chat_sessions.worktree_path / .worktree_branch.
17
+ *
18
+ * Security: rejects any path outside the calling user's workspace tree. We
19
+ * approximate this with two cheap checks — absolute path required, and the
20
+ * basename must start with the per-session prefix `chat-` (see GitWorktreeProvider).
21
+ * Anything else (random "/etc", a sibling worktree from another agent, etc.) is
22
+ * rejected up front rather than relying on `git -C` to refuse.
23
+ */
24
+ export declare class WorktreeBridge {
25
+ private hub;
26
+ constructor(hub: HubConnection);
27
+ handle(msg: AgentGenericRequest): Promise<Record<string, unknown>>;
28
+ private deleteWorktree;
29
+ /**
30
+ * Emit a session.worktree_deleted push frame after a successful delete so
31
+ * the hub can clear the DB columns and broadcast to other tabs. Caller
32
+ * passes sessionId via params; missing sessionId silently skips the push
33
+ * (delete still works — just no DB sync, used by cleanup tooling that
34
+ * doesn't have a session context).
35
+ */
36
+ private maybeEmitDeleted;
37
+ /**
38
+ * Ship a chat-session worktree: stage all changes, commit if dirty, then
39
+ * either push + open draft PR (when `gh` CLI is available) or fall back to
40
+ * writing diff.patch + report.md inside the worktree for manual `git apply`.
41
+ *
42
+ * Result shape mirrors M6 swarm ShipmentResult so the UI can render both
43
+ * with the same component (Banner + future shipment list view).
44
+ *
45
+ * No LLM involvement (chat sessions don't have a queen role to generate
46
+ * report bodies). Title/body are caller-provided (UI) or default to the
47
+ * branch name + short stat summary.
48
+ */
49
+ private shipWorktree;
50
+ }
51
+ //# sourceMappingURL=worktree-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-bridge.d.ts","sourceRoot":"","sources":["../src/worktree-bridge.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAKhC,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAY1D,cAAc;IAwE5B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;;;;;;;;;OAWG;YACW,YAAY;CAkJ3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mclawnet/agent",
3
- "version": "0.6.34",
3
+ "version": "0.6.36",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -21,16 +21,18 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "commander": "^14.0.3",
24
+ "smol-toml": "^1.6.1",
24
25
  "ws": "^8.19.0",
25
- "@mclawnet/claude-adapter": "0.1.24",
26
+ "@mclawnet/backend-types": "0.1.0",
27
+ "@mclawnet/claude-adapter": "0.1.25",
28
+ "@mclawnet/mcp-server": "0.1.9",
26
29
  "@mclawnet/logger": "0.1.7",
27
- "@mclawnet/memory": "0.1.7",
28
- "@mclawnet/scheduler": "0.1.3",
29
- "@mclawnet/mcp-server": "0.1.7",
30
- "@mclawnet/shared": "0.1.8",
30
+ "@mclawnet/swarm": "0.1.14",
31
31
  "@mclawnet/skill-manager": "0.1.6",
32
- "@mclawnet/swarm": "0.1.12",
33
- "@mclawnet/task": "0.1.2"
32
+ "@mclawnet/shared": "0.1.9",
33
+ "@mclawnet/task": "0.1.3",
34
+ "@mclawnet/scheduler": "0.1.4",
35
+ "@mclawnet/memory": "0.1.7"
34
36
  },
35
37
  "optionalDependencies": {
36
38
  "@mclawnet/codex-adapter": "0.1.0"
@@ -1,9 +0,0 @@
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