pulseed 0.6.3 → 0.6.4

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 (509) hide show
  1. package/dist/adapters/datasources/artifact-metric-datasource.d.ts +11 -1
  2. package/dist/adapters/datasources/artifact-metric-datasource.d.ts.map +1 -1
  3. package/dist/adapters/datasources/artifact-metric-datasource.js +238 -8
  4. package/dist/adapters/datasources/artifact-metric-datasource.js.map +1 -1
  5. package/dist/base/config/global-config.d.ts +4 -4
  6. package/dist/base/protocol/exact-protocol.d.ts +47 -0
  7. package/dist/base/protocol/exact-protocol.d.ts.map +1 -0
  8. package/dist/base/protocol/exact-protocol.js +175 -0
  9. package/dist/base/protocol/exact-protocol.js.map +1 -0
  10. package/dist/base/types/core.d.ts +1 -1
  11. package/dist/base/types/core.d.ts.map +1 -1
  12. package/dist/base/types/core.js +1 -0
  13. package/dist/base/types/core.js.map +1 -1
  14. package/dist/base/utils/workspace-path.d.ts +6 -0
  15. package/dist/base/utils/workspace-path.d.ts.map +1 -0
  16. package/dist/base/utils/workspace-path.js +24 -0
  17. package/dist/base/utils/workspace-path.js.map +1 -0
  18. package/dist/index.d.ts +4 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/interface/chat/chat-event-state.d.ts +2 -0
  23. package/dist/interface/chat/chat-event-state.d.ts.map +1 -1
  24. package/dist/interface/chat/chat-event-state.js +22 -41
  25. package/dist/interface/chat/chat-event-state.js.map +1 -1
  26. package/dist/interface/chat/chat-events.d.ts +15 -1
  27. package/dist/interface/chat/chat-events.d.ts.map +1 -1
  28. package/dist/interface/chat/chat-history.d.ts +3816 -192
  29. package/dist/interface/chat/chat-history.d.ts.map +1 -1
  30. package/dist/interface/chat/chat-history.js +529 -5
  31. package/dist/interface/chat/chat-history.js.map +1 -1
  32. package/dist/interface/chat/chat-runner-commands.d.ts.map +1 -1
  33. package/dist/interface/chat/chat-runner-commands.js +22 -18
  34. package/dist/interface/chat/chat-runner-commands.js.map +1 -1
  35. package/dist/interface/chat/chat-runner-contracts.d.ts +5 -1
  36. package/dist/interface/chat/chat-runner-contracts.d.ts.map +1 -1
  37. package/dist/interface/chat/chat-runner-event-bridge.d.ts +13 -1
  38. package/dist/interface/chat/chat-runner-event-bridge.d.ts.map +1 -1
  39. package/dist/interface/chat/chat-runner-event-bridge.js +51 -3
  40. package/dist/interface/chat/chat-runner-event-bridge.js.map +1 -1
  41. package/dist/interface/chat/chat-runner-routes.d.ts +5 -17
  42. package/dist/interface/chat/chat-runner-routes.d.ts.map +1 -1
  43. package/dist/interface/chat/chat-runner-routes.js +80 -51
  44. package/dist/interface/chat/chat-runner-routes.js.map +1 -1
  45. package/dist/interface/chat/chat-runner-runtime.d.ts.map +1 -1
  46. package/dist/interface/chat/chat-runner-runtime.js +4 -0
  47. package/dist/interface/chat/chat-runner-runtime.js.map +1 -1
  48. package/dist/interface/chat/chat-runner.d.ts +7 -1
  49. package/dist/interface/chat/chat-runner.d.ts.map +1 -1
  50. package/dist/interface/chat/chat-runner.js +135 -49
  51. package/dist/interface/chat/chat-runner.js.map +1 -1
  52. package/dist/interface/chat/chat-session-store.d.ts +3 -0
  53. package/dist/interface/chat/chat-session-store.d.ts.map +1 -1
  54. package/dist/interface/chat/chat-session-store.js +12 -0
  55. package/dist/interface/chat/chat-session-store.js.map +1 -1
  56. package/dist/interface/chat/cross-platform-session.d.ts +15 -0
  57. package/dist/interface/chat/cross-platform-session.d.ts.map +1 -1
  58. package/dist/interface/chat/cross-platform-session.js +260 -42
  59. package/dist/interface/chat/cross-platform-session.js.map +1 -1
  60. package/dist/interface/chat/failure-recovery.d.ts.map +1 -1
  61. package/dist/interface/chat/failure-recovery.js +15 -1
  62. package/dist/interface/chat/failure-recovery.js.map +1 -1
  63. package/dist/interface/chat/freeform-route-classifier.d.ts +2 -2
  64. package/dist/interface/chat/ingress-router.d.ts +3 -0
  65. package/dist/interface/chat/ingress-router.d.ts.map +1 -1
  66. package/dist/interface/chat/ingress-router.js +3 -0
  67. package/dist/interface/chat/ingress-router.js.map +1 -1
  68. package/dist/interface/chat/model-request-builder.d.ts +37 -0
  69. package/dist/interface/chat/model-request-builder.d.ts.map +1 -0
  70. package/dist/interface/chat/model-request-builder.js +76 -0
  71. package/dist/interface/chat/model-request-builder.js.map +1 -0
  72. package/dist/interface/chat/turn-context.d.ts +200 -0
  73. package/dist/interface/chat/turn-context.d.ts.map +1 -0
  74. package/dist/interface/chat/turn-context.js +249 -0
  75. package/dist/interface/chat/turn-context.js.map +1 -0
  76. package/dist/interface/chat/turn-protocol.d.ts +35 -0
  77. package/dist/interface/chat/turn-protocol.d.ts.map +1 -0
  78. package/dist/interface/chat/turn-protocol.js +27 -0
  79. package/dist/interface/chat/turn-protocol.js.map +1 -0
  80. package/dist/interface/chat/user-input.d.ts +55 -0
  81. package/dist/interface/chat/user-input.d.ts.map +1 -0
  82. package/dist/interface/chat/user-input.js +52 -0
  83. package/dist/interface/chat/user-input.js.map +1 -0
  84. package/dist/interface/cli/cli-command-registry.d.ts +1 -1
  85. package/dist/interface/cli/cli-command-registry.d.ts.map +1 -1
  86. package/dist/interface/cli/cli-command-registry.js +12 -16
  87. package/dist/interface/cli/cli-command-registry.js.map +1 -1
  88. package/dist/interface/cli/commands/daemon-shared.d.ts +8 -0
  89. package/dist/interface/cli/commands/daemon-shared.d.ts.map +1 -1
  90. package/dist/interface/cli/commands/daemon-shared.js +18 -2
  91. package/dist/interface/cli/commands/daemon-shared.js.map +1 -1
  92. package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
  93. package/dist/interface/cli/commands/daemon.js +5 -1
  94. package/dist/interface/cli/commands/daemon.js.map +1 -1
  95. package/dist/interface/cli/commands/doctor.d.ts.map +1 -1
  96. package/dist/interface/cli/commands/doctor.js +14 -1
  97. package/dist/interface/cli/commands/doctor.js.map +1 -1
  98. package/dist/interface/cli/commands/goal-dispatch.d.ts.map +1 -1
  99. package/dist/interface/cli/commands/goal-dispatch.js +10 -6
  100. package/dist/interface/cli/commands/goal-dispatch.js.map +1 -1
  101. package/dist/interface/cli/commands/goal-utils.d.ts.map +1 -1
  102. package/dist/interface/cli/commands/goal-utils.js +3 -5
  103. package/dist/interface/cli/commands/goal-utils.js.map +1 -1
  104. package/dist/interface/cli/commands/run.d.ts.map +1 -1
  105. package/dist/interface/cli/commands/run.js +50 -0
  106. package/dist/interface/cli/commands/run.js.map +1 -1
  107. package/dist/interface/cli/setup.d.ts +1 -1
  108. package/dist/interface/cli/setup.d.ts.map +1 -1
  109. package/dist/interface/cli/setup.js +4 -3
  110. package/dist/interface/cli/setup.js.map +1 -1
  111. package/dist/interface/cli/utils/loop-runner.d.ts +1 -0
  112. package/dist/interface/cli/utils/loop-runner.d.ts.map +1 -1
  113. package/dist/interface/cli/utils/loop-runner.js +12 -3
  114. package/dist/interface/cli/utils/loop-runner.js.map +1 -1
  115. package/dist/interface/tui/app.d.ts +6 -1
  116. package/dist/interface/tui/app.d.ts.map +1 -1
  117. package/dist/interface/tui/app.js +29 -12
  118. package/dist/interface/tui/app.js.map +1 -1
  119. package/dist/interface/tui/bash-mode.d.ts.map +1 -1
  120. package/dist/interface/tui/bash-mode.js +2 -9
  121. package/dist/interface/tui/bash-mode.js.map +1 -1
  122. package/dist/interface/tui/chat/viewport.d.ts.map +1 -1
  123. package/dist/interface/tui/chat/viewport.js +57 -11
  124. package/dist/interface/tui/chat/viewport.js.map +1 -1
  125. package/dist/interface/tui/entry-deps.d.ts +6 -1
  126. package/dist/interface/tui/entry-deps.d.ts.map +1 -1
  127. package/dist/interface/tui/entry-deps.js +3 -0
  128. package/dist/interface/tui/entry-deps.js.map +1 -1
  129. package/dist/interface/tui/entry.d.ts.map +1 -1
  130. package/dist/interface/tui/entry.js +6 -2
  131. package/dist/interface/tui/entry.js.map +1 -1
  132. package/dist/interface/tui/input-action.d.ts.map +1 -1
  133. package/dist/interface/tui/input-action.js +3 -2
  134. package/dist/interface/tui/input-action.js.map +1 -1
  135. package/dist/interface/tui/intent-recognizer.d.ts.map +1 -1
  136. package/dist/interface/tui/intent-recognizer.js +21 -33
  137. package/dist/interface/tui/intent-recognizer.js.map +1 -1
  138. package/dist/orchestrator/execution/adapter-layer.d.ts +6 -1
  139. package/dist/orchestrator/execution/adapter-layer.d.ts.map +1 -1
  140. package/dist/orchestrator/execution/adapter-layer.js.map +1 -1
  141. package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.d.ts +12 -1
  142. package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.d.ts.map +1 -1
  143. package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.js +16 -31
  144. package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.js.map +1 -1
  145. package/dist/orchestrator/execution/agent-loop/agent-loop-compaction-record.d.ts +75 -0
  146. package/dist/orchestrator/execution/agent-loop/agent-loop-compaction-record.d.ts.map +1 -0
  147. package/dist/orchestrator/execution/agent-loop/agent-loop-compaction-record.js +10 -0
  148. package/dist/orchestrator/execution/agent-loop/agent-loop-compaction-record.js.map +1 -0
  149. package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.d.ts +3 -2
  150. package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.d.ts.map +1 -1
  151. package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.js +185 -22
  152. package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.js.map +1 -1
  153. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.d.ts.map +1 -1
  154. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js +7 -1
  155. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js.map +1 -1
  156. package/dist/orchestrator/execution/agent-loop/agent-loop-events.d.ts +8 -1
  157. package/dist/orchestrator/execution/agent-loop/agent-loop-events.d.ts.map +1 -1
  158. package/dist/orchestrator/execution/agent-loop/agent-loop-events.js.map +1 -1
  159. package/dist/orchestrator/execution/agent-loop/agent-loop-history.d.ts +3 -1
  160. package/dist/orchestrator/execution/agent-loop/agent-loop-history.d.ts.map +1 -1
  161. package/dist/orchestrator/execution/agent-loop/agent-loop-history.js +12 -3
  162. package/dist/orchestrator/execution/agent-loop/agent-loop-history.js.map +1 -1
  163. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.d.ts.map +1 -1
  164. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.js +7 -1
  165. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.js.map +1 -1
  166. package/dist/orchestrator/execution/agent-loop/agent-loop-model.d.ts +37 -0
  167. package/dist/orchestrator/execution/agent-loop/agent-loop-model.d.ts.map +1 -1
  168. package/dist/orchestrator/execution/agent-loop/agent-loop-model.js +21 -0
  169. package/dist/orchestrator/execution/agent-loop/agent-loop-model.js.map +1 -1
  170. package/dist/orchestrator/execution/agent-loop/agent-loop-result.d.ts +17 -11
  171. package/dist/orchestrator/execution/agent-loop/agent-loop-result.d.ts.map +1 -1
  172. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.d.ts +4 -0
  173. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.d.ts.map +1 -1
  174. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.js +135 -0
  175. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.js.map +1 -1
  176. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts +3 -2
  177. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts.map +1 -1
  178. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js +68 -61
  179. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js.map +1 -1
  180. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts +3 -1
  181. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts.map +1 -1
  182. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.js.map +1 -1
  183. package/dist/orchestrator/execution/agent-loop/agent-timeline.d.ts +12 -1
  184. package/dist/orchestrator/execution/agent-loop/agent-timeline.d.ts.map +1 -1
  185. package/dist/orchestrator/execution/agent-loop/agent-timeline.js +19 -56
  186. package/dist/orchestrator/execution/agent-loop/agent-timeline.js.map +1 -1
  187. package/dist/orchestrator/execution/agent-loop/anthropic-messages-agent-loop-model-client.d.ts.map +1 -1
  188. package/dist/orchestrator/execution/agent-loop/anthropic-messages-agent-loop-model-client.js +8 -2
  189. package/dist/orchestrator/execution/agent-loop/anthropic-messages-agent-loop-model-client.js.map +1 -1
  190. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts +12 -0
  191. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts.map +1 -1
  192. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js +400 -80
  193. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js.map +1 -1
  194. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts +1 -1
  195. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts.map +1 -1
  196. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js +80 -12
  197. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js.map +1 -1
  198. package/dist/orchestrator/execution/agent-loop/chat-display-output.d.ts +1 -0
  199. package/dist/orchestrator/execution/agent-loop/chat-display-output.d.ts.map +1 -1
  200. package/dist/orchestrator/execution/agent-loop/chat-display-output.js +3 -1
  201. package/dist/orchestrator/execution/agent-loop/chat-display-output.js.map +1 -1
  202. package/dist/orchestrator/execution/agent-loop/index.d.ts +3 -0
  203. package/dist/orchestrator/execution/agent-loop/index.d.ts.map +1 -1
  204. package/dist/orchestrator/execution/agent-loop/index.js +3 -0
  205. package/dist/orchestrator/execution/agent-loop/index.js.map +1 -1
  206. package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.d.ts +1 -0
  207. package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.d.ts.map +1 -1
  208. package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.js +51 -9
  209. package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.js.map +1 -1
  210. package/dist/orchestrator/execution/agent-loop/response-item-tool-router.d.ts +20 -0
  211. package/dist/orchestrator/execution/agent-loop/response-item-tool-router.d.ts.map +1 -0
  212. package/dist/orchestrator/execution/agent-loop/response-item-tool-router.js +180 -0
  213. package/dist/orchestrator/execution/agent-loop/response-item-tool-router.js.map +1 -0
  214. package/dist/orchestrator/execution/agent-loop/response-item.d.ts +805 -0
  215. package/dist/orchestrator/execution/agent-loop/response-item.d.ts.map +1 -0
  216. package/dist/orchestrator/execution/agent-loop/response-item.js +104 -0
  217. package/dist/orchestrator/execution/agent-loop/response-item.js.map +1 -0
  218. package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.d.ts +7 -2
  219. package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.d.ts.map +1 -1
  220. package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.js +20 -1
  221. package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.js.map +1 -1
  222. package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.d.ts +5 -3
  223. package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.d.ts.map +1 -1
  224. package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.js +109 -10
  225. package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.js.map +1 -1
  226. package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.d.ts +2 -0
  227. package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.d.ts.map +1 -1
  228. package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.js +9 -4
  229. package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.js.map +1 -1
  230. package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.d.ts +0 -1
  231. package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.d.ts.map +1 -1
  232. package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.js +7 -87
  233. package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.js.map +1 -1
  234. package/dist/orchestrator/execution/agent-loop/task-agent-loop-worktree.d.ts.map +1 -1
  235. package/dist/orchestrator/execution/agent-loop/task-agent-loop-worktree.js +25 -0
  236. package/dist/orchestrator/execution/agent-loop/task-agent-loop-worktree.js.map +1 -1
  237. package/dist/orchestrator/execution/context/issue-context-fetcher.d.ts +5 -1
  238. package/dist/orchestrator/execution/context/issue-context-fetcher.d.ts.map +1 -1
  239. package/dist/orchestrator/execution/context/issue-context-fetcher.js +7 -4
  240. package/dist/orchestrator/execution/context/issue-context-fetcher.js.map +1 -1
  241. package/dist/orchestrator/execution/task/task-artifact-contract.d.ts +18 -0
  242. package/dist/orchestrator/execution/task/task-artifact-contract.d.ts.map +1 -0
  243. package/dist/orchestrator/execution/task/task-artifact-contract.js +176 -0
  244. package/dist/orchestrator/execution/task/task-artifact-contract.js.map +1 -0
  245. package/dist/orchestrator/execution/task/task-diff-capture.d.ts +14 -1
  246. package/dist/orchestrator/execution/task/task-diff-capture.d.ts.map +1 -1
  247. package/dist/orchestrator/execution/task/task-diff-capture.js +269 -17
  248. package/dist/orchestrator/execution/task/task-diff-capture.js.map +1 -1
  249. package/dist/orchestrator/execution/task/task-execution-helpers.d.ts +1 -0
  250. package/dist/orchestrator/execution/task/task-execution-helpers.d.ts.map +1 -1
  251. package/dist/orchestrator/execution/task/task-execution-helpers.js +76 -17
  252. package/dist/orchestrator/execution/task/task-execution-helpers.js.map +1 -1
  253. package/dist/orchestrator/execution/task/task-executor.d.ts +16 -1
  254. package/dist/orchestrator/execution/task/task-executor.d.ts.map +1 -1
  255. package/dist/orchestrator/execution/task/task-executor.js +55 -50
  256. package/dist/orchestrator/execution/task/task-executor.js.map +1 -1
  257. package/dist/orchestrator/execution/task/task-generation.d.ts +54 -1
  258. package/dist/orchestrator/execution/task/task-generation.d.ts.map +1 -1
  259. package/dist/orchestrator/execution/task/task-generation.js +19 -3
  260. package/dist/orchestrator/execution/task/task-generation.js.map +1 -1
  261. package/dist/orchestrator/execution/task/task-lifecycle-runner.d.ts +2 -2
  262. package/dist/orchestrator/execution/task/task-lifecycle-runner.d.ts.map +1 -1
  263. package/dist/orchestrator/execution/task/task-lifecycle-runner.js +31 -4
  264. package/dist/orchestrator/execution/task/task-lifecycle-runner.js.map +1 -1
  265. package/dist/orchestrator/execution/task/task-lifecycle.d.ts +3 -3
  266. package/dist/orchestrator/execution/task/task-lifecycle.d.ts.map +1 -1
  267. package/dist/orchestrator/execution/task/task-lifecycle.js +51 -10
  268. package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
  269. package/dist/orchestrator/execution/task/task-outcome-ledger.d.ts +8 -0
  270. package/dist/orchestrator/execution/task/task-outcome-ledger.d.ts.map +1 -1
  271. package/dist/orchestrator/execution/task/task-outcome-ledger.js +59 -3
  272. package/dist/orchestrator/execution/task/task-outcome-ledger.js.map +1 -1
  273. package/dist/orchestrator/execution/task/task-prompt-builder.d.ts +3 -1
  274. package/dist/orchestrator/execution/task/task-prompt-builder.d.ts.map +1 -1
  275. package/dist/orchestrator/execution/task/task-prompt-builder.js +23 -12
  276. package/dist/orchestrator/execution/task/task-prompt-builder.js.map +1 -1
  277. package/dist/orchestrator/execution/task/task-verifier-rules.d.ts +3 -2
  278. package/dist/orchestrator/execution/task/task-verifier-rules.d.ts.map +1 -1
  279. package/dist/orchestrator/execution/task/task-verifier-rules.js +328 -90
  280. package/dist/orchestrator/execution/task/task-verifier-rules.js.map +1 -1
  281. package/dist/orchestrator/execution/task/task-verifier-types.d.ts +13 -0
  282. package/dist/orchestrator/execution/task/task-verifier-types.d.ts.map +1 -1
  283. package/dist/orchestrator/execution/task/task-verifier-types.js.map +1 -1
  284. package/dist/orchestrator/execution/task/task-verifier.d.ts +5 -4
  285. package/dist/orchestrator/execution/task/task-verifier.d.ts.map +1 -1
  286. package/dist/orchestrator/execution/task/task-verifier.js +229 -22
  287. package/dist/orchestrator/execution/task/task-verifier.js.map +1 -1
  288. package/dist/orchestrator/execution/task/task-workspace.d.ts +5 -0
  289. package/dist/orchestrator/execution/task/task-workspace.d.ts.map +1 -1
  290. package/dist/orchestrator/execution/task/task-workspace.js +20 -10
  291. package/dist/orchestrator/execution/task/task-workspace.js.map +1 -1
  292. package/dist/orchestrator/execution/types/task-group.d.ts +76 -5
  293. package/dist/orchestrator/execution/types/task-group.d.ts.map +1 -1
  294. package/dist/orchestrator/execution/types/task.d.ts +117 -3
  295. package/dist/orchestrator/execution/types/task.d.ts.map +1 -1
  296. package/dist/orchestrator/execution/types/task.js +12 -0
  297. package/dist/orchestrator/execution/types/task.js.map +1 -1
  298. package/dist/orchestrator/loop/durable-loop/preparation.d.ts.map +1 -1
  299. package/dist/orchestrator/loop/durable-loop/preparation.js +7 -1
  300. package/dist/orchestrator/loop/durable-loop/preparation.js.map +1 -1
  301. package/dist/platform/corrections/memory-correction-ledger.d.ts +30 -30
  302. package/dist/platform/corrections/memory-governance.d.ts +2 -2
  303. package/dist/platform/knowledge/types/agent-memory.d.ts +30 -30
  304. package/dist/platform/observation/context-provider/collector.d.ts.map +1 -1
  305. package/dist/platform/observation/context-provider/collector.js +89 -24
  306. package/dist/platform/observation/context-provider/collector.js.map +1 -1
  307. package/dist/platform/observation/data-source-adapter.d.ts +2 -0
  308. package/dist/platform/observation/data-source-adapter.d.ts.map +1 -1
  309. package/dist/platform/observation/data-source-adapter.js.map +1 -1
  310. package/dist/platform/observation/observation-apply.d.ts.map +1 -1
  311. package/dist/platform/observation/observation-apply.js +8 -2
  312. package/dist/platform/observation/observation-apply.js.map +1 -1
  313. package/dist/platform/observation/observation-engine.d.ts.map +1 -1
  314. package/dist/platform/observation/observation-engine.js +118 -70
  315. package/dist/platform/observation/observation-engine.js.map +1 -1
  316. package/dist/platform/observation/observation-helpers.d.ts +2 -0
  317. package/dist/platform/observation/observation-helpers.d.ts.map +1 -1
  318. package/dist/platform/observation/observation-helpers.js.map +1 -1
  319. package/dist/platform/observation/types/data-source.d.ts +48 -0
  320. package/dist/platform/observation/types/data-source.d.ts.map +1 -1
  321. package/dist/platform/observation/types/data-source.js +4 -0
  322. package/dist/platform/observation/types/data-source.js.map +1 -1
  323. package/dist/platform/observation/workspace-context.d.ts.map +1 -1
  324. package/dist/platform/observation/workspace-context.js +13 -18
  325. package/dist/platform/observation/workspace-context.js.map +1 -1
  326. package/dist/platform/soil/contracts.d.ts +56 -56
  327. package/dist/reporting/types/report.d.ts +7 -0
  328. package/dist/reporting/types/report.d.ts.map +1 -1
  329. package/dist/runtime/approval-broker.d.ts +12 -0
  330. package/dist/runtime/approval-broker.d.ts.map +1 -1
  331. package/dist/runtime/approval-broker.js +27 -7
  332. package/dist/runtime/approval-broker.js.map +1 -1
  333. package/dist/runtime/control/daemon-runtime-control-executor.d.ts.map +1 -1
  334. package/dist/runtime/control/daemon-runtime-control-executor.js +9 -4
  335. package/dist/runtime/control/daemon-runtime-control-executor.js.map +1 -1
  336. package/dist/runtime/control/runtime-control-intent.d.ts.map +1 -1
  337. package/dist/runtime/control/runtime-control-intent.js +3 -2
  338. package/dist/runtime/control/runtime-control-intent.js.map +1 -1
  339. package/dist/runtime/control/runtime-control-service.d.ts +2 -1
  340. package/dist/runtime/control/runtime-control-service.d.ts.map +1 -1
  341. package/dist/runtime/control/runtime-control-service.js +9 -2
  342. package/dist/runtime/control/runtime-control-service.js.map +1 -1
  343. package/dist/runtime/control/runtime-target-resolver.js +2 -0
  344. package/dist/runtime/control/runtime-target-resolver.js.map +1 -1
  345. package/dist/runtime/daemon/runner-goal-cycle.d.ts.map +1 -1
  346. package/dist/runtime/daemon/runner-goal-cycle.js +1 -2
  347. package/dist/runtime/daemon/runner-goal-cycle.js.map +1 -1
  348. package/dist/runtime/daemon/runner-recovery.d.ts +17 -3
  349. package/dist/runtime/daemon/runner-recovery.d.ts.map +1 -1
  350. package/dist/runtime/daemon/runner-recovery.js +50 -12
  351. package/dist/runtime/daemon/runner-recovery.js.map +1 -1
  352. package/dist/runtime/daemon/runner-startup.d.ts.map +1 -1
  353. package/dist/runtime/daemon/runner-startup.js +18 -1
  354. package/dist/runtime/daemon/runner-startup.js.map +1 -1
  355. package/dist/runtime/daemon/runner.d.ts.map +1 -1
  356. package/dist/runtime/daemon/runner.js +3 -2
  357. package/dist/runtime/daemon/runner.js.map +1 -1
  358. package/dist/runtime/daemon/runtime-ownership.d.ts +0 -1
  359. package/dist/runtime/daemon/runtime-ownership.d.ts.map +1 -1
  360. package/dist/runtime/daemon/runtime-ownership.js +18 -18
  361. package/dist/runtime/daemon/runtime-ownership.js.map +1 -1
  362. package/dist/runtime/daemon/wait-deadline-resolver.d.ts.map +1 -1
  363. package/dist/runtime/daemon/wait-deadline-resolver.js +2 -0
  364. package/dist/runtime/daemon/wait-deadline-resolver.js.map +1 -1
  365. package/dist/runtime/evidence-answer.d.ts.map +1 -1
  366. package/dist/runtime/evidence-answer.js +34 -7
  367. package/dist/runtime/evidence-answer.js.map +1 -1
  368. package/dist/runtime/gateway/channel-adapter.d.ts +3 -0
  369. package/dist/runtime/gateway/channel-adapter.d.ts.map +1 -1
  370. package/dist/runtime/gateway/channel-display-policy.d.ts +42 -0
  371. package/dist/runtime/gateway/channel-display-policy.d.ts.map +1 -0
  372. package/dist/runtime/gateway/channel-display-policy.js +85 -0
  373. package/dist/runtime/gateway/channel-display-policy.js.map +1 -0
  374. package/dist/runtime/gateway/chat-event-rendering.d.ts +2 -1
  375. package/dist/runtime/gateway/chat-event-rendering.d.ts.map +1 -1
  376. package/dist/runtime/gateway/chat-event-rendering.js +2 -0
  377. package/dist/runtime/gateway/chat-event-rendering.js.map +1 -1
  378. package/dist/runtime/gateway/chat-session-dispatch.d.ts.map +1 -1
  379. package/dist/runtime/gateway/chat-session-dispatch.js +4 -9
  380. package/dist/runtime/gateway/chat-session-dispatch.js.map +1 -1
  381. package/dist/runtime/gateway/chat-session-port.d.ts +2 -0
  382. package/dist/runtime/gateway/chat-session-port.d.ts.map +1 -1
  383. package/dist/runtime/gateway/chat-session-port.js.map +1 -1
  384. package/dist/runtime/gateway/discord-gateway-adapter.d.ts +4 -0
  385. package/dist/runtime/gateway/discord-gateway-adapter.d.ts.map +1 -1
  386. package/dist/runtime/gateway/discord-gateway-adapter.js +100 -31
  387. package/dist/runtime/gateway/discord-gateway-adapter.js.map +1 -1
  388. package/dist/runtime/gateway/index.d.ts +4 -0
  389. package/dist/runtime/gateway/index.d.ts.map +1 -1
  390. package/dist/runtime/gateway/index.js +2 -0
  391. package/dist/runtime/gateway/index.js.map +1 -1
  392. package/dist/runtime/gateway/non-tui-display-projector.d.ts +40 -0
  393. package/dist/runtime/gateway/non-tui-display-projector.d.ts.map +1 -0
  394. package/dist/runtime/gateway/non-tui-display-projector.js +166 -0
  395. package/dist/runtime/gateway/non-tui-display-projector.js.map +1 -0
  396. package/dist/runtime/gateway/signal-gateway-adapter.d.ts +1 -0
  397. package/dist/runtime/gateway/signal-gateway-adapter.d.ts.map +1 -1
  398. package/dist/runtime/gateway/signal-gateway-adapter.js +47 -4
  399. package/dist/runtime/gateway/signal-gateway-adapter.js.map +1 -1
  400. package/dist/runtime/gateway/slack-channel-adapter.d.ts +1 -0
  401. package/dist/runtime/gateway/slack-channel-adapter.d.ts.map +1 -1
  402. package/dist/runtime/gateway/slack-channel-adapter.js +93 -18
  403. package/dist/runtime/gateway/slack-channel-adapter.js.map +1 -1
  404. package/dist/runtime/gateway/telegram-gateway-adapter.d.ts +2 -0
  405. package/dist/runtime/gateway/telegram-gateway-adapter.d.ts.map +1 -1
  406. package/dist/runtime/gateway/telegram-gateway-adapter.js +61 -113
  407. package/dist/runtime/gateway/telegram-gateway-adapter.js.map +1 -1
  408. package/dist/runtime/gateway/whatsapp-gateway-adapter.d.ts +1 -0
  409. package/dist/runtime/gateway/whatsapp-gateway-adapter.d.ts.map +1 -1
  410. package/dist/runtime/gateway/whatsapp-gateway-adapter.js +49 -4
  411. package/dist/runtime/gateway/whatsapp-gateway-adapter.js.map +1 -1
  412. package/dist/runtime/permission-dialogue.d.ts +113 -0
  413. package/dist/runtime/permission-dialogue.d.ts.map +1 -0
  414. package/dist/runtime/permission-dialogue.js +82 -0
  415. package/dist/runtime/permission-dialogue.js.map +1 -0
  416. package/dist/runtime/run-spec/derive.d.ts +14 -14
  417. package/dist/runtime/run-spec/handoff.js +2 -0
  418. package/dist/runtime/run-spec/handoff.js.map +1 -1
  419. package/dist/runtime/run-spec/types.d.ts +16 -16
  420. package/dist/runtime/session-registry/types.d.ts +12 -12
  421. package/dist/runtime/store/artifact-retention.d.ts +2 -0
  422. package/dist/runtime/store/artifact-retention.d.ts.map +1 -1
  423. package/dist/runtime/store/artifact-retention.js +24 -21
  424. package/dist/runtime/store/artifact-retention.js.map +1 -1
  425. package/dist/runtime/store/budget-store.d.ts +8 -8
  426. package/dist/runtime/store/evidence-ledger.d.ts.map +1 -1
  427. package/dist/runtime/store/evidence-ledger.js +39 -1
  428. package/dist/runtime/store/evidence-ledger.js.map +1 -1
  429. package/dist/runtime/store/evidence-types.d.ts +118 -118
  430. package/dist/runtime/store/experiment-queue-store.d.ts +20 -20
  431. package/dist/runtime/store/reproducibility-manifest.d.ts +20 -20
  432. package/dist/runtime/store/runtime-operation-schemas.d.ts +18 -18
  433. package/dist/runtime/store/runtime-operation-schemas.d.ts.map +1 -1
  434. package/dist/runtime/store/runtime-operation-schemas.js +1 -0
  435. package/dist/runtime/store/runtime-operation-schemas.js.map +1 -1
  436. package/dist/runtime/store/runtime-schemas.d.ts +58 -28
  437. package/dist/runtime/store/runtime-schemas.d.ts.map +1 -1
  438. package/dist/runtime/store/runtime-schemas.js +1 -0
  439. package/dist/runtime/store/runtime-schemas.js.map +1 -1
  440. package/dist/tools/execution/MemorySaveTool/MemorySaveTool.d.ts +8 -8
  441. package/dist/tools/execution/RunAdapterTool/RunAdapterTool.d.ts +6 -0
  442. package/dist/tools/execution/RunAdapterTool/RunAdapterTool.d.ts.map +1 -1
  443. package/dist/tools/execution/RunAdapterTool/RunAdapterTool.js +2 -0
  444. package/dist/tools/execution/RunAdapterTool/RunAdapterTool.js.map +1 -1
  445. package/dist/tools/execution-orchestrator.d.ts +29 -0
  446. package/dist/tools/execution-orchestrator.d.ts.map +1 -0
  447. package/dist/tools/execution-orchestrator.js +153 -0
  448. package/dist/tools/execution-orchestrator.js.map +1 -0
  449. package/dist/tools/executor.d.ts +6 -0
  450. package/dist/tools/executor.d.ts.map +1 -1
  451. package/dist/tools/executor.js +48 -11
  452. package/dist/tools/executor.js.map +1 -1
  453. package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.d.ts.map +1 -1
  454. package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.js +130 -17
  455. package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.js.map +1 -1
  456. package/dist/tools/mutation/TaskStopTool/TaskStopTool.d.ts.map +1 -1
  457. package/dist/tools/mutation/TaskStopTool/TaskStopTool.js +8 -0
  458. package/dist/tools/mutation/TaskStopTool/TaskStopTool.js.map +1 -1
  459. package/dist/tools/mutation/TaskUpdateTool/TaskUpdateTool.d.ts +6 -6
  460. package/dist/tools/network/GitHubCliTool/GitHubCliTool.d.ts +4 -4
  461. package/dist/tools/network/McpStdioTool/McpStdioTool.d.ts +4 -4
  462. package/dist/tools/permission.d.ts +0 -1
  463. package/dist/tools/permission.d.ts.map +1 -1
  464. package/dist/tools/permission.js +9 -33
  465. package/dist/tools/permission.js.map +1 -1
  466. package/dist/tools/query/CodeReadContextTool/CodeReadContextTool.d.ts +4 -4
  467. package/dist/tools/query/CodeSearchRepairTool/CodeSearchRepairTool.d.ts +8 -8
  468. package/dist/tools/query/CodeSearchTool/CodeSearchTool.d.ts +4 -4
  469. package/dist/tools/query/MemoryRecallTool/MemoryRecallTool.d.ts +4 -4
  470. package/dist/tools/query/runtime-session-tools.d.ts +73 -5
  471. package/dist/tools/query/runtime-session-tools.d.ts.map +1 -1
  472. package/dist/tools/query/runtime-session-tools.js +114 -0
  473. package/dist/tools/query/runtime-session-tools.js.map +1 -1
  474. package/dist/tools/runtime/LongRunningRuntimeTools.d.ts +60 -42
  475. package/dist/tools/runtime/LongRunningRuntimeTools.d.ts.map +1 -1
  476. package/dist/tools/runtime/LongRunningRuntimeTools.js +4 -1
  477. package/dist/tools/runtime/LongRunningRuntimeTools.js.map +1 -1
  478. package/dist/tools/runtime/RunSpecHandoffTools.d.ts.map +1 -1
  479. package/dist/tools/runtime/RunSpecHandoffTools.js +162 -2
  480. package/dist/tools/runtime/RunSpecHandoffTools.js.map +1 -1
  481. package/dist/tools/runtime/SetupRuntimeControlTools.d.ts.map +1 -1
  482. package/dist/tools/runtime/SetupRuntimeControlTools.js +169 -17
  483. package/dist/tools/runtime/SetupRuntimeControlTools.js.map +1 -1
  484. package/dist/tools/system/GitDiffTool/GitDiffTool.d.ts +4 -4
  485. package/dist/tools/system/ShellCommandTool/ShellCommandTool.d.ts.map +1 -1
  486. package/dist/tools/system/ShellCommandTool/ShellCommandTool.js +7 -1
  487. package/dist/tools/system/ShellCommandTool/ShellCommandTool.js.map +1 -1
  488. package/dist/tools/system/ShellTool/ShellTool.d.ts.map +1 -1
  489. package/dist/tools/system/ShellTool/ShellTool.js +24 -10
  490. package/dist/tools/system/ShellTool/ShellTool.js.map +1 -1
  491. package/dist/tools/system/ShellTool/command-policy.d.ts +11 -8
  492. package/dist/tools/system/ShellTool/command-policy.d.ts.map +1 -1
  493. package/dist/tools/system/ShellTool/command-policy.js +402 -98
  494. package/dist/tools/system/ShellTool/command-policy.js.map +1 -1
  495. package/dist/tools/system/TestRunnerTool/TestRunnerTool.d.ts +1 -1
  496. package/dist/tools/system/TestRunnerTool/TestRunnerTool.d.ts.map +1 -1
  497. package/dist/tools/system/TestRunnerTool/TestRunnerTool.js +152 -8
  498. package/dist/tools/system/TestRunnerTool/TestRunnerTool.js.map +1 -1
  499. package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.js +1 -1
  500. package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.js.map +1 -1
  501. package/dist/tools/types.d.ts +34 -12
  502. package/dist/tools/types.d.ts.map +1 -1
  503. package/dist/tools/types.js +26 -3
  504. package/dist/tools/types.js.map +1 -1
  505. package/dist/tools/workspace-scope.d.ts +11 -0
  506. package/dist/tools/workspace-scope.d.ts.map +1 -0
  507. package/dist/tools/workspace-scope.js +77 -0
  508. package/dist/tools/workspace-scope.js.map +1 -0
  509. package/package.json +1 -1
@@ -1,21 +1,31 @@
1
1
  import type { DataSourceConfig, DataSourceQuery, DataSourceResult, DataSourceType } from "../../base/types/data-source.js";
2
2
  import type { IDataSourceAdapter } from "../../platform/observation/data-source-adapter.js";
3
3
  type Aggregation = "max" | "min" | "count" | "file_count";
4
+ type FreshnessScope = "none" | "goal" | "task" | "run";
5
+ export interface ArtifactMetricFreshnessScope {
6
+ freshAfterTime: string;
7
+ freshnessScope: Exclude<FreshnessScope, "none">;
8
+ freshnessScopeId: string;
9
+ }
4
10
  export declare function createWorkspaceArtifactMetricDataSource(workspacePath?: string): ArtifactMetricDataSourceAdapter;
5
- export declare function createGoalWorkspaceArtifactMetricDataSource(goalId: string, workspacePath: string, dimensionMetrics: Record<string, string[]>, dimensionAggregations?: Record<string, Aggregation>): ArtifactMetricDataSourceAdapter;
11
+ export declare function createGoalWorkspaceArtifactMetricDataSource(goalId: string, workspacePath: string, dimensionMetrics: Record<string, string[]>, dimensionAggregations?: Record<string, Aggregation>, freshnessScope?: ArtifactMetricFreshnessScope): ArtifactMetricDataSourceAdapter;
6
12
  export declare class ArtifactMetricDataSourceAdapter implements IDataSourceAdapter {
7
13
  readonly sourceId: string;
8
14
  readonly sourceType: DataSourceType;
9
15
  readonly config: DataSourceConfig;
16
+ private observationPassCache;
10
17
  constructor(config: DataSourceConfig);
11
18
  connect(): Promise<void>;
12
19
  disconnect(): Promise<void>;
13
20
  healthCheck(): Promise<boolean>;
21
+ beginObservationPass(): void;
22
+ endObservationPass(): void;
14
23
  getSupportedDimensions(): string[];
15
24
  supportsDimension(dimensionName: string): boolean;
16
25
  query(params: DataSourceQuery): Promise<DataSourceResult>;
17
26
  private workspaceRoot;
18
27
  private scanOptions;
28
+ private discoverMetricCandidatesForPass;
19
29
  }
20
30
  export {};
21
31
  //# sourceMappingURL=artifact-metric-datasource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-metric-datasource.d.ts","sourceRoot":"","sources":["../../../src/adapters/datasources/artifact-metric-datasource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAE5F,KAAK,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC;AAqE1D,wBAAgB,uCAAuC,CAAC,aAAa,SAAgB,GAAG,+BAA+B,CAStH;AAED,wBAAgB,2CAA2C,CACzD,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAC1C,qBAAqB,GAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAM,GACtD,+BAA+B,CAejC;AAED,qBAAa,+BAAgC,YAAW,kBAAkB;IACxE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAqB;IACxD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;gBAEtB,MAAM,EAAE,gBAAgB;IAK9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,sBAAsB,IAAI,MAAM,EAAE;IAWlC,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAI3C,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4E/D,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,WAAW;CAoBpB"}
1
+ {"version":3,"file":"artifact-metric-datasource.d.ts","sourceRoot":"","sources":["../../../src/adapters/datasources/artifact-metric-datasource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAE5F,KAAK,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC;AAG1D,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAGvD,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAChD,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAgGD,wBAAgB,uCAAuC,CAAC,aAAa,SAAgB,GAAG,+BAA+B,CAStH;AAED,wBAAgB,2CAA2C,CACzD,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAC1C,qBAAqB,GAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAM,EACvD,cAAc,CAAC,EAAE,4BAA4B,GAC5C,+BAA+B,CAwBjC;AAED,qBAAa,+BAAgC,YAAW,kBAAkB;IACxE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAqB;IACxD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,OAAO,CAAC,oBAAoB,CAAqD;gBAErE,MAAM,EAAE,gBAAgB;IAK9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,oBAAoB,IAAI,IAAI;IAI5B,kBAAkB,IAAI,IAAI;IAI1B,sBAAsB,IAAI,MAAM,EAAE;IAWlC,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAI3C,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+G/D,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,WAAW;YA2BL,+BAA+B;CAU9C"}
@@ -18,6 +18,7 @@ const DEFAULT_EXCLUDE_PATHS = new Set(["data/raw"]);
18
18
  const DEFAULT_MAX_METRIC_FILES = 5_000;
19
19
  const DEFAULT_MAX_ARTIFACT_FILES = 100_000;
20
20
  const DEFAULT_MAX_CANDIDATES = 200;
21
+ const DEFAULT_GOAL_SCOPED_STALE_AFTER_MS = 24 * 60 * 60 * 1000;
21
22
  const MAX_RAW_CANDIDATES = 25;
22
23
  export function createWorkspaceArtifactMetricDataSource(workspacePath = process.cwd()) {
23
24
  return new ArtifactMetricDataSourceAdapter({
@@ -29,7 +30,7 @@ export function createWorkspaceArtifactMetricDataSource(workspacePath = process.
29
30
  created_at: new Date().toISOString(),
30
31
  });
31
32
  }
32
- export function createGoalWorkspaceArtifactMetricDataSource(goalId, workspacePath, dimensionMetrics, dimensionAggregations = {}) {
33
+ export function createGoalWorkspaceArtifactMetricDataSource(goalId, workspacePath, dimensionMetrics, dimensionAggregations = {}, freshnessScope) {
33
34
  return new ArtifactMetricDataSourceAdapter({
34
35
  id: `${BUILTIN_SOURCE_ID}:goal:${goalId}`,
35
36
  name: "builtin:goal workspace artifact metrics",
@@ -39,6 +40,15 @@ export function createGoalWorkspaceArtifactMetricDataSource(goalId, workspacePat
39
40
  dimension_metrics: dimensionMetrics,
40
41
  dimension_aggregations: dimensionAggregations,
41
42
  require_metric_match: true,
43
+ stale_after_ms: DEFAULT_GOAL_SCOPED_STALE_AFTER_MS,
44
+ ...(freshnessScope
45
+ ? {
46
+ fresh_after_time: freshnessScope.freshAfterTime,
47
+ freshness_scope: freshnessScope.freshnessScope,
48
+ freshness_scope_id: freshnessScope.freshnessScopeId,
49
+ }
50
+ : {}),
51
+ current_progress_policy: "completed_fresh_only",
42
52
  },
43
53
  enabled: true,
44
54
  created_at: new Date().toISOString(),
@@ -49,6 +59,7 @@ export class ArtifactMetricDataSourceAdapter {
49
59
  sourceId;
50
60
  sourceType = "artifact_metric";
51
61
  config;
62
+ observationPassCache = null;
52
63
  constructor(config) {
53
64
  this.config = config;
54
65
  this.sourceId = config.id;
@@ -68,6 +79,12 @@ export class ArtifactMetricDataSourceAdapter {
68
79
  return false;
69
80
  }
70
81
  }
82
+ beginObservationPass() {
83
+ this.observationPassCache = new Map();
84
+ }
85
+ endObservationPass() {
86
+ this.observationPassCache = null;
87
+ }
71
88
  getSupportedDimensions() {
72
89
  const dimensions = new Set([
73
90
  ...Object.keys(this.config.dimension_mapping ?? {}),
@@ -96,17 +113,19 @@ export class ArtifactMetricDataSourceAdapter {
96
113
  aggregation,
97
114
  file_count: count,
98
115
  discovery: discoveryRaw(options),
116
+ freshness: freshnessRaw(options, null, [], "file_count"),
99
117
  },
100
118
  timestamp,
101
119
  source_id: this.sourceId,
102
120
  };
103
121
  }
104
122
  const keys = resolveMetricKeys(params.dimension_name, expression, this.config);
105
- const candidates = await discoverMetricCandidates(root, options, keys);
106
- const observations = await readMetricObservations(candidates);
123
+ const snapshot = await this.discoverMetricCandidatesForPass(root, options);
124
+ const candidates = selectCandidatesForKeys(snapshot.candidates, keys, options);
125
+ const observations = await readMetricObservations(candidates, options);
107
126
  const evidenceCandidates = buildEvidenceCandidates(observations, keys, aggregation === "min" ? "min" : "max");
108
127
  if (aggregation === "count") {
109
- const matched = observations.filter((observation) => hasAnyMetric(observation, keys));
128
+ const matched = observations.filter((observation) => observation.eligibleForCurrentProgress && hasAnyMetric(observation, keys));
110
129
  return {
111
130
  value: matched.length,
112
131
  raw: {
@@ -116,10 +135,12 @@ export class ArtifactMetricDataSourceAdapter {
116
135
  matched_metric_files: matched.length,
117
136
  metric_keys: keys,
118
137
  discovery: discoveryRaw(options),
138
+ freshness: freshnessRaw(options, null, observations, matched.length > 0 ? "eligible" : "missing"),
119
139
  candidates: rawCandidates(candidates),
120
140
  evidence_candidates: evidenceCandidates,
121
141
  conflicts: detectMetricConflicts(params.dimension_name, observations, keys),
122
142
  stale_candidates: staleRaw(observations),
143
+ ineligible_candidates: ineligibleRaw(observations),
123
144
  strategic_correctness: "not_evaluated",
124
145
  },
125
146
  timestamp,
@@ -128,6 +149,35 @@ export class ArtifactMetricDataSourceAdapter {
128
149
  }
129
150
  const match = selectMetric(observations, keys, aggregation);
130
151
  if (this.config.connection.require_metric_match && match === null) {
152
+ if (hasCurrentScopeStaleMetricMatch(observations, keys, options)) {
153
+ return {
154
+ value: 0,
155
+ raw: {
156
+ root,
157
+ aggregation,
158
+ inspected_metric_files: candidates.length,
159
+ metric_keys: keys,
160
+ selected_path: null,
161
+ selected_key: null,
162
+ selected_value: 0,
163
+ selected: null,
164
+ discovery: discoveryRaw(options),
165
+ freshness: freshnessRaw(options, null, observations, "ineligible_artifact_metrics_only"),
166
+ candidates: rawCandidates(candidates),
167
+ evidence_candidates: evidenceCandidates,
168
+ conflicts: detectMetricConflicts(params.dimension_name, observations, keys),
169
+ stale_candidates: staleRaw(observations),
170
+ ineligible_candidates: ineligibleRaw(observations),
171
+ strategic_correctness: "not_evaluated",
172
+ },
173
+ timestamp,
174
+ source_id: this.sourceId,
175
+ metadata: {
176
+ confidence: 0.35,
177
+ confidence_reason: "Only stale or pre-scope artifact metrics matched the current progress datasource query.",
178
+ },
179
+ };
180
+ }
131
181
  throw new Error(`No artifact metric found for dimension "${params.dimension_name}" using keys [${keys.join(", ")}]`);
132
182
  }
133
183
  return {
@@ -142,10 +192,12 @@ export class ArtifactMetricDataSourceAdapter {
142
192
  selected_value: match?.value ?? 0,
143
193
  selected: match,
144
194
  discovery: discoveryRaw(options),
195
+ freshness: freshnessRaw(options, match, observations, match ? "eligible" : "missing"),
145
196
  candidates: rawCandidates(candidates),
146
197
  evidence_candidates: evidenceCandidates,
147
198
  conflicts: detectMetricConflicts(params.dimension_name, observations, keys),
148
199
  stale_candidates: staleRaw(observations),
200
+ ineligible_candidates: ineligibleRaw(observations),
149
201
  strategic_correctness: "not_evaluated",
150
202
  },
151
203
  timestamp,
@@ -174,8 +226,24 @@ export class ArtifactMetricDataSourceAdapter {
174
226
  maxArtifactFiles: this.config.connection.max_artifact_files ?? DEFAULT_MAX_ARTIFACT_FILES,
175
227
  maxCandidates: this.config.connection.max_candidates ?? DEFAULT_MAX_CANDIDATES,
176
228
  staleAfterMs: this.config.connection.stale_after_ms,
229
+ currentProgressPolicy: this.config.connection.current_progress_policy ?? "legacy",
230
+ freshAfterTime: this.config.connection.fresh_after_time,
231
+ freshAfterMs: parseIsoMs(this.config.connection.fresh_after_time),
232
+ freshnessScope: this.config.connection.freshness_scope ?? "none",
233
+ freshnessScopeId: this.config.connection.freshness_scope_id,
234
+ nowMs: Date.now(),
177
235
  };
178
236
  }
237
+ async discoverMetricCandidatesForPass(root, options) {
238
+ const cacheKey = scanCacheKey(root, options);
239
+ const cached = this.observationPassCache?.get(cacheKey);
240
+ if (cached)
241
+ return cached;
242
+ const candidates = await discoverMetricCandidates(root, options, []);
243
+ const snapshot = { candidates };
244
+ this.observationPassCache?.set(cacheKey, snapshot);
245
+ return snapshot;
246
+ }
179
247
  }
180
248
  async function discoverMetricCandidates(root, options, keys) {
181
249
  const discovered = new Map();
@@ -204,9 +272,46 @@ async function discoverMetricCandidates(root, options, keys) {
204
272
  });
205
273
  }
206
274
  return Array.from(discovered.values())
275
+ .sort(compareCandidates)
276
+ .slice(0, keys.length === 0 ? options.maxMetricFiles : options.maxCandidates);
277
+ }
278
+ function selectCandidatesForKeys(candidates, keys, options) {
279
+ return candidates
280
+ .map((candidate) => applyMetricKeyScore(candidate, keys))
207
281
  .sort(compareCandidates)
208
282
  .slice(0, options.maxCandidates);
209
283
  }
284
+ function applyMetricKeyScore(candidate, keys) {
285
+ let score = candidate.candidateScore;
286
+ const reasons = [...candidate.reasons];
287
+ for (const key of keys) {
288
+ if (candidate.relativePath.toLowerCase().includes(key.toLowerCase())) {
289
+ score += 8;
290
+ reasons.push(`path metric hint: ${key}`);
291
+ break;
292
+ }
293
+ }
294
+ return { ...candidate, candidateScore: score, reasons };
295
+ }
296
+ function scanCacheKey(root, options) {
297
+ return JSON.stringify({
298
+ root,
299
+ metricFileNames: [...options.metricFileNames].sort(),
300
+ artifactRoots: options.artifactRoots,
301
+ includePaths: options.includePaths,
302
+ parserHints: [...options.parserHints].sort(),
303
+ excludeDirs: [...options.excludeDirs].sort(),
304
+ excludePaths: [...options.excludePaths].sort(),
305
+ maxMetricFiles: options.maxMetricFiles,
306
+ maxArtifactFiles: options.maxArtifactFiles,
307
+ maxCandidates: options.maxCandidates,
308
+ staleAfterMs: options.staleAfterMs,
309
+ freshAfterTime: options.freshAfterTime,
310
+ freshnessScope: options.freshnessScope,
311
+ freshnessScopeId: options.freshnessScopeId,
312
+ currentProgressPolicy: options.currentProgressPolicy,
313
+ });
314
+ }
210
315
  async function resolveSearchRoots(root, options) {
211
316
  const roots = [];
212
317
  for (const includePath of [...options.includePaths, ...options.artifactRoots]) {
@@ -242,22 +347,34 @@ async function buildMetricCandidate(root, filePath, options, keys) {
242
347
  }
243
348
  }
244
349
  const mtime = stats.mtime;
245
- if (Date.now() - mtime.getTime() < 24 * 60 * 60 * 1000) {
350
+ const artifactAgeMs = Math.max(0, options.nowMs - mtime.getTime());
351
+ if (artifactAgeMs < 24 * 60 * 60 * 1000) {
246
352
  score += 10;
247
353
  reasons.push("recent artifact");
248
354
  }
249
- const stale = options.staleAfterMs !== undefined && Date.now() - mtime.getTime() > options.staleAfterMs;
355
+ const beforeFreshnessScope = options.freshAfterMs !== undefined && mtime.getTime() < options.freshAfterMs;
356
+ const staleByAge = options.staleAfterMs !== undefined && artifactAgeMs > options.staleAfterMs;
357
+ const stale = beforeFreshnessScope || staleByAge;
358
+ const freshnessStatus = beforeFreshnessScope ? "pre_scope" : staleByAge ? "stale" : "fresh";
359
+ const currentRun = options.freshAfterMs === undefined ? null : !beforeFreshnessScope;
250
360
  if (stale) {
251
361
  score -= 30;
252
- reasons.push("stale artifact");
362
+ reasons.push(beforeFreshnessScope
363
+ ? `artifact precedes ${options.freshnessScope} freshness scope`
364
+ : "stale artifact");
253
365
  }
254
366
  return {
255
367
  path: filePath,
256
368
  relativePath,
257
369
  updatedTime: mtime.toISOString(),
370
+ artifactAgeMs,
258
371
  candidateScore: score,
259
372
  reasons,
260
373
  stale,
374
+ freshnessStatus,
375
+ currentRun,
376
+ freshnessScope: options.freshnessScope,
377
+ freshnessScopeId: options.freshnessScopeId ?? null,
261
378
  };
262
379
  }
263
380
  async function countArtifactFiles(root, options) {
@@ -301,18 +418,23 @@ function shouldSkipDirectory(name, relPath, options) {
301
418
  }
302
419
  return false;
303
420
  }
304
- async function readMetricObservations(candidates) {
421
+ async function readMetricObservations(candidates, options) {
305
422
  const observations = [];
306
423
  for (const candidate of candidates) {
307
424
  try {
308
425
  const parsed = JSON.parse(await fs.readFile(candidate.path, "utf8"));
309
426
  const metrics = extractNumericMetrics(parsed);
310
427
  if (metrics.length > 0) {
428
+ const lifecycle = extractArtifactLifecycle(parsed);
429
+ const ineligibleReason = currentProgressIneligibleReason(candidate, lifecycle, options);
311
430
  observations.push({
312
431
  ...candidate,
313
432
  parser: "json",
314
433
  metrics,
315
434
  extractionConfidence: Math.max(...metrics.map((metric) => metric.confidence)),
435
+ lifecycle,
436
+ eligibleForCurrentProgress: ineligibleReason === null,
437
+ ineligibleReason,
316
438
  });
317
439
  }
318
440
  }
@@ -359,6 +481,43 @@ function extractNumericMetrics(value) {
359
481
  }
360
482
  return metrics;
361
483
  }
484
+ function extractArtifactLifecycle(value) {
485
+ if (!isRecord(value))
486
+ return { state: "unknown", status: null, success: null };
487
+ const status = typeof value["status"] === "string" ? value["status"] : null;
488
+ const success = booleanOrNull(value["success"]);
489
+ if (status === "running")
490
+ return { state: "running", status, success };
491
+ if (status === "failed")
492
+ return { state: "failed", status, success };
493
+ if (success === false)
494
+ return { state: "failed", status, success };
495
+ if (status === "completed")
496
+ return { state: "completed", status, success };
497
+ if (success === true)
498
+ return { state: "completed", status, success };
499
+ return { state: "unknown", status, success };
500
+ }
501
+ function booleanOrNull(value) {
502
+ return typeof value === "boolean" ? value : null;
503
+ }
504
+ function currentProgressIneligibleReason(candidate, lifecycle, options) {
505
+ if (options.currentProgressPolicy === "legacy")
506
+ return null;
507
+ if (candidate.freshnessStatus === "pre_scope") {
508
+ return `artifact precedes ${candidate.freshnessScope} freshness scope`;
509
+ }
510
+ if (candidate.stale)
511
+ return "artifact is stale for current progress";
512
+ if (options.currentProgressPolicy === "allow_live") {
513
+ return lifecycle.state === "completed" || lifecycle.state === "running"
514
+ ? null
515
+ : `artifact lifecycle is ${lifecycle.state}`;
516
+ }
517
+ return lifecycle.state === "completed"
518
+ ? null
519
+ : `artifact lifecycle is ${lifecycle.state}`;
520
+ }
362
521
  function addNumber(metrics, key, keyPath, value, confidence) {
363
522
  if (typeof value === "number" && Number.isFinite(value)) {
364
523
  metrics.push({ key, keyPath, value, confidence });
@@ -369,6 +528,13 @@ function hasAnyMetric(observation, keys) {
369
528
  return observation.metrics.length > 0;
370
529
  return keys.some((key) => observation.metrics.some((metric) => metric.key === key));
371
530
  }
531
+ function hasCurrentScopeStaleMetricMatch(observations, keys, options) {
532
+ if (options.freshnessScope === "none")
533
+ return false;
534
+ return observations.some((observation) => (observation.stale
535
+ && !observation.eligibleForCurrentProgress
536
+ && hasAnyMetric(observation, keys)));
537
+ }
372
538
  function selectMetric(observations, keys, aggregation) {
373
539
  const matches = matchingMetrics(observations, keys);
374
540
  if (matches.length === 0)
@@ -383,15 +549,22 @@ function selectMetric(observations, keys, aggregation) {
383
549
  value: best.metric.value,
384
550
  parser: best.observation.parser,
385
551
  updatedTime: best.observation.updatedTime,
552
+ artifactAgeMs: best.observation.artifactAgeMs,
386
553
  extractionConfidence: best.metric.confidence,
387
554
  candidateScore: best.observation.candidateScore,
388
555
  stale: best.observation.stale,
556
+ freshnessStatus: best.observation.freshnessStatus,
557
+ currentRun: best.observation.currentRun,
558
+ freshnessScope: best.observation.freshnessScope,
559
+ freshnessScopeId: best.observation.freshnessScopeId,
389
560
  };
390
561
  }
391
562
  function matchingMetrics(observations, keys) {
392
563
  const wanted = new Set(keys);
393
564
  const matches = [];
394
565
  for (const observation of observations) {
566
+ if (!observation.eligibleForCurrentProgress)
567
+ continue;
395
568
  for (const metric of observation.metrics) {
396
569
  if (wanted.size === 0 || wanted.has(metric.key)) {
397
570
  matches.push({ observation, metric });
@@ -457,8 +630,11 @@ function buildConflict(metricKey, matches) {
457
630
  keyPath: metric.keyPath,
458
631
  value: metric.value,
459
632
  updatedTime: observation.updatedTime,
633
+ artifactAgeMs: observation.artifactAgeMs,
460
634
  extractionConfidence: metric.confidence,
461
635
  stale: observation.stale,
636
+ freshnessStatus: observation.freshnessStatus,
637
+ currentRun: observation.currentRun,
462
638
  })),
463
639
  };
464
640
  }
@@ -473,9 +649,13 @@ function buildEvidenceCandidates(observations, keys, aggregation) {
473
649
  value: metric.value,
474
650
  parser: observation.parser,
475
651
  updated_time: observation.updatedTime,
652
+ artifact_age_ms: observation.artifactAgeMs,
476
653
  extraction_confidence: metric.confidence,
477
654
  candidate_score: observation.candidateScore,
478
655
  stale: observation.stale,
656
+ freshness_status: observation.freshnessStatus,
657
+ current_run: observation.currentRun,
658
+ current_progress_eligible: observation.eligibleForCurrentProgress,
479
659
  reasons: observation.reasons,
480
660
  strategic_correctness: "not_evaluated",
481
661
  }));
@@ -484,8 +664,13 @@ function rawCandidates(candidates) {
484
664
  return candidates.slice(0, MAX_RAW_CANDIDATES).map((candidate) => ({
485
665
  path: candidate.relativePath,
486
666
  updated_time: candidate.updatedTime,
667
+ artifact_age_ms: candidate.artifactAgeMs,
487
668
  candidate_score: candidate.candidateScore,
488
669
  stale: candidate.stale,
670
+ freshness_status: candidate.freshnessStatus,
671
+ current_run: candidate.currentRun,
672
+ freshness_scope: candidate.freshnessScope,
673
+ freshness_scope_id: candidate.freshnessScopeId,
489
674
  reasons: candidate.reasons,
490
675
  }));
491
676
  }
@@ -496,7 +681,29 @@ function staleRaw(observations) {
496
681
  .map((observation) => ({
497
682
  path: observation.relativePath,
498
683
  updated_time: observation.updatedTime,
684
+ artifact_age_ms: observation.artifactAgeMs,
499
685
  extraction_confidence: observation.extractionConfidence,
686
+ freshness_status: observation.freshnessStatus,
687
+ current_run: observation.currentRun,
688
+ }));
689
+ }
690
+ function ineligibleRaw(observations) {
691
+ return observations
692
+ .filter((observation) => !observation.eligibleForCurrentProgress)
693
+ .slice(0, MAX_RAW_CANDIDATES)
694
+ .map((observation) => ({
695
+ path: observation.relativePath,
696
+ updated_time: observation.updatedTime,
697
+ artifact_age_ms: observation.artifactAgeMs,
698
+ stale: observation.stale,
699
+ freshness_status: observation.freshnessStatus,
700
+ current_run: observation.currentRun,
701
+ freshness_scope: observation.freshnessScope,
702
+ freshness_scope_id: observation.freshnessScopeId,
703
+ lifecycle_state: observation.lifecycle.state,
704
+ lifecycle_status: observation.lifecycle.status,
705
+ success: observation.lifecycle.success,
706
+ reason: observation.ineligibleReason,
500
707
  }));
501
708
  }
502
709
  function discoveryRaw(options) {
@@ -508,6 +715,23 @@ function discoveryRaw(options) {
508
715
  max_candidates: options.maxCandidates,
509
716
  parser_hints: Array.from(options.parserHints),
510
717
  stale_after_ms: options.staleAfterMs ?? null,
718
+ fresh_after_time: options.freshAfterTime ?? null,
719
+ freshness_scope: options.freshnessScope,
720
+ freshness_scope_id: options.freshnessScopeId ?? null,
721
+ current_progress_policy: options.currentProgressPolicy,
722
+ };
723
+ }
724
+ function freshnessRaw(options, match, observations, currentProgressStatus) {
725
+ return {
726
+ scope: options.freshnessScope,
727
+ scope_id: options.freshnessScopeId ?? null,
728
+ fresh_after_time: options.freshAfterTime ?? null,
729
+ selected_path: match?.relativePath ?? null,
730
+ selected_artifact_age_ms: match?.artifactAgeMs ?? null,
731
+ selected_freshness_status: match?.freshnessStatus ?? null,
732
+ selected_current_run: match?.currentRun ?? null,
733
+ current_progress_status: currentProgressStatus,
734
+ ineligible_candidate_count: observations.filter((observation) => !observation.eligibleForCurrentProgress).length,
511
735
  };
512
736
  }
513
737
  function compareCandidates(left, right) {
@@ -608,4 +832,10 @@ function unique(values) {
608
832
  function isRecord(value) {
609
833
  return typeof value === "object" && value !== null && !Array.isArray(value);
610
834
  }
835
+ function parseIsoMs(value) {
836
+ if (!value)
837
+ return undefined;
838
+ const parsed = Date.parse(value);
839
+ return Number.isFinite(parsed) ? parsed : undefined;
840
+ }
611
841
  //# sourceMappingURL=artifact-metric-datasource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-metric-datasource.js","sourceRoot":"","sources":["../../../src/adapters/datasources/artifact-metric-datasource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-metric-datasource.js","sourceRoot":"","sources":["../../../src/adapters/datasources/artifact-metric-datasource.ts"],"names":[],"mappings":"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"}