@farmslot/agent-runtime 0.9.0 → 0.11.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 (224) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.md +1 -1
  3. package/bin/farmslot-agent.mjs +1 -1
  4. package/dist/execution-template/create.d.ts.map +1 -1
  5. package/dist/execution-template/create.js +4 -9
  6. package/dist/execution-template/create.js.map +1 -1
  7. package/dist/execution-template/execution-template.test.js +85 -34
  8. package/dist/execution-template/execution-template.test.js.map +1 -1
  9. package/dist/execution-template/frontmatter.d.ts +6 -3
  10. package/dist/execution-template/frontmatter.d.ts.map +1 -1
  11. package/dist/execution-template/frontmatter.js +8 -10
  12. package/dist/execution-template/frontmatter.js.map +1 -1
  13. package/dist/execution-template/index.d.ts +2 -2
  14. package/dist/execution-template/index.d.ts.map +1 -1
  15. package/dist/execution-template/index.js +2 -2
  16. package/dist/execution-template/index.js.map +1 -1
  17. package/dist/execution-template/infer.d.ts +2 -3
  18. package/dist/execution-template/infer.d.ts.map +1 -1
  19. package/dist/execution-template/infer.js +2 -19
  20. package/dist/execution-template/infer.js.map +1 -1
  21. package/dist/execution-template/lint.d.ts.map +1 -1
  22. package/dist/execution-template/lint.js +12 -14
  23. package/dist/execution-template/lint.js.map +1 -1
  24. package/dist/execution-template/resolve.d.ts.map +1 -1
  25. package/dist/execution-template/resolve.js +0 -2
  26. package/dist/execution-template/resolve.js.map +1 -1
  27. package/dist/execution-template/select.d.ts.map +1 -1
  28. package/dist/execution-template/select.js +4 -8
  29. package/dist/execution-template/select.js.map +1 -1
  30. package/dist/execution-template/snapshot.d.ts.map +1 -1
  31. package/dist/execution-template/snapshot.js +0 -1
  32. package/dist/execution-template/snapshot.js.map +1 -1
  33. package/dist/execution-template/types.d.ts +10 -5
  34. package/dist/execution-template/types.d.ts.map +1 -1
  35. package/dist/execution-template/types.js.map +1 -1
  36. package/dist/native/account-claude.d.ts +5 -0
  37. package/dist/native/account-claude.d.ts.map +1 -0
  38. package/dist/native/account-claude.js +42 -0
  39. package/dist/native/account-claude.js.map +1 -0
  40. package/dist/native/account-codex.d.ts +4 -0
  41. package/dist/native/account-codex.d.ts.map +1 -0
  42. package/dist/native/account-codex.js +51 -0
  43. package/dist/native/account-codex.js.map +1 -0
  44. package/dist/native/account-common.d.ts +30 -0
  45. package/dist/native/account-common.d.ts.map +1 -0
  46. package/dist/native/account-common.js +155 -0
  47. package/dist/native/account-common.js.map +1 -0
  48. package/dist/native/account-cursor.d.ts +5 -0
  49. package/dist/native/account-cursor.d.ts.map +1 -0
  50. package/dist/native/account-cursor.js +48 -0
  51. package/dist/native/account-cursor.js.map +1 -0
  52. package/dist/native/account-grok.d.ts +4 -0
  53. package/dist/native/account-grok.d.ts.map +1 -0
  54. package/dist/native/account-grok.js +55 -0
  55. package/dist/native/account-grok.js.map +1 -0
  56. package/dist/native/account-observation.test.d.ts +2 -0
  57. package/dist/native/account-observation.test.d.ts.map +1 -0
  58. package/dist/native/account-observation.test.js +256 -0
  59. package/dist/native/account-observation.test.js.map +1 -0
  60. package/dist/native/account-profiles.d.ts +11 -0
  61. package/dist/native/account-profiles.d.ts.map +1 -0
  62. package/dist/native/account-profiles.js +172 -0
  63. package/dist/native/account-profiles.js.map +1 -0
  64. package/dist/native/account-profiles.test.d.ts +2 -0
  65. package/dist/native/account-profiles.test.d.ts.map +1 -0
  66. package/dist/native/account-profiles.test.js +172 -0
  67. package/dist/native/account-profiles.test.js.map +1 -0
  68. package/dist/native/account-types.d.ts +11 -0
  69. package/dist/native/account-types.d.ts.map +1 -0
  70. package/dist/native/account-types.js +2 -0
  71. package/dist/native/account-types.js.map +1 -0
  72. package/dist/native/acp-requests.d.ts +11 -0
  73. package/dist/native/acp-requests.d.ts.map +1 -0
  74. package/dist/native/acp-requests.js +109 -0
  75. package/dist/native/acp-requests.js.map +1 -0
  76. package/dist/native/acp-rpc.d.ts +15 -0
  77. package/dist/native/acp-rpc.d.ts.map +1 -0
  78. package/dist/native/acp-rpc.js +73 -0
  79. package/dist/native/acp-rpc.js.map +1 -0
  80. package/dist/native/acp.d.ts +15 -0
  81. package/dist/native/acp.d.ts.map +1 -0
  82. package/dist/native/acp.js +285 -0
  83. package/dist/native/acp.js.map +1 -0
  84. package/dist/native/acp.test.d.ts +2 -0
  85. package/dist/native/acp.test.d.ts.map +1 -0
  86. package/dist/native/acp.test.js +257 -0
  87. package/dist/native/acp.test.js.map +1 -0
  88. package/dist/native/claude.d.ts.map +1 -1
  89. package/dist/native/claude.js +14 -0
  90. package/dist/native/claude.js.map +1 -1
  91. package/dist/native/client.d.ts +13 -0
  92. package/dist/native/client.d.ts.map +1 -1
  93. package/dist/native/client.js +112 -1
  94. package/dist/native/client.js.map +1 -1
  95. package/dist/native/codex.d.ts.map +1 -1
  96. package/dist/native/codex.js +61 -3
  97. package/dist/native/codex.js.map +1 -1
  98. package/dist/native/cursor-model.d.ts +6 -0
  99. package/dist/native/cursor-model.d.ts.map +1 -0
  100. package/dist/native/cursor-model.js +74 -0
  101. package/dist/native/cursor-model.js.map +1 -0
  102. package/dist/native/cursor-model.test.d.ts +2 -0
  103. package/dist/native/cursor-model.test.d.ts.map +1 -0
  104. package/dist/native/cursor-model.test.js +40 -0
  105. package/dist/native/cursor-model.test.js.map +1 -0
  106. package/dist/native/cursor.d.ts +2 -0
  107. package/dist/native/cursor.d.ts.map +1 -0
  108. package/dist/native/cursor.js +30 -0
  109. package/dist/native/cursor.js.map +1 -0
  110. package/dist/native/durability.test.js +461 -1
  111. package/dist/native/durability.test.js.map +1 -1
  112. package/dist/native/filesystem-policy.test.d.ts +2 -0
  113. package/dist/native/filesystem-policy.test.d.ts.map +1 -0
  114. package/dist/native/filesystem-policy.test.js +136 -0
  115. package/dist/native/filesystem-policy.test.js.map +1 -0
  116. package/dist/native/grok.d.ts +2 -0
  117. package/dist/native/grok.d.ts.map +1 -0
  118. package/dist/native/grok.js +17 -0
  119. package/dist/native/grok.js.map +1 -0
  120. package/dist/native/host.js +39 -0
  121. package/dist/native/host.js.map +1 -1
  122. package/dist/native/index.d.ts +3 -0
  123. package/dist/native/index.d.ts.map +1 -1
  124. package/dist/native/index.js +3 -0
  125. package/dist/native/index.js.map +1 -1
  126. package/dist/native/ipc.d.ts +59 -0
  127. package/dist/native/ipc.d.ts.map +1 -1
  128. package/dist/native/ipc.js +76 -4
  129. package/dist/native/ipc.js.map +1 -1
  130. package/dist/native/manager.d.ts +22 -4
  131. package/dist/native/manager.d.ts.map +1 -1
  132. package/dist/native/manager.js +386 -46
  133. package/dist/native/manager.js.map +1 -1
  134. package/dist/native/process-tree.d.ts +11 -0
  135. package/dist/native/process-tree.d.ts.map +1 -1
  136. package/dist/native/process-tree.js +123 -20
  137. package/dist/native/process-tree.js.map +1 -1
  138. package/dist/native/process-tree.test.js +126 -1
  139. package/dist/native/process-tree.test.js.map +1 -1
  140. package/dist/native/process.d.ts +5 -1
  141. package/dist/native/process.d.ts.map +1 -1
  142. package/dist/native/process.js +36 -13
  143. package/dist/native/process.js.map +1 -1
  144. package/dist/native/process.test.d.ts +2 -0
  145. package/dist/native/process.test.d.ts.map +1 -0
  146. package/dist/native/process.test.js +56 -0
  147. package/dist/native/process.test.js.map +1 -0
  148. package/dist/native/profile-service.d.ts +5 -0
  149. package/dist/native/profile-service.d.ts.map +1 -0
  150. package/dist/native/profile-service.js +76 -0
  151. package/dist/native/profile-service.js.map +1 -0
  152. package/dist/native/registry.d.ts +20 -0
  153. package/dist/native/registry.d.ts.map +1 -0
  154. package/dist/native/registry.js +89 -0
  155. package/dist/native/registry.js.map +1 -0
  156. package/dist/native/registry.test.d.ts +2 -0
  157. package/dist/native/registry.test.d.ts.map +1 -0
  158. package/dist/native/registry.test.js +13 -0
  159. package/dist/native/registry.test.js.map +1 -0
  160. package/dist/native/review-sandbox.d.ts +12 -0
  161. package/dist/native/review-sandbox.d.ts.map +1 -0
  162. package/dist/native/review-sandbox.js +6 -0
  163. package/dist/native/review-sandbox.js.map +1 -0
  164. package/dist/native/review-sandbox.test.d.ts +2 -0
  165. package/dist/native/review-sandbox.test.d.ts.map +1 -0
  166. package/dist/native/review-sandbox.test.js +40 -0
  167. package/dist/native/review-sandbox.test.js.map +1 -0
  168. package/dist/native/service.d.ts.map +1 -1
  169. package/dist/native/service.js +42 -8
  170. package/dist/native/service.js.map +1 -1
  171. package/dist/native/supervisor.js +121 -33
  172. package/dist/native/supervisor.js.map +1 -1
  173. package/dist/native/types.d.ts +11 -1
  174. package/dist/native/types.d.ts.map +1 -1
  175. package/dist/native/worker-history.d.ts +16 -0
  176. package/dist/native/worker-history.d.ts.map +1 -0
  177. package/dist/native/worker-history.js +77 -0
  178. package/dist/native/worker-history.js.map +1 -0
  179. package/dist/native/worker-history.test.d.ts +2 -0
  180. package/dist/native/worker-history.test.d.ts.map +1 -0
  181. package/dist/native/worker-history.test.js +195 -0
  182. package/dist/native/worker-history.test.js.map +1 -0
  183. package/dist/native/worker-launch.d.ts +72 -0
  184. package/dist/native/worker-launch.d.ts.map +1 -0
  185. package/dist/native/worker-launch.js +134 -0
  186. package/dist/native/worker-launch.js.map +1 -0
  187. package/dist/native/worker-launch.test.d.ts +2 -0
  188. package/dist/native/worker-launch.test.d.ts.map +1 -0
  189. package/dist/native/worker-launch.test.js +61 -0
  190. package/dist/native/worker-launch.test.js.map +1 -0
  191. package/dist/native/worker-relocation.test.d.ts +2 -0
  192. package/dist/native/worker-relocation.test.d.ts.map +1 -0
  193. package/dist/native/worker-relocation.test.js +110 -0
  194. package/dist/native/worker-relocation.test.js.map +1 -0
  195. package/dist/native/worker-service.d.ts +4 -0
  196. package/dist/native/worker-service.d.ts.map +1 -0
  197. package/dist/native/worker-service.js +85 -0
  198. package/dist/native/worker-service.js.map +1 -0
  199. package/dist/task-init/discover.d.ts +26 -0
  200. package/dist/task-init/discover.d.ts.map +1 -0
  201. package/dist/task-init/discover.js +64 -0
  202. package/dist/task-init/discover.js.map +1 -0
  203. package/dist/task-init/discover.test.d.ts +2 -0
  204. package/dist/task-init/discover.test.d.ts.map +1 -0
  205. package/dist/task-init/discover.test.js +58 -0
  206. package/dist/task-init/discover.test.js.map +1 -0
  207. package/dist/task-init/index.d.ts +6 -1
  208. package/dist/task-init/index.d.ts.map +1 -1
  209. package/dist/task-init/index.js +8 -3
  210. package/dist/task-init/index.js.map +1 -1
  211. package/dist/task-init/task-document.d.ts.map +1 -1
  212. package/dist/task-init/task-document.js +2 -2
  213. package/dist/task-init/task-document.js.map +1 -1
  214. package/dist/task-init/write.d.ts +0 -6
  215. package/dist/task-init/write.d.ts.map +1 -1
  216. package/dist/task-init/write.js +1 -8
  217. package/dist/task-init/write.js.map +1 -1
  218. package/package.json +3 -3
  219. package/scripts/cursor-session-discovery.cjs +48 -0
  220. package/scripts/execution-template-cli.mjs +8 -11
  221. package/scripts/review-filesystem.cjs +39 -0
  222. package/scripts/review-session.cjs +45 -0
  223. package/scripts/review-terminal.cjs +134 -0
  224. package/scripts/task-init-cli.mjs +3 -3
@@ -53,6 +53,16 @@ export const claudeNativeAdapter = {
53
53
  questions: true,
54
54
  interrupt: true,
55
55
  resume: true,
56
+ resumeAcrossWorkspaces: true,
57
+ },
58
+ workspaceResumeUnavailableReason: (version) => {
59
+ const parsed = /\b(\d+)\.(\d+)\.(\d+)\b/.exec(version);
60
+ return parsed &&
61
+ (Number(parsed[1]) > 2 ||
62
+ (Number(parsed[1]) === 2 &&
63
+ (Number(parsed[2]) > 1 || (Number(parsed[2]) === 1 && Number(parsed[3]) >= 269))))
64
+ ? undefined
65
+ : 'Cross-worktree recovery requires Claude Code 2.1.269 or newer';
56
66
  },
57
67
  async start(options, emit) {
58
68
  const nativeSessionId = options.resumeSessionId ?? randomUUID();
@@ -325,6 +335,10 @@ export const claudeNativeAdapter = {
325
335
  '--replay-user-messages',
326
336
  '--permission-prompt-tool',
327
337
  'stdio',
338
+ ...(options.processSandbox || (options.safetyTier && options.safetyTier !== 'sandboxed')
339
+ ? ['--dangerously-skip-permissions']
340
+ : []),
341
+ ...(options.effort ? ['--effort', options.effort] : []),
328
342
  ...(options.model ? ['--model', options.model] : []),
329
343
  ...(options.resumeSessionId
330
344
  ? ['--resume', options.resumeSessionId]
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/native/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/native/claude.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,31 @@
1
1
  import type { NativeSessionCreateParams, NativeSessionEnsureParams, NativeSessionInfo, NativeSessionReadResult, NativeSessionResponse, NativeSessionSendResult } from '@farmslot/protocol';
2
+ import { type NativeWorkerCancelResult, type NativeWorkerCancelTarget, type NativeWorkerLaunch, type NativeWorkerResumeParams, type NativeWorkerTarget } from './worker-launch.js';
2
3
  /** The same client is usable by gateway and execution-node services. */
3
4
  export declare class NativeSessionClient {
4
5
  readonly executionNodeId: string;
5
6
  readonly root: string;
6
7
  private starting?;
7
8
  constructor(root?: string, executionNodeId?: string);
9
+ workerStateDirectory(owner: string, sessionId: string): string;
10
+ prepareWorkerState(owner: string, sessionId: string): string;
8
11
  private host;
9
12
  private assertHostNode;
10
13
  private start;
11
14
  private call;
12
15
  create(owner: string, params: NativeSessionCreateParams): Promise<NativeSessionInfo>;
13
16
  ensure(owner: string, params: NativeSessionEnsureParams): Promise<NativeSessionInfo>;
17
+ ensureWorker(owner: string, params: NativeSessionEnsureParams, launch: NativeWorkerLaunch): Promise<NativeSessionInfo>;
18
+ resumeWorker(owner: string, params: NativeWorkerResumeParams, launch: NativeWorkerLaunch): Promise<NativeSessionInfo>;
19
+ private workerTarget;
20
+ transferWorker(owner: string, target: NativeWorkerTarget, launch: NativeWorkerLaunch): Promise<NativeSessionInfo>;
21
+ sendWorker(owner: string, target: NativeWorkerTarget, commandId: string, text: string): Promise<NativeSessionSendResult>;
22
+ closeWorker(owner: string, target: NativeWorkerTarget): Promise<NativeSessionInfo>;
23
+ interruptWorker(owner: string, target: NativeWorkerTarget): Promise<void>;
24
+ cancelWorker(owner: string, target: NativeWorkerCancelTarget): Promise<NativeWorkerCancelResult>;
25
+ respondWorker(owner: string, target: NativeWorkerTarget, requestId: string, response: NativeSessionResponse): Promise<void>;
14
26
  list(owner: string): Promise<NativeSessionInfo[]>;
15
27
  read(owner: string, id: string, after?: number, limit?: number): Promise<NativeSessionReadResult>;
28
+ readWorker(owner: string, id: string, leaseId: string, after?: number, limit?: number): Promise<NativeSessionReadResult>;
16
29
  send(owner: string, id: string, commandId: string, text: string): Promise<NativeSessionSendResult>;
17
30
  respond(owner: string, id: string, requestId: string, response: NativeSessionResponse): Promise<void>;
18
31
  interrupt(owner: string, id: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/native/client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAM5B,wEAAwE;AACxE,qBAAa,mBAAmB;IAK5B,QAAQ,CAAC,eAAe;IAJ1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,CAAwB;gBAEvC,IAAI,SAAmF,EAC9E,eAAe,SAAU;YAItB,IAAI;IAiBlB,OAAO,CAAC,cAAc;YAIR,KAAK;YAmCL,IAAI;IAQlB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB;IAKvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB;IAKvD,IAAI,CAAC,KAAK,EAAE,MAAM;IAGlB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAG9D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAG/D,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB;IAGrF,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAGnC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAGhC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/native/client.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAWL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,wEAAwE;AACxE,qBAAa,mBAAmB;IAK5B,QAAQ,CAAC,eAAe;IAJ1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,CAAwB;gBAEvC,IAAI,SAAmF,EAC9E,eAAe,SAAU;IAIpC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAG9D,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;YAM9C,IAAI;IAiBlB,OAAO,CAAC,cAAc;YAIR,KAAK;YAmCL,IAAI;IA0ClB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB;IAKvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB;IAKvD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,kBAAkB;IAKzF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,kBAAkB;IAKxF,OAAO,CAAC,YAAY;IAKpB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB;IAQpF,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IASrF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;IAOrD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;IAOzD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;IAa5D,aAAa,CACX,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,qBAAqB;IAUjC,IAAI,CAAC,KAAK,EAAE,MAAM;IAGlB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAG9D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAUrF,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAG/D,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB;IAGrF,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAGnC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAGhC"}
@@ -1,16 +1,27 @@
1
1
  import { spawn } from 'node:child_process';
2
+ import { createHash } from 'node:crypto';
2
3
  import { closeSync, existsSync, openSync } from 'node:fs';
3
4
  import { join, resolve } from 'node:path';
4
5
  import { fileURLToPath } from 'node:url';
5
6
  import { farmslotHome } from '@farmslot/protocol/node/farmslot-home';
6
7
  import { requestHost } from './ipc.js';
7
8
  import { alive, privateDirectory, readJson } from './storage.js';
9
+ import { NATIVE_WORKER_CANCEL, NATIVE_WORKER_CLOSE, NATIVE_WORKER_ENSURE, NATIVE_WORKER_INTERRUPT, NATIVE_WORKER_METHODS, NATIVE_WORKER_READ, NATIVE_WORKER_RESPOND, NATIVE_WORKER_RESUME, NATIVE_WORKER_SEND, NATIVE_WORKER_TRANSFER, } from './worker-launch.js';
8
10
  /** The same client is usable by gateway and execution-node services. */
9
11
  export class NativeSessionClient {
10
12
  constructor(root = process.env.FARMSLOT_NATIVE_STATE_DIR ?? join(farmslotHome(), 'native-sessions'), executionNodeId = 'local') {
11
13
  this.executionNodeId = executionNodeId;
12
14
  this.root = resolve(root);
13
15
  }
16
+ workerStateDirectory(owner, sessionId) {
17
+ return join(this.root, 'workers', createHash('sha256').update(owner).digest('hex'), sessionId);
18
+ }
19
+ prepareWorkerState(owner, sessionId) {
20
+ const state = this.workerStateDirectory(owner, sessionId);
21
+ for (const directory of [this.root, join(this.root, 'workers'), resolve(state, '..'), state])
22
+ privateDirectory(directory);
23
+ return state;
24
+ }
14
25
  async host() {
15
26
  privateDirectory(this.root);
16
27
  const path = join(this.root, 'host.json');
@@ -70,9 +81,31 @@ export class NativeSessionClient {
70
81
  }
71
82
  async call(request) {
72
83
  const host = await this.host();
84
+ if ('params' in request &&
85
+ 'profileId' in request.params &&
86
+ request.params.profileId &&
87
+ !host.supportsProfiles)
88
+ throw new Error('Native host upgrade required for account profiles; existing sessions remain available');
89
+ if (request.method === NATIVE_WORKER_RESUME &&
90
+ request.params.relocation &&
91
+ !host.supportsWorkerRelocation)
92
+ throw new Error('Native host upgrade required for worker relocation');
93
+ if ((request.method === NATIVE_WORKER_RESUME ||
94
+ (request.method === NATIVE_WORKER_CANCEL && request.resumeCommandId)) &&
95
+ !host.supportsWorkerResumeFence)
96
+ throw new Error('Native host upgrade required for durable worker resume cancellation');
97
+ if (NATIVE_WORKER_METHODS.includes(request.method) && !host.supportsWorkers)
98
+ throw new Error('Native host upgrade required for worker launch configuration; existing sessions remain available');
73
99
  if (request.method === 'ensure' && !host.supportsEnsure)
74
100
  throw new Error('Native host upgrade required for idempotent creation; existing sessions remain available');
75
- return requestHost(host, request);
101
+ const result = await requestHost(host, request);
102
+ if ('params' in request && request.params.profileId) {
103
+ const session = result;
104
+ if (session.profileId !== request.params.profileId ||
105
+ session.accountContextId !== request.params.accountContextId)
106
+ throw new Error('Native host returned a different account profile binding');
107
+ }
108
+ return result;
76
109
  }
77
110
  create(owner, params) {
78
111
  if (params.executionNodeId !== undefined && params.executionNodeId !== this.executionNodeId)
@@ -84,12 +117,90 @@ export class NativeSessionClient {
84
117
  throw new Error('Native session targets another execution node');
85
118
  return this.call({ method: 'ensure', owner, params });
86
119
  }
120
+ ensureWorker(owner, params, launch) {
121
+ if (params.executionNodeId !== undefined && params.executionNodeId !== this.executionNodeId)
122
+ throw new Error('Native worker targets another execution node');
123
+ return this.call({ method: NATIVE_WORKER_ENSURE, owner, params, launch });
124
+ }
125
+ resumeWorker(owner, params, launch) {
126
+ if (params.executionNodeId !== undefined && params.executionNodeId !== this.executionNodeId)
127
+ throw new Error('Native worker targets another execution node');
128
+ return this.call({ method: NATIVE_WORKER_RESUME, owner, params, launch });
129
+ }
130
+ workerTarget(target) {
131
+ if (target.executionNodeId !== undefined && target.executionNodeId !== this.executionNodeId)
132
+ throw new Error('Native worker targets another execution node');
133
+ return { id: target.sessionId, generation: target.generation, leaseId: target.leaseId };
134
+ }
135
+ transferWorker(owner, target, launch) {
136
+ return this.call({
137
+ method: NATIVE_WORKER_TRANSFER,
138
+ owner,
139
+ ...this.workerTarget(target),
140
+ launch,
141
+ });
142
+ }
143
+ sendWorker(owner, target, commandId, text) {
144
+ return this.call({
145
+ method: NATIVE_WORKER_SEND,
146
+ owner,
147
+ ...this.workerTarget(target),
148
+ commandId,
149
+ text,
150
+ });
151
+ }
152
+ closeWorker(owner, target) {
153
+ return this.call({
154
+ method: NATIVE_WORKER_CLOSE,
155
+ owner,
156
+ ...this.workerTarget(target),
157
+ });
158
+ }
159
+ interruptWorker(owner, target) {
160
+ return this.call({
161
+ method: NATIVE_WORKER_INTERRUPT,
162
+ owner,
163
+ ...this.workerTarget(target),
164
+ });
165
+ }
166
+ cancelWorker(owner, target) {
167
+ if (target.executionNodeId !== undefined && target.executionNodeId !== this.executionNodeId)
168
+ throw new Error('Native worker targets another execution node');
169
+ return this.call({
170
+ method: NATIVE_WORKER_CANCEL,
171
+ owner,
172
+ id: target.sessionId,
173
+ generation: target.generation,
174
+ leaseId: target.leaseId,
175
+ sourceLeaseId: target.sourceLeaseId,
176
+ resumeCommandId: target.resumeCommandId,
177
+ });
178
+ }
179
+ respondWorker(owner, target, requestId, response) {
180
+ return this.call({
181
+ method: NATIVE_WORKER_RESPOND,
182
+ owner,
183
+ ...this.workerTarget(target),
184
+ requestId,
185
+ response,
186
+ });
187
+ }
87
188
  list(owner) {
88
189
  return this.call({ method: 'list', owner });
89
190
  }
90
191
  read(owner, id, after, limit) {
91
192
  return this.call({ method: 'read', owner, id, after, limit });
92
193
  }
194
+ readWorker(owner, id, leaseId, after, limit) {
195
+ return this.call({
196
+ method: NATIVE_WORKER_READ,
197
+ owner,
198
+ id,
199
+ leaseId,
200
+ after,
201
+ limit,
202
+ });
203
+ }
93
204
  send(owner, id, commandId, text) {
94
205
  return this.call({ method: 'send', owner, id, commandId, text });
95
206
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/native/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/native/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/native/codex.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,YAAY,CAAC;AAoClE,eAAO,MAAM,kBAAkB,EAAE,aA6OhC,CAAC"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/native/codex.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,YAAY,CAAC;AA0DlE,eAAO,MAAM,kBAAkB,EAAE,aAwRhC,CAAC"}
@@ -1,4 +1,25 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { realpath } from 'node:fs/promises';
3
+ import { promisify } from 'node:util';
1
4
  import { JsonLineProcess } from './process.js';
5
+ import { validateNativeWorkerFilesystemPolicy } from './worker-launch.js';
6
+ const READ_ONLY_PROFILE = 'farmslot-read-only-source';
7
+ /** Git's shared metadata can live outside a linked worktree's writable root. */
8
+ async function gitWritableRoot(cwd, env) {
9
+ let common;
10
+ try {
11
+ const result = await promisify(execFile)('git', ['rev-parse', '--path-format=absolute', '--git-common-dir'], { cwd, env, timeout: 10000 });
12
+ common = result.stdout.trim();
13
+ }
14
+ catch (error) {
15
+ // Non-repository conversations need no extra write grant. Git's refusal
16
+ // leaves the ordinary workspace sandbox in place rather than broadening it.
17
+ if (error.code === 128)
18
+ return undefined;
19
+ throw error;
20
+ }
21
+ return realpath(common);
22
+ }
2
23
  function wireObject(value) {
3
24
  if (!value || typeof value !== 'object' || Array.isArray(value))
4
25
  throw new Error('Expected a native protocol object');
@@ -34,6 +55,12 @@ function questions(value) {
34
55
  });
35
56
  }
36
57
  export const codexNativeAdapter = {
58
+ filesystemPolicyUnavailableReason: (version) => {
59
+ const parsed = /\b(\d+)\.(\d+)\.(\d+)\b/.exec(version);
60
+ return parsed && (Number(parsed[1]) > 0 || Number(parsed[2]) >= 154)
61
+ ? undefined
62
+ : 'Read-only source review requires Codex 0.154.0 or newer';
63
+ },
37
64
  capabilities: {
38
65
  modes: ['default', 'plan'],
39
66
  streaming: true,
@@ -42,6 +69,7 @@ export const codexNativeAdapter = {
42
69
  questions: false,
43
70
  interrupt: true,
44
71
  resume: true,
72
+ resumeAcrossWorkspaces: true,
45
73
  },
46
74
  async start(options, emit) {
47
75
  let nativeSessionId = '';
@@ -171,13 +199,42 @@ export const codexNativeAdapter = {
171
199
  capabilities: { experimentalApi: true },
172
200
  });
173
201
  process.write({ method: 'initialized', params: {} });
202
+ const gitRoot = options.safetyTier === 'dangerous'
203
+ ? undefined
204
+ : await gitWritableRoot(options.cwd, options.env);
205
+ const filesystemPolicy = options.filesystemPolicy &&
206
+ validateNativeWorkerFilesystemPolicy({
207
+ ...options.filesystemPolicy,
208
+ readOnlyRoots: [...options.filesystemPolicy.readOnlyRoots, ...(gitRoot ? [gitRoot] : [])],
209
+ });
174
210
  const result = wireObject(await process.request(options.resumeSessionId ? 'thread/resume' : 'thread/start', {
175
211
  ...(options.resumeSessionId ? { threadId: options.resumeSessionId } : {}),
176
212
  cwd: options.cwd,
177
213
  model: options.model,
178
- approvalPolicy: 'untrusted',
179
- sandbox: 'workspace-write',
214
+ ...(options.filesystemPolicy
215
+ ? {
216
+ approvalPolicy: 'never',
217
+ config: {
218
+ default_permissions: READ_ONLY_PROFILE,
219
+ [`permissions.${READ_ONLY_PROFILE}`]: {
220
+ filesystem: Object.fromEntries([
221
+ ['/', 'read'],
222
+ ...filesystemPolicy.writableRoots.map((root) => [root, 'write']),
223
+ ]),
224
+ },
225
+ },
226
+ }
227
+ : {
228
+ approvalPolicy: options.safetyTier && options.safetyTier !== 'sandboxed' ? 'never' : 'untrusted',
229
+ sandbox: options.safetyTier === 'dangerous' ? 'danger-full-access' : 'workspace-write',
230
+ ...(gitRoot
231
+ ? { config: { 'sandbox_workspace_write.writable_roots': [gitRoot] } }
232
+ : {}),
233
+ }),
180
234
  }));
235
+ if (options.filesystemPolicy &&
236
+ wireObject(result.activePermissionProfile).id !== READ_ONLY_PROFILE)
237
+ throw new Error('Native runner did not confirm the read-only source permissions profile');
181
238
  nativeSessionId = wireString(wireObject(result.thread).id);
182
239
  resolvedModel = optionalString(result.model) ?? options.model;
183
240
  if (options.mode === 'plan' && !resolvedModel)
@@ -199,13 +256,14 @@ export const codexNativeAdapter = {
199
256
  const result = wireObject(await (startingTurn = process.request('turn/start', {
200
257
  threadId: nativeSessionId,
201
258
  input: [{ type: 'text', text }],
259
+ ...(options.effort ? { effort: options.effort } : {}),
202
260
  ...(options.mode === 'plan'
203
261
  ? {
204
262
  collaborationMode: {
205
263
  mode: 'plan',
206
264
  settings: {
207
265
  model: resolvedModel,
208
- reasoning_effort: 'low',
266
+ reasoning_effort: options.effort ?? 'low',
209
267
  developer_instructions: null,
210
268
  },
211
269
  },
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/native/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/native/codex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type AcpObject } from './acp-rpc.js';
2
+ type Request = (method: string, params: AcpObject) => Promise<unknown>;
3
+ /** Cursor ACP's parameterized model API; CLI --model is ignored by its ACP command. */
4
+ export declare function configureCursorModel(sessionId: string, session: AcpObject, requested: string, request: Request): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=cursor-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-model.d.ts","sourceRoot":"","sources":["../../src/native/cursor-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAwB,MAAM,cAAc,CAAC;AAEpE,KAAK,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvE,uFAAuF;AACvF,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAqEf"}
@@ -0,0 +1,74 @@
1
+ import { acpObject, acpString } from './acp-rpc.js';
2
+ /** Cursor ACP's parameterized model API; CLI --model is ignored by its ACP command. */
3
+ export async function configureCursorModel(sessionId, session, requested, request) {
4
+ const initial = session.configOptions ?? [];
5
+ const models = initial.find((option) => option.id === 'model')?.options;
6
+ if (!Array.isArray(models))
7
+ throw new Error('Cursor did not advertise model choices');
8
+ const ids = models.map((option) => acpString(acpObject(option).value));
9
+ let model = requested;
10
+ const parameters = new Map();
11
+ const explicit = /^([^\[\]]+)\[([^\[\]]*)\]$/.exec(requested);
12
+ if (explicit) {
13
+ model = explicit[1];
14
+ for (const field of explicit[2].split(',').filter(Boolean)) {
15
+ const match = /^([^=\s]+)=([^=\s]+)$/.exec(field);
16
+ if (!match || parameters.has(match[1]))
17
+ throw new Error('Invalid Cursor model parameters');
18
+ parameters.set(match[1], match[2]);
19
+ }
20
+ }
21
+ else if (!ids.includes(model)) {
22
+ // These are Cursor's CLI aliases, also used by the shared manual-dispatch picker.
23
+ model = model
24
+ .replace(/^cursor-(?=grok-)/, '')
25
+ .replace(/^claude-(\d+)\.(\d+)-(opus|sonnet|haiku)/, 'claude-$3-$1-$2');
26
+ if (model === 'auto' && ids.includes('auto-smart'))
27
+ model = 'auto-smart';
28
+ parameters.set('fast', 'false');
29
+ while (!ids.includes(model)) {
30
+ const suffix = /-(extra-high|thinking|fast|minimal|none|low|medium|high|xhigh|max)$/.exec(model);
31
+ if (!suffix)
32
+ break;
33
+ model = model.slice(0, -suffix[0].length);
34
+ const value = suffix[1];
35
+ if (value === 'thinking' || value === 'fast')
36
+ parameters.set(value, 'true');
37
+ else {
38
+ if (parameters.has('$effort'))
39
+ throw new Error('Ambiguous Cursor model effort');
40
+ parameters.set('$effort', value === 'extra-high' ? 'xhigh' : value);
41
+ }
42
+ }
43
+ }
44
+ if (!ids.includes(model))
45
+ throw new Error(`Cursor model is unavailable: ${requested}`);
46
+ const update = async (id, value) => {
47
+ const result = acpObject(await request('session/set_config_option', { sessionId, configId: id, value }));
48
+ if (!Array.isArray(result.configOptions))
49
+ throw new Error('Cursor did not confirm model settings');
50
+ return result.configOptions.map(acpObject);
51
+ };
52
+ let choices = await update('model', model);
53
+ for (const [key, value] of parameters) {
54
+ const option = key === '$effort'
55
+ ? choices.find((entry) => entry.category === 'thought_level' &&
56
+ Array.isArray(entry.options) &&
57
+ entry.options.some((choice) => acpObject(choice).value === value))
58
+ : choices.find((entry) => entry.id === key);
59
+ if (!option) {
60
+ if (key === 'fast' && value === 'false')
61
+ continue;
62
+ throw new Error(`Cursor model does not support ${key}: ${requested}`);
63
+ }
64
+ const options = Array.isArray(option.options) ? option.options.map(acpObject) : [];
65
+ if (!options.some((entry) => entry.value === value))
66
+ throw new Error(`Cursor model does not support ${key}=${value}: ${requested}`);
67
+ choices = await update(acpString(option.id), value);
68
+ if (choices.find((entry) => entry.id === option.id)?.currentValue !== value)
69
+ throw new Error(`Cursor did not select ${key}=${value}`);
70
+ }
71
+ if (choices.find((entry) => entry.id === 'model')?.currentValue !== model)
72
+ throw new Error('Cursor did not select the requested model');
73
+ }
74
+ //# sourceMappingURL=cursor-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-model.js","sourceRoot":"","sources":["../../src/native/cursor-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cursor-model.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-model.test.d.ts","sourceRoot":"","sources":["../../src/native/cursor-model.test.ts"],"names":[],"mappings":""}