@downcity/agent 1.1.430 → 1.1.438

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 (488) hide show
  1. package/README.md +13 -11
  2. package/bin/agent/Agent.d.ts +3 -3
  3. package/bin/agent/Agent.d.ts.map +1 -1
  4. package/bin/agent/Agent.js +38 -8
  5. package/bin/agent/Agent.js.map +1 -1
  6. package/bin/agent/AgentInstructions.js +2 -2
  7. package/bin/agent/AgentInstructions.js.map +1 -1
  8. package/bin/agent/AgentMemoryStorage.d.ts.map +1 -1
  9. package/bin/agent/AgentMemoryStorage.js +1 -0
  10. package/bin/agent/AgentMemoryStorage.js.map +1 -1
  11. package/bin/agent/AgentSessions.d.ts +5 -1
  12. package/bin/agent/AgentSessions.d.ts.map +1 -1
  13. package/bin/agent/AgentSessions.js +17 -9
  14. package/bin/agent/AgentSessions.js.map +1 -1
  15. package/bin/executor/Executor.d.ts +9 -27
  16. package/bin/executor/Executor.d.ts.map +1 -1
  17. package/bin/executor/Executor.js +32 -127
  18. package/bin/executor/Executor.js.map +1 -1
  19. package/bin/executor/composer/system/default/SystemPromptAssets.d.ts +0 -4
  20. package/bin/executor/composer/system/default/SystemPromptAssets.d.ts.map +1 -1
  21. package/bin/executor/composer/system/default/SystemPromptAssets.js +0 -5
  22. package/bin/executor/composer/system/default/SystemPromptAssets.js.map +1 -1
  23. package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts +3 -9
  24. package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts.map +1 -1
  25. package/bin/executor/core-engine/CoreEngineContextCompaction.js +4 -130
  26. package/bin/executor/core-engine/CoreEngineContextCompaction.js.map +1 -1
  27. package/bin/executor/core-engine/CoreEngineRunner.d.ts +3 -30
  28. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
  29. package/bin/executor/core-engine/CoreEngineRunner.js +38 -194
  30. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
  31. package/bin/executor/core-engine/CoreEngineSignals.d.ts +6 -6
  32. package/bin/executor/core-engine/CoreEngineSignals.d.ts.map +1 -1
  33. package/bin/executor/core-engine/CoreEngineSignals.js +1 -1
  34. package/bin/executor/core-engine/CoreEngineSignals.js.map +1 -1
  35. package/bin/executor/messages/SessionAttachmentMapper.d.ts +2 -2
  36. package/bin/executor/messages/SessionAttachmentMapper.d.ts.map +1 -1
  37. package/bin/executor/messages/SessionAttachmentMapper.js.map +1 -1
  38. package/bin/executor/messages/SessionMessageLog.d.ts +3 -3
  39. package/bin/executor/messages/SessionMessageLog.d.ts.map +1 -1
  40. package/bin/executor/messages/SessionMessageLog.js.map +1 -1
  41. package/bin/executor/messages/SessionModelMessages.d.ts +0 -3
  42. package/bin/executor/messages/SessionModelMessages.d.ts.map +1 -1
  43. package/bin/executor/messages/SessionModelMessages.js +80 -97
  44. package/bin/executor/messages/SessionModelMessages.js.map +1 -1
  45. package/bin/executor/model/ModelStepRunner.d.ts +2 -6
  46. package/bin/executor/model/ModelStepRunner.d.ts.map +1 -1
  47. package/bin/executor/model/ModelStepRunner.js +0 -28
  48. package/bin/executor/model/ModelStepRunner.js.map +1 -1
  49. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +7 -64
  50. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -1
  51. package/bin/executor/services/ExecutorRecoveryPolicy.js +29 -45
  52. package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -1
  53. package/bin/executor/types/SessionHistoryMeta.d.ts +1 -3
  54. package/bin/executor/types/SessionHistoryMeta.d.ts.map +1 -1
  55. package/bin/executor/types/SessionHistoryMeta.js +1 -1
  56. package/bin/index.d.ts +9 -13
  57. package/bin/index.d.ts.map +1 -1
  58. package/bin/index.js +2 -4
  59. package/bin/index.js.map +1 -1
  60. package/bin/session/DefaultSessionComposer.d.ts +13 -7
  61. package/bin/session/DefaultSessionComposer.d.ts.map +1 -1
  62. package/bin/session/DefaultSessionComposer.js +26 -21
  63. package/bin/session/DefaultSessionComposer.js.map +1 -1
  64. package/bin/session/Session.d.ts +12 -19
  65. package/bin/session/Session.d.ts.map +1 -1
  66. package/bin/session/Session.js +70 -202
  67. package/bin/session/Session.js.map +1 -1
  68. package/bin/session/SessionComposition.d.ts +0 -2
  69. package/bin/session/SessionComposition.d.ts.map +1 -1
  70. package/bin/session/SessionComposition.js +30 -54
  71. package/bin/session/SessionComposition.js.map +1 -1
  72. package/bin/session/SessionLoop.d.ts +17 -16
  73. package/bin/session/SessionLoop.d.ts.map +1 -1
  74. package/bin/session/SessionLoop.js +217 -320
  75. package/bin/session/SessionLoop.js.map +1 -1
  76. package/bin/session/SessionMessages.d.ts +52 -44
  77. package/bin/session/SessionMessages.d.ts.map +1 -1
  78. package/bin/session/SessionMessages.js +285 -187
  79. package/bin/session/SessionMessages.js.map +1 -1
  80. package/bin/session/SessionQueue.d.ts +1 -1
  81. package/bin/session/SessionQueue.d.ts.map +1 -1
  82. package/bin/session/SessionQueue.js +2 -1
  83. package/bin/session/SessionQueue.js.map +1 -1
  84. package/bin/session/SessionState.d.ts +3 -7
  85. package/bin/session/SessionState.d.ts.map +1 -1
  86. package/bin/session/SessionState.js +50 -89
  87. package/bin/session/SessionState.js.map +1 -1
  88. package/bin/session/SessionSystem.d.ts +5 -1
  89. package/bin/session/SessionSystem.d.ts.map +1 -1
  90. package/bin/session/SessionSystem.js +40 -0
  91. package/bin/session/SessionSystem.js.map +1 -1
  92. package/bin/session/SessionTitle.d.ts +3 -3
  93. package/bin/session/SessionTitle.d.ts.map +1 -1
  94. package/bin/session/SessionTitle.js +2 -2
  95. package/bin/session/browse/Browse.d.ts +32 -46
  96. package/bin/session/browse/Browse.d.ts.map +1 -1
  97. package/bin/session/browse/Browse.js +104 -360
  98. package/bin/session/browse/Browse.js.map +1 -1
  99. package/bin/session/browse/SessionMessageTimeline.d.ts.map +1 -1
  100. package/bin/session/browse/SessionMessageTimeline.js +61 -37
  101. package/bin/session/browse/SessionMessageTimeline.js.map +1 -1
  102. package/bin/session/composer/policies/AdaptivePartContextPolicy.d.ts +35 -0
  103. package/bin/session/composer/policies/AdaptivePartContextPolicy.d.ts.map +1 -0
  104. package/bin/session/composer/policies/AdaptivePartContextPolicy.js +256 -0
  105. package/bin/session/composer/policies/AdaptivePartContextPolicy.js.map +1 -0
  106. package/bin/session/composer/policies/FullHistoryContextPolicy.d.ts +24 -0
  107. package/bin/session/composer/policies/FullHistoryContextPolicy.d.ts.map +1 -0
  108. package/bin/session/composer/policies/FullHistoryContextPolicy.js +31 -0
  109. package/bin/session/composer/policies/FullHistoryContextPolicy.js.map +1 -0
  110. package/bin/session/composer/policies/SessionSummaryPrompts.d.ts +16 -0
  111. package/bin/session/composer/policies/SessionSummaryPrompts.d.ts.map +1 -0
  112. package/bin/session/composer/policies/SessionSummaryPrompts.js +32 -0
  113. package/bin/session/composer/policies/SessionSummaryPrompts.js.map +1 -0
  114. package/bin/session/execution/SessionAssistantOutputAdapter.d.ts +15 -4
  115. package/bin/session/execution/SessionAssistantOutputAdapter.d.ts.map +1 -1
  116. package/bin/session/execution/SessionAssistantOutputAdapter.js +7 -3
  117. package/bin/session/execution/SessionAssistantOutputAdapter.js.map +1 -1
  118. package/bin/session/messages/{SessionActionMessageWriter.d.ts → SessionAgentActionPartWriter.d.ts} +7 -7
  119. package/bin/session/messages/SessionAgentActionPartWriter.d.ts.map +1 -0
  120. package/bin/session/messages/{SessionActionMessageWriter.js → SessionAgentActionPartWriter.js} +7 -7
  121. package/bin/session/messages/SessionAgentActionPartWriter.js.map +1 -0
  122. package/bin/session/messages/SessionAgentContent.d.ts +10 -0
  123. package/bin/session/messages/SessionAgentContent.d.ts.map +1 -0
  124. package/bin/session/messages/SessionAgentContent.js +44 -0
  125. package/bin/session/messages/SessionAgentContent.js.map +1 -0
  126. package/bin/session/messages/SessionAgentMessageState.d.ts +50 -0
  127. package/bin/session/messages/SessionAgentMessageState.d.ts.map +1 -0
  128. package/bin/session/messages/SessionAgentMessageState.js +283 -0
  129. package/bin/session/messages/SessionAgentMessageState.js.map +1 -0
  130. package/bin/session/messages/{SessionAssistantMessageWriter.d.ts → SessionAgentMessageWriter.d.ts} +22 -8
  131. package/bin/session/messages/SessionAgentMessageWriter.d.ts.map +1 -0
  132. package/bin/session/messages/{SessionAssistantMessageWriter.js → SessionAgentMessageWriter.js} +54 -42
  133. package/bin/session/messages/SessionAgentMessageWriter.js.map +1 -0
  134. package/bin/session/messages/SessionForkMessageFiles.d.ts +11 -0
  135. package/bin/session/messages/SessionForkMessageFiles.d.ts.map +1 -1
  136. package/bin/session/messages/SessionForkMessageFiles.js +8 -2
  137. package/bin/session/messages/SessionForkMessageFiles.js.map +1 -1
  138. package/bin/session/messages/SessionMessageInteractionWriter.d.ts +6 -6
  139. package/bin/session/messages/SessionMessageInteractionWriter.d.ts.map +1 -1
  140. package/bin/session/messages/SessionMessageInteractionWriter.js +4 -4
  141. package/bin/session/messages/SessionMessageInteractionWriter.js.map +1 -1
  142. package/bin/session/messages/SessionMessageText.d.ts +3 -3
  143. package/bin/session/messages/SessionMessageText.d.ts.map +1 -1
  144. package/bin/session/messages/SessionMessageText.js +0 -2
  145. package/bin/session/messages/SessionMessageText.js.map +1 -1
  146. package/bin/session/messages/SessionTurnFileDiffData.d.ts +3 -3
  147. package/bin/session/messages/SessionTurnFileDiffData.d.ts.map +1 -1
  148. package/bin/session/messages/SessionTurnFileDiffData.js.map +1 -1
  149. package/bin/session/messages/SessionUserMessage.d.ts +3 -3
  150. package/bin/session/messages/SessionUserMessage.d.ts.map +1 -1
  151. package/bin/session/messages/SessionUserMessage.js +6 -3
  152. package/bin/session/messages/SessionUserMessage.js.map +1 -1
  153. package/bin/session/preview/SessionMessagePreview.d.ts.map +1 -1
  154. package/bin/session/preview/SessionMessagePreview.js +25 -9
  155. package/bin/session/preview/SessionMessagePreview.js.map +1 -1
  156. package/bin/session/runtime/SessionTurnCompletion.d.ts +15 -0
  157. package/bin/session/runtime/SessionTurnCompletion.d.ts.map +1 -0
  158. package/bin/session/runtime/SessionTurnCompletion.js +126 -0
  159. package/bin/session/runtime/SessionTurnCompletion.js.map +1 -0
  160. package/bin/session/runtime/SessionTurnContext.d.ts.map +1 -1
  161. package/bin/session/runtime/SessionTurnContext.js +14 -19
  162. package/bin/session/runtime/SessionTurnContext.js.map +1 -1
  163. package/bin/session/runtime/SessionTurnFileDiff.d.ts +12 -0
  164. package/bin/session/runtime/SessionTurnFileDiff.d.ts.map +1 -0
  165. package/bin/session/runtime/SessionTurnFileDiff.js +71 -0
  166. package/bin/session/runtime/SessionTurnFileDiff.js.map +1 -0
  167. package/bin/session/storage/LocalSessionDataStore.d.ts +6 -41
  168. package/bin/session/storage/LocalSessionDataStore.d.ts.map +1 -1
  169. package/bin/session/storage/LocalSessionDataStore.js +19 -101
  170. package/bin/session/storage/LocalSessionDataStore.js.map +1 -1
  171. package/bin/session/storage/LocalSessionStore.d.ts +13 -5
  172. package/bin/session/storage/LocalSessionStore.d.ts.map +1 -1
  173. package/bin/session/storage/LocalSessionStore.js +153 -30
  174. package/bin/session/storage/LocalSessionStore.js.map +1 -1
  175. package/bin/session/storage/LocalStorePaths.d.ts +4 -16
  176. package/bin/session/storage/LocalStorePaths.d.ts.map +1 -1
  177. package/bin/session/storage/LocalStorePaths.js +7 -31
  178. package/bin/session/storage/LocalStorePaths.js.map +1 -1
  179. package/bin/session/storage/Metadata.d.ts +4 -4
  180. package/bin/session/storage/Metadata.d.ts.map +1 -1
  181. package/bin/session/storage/Metadata.js +3 -11
  182. package/bin/session/storage/Metadata.js.map +1 -1
  183. package/bin/session/storage/RuntimeSessionPort.d.ts +4 -4
  184. package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
  185. package/bin/session/storage/RuntimeSessionPort.js +3 -3
  186. package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
  187. package/bin/session/storage/SessionStorageCodec.d.ts +59 -0
  188. package/bin/session/storage/SessionStorageCodec.d.ts.map +1 -0
  189. package/bin/session/storage/SessionStorageCodec.js +331 -0
  190. package/bin/session/storage/SessionStorageCodec.js.map +1 -0
  191. package/bin/session/storage/SessionStorageSchema.d.ts +11 -0
  192. package/bin/session/storage/SessionStorageSchema.d.ts.map +1 -0
  193. package/bin/session/storage/SessionStorageSchema.js +131 -0
  194. package/bin/session/storage/SessionStorageSchema.js.map +1 -0
  195. package/bin/session/storage/SqliteSessionStorage.d.ts +120 -0
  196. package/bin/session/storage/SqliteSessionStorage.d.ts.map +1 -0
  197. package/bin/session/storage/SqliteSessionStorage.js +581 -0
  198. package/bin/session/storage/SqliteSessionStorage.js.map +1 -0
  199. package/bin/tools/ask/AskQuestionsTool.d.ts.map +1 -1
  200. package/bin/tools/ask/AskQuestionsTool.js +3 -1
  201. package/bin/tools/ask/AskQuestionsTool.js.map +1 -1
  202. package/bin/types/action/ActionResult.d.ts +9 -9
  203. package/bin/types/action/ActionResult.d.ts.map +1 -1
  204. package/bin/types/action/ActionResult.js +1 -1
  205. package/bin/types/agent/AgentOptions.d.ts +10 -0
  206. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  207. package/bin/types/agent/AgentStorage.d.ts +3 -1
  208. package/bin/types/agent/AgentStorage.d.ts.map +1 -1
  209. package/bin/types/agent/SessionActor.d.ts +0 -9
  210. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  211. package/bin/types/agent/SessionTypes.d.ts +5 -5
  212. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  213. package/bin/types/executor/SessionAssistantOutput.d.ts +15 -4
  214. package/bin/types/executor/SessionAssistantOutput.d.ts.map +1 -1
  215. package/bin/types/executor/SessionTurnContext.d.ts +17 -19
  216. package/bin/types/executor/SessionTurnContext.d.ts.map +1 -1
  217. package/bin/types/sdk/AgentSessionAction.d.ts +1 -1
  218. package/bin/types/sdk/AgentSessionAction.js +1 -1
  219. package/bin/types/sdk/AgentSessionPrompt.d.ts +14 -5
  220. package/bin/types/sdk/AgentSessionPrompt.d.ts.map +1 -1
  221. package/bin/types/sdk/AgentSessionPrompt.js +1 -1
  222. package/bin/types/sdk/AgentSessionPrompt.js.map +1 -1
  223. package/bin/types/session/AdaptivePartContextPolicy.d.ts +31 -0
  224. package/bin/types/session/AdaptivePartContextPolicy.d.ts.map +1 -0
  225. package/bin/types/session/AdaptivePartContextPolicy.js +7 -0
  226. package/bin/types/session/AdaptivePartContextPolicy.js.map +1 -0
  227. package/bin/types/session/{SessionAssistantMessageState.d.ts → SessionAgentMessageState.d.ts} +7 -7
  228. package/bin/types/session/SessionAgentMessageState.d.ts.map +1 -0
  229. package/bin/types/session/{SessionAssistantMessageState.js → SessionAgentMessageState.js} +1 -1
  230. package/bin/types/session/SessionAgentMessageState.js.map +1 -0
  231. package/bin/types/session/SessionCommand.d.ts +19 -7
  232. package/bin/types/session/SessionCommand.d.ts.map +1 -1
  233. package/bin/types/session/SessionComposer.d.ts +43 -43
  234. package/bin/types/session/SessionComposer.d.ts.map +1 -1
  235. package/bin/types/session/SessionComposer.js +2 -2
  236. package/bin/types/session/SessionComposition.d.ts +2 -5
  237. package/bin/types/session/SessionComposition.d.ts.map +1 -1
  238. package/bin/types/session/SessionContextPolicy.d.ts +70 -0
  239. package/bin/types/session/SessionContextPolicy.d.ts.map +1 -0
  240. package/bin/types/session/SessionContextPolicy.js +8 -0
  241. package/bin/types/session/SessionContextPolicy.js.map +1 -0
  242. package/bin/types/session/SessionExecution.d.ts +5 -32
  243. package/bin/types/session/SessionExecution.d.ts.map +1 -1
  244. package/bin/types/session/SessionLoop.d.ts +3 -5
  245. package/bin/types/session/SessionLoop.d.ts.map +1 -1
  246. package/bin/types/session/SessionMessages.d.ts +18 -28
  247. package/bin/types/session/SessionMessages.d.ts.map +1 -1
  248. package/bin/types/session/SessionOptions.d.ts +5 -5
  249. package/bin/types/session/SessionOptions.d.ts.map +1 -1
  250. package/bin/types/session/SessionPort.d.ts +8 -9
  251. package/bin/types/session/SessionPort.d.ts.map +1 -1
  252. package/bin/types/session/SessionState.d.ts +2 -5
  253. package/bin/types/session/SessionState.d.ts.map +1 -1
  254. package/bin/types/session/SessionSystem.d.ts +14 -0
  255. package/bin/types/session/SessionSystem.d.ts.map +1 -1
  256. package/bin/types/session/SessionTool.d.ts +2 -2
  257. package/bin/types/session/SessionTool.d.ts.map +1 -1
  258. package/bin/types/session/SessionTurnCompletion.d.ts +23 -0
  259. package/bin/types/session/SessionTurnCompletion.d.ts.map +1 -0
  260. package/bin/types/session/SessionTurnCompletion.js +8 -0
  261. package/bin/types/session/SessionTurnCompletion.js.map +1 -0
  262. package/bin/types/session/SessionTurnFileDiff.d.ts +42 -0
  263. package/bin/types/session/SessionTurnFileDiff.d.ts.map +1 -0
  264. package/bin/types/session/SessionTurnFileDiff.js +8 -0
  265. package/bin/types/session/SessionTurnFileDiff.js.map +1 -0
  266. package/bin/types/store/LocalStore.d.ts +6 -13
  267. package/bin/types/store/LocalStore.d.ts.map +1 -1
  268. package/bin/types/store/LocalStore.js +1 -1
  269. package/bin/types/store/SessionStorage.d.ts +103 -0
  270. package/bin/types/store/SessionStorage.d.ts.map +1 -0
  271. package/bin/types/store/SessionStorage.js +8 -0
  272. package/bin/types/store/SessionStorage.js.map +1 -0
  273. package/bin/types/store/SessionStore.d.ts +5 -3
  274. package/bin/types/store/SessionStore.d.ts.map +1 -1
  275. package/package.json +2 -2
  276. package/scripts/core-engine-context-compaction.test.mjs +96 -219
  277. package/scripts/core-engine-model-stream.test.mjs +2 -4
  278. package/scripts/executor-failure-result.test.mjs +14 -17
  279. package/scripts/session-agent-message-part-order.test.mjs +63 -0
  280. package/scripts/session-initialization.test.mjs +141 -0
  281. package/scripts/session-message-timeline.test.mjs +5 -6
  282. package/scripts/session-messages-error-part.test.mjs +175 -0
  283. package/scripts/session-messages-error.test.mjs +47 -6
  284. package/scripts/session-prompt-idempotency.test.mjs +91 -0
  285. package/scripts/session-queue.test.mjs +13 -12
  286. package/scripts/session-storage-sqlite.test.mjs +209 -0
  287. package/scripts/session-turn-context.test.mjs +21 -33
  288. package/src/agent/Agent.ts +48 -12
  289. package/src/agent/AgentInstructions.ts +2 -2
  290. package/src/agent/AgentMemoryStorage.ts +1 -0
  291. package/src/agent/AgentSessions.ts +31 -12
  292. package/src/executor/Executor.ts +47 -184
  293. package/src/executor/README.md +12 -13
  294. package/src/executor/composer/system/default/SystemPromptAssets.ts +0 -6
  295. package/src/executor/core-engine/CoreEngineContextCompaction.ts +3 -135
  296. package/src/executor/core-engine/CoreEngineRunner.ts +51 -273
  297. package/src/executor/core-engine/CoreEngineSignals.ts +9 -9
  298. package/src/executor/messages/SessionAttachmentMapper.ts +4 -4
  299. package/src/executor/messages/SessionMessageLog.ts +3 -3
  300. package/src/executor/messages/SessionModelMessages.ts +85 -103
  301. package/src/executor/model/ModelStepRunner.ts +9 -41
  302. package/src/executor/services/ExecutorRecoveryPolicy.ts +34 -127
  303. package/src/executor/types/SessionHistoryMeta.ts +1 -3
  304. package/src/index.ts +39 -47
  305. package/src/session/DefaultSessionComposer.ts +33 -30
  306. package/src/session/Session.ts +96 -227
  307. package/src/session/SessionComposition.ts +28 -65
  308. package/src/session/SessionLoop.ts +267 -370
  309. package/src/session/SessionMessages.ts +363 -242
  310. package/src/session/SessionQueue.ts +3 -2
  311. package/src/session/SessionState.ts +55 -101
  312. package/src/session/SessionSystem.ts +51 -1
  313. package/src/session/SessionTitle.ts +4 -4
  314. package/src/session/browse/Browse.ts +182 -468
  315. package/src/session/browse/SessionMessageTimeline.ts +63 -38
  316. package/src/session/composer/policies/AdaptivePartContextPolicy.ts +307 -0
  317. package/src/session/composer/policies/FullHistoryContextPolicy.ts +36 -0
  318. package/src/session/composer/policies/SessionSummaryPrompts.ts +42 -0
  319. package/src/session/execution/SessionAssistantOutputAdapter.ts +25 -11
  320. package/src/session/messages/{SessionActionMessageWriter.ts → SessionAgentActionPartWriter.ts} +8 -8
  321. package/src/session/messages/SessionAgentContent.ts +56 -0
  322. package/src/session/messages/SessionAgentMessageState.ts +378 -0
  323. package/src/session/messages/{SessionAssistantMessageWriter.ts → SessionAgentMessageWriter.ts} +89 -60
  324. package/src/session/messages/SessionForkMessageFiles.ts +25 -1
  325. package/src/session/messages/SessionMessageInteractionWriter.ts +19 -19
  326. package/src/session/messages/SessionMessageText.ts +3 -4
  327. package/src/session/messages/SessionTurnFileDiffData.ts +3 -3
  328. package/src/session/messages/SessionUserMessage.ts +10 -7
  329. package/src/session/preview/SessionMessagePreview.ts +26 -9
  330. package/src/session/runtime/SessionTurnCompletion.ts +159 -0
  331. package/src/session/runtime/SessionTurnContext.ts +20 -21
  332. package/src/session/runtime/SessionTurnFileDiff.ts +105 -0
  333. package/src/session/storage/LocalSessionDataStore.ts +27 -176
  334. package/src/session/storage/LocalSessionStore.ts +170 -38
  335. package/src/session/storage/LocalStorePaths.ts +14 -86
  336. package/src/session/storage/Metadata.ts +4 -13
  337. package/src/session/storage/RuntimeSessionPort.ts +7 -7
  338. package/src/session/storage/SessionStorageCodec.ts +465 -0
  339. package/src/session/storage/SessionStorageSchema.ts +132 -0
  340. package/src/session/storage/SqliteSessionStorage.ts +776 -0
  341. package/src/tools/ask/AskQuestionsTool.ts +3 -1
  342. package/src/types/action/ActionResult.ts +10 -10
  343. package/src/types/agent/AgentOptions.ts +11 -0
  344. package/src/types/agent/AgentStorage.ts +3 -1
  345. package/src/types/agent/SessionActor.ts +0 -10
  346. package/src/types/agent/SessionTypes.ts +5 -5
  347. package/src/types/executor/SessionAssistantOutput.ts +15 -4
  348. package/src/types/executor/SessionTurnContext.ts +25 -22
  349. package/src/types/sdk/AgentSessionAction.ts +1 -1
  350. package/src/types/sdk/AgentSessionPrompt.ts +15 -5
  351. package/src/types/session/AdaptivePartContextPolicy.ts +37 -0
  352. package/src/types/session/{SessionAssistantMessageState.ts → SessionAgentMessageState.ts} +6 -6
  353. package/src/types/session/SessionCommand.ts +21 -7
  354. package/src/types/session/SessionComposer.ts +48 -48
  355. package/src/types/session/SessionComposition.ts +2 -5
  356. package/src/types/session/SessionContextPolicy.ts +77 -0
  357. package/src/types/session/SessionExecution.ts +11 -36
  358. package/src/types/session/SessionLoop.ts +3 -8
  359. package/src/types/session/SessionMessages.ts +19 -29
  360. package/src/types/session/SessionOptions.ts +5 -5
  361. package/src/types/session/SessionPort.ts +10 -10
  362. package/src/types/session/SessionState.ts +2 -5
  363. package/src/types/session/SessionSystem.ts +19 -0
  364. package/src/types/session/SessionTool.ts +2 -2
  365. package/src/types/session/SessionTurnCompletion.ts +24 -0
  366. package/src/types/session/SessionTurnFileDiff.ts +44 -0
  367. package/src/types/store/LocalStore.ts +6 -14
  368. package/src/types/store/SessionStorage.ts +121 -0
  369. package/src/types/store/SessionStore.ts +6 -3
  370. package/tsconfig.tsbuildinfo +1 -1
  371. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.d.ts +0 -45
  372. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.d.ts.map +0 -1
  373. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.js +0 -144
  374. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.js.map +0 -1
  375. package/bin/executor/composer/system/SessionSystemComposer.d.ts +0 -23
  376. package/bin/executor/composer/system/SessionSystemComposer.d.ts.map +0 -1
  377. package/bin/executor/composer/system/SessionSystemComposer.js +0 -9
  378. package/bin/executor/composer/system/SessionSystemComposer.js.map +0 -1
  379. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +0 -43
  380. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +0 -1
  381. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js +0 -42
  382. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js.map +0 -1
  383. package/bin/executor/composer/system/default/PromptRenderer.d.ts +0 -35
  384. package/bin/executor/composer/system/default/PromptRenderer.d.ts.map +0 -1
  385. package/bin/executor/composer/system/default/PromptRenderer.js +0 -23
  386. package/bin/executor/composer/system/default/PromptRenderer.js.map +0 -1
  387. package/bin/executor/composer/system/default/SystemDomain.d.ts +0 -151
  388. package/bin/executor/composer/system/default/SystemDomain.d.ts.map +0 -1
  389. package/bin/executor/composer/system/default/SystemDomain.js +0 -162
  390. package/bin/executor/composer/system/default/SystemDomain.js.map +0 -1
  391. package/bin/executor/composer/system/default/assets/task.prompt.d.ts +0 -7
  392. package/bin/executor/composer/system/default/assets/task.prompt.d.ts.map +0 -1
  393. package/bin/executor/composer/system/default/assets/task.prompt.js +0 -8
  394. package/bin/executor/composer/system/default/assets/task.prompt.js.map +0 -1
  395. package/bin/executor/composer/system/default/variables/GeoContext.d.ts +0 -14
  396. package/bin/executor/composer/system/default/variables/GeoContext.d.ts.map +0 -1
  397. package/bin/executor/composer/system/default/variables/GeoContext.js +0 -150
  398. package/bin/executor/composer/system/default/variables/GeoContext.js.map +0 -1
  399. package/bin/executor/composer/system/default/variables/PromptTypes.d.ts +0 -36
  400. package/bin/executor/composer/system/default/variables/PromptTypes.d.ts.map +0 -1
  401. package/bin/executor/composer/system/default/variables/PromptTypes.js +0 -9
  402. package/bin/executor/composer/system/default/variables/PromptTypes.js.map +0 -1
  403. package/bin/executor/composer/system/default/variables/VariableReplacer.d.ts +0 -61
  404. package/bin/executor/composer/system/default/variables/VariableReplacer.d.ts.map +0 -1
  405. package/bin/executor/composer/system/default/variables/VariableReplacer.js +0 -93
  406. package/bin/executor/composer/system/default/variables/VariableReplacer.js.map +0 -1
  407. package/bin/executor/core-engine/CoreEngineMessageState.d.ts +0 -63
  408. package/bin/executor/core-engine/CoreEngineMessageState.d.ts.map +0 -1
  409. package/bin/executor/core-engine/CoreEngineMessageState.js +0 -81
  410. package/bin/executor/core-engine/CoreEngineMessageState.js.map +0 -1
  411. package/bin/session/SessionCommand.d.ts +0 -24
  412. package/bin/session/SessionCommand.d.ts.map +0 -1
  413. package/bin/session/SessionCommand.js +0 -35
  414. package/bin/session/SessionCommand.js.map +0 -1
  415. package/bin/session/messages/SessionActionMessageWriter.d.ts.map +0 -1
  416. package/bin/session/messages/SessionActionMessageWriter.js.map +0 -1
  417. package/bin/session/messages/SessionAssistantMessageState.d.ts +0 -49
  418. package/bin/session/messages/SessionAssistantMessageState.d.ts.map +0 -1
  419. package/bin/session/messages/SessionAssistantMessageState.js +0 -296
  420. package/bin/session/messages/SessionAssistantMessageState.js.map +0 -1
  421. package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +0 -1
  422. package/bin/session/messages/SessionAssistantMessageWriter.js.map +0 -1
  423. package/bin/session/messages/SessionMessageCompaction.d.ts +0 -29
  424. package/bin/session/messages/SessionMessageCompaction.d.ts.map +0 -1
  425. package/bin/session/messages/SessionMessageCompaction.js +0 -128
  426. package/bin/session/messages/SessionMessageCompaction.js.map +0 -1
  427. package/bin/session/runtime/SessionCompactOperation.d.ts +0 -29
  428. package/bin/session/runtime/SessionCompactOperation.d.ts.map +0 -1
  429. package/bin/session/runtime/SessionCompactOperation.js +0 -66
  430. package/bin/session/runtime/SessionCompactOperation.js.map +0 -1
  431. package/bin/session/runtime/SessionHistoryCompaction.d.ts +0 -22
  432. package/bin/session/runtime/SessionHistoryCompaction.d.ts.map +0 -1
  433. package/bin/session/runtime/SessionHistoryCompaction.js +0 -31
  434. package/bin/session/runtime/SessionHistoryCompaction.js.map +0 -1
  435. package/bin/session/storage/JsonlSessionMessageStore.d.ts +0 -77
  436. package/bin/session/storage/JsonlSessionMessageStore.d.ts.map +0 -1
  437. package/bin/session/storage/JsonlSessionMessageStore.js +0 -419
  438. package/bin/session/storage/JsonlSessionMessageStore.js.map +0 -1
  439. package/bin/session/storage/SessionMessageStoreFactory.d.ts +0 -12
  440. package/bin/session/storage/SessionMessageStoreFactory.d.ts.map +0 -1
  441. package/bin/session/storage/SessionMessageStoreFactory.js +0 -13
  442. package/bin/session/storage/SessionMessageStoreFactory.js.map +0 -1
  443. package/bin/types/common/Template.d.ts +0 -9
  444. package/bin/types/common/Template.d.ts.map +0 -1
  445. package/bin/types/common/Template.js +0 -9
  446. package/bin/types/common/Template.js.map +0 -1
  447. package/bin/types/sdk/AgentSessionCompact.d.ts +0 -30
  448. package/bin/types/sdk/AgentSessionCompact.d.ts.map +0 -1
  449. package/bin/types/sdk/AgentSessionCompact.js +0 -8
  450. package/bin/types/sdk/AgentSessionCompact.js.map +0 -1
  451. package/bin/types/session/SessionAssistantMessageState.d.ts.map +0 -1
  452. package/bin/types/session/SessionAssistantMessageState.js.map +0 -1
  453. package/bin/types/session/SessionSegment.d.ts +0 -57
  454. package/bin/types/session/SessionSegment.d.ts.map +0 -1
  455. package/bin/types/session/SessionSegment.js +0 -8
  456. package/bin/types/session/SessionSegment.js.map +0 -1
  457. package/bin/types/store/SessionDataStore.d.ts +0 -88
  458. package/bin/types/store/SessionDataStore.d.ts.map +0 -1
  459. package/bin/types/store/SessionDataStore.js +0 -9
  460. package/bin/types/store/SessionDataStore.js.map +0 -1
  461. package/bin/utils/Template.d.ts +0 -17
  462. package/bin/utils/Template.d.ts.map +0 -1
  463. package/bin/utils/Template.js +0 -24
  464. package/bin/utils/Template.js.map +0 -1
  465. package/scripts/session-compaction-prompts.test.mjs +0 -49
  466. package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.ts +0 -162
  467. package/src/executor/composer/system/SessionSystemComposer.ts +0 -25
  468. package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +0 -76
  469. package/src/executor/composer/system/default/PromptRenderer.ts +0 -52
  470. package/src/executor/composer/system/default/SystemDomain.ts +0 -301
  471. package/src/executor/composer/system/default/assets/task.prompt.ts +0 -9
  472. package/src/executor/composer/system/default/assets/task.prompt.ts.txt +0 -33
  473. package/src/executor/composer/system/default/variables/GeoContext.ts +0 -180
  474. package/src/executor/composer/system/default/variables/PromptTypes.ts +0 -37
  475. package/src/executor/composer/system/default/variables/VariableReplacer.ts +0 -154
  476. package/src/executor/core-engine/CoreEngineMessageState.ts +0 -117
  477. package/src/session/SessionCommand.ts +0 -42
  478. package/src/session/messages/SessionAssistantMessageState.ts +0 -392
  479. package/src/session/messages/SessionMessageCompaction.ts +0 -160
  480. package/src/session/runtime/SessionCompactOperation.ts +0 -93
  481. package/src/session/runtime/SessionHistoryCompaction.ts +0 -45
  482. package/src/session/storage/JsonlSessionMessageStore.ts +0 -513
  483. package/src/session/storage/SessionMessageStoreFactory.ts +0 -18
  484. package/src/types/common/Template.ts +0 -9
  485. package/src/types/sdk/AgentSessionCompact.ts +0 -32
  486. package/src/types/session/SessionSegment.ts +0 -62
  487. package/src/types/store/SessionDataStore.ts +0 -113
  488. package/src/utils/Template.ts +0 -28
@@ -1,162 +0,0 @@
1
- /**
2
- * SystemDomain:system 领域统一实现。
3
- *
4
- * 关键点(中文)
5
- * - 收敛 system 的资产加载、上下文档位判定、Plugin prompt 收集、messages 组装。
6
- * - `DefaultSessionSystemComposer` 只做组件适配;核心逻辑统一在本文件。
7
- */
8
- import { transform_prompts_into_system_messages } from "../../../composer/system/default/PromptRenderer.js";
9
- import { build_runtime_clock_system_prompt } from "../../../composer/system/default/variables/VariableReplacer.js";
10
- import { CORE_SYSTEM_PROMPT, TASK_SYSTEM_PROMPT, } from "../../../composer/system/default/SystemPromptAssets.js";
11
- const DEFAULT_DISABLED_EXTENSION_NAMES = [];
12
- function normalize_system_text(input) {
13
- return String(input || "").trim();
14
- }
15
- /**
16
- * Ship 默认系统提示模板。
17
- */
18
- export const DEFAULT_SHIP_PROMPTS = CORE_SYSTEM_PROMPT;
19
- /**
20
- * 构建一次运行的运行时 system prompt。
21
- *
22
- * 关键点(中文)
23
- * - 仅承载“稳定规则”块,避免把每轮变化字段放在前缀 system。
24
- * - task 模式下追加任务输出规则;chat 模式为空。
25
- */
26
- export function build_context_system_prompt(input) {
27
- const { project_root, extra_context_lines } = input;
28
- const mode = input.mode === "task" ? "task" : "chat";
29
- if (mode === "chat")
30
- return "";
31
- const runtimeContextLines = [
32
- "Task runtime context:",
33
- `- Project root: ${project_root}`,
34
- ];
35
- if (Array.isArray(extra_context_lines) && extra_context_lines.length > 0) {
36
- runtimeContextLines.push(...extra_context_lines);
37
- }
38
- const outputRules = [
39
- "Task-run output rules:",
40
- "- This is a task execution context, not an interactive chat turn.",
41
- "- Do NOT send external channel messages via `downcity chat send` unless explicitly required by the task itself.",
42
- "- Reply with result-oriented content; do NOT paste raw tool outputs or JSON logs.",
43
- "- Keep output compact and avoid unnecessary conversational fillers.",
44
- ].join("\n");
45
- return [runtimeContextLines.join("\n"), "", outputRules].join("\n");
46
- }
47
- /**
48
- * 解析静态 system prompts。
49
- *
50
- * 关键点(中文)
51
- * - task 执行上下文可替换默认 core prompt(`DEFAULT_SHIP_PROMPTS`)为任务专用提示词。
52
- * - PROFILE/SOUL 等其他静态提示保持不变。
53
- */
54
- export function resolve_static_system_prompts(input) {
55
- const base = Array.isArray(input.systems) ? [...input.systems] : [];
56
- const replacement = String(input.replace_default_core_prompt || "").trim();
57
- if (!replacement)
58
- return base;
59
- return [...base.filter((item) => item !== DEFAULT_SHIP_PROMPTS), replacement];
60
- }
61
- /**
62
- * 按显式 profile 解析 system 上下文档位。
63
- *
64
- * 关键点(中文)
65
- * - chat 模式:使用默认 core prompt 与全部 Plugin system。
66
- * - task 模式:自动替换 task core prompt,并禁用 chat Plugin system。
67
- */
68
- export function resolve_system_context_profile(profile) {
69
- if (profile !== "task") {
70
- return {
71
- mode: "chat",
72
- disabled_plugin_names: [...DEFAULT_DISABLED_EXTENSION_NAMES],
73
- };
74
- }
75
- return {
76
- mode: "task",
77
- replace_default_core_prompt: TASK_SYSTEM_PROMPT,
78
- disabled_plugin_names: ["chat"],
79
- };
80
- }
81
- /**
82
- * 收集宿主 Plugin 提供的 system 文本。
83
- *
84
- * 关键点(中文)
85
- * - core prompt 已包含扩展系统总规则;这里只收集各 Plugin 自己的 system prompt。
86
- * - 单个 Plugin 是否可用由宿主投影的运行时负责。
87
- */
88
- export async function load_plugin_system_prompts(input) {
89
- const out = [];
90
- const disabled_plugin_names = new Set(input.disabled_plugin_names
91
- .map((item) => String(item || "").trim())
92
- .filter(Boolean));
93
- const blocks = await input.hooks.system_blocks();
94
- for (const block of blocks) {
95
- if (disabled_plugin_names.has(block.name))
96
- continue;
97
- const text = normalize_system_text(block.content);
98
- if (text)
99
- out.push(text);
100
- }
101
- return out;
102
- }
103
- /**
104
- * 统一构建一次 Session 运行所需的 system messages。
105
- *
106
- * 关键点(中文)
107
- * - context/static/extension 的组装逻辑统一收敛在 system 域。
108
- */
109
- export async function build_session_system_messages(input) {
110
- const runtimeClockText = build_runtime_clock_system_prompt({
111
- projectPath: input.project_root,
112
- session_id: input.session_id,
113
- });
114
- const runtimeClockMessages = runtimeClockText
115
- ? [{ role: "system", content: runtimeClockText }]
116
- : [];
117
- const runtimeSystemText = build_context_system_prompt({
118
- project_root: input.project_root,
119
- session_id: input.session_id,
120
- mode: input.mode,
121
- });
122
- const runtimeRuleMessages = runtimeSystemText
123
- ? [{ role: "system", content: runtimeSystemText }]
124
- : [];
125
- const staticSystemMessages = await transform_prompts_into_system_messages(resolve_static_system_prompts({
126
- systems: input.static_system_prompts,
127
- replace_default_core_prompt: input.replace_default_core_prompt,
128
- }), {
129
- projectPath: input.project_root,
130
- variableMode: "stable",
131
- });
132
- const plugin_system_messages = await transform_prompts_into_system_messages(Array.isArray(input.plugin_system_prompts)
133
- ? input.plugin_system_prompts
134
- : [], {
135
- projectPath: input.project_root,
136
- variableMode: "stable",
137
- });
138
- return [
139
- ...staticSystemMessages,
140
- ...plugin_system_messages,
141
- ...runtimeRuleMessages,
142
- ...runtimeClockMessages,
143
- ];
144
- }
145
- /**
146
- * 统一解析一次 Session 运行所需的 system messages(含上下文档位判定与 Plugin 收集)。
147
- */
148
- export async function resolve_session_system_messages(input) {
149
- const profile = resolve_system_context_profile(input.profile);
150
- return await build_session_system_messages({
151
- project_root: input.project_root,
152
- session_id: input.session_id,
153
- mode: profile.mode,
154
- replace_default_core_prompt: profile.replace_default_core_prompt,
155
- static_system_prompts: input.static_system_prompts,
156
- plugin_system_prompts: await load_plugin_system_prompts({
157
- hooks: input.hooks,
158
- disabled_plugin_names: profile.disabled_plugin_names,
159
- }),
160
- });
161
- }
162
- //# sourceMappingURL=SystemDomain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SystemDomain.js","sourceRoot":"","sources":["../../../../../src/executor/composer/system/default/SystemDomain.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * 自动生成文件,请勿手改。
3
- * 源文件:由同路径 `*.ts.txt` 生成。
4
- */
5
- declare const TEXT_MODULE_CONTENT = "You are executing an internal Task-system job, not a chat conversation.\n\nRuntime constraints:\n- This context is for task execution and auditing, not a user chat turn.\n- Unless the task body explicitly asks for it, do not call the chat plugin send action or any external-channel sending action.\n- Do not act like a real-time support agent. Prioritize completing the task objective and producing an auditable result.\n- You may produce necessary intermediate notes during execution, but your final assistant message will be treated directly as `output.md` and as the final content to send.\n\nOutput principles:\n- Your final assistant message must be the task deliverable itself.\n- The final assistant message must not include process reports, status summaries, task-management notes, or sending notes.\n- Prefer reusable, structured, concise result content.\n- Do not echo long raw logs. Summarize them and include only the key conclusions when needed.\n- If the task input requires a fixed format such as JSON, follow that format strictly.\n- If the task asks to \"send to the current conversation\" or \"send to the user\", assume the system will send your final assistant message back directly. Therefore, output exactly the text that should be sent to the user.\n- Unless the task body explicitly requests an execution summary, the final assistant message must not say \"task completed\", \"sent\", \"I will take a look\", \"I will handle this for you\", or similar meta language.\n\nCommon content that is forbidden in the final assistant message:\n- \"I will help you...\"\n- \"First, let me...\"\n- \"I see there is already a task with the same name...\"\n- \"Task sent / completed / updated...\"\n- \"Task status summary...\"\n- Any explanatory text centered on task-management workflow.\n\nFinal self-check:\n- Before finishing, check whether your final assistant message is the final deliverable itself.\n- If the final assistant message mainly describes the process, task status, or sending state rather than the final content, the output direction is wrong and must be rewritten.\n- If removing phrases such as \"I will\", \"first\", \"sent\", or \"task status\" leaves almost no useful content, it is not a valid task output.\n\nContext principles:\n- This task context is an independent execution context. It does not inherit the chat conversation goal.\n- If these rules conflict with other system prompts, the task execution context rules take precedence.\n";
6
- export default TEXT_MODULE_CONTENT;
7
- //# sourceMappingURL=task.prompt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task.prompt.d.ts","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/task.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,mBAAmB,o7EAAo7E,CAAC;AAE98E,eAAe,mBAAmB,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * 自动生成文件,请勿手改。
3
- * 源文件:由同路径 `*.ts.txt` 生成。
4
- */
5
- // Source: src/executor/composer/system/default/assets/task.prompt.ts.txt
6
- const TEXT_MODULE_CONTENT = "You are executing an internal Task-system job, not a chat conversation.\n\nRuntime constraints:\n- This context is for task execution and auditing, not a user chat turn.\n- Unless the task body explicitly asks for it, do not call the chat plugin send action or any external-channel sending action.\n- Do not act like a real-time support agent. Prioritize completing the task objective and producing an auditable result.\n- You may produce necessary intermediate notes during execution, but your final assistant message will be treated directly as `output.md` and as the final content to send.\n\nOutput principles:\n- Your final assistant message must be the task deliverable itself.\n- The final assistant message must not include process reports, status summaries, task-management notes, or sending notes.\n- Prefer reusable, structured, concise result content.\n- Do not echo long raw logs. Summarize them and include only the key conclusions when needed.\n- If the task input requires a fixed format such as JSON, follow that format strictly.\n- If the task asks to \"send to the current conversation\" or \"send to the user\", assume the system will send your final assistant message back directly. Therefore, output exactly the text that should be sent to the user.\n- Unless the task body explicitly requests an execution summary, the final assistant message must not say \"task completed\", \"sent\", \"I will take a look\", \"I will handle this for you\", or similar meta language.\n\nCommon content that is forbidden in the final assistant message:\n- \"I will help you...\"\n- \"First, let me...\"\n- \"I see there is already a task with the same name...\"\n- \"Task sent / completed / updated...\"\n- \"Task status summary...\"\n- Any explanatory text centered on task-management workflow.\n\nFinal self-check:\n- Before finishing, check whether your final assistant message is the final deliverable itself.\n- If the final assistant message mainly describes the process, task status, or sending state rather than the final content, the output direction is wrong and must be rewritten.\n- If removing phrases such as \"I will\", \"first\", \"sent\", or \"task status\" leaves almost no useful content, it is not a valid task output.\n\nContext principles:\n- This task context is an independent execution context. It does not inherit the chat conversation goal.\n- If these rules conflict with other system prompts, the task execution context rules take precedence.\n";
7
- export default TEXT_MODULE_CONTENT;
8
- //# sourceMappingURL=task.prompt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task.prompt.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/task.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,i7EAAi7E,CAAC;AAE98E,eAAe,mBAAmB,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Prompt 地理上下文解析器。
3
- *
4
- * 关键点(中文)
5
- * - 基于公网 IP 服务推断 location + timezone。
6
- * - 失败时回退到本机时区,保证 prompt 渲染稳定可用。
7
- * - 使用进程内缓存,避免每次请求都访问外部服务。
8
- */
9
- import type { PromptGeoContext } from "../../../../composer/system/default/variables/PromptTypes.js";
10
- /**
11
- * 解析 prompt 所需地理上下文。
12
- */
13
- export declare function resolve_prompt_geo_context(): Promise<PromptGeoContext>;
14
- //# sourceMappingURL=GeoContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GeoContext.d.ts","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/variables/GeoContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAqKnG;;GAEG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAE5E"}
@@ -1,150 +0,0 @@
1
- /**
2
- * Prompt 地理上下文解析器。
3
- *
4
- * 关键点(中文)
5
- * - 基于公网 IP 服务推断 location + timezone。
6
- * - 失败时回退到本机时区,保证 prompt 渲染稳定可用。
7
- * - 使用进程内缓存,避免每次请求都访问外部服务。
8
- */
9
- const GEO_CACHE_TTL_MS = 30 * 60 * 1000;
10
- const GEO_REQUEST_TIMEOUT_MS = 3000;
11
- let cachedGeoContext = null;
12
- let inFlightGeoContext = null;
13
- function readString(input) {
14
- if (typeof input !== "string")
15
- return null;
16
- const value = input.trim();
17
- return value ? value : null;
18
- }
19
- function isValidIanaTimezone(input) {
20
- if (!input)
21
- return false;
22
- try {
23
- new Intl.DateTimeFormat("en-US", { timeZone: input });
24
- return true;
25
- }
26
- catch {
27
- return false;
28
- }
29
- }
30
- function buildLocation(parts) {
31
- const values = parts.map(readString).filter((item) => Boolean(item));
32
- return values.length > 0 ? values.join(", ") : "Unknown";
33
- }
34
- function buildFallbackGeoContext() {
35
- const timezone = readString(Intl.DateTimeFormat().resolvedOptions().timeZone);
36
- const safeTimezone = isValidIanaTimezone(timezone) ? timezone : "UTC";
37
- return {
38
- ip: "unknown",
39
- location: "Unknown",
40
- timezone: safeTimezone,
41
- source: "local",
42
- };
43
- }
44
- function writeCache(value) {
45
- cachedGeoContext = {
46
- value,
47
- expires_at: Date.now() + GEO_CACHE_TTL_MS,
48
- };
49
- return value;
50
- }
51
- async function fetchIpApiGeoContext() {
52
- let response;
53
- try {
54
- response = await fetch("https://ipapi.co/json/", {
55
- headers: {
56
- Accept: "application/json",
57
- },
58
- signal: AbortSignal.timeout(GEO_REQUEST_TIMEOUT_MS),
59
- });
60
- }
61
- catch {
62
- return null;
63
- }
64
- if (!response.ok)
65
- return null;
66
- let data;
67
- try {
68
- data = (await response.json());
69
- }
70
- catch {
71
- return null;
72
- }
73
- const timezone = readString(data.timezone);
74
- if (!isValidIanaTimezone(timezone))
75
- return null;
76
- return {
77
- ip: readString(data.ip) || "unknown",
78
- location: buildLocation([data.city, data.region, data.country_name]),
79
- timezone,
80
- source: "ipapi",
81
- };
82
- }
83
- function readIpWhoIsTimezone(input) {
84
- if (typeof input === "string")
85
- return readString(input);
86
- if (!input || typeof input !== "object")
87
- return null;
88
- return readString(input.id);
89
- }
90
- async function fetchIpWhoIsGeoContext() {
91
- let response;
92
- try {
93
- response = await fetch("https://ipwho.is/", {
94
- headers: {
95
- Accept: "application/json",
96
- },
97
- signal: AbortSignal.timeout(GEO_REQUEST_TIMEOUT_MS),
98
- });
99
- }
100
- catch {
101
- return null;
102
- }
103
- if (!response.ok)
104
- return null;
105
- let data;
106
- try {
107
- data = (await response.json());
108
- }
109
- catch {
110
- return null;
111
- }
112
- if (data.success === false)
113
- return null;
114
- const timezone = readIpWhoIsTimezone(data.timezone);
115
- if (!isValidIanaTimezone(timezone))
116
- return null;
117
- return {
118
- ip: readString(data.ip) || "unknown",
119
- location: buildLocation([data.city, data.region, data.country]),
120
- timezone,
121
- source: "ipwhois",
122
- };
123
- }
124
- async function loadGeoContext() {
125
- const now = Date.now();
126
- if (cachedGeoContext && now < cachedGeoContext.expires_at) {
127
- return cachedGeoContext.value;
128
- }
129
- if (inFlightGeoContext)
130
- return inFlightGeoContext;
131
- inFlightGeoContext = (async () => {
132
- const ipApiResult = await fetchIpApiGeoContext();
133
- if (ipApiResult)
134
- return writeCache(ipApiResult);
135
- const ipWhoIsResult = await fetchIpWhoIsGeoContext();
136
- if (ipWhoIsResult)
137
- return writeCache(ipWhoIsResult);
138
- return writeCache(buildFallbackGeoContext());
139
- })().finally(() => {
140
- inFlightGeoContext = null;
141
- });
142
- return inFlightGeoContext;
143
- }
144
- /**
145
- * 解析 prompt 所需地理上下文。
146
- */
147
- export async function resolve_prompt_geo_context() {
148
- return loadGeoContext();
149
- }
150
- //# sourceMappingURL=GeoContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GeoContext.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/variables/GeoContext.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Prompt 模板变量类型。
3
- *
4
- * 关键点(中文)
5
- * - 统一描述 prompt template 支持的运行时变量结构。
6
- * - 供模板渲染与地理位置解析模块复用,避免隐式约定。
7
- */
8
- export interface PromptGeoContext {
9
- /** 公网 IP;当外部服务不可用时回退为 `unknown`。 */
10
- ip: string;
11
- /** 地理解析后的地点描述,用于提示模型当前大致位置。 */
12
- location: string;
13
- /** IANA 时区标识,例如 `Asia/Shanghai`。 */
14
- timezone: string;
15
- /** 地理上下文来源。 */
16
- source: "ipapi" | "ipwhois" | "local";
17
- }
18
- export interface PromptVariables {
19
- /** 当前日期字符串,按当前时区格式化为 `YYYY-MM-DD`。 */
20
- currentDate: string;
21
- /** 当前时间字符串,包含日期、时分秒与时区信息。 */
22
- currentTime: string;
23
- /** 当前年份字符串,用于显式提示“现在是几几年”。 */
24
- currentYear: string;
25
- /** 当前运行时使用的 IANA 时区标识,例如 `Asia/Shanghai`。 */
26
- timezone: string;
27
- /** 当前地理位置描述。 */
28
- location: string;
29
- /** 当前项目路径。 */
30
- projectPath: string;
31
- /** 当前项目根路径。 */
32
- project_root: string;
33
- /** 当前会话标识。 */
34
- session_id: string;
35
- }
36
- //# sourceMappingURL=PromptTypes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PromptTypes.d.ts","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/variables/PromptTypes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc;IACd,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Prompt 模板变量类型。
3
- *
4
- * 关键点(中文)
5
- * - 统一描述 prompt template 支持的运行时变量结构。
6
- * - 供模板渲染与地理位置解析模块复用,避免隐式约定。
7
- */
8
- export {};
9
- //# sourceMappingURL=PromptTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PromptTypes.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/variables/PromptTypes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -1,61 +0,0 @@
1
- /**
2
- * VariableReplacer:prompt 变量替换模块。
3
- *
4
- * 关键点(中文)
5
- * - 专职负责模板变量构建与文本替换。
6
- * - 与 message 组装解耦,便于独立复用与测试。
7
- */
8
- /**
9
- * Prompt 变量替换模式。
10
- *
11
- * 关键点(中文)
12
- * - `full`:完整替换(包含时间/地点等上下文动态变量)。
13
- * - `stable`:仅保留稳定替换;但 `current_year` 属于低频年度变量,仍保留真实值。
14
- */
15
- export type PromptVariableMode = "full" | "stable";
16
- /**
17
- * 替换 prompt 模板变量。
18
- *
19
- * 当前支持(中文)
20
- * - `{{current_time}}`
21
- * - `{{current_date}}`
22
- * - `{{current_year}}`
23
- * - `{{timezone}}`
24
- * - `{{location}}`
25
- * - `{{project_path}}`
26
- * - `{{project_root}}`
27
- * - `{{session_id}}`
28
- */
29
- export declare function replace_variables_in_prompts(prompt: string, options?: {
30
- /**
31
- * 项目路径(用于 `project_path/project_root`)。
32
- */
33
- projectPath?: string;
34
- /**
35
- * 会话 ID(用于 `session_id`)。
36
- */
37
- session_id?: string;
38
- /**
39
- * 变量替换模式(默认 full)。
40
- */
41
- mode?: PromptVariableMode;
42
- }): Promise<string>;
43
- /**
44
- * 构建每轮运行末尾的 runtime clock system prompt。
45
- *
46
- * 关键点(中文)
47
- * - system/static prompt 使用 stable 模式,不能直接承载每轮变化的时间。
48
- * - 这里在 messages 尾部补齐 `current_date/current_time/timezone`,让 chat、task、prompt 的时间语义统一。
49
- * - 只使用本机 runtime 时区,避免每轮为了地理位置进行网络请求。
50
- */
51
- export declare function build_runtime_clock_system_prompt(options?: {
52
- /**
53
- * 项目路径(用于 `project_root`)。
54
- */
55
- projectPath?: string;
56
- /**
57
- * 会话 ID(用于 `session_id`)。
58
- */
59
- session_id?: string;
60
- }): string;
61
- //# sourceMappingURL=VariableReplacer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VariableReplacer.d.ts","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/variables/VariableReplacer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAkDnD;;;;;;;;;;;;GAYG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B,GACA,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,CAAC,EAAE;IAC1D;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAcT"}
@@ -1,93 +0,0 @@
1
- /**
2
- * VariableReplacer:prompt 变量替换模块。
3
- *
4
- * 关键点(中文)
5
- * - 专职负责模板变量构建与文本替换。
6
- * - 与 message 组装解耦,便于独立复用与测试。
7
- */
8
- import { resolve_prompt_geo_context } from "../../../../composer/system/default/variables/GeoContext.js";
9
- import { render_template_variables } from "../../../../../utils/Template.js";
10
- import { format_date_in_timezone, format_date_time_in_timezone, format_year_in_timezone, resolve_runtime_timezone, } from "../../../../../utils/Time.js";
11
- async function buildPromptVariables(options) {
12
- const mode = options?.mode === "stable" ? "stable" : "full";
13
- const projectPath = String(options?.projectPath || "").trim() || process.cwd();
14
- const safeLocalTimezone = resolve_runtime_timezone();
15
- const now = new Date();
16
- if (mode === "stable") {
17
- return {
18
- currentDate: "[See runtime clock tail message]",
19
- currentTime: "[See runtime clock tail message]",
20
- currentYear: format_year_in_timezone(now, safeLocalTimezone),
21
- timezone: safeLocalTimezone,
22
- location: "[See runtime clock tail message]",
23
- projectPath,
24
- project_root: projectPath,
25
- session_id: "[Runtime session id]",
26
- };
27
- }
28
- const geo = await resolve_prompt_geo_context();
29
- const session_id = String(options?.session_id || "").trim() || "unknown";
30
- return {
31
- // 关键点(中文):时间字段只使用本机 runtime 时区,避免代理/IP 地理推断改变 cron 与相对时间口径。
32
- currentDate: format_date_in_timezone(now, safeLocalTimezone),
33
- currentTime: format_date_time_in_timezone(now, safeLocalTimezone),
34
- currentYear: format_year_in_timezone(now, safeLocalTimezone),
35
- timezone: safeLocalTimezone,
36
- location: geo.location,
37
- projectPath,
38
- project_root: projectPath,
39
- session_id,
40
- };
41
- }
42
- /**
43
- * 替换 prompt 模板变量。
44
- *
45
- * 当前支持(中文)
46
- * - `{{current_time}}`
47
- * - `{{current_date}}`
48
- * - `{{current_year}}`
49
- * - `{{timezone}}`
50
- * - `{{location}}`
51
- * - `{{project_path}}`
52
- * - `{{project_root}}`
53
- * - `{{session_id}}`
54
- */
55
- export async function replace_variables_in_prompts(prompt, options) {
56
- if (!prompt)
57
- return prompt;
58
- const variables = await buildPromptVariables(options);
59
- return render_template_variables(prompt, {
60
- current_date: variables.currentDate,
61
- current_time: variables.currentTime,
62
- current_year: variables.currentYear,
63
- timezone: variables.timezone,
64
- location: variables.location,
65
- project_path: variables.projectPath,
66
- project_root: variables.project_root,
67
- session_id: variables.session_id,
68
- });
69
- }
70
- /**
71
- * 构建每轮运行末尾的 runtime clock system prompt。
72
- *
73
- * 关键点(中文)
74
- * - system/static prompt 使用 stable 模式,不能直接承载每轮变化的时间。
75
- * - 这里在 messages 尾部补齐 `current_date/current_time/timezone`,让 chat、task、prompt 的时间语义统一。
76
- * - 只使用本机 runtime 时区,避免每轮为了地理位置进行网络请求。
77
- */
78
- export function build_runtime_clock_system_prompt(options) {
79
- const timezone = resolve_runtime_timezone();
80
- const projectPath = String(options?.projectPath || "").trim() || process.cwd();
81
- const session_id = String(options?.session_id || "").trim() || "unknown";
82
- const now = new Date();
83
- return [
84
- "# Runtime Clock Context",
85
- "The following fields are the authoritative time context for this run. Prefer them when resolving relative time expressions such as today, tomorrow, or a specific hour:",
86
- `- current_date: ${format_date_in_timezone(now, timezone)}`,
87
- `- current_time: ${format_date_time_in_timezone(now, timezone)}`,
88
- `- timezone: ${timezone}`,
89
- `- session_id: ${session_id}`,
90
- `- project_root: ${projectPath}`,
91
- ].join("\n");
92
- }
93
- //# sourceMappingURL=VariableReplacer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VariableReplacer.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/variables/VariableReplacer.ts"],"names":[],"mappings":"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"}