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.
Files changed (643) hide show
  1. package/README.md +3 -3
  2. package/bin/core/context/AgentRunner.d.ts.map +1 -0
  3. package/bin/core/{runtime/agent-runner.js → context/AgentRunner.js} +75 -100
  4. package/bin/core/context/AgentRunner.js.map +1 -0
  5. package/bin/core/context/ContextManager.d.ts.map +1 -0
  6. package/bin/core/context/{manager.js → ContextManager.js} +27 -10
  7. package/bin/core/context/ContextManager.js.map +1 -0
  8. package/bin/core/context/ContextStore.d.ts.map +1 -0
  9. package/bin/core/context/{context-store.js → ContextStore.js} +26 -20
  10. package/bin/core/context/ContextStore.js.map +1 -0
  11. package/bin/core/context/RequestContext.d.ts.map +1 -0
  12. package/bin/core/context/{request-context.js → RequestContext.js} +1 -1
  13. package/bin/core/context/RequestContext.js.map +1 -0
  14. package/bin/core/context/Scheduler.d.ts.map +1 -0
  15. package/bin/core/context/{scheduler.js → Scheduler.js} +20 -19
  16. package/bin/core/context/Scheduler.js.map +1 -0
  17. package/bin/core/context/UiMessage.d.ts.map +1 -0
  18. package/bin/core/context/UiMessage.js +85 -0
  19. package/bin/core/context/UiMessage.js.map +1 -0
  20. package/bin/core/llm/CreateModel.d.ts.map +1 -0
  21. package/bin/core/llm/{create-model.js → CreateModel.js} +4 -3
  22. package/bin/core/llm/CreateModel.js.map +1 -0
  23. package/bin/core/prompts/System.d.ts.map +1 -0
  24. package/bin/core/prompts/System.js +95 -0
  25. package/bin/core/prompts/System.js.map +1 -0
  26. package/bin/core/prompts/SystemProvider.d.ts.map +1 -0
  27. package/bin/core/prompts/{system-provider.js → SystemProvider.js} +5 -9
  28. package/bin/core/prompts/SystemProvider.js.map +1 -0
  29. package/bin/core/services/CliRegistry.d.ts.map +1 -0
  30. package/bin/core/services/{cli-registry.js → CliRegistry.js} +1 -1
  31. package/bin/core/services/CliRegistry.js.map +1 -0
  32. package/bin/core/services/ProcessBindings.d.ts.map +1 -0
  33. package/bin/core/services/ProcessBindings.js +50 -0
  34. package/bin/core/services/ProcessBindings.js.map +1 -0
  35. package/bin/core/services/Registry.d.ts.map +1 -0
  36. package/bin/core/services/{registry.js → Registry.js} +7 -60
  37. package/bin/core/services/Registry.js.map +1 -0
  38. package/bin/core/services/ServerRegistry.d.ts.map +1 -0
  39. package/bin/core/services/{server-registry.js → ServerRegistry.js} +1 -1
  40. package/bin/core/services/ServerRegistry.js.map +1 -0
  41. package/bin/core/services/ServiceRegistry.d.ts.map +1 -0
  42. package/bin/core/services/{types/service-registry.js → ServiceRegistry.js} +1 -1
  43. package/bin/core/services/ServiceRegistry.js.map +1 -0
  44. package/bin/core/shell/ShellContextManager.d.ts.map +1 -0
  45. package/bin/core/shell/ShellContextManager.js +168 -0
  46. package/bin/core/shell/ShellContextManager.js.map +1 -0
  47. package/bin/core/shell/ShellHelpers.d.ts.map +1 -0
  48. package/bin/core/shell/ShellHelpers.js +301 -0
  49. package/bin/core/shell/ShellHelpers.js.map +1 -0
  50. package/bin/core/shell/ShellResponse.d.ts.map +1 -0
  51. package/bin/core/shell/ShellResponse.js +34 -0
  52. package/bin/core/shell/ShellResponse.js.map +1 -0
  53. package/bin/core/shell/Tool.d.ts.map +1 -0
  54. package/bin/core/shell/Tool.js +193 -0
  55. package/bin/core/shell/Tool.js.map +1 -0
  56. package/bin/core/types/Agent.d.ts.map +1 -0
  57. package/bin/core/types/{agent.js → Agent.js} +1 -1
  58. package/bin/core/types/Agent.js.map +1 -0
  59. package/bin/core/types/ContextAgent.d.ts.map +1 -0
  60. package/bin/core/types/{context-agent.js → ContextAgent.js} +1 -1
  61. package/bin/core/types/ContextAgent.js.map +1 -0
  62. package/bin/core/types/ContextMessage.d.ts.map +1 -0
  63. package/bin/core/types/ContextMessage.js +2 -0
  64. package/bin/core/types/ContextMessage.js.map +1 -0
  65. package/bin/core/types/ContextMessagesMeta.d.ts.map +1 -0
  66. package/bin/core/types/{context-messages-meta.js → ContextMessagesMeta.js} +1 -1
  67. package/bin/core/types/ContextMessagesMeta.js.map +1 -0
  68. package/bin/core/types/ContextScheduler.d.ts.map +1 -0
  69. package/bin/core/types/{context-scheduler.js → ContextScheduler.js} +1 -1
  70. package/bin/core/types/ContextScheduler.js.map +1 -0
  71. package/bin/core/types/Shell.d.ts.map +1 -0
  72. package/bin/core/types/Shell.js +9 -0
  73. package/bin/core/types/Shell.js.map +1 -0
  74. package/bin/core/types/SystemPromptProvider.d.ts.map +1 -0
  75. package/bin/core/types/SystemPromptProvider.js +2 -0
  76. package/bin/core/types/SystemPromptProvider.js.map +1 -0
  77. package/bin/process/commands/Alias.d.ts.map +1 -0
  78. package/bin/{commands/alias.js → process/commands/Alias.js} +1 -1
  79. package/bin/process/commands/Alias.js.map +1 -0
  80. package/bin/process/commands/Index.d.ts.map +1 -0
  81. package/bin/{cli.js → process/commands/Index.js} +36 -28
  82. package/bin/process/commands/Index.js.map +1 -0
  83. package/bin/process/commands/Init.d.ts.map +1 -0
  84. package/bin/{commands/init.js → process/commands/Init.js} +40 -39
  85. package/bin/process/commands/Init.js.map +1 -0
  86. package/bin/process/commands/Restart.d.ts.map +1 -0
  87. package/bin/{commands/restart.js → process/commands/Restart.js} +6 -6
  88. package/bin/process/commands/Restart.js.map +1 -0
  89. package/bin/process/commands/Run.d.ts.map +1 -0
  90. package/bin/{commands/run.js → process/commands/Run.js} +14 -13
  91. package/bin/process/commands/Run.js.map +1 -0
  92. package/bin/process/commands/Services.d.ts.map +1 -0
  93. package/bin/{commands/services.js → process/commands/Services.js} +3 -3
  94. package/bin/process/commands/Services.js.map +1 -0
  95. package/bin/process/commands/Start.d.ts.map +1 -0
  96. package/bin/{commands/start.js → process/commands/Start.js} +7 -7
  97. package/bin/process/commands/Start.js.map +1 -0
  98. package/bin/process/commands/Stop.d.ts.map +1 -0
  99. package/bin/{commands/stop.js → process/commands/Stop.js} +2 -2
  100. package/bin/process/commands/Stop.js.map +1 -0
  101. package/bin/process/commands/types/Init.d.ts.map +1 -0
  102. package/bin/{commands/types/init.js → process/commands/types/Init.js} +1 -1
  103. package/bin/process/commands/types/Init.js.map +1 -0
  104. package/bin/process/commands/types/Services.d.ts.map +1 -0
  105. package/bin/{commands/types/services.js → process/commands/types/Services.js} +1 -1
  106. package/bin/process/commands/types/Services.js.map +1 -0
  107. package/bin/process/commands/types/Start.d.ts.map +1 -0
  108. package/bin/{commands/types/start.js → process/commands/types/Start.js} +1 -1
  109. package/bin/process/commands/types/Start.js.map +1 -0
  110. package/bin/process/const/Model.d.ts.map +1 -0
  111. package/bin/process/const/Model.js +47 -0
  112. package/bin/process/const/Model.js.map +1 -0
  113. package/bin/process/const/Ship.d.ts.map +1 -0
  114. package/bin/process/const/Ship.js +56 -0
  115. package/bin/process/const/Ship.js.map +1 -0
  116. package/bin/process/const/ShipSchema.d.ts.map +1 -0
  117. package/bin/{schemas/ship.schema.js → process/const/ShipSchema.js} +71 -51
  118. package/bin/process/const/ShipSchema.js.map +1 -0
  119. package/bin/process/context/ContextId.d.ts.map +1 -0
  120. package/bin/process/context/ContextId.js +24 -0
  121. package/bin/process/context/ContextId.js.map +1 -0
  122. package/bin/process/project/Config.d.ts.map +1 -0
  123. package/bin/process/project/Config.js +55 -0
  124. package/bin/process/project/Config.js.map +1 -0
  125. package/bin/process/project/Paths.d.ts.map +1 -0
  126. package/bin/process/project/Paths.js +95 -0
  127. package/bin/process/project/Paths.js.map +1 -0
  128. package/bin/process/project/Storage.d.ts.map +1 -0
  129. package/bin/process/project/Storage.js +23 -0
  130. package/bin/process/project/Storage.js.map +1 -0
  131. package/bin/process/runtime/ServiceProcessBindings.d.ts.map +1 -0
  132. package/bin/process/runtime/ServiceProcessBindings.js +34 -0
  133. package/bin/process/runtime/ServiceProcessBindings.js.map +1 -0
  134. package/bin/process/runtime/ServiceRuntimeDependencies.d.ts.map +1 -0
  135. package/bin/{infra/service-runtime-dependencies.js → process/runtime/ServiceRuntimeDependencies.js} +1 -1
  136. package/bin/process/runtime/ServiceRuntimeDependencies.js.map +1 -0
  137. package/bin/process/runtime/types/ServiceChatRuntimeBridge.d.ts.map +1 -0
  138. package/bin/process/runtime/types/ServiceChatRuntimeBridge.js +2 -0
  139. package/bin/process/runtime/types/ServiceChatRuntimeBridge.js.map +1 -0
  140. package/bin/process/runtime/types/ServiceRuntimePorts.d.ts.map +1 -0
  141. package/bin/process/runtime/types/ServiceRuntimePorts.js +2 -0
  142. package/bin/process/runtime/types/ServiceRuntimePorts.js.map +1 -0
  143. package/bin/process/runtime/types/ServiceRuntimeTypes.d.ts.map +1 -0
  144. package/bin/process/runtime/types/ServiceRuntimeTypes.js +2 -0
  145. package/bin/process/runtime/types/ServiceRuntimeTypes.js.map +1 -0
  146. package/bin/process/server/AgentServer.d.ts.map +1 -0
  147. package/bin/{server/index.js → process/server/AgentServer.js} +24 -20
  148. package/bin/process/server/AgentServer.js.map +1 -0
  149. package/bin/process/server/ShipRuntimeContext.d.ts.map +1 -0
  150. package/bin/{server → process/server}/ShipRuntimeContext.js +33 -36
  151. package/bin/process/server/ShipRuntimeContext.js.map +1 -0
  152. package/bin/process/server/daemon/Api.d.ts.map +1 -0
  153. package/bin/process/server/daemon/Api.js +2 -0
  154. package/bin/process/server/daemon/Api.js.map +1 -0
  155. package/bin/process/server/daemon/CliArgs.d.ts.map +1 -0
  156. package/bin/{server/daemon/cli-args.js → process/server/daemon/CliArgs.js} +1 -1
  157. package/bin/process/server/daemon/CliArgs.js.map +1 -0
  158. package/bin/process/server/daemon/Client.d.ts.map +1 -0
  159. package/bin/{infra/daemon-client.js → process/server/daemon/Client.js} +18 -11
  160. package/bin/process/server/daemon/Client.js.map +1 -0
  161. package/bin/process/server/daemon/Manager.d.ts.map +1 -0
  162. package/bin/{server/daemon/manager.js → process/server/daemon/Manager.js} +3 -3
  163. package/bin/process/server/daemon/Manager.js.map +1 -0
  164. package/bin/process/server/daemon/types/Daemon.d.ts.map +1 -0
  165. package/bin/{server/daemon/types/daemon.js → process/server/daemon/types/Daemon.js} +1 -1
  166. package/bin/process/server/daemon/types/Daemon.js.map +1 -0
  167. package/bin/process/tui/Interactive.d.ts.map +1 -0
  168. package/bin/{server/interactive.js → process/tui/Interactive.js} +1 -1
  169. package/bin/process/tui/Interactive.js.map +1 -0
  170. package/bin/process/types/ShipConfig.d.ts.map +1 -0
  171. package/bin/process/types/ShipConfig.js +9 -0
  172. package/bin/process/types/ShipConfig.js.map +1 -0
  173. package/bin/process/utils/CliOutput.d.ts.map +1 -0
  174. package/bin/{infra/cli-output.js → process/utils/CliOutput.js} +4 -4
  175. package/bin/process/utils/CliOutput.js.map +1 -0
  176. package/bin/process/utils/Id.d.ts.map +1 -0
  177. package/bin/process/utils/Id.js +11 -0
  178. package/bin/process/utils/Id.js.map +1 -0
  179. package/bin/process/utils/Time.d.ts.map +1 -0
  180. package/bin/process/utils/Time.js +18 -0
  181. package/bin/process/utils/Time.js.map +1 -0
  182. package/bin/services/chat/Service.d.ts.map +1 -0
  183. package/bin/services/chat/Service.js +265 -0
  184. package/bin/services/chat/Service.js.map +1 -0
  185. package/bin/services/chat/ServiceEntry.d.ts.map +1 -0
  186. package/bin/services/chat/{service-entry.js → ServiceEntry.js} +5 -5
  187. package/bin/services/chat/ServiceEntry.js.map +1 -0
  188. package/bin/services/chat/adapters/BaseChatAdapter.d.ts.map +1 -0
  189. package/bin/services/chat/adapters/{base-chat-adapter.js → BaseChatAdapter.js} +21 -10
  190. package/bin/services/chat/adapters/BaseChatAdapter.js.map +1 -0
  191. package/bin/services/chat/adapters/PlatformAdapter.d.ts.map +1 -0
  192. package/bin/services/chat/adapters/{platform-adapter.js → PlatformAdapter.js} +3 -3
  193. package/bin/services/chat/adapters/PlatformAdapter.js.map +1 -0
  194. package/bin/services/chat/adapters/feishu/Feishu.d.ts.map +1 -0
  195. package/bin/services/chat/adapters/{feishu.js → feishu/Feishu.js} +17 -7
  196. package/bin/services/chat/adapters/feishu/Feishu.js.map +1 -0
  197. package/bin/services/chat/adapters/qq/QQ.d.ts.map +1 -0
  198. package/bin/services/chat/adapters/{qq.js → qq/QQ.js} +66 -18
  199. package/bin/services/chat/adapters/qq/QQ.js.map +1 -0
  200. package/bin/services/chat/adapters/qq/QQInboundDedupe.d.ts.map +1 -0
  201. package/bin/services/chat/adapters/{qq-inbound-dedupe.js → qq/QQInboundDedupe.js} +2 -2
  202. package/bin/services/chat/adapters/qq/QQInboundDedupe.js.map +1 -0
  203. package/bin/services/chat/adapters/telegram/Access.d.ts.map +1 -0
  204. package/bin/services/chat/adapters/telegram/{access.js → Access.js} +2 -2
  205. package/bin/services/chat/adapters/telegram/Access.js.map +1 -0
  206. package/bin/services/chat/adapters/telegram/ApiClient.d.ts.map +1 -0
  207. package/bin/services/chat/adapters/telegram/{api-client.js → ApiClient.js} +4 -6
  208. package/bin/services/chat/adapters/telegram/ApiClient.js.map +1 -0
  209. package/bin/services/chat/adapters/telegram/Bot.d.ts.map +1 -0
  210. package/bin/services/chat/adapters/telegram/{bot.js → Bot.js} +12 -12
  211. package/bin/services/chat/adapters/telegram/Bot.js.map +1 -0
  212. package/bin/services/chat/adapters/telegram/Handlers.d.ts.map +1 -0
  213. package/bin/services/chat/adapters/telegram/{handlers.js → Handlers.js} +1 -1
  214. package/bin/services/chat/adapters/telegram/Handlers.js.map +1 -0
  215. package/bin/services/chat/adapters/telegram/Shared.d.ts.map +1 -0
  216. package/bin/services/chat/adapters/telegram/{shared.js → Shared.js} +1 -1
  217. package/bin/services/chat/adapters/telegram/Shared.js.map +1 -0
  218. package/bin/services/chat/adapters/telegram/StateStore.d.ts.map +1 -0
  219. package/bin/services/chat/adapters/telegram/{state-store.js → StateStore.js} +4 -4
  220. package/bin/services/chat/adapters/telegram/StateStore.js.map +1 -0
  221. package/bin/services/chat/runtime/ChatSendRegistry.d.ts.map +1 -0
  222. package/bin/services/chat/runtime/{chat-send-registry.js → ChatSendRegistry.js} +1 -1
  223. package/bin/services/chat/runtime/ChatSendRegistry.js.map +1 -0
  224. package/bin/services/chat/runtime/ChatkeySend.d.ts.map +1 -0
  225. package/bin/services/chat/runtime/{chatkey-send.js → ChatkeySend.js} +16 -11
  226. package/bin/services/chat/runtime/ChatkeySend.js.map +1 -0
  227. package/bin/services/chat/runtime/EgressIdempotency.d.ts.map +1 -0
  228. package/bin/services/chat/runtime/{egress-idempotency.js → EgressIdempotency.js} +4 -3
  229. package/bin/services/chat/runtime/EgressIdempotency.js.map +1 -0
  230. package/bin/services/chat/runtime/UserVisibleText.d.ts.map +1 -0
  231. package/bin/services/chat/runtime/{user-visible-text.js → UserVisibleText.js} +6 -3
  232. package/bin/services/chat/runtime/UserVisibleText.js.map +1 -0
  233. package/bin/services/chat/types/ChatCommand.d.ts.map +1 -0
  234. package/bin/services/chat/types/{chat-command.js → ChatCommand.js} +1 -1
  235. package/bin/services/chat/types/ChatCommand.js.map +1 -0
  236. package/bin/services/chat/types/ChatDispatcher.d.ts.map +1 -0
  237. package/bin/services/chat/types/{chat-dispatcher.js → ChatDispatcher.js} +1 -1
  238. package/bin/services/chat/types/ChatDispatcher.js.map +1 -0
  239. package/bin/services/chat/types/QqInboundDedupe.d.ts.map +1 -0
  240. package/bin/services/chat/types/QqInboundDedupe.js +2 -0
  241. package/bin/services/chat/types/QqInboundDedupe.js.map +1 -0
  242. package/bin/services/memory/runtime/Extractor.d.ts.map +1 -0
  243. package/bin/services/memory/runtime/{extractor.js → Extractor.js} +9 -11
  244. package/bin/services/memory/runtime/Extractor.js.map +1 -0
  245. package/bin/services/memory/runtime/Manager.d.ts.map +1 -0
  246. package/bin/services/memory/runtime/{manager.js → Manager.js} +2 -2
  247. package/bin/services/memory/runtime/Manager.js.map +1 -0
  248. package/bin/services/memory/runtime/Service.d.ts.map +1 -0
  249. package/bin/services/memory/runtime/{service.js → Service.js} +5 -5
  250. package/bin/services/memory/runtime/Service.js.map +1 -0
  251. package/bin/services/memory/runtime/SystemProvider.d.ts.map +1 -0
  252. package/bin/services/memory/runtime/{system-provider.js → SystemProvider.js} +2 -2
  253. package/bin/services/memory/runtime/SystemProvider.js.map +1 -0
  254. package/bin/services/memory/types/Memory.d.ts.map +1 -0
  255. package/bin/services/memory/types/Memory.js +2 -0
  256. package/bin/services/memory/types/Memory.js.map +1 -0
  257. package/bin/services/skills/Command.d.ts.map +1 -0
  258. package/bin/services/skills/{command.js → Command.js} +4 -3
  259. package/bin/services/skills/Command.js.map +1 -0
  260. package/bin/services/skills/Service.d.ts.map +1 -0
  261. package/bin/services/skills/{service.js → Service.js} +29 -28
  262. package/bin/services/skills/Service.js.map +1 -0
  263. package/bin/services/skills/ServiceEntry.d.ts.map +1 -0
  264. package/bin/services/skills/{service-entry.js → ServiceEntry.js} +53 -45
  265. package/bin/services/skills/ServiceEntry.js.map +1 -0
  266. package/bin/services/skills/runtime/ActiveSkillsPrompt.d.ts.map +1 -0
  267. package/bin/services/skills/runtime/{active-skills-prompt.js → ActiveSkillsPrompt.js} +1 -1
  268. package/bin/services/skills/runtime/ActiveSkillsPrompt.js.map +1 -0
  269. package/bin/services/skills/runtime/Discovery.d.ts.map +1 -0
  270. package/bin/services/skills/runtime/{discovery.js → Discovery.js} +12 -6
  271. package/bin/services/skills/runtime/Discovery.js.map +1 -0
  272. package/bin/services/skills/runtime/Frontmatter.d.ts.map +1 -0
  273. package/bin/services/skills/runtime/{frontmatter.js → Frontmatter.js} +1 -1
  274. package/bin/services/skills/runtime/Frontmatter.js.map +1 -0
  275. package/bin/services/skills/runtime/Paths.d.ts.map +1 -0
  276. package/bin/services/skills/runtime/{paths.js → Paths.js} +4 -4
  277. package/bin/services/skills/runtime/Paths.js.map +1 -0
  278. package/bin/services/skills/runtime/Prompt.d.ts.map +1 -0
  279. package/bin/services/skills/runtime/{prompt.js → Prompt.js} +3 -3
  280. package/bin/services/skills/runtime/Prompt.js.map +1 -0
  281. package/bin/services/skills/runtime/Store.d.ts.map +1 -0
  282. package/bin/services/skills/runtime/{store.js → Store.js} +1 -1
  283. package/bin/services/skills/runtime/Store.js.map +1 -0
  284. package/bin/services/skills/runtime/SystemProvider.d.ts.map +1 -0
  285. package/bin/services/skills/runtime/{system-provider.js → SystemProvider.js} +6 -6
  286. package/bin/services/skills/runtime/SystemProvider.js.map +1 -0
  287. package/bin/services/skills/runtime/Types.d.ts.map +1 -0
  288. package/bin/services/skills/runtime/Types.js +2 -0
  289. package/bin/services/skills/runtime/Types.js.map +1 -0
  290. package/bin/services/skills/runtime/Utils.d.ts.map +1 -0
  291. package/bin/services/skills/runtime/{utils.js → Utils.js} +1 -1
  292. package/bin/services/skills/runtime/Utils.js.map +1 -0
  293. package/bin/services/skills/types/ClaudeSkill.d.ts.map +1 -0
  294. package/bin/services/skills/types/{claude-skill.js → ClaudeSkill.js} +1 -1
  295. package/bin/services/skills/types/ClaudeSkill.js.map +1 -0
  296. package/bin/services/skills/types/LoadedSkill.d.ts.map +1 -0
  297. package/bin/services/skills/types/{loaded-skill.js → LoadedSkill.js} +1 -1
  298. package/bin/services/skills/types/LoadedSkill.js.map +1 -0
  299. package/bin/services/skills/types/SkillCommand.d.ts.map +1 -0
  300. package/bin/services/skills/types/{skill-command.js → SkillCommand.js} +1 -1
  301. package/bin/services/skills/types/SkillCommand.js.map +1 -0
  302. package/bin/services/skills/types/SkillRoot.d.ts.map +1 -0
  303. package/bin/services/skills/types/{skill-root.js → SkillRoot.js} +1 -1
  304. package/bin/services/skills/types/SkillRoot.js.map +1 -0
  305. package/bin/services/task/Scheduler.d.ts.map +1 -0
  306. package/bin/services/task/{scheduler.js → Scheduler.js} +3 -3
  307. package/bin/services/task/Scheduler.js.map +1 -0
  308. package/bin/services/task/Service.d.ts.map +1 -0
  309. package/bin/services/task/{service.js → Service.js} +14 -14
  310. package/bin/services/task/Service.js.map +1 -0
  311. package/bin/services/task/ServiceEntry.d.ts.map +1 -0
  312. package/bin/services/task/{service-entry.js → ServiceEntry.js} +154 -52
  313. package/bin/services/task/ServiceEntry.js.map +1 -0
  314. package/bin/services/task/runtime/CronRuntime.d.ts.map +1 -0
  315. package/bin/services/task/runtime/CronRuntime.js +59 -0
  316. package/bin/services/task/runtime/CronRuntime.js.map +1 -0
  317. package/bin/services/task/runtime/CronTrigger.d.ts.map +1 -0
  318. package/bin/{core/services/cron-trigger.js → services/task/runtime/CronTrigger.js} +7 -12
  319. package/bin/services/task/runtime/CronTrigger.js.map +1 -0
  320. package/bin/services/task/runtime/Frontmatter.d.ts.map +1 -0
  321. package/bin/services/task/runtime/{frontmatter.js → Frontmatter.js} +1 -1
  322. package/bin/services/task/runtime/Frontmatter.js.map +1 -0
  323. package/bin/services/task/runtime/Model.d.ts.map +1 -0
  324. package/bin/services/task/runtime/{model.js → Model.js} +13 -7
  325. package/bin/services/task/runtime/Model.js.map +1 -0
  326. package/bin/services/task/runtime/Paths.d.ts.map +1 -0
  327. package/bin/services/task/runtime/{paths.js → Paths.js} +2 -2
  328. package/bin/services/task/runtime/Paths.js.map +1 -0
  329. package/bin/services/task/runtime/Runner.d.ts.map +1 -0
  330. package/bin/services/task/runtime/{runner.js → Runner.js} +20 -16
  331. package/bin/services/task/runtime/Runner.js.map +1 -0
  332. package/bin/services/task/runtime/Store.d.ts.map +1 -0
  333. package/bin/services/task/runtime/{store.js → Store.js} +4 -4
  334. package/bin/services/task/runtime/Store.js.map +1 -0
  335. package/bin/services/task/types/Task.d.ts.map +1 -0
  336. package/bin/services/task/types/{task.js → Task.js} +1 -1
  337. package/bin/services/task/types/Task.js.map +1 -0
  338. package/bin/services/task/types/TaskCommand.d.ts.map +1 -0
  339. package/bin/services/task/types/{task-command.js → TaskCommand.js} +1 -1
  340. package/bin/services/task/types/TaskCommand.js.map +1 -0
  341. package/bin/types/Json.d.ts.map +1 -0
  342. package/bin/types/Json.js +9 -0
  343. package/bin/types/Json.js.map +1 -0
  344. package/bin/utils/logger/Context.d.ts.map +1 -0
  345. package/bin/{logger/context.js → utils/logger/Context.js} +1 -1
  346. package/bin/utils/logger/Context.js.map +1 -0
  347. package/bin/utils/logger/Fetch.d.ts.map +1 -0
  348. package/bin/{logger/fetch.js → utils/logger/Fetch.js} +5 -5
  349. package/bin/utils/logger/Fetch.js.map +1 -0
  350. package/bin/utils/logger/Format.d.ts.map +1 -0
  351. package/bin/{logger/format.js → utils/logger/Format.js} +70 -68
  352. package/bin/utils/logger/Format.js.map +1 -0
  353. package/bin/utils/logger/Logger.d.ts.map +1 -0
  354. package/bin/{logger/logger.js → utils/logger/Logger.js} +26 -3
  355. package/bin/utils/logger/Logger.js.map +1 -0
  356. package/package.json +4 -5
  357. package/scripts/copy-prompt-assets.mjs +43 -0
  358. package/source/core/prompts/default-ship-prompts.txt +89 -0
  359. package/bin/cli.d.ts.map +0 -1
  360. package/bin/cli.js.map +0 -1
  361. package/bin/commands/alias.d.ts.map +0 -1
  362. package/bin/commands/alias.js.map +0 -1
  363. package/bin/commands/init.d.ts.map +0 -1
  364. package/bin/commands/init.js.map +0 -1
  365. package/bin/commands/restart.d.ts.map +0 -1
  366. package/bin/commands/restart.js.map +0 -1
  367. package/bin/commands/run.d.ts.map +0 -1
  368. package/bin/commands/run.js.map +0 -1
  369. package/bin/commands/services.d.ts.map +0 -1
  370. package/bin/commands/services.js.map +0 -1
  371. package/bin/commands/start.d.ts.map +0 -1
  372. package/bin/commands/start.js.map +0 -1
  373. package/bin/commands/stop.d.ts.map +0 -1
  374. package/bin/commands/stop.js.map +0 -1
  375. package/bin/commands/types/init.d.ts.map +0 -1
  376. package/bin/commands/types/init.js.map +0 -1
  377. package/bin/commands/types/services.d.ts.map +0 -1
  378. package/bin/commands/types/services.js.map +0 -1
  379. package/bin/commands/types/start.d.ts.map +0 -1
  380. package/bin/commands/types/start.js.map +0 -1
  381. package/bin/core/context/context-store.d.ts.map +0 -1
  382. package/bin/core/context/context-store.js.map +0 -1
  383. package/bin/core/context/index.d.ts.map +0 -1
  384. package/bin/core/context/index.js +0 -11
  385. package/bin/core/context/index.js.map +0 -1
  386. package/bin/core/context/manager.d.ts.map +0 -1
  387. package/bin/core/context/manager.js.map +0 -1
  388. package/bin/core/context/request-context.d.ts.map +0 -1
  389. package/bin/core/context/request-context.js.map +0 -1
  390. package/bin/core/context/scheduler.d.ts.map +0 -1
  391. package/bin/core/context/scheduler.js.map +0 -1
  392. package/bin/core/index.d.ts.map +0 -1
  393. package/bin/core/index.js +0 -9
  394. package/bin/core/index.js.map +0 -1
  395. package/bin/core/llm/create-model.d.ts.map +0 -1
  396. package/bin/core/llm/create-model.js.map +0 -1
  397. package/bin/core/prompts/index.d.ts.map +0 -1
  398. package/bin/core/prompts/index.js +0 -9
  399. package/bin/core/prompts/index.js.map +0 -1
  400. package/bin/core/prompts/system-provider.d.ts.map +0 -1
  401. package/bin/core/prompts/system-provider.js.map +0 -1
  402. package/bin/core/prompts/system.d.ts.map +0 -1
  403. package/bin/core/prompts/system.js +0 -171
  404. package/bin/core/prompts/system.js.map +0 -1
  405. package/bin/core/runtime/agent-runner.d.ts.map +0 -1
  406. package/bin/core/runtime/agent-runner.js.map +0 -1
  407. package/bin/core/runtime/agent.d.ts.map +0 -1
  408. package/bin/core/runtime/agent.js +0 -12
  409. package/bin/core/runtime/agent.js.map +0 -1
  410. package/bin/core/runtime/index.d.ts.map +0 -1
  411. package/bin/core/runtime/index.js +0 -5
  412. package/bin/core/runtime/index.js.map +0 -1
  413. package/bin/core/runtime/ui-message.d.ts.map +0 -1
  414. package/bin/core/runtime/ui-message.js +0 -60
  415. package/bin/core/runtime/ui-message.js.map +0 -1
  416. package/bin/core/services/cli-registry.d.ts.map +0 -1
  417. package/bin/core/services/cli-registry.js.map +0 -1
  418. package/bin/core/services/cron-trigger.d.ts.map +0 -1
  419. package/bin/core/services/cron-trigger.js.map +0 -1
  420. package/bin/core/services/registry.d.ts.map +0 -1
  421. package/bin/core/services/registry.js.map +0 -1
  422. package/bin/core/services/server-registry.d.ts.map +0 -1
  423. package/bin/core/services/server-registry.js.map +0 -1
  424. package/bin/core/services/types/service-registry.d.ts.map +0 -1
  425. package/bin/core/services/types/service-registry.js.map +0 -1
  426. package/bin/core/tools/agent-tools.d.ts.map +0 -1
  427. package/bin/core/tools/agent-tools.js +0 -41
  428. package/bin/core/tools/agent-tools.js.map +0 -1
  429. package/bin/core/tools/exec-shell.d.ts.map +0 -1
  430. package/bin/core/tools/exec-shell.js +0 -670
  431. package/bin/core/tools/exec-shell.js.map +0 -1
  432. package/bin/core/tools/mcp.d.ts.map +0 -1
  433. package/bin/core/tools/mcp.js +0 -57
  434. package/bin/core/tools/mcp.js.map +0 -1
  435. package/bin/core/types/agent.d.ts.map +0 -1
  436. package/bin/core/types/agent.js.map +0 -1
  437. package/bin/core/types/context-agent.d.ts.map +0 -1
  438. package/bin/core/types/context-agent.js.map +0 -1
  439. package/bin/core/types/context-message.d.ts.map +0 -1
  440. package/bin/core/types/context-message.js +0 -2
  441. package/bin/core/types/context-message.js.map +0 -1
  442. package/bin/core/types/context-messages-meta.d.ts.map +0 -1
  443. package/bin/core/types/context-messages-meta.js.map +0 -1
  444. package/bin/core/types/context-scheduler.d.ts.map +0 -1
  445. package/bin/core/types/context-scheduler.js.map +0 -1
  446. package/bin/core/types/system-prompt-provider.d.ts.map +0 -1
  447. package/bin/core/types/system-prompt-provider.js +0 -2
  448. package/bin/core/types/system-prompt-provider.js.map +0 -1
  449. package/bin/infra/chat-key.d.ts.map +0 -1
  450. package/bin/infra/chat-key.js +0 -52
  451. package/bin/infra/chat-key.js.map +0 -1
  452. package/bin/infra/cli-output.d.ts.map +0 -1
  453. package/bin/infra/cli-output.js.map +0 -1
  454. package/bin/infra/context-message-types.d.ts.map +0 -1
  455. package/bin/infra/context-message-types.js +0 -12
  456. package/bin/infra/context-message-types.js.map +0 -1
  457. package/bin/infra/daemon-api.d.ts.map +0 -1
  458. package/bin/infra/daemon-api.js +0 -9
  459. package/bin/infra/daemon-api.js.map +0 -1
  460. package/bin/infra/daemon-client.d.ts.map +0 -1
  461. package/bin/infra/daemon-client.js.map +0 -1
  462. package/bin/infra/service-chat-runtime-bridge.d.ts.map +0 -1
  463. package/bin/infra/service-chat-runtime-bridge.js +0 -10
  464. package/bin/infra/service-chat-runtime-bridge.js.map +0 -1
  465. package/bin/infra/service-registry-types.d.ts.map +0 -1
  466. package/bin/infra/service-registry-types.js +0 -12
  467. package/bin/infra/service-registry-types.js.map +0 -1
  468. package/bin/infra/service-runtime-dependencies.d.ts.map +0 -1
  469. package/bin/infra/service-runtime-dependencies.js.map +0 -1
  470. package/bin/infra/service-runtime-ports.d.ts.map +0 -1
  471. package/bin/infra/service-runtime-ports.js +0 -2
  472. package/bin/infra/service-runtime-ports.js.map +0 -1
  473. package/bin/infra/service-runtime-types.d.ts.map +0 -1
  474. package/bin/infra/service-runtime-types.js +0 -2
  475. package/bin/infra/service-runtime-types.js.map +0 -1
  476. package/bin/infra/system-prompt-provider-types.d.ts.map +0 -1
  477. package/bin/infra/system-prompt-provider-types.js +0 -12
  478. package/bin/infra/system-prompt-provider-types.js.map +0 -1
  479. package/bin/logger/context.d.ts.map +0 -1
  480. package/bin/logger/context.js.map +0 -1
  481. package/bin/logger/fetch.d.ts.map +0 -1
  482. package/bin/logger/fetch.js.map +0 -1
  483. package/bin/logger/format.d.ts.map +0 -1
  484. package/bin/logger/format.js.map +0 -1
  485. package/bin/logger/index.d.ts.map +0 -1
  486. package/bin/logger/index.js +0 -28
  487. package/bin/logger/index.js.map +0 -1
  488. package/bin/logger/logger.d.ts.map +0 -1
  489. package/bin/logger/logger.js.map +0 -1
  490. package/bin/schemas/mcp.schema.d.ts.map +0 -1
  491. package/bin/schemas/mcp.schema.js +0 -64
  492. package/bin/schemas/mcp.schema.js.map +0 -1
  493. package/bin/schemas/ship.schema.d.ts.map +0 -1
  494. package/bin/schemas/ship.schema.js.map +0 -1
  495. package/bin/server/ShipRuntimeContext.d.ts.map +0 -1
  496. package/bin/server/ShipRuntimeContext.js.map +0 -1
  497. package/bin/server/daemon/cli-args.d.ts.map +0 -1
  498. package/bin/server/daemon/cli-args.js.map +0 -1
  499. package/bin/server/daemon/manager.d.ts.map +0 -1
  500. package/bin/server/daemon/manager.js.map +0 -1
  501. package/bin/server/daemon/types/daemon.d.ts.map +0 -1
  502. package/bin/server/daemon/types/daemon.js.map +0 -1
  503. package/bin/server/index.d.ts.map +0 -1
  504. package/bin/server/index.js.map +0 -1
  505. package/bin/server/interactive.d.ts.map +0 -1
  506. package/bin/server/interactive.js.map +0 -1
  507. package/bin/server/system-prompt-providers.d.ts.map +0 -1
  508. package/bin/server/system-prompt-providers.js +0 -22
  509. package/bin/server/system-prompt-providers.js.map +0 -1
  510. package/bin/services/chat/adapters/base-chat-adapter.d.ts.map +0 -1
  511. package/bin/services/chat/adapters/base-chat-adapter.js.map +0 -1
  512. package/bin/services/chat/adapters/feishu.d.ts.map +0 -1
  513. package/bin/services/chat/adapters/feishu.js.map +0 -1
  514. package/bin/services/chat/adapters/platform-adapter.d.ts.map +0 -1
  515. package/bin/services/chat/adapters/platform-adapter.js.map +0 -1
  516. package/bin/services/chat/adapters/qq-inbound-dedupe.d.ts.map +0 -1
  517. package/bin/services/chat/adapters/qq-inbound-dedupe.js.map +0 -1
  518. package/bin/services/chat/adapters/qq.d.ts.map +0 -1
  519. package/bin/services/chat/adapters/qq.js.map +0 -1
  520. package/bin/services/chat/adapters/telegram/access.d.ts.map +0 -1
  521. package/bin/services/chat/adapters/telegram/access.js.map +0 -1
  522. package/bin/services/chat/adapters/telegram/api-client.d.ts.map +0 -1
  523. package/bin/services/chat/adapters/telegram/api-client.js.map +0 -1
  524. package/bin/services/chat/adapters/telegram/bot.d.ts.map +0 -1
  525. package/bin/services/chat/adapters/telegram/bot.js.map +0 -1
  526. package/bin/services/chat/adapters/telegram/handlers.d.ts.map +0 -1
  527. package/bin/services/chat/adapters/telegram/handlers.js.map +0 -1
  528. package/bin/services/chat/adapters/telegram/shared.d.ts.map +0 -1
  529. package/bin/services/chat/adapters/telegram/shared.js.map +0 -1
  530. package/bin/services/chat/adapters/telegram/state-store.d.ts.map +0 -1
  531. package/bin/services/chat/adapters/telegram/state-store.js.map +0 -1
  532. package/bin/services/chat/adapters/telegram.d.ts.map +0 -1
  533. package/bin/services/chat/adapters/telegram.js +0 -12
  534. package/bin/services/chat/adapters/telegram.js.map +0 -1
  535. package/bin/services/chat/runtime/chat-send-registry.d.ts.map +0 -1
  536. package/bin/services/chat/runtime/chat-send-registry.js.map +0 -1
  537. package/bin/services/chat/runtime/chatkey-send.d.ts.map +0 -1
  538. package/bin/services/chat/runtime/chatkey-send.js.map +0 -1
  539. package/bin/services/chat/runtime/egress-idempotency.d.ts.map +0 -1
  540. package/bin/services/chat/runtime/egress-idempotency.js.map +0 -1
  541. package/bin/services/chat/runtime/user-visible-text.d.ts.map +0 -1
  542. package/bin/services/chat/runtime/user-visible-text.js.map +0 -1
  543. package/bin/services/chat/service-entry.d.ts.map +0 -1
  544. package/bin/services/chat/service-entry.js.map +0 -1
  545. package/bin/services/chat/service.d.ts.map +0 -1
  546. package/bin/services/chat/service.js +0 -176
  547. package/bin/services/chat/service.js.map +0 -1
  548. package/bin/services/chat/types/chat-command.d.ts.map +0 -1
  549. package/bin/services/chat/types/chat-command.js.map +0 -1
  550. package/bin/services/chat/types/chat-dispatcher.d.ts.map +0 -1
  551. package/bin/services/chat/types/chat-dispatcher.js.map +0 -1
  552. package/bin/services/chat/types/qq-inbound-dedupe.d.ts.map +0 -1
  553. package/bin/services/chat/types/qq-inbound-dedupe.js +0 -2
  554. package/bin/services/chat/types/qq-inbound-dedupe.js.map +0 -1
  555. package/bin/services/mcp/runtime/env.d.ts.map +0 -1
  556. package/bin/services/mcp/runtime/env.js +0 -15
  557. package/bin/services/mcp/runtime/env.js.map +0 -1
  558. package/bin/services/mcp/runtime/http-transport.d.ts.map +0 -1
  559. package/bin/services/mcp/runtime/http-transport.js +0 -29
  560. package/bin/services/mcp/runtime/http-transport.js.map +0 -1
  561. package/bin/services/mcp/runtime/index.d.ts.map +0 -1
  562. package/bin/services/mcp/runtime/index.js +0 -8
  563. package/bin/services/mcp/runtime/index.js.map +0 -1
  564. package/bin/services/mcp/runtime/manager.d.ts.map +0 -1
  565. package/bin/services/mcp/runtime/manager.js +0 -242
  566. package/bin/services/mcp/runtime/manager.js.map +0 -1
  567. package/bin/services/mcp/runtime/types.d.ts.map +0 -1
  568. package/bin/services/mcp/runtime/types.js +0 -2
  569. package/bin/services/mcp/runtime/types.js.map +0 -1
  570. package/bin/services/memory/runtime/extractor.d.ts.map +0 -1
  571. package/bin/services/memory/runtime/extractor.js.map +0 -1
  572. package/bin/services/memory/runtime/manager.d.ts.map +0 -1
  573. package/bin/services/memory/runtime/manager.js.map +0 -1
  574. package/bin/services/memory/runtime/service.d.ts.map +0 -1
  575. package/bin/services/memory/runtime/service.js.map +0 -1
  576. package/bin/services/memory/runtime/system-provider.d.ts.map +0 -1
  577. package/bin/services/memory/runtime/system-provider.js.map +0 -1
  578. package/bin/services/memory/types/memory.d.ts.map +0 -1
  579. package/bin/services/memory/types/memory.js +0 -9
  580. package/bin/services/memory/types/memory.js.map +0 -1
  581. package/bin/services/skills/command.d.ts.map +0 -1
  582. package/bin/services/skills/command.js.map +0 -1
  583. package/bin/services/skills/runtime/active-skills-prompt.d.ts.map +0 -1
  584. package/bin/services/skills/runtime/active-skills-prompt.js.map +0 -1
  585. package/bin/services/skills/runtime/discovery.d.ts.map +0 -1
  586. package/bin/services/skills/runtime/discovery.js.map +0 -1
  587. package/bin/services/skills/runtime/frontmatter.d.ts.map +0 -1
  588. package/bin/services/skills/runtime/frontmatter.js.map +0 -1
  589. package/bin/services/skills/runtime/index.d.ts.map +0 -1
  590. package/bin/services/skills/runtime/index.js +0 -5
  591. package/bin/services/skills/runtime/index.js.map +0 -1
  592. package/bin/services/skills/runtime/paths.d.ts.map +0 -1
  593. package/bin/services/skills/runtime/paths.js.map +0 -1
  594. package/bin/services/skills/runtime/prompt.d.ts.map +0 -1
  595. package/bin/services/skills/runtime/prompt.js.map +0 -1
  596. package/bin/services/skills/runtime/store.d.ts.map +0 -1
  597. package/bin/services/skills/runtime/store.js.map +0 -1
  598. package/bin/services/skills/runtime/system-provider.d.ts.map +0 -1
  599. package/bin/services/skills/runtime/system-provider.js.map +0 -1
  600. package/bin/services/skills/runtime/types.d.ts.map +0 -1
  601. package/bin/services/skills/runtime/types.js +0 -2
  602. package/bin/services/skills/runtime/types.js.map +0 -1
  603. package/bin/services/skills/runtime/utils.d.ts.map +0 -1
  604. package/bin/services/skills/runtime/utils.js.map +0 -1
  605. package/bin/services/skills/service-entry.d.ts.map +0 -1
  606. package/bin/services/skills/service-entry.js.map +0 -1
  607. package/bin/services/skills/service.d.ts.map +0 -1
  608. package/bin/services/skills/service.js.map +0 -1
  609. package/bin/services/skills/types/claude-skill.d.ts.map +0 -1
  610. package/bin/services/skills/types/claude-skill.js.map +0 -1
  611. package/bin/services/skills/types/loaded-skill.d.ts.map +0 -1
  612. package/bin/services/skills/types/loaded-skill.js.map +0 -1
  613. package/bin/services/skills/types/skill-command.d.ts.map +0 -1
  614. package/bin/services/skills/types/skill-command.js.map +0 -1
  615. package/bin/services/skills/types/skill-root.d.ts.map +0 -1
  616. package/bin/services/skills/types/skill-root.js.map +0 -1
  617. package/bin/services/task/runtime/frontmatter.d.ts.map +0 -1
  618. package/bin/services/task/runtime/frontmatter.js.map +0 -1
  619. package/bin/services/task/runtime/model.d.ts.map +0 -1
  620. package/bin/services/task/runtime/model.js.map +0 -1
  621. package/bin/services/task/runtime/paths.d.ts.map +0 -1
  622. package/bin/services/task/runtime/paths.js.map +0 -1
  623. package/bin/services/task/runtime/runner.d.ts.map +0 -1
  624. package/bin/services/task/runtime/runner.js.map +0 -1
  625. package/bin/services/task/runtime/store.d.ts.map +0 -1
  626. package/bin/services/task/runtime/store.js.map +0 -1
  627. package/bin/services/task/scheduler.d.ts.map +0 -1
  628. package/bin/services/task/scheduler.js.map +0 -1
  629. package/bin/services/task/service-entry.d.ts.map +0 -1
  630. package/bin/services/task/service-entry.js.map +0 -1
  631. package/bin/services/task/service.d.ts.map +0 -1
  632. package/bin/services/task/service.js.map +0 -1
  633. package/bin/services/task/types/task-command.d.ts.map +0 -1
  634. package/bin/services/task/types/task-command.js.map +0 -1
  635. package/bin/services/task/types/task.d.ts.map +0 -1
  636. package/bin/services/task/types/task.js.map +0 -1
  637. package/bin/utils.d.ts.map +0 -1
  638. package/bin/utils.js +0 -255
  639. package/bin/utils.js.map +0 -1
  640. package/src/services/skills/built-in/task-system/SKILL.md +0 -89
  641. package/src/services/skills/built-in/vercel-labs-skills/SKILL.md +0 -39
  642. /package/{bin → source}/services/skills/built-in/task-system/SKILL.md +0 -0
  643. /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/cli.js`),而目标文件缺少可执行位(`+x`)。
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/cli.js
23
+ chmod +x node_modules/shipmyagent/bin/process/commands/index.js
24
24
 
25
25
  # 或者直接用 node 执行(不依赖可执行位)
26
- node node_modules/shipmyagent/bin/cli.js .
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/index.js";
11
- import { generateId } from "../../utils.js";
12
- import { buildContextSystemPrompt, transformPromptsIntoSystemMessages, } from "../prompts/system.js";
13
- import { createModel } from "../llm/create-model.js";
14
- import { contextRequestContext } from "../context/request-context.js";
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, getShipRuntimeContextBase, } from "../../server/ShipRuntimeContext.js";
18
- import { collectSystemPromptProviderResult } from "../prompts/index.js";
19
- import { extractTextFromUiMessage, extractToolCallsFromUiMessage, } from "./ui-message.js";
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 getShipRuntimeContextBase().logger;
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
- this.tools = createAgentTools();
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
- // phase 1(中文):收集 provider 结果(附加系统消息 + activeTools)。
149
- const providerResult = await collectSystemPromptProviderResult({
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
- const staticSystemMessages = transformPromptsIntoSystemMessages([
156
- ...runtime.systems,
157
- ]);
158
- const baseSystemMessages = [
163
+ let currentBaseSystemMessages = [
159
164
  ...runtimeSystemMessages,
160
165
  ...staticSystemMessages,
161
- ...providerResult.messages,
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: baseSystemMessages,
173
+ system: currentBaseSystemMessages,
169
174
  keepLastMessages: compactPolicy.keepLastMessages,
170
175
  maxInputTokensApprox: compactPolicy.maxInputTokensApprox,
171
176
  archiveOnCompact: compactPolicy.archiveOnCompact,
172
177
  });
173
- compacted = Boolean(compactResult?.compacted);
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
- const currentBaseSystemMessages = [
189
- ...runtimeSystemMessages,
190
- ...staticSystemMessages,
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 exec = tool?.execute;
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
- ...tool,
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 = this.buildStepOverrides({
306
- providerResult: currentProviderResult,
307
- baseSystemMessages: currentBaseSystemMessages,
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?.channel || "api";
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: (e) => {
351
- finalAssistantUiMessage = e?.responseMessage ?? null;
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?.text) ?? "").trim();
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?.channel)
484
- runtimeExtraContextLines.push(`- Channel: ${contextCtx.channel}`);
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 baseKeepLastMessages = typeof runtime.config?.context?.messages?.keepLastMessages ===
531
- "number"
532
- ? Math.max(6, Math.min(5000, Math.floor(runtime.config.context.messages.keepLastMessages)))
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 runtime.config?.context?.messages?.maxInputTokensApprox ===
535
- "number"
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 = runtime.config?.context?.messages?.archiveOnCompact === undefined
525
+ const archiveOnCompact = contextMessagesConfig?.archiveOnCompact === undefined
543
526
  ? true
544
- : Boolean(runtime.config.context.messages.archiveOnCompact);
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?.channel || "api";
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=agent-runner.js.map
581
+ //# sourceMappingURL=AgentRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../../../source/core/context/AgentRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EACV,WAAW,GAKZ,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACL,wBAAwB,EACxB,kCAAkC,GACnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAMxC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AAEjF,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,SAAS,oBAAoB,CAC3B,IAA+C;IAE/C,OAAO,IAAI,IAAI,KAAK,CAAC;AACvB,CAAC;AAED,MAAM,OAAO,kBAAkB;IAC7B,QAAQ;IACA,WAAW,GAAY,KAAK,CAAC;IACrC,KAAK;IACG,KAAK,GAAkB,MAAM,CAAC,SAAS,CAAC,CAAC;IAEzC,KAAK,GAAyB,EAAE,CAAC;IACzC;;;;;;OAMG;IACK,cAAc,GAAkB,IAAI,CAAC;IAE7C,gBAAe,CAAC;IAEhB;;OAEG;IACH,SAAS;QACP,OAAO,qBAAqB,EAAE,CAAC,MAAM,CAAC;IACxC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,mEAAmE;YACnE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;YACxC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;YAE/B,IAAI,CAAC,KAAK,GAAG,MAAM,WAAW,CAAC;gBAC7B,MAAM,EAAE,qBAAqB,EAAE,CAAC,MAAM;aACvC,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,qCAAqC,EAAE;gBAC/D,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG,CAAC,KAAoB;QAC5B,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhC,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,SAAS,EAAE,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,uBAAuB,EAAE;YAChD,SAAS;YACT,SAAS;YACT,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACzC,QAAQ,EAAE,qBAAqB,EAAE,CAAC,QAAQ;SAC3C,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE;gBAC5D,SAAS;gBACT,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EACJ,oHAAoH;YACtH,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,SAAiB;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,KAAK,GAAG,EAAE,CAAC;YACvD,gDAAgD;YAChD,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,CAAC,cAAc,mBAAmB,GAAG,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC1B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,oBAAoB,CAChC,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,IAKC;QAED,MAAM,SAAS,GAA6B,EAAE,CAAC;QAC/C,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,IAAI,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG,IAAI,EAAE,iBAAiB,IAAI,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,IAAI,EAAE,eAAe,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAE9B,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;YACxC,8DAA8D;YAC9D,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAEvE,MAAM,qBAAqB,GAAG,IAAI,CAAC,0BAA0B,CAAC;gBAC5D,WAAW,EAAE,OAAO,CAAC,QAAQ;gBAC7B,SAAS;gBACT,SAAS;aACV,CAAC,CAAC;YAEH,4CAA4C;YAC5C,MAAM,IAAI,CAAC,yBAAyB,CAAC;gBACnC,YAAY;gBACZ,QAAQ;gBACR,SAAS;gBACT,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,oBAAoB,GAAG,kCAAkC,CAAC;gBAC9D,GAAG,OAAO,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,IAAI,qBAAqB,GAAG,MAAM,iCAAiC,CAAC;gBAClE,WAAW,EAAE,OAAO,CAAC,QAAQ;gBAC7B,SAAS;gBACT,SAAS;gBACT,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aACtC,CAAC,CAAC;YACH,IAAI,yBAAyB,GAAyB;gBACpD,GAAG,qBAAqB;gBACxB,GAAG,oBAAoB;gBACvB,GAAG,qBAAqB,CAAC,QAAQ;aAClC,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAC/D,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC;oBACvD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,MAAM,EAAE,yBAAyB;oBACjC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;oBAChD,oBAAoB,EAAE,aAAa,CAAC,oBAAoB;oBACxD,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;iBACjD,CAAC,CAAC;gBACH,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;YACtE,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,iEAAiE;gBACjE,qBAAqB,GAAG,MAAM,iCAAiC,CAAC;oBAC9D,WAAW,EAAE,OAAO,CAAC,QAAQ;oBAC7B,SAAS;oBACT,SAAS;oBACT,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACtC,CAAC,CAAC;gBACH,yBAAyB,GAAG;oBAC1B,GAAG,qBAAqB;oBACxB,GAAG,oBAAoB;oBACvB,GAAG,qBAAqB,CAAC,QAAQ;iBAClC,CAAC;YACJ,CAAC;YAED,IAAI,iBAAiB,GACnB,MAAM,YAAY,CAAC,eAAe,CAAC;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxE,iBAAiB,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE;gBAC5C,SAAS;gBACT,aAAa,EAAE,gBAAgB;gBAC/B,aAAa,EAAE,iBAAiB,CAAC,MAAM;gBACvC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;gBAChD,oBAAoB,EAAE,aAAa,CAAC,oBAAoB;aACzD,CAAC,CAAC;YAEH,UAAU;YACV,gFAAgF;YAChF,wDAAwD;YACxD,IAAI,wBAAwB,GAAG,iBAAiB,CAAC,MAAM,CAAC;YACxD,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,MAAM,wBAAwB,GAAG,CAC/B,QAA6C,EACD,EAAE;gBAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBACnD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAmB,EAAE,CAAC;gBACpC,IAAI,cAAkC,CAAC;gBACvC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC1C,IAAI,CAAC,IAAI;wBAAE,SAAS;oBACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/C,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,iBAAiB,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,QAAQ,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YACpD,CAAC,CAAC;YAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,OAAe,EAMd,EAAE;gBACH,IAAI,OAAO,eAAe,KAAK,UAAU;oBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACtE,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,MAAM,eAAe,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnE,IAAI,OAAO,IAAI,CAAC;wBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACzD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,MAAM,QAAQ,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;oBAC1D,eAAe,GAAG,IAAI,CAAC;oBACvB,KAAK,MAAM,CAAC,GAAG,CACb,OAAO,EACP,4EAA4E,EAC5E;wBACE,SAAS;wBACT,SAAS;wBACT,OAAO;wBACP,OAAO;wBACP,QAAQ,EAAE,QAAQ,CAAC,KAAK;qBACzB,CACF,CAAC;oBACF,OAAO;wBACL,QAAQ,EAAE,IAAI;wBACd,OAAO;wBACP,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,GAAG,CAAC,QAAQ,CAAC,cAAc;4BACzB,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE;4BAC7C,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,kBAAkB,GAAyB,EAAE,CAAC;YACpD,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,MAAM,eAAe,GAAG,IAAuB,CAAC;gBAChD,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC;gBACrC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,kBAAkB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;oBACpC,SAAS;gBACX,CAAC;gBAED,kBAAkB,CAAC,QAAQ,CAAC,GAAG;oBAC7B,GAAG,eAAe;oBAClB,OAAO,EAAE,KAAK,EAAE,GAAG,IAA6B,EAAE,EAAE;wBAClD,IAAI,CAAC;4BACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACtC,CAAC;gCAAS,CAAC;4BACT,2CAA2C;4BAC3C,MAAM,mBAAmB,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;wBACtD,CAAC;oBACH,CAAC;iBACF,CAAC;YACJ,CAAC;YAED,4BAA4B;YAC5B,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACxC,EAAE,SAAS,EAAE,SAAS,EAAE,EACxB,GAAG,EAAE;gBACH,OAAO,UAAU,CAAC;oBAChB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,MAAM,EAAE,yBAAyB;oBACjC,WAAW,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;wBAClC,MAAM,gBAAgB,GAAmB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;4BAC9D,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,EAAE,CAAC;wBACP,MAAM,MAAM,GACV,gBAAgB,CAAC,MAAM,IAAI,wBAAwB;4BACjD,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,wBAAwB,CAAC;4BAClD,CAAC,CAAC,EAAE,CAAC;wBAET,iDAAiD;wBACjD,MAAM,mBAAmB,CAAC,aAAa,CAAC,CAAC;wBAEzC,0EAA0E;wBAC1E,wCAAwC;wBACxC,IAAI,WAAuC,CAAC;wBAC5C,IAAI,eAAe,EAAE,CAAC;4BACpB,WAAW,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,MAAM,CAAC,CAAC;4BAChD,eAAe,GAAG,KAAK,CAAC;4BACxB,wBAAwB,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;gCACzD,CAAC,CAAC,iBAAiB,CAAC,MAAM;gCAC1B,CAAC,CAAC,CAAC,CAAC;wBACR,CAAC;wBAED,MAAM,aAAa,GAGf;4BACF,MAAM,EAAE,yBAAyB;yBAClC,CAAC;wBACF,IACE,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC;4BAChD,qBAAqB,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAC5C,CAAC;4BACD,aAAa,CAAC,WAAW,GAAG,qBAAqB,CAAC,WAAW,CAAC;wBAChE,CAAC;wBAED,OAAO;4BACL,GAAG,aAAa;4BAChB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;gCAC5B,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE;gCAC3B,CAAC,CAAC,EAAE,CAAC;yBACR,CAAC;oBACJ,CAAC;oBACD,QAAQ,EAAE,iBAAiB;oBAC3B,KAAK,EAAE,kBAAkB;oBACzB,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBAC5B,CAAC,CAAC;YACL,CAAC,CACF,CAAC;YAEF,oDAAoD;YACpD,oFAAoF;YACpF,IAAI,uBAAuB,GAAgC,IAAI,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC;gBACpD,MAAM,EAAE,GAA0B;oBAChC,CAAC,EAAE,CAAC;oBACJ,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;oBACd,SAAS;oBACT,OAAO;oBACP,QAAQ;oBACR,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,GAAG,EAAE,SAAS;oBACzB,SAAS,EAAE,GAAG,EAAE,SAAS;oBACzB,QAAQ,EACN,OAAO,GAAG,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oBAC9D,UAAU,EAAE,GAAG,EAAE,UAAU;oBAC3B,SAAS;oBACT,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;iBACrC,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAuB;oBAC9D,aAAa,EAAE,KAAK;oBACpB,WAAW,EAAE,KAAK;oBAClB,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK,SAAS,IAAI,UAAU,EAAE,EAAE;oBACzD,oEAAoE;oBACpE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE;oBACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,uBAAuB,GAAG,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC;oBAC1D,CAAC;iBACF,CAAC,CAAC;gBACH,oEAAoE;gBACpE,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBAC/B,gBAAgB;gBAClB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB,GAAG,IAAI,CAAC;YACjC,CAAC;YAED,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CACZ,GAAG,6BAA6B,CAAC,uBAAuB,CAAC,CAC1D,CAAC;YACJ,CAAC;YAED,UAAU;YACV,yCAAyC;YACzC,yCAAyC;YACzC,sCAAsC;YACtC,IACE,SAAS,CAAC,MAAM,KAAK,CAAC;gBACtB,iBAAiB,GAAG,CAAC;gBACrB,OAAO,eAAe,KAAK,UAAU,EACrC,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;gBACrE,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC1B,MAAM,cAAc,GAAG,MAAM,CAC3B,YAAY,CAAC,cAAc,IAAI,QAAQ,IAAI,EAAE,CAC9C,CAAC;oBACF,MAAM,MAAM,CAAC,GAAG,CACd,MAAM,EACN,8FAA8F,EAC9F;wBACE,SAAS;wBACT,SAAS;wBACT,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,CAAC;wBAClC,iBAAiB;qBAClB,CACF,CAAC;oBACF,OAAO,IAAI,CAAC,oBAAoB,CAC9B,cAAc,EACd,SAAS,EACT,SAAS,EACT;wBACE,aAAa;wBACb,iBAAiB,EAAE,iBAAiB,GAAG,CAAC;wBACxC,SAAS;wBACT,eAAe;qBAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3C,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC/B,IACE,MAAM;wBACN,OAAO,MAAM,KAAK,QAAQ;wBAC1B,SAAS,IAAI,MAAM;wBAClB,MAAgC,CAAC,OAAO,KAAK,KAAK,EACnD,CAAC;wBACD,cAAc,GAAG,IAAI,CAAC;oBACxB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;YAED,qCAAqC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE;gBACpD,QAAQ;gBACR,cAAc,EAAE,SAAS,CAAC,MAAM;aACjC,CAAC,CAAC;YACH,8DAA8D;YAE9D,IAAI,aAAa,GAAG,uBAAuB;gBACzC,CAAC,CAAC,wBAAwB,CAAC,uBAAuB,CAAC;gBACnD,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,aAAa,GAAG,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3D,CAAC;gBAAC,MAAM,CAAC;oBACP,aAAa,GAAG,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,CAAC,cAAc;gBACxB,MAAM,EAAE,aAAa,IAAI,qBAAqB;gBAC9C,SAAS;gBACT,GAAG,CAAC,uBAAuB;oBACzB,CAAC,CAAC,EAAE,gBAAgB,EAAE,uBAAuB,EAAE;oBAC/C,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,oDAAoD;YACpD,IACE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBACnC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC7B,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACpC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACnC,CAAC;gBACD,MAAM,MAAM,CAAC,GAAG,CACd,MAAM,EACN,yDAAyD,EACzD;oBACE,SAAS;oBACT,KAAK,EAAE,QAAQ;oBACf,aAAa;iBACd,CACF,CAAC;gBACF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EACJ,2HAA2H;wBAC7H,SAAS;qBACV,CAAC;gBACJ,CAAC;gBAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE;oBAC/D,aAAa,EAAE,aAAa,GAAG,CAAC;oBAChC,iBAAiB;oBACjB,SAAS;oBACT,eAAe;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,wBAAwB,EAAE;gBAClD,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,qBAAqB,QAAQ,EAAE;gBACvC,SAAS;aACV,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,0BAA0B,CAAC,KAIlC;QACC,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,CAAC;QACpD,MAAM,wBAAwB,GAAa,EAAE,CAAC;QAE9C,IAAI,UAAU,EAAE,IAAI;YAClB,wBAAwB,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,UAAU,EAAE,QAAQ;YACtB,wBAAwB,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,IAAI,UAAU,EAAE,OAAO;YACrB,wBAAwB,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,IAAI,UAAU,EAAE,SAAS;YACvB,wBAAwB,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;QAEvE,OAAO;YACL;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,wBAAwB,CAAC;oBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,iBAAiB,EAAE,wBAAwB;iBAC5C,CAAC;aACH;SACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,oBAAoB,CAAC,aAAqB;QAKhD,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;QAE/D,MAAM,oBAAoB,GACxB,OAAO,qBAAqB,EAAE,gBAAgB,KAAK,QAAQ;YACzD,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CACnE;YACH,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,wBAAwB,GAC5B,OAAO,qBAAqB,EAAE,oBAAoB,KAAK,QAAQ;YAC7D,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,IAAI,EACJ,IAAI,CAAC,GAAG,CACN,OAAO,EACP,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CACvD,CACF;YACH,CAAC,CAAC,KAAK,CAAC;QAEZ,uDAAuD;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAC/B,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,WAAW,CAAC,CAC/C,CAAC;QACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnC,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,wBAAwB,GAAG,WAAW,CAAC,CACnD,CAAC;QACF,MAAM,gBAAgB,GACpB,qBAAqB,EAAE,gBAAgB,KAAK,SAAS;YACnD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QAEtD,OAAO;YACL,gBAAgB;YAChB,oBAAoB;YACpB,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,yBAAyB,CAAC,MAKvC;QACC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5D,MAAM,QAAQ,GACZ,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,IAAI,QAAQ,IAAI,QAAQ,KAAK,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;gBAAE,OAAO;YAEnE,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC;YACpD,MAAM,QAAQ,GAA4C;gBACxD,SAAS;gBACT,OAAO;gBACP,QAAQ;gBACR,OAAO,EAAE,GAAG,EAAE,OAAO;gBACrB,SAAS,EAAE,GAAG,EAAE,SAAS;gBACzB,SAAS,EAAE,GAAG,EAAE,SAAS;gBACzB,QAAQ,EAAE,OAAO,GAAG,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACtE,UAAU,EAAE,GAAG,EAAE,UAAU;gBAC3B,SAAS;gBACT,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE;aACzC,CAAC;YACF,MAAM,GAAG,GAAG,YAAY,CAAC,qBAAqB,CAAC;gBAC7C,IAAI,EAAE,QAAQ;gBACd,QAAQ;aACT,CAAC,CAAC;YACH,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextManager.d.ts","sourceRoot":"","sources":["../../../source/core/context/ContextManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAOtD;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAC7B;IAEZ,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAuC;IAE7E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;;;;OAMG;gBACS,MAAM,CAAC,EAAE;QACnB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE;YACvB,OAAO,EAAE,qBAAqB,CAAC;YAC/B,MAAM,EAAE,WAAW,CAAC;SACrB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE;YACpB,OAAO,EAAE,qBAAqB,CAAC;YAC/B,MAAM,EAAE,QAAQ,CAAC;SAClB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7D;IAcD;;;;OAIG;IACH,MAAM,IAAI,OAAO;IAIjB;;;;;OAKG;IACH,KAAK,IAAI,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAIvC;;;;;;OAMG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAiChD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAYzC;;;;;OAKG;IACH,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAQpC;;;;;;OAMG;IACG,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhE;;;;;;OAMG;IACG,iBAAiB,CAAC,MAAM,EAAE;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,UAAU,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjB;;;;;;;;;OASG;IACG,OAAO,CAAC,MAAM,EAAE;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CA8BpC"}
@@ -6,12 +6,12 @@
6
6
  * - 负责消息入库与调度入队
7
7
  * - 在上下文更新后触发 memory 维护钩子
8
8
  */
9
- import { Scheduler } from "./scheduler.js";
10
- import { createContextAgent } from "../runtime/agent.js";
11
- import { ContextStore } from "./context-store.js";
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/paths.js";
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 = getShipRuntimeContextBase();
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(getShipRuntimeContextBase().rootPath, parsedRun.taskId, parsedRun.timestamp);
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 = createContextAgent();
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=manager.js.map
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 { generateId, getShipContextDirPath, getShipContextMessagesArchiveDirPath, getShipContextMessagesMetaPath, getShipContextMessagesPath, getShipContextMessagesDirPath, } from "../../utils.js";
14
- import { getLogger } from "../../logger/index.js";
15
- import { getShipRuntimeContextBase } from "../../server/ShipRuntimeContext.js";
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(getShipRuntimeContextBase().rootPath || "").trim();
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?.pinnedSkillIds ?? prev.pinnedSkillIds),
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({ pinnedSkillIds: Array.isArray(skillIds) ? skillIds : [] });
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 (e) {
278
- if (e && e.code !== "EEXIST")
279
- throw e;
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 params.metadata.ts === "number" ? params.metadata.ts : Date.now(),
386
- ...params.metadata,
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 params.metadata.ts === "number" ? params.metadata.ts : Date.now(),
406
- ...params.metadata,
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((p) => p && typeof p === "object" && p.type === "text" && typeof p.text === "string")
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?.content ?? ""))
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
- * - 去掉 UIMessage 的 id 字段,仅保留模型可消费结构。
579
- * - `ignoreIncompleteToolCalls=true` 以容忍中断场景下的半成品 tool 记录。
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=context-store.js.map
600
+ //# sourceMappingURL=ContextStore.js.map