shipmyagent 1.0.135 → 1.0.148
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 +3 -3
- package/bin/core/context/AgentRunner.d.ts.map +1 -0
- package/bin/core/{runtime/agent-runner.js → context/AgentRunner.js} +75 -100
- package/bin/core/context/AgentRunner.js.map +1 -0
- package/bin/core/context/ContextManager.d.ts.map +1 -0
- package/bin/core/context/{manager.js → ContextManager.js} +27 -10
- package/bin/core/context/ContextManager.js.map +1 -0
- package/bin/core/context/ContextStore.d.ts.map +1 -0
- package/bin/core/context/{context-store.js → ContextStore.js} +26 -20
- package/bin/core/context/ContextStore.js.map +1 -0
- package/bin/core/context/RequestContext.d.ts.map +1 -0
- package/bin/core/context/{request-context.js → RequestContext.js} +1 -1
- package/bin/core/context/RequestContext.js.map +1 -0
- package/bin/core/context/Scheduler.d.ts.map +1 -0
- package/bin/core/context/{scheduler.js → Scheduler.js} +20 -19
- package/bin/core/context/Scheduler.js.map +1 -0
- package/bin/core/context/UiMessage.d.ts.map +1 -0
- package/bin/core/context/UiMessage.js +85 -0
- package/bin/core/context/UiMessage.js.map +1 -0
- package/bin/core/llm/CreateModel.d.ts.map +1 -0
- package/bin/core/llm/{create-model.js → CreateModel.js} +4 -3
- package/bin/core/llm/CreateModel.js.map +1 -0
- package/bin/core/prompts/System.d.ts.map +1 -0
- package/bin/core/prompts/System.js +95 -0
- package/bin/core/prompts/System.js.map +1 -0
- package/bin/core/prompts/SystemProvider.d.ts.map +1 -0
- package/bin/core/prompts/{system-provider.js → SystemProvider.js} +5 -9
- package/bin/core/prompts/SystemProvider.js.map +1 -0
- package/bin/core/services/CliRegistry.d.ts.map +1 -0
- package/bin/core/services/{cli-registry.js → CliRegistry.js} +1 -1
- package/bin/core/services/CliRegistry.js.map +1 -0
- package/bin/core/services/ProcessBindings.d.ts.map +1 -0
- package/bin/core/services/ProcessBindings.js +50 -0
- package/bin/core/services/ProcessBindings.js.map +1 -0
- package/bin/core/services/Registry.d.ts.map +1 -0
- package/bin/core/services/{registry.js → Registry.js} +7 -60
- package/bin/core/services/Registry.js.map +1 -0
- package/bin/core/services/ServerRegistry.d.ts.map +1 -0
- package/bin/core/services/{server-registry.js → ServerRegistry.js} +1 -1
- package/bin/core/services/ServerRegistry.js.map +1 -0
- package/bin/core/services/ServiceRegistry.d.ts.map +1 -0
- package/bin/core/services/{types/service-registry.js → ServiceRegistry.js} +1 -1
- package/bin/core/services/ServiceRegistry.js.map +1 -0
- package/bin/core/shell/ShellContextManager.d.ts.map +1 -0
- package/bin/core/shell/ShellContextManager.js +168 -0
- package/bin/core/shell/ShellContextManager.js.map +1 -0
- package/bin/core/shell/ShellHelpers.d.ts.map +1 -0
- package/bin/core/shell/ShellHelpers.js +301 -0
- package/bin/core/shell/ShellHelpers.js.map +1 -0
- package/bin/core/shell/ShellResponse.d.ts.map +1 -0
- package/bin/core/shell/ShellResponse.js +34 -0
- package/bin/core/shell/ShellResponse.js.map +1 -0
- package/bin/core/shell/Tool.d.ts.map +1 -0
- package/bin/core/shell/Tool.js +193 -0
- package/bin/core/shell/Tool.js.map +1 -0
- package/bin/core/types/Agent.d.ts.map +1 -0
- package/bin/core/types/{agent.js → Agent.js} +1 -1
- package/bin/core/types/Agent.js.map +1 -0
- package/bin/core/types/ContextAgent.d.ts.map +1 -0
- package/bin/core/types/{context-agent.js → ContextAgent.js} +1 -1
- package/bin/core/types/ContextAgent.js.map +1 -0
- package/bin/core/types/ContextMessage.d.ts.map +1 -0
- package/bin/core/types/ContextMessage.js +2 -0
- package/bin/core/types/ContextMessage.js.map +1 -0
- package/bin/core/types/ContextMessagesMeta.d.ts.map +1 -0
- package/bin/core/types/{context-messages-meta.js → ContextMessagesMeta.js} +1 -1
- package/bin/core/types/ContextMessagesMeta.js.map +1 -0
- package/bin/core/types/ContextScheduler.d.ts.map +1 -0
- package/bin/core/types/{context-scheduler.js → ContextScheduler.js} +1 -1
- package/bin/core/types/ContextScheduler.js.map +1 -0
- package/bin/core/types/Shell.d.ts.map +1 -0
- package/bin/core/types/Shell.js +9 -0
- package/bin/core/types/Shell.js.map +1 -0
- package/bin/core/types/SystemPromptProvider.d.ts.map +1 -0
- package/bin/core/types/SystemPromptProvider.js +2 -0
- package/bin/core/types/SystemPromptProvider.js.map +1 -0
- package/bin/process/commands/Alias.d.ts.map +1 -0
- package/bin/{commands/alias.js → process/commands/Alias.js} +1 -1
- package/bin/process/commands/Alias.js.map +1 -0
- package/bin/process/commands/Index.d.ts.map +1 -0
- package/bin/{cli.js → process/commands/Index.js} +36 -28
- package/bin/process/commands/Index.js.map +1 -0
- package/bin/process/commands/Init.d.ts.map +1 -0
- package/bin/{commands/init.js → process/commands/Init.js} +40 -39
- package/bin/process/commands/Init.js.map +1 -0
- package/bin/process/commands/Restart.d.ts.map +1 -0
- package/bin/{commands/restart.js → process/commands/Restart.js} +6 -6
- package/bin/process/commands/Restart.js.map +1 -0
- package/bin/process/commands/Run.d.ts.map +1 -0
- package/bin/{commands/run.js → process/commands/Run.js} +14 -13
- package/bin/process/commands/Run.js.map +1 -0
- package/bin/process/commands/Services.d.ts.map +1 -0
- package/bin/{commands/services.js → process/commands/Services.js} +3 -3
- package/bin/process/commands/Services.js.map +1 -0
- package/bin/process/commands/Start.d.ts.map +1 -0
- package/bin/{commands/start.js → process/commands/Start.js} +7 -7
- package/bin/process/commands/Start.js.map +1 -0
- package/bin/process/commands/Stop.d.ts.map +1 -0
- package/bin/{commands/stop.js → process/commands/Stop.js} +2 -2
- package/bin/process/commands/Stop.js.map +1 -0
- package/bin/process/commands/types/Init.d.ts.map +1 -0
- package/bin/{commands/types/init.js → process/commands/types/Init.js} +1 -1
- package/bin/process/commands/types/Init.js.map +1 -0
- package/bin/process/commands/types/Services.d.ts.map +1 -0
- package/bin/{commands/types/services.js → process/commands/types/Services.js} +1 -1
- package/bin/process/commands/types/Services.js.map +1 -0
- package/bin/process/commands/types/Start.d.ts.map +1 -0
- package/bin/{commands/types/start.js → process/commands/types/Start.js} +1 -1
- package/bin/process/commands/types/Start.js.map +1 -0
- package/bin/process/const/Model.d.ts.map +1 -0
- package/bin/process/const/Model.js +47 -0
- package/bin/process/const/Model.js.map +1 -0
- package/bin/process/const/Ship.d.ts.map +1 -0
- package/bin/process/const/Ship.js +56 -0
- package/bin/process/const/Ship.js.map +1 -0
- package/bin/process/const/ShipSchema.d.ts.map +1 -0
- package/bin/{schemas/ship.schema.js → process/const/ShipSchema.js} +71 -51
- package/bin/process/const/ShipSchema.js.map +1 -0
- package/bin/process/context/ContextId.d.ts.map +1 -0
- package/bin/process/context/ContextId.js +24 -0
- package/bin/process/context/ContextId.js.map +1 -0
- package/bin/process/project/Config.d.ts.map +1 -0
- package/bin/process/project/Config.js +55 -0
- package/bin/process/project/Config.js.map +1 -0
- package/bin/process/project/Paths.d.ts.map +1 -0
- package/bin/process/project/Paths.js +95 -0
- package/bin/process/project/Paths.js.map +1 -0
- package/bin/process/project/Storage.d.ts.map +1 -0
- package/bin/process/project/Storage.js +23 -0
- package/bin/process/project/Storage.js.map +1 -0
- package/bin/process/runtime/ServiceProcessBindings.d.ts.map +1 -0
- package/bin/process/runtime/ServiceProcessBindings.js +34 -0
- package/bin/process/runtime/ServiceProcessBindings.js.map +1 -0
- package/bin/process/runtime/ServiceRuntimeDependencies.d.ts.map +1 -0
- package/bin/{infra/service-runtime-dependencies.js → process/runtime/ServiceRuntimeDependencies.js} +1 -1
- package/bin/process/runtime/ServiceRuntimeDependencies.js.map +1 -0
- package/bin/process/runtime/types/ServiceChatRuntimeBridge.d.ts.map +1 -0
- package/bin/process/runtime/types/ServiceChatRuntimeBridge.js +2 -0
- package/bin/process/runtime/types/ServiceChatRuntimeBridge.js.map +1 -0
- package/bin/process/runtime/types/ServiceRuntimePorts.d.ts.map +1 -0
- package/bin/process/runtime/types/ServiceRuntimePorts.js +2 -0
- package/bin/process/runtime/types/ServiceRuntimePorts.js.map +1 -0
- package/bin/process/runtime/types/ServiceRuntimeTypes.d.ts.map +1 -0
- package/bin/process/runtime/types/ServiceRuntimeTypes.js +2 -0
- package/bin/process/runtime/types/ServiceRuntimeTypes.js.map +1 -0
- package/bin/process/server/AgentServer.d.ts.map +1 -0
- package/bin/{server/index.js → process/server/AgentServer.js} +24 -20
- package/bin/process/server/AgentServer.js.map +1 -0
- package/bin/process/server/ShipRuntimeContext.d.ts.map +1 -0
- package/bin/{server → process/server}/ShipRuntimeContext.js +33 -36
- package/bin/process/server/ShipRuntimeContext.js.map +1 -0
- package/bin/process/server/daemon/Api.d.ts.map +1 -0
- package/bin/process/server/daemon/Api.js +2 -0
- package/bin/process/server/daemon/Api.js.map +1 -0
- package/bin/process/server/daemon/CliArgs.d.ts.map +1 -0
- package/bin/{server/daemon/cli-args.js → process/server/daemon/CliArgs.js} +1 -1
- package/bin/process/server/daemon/CliArgs.js.map +1 -0
- package/bin/process/server/daemon/Client.d.ts.map +1 -0
- package/bin/{infra/daemon-client.js → process/server/daemon/Client.js} +18 -11
- package/bin/process/server/daemon/Client.js.map +1 -0
- package/bin/process/server/daemon/Manager.d.ts.map +1 -0
- package/bin/{server/daemon/manager.js → process/server/daemon/Manager.js} +3 -3
- package/bin/process/server/daemon/Manager.js.map +1 -0
- package/bin/process/server/daemon/types/Daemon.d.ts.map +1 -0
- package/bin/{server/daemon/types/daemon.js → process/server/daemon/types/Daemon.js} +1 -1
- package/bin/process/server/daemon/types/Daemon.js.map +1 -0
- package/bin/process/tui/Interactive.d.ts.map +1 -0
- package/bin/{server/interactive.js → process/tui/Interactive.js} +1 -1
- package/bin/process/tui/Interactive.js.map +1 -0
- package/bin/process/types/ShipConfig.d.ts.map +1 -0
- package/bin/process/types/ShipConfig.js +9 -0
- package/bin/process/types/ShipConfig.js.map +1 -0
- package/bin/process/utils/CliOutput.d.ts.map +1 -0
- package/bin/{infra/cli-output.js → process/utils/CliOutput.js} +4 -4
- package/bin/process/utils/CliOutput.js.map +1 -0
- package/bin/process/utils/Id.d.ts.map +1 -0
- package/bin/process/utils/Id.js +11 -0
- package/bin/process/utils/Id.js.map +1 -0
- package/bin/process/utils/Time.d.ts.map +1 -0
- package/bin/process/utils/Time.js +18 -0
- package/bin/process/utils/Time.js.map +1 -0
- package/bin/services/chat/Service.d.ts.map +1 -0
- package/bin/services/chat/Service.js +265 -0
- package/bin/services/chat/Service.js.map +1 -0
- package/bin/services/chat/ServiceEntry.d.ts.map +1 -0
- package/bin/services/chat/{service-entry.js → ServiceEntry.js} +5 -5
- package/bin/services/chat/ServiceEntry.js.map +1 -0
- package/bin/services/chat/adapters/BaseChatAdapter.d.ts.map +1 -0
- package/bin/services/chat/adapters/{base-chat-adapter.js → BaseChatAdapter.js} +21 -10
- package/bin/services/chat/adapters/BaseChatAdapter.js.map +1 -0
- package/bin/services/chat/adapters/PlatformAdapter.d.ts.map +1 -0
- package/bin/services/chat/adapters/{platform-adapter.js → PlatformAdapter.js} +3 -3
- package/bin/services/chat/adapters/PlatformAdapter.js.map +1 -0
- package/bin/services/chat/adapters/feishu/Feishu.d.ts.map +1 -0
- package/bin/services/chat/adapters/{feishu.js → feishu/Feishu.js} +17 -7
- package/bin/services/chat/adapters/feishu/Feishu.js.map +1 -0
- package/bin/services/chat/adapters/qq/QQ.d.ts.map +1 -0
- package/bin/services/chat/adapters/{qq.js → qq/QQ.js} +66 -18
- package/bin/services/chat/adapters/qq/QQ.js.map +1 -0
- package/bin/services/chat/adapters/qq/QQInboundDedupe.d.ts.map +1 -0
- package/bin/services/chat/adapters/{qq-inbound-dedupe.js → qq/QQInboundDedupe.js} +2 -2
- package/bin/services/chat/adapters/qq/QQInboundDedupe.js.map +1 -0
- package/bin/services/chat/adapters/telegram/Access.d.ts.map +1 -0
- package/bin/services/chat/adapters/telegram/{access.js → Access.js} +2 -2
- package/bin/services/chat/adapters/telegram/Access.js.map +1 -0
- package/bin/services/chat/adapters/telegram/ApiClient.d.ts.map +1 -0
- package/bin/services/chat/adapters/telegram/{api-client.js → ApiClient.js} +4 -6
- package/bin/services/chat/adapters/telegram/ApiClient.js.map +1 -0
- package/bin/services/chat/adapters/telegram/Bot.d.ts.map +1 -0
- package/bin/services/chat/adapters/telegram/{bot.js → Bot.js} +12 -12
- package/bin/services/chat/adapters/telegram/Bot.js.map +1 -0
- package/bin/services/chat/adapters/telegram/Handlers.d.ts.map +1 -0
- package/bin/services/chat/adapters/telegram/{handlers.js → Handlers.js} +1 -1
- package/bin/services/chat/adapters/telegram/Handlers.js.map +1 -0
- package/bin/services/chat/adapters/telegram/Shared.d.ts.map +1 -0
- package/bin/services/chat/adapters/telegram/{shared.js → Shared.js} +1 -1
- package/bin/services/chat/adapters/telegram/Shared.js.map +1 -0
- package/bin/services/chat/adapters/telegram/StateStore.d.ts.map +1 -0
- package/bin/services/chat/adapters/telegram/{state-store.js → StateStore.js} +4 -4
- package/bin/services/chat/adapters/telegram/StateStore.js.map +1 -0
- package/bin/services/chat/runtime/ChatSendRegistry.d.ts.map +1 -0
- package/bin/services/chat/runtime/{chat-send-registry.js → ChatSendRegistry.js} +1 -1
- package/bin/services/chat/runtime/ChatSendRegistry.js.map +1 -0
- package/bin/services/chat/runtime/ChatkeySend.d.ts.map +1 -0
- package/bin/services/chat/runtime/{chatkey-send.js → ChatkeySend.js} +16 -11
- package/bin/services/chat/runtime/ChatkeySend.js.map +1 -0
- package/bin/services/chat/runtime/EgressIdempotency.d.ts.map +1 -0
- package/bin/services/chat/runtime/{egress-idempotency.js → EgressIdempotency.js} +4 -3
- package/bin/services/chat/runtime/EgressIdempotency.js.map +1 -0
- package/bin/services/chat/runtime/UserVisibleText.d.ts.map +1 -0
- package/bin/services/chat/runtime/{user-visible-text.js → UserVisibleText.js} +6 -3
- package/bin/services/chat/runtime/UserVisibleText.js.map +1 -0
- package/bin/services/chat/types/ChatCommand.d.ts.map +1 -0
- package/bin/services/chat/types/{chat-command.js → ChatCommand.js} +1 -1
- package/bin/services/chat/types/ChatCommand.js.map +1 -0
- package/bin/services/chat/types/ChatDispatcher.d.ts.map +1 -0
- package/bin/services/chat/types/{chat-dispatcher.js → ChatDispatcher.js} +1 -1
- package/bin/services/chat/types/ChatDispatcher.js.map +1 -0
- package/bin/services/chat/types/QqInboundDedupe.d.ts.map +1 -0
- package/bin/services/chat/types/QqInboundDedupe.js +2 -0
- package/bin/services/chat/types/QqInboundDedupe.js.map +1 -0
- package/bin/services/memory/runtime/Extractor.d.ts.map +1 -0
- package/bin/services/memory/runtime/{extractor.js → Extractor.js} +9 -11
- package/bin/services/memory/runtime/Extractor.js.map +1 -0
- package/bin/services/memory/runtime/Manager.d.ts.map +1 -0
- package/bin/services/memory/runtime/{manager.js → Manager.js} +2 -2
- package/bin/services/memory/runtime/Manager.js.map +1 -0
- package/bin/services/memory/runtime/Service.d.ts.map +1 -0
- package/bin/services/memory/runtime/{service.js → Service.js} +5 -5
- package/bin/services/memory/runtime/Service.js.map +1 -0
- package/bin/services/memory/runtime/SystemProvider.d.ts.map +1 -0
- package/bin/services/memory/runtime/{system-provider.js → SystemProvider.js} +2 -2
- package/bin/services/memory/runtime/SystemProvider.js.map +1 -0
- package/bin/services/memory/types/Memory.d.ts.map +1 -0
- package/bin/services/memory/types/Memory.js +2 -0
- package/bin/services/memory/types/Memory.js.map +1 -0
- package/bin/services/skills/Command.d.ts.map +1 -0
- package/bin/services/skills/{command.js → Command.js} +4 -3
- package/bin/services/skills/Command.js.map +1 -0
- package/bin/services/skills/Service.d.ts.map +1 -0
- package/bin/services/skills/{service.js → Service.js} +29 -28
- package/bin/services/skills/Service.js.map +1 -0
- package/bin/services/skills/ServiceEntry.d.ts.map +1 -0
- package/bin/services/skills/{service-entry.js → ServiceEntry.js} +53 -45
- package/bin/services/skills/ServiceEntry.js.map +1 -0
- package/bin/services/skills/runtime/ActiveSkillsPrompt.d.ts.map +1 -0
- package/bin/services/skills/runtime/{active-skills-prompt.js → ActiveSkillsPrompt.js} +1 -1
- package/bin/services/skills/runtime/ActiveSkillsPrompt.js.map +1 -0
- package/bin/services/skills/runtime/Discovery.d.ts.map +1 -0
- package/bin/services/skills/runtime/{discovery.js → Discovery.js} +12 -6
- package/bin/services/skills/runtime/Discovery.js.map +1 -0
- package/bin/services/skills/runtime/Frontmatter.d.ts.map +1 -0
- package/bin/services/skills/runtime/{frontmatter.js → Frontmatter.js} +1 -1
- package/bin/services/skills/runtime/Frontmatter.js.map +1 -0
- package/bin/services/skills/runtime/Paths.d.ts.map +1 -0
- package/bin/services/skills/runtime/{paths.js → Paths.js} +4 -4
- package/bin/services/skills/runtime/Paths.js.map +1 -0
- package/bin/services/skills/runtime/Prompt.d.ts.map +1 -0
- package/bin/services/skills/runtime/{prompt.js → Prompt.js} +3 -3
- package/bin/services/skills/runtime/Prompt.js.map +1 -0
- package/bin/services/skills/runtime/Store.d.ts.map +1 -0
- package/bin/services/skills/runtime/{store.js → Store.js} +1 -1
- package/bin/services/skills/runtime/Store.js.map +1 -0
- package/bin/services/skills/runtime/SystemProvider.d.ts.map +1 -0
- package/bin/services/skills/runtime/{system-provider.js → SystemProvider.js} +6 -6
- package/bin/services/skills/runtime/SystemProvider.js.map +1 -0
- package/bin/services/skills/runtime/Types.d.ts.map +1 -0
- package/bin/services/skills/runtime/Types.js +2 -0
- package/bin/services/skills/runtime/Types.js.map +1 -0
- package/bin/services/skills/runtime/Utils.d.ts.map +1 -0
- package/bin/services/skills/runtime/{utils.js → Utils.js} +1 -1
- package/bin/services/skills/runtime/Utils.js.map +1 -0
- package/bin/services/skills/types/ClaudeSkill.d.ts.map +1 -0
- package/bin/services/skills/types/{claude-skill.js → ClaudeSkill.js} +1 -1
- package/bin/services/skills/types/ClaudeSkill.js.map +1 -0
- package/bin/services/skills/types/LoadedSkill.d.ts.map +1 -0
- package/bin/services/skills/types/{loaded-skill.js → LoadedSkill.js} +1 -1
- package/bin/services/skills/types/LoadedSkill.js.map +1 -0
- package/bin/services/skills/types/SkillCommand.d.ts.map +1 -0
- package/bin/services/skills/types/{skill-command.js → SkillCommand.js} +1 -1
- package/bin/services/skills/types/SkillCommand.js.map +1 -0
- package/bin/services/skills/types/SkillRoot.d.ts.map +1 -0
- package/bin/services/skills/types/{skill-root.js → SkillRoot.js} +1 -1
- package/bin/services/skills/types/SkillRoot.js.map +1 -0
- package/bin/services/task/Scheduler.d.ts.map +1 -0
- package/bin/services/task/{scheduler.js → Scheduler.js} +3 -3
- package/bin/services/task/Scheduler.js.map +1 -0
- package/bin/services/task/Service.d.ts.map +1 -0
- package/bin/services/task/{service.js → Service.js} +14 -14
- package/bin/services/task/Service.js.map +1 -0
- package/bin/services/task/ServiceEntry.d.ts.map +1 -0
- package/bin/services/task/{service-entry.js → ServiceEntry.js} +154 -52
- package/bin/services/task/ServiceEntry.js.map +1 -0
- package/bin/services/task/runtime/CronRuntime.d.ts.map +1 -0
- package/bin/services/task/runtime/CronRuntime.js +59 -0
- package/bin/services/task/runtime/CronRuntime.js.map +1 -0
- package/bin/services/task/runtime/CronTrigger.d.ts.map +1 -0
- package/bin/{core/services/cron-trigger.js → services/task/runtime/CronTrigger.js} +7 -12
- package/bin/services/task/runtime/CronTrigger.js.map +1 -0
- package/bin/services/task/runtime/Frontmatter.d.ts.map +1 -0
- package/bin/services/task/runtime/{frontmatter.js → Frontmatter.js} +1 -1
- package/bin/services/task/runtime/Frontmatter.js.map +1 -0
- package/bin/services/task/runtime/Model.d.ts.map +1 -0
- package/bin/services/task/runtime/{model.js → Model.js} +13 -7
- package/bin/services/task/runtime/Model.js.map +1 -0
- package/bin/services/task/runtime/Paths.d.ts.map +1 -0
- package/bin/services/task/runtime/{paths.js → Paths.js} +2 -2
- package/bin/services/task/runtime/Paths.js.map +1 -0
- package/bin/services/task/runtime/Runner.d.ts.map +1 -0
- package/bin/services/task/runtime/{runner.js → Runner.js} +20 -16
- package/bin/services/task/runtime/Runner.js.map +1 -0
- package/bin/services/task/runtime/Store.d.ts.map +1 -0
- package/bin/services/task/runtime/{store.js → Store.js} +4 -4
- package/bin/services/task/runtime/Store.js.map +1 -0
- package/bin/services/task/types/Task.d.ts.map +1 -0
- package/bin/services/task/types/{task.js → Task.js} +1 -1
- package/bin/services/task/types/Task.js.map +1 -0
- package/bin/services/task/types/TaskCommand.d.ts.map +1 -0
- package/bin/services/task/types/{task-command.js → TaskCommand.js} +1 -1
- package/bin/services/task/types/TaskCommand.js.map +1 -0
- package/bin/types/Json.d.ts.map +1 -0
- package/bin/types/Json.js +9 -0
- package/bin/types/Json.js.map +1 -0
- package/bin/utils/logger/Context.d.ts.map +1 -0
- package/bin/{logger/context.js → utils/logger/Context.js} +1 -1
- package/bin/utils/logger/Context.js.map +1 -0
- package/bin/utils/logger/Fetch.d.ts.map +1 -0
- package/bin/{logger/fetch.js → utils/logger/Fetch.js} +5 -5
- package/bin/utils/logger/Fetch.js.map +1 -0
- package/bin/utils/logger/Format.d.ts.map +1 -0
- package/bin/{logger/format.js → utils/logger/Format.js} +70 -68
- package/bin/utils/logger/Format.js.map +1 -0
- package/bin/utils/logger/Logger.d.ts.map +1 -0
- package/bin/{logger/logger.js → utils/logger/Logger.js} +26 -3
- package/bin/utils/logger/Logger.js.map +1 -0
- package/package.json +4 -5
- package/scripts/copy-prompt-assets.mjs +43 -0
- package/source/core/prompts/default-ship-prompts.txt +89 -0
- package/bin/cli.d.ts.map +0 -1
- package/bin/cli.js.map +0 -1
- package/bin/commands/alias.d.ts.map +0 -1
- package/bin/commands/alias.js.map +0 -1
- package/bin/commands/init.d.ts.map +0 -1
- package/bin/commands/init.js.map +0 -1
- package/bin/commands/restart.d.ts.map +0 -1
- package/bin/commands/restart.js.map +0 -1
- package/bin/commands/run.d.ts.map +0 -1
- package/bin/commands/run.js.map +0 -1
- package/bin/commands/services.d.ts.map +0 -1
- package/bin/commands/services.js.map +0 -1
- package/bin/commands/start.d.ts.map +0 -1
- package/bin/commands/start.js.map +0 -1
- package/bin/commands/stop.d.ts.map +0 -1
- package/bin/commands/stop.js.map +0 -1
- package/bin/commands/types/init.d.ts.map +0 -1
- package/bin/commands/types/init.js.map +0 -1
- package/bin/commands/types/services.d.ts.map +0 -1
- package/bin/commands/types/services.js.map +0 -1
- package/bin/commands/types/start.d.ts.map +0 -1
- package/bin/commands/types/start.js.map +0 -1
- package/bin/core/context/context-store.d.ts.map +0 -1
- package/bin/core/context/context-store.js.map +0 -1
- package/bin/core/context/index.d.ts.map +0 -1
- package/bin/core/context/index.js +0 -11
- package/bin/core/context/index.js.map +0 -1
- package/bin/core/context/manager.d.ts.map +0 -1
- package/bin/core/context/manager.js.map +0 -1
- package/bin/core/context/request-context.d.ts.map +0 -1
- package/bin/core/context/request-context.js.map +0 -1
- package/bin/core/context/scheduler.d.ts.map +0 -1
- package/bin/core/context/scheduler.js.map +0 -1
- package/bin/core/index.d.ts.map +0 -1
- package/bin/core/index.js +0 -9
- package/bin/core/index.js.map +0 -1
- package/bin/core/llm/create-model.d.ts.map +0 -1
- package/bin/core/llm/create-model.js.map +0 -1
- package/bin/core/prompts/index.d.ts.map +0 -1
- package/bin/core/prompts/index.js +0 -9
- package/bin/core/prompts/index.js.map +0 -1
- package/bin/core/prompts/system-provider.d.ts.map +0 -1
- package/bin/core/prompts/system-provider.js.map +0 -1
- package/bin/core/prompts/system.d.ts.map +0 -1
- package/bin/core/prompts/system.js +0 -171
- package/bin/core/prompts/system.js.map +0 -1
- package/bin/core/runtime/agent-runner.d.ts.map +0 -1
- package/bin/core/runtime/agent-runner.js.map +0 -1
- package/bin/core/runtime/agent.d.ts.map +0 -1
- package/bin/core/runtime/agent.js +0 -12
- package/bin/core/runtime/agent.js.map +0 -1
- package/bin/core/runtime/index.d.ts.map +0 -1
- package/bin/core/runtime/index.js +0 -5
- package/bin/core/runtime/index.js.map +0 -1
- package/bin/core/runtime/ui-message.d.ts.map +0 -1
- package/bin/core/runtime/ui-message.js +0 -60
- package/bin/core/runtime/ui-message.js.map +0 -1
- package/bin/core/services/cli-registry.d.ts.map +0 -1
- package/bin/core/services/cli-registry.js.map +0 -1
- package/bin/core/services/cron-trigger.d.ts.map +0 -1
- package/bin/core/services/cron-trigger.js.map +0 -1
- package/bin/core/services/registry.d.ts.map +0 -1
- package/bin/core/services/registry.js.map +0 -1
- package/bin/core/services/server-registry.d.ts.map +0 -1
- package/bin/core/services/server-registry.js.map +0 -1
- package/bin/core/services/types/service-registry.d.ts.map +0 -1
- package/bin/core/services/types/service-registry.js.map +0 -1
- package/bin/core/tools/agent-tools.d.ts.map +0 -1
- package/bin/core/tools/agent-tools.js +0 -41
- package/bin/core/tools/agent-tools.js.map +0 -1
- package/bin/core/tools/exec-shell.d.ts.map +0 -1
- package/bin/core/tools/exec-shell.js +0 -670
- package/bin/core/tools/exec-shell.js.map +0 -1
- package/bin/core/tools/mcp.d.ts.map +0 -1
- package/bin/core/tools/mcp.js +0 -57
- package/bin/core/tools/mcp.js.map +0 -1
- package/bin/core/types/agent.d.ts.map +0 -1
- package/bin/core/types/agent.js.map +0 -1
- package/bin/core/types/context-agent.d.ts.map +0 -1
- package/bin/core/types/context-agent.js.map +0 -1
- package/bin/core/types/context-message.d.ts.map +0 -1
- package/bin/core/types/context-message.js +0 -2
- package/bin/core/types/context-message.js.map +0 -1
- package/bin/core/types/context-messages-meta.d.ts.map +0 -1
- package/bin/core/types/context-messages-meta.js.map +0 -1
- package/bin/core/types/context-scheduler.d.ts.map +0 -1
- package/bin/core/types/context-scheduler.js.map +0 -1
- package/bin/core/types/system-prompt-provider.d.ts.map +0 -1
- package/bin/core/types/system-prompt-provider.js +0 -2
- package/bin/core/types/system-prompt-provider.js.map +0 -1
- package/bin/infra/chat-key.d.ts.map +0 -1
- package/bin/infra/chat-key.js +0 -52
- package/bin/infra/chat-key.js.map +0 -1
- package/bin/infra/cli-output.d.ts.map +0 -1
- package/bin/infra/cli-output.js.map +0 -1
- package/bin/infra/context-message-types.d.ts.map +0 -1
- package/bin/infra/context-message-types.js +0 -12
- package/bin/infra/context-message-types.js.map +0 -1
- package/bin/infra/daemon-api.d.ts.map +0 -1
- package/bin/infra/daemon-api.js +0 -9
- package/bin/infra/daemon-api.js.map +0 -1
- package/bin/infra/daemon-client.d.ts.map +0 -1
- package/bin/infra/daemon-client.js.map +0 -1
- package/bin/infra/service-chat-runtime-bridge.d.ts.map +0 -1
- package/bin/infra/service-chat-runtime-bridge.js +0 -10
- package/bin/infra/service-chat-runtime-bridge.js.map +0 -1
- package/bin/infra/service-registry-types.d.ts.map +0 -1
- package/bin/infra/service-registry-types.js +0 -12
- package/bin/infra/service-registry-types.js.map +0 -1
- package/bin/infra/service-runtime-dependencies.d.ts.map +0 -1
- package/bin/infra/service-runtime-dependencies.js.map +0 -1
- package/bin/infra/service-runtime-ports.d.ts.map +0 -1
- package/bin/infra/service-runtime-ports.js +0 -2
- package/bin/infra/service-runtime-ports.js.map +0 -1
- package/bin/infra/service-runtime-types.d.ts.map +0 -1
- package/bin/infra/service-runtime-types.js +0 -2
- package/bin/infra/service-runtime-types.js.map +0 -1
- package/bin/infra/system-prompt-provider-types.d.ts.map +0 -1
- package/bin/infra/system-prompt-provider-types.js +0 -12
- package/bin/infra/system-prompt-provider-types.js.map +0 -1
- package/bin/logger/context.d.ts.map +0 -1
- package/bin/logger/context.js.map +0 -1
- package/bin/logger/fetch.d.ts.map +0 -1
- package/bin/logger/fetch.js.map +0 -1
- package/bin/logger/format.d.ts.map +0 -1
- package/bin/logger/format.js.map +0 -1
- package/bin/logger/index.d.ts.map +0 -1
- package/bin/logger/index.js +0 -28
- package/bin/logger/index.js.map +0 -1
- package/bin/logger/logger.d.ts.map +0 -1
- package/bin/logger/logger.js.map +0 -1
- package/bin/schemas/mcp.schema.d.ts.map +0 -1
- package/bin/schemas/mcp.schema.js +0 -64
- package/bin/schemas/mcp.schema.js.map +0 -1
- package/bin/schemas/ship.schema.d.ts.map +0 -1
- package/bin/schemas/ship.schema.js.map +0 -1
- package/bin/server/ShipRuntimeContext.d.ts.map +0 -1
- package/bin/server/ShipRuntimeContext.js.map +0 -1
- package/bin/server/daemon/cli-args.d.ts.map +0 -1
- package/bin/server/daemon/cli-args.js.map +0 -1
- package/bin/server/daemon/manager.d.ts.map +0 -1
- package/bin/server/daemon/manager.js.map +0 -1
- package/bin/server/daemon/types/daemon.d.ts.map +0 -1
- package/bin/server/daemon/types/daemon.js.map +0 -1
- package/bin/server/index.d.ts.map +0 -1
- package/bin/server/index.js.map +0 -1
- package/bin/server/interactive.d.ts.map +0 -1
- package/bin/server/interactive.js.map +0 -1
- package/bin/server/system-prompt-providers.d.ts.map +0 -1
- package/bin/server/system-prompt-providers.js +0 -22
- package/bin/server/system-prompt-providers.js.map +0 -1
- package/bin/services/chat/adapters/base-chat-adapter.d.ts.map +0 -1
- package/bin/services/chat/adapters/base-chat-adapter.js.map +0 -1
- package/bin/services/chat/adapters/feishu.d.ts.map +0 -1
- package/bin/services/chat/adapters/feishu.js.map +0 -1
- package/bin/services/chat/adapters/platform-adapter.d.ts.map +0 -1
- package/bin/services/chat/adapters/platform-adapter.js.map +0 -1
- package/bin/services/chat/adapters/qq-inbound-dedupe.d.ts.map +0 -1
- package/bin/services/chat/adapters/qq-inbound-dedupe.js.map +0 -1
- package/bin/services/chat/adapters/qq.d.ts.map +0 -1
- package/bin/services/chat/adapters/qq.js.map +0 -1
- package/bin/services/chat/adapters/telegram/access.d.ts.map +0 -1
- package/bin/services/chat/adapters/telegram/access.js.map +0 -1
- package/bin/services/chat/adapters/telegram/api-client.d.ts.map +0 -1
- package/bin/services/chat/adapters/telegram/api-client.js.map +0 -1
- package/bin/services/chat/adapters/telegram/bot.d.ts.map +0 -1
- package/bin/services/chat/adapters/telegram/bot.js.map +0 -1
- package/bin/services/chat/adapters/telegram/handlers.d.ts.map +0 -1
- package/bin/services/chat/adapters/telegram/handlers.js.map +0 -1
- package/bin/services/chat/adapters/telegram/shared.d.ts.map +0 -1
- package/bin/services/chat/adapters/telegram/shared.js.map +0 -1
- package/bin/services/chat/adapters/telegram/state-store.d.ts.map +0 -1
- package/bin/services/chat/adapters/telegram/state-store.js.map +0 -1
- package/bin/services/chat/adapters/telegram.d.ts.map +0 -1
- package/bin/services/chat/adapters/telegram.js +0 -12
- package/bin/services/chat/adapters/telegram.js.map +0 -1
- package/bin/services/chat/runtime/chat-send-registry.d.ts.map +0 -1
- package/bin/services/chat/runtime/chat-send-registry.js.map +0 -1
- package/bin/services/chat/runtime/chatkey-send.d.ts.map +0 -1
- package/bin/services/chat/runtime/chatkey-send.js.map +0 -1
- package/bin/services/chat/runtime/egress-idempotency.d.ts.map +0 -1
- package/bin/services/chat/runtime/egress-idempotency.js.map +0 -1
- package/bin/services/chat/runtime/user-visible-text.d.ts.map +0 -1
- package/bin/services/chat/runtime/user-visible-text.js.map +0 -1
- package/bin/services/chat/service-entry.d.ts.map +0 -1
- package/bin/services/chat/service-entry.js.map +0 -1
- package/bin/services/chat/service.d.ts.map +0 -1
- package/bin/services/chat/service.js +0 -176
- package/bin/services/chat/service.js.map +0 -1
- package/bin/services/chat/types/chat-command.d.ts.map +0 -1
- package/bin/services/chat/types/chat-command.js.map +0 -1
- package/bin/services/chat/types/chat-dispatcher.d.ts.map +0 -1
- package/bin/services/chat/types/chat-dispatcher.js.map +0 -1
- package/bin/services/chat/types/qq-inbound-dedupe.d.ts.map +0 -1
- package/bin/services/chat/types/qq-inbound-dedupe.js +0 -2
- package/bin/services/chat/types/qq-inbound-dedupe.js.map +0 -1
- package/bin/services/mcp/runtime/env.d.ts.map +0 -1
- package/bin/services/mcp/runtime/env.js +0 -15
- package/bin/services/mcp/runtime/env.js.map +0 -1
- package/bin/services/mcp/runtime/http-transport.d.ts.map +0 -1
- package/bin/services/mcp/runtime/http-transport.js +0 -29
- package/bin/services/mcp/runtime/http-transport.js.map +0 -1
- package/bin/services/mcp/runtime/index.d.ts.map +0 -1
- package/bin/services/mcp/runtime/index.js +0 -8
- package/bin/services/mcp/runtime/index.js.map +0 -1
- package/bin/services/mcp/runtime/manager.d.ts.map +0 -1
- package/bin/services/mcp/runtime/manager.js +0 -242
- package/bin/services/mcp/runtime/manager.js.map +0 -1
- package/bin/services/mcp/runtime/types.d.ts.map +0 -1
- package/bin/services/mcp/runtime/types.js +0 -2
- package/bin/services/mcp/runtime/types.js.map +0 -1
- package/bin/services/memory/runtime/extractor.d.ts.map +0 -1
- package/bin/services/memory/runtime/extractor.js.map +0 -1
- package/bin/services/memory/runtime/manager.d.ts.map +0 -1
- package/bin/services/memory/runtime/manager.js.map +0 -1
- package/bin/services/memory/runtime/service.d.ts.map +0 -1
- package/bin/services/memory/runtime/service.js.map +0 -1
- package/bin/services/memory/runtime/system-provider.d.ts.map +0 -1
- package/bin/services/memory/runtime/system-provider.js.map +0 -1
- package/bin/services/memory/types/memory.d.ts.map +0 -1
- package/bin/services/memory/types/memory.js +0 -9
- package/bin/services/memory/types/memory.js.map +0 -1
- package/bin/services/skills/command.d.ts.map +0 -1
- package/bin/services/skills/command.js.map +0 -1
- package/bin/services/skills/runtime/active-skills-prompt.d.ts.map +0 -1
- package/bin/services/skills/runtime/active-skills-prompt.js.map +0 -1
- package/bin/services/skills/runtime/discovery.d.ts.map +0 -1
- package/bin/services/skills/runtime/discovery.js.map +0 -1
- package/bin/services/skills/runtime/frontmatter.d.ts.map +0 -1
- package/bin/services/skills/runtime/frontmatter.js.map +0 -1
- package/bin/services/skills/runtime/index.d.ts.map +0 -1
- package/bin/services/skills/runtime/index.js +0 -5
- package/bin/services/skills/runtime/index.js.map +0 -1
- package/bin/services/skills/runtime/paths.d.ts.map +0 -1
- package/bin/services/skills/runtime/paths.js.map +0 -1
- package/bin/services/skills/runtime/prompt.d.ts.map +0 -1
- package/bin/services/skills/runtime/prompt.js.map +0 -1
- package/bin/services/skills/runtime/store.d.ts.map +0 -1
- package/bin/services/skills/runtime/store.js.map +0 -1
- package/bin/services/skills/runtime/system-provider.d.ts.map +0 -1
- package/bin/services/skills/runtime/system-provider.js.map +0 -1
- package/bin/services/skills/runtime/types.d.ts.map +0 -1
- package/bin/services/skills/runtime/types.js +0 -2
- package/bin/services/skills/runtime/types.js.map +0 -1
- package/bin/services/skills/runtime/utils.d.ts.map +0 -1
- package/bin/services/skills/runtime/utils.js.map +0 -1
- package/bin/services/skills/service-entry.d.ts.map +0 -1
- package/bin/services/skills/service-entry.js.map +0 -1
- package/bin/services/skills/service.d.ts.map +0 -1
- package/bin/services/skills/service.js.map +0 -1
- package/bin/services/skills/types/claude-skill.d.ts.map +0 -1
- package/bin/services/skills/types/claude-skill.js.map +0 -1
- package/bin/services/skills/types/loaded-skill.d.ts.map +0 -1
- package/bin/services/skills/types/loaded-skill.js.map +0 -1
- package/bin/services/skills/types/skill-command.d.ts.map +0 -1
- package/bin/services/skills/types/skill-command.js.map +0 -1
- package/bin/services/skills/types/skill-root.d.ts.map +0 -1
- package/bin/services/skills/types/skill-root.js.map +0 -1
- package/bin/services/task/runtime/frontmatter.d.ts.map +0 -1
- package/bin/services/task/runtime/frontmatter.js.map +0 -1
- package/bin/services/task/runtime/model.d.ts.map +0 -1
- package/bin/services/task/runtime/model.js.map +0 -1
- package/bin/services/task/runtime/paths.d.ts.map +0 -1
- package/bin/services/task/runtime/paths.js.map +0 -1
- package/bin/services/task/runtime/runner.d.ts.map +0 -1
- package/bin/services/task/runtime/runner.js.map +0 -1
- package/bin/services/task/runtime/store.d.ts.map +0 -1
- package/bin/services/task/runtime/store.js.map +0 -1
- package/bin/services/task/scheduler.d.ts.map +0 -1
- package/bin/services/task/scheduler.js.map +0 -1
- package/bin/services/task/service-entry.d.ts.map +0 -1
- package/bin/services/task/service-entry.js.map +0 -1
- package/bin/services/task/service.d.ts.map +0 -1
- package/bin/services/task/service.js.map +0 -1
- package/bin/services/task/types/task-command.d.ts.map +0 -1
- package/bin/services/task/types/task-command.js.map +0 -1
- package/bin/services/task/types/task.d.ts.map +0 -1
- package/bin/services/task/types/task.js.map +0 -1
- package/bin/utils.d.ts.map +0 -1
- package/bin/utils.js +0 -255
- package/bin/utils.js.map +0 -1
- package/src/services/skills/built-in/task-system/SKILL.md +0 -89
- package/src/services/skills/built-in/vercel-labs-skills/SKILL.md +0 -39
- /package/{bin → source}/services/skills/built-in/task-system/SKILL.md +0 -0
- /package/{bin → source}/services/skills/built-in/vercel-labs-skills/SKILL.md +0 -0
package/README.md
CHANGED
|
@@ -16,14 +16,14 @@ shipmyagent .
|
|
|
16
16
|
|
|
17
17
|
### zsh: permission denied: shipmyagent
|
|
18
18
|
|
|
19
|
-
这不是 `sudo` / 系统管理员权限问题,通常是因为 `pnpm` 的 `.bin/shipmyagent` 可能是软链到实际入口文件(例如 `.../shipmyagent/bin/
|
|
19
|
+
这不是 `sudo` / 系统管理员权限问题,通常是因为 `pnpm` 的 `.bin/shipmyagent` 可能是软链到实际入口文件(例如 `.../shipmyagent/bin/process/commands/index.js`),而目标文件缺少可执行位(`+x`)。
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
22
|
# 本地依赖安装(仓库内)
|
|
23
|
-
chmod +x node_modules/shipmyagent/bin/
|
|
23
|
+
chmod +x node_modules/shipmyagent/bin/process/commands/index.js
|
|
24
24
|
|
|
25
25
|
# 或者直接用 node 执行(不依赖可执行位)
|
|
26
|
-
node node_modules/shipmyagent/bin/
|
|
26
|
+
node node_modules/shipmyagent/bin/process/commands/index.js .
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
## access
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentRunner.d.ts","sourceRoot":"","sources":["../../../source/core/context/AgentRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAe3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAqB7D,qBAAa,kBAAmB,YAAW,YAAY;IAErD,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO,CAAC,KAAK,CAAoC;IAEjD,OAAO,CAAC,KAAK,CAA4B;IACzC;;;;;;OAMG;IACH,OAAO,CAAC,cAAc,CAAuB;;IAI7C;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBjC;;;;;;;OAOG;IACG,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IA4BrD;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;;;;;;;OAQG;YACW,oBAAoB;IAyalC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAgD5B;;;;;;OAMG;YACW,yBAAyB;IAuCvC;;OAEG;IACH,aAAa,IAAI,OAAO;CAGzB"}
|
|
@@ -7,16 +7,20 @@
|
|
|
7
7
|
* - 在上下文超窗时按策略逐步收紧 compact 参数并重试。
|
|
8
8
|
*/
|
|
9
9
|
import { streamText, stepCountIs, } from "ai";
|
|
10
|
-
import { withLlmRequestContext } from "../../logger/
|
|
11
|
-
import { generateId } from "../../utils.js";
|
|
12
|
-
import { buildContextSystemPrompt, transformPromptsIntoSystemMessages, } from "../prompts/
|
|
13
|
-
import { createModel } from "../llm/
|
|
14
|
-
import { contextRequestContext } from "
|
|
15
|
-
import { createAgentTools } from "../tools/agent-tools.js";
|
|
10
|
+
import { withLlmRequestContext } from "../../utils/logger/Context.js";
|
|
11
|
+
import { generateId } from "../../process/utils/Id.js";
|
|
12
|
+
import { buildContextSystemPrompt, transformPromptsIntoSystemMessages, } from "../prompts/System.js";
|
|
13
|
+
import { createModel } from "../llm/CreateModel.js";
|
|
14
|
+
import { contextRequestContext, } from "./RequestContext.js";
|
|
16
15
|
import { openai } from "@ai-sdk/openai";
|
|
17
|
-
import { getShipRuntimeContext,
|
|
18
|
-
import { collectSystemPromptProviderResult } from "../prompts/
|
|
19
|
-
import { extractTextFromUiMessage, extractToolCallsFromUiMessage, } from "./
|
|
16
|
+
import { getShipRuntimeContext, getRuntimeContextBase, } from "../../process/server/ShipRuntimeContext.js";
|
|
17
|
+
import { collectSystemPromptProviderResult } from "../prompts/SystemProvider.js";
|
|
18
|
+
import { extractTextFromUiMessage, extractToolCallsFromUiMessage, } from "./UiMessage.js";
|
|
19
|
+
import { loadProjectDotenv } from "../../process/project/Config.js";
|
|
20
|
+
import { shellTools } from "../shell/Tool.js";
|
|
21
|
+
function toShipContextChannel(chat) {
|
|
22
|
+
return chat ?? "api";
|
|
23
|
+
}
|
|
20
24
|
export class ContextAgentRunner {
|
|
21
25
|
// 是否初始化
|
|
22
26
|
initialized = false;
|
|
@@ -36,7 +40,7 @@ export class ContextAgentRunner {
|
|
|
36
40
|
* 获取运行时 logger。
|
|
37
41
|
*/
|
|
38
42
|
getLogger() {
|
|
39
|
-
return
|
|
43
|
+
return getRuntimeContextBase().logger;
|
|
40
44
|
}
|
|
41
45
|
/**
|
|
42
46
|
* 初始化 Agent 运行依赖。
|
|
@@ -48,7 +52,10 @@ export class ContextAgentRunner {
|
|
|
48
52
|
*/
|
|
49
53
|
async initialize() {
|
|
50
54
|
try {
|
|
51
|
-
|
|
55
|
+
// 注意:不要在模块顶层读取 runtime context,否则像 `sma -v` 这种只打印版本号的场景也会因为未初始化而崩溃
|
|
56
|
+
const runtime = getShipRuntimeContext();
|
|
57
|
+
loadProjectDotenv(runtime.rootPath);
|
|
58
|
+
this.tools = { ...shellTools };
|
|
52
59
|
this.model = await createModel({
|
|
53
60
|
config: getShipRuntimeContext().config,
|
|
54
61
|
});
|
|
@@ -119,7 +126,6 @@ export class ContextAgentRunner {
|
|
|
119
126
|
async runWithToolLoopAgent(userText, startTime, contextId, opts) {
|
|
120
127
|
const toolCalls = [];
|
|
121
128
|
let hadToolFailure = false;
|
|
122
|
-
const toolFailureSummaries = [];
|
|
123
129
|
const retryAttempts = opts?.retryAttempts ?? 0;
|
|
124
130
|
const laneMergeAttempts = opts?.laneMergeAttempts ?? 0;
|
|
125
131
|
const drainLaneMerged = opts?.drainLaneMerged;
|
|
@@ -145,37 +151,35 @@ export class ContextAgentRunner {
|
|
|
145
151
|
contextId,
|
|
146
152
|
requestId,
|
|
147
153
|
});
|
|
148
|
-
|
|
149
|
-
|
|
154
|
+
const staticSystemMessages = transformPromptsIntoSystemMessages([
|
|
155
|
+
...runtime.systems,
|
|
156
|
+
]);
|
|
157
|
+
let currentProviderResult = await collectSystemPromptProviderResult({
|
|
150
158
|
projectRoot: runtime.rootPath,
|
|
151
159
|
contextId,
|
|
152
160
|
requestId,
|
|
153
161
|
allToolNames: Object.keys(this.tools),
|
|
154
162
|
});
|
|
155
|
-
|
|
156
|
-
...runtime.systems,
|
|
157
|
-
]);
|
|
158
|
-
const baseSystemMessages = [
|
|
163
|
+
let currentBaseSystemMessages = [
|
|
159
164
|
...runtimeSystemMessages,
|
|
160
165
|
...staticSystemMessages,
|
|
161
|
-
...
|
|
166
|
+
...currentProviderResult.messages,
|
|
162
167
|
];
|
|
163
168
|
const compactPolicy = this.resolveCompactPolicy(retryAttempts);
|
|
164
169
|
let compacted = false;
|
|
165
170
|
try {
|
|
166
171
|
const compactResult = await contextStore.compactIfNeeded({
|
|
167
172
|
model: this.model,
|
|
168
|
-
system:
|
|
173
|
+
system: currentBaseSystemMessages,
|
|
169
174
|
keepLastMessages: compactPolicy.keepLastMessages,
|
|
170
175
|
maxInputTokensApprox: compactPolicy.maxInputTokensApprox,
|
|
171
176
|
archiveOnCompact: compactPolicy.archiveOnCompact,
|
|
172
177
|
});
|
|
173
|
-
compacted = Boolean(compactResult
|
|
178
|
+
compacted = Boolean(compactResult.compacted);
|
|
174
179
|
}
|
|
175
180
|
catch {
|
|
176
181
|
// ignore compact failure; fallback to un-compacted context messages
|
|
177
182
|
}
|
|
178
|
-
let currentProviderResult = providerResult;
|
|
179
183
|
if (compacted) {
|
|
180
184
|
// 关键点(中文):compact 后重新聚合 provider,保证 prompt 与 activeTools 同步最新状态。
|
|
181
185
|
currentProviderResult = await collectSystemPromptProviderResult({
|
|
@@ -184,13 +188,15 @@ export class ContextAgentRunner {
|
|
|
184
188
|
requestId,
|
|
185
189
|
allToolNames: Object.keys(this.tools),
|
|
186
190
|
});
|
|
191
|
+
currentBaseSystemMessages = [
|
|
192
|
+
...runtimeSystemMessages,
|
|
193
|
+
...staticSystemMessages,
|
|
194
|
+
...currentProviderResult.messages,
|
|
195
|
+
];
|
|
187
196
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
...currentProviderResult.messages,
|
|
192
|
-
];
|
|
193
|
-
let baseModelMessages = (await contextStore.toModelMessages({ tools: this.tools }));
|
|
197
|
+
let baseModelMessages = await contextStore.toModelMessages({
|
|
198
|
+
tools: this.tools,
|
|
199
|
+
});
|
|
194
200
|
if (!Array.isArray(baseModelMessages) || baseModelMessages.length === 0) {
|
|
195
201
|
baseModelMessages = [{ role: "user", content: userText }];
|
|
196
202
|
}
|
|
@@ -228,14 +234,10 @@ export class ContextAgentRunner {
|
|
|
228
234
|
return { reloaded: false };
|
|
229
235
|
try {
|
|
230
236
|
const r = await drainLaneMerged();
|
|
231
|
-
const drained = r && typeof r.drained === "number"
|
|
232
|
-
? r.drained
|
|
233
|
-
: 0;
|
|
237
|
+
const drained = r && typeof r.drained === "number" ? r.drained : 0;
|
|
234
238
|
if (drained <= 0)
|
|
235
239
|
return { reloaded: false, drained: 0 };
|
|
236
|
-
const mergedMessages = Array.isArray(r?.messages)
|
|
237
|
-
? r.messages
|
|
238
|
-
: [];
|
|
240
|
+
const mergedMessages = Array.isArray(r?.messages) ? r.messages : [];
|
|
239
241
|
const appended = appendMergedLaneMessages(mergedMessages);
|
|
240
242
|
needsLaneResync = true;
|
|
241
243
|
void logger.log("debug", "Lane merged messages detected; appended queued user messages for next step", {
|
|
@@ -260,13 +262,14 @@ export class ContextAgentRunner {
|
|
|
260
262
|
};
|
|
261
263
|
const toolsWithLaneMerge = {};
|
|
262
264
|
for (const [toolName, tool] of Object.entries(this.tools)) {
|
|
263
|
-
const
|
|
265
|
+
const toolWithExecute = tool;
|
|
266
|
+
const exec = toolWithExecute.execute;
|
|
264
267
|
if (typeof exec !== "function") {
|
|
265
268
|
toolsWithLaneMerge[toolName] = tool;
|
|
266
269
|
continue;
|
|
267
270
|
}
|
|
268
271
|
toolsWithLaneMerge[toolName] = {
|
|
269
|
-
...
|
|
272
|
+
...toolWithExecute,
|
|
270
273
|
execute: async (...args) => {
|
|
271
274
|
try {
|
|
272
275
|
return await exec.apply(tool, args);
|
|
@@ -302,10 +305,13 @@ export class ContextAgentRunner {
|
|
|
302
305
|
? baseModelMessages.length
|
|
303
306
|
: 0;
|
|
304
307
|
}
|
|
305
|
-
const stepOverrides =
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
308
|
+
const stepOverrides = {
|
|
309
|
+
system: currentBaseSystemMessages,
|
|
310
|
+
};
|
|
311
|
+
if (Array.isArray(currentProviderResult.activeTools) &&
|
|
312
|
+
currentProviderResult.activeTools.length > 0) {
|
|
313
|
+
stepOverrides.activeTools = currentProviderResult.activeTools;
|
|
314
|
+
}
|
|
309
315
|
return {
|
|
310
316
|
...stepOverrides,
|
|
311
317
|
...(Array.isArray(outMessages)
|
|
@@ -323,7 +329,7 @@ export class ContextAgentRunner {
|
|
|
323
329
|
let finalAssistantUiMessage = null;
|
|
324
330
|
try {
|
|
325
331
|
const ctx = contextRequestContext.getStore();
|
|
326
|
-
const channel = ctx?.
|
|
332
|
+
const channel = toShipContextChannel(ctx?.chat);
|
|
327
333
|
const targetId = String(ctx?.targetId || contextId);
|
|
328
334
|
const md = {
|
|
329
335
|
v: 1,
|
|
@@ -347,8 +353,8 @@ export class ContextAgentRunner {
|
|
|
347
353
|
generateMessageId: () => `a:${contextId}:${generateId()}`,
|
|
348
354
|
// 关键点(中文):metadata 通过 ai-sdk 的 UIMessage 生成管线注入,避免我们手工改写最终 message。
|
|
349
355
|
messageMetadata: () => md,
|
|
350
|
-
onFinish: (
|
|
351
|
-
finalAssistantUiMessage =
|
|
356
|
+
onFinish: (event) => {
|
|
357
|
+
finalAssistantUiMessage = event.responseMessage ?? null;
|
|
352
358
|
},
|
|
353
359
|
});
|
|
354
360
|
// 关键点(中文):必须消费完整 UIMessage stream,onFinish 才会触发并产出 responseMessage。
|
|
@@ -398,10 +404,6 @@ export class ContextAgentRunner {
|
|
|
398
404
|
"success" in parsed &&
|
|
399
405
|
parsed.success === false) {
|
|
400
406
|
hadToolFailure = true;
|
|
401
|
-
const err = parsed.error ||
|
|
402
|
-
parsed.stderr ||
|
|
403
|
-
"unknown error";
|
|
404
|
-
toolFailureSummaries.push(`${tc.tool}: ${String(err)}`.slice(0, 200));
|
|
405
407
|
}
|
|
406
408
|
}
|
|
407
409
|
catch {
|
|
@@ -420,7 +422,7 @@ export class ContextAgentRunner {
|
|
|
420
422
|
: "";
|
|
421
423
|
if (!assistantText) {
|
|
422
424
|
try {
|
|
423
|
-
assistantText = String((await result
|
|
425
|
+
assistantText = String((await result.text) ?? "").trim();
|
|
424
426
|
}
|
|
425
427
|
catch {
|
|
426
428
|
assistantText = "";
|
|
@@ -480,8 +482,8 @@ export class ContextAgentRunner {
|
|
|
480
482
|
buildRuntimeSystemMessages(input) {
|
|
481
483
|
const contextCtx = contextRequestContext.getStore();
|
|
482
484
|
const runtimeExtraContextLines = [];
|
|
483
|
-
if (contextCtx?.
|
|
484
|
-
runtimeExtraContextLines.push(`- Channel: ${contextCtx.
|
|
485
|
+
if (contextCtx?.chat)
|
|
486
|
+
runtimeExtraContextLines.push(`- Channel: ${contextCtx.chat}`);
|
|
485
487
|
if (contextCtx?.targetId)
|
|
486
488
|
runtimeExtraContextLines.push(`- TargetId: ${contextCtx.targetId}`);
|
|
487
489
|
if (contextCtx?.actorId)
|
|
@@ -500,24 +502,6 @@ export class ContextAgentRunner {
|
|
|
500
502
|
},
|
|
501
503
|
];
|
|
502
504
|
}
|
|
503
|
-
/**
|
|
504
|
-
* 构造 step 覆盖配置。
|
|
505
|
-
*
|
|
506
|
-
* 关键点(中文)
|
|
507
|
-
* - provider 有 messages 时,用运行时系统消息替换默认系统消息。
|
|
508
|
-
* - provider 有 activeTools 时,收敛可用工具集合。
|
|
509
|
-
*/
|
|
510
|
-
buildStepOverrides(input) {
|
|
511
|
-
const out = {};
|
|
512
|
-
if (Array.isArray(input.providerResult.messages)) {
|
|
513
|
-
out.system = input.baseSystemMessages;
|
|
514
|
-
}
|
|
515
|
-
if (Array.isArray(input.providerResult.activeTools) &&
|
|
516
|
-
input.providerResult.activeTools.length > 0) {
|
|
517
|
-
out.activeTools = input.providerResult.activeTools;
|
|
518
|
-
}
|
|
519
|
-
return out;
|
|
520
|
-
}
|
|
521
505
|
/**
|
|
522
506
|
* 计算 compact 重试策略。
|
|
523
507
|
*
|
|
@@ -527,21 +511,20 @@ export class ContextAgentRunner {
|
|
|
527
511
|
*/
|
|
528
512
|
resolveCompactPolicy(retryAttempts) {
|
|
529
513
|
const runtime = getShipRuntimeContext();
|
|
530
|
-
const
|
|
531
|
-
|
|
532
|
-
? Math.max(6, Math.min(5000, Math.floor(
|
|
514
|
+
const contextMessagesConfig = runtime.config.context?.messages;
|
|
515
|
+
const baseKeepLastMessages = typeof contextMessagesConfig?.keepLastMessages === "number"
|
|
516
|
+
? Math.max(6, Math.min(5000, Math.floor(contextMessagesConfig.keepLastMessages)))
|
|
533
517
|
: 30;
|
|
534
|
-
const baseMaxInputTokensApprox = typeof
|
|
535
|
-
|
|
536
|
-
? Math.max(2000, Math.min(200_000, Math.floor(runtime.config.context.messages.maxInputTokensApprox)))
|
|
518
|
+
const baseMaxInputTokensApprox = typeof contextMessagesConfig?.maxInputTokensApprox === "number"
|
|
519
|
+
? Math.max(2000, Math.min(200_000, Math.floor(contextMessagesConfig.maxInputTokensApprox)))
|
|
537
520
|
: 16000;
|
|
538
521
|
// 关键点(中文):当 provider 报错超窗时,会进入 retry;此时需要更激进的 compact。
|
|
539
522
|
const retryFactor = Math.max(1, Math.pow(2, retryAttempts));
|
|
540
523
|
const keepLastMessages = Math.max(6, Math.floor(baseKeepLastMessages / retryFactor));
|
|
541
524
|
const maxInputTokensApprox = Math.max(2000, Math.floor(baseMaxInputTokensApprox / retryFactor));
|
|
542
|
-
const archiveOnCompact =
|
|
525
|
+
const archiveOnCompact = contextMessagesConfig?.archiveOnCompact === undefined
|
|
543
526
|
? true
|
|
544
|
-
: Boolean(
|
|
527
|
+
: Boolean(contextMessagesConfig.archiveOnCompact);
|
|
545
528
|
return {
|
|
546
529
|
keepLastMessages,
|
|
547
530
|
maxInputTokensApprox,
|
|
@@ -560,35 +543,27 @@ export class ContextAgentRunner {
|
|
|
560
543
|
try {
|
|
561
544
|
const msgs = await contextStore.loadAll();
|
|
562
545
|
const last = msgs.length > 0 ? msgs[msgs.length - 1] : null;
|
|
563
|
-
const lastText = (
|
|
564
|
-
if (!last || last.role !== "user")
|
|
565
|
-
return "";
|
|
566
|
-
const parts = Array.isArray(last.parts) ? last.parts : [];
|
|
567
|
-
return parts
|
|
568
|
-
.filter((p) => p && typeof p === "object" && p.type === "text")
|
|
569
|
-
.map((p) => String(p.text ?? ""))
|
|
570
|
-
.join("\n")
|
|
571
|
-
.trim();
|
|
572
|
-
})();
|
|
546
|
+
const lastText = last && last.role === "user" ? extractTextFromUiMessage(last) : "";
|
|
573
547
|
if (lastText && lastText === String(userText || "").trim())
|
|
574
548
|
return;
|
|
575
549
|
const ctx = contextRequestContext.getStore();
|
|
576
|
-
const channel = ctx?.
|
|
550
|
+
const channel = toShipContextChannel(ctx?.chat);
|
|
577
551
|
const targetId = String(ctx?.targetId || contextId);
|
|
552
|
+
const metadata = {
|
|
553
|
+
contextId,
|
|
554
|
+
channel,
|
|
555
|
+
targetId,
|
|
556
|
+
actorId: ctx?.actorId,
|
|
557
|
+
actorName: ctx?.actorName,
|
|
558
|
+
messageId: ctx?.messageId,
|
|
559
|
+
threadId: typeof ctx?.threadId === "number" ? ctx.threadId : undefined,
|
|
560
|
+
targetType: ctx?.targetType,
|
|
561
|
+
requestId,
|
|
562
|
+
extra: { note: "injected_by_agent_run" },
|
|
563
|
+
};
|
|
578
564
|
const msg = contextStore.createUserTextMessage({
|
|
579
565
|
text: userText,
|
|
580
|
-
metadata
|
|
581
|
-
contextId,
|
|
582
|
-
channel,
|
|
583
|
-
targetId,
|
|
584
|
-
actorId: ctx?.actorId,
|
|
585
|
-
actorName: ctx?.actorName,
|
|
586
|
-
messageId: ctx?.messageId,
|
|
587
|
-
threadId: typeof ctx?.threadId === "number" ? ctx.threadId : undefined,
|
|
588
|
-
targetType: ctx?.targetType,
|
|
589
|
-
requestId,
|
|
590
|
-
extra: { note: "injected_by_agent_run" },
|
|
591
|
-
},
|
|
566
|
+
metadata,
|
|
592
567
|
});
|
|
593
568
|
await contextStore.append(msg);
|
|
594
569
|
}
|
|
@@ -603,4 +578,4 @@ export class ContextAgentRunner {
|
|
|
603
578
|
return this.initialized;
|
|
604
579
|
}
|
|
605
580
|
}
|
|
606
|
-
//# sourceMappingURL=
|
|
581
|
+
//# sourceMappingURL=AgentRunner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../../../source/core/context/AgentRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextManager.d.ts","sourceRoot":"","sources":["../../../source/core/context/ContextManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
* - 负责消息入库与调度入队
|
|
7
7
|
* - 在上下文更新后触发 memory 维护钩子
|
|
8
8
|
*/
|
|
9
|
-
import { Scheduler } from "./
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { getShipRuntimeContextBase } from "../../server/ShipRuntimeContext.js";
|
|
9
|
+
import { Scheduler } from "./Scheduler.js";
|
|
10
|
+
import { ContextStore } from "./ContextStore.js";
|
|
11
|
+
import { getRuntimeContextBase } from "../../process/server/ShipRuntimeContext.js";
|
|
13
12
|
import path from "node:path";
|
|
14
|
-
import { parseTaskRunContextId, getTaskRunDir, } from "../../services/task/runtime/
|
|
13
|
+
import { parseTaskRunContextId, getTaskRunDir, } from "../../services/task/runtime/Paths.js";
|
|
14
|
+
import { ContextAgentRunner } from "./AgentRunner.js";
|
|
15
15
|
/**
|
|
16
16
|
* ContextManager:统一会话运行管理容器。
|
|
17
17
|
*
|
|
@@ -24,6 +24,23 @@ export class ContextManager {
|
|
|
24
24
|
contextStoresByContextId = new Map();
|
|
25
25
|
scheduler;
|
|
26
26
|
runMemoryMaintenance;
|
|
27
|
+
/**
|
|
28
|
+
* 归一化 channel 字段为 metadata 可接受值。
|
|
29
|
+
*/
|
|
30
|
+
toContextChannel(channel) {
|
|
31
|
+
const normalized = String(channel || "").trim();
|
|
32
|
+
if (normalized === "telegram")
|
|
33
|
+
return "telegram";
|
|
34
|
+
if (normalized === "feishu")
|
|
35
|
+
return "feishu";
|
|
36
|
+
if (normalized === "qq")
|
|
37
|
+
return "qq";
|
|
38
|
+
if (normalized === "cli")
|
|
39
|
+
return "cli";
|
|
40
|
+
if (normalized === "scheduler")
|
|
41
|
+
return "scheduler";
|
|
42
|
+
return "api";
|
|
43
|
+
}
|
|
27
44
|
/**
|
|
28
45
|
* 构造函数:装配 scheduler 与可选回调。
|
|
29
46
|
*
|
|
@@ -32,7 +49,7 @@ export class ContextManager {
|
|
|
32
49
|
* - `runMemoryMaintenance` 由 service 注入,core 只负责触发。
|
|
33
50
|
*/
|
|
34
51
|
constructor(params) {
|
|
35
|
-
const base =
|
|
52
|
+
const base = getRuntimeContextBase();
|
|
36
53
|
const queueConfig = base.config?.context?.contextQueue || {};
|
|
37
54
|
this.runMemoryMaintenance = params?.runMemoryMaintenance;
|
|
38
55
|
this.scheduler = new Scheduler({
|
|
@@ -78,7 +95,7 @@ export class ContextManager {
|
|
|
78
95
|
const parsedRun = parseTaskRunContextId(key);
|
|
79
96
|
const created = parsedRun
|
|
80
97
|
? (() => {
|
|
81
|
-
const runDir = getTaskRunDir(
|
|
98
|
+
const runDir = getTaskRunDir(getRuntimeContextBase().rootPath, parsedRun.taskId, parsedRun.timestamp);
|
|
82
99
|
return new ContextStore(key, {
|
|
83
100
|
contextDirPath: runDir,
|
|
84
101
|
messagesDirPath: runDir,
|
|
@@ -105,7 +122,7 @@ export class ContextManager {
|
|
|
105
122
|
const existing = this.agentsByContextId.get(key);
|
|
106
123
|
if (existing)
|
|
107
124
|
return existing;
|
|
108
|
-
const created =
|
|
125
|
+
const created = new ContextAgentRunner();
|
|
109
126
|
this.agentsByContextId.set(key, created);
|
|
110
127
|
return created;
|
|
111
128
|
}
|
|
@@ -159,7 +176,7 @@ export class ContextManager {
|
|
|
159
176
|
text: params.text,
|
|
160
177
|
metadata: {
|
|
161
178
|
contextId,
|
|
162
|
-
channel: params.channel,
|
|
179
|
+
channel: this.toContextChannel(params.channel),
|
|
163
180
|
targetId: params.targetId,
|
|
164
181
|
actorId: params.actorId,
|
|
165
182
|
actorName: params.actorName,
|
|
@@ -216,4 +233,4 @@ export class ContextManager {
|
|
|
216
233
|
});
|
|
217
234
|
}
|
|
218
235
|
}
|
|
219
|
-
//# sourceMappingURL=
|
|
236
|
+
//# sourceMappingURL=ContextManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextManager.js","sourceRoot":"","sources":["../../../source/core/context/ContextManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextStore.d.ts","sourceRoot":"","sources":["../../../source/core/context/ContextStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
import fs from "fs-extra";
|
|
10
10
|
import { open as openFile, readFile as readFileNative, stat as statNative } from "node:fs/promises";
|
|
11
11
|
import path from "node:path";
|
|
12
|
-
import { convertToModelMessages, generateText } from "ai";
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
12
|
+
import { convertToModelMessages, generateText, isTextUIPart, } from "ai";
|
|
13
|
+
import { getShipContextDirPath, getShipContextMessagesArchiveDirPath, getShipContextMessagesMetaPath, getShipContextMessagesPath, getShipContextMessagesDirPath, } from "../../process/project/Paths.js";
|
|
14
|
+
import { generateId } from "../../process/utils/Id.js";
|
|
15
|
+
import { getLogger } from "../../utils/logger/Logger.js";
|
|
16
|
+
import { getRuntimeContextBase } from "../../process/server/ShipRuntimeContext.js";
|
|
16
17
|
/**
|
|
17
18
|
* ContextStore:基于 UIMessage 的会话上下文存储(per contextId)。
|
|
18
19
|
*
|
|
@@ -35,7 +36,7 @@ export class ContextStore {
|
|
|
35
36
|
overrideMetaFilePath;
|
|
36
37
|
overrideArchiveDirPath;
|
|
37
38
|
constructor(contextId, options) {
|
|
38
|
-
const rootPath = String(
|
|
39
|
+
const rootPath = String(getRuntimeContextBase().rootPath || "").trim();
|
|
39
40
|
if (!rootPath)
|
|
40
41
|
throw new Error("ContextStore requires a non-empty rootPath");
|
|
41
42
|
const key = String(contextId || "").trim();
|
|
@@ -222,7 +223,7 @@ export class ContextStore {
|
|
|
222
223
|
v: 1,
|
|
223
224
|
contextId: this.contextId,
|
|
224
225
|
updatedAt: Date.now(),
|
|
225
|
-
pinnedSkillIds: this.normalizePinnedSkillIds(patch
|
|
226
|
+
pinnedSkillIds: this.normalizePinnedSkillIds(patch.pinnedSkillIds ?? prev.pinnedSkillIds),
|
|
226
227
|
};
|
|
227
228
|
await this.writeMetaUnsafe(next);
|
|
228
229
|
return next;
|
|
@@ -249,7 +250,9 @@ export class ContextStore {
|
|
|
249
250
|
* 覆盖设置 pinned skills(用于 compact 时自动清理)。
|
|
250
251
|
*/
|
|
251
252
|
async setPinnedSkillIds(skillIds) {
|
|
252
|
-
await this.updateMeta({
|
|
253
|
+
await this.updateMeta({
|
|
254
|
+
pinnedSkillIds: Array.isArray(skillIds) ? skillIds : [],
|
|
255
|
+
});
|
|
253
256
|
}
|
|
254
257
|
/**
|
|
255
258
|
* 带文件锁的写操作包装。
|
|
@@ -274,9 +277,10 @@ export class ContextStore {
|
|
|
274
277
|
await fh.close();
|
|
275
278
|
break;
|
|
276
279
|
}
|
|
277
|
-
catch (
|
|
278
|
-
|
|
279
|
-
|
|
280
|
+
catch (error) {
|
|
281
|
+
const err = error;
|
|
282
|
+
if (err.code !== "EEXIST")
|
|
283
|
+
throw err;
|
|
280
284
|
try {
|
|
281
285
|
const stat = await statNative(lockPath);
|
|
282
286
|
const age = Date.now() - stat.mtimeMs;
|
|
@@ -380,10 +384,11 @@ export class ContextStore {
|
|
|
380
384
|
* 构造 user 文本消息(UIMessage 结构)。
|
|
381
385
|
*/
|
|
382
386
|
createUserTextMessage(params) {
|
|
387
|
+
const { ts, ...metadata } = params.metadata;
|
|
383
388
|
const md = {
|
|
384
389
|
v: 1,
|
|
385
|
-
ts: typeof
|
|
386
|
-
...
|
|
390
|
+
ts: typeof ts === "number" ? ts : Date.now(),
|
|
391
|
+
...metadata,
|
|
387
392
|
source: "ingress",
|
|
388
393
|
kind: "normal",
|
|
389
394
|
};
|
|
@@ -400,10 +405,11 @@ export class ContextStore {
|
|
|
400
405
|
* 构造 assistant 文本消息(可标记 normal/summary 与 source)。
|
|
401
406
|
*/
|
|
402
407
|
createAssistantTextMessage(params) {
|
|
408
|
+
const { ts, ...metadata } = params.metadata;
|
|
403
409
|
const md = {
|
|
404
410
|
v: 1,
|
|
405
|
-
ts: typeof
|
|
406
|
-
...
|
|
411
|
+
ts: typeof ts === "number" ? ts : Date.now(),
|
|
412
|
+
...metadata,
|
|
407
413
|
source: params.source || "egress",
|
|
408
414
|
kind: params.kind || "normal",
|
|
409
415
|
...(params.sourceRange ? { sourceRange: params.sourceRange } : {}),
|
|
@@ -443,7 +449,7 @@ export class ContextStore {
|
|
|
443
449
|
const role = m.role === "user" ? "user" : "assistant";
|
|
444
450
|
const parts = Array.isArray(m.parts) ? m.parts : [];
|
|
445
451
|
const textParts = parts
|
|
446
|
-
.filter(
|
|
452
|
+
.filter(isTextUIPart)
|
|
447
453
|
.map((p) => String(p.text ?? ""));
|
|
448
454
|
const text = textParts.join("\n").trim();
|
|
449
455
|
if (!text)
|
|
@@ -474,7 +480,7 @@ export class ContextStore {
|
|
|
474
480
|
if (snapshot.length <= params.keepLastMessages + 2)
|
|
475
481
|
return { compacted: false, reason: "small_messages" };
|
|
476
482
|
const systemText = (params.system || [])
|
|
477
|
-
.map((m) => String(m
|
|
483
|
+
.map((m) => String(m.content ?? ""))
|
|
478
484
|
.join("\n\n");
|
|
479
485
|
// 关键点(中文):context messages 现在可能包含 tool parts/output,必须把它们计入预算估算,否则会低估 token。
|
|
480
486
|
let messagesJson = "";
|
|
@@ -575,9 +581,9 @@ export class ContextStore {
|
|
|
575
581
|
* 转换为模型输入 messages。
|
|
576
582
|
*
|
|
577
583
|
* 关键点(中文)
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
584
|
+
* - 去掉 UIMessage 的 id 字段,仅保留模型可消费结构。
|
|
585
|
+
* - `ignoreIncompleteToolCalls=true` 以容忍中断场景下的半成品 tool 记录。
|
|
586
|
+
*/
|
|
581
587
|
async toModelMessages(params) {
|
|
582
588
|
const msgs = await this.loadAll();
|
|
583
589
|
// convertToModelMessages 需要的是“没有 id 的 UIMessage”
|
|
@@ -591,4 +597,4 @@ export class ContextStore {
|
|
|
591
597
|
});
|
|
592
598
|
}
|
|
593
599
|
}
|
|
594
|
-
//# sourceMappingURL=
|
|
600
|
+
//# sourceMappingURL=ContextStore.js.map
|