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.
- package/CHANGELOG.md +42 -0
- package/dist/src/computer/hadamardComputerUse.d.ts +15 -0
- package/dist/src/computer/hadamardComputerUse.d.ts.map +1 -1
- package/dist/src/computer/hadamardComputerUse.js +120 -4
- package/dist/src/computer/hadamardComputerUse.js.map +1 -1
- package/dist/src/config/agentDefinitionMigration.d.ts +125 -0
- package/dist/src/config/agentDefinitionMigration.d.ts.map +1 -0
- package/dist/src/config/agentDefinitionMigration.js +540 -0
- package/dist/src/config/agentDefinitionMigration.js.map +1 -0
- package/dist/src/config/agentProfiles.d.ts +23 -0
- package/dist/src/config/agentProfiles.d.ts.map +1 -1
- package/dist/src/config/agentProfiles.js +69 -13
- package/dist/src/config/agentProfiles.js.map +1 -1
- package/dist/src/config/hadamardHome.js +0 -1
- package/dist/src/config/hadamardHome.js.map +1 -1
- package/dist/src/config/modelConfigurationCatalog.d.ts +25 -0
- package/dist/src/config/modelConfigurationCatalog.d.ts.map +1 -0
- package/dist/src/config/modelConfigurationCatalog.js +50 -0
- package/dist/src/config/modelConfigurationCatalog.js.map +1 -0
- package/dist/src/config/projectSettings.d.ts +62 -0
- package/dist/src/config/projectSettings.d.ts.map +1 -0
- package/dist/src/config/projectSettings.js +242 -0
- package/dist/src/config/projectSettings.js.map +1 -0
- package/dist/src/config/resolveRuntimeConfig.d.ts.map +1 -1
- package/dist/src/config/resolveRuntimeConfig.js +97 -4
- package/dist/src/config/resolveRuntimeConfig.js.map +1 -1
- package/dist/src/goal/goalCommandService.d.ts +11 -0
- package/dist/src/goal/goalCommandService.d.ts.map +1 -0
- package/dist/src/goal/goalCommandService.js +138 -0
- package/dist/src/goal/goalCommandService.js.map +1 -0
- package/dist/src/goal/goalContinuation.d.ts +50 -0
- package/dist/src/goal/goalContinuation.d.ts.map +1 -0
- package/dist/src/goal/goalContinuation.js +131 -0
- package/dist/src/goal/goalContinuation.js.map +1 -0
- package/dist/src/goal/goalController.d.ts +42 -0
- package/dist/src/goal/goalController.d.ts.map +1 -0
- package/dist/src/goal/goalController.js +281 -0
- package/dist/src/goal/goalController.js.map +1 -0
- package/dist/src/goal/goalPrompt.d.ts +3 -0
- package/dist/src/goal/goalPrompt.d.ts.map +1 -1
- package/dist/src/goal/goalPrompt.js +28 -2
- package/dist/src/goal/goalPrompt.js.map +1 -1
- package/dist/src/goal/goalService.d.ts +68 -2
- package/dist/src/goal/goalService.d.ts.map +1 -1
- package/dist/src/goal/goalService.js +500 -8
- package/dist/src/goal/goalService.js.map +1 -1
- package/dist/src/goal/goalStore.d.ts.map +1 -1
- package/dist/src/goal/goalStore.js +172 -5
- package/dist/src/goal/goalStore.js.map +1 -1
- package/dist/src/goal/goalTools.d.ts +2 -1
- package/dist/src/goal/goalTools.d.ts.map +1 -1
- package/dist/src/goal/goalTools.js +70 -5
- package/dist/src/goal/goalTools.js.map +1 -1
- package/dist/src/goal/goalWorkCoordinator.d.ts +43 -0
- package/dist/src/goal/goalWorkCoordinator.d.ts.map +1 -0
- package/dist/src/goal/goalWorkCoordinator.js +72 -0
- package/dist/src/goal/goalWorkCoordinator.js.map +1 -0
- package/dist/src/goal/index.d.ts +10 -4
- package/dist/src/goal/index.d.ts.map +1 -1
- package/dist/src/goal/index.js +7 -1
- package/dist/src/goal/index.js.map +1 -1
- package/dist/src/goal/projectGoalApi.d.ts +82 -0
- package/dist/src/goal/projectGoalApi.d.ts.map +1 -0
- package/dist/src/goal/projectGoalApi.js +287 -0
- package/dist/src/goal/projectGoalApi.js.map +1 -0
- package/dist/src/goal/projectGoalStore.d.ts +131 -0
- package/dist/src/goal/projectGoalStore.d.ts.map +1 -0
- package/dist/src/goal/projectGoalStore.js +808 -0
- package/dist/src/goal/projectGoalStore.js.map +1 -0
- package/dist/src/goal/types.d.ts +127 -3
- package/dist/src/goal/types.d.ts.map +1 -1
- package/dist/src/goal/types.js +2 -2
- package/dist/src/goal/types.js.map +1 -1
- package/dist/src/gui/agentTargetPicker.d.ts +32 -0
- package/dist/src/gui/agentTargetPicker.d.ts.map +1 -0
- package/dist/src/gui/agentTargetPicker.js +99 -0
- package/dist/src/gui/agentTargetPicker.js.map +1 -0
- package/dist/src/gui/electronMain.js +10 -3
- package/dist/src/gui/electronMain.js.map +1 -1
- package/dist/src/gui/hadamardGui.d.ts +24 -0
- package/dist/src/gui/hadamardGui.d.ts.map +1 -1
- package/dist/src/gui/hadamardGui.js +6321 -1327
- package/dist/src/gui/hadamardGui.js.map +1 -1
- package/dist/src/gui/projectWorkbench.d.ts +13 -2
- package/dist/src/gui/projectWorkbench.d.ts.map +1 -1
- package/dist/src/gui/projectWorkbench.js +109 -67
- package/dist/src/gui/projectWorkbench.js.map +1 -1
- package/dist/src/gui/promptTemplates.d.ts +18 -0
- package/dist/src/gui/promptTemplates.d.ts.map +1 -0
- package/dist/src/gui/promptTemplates.js +178 -0
- package/dist/src/gui/promptTemplates.js.map +1 -0
- package/dist/src/gui/terminalManager.d.ts +14 -0
- package/dist/src/gui/terminalManager.d.ts.map +1 -1
- package/dist/src/gui/terminalManager.js +25 -5
- package/dist/src/gui/terminalManager.js.map +1 -1
- package/dist/src/gui/transcript/clientBundle.d.ts +6 -1
- package/dist/src/gui/transcript/clientBundle.d.ts.map +1 -1
- package/dist/src/gui/transcript/clientBundle.js +6 -1
- package/dist/src/gui/transcript/clientBundle.js.map +1 -1
- package/dist/src/help/productCapabilities.d.ts +17 -0
- package/dist/src/help/productCapabilities.d.ts.map +1 -0
- package/dist/src/help/productCapabilities.js +146 -0
- package/dist/src/help/productCapabilities.js.map +1 -0
- package/dist/src/index.d.ts +21 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/issues/issueExecution.d.ts.map +1 -1
- package/dist/src/issues/issueExecution.js +29 -9
- package/dist/src/issues/issueExecution.js.map +1 -1
- package/dist/src/manager/assistantGlobalTools.d.ts +44 -0
- package/dist/src/manager/assistantGlobalTools.d.ts.map +1 -1
- package/dist/src/manager/assistantGlobalTools.js +565 -34
- package/dist/src/manager/assistantGlobalTools.js.map +1 -1
- package/dist/src/manager/assistantProposals.d.ts +87 -0
- package/dist/src/manager/assistantProposals.d.ts.map +1 -0
- package/dist/src/manager/assistantProposals.js +207 -0
- package/dist/src/manager/assistantProposals.js.map +1 -0
- package/dist/src/manager/referenceIndex.d.ts +82 -0
- package/dist/src/manager/referenceIndex.d.ts.map +1 -0
- package/dist/src/manager/referenceIndex.js +167 -0
- package/dist/src/manager/referenceIndex.js.map +1 -0
- package/dist/src/manager/referenceOperations.d.ts +108 -0
- package/dist/src/manager/referenceOperations.d.ts.map +1 -0
- package/dist/src/manager/referenceOperations.js +821 -0
- package/dist/src/manager/referenceOperations.js.map +1 -0
- package/dist/src/manager/resolveTargetRef.d.ts +67 -0
- package/dist/src/manager/resolveTargetRef.d.ts.map +1 -0
- package/dist/src/manager/resolveTargetRef.js +81 -0
- package/dist/src/manager/resolveTargetRef.js.map +1 -0
- package/dist/src/memory/durableMemoryPipeline.d.ts +51 -0
- package/dist/src/memory/durableMemoryPipeline.d.ts.map +1 -0
- package/dist/src/memory/durableMemoryPipeline.js +266 -0
- package/dist/src/memory/durableMemoryPipeline.js.map +1 -0
- package/dist/src/memory/durableMemoryStore.d.ts +59 -0
- package/dist/src/memory/durableMemoryStore.d.ts.map +1 -0
- package/dist/src/memory/durableMemoryStore.js +194 -0
- package/dist/src/memory/durableMemoryStore.js.map +1 -0
- package/dist/src/memory/hadamardDream.d.ts +18 -0
- package/dist/src/memory/hadamardDream.d.ts.map +1 -1
- package/dist/src/memory/hadamardDream.js +119 -39
- package/dist/src/memory/hadamardDream.js.map +1 -1
- package/dist/src/memory/hadamardMemory.d.ts +20 -39
- package/dist/src/memory/hadamardMemory.d.ts.map +1 -1
- package/dist/src/memory/hadamardMemory.js +112 -450
- package/dist/src/memory/hadamardMemory.js.map +1 -1
- package/dist/src/memory/hadamardSessionMemoryState.d.ts +2 -5
- package/dist/src/memory/hadamardSessionMemoryState.d.ts.map +1 -1
- package/dist/src/memory/hadamardSessionMemoryState.js +5 -61
- package/dist/src/memory/hadamardSessionMemoryState.js.map +1 -1
- package/dist/src/memory/memoryCommandService.d.ts +25 -0
- package/dist/src/memory/memoryCommandService.d.ts.map +1 -0
- package/dist/src/memory/memoryCommandService.js +93 -0
- package/dist/src/memory/memoryCommandService.js.map +1 -0
- package/dist/src/memory/memoryProposalCommandService.d.ts.map +1 -1
- package/dist/src/memory/memoryProposalCommandService.js +2 -1
- package/dist/src/memory/memoryProposalCommandService.js.map +1 -1
- package/dist/src/memory/memoryProposalTools.d.ts +1 -0
- package/dist/src/memory/memoryProposalTools.d.ts.map +1 -1
- package/dist/src/memory/memoryProposalTools.js +16 -11
- package/dist/src/memory/memoryProposalTools.js.map +1 -1
- package/dist/src/parity/bridgeConfigs.d.ts +4 -0
- package/dist/src/parity/bridgeConfigs.d.ts.map +1 -1
- package/dist/src/parity/bridgeConfigs.js +30 -1
- package/dist/src/parity/bridgeConfigs.js.map +1 -1
- package/dist/src/router/modelRouter.d.ts +22 -2
- package/dist/src/router/modelRouter.d.ts.map +1 -1
- package/dist/src/router/modelRouter.js +76 -9
- package/dist/src/router/modelRouter.js.map +1 -1
- package/dist/src/runtime/agentClient.d.ts +24 -4
- package/dist/src/runtime/agentClient.d.ts.map +1 -1
- package/dist/src/runtime/agentClient.js +581 -262
- package/dist/src/runtime/agentClient.js.map +1 -1
- package/dist/src/runtime/agentSession.d.ts +8 -3
- package/dist/src/runtime/agentSession.d.ts.map +1 -1
- package/dist/src/runtime/agentSession.js +10 -3
- package/dist/src/runtime/agentSession.js.map +1 -1
- package/dist/src/runtime/agentTemplates.d.ts +28 -0
- package/dist/src/runtime/agentTemplates.d.ts.map +1 -0
- package/dist/src/runtime/agentTemplates.js +73 -0
- package/dist/src/runtime/agentTemplates.js.map +1 -0
- package/dist/src/runtime/conversationEngine.d.ts +4 -0
- package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
- package/dist/src/runtime/conversationEngine.js +52 -3
- package/dist/src/runtime/conversationEngine.js.map +1 -1
- package/dist/src/runtime/defaultHadamardAgents.d.ts.map +1 -1
- package/dist/src/runtime/defaultHadamardAgents.js +9 -47
- package/dist/src/runtime/defaultHadamardAgents.js.map +1 -1
- package/dist/src/runtime/effectiveAgentRunOptions.d.ts +49 -0
- package/dist/src/runtime/effectiveAgentRunOptions.d.ts.map +1 -0
- package/dist/src/runtime/effectiveAgentRunOptions.js +50 -0
- package/dist/src/runtime/effectiveAgentRunOptions.js.map +1 -0
- package/dist/src/runtime/externalAgentRunner.d.ts +25 -0
- package/dist/src/runtime/externalAgentRunner.d.ts.map +1 -0
- package/dist/src/runtime/externalAgentRunner.js +57 -0
- package/dist/src/runtime/externalAgentRunner.js.map +1 -0
- package/dist/src/runtime/hadamardAgentDefinitions.d.ts +15 -0
- package/dist/src/runtime/hadamardAgentDefinitions.d.ts.map +1 -1
- package/dist/src/runtime/hadamardAgentDefinitions.js +42 -2
- package/dist/src/runtime/hadamardAgentDefinitions.js.map +1 -1
- package/dist/src/runtime/hadamardAgents.d.ts +6 -0
- package/dist/src/runtime/hadamardAgents.d.ts.map +1 -1
- package/dist/src/runtime/hadamardAgents.js +52 -1
- package/dist/src/runtime/hadamardAgents.js.map +1 -1
- package/dist/src/runtime/hadamardCompact.d.ts +12 -1
- package/dist/src/runtime/hadamardCompact.d.ts.map +1 -1
- package/dist/src/runtime/hadamardCompact.js +91 -35
- package/dist/src/runtime/hadamardCompact.js.map +1 -1
- package/dist/src/runtime/hadamardPermissions.d.ts +1 -0
- package/dist/src/runtime/hadamardPermissions.d.ts.map +1 -1
- package/dist/src/runtime/hadamardPermissions.js +6 -0
- package/dist/src/runtime/hadamardPermissions.js.map +1 -1
- package/dist/src/runtime/hadamardSlashCommands.d.ts +7 -1
- package/dist/src/runtime/hadamardSlashCommands.d.ts.map +1 -1
- package/dist/src/runtime/hadamardSlashCommands.js +47 -5
- package/dist/src/runtime/hadamardSlashCommands.js.map +1 -1
- package/dist/src/runtime/tools.d.ts.map +1 -1
- package/dist/src/runtime/tools.js +2 -0
- package/dist/src/runtime/tools.js.map +1 -1
- package/dist/src/team/executorTarget.d.ts +26 -0
- package/dist/src/team/executorTarget.d.ts.map +1 -0
- package/dist/src/team/executorTarget.js +15 -0
- package/dist/src/team/executorTarget.js.map +1 -0
- package/dist/src/team/modelTeam.d.ts +5 -1
- package/dist/src/team/modelTeam.d.ts.map +1 -1
- package/dist/src/team/modelTeam.js +157 -41
- package/dist/src/team/modelTeam.js.map +1 -1
- package/dist/src/team/teamComposition.d.ts +20 -0
- package/dist/src/team/teamComposition.d.ts.map +1 -0
- package/dist/src/team/teamComposition.js +78 -0
- package/dist/src/team/teamComposition.js.map +1 -0
- package/dist/src/team/teamDefinitions.d.ts +10 -1
- package/dist/src/team/teamDefinitions.d.ts.map +1 -1
- package/dist/src/team/teamDefinitions.js +123 -16
- package/dist/src/team/teamDefinitions.js.map +1 -1
- package/dist/src/team/teamGraph.d.ts +1 -1
- package/dist/src/team/teamGraph.d.ts.map +1 -1
- package/dist/src/team/teamGraph.js +1 -1
- package/dist/src/team/teamGraph.js.map +1 -1
- package/dist/src/team/teamPrompts.d.ts.map +1 -1
- package/dist/src/team/teamPrompts.js +0 -4
- package/dist/src/team/teamPrompts.js.map +1 -1
- package/dist/src/team/teamProposalService.d.ts +9 -1
- package/dist/src/team/teamProposalService.d.ts.map +1 -1
- package/dist/src/team/teamProposalService.js +66 -6
- package/dist/src/team/teamProposalService.js.map +1 -1
- package/dist/src/team/teamPropose.d.ts +3 -1
- package/dist/src/team/teamPropose.d.ts.map +1 -1
- package/dist/src/team/teamPropose.js +16 -10
- package/dist/src/team/teamPropose.js.map +1 -1
- package/dist/src/team/teamRuntime.d.ts +5 -0
- package/dist/src/team/teamRuntime.d.ts.map +1 -1
- package/dist/src/team/teamRuntime.js +23 -5
- package/dist/src/team/teamRuntime.js.map +1 -1
- package/dist/src/team/workflowSquad.d.ts +10 -2
- package/dist/src/team/workflowSquad.d.ts.map +1 -1
- package/dist/src/team/workflowSquad.js +250 -12
- package/dist/src/team/workflowSquad.js.map +1 -1
- package/dist/src/tools/enterWorktree.d.ts.map +1 -1
- package/dist/src/tools/enterWorktree.js +3 -0
- package/dist/src/tools/enterWorktree.js.map +1 -1
- package/dist/src/tools/exaSearch.d.ts +2 -2
- package/dist/src/tools/exitWorktree.d.ts.map +1 -1
- package/dist/src/tools/exitWorktree.js +3 -1
- package/dist/src/tools/exitWorktree.js.map +1 -1
- package/dist/src/tools/hadamardCoreTools.d.ts +5 -14
- package/dist/src/tools/hadamardCoreTools.d.ts.map +1 -1
- package/dist/src/tools/hadamardCoreTools.js +31 -0
- package/dist/src/tools/hadamardCoreTools.js.map +1 -1
- package/dist/src/tools/hadamardFileTools.d.ts.map +1 -1
- package/dist/src/tools/hadamardFileTools.js +116 -38
- package/dist/src/tools/hadamardFileTools.js.map +1 -1
- package/dist/src/tools/planMode/PlanModeTools.d.ts +22 -0
- package/dist/src/tools/planMode/PlanModeTools.d.ts.map +1 -1
- package/dist/src/tools/planMode/PlanModeTools.js +102 -5
- package/dist/src/tools/planMode/PlanModeTools.js.map +1 -1
- package/dist/src/tools/todo/TodoWriteTool.d.ts +1 -1
- package/dist/src/tui/hadamardTui.d.ts.map +1 -1
- package/dist/src/tui/hadamardTui.js +387 -168
- package/dist/src/tui/hadamardTui.js.map +1 -1
- package/dist/src/tui/pendingInput.d.ts +17 -0
- package/dist/src/tui/pendingInput.d.ts.map +1 -0
- package/dist/src/tui/pendingInput.js +23 -0
- package/dist/src/tui/pendingInput.js.map +1 -0
- package/dist/src/tui/reasoningDisplay.d.ts +13 -0
- package/dist/src/tui/reasoningDisplay.d.ts.map +1 -0
- package/dist/src/tui/reasoningDisplay.js +45 -0
- package/dist/src/tui/reasoningDisplay.js.map +1 -0
- package/dist/src/tui/screen.d.ts +11 -1
- package/dist/src/tui/screen.d.ts.map +1 -1
- package/dist/src/tui/screen.js +64 -34
- package/dist/src/tui/screen.js.map +1 -1
- package/dist/src/types.d.ts +210 -77
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/ui/commandSurface.d.ts +8 -0
- package/dist/src/ui/commandSurface.d.ts.map +1 -1
- package/dist/src/ui/commandSurface.js +78 -13
- package/dist/src/ui/commandSurface.js.map +1 -1
- package/dist/src/update/appUpdateService.d.ts +34 -1
- package/dist/src/update/appUpdateService.d.ts.map +1 -1
- package/dist/src/update/appUpdateService.js +114 -9
- package/dist/src/update/appUpdateService.js.map +1 -1
- package/package.json +3 -2
- package/dist/src/prompts/outputStyles.d.ts +0 -20
- package/dist/src/prompts/outputStyles.d.ts.map +0 -1
- package/dist/src/prompts/outputStyles.js +0 -35
- 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":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,
|
|
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
|
|
108
|
-
if (typeof record.version === 'number' && record.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
|
-
|
|
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'
|
|
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
|
-
|
|
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
|
|
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;
|
|
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
|
|
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
|
-
-
|
|
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
|
|
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.
|
|
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":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAK3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;
|
|
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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"}
|