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,5 +1,5 @@
|
|
|
1
1
|
import type { MessageParam } from '../provider/types.js';
|
|
2
|
-
import type { AgentRunOptions, AgentRunResult, AgentSessionCompactOptions, AgentSessionDreamOptions,
|
|
2
|
+
import type { AgentRunOptions, AgentRunResult, AgentSessionCompactOptions, AgentSessionDreamOptions, HadamardAgentContinuityState, HadamardSessionCompactResult, HadamardCompactStateOptions, HadamardCompactState, HadamardDreamRunResult, HadamardDreamState, HadamardHooks, HadamardPermissionMode, HadamardPermissionRule, HadamardSessionPermissionState, HadamardToolApprover, HadamardToolClassifier, SessionCheckpoint, SessionCheckpointSummary, SessionForkOptions, StoredSession } from '../types.js';
|
|
3
3
|
import type { SessionStore } from '../storage/sessionStore.js';
|
|
4
4
|
import { AgentRunStream } from './asyncQueue.js';
|
|
5
5
|
interface AgentSessionBindings {
|
|
@@ -7,7 +7,6 @@ interface AgentSessionBindings {
|
|
|
7
7
|
streamSession: (session: AgentSession, input: string | MessageParam['content'], options?: AgentRunOptions) => AgentRunStream;
|
|
8
8
|
runSkillOnSession: (session: AgentSession, skill: string, args?: string, options?: AgentRunOptions) => Promise<AgentRunResult>;
|
|
9
9
|
streamSkillOnSession: (session: AgentSession, skill: string, args?: string, options?: AgentRunOptions) => AgentRunStream;
|
|
10
|
-
extractSessionMemory: (session: AgentSession, options?: AgentSessionMemoryExtractionOptions) => Promise<HadamardSessionMemoryExtractionResult>;
|
|
11
10
|
runDream: (session: AgentSession, options?: AgentSessionDreamOptions) => Promise<HadamardDreamRunResult>;
|
|
12
11
|
maybeAutoDream: (session: AgentSession, options?: AgentSessionDreamOptions) => Promise<HadamardDreamRunResult>;
|
|
13
12
|
getDreamState: (session: AgentSession) => Promise<HadamardDreamState>;
|
|
@@ -30,6 +29,10 @@ interface AgentSessionBindings {
|
|
|
30
29
|
listCheckpoints: (session: AgentSession) => Promise<SessionCheckpointSummary[]>;
|
|
31
30
|
deleteCheckpoint: (session: AgentSession, checkpointId: string) => Promise<void>;
|
|
32
31
|
}
|
|
32
|
+
export interface PendingAgentInputs {
|
|
33
|
+
steering: readonly string[];
|
|
34
|
+
followUps: readonly string[];
|
|
35
|
+
}
|
|
33
36
|
export declare class AgentSession {
|
|
34
37
|
private readonly bindings;
|
|
35
38
|
private readonly store;
|
|
@@ -45,6 +48,7 @@ export declare class AgentSession {
|
|
|
45
48
|
get tags(): string[];
|
|
46
49
|
get permissionContext(): HadamardSessionPermissionState;
|
|
47
50
|
get pendingInputCount(): number;
|
|
51
|
+
get pendingInputs(): PendingAgentInputs;
|
|
48
52
|
snapshot(): StoredSession;
|
|
49
53
|
/**
|
|
50
54
|
* Queue guidance for the next model sample in the active run. If the model
|
|
@@ -57,6 +61,8 @@ export declare class AgentSession {
|
|
|
57
61
|
* distinct from steering, which may be injected immediately after tools.
|
|
58
62
|
*/
|
|
59
63
|
followUp(input: string): void;
|
|
64
|
+
/** Remove the newest queued follow-up so an interactive editor can recall it. */
|
|
65
|
+
cancelLatestFollowUp(): string | undefined;
|
|
60
66
|
/** @internal Runtime bridge for the conversation engine. */
|
|
61
67
|
drainSteeringInputs(): string[];
|
|
62
68
|
/** @internal Runtime bridge for the conversation engine. */
|
|
@@ -65,7 +71,6 @@ export declare class AgentSession {
|
|
|
65
71
|
stream(input: string | MessageParam['content'], options?: AgentRunOptions): AgentRunStream;
|
|
66
72
|
runSkill(skill: string, args?: string, options?: AgentRunOptions): Promise<AgentRunResult>;
|
|
67
73
|
streamSkill(skill: string, args?: string, options?: AgentRunOptions): AgentRunStream;
|
|
68
|
-
extractMemory(options?: AgentSessionMemoryExtractionOptions): Promise<HadamardSessionMemoryExtractionResult>;
|
|
69
74
|
dream(options?: AgentSessionDreamOptions): Promise<HadamardDreamRunResult>;
|
|
70
75
|
maybeAutoDream(options?: AgentSessionDreamOptions): Promise<HadamardDreamRunResult>;
|
|
71
76
|
dreamState(): Promise<HadamardDreamState>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentSession.d.ts","sourceRoot":"","sources":["../../../src/runtime/agentSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,0BAA0B,EAC1B,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"agentSession.d.ts","sourceRoot":"","sources":["../../../src/runtime/agentSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,12 @@ export class AgentSession {
|
|
|
35
35
|
get pendingInputCount() {
|
|
36
36
|
return this.steeringInputs.length + this.followUpInputs.length;
|
|
37
37
|
}
|
|
38
|
+
get pendingInputs() {
|
|
39
|
+
return {
|
|
40
|
+
steering: [...this.steeringInputs],
|
|
41
|
+
followUps: [...this.followUpInputs],
|
|
42
|
+
};
|
|
43
|
+
}
|
|
38
44
|
snapshot() {
|
|
39
45
|
return deepClone(this.stored);
|
|
40
46
|
}
|
|
@@ -61,6 +67,10 @@ export class AgentSession {
|
|
|
61
67
|
}
|
|
62
68
|
this.followUpInputs.push(normalized);
|
|
63
69
|
}
|
|
70
|
+
/** Remove the newest queued follow-up so an interactive editor can recall it. */
|
|
71
|
+
cancelLatestFollowUp() {
|
|
72
|
+
return this.followUpInputs.pop();
|
|
73
|
+
}
|
|
64
74
|
/** @internal Runtime bridge for the conversation engine. */
|
|
65
75
|
drainSteeringInputs() {
|
|
66
76
|
return this.steeringInputs.splice(0);
|
|
@@ -81,9 +91,6 @@ export class AgentSession {
|
|
|
81
91
|
streamSkill(skill, args = '', options = {}) {
|
|
82
92
|
return this.bindings.streamSkillOnSession(this, skill, args, options);
|
|
83
93
|
}
|
|
84
|
-
async extractMemory(options = {}) {
|
|
85
|
-
return this.bindings.extractSessionMemory(this, options);
|
|
86
|
-
}
|
|
87
94
|
async dream(options = {}) {
|
|
88
95
|
return this.bindings.runDream(this, options);
|
|
89
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentSession.js","sourceRoot":"","sources":["../../../src/runtime/agentSession.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agentSession.js","sourceRoot":"","sources":["../../../src/runtime/agentSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent templates (S1b, plan/AGENT_SUBAGENT_UNIFICATION_08Aug2026 §9.2).
|
|
3
|
+
*
|
|
4
|
+
* The four former built-in agents — Plan, code-reviewer, debugger,
|
|
5
|
+
* verification — are inert template data: they are NOT loaded into the
|
|
6
|
+
* runtime. The Agents panel's "Add from template" action (S2) serializes a
|
|
7
|
+
* template to `~/.hadamard/agents/<name>.md` (or the project agents dir);
|
|
8
|
+
* from then on it is a normal, editable user agent.
|
|
9
|
+
*
|
|
10
|
+
* Rationale (§9.2, from the Claude Code v2.1.88 source survey): reviewer/
|
|
11
|
+
* debugger/verification are workflow preferences rather than universal
|
|
12
|
+
* capabilities, and plan mode itself is the plan agent — so only
|
|
13
|
+
* general-purpose and Explore stay unconditionally active.
|
|
14
|
+
*/
|
|
15
|
+
import type { HadamardAgentDefinition } from '../types.js';
|
|
16
|
+
export interface HadamardAgentTemplate {
|
|
17
|
+
name: string;
|
|
18
|
+
description: string;
|
|
19
|
+
/** Extra frontmatter keys (beyond name/description) for the generated .md. */
|
|
20
|
+
frontmatter: Record<string, string | number | boolean | string[]>;
|
|
21
|
+
/** Markdown body = the agent's prompt. */
|
|
22
|
+
body: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function getHadamardAgentTemplates(): HadamardAgentTemplate[];
|
|
25
|
+
export declare function getHadamardAgentTemplate(name: string): HadamardAgentTemplate | undefined;
|
|
26
|
+
/** Materialize a template as a runnable in-memory definition (tests, preview). */
|
|
27
|
+
export declare function hadamardAgentTemplateToDefinition(template: HadamardAgentTemplate): HadamardAgentDefinition;
|
|
28
|
+
//# sourceMappingURL=agentTemplates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentTemplates.d.ts","sourceRoot":"","sources":["../../../src/runtime/agentTemplates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAA0B,MAAM,aAAa,CAAC;AAEnF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC;IAClE,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;CACd;AAuDD,wBAAgB,yBAAyB,IAAI,qBAAqB,EAAE,CAKnE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAExF;AAED,kFAAkF;AAClF,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,qBAAqB,GAC9B,uBAAuB,CAczB"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
const READ_ONLY_RESEARCH_TOOLS = ['Read', 'Glob', 'Grep', 'Bash', 'PowerShell', 'WebFetch', 'WebSearch'];
|
|
2
|
+
const HADAMARD_AGENT_TEMPLATES = [
|
|
3
|
+
{
|
|
4
|
+
name: 'Plan',
|
|
5
|
+
description: 'Use for implementation planning after exploration when the task spans multiple modules or has meaningful design tradeoffs.',
|
|
6
|
+
frontmatter: {
|
|
7
|
+
permissionMode: 'plan',
|
|
8
|
+
tools: READ_ONLY_RESEARCH_TOOLS,
|
|
9
|
+
},
|
|
10
|
+
body: [
|
|
11
|
+
'You are the Hadamard Plan agent.',
|
|
12
|
+
'Inspect the relevant implementation and produce a concrete, ordered engineering plan.',
|
|
13
|
+
'Do not edit files. Identify contracts, risks, tests, and verification commands; avoid speculative scope.',
|
|
14
|
+
].join('\n'),
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'code-reviewer',
|
|
18
|
+
description: 'Use proactively after completing significant code changes, and for focused risk review, regression analysis, missing tests, and maintainability issues.',
|
|
19
|
+
frontmatter: {},
|
|
20
|
+
body: [
|
|
21
|
+
'You are a focused code-review subagent.',
|
|
22
|
+
'Prioritize correctness bugs, regressions, missing tests, unsafe behavior, and unclear contracts. Ground findings in specific files or commands when possible.',
|
|
23
|
+
'Keep the review concise and actionable.',
|
|
24
|
+
].join('\n'),
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'debugger',
|
|
28
|
+
description: 'Use proactively for failing tests, logs, runtime errors, and root-cause analysis before proposing or applying a fix.',
|
|
29
|
+
frontmatter: {},
|
|
30
|
+
body: [
|
|
31
|
+
'You are a focused debugging subagent.',
|
|
32
|
+
'Trace failures from observable evidence, inspect relevant files and logs, identify the likely root cause, and report the smallest safe fix path with verification.',
|
|
33
|
+
'Avoid speculative rewrites.',
|
|
34
|
+
].join('\n'),
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'verification',
|
|
38
|
+
description: 'Use proactively after implementation to run independent verification, probe edge cases, and try to disprove that the change is complete.',
|
|
39
|
+
frontmatter: {},
|
|
40
|
+
body: [
|
|
41
|
+
'You are an independent verification specialist.',
|
|
42
|
+
'Run the relevant checks and inspect observable behavior. Do not accept code reading or a green unit test alone as proof.',
|
|
43
|
+
'Look for missing integration coverage, broken edge cases, unsafe behavior, and claims unsupported by command output.',
|
|
44
|
+
'Report PASS or FAIL for each check with concrete evidence.',
|
|
45
|
+
].join('\n'),
|
|
46
|
+
},
|
|
47
|
+
];
|
|
48
|
+
export function getHadamardAgentTemplates() {
|
|
49
|
+
return HADAMARD_AGENT_TEMPLATES.map(template => ({
|
|
50
|
+
...template,
|
|
51
|
+
frontmatter: { ...template.frontmatter },
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
export function getHadamardAgentTemplate(name) {
|
|
55
|
+
return HADAMARD_AGENT_TEMPLATES.find(template => template.name === name);
|
|
56
|
+
}
|
|
57
|
+
/** Materialize a template as a runnable in-memory definition (tests, preview). */
|
|
58
|
+
export function hadamardAgentTemplateToDefinition(template) {
|
|
59
|
+
const permissionMode = template.frontmatter.permissionMode;
|
|
60
|
+
const tools = template.frontmatter.tools;
|
|
61
|
+
return {
|
|
62
|
+
name: template.name,
|
|
63
|
+
description: template.description,
|
|
64
|
+
systemPrompt: template.body,
|
|
65
|
+
...(typeof permissionMode === 'string'
|
|
66
|
+
? { permissionMode: permissionMode }
|
|
67
|
+
: {}),
|
|
68
|
+
...(Array.isArray(tools) ? { allowedTools: tools.map(String) } : {}),
|
|
69
|
+
metadata: { source: 'template' },
|
|
70
|
+
source: 'custom',
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=agentTemplates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentTemplates.js","sourceRoot":"","sources":["../../../src/runtime/agentTemplates.ts"],"names":[],"mappings":"AAyBA,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AAEzG,MAAM,wBAAwB,GAAyC;IACrE;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EACT,4HAA4H;QAC9H,WAAW,EAAE;YACX,cAAc,EAAE,MAAM;YACtB,KAAK,EAAE,wBAAwB;SAChC;QACD,IAAI,EAAE;YACJ,kCAAkC;YAClC,uFAAuF;YACvF,0GAA0G;SAC3G,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,yJAAyJ;QAC3J,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,yCAAyC;YACzC,+JAA+J;YAC/J,yCAAyC;SAC1C,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,sHAAsH;QACxH,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,uCAAuC;YACvC,oKAAoK;YACpK,6BAA6B;SAC9B,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,0IAA0I;QAC5I,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,iDAAiD;YACjD,0HAA0H;YAC1H,sHAAsH;YACtH,4DAA4D;SAC7D,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;CACF,CAAC;AAEF,MAAM,UAAU,yBAAyB;IACvC,OAAO,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,GAAG,QAAQ;QACX,WAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE;KACzC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,iCAAiC,CAC/C,QAA+B;IAE/B,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;IACzC,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,GAAG,CAAC,OAAO,cAAc,KAAK,QAAQ;YACpC,CAAC,CAAC,EAAE,cAAc,EAAE,cAAwC,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;QAChC,MAAM,EAAE,QAAQ;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -36,6 +36,8 @@ export interface ExecuteConversationOptions {
|
|
|
36
36
|
* on disk (instead of only persisting when the whole run finishes).
|
|
37
37
|
*/
|
|
38
38
|
onConversationCheckpoint?: (messages: MessageParam[]) => void | Promise<void>;
|
|
39
|
+
/** Append newly produced messages to the immutable raw transcript before compaction can remove them. */
|
|
40
|
+
onTranscriptMessages?: (messages: MessageParam[]) => void | Promise<void>;
|
|
39
41
|
/**
|
|
40
42
|
* When RestoreCheckpoint rewrites the durable transcript mid-turn, return the
|
|
41
43
|
* restored messages here so the in-memory ReAct loop adopts them and does not
|
|
@@ -49,6 +51,8 @@ export interface ExecuteConversationOptions {
|
|
|
49
51
|
mcpManager: McpConnectionManager;
|
|
50
52
|
/** Override the working directory for this execution (used by worktrees). */
|
|
51
53
|
sessionWorkDir?: string;
|
|
54
|
+
/** Called when EnterWorktree / ExitWorktree updates the active session cwd mid-turn. */
|
|
55
|
+
onSessionWorkDirChange?: (workDir: string) => void;
|
|
52
56
|
fileChangeJournal?: ToolExecutionContext['fileChangeJournal'];
|
|
53
57
|
sandboxExecutor?: ToolExecutionContext['sandboxExecutor'];
|
|
54
58
|
typedHookRunner?: HookRunner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversationEngine.d.ts","sourceRoot":"","sources":["../../../src/runtime/conversationEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,YAAY,EAIb,MAAM,sBAAsB,CAAC;AAY9B,OAAO,KAAK,EACV,UAAU,EAEV,wBAAwB,EAExB,eAAe,EACf,cAAc,EAEd,aAAa,EAGb,mBAAmB,EACnB,QAAQ,EAGR,qBAAqB,EACrB,oBAAoB,EAErB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAenE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAiBpD,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,YAAY,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;IACnD,WAAW,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,mBAAmB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E;;;;OAIG;IACH,8BAA8B,CAAC,EAAE,MAAM,YAAY,EAAE,GAAG,SAAS,CAAC;IAClE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,UAAU,EAAE,oBAAoB,CAAC;IACjC,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAC9D,eAAe,CAAC,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,eAAe,CAAC,EAAE,UAAU,CAAC;CAC9B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"conversationEngine.d.ts","sourceRoot":"","sources":["../../../src/runtime/conversationEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ const MAX_OUTPUT_TOKENS_RECOVERY_LIMIT = 3;
|
|
|
18
18
|
const MAX_CONSECUTIVE_PERMISSION_DENIALS = 3;
|
|
19
19
|
export async function executeConversation(options) {
|
|
20
20
|
const startedAt = nowIso();
|
|
21
|
-
|
|
21
|
+
let workDir = options.sessionWorkDir ?? options.config.workDir;
|
|
22
22
|
let model = options.model ?? options.config.model;
|
|
23
23
|
const effort = options.effort === 'auto'
|
|
24
24
|
? undefined
|
|
@@ -26,9 +26,11 @@ export async function executeConversation(options) {
|
|
|
26
26
|
const promptText = typeof options.input === 'string' ? options.input : extractTextFromContent(options.input);
|
|
27
27
|
const postSamplingHooks = resolveHadamardPostSamplingHooks(options.hooks);
|
|
28
28
|
const conversation = deepClone(options.messages ?? []);
|
|
29
|
+
let initialUserMessage;
|
|
29
30
|
if (!options.skipInitialInput) {
|
|
30
31
|
conversation.push(...deepClone(options.prefixedMessages ?? []));
|
|
31
|
-
|
|
32
|
+
initialUserMessage = buildUserMessage(options.input);
|
|
33
|
+
conversation.push(initialUserMessage);
|
|
32
34
|
}
|
|
33
35
|
if (!options.skipRunStartedEvent) {
|
|
34
36
|
options.emit?.({
|
|
@@ -42,6 +44,9 @@ export async function executeConversation(options) {
|
|
|
42
44
|
}
|
|
43
45
|
await requireLifecycleContinue(options, 'SessionStart', { input: promptText });
|
|
44
46
|
await requireLifecycleContinue(options, 'TurnStart', { input: promptText });
|
|
47
|
+
if (initialUserMessage) {
|
|
48
|
+
await appendRawTranscript(options, [initialUserMessage]);
|
|
49
|
+
}
|
|
45
50
|
// Persist the user turn before the first provider request. Besides crash
|
|
46
51
|
// recovery, this makes a newly spawned child conversation immediately
|
|
47
52
|
// inspectable while its first model request is still running.
|
|
@@ -73,6 +78,7 @@ export async function executeConversation(options) {
|
|
|
73
78
|
let reactiveCompactAttempted = false;
|
|
74
79
|
let lastRequestInputTokens;
|
|
75
80
|
let tokenEstimateMultiplier = 1;
|
|
81
|
+
let compactWindowPrefixTokens = 0;
|
|
76
82
|
let lastPromptCachePrefixSignature;
|
|
77
83
|
while (true) {
|
|
78
84
|
ensureNotAborted(options.signal);
|
|
@@ -87,6 +93,8 @@ export async function executeConversation(options) {
|
|
|
87
93
|
maxTokens: options.maxTokens ?? options.config.maxTokens,
|
|
88
94
|
lastRequestInputTokens,
|
|
89
95
|
tokenEstimateMultiplier,
|
|
96
|
+
compactWindowPrefixTokens,
|
|
97
|
+
fixedInputTokens: estimateFixedRequestTokens(options.systemPrompt ?? options.config.systemPrompt, resolvedTools),
|
|
90
98
|
runKey: options.runId,
|
|
91
99
|
signal: options.signal,
|
|
92
100
|
});
|
|
@@ -96,6 +104,7 @@ export async function executeConversation(options) {
|
|
|
96
104
|
}
|
|
97
105
|
if (loopCompact.compacted) {
|
|
98
106
|
lastRequestInputTokens = undefined;
|
|
107
|
+
compactWindowPrefixTokens = loopCompact.tokenEstimateAfter;
|
|
99
108
|
conversation.splice(0, conversation.length, ...loopCompact.messages);
|
|
100
109
|
loopCompactions.push({
|
|
101
110
|
trigger: 'auto',
|
|
@@ -228,11 +237,13 @@ export async function executeConversation(options) {
|
|
|
228
237
|
modelApi: options.modelApi,
|
|
229
238
|
compactConfig: options.config.compact,
|
|
230
239
|
maxTokens: options.maxTokens ?? options.config.maxTokens,
|
|
240
|
+
compactWindowPrefixTokens,
|
|
231
241
|
runKey: options.runId,
|
|
232
242
|
signal: options.signal,
|
|
233
243
|
force: true,
|
|
234
244
|
});
|
|
235
245
|
if (reactiveOutcome.compacted) {
|
|
246
|
+
compactWindowPrefixTokens = reactiveOutcome.tokenEstimateAfter;
|
|
236
247
|
conversation.splice(0, conversation.length, ...reactiveOutcome.messages);
|
|
237
248
|
loopCompactions.push({
|
|
238
249
|
trigger: 'reactive',
|
|
@@ -308,7 +319,9 @@ export async function executeConversation(options) {
|
|
|
308
319
|
}
|
|
309
320
|
}
|
|
310
321
|
finalMessage = message;
|
|
311
|
-
|
|
322
|
+
const assistantMessage = assistantMessageToParam(message);
|
|
323
|
+
conversation.push(assistantMessage);
|
|
324
|
+
await appendRawTranscript(options, [assistantMessage]);
|
|
312
325
|
lastRequestInputTokens = getReportedInputTokens(message.usage);
|
|
313
326
|
if (lastRequestInputTokens !== undefined && requestTokenEstimate > 0) {
|
|
314
327
|
const observedMultiplier = clamp(lastRequestInputTokens / Math.max(preparedMessages.tokenEstimateAfter, 1), 0.5, 8);
|
|
@@ -371,6 +384,7 @@ export async function executeConversation(options) {
|
|
|
371
384
|
role: 'user',
|
|
372
385
|
content: `<system-reminder>\nStop hook reported blocking error: ${msg}\n</system-reminder>`,
|
|
373
386
|
});
|
|
387
|
+
await appendRawTranscript(options, [conversation.at(-1)]);
|
|
374
388
|
}
|
|
375
389
|
}
|
|
376
390
|
if (result?.nonBlockingErrors && result.nonBlockingErrors.length > 0) {
|
|
@@ -429,6 +443,7 @@ export async function executeConversation(options) {
|
|
|
429
443
|
content: 'The model response hit max_tokens while constructing this tool call, so its JSON arguments were incomplete. Retry the tool call with complete JSON arguments and smaller output.',
|
|
430
444
|
})),
|
|
431
445
|
});
|
|
446
|
+
await appendRawTranscript(options, [conversation.at(-1)]);
|
|
432
447
|
continue;
|
|
433
448
|
}
|
|
434
449
|
// max_tokens recovery: when the response was truncated mid-thought with no
|
|
@@ -444,6 +459,7 @@ export async function executeConversation(options) {
|
|
|
444
459
|
content: 'Output token limit hit. Resume directly — no apology, no recap of what you were doing. ' +
|
|
445
460
|
'Pick up mid-thought if that is where the cut happened. Break remaining work into smaller pieces.',
|
|
446
461
|
});
|
|
462
|
+
await appendRawTranscript(options, [conversation.at(-1)]);
|
|
447
463
|
continue;
|
|
448
464
|
}
|
|
449
465
|
if (!preventContinuation && toolUses.length === 0) {
|
|
@@ -463,6 +479,7 @@ export async function executeConversation(options) {
|
|
|
463
479
|
})),
|
|
464
480
|
],
|
|
465
481
|
});
|
|
482
|
+
await appendRawTranscript(options, [conversation.at(-1)]);
|
|
466
483
|
maxTokensRecoveryCount = 0;
|
|
467
484
|
continue;
|
|
468
485
|
}
|
|
@@ -511,6 +528,7 @@ export async function executeConversation(options) {
|
|
|
511
528
|
content: `The run exceeded the max tool iteration limit (${options.config.maxToolIterations}) before this tool could execute.`,
|
|
512
529
|
})),
|
|
513
530
|
});
|
|
531
|
+
await appendRawTranscript(options, [conversation.at(-1)]);
|
|
514
532
|
}
|
|
515
533
|
const completedAt = nowIso();
|
|
516
534
|
if (finalMessage) {
|
|
@@ -589,6 +607,7 @@ export async function executeConversation(options) {
|
|
|
589
607
|
adapter: {
|
|
590
608
|
isReadOnly: adapter.isReadOnly,
|
|
591
609
|
isDestructive: adapter.isDestructive,
|
|
610
|
+
isPlanReadOnly: adapter.isPlanReadOnly,
|
|
592
611
|
requiresUserInteraction: adapter.requiresUserInteraction,
|
|
593
612
|
checkPermissions: adapter.checkPermissions,
|
|
594
613
|
},
|
|
@@ -654,6 +673,14 @@ export async function executeConversation(options) {
|
|
|
654
673
|
sandboxExecutor: options.sandboxExecutor,
|
|
655
674
|
};
|
|
656
675
|
const execution = await withDeadline(`Tool ${toolUse.name}`, options.config.toolTimeoutMs, adapter.interruptBehavior === 'cancel' ? options.signal : undefined, ({ signal }) => adapter.execute(executionInput, markExplicitSafetyApproval({ ...executionContext, signal }, permissionDecision.source === 'approver'), onProgress));
|
|
676
|
+
const nextWorkDir = executionContext.metadata.__hadamardWorkDir;
|
|
677
|
+
if (typeof nextWorkDir === 'string' && nextWorkDir.trim()) {
|
|
678
|
+
const resolved = path.resolve(nextWorkDir.trim());
|
|
679
|
+
if (resolved !== workDir) {
|
|
680
|
+
workDir = resolved;
|
|
681
|
+
options.onSessionWorkDirChange?.(workDir);
|
|
682
|
+
}
|
|
683
|
+
}
|
|
657
684
|
// Per-tool declared cap first (default 50k via tool factory), clamped
|
|
658
685
|
// by the global artifact ceiling. MCP tools without a declared cap use
|
|
659
686
|
// the global ceiling only.
|
|
@@ -853,6 +880,7 @@ export async function executeConversation(options) {
|
|
|
853
880
|
})),
|
|
854
881
|
],
|
|
855
882
|
});
|
|
883
|
+
await appendRawTranscript(options, [conversation.at(-1)]);
|
|
856
884
|
toolResults = [];
|
|
857
885
|
// Persist mid-run so a host kill (e.g. accidental taskkill of node.exe)
|
|
858
886
|
// still leaves a resumable transcript instead of an empty sessions/.
|
|
@@ -910,6 +938,27 @@ export async function executeConversation(options) {
|
|
|
910
938
|
}
|
|
911
939
|
}
|
|
912
940
|
}
|
|
941
|
+
function estimateFixedRequestTokens(systemPrompt, tools) {
|
|
942
|
+
const systemChars = systemPrompt?.length ?? 0;
|
|
943
|
+
let toolChars = 0;
|
|
944
|
+
try {
|
|
945
|
+
toolChars = JSON.stringify(tools.map(tool => tool.providerTool)).length;
|
|
946
|
+
}
|
|
947
|
+
catch {
|
|
948
|
+
toolChars = 0;
|
|
949
|
+
}
|
|
950
|
+
return Math.ceil((systemChars + toolChars) / 4);
|
|
951
|
+
}
|
|
952
|
+
async function appendRawTranscript(options, messages) {
|
|
953
|
+
if (!options.onTranscriptMessages || messages.length === 0)
|
|
954
|
+
return;
|
|
955
|
+
try {
|
|
956
|
+
await options.onTranscriptMessages([...deepClone(messages)]);
|
|
957
|
+
}
|
|
958
|
+
catch {
|
|
959
|
+
// Raw transcript durability must not turn a successful model/tool step into a failed turn.
|
|
960
|
+
}
|
|
961
|
+
}
|
|
913
962
|
async function runTypedLifecycleHooks(options, event, payload, toolName) {
|
|
914
963
|
if (!options.typedHookRunner)
|
|
915
964
|
return [];
|