@downcity/agent 1.1.74 → 1.1.81
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 +15 -18
- package/bin/agent/local/Agent.d.ts +82 -0
- package/bin/agent/local/Agent.d.ts.map +1 -0
- package/bin/agent/local/Agent.js +154 -0
- package/bin/agent/local/Agent.js.map +1 -0
- package/bin/agent/local/AgentInstructions.d.ts +22 -0
- package/bin/agent/local/AgentInstructions.d.ts.map +1 -0
- package/bin/agent/local/AgentInstructions.js +57 -0
- package/bin/agent/local/AgentInstructions.js.map +1 -0
- package/bin/agent/local/AgentPluginFactory.d.ts +29 -0
- package/bin/agent/local/AgentPluginFactory.d.ts.map +1 -0
- package/bin/agent/local/AgentPluginFactory.js +53 -0
- package/bin/agent/local/AgentPluginFactory.js.map +1 -0
- package/bin/{runtime/host/AgentHostRuntime.d.ts → agent/local/AgentRuntimeAssembly.d.ts} +2 -2
- package/bin/agent/local/AgentRuntimeAssembly.d.ts.map +1 -0
- package/bin/{runtime/host/AgentHostRuntime.js → agent/local/AgentRuntimeAssembly.js} +2 -2
- package/bin/agent/local/AgentRuntimeAssembly.js.map +1 -0
- package/bin/agent/local/AgentRuntimeFactory.d.ts +72 -0
- package/bin/agent/local/AgentRuntimeFactory.d.ts.map +1 -0
- package/bin/agent/local/AgentRuntimeFactory.js +73 -0
- package/bin/agent/local/AgentRuntimeFactory.js.map +1 -0
- package/bin/{runtime/host → agent/local}/ProjectSetup.d.ts +1 -1
- package/bin/agent/local/ProjectSetup.d.ts.map +1 -0
- package/bin/{runtime/host → agent/local}/ProjectSetup.js +1 -1
- package/bin/agent/local/ProjectSetup.js.map +1 -0
- package/bin/agent/local/services/AgentAssemblyService.d.ts +112 -0
- package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -0
- package/bin/agent/local/services/AgentAssemblyService.js +135 -0
- package/bin/agent/local/services/AgentAssemblyService.js.map +1 -0
- package/bin/agent/local/services/AgentLifecycleService.d.ts +59 -0
- package/bin/agent/local/services/AgentLifecycleService.d.ts.map +1 -0
- package/bin/agent/local/services/AgentLifecycleService.js +136 -0
- package/bin/agent/local/services/AgentLifecycleService.js.map +1 -0
- package/bin/agent/local/services/AgentSessionManager.d.ts +106 -0
- package/bin/agent/local/services/AgentSessionManager.d.ts.map +1 -0
- package/bin/agent/local/services/AgentSessionManager.js +182 -0
- package/bin/agent/local/services/AgentSessionManager.js.map +1 -0
- package/bin/agent/{RemoteAgent.d.ts → remote/RemoteAgent.d.ts} +3 -3
- package/bin/agent/remote/RemoteAgent.d.ts.map +1 -0
- package/bin/agent/remote/RemoteAgent.js +58 -0
- package/bin/agent/remote/RemoteAgent.js.map +1 -0
- package/bin/agent/remote/RemoteSession.d.ts +62 -0
- package/bin/agent/remote/RemoteSession.d.ts.map +1 -0
- package/bin/agent/remote/RemoteSession.js +225 -0
- package/bin/agent/remote/RemoteSession.js.map +1 -0
- package/bin/agent/remote/RemoteTransport.d.ts +52 -0
- package/bin/agent/remote/RemoteTransport.d.ts.map +1 -0
- package/bin/agent/remote/RemoteTransport.js +9 -0
- package/bin/agent/remote/RemoteTransport.js.map +1 -0
- package/bin/agent/remote/TransportFactory.d.ts +13 -0
- package/bin/agent/remote/TransportFactory.d.ts.map +1 -0
- package/bin/agent/remote/TransportFactory.js +22 -0
- package/bin/agent/remote/TransportFactory.js.map +1 -0
- package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts +35 -0
- package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -0
- package/bin/agent/remote/transports/HttpRemoteAgentTransport.js +259 -0
- package/bin/agent/remote/transports/HttpRemoteAgentTransport.js.map +1 -0
- package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts +34 -0
- package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -0
- package/bin/agent/remote/transports/RpcRemoteAgentTransport.js +66 -0
- package/bin/agent/remote/transports/RpcRemoteAgentTransport.js.map +1 -0
- package/bin/executor/Executor.d.ts +7 -20
- package/bin/executor/Executor.d.ts.map +1 -1
- package/bin/executor/Executor.js +77 -348
- package/bin/executor/Executor.js.map +1 -1
- package/bin/executor/SessionRunScope.d.ts +18 -34
- package/bin/executor/SessionRunScope.d.ts.map +1 -1
- package/bin/executor/SessionRunScope.js +42 -28
- package/bin/executor/SessionRunScope.js.map +1 -1
- package/bin/executor/composer/context/LocalSessionContextComposer.d.ts +5 -3
- package/bin/executor/composer/context/LocalSessionContextComposer.d.ts.map +1 -1
- package/bin/executor/composer/context/LocalSessionContextComposer.js +11 -18
- package/bin/executor/composer/context/LocalSessionContextComposer.js.map +1 -1
- package/bin/executor/composer/context/SessionContextComposer.d.ts +8 -3
- package/bin/executor/composer/context/SessionContextComposer.d.ts.map +1 -1
- package/bin/executor/composer/history/SessionHistoryWriter.js +2 -2
- package/bin/executor/composer/history/SessionHistoryWriter.js.map +1 -1
- package/bin/executor/composer/system/SessionSystemComposer.d.ts +2 -1
- package/bin/executor/composer/system/SessionSystemComposer.d.ts.map +1 -1
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +2 -1
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js +2 -4
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineRunner.d.ts +62 -0
- package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -0
- package/bin/executor/core-engine/CoreEngineRunner.js +309 -0
- package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -0
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts +5 -0
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.js +2 -4
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.js.map +1 -1
- package/bin/executor/messages/AssistantResultPersistence.d.ts +3 -3
- package/bin/executor/messages/AssistantResultPersistence.d.ts.map +1 -1
- package/bin/executor/messages/AssistantResultPersistence.js +2 -6
- package/bin/executor/messages/AssistantResultPersistence.js.map +1 -1
- package/bin/executor/messages/SessionStepEventMapper.d.ts +7 -8
- package/bin/executor/messages/SessionStepEventMapper.d.ts.map +1 -1
- package/bin/executor/messages/SessionStepEventMapper.js +55 -86
- package/bin/executor/messages/SessionStepEventMapper.js.map +1 -1
- package/bin/executor/messages/UserVisibleText.d.ts +2 -10
- package/bin/executor/messages/UserVisibleText.d.ts.map +1 -1
- package/bin/executor/messages/UserVisibleText.js +3 -16
- package/bin/executor/messages/UserVisibleText.js.map +1 -1
- package/bin/executor/services/ExecutorInflightService.d.ts +39 -0
- package/bin/executor/services/ExecutorInflightService.d.ts.map +1 -0
- package/bin/executor/services/ExecutorInflightService.js +75 -0
- package/bin/executor/services/ExecutorInflightService.js.map +1 -0
- package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +103 -0
- package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -0
- package/bin/executor/services/ExecutorRecoveryPolicy.js +87 -0
- package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -0
- package/bin/executor/store/history/SessionHistoryStore.d.ts +12 -0
- package/bin/executor/store/history/SessionHistoryStore.d.ts.map +1 -1
- package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts +12 -0
- package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts.map +1 -1
- package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js +145 -8
- package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js.map +1 -1
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts +19 -0
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -0
- package/bin/executor/tools/plugin/PluginToolBridge.js +143 -0
- package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -0
- package/bin/executor/tools/plugin/PluginToolDefinition.d.ts +32 -0
- package/bin/executor/tools/plugin/PluginToolDefinition.d.ts.map +1 -0
- package/bin/executor/tools/plugin/PluginToolDefinition.js +27 -0
- package/bin/executor/tools/plugin/PluginToolDefinition.js.map +1 -0
- package/bin/executor/tools/plugin/PluginToolSchemas.d.ts +14 -0
- package/bin/executor/tools/plugin/PluginToolSchemas.d.ts.map +1 -0
- package/bin/executor/tools/plugin/PluginToolSchemas.js +19 -0
- package/bin/executor/tools/plugin/PluginToolSchemas.js.map +1 -0
- package/bin/executor/tools/plugin/types/PluginTool.d.ts +39 -0
- package/bin/executor/tools/plugin/types/PluginTool.d.ts.map +1 -0
- package/bin/executor/tools/plugin/types/PluginTool.js +9 -0
- package/bin/executor/tools/plugin/types/PluginTool.js.map +1 -0
- package/bin/executor/tools/shell/ShellToolBridge.js +3 -3
- package/bin/executor/tools/shell/ShellToolBridge.js.map +1 -1
- package/bin/executor/tools/shell/ShellToolFormatting.d.ts +1 -10
- package/bin/executor/tools/shell/ShellToolFormatting.d.ts.map +1 -1
- package/bin/executor/tools/shell/ShellToolFormatting.js +1 -39
- package/bin/executor/tools/shell/ShellToolFormatting.js.map +1 -1
- package/bin/executor/types/SessionHistoryPaths.d.ts +4 -0
- package/bin/executor/types/SessionHistoryPaths.d.ts.map +1 -1
- package/bin/executor/types/SessionRun.d.ts +18 -0
- package/bin/executor/types/SessionRun.d.ts.map +1 -1
- package/bin/index.d.ts +15 -6
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +6 -3
- package/bin/index.js.map +1 -1
- package/bin/plugin/core/BasePlugin.d.ts +2 -2
- package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
- package/bin/plugin/core/BasePlugin.js.map +1 -1
- package/bin/plugin/core/ImagePlugin.d.ts +56 -0
- package/bin/plugin/core/ImagePlugin.d.ts.map +1 -0
- package/bin/plugin/core/ImagePlugin.js +109 -0
- package/bin/plugin/core/ImagePlugin.js.map +1 -0
- package/bin/plugin/core/PluginCommandRequest.d.ts +1 -1
- package/bin/plugin/core/PluginCommandRequest.js +1 -1
- package/bin/plugin/core/PluginLocalExecution.js +1 -1
- package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
- package/bin/plugin/core/ProjectConfigStore.d.ts +3 -2
- package/bin/plugin/core/ProjectConfigStore.d.ts.map +1 -1
- package/bin/plugin/core/ProjectConfigStore.js +3 -4
- package/bin/plugin/core/ProjectConfigStore.js.map +1 -1
- package/bin/plugin/types/Plugin.d.ts +10 -842
- package/bin/plugin/types/Plugin.d.ts.map +1 -1
- package/bin/plugin/types/Plugin.js +3 -4
- package/bin/plugin/types/Plugin.js.map +1 -1
- package/bin/plugin/types/PluginState.d.ts +1 -1
- package/bin/plugin/types/PluginState.d.ts.map +1 -1
- package/bin/rpc/Client.d.ts +2 -99
- package/bin/rpc/Client.d.ts.map +1 -1
- package/bin/rpc/Client.js +0 -46
- package/bin/rpc/Client.js.map +1 -1
- package/bin/rpc/Server.d.ts +5 -21
- package/bin/rpc/Server.d.ts.map +1 -1
- package/bin/rpc/Server.js +30 -315
- package/bin/rpc/Server.js.map +1 -1
- package/bin/rpc/server/InternalHandlers.d.ts +21 -0
- package/bin/rpc/server/InternalHandlers.d.ts.map +1 -0
- package/bin/rpc/server/InternalHandlers.js +190 -0
- package/bin/rpc/server/InternalHandlers.js.map +1 -0
- package/bin/rpc/server/RequestDispatcher.d.ts +27 -0
- package/bin/rpc/server/RequestDispatcher.d.ts.map +1 -0
- package/bin/rpc/server/RequestDispatcher.js +38 -0
- package/bin/rpc/server/RequestDispatcher.js.map +1 -0
- package/bin/rpc/server/SdkSessionHandlers.d.ts +25 -0
- package/bin/rpc/server/SdkSessionHandlers.d.ts.map +1 -0
- package/bin/rpc/server/SdkSessionHandlers.js +86 -0
- package/bin/rpc/server/SdkSessionHandlers.js.map +1 -0
- package/bin/rpc/server/ServerTypes.d.ts +59 -0
- package/bin/rpc/server/ServerTypes.d.ts.map +1 -0
- package/bin/rpc/server/ServerTypes.js +9 -0
- package/bin/rpc/server/ServerTypes.js.map +1 -0
- package/bin/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.d.ts +1 -1
- package/bin/sandbox/MacOsSeatbeltSandbox.d.ts.map +1 -0
- package/bin/sandbox/MacOsSeatbeltSandbox.js.map +1 -0
- package/bin/{runtime/sandbox → sandbox}/SandboxConfigResolver.d.ts +2 -2
- package/bin/sandbox/SandboxConfigResolver.d.ts.map +1 -0
- package/bin/sandbox/SandboxConfigResolver.js.map +1 -0
- package/bin/{runtime/sandbox → sandbox}/SandboxRunner.d.ts +2 -2
- package/bin/sandbox/SandboxRunner.d.ts.map +1 -0
- package/bin/{runtime/sandbox → sandbox}/SandboxRunner.js +2 -2
- package/bin/sandbox/SandboxRunner.js.map +1 -0
- package/bin/sandbox/types/Sandbox.d.ts.map +1 -0
- package/bin/sandbox/types/Sandbox.js.map +1 -0
- package/bin/{runtime/sandbox → sandbox}/types/SandboxRuntime.d.ts +2 -2
- package/bin/sandbox/types/SandboxRuntime.d.ts.map +1 -0
- package/bin/sandbox/types/SandboxRuntime.js.map +1 -0
- package/bin/session/Session.d.ts +14 -83
- package/bin/session/Session.d.ts.map +1 -1
- package/bin/session/Session.js +140 -362
- package/bin/session/Session.js.map +1 -1
- package/bin/session/SessionSystemBuilder.d.ts +2 -1
- package/bin/session/SessionSystemBuilder.d.ts.map +1 -1
- package/bin/session/SessionSystemBuilder.js +2 -3
- package/bin/session/SessionSystemBuilder.js.map +1 -1
- package/bin/session/browse/Browse.d.ts +1 -1
- package/bin/session/browse/Browse.d.ts.map +1 -1
- package/bin/session/browse/Browse.js +28 -13
- package/bin/session/browse/Browse.js.map +1 -1
- package/bin/session/index.d.ts +1 -1
- package/bin/session/index.d.ts.map +1 -1
- package/bin/session/index.js +1 -1
- package/bin/session/index.js.map +1 -1
- package/bin/session/services/SessionStateService.d.ts +132 -0
- package/bin/session/services/SessionStateService.d.ts.map +1 -0
- package/bin/session/services/SessionStateService.js +242 -0
- package/bin/session/services/SessionStateService.js.map +1 -0
- package/bin/session/services/SessionTurnService.d.ts +66 -0
- package/bin/session/services/SessionTurnService.d.ts.map +1 -0
- package/bin/session/services/SessionTurnService.js +137 -0
- package/bin/session/services/SessionTurnService.js.map +1 -0
- package/bin/session/services/SessionViewService.d.ts +105 -0
- package/bin/session/services/SessionViewService.d.ts.map +1 -0
- package/bin/session/services/SessionViewService.js +184 -0
- package/bin/session/services/SessionViewService.js.map +1 -0
- package/bin/session/storage/Paths.d.ts +9 -0
- package/bin/session/storage/Paths.d.ts.map +1 -1
- package/bin/session/storage/Paths.js +11 -0
- package/bin/session/storage/Paths.js.map +1 -1
- package/bin/types/agent/AgentOptions.d.ts +152 -0
- package/bin/types/agent/AgentOptions.d.ts.map +1 -0
- package/bin/types/agent/AgentOptions.js +9 -0
- package/bin/types/agent/AgentOptions.js.map +1 -0
- package/bin/types/{runtime/host/AgentHost.d.ts → agent/AgentRuntimeAssembly.d.ts} +4 -4
- package/bin/types/agent/AgentRuntimeAssembly.d.ts.map +1 -0
- package/bin/types/{runtime/host/AgentHost.js → agent/AgentRuntimeAssembly.js} +3 -3
- package/bin/types/agent/AgentRuntimeAssembly.js.map +1 -0
- package/bin/types/agent/AgentTypes.d.ts +10 -613
- package/bin/types/agent/AgentTypes.d.ts.map +1 -1
- package/bin/types/agent/AgentTypes.js +4 -4
- package/bin/types/agent/RemoteAgentOptions.d.ts +28 -0
- package/bin/types/agent/RemoteAgentOptions.d.ts.map +1 -0
- package/bin/types/agent/RemoteAgentOptions.js +9 -0
- package/bin/types/agent/RemoteAgentOptions.js.map +1 -0
- package/bin/types/agent/SessionActor.d.ts +60 -0
- package/bin/types/agent/SessionActor.d.ts.map +1 -0
- package/bin/types/agent/SessionActor.js +9 -0
- package/bin/types/agent/SessionActor.js.map +1 -0
- package/bin/types/agent/SessionTypes.d.ts +312 -0
- package/bin/types/agent/SessionTypes.d.ts.map +1 -0
- package/bin/types/agent/SessionTypes.js +9 -0
- package/bin/types/agent/SessionTypes.js.map +1 -0
- package/bin/types/config/DowncityConfig.d.ts +1 -1
- package/bin/types/config/DowncityConfig.d.ts.map +1 -1
- package/bin/types/executor/SessionRunContext.d.ts +66 -0
- package/bin/types/executor/SessionRunContext.d.ts.map +1 -0
- package/bin/types/executor/SessionRunContext.js +10 -0
- package/bin/types/executor/SessionRunContext.js.map +1 -0
- package/bin/types/{runtime/host → platform}/Store.d.ts +1 -1
- package/bin/types/platform/Store.d.ts.map +1 -0
- package/bin/types/{runtime/host → platform}/Store.js +1 -1
- package/bin/types/platform/Store.js.map +1 -0
- package/bin/types/plugin/ImagePlugin.d.ts +94 -0
- package/bin/types/plugin/ImagePlugin.d.ts.map +1 -0
- package/bin/types/plugin/ImagePlugin.js +10 -0
- package/bin/types/plugin/ImagePlugin.js.map +1 -0
- package/bin/types/plugin/PluginAction.d.ts +119 -0
- package/bin/types/plugin/PluginAction.d.ts.map +1 -0
- package/bin/types/plugin/PluginAction.js +9 -0
- package/bin/types/plugin/PluginAction.js.map +1 -0
- package/bin/types/plugin/PluginCommand.d.ts +80 -0
- package/bin/types/plugin/PluginCommand.d.ts.map +1 -0
- package/bin/types/plugin/PluginCommand.js +9 -0
- package/bin/types/plugin/PluginCommand.js.map +1 -0
- package/bin/types/plugin/PluginDefinition.d.ts +57 -0
- package/bin/types/plugin/PluginDefinition.d.ts.map +1 -0
- package/bin/types/plugin/PluginDefinition.js +9 -0
- package/bin/types/plugin/PluginDefinition.js.map +1 -0
- package/bin/types/plugin/PluginHttp.d.ts +34 -0
- package/bin/types/plugin/PluginHttp.d.ts.map +1 -0
- package/bin/types/plugin/PluginHttp.js +9 -0
- package/bin/types/plugin/PluginHttp.js.map +1 -0
- package/bin/types/plugin/PluginRuntime.d.ts +148 -0
- package/bin/types/plugin/PluginRuntime.d.ts.map +1 -0
- package/bin/types/plugin/PluginRuntime.js +9 -0
- package/bin/types/plugin/PluginRuntime.js.map +1 -0
- package/bin/types/plugin/PluginSetup.d.ts +133 -0
- package/bin/types/plugin/PluginSetup.d.ts.map +1 -0
- package/bin/types/plugin/PluginSetup.js +9 -0
- package/bin/types/plugin/PluginSetup.js.map +1 -0
- package/bin/types/plugin/PluginState.d.ts +69 -0
- package/bin/types/plugin/PluginState.d.ts.map +1 -0
- package/bin/types/plugin/PluginState.js +9 -0
- package/bin/types/plugin/PluginState.js.map +1 -0
- package/bin/types/rpc/RpcProtocol.d.ts +323 -0
- package/bin/types/rpc/RpcProtocol.d.ts.map +1 -0
- package/bin/types/rpc/RpcProtocol.js +10 -0
- package/bin/types/rpc/RpcProtocol.js.map +1 -0
- package/bin/types/runtime/agent/AgentContext.d.ts +1 -1
- package/bin/types/runtime/agent/AgentContext.d.ts.map +1 -1
- package/bin/types/runtime/agent/AgentRuntime.d.ts +1 -1
- package/bin/types/runtime/agent/AgentRuntime.d.ts.map +1 -1
- package/bin/types/session/SessionComposerOptions.d.ts +90 -0
- package/bin/types/session/SessionComposerOptions.d.ts.map +1 -0
- package/bin/types/session/SessionComposerOptions.js +10 -0
- package/bin/types/session/SessionComposerOptions.js.map +1 -0
- package/bin/types/session/SessionLocalState.d.ts +35 -0
- package/bin/types/session/SessionLocalState.d.ts.map +1 -0
- package/bin/types/session/SessionLocalState.js +10 -0
- package/bin/types/session/SessionLocalState.js.map +1 -0
- package/bin/types/session/SessionOptions.d.ts +85 -0
- package/bin/types/session/SessionOptions.d.ts.map +1 -0
- package/bin/types/session/SessionOptions.js +10 -0
- package/bin/types/session/SessionOptions.js.map +1 -0
- package/package.json +2 -2
- package/scripts/session-history-inflight.test.mjs +146 -0
- package/src/agent/local/Agent.ts +197 -0
- package/src/agent/local/AgentInstructions.ts +68 -0
- package/src/agent/local/AgentPluginFactory.ts +83 -0
- package/src/{runtime/host/AgentHostRuntime.ts → agent/local/AgentRuntimeAssembly.ts} +2 -2
- package/src/agent/local/AgentRuntimeFactory.ts +152 -0
- package/src/{runtime/host → agent/local}/ProjectSetup.ts +1 -1
- package/src/agent/local/services/AgentAssemblyService.ts +268 -0
- package/src/agent/local/services/AgentLifecycleService.ts +187 -0
- package/src/agent/local/services/AgentSessionManager.ts +291 -0
- package/src/agent/remote/RemoteAgent.ts +76 -0
- package/src/agent/remote/RemoteSession.ts +287 -0
- package/src/agent/remote/RemoteTransport.ts +71 -0
- package/src/agent/remote/TransportFactory.ts +29 -0
- package/src/agent/remote/transports/HttpRemoteAgentTransport.ts +347 -0
- package/src/agent/remote/transports/RpcRemoteAgentTransport.ts +107 -0
- package/src/executor/Executor.ts +107 -426
- package/src/executor/README.md +4 -4
- package/src/executor/SessionRunScope.ts +47 -71
- package/src/executor/composer/context/LocalSessionContextComposer.ts +24 -20
- package/src/executor/composer/context/SessionContextComposer.ts +13 -3
- package/src/executor/composer/history/SessionHistoryWriter.ts +2 -2
- package/src/executor/composer/system/SessionSystemComposer.ts +2 -1
- package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +3 -4
- package/src/executor/core-engine/CoreEngineRunner.ts +433 -0
- package/src/executor/core-engine/CoreEngineUiStreamCollector.ts +7 -5
- package/src/executor/messages/AssistantResultPersistence.ts +4 -12
- package/src/executor/messages/SessionStepEventMapper.ts +59 -101
- package/src/executor/messages/UserVisibleText.ts +3 -18
- package/src/executor/services/ExecutorInflightService.ts +101 -0
- package/src/executor/services/ExecutorRecoveryPolicy.ts +213 -0
- package/src/executor/store/history/SessionHistoryStore.ts +15 -0
- package/src/executor/store/history/jsonl/JsonlSessionHistoryStore.ts +164 -11
- package/src/executor/tools/plugin/PluginToolBridge.ts +161 -0
- package/src/executor/tools/plugin/PluginToolDefinition.ts +32 -0
- package/src/executor/tools/plugin/PluginToolSchemas.ts +20 -0
- package/src/executor/tools/plugin/types/PluginTool.ts +41 -0
- package/src/executor/tools/shell/ShellToolBridge.ts +3 -3
- package/src/executor/tools/shell/ShellToolFormatting.ts +1 -50
- package/src/executor/types/SessionHistoryPaths.ts +5 -0
- package/src/executor/types/SessionRun.ts +20 -0
- package/src/index.ts +38 -5
- package/src/plugin/core/BasePlugin.ts +2 -2
- package/src/plugin/core/ImagePlugin.ts +128 -0
- package/src/plugin/core/PluginCommandRequest.ts +1 -1
- package/src/plugin/core/PluginLocalExecution.ts +1 -1
- package/src/plugin/core/ProjectConfigStore.ts +4 -4
- package/src/plugin/types/Plugin.ts +54 -913
- package/src/plugin/types/PluginState.ts +1 -1
- package/src/rpc/Client.ts +16 -322
- package/src/rpc/Server.ts +39 -565
- package/src/rpc/server/InternalHandlers.ts +230 -0
- package/src/rpc/server/RequestDispatcher.ts +67 -0
- package/src/rpc/server/SdkSessionHandlers.ts +106 -0
- package/src/rpc/server/ServerTypes.ts +65 -0
- package/src/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.ts +1 -1
- package/src/{runtime/sandbox → sandbox}/SandboxConfigResolver.ts +1 -1
- package/src/{runtime/sandbox → sandbox}/SandboxRunner.ts +3 -3
- package/src/{runtime/sandbox → sandbox}/types/SandboxRuntime.ts +2 -2
- package/src/session/Session.ts +184 -485
- package/src/session/SessionSystemBuilder.ts +3 -3
- package/src/session/browse/Browse.ts +29 -10
- package/src/session/index.ts +1 -0
- package/src/session/services/SessionStateService.ts +341 -0
- package/src/session/services/SessionTurnService.ts +202 -0
- package/src/session/services/SessionViewService.ts +301 -0
- package/src/session/storage/Paths.ts +19 -0
- package/src/types/agent/AgentOptions.ts +172 -0
- package/src/types/{runtime/host/AgentHost.ts → agent/AgentRuntimeAssembly.ts} +2 -2
- package/src/types/agent/AgentTypes.ts +47 -709
- package/src/types/agent/RemoteAgentOptions.ts +29 -0
- package/src/types/agent/SessionActor.ts +88 -0
- package/src/types/agent/SessionTypes.ts +335 -0
- package/src/types/config/DowncityConfig.ts +1 -1
- package/src/types/executor/SessionRunContext.ts +76 -0
- package/src/types/{runtime/host → platform}/Store.ts +1 -1
- package/src/types/plugin/ImagePlugin.ts +103 -0
- package/src/types/plugin/PluginAction.ts +133 -0
- package/src/types/plugin/PluginCommand.ts +89 -0
- package/src/types/plugin/PluginDefinition.ts +74 -0
- package/src/types/plugin/PluginHttp.ts +36 -0
- package/src/types/plugin/PluginRuntime.ts +169 -0
- package/src/types/plugin/PluginSetup.ts +138 -0
- package/src/types/plugin/PluginState.ts +82 -0
- package/src/types/rpc/RpcProtocol.ts +361 -0
- package/src/types/runtime/agent/AgentContext.ts +1 -1
- package/src/types/runtime/agent/AgentRuntime.ts +1 -1
- package/src/types/session/SessionComposerOptions.ts +107 -0
- package/src/types/session/SessionLocalState.ts +40 -0
- package/src/types/session/SessionOptions.ts +99 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/bin/agent/Agent.d.ts +0 -223
- package/bin/agent/Agent.d.ts.map +0 -1
- package/bin/agent/Agent.js +0 -627
- package/bin/agent/Agent.js.map +0 -1
- package/bin/agent/RemoteAgent.d.ts.map +0 -1
- package/bin/agent/RemoteAgent.js +0 -585
- package/bin/agent/RemoteAgent.js.map +0 -1
- package/bin/runtime/auth/AuthEnv.d.ts +0 -36
- package/bin/runtime/auth/AuthEnv.d.ts.map +0 -1
- package/bin/runtime/auth/AuthEnv.js +0 -54
- package/bin/runtime/auth/AuthEnv.js.map +0 -1
- package/bin/runtime/auth/CliAuthStateStore.d.ts +0 -29
- package/bin/runtime/auth/CliAuthStateStore.d.ts.map +0 -1
- package/bin/runtime/auth/CliAuthStateStore.js +0 -26
- package/bin/runtime/auth/CliAuthStateStore.js.map +0 -1
- package/bin/runtime/control/AuthControlService.d.ts +0 -34
- package/bin/runtime/control/AuthControlService.d.ts.map +0 -1
- package/bin/runtime/control/AuthControlService.js +0 -129
- package/bin/runtime/control/AuthControlService.js.map +0 -1
- package/bin/runtime/control/CommonHelpers.d.ts +0 -36
- package/bin/runtime/control/CommonHelpers.d.ts.map +0 -1
- package/bin/runtime/control/CommonHelpers.js +0 -63
- package/bin/runtime/control/CommonHelpers.js.map +0 -1
- package/bin/runtime/control/ExecuteBySession.d.ts +0 -30
- package/bin/runtime/control/ExecuteBySession.d.ts.map +0 -1
- package/bin/runtime/control/ExecuteBySession.js +0 -41
- package/bin/runtime/control/ExecuteBySession.js.map +0 -1
- package/bin/runtime/control/ExecuteInput.d.ts +0 -18
- package/bin/runtime/control/ExecuteInput.d.ts.map +0 -1
- package/bin/runtime/control/ExecuteInput.js +0 -201
- package/bin/runtime/control/ExecuteInput.js.map +0 -1
- package/bin/runtime/control/Helpers.d.ts +0 -13
- package/bin/runtime/control/Helpers.d.ts.map +0 -1
- package/bin/runtime/control/Helpers.js +0 -13
- package/bin/runtime/control/Helpers.js.map +0 -1
- package/bin/runtime/control/MessageTimeline.d.ts +0 -22
- package/bin/runtime/control/MessageTimeline.d.ts.map +0 -1
- package/bin/runtime/control/MessageTimeline.js +0 -226
- package/bin/runtime/control/MessageTimeline.js.map +0 -1
- package/bin/runtime/control/SessionSummaryStore.d.ts +0 -20
- package/bin/runtime/control/SessionSummaryStore.d.ts.map +0 -1
- package/bin/runtime/control/SessionSummaryStore.js +0 -50
- package/bin/runtime/control/SessionSummaryStore.js.map +0 -1
- package/bin/runtime/control/TaskStore.d.ts +0 -33
- package/bin/runtime/control/TaskStore.d.ts.map +0 -1
- package/bin/runtime/control/TaskStore.js +0 -175
- package/bin/runtime/control/TaskStore.js.map +0 -1
- package/bin/runtime/control/types/AuthControl.d.ts +0 -30
- package/bin/runtime/control/types/AuthControl.d.ts.map +0 -1
- package/bin/runtime/control/types/AuthControl.js +0 -9
- package/bin/runtime/control/types/AuthControl.js.map +0 -1
- package/bin/runtime/control/types/ControlSessionExecute.d.ts +0 -85
- package/bin/runtime/control/types/ControlSessionExecute.d.ts.map +0 -1
- package/bin/runtime/control/types/ControlSessionExecute.js +0 -9
- package/bin/runtime/control/types/ControlSessionExecute.js.map +0 -1
- package/bin/runtime/control/types/ControlViewData.d.ts +0 -320
- package/bin/runtime/control/types/ControlViewData.d.ts.map +0 -1
- package/bin/runtime/control/types/ControlViewData.js +0 -9
- package/bin/runtime/control/types/ControlViewData.js.map +0 -1
- package/bin/runtime/host/AgentHostRuntime.d.ts.map +0 -1
- package/bin/runtime/host/AgentHostRuntime.js.map +0 -1
- package/bin/runtime/host/ProjectSetup.d.ts.map +0 -1
- package/bin/runtime/host/ProjectSetup.js.map +0 -1
- package/bin/runtime/sandbox/MacOsSeatbeltSandbox.d.ts.map +0 -1
- package/bin/runtime/sandbox/MacOsSeatbeltSandbox.js.map +0 -1
- package/bin/runtime/sandbox/SandboxConfigResolver.d.ts.map +0 -1
- package/bin/runtime/sandbox/SandboxConfigResolver.js.map +0 -1
- package/bin/runtime/sandbox/SandboxRunner.d.ts.map +0 -1
- package/bin/runtime/sandbox/SandboxRunner.js.map +0 -1
- package/bin/runtime/sandbox/types/Sandbox.d.ts.map +0 -1
- package/bin/runtime/sandbox/types/Sandbox.js.map +0 -1
- package/bin/runtime/sandbox/types/SandboxRuntime.d.ts.map +0 -1
- package/bin/runtime/sandbox/types/SandboxRuntime.js.map +0 -1
- package/bin/types/runtime/host/AgentHost.d.ts.map +0 -1
- package/bin/types/runtime/host/AgentHost.js.map +0 -1
- package/bin/types/runtime/host/Store.d.ts.map +0 -1
- package/bin/types/runtime/host/Store.js.map +0 -1
- package/src/agent/Agent.ts +0 -734
- package/src/agent/RemoteAgent.ts +0 -834
- package/src/runtime/auth/AuthEnv.ts +0 -62
- package/src/runtime/auth/CliAuthStateStore.ts +0 -46
- package/src/runtime/control/AuthControlService.ts +0 -169
- package/src/runtime/control/CommonHelpers.ts +0 -69
- package/src/runtime/control/ExecuteBySession.ts +0 -52
- package/src/runtime/control/ExecuteInput.ts +0 -236
- package/src/runtime/control/Helpers.ts +0 -22
- package/src/runtime/control/MessageTimeline.ts +0 -269
- package/src/runtime/control/SessionSummaryStore.ts +0 -72
- package/src/runtime/control/TaskStore.ts +0 -242
- package/src/runtime/control/types/AuthControl.ts +0 -34
- package/src/runtime/control/types/ControlSessionExecute.ts +0 -99
- package/src/runtime/control/types/ControlViewData.ts +0 -392
- /package/bin/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.js +0 -0
- /package/bin/{runtime/sandbox → sandbox}/SandboxConfigResolver.js +0 -0
- /package/bin/{runtime/sandbox → sandbox}/types/Sandbox.d.ts +0 -0
- /package/bin/{runtime/sandbox → sandbox}/types/Sandbox.js +0 -0
- /package/bin/{runtime/sandbox → sandbox}/types/SandboxRuntime.js +0 -0
- /package/src/{runtime/sandbox → sandbox}/types/Sandbox.ts +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RemoteAgent 构造类型。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - RemoteAgent 只关心远程访问地址与可选鉴权 token。
|
|
6
|
+
* - HTTP 鉴权与 RPC 本机直连语义在 transport 层实现。
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 远程 Agent 构造参数。
|
|
11
|
+
*/
|
|
12
|
+
export interface RemoteAgentOptions {
|
|
13
|
+
/**
|
|
14
|
+
* 远程 agent 访问地址。
|
|
15
|
+
*
|
|
16
|
+
* 例如:`https://city.example.com/agents/lucas`、`http://127.0.0.1:5314/agents/lucas`
|
|
17
|
+
* 或 `rpc://127.0.0.1:15314`
|
|
18
|
+
*/
|
|
19
|
+
url: string;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 访问远程 HTTP Agent 时使用的 Bearer token。
|
|
23
|
+
*
|
|
24
|
+
* 关键点(中文)
|
|
25
|
+
* - 仅 `http://` / `https://` transport 会携带该 token。
|
|
26
|
+
* - `rpc://` 是本机内部直连通道,不读取也不发送 token。
|
|
27
|
+
*/
|
|
28
|
+
token?: string;
|
|
29
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent session actor 接口类型。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 这里只描述 session 的可调用能力。
|
|
6
|
+
* - session 的数据结构、history/system payload 放在 `SessionTypes.ts`。
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type {
|
|
10
|
+
AgentCreateSessionInput,
|
|
11
|
+
AgentListSessionsInput,
|
|
12
|
+
AgentSessionConfigSnapshot,
|
|
13
|
+
AgentSessionForkInput,
|
|
14
|
+
AgentSessionHistoryInput,
|
|
15
|
+
AgentSessionHistoryPage,
|
|
16
|
+
AgentSessionInfo,
|
|
17
|
+
AgentSessionSetInput,
|
|
18
|
+
AgentSessionSummaryPage,
|
|
19
|
+
AgentSessionSystemSnapshot,
|
|
20
|
+
} from "@/types/agent/SessionTypes.js";
|
|
21
|
+
import type {
|
|
22
|
+
AgentSessionSubscriber,
|
|
23
|
+
AgentSessionUnsubscribe,
|
|
24
|
+
} from "@/types/sdk/AgentSessionEvent.js";
|
|
25
|
+
import type { AgentSessionPromptInput } from "@/types/sdk/AgentSessionPrompt.js";
|
|
26
|
+
import type { AgentSessionTurnHandle } from "@/types/sdk/AgentSessionTurn.js";
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* SDK Session 集合绑定。
|
|
30
|
+
*/
|
|
31
|
+
export interface AgentSessionCollection {
|
|
32
|
+
/** 新建一个 session。 */
|
|
33
|
+
createSession(input?: AgentCreateSessionInput): Promise<AgentSession>;
|
|
34
|
+
|
|
35
|
+
/** 获取一个已存在的 session。 */
|
|
36
|
+
getSession(sessionId: string): Promise<AgentSession>;
|
|
37
|
+
|
|
38
|
+
/** 列出当前 agent 的 session 摘要页。 */
|
|
39
|
+
listSessions(input?: AgentListSessionsInput): Promise<AgentSessionSummaryPage>;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Session actor 公共能力。
|
|
44
|
+
*/
|
|
45
|
+
export interface AgentSessionActor {
|
|
46
|
+
/** 当前 session 稳定标识。 */
|
|
47
|
+
readonly id: string;
|
|
48
|
+
|
|
49
|
+
/** 读取当前 session 详情。 */
|
|
50
|
+
getInfo(): Promise<AgentSessionInfo>;
|
|
51
|
+
|
|
52
|
+
/** 追加一条新的 prompt。 */
|
|
53
|
+
prompt(input: AgentSessionPromptInput): Promise<AgentSessionTurnHandle>;
|
|
54
|
+
|
|
55
|
+
/** 订阅当前 session 的未来事件。 */
|
|
56
|
+
subscribe(subscriber: AgentSessionSubscriber): AgentSessionUnsubscribe;
|
|
57
|
+
|
|
58
|
+
/** 读取当前 session 历史分页。 */
|
|
59
|
+
history(input?: AgentSessionHistoryInput): Promise<AgentSessionHistoryPage>;
|
|
60
|
+
|
|
61
|
+
/** 读取当前 session 生效的 system 快照。 */
|
|
62
|
+
system(): Promise<AgentSessionSystemSnapshot>;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* 本地 Agent 返回的公开 session 接口。
|
|
67
|
+
*/
|
|
68
|
+
export interface AgentSession extends AgentSessionActor {
|
|
69
|
+
/** 当前 session 所属 agentId。 */
|
|
70
|
+
readonly agentId: string;
|
|
71
|
+
|
|
72
|
+
/** 当前 session 配置快照。 */
|
|
73
|
+
readonly config: AgentSessionConfigSnapshot;
|
|
74
|
+
|
|
75
|
+
/** 写入当前 session 默认配置。 */
|
|
76
|
+
set(input: AgentSessionSetInput): Promise<void>;
|
|
77
|
+
|
|
78
|
+
/** 从当前 session 创建一个分叉会话。 */
|
|
79
|
+
fork(input?: AgentSessionForkInput | string): Promise<AgentSession>;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* 远程 Agent 返回的公开 session 接口。
|
|
84
|
+
*/
|
|
85
|
+
export interface RemoteAgentSession extends AgentSessionActor {
|
|
86
|
+
/** 从当前远程 session 创建一个分叉会话。 */
|
|
87
|
+
fork(input?: AgentSessionForkInput | string): Promise<RemoteAgentSession>;
|
|
88
|
+
}
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent session 数据类型。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 只描述 session 的输入、摘要、历史、system snapshot 与配置快照。
|
|
6
|
+
* - session actor 方法接口拆到 `SessionActor.ts`。
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { LanguageModel } from "ai";
|
|
10
|
+
import type { AgentModel } from "@/model/CityModelAdapter.js";
|
|
11
|
+
import type { SessionMessageV1 } from "@/executor/types/SessionMessages.js";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 新建 session 的输入参数。
|
|
15
|
+
*/
|
|
16
|
+
export interface AgentCreateSessionInput {
|
|
17
|
+
/**
|
|
18
|
+
* 可选显式 sessionId。
|
|
19
|
+
*
|
|
20
|
+
* 关键点(中文)
|
|
21
|
+
* - 传入时表达“创建意图”。
|
|
22
|
+
* - 若该 session 已存在,SDK 应直接报错,而不是静默复用。
|
|
23
|
+
* - 省略时由 SDK 自动生成稳定且不可推导的 sessionId。
|
|
24
|
+
*/
|
|
25
|
+
sessionId?: string;
|
|
26
|
+
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Session 列表查询输入。
|
|
31
|
+
*/
|
|
32
|
+
export interface AgentListSessionsInput {
|
|
33
|
+
/**
|
|
34
|
+
* 当前页返回上限。
|
|
35
|
+
*
|
|
36
|
+
* 说明(中文)
|
|
37
|
+
* - 省略时由 SDK 使用默认值。
|
|
38
|
+
* - 建议宿主 UI 明确传入,避免在大量 session 下拉取过多数据。
|
|
39
|
+
*/
|
|
40
|
+
limit?: number;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 分页游标。
|
|
44
|
+
*
|
|
45
|
+
* 说明(中文)
|
|
46
|
+
* - 当前使用 SDK 自身生成的透明字符串游标。
|
|
47
|
+
* - 调用方只负责透传,不应自行解析其内部格式。
|
|
48
|
+
*/
|
|
49
|
+
cursor?: string;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* 关键词过滤。
|
|
53
|
+
*
|
|
54
|
+
* 说明(中文)
|
|
55
|
+
* - 推荐用于匹配 `sessionId`、标题与预览文本。
|
|
56
|
+
* - 属于轻量包含匹配,不承诺复杂搜索语义。
|
|
57
|
+
*/
|
|
58
|
+
query?: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Session 可变配置。
|
|
63
|
+
*/
|
|
64
|
+
export interface AgentSessionSetInput {
|
|
65
|
+
/**
|
|
66
|
+
* 当前 session 默认模型实例。
|
|
67
|
+
*
|
|
68
|
+
* 关键点(中文)
|
|
69
|
+
* - 这里接受运行中的模型实例,而不是模型 ID。
|
|
70
|
+
* - 由于模型实例通常不可序列化,落盘只保留轻量可读标签用于展示。
|
|
71
|
+
*/
|
|
72
|
+
model?: AgentModel;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Session 当前配置快照。
|
|
77
|
+
*/
|
|
78
|
+
export interface AgentSessionConfigSnapshot {
|
|
79
|
+
/** 当前 session 绑定的默认模型实例。 */
|
|
80
|
+
model?: LanguageModel;
|
|
81
|
+
/** 当前模型的轻量可读标签。 */
|
|
82
|
+
modelLabel?: string;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Session 历史视图类型。
|
|
87
|
+
*/
|
|
88
|
+
export type AgentSessionHistoryView = "message" | "timeline";
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Session 时间线事件。
|
|
92
|
+
*/
|
|
93
|
+
export interface AgentSessionTimelineEvent {
|
|
94
|
+
/** 当前事件唯一标识。 */
|
|
95
|
+
id: string;
|
|
96
|
+
/**
|
|
97
|
+
* 当前事件角色。
|
|
98
|
+
*
|
|
99
|
+
* 说明(中文)
|
|
100
|
+
* - `tool-call` / `tool-result` 用于把 assistant 内部工具过程平铺给 UI。
|
|
101
|
+
*/
|
|
102
|
+
role: "user" | "assistant" | "tool-call" | "tool-result";
|
|
103
|
+
/** 事件时间戳(毫秒)。 */
|
|
104
|
+
ts?: number;
|
|
105
|
+
/** 事件所属消息种类。 */
|
|
106
|
+
kind?: string;
|
|
107
|
+
/** 事件来源。 */
|
|
108
|
+
source?: string;
|
|
109
|
+
/** 当前事件展示文本。 */
|
|
110
|
+
text: string;
|
|
111
|
+
/**
|
|
112
|
+
* 当前事件对应工具名称。
|
|
113
|
+
*
|
|
114
|
+
* 说明(中文)
|
|
115
|
+
* - 仅 `tool-call` / `tool-result` 这类事件通常会携带该字段。
|
|
116
|
+
*/
|
|
117
|
+
toolName?: string;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Session system block 来源类型。
|
|
122
|
+
*/
|
|
123
|
+
export type AgentSessionSystemBlockSource =
|
|
124
|
+
| "core"
|
|
125
|
+
| "instruction"
|
|
126
|
+
| "plugin"
|
|
127
|
+
| "session";
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Session system prompt 的单个组成块。
|
|
131
|
+
*/
|
|
132
|
+
export interface AgentSessionSystemBlock {
|
|
133
|
+
/** 当前 block 的来源层级。 */
|
|
134
|
+
source: AgentSessionSystemBlockSource;
|
|
135
|
+
/**
|
|
136
|
+
* 当前 block 在来源层级内的名称。
|
|
137
|
+
*
|
|
138
|
+
* 说明(中文)
|
|
139
|
+
* - `instruction` 通常使用 `agent`。
|
|
140
|
+
* - `plugin` 使用对应 plugin 名称。
|
|
141
|
+
* - `core` 使用 `default`。
|
|
142
|
+
* - `session` 使用当前 session 上下文名称。
|
|
143
|
+
*/
|
|
144
|
+
name: string;
|
|
145
|
+
/**
|
|
146
|
+
* 已归一化后的 system 文本内容。
|
|
147
|
+
*
|
|
148
|
+
* 关键点(中文)
|
|
149
|
+
* - SDK 不对 instruction 做动态变量替换。
|
|
150
|
+
* - 动态上下文应由调用方放入 user message。
|
|
151
|
+
*/
|
|
152
|
+
content: string;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* 当前 session 的稳定上下文信息。
|
|
157
|
+
*/
|
|
158
|
+
export interface AgentSessionSystemSessionInfo {
|
|
159
|
+
/** 当前 session 所属 agentId。 */
|
|
160
|
+
agentId: string;
|
|
161
|
+
/** 当前 session 唯一标识。 */
|
|
162
|
+
sessionId: string;
|
|
163
|
+
/** 当前 agent 绑定的项目根目录。 */
|
|
164
|
+
projectRoot: string;
|
|
165
|
+
/**
|
|
166
|
+
* 当前 session 首次创建时间。
|
|
167
|
+
*
|
|
168
|
+
* 关键点(中文)
|
|
169
|
+
* - 这是 session 初始化时落盘的稳定参考时间,按 Date/ISO 字符串对外展示。
|
|
170
|
+
* - 它不是每轮运行的当前时间,不会随着后续 turn 执行而改变。
|
|
171
|
+
*/
|
|
172
|
+
createdAt: string;
|
|
173
|
+
/**
|
|
174
|
+
* 当前 session 初始化时解析到的系统时区。
|
|
175
|
+
*
|
|
176
|
+
* 关键点(中文)
|
|
177
|
+
* - 这是 session 级参考时区,随创建信息一起固定。
|
|
178
|
+
* - 它不是每轮运行重新解析的动态时区。
|
|
179
|
+
*/
|
|
180
|
+
timezone: string;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* 当前 session 生效的完整 system prompt 快照。
|
|
185
|
+
*/
|
|
186
|
+
export interface AgentSessionSystemSnapshot {
|
|
187
|
+
/** 当前 sessionId。 */
|
|
188
|
+
sessionId: string;
|
|
189
|
+
/**
|
|
190
|
+
* 当前 session 的稳定上下文信息。
|
|
191
|
+
*
|
|
192
|
+
* 关键点(中文)
|
|
193
|
+
* - 这里包含 session 创建时间这类稳定参考信息。
|
|
194
|
+
* - 这里不包含当前时间、轮次、用户输入等每轮变化的数据。
|
|
195
|
+
* - 每轮动态信息应由调用方放入 user message,避免破坏 instruction 缓存命中。
|
|
196
|
+
*/
|
|
197
|
+
session: AgentSessionSystemSessionInfo;
|
|
198
|
+
/** 当前生效的 system blocks,按进入模型的顺序排列。 */
|
|
199
|
+
blocks: AgentSessionSystemBlock[];
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Session 摘要。
|
|
204
|
+
*/
|
|
205
|
+
export interface AgentSessionSummary {
|
|
206
|
+
/** 当前 session 所属 agentId。 */
|
|
207
|
+
agentId: string;
|
|
208
|
+
/** 当前 session 唯一标识。 */
|
|
209
|
+
sessionId: string;
|
|
210
|
+
/**
|
|
211
|
+
* 当前 session 可读标题。
|
|
212
|
+
*
|
|
213
|
+
* 说明(中文)
|
|
214
|
+
* - 标题持久化在 session `meta.json` 顶层。
|
|
215
|
+
* - 首条用户消息出现后,SDK 会优先生成标题,失败时回退到首条用户消息截断。
|
|
216
|
+
* - 空 session 可能暂时没有标题,调用方可回退到 `sessionId`。
|
|
217
|
+
*/
|
|
218
|
+
title?: string;
|
|
219
|
+
/**
|
|
220
|
+
* 当前 session 的最近预览文本。
|
|
221
|
+
*
|
|
222
|
+
* 说明(中文)
|
|
223
|
+
* - 通常来自最后一条用户可见消息的裁剪文本。
|
|
224
|
+
* - 适合用于侧边栏、列表卡片或 session picker。
|
|
225
|
+
*/
|
|
226
|
+
previewText?: string;
|
|
227
|
+
/** 当前 session 首次创建时间(ms)。 */
|
|
228
|
+
createdAt?: number;
|
|
229
|
+
/** 当前 session 最近一次更新时间(ms)。 */
|
|
230
|
+
updatedAt?: number;
|
|
231
|
+
/** 当前 session 已落盘消息数。 */
|
|
232
|
+
messageCount: number;
|
|
233
|
+
/** 当前 session 绑定模型的可读标签。 */
|
|
234
|
+
modelLabel?: string;
|
|
235
|
+
/** 当前 session 是否处于执行中。 */
|
|
236
|
+
executing?: boolean;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Session 详情。
|
|
241
|
+
*/
|
|
242
|
+
export interface AgentSessionInfo extends AgentSessionSummary {
|
|
243
|
+
/** 当前 session 初始化时记录的时区。 */
|
|
244
|
+
timezone?: string;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Session 摘要分页结果。
|
|
249
|
+
*/
|
|
250
|
+
export interface AgentSessionSummaryPage {
|
|
251
|
+
/** 当前页 session 摘要列表。 */
|
|
252
|
+
items: AgentSessionSummary[];
|
|
253
|
+
/**
|
|
254
|
+
* 当前页所对应的总条数。
|
|
255
|
+
*
|
|
256
|
+
* 说明(中文)
|
|
257
|
+
* - 这里表示过滤后的总数,不是仅当前页数量。
|
|
258
|
+
* - 对分页 UI、结果统计和空态判断更友好。
|
|
259
|
+
*/
|
|
260
|
+
total: number;
|
|
261
|
+
/** 下一页游标。 */
|
|
262
|
+
nextCursor?: string;
|
|
263
|
+
/** 是否仍有更多结果。 */
|
|
264
|
+
hasMore: boolean;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Session 历史读取输入。
|
|
269
|
+
*/
|
|
270
|
+
export interface AgentSessionHistoryInput {
|
|
271
|
+
/** 当前页返回上限。 */
|
|
272
|
+
limit?: number;
|
|
273
|
+
/** 分页游标。 */
|
|
274
|
+
cursor?: string;
|
|
275
|
+
/**
|
|
276
|
+
* 返回顺序。
|
|
277
|
+
*
|
|
278
|
+
* 说明(中文)
|
|
279
|
+
* - `asc`:从旧到新
|
|
280
|
+
* - `desc`:从新到旧
|
|
281
|
+
*/
|
|
282
|
+
order?: "asc" | "desc";
|
|
283
|
+
/**
|
|
284
|
+
* 返回视图类型。
|
|
285
|
+
*
|
|
286
|
+
* 说明(中文)
|
|
287
|
+
* - `message`:原始 session 消息
|
|
288
|
+
* - `timeline`:适合直接渲染 UI 的平铺事件
|
|
289
|
+
*/
|
|
290
|
+
view?: AgentSessionHistoryView;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Session 历史分页结果。
|
|
295
|
+
*/
|
|
296
|
+
export interface AgentSessionHistoryPage {
|
|
297
|
+
/** 当前读取所对应的 session 信息。 */
|
|
298
|
+
session: AgentSessionInfo;
|
|
299
|
+
/** 当前页实际返回视图。 */
|
|
300
|
+
view: AgentSessionHistoryView;
|
|
301
|
+
/**
|
|
302
|
+
* 当前页数据列表。
|
|
303
|
+
*
|
|
304
|
+
* 说明(中文)
|
|
305
|
+
* - `view=message` 时返回 `SessionMessageV1[]`
|
|
306
|
+
* - `view=timeline` 时返回 `AgentSessionTimelineEvent[]`
|
|
307
|
+
*/
|
|
308
|
+
items: SessionMessageV1[] | AgentSessionTimelineEvent[];
|
|
309
|
+
/**
|
|
310
|
+
* 过滤前后的总条数。
|
|
311
|
+
*
|
|
312
|
+
* 说明(中文)
|
|
313
|
+
* - 对 `view=message` 表示消息条数。
|
|
314
|
+
* - 对 `view=timeline` 表示时间线事件条数。
|
|
315
|
+
*/
|
|
316
|
+
total: number;
|
|
317
|
+
/** 下一页游标。 */
|
|
318
|
+
nextCursor?: string;
|
|
319
|
+
/** 是否仍有更多数据。 */
|
|
320
|
+
hasMore: boolean;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Session fork 输入。
|
|
325
|
+
*/
|
|
326
|
+
export interface AgentSessionForkInput {
|
|
327
|
+
/**
|
|
328
|
+
* 可选分叉锚点消息 ID。
|
|
329
|
+
*
|
|
330
|
+
* 关键点(中文)
|
|
331
|
+
* - 省略时复制当前 session 的完整消息历史。
|
|
332
|
+
* - 传入时复制到该消息为止(包含该消息)。
|
|
333
|
+
*/
|
|
334
|
+
messageId?: string;
|
|
335
|
+
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import type { LlmConfig } from "@/types/config/LlmConfig.js";
|
|
9
9
|
import type { ExecutionBindingConfig } from "@/types/config/ExecutionBinding.js";
|
|
10
10
|
import type { JsonObject } from "@/types/common/Json.js";
|
|
11
|
-
import type { SandboxProjectConfig } from "@/
|
|
11
|
+
import type { SandboxProjectConfig } from "@/sandbox/types/Sandbox.js";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* 单个聊天渠道配置。
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SessionRunContext:单次 session run 的显式运行上下文。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 这里承载本轮执行过程中需要在多个组件间透传的运行期数据。
|
|
6
|
+
* - 业务侧上下文优先通过该对象显式传递,避免分散读取隐式全局状态。
|
|
7
|
+
* - tool 深层回调等无法直接传参的场景,才通过 run scope 间接读取这个对象。
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type {
|
|
11
|
+
SessionAssistantStepCallback,
|
|
12
|
+
SessionUiMessageChunkCallback,
|
|
13
|
+
} from "@/executor/types/SessionRun.js";
|
|
14
|
+
import type { SessionUserMessageV1 } from "@/executor/types/SessionMessages.js";
|
|
15
|
+
import type { FileUIPart } from "ai";
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* 单次 session run 的运行上下文。
|
|
19
|
+
*/
|
|
20
|
+
export interface SessionRunContext {
|
|
21
|
+
/**
|
|
22
|
+
* 当前执行所属的 session 标识。
|
|
23
|
+
*/
|
|
24
|
+
sessionId: string;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* step 边界合并回调。
|
|
28
|
+
*
|
|
29
|
+
* 关键点(中文)
|
|
30
|
+
* - 由 Session actor 在 turn 运行期间注入。
|
|
31
|
+
* - 用于把运行中追加的 user 消息并入下一 step。
|
|
32
|
+
*/
|
|
33
|
+
onStepCallback?: () => Promise<SessionUserMessageV1[]>;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* assistant step 完成回调。
|
|
37
|
+
*
|
|
38
|
+
* 关键点(中文)
|
|
39
|
+
* - 用于把中间 step 文本或 reasoning 事件回传给 Session 事件流。
|
|
40
|
+
*/
|
|
41
|
+
onAssistantStepCallback?: SessionAssistantStepCallback;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* UI stream chunk 回调。
|
|
45
|
+
*
|
|
46
|
+
* 关键点(中文)
|
|
47
|
+
* - 用于把底层模型 UI chunk 旁路输出到订阅流或 transport。
|
|
48
|
+
*/
|
|
49
|
+
onUiMessageChunkCallback?: SessionUiMessageChunkCallback;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* 本轮运行中待并入下一 step 的 user 消息。
|
|
53
|
+
*
|
|
54
|
+
* 关键点(中文)
|
|
55
|
+
* - 主要由 tool runtime 在当前 turn 内动态注入。
|
|
56
|
+
* - 这些消息只影响当前执行,不会自动持久化。
|
|
57
|
+
*/
|
|
58
|
+
injectedUserMessages: SessionUserMessageV1[];
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* 本轮运行结束后待写入长期历史的 user 消息。
|
|
62
|
+
*
|
|
63
|
+
* 关键点(中文)
|
|
64
|
+
* - 为保证时间线顺序稳定,这些消息会在 assistant 结果落盘之后统一持久化。
|
|
65
|
+
*/
|
|
66
|
+
deferredPersistedUserMessages: SessionUserMessageV1[];
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* 本轮运行结束前待并入最终 assistant 消息的 file parts。
|
|
70
|
+
*
|
|
71
|
+
* 关键点(中文)
|
|
72
|
+
* - 用于 tool/plugin 在执行期产生图片、文件等最终输出。
|
|
73
|
+
* - 这些 part 不依赖模型把 tool result 再复述一遍,直接落入 assistant UIMessage。
|
|
74
|
+
*/
|
|
75
|
+
pendingAssistantFileParts: FileUIPart[];
|
|
76
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ImagePlugin 类型定义。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 这里仅定义 agent 对图片能力的最低层协议,不绑定 city 或任意上游 provider。
|
|
6
|
+
* - 图片生成结果使用 AI SDK UIMessage,保证 session 落盘格式与现有消息系统一致。
|
|
7
|
+
* - 字段保持 JSON 可序列化,便于通过 plugin action 与 tool bridge 传递。
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type { UIMessage } from "ai";
|
|
11
|
+
import type { JsonObject, JsonValue } from "@/types/common/Json.js";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 图片生成文本内容片段。
|
|
15
|
+
*/
|
|
16
|
+
export interface ImagePluginTextContent {
|
|
17
|
+
/** 内容类型,固定为文本。 */
|
|
18
|
+
type: "text";
|
|
19
|
+
/** 生图提示词或上下文文本。 */
|
|
20
|
+
text: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 图片生成参考图片内容片段。
|
|
25
|
+
*/
|
|
26
|
+
export interface ImagePluginFileContent {
|
|
27
|
+
/** 内容类型,固定为图片。 */
|
|
28
|
+
type: "image";
|
|
29
|
+
/** 远程图片 URL。 */
|
|
30
|
+
url?: string;
|
|
31
|
+
/** data URL 图片内容。 */
|
|
32
|
+
data_url?: string;
|
|
33
|
+
/** 图片 MIME 类型,例如 `image/png`。 */
|
|
34
|
+
media_type?: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 图片生成多模态内容片段。
|
|
39
|
+
*/
|
|
40
|
+
export type ImagePluginContent =
|
|
41
|
+
| ImagePluginTextContent
|
|
42
|
+
| ImagePluginFileContent;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 图片生成上下文消息。
|
|
46
|
+
*/
|
|
47
|
+
export interface ImagePluginMessage {
|
|
48
|
+
/** 消息角色。 */
|
|
49
|
+
role: "system" | "user" | "assistant";
|
|
50
|
+
/** 该消息内的文本与图片内容。 */
|
|
51
|
+
content: ImagePluginContent[];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* ImagePlugin 调用输入。
|
|
56
|
+
*/
|
|
57
|
+
export interface ImagePluginInput {
|
|
58
|
+
/** 图片模型引用。 */
|
|
59
|
+
model?: string;
|
|
60
|
+
/** 单句快捷提示词。 */
|
|
61
|
+
prompt?: string;
|
|
62
|
+
/** 多轮或多模态图片生成上下文。 */
|
|
63
|
+
messages?: ImagePluginMessage[];
|
|
64
|
+
/** 生成图片数量。 */
|
|
65
|
+
n?: number;
|
|
66
|
+
/** 生成图片数量,兼容部分上游使用的 count 命名。 */
|
|
67
|
+
count?: number;
|
|
68
|
+
/** 图片尺寸,例如 `1024x1024`。 */
|
|
69
|
+
size?: string;
|
|
70
|
+
/** 图片宽高比,例如 `1:1`。 */
|
|
71
|
+
aspect_ratio?: string;
|
|
72
|
+
/** 图片宽高比,兼容部分上游使用的 ratio 命名。 */
|
|
73
|
+
ratio?: string;
|
|
74
|
+
/** 图片质量,例如 `standard`、`hd`、`ultra`、`4k`。 */
|
|
75
|
+
quality?: string;
|
|
76
|
+
/** 随机种子。 */
|
|
77
|
+
seed?: number;
|
|
78
|
+
/** 业务侧任务 ID,用于异步图片任务幂等、追踪和恢复。 */
|
|
79
|
+
client_job_id?: string;
|
|
80
|
+
/** Provider 私有参数,例如 `{ openai: {...}, gemini: {...}, luchi: {...} }`。 */
|
|
81
|
+
provider_options?: JsonObject;
|
|
82
|
+
/** 允许外部 image 函数接收其他 JSON 可序列化参数。 */
|
|
83
|
+
[key: string]: JsonValue | ImagePluginMessage[] | undefined;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* ImagePlugin 生成结果。
|
|
88
|
+
*/
|
|
89
|
+
export type ImagePluginResult = UIMessage;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* ImagePlugin 构造参数。
|
|
93
|
+
*/
|
|
94
|
+
export interface ImagePluginOptions {
|
|
95
|
+
/** Plugin 稳定名称,默认 `image`。 */
|
|
96
|
+
name?: string;
|
|
97
|
+
/** Plugin 展示标题,默认 `Image`。 */
|
|
98
|
+
title?: string;
|
|
99
|
+
/** Plugin 用途说明。 */
|
|
100
|
+
description?: string;
|
|
101
|
+
/** 图片生成函数,通常传入 `(input) => city.ai.image(input)`。 */
|
|
102
|
+
image: (input: ImagePluginInput) => Promise<ImagePluginResult> | ImagePluginResult;
|
|
103
|
+
}
|