@downcity/agent 1.1.437 → 1.1.445
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/README.md +25 -18
- package/bin/agent/Agent.d.ts +44 -20
- package/bin/agent/Agent.d.ts.map +1 -1
- package/bin/agent/Agent.js +114 -69
- package/bin/agent/Agent.js.map +1 -1
- package/bin/agent/AgentInstructions.d.ts +18 -4
- package/bin/agent/AgentInstructions.d.ts.map +1 -1
- package/bin/agent/AgentInstructions.js +33 -14
- package/bin/agent/AgentInstructions.js.map +1 -1
- package/bin/agent/AgentMemoryStorage.d.ts +1 -1
- package/bin/agent/AgentMemoryStorage.d.ts.map +1 -1
- package/bin/agent/AgentMemoryStorage.js.map +1 -1
- package/bin/agent/AgentSessions.d.ts +29 -16
- package/bin/agent/AgentSessions.d.ts.map +1 -1
- package/bin/agent/AgentSessions.js +42 -22
- package/bin/agent/AgentSessions.js.map +1 -1
- package/bin/group/Group.d.ts +13 -12
- package/bin/group/Group.d.ts.map +1 -1
- package/bin/group/Group.js +24 -23
- package/bin/group/Group.js.map +1 -1
- package/bin/group/GroupSession.d.ts.map +1 -1
- package/bin/group/GroupSession.js +13 -9
- package/bin/group/GroupSession.js.map +1 -1
- package/bin/group/GroupSessions.d.ts +27 -2
- package/bin/group/GroupSessions.d.ts.map +1 -1
- package/bin/group/GroupSessions.js +68 -21
- package/bin/group/GroupSessions.js.map +1 -1
- package/bin/group/storage/LocalGroupSessionDataStore.d.ts +8 -0
- package/bin/group/storage/LocalGroupSessionDataStore.d.ts.map +1 -1
- package/bin/group/storage/LocalGroupSessionDataStore.js +1 -1
- package/bin/group/storage/LocalGroupSessionDataStore.js.map +1 -1
- package/bin/group/storage/LocalGroupSessionStore.d.ts +64 -5
- package/bin/group/storage/LocalGroupSessionStore.d.ts.map +1 -1
- package/bin/group/storage/LocalGroupSessionStore.js +114 -23
- package/bin/group/storage/LocalGroupSessionStore.js.map +1 -1
- package/bin/index.d.ts +25 -30
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +14 -14
- package/bin/index.js.map +1 -1
- package/bin/{executor/model → model}/ModelGenerate.d.ts +1 -1
- package/bin/model/ModelGenerate.d.ts.map +1 -0
- package/bin/model/ModelGenerate.js.map +1 -0
- package/bin/{executor/model → model}/ModelRequestRunner.d.ts +1 -1
- package/bin/model/ModelRequestRunner.d.ts.map +1 -0
- package/bin/model/ModelRequestRunner.js.map +1 -0
- package/bin/{executor/model → model}/ModelStepRunner.d.ts +6 -7
- package/bin/model/ModelStepRunner.d.ts.map +1 -0
- package/bin/{executor/model → model}/ModelStepRunner.js +16 -10
- package/bin/model/ModelStepRunner.js.map +1 -0
- package/bin/model/ModelStreamConsumer.d.ts.map +1 -0
- package/bin/model/ModelStreamConsumer.js.map +1 -0
- package/bin/model/ModelStreamFailure.d.ts.map +1 -0
- package/bin/model/ModelStreamFailure.js.map +1 -0
- package/bin/model/ToolInputValidation.d.ts +28 -0
- package/bin/model/ToolInputValidation.d.ts.map +1 -0
- package/bin/model/ToolInputValidation.js +37 -0
- package/bin/model/ToolInputValidation.js.map +1 -0
- package/bin/model/messages/ChatMessageMarkup.d.ts.map +1 -0
- package/bin/model/messages/ChatMessageMarkup.js.map +1 -0
- package/bin/{executor → model}/messages/ChatMessageMarkupTypes.d.ts +1 -1
- package/bin/model/messages/ChatMessageMarkupTypes.d.ts.map +1 -0
- package/bin/{executor → model}/messages/ChatMessageMarkupTypes.js +1 -1
- package/bin/model/messages/ChatMessageMarkupTypes.js.map +1 -0
- package/bin/model/messages/SessionAttachmentMapper.d.ts.map +1 -0
- package/bin/model/messages/SessionAttachmentMapper.js.map +1 -0
- package/bin/model/messages/SessionMessageLog.d.ts.map +1 -0
- package/bin/model/messages/SessionMessageLog.js.map +1 -0
- package/bin/model/messages/SessionModelMessages.d.ts.map +1 -0
- package/bin/{executor → model}/messages/SessionModelMessages.js +0 -1
- package/bin/model/messages/SessionModelMessages.js.map +1 -0
- package/bin/model/prompts/SystemPromptAssets.d.ts.map +1 -0
- package/bin/{executor/composer/system/default → model/prompts}/SystemPromptAssets.js +1 -1
- package/bin/model/prompts/SystemPromptAssets.js.map +1 -0
- package/bin/model/prompts/assets/core.prompt.d.ts +7 -0
- package/bin/model/prompts/assets/core.prompt.d.ts.map +1 -0
- package/bin/model/prompts/assets/core.prompt.js +8 -0
- package/bin/model/prompts/assets/core.prompt.js.map +1 -0
- package/bin/session/Session.d.ts +29 -17
- package/bin/session/Session.d.ts.map +1 -1
- package/bin/session/Session.js +161 -134
- package/bin/session/Session.js.map +1 -1
- package/bin/session/input/SessionHookRunner.d.ts +52 -0
- package/bin/session/input/SessionHookRunner.d.ts.map +1 -0
- package/bin/session/input/SessionHookRunner.js +51 -0
- package/bin/session/input/SessionHookRunner.js.map +1 -0
- package/bin/session/input/SessionSystem.d.ts +26 -0
- package/bin/session/input/SessionSystem.d.ts.map +1 -0
- package/bin/session/{SessionSystem.js → input/SessionSystem.js} +27 -23
- package/bin/session/input/SessionSystem.js.map +1 -0
- package/bin/session/input/StepInput.d.ts +77 -0
- package/bin/session/input/StepInput.d.ts.map +1 -0
- package/bin/session/input/StepInput.js +429 -0
- package/bin/session/input/StepInput.js.map +1 -0
- package/bin/session/input/composer/AdaptiveContextCheckpoint.d.ts +33 -0
- package/bin/session/input/composer/AdaptiveContextCheckpoint.d.ts.map +1 -0
- package/bin/session/input/composer/AdaptiveContextCheckpoint.js +83 -0
- package/bin/session/input/composer/AdaptiveContextCheckpoint.js.map +1 -0
- package/bin/session/input/composer/AdaptiveContextParts.d.ts +26 -0
- package/bin/session/input/composer/AdaptiveContextParts.d.ts.map +1 -0
- package/bin/session/input/composer/AdaptiveContextParts.js +124 -0
- package/bin/session/input/composer/AdaptiveContextParts.js.map +1 -0
- package/bin/session/input/composer/ComposerAssembly.d.ts +21 -0
- package/bin/session/input/composer/ComposerAssembly.d.ts.map +1 -0
- package/bin/session/input/composer/ComposerAssembly.js +64 -0
- package/bin/session/input/composer/ComposerAssembly.js.map +1 -0
- package/bin/session/{composer/policies/SessionSummaryPrompts.d.ts → input/composer/ContextSummaryPrompts.d.ts} +5 -3
- package/bin/session/input/composer/ContextSummaryPrompts.d.ts.map +1 -0
- package/bin/session/{composer/policies/SessionSummaryPrompts.js → input/composer/ContextSummaryPrompts.js} +5 -3
- package/bin/session/input/composer/ContextSummaryPrompts.js.map +1 -0
- package/bin/session/input/composer/DefaultSessionComposer.d.ts +24 -0
- package/bin/session/input/composer/DefaultSessionComposer.d.ts.map +1 -0
- package/bin/session/input/composer/DefaultSessionComposer.js +108 -0
- package/bin/session/input/composer/DefaultSessionComposer.js.map +1 -0
- package/bin/session/input/composer/FullHistorySessionComposer.d.ts +19 -0
- package/bin/session/input/composer/FullHistorySessionComposer.d.ts.map +1 -0
- package/bin/session/input/composer/FullHistorySessionComposer.js +36 -0
- package/bin/session/input/composer/FullHistorySessionComposer.js.map +1 -0
- package/bin/session/{SessionLoop.d.ts → loop/SessionLoop.d.ts} +34 -7
- package/bin/session/loop/SessionLoop.d.ts.map +1 -0
- package/bin/session/{SessionLoop.js → loop/SessionLoop.js} +79 -16
- package/bin/session/loop/SessionLoop.js.map +1 -0
- package/bin/session/{SessionQueue.d.ts → loop/SessionQueue.d.ts} +9 -1
- package/bin/session/loop/SessionQueue.d.ts.map +1 -0
- package/bin/session/{SessionQueue.js → loop/SessionQueue.js} +19 -0
- package/bin/session/loop/SessionQueue.js.map +1 -0
- package/bin/session/{SessionState.d.ts → loop/SessionState.d.ts} +4 -5
- package/bin/session/loop/SessionState.d.ts.map +1 -0
- package/bin/session/{SessionState.js → loop/SessionState.js} +6 -25
- package/bin/session/loop/SessionState.js.map +1 -0
- package/bin/session/{SessionTitle.d.ts → loop/SessionTitle.d.ts} +4 -4
- package/bin/session/loop/SessionTitle.d.ts.map +1 -0
- package/bin/session/{SessionTitle.js → loop/SessionTitle.js} +3 -3
- package/bin/session/loop/SessionTitle.js.map +1 -0
- package/bin/session/loop/SessionTitleTask.d.ts.map +1 -0
- package/bin/session/loop/SessionTitleTask.js.map +1 -0
- package/bin/session/{runtime → loop}/SessionTurnCompletion.d.ts +7 -0
- package/bin/session/loop/SessionTurnCompletion.d.ts.map +1 -0
- package/bin/session/{runtime → loop}/SessionTurnCompletion.js +25 -6
- package/bin/session/loop/SessionTurnCompletion.js.map +1 -0
- package/bin/session/loop/SessionTurnContext.d.ts +12 -0
- package/bin/session/loop/SessionTurnContext.d.ts.map +1 -0
- package/bin/session/{runtime → loop}/SessionTurnContext.js +14 -67
- package/bin/session/loop/SessionTurnContext.js.map +1 -0
- package/bin/session/loop/SessionTurnFileDiff.d.ts.map +1 -0
- package/bin/session/{runtime → loop}/SessionTurnFileDiff.js +1 -1
- package/bin/session/loop/SessionTurnFileDiff.js.map +1 -0
- package/bin/session/{messages → loop}/SessionTurnFileDiffBuilder.d.ts +3 -3
- package/bin/session/loop/SessionTurnFileDiffBuilder.d.ts.map +1 -0
- package/bin/session/loop/SessionTurnFileDiffBuilder.js.map +1 -0
- package/bin/session/messages/ApprovalInteraction.d.ts +30 -0
- package/bin/session/messages/ApprovalInteraction.d.ts.map +1 -0
- package/bin/session/messages/ApprovalInteraction.js +61 -0
- package/bin/session/messages/ApprovalInteraction.js.map +1 -0
- package/bin/session/messages/SessionAgentMessageState.d.ts +47 -18
- package/bin/session/messages/SessionAgentMessageState.d.ts.map +1 -1
- package/bin/session/messages/SessionAgentMessageState.js +224 -86
- package/bin/session/messages/SessionAgentMessageState.js.map +1 -1
- package/bin/session/messages/SessionAgentMessageWriter.d.ts +15 -4
- package/bin/session/messages/SessionAgentMessageWriter.d.ts.map +1 -1
- package/bin/session/messages/SessionAgentMessageWriter.js +57 -37
- package/bin/session/messages/SessionAgentMessageWriter.js.map +1 -1
- package/bin/session/messages/SessionAgentParts.d.ts +14 -0
- package/bin/session/messages/SessionAgentParts.d.ts.map +1 -0
- package/bin/session/messages/SessionAgentParts.js +20 -0
- package/bin/session/messages/SessionAgentParts.js.map +1 -0
- package/bin/session/{execution → messages}/SessionAssistantOutputAdapter.d.ts +2 -2
- package/bin/session/messages/SessionAssistantOutputAdapter.d.ts.map +1 -0
- package/bin/session/messages/SessionAssistantOutputAdapter.js.map +1 -0
- package/bin/session/messages/SessionEventHub.d.ts.map +1 -0
- package/bin/session/messages/SessionEventHub.js.map +1 -0
- package/bin/session/messages/SessionInteractions.d.ts +57 -0
- package/bin/session/messages/SessionInteractions.d.ts.map +1 -0
- package/bin/session/messages/SessionInteractions.js +178 -0
- package/bin/session/messages/SessionInteractions.js.map +1 -0
- package/bin/session/messages/SessionJsonValue.d.ts +1 -3
- package/bin/session/messages/SessionJsonValue.d.ts.map +1 -1
- package/bin/session/messages/SessionJsonValue.js +0 -19
- package/bin/session/messages/SessionJsonValue.js.map +1 -1
- package/bin/session/messages/SessionMessageCache.d.ts +55 -0
- package/bin/session/messages/SessionMessageCache.d.ts.map +1 -0
- package/bin/session/messages/SessionMessageCache.js +133 -0
- package/bin/session/messages/SessionMessageCache.js.map +1 -0
- package/bin/session/messages/SessionMessageState.d.ts +17 -0
- package/bin/session/messages/SessionMessageState.d.ts.map +1 -0
- package/bin/session/messages/SessionMessageState.js +34 -0
- package/bin/session/messages/SessionMessageState.js.map +1 -0
- package/bin/session/messages/SessionMessageTimeline.d.ts.map +1 -0
- package/bin/session/{browse → messages}/SessionMessageTimeline.js +0 -1
- package/bin/session/messages/SessionMessageTimeline.js.map +1 -0
- package/bin/session/{SessionMessages.d.ts → messages/SessionMessages.d.ts} +35 -43
- package/bin/session/messages/SessionMessages.d.ts.map +1 -0
- package/bin/session/{SessionMessages.js → messages/SessionMessages.js} +178 -196
- package/bin/session/messages/SessionMessages.js.map +1 -0
- package/bin/session/messages/SessionModelRequestWarning.d.ts.map +1 -0
- package/bin/session/messages/SessionModelRequestWarning.js.map +1 -0
- package/bin/session/messages/SessionMutationFactory.d.ts +26 -0
- package/bin/session/messages/SessionMutationFactory.d.ts.map +1 -0
- package/bin/session/messages/SessionMutationFactory.js +38 -0
- package/bin/session/messages/SessionMutationFactory.js.map +1 -0
- package/bin/session/messages/SessionUserMessage.d.ts +5 -7
- package/bin/session/messages/SessionUserMessage.d.ts.map +1 -1
- package/bin/session/messages/SessionUserMessage.js +5 -28
- package/bin/session/messages/SessionUserMessage.js.map +1 -1
- package/bin/{executor/core-engine/CoreEngineSignals.d.ts → session/runner/AssistantParts.d.ts} +4 -9
- package/bin/session/runner/AssistantParts.d.ts.map +1 -0
- package/bin/{executor/core-engine/CoreEngineSignals.js → session/runner/AssistantParts.js} +4 -17
- package/bin/session/runner/AssistantParts.js.map +1 -0
- package/bin/session/runner/ContextPressure.d.ts +15 -0
- package/bin/session/runner/ContextPressure.d.ts.map +1 -0
- package/bin/{executor/core-engine/CoreEngineContextCompaction.js → session/runner/ContextPressure.js} +11 -11
- package/bin/session/runner/ContextPressure.js.map +1 -0
- package/bin/session/runner/ContextRetry.d.ts +39 -0
- package/bin/session/runner/ContextRetry.d.ts.map +1 -0
- package/bin/{executor/services/ExecutorRecoveryPolicy.js → session/runner/ContextRetry.js} +19 -19
- package/bin/session/runner/ContextRetry.js.map +1 -0
- package/bin/{executor/core-engine/CoreEngineError.d.ts → session/runner/ModelFailure.d.ts} +4 -4
- package/bin/session/runner/ModelFailure.d.ts.map +1 -0
- package/bin/{executor/core-engine/CoreEngineError.js → session/runner/ModelFailure.js} +4 -4
- package/bin/session/runner/ModelFailure.js.map +1 -0
- package/bin/session/runner/SessionExecutor.d.ts +108 -0
- package/bin/session/runner/SessionExecutor.d.ts.map +1 -0
- package/bin/session/runner/SessionExecutor.js +430 -0
- package/bin/session/runner/SessionExecutor.js.map +1 -0
- package/bin/session/runner/ToolLoopDecision.d.ts +60 -0
- package/bin/session/runner/ToolLoopDecision.d.ts.map +1 -0
- package/bin/{executor/core-engine/CoreEngineLoopDecision.js → session/runner/ToolLoopDecision.js} +5 -5
- package/bin/session/runner/ToolLoopDecision.js.map +1 -0
- package/bin/session/runner/ToolLoopLimits.d.ts +30 -0
- package/bin/session/runner/ToolLoopLimits.d.ts.map +1 -0
- package/bin/session/runner/ToolLoopLimits.js +46 -0
- package/bin/session/runner/ToolLoopLimits.js.map +1 -0
- package/bin/session/{browse → storage}/Browse.d.ts +1 -1
- package/bin/session/storage/Browse.d.ts.map +1 -0
- package/bin/session/{browse → storage}/Browse.js +1 -1
- package/bin/session/storage/Browse.js.map +1 -0
- package/bin/session/storage/LocalSessionStore.js +1 -1
- package/bin/session/storage/LocalSessionStore.js.map +1 -1
- package/bin/session/storage/LocalStorePaths.d.ts +0 -2
- package/bin/session/storage/LocalStorePaths.d.ts.map +1 -1
- package/bin/session/storage/LocalStorePaths.js +1 -1
- package/bin/session/storage/LocalStorePaths.js.map +1 -1
- package/bin/session/storage/Metadata.d.ts +1 -23
- package/bin/session/storage/Metadata.d.ts.map +1 -1
- package/bin/session/storage/Metadata.js +0 -18
- package/bin/session/storage/Metadata.js.map +1 -1
- package/bin/session/storage/RuntimeSessionPort.d.ts +0 -4
- package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
- package/bin/session/storage/RuntimeSessionPort.js +0 -1
- package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
- package/bin/session/{preview → storage}/SessionMessagePreview.d.ts.map +1 -1
- package/bin/session/{preview → storage}/SessionMessagePreview.js +0 -1
- package/bin/session/{preview → storage}/SessionMessagePreview.js.map +1 -1
- package/bin/session/storage/SessionStorageCodec.d.ts.map +1 -1
- package/bin/session/storage/SessionStorageCodec.js +36 -18
- package/bin/session/storage/SessionStorageCodec.js.map +1 -1
- package/bin/session/storage/SessionStorageSchema.d.ts +1 -1
- package/bin/session/storage/SessionStorageSchema.js +1 -1
- package/bin/session/storage/SqliteSessionStorage.d.ts +6 -4
- package/bin/session/storage/SqliteSessionStorage.d.ts.map +1 -1
- package/bin/session/storage/SqliteSessionStorage.js +21 -18
- package/bin/session/storage/SqliteSessionStorage.js.map +1 -1
- package/bin/tools/ask/AskQuestionAnswers.d.ts +20 -0
- package/bin/tools/ask/AskQuestionAnswers.d.ts.map +1 -0
- package/bin/tools/ask/AskQuestionAnswers.js +99 -0
- package/bin/tools/ask/AskQuestionAnswers.js.map +1 -0
- package/bin/tools/ask/AskQuestionsTool.d.ts +5 -2
- package/bin/tools/ask/AskQuestionsTool.d.ts.map +1 -1
- package/bin/tools/ask/AskQuestionsTool.js +23 -31
- package/bin/tools/ask/AskQuestionsTool.js.map +1 -1
- package/bin/tools/ask/AskQuestionsToolSchemas.d.ts +1 -1
- package/bin/types/agent/AgentOptions.d.ts +16 -8
- package/bin/types/agent/AgentOptions.d.ts.map +1 -1
- package/bin/types/agent/AgentSessionCollection.d.ts +8 -0
- package/bin/types/agent/AgentSessionCollection.d.ts.map +1 -1
- package/bin/types/agent/SessionActor.d.ts +3 -3
- package/bin/types/agent/SessionActor.d.ts.map +1 -1
- package/bin/types/group/DispatchStrategy.js +1 -1
- package/bin/types/group/DispatchStrategy.js.map +1 -1
- package/bin/types/group/GroupSession.d.ts +41 -1
- package/bin/types/group/GroupSession.d.ts.map +1 -1
- package/bin/types/group/GroupSessionStore.d.ts +30 -3
- package/bin/types/group/GroupSessionStore.d.ts.map +1 -1
- package/bin/types/model/ModelRequest.d.ts.map +1 -0
- package/bin/types/model/ModelRequest.js.map +1 -0
- package/bin/types/sdk/AgentSessionAction.d.ts +1 -9
- package/bin/types/sdk/AgentSessionAction.d.ts.map +1 -1
- package/bin/types/session/{AdaptivePartContextPolicy.d.ts → ContextCheckpoint.d.ts} +10 -9
- package/bin/types/session/ContextCheckpoint.d.ts.map +1 -0
- package/bin/types/session/ContextCheckpoint.js +8 -0
- package/bin/types/session/ContextCheckpoint.js.map +1 -0
- package/bin/types/session/SessionAgentMessageState.d.ts +6 -10
- package/bin/types/session/SessionAgentMessageState.d.ts.map +1 -1
- package/bin/types/session/SessionAgentMessageState.js +3 -2
- package/bin/types/session/SessionAgentMessageState.js.map +1 -1
- package/bin/types/session/SessionComposer.d.ts +65 -36
- package/bin/types/session/SessionComposer.d.ts.map +1 -1
- package/bin/types/session/SessionComposer.js +7 -2
- package/bin/types/session/SessionComposer.js.map +1 -1
- package/bin/types/session/SessionExecution.d.ts +15 -11
- package/bin/types/session/SessionExecution.d.ts.map +1 -1
- package/bin/types/session/SessionExecution.js +1 -1
- package/bin/types/session/SessionInteractions.d.ts +0 -2
- package/bin/types/session/SessionInteractions.d.ts.map +1 -1
- package/bin/types/session/SessionLocalState.d.ts +0 -4
- package/bin/types/session/SessionLocalState.d.ts.map +1 -1
- package/bin/types/session/SessionLoop.d.ts +33 -12
- package/bin/types/session/SessionLoop.d.ts.map +1 -1
- package/bin/types/session/SessionMessages.d.ts +3 -29
- package/bin/types/session/SessionMessages.d.ts.map +1 -1
- package/bin/types/session/SessionOptions.d.ts +16 -13
- package/bin/types/session/SessionOptions.d.ts.map +1 -1
- package/bin/types/session/SessionPort.d.ts +0 -3
- package/bin/types/session/SessionPort.d.ts.map +1 -1
- package/bin/types/session/SessionState.d.ts +0 -1
- package/bin/types/session/SessionState.d.ts.map +1 -1
- package/bin/types/session/SessionSystem.d.ts +10 -12
- package/bin/types/session/SessionSystem.d.ts.map +1 -1
- package/bin/types/session/SessionTool.d.ts +2 -2
- package/bin/types/session/SessionTool.d.ts.map +1 -1
- package/bin/types/session/SessionTurnCompletion.d.ts +12 -2
- package/bin/types/session/SessionTurnCompletion.d.ts.map +1 -1
- package/bin/types/session/SessionTurnFileDiff.d.ts +4 -4
- package/bin/types/session/SessionTurnFileDiff.d.ts.map +1 -1
- package/bin/types/session/{SessionComposition.d.ts → StepInput.d.ts} +17 -15
- package/bin/types/session/StepInput.d.ts.map +1 -0
- package/bin/types/session/StepInput.js +8 -0
- package/bin/types/session/StepInput.js.map +1 -0
- package/bin/types/store/SessionHistoryMeta.d.ts.map +1 -0
- package/bin/types/store/SessionHistoryMeta.js.map +1 -0
- package/bin/types/store/SessionStorage.d.ts +17 -12
- package/bin/types/store/SessionStorage.d.ts.map +1 -1
- package/bin/types/tool/BoundAgentTool.d.ts +36 -0
- package/bin/types/tool/BoundAgentTool.d.ts.map +1 -0
- package/bin/types/tool/BoundAgentTool.js +13 -0
- package/bin/types/tool/BoundAgentTool.js.map +1 -0
- package/bin/types/tools/ask/AskQuestionsTool.d.ts +9 -13
- package/bin/types/tools/ask/AskQuestionsTool.d.ts.map +1 -1
- package/bin/types/tools/ask/AskQuestionsTool.js +3 -2
- package/bin/types/tools/ask/AskQuestionsTool.js.map +1 -1
- package/bin/types/turn/SessionAssistantOutput.d.ts.map +1 -0
- package/bin/types/turn/SessionAssistantOutput.js.map +1 -0
- package/bin/types/{executor → turn}/SessionTurnContext.d.ts +10 -28
- package/bin/types/turn/SessionTurnContext.d.ts.map +1 -0
- package/bin/types/turn/SessionTurnContext.js.map +1 -0
- package/bin/{executor/ids/resolveSessionId.d.ts → utils/ResolveSessionId.d.ts} +1 -1
- package/bin/utils/ResolveSessionId.d.ts.map +1 -0
- package/bin/{executor/ids/resolveSessionId.js → utils/ResolveSessionId.js} +1 -1
- package/bin/utils/ResolveSessionId.js.map +1 -0
- package/bin/utils/Time.d.ts +5 -8
- package/bin/utils/Time.d.ts.map +1 -1
- package/bin/utils/Time.js +5 -54
- package/bin/utils/Time.js.map +1 -1
- package/package.json +2 -2
- package/scripts/ask-question-answers.test.mjs +132 -0
- package/scripts/group-session-archive.test.mjs +193 -0
- package/scripts/{core-engine-model-stream.test.mjs → model-step-runner.test.mjs} +97 -4
- package/scripts/rewrite-build-aliases.mjs +3 -4
- package/scripts/session-action-part.test.mjs +172 -0
- package/scripts/session-agent-message-part-order.test.mjs +13 -7
- package/scripts/{core-engine-context-compaction.test.mjs → session-executor-context-pressure.test.mjs} +40 -32
- package/scripts/{executor-failure-result.test.mjs → session-executor-failure-result.test.mjs} +17 -14
- package/scripts/session-executor-max-steps.test.mjs +143 -0
- package/scripts/session-initialization.test.mjs +3 -4
- package/scripts/session-interaction-migration.test.mjs +145 -0
- package/scripts/session-interaction-mutation.test.mjs +202 -0
- package/scripts/session-messages-error-part.test.mjs +1 -1
- package/scripts/session-messages-error.test.mjs +1 -1
- package/scripts/session-prompt-idempotency.test.mjs +4 -2
- package/scripts/session-queue.test.mjs +21 -1
- package/scripts/session-storage-sqlite.test.mjs +3 -3
- package/scripts/session-system-blocks.test.mjs +61 -39
- package/scripts/session-turn-context.test.mjs +37 -40
- package/scripts/verify-build-aliases.mjs +1 -1
- package/src/agent/Agent.ts +137 -80
- package/src/agent/AgentInstructions.ts +48 -15
- package/src/agent/AgentMemoryStorage.ts +1 -1
- package/src/agent/AgentSessions.ts +60 -38
- package/src/group/Group.ts +27 -24
- package/src/group/GroupSession.ts +12 -8
- package/src/group/GroupSessions.ts +79 -20
- package/src/group/storage/LocalGroupSessionDataStore.ts +9 -1
- package/src/group/storage/LocalGroupSessionStore.ts +138 -28
- package/src/index.ts +35 -52
- package/src/{executor/model → model}/ModelGenerate.ts +3 -3
- package/src/{executor/model → model}/ModelRequestRunner.ts +2 -2
- package/src/{executor/model → model}/ModelStepRunner.ts +22 -19
- package/src/{executor/model → model}/ModelStreamConsumer.ts +1 -1
- package/src/model/README.md +117 -0
- package/src/model/ToolInputValidation.ts +58 -0
- package/src/{executor → model}/messages/ChatMessageMarkupTypes.ts +1 -1
- package/src/{executor → model}/messages/SessionModelMessages.ts +0 -1
- package/src/{executor/composer/system/default → model/prompts}/SystemPromptAssets.ts +1 -1
- package/src/model/prompts/assets/core.prompt.ts +9 -0
- package/src/{executor/composer/system/default → model/prompts}/assets/core.prompt.ts.txt +26 -25
- package/src/session/Session.ts +185 -151
- package/src/session/input/SessionHookRunner.ts +100 -0
- package/src/session/{SessionSystem.ts → input/SessionSystem.ts} +31 -29
- package/src/session/input/StepInput.ts +507 -0
- package/src/session/input/composer/AdaptiveContextCheckpoint.ts +115 -0
- package/src/session/input/composer/AdaptiveContextParts.ts +166 -0
- package/src/session/input/composer/ComposerAssembly.ts +81 -0
- package/src/session/{composer/policies/SessionSummaryPrompts.ts → input/composer/ContextSummaryPrompts.ts} +5 -2
- package/src/session/input/composer/DefaultSessionComposer.ts +147 -0
- package/src/session/input/composer/FullHistorySessionComposer.ts +55 -0
- package/src/session/loop/README.md +28 -0
- package/src/session/{SessionLoop.ts → loop/SessionLoop.ts} +100 -24
- package/src/session/{SessionQueue.ts → loop/SessionQueue.ts} +18 -0
- package/src/session/{SessionState.ts → loop/SessionState.ts} +4 -21
- package/src/session/{SessionTitle.ts → loop/SessionTitle.ts} +3 -3
- package/src/session/{runtime → loop}/SessionTurnCompletion.ts +27 -8
- package/src/session/{runtime → loop}/SessionTurnContext.ts +19 -93
- package/src/session/{runtime → loop}/SessionTurnFileDiff.ts +1 -1
- package/src/session/{messages → loop}/SessionTurnFileDiffBuilder.ts +4 -4
- package/src/session/messages/ApprovalInteraction.ts +77 -0
- package/src/session/messages/README.md +27 -0
- package/src/session/messages/SessionAgentMessageState.ts +324 -113
- package/src/session/messages/SessionAgentMessageWriter.ts +82 -45
- package/src/session/messages/SessionAgentParts.ts +39 -0
- package/src/session/{execution → messages}/SessionAssistantOutputAdapter.ts +2 -2
- package/src/session/messages/SessionInteractions.ts +227 -0
- package/src/session/messages/SessionJsonValue.ts +1 -18
- package/src/session/messages/SessionMessageCache.ts +171 -0
- package/src/session/messages/SessionMessageState.ts +42 -0
- package/src/session/{browse → messages}/SessionMessageTimeline.ts +0 -1
- package/src/session/{SessionMessages.ts → messages/SessionMessages.ts} +225 -284
- package/src/session/messages/SessionMutationFactory.ts +58 -0
- package/src/session/messages/SessionUserMessage.ts +7 -32
- package/src/{executor/core-engine/CoreEngineSignals.ts → session/runner/AssistantParts.ts} +3 -21
- package/src/{executor/core-engine/CoreEngineContextCompaction.ts → session/runner/ContextPressure.ts} +10 -10
- package/src/{executor/services/ExecutorRecoveryPolicy.ts → session/runner/ContextRetry.ts} +25 -25
- package/src/{executor/core-engine/CoreEngineError.ts → session/runner/ModelFailure.ts} +3 -3
- package/src/session/runner/SessionExecutor.ts +633 -0
- package/src/session/runner/ToolLoopDecision.ts +98 -0
- package/src/session/runner/ToolLoopLimits.ts +53 -0
- package/src/session/{browse → storage}/Browse.ts +2 -2
- package/src/session/storage/LocalSessionStore.ts +1 -1
- package/src/session/storage/LocalStorePaths.ts +1 -1
- package/src/session/storage/Metadata.ts +1 -44
- package/src/session/storage/RuntimeSessionPort.ts +0 -5
- package/src/session/{preview → storage}/SessionMessagePreview.ts +0 -1
- package/src/session/storage/SessionStorageCodec.ts +54 -28
- package/src/session/storage/SessionStorageSchema.ts +1 -1
- package/src/session/storage/SqliteSessionStorage.ts +29 -22
- package/src/tools/ask/AskQuestionAnswers.ts +125 -0
- package/src/tools/ask/AskQuestionsTool.ts +32 -37
- package/src/types/agent/AgentOptions.ts +17 -8
- package/src/types/agent/AgentSessionCollection.ts +9 -0
- package/src/types/agent/SessionActor.ts +3 -4
- package/src/types/group/DispatchStrategy.ts +1 -1
- package/src/types/group/GroupSession.ts +44 -1
- package/src/types/group/GroupSessionStore.ts +30 -3
- package/src/types/sdk/AgentSessionAction.ts +1 -14
- package/src/types/session/{AdaptivePartContextPolicy.ts → ContextCheckpoint.ts} +9 -8
- package/src/types/session/SessionAgentMessageState.ts +6 -16
- package/src/types/session/SessionComposer.ts +67 -39
- package/src/types/session/SessionExecution.ts +15 -13
- package/src/types/session/SessionInteractions.ts +0 -2
- package/src/types/session/SessionLocalState.ts +0 -5
- package/src/types/session/SessionLoop.ts +37 -12
- package/src/types/session/SessionMessages.ts +3 -34
- package/src/types/session/SessionOptions.ts +18 -13
- package/src/types/session/SessionPort.ts +0 -4
- package/src/types/session/SessionState.ts +0 -1
- package/src/types/session/SessionSystem.ts +10 -16
- package/src/types/session/SessionTool.ts +2 -2
- package/src/types/session/SessionTurnCompletion.ts +12 -2
- package/src/types/session/SessionTurnFileDiff.ts +4 -4
- package/src/types/session/{SessionComposition.ts → StepInput.ts} +22 -14
- package/src/types/store/SessionStorage.ts +17 -12
- package/src/types/tool/BoundAgentTool.ts +38 -0
- package/src/types/tools/ask/AskQuestionsTool.ts +11 -13
- package/src/types/{executor → turn}/SessionTurnContext.ts +8 -34
- package/src/utils/Time.ts +12 -64
- package/tsconfig.json +1 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/bin/executor/Executor.d.ts +0 -92
- package/bin/executor/Executor.d.ts.map +0 -1
- package/bin/executor/Executor.js +0 -232
- package/bin/executor/Executor.js.map +0 -1
- package/bin/executor/composer/system/default/SystemPromptAssets.d.ts.map +0 -1
- package/bin/executor/composer/system/default/SystemPromptAssets.js.map +0 -1
- package/bin/executor/composer/system/default/assets/core.prompt.d.ts +0 -7
- package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +0 -1
- package/bin/executor/composer/system/default/assets/core.prompt.js +0 -8
- package/bin/executor/composer/system/default/assets/core.prompt.js.map +0 -1
- package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts +0 -15
- package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts.map +0 -1
- package/bin/executor/core-engine/CoreEngineContextCompaction.js.map +0 -1
- package/bin/executor/core-engine/CoreEngineError.d.ts.map +0 -1
- package/bin/executor/core-engine/CoreEngineError.js.map +0 -1
- package/bin/executor/core-engine/CoreEngineLoopDecision.d.ts +0 -26
- package/bin/executor/core-engine/CoreEngineLoopDecision.d.ts.map +0 -1
- package/bin/executor/core-engine/CoreEngineLoopDecision.js.map +0 -1
- package/bin/executor/core-engine/CoreEngineRunner.d.ts +0 -48
- package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +0 -1
- package/bin/executor/core-engine/CoreEngineRunner.js +0 -343
- package/bin/executor/core-engine/CoreEngineRunner.js.map +0 -1
- package/bin/executor/core-engine/CoreEngineSignals.d.ts.map +0 -1
- package/bin/executor/core-engine/CoreEngineSignals.js.map +0 -1
- package/bin/executor/ids/resolveSessionId.d.ts.map +0 -1
- package/bin/executor/ids/resolveSessionId.js.map +0 -1
- package/bin/executor/messages/ChatMessageMarkup.d.ts.map +0 -1
- package/bin/executor/messages/ChatMessageMarkup.js.map +0 -1
- package/bin/executor/messages/ChatMessageMarkupTypes.d.ts.map +0 -1
- package/bin/executor/messages/ChatMessageMarkupTypes.js.map +0 -1
- package/bin/executor/messages/SessionAttachmentMapper.d.ts.map +0 -1
- package/bin/executor/messages/SessionAttachmentMapper.js.map +0 -1
- package/bin/executor/messages/SessionMessageLog.d.ts.map +0 -1
- package/bin/executor/messages/SessionMessageLog.js.map +0 -1
- package/bin/executor/messages/SessionModelMessages.d.ts.map +0 -1
- package/bin/executor/messages/SessionModelMessages.js.map +0 -1
- package/bin/executor/model/ModelGenerate.d.ts.map +0 -1
- package/bin/executor/model/ModelGenerate.js.map +0 -1
- package/bin/executor/model/ModelRequestRunner.d.ts.map +0 -1
- package/bin/executor/model/ModelRequestRunner.js.map +0 -1
- package/bin/executor/model/ModelStepRunner.d.ts.map +0 -1
- package/bin/executor/model/ModelStepRunner.js.map +0 -1
- package/bin/executor/model/ModelStreamConsumer.d.ts.map +0 -1
- package/bin/executor/model/ModelStreamConsumer.js.map +0 -1
- package/bin/executor/model/ModelStreamFailure.d.ts.map +0 -1
- package/bin/executor/model/ModelStreamFailure.js.map +0 -1
- package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +0 -39
- package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +0 -1
- package/bin/executor/services/ExecutorRecoveryPolicy.js.map +0 -1
- package/bin/executor/types/SessionHistoryMeta.d.ts.map +0 -1
- package/bin/executor/types/SessionHistoryMeta.js.map +0 -1
- package/bin/executor/types/SessionLoop.d.ts +0 -59
- package/bin/executor/types/SessionLoop.d.ts.map +0 -1
- package/bin/executor/types/SessionLoop.js +0 -9
- package/bin/executor/types/SessionLoop.js.map +0 -1
- package/bin/executor/types/SessionPrompts.d.ts +0 -14
- package/bin/executor/types/SessionPrompts.d.ts.map +0 -1
- package/bin/executor/types/SessionPrompts.js +0 -8
- package/bin/executor/types/SessionPrompts.js.map +0 -1
- package/bin/session/DefaultSessionComposer.d.ts +0 -24
- package/bin/session/DefaultSessionComposer.d.ts.map +0 -1
- package/bin/session/DefaultSessionComposer.js +0 -99
- package/bin/session/DefaultSessionComposer.js.map +0 -1
- package/bin/session/SessionComposition.d.ts +0 -49
- package/bin/session/SessionComposition.d.ts.map +0 -1
- package/bin/session/SessionComposition.js +0 -309
- package/bin/session/SessionComposition.js.map +0 -1
- package/bin/session/SessionHookPoints.d.ts +0 -15
- package/bin/session/SessionHookPoints.d.ts.map +0 -1
- package/bin/session/SessionHookPoints.js +0 -15
- package/bin/session/SessionHookPoints.js.map +0 -1
- package/bin/session/SessionHooks.d.ts +0 -38
- package/bin/session/SessionHooks.d.ts.map +0 -1
- package/bin/session/SessionHooks.js +0 -71
- package/bin/session/SessionHooks.js.map +0 -1
- package/bin/session/SessionLoop.d.ts.map +0 -1
- package/bin/session/SessionLoop.js.map +0 -1
- package/bin/session/SessionMessages.d.ts.map +0 -1
- package/bin/session/SessionMessages.js.map +0 -1
- package/bin/session/SessionQueue.d.ts.map +0 -1
- package/bin/session/SessionQueue.js.map +0 -1
- package/bin/session/SessionState.d.ts.map +0 -1
- package/bin/session/SessionState.js.map +0 -1
- package/bin/session/SessionSystem.d.ts +0 -19
- package/bin/session/SessionSystem.d.ts.map +0 -1
- package/bin/session/SessionSystem.js.map +0 -1
- package/bin/session/SessionTitle.d.ts.map +0 -1
- package/bin/session/SessionTitle.js.map +0 -1
- package/bin/session/browse/Browse.d.ts.map +0 -1
- package/bin/session/browse/Browse.js.map +0 -1
- package/bin/session/browse/SessionMessageTimeline.d.ts.map +0 -1
- package/bin/session/browse/SessionMessageTimeline.js.map +0 -1
- package/bin/session/composer/policies/AdaptivePartContextPolicy.d.ts +0 -35
- package/bin/session/composer/policies/AdaptivePartContextPolicy.d.ts.map +0 -1
- package/bin/session/composer/policies/AdaptivePartContextPolicy.js +0 -256
- package/bin/session/composer/policies/AdaptivePartContextPolicy.js.map +0 -1
- package/bin/session/composer/policies/FullHistoryContextPolicy.d.ts +0 -24
- package/bin/session/composer/policies/FullHistoryContextPolicy.d.ts.map +0 -1
- package/bin/session/composer/policies/FullHistoryContextPolicy.js +0 -31
- package/bin/session/composer/policies/FullHistoryContextPolicy.js.map +0 -1
- package/bin/session/composer/policies/SessionSummaryPrompts.d.ts.map +0 -1
- package/bin/session/composer/policies/SessionSummaryPrompts.js.map +0 -1
- package/bin/session/control/SessionInteractions.d.ts +0 -39
- package/bin/session/control/SessionInteractions.d.ts.map +0 -1
- package/bin/session/control/SessionInteractions.js +0 -255
- package/bin/session/control/SessionInteractions.js.map +0 -1
- package/bin/session/execution/SessionAssistantOutputAdapter.d.ts.map +0 -1
- package/bin/session/execution/SessionAssistantOutputAdapter.js.map +0 -1
- package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts +0 -28
- package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts.map +0 -1
- package/bin/session/execution/tools/SessionShellApprovalAdapter.js +0 -87
- package/bin/session/execution/tools/SessionShellApprovalAdapter.js.map +0 -1
- package/bin/session/messages/SessionAgentActionPartWriter.d.ts +0 -22
- package/bin/session/messages/SessionAgentActionPartWriter.d.ts.map +0 -1
- package/bin/session/messages/SessionAgentActionPartWriter.js +0 -36
- package/bin/session/messages/SessionAgentActionPartWriter.js.map +0 -1
- package/bin/session/messages/SessionMessageInteractionWriter.d.ts +0 -46
- package/bin/session/messages/SessionMessageInteractionWriter.d.ts.map +0 -1
- package/bin/session/messages/SessionMessageInteractionWriter.js +0 -183
- package/bin/session/messages/SessionMessageInteractionWriter.js.map +0 -1
- package/bin/session/messages/SessionTurnFileDiffBuilder.d.ts.map +0 -1
- package/bin/session/messages/SessionTurnFileDiffBuilder.js.map +0 -1
- package/bin/session/runtime/SessionEventHub.d.ts.map +0 -1
- package/bin/session/runtime/SessionEventHub.js.map +0 -1
- package/bin/session/runtime/SessionModelRequestWarning.d.ts.map +0 -1
- package/bin/session/runtime/SessionModelRequestWarning.js.map +0 -1
- package/bin/session/runtime/SessionTitleTask.d.ts.map +0 -1
- package/bin/session/runtime/SessionTitleTask.js.map +0 -1
- package/bin/session/runtime/SessionTurnCompletion.d.ts.map +0 -1
- package/bin/session/runtime/SessionTurnCompletion.js.map +0 -1
- package/bin/session/runtime/SessionTurnContext.d.ts +0 -29
- package/bin/session/runtime/SessionTurnContext.d.ts.map +0 -1
- package/bin/session/runtime/SessionTurnContext.js.map +0 -1
- package/bin/session/runtime/SessionTurnFileDiff.d.ts.map +0 -1
- package/bin/session/runtime/SessionTurnFileDiff.js.map +0 -1
- package/bin/types/action/ActionResult.d.ts +0 -35
- package/bin/types/action/ActionResult.d.ts.map +0 -1
- package/bin/types/action/ActionResult.js +0 -18
- package/bin/types/action/ActionResult.js.map +0 -1
- package/bin/types/executor/ModelRequest.d.ts.map +0 -1
- package/bin/types/executor/ModelRequest.js.map +0 -1
- package/bin/types/executor/SessionAssistantOutput.d.ts.map +0 -1
- package/bin/types/executor/SessionAssistantOutput.js.map +0 -1
- package/bin/types/executor/SessionToolExecutionContext.d.ts +0 -23
- package/bin/types/executor/SessionToolExecutionContext.d.ts.map +0 -1
- package/bin/types/executor/SessionToolExecutionContext.js +0 -10
- package/bin/types/executor/SessionToolExecutionContext.js.map +0 -1
- package/bin/types/executor/SessionTurnContext.d.ts.map +0 -1
- package/bin/types/executor/SessionTurnContext.js.map +0 -1
- package/bin/types/session/AdaptivePartContextPolicy.d.ts.map +0 -1
- package/bin/types/session/AdaptivePartContextPolicy.js +0 -7
- package/bin/types/session/AdaptivePartContextPolicy.js.map +0 -1
- package/bin/types/session/SessionComposition.d.ts.map +0 -1
- package/bin/types/session/SessionComposition.js +0 -8
- package/bin/types/session/SessionComposition.js.map +0 -1
- package/bin/types/session/SessionContextPolicy.d.ts +0 -70
- package/bin/types/session/SessionContextPolicy.d.ts.map +0 -1
- package/bin/types/session/SessionContextPolicy.js +0 -8
- package/bin/types/session/SessionContextPolicy.js.map +0 -1
- package/bin/types/tools/ToolActionExecutionContext.d.ts +0 -30
- package/bin/types/tools/ToolActionExecutionContext.d.ts.map +0 -1
- package/bin/types/tools/ToolActionExecutionContext.js +0 -8
- package/bin/types/tools/ToolActionExecutionContext.js.map +0 -1
- package/src/executor/Executor.ts +0 -319
- package/src/executor/README.md +0 -92
- package/src/executor/composer/system/default/assets/core.prompt.ts +0 -9
- package/src/executor/core-engine/CoreEngineLoopDecision.ts +0 -63
- package/src/executor/core-engine/CoreEngineRunner.ts +0 -458
- package/src/executor/types/SessionLoop.ts +0 -69
- package/src/executor/types/SessionPrompts.ts +0 -14
- package/src/session/DefaultSessionComposer.ts +0 -123
- package/src/session/SessionComposition.ts +0 -370
- package/src/session/SessionHookPoints.ts +0 -17
- package/src/session/SessionHooks.ts +0 -85
- package/src/session/composer/policies/AdaptivePartContextPolicy.ts +0 -307
- package/src/session/composer/policies/FullHistoryContextPolicy.ts +0 -36
- package/src/session/control/SessionInteractions.ts +0 -311
- package/src/session/execution/tools/SessionShellApprovalAdapter.ts +0 -105
- package/src/session/messages/SessionAgentActionPartWriter.ts +0 -54
- package/src/session/messages/SessionMessageInteractionWriter.ts +0 -279
- package/src/types/action/ActionResult.ts +0 -50
- package/src/types/executor/SessionToolExecutionContext.ts +0 -26
- package/src/types/session/SessionContextPolicy.ts +0 -77
- package/src/types/tools/ToolActionExecutionContext.ts +0 -32
- /package/bin/{executor/model → model}/ModelGenerate.js +0 -0
- /package/bin/{executor/model → model}/ModelRequestRunner.js +0 -0
- /package/bin/{executor/model → model}/ModelStreamConsumer.d.ts +0 -0
- /package/bin/{executor/model → model}/ModelStreamConsumer.js +0 -0
- /package/bin/{executor/model → model}/ModelStreamFailure.d.ts +0 -0
- /package/bin/{executor/model → model}/ModelStreamFailure.js +0 -0
- /package/bin/{executor → model}/messages/ChatMessageMarkup.d.ts +0 -0
- /package/bin/{executor → model}/messages/ChatMessageMarkup.js +0 -0
- /package/bin/{executor → model}/messages/SessionAttachmentMapper.d.ts +0 -0
- /package/bin/{executor → model}/messages/SessionAttachmentMapper.js +0 -0
- /package/bin/{executor → model}/messages/SessionMessageLog.d.ts +0 -0
- /package/bin/{executor → model}/messages/SessionMessageLog.js +0 -0
- /package/bin/{executor → model}/messages/SessionModelMessages.d.ts +0 -0
- /package/bin/{executor/composer/system/default → model/prompts}/SystemPromptAssets.d.ts +0 -0
- /package/bin/session/{runtime → loop}/SessionTitleTask.d.ts +0 -0
- /package/bin/session/{runtime → loop}/SessionTitleTask.js +0 -0
- /package/bin/session/{runtime → loop}/SessionTurnFileDiff.d.ts +0 -0
- /package/bin/session/{messages → loop}/SessionTurnFileDiffBuilder.js +0 -0
- /package/bin/session/{execution → messages}/SessionAssistantOutputAdapter.js +0 -0
- /package/bin/session/{runtime → messages}/SessionEventHub.d.ts +0 -0
- /package/bin/session/{runtime → messages}/SessionEventHub.js +0 -0
- /package/bin/session/{browse → messages}/SessionMessageTimeline.d.ts +0 -0
- /package/bin/session/{runtime → messages}/SessionModelRequestWarning.d.ts +0 -0
- /package/bin/session/{runtime → messages}/SessionModelRequestWarning.js +0 -0
- /package/bin/session/{preview → storage}/SessionMessagePreview.d.ts +0 -0
- /package/bin/types/{executor → model}/ModelRequest.d.ts +0 -0
- /package/bin/types/{executor → model}/ModelRequest.js +0 -0
- /package/bin/{executor/types → types/store}/SessionHistoryMeta.d.ts +0 -0
- /package/bin/{executor/types → types/store}/SessionHistoryMeta.js +0 -0
- /package/bin/types/{executor → turn}/SessionAssistantOutput.d.ts +0 -0
- /package/bin/types/{executor → turn}/SessionAssistantOutput.js +0 -0
- /package/bin/types/{executor → turn}/SessionTurnContext.js +0 -0
- /package/src/{executor/model → model}/ModelStreamFailure.ts +0 -0
- /package/src/{executor → model}/messages/ChatMessageMarkup.ts +0 -0
- /package/src/{executor → model}/messages/SessionAttachmentMapper.ts +0 -0
- /package/src/{executor → model}/messages/SessionMessageLog.ts +0 -0
- /package/src/session/{runtime → loop}/SessionTitleTask.ts +0 -0
- /package/src/session/{runtime → messages}/SessionEventHub.ts +0 -0
- /package/src/session/{runtime → messages}/SessionModelRequestWarning.ts +0 -0
- /package/src/types/{executor → model}/ModelRequest.ts +0 -0
- /package/src/{executor/types → types/store}/SessionHistoryMeta.ts +0 -0
- /package/src/types/{executor → turn}/SessionAssistantOutput.ts +0 -0
- /package/src/{executor/ids/resolveSessionId.ts → utils/ResolveSessionId.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionJsonValue.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionJsonValue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SessionJsonValue.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionJsonValue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,+BAA+B;AAC/B,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAc/D"}
|
|
@@ -20,23 +20,4 @@ export function to_session_json_value(input) {
|
|
|
20
20
|
return String(input);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
/** 把任意运行时输入转换为可持久化 JSON 对象,非对象输入返回 undefined。 */
|
|
24
|
-
export function to_session_json_object(input) {
|
|
25
|
-
if (!is_plain_object(input))
|
|
26
|
-
return undefined;
|
|
27
|
-
try {
|
|
28
|
-
const value = JSON.parse(JSON.stringify(input));
|
|
29
|
-
return is_plain_object(value) ? value : undefined;
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
/** 判断未知值是否为普通对象。 */
|
|
36
|
-
function is_plain_object(input) {
|
|
37
|
-
if (!input || typeof input !== "object" || Array.isArray(input))
|
|
38
|
-
return false;
|
|
39
|
-
const prototype = Object.getPrototypeOf(input);
|
|
40
|
-
return prototype === Object.prototype || prototype === null;
|
|
41
|
-
}
|
|
42
23
|
//# sourceMappingURL=SessionJsonValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionJsonValue.js","sourceRoot":"","sources":["../../../src/session/messages/SessionJsonValue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+BAA+B;AAC/B,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAc,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC
|
|
1
|
+
{"version":3,"file":"SessionJsonValue.js","sourceRoot":"","sources":["../../../src/session/messages/SessionJsonValue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+BAA+B;AAC/B,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAc,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Message 内存缓存与实时 Mutation 发布边界。
|
|
3
|
+
*
|
|
4
|
+
* 缓存只保留「被未收口 writer 持有」的 Agent Message;终态历史始终读取 Store。
|
|
5
|
+
* 本模块同时拥有对外发布形状的唯一判断——调用方只提交完整快照,由这里决定发整条
|
|
6
|
+
* Message 还是只发发生变化的 Part。
|
|
7
|
+
*
|
|
8
|
+
* 抽出它的原因是打破 SessionMessages 与 Agent Message 运行时之间的双向依赖:
|
|
9
|
+
* 两者都只单向依赖本模块,不再需要互相回指的闭包。
|
|
10
|
+
*/
|
|
11
|
+
import type { SessionMessage, SessionMutation } from "@downcity/type";
|
|
12
|
+
/** SessionMessageCache 构造参数。 */
|
|
13
|
+
export interface SessionMessageCacheOptions {
|
|
14
|
+
/** 当前缓存所属 Session 标识。 */
|
|
15
|
+
session_id: string;
|
|
16
|
+
/** 订阅方接收实时 Mutation 的发布函数。 */
|
|
17
|
+
publish: (mutation: SessionMutation) => void;
|
|
18
|
+
}
|
|
19
|
+
/** 一个 Session 的内存 Message 缓存与 Mutation 发布边界。 */
|
|
20
|
+
export declare class SessionMessageCache {
|
|
21
|
+
private readonly session_id;
|
|
22
|
+
private readonly publish;
|
|
23
|
+
private readonly messages_by_id;
|
|
24
|
+
/** 当前被未收口 writer 持有的 Message;同一时刻至多一条。 */
|
|
25
|
+
private held_id;
|
|
26
|
+
constructor(options: SessionMessageCacheOptions);
|
|
27
|
+
/** 读取一条已缓存的 Message。 */
|
|
28
|
+
get(message_id: string): SessionMessage | undefined;
|
|
29
|
+
/** 返回当前缓存中的全部 Message。 */
|
|
30
|
+
all(): Iterable<SessionMessage>;
|
|
31
|
+
/** 登记当前正在写入的 Message。 */
|
|
32
|
+
set_held(message_id: string): void;
|
|
33
|
+
/** 释放指定 Message 的持有关系;不匹配时忽略。 */
|
|
34
|
+
release_held(message_id: string): void;
|
|
35
|
+
/** 指定 Message 是否仍被未收口的 writer 持有。 */
|
|
36
|
+
is_held(message_id: string): boolean;
|
|
37
|
+
/** 返回当前被未收口 writer 持有的 Message 标识。 */
|
|
38
|
+
held_message_id(): string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* 接受已持久化的完整快照。
|
|
41
|
+
*
|
|
42
|
+
* 发布形状由快照差异决定,调用方不需要描述「变化了什么」;
|
|
43
|
+
* publish_mutation 为 false 时只更新运行缓存。
|
|
44
|
+
*/
|
|
45
|
+
accept(message: SessionMessage, publish_mutation?: boolean): void;
|
|
46
|
+
/** 接受一条尚未持久化的实时 Mutation 及其对应的运行快照。 */
|
|
47
|
+
project(mutation: SessionMutation, message: SessionMessage): void;
|
|
48
|
+
/** 只缓存被 writer 持有的 Agent Message;终态历史始终读取 Store。 */
|
|
49
|
+
private remember;
|
|
50
|
+
/** 构造一条完整 Message Mutation。 */
|
|
51
|
+
private build_message_mutation;
|
|
52
|
+
/** 构造一条单 Part Mutation。 */
|
|
53
|
+
private build_part_mutation;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=SessionMessageCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionMessageCache.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAGV,cAAc,EACd,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,gCAAgC;AAChC,MAAM,WAAW,0BAA0B;IACzC,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CAC9C;AAED,gDAAgD;AAChD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;IACpE,0CAA0C;IAC1C,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,EAAE,0BAA0B;IAK/C,wBAAwB;IACxB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAInD,0BAA0B;IAC1B,GAAG,IAAI,QAAQ,CAAC,cAAc,CAAC;IAI/B,yBAAyB;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIlC,iCAAiC;IACjC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAItC,qCAAqC;IACrC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIpC,sCAAsC;IACtC,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,IAAI;IAc9D,uCAAuC;IACvC,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAKjE,oDAAoD;IACpD,OAAO,CAAC,QAAQ;IAOhB,+BAA+B;IAC/B,OAAO,CAAC,sBAAsB;IAe9B,2BAA2B;IAC3B,OAAO,CAAC,mBAAmB;CAc5B"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Message 内存缓存与实时 Mutation 发布边界。
|
|
3
|
+
*
|
|
4
|
+
* 缓存只保留「被未收口 writer 持有」的 Agent Message;终态历史始终读取 Store。
|
|
5
|
+
* 本模块同时拥有对外发布形状的唯一判断——调用方只提交完整快照,由这里决定发整条
|
|
6
|
+
* Message 还是只发发生变化的 Part。
|
|
7
|
+
*
|
|
8
|
+
* 抽出它的原因是打破 SessionMessages 与 Agent Message 运行时之间的双向依赖:
|
|
9
|
+
* 两者都只单向依赖本模块,不再需要互相回指的闭包。
|
|
10
|
+
*/
|
|
11
|
+
import { generate_id } from "../../utils/Id.js";
|
|
12
|
+
import { resolve_changed_agent_parts } from "../../session/messages/SessionAgentParts.js";
|
|
13
|
+
import { create_session_part_mutation } from "../../session/messages/SessionMutationFactory.js";
|
|
14
|
+
/** 一个 Session 的内存 Message 缓存与 Mutation 发布边界。 */
|
|
15
|
+
export class SessionMessageCache {
|
|
16
|
+
session_id;
|
|
17
|
+
publish;
|
|
18
|
+
messages_by_id = new Map();
|
|
19
|
+
/** 当前被未收口 writer 持有的 Message;同一时刻至多一条。 */
|
|
20
|
+
held_id = null;
|
|
21
|
+
constructor(options) {
|
|
22
|
+
this.session_id = options.session_id;
|
|
23
|
+
this.publish = options.publish;
|
|
24
|
+
}
|
|
25
|
+
/** 读取一条已缓存的 Message。 */
|
|
26
|
+
get(message_id) {
|
|
27
|
+
return this.messages_by_id.get(message_id);
|
|
28
|
+
}
|
|
29
|
+
/** 返回当前缓存中的全部 Message。 */
|
|
30
|
+
all() {
|
|
31
|
+
return this.messages_by_id.values();
|
|
32
|
+
}
|
|
33
|
+
/** 登记当前正在写入的 Message。 */
|
|
34
|
+
set_held(message_id) {
|
|
35
|
+
this.held_id = message_id;
|
|
36
|
+
}
|
|
37
|
+
/** 释放指定 Message 的持有关系;不匹配时忽略。 */
|
|
38
|
+
release_held(message_id) {
|
|
39
|
+
if (this.held_id === message_id)
|
|
40
|
+
this.held_id = null;
|
|
41
|
+
}
|
|
42
|
+
/** 指定 Message 是否仍被未收口的 writer 持有。 */
|
|
43
|
+
is_held(message_id) {
|
|
44
|
+
return this.held_id === message_id;
|
|
45
|
+
}
|
|
46
|
+
/** 返回当前被未收口 writer 持有的 Message 标识。 */
|
|
47
|
+
held_message_id() {
|
|
48
|
+
return this.held_id ?? undefined;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* 接受已持久化的完整快照。
|
|
52
|
+
*
|
|
53
|
+
* 发布形状由快照差异决定,调用方不需要描述「变化了什么」;
|
|
54
|
+
* publish_mutation 为 false 时只更新运行缓存。
|
|
55
|
+
*/
|
|
56
|
+
accept(message, publish_mutation = true) {
|
|
57
|
+
const previous = this.get(message.message_id);
|
|
58
|
+
this.remember(message);
|
|
59
|
+
if (!publish_mutation)
|
|
60
|
+
return;
|
|
61
|
+
const change = project_message_change(previous, message);
|
|
62
|
+
if (change.variant === "message") {
|
|
63
|
+
this.publish(this.build_message_mutation(message));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
for (const part of change.parts) {
|
|
67
|
+
this.publish(this.build_part_mutation(change.message, part));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/** 接受一条尚未持久化的实时 Mutation 及其对应的运行快照。 */
|
|
71
|
+
project(mutation, message) {
|
|
72
|
+
this.remember(message);
|
|
73
|
+
this.publish(mutation);
|
|
74
|
+
}
|
|
75
|
+
/** 只缓存被 writer 持有的 Agent Message;终态历史始终读取 Store。 */
|
|
76
|
+
remember(message) {
|
|
77
|
+
this.messages_by_id.delete(message.message_id);
|
|
78
|
+
if (message.role !== "agent")
|
|
79
|
+
return;
|
|
80
|
+
if (!this.is_held(message.message_id))
|
|
81
|
+
return;
|
|
82
|
+
this.messages_by_id.set(message.message_id, structuredClone(message));
|
|
83
|
+
}
|
|
84
|
+
/** 构造一条完整 Message Mutation。 */
|
|
85
|
+
build_message_mutation(message) {
|
|
86
|
+
const base = {
|
|
87
|
+
mutation_id: generate_id(),
|
|
88
|
+
variant: "message",
|
|
89
|
+
message_id: message.message_id,
|
|
90
|
+
sequence: message.sequence,
|
|
91
|
+
revision: message.revision,
|
|
92
|
+
session_id: this.session_id,
|
|
93
|
+
...(message.turn_id ? { turn_id: message.turn_id } : {}),
|
|
94
|
+
created_at: message.updated_at,
|
|
95
|
+
};
|
|
96
|
+
if (message.role === "agent")
|
|
97
|
+
return { ...base, role: "agent", message };
|
|
98
|
+
return { ...base, role: "user", message };
|
|
99
|
+
}
|
|
100
|
+
/** 构造一条单 Part Mutation。 */
|
|
101
|
+
build_part_mutation(message, part) {
|
|
102
|
+
return create_session_part_mutation({
|
|
103
|
+
mutation_id: generate_id(),
|
|
104
|
+
session_id: this.session_id,
|
|
105
|
+
message_id: message.message_id,
|
|
106
|
+
...(message.turn_id ? { turn_id: message.turn_id } : {}),
|
|
107
|
+
revision: message.revision,
|
|
108
|
+
created_at: message.updated_at,
|
|
109
|
+
part,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* 将一次 Message 提交投影为最小突变。
|
|
115
|
+
*
|
|
116
|
+
* Part Mutation 是「按 part_id 替换」,既无法让消费方建立一条尚不存在的 Message,
|
|
117
|
+
* 也无法表达 Part 消失。所以首次出现、User Message、state 收口与 Part 被移除都必须
|
|
118
|
+
* 整条发布;其余情况只发布发生变化的 Part,不重传整条会话。
|
|
119
|
+
*/
|
|
120
|
+
function project_message_change(previous, message) {
|
|
121
|
+
if (previous?.role !== "agent" ||
|
|
122
|
+
message.role !== "agent" ||
|
|
123
|
+
previous.state !== message.state ||
|
|
124
|
+
previous.parts.some((part) => !message.parts.some((next) => next.part_id === part.part_id))) {
|
|
125
|
+
return { variant: "message" };
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
variant: "part",
|
|
129
|
+
message,
|
|
130
|
+
parts: resolve_changed_agent_parts(previous.parts, message.parts),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=SessionMessageCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionMessageCache.js","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Message 展示状态的推导规则。
|
|
3
|
+
*
|
|
4
|
+
* Message 不保存「是否还能写」这个事实:它由 writer 持有关系与自身 Parts 共同决定。
|
|
5
|
+
* 本模块是唯一规则源,任何写入方都不得自行决定 Message 终态。
|
|
6
|
+
*/
|
|
7
|
+
import type { SessionAgentMessage, SessionAgentMessagePart } from "@downcity/type";
|
|
8
|
+
/** 判断 Part 是否仍在进行中。 */
|
|
9
|
+
export declare function is_session_part_in_flight(part: SessionAgentMessagePart): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* 推导 Message 的展示状态。
|
|
12
|
+
*
|
|
13
|
+
* 被未收口的 writer 持有 ⇒ 仍可写;否则只要有进行中的 Part 就可写。
|
|
14
|
+
* 进行中的 Action 会让其载体 Message 保持 streaming,完成后立即收敛为 done。
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolve_session_message_state(parts: readonly SessionAgentMessagePart[], held_by_writer: boolean): SessionAgentMessage["state"];
|
|
17
|
+
//# sourceMappingURL=SessionMessageState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionMessageState.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB,uBAAuB;AACvB,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAchF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,uBAAuB,EAAE,EACzC,cAAc,EAAE,OAAO,GACtB,mBAAmB,CAAC,OAAO,CAAC,CAG9B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Message 展示状态的推导规则。
|
|
3
|
+
*
|
|
4
|
+
* Message 不保存「是否还能写」这个事实:它由 writer 持有关系与自身 Parts 共同决定。
|
|
5
|
+
* 本模块是唯一规则源,任何写入方都不得自行决定 Message 终态。
|
|
6
|
+
*/
|
|
7
|
+
/** 判断 Part 是否仍在进行中。 */
|
|
8
|
+
export function is_session_part_in_flight(part) {
|
|
9
|
+
switch (part.type) {
|
|
10
|
+
case "text":
|
|
11
|
+
case "reasoning":
|
|
12
|
+
return part.state === "streaming";
|
|
13
|
+
case "tool":
|
|
14
|
+
return part.state !== "completed" && part.state !== "failed";
|
|
15
|
+
case "action":
|
|
16
|
+
return part.state === "running";
|
|
17
|
+
case "file":
|
|
18
|
+
case "data":
|
|
19
|
+
case "error":
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 推导 Message 的展示状态。
|
|
25
|
+
*
|
|
26
|
+
* 被未收口的 writer 持有 ⇒ 仍可写;否则只要有进行中的 Part 就可写。
|
|
27
|
+
* 进行中的 Action 会让其载体 Message 保持 streaming,完成后立即收敛为 done。
|
|
28
|
+
*/
|
|
29
|
+
export function resolve_session_message_state(parts, held_by_writer) {
|
|
30
|
+
if (held_by_writer)
|
|
31
|
+
return "streaming";
|
|
32
|
+
return parts.some(is_session_part_in_flight) ? "streaming" : "done";
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=SessionMessageState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionMessageState.js","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,uBAAuB;AACvB,MAAM,UAAU,yBAAyB,CAAC,IAA6B;IACrE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC;QACpC,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;QAC/D,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;QAClC,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAyC,EACzC,cAAuB;IAEvB,IAAI,cAAc;QAAE,OAAO,WAAW,CAAC;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionMessageTimeline.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageTimeline.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,gBAAgB,CAAC;AAmExB,kDAAkD;AAClD,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,cAAc,GACtB,yBAAyB,EAAE,CAoE7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionMessageTimeline.js","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageTimeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,30 +5,29 @@
|
|
|
5
5
|
* 同一 Assistant Message 的流式、审批与关闭操作共享一条写队列,保证 revision
|
|
6
6
|
* 从最新快照严格递增。
|
|
7
7
|
*/
|
|
8
|
-
import { SessionAgentMessageWriter } from "
|
|
9
|
-
import { SessionAgentActionPartWriter } from "../session/messages/SessionAgentActionPartWriter.js";
|
|
8
|
+
import { SessionAgentMessageWriter } from "../../session/messages/SessionAgentMessageWriter.js";
|
|
10
9
|
import type { JsonObject } from "@downcity/type";
|
|
11
|
-
import type { ListSessionMessagesInput,
|
|
12
|
-
import type { SessionMessageStorageStats } from "
|
|
13
|
-
import type { SessionStreamingToolLocation } from "../types/session/SessionTool.js";
|
|
10
|
+
import type { ListSessionMessagesInput, SessionAgentInteraction, SessionAgentMessage, SessionMessage, SessionMessagePage, SessionUserMessage } from "@downcity/type";
|
|
11
|
+
import type { SessionMessageStorageStats } from "../../types/store/SessionStorage.js";
|
|
14
12
|
import type { SessionInteractionCloseInput, SessionInteractionRequest, SessionInteractionResponse } from "@downcity/type";
|
|
15
13
|
import type { SessionActionEvent } from "@downcity/type";
|
|
16
|
-
import type {
|
|
17
|
-
export { SessionAgentMessageWriter } from "
|
|
18
|
-
export {
|
|
19
|
-
export { normalize_session_user_parts } from "../session/messages/SessionUserMessage.js";
|
|
14
|
+
import type { AppendExternalSessionAgentMessageInput, AppendExternalSessionUserMessageInput, AppendSessionAgentErrorPartInput, AppendSessionPromptMessageInput, AppendSessionUserMessageInput, OpenSessionAgentMessageInput, SessionMessagesOptions } from "../../types/session/SessionMessages.js";
|
|
15
|
+
export { SessionAgentMessageWriter } from "../../session/messages/SessionAgentMessageWriter.js";
|
|
16
|
+
export { normalize_session_user_parts } from "../../session/messages/SessionUserMessage.js";
|
|
20
17
|
/** 唯一 Session Message 写入服务。 */
|
|
21
18
|
export declare class SessionMessages {
|
|
22
19
|
readonly session_id: string;
|
|
23
20
|
private readonly store;
|
|
24
21
|
private readonly attachment_store;
|
|
25
|
-
|
|
26
|
-
private readonly
|
|
22
|
+
/** Message 运行缓存与 Mutation 发布边界。 */
|
|
23
|
+
private readonly cache;
|
|
27
24
|
/** Assistant 草稿与 Interaction 的串行状态转换器。 */
|
|
28
25
|
private readonly agent_state;
|
|
29
26
|
/** 当前 Message 恢复事务;并发初始化共享同一个 Promise。 */
|
|
30
27
|
private initialize_promise;
|
|
31
28
|
constructor(options: SessionMessagesOptions);
|
|
29
|
+
/** 该 Message 是否仍由未收口的 writer 持有;终态推导与 Action 归属共同依赖它。 */
|
|
30
|
+
private is_held_by_writer;
|
|
32
31
|
/** 恢复已有 Message,并收口进程中断遗留的运行状态。 */
|
|
33
32
|
initialize(): Promise<void>;
|
|
34
33
|
/** 只恢复非终态 Message,并由领域层统一收口进程中断状态。 */
|
|
@@ -39,8 +38,6 @@ export declare class SessionMessages {
|
|
|
39
38
|
append_user_message(input: AppendSessionUserMessageInput): Promise<SessionUserMessage>;
|
|
40
39
|
/** 创建可持续接收 chunk 的 Assistant Message。 */
|
|
41
40
|
open_agent_message(input: OpenSessionAgentMessageInput): Promise<SessionAgentMessageWriter>;
|
|
42
|
-
/** 直接写入一条已完成 Assistant Message。 */
|
|
43
|
-
append_completed_agent_message(input: AppendCompletedAgentMessageInput): Promise<SessionAgentMessage>;
|
|
44
41
|
/** 把公开 Session API 的 User 输入转换为 canonical Message 并持久化。 */
|
|
45
42
|
append_external_user_message(input: AppendExternalSessionUserMessageInput): Promise<boolean>;
|
|
46
43
|
/** 把公开 Session API 的 Assistant 输入转换为 canonical Message 并持久化。 */
|
|
@@ -49,12 +46,30 @@ export declare class SessionMessages {
|
|
|
49
46
|
append_prompt_message(input: AppendSessionPromptMessageInput): Promise<SessionUserMessage>;
|
|
50
47
|
/** 读取指定 Turn 最近一条 canonical Agent Message。 */
|
|
51
48
|
read_latest_agent_message(turn_id: string): Promise<SessionAgentMessage | null>;
|
|
52
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* 按稳定 Action ID 落盘一条 canonical Action。
|
|
51
|
+
*
|
|
52
|
+
* 判定顺序固定,三分支互斥:
|
|
53
|
+
* 1. 该 Turn 存在 writer 持有的正文 Message → Action 作为其 Part 内联;
|
|
54
|
+
* 2. 否则存在 id 等于 action_id 的载体 Message → 原地更新其中的 Action Part;
|
|
55
|
+
* 3. 否则新建仅含该 Action Part 的载体 Message。
|
|
56
|
+
*
|
|
57
|
+
* 三个分支都只写 Part,Message 终态统一由 SessionMessageState 推导。
|
|
58
|
+
*/
|
|
53
59
|
persist_action(event: SessionActionEvent, options?: {
|
|
54
60
|
publish_mutation?: boolean;
|
|
55
61
|
}): Promise<void>;
|
|
56
|
-
/**
|
|
57
|
-
|
|
62
|
+
/** 查找指定 Turn 当前由 writer 持有的正文 Message(同一时刻至多一条)。 */
|
|
63
|
+
private find_open_message;
|
|
64
|
+
/** 复用已有 Action Part 身份,为被 writer 持有的 Agent Message 构造对齐的 Action Part。 */
|
|
65
|
+
private resolve_streaming_action_part;
|
|
66
|
+
/**
|
|
67
|
+
* 创建只包含单个 Action Part 的独立 Agent Message。
|
|
68
|
+
*
|
|
69
|
+
* 只在当前 Turn 没有 writer 持有的 Agent Message 时使用;Action Part 直接以事件声明的
|
|
70
|
+
* 目标状态落盘,不再先建后改,避免同一个 Action 产生两次 Mutation。
|
|
71
|
+
*/
|
|
72
|
+
private create_standalone_action_message;
|
|
58
73
|
/** 更新 Action 状态,同时保持 message_id 与 sequence 不变。 */
|
|
59
74
|
update_action_part(message_id: string, status: "running" | "completed" | "failed", changes?: {
|
|
60
75
|
title?: string;
|
|
@@ -79,38 +94,15 @@ export declare class SessionMessages {
|
|
|
79
94
|
storage_stats(): Promise<SessionMessageStorageStats>;
|
|
80
95
|
/** 向当前 Session 导入 fork 来源 Message,并重新分配全部身份和顺序。 */
|
|
81
96
|
import_messages(messages: SessionMessage[]): Promise<void>;
|
|
82
|
-
/** @internal 只向运行投影追加 Agent 文本 delta。 */
|
|
83
|
-
project_agent_delta(message_id: string, part_id: string, type: "text" | "reasoning", delta: string): void;
|
|
84
|
-
/** @internal 只向运行投影追加 Agent Tool 输入 delta。 */
|
|
85
|
-
project_agent_tool_input_delta(message_id: string, part_id: string, tool_call_id: string, delta: string): void;
|
|
86
|
-
/** @internal 只向运行投影写入 Agent 完整 Part。 */
|
|
87
|
-
project_agent_part(message_id: string, part: SessionAgentMessagePart): void;
|
|
88
|
-
/** @internal 原子提交当前运行投影。 */
|
|
89
|
-
checkpoint_agent_message(message_id: string): Promise<void>;
|
|
90
|
-
/** @internal 原子提交一组非流式 Agent Parts。 */
|
|
91
|
-
commit_agent_parts(message_id: string, parts: readonly SessionAgentMessagePart[]): Promise<void>;
|
|
92
|
-
/** @internal 丢弃未提交的当前 Step 投影。 */
|
|
93
|
-
rollback_agent_projection(message_id: string): Promise<void>;
|
|
94
|
-
/** @internal 原子提交当前 Assistant step 的 metadata 快照。 */
|
|
95
|
-
commit_agent_step(message_id: string, parts: SessionAgentMessagePart[]): Promise<void>;
|
|
96
|
-
/** @internal 收口 Assistant Message。 */
|
|
97
|
-
complete_agent_message(message_id: string, status: "completed" | "stopped" | "failed", error?: string): Promise<void>;
|
|
98
97
|
private create_message;
|
|
99
|
-
/** 读取当前流式 Assistant 中的指定 Tool Part。 */
|
|
100
|
-
find_streaming_tool(tool_call_id: string): SessionStreamingToolLocation | undefined;
|
|
101
98
|
/** 返回当前 Session 中全部等待用户响应的 canonical Interaction。 */
|
|
102
|
-
list_pending_interactions():
|
|
99
|
+
list_pending_interactions(): SessionAgentInteraction[];
|
|
103
100
|
/** 原子创建 Interaction,并把关联 Tool 转为 waiting-user。 */
|
|
104
|
-
request_interaction(request: SessionInteractionRequest): Promise<
|
|
101
|
+
request_interaction(request: SessionInteractionRequest): Promise<SessionAgentInteraction>;
|
|
105
102
|
/** 原子保存用户响应,并按 Interaction 结果恢复或终止关联 Tool。 */
|
|
106
|
-
resolve_interaction(interaction_id: string, response: SessionInteractionResponse): Promise<
|
|
103
|
+
resolve_interaction(interaction_id: string, response: SessionInteractionResponse): Promise<SessionAgentInteraction>;
|
|
107
104
|
/** 原子结束未响应 Interaction,并把关联 Tool 标记为失败。 */
|
|
108
|
-
close_interaction(interaction_id: string, input: SessionInteractionCloseInput): Promise<
|
|
109
|
-
private build_message_mutation;
|
|
110
|
-
private accept_message;
|
|
111
|
-
private accept_mutation;
|
|
112
|
-
/** 仅缓存可变的 streaming Agent Message;终态历史始终读取 SQLite。 */
|
|
113
|
-
private remember_message;
|
|
105
|
+
close_interaction(interaction_id: string, input: SessionInteractionCloseInput): Promise<SessionAgentInteraction>;
|
|
114
106
|
private ensure_initialized;
|
|
115
107
|
}
|
|
116
108
|
//# sourceMappingURL=SessionMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionMessages.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionMessages.ts"],"names":[],"mappings":"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"}
|