@remnic/core 1.1.8 → 1.1.10

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 (267) hide show
  1. package/dist/access-cli.js +44 -41
  2. package/dist/access-cli.js.map +1 -1
  3. package/dist/access-http.d.ts +8 -7
  4. package/dist/access-http.js +20 -17
  5. package/dist/access-mcp.d.ts +8 -7
  6. package/dist/access-mcp.js +19 -16
  7. package/dist/{access-service-C0Rkioec.d.ts → access-service-BTTNyo1i.d.ts} +11 -9
  8. package/dist/access-service.d.ts +8 -7
  9. package/dist/access-service.js +18 -15
  10. package/dist/active-memory-bridge.d.ts +2 -1
  11. package/dist/active-recall.d.ts +3 -2
  12. package/dist/active-recall.js +2 -2
  13. package/dist/active-recall.js.map +1 -1
  14. package/dist/behavior-learner.d.ts +2 -1
  15. package/dist/behavior-signals.d.ts +2 -1
  16. package/dist/bootstrap.d.ts +7 -6
  17. package/dist/briefing.d.ts +3 -2
  18. package/dist/briefing.js +6 -6
  19. package/dist/buffer-surprise-report.d.ts +2 -1
  20. package/dist/buffer.d.ts +3 -2
  21. package/dist/calibration.d.ts +4 -1
  22. package/dist/calibration.js +10 -5
  23. package/dist/calibration.js.map +1 -1
  24. package/dist/causal-behavior.d.ts +2 -1
  25. package/dist/causal-consolidation.d.ts +5 -2
  26. package/dist/causal-consolidation.js +17 -11
  27. package/dist/causal-consolidation.js.map +1 -1
  28. package/dist/{chunk-AV2WSYZY.js → chunk-2YMTO4ZJ.js} +2 -2
  29. package/dist/{chunk-SYWJJTNL.js → chunk-363MWCD3.js} +42 -42
  30. package/dist/{chunk-65ZPH7QA.js → chunk-36CTNQY7.js} +7 -7
  31. package/dist/{chunk-GZCUW5IC.js → chunk-3IQ2TR4N.js} +5 -5
  32. package/dist/chunk-3IQ2TR4N.js.map +1 -0
  33. package/dist/{chunk-TUFG6VXY.js → chunk-4DWOBS2A.js} +2 -2
  34. package/dist/chunk-4DWOBS2A.js.map +1 -0
  35. package/dist/{chunk-SRIDOT64.js → chunk-4DXC6HQQ.js} +6 -4
  36. package/dist/chunk-4DXC6HQQ.js.map +1 -0
  37. package/dist/{chunk-L2IO2QPY.js → chunk-4IS4SXIQ.js} +17 -13
  38. package/dist/chunk-4IS4SXIQ.js.map +1 -0
  39. package/dist/{chunk-RJSVRPNU.js → chunk-57QNCUEZ.js} +19 -12
  40. package/dist/chunk-57QNCUEZ.js.map +1 -0
  41. package/dist/{chunk-GRDDGNYQ.js → chunk-5GCNE7CN.js} +105 -499
  42. package/dist/chunk-5GCNE7CN.js.map +1 -0
  43. package/dist/{chunk-LOBRX7VD.js → chunk-5UM2VJ6D.js} +12 -1
  44. package/dist/chunk-5UM2VJ6D.js.map +1 -0
  45. package/dist/{chunk-XVOIMCVW.js → chunk-6XA7UN4Z.js} +2 -2
  46. package/dist/{chunk-QJZ77K7F.js → chunk-6Z6UH6TK.js} +26 -12
  47. package/dist/chunk-6Z6UH6TK.js.map +1 -0
  48. package/dist/{chunk-ODWDQNRE.js → chunk-7SI52C65.js} +7 -3
  49. package/dist/chunk-7SI52C65.js.map +1 -0
  50. package/dist/{chunk-FIXIX6DE.js → chunk-C5HUWVH2.js} +33 -43
  51. package/dist/chunk-C5HUWVH2.js.map +1 -0
  52. package/dist/{chunk-NN3TS5BM.js → chunk-D54LZC5L.js} +4 -4
  53. package/dist/{chunk-KNQ5YJTO.js → chunk-ERUDW6DU.js} +209 -1
  54. package/dist/chunk-ERUDW6DU.js.map +1 -0
  55. package/dist/{chunk-E27HOXMX.js → chunk-EYNQTST2.js} +2 -2
  56. package/dist/chunk-FVQJYWH7.js +52 -0
  57. package/dist/chunk-FVQJYWH7.js.map +1 -0
  58. package/dist/{chunk-3FPTCC3Z.js → chunk-GVPWB7EY.js} +2 -2
  59. package/dist/chunk-HJYHRE4S.js +647 -0
  60. package/dist/chunk-HJYHRE4S.js.map +1 -0
  61. package/dist/{chunk-SWRJFKYW.js → chunk-I6BQZSML.js} +5 -5
  62. package/dist/chunk-IBX3VFOM.js +446 -0
  63. package/dist/chunk-IBX3VFOM.js.map +1 -0
  64. package/dist/{chunk-STB3GUYU.js → chunk-KBYWQWSB.js} +8 -8
  65. package/dist/chunk-KWBPHZUU.js +83 -0
  66. package/dist/chunk-KWBPHZUU.js.map +1 -0
  67. package/dist/{chunk-MYH2IBSP.js → chunk-LIO5X3CM.js} +3 -3
  68. package/dist/{chunk-XGX4TUF6.js → chunk-MCC6KDQF.js} +5 -5
  69. package/dist/{chunk-4KAN3GZ3.js → chunk-NN2DKE4T.js} +1 -1
  70. package/dist/chunk-NN2DKE4T.js.map +1 -0
  71. package/dist/{chunk-R2XRID2N.js → chunk-NN3LPQ5D.js} +5 -5
  72. package/dist/chunk-NN3LPQ5D.js.map +1 -0
  73. package/dist/{chunk-WXPPM426.js → chunk-O4XJUPSF.js} +2 -2
  74. package/dist/{chunk-WSZIHQBK.js → chunk-P77UEOU2.js} +4 -1
  75. package/dist/{chunk-WSZIHQBK.js.map → chunk-P77UEOU2.js.map} +1 -1
  76. package/dist/{chunk-RLV2F337.js → chunk-PB5KW5PL.js} +2 -2
  77. package/dist/{chunk-S5SQDIF5.js → chunk-PHNGXFQ6.js} +7 -5
  78. package/dist/chunk-PHNGXFQ6.js.map +1 -0
  79. package/dist/{chunk-FEMOX5AD.js → chunk-QR3C7BKQ.js} +7 -7
  80. package/dist/chunk-QR3C7BKQ.js.map +1 -0
  81. package/dist/{chunk-ETA2JXP5.js → chunk-RXTFCYQF.js} +2 -2
  82. package/dist/{chunk-Q7FJ5ZHM.js → chunk-S3IP6R6K.js} +8 -2
  83. package/dist/{chunk-Q7FJ5ZHM.js.map → chunk-S3IP6R6K.js.map} +1 -1
  84. package/dist/{chunk-3LCWFNVS.js → chunk-SKE7JYKA.js} +2 -2
  85. package/dist/{chunk-T65SHTJP.js → chunk-VQXK37XA.js} +1 -1
  86. package/dist/chunk-VQXK37XA.js.map +1 -0
  87. package/dist/{chunk-DWMXVUGO.js → chunk-VX2IUQFE.js} +98 -10
  88. package/dist/chunk-VX2IUQFE.js.map +1 -0
  89. package/dist/{chunk-KHJRMWO4.js → chunk-WGK4VHGP.js} +84 -22
  90. package/dist/chunk-WGK4VHGP.js.map +1 -0
  91. package/dist/{chunk-4IT6WL23.js → chunk-WTFWLUSX.js} +2 -2
  92. package/dist/{chunk-67YLUWLG.js → chunk-XJKFSSDW.js} +3 -3
  93. package/dist/chunk-XJKFSSDW.js.map +1 -0
  94. package/dist/{chunk-ASIQZXYO.js → chunk-XMVFHBHT.js} +2 -2
  95. package/dist/{chunk-Q5TJRAGE.js → chunk-Y5KDIOKF.js} +3 -3
  96. package/dist/{chunk-FCGWNWG4.js → chunk-Z5S5HNGY.js} +31 -29
  97. package/dist/chunk-Z5S5HNGY.js.map +1 -0
  98. package/dist/{chunk-OJMD2LIW.js → chunk-ZL4S7ARC.js} +3 -3
  99. package/dist/{cli-CIATRu8o.d.ts → cli-BrEwQTnW.d.ts} +4 -4
  100. package/dist/cli.d.ts +9 -8
  101. package/dist/cli.js +33 -31
  102. package/dist/codex-cli-fallback.d.ts +44 -0
  103. package/dist/codex-cli-fallback.js +12 -0
  104. package/dist/{codex-materialize-xVqbEmcm.d.ts → codex-materialize-CQlLTzke.d.ts} +1 -1
  105. package/dist/compression-optimizer.d.ts +2 -1
  106. package/dist/config.d.ts +2 -1
  107. package/dist/config.js +1 -1
  108. package/dist/consolidation-provenance-check.d.ts +3 -2
  109. package/dist/consolidation-undo.d.ts +3 -2
  110. package/dist/day-summary.d.ts +2 -1
  111. package/dist/day-summary.js +1 -1
  112. package/dist/delinearize.d.ts +2 -1
  113. package/dist/direct-answer-wiring.d.ts +2 -1
  114. package/dist/direct-answer.d.ts +2 -1
  115. package/dist/embedding-fallback.d.ts +2 -1
  116. package/dist/{engine-MEAYUA7A.js → engine-FOC3IJLA.js} +7 -7
  117. package/dist/entity-retrieval.d.ts +3 -2
  118. package/dist/entity-retrieval.js +6 -6
  119. package/dist/entity-schema.d.ts +2 -1
  120. package/dist/explicit-capture.d.ts +7 -6
  121. package/dist/explicit-capture.js +2 -2
  122. package/dist/explicit-cue-recall.js +1 -1
  123. package/dist/extraction-judge-telemetry.d.ts +2 -1
  124. package/dist/extraction-judge-training.d.ts +2 -1
  125. package/dist/extraction-judge.d.ts +2 -1
  126. package/dist/extraction.d.ts +2 -1
  127. package/dist/extraction.js +10 -8
  128. package/dist/fallback-llm.d.ts +8 -1
  129. package/dist/fallback-llm.js +5 -3
  130. package/dist/identity-continuity.d.ts +2 -1
  131. package/dist/importance.d.ts +2 -1
  132. package/dist/index-1qIcnbG1.d.ts +34 -0
  133. package/dist/index.d.ts +15 -13
  134. package/dist/index.js +175 -168
  135. package/dist/index.js.map +1 -1
  136. package/dist/intent.d.ts +2 -1
  137. package/dist/lifecycle.d.ts +2 -1
  138. package/dist/live-connectors-runner.d.ts +2 -1
  139. package/dist/live-connectors-runner.js +2 -2
  140. package/dist/local-llm.d.ts +2 -1
  141. package/dist/local-llm.js +1 -1
  142. package/dist/memory-action-policy.d.ts +2 -1
  143. package/dist/memory-cache.d.ts +2 -1
  144. package/dist/{memory-governance-G3XODEXW.js → memory-governance-F3QOJGEY.js} +7 -7
  145. package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
  146. package/dist/{memory-projection-store-lCzmu4JX.d.ts → memory-projection-store-CY8TU40w.d.ts} +1 -1
  147. package/dist/memory-projection-store.d.ts +3 -2
  148. package/dist/memory-projection-store.js +1 -1
  149. package/dist/memory-worth-outcomes.d.ts +3 -2
  150. package/dist/{migrate-from-identity-anchor-TTEDEJGX.js → migrate-from-identity-anchor-G27MCD6A.js} +2 -2
  151. package/dist/model-registry.js +1 -1
  152. package/dist/models-json.d.ts +2 -1
  153. package/dist/models-json.js +1 -1
  154. package/dist/native-knowledge.d.ts +2 -1
  155. package/dist/objective-state-writers.d.ts +23 -1
  156. package/dist/objective-state-writers.js +10 -306
  157. package/dist/objective-state-writers.js.map +1 -1
  158. package/dist/objective-state.d.ts +7 -1
  159. package/dist/objective-state.js +3 -1
  160. package/dist/operator-toolkit.d.ts +3 -2
  161. package/dist/operator-toolkit.js +11 -11
  162. package/dist/opik-exporter.js +2 -2
  163. package/dist/opik-exporter.js.map +1 -1
  164. package/dist/{orchestrator-CvUYwuaL.d.ts → orchestrator-6IvQ-Phj.d.ts} +6 -5
  165. package/dist/orchestrator.d.ts +7 -6
  166. package/dist/orchestrator.js +37 -35
  167. package/dist/patterns-cli.d.ts +2 -1
  168. package/dist/{peers-6OSQ3NK6.js → peers-HCVGHMAE.js} +3 -3
  169. package/dist/peers-HCVGHMAE.js.map +1 -0
  170. package/dist/policy-runtime.d.ts +2 -1
  171. package/dist/{port-BkWL7hqo.d.ts → port-B6VEDIkC.d.ts} +7 -1
  172. package/dist/qmd-recall-cache.d.ts +3 -2
  173. package/dist/qmd.d.ts +4 -2
  174. package/dist/qmd.js +1 -1
  175. package/dist/recall-disclosure-escalation.d.ts +2 -1
  176. package/dist/recall-explain-renderer.d.ts +2 -1
  177. package/dist/recall-explain-renderer.js +3 -3
  178. package/dist/recall-state.d.ts +2 -1
  179. package/dist/recall-tag-filter.d.ts +2 -1
  180. package/dist/recall-xray-cli.d.ts +2 -1
  181. package/dist/recall-xray-cli.js +4 -4
  182. package/dist/recall-xray-renderer.d.ts +2 -1
  183. package/dist/recall-xray-renderer.js +3 -3
  184. package/dist/recall-xray.d.ts +2 -1
  185. package/dist/recall-xray.js +2 -2
  186. package/dist/resolve-auth-token.d.ts +2 -1
  187. package/dist/resolve-provider-secret.d.ts +2 -1
  188. package/dist/resolve-provider-secret.js +3 -1
  189. package/dist/resume-bundles.js +4 -4
  190. package/dist/retrieval-agents.d.ts +3 -2
  191. package/dist/retrieval-tiers.d.ts +2 -1
  192. package/dist/sanitize.js +1 -1
  193. package/dist/schemas.d.ts +22 -22
  194. package/dist/{semantic-consolidation-CGiH52qa.d.ts → semantic-consolidation-ByBXb-sf.d.ts} +2 -2
  195. package/dist/semantic-consolidation.d.ts +4 -3
  196. package/dist/semantic-consolidation.js +6 -6
  197. package/dist/semantic-rule-promotion.js +6 -6
  198. package/dist/semantic-rule-verifier.d.ts +2 -1
  199. package/dist/semantic-rule-verifier.js +6 -6
  200. package/dist/session-observer-bands.d.ts +2 -1
  201. package/dist/session-observer-state.d.ts +2 -1
  202. package/dist/signal.d.ts +2 -1
  203. package/dist/source-attribution.d.ts +1 -1
  204. package/dist/source-attribution.js +1 -1
  205. package/dist/storage.d.ts +3 -2
  206. package/dist/storage.js +5 -5
  207. package/dist/summarizer.d.ts +2 -1
  208. package/dist/summarizer.js +8 -6
  209. package/dist/summary-snapshot.d.ts +2 -1
  210. package/dist/temporal-supersession.d.ts +3 -2
  211. package/dist/temporal-validity.d.ts +2 -1
  212. package/dist/threading.d.ts +2 -1
  213. package/dist/tier-migration.d.ts +4 -3
  214. package/dist/tier-routing.d.ts +2 -1
  215. package/dist/topics.d.ts +2 -1
  216. package/dist/transcript.d.ts +2 -1
  217. package/dist/types.d.ts +2693 -1
  218. package/dist/types.js +1 -1
  219. package/dist/utility-runtime.d.ts +2 -1
  220. package/dist/verified-recall.js +6 -6
  221. package/package.json +1 -1
  222. package/dist/chunk-4KAN3GZ3.js.map +0 -1
  223. package/dist/chunk-67YLUWLG.js.map +0 -1
  224. package/dist/chunk-DWMXVUGO.js.map +0 -1
  225. package/dist/chunk-FCGWNWG4.js.map +0 -1
  226. package/dist/chunk-FEMOX5AD.js.map +0 -1
  227. package/dist/chunk-FIXIX6DE.js.map +0 -1
  228. package/dist/chunk-GRDDGNYQ.js.map +0 -1
  229. package/dist/chunk-GZCUW5IC.js.map +0 -1
  230. package/dist/chunk-KHJRMWO4.js.map +0 -1
  231. package/dist/chunk-KNQ5YJTO.js.map +0 -1
  232. package/dist/chunk-L2IO2QPY.js.map +0 -1
  233. package/dist/chunk-LOBRX7VD.js.map +0 -1
  234. package/dist/chunk-M62O4P4T.js +0 -41
  235. package/dist/chunk-M62O4P4T.js.map +0 -1
  236. package/dist/chunk-ODWDQNRE.js.map +0 -1
  237. package/dist/chunk-QJZ77K7F.js.map +0 -1
  238. package/dist/chunk-R2XRID2N.js.map +0 -1
  239. package/dist/chunk-RJSVRPNU.js.map +0 -1
  240. package/dist/chunk-S5SQDIF5.js.map +0 -1
  241. package/dist/chunk-SRIDOT64.js.map +0 -1
  242. package/dist/chunk-T65SHTJP.js.map +0 -1
  243. package/dist/chunk-TUFG6VXY.js.map +0 -1
  244. package/dist/types-H85grL1f.d.ts +0 -2714
  245. /package/dist/{chunk-AV2WSYZY.js.map → chunk-2YMTO4ZJ.js.map} +0 -0
  246. /package/dist/{chunk-SYWJJTNL.js.map → chunk-363MWCD3.js.map} +0 -0
  247. /package/dist/{chunk-65ZPH7QA.js.map → chunk-36CTNQY7.js.map} +0 -0
  248. /package/dist/{chunk-XVOIMCVW.js.map → chunk-6XA7UN4Z.js.map} +0 -0
  249. /package/dist/{chunk-NN3TS5BM.js.map → chunk-D54LZC5L.js.map} +0 -0
  250. /package/dist/{chunk-E27HOXMX.js.map → chunk-EYNQTST2.js.map} +0 -0
  251. /package/dist/{chunk-3FPTCC3Z.js.map → chunk-GVPWB7EY.js.map} +0 -0
  252. /package/dist/{chunk-SWRJFKYW.js.map → chunk-I6BQZSML.js.map} +0 -0
  253. /package/dist/{chunk-STB3GUYU.js.map → chunk-KBYWQWSB.js.map} +0 -0
  254. /package/dist/{chunk-MYH2IBSP.js.map → chunk-LIO5X3CM.js.map} +0 -0
  255. /package/dist/{chunk-XGX4TUF6.js.map → chunk-MCC6KDQF.js.map} +0 -0
  256. /package/dist/{chunk-WXPPM426.js.map → chunk-O4XJUPSF.js.map} +0 -0
  257. /package/dist/{chunk-RLV2F337.js.map → chunk-PB5KW5PL.js.map} +0 -0
  258. /package/dist/{chunk-ETA2JXP5.js.map → chunk-RXTFCYQF.js.map} +0 -0
  259. /package/dist/{chunk-3LCWFNVS.js.map → chunk-SKE7JYKA.js.map} +0 -0
  260. /package/dist/{chunk-4IT6WL23.js.map → chunk-WTFWLUSX.js.map} +0 -0
  261. /package/dist/{chunk-ASIQZXYO.js.map → chunk-XMVFHBHT.js.map} +0 -0
  262. /package/dist/{chunk-Q5TJRAGE.js.map → chunk-Y5KDIOKF.js.map} +0 -0
  263. /package/dist/{chunk-OJMD2LIW.js.map → chunk-ZL4S7ARC.js.map} +0 -0
  264. /package/dist/{engine-MEAYUA7A.js.map → codex-cli-fallback.js.map} +0 -0
  265. /package/dist/{memory-governance-G3XODEXW.js.map → engine-FOC3IJLA.js.map} +0 -0
  266. /package/dist/{migrate-from-identity-anchor-TTEDEJGX.js.map → memory-governance-F3QOJGEY.js.map} +0 -0
  267. /package/dist/{peers-6OSQ3NK6.js.map → migrate-from-identity-anchor-G27MCD6A.js.map} +0 -0
package/dist/intent.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { Y as MemoryIntent, R as RecallPlanMode } from './types-H85grL1f.js';
1
+ import { MemoryIntent, RecallPlanMode } from './types.js';
2
+ import './index-1qIcnbG1.js';
2
3
 
3
4
  declare function inferIntentFromText(text: string): MemoryIntent;
4
5
  declare function isTaskInitiationIntent(intent: MemoryIntent): boolean;
@@ -1,4 +1,5 @@
1
- import { aN as LifecycleState, M as MemoryCategory, f as MemoryFile, o as MemoryFrontmatter } from './types-H85grL1f.js';
1
+ import { LifecycleState, MemoryCategory, MemoryFile, MemoryFrontmatter } from './types.js';
2
+ import './index-1qIcnbG1.js';
2
3
 
3
4
  interface LifecyclePolicy {
4
5
  promoteHeatThreshold: number;
@@ -1,5 +1,6 @@
1
1
  import { L as LiveConnector, C as ConnectorConfig, a as ConnectorDocument } from './framework-CyHYDcri.js';
2
- import { a0 as LiveConnectorsConfig } from './types-H85grL1f.js';
2
+ import { LiveConnectorsConfig } from './types.js';
3
+ import './index-1qIcnbG1.js';
3
4
 
4
5
  type LiveConnectorSkipReason = "disabled" | "not_due" | "invalid_config" | "state_read_error" | "connector_error";
5
6
  interface LiveConnectorRunItem {
@@ -2,8 +2,8 @@ import {
2
2
  builtInLiveConnectorDefinitions,
3
3
  hasEnabledLiveConnector,
4
4
  runLiveConnectorsOnce
5
- } from "./chunk-ASIQZXYO.js";
6
- import "./chunk-L2IO2QPY.js";
5
+ } from "./chunk-XMVFHBHT.js";
6
+ import "./chunk-4IS4SXIQ.js";
7
7
  import "./chunk-6TBWYBJ3.js";
8
8
  import "./chunk-OZHRDTDX.js";
9
9
  import "./chunk-IXEJRKCZ.js";
@@ -1,5 +1,6 @@
1
- import { P as PluginConfig } from './types-H85grL1f.js';
1
+ import { PluginConfig } from './types.js';
2
2
  import { ModelRegistry } from './model-registry.js';
3
+ import './index-1qIcnbG1.js';
3
4
 
4
5
  /**
5
6
  * Local LLM client for OpenAI-compatible endpoints (LM Studio, Ollama, MLX, etc.)
package/dist/local-llm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  LocalLlmClient
3
- } from "./chunk-R2XRID2N.js";
3
+ } from "./chunk-NN3LPQ5D.js";
4
4
  import "./chunk-OR64ZGRZ.js";
5
5
  import "./chunk-MARWOCVP.js";
6
6
  import "./chunk-2ODBA7MQ.js";
@@ -1,4 +1,5 @@
1
- import { aj as MemoryActionType, ay as MemoryActionEligibilityContext, aO as MemoryActionPolicyResult } from './types-H85grL1f.js';
1
+ import { MemoryActionType, MemoryActionEligibilityContext, MemoryActionPolicyResult } from './types.js';
2
+ import './index-1qIcnbG1.js';
2
3
 
3
4
  interface MemoryActionPolicyOptions {
4
5
  actionsEnabled: boolean;
@@ -1,4 +1,5 @@
1
- import { f as MemoryFile, E as EntityFile } from './types-H85grL1f.js';
1
+ import { MemoryFile, EntityFile } from './types.js';
2
+ import './index-1qIcnbG1.js';
2
3
 
3
4
  declare function getCachedMemories(baseDir: string, currentVersion: number): MemoryFile[] | null;
4
5
  declare function setCachedMemories(baseDir: string, memories: MemoryFile[], version: number): void;
@@ -6,19 +6,19 @@ import {
6
6
  readMemoryGovernanceRunArtifact,
7
7
  restoreMemoryGovernanceRun,
8
8
  runMemoryGovernance
9
- } from "./chunk-E27HOXMX.js";
9
+ } from "./chunk-EYNQTST2.js";
10
10
  import "./chunk-TBBDFYXW.js";
11
- import "./chunk-XGX4TUF6.js";
11
+ import "./chunk-MCC6KDQF.js";
12
12
  import "./chunk-YNJHCGDT.js";
13
- import "./chunk-4KAN3GZ3.js";
14
- import "./chunk-T65SHTJP.js";
13
+ import "./chunk-NN2DKE4T.js";
14
+ import "./chunk-VQXK37XA.js";
15
15
  import "./chunk-PFV5C235.js";
16
16
  import "./chunk-RULE4VG5.js";
17
17
  import "./chunk-SCU65EZI.js";
18
- import "./chunk-67YLUWLG.js";
18
+ import "./chunk-XJKFSSDW.js";
19
19
  import "./chunk-DM2T26WE.js";
20
20
  import "./chunk-QSVPYQPG.js";
21
- import "./chunk-M62O4P4T.js";
21
+ import "./chunk-FVQJYWH7.js";
22
22
  import "./chunk-4DJQYKMN.js";
23
23
  import "./chunk-G7D6GZ5J.js";
24
24
  import "./chunk-FAAFWE4G.js";
@@ -34,4 +34,4 @@ export {
34
34
  restoreMemoryGovernanceRun,
35
35
  runMemoryGovernance
36
36
  };
37
- //# sourceMappingURL=memory-governance-G3XODEXW.js.map
37
+ //# sourceMappingURL=memory-governance-F3QOJGEY.js.map
@@ -1,4 +1,5 @@
1
- import { aP as MemoryLifecycleEventType, f as MemoryFile, h as MemoryLifecycleEvent, o as MemoryFrontmatter, i as MemoryStatus, aQ as MemoryLifecycleStateSummary } from './types-H85grL1f.js';
1
+ import { MemoryLifecycleEventType, MemoryFile, MemoryLifecycleEvent, MemoryFrontmatter, MemoryStatus, MemoryLifecycleStateSummary } from './types.js';
2
+ import './index-1qIcnbG1.js';
2
3
 
3
4
  declare const MEMORY_LIFECYCLE_RULE_VERSION = "memory-lifecycle-ledger.v1";
4
5
  declare const MEMORY_LIFECYCLE_EVENT_SORT_ORDER: Record<MemoryLifecycleEventType, number>;
@@ -1,4 +1,4 @@
1
- import { i as MemoryStatus, M as MemoryCategory, N as MemoryProjectionCurrentState, h as MemoryLifecycleEvent } from './types-H85grL1f.js';
1
+ import { MemoryStatus, MemoryCategory, MemoryProjectionCurrentState, MemoryLifecycleEvent } from './types.js';
2
2
  import BetterSqlite3 from 'better-sqlite3';
3
3
 
4
4
  type MemoryGovernanceMode = "shadow" | "apply";
@@ -1,3 +1,4 @@
1
- export { k as MEMORY_PROJECTION_SCHEMA_VERSION, l as MemoryProjectionGovernanceAppliedActionRow, m as MemoryProjectionGovernanceReviewQueueRow, n as ProjectedEntityMentionRow, P as ProjectedMemoryBrowseOptions, a as ProjectedMemoryBrowsePage, o as ProjectedMemoryBrowseRow, p as ProjectedNativeKnowledgeChunkRow, q as ProjectedReviewQueueSnapshot, s as getMemoryProjectionPath, t as initializeMemoryProjectionDb, u as memoryCurrentSelectExpressions, v as parseCurrentRow, w as parseTimelineRows, x as readProjectedEntityMentions, b as readProjectedGovernanceRecord, y as readProjectedLatestReviewQueue, z as readProjectedMemoryBrowse, A as readProjectedMemoryState, C as readProjectedMemoryTimeline, D as readProjectedNativeKnowledgeChunks } from './memory-projection-store-lCzmu4JX.js';
2
- import './types-H85grL1f.js';
1
+ export { k as MEMORY_PROJECTION_SCHEMA_VERSION, l as MemoryProjectionGovernanceAppliedActionRow, m as MemoryProjectionGovernanceReviewQueueRow, n as ProjectedEntityMentionRow, P as ProjectedMemoryBrowseOptions, a as ProjectedMemoryBrowsePage, o as ProjectedMemoryBrowseRow, p as ProjectedNativeKnowledgeChunkRow, q as ProjectedReviewQueueSnapshot, s as getMemoryProjectionPath, t as initializeMemoryProjectionDb, u as memoryCurrentSelectExpressions, v as parseCurrentRow, w as parseTimelineRows, x as readProjectedEntityMentions, b as readProjectedGovernanceRecord, y as readProjectedLatestReviewQueue, z as readProjectedMemoryBrowse, A as readProjectedMemoryState, C as readProjectedMemoryTimeline, D as readProjectedNativeKnowledgeChunks } from './memory-projection-store-CY8TU40w.js';
2
+ import './types.js';
3
3
  import 'better-sqlite3';
4
+ import './index-1qIcnbG1.js';
@@ -12,7 +12,7 @@ import {
12
12
  readProjectedMemoryState,
13
13
  readProjectedMemoryTimeline,
14
14
  readProjectedNativeKnowledgeChunks
15
- } from "./chunk-67YLUWLG.js";
15
+ } from "./chunk-XJKFSSDW.js";
16
16
  import "./chunk-PZ5AY32C.js";
17
17
  export {
18
18
  MEMORY_PROJECTION_SCHEMA_VERSION,
@@ -1,9 +1,10 @@
1
1
  import { StorageManager } from './storage.js';
2
- import { o as MemoryFrontmatter } from './types-H85grL1f.js';
2
+ import { MemoryFrontmatter } from './types.js';
3
3
  import './page-versioning.js';
4
4
  import './consolidation-operator.js';
5
- import './memory-projection-store-lCzmu4JX.js';
5
+ import './memory-projection-store-CY8TU40w.js';
6
6
  import 'better-sqlite3';
7
+ import './index-1qIcnbG1.js';
7
8
 
8
9
  /**
9
10
  * Issue #560 PR 3 — Memory Worth outcome signal pipeline.
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  migrateFromIdentityAnchor
3
- } from "./chunk-TUFG6VXY.js";
3
+ } from "./chunk-4DWOBS2A.js";
4
4
  import "./chunk-PZ5AY32C.js";
5
5
  export {
6
6
  migrateFromIdentityAnchor
7
7
  };
8
- //# sourceMappingURL=migrate-from-identity-anchor-TTEDEJGX.js.map
8
+ //# sourceMappingURL=migrate-from-identity-anchor-G27MCD6A.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ModelRegistry
3
- } from "./chunk-FEMOX5AD.js";
3
+ } from "./chunk-QR3C7BKQ.js";
4
4
  import "./chunk-2ODBA7MQ.js";
5
5
  import "./chunk-PZ5AY32C.js";
6
6
  export {
@@ -1,4 +1,5 @@
1
- import { aR as ModelProviderConfig } from './types-H85grL1f.js';
1
+ import { ModelProviderConfig } from './types.js';
2
+ import './index-1qIcnbG1.js';
2
3
 
3
4
  /**
4
5
  * Load the full providers map from the gateway's models.json.
@@ -2,7 +2,7 @@ import {
2
2
  __setModelsJsonForTest,
3
3
  clearModelsJsonCache,
4
4
  loadModelsJsonProviders
5
- } from "./chunk-ODWDQNRE.js";
5
+ } from "./chunk-7SI52C65.js";
6
6
  import "./chunk-2ODBA7MQ.js";
7
7
  import "./chunk-PZ5AY32C.js";
8
8
  export {
@@ -1,4 +1,5 @@
1
- import { aS as NativeKnowledgeConfig } from './types-H85grL1f.js';
1
+ import { NativeKnowledgeConfig } from './types.js';
2
+ import './index-1qIcnbG1.js';
2
3
 
3
4
  type NativeKnowledgeChunk = {
4
5
  chunkId: string;
@@ -1,14 +1,27 @@
1
1
  import { ObjectiveStateSnapshot } from './objective-state.js';
2
+ import { L as LcmMessagePartInput, M as MessagePartSourceFormat } from './index-1qIcnbG1.js';
2
3
 
3
4
  interface DerivedObjectiveStateResult {
4
5
  snapshots: ObjectiveStateSnapshot[];
5
6
  filePaths: string[];
6
7
  }
8
+ interface ObservedMessageWithParts {
9
+ role?: string;
10
+ content?: string;
11
+ parts?: LcmMessagePartInput[] | null;
12
+ rawContent?: unknown;
13
+ sourceFormat?: MessagePartSourceFormat;
14
+ }
7
15
  declare function deriveObjectiveStateSnapshotsFromAgentMessages(options: {
8
16
  sessionKey: string;
9
17
  recordedAt: string;
10
18
  messages: Array<Record<string, unknown>>;
11
19
  }): ObjectiveStateSnapshot[];
20
+ declare function deriveObjectiveStateSnapshotsFromObservedMessages(options: {
21
+ sessionKey: string;
22
+ recordedAt: string;
23
+ messages: readonly ObservedMessageWithParts[];
24
+ }): ObjectiveStateSnapshot[];
12
25
  declare function recordObjectiveStateSnapshotsFromAgentMessages(options: {
13
26
  memoryDir: string;
14
27
  objectiveStateStoreDir?: string;
@@ -18,5 +31,14 @@ declare function recordObjectiveStateSnapshotsFromAgentMessages(options: {
18
31
  recordedAt: string;
19
32
  messages: Array<Record<string, unknown>>;
20
33
  }): Promise<DerivedObjectiveStateResult>;
34
+ declare function recordObjectiveStateSnapshotsFromObservedMessages(options: {
35
+ memoryDir: string;
36
+ objectiveStateStoreDir?: string;
37
+ objectiveStateMemoryEnabled: boolean;
38
+ objectiveStateSnapshotWritesEnabled: boolean;
39
+ sessionKey: string;
40
+ recordedAt: string;
41
+ messages: readonly ObservedMessageWithParts[];
42
+ }): Promise<DerivedObjectiveStateResult>;
21
43
 
22
- export { deriveObjectiveStateSnapshotsFromAgentMessages, recordObjectiveStateSnapshotsFromAgentMessages };
44
+ export { deriveObjectiveStateSnapshotsFromAgentMessages, deriveObjectiveStateSnapshotsFromObservedMessages, recordObjectiveStateSnapshotsFromAgentMessages, recordObjectiveStateSnapshotsFromObservedMessages };
@@ -1,314 +1,18 @@
1
1
  import {
2
- recordObjectiveStateSnapshot
3
- } from "./chunk-LOBRX7VD.js";
2
+ deriveObjectiveStateSnapshotsFromAgentMessages,
3
+ deriveObjectiveStateSnapshotsFromObservedMessages,
4
+ recordObjectiveStateSnapshotsFromAgentMessages,
5
+ recordObjectiveStateSnapshotsFromObservedMessages
6
+ } from "./chunk-HJYHRE4S.js";
7
+ import "./chunk-IBX3VFOM.js";
8
+ import "./chunk-5UM2VJ6D.js";
4
9
  import "./chunk-DGXUHMOV.js";
5
10
  import "./chunk-LPSF4OQH.js";
6
11
  import "./chunk-PZ5AY32C.js";
7
-
8
- // src/objective-state-writers.ts
9
- import crypto from "crypto";
10
- function hashSha256(value) {
11
- return crypto.createHash("sha256").update(value).digest("hex");
12
- }
13
- function isRecord(value) {
14
- return typeof value === "object" && value !== null && !Array.isArray(value);
15
- }
16
- function optionalString(value) {
17
- if (typeof value !== "string") return void 0;
18
- const trimmed = value.trim();
19
- return trimmed.length > 0 ? trimmed : void 0;
20
- }
21
- function toolNameTokens(toolName) {
22
- if (!toolName) return [];
23
- return toolName.replace(/([a-z0-9])([A-Z])/g, "$1_$2").toLowerCase().split(/[^a-z0-9]+/).filter((token) => token.length > 0);
24
- }
25
- function normalizedToolName(toolName) {
26
- return toolNameTokens(toolName).join("_");
27
- }
28
- function parseToolArguments(value) {
29
- if (isRecord(value)) return value;
30
- if (typeof value !== "string") return void 0;
31
- try {
32
- const parsed = JSON.parse(value);
33
- return isRecord(parsed) ? parsed : void 0;
34
- } catch {
35
- return void 0;
36
- }
37
- }
38
- function extractTextContent(value) {
39
- if (typeof value === "string") return value.trim();
40
- if (Array.isArray(value)) {
41
- return value.map((block) => {
42
- if (typeof block === "string") return block.trim();
43
- if (isRecord(block) && block.type === "text" && typeof block.text === "string") {
44
- return block.text.trim();
45
- }
46
- return "";
47
- }).filter((item) => item.length > 0).join("\n");
48
- }
49
- if (isRecord(value)) {
50
- return JSON.stringify(value);
51
- }
52
- return "";
53
- }
54
- function parseToolResultPayload(content) {
55
- const text = extractTextContent(content);
56
- if (text.length === 0) return void 0;
57
- try {
58
- return JSON.parse(text);
59
- } catch {
60
- return text;
61
- }
62
- }
63
- function resultHash(value) {
64
- if (value === void 0) return void 0;
65
- const canonical = typeof value === "string" ? value : JSON.stringify(value);
66
- if (!canonical || canonical.length === 0) return void 0;
67
- return `sha256:${hashSha256(canonical)}`;
68
- }
69
- function getToolCallContexts(messages) {
70
- const contexts = /* @__PURE__ */ new Map();
71
- for (const message of messages) {
72
- if (message.role !== "assistant") continue;
73
- const toolCalls = message.tool_calls ?? message.toolCalls;
74
- if (!Array.isArray(toolCalls)) continue;
75
- for (const call of toolCalls) {
76
- if (!isRecord(call)) continue;
77
- const toolCallId = optionalString(call.id) ?? optionalString(call.toolCallId);
78
- if (!toolCallId) continue;
79
- const fn = isRecord(call.function) ? call.function : void 0;
80
- const toolName = optionalString(fn?.name) ?? optionalString(call.name);
81
- const args = parseToolArguments(fn?.arguments) ?? parseToolArguments(call.arguments) ?? parseToolArguments(call.args) ?? parseToolArguments(call.input);
82
- contexts.set(toolCallId, { toolCallId, toolName, args });
83
- }
84
- }
85
- return contexts;
86
- }
87
- function toolCallIdForMessage(message) {
88
- return optionalString(message.tool_call_id) ?? optionalString(message.toolCallId) ?? optionalString(message.tool_use_id) ?? optionalString(message.toolUseId);
89
- }
90
- function toolNameForMessage(message, context) {
91
- return optionalString(message.name) ?? optionalString(message.toolName) ?? optionalString(message.tool) ?? context?.toolName;
92
- }
93
- function pickString(args, keys) {
94
- if (!args) return void 0;
95
- for (const key of keys) {
96
- const value = optionalString(args[key]);
97
- if (value) return value;
98
- }
99
- return void 0;
100
- }
101
- function pickFirstStringArrayValue(args, key) {
102
- const value = args?.[key];
103
- if (!Array.isArray(value)) return void 0;
104
- for (const item of value) {
105
- const candidate = optionalString(item);
106
- if (candidate) return candidate;
107
- }
108
- return void 0;
109
- }
110
- function fileScopeFromArgs(args) {
111
- const destinationPath = pickString(args, ["destination", "dest", "targetPath", "target", "to"]) ?? pickString(args, ["path", "filePath", "workspacePath", "projectPath"]) ?? pickFirstStringArrayValue(args, "paths");
112
- const sourcePath = pickString(args, ["source", "src", "from", "oldPath"]);
113
- const scope = destinationPath ?? sourcePath;
114
- return { scope, sourcePath, destinationPath };
115
- }
116
- function fileContentHash(args) {
117
- const content = pickString(args, ["content", "patch", "diff", "text", "value"]) ?? args?.updates;
118
- return resultHash(content);
119
- }
120
- function inferOutcome(message, parsedPayload) {
121
- if (message.isError === true) return "failure";
122
- if (isRecord(parsedPayload)) {
123
- if (parsedPayload.partial === true || parsedPayload.status === "partial") return "partial";
124
- if (parsedPayload.success === false || parsedPayload.ok === false) return "failure";
125
- if (parsedPayload.success === true || parsedPayload.ok === true) return "success";
126
- if (typeof parsedPayload.exitCode === "number") {
127
- return parsedPayload.exitCode === 0 ? "success" : "failure";
128
- }
129
- if (optionalString(parsedPayload.error)) return "failure";
130
- if (parsedPayload.status === "error" || parsedPayload.status === "failed") return "failure";
131
- if (parsedPayload.status === "ok" || parsedPayload.status === "success") return "success";
132
- }
133
- if (typeof parsedPayload === "string") {
134
- const lowered = parsedPayload.toLowerCase();
135
- const loweredForFailure = lowered.replace(/\b(?:previously\s+)?failed tests?\s+now\s+pass(?:ed|es)?\b/g, "");
136
- const hasZeroCountMarker = /\b(?:0|no)\s+(?:errors?|failures?|exceptions?|timeouts?)\b/.test(lowered);
137
- const loweredForFailureCounts = loweredForFailure.replace(/\b(?:0|no)\s+errors?\b/g, "").replace(/\b(?:0|no)\s+failures?\b/g, "").replace(/\b(?:0|no)\s+exceptions?\b/g, "").replace(/\b(?:0|no)\s+timeouts?\b/g, "");
138
- const hasNonZeroErrorCounts = /\b[1-9]\d*\s+errors?\b/.test(loweredForFailureCounts);
139
- const hasNegatedSuccessMarkers = /\b(?:not|did not|didn't|doesn't|isn't|aren't|wasn't|weren't|won't|can't|couldn't|shouldn't|wouldn't)\s+(?:ok|pass|passed|passes|succeeded|success)\b/.test(loweredForFailure);
140
- const hasSuccessMarkers = /\b(success|succeeded|pass|passes|passed|ok)\b/.test(lowered) || hasZeroCountMarker;
141
- const hasFailureMarkers = hasNegatedSuccessMarkers || /\b(exceptions?|failed|failures?|fatal|timeouts?|timed out)\b/.test(loweredForFailureCounts) || hasNonZeroErrorCounts || /\berrors?\b/.test(loweredForFailureCounts) || /\b[a-z]+error\b/.test(loweredForFailureCounts) || /\b[a-z]+exception\b/.test(loweredForFailureCounts);
142
- if (hasFailureMarkers) return "failure";
143
- if (hasSuccessMarkers) return "success";
144
- }
145
- return "unknown";
146
- }
147
- function isProcessTool(toolName, args) {
148
- const tokens = toolNameTokens(toolName);
149
- const normalizedName = normalizedToolName(toolName);
150
- if (pickString(args, ["cmd", "command", "script"])) return true;
151
- return ["exec", "shell", "bash", "terminal", "run_command", "exec_command"].some(
152
- (token) => token.includes("_") ? normalizedName === token : tokens.includes(token)
153
- );
154
- }
155
- function isFileTool(toolName, args) {
156
- const tokens = toolNameTokens(toolName);
157
- const fileScope = fileScopeFromArgs(args);
158
- if (fileScope.scope) return true;
159
- return ["file", "path", "patch", "directory", "mkdir", "rename", "move"].some(
160
- (token) => tokens.includes(token)
161
- );
162
- }
163
- function inferFileChangeKind(toolName, outcome) {
164
- if (outcome === "failure") return "failed";
165
- const tokens = toolNameTokens(toolName);
166
- if (["delete", "remove", "unlink"].some((token) => tokens.includes(token))) return "deleted";
167
- if (["create", "mkdir", "new"].some((token) => tokens.includes(token))) return "created";
168
- if (["write", "edit", "patch", "update", "append", "move", "rename"].some((token) => tokens.includes(token))) {
169
- return "updated";
170
- }
171
- return "observed";
172
- }
173
- function buildFileValueRefs(args, changeKind) {
174
- const { sourcePath, destinationPath, scope } = fileScopeFromArgs(args);
175
- const contentHash = fileContentHash(args);
176
- if (changeKind === "failed") {
177
- if (sourcePath && destinationPath && sourcePath !== destinationPath) {
178
- return {
179
- before: { ref: sourcePath },
180
- after: { ref: destinationPath }
181
- };
182
- }
183
- return {
184
- before: sourcePath ? { ref: sourcePath } : void 0,
185
- after: scope ? { ref: scope } : void 0
186
- };
187
- }
188
- if (changeKind === "deleted") {
189
- return {
190
- before: scope ? { exists: true, ref: scope } : void 0,
191
- after: { exists: false }
192
- };
193
- }
194
- if (changeKind === "created") {
195
- return {
196
- after: {
197
- exists: true,
198
- ref: scope,
199
- valueHash: contentHash
200
- }
201
- };
202
- }
203
- if (sourcePath && destinationPath && sourcePath !== destinationPath) {
204
- return {
205
- before: { exists: true, ref: sourcePath },
206
- after: {
207
- exists: true,
208
- ref: destinationPath
209
- }
210
- };
211
- }
212
- return {
213
- after: {
214
- exists: true,
215
- ref: scope,
216
- valueHash: contentHash
217
- }
218
- };
219
- }
220
- function summarizeSnapshot(kind, changeKind, toolName, scope) {
221
- const action = changeKind === "executed" ? "Executed" : changeKind === "failed" ? "Failed" : changeKind === "created" ? "Created" : changeKind === "deleted" ? "Deleted" : changeKind === "updated" ? "Updated" : "Observed";
222
- if (kind === "process") return `${action} process via ${toolName}: ${scope}`;
223
- if (kind === "file") return `${action} file via ${toolName}: ${scope}`;
224
- return `${action} tool result from ${toolName}: ${scope}`;
225
- }
226
- function buildGenericToolAfterRef(outcome, parsedPayload) {
227
- const valueHash = resultHash(parsedPayload);
228
- return valueHash ? { valueHash } : { exists: outcome !== "failure" };
229
- }
230
- function snapshotIdFor(sessionKey, recordedAt, index, toolName, scope) {
231
- const digest = crypto.createHash("sha256").update(`${sessionKey}|${recordedAt}|${index}|${toolName}|${scope}`).digest("hex").slice(0, 12);
232
- return `obj-${digest}`;
233
- }
234
- function deriveObjectiveStateSnapshotsFromAgentMessages(options) {
235
- const toolCallsById = getToolCallContexts(options.messages);
236
- const snapshots = [];
237
- for (const message of options.messages) {
238
- if (message.role !== "tool") continue;
239
- const toolCallId = toolCallIdForMessage(message);
240
- const context = toolCallId ? toolCallsById.get(toolCallId) : void 0;
241
- const toolName = toolNameForMessage(message, context);
242
- if (!toolName) continue;
243
- const parsedPayload = parseToolResultPayload(message.content);
244
- const outcome = inferOutcome(message, parsedPayload);
245
- const args = context?.args;
246
- const command = pickString(args, ["cmd", "command", "script"]);
247
- let kind = "tool";
248
- let changeKind = outcome === "failure" ? "failed" : "observed";
249
- let scope = toolName;
250
- let before;
251
- let after;
252
- if (isProcessTool(toolName, args)) {
253
- kind = "process";
254
- changeKind = outcome === "failure" ? "failed" : "executed";
255
- scope = command ?? toolName;
256
- after = { exists: outcome !== "failure", valueHash: resultHash(parsedPayload) };
257
- } else if (isFileTool(toolName, args)) {
258
- kind = "file";
259
- changeKind = inferFileChangeKind(toolName, outcome);
260
- const fileScope = fileScopeFromArgs(args);
261
- scope = fileScope.scope ?? toolName;
262
- const refs = buildFileValueRefs(args, changeKind);
263
- before = refs.before;
264
- after = refs.after;
265
- } else {
266
- after = buildGenericToolAfterRef(outcome, parsedPayload);
267
- }
268
- snapshots.push({
269
- schemaVersion: 1,
270
- snapshotId: snapshotIdFor(options.sessionKey, options.recordedAt, snapshots.length, toolName, scope),
271
- recordedAt: options.recordedAt,
272
- sessionKey: options.sessionKey,
273
- source: "tool_result",
274
- kind,
275
- changeKind,
276
- scope,
277
- summary: summarizeSnapshot(kind, changeKind, toolName, scope),
278
- toolName,
279
- command,
280
- outcome,
281
- before,
282
- after,
283
- tags: ["agent-end", `tool:${toolName}`],
284
- metadata: toolCallId ? { toolCallId } : void 0
285
- });
286
- }
287
- return snapshots;
288
- }
289
- async function recordObjectiveStateSnapshotsFromAgentMessages(options) {
290
- if (!options.objectiveStateMemoryEnabled || !options.objectiveStateSnapshotWritesEnabled) {
291
- return { snapshots: [], filePaths: [] };
292
- }
293
- const snapshots = deriveObjectiveStateSnapshotsFromAgentMessages({
294
- sessionKey: options.sessionKey,
295
- recordedAt: options.recordedAt,
296
- messages: options.messages
297
- });
298
- const filePaths = [];
299
- for (const snapshot of snapshots) {
300
- filePaths.push(
301
- await recordObjectiveStateSnapshot({
302
- memoryDir: options.memoryDir,
303
- objectiveStateStoreDir: options.objectiveStateStoreDir,
304
- snapshot
305
- })
306
- );
307
- }
308
- return { snapshots, filePaths };
309
- }
310
12
  export {
311
13
  deriveObjectiveStateSnapshotsFromAgentMessages,
312
- recordObjectiveStateSnapshotsFromAgentMessages
14
+ deriveObjectiveStateSnapshotsFromObservedMessages,
15
+ recordObjectiveStateSnapshotsFromAgentMessages,
16
+ recordObjectiveStateSnapshotsFromObservedMessages
313
17
  };
314
18
  //# sourceMappingURL=objective-state-writers.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/objective-state-writers.ts"],"sourcesContent":["import crypto from \"node:crypto\";\nimport {\n type ObjectiveStateChangeKind,\n type ObjectiveStateOutcome,\n type ObjectiveStateSnapshot,\n recordObjectiveStateSnapshot,\n} from \"./objective-state.js\";\n\ninterface ToolCallContext {\n toolName?: string;\n toolCallId?: string;\n args?: Record<string, unknown>;\n}\n\ninterface DerivedObjectiveStateResult {\n snapshots: ObjectiveStateSnapshot[];\n filePaths: string[];\n}\n\nfunction hashSha256(value: string): string {\n return crypto.createHash(\"sha256\").update(value).digest(\"hex\");\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction optionalString(value: unknown): string | undefined {\n if (typeof value !== \"string\") return undefined;\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction toolNameTokens(toolName: string | undefined): string[] {\n if (!toolName) return [];\n return toolName\n .replace(/([a-z0-9])([A-Z])/g, \"$1_$2\")\n .toLowerCase()\n .split(/[^a-z0-9]+/)\n .filter((token) => token.length > 0);\n}\n\nfunction normalizedToolName(toolName: string | undefined): string {\n return toolNameTokens(toolName).join(\"_\");\n}\n\nfunction parseToolArguments(value: unknown): Record<string, unknown> | undefined {\n if (isRecord(value)) return value;\n if (typeof value !== \"string\") return undefined;\n try {\n const parsed = JSON.parse(value) as unknown;\n return isRecord(parsed) ? parsed : undefined;\n } catch {\n return undefined;\n }\n}\n\nfunction extractTextContent(value: unknown): string {\n if (typeof value === \"string\") return value.trim();\n if (Array.isArray(value)) {\n return value\n .map((block) => {\n if (typeof block === \"string\") return block.trim();\n if (isRecord(block) && block.type === \"text\" && typeof block.text === \"string\") {\n return block.text.trim();\n }\n return \"\";\n })\n .filter((item) => item.length > 0)\n .join(\"\\n\");\n }\n if (isRecord(value)) {\n return JSON.stringify(value);\n }\n return \"\";\n}\n\nfunction parseToolResultPayload(content: unknown): unknown {\n const text = extractTextContent(content);\n if (text.length === 0) return undefined;\n try {\n return JSON.parse(text) as unknown;\n } catch {\n return text;\n }\n}\n\nfunction resultHash(value: unknown): string | undefined {\n if (value === undefined) return undefined;\n const canonical =\n typeof value === \"string\" ? value : JSON.stringify(value);\n if (!canonical || canonical.length === 0) return undefined;\n return `sha256:${hashSha256(canonical)}`;\n}\n\nfunction getToolCallContexts(messages: Array<Record<string, unknown>>): Map<string, ToolCallContext> {\n const contexts = new Map<string, ToolCallContext>();\n for (const message of messages) {\n if (message.role !== \"assistant\") continue;\n const toolCalls = message.tool_calls ?? message.toolCalls;\n if (!Array.isArray(toolCalls)) continue;\n for (const call of toolCalls) {\n if (!isRecord(call)) continue;\n const toolCallId = optionalString(call.id) ?? optionalString(call.toolCallId);\n if (!toolCallId) continue;\n const fn = isRecord(call.function) ? call.function : undefined;\n const toolName =\n optionalString(fn?.name) ??\n optionalString(call.name);\n const args =\n parseToolArguments(fn?.arguments) ??\n parseToolArguments(call.arguments) ??\n parseToolArguments(call.args) ??\n parseToolArguments(call.input);\n contexts.set(toolCallId, { toolCallId, toolName, args });\n }\n }\n return contexts;\n}\n\nfunction toolCallIdForMessage(message: Record<string, unknown>): string | undefined {\n return (\n optionalString(message.tool_call_id) ??\n optionalString(message.toolCallId) ??\n optionalString(message.tool_use_id) ??\n optionalString(message.toolUseId)\n );\n}\n\nfunction toolNameForMessage(message: Record<string, unknown>, context?: ToolCallContext): string | undefined {\n return (\n optionalString(message.name) ??\n optionalString(message.toolName) ??\n optionalString(message.tool) ??\n context?.toolName\n );\n}\n\nfunction pickString(args: Record<string, unknown> | undefined, keys: string[]): string | undefined {\n if (!args) return undefined;\n for (const key of keys) {\n const value = optionalString(args[key]);\n if (value) return value;\n }\n return undefined;\n}\n\nfunction pickFirstStringArrayValue(args: Record<string, unknown> | undefined, key: string): string | undefined {\n const value = args?.[key];\n if (!Array.isArray(value)) return undefined;\n for (const item of value) {\n const candidate = optionalString(item);\n if (candidate) return candidate;\n }\n return undefined;\n}\n\nfunction fileScopeFromArgs(args: Record<string, unknown> | undefined): {\n scope?: string;\n sourcePath?: string;\n destinationPath?: string;\n} {\n const destinationPath =\n pickString(args, [\"destination\", \"dest\", \"targetPath\", \"target\", \"to\"]) ??\n pickString(args, [\"path\", \"filePath\", \"workspacePath\", \"projectPath\"]) ??\n pickFirstStringArrayValue(args, \"paths\");\n const sourcePath =\n pickString(args, [\"source\", \"src\", \"from\", \"oldPath\"]);\n const scope = destinationPath ?? sourcePath;\n return { scope, sourcePath, destinationPath };\n}\n\nfunction fileContentHash(args: Record<string, unknown> | undefined): string | undefined {\n const content =\n pickString(args, [\"content\", \"patch\", \"diff\", \"text\", \"value\"]) ??\n args?.updates;\n return resultHash(content);\n}\n\nfunction inferOutcome(message: Record<string, unknown>, parsedPayload: unknown): ObjectiveStateOutcome {\n if (message.isError === true) return \"failure\";\n if (isRecord(parsedPayload)) {\n if (parsedPayload.partial === true || parsedPayload.status === \"partial\") return \"partial\";\n if (parsedPayload.success === false || parsedPayload.ok === false) return \"failure\";\n if (parsedPayload.success === true || parsedPayload.ok === true) return \"success\";\n if (typeof parsedPayload.exitCode === \"number\") {\n return parsedPayload.exitCode === 0 ? \"success\" : \"failure\";\n }\n if (optionalString(parsedPayload.error)) return \"failure\";\n if (parsedPayload.status === \"error\" || parsedPayload.status === \"failed\") return \"failure\";\n if (parsedPayload.status === \"ok\" || parsedPayload.status === \"success\") return \"success\";\n }\n if (typeof parsedPayload === \"string\") {\n const lowered = parsedPayload.toLowerCase();\n const loweredForFailure = lowered\n .replace(/\\b(?:previously\\s+)?failed tests?\\s+now\\s+pass(?:ed|es)?\\b/g, \"\");\n const hasZeroCountMarker = /\\b(?:0|no)\\s+(?:errors?|failures?|exceptions?|timeouts?)\\b/.test(lowered);\n const loweredForFailureCounts = loweredForFailure\n .replace(/\\b(?:0|no)\\s+errors?\\b/g, \"\")\n .replace(/\\b(?:0|no)\\s+failures?\\b/g, \"\")\n .replace(/\\b(?:0|no)\\s+exceptions?\\b/g, \"\")\n .replace(/\\b(?:0|no)\\s+timeouts?\\b/g, \"\");\n const hasNonZeroErrorCounts = /\\b[1-9]\\d*\\s+errors?\\b/.test(loweredForFailureCounts);\n const hasNegatedSuccessMarkers =\n /\\b(?:not|did not|didn't|doesn't|isn't|aren't|wasn't|weren't|won't|can't|couldn't|shouldn't|wouldn't)\\s+(?:ok|pass|passed|passes|succeeded|success)\\b/.test(loweredForFailure);\n const hasSuccessMarkers =\n /\\b(success|succeeded|pass|passes|passed|ok)\\b/.test(lowered) ||\n hasZeroCountMarker;\n const hasFailureMarkers =\n hasNegatedSuccessMarkers ||\n /\\b(exceptions?|failed|failures?|fatal|timeouts?|timed out)\\b/.test(loweredForFailureCounts) ||\n hasNonZeroErrorCounts ||\n /\\berrors?\\b/.test(loweredForFailureCounts) ||\n /\\b[a-z]+error\\b/.test(loweredForFailureCounts) ||\n /\\b[a-z]+exception\\b/.test(loweredForFailureCounts);\n\n if (hasFailureMarkers) return \"failure\";\n if (hasSuccessMarkers) return \"success\";\n }\n return \"unknown\";\n}\n\nfunction isProcessTool(toolName: string | undefined, args: Record<string, unknown> | undefined): boolean {\n const tokens = toolNameTokens(toolName);\n const normalizedName = normalizedToolName(toolName);\n if (pickString(args, [\"cmd\", \"command\", \"script\"])) return true;\n return [\"exec\", \"shell\", \"bash\", \"terminal\", \"run_command\", \"exec_command\"].some((token) =>\n token.includes(\"_\") ? normalizedName === token : tokens.includes(token),\n );\n}\n\nfunction isFileTool(toolName: string | undefined, args: Record<string, unknown> | undefined): boolean {\n const tokens = toolNameTokens(toolName);\n const fileScope = fileScopeFromArgs(args);\n if (fileScope.scope) return true;\n return [\"file\", \"path\", \"patch\", \"directory\", \"mkdir\", \"rename\", \"move\"].some((token) =>\n tokens.includes(token),\n );\n}\n\nfunction inferFileChangeKind(toolName: string | undefined, outcome: ObjectiveStateOutcome): ObjectiveStateChangeKind {\n if (outcome === \"failure\") return \"failed\";\n const tokens = toolNameTokens(toolName);\n if ([\"delete\", \"remove\", \"unlink\"].some((token) => tokens.includes(token))) return \"deleted\";\n if ([\"create\", \"mkdir\", \"new\"].some((token) => tokens.includes(token))) return \"created\";\n if ([\"write\", \"edit\", \"patch\", \"update\", \"append\", \"move\", \"rename\"].some((token) => tokens.includes(token))) {\n return \"updated\";\n }\n return \"observed\";\n}\n\nfunction buildFileValueRefs(\n args: Record<string, unknown> | undefined,\n changeKind: ObjectiveStateChangeKind,\n): Pick<ObjectiveStateSnapshot, \"before\" | \"after\"> {\n const { sourcePath, destinationPath, scope } = fileScopeFromArgs(args);\n const contentHash = fileContentHash(args);\n\n if (changeKind === \"failed\") {\n if (sourcePath && destinationPath && sourcePath !== destinationPath) {\n return {\n before: { ref: sourcePath },\n after: { ref: destinationPath },\n };\n }\n return {\n before: sourcePath ? { ref: sourcePath } : undefined,\n after: scope ? { ref: scope } : undefined,\n };\n }\n\n if (changeKind === \"deleted\") {\n return {\n before: scope ? { exists: true, ref: scope } : undefined,\n after: { exists: false },\n };\n }\n\n if (changeKind === \"created\") {\n return {\n after: {\n exists: true,\n ref: scope,\n valueHash: contentHash,\n },\n };\n }\n\n if (sourcePath && destinationPath && sourcePath !== destinationPath) {\n return {\n before: { exists: true, ref: sourcePath },\n after: {\n exists: true,\n ref: destinationPath,\n },\n };\n }\n\n return {\n after: {\n exists: true,\n ref: scope,\n valueHash: contentHash,\n },\n };\n}\n\nfunction summarizeSnapshot(\n kind: ObjectiveStateSnapshot[\"kind\"],\n changeKind: ObjectiveStateChangeKind,\n toolName: string,\n scope: string,\n): string {\n const action =\n changeKind === \"executed\"\n ? \"Executed\"\n : changeKind === \"failed\"\n ? \"Failed\"\n : changeKind === \"created\"\n ? \"Created\"\n : changeKind === \"deleted\"\n ? \"Deleted\"\n : changeKind === \"updated\"\n ? \"Updated\"\n : \"Observed\";\n if (kind === \"process\") return `${action} process via ${toolName}: ${scope}`;\n if (kind === \"file\") return `${action} file via ${toolName}: ${scope}`;\n return `${action} tool result from ${toolName}: ${scope}`;\n}\n\nfunction buildGenericToolAfterRef(outcome: ObjectiveStateOutcome, parsedPayload: unknown): ObjectiveStateSnapshot[\"after\"] {\n const valueHash = resultHash(parsedPayload);\n return valueHash ? { valueHash } : { exists: outcome !== \"failure\" };\n}\n\nfunction snapshotIdFor(\n sessionKey: string,\n recordedAt: string,\n index: number,\n toolName: string,\n scope: string,\n): string {\n const digest = crypto\n .createHash(\"sha256\")\n .update(`${sessionKey}|${recordedAt}|${index}|${toolName}|${scope}`)\n .digest(\"hex\")\n .slice(0, 12);\n return `obj-${digest}`;\n}\n\nexport function deriveObjectiveStateSnapshotsFromAgentMessages(options: {\n sessionKey: string;\n recordedAt: string;\n messages: Array<Record<string, unknown>>;\n}): ObjectiveStateSnapshot[] {\n const toolCallsById = getToolCallContexts(options.messages);\n const snapshots: ObjectiveStateSnapshot[] = [];\n\n for (const message of options.messages) {\n if (message.role !== \"tool\") continue;\n const toolCallId = toolCallIdForMessage(message);\n const context = toolCallId ? toolCallsById.get(toolCallId) : undefined;\n const toolName = toolNameForMessage(message, context);\n if (!toolName) continue;\n\n const parsedPayload = parseToolResultPayload(message.content);\n const outcome = inferOutcome(message, parsedPayload);\n const args = context?.args;\n const command = pickString(args, [\"cmd\", \"command\", \"script\"]);\n\n let kind: ObjectiveStateSnapshot[\"kind\"] = \"tool\";\n let changeKind: ObjectiveStateChangeKind = outcome === \"failure\" ? \"failed\" : \"observed\";\n let scope = toolName;\n let before: ObjectiveStateSnapshot[\"before\"];\n let after: ObjectiveStateSnapshot[\"after\"];\n\n if (isProcessTool(toolName, args)) {\n kind = \"process\";\n changeKind = outcome === \"failure\" ? \"failed\" : \"executed\";\n scope = command ?? toolName;\n after = { exists: outcome !== \"failure\", valueHash: resultHash(parsedPayload) };\n } else if (isFileTool(toolName, args)) {\n kind = \"file\";\n changeKind = inferFileChangeKind(toolName, outcome);\n const fileScope = fileScopeFromArgs(args);\n scope = fileScope.scope ?? toolName;\n const refs = buildFileValueRefs(args, changeKind);\n before = refs.before;\n after = refs.after;\n } else {\n after = buildGenericToolAfterRef(outcome, parsedPayload);\n }\n\n snapshots.push({\n schemaVersion: 1,\n snapshotId: snapshotIdFor(options.sessionKey, options.recordedAt, snapshots.length, toolName, scope),\n recordedAt: options.recordedAt,\n sessionKey: options.sessionKey,\n source: \"tool_result\",\n kind,\n changeKind,\n scope,\n summary: summarizeSnapshot(kind, changeKind, toolName, scope),\n toolName,\n command,\n outcome,\n before,\n after,\n tags: [\"agent-end\", `tool:${toolName}`],\n metadata: toolCallId ? { toolCallId } : undefined,\n });\n }\n\n return snapshots;\n}\n\nexport async function recordObjectiveStateSnapshotsFromAgentMessages(options: {\n memoryDir: string;\n objectiveStateStoreDir?: string;\n objectiveStateMemoryEnabled: boolean;\n objectiveStateSnapshotWritesEnabled: boolean;\n sessionKey: string;\n recordedAt: string;\n messages: Array<Record<string, unknown>>;\n}): Promise<DerivedObjectiveStateResult> {\n if (!options.objectiveStateMemoryEnabled || !options.objectiveStateSnapshotWritesEnabled) {\n return { snapshots: [], filePaths: [] };\n }\n\n const snapshots = deriveObjectiveStateSnapshotsFromAgentMessages({\n sessionKey: options.sessionKey,\n recordedAt: options.recordedAt,\n messages: options.messages,\n });\n\n const filePaths: string[] = [];\n for (const snapshot of snapshots) {\n filePaths.push(\n await recordObjectiveStateSnapshot({\n memoryDir: options.memoryDir,\n objectiveStateStoreDir: options.objectiveStateStoreDir,\n snapshot,\n }),\n );\n }\n\n return { snapshots, filePaths };\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -52,6 +52,12 @@ interface ObjectiveStateSearchResult {
52
52
  score: number;
53
53
  }
54
54
  declare function resolveObjectiveStateStoreDir(memoryDir: string, overrideDir?: string): string;
55
+ declare function objectiveStateStoreOverrideForNamespace(options: {
56
+ memoryDir: string;
57
+ configuredStoreDir?: string;
58
+ namespacesEnabled: boolean;
59
+ namespace: string;
60
+ }): string | undefined;
55
61
  declare function validateObjectiveStateSnapshot(raw: unknown): ObjectiveStateSnapshot;
56
62
  declare function recordObjectiveStateSnapshot(options: {
57
63
  memoryDir: string;
@@ -72,4 +78,4 @@ declare function searchObjectiveStateSnapshots(options: {
72
78
  sessionKey?: string;
73
79
  }): Promise<ObjectiveStateSearchResult[]>;
74
80
 
75
- export { type ObjectiveStateChangeKind, type ObjectiveStateOutcome, type ObjectiveStateSearchResult, type ObjectiveStateSnapshot, type ObjectiveStateSnapshotKind, type ObjectiveStateSnapshotSource, type ObjectiveStateStoreStatus, type ObjectiveStateValueRef, getObjectiveStateStoreStatus, recordObjectiveStateSnapshot, resolveObjectiveStateStoreDir, searchObjectiveStateSnapshots, validateObjectiveStateSnapshot };
81
+ export { type ObjectiveStateChangeKind, type ObjectiveStateOutcome, type ObjectiveStateSearchResult, type ObjectiveStateSnapshot, type ObjectiveStateSnapshotKind, type ObjectiveStateSnapshotSource, type ObjectiveStateStoreStatus, type ObjectiveStateValueRef, getObjectiveStateStoreStatus, objectiveStateStoreOverrideForNamespace, recordObjectiveStateSnapshot, resolveObjectiveStateStoreDir, searchObjectiveStateSnapshots, validateObjectiveStateSnapshot };