actoviq-agent-sdk 0.4.11 → 0.4.13

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 (308) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/src/computer/hadamardComputerUse.d.ts +15 -0
  3. package/dist/src/computer/hadamardComputerUse.d.ts.map +1 -1
  4. package/dist/src/computer/hadamardComputerUse.js +120 -4
  5. package/dist/src/computer/hadamardComputerUse.js.map +1 -1
  6. package/dist/src/config/agentDefinitionMigration.d.ts +125 -0
  7. package/dist/src/config/agentDefinitionMigration.d.ts.map +1 -0
  8. package/dist/src/config/agentDefinitionMigration.js +540 -0
  9. package/dist/src/config/agentDefinitionMigration.js.map +1 -0
  10. package/dist/src/config/agentProfiles.d.ts +23 -0
  11. package/dist/src/config/agentProfiles.d.ts.map +1 -1
  12. package/dist/src/config/agentProfiles.js +69 -13
  13. package/dist/src/config/agentProfiles.js.map +1 -1
  14. package/dist/src/config/hadamardHome.js +0 -1
  15. package/dist/src/config/hadamardHome.js.map +1 -1
  16. package/dist/src/config/modelConfigurationCatalog.d.ts +25 -0
  17. package/dist/src/config/modelConfigurationCatalog.d.ts.map +1 -0
  18. package/dist/src/config/modelConfigurationCatalog.js +50 -0
  19. package/dist/src/config/modelConfigurationCatalog.js.map +1 -0
  20. package/dist/src/config/projectSettings.d.ts +62 -0
  21. package/dist/src/config/projectSettings.d.ts.map +1 -0
  22. package/dist/src/config/projectSettings.js +242 -0
  23. package/dist/src/config/projectSettings.js.map +1 -0
  24. package/dist/src/config/resolveRuntimeConfig.d.ts.map +1 -1
  25. package/dist/src/config/resolveRuntimeConfig.js +97 -4
  26. package/dist/src/config/resolveRuntimeConfig.js.map +1 -1
  27. package/dist/src/goal/goalCommandService.d.ts +11 -0
  28. package/dist/src/goal/goalCommandService.d.ts.map +1 -0
  29. package/dist/src/goal/goalCommandService.js +138 -0
  30. package/dist/src/goal/goalCommandService.js.map +1 -0
  31. package/dist/src/goal/goalContinuation.d.ts +50 -0
  32. package/dist/src/goal/goalContinuation.d.ts.map +1 -0
  33. package/dist/src/goal/goalContinuation.js +131 -0
  34. package/dist/src/goal/goalContinuation.js.map +1 -0
  35. package/dist/src/goal/goalController.d.ts +42 -0
  36. package/dist/src/goal/goalController.d.ts.map +1 -0
  37. package/dist/src/goal/goalController.js +281 -0
  38. package/dist/src/goal/goalController.js.map +1 -0
  39. package/dist/src/goal/goalPrompt.d.ts +3 -0
  40. package/dist/src/goal/goalPrompt.d.ts.map +1 -1
  41. package/dist/src/goal/goalPrompt.js +28 -2
  42. package/dist/src/goal/goalPrompt.js.map +1 -1
  43. package/dist/src/goal/goalService.d.ts +68 -2
  44. package/dist/src/goal/goalService.d.ts.map +1 -1
  45. package/dist/src/goal/goalService.js +500 -8
  46. package/dist/src/goal/goalService.js.map +1 -1
  47. package/dist/src/goal/goalStore.d.ts.map +1 -1
  48. package/dist/src/goal/goalStore.js +172 -5
  49. package/dist/src/goal/goalStore.js.map +1 -1
  50. package/dist/src/goal/goalTools.d.ts +2 -1
  51. package/dist/src/goal/goalTools.d.ts.map +1 -1
  52. package/dist/src/goal/goalTools.js +70 -5
  53. package/dist/src/goal/goalTools.js.map +1 -1
  54. package/dist/src/goal/goalWorkCoordinator.d.ts +43 -0
  55. package/dist/src/goal/goalWorkCoordinator.d.ts.map +1 -0
  56. package/dist/src/goal/goalWorkCoordinator.js +72 -0
  57. package/dist/src/goal/goalWorkCoordinator.js.map +1 -0
  58. package/dist/src/goal/index.d.ts +10 -4
  59. package/dist/src/goal/index.d.ts.map +1 -1
  60. package/dist/src/goal/index.js +7 -1
  61. package/dist/src/goal/index.js.map +1 -1
  62. package/dist/src/goal/projectGoalApi.d.ts +82 -0
  63. package/dist/src/goal/projectGoalApi.d.ts.map +1 -0
  64. package/dist/src/goal/projectGoalApi.js +287 -0
  65. package/dist/src/goal/projectGoalApi.js.map +1 -0
  66. package/dist/src/goal/projectGoalStore.d.ts +131 -0
  67. package/dist/src/goal/projectGoalStore.d.ts.map +1 -0
  68. package/dist/src/goal/projectGoalStore.js +808 -0
  69. package/dist/src/goal/projectGoalStore.js.map +1 -0
  70. package/dist/src/goal/types.d.ts +127 -3
  71. package/dist/src/goal/types.d.ts.map +1 -1
  72. package/dist/src/goal/types.js +2 -2
  73. package/dist/src/goal/types.js.map +1 -1
  74. package/dist/src/gui/agentTargetPicker.d.ts +32 -0
  75. package/dist/src/gui/agentTargetPicker.d.ts.map +1 -0
  76. package/dist/src/gui/agentTargetPicker.js +99 -0
  77. package/dist/src/gui/agentTargetPicker.js.map +1 -0
  78. package/dist/src/gui/electronMain.js +10 -3
  79. package/dist/src/gui/electronMain.js.map +1 -1
  80. package/dist/src/gui/hadamardGui.d.ts +24 -0
  81. package/dist/src/gui/hadamardGui.d.ts.map +1 -1
  82. package/dist/src/gui/hadamardGui.js +6321 -1327
  83. package/dist/src/gui/hadamardGui.js.map +1 -1
  84. package/dist/src/gui/projectWorkbench.d.ts +13 -2
  85. package/dist/src/gui/projectWorkbench.d.ts.map +1 -1
  86. package/dist/src/gui/projectWorkbench.js +109 -67
  87. package/dist/src/gui/projectWorkbench.js.map +1 -1
  88. package/dist/src/gui/promptTemplates.d.ts +18 -0
  89. package/dist/src/gui/promptTemplates.d.ts.map +1 -0
  90. package/dist/src/gui/promptTemplates.js +178 -0
  91. package/dist/src/gui/promptTemplates.js.map +1 -0
  92. package/dist/src/gui/terminalManager.d.ts +14 -0
  93. package/dist/src/gui/terminalManager.d.ts.map +1 -1
  94. package/dist/src/gui/terminalManager.js +25 -5
  95. package/dist/src/gui/terminalManager.js.map +1 -1
  96. package/dist/src/gui/transcript/clientBundle.d.ts +6 -1
  97. package/dist/src/gui/transcript/clientBundle.d.ts.map +1 -1
  98. package/dist/src/gui/transcript/clientBundle.js +6 -1
  99. package/dist/src/gui/transcript/clientBundle.js.map +1 -1
  100. package/dist/src/help/productCapabilities.d.ts +17 -0
  101. package/dist/src/help/productCapabilities.d.ts.map +1 -0
  102. package/dist/src/help/productCapabilities.js +146 -0
  103. package/dist/src/help/productCapabilities.js.map +1 -0
  104. package/dist/src/index.d.ts +21 -6
  105. package/dist/src/index.d.ts.map +1 -1
  106. package/dist/src/index.js +15 -5
  107. package/dist/src/index.js.map +1 -1
  108. package/dist/src/issues/issueExecution.d.ts.map +1 -1
  109. package/dist/src/issues/issueExecution.js +29 -9
  110. package/dist/src/issues/issueExecution.js.map +1 -1
  111. package/dist/src/manager/assistantGlobalTools.d.ts +44 -0
  112. package/dist/src/manager/assistantGlobalTools.d.ts.map +1 -1
  113. package/dist/src/manager/assistantGlobalTools.js +565 -34
  114. package/dist/src/manager/assistantGlobalTools.js.map +1 -1
  115. package/dist/src/manager/assistantProposals.d.ts +87 -0
  116. package/dist/src/manager/assistantProposals.d.ts.map +1 -0
  117. package/dist/src/manager/assistantProposals.js +207 -0
  118. package/dist/src/manager/assistantProposals.js.map +1 -0
  119. package/dist/src/manager/referenceIndex.d.ts +82 -0
  120. package/dist/src/manager/referenceIndex.d.ts.map +1 -0
  121. package/dist/src/manager/referenceIndex.js +167 -0
  122. package/dist/src/manager/referenceIndex.js.map +1 -0
  123. package/dist/src/manager/referenceOperations.d.ts +108 -0
  124. package/dist/src/manager/referenceOperations.d.ts.map +1 -0
  125. package/dist/src/manager/referenceOperations.js +821 -0
  126. package/dist/src/manager/referenceOperations.js.map +1 -0
  127. package/dist/src/manager/resolveTargetRef.d.ts +67 -0
  128. package/dist/src/manager/resolveTargetRef.d.ts.map +1 -0
  129. package/dist/src/manager/resolveTargetRef.js +81 -0
  130. package/dist/src/manager/resolveTargetRef.js.map +1 -0
  131. package/dist/src/memory/durableMemoryPipeline.d.ts +51 -0
  132. package/dist/src/memory/durableMemoryPipeline.d.ts.map +1 -0
  133. package/dist/src/memory/durableMemoryPipeline.js +266 -0
  134. package/dist/src/memory/durableMemoryPipeline.js.map +1 -0
  135. package/dist/src/memory/durableMemoryStore.d.ts +59 -0
  136. package/dist/src/memory/durableMemoryStore.d.ts.map +1 -0
  137. package/dist/src/memory/durableMemoryStore.js +194 -0
  138. package/dist/src/memory/durableMemoryStore.js.map +1 -0
  139. package/dist/src/memory/hadamardDream.d.ts +18 -0
  140. package/dist/src/memory/hadamardDream.d.ts.map +1 -1
  141. package/dist/src/memory/hadamardDream.js +119 -39
  142. package/dist/src/memory/hadamardDream.js.map +1 -1
  143. package/dist/src/memory/hadamardMemory.d.ts +20 -39
  144. package/dist/src/memory/hadamardMemory.d.ts.map +1 -1
  145. package/dist/src/memory/hadamardMemory.js +112 -450
  146. package/dist/src/memory/hadamardMemory.js.map +1 -1
  147. package/dist/src/memory/hadamardSessionMemoryState.d.ts +2 -5
  148. package/dist/src/memory/hadamardSessionMemoryState.d.ts.map +1 -1
  149. package/dist/src/memory/hadamardSessionMemoryState.js +5 -61
  150. package/dist/src/memory/hadamardSessionMemoryState.js.map +1 -1
  151. package/dist/src/memory/memoryCommandService.d.ts +25 -0
  152. package/dist/src/memory/memoryCommandService.d.ts.map +1 -0
  153. package/dist/src/memory/memoryCommandService.js +93 -0
  154. package/dist/src/memory/memoryCommandService.js.map +1 -0
  155. package/dist/src/memory/memoryProposalCommandService.d.ts.map +1 -1
  156. package/dist/src/memory/memoryProposalCommandService.js +2 -1
  157. package/dist/src/memory/memoryProposalCommandService.js.map +1 -1
  158. package/dist/src/memory/memoryProposalTools.d.ts +1 -0
  159. package/dist/src/memory/memoryProposalTools.d.ts.map +1 -1
  160. package/dist/src/memory/memoryProposalTools.js +16 -11
  161. package/dist/src/memory/memoryProposalTools.js.map +1 -1
  162. package/dist/src/parity/bridgeConfigs.d.ts +4 -0
  163. package/dist/src/parity/bridgeConfigs.d.ts.map +1 -1
  164. package/dist/src/parity/bridgeConfigs.js +30 -1
  165. package/dist/src/parity/bridgeConfigs.js.map +1 -1
  166. package/dist/src/router/modelRouter.d.ts +22 -2
  167. package/dist/src/router/modelRouter.d.ts.map +1 -1
  168. package/dist/src/router/modelRouter.js +76 -9
  169. package/dist/src/router/modelRouter.js.map +1 -1
  170. package/dist/src/runtime/agentClient.d.ts +24 -4
  171. package/dist/src/runtime/agentClient.d.ts.map +1 -1
  172. package/dist/src/runtime/agentClient.js +581 -262
  173. package/dist/src/runtime/agentClient.js.map +1 -1
  174. package/dist/src/runtime/agentSession.d.ts +8 -3
  175. package/dist/src/runtime/agentSession.d.ts.map +1 -1
  176. package/dist/src/runtime/agentSession.js +10 -3
  177. package/dist/src/runtime/agentSession.js.map +1 -1
  178. package/dist/src/runtime/agentTemplates.d.ts +28 -0
  179. package/dist/src/runtime/agentTemplates.d.ts.map +1 -0
  180. package/dist/src/runtime/agentTemplates.js +73 -0
  181. package/dist/src/runtime/agentTemplates.js.map +1 -0
  182. package/dist/src/runtime/conversationEngine.d.ts +4 -0
  183. package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
  184. package/dist/src/runtime/conversationEngine.js +52 -3
  185. package/dist/src/runtime/conversationEngine.js.map +1 -1
  186. package/dist/src/runtime/defaultHadamardAgents.d.ts.map +1 -1
  187. package/dist/src/runtime/defaultHadamardAgents.js +9 -47
  188. package/dist/src/runtime/defaultHadamardAgents.js.map +1 -1
  189. package/dist/src/runtime/effectiveAgentRunOptions.d.ts +49 -0
  190. package/dist/src/runtime/effectiveAgentRunOptions.d.ts.map +1 -0
  191. package/dist/src/runtime/effectiveAgentRunOptions.js +50 -0
  192. package/dist/src/runtime/effectiveAgentRunOptions.js.map +1 -0
  193. package/dist/src/runtime/externalAgentRunner.d.ts +25 -0
  194. package/dist/src/runtime/externalAgentRunner.d.ts.map +1 -0
  195. package/dist/src/runtime/externalAgentRunner.js +57 -0
  196. package/dist/src/runtime/externalAgentRunner.js.map +1 -0
  197. package/dist/src/runtime/hadamardAgentDefinitions.d.ts +15 -0
  198. package/dist/src/runtime/hadamardAgentDefinitions.d.ts.map +1 -1
  199. package/dist/src/runtime/hadamardAgentDefinitions.js +42 -2
  200. package/dist/src/runtime/hadamardAgentDefinitions.js.map +1 -1
  201. package/dist/src/runtime/hadamardAgents.d.ts +6 -0
  202. package/dist/src/runtime/hadamardAgents.d.ts.map +1 -1
  203. package/dist/src/runtime/hadamardAgents.js +52 -1
  204. package/dist/src/runtime/hadamardAgents.js.map +1 -1
  205. package/dist/src/runtime/hadamardCompact.d.ts +12 -1
  206. package/dist/src/runtime/hadamardCompact.d.ts.map +1 -1
  207. package/dist/src/runtime/hadamardCompact.js +91 -35
  208. package/dist/src/runtime/hadamardCompact.js.map +1 -1
  209. package/dist/src/runtime/hadamardPermissions.d.ts +1 -0
  210. package/dist/src/runtime/hadamardPermissions.d.ts.map +1 -1
  211. package/dist/src/runtime/hadamardPermissions.js +6 -0
  212. package/dist/src/runtime/hadamardPermissions.js.map +1 -1
  213. package/dist/src/runtime/hadamardSlashCommands.d.ts +7 -1
  214. package/dist/src/runtime/hadamardSlashCommands.d.ts.map +1 -1
  215. package/dist/src/runtime/hadamardSlashCommands.js +47 -5
  216. package/dist/src/runtime/hadamardSlashCommands.js.map +1 -1
  217. package/dist/src/runtime/tools.d.ts.map +1 -1
  218. package/dist/src/runtime/tools.js +2 -0
  219. package/dist/src/runtime/tools.js.map +1 -1
  220. package/dist/src/team/executorTarget.d.ts +26 -0
  221. package/dist/src/team/executorTarget.d.ts.map +1 -0
  222. package/dist/src/team/executorTarget.js +15 -0
  223. package/dist/src/team/executorTarget.js.map +1 -0
  224. package/dist/src/team/modelTeam.d.ts +5 -1
  225. package/dist/src/team/modelTeam.d.ts.map +1 -1
  226. package/dist/src/team/modelTeam.js +157 -41
  227. package/dist/src/team/modelTeam.js.map +1 -1
  228. package/dist/src/team/teamComposition.d.ts +20 -0
  229. package/dist/src/team/teamComposition.d.ts.map +1 -0
  230. package/dist/src/team/teamComposition.js +78 -0
  231. package/dist/src/team/teamComposition.js.map +1 -0
  232. package/dist/src/team/teamDefinitions.d.ts +10 -1
  233. package/dist/src/team/teamDefinitions.d.ts.map +1 -1
  234. package/dist/src/team/teamDefinitions.js +123 -16
  235. package/dist/src/team/teamDefinitions.js.map +1 -1
  236. package/dist/src/team/teamGraph.d.ts +1 -1
  237. package/dist/src/team/teamGraph.d.ts.map +1 -1
  238. package/dist/src/team/teamGraph.js +1 -1
  239. package/dist/src/team/teamGraph.js.map +1 -1
  240. package/dist/src/team/teamPrompts.d.ts.map +1 -1
  241. package/dist/src/team/teamPrompts.js +0 -4
  242. package/dist/src/team/teamPrompts.js.map +1 -1
  243. package/dist/src/team/teamProposalService.d.ts +9 -1
  244. package/dist/src/team/teamProposalService.d.ts.map +1 -1
  245. package/dist/src/team/teamProposalService.js +66 -6
  246. package/dist/src/team/teamProposalService.js.map +1 -1
  247. package/dist/src/team/teamPropose.d.ts +3 -1
  248. package/dist/src/team/teamPropose.d.ts.map +1 -1
  249. package/dist/src/team/teamPropose.js +16 -10
  250. package/dist/src/team/teamPropose.js.map +1 -1
  251. package/dist/src/team/teamRuntime.d.ts +5 -0
  252. package/dist/src/team/teamRuntime.d.ts.map +1 -1
  253. package/dist/src/team/teamRuntime.js +23 -5
  254. package/dist/src/team/teamRuntime.js.map +1 -1
  255. package/dist/src/team/workflowSquad.d.ts +10 -2
  256. package/dist/src/team/workflowSquad.d.ts.map +1 -1
  257. package/dist/src/team/workflowSquad.js +250 -12
  258. package/dist/src/team/workflowSquad.js.map +1 -1
  259. package/dist/src/tools/enterWorktree.d.ts.map +1 -1
  260. package/dist/src/tools/enterWorktree.js +3 -0
  261. package/dist/src/tools/enterWorktree.js.map +1 -1
  262. package/dist/src/tools/exaSearch.d.ts +2 -2
  263. package/dist/src/tools/exitWorktree.d.ts.map +1 -1
  264. package/dist/src/tools/exitWorktree.js +3 -1
  265. package/dist/src/tools/exitWorktree.js.map +1 -1
  266. package/dist/src/tools/hadamardCoreTools.d.ts +5 -14
  267. package/dist/src/tools/hadamardCoreTools.d.ts.map +1 -1
  268. package/dist/src/tools/hadamardCoreTools.js +31 -0
  269. package/dist/src/tools/hadamardCoreTools.js.map +1 -1
  270. package/dist/src/tools/hadamardFileTools.d.ts.map +1 -1
  271. package/dist/src/tools/hadamardFileTools.js +116 -38
  272. package/dist/src/tools/hadamardFileTools.js.map +1 -1
  273. package/dist/src/tools/planMode/PlanModeTools.d.ts +22 -0
  274. package/dist/src/tools/planMode/PlanModeTools.d.ts.map +1 -1
  275. package/dist/src/tools/planMode/PlanModeTools.js +102 -5
  276. package/dist/src/tools/planMode/PlanModeTools.js.map +1 -1
  277. package/dist/src/tools/todo/TodoWriteTool.d.ts +1 -1
  278. package/dist/src/tui/hadamardTui.d.ts.map +1 -1
  279. package/dist/src/tui/hadamardTui.js +387 -168
  280. package/dist/src/tui/hadamardTui.js.map +1 -1
  281. package/dist/src/tui/pendingInput.d.ts +17 -0
  282. package/dist/src/tui/pendingInput.d.ts.map +1 -0
  283. package/dist/src/tui/pendingInput.js +23 -0
  284. package/dist/src/tui/pendingInput.js.map +1 -0
  285. package/dist/src/tui/reasoningDisplay.d.ts +13 -0
  286. package/dist/src/tui/reasoningDisplay.d.ts.map +1 -0
  287. package/dist/src/tui/reasoningDisplay.js +45 -0
  288. package/dist/src/tui/reasoningDisplay.js.map +1 -0
  289. package/dist/src/tui/screen.d.ts +11 -1
  290. package/dist/src/tui/screen.d.ts.map +1 -1
  291. package/dist/src/tui/screen.js +64 -34
  292. package/dist/src/tui/screen.js.map +1 -1
  293. package/dist/src/types.d.ts +210 -77
  294. package/dist/src/types.d.ts.map +1 -1
  295. package/dist/src/types.js.map +1 -1
  296. package/dist/src/ui/commandSurface.d.ts +8 -0
  297. package/dist/src/ui/commandSurface.d.ts.map +1 -1
  298. package/dist/src/ui/commandSurface.js +78 -13
  299. package/dist/src/ui/commandSurface.js.map +1 -1
  300. package/dist/src/update/appUpdateService.d.ts +34 -1
  301. package/dist/src/update/appUpdateService.d.ts.map +1 -1
  302. package/dist/src/update/appUpdateService.js +114 -9
  303. package/dist/src/update/appUpdateService.js.map +1 -1
  304. package/package.json +3 -2
  305. package/dist/src/prompts/outputStyles.d.ts +0 -20
  306. package/dist/src/prompts/outputStyles.d.ts.map +0 -1
  307. package/dist/src/prompts/outputStyles.js +0 -35
  308. package/dist/src/prompts/outputStyles.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"goalStore.d.ts","sourceRoot":"","sources":["../../../src/goal/goalStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"goalStore.d.ts","sourceRoot":"","sources":["../../../src/goal/goalStore.ts"],"names":[],"mappings":"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"}
@@ -104,8 +104,8 @@ export function normalizeGoal(raw, now) {
104
104
  if (typeof raw !== 'object' || Array.isArray(raw))
105
105
  return null;
106
106
  const record = raw;
107
- // Already a v1 (or later) contract.
108
- if (typeof record.version === 'number' && record.version >= GOAL_SCHEMA_VERSION) {
107
+ // Already a versioned contract. Coercion upgrades older versions in memory.
108
+ if (typeof record.version === 'number' && record.version >= 1) {
109
109
  return coerceV1(record, now);
110
110
  }
111
111
  // Legacy { objective, status, setAt }.
@@ -118,8 +118,15 @@ export function normalizeGoal(raw, now) {
118
118
  version: GOAL_SCHEMA_VERSION,
119
119
  objective: legacy.objective,
120
120
  status,
121
+ consumption: { turns: 0, toolIterations: 0, tokens: 0 },
122
+ delivery: { validatedTurns: 0, completedWorkItems: 0, evidenceItems: 0 },
121
123
  evidence: [],
122
124
  blockAudit: [],
125
+ turnReceipts: [],
126
+ workItems: [legacyWorkItem(legacy.objective, createdAt)],
127
+ workItemRequests: [],
128
+ planRevision: 0,
129
+ replanAudit: [],
123
130
  createdAt,
124
131
  updatedAt: createdAt,
125
132
  revision: 0,
@@ -130,6 +137,10 @@ function coerceV1(record, now) {
130
137
  if (!objective.trim())
131
138
  return null;
132
139
  const status = coerceStatus(record.status) ?? 'active';
140
+ const createdAt = typeof record.createdAt === 'string' ? record.createdAt : now;
141
+ const workItems = Array.isArray(record.workItems)
142
+ ? record.workItems.filter(isWorkItem)
143
+ : [];
133
144
  return {
134
145
  version: GOAL_SCHEMA_VERSION,
135
146
  objective,
@@ -138,9 +149,35 @@ function coerceV1(record, now) {
138
149
  ? { completionCriteria: record.completionCriteria }
139
150
  : {}),
140
151
  ...(isBudget(record.budget) ? { budget: record.budget } : {}),
152
+ consumption: isConsumption(record.consumption)
153
+ ? record.consumption
154
+ : { turns: 0, toolIterations: 0, tokens: 0 },
155
+ delivery: isDeliveryConsumption(record.delivery)
156
+ ? record.delivery
157
+ : { validatedTurns: 0, completedWorkItems: 0, evidenceItems: 0 },
141
158
  evidence: Array.isArray(record.evidence) ? record.evidence.filter(isEvidence) : [],
142
159
  blockAudit: Array.isArray(record.blockAudit) ? record.blockAudit.filter(isBlockAudit) : [],
143
- createdAt: typeof record.createdAt === 'string' ? record.createdAt : now,
160
+ turnReceipts: Array.isArray(record.turnReceipts)
161
+ ? record.turnReceipts.filter(isTurnReceipt)
162
+ : [],
163
+ workItems: workItems.length > 0 || status === 'complete' || status === 'cancelled'
164
+ ? workItems
165
+ : [legacyWorkItem(objective, createdAt)],
166
+ workItemRequests: Array.isArray(record.workItemRequests)
167
+ ? record.workItemRequests.filter(isWorkItemUpdateRequest)
168
+ : [],
169
+ planRevision: isNonNegativeInt(record.planRevision) ? Number(record.planRevision) : 0,
170
+ replanAudit: Array.isArray(record.replanAudit)
171
+ ? record.replanAudit.filter(isReplanAudit)
172
+ : [],
173
+ ...(isForcedReplan(record.forcedReplan) ? { forcedReplan: record.forcedReplan } : {}),
174
+ ...(typeof record.noFollowupReason === 'string' && record.noFollowupReason.trim()
175
+ ? { noFollowupReason: record.noFollowupReason }
176
+ : {}),
177
+ ...(isCompletionRequest(record.completionRequest)
178
+ ? { completionRequest: record.completionRequest }
179
+ : {}),
180
+ createdAt,
144
181
  updatedAt: typeof record.updatedAt === 'string' ? record.updatedAt : now,
145
182
  revision: typeof record.revision === 'number' && Number.isFinite(record.revision)
146
183
  ? Math.max(0, Math.floor(record.revision))
@@ -151,7 +188,13 @@ function coerceLegacyStatus(value) {
151
188
  return coerceStatus(value) ?? 'active';
152
189
  }
153
190
  function coerceStatus(value) {
154
- if (value === 'active' || value === 'paused' || value === 'complete' || value === 'blocked') {
191
+ if (value === 'active'
192
+ || value === 'waiting_user'
193
+ || value === 'waiting_external'
194
+ || value === 'paused'
195
+ || value === 'complete'
196
+ || value === 'blocked'
197
+ || value === 'cancelled') {
155
198
  return value;
156
199
  }
157
200
  return undefined;
@@ -163,7 +206,8 @@ function isBudget(value) {
163
206
  const hasMaxTurns = 'maxTurns' in record;
164
207
  const hasMaxToolIterations = 'maxToolIterations' in record;
165
208
  const hasMaxTokens = 'maxTokens' in record;
166
- if (!hasMaxTurns && !hasMaxToolIterations && !hasMaxTokens)
209
+ const hasMaxValidatedTurns = 'maxValidatedTurns' in record;
210
+ if (!hasMaxTurns && !hasMaxToolIterations && !hasMaxTokens && !hasMaxValidatedTurns)
167
211
  return false;
168
212
  if (hasMaxTurns && !isNonNegativeInt(record.maxTurns))
169
213
  return false;
@@ -171,6 +215,8 @@ function isBudget(value) {
171
215
  return false;
172
216
  if (hasMaxTokens && !isNonNegativeInt(record.maxTokens))
173
217
  return false;
218
+ if (hasMaxValidatedTurns && !isNonNegativeInt(record.maxValidatedTurns))
219
+ return false;
174
220
  return true;
175
221
  }
176
222
  function isNonNegativeInt(value) {
@@ -182,12 +228,133 @@ function isEvidence(value) {
182
228
  const record = value;
183
229
  if (typeof record.at !== 'string' || typeof record.note !== 'string')
184
230
  return false;
231
+ if ('id' in record && typeof record.id !== 'string')
232
+ return false;
233
+ if ('kind' in record && !['progress', 'tool_result', 'validation', 'user_decision', 'artifact'].includes(String(record.kind)))
234
+ return false;
235
+ if ('ref' in record && typeof record.ref !== 'string')
236
+ return false;
237
+ if ('verified' in record && typeof record.verified !== 'boolean')
238
+ return false;
185
239
  if ('toolCalls' in record && !isNonNegativeInt(record.toolCalls))
186
240
  return false;
187
241
  if ('tokens' in record && !isNonNegativeInt(record.tokens))
188
242
  return false;
189
243
  return true;
190
244
  }
245
+ function isConsumption(value) {
246
+ if (!value || typeof value !== 'object' || Array.isArray(value))
247
+ return false;
248
+ const record = value;
249
+ return isNonNegativeInt(record.turns)
250
+ && isNonNegativeInt(record.toolIterations)
251
+ && isNonNegativeInt(record.tokens);
252
+ }
253
+ function isDeliveryConsumption(value) {
254
+ if (!value || typeof value !== 'object' || Array.isArray(value))
255
+ return false;
256
+ const record = value;
257
+ return isNonNegativeInt(record.validatedTurns)
258
+ && isNonNegativeInt(record.completedWorkItems)
259
+ && isNonNegativeInt(record.evidenceItems);
260
+ }
261
+ function isCompletionRequest(value) {
262
+ if (!value || typeof value !== 'object' || Array.isArray(value))
263
+ return false;
264
+ const record = value;
265
+ return typeof record.at === 'string'
266
+ && typeof record.note === 'string'
267
+ && Array.isArray(record.evidenceRefs)
268
+ && record.evidenceRefs.every(item => typeof item === 'string');
269
+ }
270
+ function isTurnReceipt(value) {
271
+ if (!value || typeof value !== 'object' || Array.isArray(value))
272
+ return false;
273
+ const record = value;
274
+ const validation = record.validation;
275
+ return typeof record.id === 'string'
276
+ && typeof record.runId === 'string'
277
+ && (!('workItemId' in record) || typeof record.workItemId === 'string')
278
+ && typeof record.at === 'string'
279
+ && [
280
+ 'validated_progress',
281
+ 'validated_completion',
282
+ 'no_change',
283
+ 'user_action_required',
284
+ 'wait',
285
+ 'replan_required',
286
+ 'validation_failed',
287
+ 'failed',
288
+ 'interrupted',
289
+ ].includes(String(record.outcome))
290
+ && Array.isArray(record.evidenceRefs)
291
+ && record.evidenceRefs.every(item => typeof item === 'string')
292
+ && isConsumption(record.usage)
293
+ && Boolean(validation)
294
+ && ['passed', 'failed', 'not_applicable'].includes(String(validation?.status));
295
+ }
296
+ function isWorkItem(value) {
297
+ if (!value || typeof value !== 'object' || Array.isArray(value))
298
+ return false;
299
+ const record = value;
300
+ return typeof record.id === 'string'
301
+ && ['agent', 'user'].includes(String(record.role))
302
+ && ['P0', 'P1', 'P2'].includes(String(record.priority))
303
+ && ['advancement', 'verification', 'monitor', 'user_gate'].includes(String(record.taskClass))
304
+ && typeof record.actionKind === 'string'
305
+ && typeof record.text === 'string'
306
+ && ['open', 'claimed', 'running', 'done', 'deferred', 'cancelled'].includes(String(record.status))
307
+ && Array.isArray(record.dependsOn)
308
+ && record.dependsOn.every(item => typeof item === 'string')
309
+ && Array.isArray(record.evidenceRefs)
310
+ && record.evidenceRefs.every(item => typeof item === 'string')
311
+ && (!('roleScopes' in record) || (Array.isArray(record.roleScopes) && record.roleScopes.every(item => typeof item === 'string')))
312
+ && (!('excludedAgentIds' in record) || (Array.isArray(record.excludedAgentIds) && record.excludedAgentIds.every(item => typeof item === 'string')))
313
+ && typeof record.createdAt === 'string'
314
+ && typeof record.updatedAt === 'string';
315
+ }
316
+ function isWorkItemUpdateRequest(value) {
317
+ if (!value || typeof value !== 'object' || Array.isArray(value))
318
+ return false;
319
+ const record = value;
320
+ return typeof record.at === 'string'
321
+ && typeof record.workItemId === 'string'
322
+ && ['open', 'done', 'deferred', 'cancelled'].includes(String(record.status))
323
+ && typeof record.note === 'string'
324
+ && Array.isArray(record.evidenceRefs)
325
+ && record.evidenceRefs.every(item => typeof item === 'string');
326
+ }
327
+ function isReplanAudit(value) {
328
+ if (!value || typeof value !== 'object' || Array.isArray(value))
329
+ return false;
330
+ const record = value;
331
+ return typeof record.at === 'string'
332
+ && typeof record.trigger === 'string'
333
+ && typeof record.frontierFingerprint === 'string'
334
+ && isNonNegativeInt(record.repeat)
335
+ && typeof record.deltaRecorded === 'boolean';
336
+ }
337
+ function legacyWorkItem(objective, at) {
338
+ return {
339
+ id: 'goal-work:1',
340
+ role: 'agent',
341
+ priority: 'P0',
342
+ taskClass: 'advancement',
343
+ actionKind: 'advance',
344
+ text: objective,
345
+ status: 'open',
346
+ dependsOn: [],
347
+ evidenceRefs: [],
348
+ createdAt: at,
349
+ updatedAt: at,
350
+ };
351
+ }
352
+ function isForcedReplan(value) {
353
+ if (!value || typeof value !== 'object' || Array.isArray(value))
354
+ return false;
355
+ const record = value;
356
+ return typeof record.at === 'string' && typeof record.reason === 'string';
357
+ }
191
358
  function isBlockAudit(value) {
192
359
  if (!value || typeof value !== 'object' || Array.isArray(value))
193
360
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"goalStore.js","sourceRoot":"","sources":["../../../src/goal/goalStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"goalStore.js","sourceRoot":"","sources":["../../../src/goal/goalStore.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ import { GoalService } from './goalService.js';
3
3
  export declare const GET_GOAL_TOOL_NAME = "GetGoal";
4
4
  export declare const CREATE_GOAL_TOOL_NAME = "CreateGoal";
5
5
  export declare const UPDATE_GOAL_TOOL_NAME = "UpdateGoal";
6
- export declare const GOAL_TOOLS_PROMPT = "## GetGoal / CreateGoal / UpdateGoal\n\nUse these tools to manage the active session goal. A goal is a session-scoped\nexecution contract with an objective, optional completion criteria, a budget,\nand progress evidence. The active goal is injected into your context each turn.\n\n- GetGoal: read the current goal (objective, status, criteria, budget, recent evidence).\n- CreateGoal: set a new goal (replaces any existing one). Use when the user gives a task with a clear objective.\n- UpdateGoal: record progress, or request a terminal status. \"complete\" requires evidence. A \"blocked\" report is audited; the Goal becomes blocked only after the same reason repeats for three consecutive Goal turns. \"paused\"/\"active\" status changes are user-driven via /goal, not this tool.\n\nRecord progress with UpdateGoal at meaningful checkpoints. Mark complete only when the completion criteria are genuinely met, and include evidence. Report blocked only when you cannot proceed, with a concrete reason. Include expectedRevision after GetGoal when coordinating concurrent updates.";
6
+ export declare const PLAN_GOAL_TOOL_NAME = "PlanGoal";
7
+ export declare const GOAL_TOOLS_PROMPT = "## GetGoal / CreateGoal / UpdateGoal\n\nUse these tools to manage the active project goal. A goal is a project-scoped\nexecution contract with an objective, optional completion criteria, a budget,\nand progress evidence. The active goal is injected into your context each turn.\n\n- GetGoal: read the current goal (objective, status, criteria, budget, recent evidence).\n- CreateGoal: set a new goal (replaces any existing one). Use when the user gives a task with a clear objective.\n- PlanGoal: replace or extend the ordered work frontier. Use it when the runtime requests a replan or the bootstrap item needs decomposition.\n- UpdateGoal: request a work-item transition, record progress, or request a terminal status. Work-item and Goal completion are settled after the turn and require runtime-observed evidence refs. A \"blocked\" report is audited; the Goal becomes blocked only after the same reason repeats for three consecutive Goal turns. \"paused\"/\"active\" status changes are user-driven via /goal, not this tool.\n\nRecord progress with UpdateGoal at meaningful checkpoints. Mark complete only when the completion criteria are genuinely met, and include evidence. Report blocked only when you cannot proceed, with a concrete reason. Include expectedRevision after GetGoal when coordinating concurrent updates.";
7
8
  export interface GoalToolContext {
8
9
  /** Provides the GoalService for the current session. */
9
10
  getGoalService: () => GoalService;
@@ -1 +1 @@
1
- {"version":3,"file":"goalTools.d.ts","sourceRoot":"","sources":["../../../src/goal/goalTools.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAC5C,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,eAAO,MAAM,iBAAiB,6jCAUwQ,CAAC;AAEvS,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,cAAc,EAAE,MAAM,WAAW,CAAC;CACnC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,mBAAmB,EAAE,CAkG3E"}
1
+ {"version":3,"file":"goalTools.d.ts","sourceRoot":"","sources":["../../../src/goal/goalTools.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAC5C,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C,eAAO,MAAM,iBAAiB,izCAWwQ,CAAC;AAEvS,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,cAAc,EAAE,MAAM,WAAW,CAAC;CACnC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,mBAAmB,EAAE,CA+J3E"}
@@ -15,15 +15,17 @@ import { tool } from '../runtime/tools.js';
15
15
  export const GET_GOAL_TOOL_NAME = 'GetGoal';
16
16
  export const CREATE_GOAL_TOOL_NAME = 'CreateGoal';
17
17
  export const UPDATE_GOAL_TOOL_NAME = 'UpdateGoal';
18
+ export const PLAN_GOAL_TOOL_NAME = 'PlanGoal';
18
19
  export const GOAL_TOOLS_PROMPT = `## GetGoal / CreateGoal / UpdateGoal
19
20
 
20
- Use these tools to manage the active session goal. A goal is a session-scoped
21
+ Use these tools to manage the active project goal. A goal is a project-scoped
21
22
  execution contract with an objective, optional completion criteria, a budget,
22
23
  and progress evidence. The active goal is injected into your context each turn.
23
24
 
24
25
  - GetGoal: read the current goal (objective, status, criteria, budget, recent evidence).
25
26
  - CreateGoal: set a new goal (replaces any existing one). Use when the user gives a task with a clear objective.
26
- - UpdateGoal: record progress, or request a terminal status. "complete" requires evidence. A "blocked" report is audited; the Goal becomes blocked only after the same reason repeats for three consecutive Goal turns. "paused"/"active" status changes are user-driven via /goal, not this tool.
27
+ - PlanGoal: replace or extend the ordered work frontier. Use it when the runtime requests a replan or the bootstrap item needs decomposition.
28
+ - UpdateGoal: request a work-item transition, record progress, or request a terminal status. Work-item and Goal completion are settled after the turn and require runtime-observed evidence refs. A "blocked" report is audited; the Goal becomes blocked only after the same reason repeats for three consecutive Goal turns. "paused"/"active" status changes are user-driven via /goal, not this tool.
27
29
 
28
30
  Record progress with UpdateGoal at meaningful checkpoints. Mark complete only when the completion criteria are genuinely met, and include evidence. Report blocked only when you cannot proceed, with a concrete reason. Include expectedRevision after GetGoal when coordinating concurrent updates.`;
29
31
  export function createGoalTools(ctx) {
@@ -40,7 +42,7 @@ export function createGoalTools(ctx) {
40
42
  });
41
43
  const create = tool({
42
44
  name: CREATE_GOAL_TOOL_NAME,
43
- description: 'Create a new session goal (replaces any existing goal). Use when the user gives a task with a clear objective. Provide a concise objective and, if known, measurable completion criteria and an optional budget.',
45
+ description: 'Create a new session goal (replaces any existing goal). Use only when the user explicitly asks to start or set a Goal. Provide a concise objective and, if known, measurable completion criteria and an optional budget.',
44
46
  inputSchema: z.strictObject({
45
47
  objective: z.string().min(1).describe('The goal objective: what success looks like, concisely.'),
46
48
  completionCriteria: z.string().optional().describe('Measurable criteria for declaring the goal complete.'),
@@ -48,6 +50,7 @@ export function createGoalTools(ctx) {
48
50
  maxTurns: z.number().int().nonnegative().optional(),
49
51
  maxToolIterations: z.number().int().nonnegative().optional(),
50
52
  maxTokens: z.number().int().nonnegative().optional(),
53
+ maxValidatedTurns: z.number().int().nonnegative().optional(),
51
54
  }).optional().describe('Optional execution budget. Unset fields mean unbounded.'),
52
55
  }),
53
56
  isReadOnly: () => true,
@@ -61,6 +64,38 @@ export function createGoalTools(ctx) {
61
64
  });
62
65
  return { goal: summarizeGoal(goal), created: true };
63
66
  });
67
+ const plan = tool({
68
+ name: PLAN_GOAL_TOOL_NAME,
69
+ description: 'Write a validated ordered Goal frontier. Replace the bootstrap plan when decomposing a Goal; extend only when adding successors.',
70
+ inputSchema: z.strictObject({
71
+ replace: z.boolean().optional().describe('Replace the existing frontier. Defaults to true.'),
72
+ reason: z.string().optional().describe('Why this plan or replan is needed.'),
73
+ expectedRevision: z.number().int().nonnegative().optional(),
74
+ items: z.array(z.strictObject({
75
+ id: z.string().optional(),
76
+ role: z.enum(['agent', 'user']).optional(),
77
+ priority: z.enum(['P0', 'P1', 'P2']).optional(),
78
+ taskClass: z.enum(['advancement', 'verification', 'monitor', 'user_gate']).optional(),
79
+ actionKind: z.string().optional(),
80
+ text: z.string().min(1),
81
+ dependsOn: z.array(z.string()).optional(),
82
+ successorOf: z.string().optional(),
83
+ resumeWhen: z.string().optional(),
84
+ roleScopes: z.array(z.string().min(1)).optional(),
85
+ excludedAgentIds: z.array(z.string().min(1)).optional(),
86
+ })).min(1),
87
+ }),
88
+ isReadOnly: () => true,
89
+ prompt: () => GOAL_TOOLS_PROMPT,
90
+ }, async (input) => {
91
+ const result = await ctx.getGoalService().plan({
92
+ items: input.items,
93
+ ...(input.replace !== undefined ? { replace: input.replace } : {}),
94
+ ...(input.reason ? { reason: input.reason } : {}),
95
+ ...(typeof input.expectedRevision === 'number' ? { expectedRevision: input.expectedRevision } : {}),
96
+ });
97
+ return formatResult(result);
98
+ });
64
99
  const update = tool({
65
100
  name: UPDATE_GOAL_TOOL_NAME,
66
101
  description: 'Update the active goal: record progress evidence, or transition status. Use status "complete" (with evidence note) when the objective is met, or "blocked" (with reason) when you cannot proceed. Do not use this tool to pause/resume - that is user-driven via /goal.',
@@ -69,6 +104,13 @@ export function createGoalTools(ctx) {
69
104
  .describe('New status. "complete" and "blocked" require evidence/reason. Omit to record progress only.'),
70
105
  note: z.string().optional().describe('Progress evidence or completion evidence. Required for "complete".'),
71
106
  reason: z.string().optional().describe('Block reason. Required for "blocked".'),
107
+ evidenceRefs: z.array(z.string()).optional()
108
+ .describe('Runtime-observed evidence refs for a completion request, for example tool:<call-id>.'),
109
+ workItemId: z.string().optional().describe('Selected Goal work item to update.'),
110
+ workItemStatus: z.enum(['open', 'done', 'deferred', 'cancelled']).optional(),
111
+ noFollowupReason: z.string().optional()
112
+ .describe('Explicit terminal rationale when completing the final work item without a successor.'),
113
+ resumeWhen: z.string().optional().describe('Exact condition for a deferred item to become runnable.'),
72
114
  turn: z.number().int().nonnegative().optional().describe('Runtime turn index when a block was detected.'),
73
115
  expectedRevision: z.number().int().nonnegative().optional()
74
116
  .describe('Revision returned by GetGoal. The update is rejected if another actor changed the Goal.'),
@@ -78,9 +120,25 @@ export function createGoalTools(ctx) {
78
120
  }, async (input) => {
79
121
  const service = ctx.getGoalService();
80
122
  const status = input.status;
123
+ if (input.workItemId || input.workItemStatus) {
124
+ if (!input.workItemId || !input.workItemStatus) {
125
+ return { ok: false, message: 'workItemId and workItemStatus must be provided together.' };
126
+ }
127
+ const result = await service.requestWorkItemUpdate({
128
+ workItemId: input.workItemId,
129
+ status: input.workItemStatus,
130
+ note: input.note ?? '',
131
+ ...(input.evidenceRefs ? { evidenceRefs: input.evidenceRefs } : {}),
132
+ ...(input.noFollowupReason ? { noFollowupReason: input.noFollowupReason } : {}),
133
+ ...(input.resumeWhen ? { resumeWhen: input.resumeWhen } : {}),
134
+ ...(typeof input.expectedRevision === 'number' ? { expectedRevision: input.expectedRevision } : {}),
135
+ });
136
+ return formatResult(result);
137
+ }
81
138
  if (status === 'complete') {
82
- const result = await service.complete({
139
+ const result = await service.requestCompletion({
83
140
  note: input.note ?? '',
141
+ ...(input.evidenceRefs ? { evidenceRefs: input.evidenceRefs } : {}),
84
142
  ...(typeof input.expectedRevision === 'number'
85
143
  ? { expectedRevision: input.expectedRevision }
86
144
  : {}),
@@ -108,7 +166,7 @@ export function createGoalTools(ctx) {
108
166
  });
109
167
  return formatResult(result);
110
168
  });
111
- return [get, create, update];
169
+ return [get, create, plan, update];
112
170
  }
113
171
  function summarizeGoal(goal) {
114
172
  return {
@@ -116,8 +174,15 @@ function summarizeGoal(goal) {
116
174
  status: goal.status,
117
175
  ...(goal.completionCriteria ? { completionCriteria: goal.completionCriteria } : {}),
118
176
  ...(goal.budget ? { budget: goal.budget } : {}),
177
+ consumption: goal.consumption,
119
178
  evidence: goal.evidence.slice(-5),
120
179
  blockAudit: goal.blockAudit.slice(-5),
180
+ turnReceipts: goal.turnReceipts.slice(-5),
181
+ workItems: goal.workItems,
182
+ planRevision: goal.planRevision,
183
+ replanAudit: goal.replanAudit.slice(-5),
184
+ ...(goal.noFollowupReason ? { noFollowupReason: goal.noFollowupReason } : {}),
185
+ ...(goal.completionRequest ? { completionRequest: goal.completionRequest } : {}),
121
186
  revision: goal.revision,
122
187
  updatedAt: goal.updatedAt,
123
188
  };
@@ -1 +1 @@
1
- {"version":3,"file":"goalTools.js","sourceRoot":"","sources":["../../../src/goal/goalTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"goalTools.js","sourceRoot":"","sources":["../../../src/goal/goalTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { AgentPool } from '../team/agentPool.js';
2
+ import { ProjectGoalStore } from './projectGoalStore.js';
3
+ import type { GoalHandoffReceipt, GoalWorkClaim } from './types.js';
4
+ export interface GoalWorkerIdentity {
5
+ agentId: string;
6
+ roleScopes?: string[];
7
+ }
8
+ export type GoalWorkerOutcome = {
9
+ kind: 'completed';
10
+ evidenceRefs: string[];
11
+ } | {
12
+ kind: 'handoff';
13
+ reason: string;
14
+ toAgentId?: string;
15
+ toAgentRoleScopes?: string[];
16
+ evidenceRefs?: string[];
17
+ } | {
18
+ kind: 'released';
19
+ reason: string;
20
+ };
21
+ export interface GoalWorkerRunResult {
22
+ worker: GoalWorkerIdentity;
23
+ claim?: GoalWorkClaim;
24
+ outcome?: GoalWorkerOutcome;
25
+ handoff?: GoalHandoffReceipt;
26
+ skipped?: true;
27
+ error?: string;
28
+ }
29
+ /** Symmetric worker coordination: SQLite owns claims; AgentPool only limits concurrency. */
30
+ export declare class GoalWorkCoordinator {
31
+ private readonly store;
32
+ private readonly pool;
33
+ constructor(store: ProjectGoalStore, pool: AgentPool);
34
+ claim(goalId: string, worker: GoalWorkerIdentity, leaseMs?: number): GoalWorkClaim | undefined;
35
+ runWorkers(input: {
36
+ goalId: string;
37
+ workers: GoalWorkerIdentity[];
38
+ leaseMs?: number;
39
+ acquireTimeoutMs?: number;
40
+ run: (claim: GoalWorkClaim, worker: GoalWorkerIdentity) => Promise<GoalWorkerOutcome>;
41
+ }): Promise<GoalWorkerRunResult[]>;
42
+ }
43
+ //# sourceMappingURL=goalWorkCoordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goalWorkCoordinator.d.ts","sourceRoot":"","sources":["../../../src/goal/goalWorkCoordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC9G;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4FAA4F;AAC5F,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,SAAS;IAGlC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAWxF,UAAU,CAAC,KAAK,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACvF,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;CA8CnC"}
@@ -0,0 +1,72 @@
1
+ /** Symmetric worker coordination: SQLite owns claims; AgentPool only limits concurrency. */
2
+ export class GoalWorkCoordinator {
3
+ store;
4
+ pool;
5
+ constructor(store, pool) {
6
+ this.store = store;
7
+ this.pool = pool;
8
+ }
9
+ claim(goalId, worker, leaseMs) {
10
+ const claim = this.store.claimNextWork({
11
+ goalId,
12
+ agentId: worker.agentId,
13
+ ...(worker.roleScopes ? { roleScopes: worker.roleScopes } : {}),
14
+ ...(leaseMs !== undefined ? { leaseMs } : {}),
15
+ });
16
+ if (claim)
17
+ this.store.markClaimRunning(claim.claimToken);
18
+ return claim;
19
+ }
20
+ async runWorkers(input) {
21
+ return Promise.all(input.workers.map(async (worker) => {
22
+ const slot = await this.pool.acquire(input.acquireTimeoutMs);
23
+ let claim;
24
+ try {
25
+ claim = this.claim(input.goalId, worker, input.leaseMs);
26
+ if (!claim)
27
+ return { worker, skipped: true };
28
+ const outcome = await input.run(claim, worker);
29
+ if (outcome.kind === 'handoff') {
30
+ const handoff = this.store.handoffWork({
31
+ claimToken: claim.claimToken,
32
+ reason: outcome.reason,
33
+ ...(outcome.toAgentId ? { toAgentId: outcome.toAgentId } : {}),
34
+ ...(outcome.toAgentRoleScopes ? { toAgentRoleScopes: outcome.toAgentRoleScopes } : {}),
35
+ ...(outcome.evidenceRefs ? { evidenceRefs: outcome.evidenceRefs } : {}),
36
+ ...(input.leaseMs !== undefined ? { leaseMs: input.leaseMs } : {}),
37
+ });
38
+ return {
39
+ worker,
40
+ claim,
41
+ outcome,
42
+ ...(handoff ? { handoff: handoff.receipt } : {}),
43
+ ...(!handoff ? { error: 'Handoff target is outside the work-item scope.' } : {}),
44
+ };
45
+ }
46
+ if (outcome.kind === 'completed') {
47
+ if (!this.store.completeWorkClaim(claim.claimToken, outcome.evidenceRefs)) {
48
+ this.store.releaseWorkClaim(claim.claimToken, 'completion_evidence_missing');
49
+ return { worker, claim, outcome, error: 'Worker completion requires evidence refs.' };
50
+ }
51
+ }
52
+ else {
53
+ this.store.releaseWorkClaim(claim.claimToken, outcome.reason);
54
+ }
55
+ return { worker, claim, outcome };
56
+ }
57
+ catch (error) {
58
+ if (claim)
59
+ this.store.releaseWorkClaim(claim.claimToken, 'worker_failed');
60
+ return {
61
+ worker,
62
+ ...(claim ? { claim } : {}),
63
+ error: error instanceof Error ? error.message : String(error),
64
+ };
65
+ }
66
+ finally {
67
+ slot.release();
68
+ }
69
+ }));
70
+ }
71
+ }
72
+ //# sourceMappingURL=goalWorkCoordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goalWorkCoordinator.js","sourceRoot":"","sources":["../../../src/goal/goalWorkCoordinator.ts"],"names":[],"mappings":"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"}