@downcity/agent 1.1.74 → 1.1.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/README.md +15 -18
  2. package/bin/agent/local/Agent.d.ts +82 -0
  3. package/bin/agent/local/Agent.d.ts.map +1 -0
  4. package/bin/agent/local/Agent.js +154 -0
  5. package/bin/agent/local/Agent.js.map +1 -0
  6. package/bin/agent/local/AgentInstructions.d.ts +22 -0
  7. package/bin/agent/local/AgentInstructions.d.ts.map +1 -0
  8. package/bin/agent/local/AgentInstructions.js +57 -0
  9. package/bin/agent/local/AgentInstructions.js.map +1 -0
  10. package/bin/agent/local/AgentPluginFactory.d.ts +29 -0
  11. package/bin/agent/local/AgentPluginFactory.d.ts.map +1 -0
  12. package/bin/agent/local/AgentPluginFactory.js +53 -0
  13. package/bin/agent/local/AgentPluginFactory.js.map +1 -0
  14. package/bin/{runtime/host/AgentHostRuntime.d.ts → agent/local/AgentRuntimeAssembly.d.ts} +2 -2
  15. package/bin/agent/local/AgentRuntimeAssembly.d.ts.map +1 -0
  16. package/bin/{runtime/host/AgentHostRuntime.js → agent/local/AgentRuntimeAssembly.js} +2 -2
  17. package/bin/agent/local/AgentRuntimeAssembly.js.map +1 -0
  18. package/bin/agent/local/AgentRuntimeFactory.d.ts +72 -0
  19. package/bin/agent/local/AgentRuntimeFactory.d.ts.map +1 -0
  20. package/bin/agent/local/AgentRuntimeFactory.js +73 -0
  21. package/bin/agent/local/AgentRuntimeFactory.js.map +1 -0
  22. package/bin/{runtime/host → agent/local}/ProjectSetup.d.ts +1 -1
  23. package/bin/agent/local/ProjectSetup.d.ts.map +1 -0
  24. package/bin/{runtime/host → agent/local}/ProjectSetup.js +1 -1
  25. package/bin/agent/local/ProjectSetup.js.map +1 -0
  26. package/bin/agent/local/services/AgentAssemblyService.d.ts +112 -0
  27. package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -0
  28. package/bin/agent/local/services/AgentAssemblyService.js +135 -0
  29. package/bin/agent/local/services/AgentAssemblyService.js.map +1 -0
  30. package/bin/agent/local/services/AgentLifecycleService.d.ts +59 -0
  31. package/bin/agent/local/services/AgentLifecycleService.d.ts.map +1 -0
  32. package/bin/agent/local/services/AgentLifecycleService.js +136 -0
  33. package/bin/agent/local/services/AgentLifecycleService.js.map +1 -0
  34. package/bin/agent/local/services/AgentSessionManager.d.ts +106 -0
  35. package/bin/agent/local/services/AgentSessionManager.d.ts.map +1 -0
  36. package/bin/agent/local/services/AgentSessionManager.js +182 -0
  37. package/bin/agent/local/services/AgentSessionManager.js.map +1 -0
  38. package/bin/agent/{RemoteAgent.d.ts → remote/RemoteAgent.d.ts} +3 -3
  39. package/bin/agent/remote/RemoteAgent.d.ts.map +1 -0
  40. package/bin/agent/remote/RemoteAgent.js +58 -0
  41. package/bin/agent/remote/RemoteAgent.js.map +1 -0
  42. package/bin/agent/remote/RemoteSession.d.ts +62 -0
  43. package/bin/agent/remote/RemoteSession.d.ts.map +1 -0
  44. package/bin/agent/remote/RemoteSession.js +225 -0
  45. package/bin/agent/remote/RemoteSession.js.map +1 -0
  46. package/bin/agent/remote/RemoteTransport.d.ts +52 -0
  47. package/bin/agent/remote/RemoteTransport.d.ts.map +1 -0
  48. package/bin/agent/remote/RemoteTransport.js +9 -0
  49. package/bin/agent/remote/RemoteTransport.js.map +1 -0
  50. package/bin/agent/remote/TransportFactory.d.ts +13 -0
  51. package/bin/agent/remote/TransportFactory.d.ts.map +1 -0
  52. package/bin/agent/remote/TransportFactory.js +22 -0
  53. package/bin/agent/remote/TransportFactory.js.map +1 -0
  54. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts +35 -0
  55. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -0
  56. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js +259 -0
  57. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js.map +1 -0
  58. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts +34 -0
  59. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -0
  60. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js +66 -0
  61. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js.map +1 -0
  62. package/bin/executor/Executor.d.ts +7 -20
  63. package/bin/executor/Executor.d.ts.map +1 -1
  64. package/bin/executor/Executor.js +77 -348
  65. package/bin/executor/Executor.js.map +1 -1
  66. package/bin/executor/SessionRunScope.d.ts +18 -34
  67. package/bin/executor/SessionRunScope.d.ts.map +1 -1
  68. package/bin/executor/SessionRunScope.js +42 -28
  69. package/bin/executor/SessionRunScope.js.map +1 -1
  70. package/bin/executor/composer/context/LocalSessionContextComposer.d.ts +5 -3
  71. package/bin/executor/composer/context/LocalSessionContextComposer.d.ts.map +1 -1
  72. package/bin/executor/composer/context/LocalSessionContextComposer.js +11 -18
  73. package/bin/executor/composer/context/LocalSessionContextComposer.js.map +1 -1
  74. package/bin/executor/composer/context/SessionContextComposer.d.ts +8 -3
  75. package/bin/executor/composer/context/SessionContextComposer.d.ts.map +1 -1
  76. package/bin/executor/composer/history/SessionHistoryWriter.js +2 -2
  77. package/bin/executor/composer/history/SessionHistoryWriter.js.map +1 -1
  78. package/bin/executor/composer/system/SessionSystemComposer.d.ts +2 -1
  79. package/bin/executor/composer/system/SessionSystemComposer.d.ts.map +1 -1
  80. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +2 -1
  81. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
  82. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js +2 -4
  83. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js.map +1 -1
  84. package/bin/executor/core-engine/CoreEngineRunner.d.ts +62 -0
  85. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -0
  86. package/bin/executor/core-engine/CoreEngineRunner.js +309 -0
  87. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -0
  88. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts +5 -0
  89. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts.map +1 -1
  90. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js +2 -4
  91. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js.map +1 -1
  92. package/bin/executor/messages/AssistantResultPersistence.d.ts +3 -3
  93. package/bin/executor/messages/AssistantResultPersistence.d.ts.map +1 -1
  94. package/bin/executor/messages/AssistantResultPersistence.js +2 -6
  95. package/bin/executor/messages/AssistantResultPersistence.js.map +1 -1
  96. package/bin/executor/messages/SessionStepEventMapper.d.ts +7 -8
  97. package/bin/executor/messages/SessionStepEventMapper.d.ts.map +1 -1
  98. package/bin/executor/messages/SessionStepEventMapper.js +55 -86
  99. package/bin/executor/messages/SessionStepEventMapper.js.map +1 -1
  100. package/bin/executor/messages/UserVisibleText.d.ts +2 -10
  101. package/bin/executor/messages/UserVisibleText.d.ts.map +1 -1
  102. package/bin/executor/messages/UserVisibleText.js +3 -16
  103. package/bin/executor/messages/UserVisibleText.js.map +1 -1
  104. package/bin/executor/services/ExecutorInflightService.d.ts +39 -0
  105. package/bin/executor/services/ExecutorInflightService.d.ts.map +1 -0
  106. package/bin/executor/services/ExecutorInflightService.js +75 -0
  107. package/bin/executor/services/ExecutorInflightService.js.map +1 -0
  108. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +103 -0
  109. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -0
  110. package/bin/executor/services/ExecutorRecoveryPolicy.js +87 -0
  111. package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -0
  112. package/bin/executor/store/history/SessionHistoryStore.d.ts +12 -0
  113. package/bin/executor/store/history/SessionHistoryStore.d.ts.map +1 -1
  114. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts +12 -0
  115. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts.map +1 -1
  116. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js +145 -8
  117. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js.map +1 -1
  118. package/bin/executor/tools/plugin/PluginToolBridge.d.ts +19 -0
  119. package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -0
  120. package/bin/executor/tools/plugin/PluginToolBridge.js +143 -0
  121. package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -0
  122. package/bin/executor/tools/plugin/PluginToolDefinition.d.ts +32 -0
  123. package/bin/executor/tools/plugin/PluginToolDefinition.d.ts.map +1 -0
  124. package/bin/executor/tools/plugin/PluginToolDefinition.js +27 -0
  125. package/bin/executor/tools/plugin/PluginToolDefinition.js.map +1 -0
  126. package/bin/executor/tools/plugin/PluginToolSchemas.d.ts +14 -0
  127. package/bin/executor/tools/plugin/PluginToolSchemas.d.ts.map +1 -0
  128. package/bin/executor/tools/plugin/PluginToolSchemas.js +19 -0
  129. package/bin/executor/tools/plugin/PluginToolSchemas.js.map +1 -0
  130. package/bin/executor/tools/plugin/types/PluginTool.d.ts +39 -0
  131. package/bin/executor/tools/plugin/types/PluginTool.d.ts.map +1 -0
  132. package/bin/executor/tools/plugin/types/PluginTool.js +9 -0
  133. package/bin/executor/tools/plugin/types/PluginTool.js.map +1 -0
  134. package/bin/executor/tools/shell/ShellToolBridge.js +3 -3
  135. package/bin/executor/tools/shell/ShellToolBridge.js.map +1 -1
  136. package/bin/executor/tools/shell/ShellToolFormatting.d.ts +1 -10
  137. package/bin/executor/tools/shell/ShellToolFormatting.d.ts.map +1 -1
  138. package/bin/executor/tools/shell/ShellToolFormatting.js +1 -39
  139. package/bin/executor/tools/shell/ShellToolFormatting.js.map +1 -1
  140. package/bin/executor/types/SessionHistoryPaths.d.ts +4 -0
  141. package/bin/executor/types/SessionHistoryPaths.d.ts.map +1 -1
  142. package/bin/executor/types/SessionRun.d.ts +18 -0
  143. package/bin/executor/types/SessionRun.d.ts.map +1 -1
  144. package/bin/index.d.ts +15 -6
  145. package/bin/index.d.ts.map +1 -1
  146. package/bin/index.js +6 -3
  147. package/bin/index.js.map +1 -1
  148. package/bin/plugin/core/BasePlugin.d.ts +2 -2
  149. package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
  150. package/bin/plugin/core/BasePlugin.js.map +1 -1
  151. package/bin/plugin/core/ImagePlugin.d.ts +56 -0
  152. package/bin/plugin/core/ImagePlugin.d.ts.map +1 -0
  153. package/bin/plugin/core/ImagePlugin.js +109 -0
  154. package/bin/plugin/core/ImagePlugin.js.map +1 -0
  155. package/bin/plugin/core/PluginCommandRequest.d.ts +1 -1
  156. package/bin/plugin/core/PluginCommandRequest.js +1 -1
  157. package/bin/plugin/core/PluginLocalExecution.js +1 -1
  158. package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
  159. package/bin/plugin/core/ProjectConfigStore.d.ts +3 -2
  160. package/bin/plugin/core/ProjectConfigStore.d.ts.map +1 -1
  161. package/bin/plugin/core/ProjectConfigStore.js +3 -4
  162. package/bin/plugin/core/ProjectConfigStore.js.map +1 -1
  163. package/bin/plugin/types/Plugin.d.ts +10 -842
  164. package/bin/plugin/types/Plugin.d.ts.map +1 -1
  165. package/bin/plugin/types/Plugin.js +3 -4
  166. package/bin/plugin/types/Plugin.js.map +1 -1
  167. package/bin/plugin/types/PluginState.d.ts +1 -1
  168. package/bin/plugin/types/PluginState.d.ts.map +1 -1
  169. package/bin/rpc/Client.d.ts +2 -99
  170. package/bin/rpc/Client.d.ts.map +1 -1
  171. package/bin/rpc/Client.js +0 -46
  172. package/bin/rpc/Client.js.map +1 -1
  173. package/bin/rpc/Server.d.ts +5 -21
  174. package/bin/rpc/Server.d.ts.map +1 -1
  175. package/bin/rpc/Server.js +30 -315
  176. package/bin/rpc/Server.js.map +1 -1
  177. package/bin/rpc/server/InternalHandlers.d.ts +21 -0
  178. package/bin/rpc/server/InternalHandlers.d.ts.map +1 -0
  179. package/bin/rpc/server/InternalHandlers.js +190 -0
  180. package/bin/rpc/server/InternalHandlers.js.map +1 -0
  181. package/bin/rpc/server/RequestDispatcher.d.ts +27 -0
  182. package/bin/rpc/server/RequestDispatcher.d.ts.map +1 -0
  183. package/bin/rpc/server/RequestDispatcher.js +38 -0
  184. package/bin/rpc/server/RequestDispatcher.js.map +1 -0
  185. package/bin/rpc/server/SdkSessionHandlers.d.ts +25 -0
  186. package/bin/rpc/server/SdkSessionHandlers.d.ts.map +1 -0
  187. package/bin/rpc/server/SdkSessionHandlers.js +86 -0
  188. package/bin/rpc/server/SdkSessionHandlers.js.map +1 -0
  189. package/bin/rpc/server/ServerTypes.d.ts +59 -0
  190. package/bin/rpc/server/ServerTypes.d.ts.map +1 -0
  191. package/bin/rpc/server/ServerTypes.js +9 -0
  192. package/bin/rpc/server/ServerTypes.js.map +1 -0
  193. package/bin/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.d.ts +1 -1
  194. package/bin/sandbox/MacOsSeatbeltSandbox.d.ts.map +1 -0
  195. package/bin/sandbox/MacOsSeatbeltSandbox.js.map +1 -0
  196. package/bin/{runtime/sandbox → sandbox}/SandboxConfigResolver.d.ts +2 -2
  197. package/bin/sandbox/SandboxConfigResolver.d.ts.map +1 -0
  198. package/bin/sandbox/SandboxConfigResolver.js.map +1 -0
  199. package/bin/{runtime/sandbox → sandbox}/SandboxRunner.d.ts +2 -2
  200. package/bin/sandbox/SandboxRunner.d.ts.map +1 -0
  201. package/bin/{runtime/sandbox → sandbox}/SandboxRunner.js +2 -2
  202. package/bin/sandbox/SandboxRunner.js.map +1 -0
  203. package/bin/sandbox/types/Sandbox.d.ts.map +1 -0
  204. package/bin/sandbox/types/Sandbox.js.map +1 -0
  205. package/bin/{runtime/sandbox → sandbox}/types/SandboxRuntime.d.ts +2 -2
  206. package/bin/sandbox/types/SandboxRuntime.d.ts.map +1 -0
  207. package/bin/sandbox/types/SandboxRuntime.js.map +1 -0
  208. package/bin/session/Session.d.ts +14 -83
  209. package/bin/session/Session.d.ts.map +1 -1
  210. package/bin/session/Session.js +140 -362
  211. package/bin/session/Session.js.map +1 -1
  212. package/bin/session/SessionSystemBuilder.d.ts +2 -1
  213. package/bin/session/SessionSystemBuilder.d.ts.map +1 -1
  214. package/bin/session/SessionSystemBuilder.js +2 -3
  215. package/bin/session/SessionSystemBuilder.js.map +1 -1
  216. package/bin/session/browse/Browse.d.ts +1 -1
  217. package/bin/session/browse/Browse.d.ts.map +1 -1
  218. package/bin/session/browse/Browse.js +28 -13
  219. package/bin/session/browse/Browse.js.map +1 -1
  220. package/bin/session/index.d.ts +1 -1
  221. package/bin/session/index.d.ts.map +1 -1
  222. package/bin/session/index.js +1 -1
  223. package/bin/session/index.js.map +1 -1
  224. package/bin/session/services/SessionStateService.d.ts +132 -0
  225. package/bin/session/services/SessionStateService.d.ts.map +1 -0
  226. package/bin/session/services/SessionStateService.js +242 -0
  227. package/bin/session/services/SessionStateService.js.map +1 -0
  228. package/bin/session/services/SessionTurnService.d.ts +66 -0
  229. package/bin/session/services/SessionTurnService.d.ts.map +1 -0
  230. package/bin/session/services/SessionTurnService.js +137 -0
  231. package/bin/session/services/SessionTurnService.js.map +1 -0
  232. package/bin/session/services/SessionViewService.d.ts +105 -0
  233. package/bin/session/services/SessionViewService.d.ts.map +1 -0
  234. package/bin/session/services/SessionViewService.js +184 -0
  235. package/bin/session/services/SessionViewService.js.map +1 -0
  236. package/bin/session/storage/Paths.d.ts +9 -0
  237. package/bin/session/storage/Paths.d.ts.map +1 -1
  238. package/bin/session/storage/Paths.js +11 -0
  239. package/bin/session/storage/Paths.js.map +1 -1
  240. package/bin/types/agent/AgentOptions.d.ts +152 -0
  241. package/bin/types/agent/AgentOptions.d.ts.map +1 -0
  242. package/bin/types/agent/AgentOptions.js +9 -0
  243. package/bin/types/agent/AgentOptions.js.map +1 -0
  244. package/bin/types/{runtime/host/AgentHost.d.ts → agent/AgentRuntimeAssembly.d.ts} +4 -4
  245. package/bin/types/agent/AgentRuntimeAssembly.d.ts.map +1 -0
  246. package/bin/types/{runtime/host/AgentHost.js → agent/AgentRuntimeAssembly.js} +3 -3
  247. package/bin/types/agent/AgentRuntimeAssembly.js.map +1 -0
  248. package/bin/types/agent/AgentTypes.d.ts +10 -613
  249. package/bin/types/agent/AgentTypes.d.ts.map +1 -1
  250. package/bin/types/agent/AgentTypes.js +4 -4
  251. package/bin/types/agent/RemoteAgentOptions.d.ts +28 -0
  252. package/bin/types/agent/RemoteAgentOptions.d.ts.map +1 -0
  253. package/bin/types/agent/RemoteAgentOptions.js +9 -0
  254. package/bin/types/agent/RemoteAgentOptions.js.map +1 -0
  255. package/bin/types/agent/SessionActor.d.ts +60 -0
  256. package/bin/types/agent/SessionActor.d.ts.map +1 -0
  257. package/bin/types/agent/SessionActor.js +9 -0
  258. package/bin/types/agent/SessionActor.js.map +1 -0
  259. package/bin/types/agent/SessionTypes.d.ts +312 -0
  260. package/bin/types/agent/SessionTypes.d.ts.map +1 -0
  261. package/bin/types/agent/SessionTypes.js +9 -0
  262. package/bin/types/agent/SessionTypes.js.map +1 -0
  263. package/bin/types/config/DowncityConfig.d.ts +1 -1
  264. package/bin/types/config/DowncityConfig.d.ts.map +1 -1
  265. package/bin/types/executor/SessionRunContext.d.ts +66 -0
  266. package/bin/types/executor/SessionRunContext.d.ts.map +1 -0
  267. package/bin/types/executor/SessionRunContext.js +10 -0
  268. package/bin/types/executor/SessionRunContext.js.map +1 -0
  269. package/bin/types/{runtime/host → platform}/Store.d.ts +1 -1
  270. package/bin/types/platform/Store.d.ts.map +1 -0
  271. package/bin/types/{runtime/host → platform}/Store.js +1 -1
  272. package/bin/types/platform/Store.js.map +1 -0
  273. package/bin/types/plugin/ImagePlugin.d.ts +94 -0
  274. package/bin/types/plugin/ImagePlugin.d.ts.map +1 -0
  275. package/bin/types/plugin/ImagePlugin.js +10 -0
  276. package/bin/types/plugin/ImagePlugin.js.map +1 -0
  277. package/bin/types/plugin/PluginAction.d.ts +119 -0
  278. package/bin/types/plugin/PluginAction.d.ts.map +1 -0
  279. package/bin/types/plugin/PluginAction.js +9 -0
  280. package/bin/types/plugin/PluginAction.js.map +1 -0
  281. package/bin/types/plugin/PluginCommand.d.ts +80 -0
  282. package/bin/types/plugin/PluginCommand.d.ts.map +1 -0
  283. package/bin/types/plugin/PluginCommand.js +9 -0
  284. package/bin/types/plugin/PluginCommand.js.map +1 -0
  285. package/bin/types/plugin/PluginDefinition.d.ts +57 -0
  286. package/bin/types/plugin/PluginDefinition.d.ts.map +1 -0
  287. package/bin/types/plugin/PluginDefinition.js +9 -0
  288. package/bin/types/plugin/PluginDefinition.js.map +1 -0
  289. package/bin/types/plugin/PluginHttp.d.ts +34 -0
  290. package/bin/types/plugin/PluginHttp.d.ts.map +1 -0
  291. package/bin/types/plugin/PluginHttp.js +9 -0
  292. package/bin/types/plugin/PluginHttp.js.map +1 -0
  293. package/bin/types/plugin/PluginRuntime.d.ts +148 -0
  294. package/bin/types/plugin/PluginRuntime.d.ts.map +1 -0
  295. package/bin/types/plugin/PluginRuntime.js +9 -0
  296. package/bin/types/plugin/PluginRuntime.js.map +1 -0
  297. package/bin/types/plugin/PluginSetup.d.ts +133 -0
  298. package/bin/types/plugin/PluginSetup.d.ts.map +1 -0
  299. package/bin/types/plugin/PluginSetup.js +9 -0
  300. package/bin/types/plugin/PluginSetup.js.map +1 -0
  301. package/bin/types/plugin/PluginState.d.ts +69 -0
  302. package/bin/types/plugin/PluginState.d.ts.map +1 -0
  303. package/bin/types/plugin/PluginState.js +9 -0
  304. package/bin/types/plugin/PluginState.js.map +1 -0
  305. package/bin/types/rpc/RpcProtocol.d.ts +323 -0
  306. package/bin/types/rpc/RpcProtocol.d.ts.map +1 -0
  307. package/bin/types/rpc/RpcProtocol.js +10 -0
  308. package/bin/types/rpc/RpcProtocol.js.map +1 -0
  309. package/bin/types/runtime/agent/AgentContext.d.ts +1 -1
  310. package/bin/types/runtime/agent/AgentContext.d.ts.map +1 -1
  311. package/bin/types/runtime/agent/AgentRuntime.d.ts +1 -1
  312. package/bin/types/runtime/agent/AgentRuntime.d.ts.map +1 -1
  313. package/bin/types/session/SessionComposerOptions.d.ts +90 -0
  314. package/bin/types/session/SessionComposerOptions.d.ts.map +1 -0
  315. package/bin/types/session/SessionComposerOptions.js +10 -0
  316. package/bin/types/session/SessionComposerOptions.js.map +1 -0
  317. package/bin/types/session/SessionLocalState.d.ts +35 -0
  318. package/bin/types/session/SessionLocalState.d.ts.map +1 -0
  319. package/bin/types/session/SessionLocalState.js +10 -0
  320. package/bin/types/session/SessionLocalState.js.map +1 -0
  321. package/bin/types/session/SessionOptions.d.ts +85 -0
  322. package/bin/types/session/SessionOptions.d.ts.map +1 -0
  323. package/bin/types/session/SessionOptions.js +10 -0
  324. package/bin/types/session/SessionOptions.js.map +1 -0
  325. package/package.json +2 -2
  326. package/scripts/session-history-inflight.test.mjs +146 -0
  327. package/src/agent/local/Agent.ts +197 -0
  328. package/src/agent/local/AgentInstructions.ts +68 -0
  329. package/src/agent/local/AgentPluginFactory.ts +83 -0
  330. package/src/{runtime/host/AgentHostRuntime.ts → agent/local/AgentRuntimeAssembly.ts} +2 -2
  331. package/src/agent/local/AgentRuntimeFactory.ts +152 -0
  332. package/src/{runtime/host → agent/local}/ProjectSetup.ts +1 -1
  333. package/src/agent/local/services/AgentAssemblyService.ts +268 -0
  334. package/src/agent/local/services/AgentLifecycleService.ts +187 -0
  335. package/src/agent/local/services/AgentSessionManager.ts +291 -0
  336. package/src/agent/remote/RemoteAgent.ts +76 -0
  337. package/src/agent/remote/RemoteSession.ts +287 -0
  338. package/src/agent/remote/RemoteTransport.ts +71 -0
  339. package/src/agent/remote/TransportFactory.ts +29 -0
  340. package/src/agent/remote/transports/HttpRemoteAgentTransport.ts +347 -0
  341. package/src/agent/remote/transports/RpcRemoteAgentTransport.ts +107 -0
  342. package/src/executor/Executor.ts +107 -426
  343. package/src/executor/README.md +4 -4
  344. package/src/executor/SessionRunScope.ts +47 -71
  345. package/src/executor/composer/context/LocalSessionContextComposer.ts +24 -20
  346. package/src/executor/composer/context/SessionContextComposer.ts +13 -3
  347. package/src/executor/composer/history/SessionHistoryWriter.ts +2 -2
  348. package/src/executor/composer/system/SessionSystemComposer.ts +2 -1
  349. package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +3 -4
  350. package/src/executor/core-engine/CoreEngineRunner.ts +433 -0
  351. package/src/executor/core-engine/CoreEngineUiStreamCollector.ts +7 -5
  352. package/src/executor/messages/AssistantResultPersistence.ts +4 -12
  353. package/src/executor/messages/SessionStepEventMapper.ts +59 -101
  354. package/src/executor/messages/UserVisibleText.ts +3 -18
  355. package/src/executor/services/ExecutorInflightService.ts +101 -0
  356. package/src/executor/services/ExecutorRecoveryPolicy.ts +213 -0
  357. package/src/executor/store/history/SessionHistoryStore.ts +15 -0
  358. package/src/executor/store/history/jsonl/JsonlSessionHistoryStore.ts +164 -11
  359. package/src/executor/tools/plugin/PluginToolBridge.ts +161 -0
  360. package/src/executor/tools/plugin/PluginToolDefinition.ts +32 -0
  361. package/src/executor/tools/plugin/PluginToolSchemas.ts +20 -0
  362. package/src/executor/tools/plugin/types/PluginTool.ts +41 -0
  363. package/src/executor/tools/shell/ShellToolBridge.ts +3 -3
  364. package/src/executor/tools/shell/ShellToolFormatting.ts +1 -50
  365. package/src/executor/types/SessionHistoryPaths.ts +5 -0
  366. package/src/executor/types/SessionRun.ts +20 -0
  367. package/src/index.ts +38 -5
  368. package/src/plugin/core/BasePlugin.ts +2 -2
  369. package/src/plugin/core/ImagePlugin.ts +128 -0
  370. package/src/plugin/core/PluginCommandRequest.ts +1 -1
  371. package/src/plugin/core/PluginLocalExecution.ts +1 -1
  372. package/src/plugin/core/ProjectConfigStore.ts +4 -4
  373. package/src/plugin/types/Plugin.ts +54 -913
  374. package/src/plugin/types/PluginState.ts +1 -1
  375. package/src/rpc/Client.ts +16 -322
  376. package/src/rpc/Server.ts +39 -565
  377. package/src/rpc/server/InternalHandlers.ts +230 -0
  378. package/src/rpc/server/RequestDispatcher.ts +67 -0
  379. package/src/rpc/server/SdkSessionHandlers.ts +106 -0
  380. package/src/rpc/server/ServerTypes.ts +65 -0
  381. package/src/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.ts +1 -1
  382. package/src/{runtime/sandbox → sandbox}/SandboxConfigResolver.ts +1 -1
  383. package/src/{runtime/sandbox → sandbox}/SandboxRunner.ts +3 -3
  384. package/src/{runtime/sandbox → sandbox}/types/SandboxRuntime.ts +2 -2
  385. package/src/session/Session.ts +184 -485
  386. package/src/session/SessionSystemBuilder.ts +3 -3
  387. package/src/session/browse/Browse.ts +29 -10
  388. package/src/session/index.ts +1 -0
  389. package/src/session/services/SessionStateService.ts +341 -0
  390. package/src/session/services/SessionTurnService.ts +202 -0
  391. package/src/session/services/SessionViewService.ts +301 -0
  392. package/src/session/storage/Paths.ts +19 -0
  393. package/src/types/agent/AgentOptions.ts +172 -0
  394. package/src/types/{runtime/host/AgentHost.ts → agent/AgentRuntimeAssembly.ts} +2 -2
  395. package/src/types/agent/AgentTypes.ts +47 -709
  396. package/src/types/agent/RemoteAgentOptions.ts +29 -0
  397. package/src/types/agent/SessionActor.ts +88 -0
  398. package/src/types/agent/SessionTypes.ts +335 -0
  399. package/src/types/config/DowncityConfig.ts +1 -1
  400. package/src/types/executor/SessionRunContext.ts +76 -0
  401. package/src/types/{runtime/host → platform}/Store.ts +1 -1
  402. package/src/types/plugin/ImagePlugin.ts +103 -0
  403. package/src/types/plugin/PluginAction.ts +133 -0
  404. package/src/types/plugin/PluginCommand.ts +89 -0
  405. package/src/types/plugin/PluginDefinition.ts +74 -0
  406. package/src/types/plugin/PluginHttp.ts +36 -0
  407. package/src/types/plugin/PluginRuntime.ts +169 -0
  408. package/src/types/plugin/PluginSetup.ts +138 -0
  409. package/src/types/plugin/PluginState.ts +82 -0
  410. package/src/types/rpc/RpcProtocol.ts +361 -0
  411. package/src/types/runtime/agent/AgentContext.ts +1 -1
  412. package/src/types/runtime/agent/AgentRuntime.ts +1 -1
  413. package/src/types/session/SessionComposerOptions.ts +107 -0
  414. package/src/types/session/SessionLocalState.ts +40 -0
  415. package/src/types/session/SessionOptions.ts +99 -0
  416. package/tsconfig.tsbuildinfo +1 -1
  417. package/bin/agent/Agent.d.ts +0 -223
  418. package/bin/agent/Agent.d.ts.map +0 -1
  419. package/bin/agent/Agent.js +0 -627
  420. package/bin/agent/Agent.js.map +0 -1
  421. package/bin/agent/RemoteAgent.d.ts.map +0 -1
  422. package/bin/agent/RemoteAgent.js +0 -585
  423. package/bin/agent/RemoteAgent.js.map +0 -1
  424. package/bin/runtime/auth/AuthEnv.d.ts +0 -36
  425. package/bin/runtime/auth/AuthEnv.d.ts.map +0 -1
  426. package/bin/runtime/auth/AuthEnv.js +0 -54
  427. package/bin/runtime/auth/AuthEnv.js.map +0 -1
  428. package/bin/runtime/auth/CliAuthStateStore.d.ts +0 -29
  429. package/bin/runtime/auth/CliAuthStateStore.d.ts.map +0 -1
  430. package/bin/runtime/auth/CliAuthStateStore.js +0 -26
  431. package/bin/runtime/auth/CliAuthStateStore.js.map +0 -1
  432. package/bin/runtime/control/AuthControlService.d.ts +0 -34
  433. package/bin/runtime/control/AuthControlService.d.ts.map +0 -1
  434. package/bin/runtime/control/AuthControlService.js +0 -129
  435. package/bin/runtime/control/AuthControlService.js.map +0 -1
  436. package/bin/runtime/control/CommonHelpers.d.ts +0 -36
  437. package/bin/runtime/control/CommonHelpers.d.ts.map +0 -1
  438. package/bin/runtime/control/CommonHelpers.js +0 -63
  439. package/bin/runtime/control/CommonHelpers.js.map +0 -1
  440. package/bin/runtime/control/ExecuteBySession.d.ts +0 -30
  441. package/bin/runtime/control/ExecuteBySession.d.ts.map +0 -1
  442. package/bin/runtime/control/ExecuteBySession.js +0 -41
  443. package/bin/runtime/control/ExecuteBySession.js.map +0 -1
  444. package/bin/runtime/control/ExecuteInput.d.ts +0 -18
  445. package/bin/runtime/control/ExecuteInput.d.ts.map +0 -1
  446. package/bin/runtime/control/ExecuteInput.js +0 -201
  447. package/bin/runtime/control/ExecuteInput.js.map +0 -1
  448. package/bin/runtime/control/Helpers.d.ts +0 -13
  449. package/bin/runtime/control/Helpers.d.ts.map +0 -1
  450. package/bin/runtime/control/Helpers.js +0 -13
  451. package/bin/runtime/control/Helpers.js.map +0 -1
  452. package/bin/runtime/control/MessageTimeline.d.ts +0 -22
  453. package/bin/runtime/control/MessageTimeline.d.ts.map +0 -1
  454. package/bin/runtime/control/MessageTimeline.js +0 -226
  455. package/bin/runtime/control/MessageTimeline.js.map +0 -1
  456. package/bin/runtime/control/SessionSummaryStore.d.ts +0 -20
  457. package/bin/runtime/control/SessionSummaryStore.d.ts.map +0 -1
  458. package/bin/runtime/control/SessionSummaryStore.js +0 -50
  459. package/bin/runtime/control/SessionSummaryStore.js.map +0 -1
  460. package/bin/runtime/control/TaskStore.d.ts +0 -33
  461. package/bin/runtime/control/TaskStore.d.ts.map +0 -1
  462. package/bin/runtime/control/TaskStore.js +0 -175
  463. package/bin/runtime/control/TaskStore.js.map +0 -1
  464. package/bin/runtime/control/types/AuthControl.d.ts +0 -30
  465. package/bin/runtime/control/types/AuthControl.d.ts.map +0 -1
  466. package/bin/runtime/control/types/AuthControl.js +0 -9
  467. package/bin/runtime/control/types/AuthControl.js.map +0 -1
  468. package/bin/runtime/control/types/ControlSessionExecute.d.ts +0 -85
  469. package/bin/runtime/control/types/ControlSessionExecute.d.ts.map +0 -1
  470. package/bin/runtime/control/types/ControlSessionExecute.js +0 -9
  471. package/bin/runtime/control/types/ControlSessionExecute.js.map +0 -1
  472. package/bin/runtime/control/types/ControlViewData.d.ts +0 -320
  473. package/bin/runtime/control/types/ControlViewData.d.ts.map +0 -1
  474. package/bin/runtime/control/types/ControlViewData.js +0 -9
  475. package/bin/runtime/control/types/ControlViewData.js.map +0 -1
  476. package/bin/runtime/host/AgentHostRuntime.d.ts.map +0 -1
  477. package/bin/runtime/host/AgentHostRuntime.js.map +0 -1
  478. package/bin/runtime/host/ProjectSetup.d.ts.map +0 -1
  479. package/bin/runtime/host/ProjectSetup.js.map +0 -1
  480. package/bin/runtime/sandbox/MacOsSeatbeltSandbox.d.ts.map +0 -1
  481. package/bin/runtime/sandbox/MacOsSeatbeltSandbox.js.map +0 -1
  482. package/bin/runtime/sandbox/SandboxConfigResolver.d.ts.map +0 -1
  483. package/bin/runtime/sandbox/SandboxConfigResolver.js.map +0 -1
  484. package/bin/runtime/sandbox/SandboxRunner.d.ts.map +0 -1
  485. package/bin/runtime/sandbox/SandboxRunner.js.map +0 -1
  486. package/bin/runtime/sandbox/types/Sandbox.d.ts.map +0 -1
  487. package/bin/runtime/sandbox/types/Sandbox.js.map +0 -1
  488. package/bin/runtime/sandbox/types/SandboxRuntime.d.ts.map +0 -1
  489. package/bin/runtime/sandbox/types/SandboxRuntime.js.map +0 -1
  490. package/bin/types/runtime/host/AgentHost.d.ts.map +0 -1
  491. package/bin/types/runtime/host/AgentHost.js.map +0 -1
  492. package/bin/types/runtime/host/Store.d.ts.map +0 -1
  493. package/bin/types/runtime/host/Store.js.map +0 -1
  494. package/src/agent/Agent.ts +0 -734
  495. package/src/agent/RemoteAgent.ts +0 -834
  496. package/src/runtime/auth/AuthEnv.ts +0 -62
  497. package/src/runtime/auth/CliAuthStateStore.ts +0 -46
  498. package/src/runtime/control/AuthControlService.ts +0 -169
  499. package/src/runtime/control/CommonHelpers.ts +0 -69
  500. package/src/runtime/control/ExecuteBySession.ts +0 -52
  501. package/src/runtime/control/ExecuteInput.ts +0 -236
  502. package/src/runtime/control/Helpers.ts +0 -22
  503. package/src/runtime/control/MessageTimeline.ts +0 -269
  504. package/src/runtime/control/SessionSummaryStore.ts +0 -72
  505. package/src/runtime/control/TaskStore.ts +0 -242
  506. package/src/runtime/control/types/AuthControl.ts +0 -34
  507. package/src/runtime/control/types/ControlSessionExecute.ts +0 -99
  508. package/src/runtime/control/types/ControlViewData.ts +0 -392
  509. /package/bin/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.js +0 -0
  510. /package/bin/{runtime/sandbox → sandbox}/SandboxConfigResolver.js +0 -0
  511. /package/bin/{runtime/sandbox → sandbox}/types/Sandbox.d.ts +0 -0
  512. /package/bin/{runtime/sandbox → sandbox}/types/Sandbox.js +0 -0
  513. /package/bin/{runtime/sandbox → sandbox}/types/SandboxRuntime.js +0 -0
  514. /package/src/{runtime/sandbox → sandbox}/types/Sandbox.ts +0 -0
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Plugin action 类型。
3
+ *
4
+ * 关键点(中文)
5
+ * - action 是 plugin 对外暴露的显式能力。
6
+ * - CLI / HTTP 只是 action 的输入适配层,真正执行器统一走 `execute`。
7
+ */
8
+
9
+ import type { Command } from "commander";
10
+ import type { Context as HonoContext } from "hono";
11
+ import type { AgentContext } from "@/types/runtime/agent/AgentContext.js";
12
+ import type { JsonValue } from "@/types/common/Json.js";
13
+
14
+ /**
15
+ * Plugin action 调用参数。
16
+ */
17
+ export interface PluginActionInvokeParams {
18
+ /** 目标 plugin 名称。 */
19
+ plugin: string;
20
+ /** 目标 action 名称。 */
21
+ action: string;
22
+ /** 调用 payload(可选)。 */
23
+ payload?: JsonValue;
24
+ }
25
+
26
+ /**
27
+ * Plugin action 调用结果。
28
+ */
29
+ export interface PluginActionInvokeResult {
30
+ /** 调用是否成功。 */
31
+ success: boolean;
32
+ /** 结构化返回数据(可选)。 */
33
+ data?: JsonValue;
34
+ /** 错误信息(可选)。 */
35
+ error?: string;
36
+ }
37
+
38
+ /**
39
+ * Plugin action 调用端口。
40
+ */
41
+ export interface PluginActionInvokePort {
42
+ /** 调用指定 plugin action。 */
43
+ invoke(
44
+ params: PluginActionInvokeParams,
45
+ ): Promise<PluginActionInvokeResult>;
46
+ }
47
+
48
+ /**
49
+ * Plugin Action 执行结果。
50
+ */
51
+ export interface PluginActionResult<R extends JsonValue = JsonValue> {
52
+ /** Action 是否成功。 */
53
+ success: boolean;
54
+ /** 返回数据(可选)。 */
55
+ data?: R;
56
+ /** 错误信息(可选)。 */
57
+ error?: string;
58
+ /** 人类可读消息(可选)。 */
59
+ message?: string;
60
+ }
61
+
62
+ /**
63
+ * Plugin Action 命令输入。
64
+ */
65
+ export interface PluginActionCommandInput {
66
+ /** 位置参数列表。 */
67
+ args: string[];
68
+ /** 选项参数对象。 */
69
+ opts: Record<string, JsonValue>;
70
+ }
71
+
72
+ /**
73
+ * Plugin Action CLI 定义。
74
+ */
75
+ export interface PluginActionCommand<P extends JsonValue = JsonValue> {
76
+ /** 命令说明。 */
77
+ description: string;
78
+ /** 额外 commander 配置(可选)。 */
79
+ configure?: (command: Command) => void;
80
+ /** 将 CLI 输入映射为 payload。 */
81
+ mapInput: (input: PluginActionCommandInput) => P | Promise<P>;
82
+ }
83
+
84
+ /**
85
+ * Plugin Action HTTP 定义。
86
+ */
87
+ export interface PluginActionApi<P extends JsonValue = JsonValue> {
88
+ /** HTTP 方法。 */
89
+ method?: "GET" | "POST" | "PUT" | "DELETE";
90
+ /** HTTP 路径。 */
91
+ path?: string;
92
+ /** 将 HTTP 输入映射为 payload(可选)。 */
93
+ mapInput?: (ctx: HonoContext) => P | Promise<P>;
94
+ }
95
+
96
+ /**
97
+ * Plugin Action 定义。
98
+ */
99
+ export interface PluginAction<
100
+ P extends JsonValue = JsonValue,
101
+ R extends JsonValue = JsonValue,
102
+ > {
103
+ /**
104
+ * disabled 状态下是否仍允许执行。
105
+ *
106
+ * 说明(中文)
107
+ * - 用于 `on` / `status` / `models` / `configure` / `install` 这类 setup 相关 action。
108
+ * - 默认 false,避免 disabled plugin 绕过 registry 保护执行普通业务 action。
109
+ */
110
+ allowWhenDisabled?: boolean;
111
+ /** CLI 定义(可选)。 */
112
+ command?: PluginActionCommand<P>;
113
+ /** HTTP 定义(可选)。 */
114
+ api?: PluginActionApi<P>;
115
+ /** Action 执行器。 */
116
+ execute: (params: {
117
+ /** 当前执行上下文。 */
118
+ context: AgentContext;
119
+ /** 输入 payload。 */
120
+ payload: P;
121
+ /** 当前插件名称。 */
122
+ pluginName: string;
123
+ /** 当前 Action 名称。 */
124
+ actionName: string;
125
+ }) => Promise<PluginActionResult<R>> | PluginActionResult<R>;
126
+ }
127
+
128
+ /**
129
+ * Plugin Action 集合。
130
+ */
131
+ export type PluginActions = {
132
+ [actionName: string]: PluginAction<JsonValue, JsonValue>;
133
+ };
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Plugin command 与 lifecycle 类型。
3
+ *
4
+ * 关键点(中文)
5
+ * - command 面向显式 CLI/control 调用。
6
+ * - lifecycle 面向 runtime 主动 start/stop 钩子。
7
+ */
8
+
9
+ import type {
10
+ AgentPathRuntime,
11
+ AgentPluginConfigRuntime,
12
+ } from "@/types/agent/AgentRuntimeAssembly.js";
13
+ import type { AgentContext } from "@/types/runtime/agent/AgentContext.js";
14
+ import type { Logger } from "@/utils/logger/Logger.js";
15
+ import type { DowncityConfig } from "@/types/config/DowncityConfig.js";
16
+ import type { JsonValue } from "@/types/common/Json.js";
17
+
18
+ /**
19
+ * Plugin 命令执行上下文。
20
+ *
21
+ * 关键点(中文)
22
+ * - 这里表达的是“CLI 命令执行 plugin 时真正需要的最小上下文”。
23
+ * - plugin 命令不应依赖 session、plugin invoke、agent runtime 等长期宿主对象。
24
+ * - agent runtime 在需要复用 action 时,直接传入自身更完整的 AgentContext 即可。
25
+ */
26
+ export interface PluginCommandContext {
27
+ /** 当前命令工作目录。 */
28
+ cwd: string;
29
+ /** 当前项目根目录。 */
30
+ rootPath: string;
31
+ /** 当前统一日志器。 */
32
+ logger: Logger;
33
+ /** 当前解析后的项目配置。 */
34
+ config: DowncityConfig;
35
+ /**
36
+ * 当前项目环境变量快照。
37
+ *
38
+ * 关键点(中文)
39
+ * - 这里约定为宿主已经整理好的最终可见 env 视图。
40
+ * - plugin 不再区分 global env 与 agent env,避免上下文语义膨胀。
41
+ */
42
+ env: Record<string, string>;
43
+ /** 当前可见的路径能力集合。 */
44
+ paths: AgentPathRuntime;
45
+ /** 当前可见的 plugin 配置持久化能力集合。 */
46
+ pluginConfig: AgentPluginConfigRuntime;
47
+ }
48
+
49
+ /**
50
+ * Plugin 非 action 命令执行参数。
51
+ */
52
+ export interface PluginCommandParams {
53
+ /** 当前统一执行上下文。 */
54
+ context: AgentContext;
55
+ /** 当前命令名称。 */
56
+ command: string;
57
+ /** 命令附带 payload(可选)。 */
58
+ payload?: JsonValue;
59
+ }
60
+
61
+ /**
62
+ * Plugin 非 action 命令执行结果。
63
+ */
64
+ export interface PluginCommandResult {
65
+ /** 本次命令是否成功。 */
66
+ success: boolean;
67
+ /** 人类可读消息。 */
68
+ message?: string;
69
+ /** 结构化返回数据。 */
70
+ data?: JsonValue;
71
+ }
72
+
73
+ /**
74
+ * Plugin 生命周期兼容定义。
75
+ *
76
+ * 关键点(中文)
77
+ * - 这是从旧运行生命周期过渡过来的兼容层。
78
+ * - 新代码优先直接实现 `start/stop/command`。
79
+ */
80
+ export interface PluginLifecycle {
81
+ /** plugin 启动钩子。 */
82
+ start?(context: AgentContext): Promise<void> | void;
83
+ /** plugin 停止钩子。 */
84
+ stop?(context: AgentContext): Promise<void> | void;
85
+ /** plugin 非 action 命令钩子。 */
86
+ command?(
87
+ params: PluginCommandParams,
88
+ ): Promise<PluginCommandResult> | PluginCommandResult;
89
+ }
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Plugin 顶层定义类型。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里只组合 plugin 的各类能力,不展开每个能力的细节。
6
+ * - 细节类型分散在 State / Command / Action / Runtime / Setup / HTTP 模块。
7
+ */
8
+
9
+ import type {
10
+ AgentContext,
11
+ StructuredConfig,
12
+ } from "@/types/runtime/agent/AgentContext.js";
13
+ import type { PluginActions } from "@/types/plugin/PluginAction.js";
14
+ import type {
15
+ PluginAvailability,
16
+ PluginConfigDefinition,
17
+ PluginHooks,
18
+ PluginResolves,
19
+ } from "@/types/plugin/PluginRuntime.js";
20
+ import type {
21
+ PluginCommandContext,
22
+ PluginLifecycle,
23
+ } from "@/types/plugin/PluginCommand.js";
24
+ import type {
25
+ PluginSetupDefinition,
26
+ PluginUsageDefinition,
27
+ } from "@/types/plugin/PluginSetup.js";
28
+ import type { PluginHttpDefinition } from "@/types/plugin/PluginHttp.js";
29
+
30
+ /**
31
+ * Plugin 定义。
32
+ */
33
+ export interface Plugin {
34
+ /** Plugin 稳定名称。 */
35
+ name: string;
36
+ /** Plugin 面向用户界面的展示标题。 */
37
+ title: string;
38
+ /** Plugin 面向人类的用途说明。 */
39
+ description: string;
40
+ /** Plugin 配置定义(可选)。 */
41
+ config?: PluginConfigDefinition<StructuredConfig>;
42
+ /** Plugin 显式 Action 集合(可选)。 */
43
+ actions?: PluginActions;
44
+ /**
45
+ * Plugin setup 定义(可选)。
46
+ *
47
+ * 说明(中文)
48
+ * - 这是 Console 面向用户的安装/配置协议。
49
+ * - plugin 内部仍可复用 asset/helper,但 UI 只读取这层抽象。
50
+ */
51
+ setup?: PluginSetupDefinition;
52
+ /**
53
+ * Plugin usage 定义(可选)。
54
+ *
55
+ * 说明(中文)
56
+ * - 这是 agent 侧如何使用该 plugin 的配置协议。
57
+ * - 与 setup 不同,这里不负责依赖安装,只负责行为选择与运行参数。
58
+ */
59
+ usage?: PluginUsageDefinition;
60
+ /** Plugin Hook 集合(可选)。 */
61
+ hooks?: PluginHooks;
62
+ /** Plugin resolve 点集合(可选)。 */
63
+ resolves?: PluginResolves;
64
+ /** Plugin system 文本构建器(可选)。 */
65
+ system?: (context: AgentContext) => string | Promise<string>;
66
+ /** 旧生命周期兼容定义(可选)。 */
67
+ lifecycle?: PluginLifecycle;
68
+ /** Plugin 可用性检查器(可选)。 */
69
+ availability?: (
70
+ context: PluginCommandContext | AgentContext,
71
+ ) => Promise<PluginAvailability> | PluginAvailability;
72
+ /** Plugin HTTP 注入定义(可选)。 */
73
+ http?: PluginHttpDefinition;
74
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Plugin HTTP 注入类型。
3
+ *
4
+ * 关键点(中文)
5
+ * - plugin 只声明自己的路由与鉴权策略。
6
+ * - server 装配、代理和鉴权执行仍由宿主负责。
7
+ */
8
+
9
+ import type { Hono } from "hono";
10
+ import type { AgentContext } from "@/types/runtime/agent/AgentContext.js";
11
+ import type { AuthRoutePolicy } from "@/types/runtime/auth/AuthRoute.js";
12
+
13
+ /**
14
+ * Plugin HTTP 注入参数。
15
+ */
16
+ export interface PluginHttpRegistration {
17
+ /** 该组路由对应的鉴权策略列表。 */
18
+ authPolicies?: AuthRoutePolicy[];
19
+ /** 向 runtime Hono 应用注册路由。 */
20
+ register(params: {
21
+ /** 当前 Hono 应用实例。 */
22
+ app: Hono;
23
+ /** 获取当前统一执行上下文。 */
24
+ getContext: () => AgentContext;
25
+ /** 当前 plugin 稳定名称。 */
26
+ pluginName: string;
27
+ }): void;
28
+ }
29
+
30
+ /**
31
+ * Plugin HTTP 注入定义。
32
+ */
33
+ export interface PluginHttpDefinition {
34
+ /** server HTTP 路由注入(可选)。 */
35
+ server?: PluginHttpRegistration;
36
+ }
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Plugin runtime 类型。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里描述 Agent runtime 如何查看、调用、检查 plugin。
6
+ * - setup/usage UI 协议与 action 输入适配不放在这里。
7
+ */
8
+
9
+ import type {
10
+ AgentContext,
11
+ StructuredConfig,
12
+ } from "@/types/runtime/agent/AgentContext.js";
13
+ import type { JsonValue } from "@/types/common/Json.js";
14
+ import type { PluginActionResult } from "@/types/plugin/PluginAction.js";
15
+
16
+ /**
17
+ * Plugin 概览视图。
18
+ */
19
+ export interface PluginView {
20
+ /** Plugin 稳定名称。 */
21
+ name: string;
22
+ /** Plugin 面向用户界面的展示标题。 */
23
+ title: string;
24
+ /** Plugin 面向人类的用途说明。 */
25
+ description: string;
26
+ /** Plugin Action 名称列表。 */
27
+ actions: string[];
28
+ /** Plugin pipeline 点名称列表。 */
29
+ pipelines: string[];
30
+ /** Plugin guard 点名称列表。 */
31
+ guards: string[];
32
+ /** Plugin effect 点名称列表。 */
33
+ effects: string[];
34
+ /** Plugin resolve 点名称列表。 */
35
+ resolves: string[];
36
+ /** 是否声明了 system 注入。 */
37
+ hasSystem: boolean;
38
+ /** 是否声明了 availability 检查。 */
39
+ hasAvailability: boolean;
40
+ }
41
+
42
+ /**
43
+ * Plugin 可用性结果。
44
+ */
45
+ export interface PluginAvailability {
46
+ /** Plugin 是否启用。 */
47
+ enabled: boolean;
48
+ /** Plugin 当前是否可用。 */
49
+ available: boolean;
50
+ /** 不可用原因列表。 */
51
+ reasons: string[];
52
+ }
53
+
54
+ /**
55
+ * Plugin 调用端口。
56
+ */
57
+ export interface PluginPort {
58
+ /** 列出全部已注册 plugin。 */
59
+ list(): PluginView[];
60
+ /** 检查指定 plugin 可用性。 */
61
+ availability(pluginName: string): Promise<PluginAvailability>;
62
+ /** 运行指定 plugin action。 */
63
+ runAction(params: {
64
+ /** Plugin 名称。 */
65
+ plugin: string;
66
+ /** Action 名称。 */
67
+ action: string;
68
+ /** Action Payload(可选)。 */
69
+ payload?: JsonValue;
70
+ }): Promise<PluginActionResult<JsonValue>>;
71
+ /** 运行 pipeline 点,按顺序链式变换值。 */
72
+ pipeline<T = JsonValue>(pointName: string, value: T): Promise<T>;
73
+ /** 运行 guard 点;任一插件抛错即终止。 */
74
+ guard<T = JsonValue>(pointName: string, value: T): Promise<void>;
75
+ /** 运行 effect 点;只执行副作用。 */
76
+ effect<T = JsonValue>(pointName: string, value: T): Promise<void>;
77
+ /** 运行 resolve 点;要求存在且仅存在一个处理器。 */
78
+ resolve<TInput = JsonValue, TOutput = JsonValue>(
79
+ pointName: string,
80
+ value: TInput,
81
+ ): Promise<TOutput>;
82
+ }
83
+
84
+ /**
85
+ * Plugin 配置定义。
86
+ */
87
+ export interface PluginConfigDefinition<T extends StructuredConfig = StructuredConfig> {
88
+ /** Plugin 稳定名称。 */
89
+ plugin: string;
90
+ /** 配置作用域。 */
91
+ scope: "global" | "project";
92
+ /** 默认配置值。 */
93
+ defaultValue: T;
94
+ }
95
+
96
+ /**
97
+ * Plugin pipeline 处理器。
98
+ */
99
+ export type PluginPipelineHook<
100
+ TValue extends JsonValue = JsonValue,
101
+ > = (params: {
102
+ /** 当前执行上下文。 */
103
+ context: AgentContext;
104
+ /** 当前值。 */
105
+ value: TValue;
106
+ /** 当前插件名称。 */
107
+ plugin: string;
108
+ }) => Promise<TValue> | TValue;
109
+
110
+ /**
111
+ * Plugin guard 处理器。
112
+ *
113
+ * 关键点(中文)
114
+ * - 不返回结果;若需阻断流程,直接抛错。
115
+ */
116
+ export type PluginGuardHook<TValue extends JsonValue = JsonValue> = (params: {
117
+ /** 当前执行上下文。 */
118
+ context: AgentContext;
119
+ /** 当前值。 */
120
+ value: TValue;
121
+ /** 当前插件名称。 */
122
+ plugin: string;
123
+ }) => Promise<void> | void;
124
+
125
+ /**
126
+ * Plugin effect 处理器。
127
+ */
128
+ export type PluginEffectHook<TValue extends JsonValue = JsonValue> = (params: {
129
+ /** 当前执行上下文。 */
130
+ context: AgentContext;
131
+ /** 当前值。 */
132
+ value: TValue;
133
+ /** 当前插件名称。 */
134
+ plugin: string;
135
+ }) => Promise<void> | void;
136
+
137
+ /**
138
+ * Plugin resolve 处理器。
139
+ */
140
+ export type PluginResolveHook<
141
+ TInput extends JsonValue = JsonValue,
142
+ TOutput extends JsonValue = JsonValue,
143
+ > = (params: {
144
+ /** 当前执行上下文。 */
145
+ context: AgentContext;
146
+ /** 当前输入值。 */
147
+ value: TInput;
148
+ /** 当前插件名称。 */
149
+ plugin: string;
150
+ }) => Promise<TOutput> | TOutput;
151
+
152
+ /**
153
+ * Plugin Hook 定义集合。
154
+ */
155
+ export interface PluginHooks {
156
+ /** pipeline 点映射。 */
157
+ pipeline?: Record<string, PluginPipelineHook<JsonValue>[]>;
158
+ /** guard 点映射。 */
159
+ guard?: Record<string, PluginGuardHook<JsonValue>[]>;
160
+ /** effect 点映射。 */
161
+ effect?: Record<string, PluginEffectHook<JsonValue>[]>;
162
+ }
163
+
164
+ /**
165
+ * Plugin resolve 点集合。
166
+ */
167
+ export type PluginResolves = {
168
+ [pointName: string]: PluginResolveHook<JsonValue, JsonValue>;
169
+ };
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Plugin setup / usage UI 协议类型。
3
+ *
4
+ * 关键点(中文)
5
+ * - setup 面向安装与配置。
6
+ * - usage 面向 agent 使用 plugin 时的行为参数。
7
+ */
8
+
9
+ /**
10
+ * Plugin setup 字段选项。
11
+ */
12
+ export interface PluginSetupFieldOption {
13
+ /** 选项展示标签。 */
14
+ label: string;
15
+ /** 选项实际值。 */
16
+ value: string;
17
+ /** 选项补充说明(可选)。 */
18
+ hint?: string;
19
+ }
20
+
21
+ /**
22
+ * Plugin setup 字段定义。
23
+ */
24
+ export interface PluginSetupField {
25
+ /** 字段稳定键。 */
26
+ key: string;
27
+ /** 字段展示标签。 */
28
+ label: string;
29
+ /**
30
+ * 字段类型。
31
+ *
32
+ * 说明(中文)
33
+ * - 当前阶段只允许 `select` 与 `checkbox`,避免退回到大量自由输入。
34
+ */
35
+ type: "select" | "checkbox";
36
+ /** 是否必填。 */
37
+ required?: boolean;
38
+ /** 静态选项列表(可选)。 */
39
+ options?: PluginSetupFieldOption[];
40
+ /**
41
+ * 动态选项来源 action(可选)。
42
+ *
43
+ * 说明(中文)
44
+ * - 若存在,则 Console 打开 setup 弹窗时会先调用该 action 拉取下拉选项。
45
+ */
46
+ sourceAction?: string;
47
+ }
48
+
49
+ /**
50
+ * Plugin setup 定义。
51
+ */
52
+ export interface PluginSetupDefinition {
53
+ /**
54
+ * setup 模式。
55
+ *
56
+ * 说明(中文)
57
+ * - `install`:只执行依赖安装。
58
+ * - `configure`:只写入配置。
59
+ * - `install-configure`:安装与配置一体化。
60
+ */
61
+ mode: "install" | "configure" | "install-configure";
62
+ /** setup 面板标题。 */
63
+ title: string;
64
+ /** setup 面板说明(可选)。 */
65
+ description?: string;
66
+ /** setup 字段列表。 */
67
+ fields: PluginSetupField[];
68
+ /** 主动作 action 名称。 */
69
+ primaryAction: string;
70
+ /** 状态同步 action 名称(可选)。 */
71
+ statusAction?: string;
72
+ }
73
+
74
+ /**
75
+ * Plugin usage 字段选项。
76
+ */
77
+ export interface PluginUsageFieldOption {
78
+ /** 选项展示标签。 */
79
+ label: string;
80
+ /** 选项实际值。 */
81
+ value: string;
82
+ /** 选项补充说明(可选)。 */
83
+ description?: string;
84
+ }
85
+
86
+ /**
87
+ * Plugin usage 字段定义。
88
+ */
89
+ export interface PluginUsageField {
90
+ /** 字段稳定键。 */
91
+ key: string;
92
+ /** 字段展示标签。 */
93
+ label: string;
94
+ /**
95
+ * 字段类型。
96
+ *
97
+ * 说明(中文)
98
+ * - `usage` 面向 agent 如何使用 plugin,因此允许更丰富的配置类型。
99
+ */
100
+ type: "string" | "secret" | "boolean" | "select" | "number";
101
+ /** 字段占位文案(可选)。 */
102
+ placeholder?: string;
103
+ /** 字段说明(可选)。 */
104
+ description?: string;
105
+ /** 是否必填。 */
106
+ required?: boolean;
107
+ /** 字段是否禁用。 */
108
+ disabled?: boolean;
109
+ /** 布尔字段为 true 时的标签(可选)。 */
110
+ trueLabel?: string;
111
+ /** 布尔字段为 false 时的标签(可选)。 */
112
+ falseLabel?: string;
113
+ /** 静态选项列表(可选)。 */
114
+ options?: PluginUsageFieldOption[];
115
+ /**
116
+ * 动态选项来源 action(可选)。
117
+ *
118
+ * 说明(中文)
119
+ * - Console 打开 usage 面板时会先调用该 action 同步下拉选项。
120
+ */
121
+ sourceAction?: string;
122
+ }
123
+
124
+ /**
125
+ * Plugin usage 定义。
126
+ */
127
+ export interface PluginUsageDefinition {
128
+ /** usage 面板标题。 */
129
+ title: string;
130
+ /** usage 面板说明(可选)。 */
131
+ description?: string;
132
+ /** agent 使用该 plugin 时可配置的字段列表。 */
133
+ fields: PluginUsageField[];
134
+ /** 保存 usage 配置时调用的 action。 */
135
+ saveAction: string;
136
+ /** 读取当前 usage 快照时调用的 action(可选)。 */
137
+ statusAction?: string;
138
+ }