@downcity/agent 1.1.408 → 1.1.437

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 (1152) hide show
  1. package/README.md +63 -51
  2. package/bin/agent/Agent.d.ts +39 -17
  3. package/bin/agent/Agent.d.ts.map +1 -1
  4. package/bin/agent/Agent.js +169 -71
  5. package/bin/agent/Agent.js.map +1 -1
  6. package/bin/agent/AgentInstructions.d.ts +1 -1
  7. package/bin/agent/AgentInstructions.js +3 -3
  8. package/bin/agent/AgentInstructions.js.map +1 -1
  9. package/bin/agent/AgentMemoryStorage.d.ts +18 -0
  10. package/bin/agent/AgentMemoryStorage.d.ts.map +1 -0
  11. package/bin/agent/AgentMemoryStorage.js +176 -0
  12. package/bin/agent/AgentMemoryStorage.js.map +1 -0
  13. package/bin/agent/AgentSessions.d.ts +32 -33
  14. package/bin/agent/AgentSessions.d.ts.map +1 -1
  15. package/bin/agent/AgentSessions.js +122 -72
  16. package/bin/agent/AgentSessions.js.map +1 -1
  17. package/bin/executor/Executor.d.ts +12 -30
  18. package/bin/executor/Executor.d.ts.map +1 -1
  19. package/bin/executor/Executor.js +39 -121
  20. package/bin/executor/Executor.js.map +1 -1
  21. package/bin/executor/composer/system/default/SystemPromptAssets.d.ts +0 -4
  22. package/bin/executor/composer/system/default/SystemPromptAssets.d.ts.map +1 -1
  23. package/bin/executor/composer/system/default/SystemPromptAssets.js +1 -6
  24. package/bin/executor/composer/system/default/SystemPromptAssets.js.map +1 -1
  25. package/bin/executor/composer/system/default/assets/core.prompt.d.ts +1 -1
  26. package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +1 -1
  27. package/bin/executor/composer/system/default/assets/core.prompt.js +1 -1
  28. package/bin/executor/composer/system/default/assets/core.prompt.js.map +1 -1
  29. package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts +3 -9
  30. package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts.map +1 -1
  31. package/bin/executor/core-engine/CoreEngineContextCompaction.js +4 -130
  32. package/bin/executor/core-engine/CoreEngineContextCompaction.js.map +1 -1
  33. package/bin/executor/core-engine/CoreEngineError.d.ts +1 -1
  34. package/bin/executor/core-engine/CoreEngineError.d.ts.map +1 -1
  35. package/bin/executor/core-engine/CoreEngineLoopDecision.d.ts +1 -1
  36. package/bin/executor/core-engine/CoreEngineRunner.d.ts +3 -30
  37. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
  38. package/bin/executor/core-engine/CoreEngineRunner.js +83 -245
  39. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
  40. package/bin/executor/core-engine/CoreEngineSignals.d.ts +7 -7
  41. package/bin/executor/core-engine/CoreEngineSignals.d.ts.map +1 -1
  42. package/bin/executor/core-engine/CoreEngineSignals.js +1 -1
  43. package/bin/executor/core-engine/CoreEngineSignals.js.map +1 -1
  44. package/bin/executor/messages/SessionAttachmentMapper.d.ts +2 -2
  45. package/bin/executor/messages/SessionAttachmentMapper.d.ts.map +1 -1
  46. package/bin/executor/messages/SessionAttachmentMapper.js.map +1 -1
  47. package/bin/executor/messages/SessionMessageLog.d.ts +3 -3
  48. package/bin/executor/messages/SessionMessageLog.d.ts.map +1 -1
  49. package/bin/executor/messages/SessionMessageLog.js.map +1 -1
  50. package/bin/executor/messages/SessionModelMessages.d.ts +1 -4
  51. package/bin/executor/messages/SessionModelMessages.d.ts.map +1 -1
  52. package/bin/executor/messages/SessionModelMessages.js +81 -91
  53. package/bin/executor/messages/SessionModelMessages.js.map +1 -1
  54. package/bin/executor/model/ModelGenerate.d.ts +12 -2
  55. package/bin/executor/model/ModelGenerate.d.ts.map +1 -1
  56. package/bin/executor/model/ModelGenerate.js +23 -15
  57. package/bin/executor/model/ModelGenerate.js.map +1 -1
  58. package/bin/executor/model/ModelRequestRunner.d.ts +29 -0
  59. package/bin/executor/model/ModelRequestRunner.d.ts.map +1 -0
  60. package/bin/executor/model/ModelRequestRunner.js +77 -0
  61. package/bin/executor/model/ModelRequestRunner.js.map +1 -0
  62. package/bin/executor/model/ModelStepRunner.d.ts +3 -7
  63. package/bin/executor/model/ModelStepRunner.d.ts.map +1 -1
  64. package/bin/executor/model/ModelStepRunner.js +9 -41
  65. package/bin/executor/model/ModelStepRunner.js.map +1 -1
  66. package/bin/executor/model/ModelStreamConsumer.d.ts +12 -0
  67. package/bin/executor/model/ModelStreamConsumer.d.ts.map +1 -0
  68. package/bin/executor/model/ModelStreamConsumer.js +60 -0
  69. package/bin/executor/model/ModelStreamConsumer.js.map +1 -0
  70. package/bin/executor/model/ModelStreamFailure.d.ts +4 -0
  71. package/bin/executor/model/ModelStreamFailure.d.ts.map +1 -1
  72. package/bin/executor/model/ModelStreamFailure.js +21 -0
  73. package/bin/executor/model/ModelStreamFailure.js.map +1 -1
  74. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +7 -64
  75. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -1
  76. package/bin/executor/services/ExecutorRecoveryPolicy.js +29 -45
  77. package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -1
  78. package/bin/executor/types/SessionHistoryMeta.d.ts +6 -8
  79. package/bin/executor/types/SessionHistoryMeta.d.ts.map +1 -1
  80. package/bin/executor/types/SessionHistoryMeta.js +1 -1
  81. package/bin/group/Group.d.ts +22 -3
  82. package/bin/group/Group.d.ts.map +1 -1
  83. package/bin/group/Group.js +54 -4
  84. package/bin/group/Group.js.map +1 -1
  85. package/bin/group/GroupDispatchRuntime.d.ts +37 -0
  86. package/bin/group/GroupDispatchRuntime.d.ts.map +1 -0
  87. package/bin/group/{GroupDispatchSession.js → GroupDispatchRuntime.js} +77 -21
  88. package/bin/group/GroupDispatchRuntime.js.map +1 -0
  89. package/bin/group/GroupSession.d.ts +20 -6
  90. package/bin/group/GroupSession.d.ts.map +1 -1
  91. package/bin/group/GroupSession.js +148 -84
  92. package/bin/group/GroupSession.js.map +1 -1
  93. package/bin/group/GroupSessions.d.ts +1 -1
  94. package/bin/group/GroupSessions.d.ts.map +1 -1
  95. package/bin/group/GroupSessions.js +11 -10
  96. package/bin/group/GroupSessions.js.map +1 -1
  97. package/bin/group/index.d.ts +1 -1
  98. package/bin/group/index.d.ts.map +1 -1
  99. package/bin/{workspace/store → group/storage}/LocalGroupSessionDataStore.d.ts +11 -3
  100. package/bin/group/storage/LocalGroupSessionDataStore.d.ts.map +1 -0
  101. package/bin/{workspace/store → group/storage}/LocalGroupSessionDataStore.js +89 -6
  102. package/bin/group/storage/LocalGroupSessionDataStore.js.map +1 -0
  103. package/bin/group/storage/LocalGroupSessionStore.d.ts.map +1 -0
  104. package/bin/{workspace/store → group/storage}/LocalGroupSessionStore.js +1 -1
  105. package/bin/group/storage/LocalGroupSessionStore.js.map +1 -0
  106. package/bin/index.d.ts +25 -55
  107. package/bin/index.d.ts.map +1 -1
  108. package/bin/index.js +9 -21
  109. package/bin/index.js.map +1 -1
  110. package/bin/session/DefaultSessionComposer.d.ts +13 -7
  111. package/bin/session/DefaultSessionComposer.d.ts.map +1 -1
  112. package/bin/session/DefaultSessionComposer.js +63 -24
  113. package/bin/session/DefaultSessionComposer.js.map +1 -1
  114. package/bin/session/Session.d.ts +27 -70
  115. package/bin/session/Session.d.ts.map +1 -1
  116. package/bin/session/Session.js +136 -446
  117. package/bin/session/Session.js.map +1 -1
  118. package/bin/session/SessionComposition.d.ts +49 -0
  119. package/bin/session/SessionComposition.d.ts.map +1 -0
  120. package/bin/session/SessionComposition.js +309 -0
  121. package/bin/session/SessionComposition.js.map +1 -0
  122. package/bin/session/SessionHookPoints.d.ts +15 -0
  123. package/bin/session/SessionHookPoints.d.ts.map +1 -0
  124. package/bin/session/SessionHookPoints.js +15 -0
  125. package/bin/session/SessionHookPoints.js.map +1 -0
  126. package/bin/session/SessionHooks.d.ts +38 -0
  127. package/bin/session/SessionHooks.d.ts.map +1 -0
  128. package/bin/session/SessionHooks.js +71 -0
  129. package/bin/session/SessionHooks.js.map +1 -0
  130. package/bin/session/SessionLoop.d.ts +18 -10
  131. package/bin/session/SessionLoop.d.ts.map +1 -1
  132. package/bin/session/SessionLoop.js +234 -213
  133. package/bin/session/SessionLoop.js.map +1 -1
  134. package/bin/session/SessionMessages.d.ts +57 -86
  135. package/bin/session/SessionMessages.d.ts.map +1 -1
  136. package/bin/session/SessionMessages.js +289 -506
  137. package/bin/session/SessionMessages.js.map +1 -1
  138. package/bin/session/SessionQueue.d.ts +1 -1
  139. package/bin/session/SessionQueue.d.ts.map +1 -1
  140. package/bin/session/SessionQueue.js +2 -1
  141. package/bin/session/SessionQueue.js.map +1 -1
  142. package/bin/session/SessionState.d.ts +7 -11
  143. package/bin/session/SessionState.d.ts.map +1 -1
  144. package/bin/session/SessionState.js +63 -95
  145. package/bin/session/SessionState.js.map +1 -1
  146. package/bin/session/SessionSystem.d.ts +6 -2
  147. package/bin/session/SessionSystem.d.ts.map +1 -1
  148. package/bin/session/SessionSystem.js +41 -1
  149. package/bin/session/SessionSystem.js.map +1 -1
  150. package/bin/session/SessionTitle.d.ts +37 -7
  151. package/bin/session/SessionTitle.d.ts.map +1 -1
  152. package/bin/session/SessionTitle.js +43 -37
  153. package/bin/session/SessionTitle.js.map +1 -1
  154. package/bin/session/browse/Browse.d.ts +34 -48
  155. package/bin/session/browse/Browse.d.ts.map +1 -1
  156. package/bin/session/browse/Browse.js +106 -354
  157. package/bin/session/browse/Browse.js.map +1 -1
  158. package/bin/session/browse/SessionMessageTimeline.d.ts +1 -1
  159. package/bin/session/browse/SessionMessageTimeline.d.ts.map +1 -1
  160. package/bin/session/browse/SessionMessageTimeline.js +61 -37
  161. package/bin/session/browse/SessionMessageTimeline.js.map +1 -1
  162. package/bin/session/composer/policies/AdaptivePartContextPolicy.d.ts +35 -0
  163. package/bin/session/composer/policies/AdaptivePartContextPolicy.d.ts.map +1 -0
  164. package/bin/session/composer/policies/AdaptivePartContextPolicy.js +256 -0
  165. package/bin/session/composer/policies/AdaptivePartContextPolicy.js.map +1 -0
  166. package/bin/session/composer/policies/FullHistoryContextPolicy.d.ts +24 -0
  167. package/bin/session/composer/policies/FullHistoryContextPolicy.d.ts.map +1 -0
  168. package/bin/session/composer/policies/FullHistoryContextPolicy.js +31 -0
  169. package/bin/session/composer/policies/FullHistoryContextPolicy.js.map +1 -0
  170. package/bin/session/composer/policies/SessionSummaryPrompts.d.ts +16 -0
  171. package/bin/session/composer/policies/SessionSummaryPrompts.d.ts.map +1 -0
  172. package/bin/session/composer/policies/SessionSummaryPrompts.js +32 -0
  173. package/bin/session/composer/policies/SessionSummaryPrompts.js.map +1 -0
  174. package/bin/session/control/SessionInteractions.d.ts +2 -2
  175. package/bin/session/control/SessionInteractions.d.ts.map +1 -1
  176. package/bin/session/execution/SessionAssistantOutputAdapter.d.ts +16 -5
  177. package/bin/session/execution/SessionAssistantOutputAdapter.d.ts.map +1 -1
  178. package/bin/session/execution/SessionAssistantOutputAdapter.js +7 -3
  179. package/bin/session/execution/SessionAssistantOutputAdapter.js.map +1 -1
  180. package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts +3 -3
  181. package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts.map +1 -1
  182. package/bin/session/index.d.ts +8 -0
  183. package/bin/session/index.d.ts.map +1 -0
  184. package/bin/session/index.js +7 -0
  185. package/bin/session/index.js.map +1 -0
  186. package/bin/session/messages/SessionAgentActionPartWriter.d.ts +22 -0
  187. package/bin/session/messages/SessionAgentActionPartWriter.d.ts.map +1 -0
  188. package/bin/session/messages/SessionAgentActionPartWriter.js +36 -0
  189. package/bin/session/messages/SessionAgentActionPartWriter.js.map +1 -0
  190. package/bin/session/messages/SessionAgentContent.d.ts +10 -0
  191. package/bin/session/messages/SessionAgentContent.d.ts.map +1 -0
  192. package/bin/session/messages/SessionAgentContent.js +44 -0
  193. package/bin/session/messages/SessionAgentContent.js.map +1 -0
  194. package/bin/session/messages/SessionAgentMessageState.d.ts +50 -0
  195. package/bin/session/messages/SessionAgentMessageState.d.ts.map +1 -0
  196. package/bin/session/messages/SessionAgentMessageState.js +283 -0
  197. package/bin/session/messages/SessionAgentMessageState.js.map +1 -0
  198. package/bin/session/messages/{SessionAssistantMessageWriter.d.ts → SessionAgentMessageWriter.d.ts} +23 -9
  199. package/bin/session/messages/SessionAgentMessageWriter.d.ts.map +1 -0
  200. package/bin/session/messages/{SessionAssistantMessageWriter.js → SessionAgentMessageWriter.js} +56 -44
  201. package/bin/session/messages/SessionAgentMessageWriter.js.map +1 -0
  202. package/bin/session/messages/SessionForkMessageFiles.d.ts +22 -0
  203. package/bin/session/messages/SessionForkMessageFiles.d.ts.map +1 -0
  204. package/bin/session/messages/SessionForkMessageFiles.js +52 -0
  205. package/bin/session/messages/SessionForkMessageFiles.js.map +1 -0
  206. package/bin/session/messages/SessionJsonValue.d.ts +1 -1
  207. package/bin/session/messages/SessionJsonValue.d.ts.map +1 -1
  208. package/bin/session/messages/SessionMessageInteractionWriter.d.ts +7 -12
  209. package/bin/session/messages/SessionMessageInteractionWriter.d.ts.map +1 -1
  210. package/bin/session/messages/SessionMessageInteractionWriter.js +4 -4
  211. package/bin/session/messages/SessionMessageInteractionWriter.js.map +1 -1
  212. package/bin/session/messages/SessionMessageText.d.ts +4 -4
  213. package/bin/session/messages/SessionMessageText.d.ts.map +1 -1
  214. package/bin/session/messages/SessionMessageText.js +0 -2
  215. package/bin/session/messages/SessionMessageText.js.map +1 -1
  216. package/bin/session/messages/SessionTurnFileDiffBuilder.d.ts +15 -0
  217. package/bin/session/messages/SessionTurnFileDiffBuilder.d.ts.map +1 -0
  218. package/bin/session/messages/SessionTurnFileDiffBuilder.js +180 -0
  219. package/bin/session/messages/SessionTurnFileDiffBuilder.js.map +1 -0
  220. package/bin/session/messages/SessionTurnFileDiffData.d.ts +15 -0
  221. package/bin/session/messages/SessionTurnFileDiffData.d.ts.map +1 -0
  222. package/bin/session/messages/SessionTurnFileDiffData.js +59 -0
  223. package/bin/session/messages/SessionTurnFileDiffData.js.map +1 -0
  224. package/bin/session/messages/SessionUserContext.d.ts +13 -0
  225. package/bin/session/messages/SessionUserContext.d.ts.map +1 -0
  226. package/bin/session/messages/SessionUserContext.js +38 -0
  227. package/bin/session/messages/SessionUserContext.js.map +1 -0
  228. package/bin/session/messages/SessionUserMessage.d.ts +14 -0
  229. package/bin/session/messages/SessionUserMessage.d.ts.map +1 -0
  230. package/bin/session/messages/SessionUserMessage.js +74 -0
  231. package/bin/session/messages/SessionUserMessage.js.map +1 -0
  232. package/bin/session/preview/SessionMessagePreview.d.ts +1 -1
  233. package/bin/session/preview/SessionMessagePreview.d.ts.map +1 -1
  234. package/bin/session/preview/SessionMessagePreview.js +26 -10
  235. package/bin/session/preview/SessionMessagePreview.js.map +1 -1
  236. package/bin/session/runtime/SessionEventHub.d.ts +1 -1
  237. package/bin/session/runtime/SessionEventHub.d.ts.map +1 -1
  238. package/bin/session/runtime/SessionModelRequestWarning.d.ts +17 -0
  239. package/bin/session/runtime/SessionModelRequestWarning.d.ts.map +1 -0
  240. package/bin/session/runtime/SessionModelRequestWarning.js +19 -0
  241. package/bin/session/runtime/SessionModelRequestWarning.js.map +1 -0
  242. package/bin/session/runtime/SessionTitleTask.d.ts +2 -2
  243. package/bin/session/runtime/SessionTitleTask.d.ts.map +1 -1
  244. package/bin/session/runtime/SessionTitleTask.js +1 -1
  245. package/bin/session/runtime/SessionTitleTask.js.map +1 -1
  246. package/bin/session/runtime/SessionTurnCompletion.d.ts +15 -0
  247. package/bin/session/runtime/SessionTurnCompletion.d.ts.map +1 -0
  248. package/bin/session/runtime/SessionTurnCompletion.js +126 -0
  249. package/bin/session/runtime/SessionTurnCompletion.js.map +1 -0
  250. package/bin/session/runtime/SessionTurnContext.d.ts +6 -3
  251. package/bin/session/runtime/SessionTurnContext.d.ts.map +1 -1
  252. package/bin/session/runtime/SessionTurnContext.js +73 -38
  253. package/bin/session/runtime/SessionTurnContext.js.map +1 -1
  254. package/bin/session/runtime/SessionTurnFileDiff.d.ts +12 -0
  255. package/bin/session/runtime/SessionTurnFileDiff.d.ts.map +1 -0
  256. package/bin/session/runtime/SessionTurnFileDiff.js +71 -0
  257. package/bin/session/runtime/SessionTurnFileDiff.js.map +1 -0
  258. package/bin/{workspace/store → session/storage}/LocalSessionAttachmentStore.d.ts +11 -4
  259. package/bin/session/storage/LocalSessionAttachmentStore.d.ts.map +1 -0
  260. package/bin/{workspace/store → session/storage}/LocalSessionAttachmentStore.js +17 -2
  261. package/bin/session/storage/LocalSessionAttachmentStore.js.map +1 -0
  262. package/bin/session/storage/LocalSessionDataStore.d.ts +13 -0
  263. package/bin/session/storage/LocalSessionDataStore.d.ts.map +1 -0
  264. package/bin/session/storage/LocalSessionDataStore.js +28 -0
  265. package/bin/session/storage/LocalSessionDataStore.js.map +1 -0
  266. package/bin/{workspace/store → session/storage}/LocalSessionStore.d.ts +21 -10
  267. package/bin/session/storage/LocalSessionStore.d.ts.map +1 -0
  268. package/bin/session/storage/LocalSessionStore.js +329 -0
  269. package/bin/session/storage/LocalSessionStore.js.map +1 -0
  270. package/bin/session/storage/LocalStorePaths.d.ts +27 -0
  271. package/bin/session/storage/LocalStorePaths.d.ts.map +1 -0
  272. package/bin/session/storage/LocalStorePaths.js +69 -0
  273. package/bin/session/storage/LocalStorePaths.js.map +1 -0
  274. package/bin/session/storage/Metadata.d.ts +12 -9
  275. package/bin/session/storage/Metadata.d.ts.map +1 -1
  276. package/bin/session/storage/Metadata.js +8 -30
  277. package/bin/session/storage/Metadata.js.map +1 -1
  278. package/bin/session/storage/RuntimeSessionPort.d.ts +8 -8
  279. package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
  280. package/bin/session/storage/RuntimeSessionPort.js +6 -6
  281. package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
  282. package/bin/session/storage/SessionStorageCodec.d.ts +59 -0
  283. package/bin/session/storage/SessionStorageCodec.d.ts.map +1 -0
  284. package/bin/session/storage/SessionStorageCodec.js +331 -0
  285. package/bin/session/storage/SessionStorageCodec.js.map +1 -0
  286. package/bin/session/storage/SessionStorageSchema.d.ts +11 -0
  287. package/bin/session/storage/SessionStorageSchema.d.ts.map +1 -0
  288. package/bin/session/storage/SessionStorageSchema.js +131 -0
  289. package/bin/session/storage/SessionStorageSchema.js.map +1 -0
  290. package/bin/session/storage/SqliteSessionStorage.d.ts +120 -0
  291. package/bin/session/storage/SqliteSessionStorage.d.ts.map +1 -0
  292. package/bin/session/storage/SqliteSessionStorage.js +581 -0
  293. package/bin/session/storage/SqliteSessionStorage.js.map +1 -0
  294. package/bin/tools/ask/AskQuestionsTool.d.ts.map +1 -1
  295. package/bin/tools/ask/AskQuestionsTool.js +3 -1
  296. package/bin/tools/ask/AskQuestionsTool.js.map +1 -1
  297. package/bin/tools/ask/AskQuestionsToolSchemas.d.ts +1 -1
  298. package/bin/types/action/ActionResult.d.ts +13 -9
  299. package/bin/types/action/ActionResult.d.ts.map +1 -1
  300. package/bin/types/action/ActionResult.js +2 -1
  301. package/bin/types/action/ActionResult.js.map +1 -1
  302. package/bin/types/agent/AgentOptions.d.ts +25 -18
  303. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  304. package/bin/types/agent/AgentSessionCollection.d.ts +17 -13
  305. package/bin/types/agent/AgentSessionCollection.d.ts.map +1 -1
  306. package/bin/types/agent/AgentStorage.d.ts +4 -2
  307. package/bin/types/agent/AgentStorage.d.ts.map +1 -1
  308. package/bin/types/agent/SessionActor.d.ts +11 -20
  309. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  310. package/bin/types/agent/SessionTypes.d.ts +29 -37
  311. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  312. package/bin/types/executor/ModelRequest.d.ts +11 -0
  313. package/bin/types/executor/ModelRequest.d.ts.map +1 -0
  314. package/bin/types/executor/ModelRequest.js +7 -0
  315. package/bin/types/executor/ModelRequest.js.map +1 -0
  316. package/bin/types/executor/SessionAssistantOutput.d.ts +16 -5
  317. package/bin/types/executor/SessionAssistantOutput.d.ts.map +1 -1
  318. package/bin/types/executor/SessionToolExecutionContext.d.ts +3 -3
  319. package/bin/types/executor/SessionToolExecutionContext.d.ts.map +1 -1
  320. package/bin/types/executor/SessionTurnContext.d.ts +57 -34
  321. package/bin/types/executor/SessionTurnContext.d.ts.map +1 -1
  322. package/bin/types/group/DispatchStrategy.d.ts +62 -36
  323. package/bin/types/group/DispatchStrategy.d.ts.map +1 -1
  324. package/bin/types/group/DispatchStrategy.js +83 -39
  325. package/bin/types/group/DispatchStrategy.js.map +1 -1
  326. package/bin/types/group/Group.d.ts +8 -8
  327. package/bin/types/group/Group.d.ts.map +1 -1
  328. package/bin/types/group/{GroupDispatchSession.d.ts → GroupDispatch.d.ts} +21 -27
  329. package/bin/types/group/GroupDispatch.d.ts.map +1 -0
  330. package/bin/types/group/GroupDispatch.js +8 -0
  331. package/bin/types/group/GroupDispatch.js.map +1 -0
  332. package/bin/types/group/GroupSession.d.ts +14 -7
  333. package/bin/types/group/GroupSession.d.ts.map +1 -1
  334. package/bin/types/group/GroupSessionStore.d.ts +9 -5
  335. package/bin/types/group/GroupSessionStore.d.ts.map +1 -1
  336. package/bin/types/sdk/AgentSessionAction.d.ts +2 -2
  337. package/bin/types/sdk/AgentSessionAction.d.ts.map +1 -1
  338. package/bin/types/sdk/AgentSessionAction.js +1 -1
  339. package/bin/types/sdk/AgentSessionPrompt.d.ts +16 -6
  340. package/bin/types/sdk/AgentSessionPrompt.d.ts.map +1 -1
  341. package/bin/types/sdk/AgentSessionPrompt.js +7 -3
  342. package/bin/types/sdk/AgentSessionPrompt.js.map +1 -1
  343. package/bin/types/session/AdaptivePartContextPolicy.d.ts +31 -0
  344. package/bin/types/session/AdaptivePartContextPolicy.d.ts.map +1 -0
  345. package/bin/types/session/AdaptivePartContextPolicy.js +7 -0
  346. package/bin/types/session/AdaptivePartContextPolicy.js.map +1 -0
  347. package/bin/types/session/SessionAgentMessageState.d.ts +23 -0
  348. package/bin/types/session/SessionAgentMessageState.d.ts.map +1 -0
  349. package/bin/types/session/SessionAgentMessageState.js +8 -0
  350. package/bin/types/session/SessionAgentMessageState.js.map +1 -0
  351. package/bin/types/session/SessionCommand.d.ts +19 -7
  352. package/bin/types/session/SessionCommand.d.ts.map +1 -1
  353. package/bin/types/session/SessionComposer.d.ts +47 -41
  354. package/bin/types/session/SessionComposer.d.ts.map +1 -1
  355. package/bin/types/session/SessionComposer.js +2 -2
  356. package/bin/types/session/SessionComposition.d.ts +51 -0
  357. package/bin/types/session/SessionComposition.d.ts.map +1 -0
  358. package/bin/types/session/SessionComposition.js +8 -0
  359. package/bin/types/session/SessionComposition.js.map +1 -0
  360. package/bin/types/session/SessionContextPolicy.d.ts +70 -0
  361. package/bin/types/session/SessionContextPolicy.d.ts.map +1 -0
  362. package/bin/types/session/SessionContextPolicy.js +8 -0
  363. package/bin/types/session/SessionContextPolicy.js.map +1 -0
  364. package/bin/types/session/SessionExecution.d.ts +6 -33
  365. package/bin/types/session/SessionExecution.d.ts.map +1 -1
  366. package/bin/types/session/SessionInteractions.d.ts +1 -1
  367. package/bin/types/session/SessionInteractions.d.ts.map +1 -1
  368. package/bin/types/session/SessionLocalState.d.ts +2 -2
  369. package/bin/types/session/SessionLocalState.d.ts.map +1 -1
  370. package/bin/types/session/SessionLoop.d.ts +10 -9
  371. package/bin/types/session/SessionLoop.d.ts.map +1 -1
  372. package/bin/types/session/SessionMessages.d.ts +29 -30
  373. package/bin/types/session/SessionMessages.d.ts.map +1 -1
  374. package/bin/types/session/SessionOptions.d.ts +30 -44
  375. package/bin/types/session/SessionOptions.d.ts.map +1 -1
  376. package/bin/types/session/SessionPort.d.ts +14 -15
  377. package/bin/types/session/SessionPort.d.ts.map +1 -1
  378. package/bin/types/session/SessionPort.js +1 -1
  379. package/bin/types/session/SessionState.d.ts +6 -9
  380. package/bin/types/session/SessionState.d.ts.map +1 -1
  381. package/bin/types/session/SessionSystem.d.ts +16 -2
  382. package/bin/types/session/SessionSystem.d.ts.map +1 -1
  383. package/bin/types/session/SessionTool.d.ts +2 -2
  384. package/bin/types/session/SessionTool.d.ts.map +1 -1
  385. package/bin/types/session/SessionTurnCompletion.d.ts +23 -0
  386. package/bin/types/session/SessionTurnCompletion.d.ts.map +1 -0
  387. package/bin/types/session/SessionTurnCompletion.js +8 -0
  388. package/bin/types/session/SessionTurnCompletion.js.map +1 -0
  389. package/bin/types/session/SessionTurnFileDiff.d.ts +42 -0
  390. package/bin/types/session/SessionTurnFileDiff.d.ts.map +1 -0
  391. package/bin/types/session/SessionTurnFileDiff.js +8 -0
  392. package/bin/types/session/SessionTurnFileDiff.js.map +1 -0
  393. package/bin/types/store/LocalStore.d.ts +10 -14
  394. package/bin/types/store/LocalStore.d.ts.map +1 -1
  395. package/bin/types/store/LocalStore.js +2 -2
  396. package/bin/types/store/SessionAttachmentStore.d.ts +17 -2
  397. package/bin/types/store/SessionAttachmentStore.d.ts.map +1 -1
  398. package/bin/types/store/SessionAttachmentStore.js +2 -1
  399. package/bin/types/store/SessionAttachmentStore.js.map +1 -1
  400. package/bin/types/store/SessionStorage.d.ts +103 -0
  401. package/bin/types/store/SessionStorage.d.ts.map +1 -0
  402. package/bin/types/store/SessionStorage.js +8 -0
  403. package/bin/types/store/SessionStorage.js.map +1 -0
  404. package/bin/types/store/SessionStore.d.ts +11 -8
  405. package/bin/types/store/SessionStore.d.ts.map +1 -1
  406. package/bin/types/tools/ToolActionExecutionContext.d.ts +1 -1
  407. package/bin/types/tools/ToolActionExecutionContext.d.ts.map +1 -1
  408. package/bin/types/tools/ask/AskQuestionsTool.d.ts +1 -1
  409. package/bin/types/tools/ask/AskQuestionsTool.d.ts.map +1 -1
  410. package/bin/utils/logger/Logger.d.ts +12 -21
  411. package/bin/utils/logger/Logger.d.ts.map +1 -1
  412. package/bin/utils/logger/Logger.js +21 -39
  413. package/bin/utils/logger/Logger.js.map +1 -1
  414. package/package.json +7 -24
  415. package/scripts/ModelClientMock.mjs +11 -0
  416. package/scripts/core-engine-context-compaction.test.mjs +160 -220
  417. package/scripts/core-engine-model-stream.test.mjs +94 -4
  418. package/scripts/executor-failure-result.test.mjs +37 -22
  419. package/scripts/logger-isolation.test.mjs +17 -2
  420. package/scripts/public-api-naming.test.mjs +9 -15
  421. package/scripts/session-agent-message-part-order.test.mjs +63 -0
  422. package/scripts/session-initialization.test.mjs +141 -0
  423. package/scripts/session-message-timeline.test.mjs +5 -6
  424. package/scripts/session-messages-error-part.test.mjs +175 -0
  425. package/scripts/session-messages-error.test.mjs +47 -6
  426. package/scripts/session-prompt-idempotency.test.mjs +91 -0
  427. package/scripts/session-queue.test.mjs +13 -12
  428. package/scripts/session-storage-sqlite.test.mjs +209 -0
  429. package/scripts/session-turn-context.test.mjs +90 -42
  430. package/src/agent/Agent.ts +212 -91
  431. package/src/agent/AgentInstructions.ts +3 -3
  432. package/src/agent/AgentMemoryStorage.ts +208 -0
  433. package/src/agent/AgentSessions.ts +164 -88
  434. package/src/executor/Executor.ts +56 -177
  435. package/src/executor/README.md +19 -16
  436. package/src/executor/composer/system/default/SystemPromptAssets.ts +0 -6
  437. package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
  438. package/src/executor/composer/system/default/assets/core.prompt.ts.txt +8 -8
  439. package/src/executor/core-engine/CoreEngineContextCompaction.ts +3 -135
  440. package/src/executor/core-engine/CoreEngineError.ts +1 -1
  441. package/src/executor/core-engine/CoreEngineRunner.ts +93 -334
  442. package/src/executor/core-engine/CoreEngineSignals.ts +10 -10
  443. package/src/executor/messages/SessionAttachmentMapper.ts +4 -4
  444. package/src/executor/messages/SessionMessageLog.ts +3 -3
  445. package/src/executor/messages/SessionModelMessages.ts +87 -99
  446. package/src/executor/model/ModelGenerate.ts +59 -21
  447. package/src/executor/model/ModelRequestRunner.ts +107 -0
  448. package/src/executor/model/ModelStepRunner.ts +28 -60
  449. package/src/executor/model/ModelStreamConsumer.ts +76 -0
  450. package/src/executor/model/ModelStreamFailure.ts +28 -0
  451. package/src/executor/services/ExecutorRecoveryPolicy.ts +34 -127
  452. package/src/executor/types/SessionHistoryMeta.ts +6 -8
  453. package/src/group/Group.ts +60 -5
  454. package/src/group/GroupDispatchRuntime.ts +233 -0
  455. package/src/group/GroupSession.ts +168 -93
  456. package/src/group/GroupSessions.ts +12 -11
  457. package/src/group/index.ts +4 -2
  458. package/src/{workspace/store → group/storage}/LocalGroupSessionDataStore.ts +99 -8
  459. package/src/{workspace/store → group/storage}/LocalGroupSessionStore.ts +2 -2
  460. package/src/index.ts +84 -208
  461. package/src/session/DefaultSessionComposer.ts +77 -32
  462. package/src/session/Session.ts +167 -529
  463. package/src/session/SessionComposition.ts +370 -0
  464. package/src/session/SessionHookPoints.ts +17 -0
  465. package/src/session/SessionHooks.ts +85 -0
  466. package/src/session/SessionLoop.ts +289 -226
  467. package/src/session/SessionMessages.ts +380 -642
  468. package/src/session/SessionQueue.ts +3 -2
  469. package/src/session/SessionState.ts +71 -110
  470. package/src/session/SessionSystem.ts +53 -3
  471. package/src/session/SessionTitle.ts +55 -42
  472. package/src/session/browse/Browse.ts +188 -462
  473. package/src/session/browse/SessionMessageTimeline.ts +64 -39
  474. package/src/session/composer/policies/AdaptivePartContextPolicy.ts +307 -0
  475. package/src/session/composer/policies/FullHistoryContextPolicy.ts +36 -0
  476. package/src/session/composer/policies/SessionSummaryPrompts.ts +42 -0
  477. package/src/session/control/SessionInteractions.ts +1 -1
  478. package/src/session/execution/SessionAssistantOutputAdapter.ts +25 -11
  479. package/src/session/execution/tools/SessionShellApprovalAdapter.ts +2 -2
  480. package/src/session/index.ts +17 -0
  481. package/src/session/messages/SessionAgentActionPartWriter.ts +54 -0
  482. package/src/session/messages/SessionAgentContent.ts +56 -0
  483. package/src/session/messages/SessionAgentMessageState.ts +378 -0
  484. package/src/session/messages/{SessionAssistantMessageWriter.ts → SessionAgentMessageWriter.ts} +90 -61
  485. package/src/session/messages/SessionForkMessageFiles.ts +79 -0
  486. package/src/session/messages/SessionJsonValue.ts +1 -1
  487. package/src/session/messages/SessionMessageInteractionWriter.ts +23 -27
  488. package/src/session/messages/SessionMessageText.ts +5 -6
  489. package/src/session/messages/SessionTurnFileDiffBuilder.ts +229 -0
  490. package/src/session/messages/SessionTurnFileDiffData.ts +72 -0
  491. package/src/session/messages/SessionUserContext.ts +47 -0
  492. package/src/session/messages/SessionUserMessage.ts +88 -0
  493. package/src/session/preview/SessionMessagePreview.ts +27 -10
  494. package/src/session/runtime/SessionEventHub.ts +1 -1
  495. package/src/session/runtime/SessionModelRequestWarning.ts +29 -0
  496. package/src/session/runtime/SessionTitleTask.ts +3 -3
  497. package/src/session/runtime/SessionTurnCompletion.ts +159 -0
  498. package/src/session/runtime/SessionTurnContext.ts +96 -46
  499. package/src/session/runtime/SessionTurnFileDiff.ts +105 -0
  500. package/src/{workspace/store → session/storage}/LocalSessionAttachmentStore.ts +25 -4
  501. package/src/session/storage/LocalSessionDataStore.ts +41 -0
  502. package/src/session/storage/LocalSessionStore.ts +414 -0
  503. package/src/session/storage/LocalStorePaths.ts +123 -0
  504. package/src/session/storage/Metadata.ts +19 -36
  505. package/src/session/storage/RuntimeSessionPort.ts +11 -11
  506. package/src/session/storage/SessionStorageCodec.ts +465 -0
  507. package/src/session/storage/SessionStorageSchema.ts +132 -0
  508. package/src/session/storage/SqliteSessionStorage.ts +776 -0
  509. package/src/tools/ask/AskQuestionsTool.ts +5 -3
  510. package/src/types/action/ActionResult.ts +16 -11
  511. package/src/types/agent/AgentOptions.ts +27 -19
  512. package/src/types/agent/AgentSessionCollection.ts +19 -9
  513. package/src/types/agent/AgentStorage.ts +3 -1
  514. package/src/types/agent/SessionActor.ts +8 -17
  515. package/src/types/agent/SessionTypes.ts +32 -41
  516. package/src/types/executor/ModelRequest.ts +14 -0
  517. package/src/types/executor/SessionAssistantOutput.ts +15 -4
  518. package/src/types/executor/SessionToolExecutionContext.ts +1 -1
  519. package/src/types/executor/SessionTurnContext.ts +76 -35
  520. package/src/types/group/DispatchStrategy.ts +151 -77
  521. package/src/types/group/Group.ts +6 -6
  522. package/src/types/group/{GroupDispatchSession.ts → GroupDispatch.ts} +20 -25
  523. package/src/types/group/GroupSession.ts +9 -4
  524. package/src/types/group/GroupSessionStore.ts +8 -4
  525. package/src/types/sdk/AgentSessionAction.ts +2 -2
  526. package/src/types/sdk/AgentSessionPrompt.ts +21 -8
  527. package/src/types/session/AdaptivePartContextPolicy.ts +37 -0
  528. package/src/types/session/SessionAgentMessageState.ts +30 -0
  529. package/src/types/session/SessionCommand.ts +21 -7
  530. package/src/types/session/SessionComposer.ts +51 -45
  531. package/src/types/session/SessionComposition.ts +52 -0
  532. package/src/types/session/SessionContextPolicy.ts +77 -0
  533. package/src/types/session/SessionExecution.ts +11 -36
  534. package/src/types/session/SessionInteractions.ts +1 -1
  535. package/src/types/session/SessionLocalState.ts +1 -1
  536. package/src/types/session/SessionLoop.ts +8 -10
  537. package/src/types/session/SessionMessages.ts +31 -31
  538. package/src/types/session/SessionOptions.ts +27 -41
  539. package/src/types/session/SessionPort.ts +13 -13
  540. package/src/types/session/SessionState.ts +5 -8
  541. package/src/types/session/SessionSystem.ts +20 -1
  542. package/src/types/session/SessionTool.ts +2 -2
  543. package/src/types/session/SessionTurnCompletion.ts +24 -0
  544. package/src/types/session/SessionTurnFileDiff.ts +44 -0
  545. package/src/types/store/LocalStore.ts +10 -15
  546. package/src/types/store/SessionAttachmentStore.ts +19 -2
  547. package/src/types/store/SessionStorage.ts +121 -0
  548. package/src/types/store/SessionStore.ts +11 -7
  549. package/src/types/tools/ToolActionExecutionContext.ts +1 -1
  550. package/src/types/tools/ask/AskQuestionsTool.ts +1 -1
  551. package/src/utils/logger/Logger.ts +24 -42
  552. package/tsconfig.json +1 -2
  553. package/tsconfig.tsbuildinfo +1 -1
  554. package/bin/agent/AgentModel.d.ts +0 -28
  555. package/bin/agent/AgentModel.d.ts.map +0 -1
  556. package/bin/agent/AgentModel.js +0 -57
  557. package/bin/agent/AgentModel.js.map +0 -1
  558. package/bin/agent/WorkspaceEntry.d.ts +0 -82
  559. package/bin/agent/WorkspaceEntry.d.ts.map +0 -1
  560. package/bin/agent/WorkspaceEntry.js +0 -246
  561. package/bin/agent/WorkspaceEntry.js.map +0 -1
  562. package/bin/city/host/CityHostRegistry.d.ts +0 -44
  563. package/bin/city/host/CityHostRegistry.d.ts.map +0 -1
  564. package/bin/city/host/CityHostRegistry.js +0 -225
  565. package/bin/city/host/CityHostRegistry.js.map +0 -1
  566. package/bin/city/index.d.ts +0 -22
  567. package/bin/city/index.d.ts.map +0 -1
  568. package/bin/city/index.js +0 -10
  569. package/bin/city/index.js.map +0 -1
  570. package/bin/city/runtime/City.d.ts +0 -99
  571. package/bin/city/runtime/City.d.ts.map +0 -1
  572. package/bin/city/runtime/City.js +0 -376
  573. package/bin/city/runtime/City.js.map +0 -1
  574. package/bin/city/transport/SerializedTransport.d.ts +0 -30
  575. package/bin/city/transport/SerializedTransport.d.ts.map +0 -1
  576. package/bin/city/transport/SerializedTransport.js +0 -57
  577. package/bin/city/transport/SerializedTransport.js.map +0 -1
  578. package/bin/city/transport/http/AgentHTTP.d.ts +0 -66
  579. package/bin/city/transport/http/AgentHTTP.d.ts.map +0 -1
  580. package/bin/city/transport/http/AgentHTTP.js +0 -142
  581. package/bin/city/transport/http/AgentHTTP.js.map +0 -1
  582. package/bin/city/transport/http/CityHTTP.d.ts +0 -44
  583. package/bin/city/transport/http/CityHTTP.d.ts.map +0 -1
  584. package/bin/city/transport/http/CityHTTP.js +0 -171
  585. package/bin/city/transport/http/CityHTTP.js.map +0 -1
  586. package/bin/city/transport/http/NodeHttpAdapter.d.ts +0 -27
  587. package/bin/city/transport/http/NodeHttpAdapter.d.ts.map +0 -1
  588. package/bin/city/transport/http/NodeHttpAdapter.js +0 -57
  589. package/bin/city/transport/http/NodeHttpAdapter.js.map +0 -1
  590. package/bin/city/transport/http/routes/RuntimeRoutes.d.ts +0 -15
  591. package/bin/city/transport/http/routes/RuntimeRoutes.d.ts.map +0 -1
  592. package/bin/city/transport/http/routes/RuntimeRoutes.js +0 -38
  593. package/bin/city/transport/http/routes/RuntimeRoutes.js.map +0 -1
  594. package/bin/city/transport/http/routes/SessionRoutes.d.ts +0 -17
  595. package/bin/city/transport/http/routes/SessionRoutes.d.ts.map +0 -1
  596. package/bin/city/transport/http/routes/SessionRoutes.js +0 -417
  597. package/bin/city/transport/http/routes/SessionRoutes.js.map +0 -1
  598. package/bin/city/transport/rpc/AgentRPC.d.ts +0 -47
  599. package/bin/city/transport/rpc/AgentRPC.d.ts.map +0 -1
  600. package/bin/city/transport/rpc/AgentRPC.js +0 -89
  601. package/bin/city/transport/rpc/AgentRPC.js.map +0 -1
  602. package/bin/city/transport/rpc/CityRPC.d.ts +0 -26
  603. package/bin/city/transport/rpc/CityRPC.d.ts.map +0 -1
  604. package/bin/city/transport/rpc/CityRPC.js +0 -110
  605. package/bin/city/transport/rpc/CityRPC.js.map +0 -1
  606. package/bin/city/transport/rpc/RpcServer.d.ts +0 -30
  607. package/bin/city/transport/rpc/RpcServer.d.ts.map +0 -1
  608. package/bin/city/transport/rpc/RpcServer.js +0 -125
  609. package/bin/city/transport/rpc/RpcServer.js.map +0 -1
  610. package/bin/city/transport/rpc/server/InternalHandlers.d.ts +0 -22
  611. package/bin/city/transport/rpc/server/InternalHandlers.d.ts.map +0 -1
  612. package/bin/city/transport/rpc/server/InternalHandlers.js +0 -196
  613. package/bin/city/transport/rpc/server/InternalHandlers.js.map +0 -1
  614. package/bin/city/transport/rpc/server/RequestDispatcher.d.ts +0 -27
  615. package/bin/city/transport/rpc/server/RequestDispatcher.d.ts.map +0 -1
  616. package/bin/city/transport/rpc/server/RequestDispatcher.js +0 -38
  617. package/bin/city/transport/rpc/server/RequestDispatcher.js.map +0 -1
  618. package/bin/city/transport/rpc/server/SdkSessionHandlers.d.ts +0 -25
  619. package/bin/city/transport/rpc/server/SdkSessionHandlers.d.ts.map +0 -1
  620. package/bin/city/transport/rpc/server/SdkSessionHandlers.js +0 -146
  621. package/bin/city/transport/rpc/server/SdkSessionHandlers.js.map +0 -1
  622. package/bin/city/transport/rpc/server/ServerTypes.d.ts +0 -94
  623. package/bin/city/transport/rpc/server/ServerTypes.d.ts.map +0 -1
  624. package/bin/city/transport/rpc/server/ServerTypes.js +0 -9
  625. package/bin/city/transport/rpc/server/ServerTypes.js.map +0 -1
  626. package/bin/city/transport/session/RemoteSessionConfig.d.ts +0 -15
  627. package/bin/city/transport/session/RemoteSessionConfig.d.ts.map +0 -1
  628. package/bin/city/transport/session/RemoteSessionConfig.js +0 -23
  629. package/bin/city/transport/session/RemoteSessionConfig.js.map +0 -1
  630. package/bin/city/transport/types/AgentHttpBinding.d.ts +0 -24
  631. package/bin/city/transport/types/AgentHttpBinding.d.ts.map +0 -1
  632. package/bin/city/transport/types/AgentHttpBinding.js +0 -5
  633. package/bin/city/transport/types/AgentHttpBinding.js.map +0 -1
  634. package/bin/city/transport/types/AgentHttpRuntime.d.ts +0 -12
  635. package/bin/city/transport/types/AgentHttpRuntime.d.ts.map +0 -1
  636. package/bin/city/transport/types/AgentHttpRuntime.js +0 -7
  637. package/bin/city/transport/types/AgentHttpRuntime.js.map +0 -1
  638. package/bin/city/transport/types/AgentRpcBinding.d.ts +0 -27
  639. package/bin/city/transport/types/AgentRpcBinding.d.ts.map +0 -1
  640. package/bin/city/transport/types/AgentRpcBinding.js +0 -8
  641. package/bin/city/transport/types/AgentRpcBinding.js.map +0 -1
  642. package/bin/city/transport/types/AgentRpcRuntime.d.ts +0 -18
  643. package/bin/city/transport/types/AgentRpcRuntime.d.ts.map +0 -1
  644. package/bin/city/transport/types/AgentRpcRuntime.js +0 -7
  645. package/bin/city/transport/types/AgentRpcRuntime.js.map +0 -1
  646. package/bin/city/transport/types/AgentSessionModelResolver.d.ts +0 -11
  647. package/bin/city/transport/types/AgentSessionModelResolver.d.ts.map +0 -1
  648. package/bin/city/transport/types/AgentSessionModelResolver.js +0 -7
  649. package/bin/city/transport/types/AgentSessionModelResolver.js.map +0 -1
  650. package/bin/city/transport/types/CityHttpRuntime.d.ts +0 -36
  651. package/bin/city/transport/types/CityHttpRuntime.d.ts.map +0 -1
  652. package/bin/city/transport/types/CityHttpRuntime.js +0 -8
  653. package/bin/city/transport/types/CityHttpRuntime.js.map +0 -1
  654. package/bin/city/transport/types/CityRpcRuntime.d.ts +0 -17
  655. package/bin/city/transport/types/CityRpcRuntime.d.ts.map +0 -1
  656. package/bin/city/transport/types/CityRpcRuntime.js +0 -8
  657. package/bin/city/transport/types/CityRpcRuntime.js.map +0 -1
  658. package/bin/city/transport/types/RpcProtocol.d.ts +0 -24
  659. package/bin/city/transport/types/RpcProtocol.d.ts.map +0 -1
  660. package/bin/city/transport/types/RpcProtocol.js +0 -9
  661. package/bin/city/transport/types/RpcProtocol.js.map +0 -1
  662. package/bin/city/types/City.d.ts +0 -84
  663. package/bin/city/types/City.d.ts.map +0 -1
  664. package/bin/city/types/City.js +0 -7
  665. package/bin/city/types/City.js.map +0 -1
  666. package/bin/city/types/PluginHostContext.d.ts +0 -34
  667. package/bin/city/types/PluginHostContext.d.ts.map +0 -1
  668. package/bin/city/types/PluginHostContext.js +0 -11
  669. package/bin/city/types/PluginHostContext.js.map +0 -1
  670. package/bin/city/types/SerializedTransport.d.ts +0 -16
  671. package/bin/city/types/SerializedTransport.d.ts.map +0 -1
  672. package/bin/city/types/SerializedTransport.js +0 -3
  673. package/bin/city/types/SerializedTransport.js.map +0 -1
  674. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.d.ts +0 -45
  675. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.d.ts.map +0 -1
  676. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.js +0 -144
  677. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.js.map +0 -1
  678. package/bin/executor/composer/system/SessionSystemComposer.d.ts +0 -23
  679. package/bin/executor/composer/system/SessionSystemComposer.d.ts.map +0 -1
  680. package/bin/executor/composer/system/SessionSystemComposer.js +0 -9
  681. package/bin/executor/composer/system/SessionSystemComposer.js.map +0 -1
  682. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +0 -43
  683. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +0 -1
  684. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js +0 -42
  685. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js.map +0 -1
  686. package/bin/executor/composer/system/default/PromptRenderer.d.ts +0 -35
  687. package/bin/executor/composer/system/default/PromptRenderer.d.ts.map +0 -1
  688. package/bin/executor/composer/system/default/PromptRenderer.js +0 -23
  689. package/bin/executor/composer/system/default/PromptRenderer.js.map +0 -1
  690. package/bin/executor/composer/system/default/SystemDomain.d.ts +0 -169
  691. package/bin/executor/composer/system/default/SystemDomain.d.ts.map +0 -1
  692. package/bin/executor/composer/system/default/SystemDomain.js +0 -201
  693. package/bin/executor/composer/system/default/SystemDomain.js.map +0 -1
  694. package/bin/executor/composer/system/default/assets/task.prompt.d.ts +0 -7
  695. package/bin/executor/composer/system/default/assets/task.prompt.d.ts.map +0 -1
  696. package/bin/executor/composer/system/default/assets/task.prompt.js +0 -8
  697. package/bin/executor/composer/system/default/assets/task.prompt.js.map +0 -1
  698. package/bin/executor/composer/system/default/variables/GeoContext.d.ts +0 -14
  699. package/bin/executor/composer/system/default/variables/GeoContext.d.ts.map +0 -1
  700. package/bin/executor/composer/system/default/variables/GeoContext.js +0 -150
  701. package/bin/executor/composer/system/default/variables/GeoContext.js.map +0 -1
  702. package/bin/executor/composer/system/default/variables/PromptTypes.d.ts +0 -36
  703. package/bin/executor/composer/system/default/variables/PromptTypes.d.ts.map +0 -1
  704. package/bin/executor/composer/system/default/variables/PromptTypes.js +0 -9
  705. package/bin/executor/composer/system/default/variables/PromptTypes.js.map +0 -1
  706. package/bin/executor/composer/system/default/variables/VariableReplacer.d.ts +0 -61
  707. package/bin/executor/composer/system/default/variables/VariableReplacer.d.ts.map +0 -1
  708. package/bin/executor/composer/system/default/variables/VariableReplacer.js +0 -93
  709. package/bin/executor/composer/system/default/variables/VariableReplacer.js.map +0 -1
  710. package/bin/executor/core-engine/CoreEngineMessageState.d.ts +0 -63
  711. package/bin/executor/core-engine/CoreEngineMessageState.d.ts.map +0 -1
  712. package/bin/executor/core-engine/CoreEngineMessageState.js +0 -81
  713. package/bin/executor/core-engine/CoreEngineMessageState.js.map +0 -1
  714. package/bin/group/GroupDispatchSession.d.ts +0 -36
  715. package/bin/group/GroupDispatchSession.d.ts.map +0 -1
  716. package/bin/group/GroupDispatchSession.js.map +0 -1
  717. package/bin/internal/AgentRuntime.d.ts +0 -43
  718. package/bin/internal/AgentRuntime.d.ts.map +0 -1
  719. package/bin/internal/AgentRuntime.js +0 -179
  720. package/bin/internal/AgentRuntime.js.map +0 -1
  721. package/bin/internal/GroupRuntime.d.ts +0 -17
  722. package/bin/internal/GroupRuntime.d.ts.map +0 -1
  723. package/bin/internal/GroupRuntime.js +0 -66
  724. package/bin/internal/GroupRuntime.js.map +0 -1
  725. package/bin/internal/index.d.ts +0 -8
  726. package/bin/internal/index.d.ts.map +0 -1
  727. package/bin/internal/index.js +0 -8
  728. package/bin/internal/index.js.map +0 -1
  729. package/bin/plugin/core/ActionScheduleExecutor.d.ts +0 -19
  730. package/bin/plugin/core/ActionScheduleExecutor.d.ts.map +0 -1
  731. package/bin/plugin/core/ActionScheduleExecutor.js +0 -58
  732. package/bin/plugin/core/ActionScheduleExecutor.js.map +0 -1
  733. package/bin/plugin/core/ActionScheduleRuntime.d.ts +0 -25
  734. package/bin/plugin/core/ActionScheduleRuntime.d.ts.map +0 -1
  735. package/bin/plugin/core/ActionScheduleRuntime.js +0 -62
  736. package/bin/plugin/core/ActionScheduleRuntime.js.map +0 -1
  737. package/bin/plugin/core/ActionScheduleStore.d.ts +0 -97
  738. package/bin/plugin/core/ActionScheduleStore.d.ts.map +0 -1
  739. package/bin/plugin/core/ActionScheduleStore.js +0 -313
  740. package/bin/plugin/core/ActionScheduleStore.js.map +0 -1
  741. package/bin/plugin/core/ActionScheduleTime.d.ts +0 -32
  742. package/bin/plugin/core/ActionScheduleTime.d.ts.map +0 -1
  743. package/bin/plugin/core/ActionScheduleTime.js +0 -108
  744. package/bin/plugin/core/ActionScheduleTime.js.map +0 -1
  745. package/bin/plugin/core/BasePlugin.d.ts +0 -59
  746. package/bin/plugin/core/BasePlugin.d.ts.map +0 -1
  747. package/bin/plugin/core/BasePlugin.js +0 -40
  748. package/bin/plugin/core/BasePlugin.js.map +0 -1
  749. package/bin/plugin/core/HookRegistry.d.ts +0 -67
  750. package/bin/plugin/core/HookRegistry.d.ts.map +0 -1
  751. package/bin/plugin/core/HookRegistry.js +0 -220
  752. package/bin/plugin/core/HookRegistry.js.map +0 -1
  753. package/bin/plugin/core/PluginActionExecution.d.ts +0 -33
  754. package/bin/plugin/core/PluginActionExecution.d.ts.map +0 -1
  755. package/bin/plugin/core/PluginActionExecution.js +0 -168
  756. package/bin/plugin/core/PluginActionExecution.js.map +0 -1
  757. package/bin/plugin/core/PluginActionFactory.d.ts +0 -93
  758. package/bin/plugin/core/PluginActionFactory.d.ts.map +0 -1
  759. package/bin/plugin/core/PluginActionFactory.js +0 -56
  760. package/bin/plugin/core/PluginActionFactory.js.map +0 -1
  761. package/bin/plugin/core/PluginCatalog.d.ts +0 -57
  762. package/bin/plugin/core/PluginCatalog.d.ts.map +0 -1
  763. package/bin/plugin/core/PluginCatalog.js +0 -117
  764. package/bin/plugin/core/PluginCatalog.js.map +0 -1
  765. package/bin/plugin/core/PluginContext.d.ts +0 -42
  766. package/bin/plugin/core/PluginContext.d.ts.map +0 -1
  767. package/bin/plugin/core/PluginContext.js +0 -35
  768. package/bin/plugin/core/PluginContext.js.map +0 -1
  769. package/bin/plugin/core/PluginHttpRoutes.d.ts +0 -24
  770. package/bin/plugin/core/PluginHttpRoutes.d.ts.map +0 -1
  771. package/bin/plugin/core/PluginHttpRoutes.js +0 -35
  772. package/bin/plugin/core/PluginHttpRoutes.js.map +0 -1
  773. package/bin/plugin/core/PluginRegistry.d.ts +0 -207
  774. package/bin/plugin/core/PluginRegistry.d.ts.map +0 -1
  775. package/bin/plugin/core/PluginRegistry.js +0 -675
  776. package/bin/plugin/core/PluginRegistry.js.map +0 -1
  777. package/bin/plugin/core/PluginStateController.d.ts +0 -16
  778. package/bin/plugin/core/PluginStateController.d.ts.map +0 -1
  779. package/bin/plugin/core/PluginStateController.js +0 -14
  780. package/bin/plugin/core/PluginStateController.js.map +0 -1
  781. package/bin/plugin/tool/PluginToolRuntime.d.ts +0 -15
  782. package/bin/plugin/tool/PluginToolRuntime.d.ts.map +0 -1
  783. package/bin/plugin/tool/PluginToolRuntime.js +0 -108
  784. package/bin/plugin/tool/PluginToolRuntime.js.map +0 -1
  785. package/bin/plugin/tool/PluginToolSchemas.d.ts +0 -36
  786. package/bin/plugin/tool/PluginToolSchemas.d.ts.map +0 -1
  787. package/bin/plugin/tool/PluginToolSchemas.js +0 -42
  788. package/bin/plugin/tool/PluginToolSchemas.js.map +0 -1
  789. package/bin/plugin/tool/PluginTools.d.ts +0 -22
  790. package/bin/plugin/tool/PluginTools.d.ts.map +0 -1
  791. package/bin/plugin/tool/PluginTools.js +0 -61
  792. package/bin/plugin/tool/PluginTools.js.map +0 -1
  793. package/bin/plugin/types/ActionSchedule.d.ts +0 -91
  794. package/bin/plugin/types/ActionSchedule.d.ts.map +0 -1
  795. package/bin/plugin/types/ActionSchedule.js +0 -10
  796. package/bin/plugin/types/ActionSchedule.js.map +0 -1
  797. package/bin/plugin/types/PluginApi.d.ts +0 -79
  798. package/bin/plugin/types/PluginApi.d.ts.map +0 -1
  799. package/bin/plugin/types/PluginApi.js +0 -9
  800. package/bin/plugin/types/PluginApi.js.map +0 -1
  801. package/bin/remote/RemoteAgent.d.ts +0 -36
  802. package/bin/remote/RemoteAgent.d.ts.map +0 -1
  803. package/bin/remote/RemoteAgent.js +0 -97
  804. package/bin/remote/RemoteAgent.js.map +0 -1
  805. package/bin/remote/RemoteSession.d.ts +0 -67
  806. package/bin/remote/RemoteSession.d.ts.map +0 -1
  807. package/bin/remote/RemoteSession.js +0 -275
  808. package/bin/remote/RemoteSession.js.map +0 -1
  809. package/bin/remote/RemoteTransport.d.ts +0 -80
  810. package/bin/remote/RemoteTransport.d.ts.map +0 -1
  811. package/bin/remote/RemoteTransport.js +0 -9
  812. package/bin/remote/RemoteTransport.js.map +0 -1
  813. package/bin/remote/TransportFactory.d.ts +0 -13
  814. package/bin/remote/TransportFactory.d.ts.map +0 -1
  815. package/bin/remote/TransportFactory.js +0 -22
  816. package/bin/remote/TransportFactory.js.map +0 -1
  817. package/bin/remote/transports/HttpRemoteAgentTransport.d.ts +0 -52
  818. package/bin/remote/transports/HttpRemoteAgentTransport.d.ts.map +0 -1
  819. package/bin/remote/transports/HttpRemoteAgentTransport.js +0 -399
  820. package/bin/remote/transports/HttpRemoteAgentTransport.js.map +0 -1
  821. package/bin/remote/transports/RpcClient.d.ts +0 -168
  822. package/bin/remote/transports/RpcClient.d.ts.map +0 -1
  823. package/bin/remote/transports/RpcClient.js +0 -484
  824. package/bin/remote/transports/RpcClient.js.map +0 -1
  825. package/bin/remote/transports/RpcRemoteAgentTransport.d.ts +0 -51
  826. package/bin/remote/transports/RpcRemoteAgentTransport.d.ts.map +0 -1
  827. package/bin/remote/transports/RpcRemoteAgentTransport.js +0 -102
  828. package/bin/remote/transports/RpcRemoteAgentTransport.js.map +0 -1
  829. package/bin/session/SessionCommand.d.ts +0 -24
  830. package/bin/session/SessionCommand.d.ts.map +0 -1
  831. package/bin/session/SessionCommand.js +0 -35
  832. package/bin/session/SessionCommand.js.map +0 -1
  833. package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +0 -1
  834. package/bin/session/messages/SessionAssistantMessageWriter.js.map +0 -1
  835. package/bin/session/messages/SessionMessageCompaction.d.ts +0 -26
  836. package/bin/session/messages/SessionMessageCompaction.d.ts.map +0 -1
  837. package/bin/session/messages/SessionMessageCompaction.js +0 -118
  838. package/bin/session/messages/SessionMessageCompaction.js.map +0 -1
  839. package/bin/session/runtime/SessionCompactOperation.d.ts +0 -29
  840. package/bin/session/runtime/SessionCompactOperation.d.ts.map +0 -1
  841. package/bin/session/runtime/SessionCompactOperation.js +0 -66
  842. package/bin/session/runtime/SessionCompactOperation.js.map +0 -1
  843. package/bin/session/runtime/SessionHistoryCompaction.d.ts +0 -22
  844. package/bin/session/runtime/SessionHistoryCompaction.d.ts.map +0 -1
  845. package/bin/session/runtime/SessionHistoryCompaction.js +0 -31
  846. package/bin/session/runtime/SessionHistoryCompaction.js.map +0 -1
  847. package/bin/types/agent/RemoteAgentOptions.d.ts +0 -28
  848. package/bin/types/agent/RemoteAgentOptions.d.ts.map +0 -1
  849. package/bin/types/agent/RemoteAgentOptions.js +0 -9
  850. package/bin/types/agent/RemoteAgentOptions.js.map +0 -1
  851. package/bin/types/agent/RemoteAgentPluginAction.d.ts +0 -46
  852. package/bin/types/agent/RemoteAgentPluginAction.d.ts.map +0 -1
  853. package/bin/types/agent/RemoteAgentPluginAction.js +0 -9
  854. package/bin/types/agent/RemoteAgentPluginAction.js.map +0 -1
  855. package/bin/types/agent/WorkspaceEntryOptions.d.ts +0 -16
  856. package/bin/types/agent/WorkspaceEntryOptions.d.ts.map +0 -1
  857. package/bin/types/agent/WorkspaceEntryOptions.js +0 -8
  858. package/bin/types/agent/WorkspaceEntryOptions.js.map +0 -1
  859. package/bin/types/common/Json.d.ts +0 -32
  860. package/bin/types/common/Json.d.ts.map +0 -1
  861. package/bin/types/common/Json.js +0 -9
  862. package/bin/types/common/Json.js.map +0 -1
  863. package/bin/types/common/Template.d.ts +0 -9
  864. package/bin/types/common/Template.d.ts.map +0 -1
  865. package/bin/types/common/Template.js +0 -9
  866. package/bin/types/common/Template.js.map +0 -1
  867. package/bin/types/group/GroupDispatchSession.d.ts.map +0 -1
  868. package/bin/types/group/GroupDispatchSession.js +0 -8
  869. package/bin/types/group/GroupDispatchSession.js.map +0 -1
  870. package/bin/types/plugin/AgentPluginContext.d.ts +0 -25
  871. package/bin/types/plugin/AgentPluginContext.d.ts.map +0 -1
  872. package/bin/types/plugin/AgentPluginContext.js +0 -10
  873. package/bin/types/plugin/AgentPluginContext.js.map +0 -1
  874. package/bin/types/plugin/PluginAction.d.ts +0 -161
  875. package/bin/types/plugin/PluginAction.d.ts.map +0 -1
  876. package/bin/types/plugin/PluginAction.js +0 -9
  877. package/bin/types/plugin/PluginAction.js.map +0 -1
  878. package/bin/types/plugin/PluginActionExecution.d.ts +0 -31
  879. package/bin/types/plugin/PluginActionExecution.d.ts.map +0 -1
  880. package/bin/types/plugin/PluginActionExecution.js +0 -10
  881. package/bin/types/plugin/PluginActionExecution.js.map +0 -1
  882. package/bin/types/plugin/PluginCommand.d.ts +0 -14
  883. package/bin/types/plugin/PluginCommand.d.ts.map +0 -1
  884. package/bin/types/plugin/PluginCommand.js +0 -7
  885. package/bin/types/plugin/PluginCommand.js.map +0 -1
  886. package/bin/types/plugin/PluginContext.d.ts +0 -45
  887. package/bin/types/plugin/PluginContext.d.ts.map +0 -1
  888. package/bin/types/plugin/PluginContext.js +0 -9
  889. package/bin/types/plugin/PluginContext.js.map +0 -1
  890. package/bin/types/plugin/PluginDefinition.d.ts +0 -44
  891. package/bin/types/plugin/PluginDefinition.d.ts.map +0 -1
  892. package/bin/types/plugin/PluginDefinition.js +0 -9
  893. package/bin/types/plugin/PluginDefinition.js.map +0 -1
  894. package/bin/types/plugin/PluginExecutionContext.d.ts +0 -23
  895. package/bin/types/plugin/PluginExecutionContext.d.ts.map +0 -1
  896. package/bin/types/plugin/PluginExecutionContext.js +0 -8
  897. package/bin/types/plugin/PluginExecutionContext.js.map +0 -1
  898. package/bin/types/plugin/PluginHttp.d.ts +0 -34
  899. package/bin/types/plugin/PluginHttp.d.ts.map +0 -1
  900. package/bin/types/plugin/PluginHttp.js +0 -9
  901. package/bin/types/plugin/PluginHttp.js.map +0 -1
  902. package/bin/types/plugin/PluginNotification.d.ts +0 -31
  903. package/bin/types/plugin/PluginNotification.d.ts.map +0 -1
  904. package/bin/types/plugin/PluginNotification.js +0 -8
  905. package/bin/types/plugin/PluginNotification.js.map +0 -1
  906. package/bin/types/plugin/PluginRegistry.d.ts +0 -21
  907. package/bin/types/plugin/PluginRegistry.d.ts.map +0 -1
  908. package/bin/types/plugin/PluginRegistry.js +0 -9
  909. package/bin/types/plugin/PluginRegistry.js.map +0 -1
  910. package/bin/types/plugin/PluginRuntime.d.ts +0 -267
  911. package/bin/types/plugin/PluginRuntime.d.ts.map +0 -1
  912. package/bin/types/plugin/PluginRuntime.js +0 -9
  913. package/bin/types/plugin/PluginRuntime.js.map +0 -1
  914. package/bin/types/plugin/PluginServices.d.ts +0 -10
  915. package/bin/types/plugin/PluginServices.d.ts.map +0 -1
  916. package/bin/types/plugin/PluginServices.js +0 -3
  917. package/bin/types/plugin/PluginServices.js.map +0 -1
  918. package/bin/types/plugin/PluginState.d.ts +0 -62
  919. package/bin/types/plugin/PluginState.d.ts.map +0 -1
  920. package/bin/types/plugin/PluginState.js +0 -10
  921. package/bin/types/plugin/PluginState.js.map +0 -1
  922. package/bin/types/plugin/PluginTool.d.ts +0 -92
  923. package/bin/types/plugin/PluginTool.d.ts.map +0 -1
  924. package/bin/types/plugin/PluginTool.js +0 -9
  925. package/bin/types/plugin/PluginTool.js.map +0 -1
  926. package/bin/types/rpc/RpcProtocol.d.ts +0 -417
  927. package/bin/types/rpc/RpcProtocol.d.ts.map +0 -1
  928. package/bin/types/rpc/RpcProtocol.js +0 -10
  929. package/bin/types/rpc/RpcProtocol.js.map +0 -1
  930. package/bin/types/sdk/AgentSessionCompact.d.ts +0 -31
  931. package/bin/types/sdk/AgentSessionCompact.d.ts.map +0 -1
  932. package/bin/types/sdk/AgentSessionCompact.js +0 -8
  933. package/bin/types/sdk/AgentSessionCompact.js.map +0 -1
  934. package/bin/types/session/SessionAction.d.ts +0 -39
  935. package/bin/types/session/SessionAction.d.ts.map +0 -1
  936. package/bin/types/session/SessionAction.js +0 -8
  937. package/bin/types/session/SessionAction.js.map +0 -1
  938. package/bin/types/session/SessionContent.d.ts +0 -41
  939. package/bin/types/session/SessionContent.d.ts.map +0 -1
  940. package/bin/types/session/SessionContent.js +0 -8
  941. package/bin/types/session/SessionContent.js.map +0 -1
  942. package/bin/types/session/SessionInteraction.d.ts +0 -215
  943. package/bin/types/session/SessionInteraction.d.ts.map +0 -1
  944. package/bin/types/session/SessionInteraction.js +0 -15
  945. package/bin/types/session/SessionInteraction.js.map +0 -1
  946. package/bin/types/session/SessionMessage.d.ts +0 -268
  947. package/bin/types/session/SessionMessage.d.ts.map +0 -1
  948. package/bin/types/session/SessionMessage.js +0 -8
  949. package/bin/types/session/SessionMessage.js.map +0 -1
  950. package/bin/types/session/SessionMutation.d.ts +0 -151
  951. package/bin/types/session/SessionMutation.d.ts.map +0 -1
  952. package/bin/types/session/SessionMutation.js +0 -20
  953. package/bin/types/session/SessionMutation.js.map +0 -1
  954. package/bin/types/session/SessionOrigin.d.ts +0 -19
  955. package/bin/types/session/SessionOrigin.d.ts.map +0 -1
  956. package/bin/types/session/SessionOrigin.js +0 -8
  957. package/bin/types/session/SessionOrigin.js.map +0 -1
  958. package/bin/types/session/SessionSegment.d.ts +0 -57
  959. package/bin/types/session/SessionSegment.d.ts.map +0 -1
  960. package/bin/types/session/SessionSegment.js +0 -8
  961. package/bin/types/session/SessionSegment.js.map +0 -1
  962. package/bin/types/store/SessionDataStore.d.ts +0 -85
  963. package/bin/types/store/SessionDataStore.d.ts.map +0 -1
  964. package/bin/types/store/SessionDataStore.js +0 -9
  965. package/bin/types/store/SessionDataStore.js.map +0 -1
  966. package/bin/utils/Template.d.ts +0 -17
  967. package/bin/utils/Template.d.ts.map +0 -1
  968. package/bin/utils/Template.js +0 -24
  969. package/bin/utils/Template.js.map +0 -1
  970. package/bin/workspace/WorkspacePaths.d.ts +0 -16
  971. package/bin/workspace/WorkspacePaths.d.ts.map +0 -1
  972. package/bin/workspace/WorkspacePaths.js +0 -35
  973. package/bin/workspace/WorkspacePaths.js.map +0 -1
  974. package/bin/workspace/store/JsonlSessionMessageStore.d.ts +0 -77
  975. package/bin/workspace/store/JsonlSessionMessageStore.d.ts.map +0 -1
  976. package/bin/workspace/store/JsonlSessionMessageStore.js +0 -419
  977. package/bin/workspace/store/JsonlSessionMessageStore.js.map +0 -1
  978. package/bin/workspace/store/LocalGroupDispatchSessionDataStore.d.ts +0 -28
  979. package/bin/workspace/store/LocalGroupDispatchSessionDataStore.d.ts.map +0 -1
  980. package/bin/workspace/store/LocalGroupDispatchSessionDataStore.js +0 -102
  981. package/bin/workspace/store/LocalGroupDispatchSessionDataStore.js.map +0 -1
  982. package/bin/workspace/store/LocalGroupSessionDataStore.d.ts.map +0 -1
  983. package/bin/workspace/store/LocalGroupSessionDataStore.js.map +0 -1
  984. package/bin/workspace/store/LocalGroupSessionStore.d.ts.map +0 -1
  985. package/bin/workspace/store/LocalGroupSessionStore.js.map +0 -1
  986. package/bin/workspace/store/LocalSessionAttachmentStore.d.ts.map +0 -1
  987. package/bin/workspace/store/LocalSessionAttachmentStore.js.map +0 -1
  988. package/bin/workspace/store/LocalSessionDataStore.d.ts +0 -45
  989. package/bin/workspace/store/LocalSessionDataStore.d.ts.map +0 -1
  990. package/bin/workspace/store/LocalSessionDataStore.js +0 -100
  991. package/bin/workspace/store/LocalSessionDataStore.js.map +0 -1
  992. package/bin/workspace/store/LocalSessionStore.d.ts.map +0 -1
  993. package/bin/workspace/store/LocalSessionStore.js +0 -177
  994. package/bin/workspace/store/LocalSessionStore.js.map +0 -1
  995. package/bin/workspace/store/LocalStorePaths.d.ts +0 -35
  996. package/bin/workspace/store/LocalStorePaths.d.ts.map +0 -1
  997. package/bin/workspace/store/LocalStorePaths.js +0 -62
  998. package/bin/workspace/store/LocalStorePaths.js.map +0 -1
  999. package/bin/workspace/store/SessionMessageStoreFactory.d.ts +0 -12
  1000. package/bin/workspace/store/SessionMessageStoreFactory.d.ts.map +0 -1
  1001. package/bin/workspace/store/SessionMessageStoreFactory.js +0 -13
  1002. package/bin/workspace/store/SessionMessageStoreFactory.js.map +0 -1
  1003. package/city-test/agent-http.test.mjs +0 -326
  1004. package/city-test/city-container.test.mjs +0 -156
  1005. package/city-test/city-host-registry.test.mjs +0 -68
  1006. package/city-test/city-transport.test.mjs +0 -282
  1007. package/city-test/group.test.mjs +0 -990
  1008. package/city-test/session-model.test.mjs +0 -169
  1009. package/city-test/transport-lifecycle.test.mjs +0 -164
  1010. package/scripts/PlatformSandbox.mjs +0 -17
  1011. package/scripts/action-schedule-store.test.mjs +0 -171
  1012. package/scripts/agent-env-shell-sandbox.test.mjs +0 -94
  1013. package/scripts/agent-env.test.mjs +0 -56
  1014. package/scripts/agent-multi-workspace.test.mjs +0 -280
  1015. package/scripts/agent-ready.test.mjs +0 -296
  1016. package/scripts/agent-session-maintenance.test.mjs +0 -47
  1017. package/scripts/agent-store.test.mjs +0 -182
  1018. package/scripts/city-model-tool-loop.test.mjs +0 -95
  1019. package/scripts/file-tools.test.mjs +0 -282
  1020. package/scripts/image-plugin-job.test.mjs +0 -600
  1021. package/scripts/multi-agent-plugin-isolation.test.mjs +0 -170
  1022. package/scripts/plugin-tools.test.mjs +0 -556
  1023. package/scripts/remote-session-reconnect.test.mjs +0 -183
  1024. package/scripts/rpc-url-routing.test.mjs +0 -29
  1025. package/scripts/search-tools.test.mjs +0 -188
  1026. package/scripts/session-ask-question.test.mjs +0 -226
  1027. package/scripts/session-attachments.test.mjs +0 -104
  1028. package/scripts/session-compact-handle.test.mjs +0 -118
  1029. package/scripts/session-compaction-prompts.test.mjs +0 -49
  1030. package/scripts/session-composer.test.mjs +0 -208
  1031. package/scripts/session-config-turn-boundary.test.mjs +0 -921
  1032. package/scripts/session-dynamic-interaction.test.mjs +0 -75
  1033. package/scripts/session-fork.test.mjs +0 -35
  1034. package/scripts/session-list-title.test.mjs +0 -202
  1035. package/scripts/session-messages.test.mjs +0 -490
  1036. package/scripts/session-shell-approval.test.mjs +0 -179
  1037. package/scripts/session-title-event.test.mjs +0 -282
  1038. package/scripts/session-tool-approval.test.mjs +0 -173
  1039. package/scripts/session-turn-failure.test.mjs +0 -363
  1040. package/scripts/workspace.test.mjs +0 -260
  1041. package/src/agent/AgentModel.ts +0 -66
  1042. package/src/agent/WorkspaceEntry.ts +0 -309
  1043. package/src/city/host/CityHostRegistry.ts +0 -260
  1044. package/src/city/index.ts +0 -49
  1045. package/src/city/runtime/City.ts +0 -425
  1046. package/src/city/transport/SerializedTransport.ts +0 -65
  1047. package/src/city/transport/http/AgentHTTP.ts +0 -176
  1048. package/src/city/transport/http/CityHTTP.ts +0 -196
  1049. package/src/city/transport/http/NodeHttpAdapter.ts +0 -75
  1050. package/src/city/transport/http/routes/RuntimeRoutes.ts +0 -51
  1051. package/src/city/transport/http/routes/SessionRoutes.ts +0 -497
  1052. package/src/city/transport/rpc/AgentRPC.ts +0 -111
  1053. package/src/city/transport/rpc/CityRPC.ts +0 -138
  1054. package/src/city/transport/rpc/RpcServer.ts +0 -158
  1055. package/src/city/transport/rpc/server/InternalHandlers.ts +0 -223
  1056. package/src/city/transport/rpc/server/RequestDispatcher.ts +0 -67
  1057. package/src/city/transport/rpc/server/SdkSessionHandlers.ts +0 -166
  1058. package/src/city/transport/rpc/server/ServerTypes.ts +0 -103
  1059. package/src/city/transport/session/RemoteSessionConfig.ts +0 -34
  1060. package/src/city/transport/types/AgentHttpBinding.ts +0 -25
  1061. package/src/city/transport/types/AgentHttpRuntime.ts +0 -13
  1062. package/src/city/transport/types/AgentRpcBinding.ts +0 -28
  1063. package/src/city/transport/types/AgentRpcRuntime.ts +0 -20
  1064. package/src/city/transport/types/AgentSessionModelResolver.ts +0 -13
  1065. package/src/city/transport/types/CityHttpRuntime.ts +0 -45
  1066. package/src/city/transport/types/CityRpcRuntime.ts +0 -27
  1067. package/src/city/transport/types/RpcProtocol.ts +0 -32
  1068. package/src/city/types/City.ts +0 -99
  1069. package/src/city/types/PluginHostContext.ts +0 -44
  1070. package/src/city/types/SerializedTransport.ts +0 -19
  1071. package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.ts +0 -162
  1072. package/src/executor/composer/system/SessionSystemComposer.ts +0 -25
  1073. package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +0 -76
  1074. package/src/executor/composer/system/default/PromptRenderer.ts +0 -52
  1075. package/src/executor/composer/system/default/SystemDomain.ts +0 -350
  1076. package/src/executor/composer/system/default/assets/task.prompt.ts +0 -9
  1077. package/src/executor/composer/system/default/assets/task.prompt.ts.txt +0 -33
  1078. package/src/executor/composer/system/default/variables/GeoContext.ts +0 -180
  1079. package/src/executor/composer/system/default/variables/PromptTypes.ts +0 -37
  1080. package/src/executor/composer/system/default/variables/VariableReplacer.ts +0 -154
  1081. package/src/executor/core-engine/CoreEngineMessageState.ts +0 -117
  1082. package/src/group/GroupDispatchSession.ts +0 -175
  1083. package/src/internal/AgentRuntime.ts +0 -229
  1084. package/src/internal/GroupRuntime.ts +0 -89
  1085. package/src/internal/index.ts +0 -33
  1086. package/src/plugin/core/ActionScheduleExecutor.ts +0 -68
  1087. package/src/plugin/core/ActionScheduleRuntime.ts +0 -92
  1088. package/src/plugin/core/ActionScheduleStore.ts +0 -414
  1089. package/src/plugin/core/ActionScheduleTime.ts +0 -132
  1090. package/src/plugin/core/BasePlugin.ts +0 -79
  1091. package/src/plugin/core/HookRegistry.ts +0 -297
  1092. package/src/plugin/core/PluginActionExecution.ts +0 -230
  1093. package/src/plugin/core/PluginActionFactory.ts +0 -172
  1094. package/src/plugin/core/PluginCatalog.ts +0 -153
  1095. package/src/plugin/core/PluginContext.ts +0 -71
  1096. package/src/plugin/core/PluginHttpRoutes.ts +0 -47
  1097. package/src/plugin/core/PluginRegistry.ts +0 -888
  1098. package/src/plugin/core/PluginStateController.ts +0 -19
  1099. package/src/plugin/tool/PluginToolRuntime.ts +0 -124
  1100. package/src/plugin/tool/PluginToolSchemas.ts +0 -44
  1101. package/src/plugin/tool/PluginTools.ts +0 -92
  1102. package/src/plugin/types/ActionSchedule.ts +0 -100
  1103. package/src/plugin/types/PluginApi.ts +0 -86
  1104. package/src/remote/RemoteAgent.ts +0 -130
  1105. package/src/remote/RemoteSession.ts +0 -359
  1106. package/src/remote/RemoteTransport.ts +0 -122
  1107. package/src/remote/TransportFactory.ts +0 -29
  1108. package/src/remote/transports/HttpRemoteAgentTransport.ts +0 -582
  1109. package/src/remote/transports/RpcClient.ts +0 -638
  1110. package/src/remote/transports/RpcRemoteAgentTransport.ts +0 -187
  1111. package/src/session/SessionCommand.ts +0 -42
  1112. package/src/session/messages/SessionMessageCompaction.ts +0 -147
  1113. package/src/session/runtime/SessionCompactOperation.ts +0 -93
  1114. package/src/session/runtime/SessionHistoryCompaction.ts +0 -45
  1115. package/src/types/agent/RemoteAgentOptions.ts +0 -29
  1116. package/src/types/agent/RemoteAgentPluginAction.ts +0 -52
  1117. package/src/types/agent/WorkspaceEntryOptions.ts +0 -18
  1118. package/src/types/common/Json.ts +0 -34
  1119. package/src/types/common/Template.ts +0 -9
  1120. package/src/types/plugin/AgentPluginContext.ts +0 -30
  1121. package/src/types/plugin/PluginAction.ts +0 -178
  1122. package/src/types/plugin/PluginActionExecution.ts +0 -36
  1123. package/src/types/plugin/PluginCommand.ts +0 -15
  1124. package/src/types/plugin/PluginContext.ts +0 -59
  1125. package/src/types/plugin/PluginDefinition.ts +0 -54
  1126. package/src/types/plugin/PluginExecutionContext.ts +0 -29
  1127. package/src/types/plugin/PluginHttp.ts +0 -36
  1128. package/src/types/plugin/PluginNotification.ts +0 -38
  1129. package/src/types/plugin/PluginRegistry.ts +0 -25
  1130. package/src/types/plugin/PluginRuntime.ts +0 -292
  1131. package/src/types/plugin/PluginServices.ts +0 -11
  1132. package/src/types/plugin/PluginState.ts +0 -65
  1133. package/src/types/plugin/PluginTool.ts +0 -106
  1134. package/src/types/rpc/RpcProtocol.ts +0 -464
  1135. package/src/types/sdk/AgentSessionCompact.ts +0 -36
  1136. package/src/types/session/SessionAction.ts +0 -41
  1137. package/src/types/session/SessionContent.ts +0 -52
  1138. package/src/types/session/SessionInteraction.ts +0 -268
  1139. package/src/types/session/SessionMessage.ts +0 -306
  1140. package/src/types/session/SessionMutation.ts +0 -183
  1141. package/src/types/session/SessionOrigin.ts +0 -21
  1142. package/src/types/session/SessionSegment.ts +0 -62
  1143. package/src/types/store/SessionDataStore.ts +0 -109
  1144. package/src/utils/Template.ts +0 -28
  1145. package/src/workspace/WorkspacePaths.ts +0 -37
  1146. package/src/workspace/store/JsonlSessionMessageStore.ts +0 -513
  1147. package/src/workspace/store/LocalGroupDispatchSessionDataStore.ts +0 -118
  1148. package/src/workspace/store/LocalSessionDataStore.ts +0 -169
  1149. package/src/workspace/store/LocalSessionStore.ts +0 -243
  1150. package/src/workspace/store/LocalStorePaths.ts +0 -143
  1151. package/src/workspace/store/SessionMessageStoreFactory.ts +0 -18
  1152. /package/bin/{workspace/store → group/storage}/LocalGroupSessionStore.d.ts +0 -0
package/README.md CHANGED
@@ -1,48 +1,53 @@
1
1
  # @downcity/agent
2
2
 
3
- `@downcity/agent` 是 Downcity Agent runtime 包。`Agent` 是主体,`City` 是承载多个 Agent、Workspace、Embassy transport 的环境容器。
3
+ `@downcity/agent` 是 Downcity 的单 Agent runtime 包。`Agent` 持有身份、模型、指令、Tool Session,并可独立于 City 运行。
4
4
 
5
- 它负责把一个 agent 项目目录装配成可执行运行时,包括:
5
+ 它负责把单个 Agent 装配成可执行运行时,包括:
6
6
 
7
- - 本地 SDK:`Agent`、`Group`、`Workspace`、`Session`、`RemoteAgent`
7
+ - 本地 SDK:`Agent`、`Group`、`Session`
8
8
  - 内部执行内核:Session Composer、LLM/Tool Loop、增量输出
9
- - Plugin 框架:registryaction、tool runtime 与执行生命周期
10
- - 远程访问:`RemoteAgent`、HTTP/RPC transport
9
+ - 中立宿主执行端口:接收 City 提供的 ToolSessionHooks Workspace 协议
11
10
 
12
- CLI 与 Desktop 负责读取产品配置并显式装配 `Agent`,再通过 `city.agents.add(agent)` Agent 加入环境。City 不创建 Agent,也不持有 Plugin 实例;City 只提供底层资源和 Storage,Plugin 通过执行 Context 使用被允许的能力。
11
+ CLI 与 Desktop 通过 `@downcity/city` 读取宿主配置并显式装配 `Agent`,再将 City 级 Plugin 注册到 `City`。调用 `city.agents.add(agent)` 后,City 中全部 Plugin 自动对该 Agent 可用;Agent 不保存 Plugin 实例。Plugin 的实例、配置投影、Hook scope 与生命周期均由 City 持有。
13
12
 
14
13
  ## 包定位
15
14
 
16
15
  - 面向单个 Agent 项目的执行面
17
16
  - 对外通过 `@downcity/agent` 根入口暴露公共 API
18
- - 负责 session SDK、executor 内核、plugin runtime、sandbox、SDK 本地 Agent
17
+ - 负责 Session SDK、Executor 内核、中性执行端口与 SDK 本地 Agent
19
18
  - 不负责多 Agent registry、control plane daemon、console UI 聚合和平台级编排
20
19
 
21
20
  ## 与其他包的边界
22
21
 
23
22
  - `@downcity/agent`
24
- - Agent 与 City runtime
25
- - session SDK、executor 内核、plugin 框架、sandbox
26
- - City Workspace、Embassy、HTTP/RPC transport
23
+ - Agent、Group、Session
24
+ - Session SDK、Executor 内核和中性执行端口
25
+ - `@downcity/city`
26
+ - City 组合根、Workspace/Embassy 装配、RemoteAgent 与 HTTP/RPC transport
27
+ - Plugin Registry、Hook 调度、唯一实例和生命周期
28
+ - `@downcity/city/local` 提供本地数据库、配置 Repository 与 Plugin Loader
29
+ - `@downcity/city/plugin`
30
+ - Plugin 作者协议、Context、Action、Hook、Lifecycle 与统一 City module
27
31
  - `downcity`
28
32
  - CLI City daemon 与平台控制面
29
- - `@downcity/local`
30
- - CLI 与 Desktop 共用的本地数据库 Adapter、配置 Repository 与 Plugin Loader
31
- - 不创建 Agent、Workspace、Model 或 City
32
33
  - `@downcity/ui`
33
34
  - React UI 组件与展示层
34
35
 
35
36
  Session ID 由 `agent.sessions.create()` 内部生成;创建接口不接受调用方指定的
36
- `session_id`。恢复已有 Session 时使用 `agent.sessions.get(session_id)`,如果该
37
- Session 创建时绑定了 Workspace,恢复时必须传入同一个 Workspace。
37
+ `session_id`。Session 默认来源是 `{ type: "chat" }`,Group 使用 `group`,Task Plugin
38
+ 使用 `task`,其他创建方也可以在 `create({ origin })` 中声明任意非空的 `origin.type`
39
+ 及附加 JSON 元数据。恢复已有 Session 使用 `agent.sessions.get(session_id, origin_type = "chat")`;
40
+ 该调用只读取指定来源分区,不跨目录猜测。如果 Session 创建时绑定了 Workspace,恢复时还必须
41
+ 通过第三个参数传入同一个 Workspace,例如 `get(session_id, "task", { workspace })`。
38
42
 
39
- Group 是和 Agent 并列的可联系主体。Group 持有自己的模型,默认通过 AI 调度器识别消息意图、选择成员和生成当前最佳响应图;没有模型或模型调用失败时,GroupSession 会记录明确的调度失败,不会静默使用另一套规则。需要自定义行为时可显式提供 `dispatch_strategy`,异步策略应响应输入中的 `abort_signal`。普通群聊消息是否投递给一个或多个成员完全由 Group.model 决定。每个 GroupSession 拥有唯一的内部 Dispatch Session,调度 Turn 会排队并持久化;AI 调度在同一 Turn 内通过强制的 `dispatch_group` tool call 提交 `steps` `next`,协议输出无效时会先要求模型纠正,再由 SDK 编译为内部执行图。
43
+ Group 是和 Agent 并列的可联系主体。Agent `name` 是可见名称,`description` 是供展示和 Group 选择成员使用的能力简介;两者不替代控制 Agent 行为的 `instruction`。Group 持有自己的模型,默认通过 AI 调度器结合 Group 目标、对话上下文和成员的 `id/name/description` 生成有限阶段计划。没有模型或模型调用失败时,GroupSession 会记录明确的调度失败,不会静默使用另一套规则。需要自定义行为时可显式提供 `dispatch_strategy`,异步策略应响应输入中的 `abort_signal`。
40
44
 
41
- `steps` 是二维数组:外层阶段按顺序执行,同一阶段数组内的成员并行执行;同一个成员可以出现在不同阶段,表示它在拓扑中再次参与。例如 `[["architect"], ["developer"], ["architect"], ["reviewer"]]` 表示 architect 的回复先交给 developer,再交回 architect,最后交给 reviewer。空数组配合 `next: "stop"` 表示本次不投递成员。
42
- 并通过 `group.sessions.create()` 创建独立的群聊上下文。消息和传播属于 GroupSession;
43
- 成员执行仍通过成员 Agent 的 `AgentSessions` 完成。`prompt()` 立即返回消息回执并异步启动 user dispatchGroupSession 只运行一个全局 auto dispatch,在当前成员执行完成后统一决定是否扩展响应图。成员运行态可通过
45
+ AI 调度在同一 Turn 内通过强制的 `dispatch_group` tool call 提交 `reason`、`stages` `next`。`stages` 按顺序执行,每个阶段包含一个或多个成员专属 `assignment`,同一阶段内并行执行;同一个成员可以在不同阶段再次参与。`next: "continue"` 只表示下一步选择必须依赖当前阶段的真实输出;当前对话已满足用户意图时返回空 `stages` `next: "stop"`,已知阶段执行后即可完成时也使用 `stop`。32 次上限与重复路径检测只用于异常熔断,不参与正常的停止判断。
46
+
47
+ 调用 `group.sessions.create()` 可创建独立的群聊上下文。消息和传播属于 GroupSession
48
+ 成员执行仍通过成员 Agent 的 `AgentSessions` 完成。`prompt()` 立即返回消息回执并异步启动 user dispatch;GroupSession 只运行一个全局 auto dispatch,在当前成员执行完成后统一决定是否需要依据结果继续判断。成员运行态可通过
44
49
  `subscribe()` 统一订阅共享消息和 Group/成员运行态;Session metadata 会记录 Group 与
45
- GroupSession 来源。Dispatch Session Turn 日志与传播检查点都会写入 City Storage;
50
+ GroupSession 来源。GroupSession 的调度 Turn 日志与传播检查点都会写入 City Storage;
46
51
  进程中断后可以根据调度阶段重新执行尚未完成的 user dispatch 或继续 auto dispatch。
47
52
  `GroupSession.stop()` 会同时中断调度模型和成员 Session。`group.sessions.list()` 返回轻量摘要,
48
53
  `group.sessions.get(id)` 恢复完整上下文。
@@ -66,13 +71,15 @@ src/
66
71
  ├── index.ts # 包公开入口
67
72
  ├── agent/ # Agent facade、状态、模型、环境与执行绑定
68
73
  ├── group/ # Group 主体、GroupSession 和消息调度策略
69
- ├── executor/ # LLM/Tool Loop、执行恢复与内存上下文折叠
70
- ├── plugin/ # Plugin registry、执行视图、工具桥接与生命周期
71
- ├── remote/ # RemoteAgent、RemoteSessionHTTP/RPC transport
72
- ├── session/ # Session facade、State、Turn、Queue、Messages Composer
73
- ├── types/ # agent / executor / session / plugin 等共享协议类型
74
- ├── utils/ # 日志、资源和通用辅助能力
75
- └── workspace/ # 项目文件、工具、初始化、路径与结构化存储
74
+ ├── executor/ # LLM/Tool Loop、usage 观测与执行恢复
75
+ ├── host/ # Agent 宿主端口
76
+ ├── internal/ # AgentGroup 的内部运行时装配
77
+ ├── plugin/ # Agent 使用的 Plugin 执行协议辅助
78
+ ├── remote/ # 远程 Agent Session 客户端协议
79
+ ├── session/ # Session facade、执行编排、消息与持久化
80
+ ├── tools/ # Agent 内置 Tool
81
+ ├── types/ # agent / executor / session 等包内类型
82
+ └── utils/ # 日志、资源和通用辅助能力
76
83
  ```
77
84
 
78
85
  ## 顶层目录职责
@@ -83,38 +90,39 @@ src/
83
90
  - `AgentSessions.ts` 负责 Session 集合生命周期
84
91
  - `ExecutionBinding.ts` 负责 Agent 执行目标绑定
85
92
 
86
- - `src/workspace/`
87
- - 统一承载项目根目录、文件系统、模型工具、初始化和结构化存储
88
- - `store/` 负责 AgentStorage、Session 和 JSONL Message 的本地持久化
89
- - `WorkspaceEnv.ts` 负责 Workspace 环境变量装配
90
- - `tool/WorkspaceTools.ts` 组合文件、搜索与可选 Shell 工具
91
- - `WorkspacePaths.ts` 负责 AgentStorage 私有数据路径布局
92
-
93
93
  - `src/session/`
94
94
  - `Session.ts` 是公开 facade 与 Session 对象装配入口
95
95
  - `SessionState.ts` 管理配置与 metadata
96
- - `SessionLoop.ts` 管理输入队列和 Turn 生命周期
97
- - `SessionMessages.ts` canonical Message 唯一事实源
98
- - `DefaultSessionComposer.ts` 负责 system/history/tools 与压缩计划定制
99
- - `messages/` Assistant writer、Message codec 与 compaction;JSONL Store 位于 `workspace/store/`
100
- - Session 由 `AgentSessions` 统一持有;Workspace 只作为 `agent.sessions.create/get({ workspace })` 的单次执行输入
96
+ - `SessionLoop.ts` Command Queue 的唯一消费者,并管理 Turn 生命周期
97
+ - Prompt Command 创建或加入 Turn;配置与压缩等 Maintenance Command 在空闲期独立执行
98
+ - `SessionComposition.ts` 管理 system snapshot、检查点 env/hook 与 Composer 输入
99
+ - `session.db` canonical Message 唯一事实源,`SessionMessages.ts` 负责领域写入、恢复和有界运行态投影
100
+ - `DefaultSessionComposer.ts` 负责 system/history/tools,并默认使用 Part 级上下文策略
101
+ - `SessionTurnContext.effects` 只负责按发生顺序收集当前 Turn 的 Tool 副作用,不解释具体业务
102
+ - `messages/` 放 Assistant 状态转换与 writer、Message codec、Tool effect 投影与结构化文件编辑 Diff
103
+ - `composer/policies/` 放只读 canonical Message 并管理自有派生表的上下文策略
104
+ - `storage/` 负责 Session SQLite、附件和事务;只使用 AgentStorage,不访问项目 Workspace
105
+ - Session 由 `AgentSessions` 统一持有;Workspace 只作为 `agent.sessions.create({ workspace })` 或 `agent.sessions.get(session_id, origin_type, { workspace })` 的单次执行输入
106
+
107
+ - `src/group/`
108
+ - `storage/` 负责 GroupSession 的 metadata、共享消息和调度记录持久化
101
109
 
102
110
  - `src/executor/`
103
111
  - 内部执行内核
104
112
  - `Executor` 只负责单轮 LLM/Tool Loop、Step 状态和上下文恢复
105
113
  - 不持有 History Store,不负责 Message 或 metadata 持久化
114
+ - 默认 system block 只由 `session/SessionSystem.ts` 组装,不维护第二套 system composer
106
115
 
107
116
  - `src/plugin/`
108
- - Agent Plugin registry、执行视图、生命周期与工具桥接
109
- - 具体内建 Plugin 实现位于 `@downcity/plugins`
117
+ - 只保留 Agent 公开的 Action schedule 与 Plugin 协议辅助
118
+ - Plugin Registry、Hook 调度与生命周期属于 `@downcity/city`
110
119
 
111
120
  - `src/remote/transports/` 放 HTTP、RPC transport 及其内部客户端;RPC Server 与 HTTP gateway 由上游宿主管理
112
- - Agent 与 Session 都持有宿主传入的 `AgentModel` 实例;`AgentModel` 可以是 AI SDK `LanguageModel` 或 City 返回的 `CityModel`
113
- - Session 可通过 `session.set({ model })` 覆盖,执行时固定按 Session 模型、Agent 模型的顺序解析,并在 LLM 调用边界转换为 `LanguageModel`
121
+ - Agent、SessionGroup 统一持有宿主传入的 `ModelClient`;City 返回的 `CityModel` 在该协议上额外提供目录与展示元数据
122
+ - Session 可通过 `session.set({ model })` 覆盖,执行时固定按 Session 模型、Agent 模型的顺序解析,并直接通过统一的 `ModelClient` 协议调用
114
123
 
115
124
  - `src/types/`
116
125
  - 跨模块、跨包共享协议类型
117
- - `common/` 放 JSON、模板等无领域依赖的基础类型
118
126
  - `config/` 放 LLM、execution binding、plugin 配置、start options 等宿主配置契约
119
127
  - `runtime/` 放 auth、agent、host、platform 等运行时与控制面共享协议
120
128
  - 领域内部类型仍保留在对应领域目录,例如 `plugin/types/`、`executor/types/`
@@ -132,15 +140,19 @@ src/
132
140
 
133
141
  其中:
134
142
 
135
- - `agent` 承载本地 Agent 核心运行时,`remote` 承载独立的远程 SDK 客户端
136
- - `workspace` 承载项目资源、初始化和持久化能力,`platform` 只处理系统级路径
137
- - `Agent` facade 是实例级装配中心,持有 instruction、model、tools、plugins 与 sessions;env 由 Workspace 持有
138
- - `PluginContext` 只在 Agent 内部向 Plugin 投影稳定能力,不向宿主暴露
139
- - `session / executor / plugin` 是三大核心分层
143
+ - `agent` 承载本地 Agent 核心运行时
144
+ - Workspace、Shell 与 Plugin 实现由 City 持有,Agent 只消费 `@downcity/type` 中的中立协议
145
+ - `Agent` facade 是实例级装配中心,持有 instruction、model、tools 与 sessions;env 由 Workspace 持有,Plugin 由 City 持有
146
+ - `PluginContext` City 为 Agent/Workspace 执行范围创建,只向 Plugin 投影稳定的受限能力
147
+ - `session / executor` Agent 的核心执行分层,Plugin 通过 `SessionHooks` 进入 Session
140
148
  - `SessionMessages` 是 Message 唯一事实源,Executor 不持有 Store
141
149
  - `types / utils` 提供横向公共支撑
142
150
 
143
- 持久化规则:加入 City 后,AgentSession 使用 `agents/<agent_id>/sessions/<session_id>/`,
151
+ 持久化规则:加入 City 后,AgentSession 使用 `agents/<agent_id>/sessions/<origin_type>/<session_id>/`,
152
+ 归档后使用 `agents/<agent_id>/archived-sessions/<origin_type>/<session_id>/`;每个 Session 目录包含
153
+ `session.db` 与 `attachments/`,`origin_type` 会被安全编码为单个目录段。普通聊天默认位于 `sessions/chat/`。
144
154
  GroupSession 使用 `groups/<group_id>/sessions/<group_session_id>/`;未加入 City 时两者均使用
145
155
  当前主体实例的内存 Storage。只有传入 Workspace 的 AgentSession 或 GroupSession 才会在
146
- `meta.json` 写入 `workspace_id`。
156
+ `session_state` 写入 `workspace_id`。GroupSession 使用 `Group.model` 根据首条用户消息异步生成并持久化
157
+ `title`,`preview_text` 仍只保存最后一条消息摘要;`rename(title)` 可提交手动标题。AgentSession 的
158
+ 状态均由 `session_state` 保存,并始终保留完整且不可变的 `origin`。
@@ -1,46 +1,51 @@
1
1
  /**
2
- * Agent:身份、模型、指令与 Plugin 的主体对象。
2
+ * Agent:身份、模型、指令与 Session 的主体对象。
3
3
  *
4
4
  * 职责说明(中文)
5
5
  * - Agent 不绑定 Workspace;调用方通过 `agent.sessions.create({ workspace })` 选择本次执行环境。
6
- * - PluginRegistry 只属于 Agent,所有 Workspace 共享同一份注册定义。
6
+ * - Plugin Transport 由 City 持有,Agent 只通过 CityRuntime 使用最小执行能力。
7
7
  * - Session 由 AgentSessions 统一持有;Workspace 只在单个 Session 创建时提供执行资源。
8
8
  */
9
- import type { RuntimeTool as Tool } from "@downcity/type";
10
- import type { AgentModel } from "./AgentModel.js";
11
- import { PluginRegistry } from "../plugin/core/PluginRegistry.js";
9
+ import type { CityRuntime, ModelClient, RuntimeTool as Tool, WorkspaceRuntime } from "@downcity/type";
12
10
  import type { AgentOptions, AgentSessionConstructor } from "../types/agent/AgentOptions.js";
13
- import type { PluginWebServices } from "../types/plugin/PluginServices.js";
14
11
  import type { AgentSessionCollection } from "../types/agent/AgentSessionCollection.js";
15
12
  import { Logger } from "../utils/logger/Logger.js";
13
+ import type { SessionSystemMessage } from "../executor/types/SessionPrompts.js";
14
+ import type { SessionComposer } from "../types/session/SessionComposer.js";
16
15
  /** SDK Agent 主体。 */
17
16
  export declare class Agent {
18
17
  /** Agent 的全局稳定标识。 */
19
18
  readonly id: string;
19
+ /** Agent 的用户可见名称。 */
20
+ readonly name: string;
21
+ /** Agent 的一句话能力描述,供展示与 Group 调度使用。 */
22
+ readonly description: string;
20
23
  /** Agent 默认模型;Session 可以显式覆盖。 */
21
- readonly model?: AgentModel;
24
+ readonly model?: ModelClient;
22
25
  /** Agent 面向用户的 Session 创建入口。 */
23
26
  readonly sessions: AgentSessionCollection;
24
- /** 当前 Agent 持有的 Web 搜索与文档能力。 */
25
- readonly web?: PluginWebServices;
26
- /** Agent 注册的唯一 PluginRegistry。 */
27
- readonly plugins: PluginRegistry;
28
27
  /** Agent 自定义 Tool;进入每个 Workspace 时与项目 Tool 合并。 */
29
28
  readonly custom_tools: Record<string, Tool>;
30
29
  /** Agent 使用的 Session 类。 */
31
30
  readonly session_class?: AgentSessionConstructor;
32
- /** AgentPlugin 的内部访问名,仍指向 Agent 唯一 Registry。 */
33
- readonly plugin_registry: PluginRegistry;
31
+ /** 为每个 Session 创建独立 Composer 的工厂。 */
32
+ readonly session_composer?: () => SessionComposer;
34
33
  /** Agent 级日志器,不绑定任何 Workspace。 */
35
34
  private readonly logger;
36
35
  /** 当前 Agent configured instruction。 */
37
36
  private readonly instruction;
38
37
  /** Agent 释放状态。 */
39
38
  private dispose_promise?;
40
- /** Agent 级 Plugin lifecycle 启动流程。 */
41
- private readonly plugin_ready;
42
39
  /** Agent 唯一的 Session 集合。 */
43
40
  private readonly session_manager;
41
+ /** 未加入宿主时使用的隔离进程内存储。 */
42
+ private storage_provider;
43
+ /** Agent 当前所属的唯一 City;独立运行时为空。 */
44
+ private city?;
45
+ /** 延迟创建的 Agent 私有持久化视图。 */
46
+ private agent_storage?;
47
+ /** 是否已经在无宿主存储中创建或恢复过 Session。 */
48
+ private memory_session_started;
44
49
  constructor(options: AgentOptions);
45
50
  /** 更新 Agent 的静态基础指令。 */
46
51
  set_instruction(input: string | string[]): void;
@@ -48,9 +53,26 @@ export declare class Agent {
48
53
  get_instructions(): readonly string[];
49
54
  /** 返回 Agent 级日志器。 */
50
55
  get_logger(): Logger;
51
- /** 释放 Agent 进入的全部 Workspace Agent Plugin。 */
56
+ /** Agent 加入 City;必须在创建或恢复 Session 前完成。 */
57
+ attach(city: CityRuntime): void;
58
+ /** 解除指定 City 关系;其他 City 不能解除当前绑定。 */
59
+ detach(city: CityRuntime): void;
60
+ /** 停止绑定到指定 Workspace 的运行中 Session,并释放后台标题任务。 */
61
+ release_workspace(workspace_id: string): Promise<void>;
62
+ /** 解析指定 Workspace 下一个 Session 当前可见的 system messages。 */
63
+ resolve_system_messages(workspace: WorkspaceRuntime, input: {
64
+ /** 目标 Session 稳定标识。 */
65
+ session_id: string;
66
+ }): Promise<SessionSystemMessage[]>;
67
+ /** 释放 Agent 的 Session 后台任务、存储与宿主引用。 */
52
68
  dispose(): Promise<void>;
53
- /** 等待 Agent Plugin 完成启动,供内部运行时使用。 */
69
+ /** 等待 Agent 自身运行时 ready,供内部运行时使用。 */
54
70
  ensure_ready(): Promise<void>;
71
+ /** 获取或创建 Agent 唯一的 Session 存储。 */
72
+ private resolve_storage;
73
+ /** 校验宿主模式下使用的 Workspace 来自当前宿主事实源。 */
74
+ private assert_workspace;
75
+ /** 在明确检查点合并 Workspace、宿主扩展和 Agent Tool。 */
76
+ private resolve_tools;
55
77
  }
56
78
  //# sourceMappingURL=Agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/agent/Agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EACV,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAclD,oBAAoB;AACpB,qBAAa,KAAK;IAChB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,iCAAiC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAE5B,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAE1C,gCAAgC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAAC;IAEjC,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,kDAAkD;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5C,2BAA2B;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IAEjD,gDAAgD;IAChD,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC;IAEzC,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IAEvC,kBAAkB;IAClB,OAAO,CAAC,eAAe,CAAC,CAAgB;IAExC,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAEhD,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;gBAEpC,OAAO,EAAE,YAAY;IA0EjC,wBAAwB;IACxB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAK/C,qBAAqB;IACrB,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAIrC,qBAAqB;IACrB,UAAU,IAAI,MAAM;IAIpB,+CAA+C;IACzC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B,uCAAuC;IACjC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAIpC"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/agent/Agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,WAAW,IAAI,IAAI,EAEnB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAMlD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAQ1E,oBAAoB;AACpB,qBAAa,KAAK;IAChB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,iCAAiC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAE7B,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAE1C,kDAAkD;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5C,2BAA2B;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IAEjD,qCAAqC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,eAAe,CAAC;IAElD,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IAEvC,kBAAkB;IAClB,OAAO,CAAC,eAAe,CAAC,CAAgB;IAExC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAEhD,wBAAwB;IACxB,OAAO,CAAC,gBAAgB,CAAqD;IAE7E,kCAAkC;IAClC,OAAO,CAAC,IAAI,CAAC,CAAc;IAE3B,2BAA2B;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAe;IAErC,iCAAiC;IACjC,OAAO,CAAC,sBAAsB,CAAS;gBAE3B,OAAO,EAAE,YAAY;IAoDjC,wBAAwB;IACxB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAK/C,qBAAqB;IACrB,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAIrC,qBAAqB;IACrB,UAAU,IAAI,MAAM;IAIpB,4CAA4C;IAC5C,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAe/B,qCAAqC;IACrC,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAI/B,gDAAgD;IAC1C,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D,wDAAwD;IAClD,uBAAuB,CAC3B,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE;QACL,uBAAuB;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqClC,uCAAuC;IACjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB9B,qCAAqC;IAC/B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,kCAAkC;IAClC,OAAO,CAAC,eAAe;IAkBvB,sCAAsC;IACtC,OAAO,CAAC,gBAAgB;IAQxB,2CAA2C;IAC3C,OAAO,CAAC,aAAa;CAYtB"}
@@ -1,114 +1,104 @@
1
1
  /**
2
- * Agent:身份、模型、指令与 Plugin 的主体对象。
2
+ * Agent:身份、模型、指令与 Session 的主体对象。
3
3
  *
4
4
  * 职责说明(中文)
5
5
  * - Agent 不绑定 Workspace;调用方通过 `agent.sessions.create({ workspace })` 选择本次执行环境。
6
- * - PluginRegistry 只属于 Agent,所有 Workspace 共享同一份注册定义。
6
+ * - Plugin Transport 由 City 持有,Agent 只通过 CityRuntime 使用最小执行能力。
7
7
  * - Session 由 AgentSessions 统一持有;Workspace 只在单个 Session 创建时提供执行资源。
8
8
  */
9
- import { normalize_instruction_input } from "./AgentInstructions.js";
10
- import { PluginRegistry } from "../plugin/core/PluginRegistry.js";
9
+ import { create_instruction_system_blocks, normalize_instruction_input, } from "../agent/AgentInstructions.js";
11
10
  import { Logger } from "../utils/logger/Logger.js";
12
- import { AgentSessions } from "./AgentSessions.js";
13
- import { agent_embassy, clear_agent_runtime, create_workspace_entry, dispose_agent_runtime, get_agent_storage, initialize_agent_runtime, list_workspace_entries, mark_agent_session_started, release_agent_from_city, } from "../internal/AgentRuntime.js";
11
+ import { AgentSessions } from "../agent/AgentSessions.js";
12
+ import { AgentMemoryStorageProvider } from "../agent/AgentMemoryStorage.js";
13
+ import { LocalSessionStore } from "../session/storage/LocalSessionStore.js";
14
+ import { EMPTY_SESSION_HOOKS } from "../session/SessionHooks.js";
15
+ import { build_session_system_blocks, resolve_session_plugin_system_blocks, } from "../session/SessionSystem.js";
16
+ import { create_session_hook_context } from "../session/runtime/SessionTurnContext.js";
17
+ import { resolve_system_timezone } from "../session/storage/Metadata.js";
14
18
  /** SDK Agent 主体。 */
15
19
  export class Agent {
16
20
  /** Agent 的全局稳定标识。 */
17
21
  id;
22
+ /** Agent 的用户可见名称。 */
23
+ name;
24
+ /** Agent 的一句话能力描述,供展示与 Group 调度使用。 */
25
+ description;
18
26
  /** Agent 默认模型;Session 可以显式覆盖。 */
19
27
  model;
20
28
  /** Agent 面向用户的 Session 创建入口。 */
21
29
  sessions;
22
- /** 当前 Agent 持有的 Web 搜索与文档能力。 */
23
- web;
24
- /** Agent 注册的唯一 PluginRegistry。 */
25
- plugins;
26
30
  /** Agent 自定义 Tool;进入每个 Workspace 时与项目 Tool 合并。 */
27
31
  custom_tools;
28
32
  /** Agent 使用的 Session 类。 */
29
33
  session_class;
30
- /** AgentPlugin 的内部访问名,仍指向 Agent 唯一 Registry。 */
31
- plugin_registry;
34
+ /** 为每个 Session 创建独立 Composer 的工厂。 */
35
+ session_composer;
32
36
  /** Agent 级日志器,不绑定任何 Workspace。 */
33
37
  logger = new Logger();
34
38
  /** 当前 Agent configured instruction。 */
35
39
  instruction;
36
40
  /** Agent 释放状态。 */
37
41
  dispose_promise;
38
- /** Agent 级 Plugin lifecycle 启动流程。 */
39
- plugin_ready;
40
42
  /** Agent 唯一的 Session 集合。 */
41
43
  session_manager;
44
+ /** 未加入宿主时使用的隔离进程内存储。 */
45
+ storage_provider = new AgentMemoryStorageProvider();
46
+ /** Agent 当前所属的唯一 City;独立运行时为空。 */
47
+ city;
48
+ /** 延迟创建的 Agent 私有持久化视图。 */
49
+ agent_storage;
50
+ /** 是否已经在无宿主存储中创建或恢复过 Session。 */
51
+ memory_session_started = false;
42
52
  constructor(options) {
43
53
  this.id = String(options.id || "").trim();
44
54
  if (!this.id)
45
55
  throw new Error("Agent requires a non-empty id");
46
- initialize_agent_runtime(this);
56
+ this.name = String(options.name || "").trim() || this.id;
57
+ this.description = String(options.description || "").trim();
47
58
  this.model = options.model;
48
- this.web = options.web;
49
59
  this.instruction = normalize_instruction_input(options.instruction);
50
- const agent = this;
51
- const agent_plugin_context = Object.freeze({
52
- agent_id: this.id,
53
- logger: this.logger,
54
- web: this.web,
55
- get embassy() {
56
- return agent_embassy(agent);
57
- },
58
- get instructions() {
59
- return agent.get_instructions();
60
- },
61
- });
62
60
  this.session_class = options.session_class;
63
- this.plugins = new PluginRegistry(agent_plugin_context, options.plugins || []);
64
- this.plugin_registry = this.plugins;
65
- this.plugin_ready = this.plugins.start_all();
61
+ this.session_composer = options.session_composer;
66
62
  this.custom_tools = options.tools && typeof options.tools === "object"
67
63
  ? { ...options.tools }
68
64
  : {};
69
- const no_workspace_plugins = () => ({
70
- plugins: [],
71
- read: () => ({ plugins: [] }),
72
- run_action: async () => ({ success: false, error: "Workspace is required" }),
73
- system_blocks: async () => [],
74
- acquire: () => ({
75
- read: () => ({ plugins: [] }),
76
- run_action: async () => ({ success: false, error: "Workspace is required" }),
77
- system_blocks: async () => [],
78
- release: async () => { },
79
- }),
80
- });
81
- const get_store = () => get_agent_storage(this).sessions;
82
- const session_store = {
83
- session: (session_id, workspace_id) => get_store().session(session_id, workspace_id),
84
- has_session: async (session_id) => await get_store().has_session(session_id),
85
- remove_session: async (session_id) => await get_store().remove_session(session_id),
86
- clear_session_messages: async (session_id) => await get_store().clear_session_messages(session_id),
87
- list_sessions: async (input, executing) => await get_store().list_sessions(input, executing),
88
- archive_session: async (session_id) => await get_store().archive_session(session_id),
89
- list_archived_sessions: async (input) => await get_store().list_archived_sessions(input),
90
- clean_archive: async () => await get_store().clean_archive(),
91
- dispose: async () => { },
92
- };
93
65
  this.session_manager = new AgentSessions({
94
66
  agent_id: this.id,
95
67
  logger: this.logger,
96
68
  get_instruction: () => [...this.get_instructions()],
97
- ensure_agent_ready: async () => { await this.plugin_ready; },
69
+ ensure_agent_ready: async () => await this.ensure_ready(),
98
70
  get_agent_model: () => this.model,
99
71
  session_class: this.session_class,
100
- on_session_routed: () => mark_agent_session_started(agent),
72
+ create_session_composer: this.session_composer,
73
+ on_session_routed: () => {
74
+ if (!this.city)
75
+ this.memory_session_started = true;
76
+ },
101
77
  resolve_session_context: (workspace) => {
78
+ const storage = this.resolve_storage();
102
79
  if (!workspace)
103
80
  return {
104
81
  workspace_path: ".",
105
82
  logger: this.logger,
106
- tools: this.custom_tools,
83
+ get_tools: () => ({ ...this.custom_tools }),
107
84
  get_workspace_env: () => ({}),
108
- get_agent_plugins: no_workspace_plugins,
109
- store: session_store,
85
+ get_hooks: () => EMPTY_SESSION_HOOKS,
86
+ store: storage.sessions,
110
87
  };
111
- return create_workspace_entry(this, workspace).get_session_context();
88
+ this.assert_workspace(workspace);
89
+ // 静态 Workspace Tool 与 Agent Tool 的命名冲突属于 Session 创建不变量,
90
+ // 在装配时立即失败;执行时仍通过 getter 读取最新宿主扩展。
91
+ this.resolve_tools(workspace);
92
+ return {
93
+ workspace_path: workspace.path,
94
+ workspace_id: workspace.id,
95
+ logger: this.logger,
96
+ get_tools: () => this.resolve_tools(workspace),
97
+ get_workspace_env: () => workspace.get_env(),
98
+ get_hooks: () => this.city?.get_session_hooks(this.id, workspace)
99
+ ?? EMPTY_SESSION_HOOKS,
100
+ store: storage.sessions,
101
+ };
112
102
  },
113
103
  });
114
104
  this.sessions = this.session_manager;
@@ -126,26 +116,134 @@ export class Agent {
126
116
  get_logger() {
127
117
  return this.logger;
128
118
  }
129
- /** 释放 Agent 进入的全部 Workspace Agent Plugin。 */
119
+ /** Agent 加入 City;必须在创建或恢复 Session 前完成。 */
120
+ attach(city) {
121
+ if (this.dispose_promise)
122
+ throw new Error(`Agent "${this.id}" is disposing`);
123
+ if (this.city) {
124
+ if (this.city === city)
125
+ return;
126
+ throw new Error(`Agent "${this.id}" already belongs to another City`);
127
+ }
128
+ if (this.memory_session_started || this.agent_storage) {
129
+ throw new Error(`Agent "${this.id}" already used standalone storage; attach it before using Sessions`);
130
+ }
131
+ this.city = city;
132
+ this.storage_provider = city.storage;
133
+ }
134
+ /** 解除指定 City 关系;其他 City 不能解除当前绑定。 */
135
+ detach(city) {
136
+ if (this.city === city)
137
+ this.city = undefined;
138
+ }
139
+ /** 停止绑定到指定 Workspace 的运行中 Session,并释放后台标题任务。 */
140
+ async release_workspace(workspace_id) {
141
+ await this.session_manager.stop_executing_sessions(workspace_id);
142
+ this.session_manager.dispose_title_generation(workspace_id);
143
+ }
144
+ /** 解析指定 Workspace 下一个 Session 当前可见的 system messages。 */
145
+ async resolve_system_messages(workspace, input) {
146
+ this.assert_workspace(workspace);
147
+ const session_id = String(input.session_id || "").trim();
148
+ if (!session_id) {
149
+ throw new Error("resolve_system_messages requires a non-empty session_id");
150
+ }
151
+ const instruction_system_blocks = create_instruction_system_blocks([...this.get_instructions()], workspace.path);
152
+ const hooks = this.city?.get_session_hooks(this.id, workspace)
153
+ ?? EMPTY_SESSION_HOOKS;
154
+ const hook_context = create_session_hook_context({
155
+ session_id,
156
+ session_origin: { type: "chat" },
157
+ project_root: workspace.path,
158
+ workspace_env: Object.freeze({ ...workspace.get_env() }),
159
+ agent_systems: instruction_system_blocks.map((block) => block.content),
160
+ });
161
+ const plugin_system_blocks = await resolve_session_plugin_system_blocks({
162
+ session_id,
163
+ hooks,
164
+ context: hook_context,
165
+ });
166
+ const blocks = await build_session_system_blocks({
167
+ agent_id: this.id,
168
+ project_root: workspace.path,
169
+ session_id,
170
+ created_at: Date.now(),
171
+ timezone: resolve_system_timezone(),
172
+ get_instruction_system_blocks: () => instruction_system_blocks,
173
+ get_managed_plugin_system_blocks: async () => [],
174
+ get_plugin_system_blocks: async () => plugin_system_blocks,
175
+ });
176
+ return blocks.map((block) => ({ role: "system", content: block.content }));
177
+ }
178
+ /** 释放 Agent 的 Session 后台任务、存储与宿主引用。 */
130
179
  async dispose() {
131
180
  this.dispose_promise ??= (async () => {
132
- await this.plugin_ready.catch(() => undefined);
133
- const entries = [...list_workspace_entries(this)];
134
- const results = await Promise.allSettled(entries.map(async (entry) => await entry.leave()));
135
- await this.plugins.unregister_all();
181
+ const results = await Promise.allSettled([
182
+ this.session_manager.stop_executing_sessions(),
183
+ ]);
136
184
  this.session_manager.dispose_title_generation();
137
- await dispose_agent_runtime(this);
185
+ const city = this.city;
186
+ results.push(...await Promise.allSettled([
187
+ city?.release_agent(this) ?? Promise.resolve(),
188
+ this.agent_storage?.sessions.dispose() ?? Promise.resolve(),
189
+ this.logger.save_all_logs(),
190
+ ]));
138
191
  const errors = results.flatMap((result) => result.status === "rejected" ? [result.reason] : []);
139
- release_agent_from_city(this);
140
- clear_agent_runtime(this);
192
+ this.city = undefined;
193
+ this.agent_storage = undefined;
141
194
  if (errors.length > 0)
142
195
  throw new AggregateError(errors, "Agent dispose failed");
143
196
  })();
144
197
  await this.dispose_promise;
145
198
  }
146
- /** 等待 Agent Plugin 完成启动,供内部运行时使用。 */
199
+ /** 等待 Agent 自身运行时 ready,供内部运行时使用。 */
147
200
  async ensure_ready() {
148
- await this.plugin_ready;
201
+ await this.city?.ensure_ready();
202
+ }
203
+ /** 获取或创建 Agent 唯一的 Session 存储。 */
204
+ resolve_storage() {
205
+ if (this.agent_storage)
206
+ return this.agent_storage;
207
+ const scope = this.storage_provider.open_scope(["agents", this.id]);
208
+ this.logger.bind_storage(scope.files, scope.root_path, { agent_id: this.id });
209
+ this.agent_storage = {
210
+ root_path: scope.root_path,
211
+ files: scope.files,
212
+ database_location: scope.database_location,
213
+ sessions: new LocalSessionStore({
214
+ files: scope.files,
215
+ storage_root_path: scope.root_path,
216
+ agent_id: this.id,
217
+ database_location: scope.database_location,
218
+ }),
219
+ };
220
+ return this.agent_storage;
221
+ }
222
+ /** 校验宿主模式下使用的 Workspace 来自当前宿主事实源。 */
223
+ assert_workspace(workspace) {
224
+ const workspace_id = String(workspace?.id || "").trim();
225
+ if (!workspace_id)
226
+ throw new Error("Agent sessions require a Workspace with a stable id");
227
+ if (this.city && this.city.workspaces.get(workspace_id) !== workspace) {
228
+ throw new Error(`Workspace "${workspace_id}" does not belong to the Agent City`);
229
+ }
230
+ }
231
+ /** 在明确检查点合并 Workspace、宿主扩展和 Agent Tool。 */
232
+ resolve_tools(workspace) {
233
+ const tools = {};
234
+ register_tools(tools, workspace.tools, "WorkspaceTools");
235
+ register_tools(tools, this.city?.get_session_tools(this.id, workspace) ?? {}, "City");
236
+ register_tools(tools, this.custom_tools, "AgentOptions.tools");
237
+ return tools;
238
+ }
239
+ }
240
+ /** 注册 Tool 集合,并拒绝不同来源静默覆盖。 */
241
+ function register_tools(target, source, source_name) {
242
+ for (const [tool_name, tool_definition] of Object.entries(source)) {
243
+ if (Object.prototype.hasOwnProperty.call(target, tool_name)) {
244
+ throw new Error(`Agent tool name conflict: "${tool_name}" from ${source_name}`);
245
+ }
246
+ target[tool_name] = tool_definition;
149
247
  }
150
248
  }
151
249
  //# sourceMappingURL=Agent.js.map