agentfootprint 9.3.0 → 9.5.0

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 (150) hide show
  1. package/AGENTS.md +2 -1
  2. package/CLAUDE.md +3 -1
  3. package/dist/adapters/identity/agentcore.js +94 -26
  4. package/dist/adapters/identity/agentcore.js.map +1 -1
  5. package/dist/adapters/llm/BedrockProvider.js +34 -9
  6. package/dist/adapters/llm/BedrockProvider.js.map +1 -1
  7. package/dist/adapters/memory/s3Vectors.js +158 -6
  8. package/dist/adapters/memory/s3Vectors.js.map +1 -1
  9. package/dist/adapters/observability/cloudwatch.js +13 -8
  10. package/dist/adapters/observability/cloudwatch.js.map +1 -1
  11. package/dist/adapters/observability/xray.js +13 -8
  12. package/dist/adapters/observability/xray.js.map +1 -1
  13. package/dist/adapters/security/agentcore.js +0 -0
  14. package/dist/adapters/security/agentcore.js.map +1 -1
  15. package/dist/bridge/eventMeta.js +3 -0
  16. package/dist/bridge/eventMeta.js.map +1 -1
  17. package/dist/core/Agent.js +11 -0
  18. package/dist/core/Agent.js.map +1 -1
  19. package/dist/core/agent/stages/toolCalls.js +80 -7
  20. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  21. package/dist/doors/security.js +3 -2
  22. package/dist/doors/security.js.map +1 -1
  23. package/dist/esm/adapters/identity/agentcore.d.ts +39 -9
  24. package/dist/esm/adapters/identity/agentcore.js +94 -26
  25. package/dist/esm/adapters/identity/agentcore.js.map +1 -1
  26. package/dist/esm/adapters/llm/BedrockProvider.d.ts +24 -0
  27. package/dist/esm/adapters/llm/BedrockProvider.js +34 -9
  28. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
  29. package/dist/esm/adapters/memory/s3Vectors.d.ts +36 -4
  30. package/dist/esm/adapters/memory/s3Vectors.js +158 -6
  31. package/dist/esm/adapters/memory/s3Vectors.js.map +1 -1
  32. package/dist/esm/adapters/observability/cloudwatch.d.ts +20 -0
  33. package/dist/esm/adapters/observability/cloudwatch.js +13 -8
  34. package/dist/esm/adapters/observability/cloudwatch.js.map +1 -1
  35. package/dist/esm/adapters/observability/xray.d.ts +18 -0
  36. package/dist/esm/adapters/observability/xray.js +13 -8
  37. package/dist/esm/adapters/observability/xray.js.map +1 -1
  38. package/dist/esm/adapters/security/agentcore.d.ts +81 -107
  39. package/dist/esm/adapters/security/agentcore.js +0 -0
  40. package/dist/esm/adapters/security/agentcore.js.map +1 -1
  41. package/dist/esm/bridge/eventMeta.d.ts +3 -0
  42. package/dist/esm/bridge/eventMeta.js +3 -0
  43. package/dist/esm/bridge/eventMeta.js.map +1 -1
  44. package/dist/esm/core/Agent.d.ts +16 -0
  45. package/dist/esm/core/Agent.js +11 -0
  46. package/dist/esm/core/Agent.js.map +1 -1
  47. package/dist/esm/core/agent/stages/toolCalls.js +80 -7
  48. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  49. package/dist/esm/doors/security.d.ts +3 -2
  50. package/dist/esm/doors/security.js +3 -2
  51. package/dist/esm/doors/security.js.map +1 -1
  52. package/dist/esm/events/dispatcher.d.ts +1 -1
  53. package/dist/esm/events/dispatcher.js.map +1 -1
  54. package/dist/esm/events/payloads.d.ts +23 -1
  55. package/dist/esm/events/types.d.ts +17 -0
  56. package/dist/esm/hosting/standingAgent.js +14 -1
  57. package/dist/esm/hosting/standingAgent.js.map +1 -1
  58. package/dist/esm/memory/define.d.ts +2 -1
  59. package/dist/esm/memory/define.js +45 -8
  60. package/dist/esm/memory/define.js.map +1 -1
  61. package/dist/esm/memory/define.types.d.ts +30 -4
  62. package/dist/esm/memory/define.types.js +6 -0
  63. package/dist/esm/memory/define.types.js.map +1 -1
  64. package/dist/esm/memory/index.d.ts +1 -0
  65. package/dist/esm/memory/index.js +3 -0
  66. package/dist/esm/memory/index.js.map +1 -1
  67. package/dist/esm/memory/pipeline/default.d.ts +16 -0
  68. package/dist/esm/memory/pipeline/default.js +8 -1
  69. package/dist/esm/memory/pipeline/default.js.map +1 -1
  70. package/dist/esm/memory/stages/filterByDecay.d.ts +67 -0
  71. package/dist/esm/memory/stages/filterByDecay.js +44 -0
  72. package/dist/esm/memory/stages/filterByDecay.js.map +1 -0
  73. package/dist/esm/memory/stages/index.d.ts +2 -0
  74. package/dist/esm/memory/stages/index.js +1 -0
  75. package/dist/esm/memory/stages/index.js.map +1 -1
  76. package/dist/esm/memory/strategies.d.ts +107 -0
  77. package/dist/esm/memory/strategies.js +232 -0
  78. package/dist/esm/memory/strategies.js.map +1 -0
  79. package/dist/esm/recorders/core/CredentialRecorder.d.ts +30 -0
  80. package/dist/esm/recorders/core/CredentialRecorder.js +35 -0
  81. package/dist/esm/recorders/core/CredentialRecorder.js.map +1 -0
  82. package/dist/esm/security/index.d.ts +7 -3
  83. package/dist/esm/security/index.js +12 -7
  84. package/dist/esm/security/index.js.map +1 -1
  85. package/dist/events/dispatcher.js.map +1 -1
  86. package/dist/hosting/standingAgent.js +14 -1
  87. package/dist/hosting/standingAgent.js.map +1 -1
  88. package/dist/memory/define.js +45 -8
  89. package/dist/memory/define.js.map +1 -1
  90. package/dist/memory/define.types.js +6 -0
  91. package/dist/memory/define.types.js.map +1 -1
  92. package/dist/memory/index.js +6 -1
  93. package/dist/memory/index.js.map +1 -1
  94. package/dist/memory/pipeline/default.js +8 -1
  95. package/dist/memory/pipeline/default.js.map +1 -1
  96. package/dist/memory/stages/filterByDecay.js +48 -0
  97. package/dist/memory/stages/filterByDecay.js.map +1 -0
  98. package/dist/memory/stages/index.js +4 -1
  99. package/dist/memory/stages/index.js.map +1 -1
  100. package/dist/memory/strategies.js +238 -0
  101. package/dist/memory/strategies.js.map +1 -0
  102. package/dist/recorders/core/CredentialRecorder.js +39 -0
  103. package/dist/recorders/core/CredentialRecorder.js.map +1 -0
  104. package/dist/security/index.js +13 -7
  105. package/dist/security/index.js.map +1 -1
  106. package/dist/types/adapters/identity/agentcore.d.ts +39 -9
  107. package/dist/types/adapters/identity/agentcore.d.ts.map +1 -1
  108. package/dist/types/adapters/llm/BedrockProvider.d.ts +24 -0
  109. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  110. package/dist/types/adapters/memory/s3Vectors.d.ts +36 -4
  111. package/dist/types/adapters/memory/s3Vectors.d.ts.map +1 -1
  112. package/dist/types/adapters/observability/cloudwatch.d.ts +20 -0
  113. package/dist/types/adapters/observability/cloudwatch.d.ts.map +1 -1
  114. package/dist/types/adapters/observability/xray.d.ts +18 -0
  115. package/dist/types/adapters/observability/xray.d.ts.map +1 -1
  116. package/dist/types/adapters/security/agentcore.d.ts +81 -107
  117. package/dist/types/adapters/security/agentcore.d.ts.map +1 -1
  118. package/dist/types/bridge/eventMeta.d.ts +3 -0
  119. package/dist/types/bridge/eventMeta.d.ts.map +1 -1
  120. package/dist/types/core/Agent.d.ts +16 -0
  121. package/dist/types/core/Agent.d.ts.map +1 -1
  122. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  123. package/dist/types/doors/security.d.ts +3 -2
  124. package/dist/types/doors/security.d.ts.map +1 -1
  125. package/dist/types/events/dispatcher.d.ts +1 -1
  126. package/dist/types/events/dispatcher.d.ts.map +1 -1
  127. package/dist/types/events/payloads.d.ts +23 -1
  128. package/dist/types/events/payloads.d.ts.map +1 -1
  129. package/dist/types/events/types.d.ts +17 -0
  130. package/dist/types/events/types.d.ts.map +1 -1
  131. package/dist/types/hosting/standingAgent.d.ts.map +1 -1
  132. package/dist/types/memory/define.d.ts +2 -1
  133. package/dist/types/memory/define.d.ts.map +1 -1
  134. package/dist/types/memory/define.types.d.ts +30 -4
  135. package/dist/types/memory/define.types.d.ts.map +1 -1
  136. package/dist/types/memory/index.d.ts +1 -0
  137. package/dist/types/memory/index.d.ts.map +1 -1
  138. package/dist/types/memory/pipeline/default.d.ts +16 -0
  139. package/dist/types/memory/pipeline/default.d.ts.map +1 -1
  140. package/dist/types/memory/stages/filterByDecay.d.ts +68 -0
  141. package/dist/types/memory/stages/filterByDecay.d.ts.map +1 -0
  142. package/dist/types/memory/stages/index.d.ts +2 -0
  143. package/dist/types/memory/stages/index.d.ts.map +1 -1
  144. package/dist/types/memory/strategies.d.ts +108 -0
  145. package/dist/types/memory/strategies.d.ts.map +1 -0
  146. package/dist/types/recorders/core/CredentialRecorder.d.ts +31 -0
  147. package/dist/types/recorders/core/CredentialRecorder.d.ts.map +1 -0
  148. package/dist/types/security/index.d.ts +7 -3
  149. package/dist/types/security/index.d.ts.map +1 -1
  150. package/package.json +1 -1
@@ -31,6 +31,7 @@
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
32
  exports.unwrapMemoryFlowChart = exports.defineMemory = void 0;
33
33
  const asRoleRefusal_js_1 = require("./asRoleRefusal.js");
34
+ const strategies_js_1 = require("./strategies.js");
34
35
  const capability_js_1 = require("./store/capability.js");
35
36
  const default_js_1 = require("./pipeline/default.js");
36
37
  const ephemeral_js_1 = require("./pipeline/ephemeral.js");
@@ -54,7 +55,8 @@ const define_types_js_1 = require("./define.types.js");
54
55
  * | --------- | ------------- | ------------------------ |
55
56
  * | EPISODIC | WINDOW | defaultPipeline |
56
57
  * | EPISODIC | BUDGET | defaultPipeline |
57
- * | EPISODIC | SUMMARIZE | defaultPipeline + summarize stage |
58
+ * | EPISODIC | SUMMARIZE | defaultPipeline (the compression stage is NOT composed in yet — see `listMemoryStrategies()`) |
59
+ * | EPISODIC | DECAY | defaultPipeline + filterByDecay stage |
58
60
  * | SEMANTIC | TOP_K | semanticPipeline |
59
61
  * | SEMANTIC | EXTRACT | factPipeline |
60
62
  * | SEMANTIC | WINDOW | factPipeline (recency-load) |
@@ -69,6 +71,14 @@ const define_types_js_1 = require("./define.types.js");
69
71
  function defineMemory(options) {
70
72
  validate(options);
71
73
  const pipeline = buildPipeline(options);
74
+ // The declared-requirements backstop (9.5.0), deliberately AFTER the
75
+ // dispatch: the arms above know things this check does not (the
76
+ // server-text exemption, that it does not apply to CAUSAL, that EXTRACT's
77
+ // `llm` matters only for `extractor: 'llm'`), so they speak first and this
78
+ // says something only when nothing better did. What it guarantees is that
79
+ // no requirement `listMemoryStrategies()` DECLARES can go unchecked —
80
+ // including the ones a composed pipeline would have quietly ignored.
81
+ (0, strategies_js_1.assertStrategyRequirements)(options, `defineMemory[${options.id}]`);
72
82
  // `readOnly` drops the write half entirely (8.8.0). Not "writes are
73
83
  // skipped at runtime" — the subflow is never compiled and never mounted,
74
84
  // so a read-only memory has no write stage in its chart, no write commit
@@ -164,10 +174,18 @@ function buildEpisodicPipeline(options) {
164
174
  return (0, default_js_1.defaultPipeline)(config);
165
175
  }
166
176
  case define_types_js_1.MEMORY_STRATEGIES.SUMMARIZE: {
167
- // Load recent N raw turns; older content is summarized by an LLM
168
- // before injection. defaultPipeline handles load+pick; the
169
- // summarize stage is composed in by the wire helpers when the
170
- // strategy carries an `llm` provider.
177
+ // WHAT THIS ACTUALLY DOES, as of 9.5.0: loads the last `recent` turns
178
+ // and stops. The `summarize` stage exists (stages/summarize.ts) and is
179
+ // composed into NOTHING — the comment that used to sit here said the
180
+ // wire helpers add it "when the strategy carries an `llm`", and they
181
+ // never have. Verified by counting calls: eight turns through this
182
+ // pipeline with a counting provider, zero `complete()` calls.
183
+ // It is left as-is rather than half-wired because the compressor
184
+ // needs things this strategy does not carry (a model name, cost
185
+ // accounting, the separate-instance law `.compaction()` enforces), and
186
+ // the Agent already has that door. `listMemoryStrategies()` says so in
187
+ // the strategy's own description so a reader learns it from the
188
+ // library rather than from a token bill.
171
189
  const sum = s;
172
190
  const config = { store: options.store, loadCount: sum.recent };
173
191
  return (0, default_js_1.defaultPipeline)(config);
@@ -190,9 +208,28 @@ function buildEpisodicPipeline(options) {
190
208
  case define_types_js_1.MEMORY_STRATEGIES.TOP_K:
191
209
  throw new Error(`defineMemory[${options.id}]: TOP_K strategy on EPISODIC type requires a vector store. ` +
192
210
  'Use type=SEMANTIC for vector retrieval, or type=EPISODIC with strategy=WINDOW for recency.');
193
- case define_types_js_1.MEMORY_STRATEGIES.DECAY:
194
- throw new Error(`defineMemory[${options.id}]: DECAY strategy is not yet wired. ` +
195
- 'Workaround: set TTL on MemoryEntry, or compose manually via mountMemoryRead.');
211
+ case define_types_js_1.MEMORY_STRATEGIES.DECAY: {
212
+ // Wired in 9.5.0. Until then this arm threw "not yet wired" while
213
+ // `MEMORY_STRATEGIES` went on offering the choice — a const that
214
+ // advertised seven strategies and built six.
215
+ const d = s;
216
+ if (!Number.isFinite(d.halfLifeMs) || d.halfLifeMs < 0) {
217
+ throw new Error(`defineMemory[${options.id}]: DECAY needs a \`halfLifeMs\` that is a non-negative ` +
218
+ `number of milliseconds — how long before an untouched entry is worth half as ` +
219
+ `much. Got \`${String(d.halfLifeMs)}\`.\n` +
220
+ ` A negative half-life inverts the curve (older scores HIGHER), which no config ` +
221
+ `means to say, so it is refused rather than obeyed.\n` +
222
+ ` Fix: a day is \`86_400_000\`; an hour is \`3_600_000\`.`);
223
+ }
224
+ const config = {
225
+ store: options.store,
226
+ decay: {
227
+ halfLifeMs: d.halfLifeMs,
228
+ ...(d.minScore !== undefined && { minScore: d.minScore }),
229
+ },
230
+ };
231
+ return (0, default_js_1.defaultPipeline)(config);
232
+ }
196
233
  default: {
197
234
  const _exhaustive = s;
198
235
  void _exhaustive;
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/memory/define.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/memory/define.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;;AAEH,yDAAkD;AAClD,mDAA6D;AAC7D,yDAA2D;AAE3D,sDAAoF;AACpF,0DAA4D;AAC5D,wDAAuF;AACvF,gDAA2E;AAC3E,0DAA0F;AAC1F,gDAA2E;AAC3E,gDAAkF;AAGlF,uDAiB2B;AAG3B,sEAAsE;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,YAAY,CAAC,OAA4B;IACvD,QAAQ,CAAC,OAAO,CAAC,CAAC;IAElB,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAExC,qEAAqE;IACrE,gEAAgE;IAChE,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,qEAAqE;IACrE,IAAA,0CAA0B,EAAC,OAAO,EAAE,gBAAgB,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;IAEnE,oEAAoE;IACpE,yEAAyE;IACzE,yEAAyE;IACzE,wDAAwD;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IAErE,MAAM,UAAU,GAAqB;QACnC,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;QAC9E,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,+BAAa,CAAC,UAAU;QAClD,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/D,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,8BAAY,CAAC,MAAM;YACrC,OAA+B,CAAC,UAAU,KAAK,SAAS,IAAI;YAC3D,UAAU,EAAG,OAA+B,CAAC,UAAU;SACxD,CAAC;KACL,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AArCD,oCAqCC;AAED,sEAAsE;AAEtE,SAAS,QAAQ,CAAC,OAA4B;IAC5C,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,sEAAsE;IACtE,qEAAqE;IACrE,8CAA8C;IAC9C,IAAA,+BAAY,EAAC,OAAO,EAAE,iBAAiB,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,mBAAmB,OAAO,CAAC,EAAE,4BAA4B;YACvD,6EAA6E,CAChF,CAAC;IACJ,CAAC;IACD,uEAAuE;IACvE,uEAAuE;IACvE,6BAA6B;IAC7B,mEAAmE;IACnE,mEAAmE;IACnE,yDAAyD;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAIxB,CAAC;IACF,IAAI,QAAQ,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,mBAAmB,OAAO,CAAC,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B;gBACnF,4EAA4E;gBAC5E,mCAAmC,QAAQ,CAAC,SAAS,CAAC,IAAI,wBAAwB;gBAClF,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,sEAAsE;AAEtE,SAAS,aAAa,CAAC,OAA4B;IACjD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,8BAAY,CAAC,QAAQ;YACxB,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,8BAAY,CAAC,QAAQ;YACxB,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,8BAAY,CAAC,SAAS;YACzB,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACzC,KAAK,8BAAY,CAAC,MAAM;YACtB,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,OAAO,CAAC;YACnC,KAAK,WAAW,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gCAAiC,OAA4B,CAAC,IAAI,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;AACH,CAAC;AAED,sEAAsE;AAEtE,SAAS,qBAAqB,CAAC,OAA8B;IAC3D,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE3B,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,mCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAyB,CAAC;YACpC,MAAM,MAAM,GAA0B,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAClF,OAAO,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,mCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAmB,CAAC;YAC9B,MAAM,MAAM,GAA0B;gBACpC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;gBACxE,GAAG,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;gBACxE,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;aAChE,CAAC;YACF,OAAO,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,mCAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;YACjC,sEAAsE;YACtE,uEAAuE;YACvE,qEAAqE;YACrE,qEAAqE;YACrE,mEAAmE;YACnE,8DAA8D;YAC9D,mEAAmE;YACnE,gEAAgE;YAChE,uEAAuE;YACvE,uEAAuE;YACvE,gEAAgE;YAChE,yCAAyC;YACzC,MAAM,GAAG,GAAG,CAAsB,CAAC;YACnC,MAAM,MAAM,GAA0B,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;YACtF,OAAO,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,mCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,4DAA4D;YAC5D,gEAAgE;YAChE,2DAA2D;YAC3D,sBAAsB;YACtB,MAAM,CAAC,GAAG,CAAmB,CAAC;YAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,wDAAwD,CACnF,CAAC;YACJ,CAAC;YACD,OAAO,qBAAqB,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,KAAK,mCAAiB,CAAC,OAAO;YAC5B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,0DAA0D;gBAClF,0FAA0F,CAC7F,CAAC;QAEJ,KAAK,mCAAiB,CAAC,KAAK;YAC1B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,8DAA8D;gBACtF,4FAA4F,CAC/F,CAAC;QAEJ,KAAK,mCAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,kEAAkE;YAClE,iEAAiE;YACjE,6CAA6C;YAC7C,MAAM,CAAC,GAAG,CAAkB,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,yDAAyD;oBACjF,+EAA+E;oBAC/E,eAAe,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO;oBAC1C,kFAAkF;oBAClF,sDAAsD;oBACtD,4DAA4D,CAC/D,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAA0B;gBACpC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE;oBACL,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC1D;aACF,CAAC;YACF,OAAO,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,CAAC,CAAC;YAC7B,KAAK,WAAW,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC;AAED,sEAAsE;AAEtE,SAAS,qBAAqB,CAAC,OAA8B;IAC3D,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE3B,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,mCAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAiB,CAAC;YAC5B,uEAAuE;YACvE,sEAAsE;YACtE,iEAAiE;YACjE,MAAM,OAAO,GAAG,IAAA,kCAAkB,EAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;YACjF,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,wDAAwD;wBAChF,0DAA0D;wBAC1D,6EAA6E;wBAC7E,gDAAgD,CACnD,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,0DAA0D;wBAClF,gFAAgF;wBAChF,mCAAmC;wBACnC,mFAAmF;wBACnF,4EAA4E,CAC/E,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAA2B;gBACrC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACzD,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1C,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC3D,6DAA6D;gBAC7D,kEAAkE;gBAClE,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACzD,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/D,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC5D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;aAChE,CAAC;YACF,OAAO,IAAA,8BAAgB,EAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,mCAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAoB,CAAC;YAC/B,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,6DAA6D;oBACrF,4EAA4E,CAC/E,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAuB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,OAAO,IAAA,sBAAY,EAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,mCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,mEAAmE;YACnE,wEAAwE;YACxE,qBAAqB;YACrB,MAAM,CAAC,GAAG,CAAyB,CAAC;YACpC,MAAM,MAAM,GAAuB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/E,OAAO,IAAA,sBAAY,EAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,mCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,8DAA8D;YAC9D,MAAM,MAAM,GAAuB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,OAAO,IAAA,sBAAY,EAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,mCAAiB,CAAC,MAAM,CAAC;QAC9B,KAAK,mCAAiB,CAAC,SAAS,CAAC;QACjC,KAAK,mCAAiB,CAAC,KAAK;YAC1B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,MAAM,MAAM,CACpC,CAAC,CAAC,IAAI,CACP,+CAA+C;gBAC9C,uEAAuE;gBACvE,kDAAkD,CACrD,CAAC;QAEJ,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,CAAC,CAAC;YAC7B,KAAK,WAAW,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC;AAED,sEAAsE;AAEtE,SAAS,sBAAsB,CAAC,OAA+B;IAC7D,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE3B,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,mCAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAoB,CAAC;YAC/B,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,4DAA4D,CACvF,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAA4B,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YACjE,OAAO,IAAA,gCAAiB,EAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,mCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAyB,CAAC;YACpC,MAAM,MAAM,GAA4B,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACpF,OAAO,IAAA,gCAAiB,EAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,mCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAuB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,OAAO,IAAA,sBAAY,EAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,mCAAiB,CAAC,KAAK,CAAC;QAC7B,KAAK,mCAAiB,CAAC,MAAM,CAAC;QAC9B,KAAK,mCAAiB,CAAC,SAAS,CAAC;QACjC,KAAK,mCAAiB,CAAC,KAAK;YAC1B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,MAAM,MAAM,CACpC,CAAC,CAAC,IAAI,CACP,gDAAgD;gBAC/C,gFAAgF,CACnF,CAAC;QAEJ,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,CAAC,CAAC;YAC7B,KAAK,WAAW,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC;AAED,sEAAsE;AAEtE,SAAS,mBAAmB,CAAC,OAA4B;IACvD,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE3B,mEAAmE;IACnE,8DAA8D;IAC9D,mEAAmE;IACnE,kEAAkE;IAClE,IAAI,CAAC,CAAC,IAAI,KAAK,mCAAiB,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,+CAA+C;YACvE,iEAAiE;YACjE,2DAA2D,CAC9D,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,kDAAkD;YAC1E,4EAA4E;YAC5E,8CAA8C,CACjD,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,wEAAwE;IACxE,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,+DAA+D;YACvF,+EAA+E,CAClF,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,+DAA+D;YACvF,iFAAiF;YACjF,mFAAmF,CACtF,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,oEAAoE;IACpE,0EAA0E;IAC1E,6BAA6B;IAC7B,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,EAAE,4DAA4D;YACpF,mFAAmF;YACnF,kFAAkF;YAClF,2BAA2B,CAC9B,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAA2B;QACrC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;KAC5E,CAAC;IACF,OAAO,IAAA,2BAAgB,EAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,sEAAsE;AAEtE;;;;GAIG;AACH,SAAS,aAAa,CAAI,EAAW;IACnC,OAAO,EAAgC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAI,OAAmC;IAC1E,OAAO,OAAO,CAAC;AACjB,CAAC;AAFD,sDAEC;AAED,kEAAkE;AAClE,sDAAsD;AACtD,KAAK,gCAAiB,CAAC;AACvB,iEAAiE;AACjE,KAAM,IAA4B,CAAC"}
@@ -66,6 +66,12 @@ exports.MEMORY_TYPES = {
66
66
  * `CAUSAL` type accepts ONLY `TOP_K` — its snapshots are matched semantically
67
67
  * against the new query, never by recency, so `buildCausalPipeline` throws on
68
68
  * any other strategy kind. Mix and match the non-Causal types.
69
+ *
70
+ * These are BARE STRINGS, which is enough to write one and not enough to
71
+ * OFFER one. `listMemoryStrategies()` (./strategies.ts) is the same seven
72
+ * described — what each does, which TYPES accept it, and what the host must
73
+ * supply (`requirements`) — so a picker can grey out what this deployment
74
+ * cannot run instead of finding out from an exception.
69
75
  */
70
76
  exports.MEMORY_STRATEGIES = {
71
77
  WINDOW: 'window',
@@ -1 +1 @@
1
- {"version":3,"file":"define.types.js","sourceRoot":"","sources":["../../src/memory/define.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAQH,uEAAuE;AAEvE;;;;;;;;;GASG;AACU,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;;;GAQG;AACU,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACU,QAAA,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AA+UX,uEAAuE;AAEvE,SAAgB,YAAY,CAAC,KAAa;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAFD,oCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,yBAAiB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAFD,oDAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAFD,wCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,4BAAoB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAFD,oDAEC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACU,QAAA,2BAA2B,GAAG,kBAA2B,CAAC;AAEvE,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,OAAO,GAAG,mCAA2B,GAAG,EAAE,EAAE,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,mCAA2B,CAAC,CAAC;AACrD,CAAC;AAFD,oDAEC;AAED;;;;;;;;;;GAUG;AACU,QAAA,6BAA6B,GAAG,oBAA6B,CAAC;AAE3E,SAAgB,oBAAoB,CAAC,EAAU;IAC7C,OAAO,GAAG,qCAA6B,GAAG,EAAE,EAAE,CAAC;AACjD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,GAAW;IAChD,OAAO,GAAG,CAAC,UAAU,CAAC,qCAA6B,CAAC,CAAC;AACvD,CAAC;AAFD,wDAEC"}
1
+ {"version":3,"file":"define.types.js","sourceRoot":"","sources":["../../src/memory/define.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAQH,uEAAuE;AAEvE;;;;;;;;;GASG;AACU,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;;;;;;;;;GAcG;AACU,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACU,QAAA,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AAmWX,uEAAuE;AAEvE,SAAgB,YAAY,CAAC,KAAa;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAFD,oCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,yBAAiB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAFD,oDAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAFD,wCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,4BAAoB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAFD,oDAEC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACU,QAAA,2BAA2B,GAAG,kBAA2B,CAAC;AAEvE,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,OAAO,GAAG,mCAA2B,GAAG,EAAE,EAAE,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,mCAA2B,CAAC,CAAC;AACrD,CAAC;AAFD,oDAEC;AAED;;;;;;;;;;GAUG;AACU,QAAA,6BAA6B,GAAG,oBAA6B,CAAC;AAE3E,SAAgB,oBAAoB,CAAC,EAAU;IAC7C,OAAO,GAAG,qCAA6B,GAAG,EAAE,EAAE,CAAC;AACjD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,GAAW;IAChD,OAAO,GAAG,CAAC,UAAU,CAAC,qCAA6B,CAAC,CAAC;AACvD,CAAC;AAFD,wDAEC"}
@@ -21,7 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
21
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.defineMemory = exports.isRetrievalEvidenceKey = exports.retrievalEvidenceKey = exports.isMemoryInjectionKey = exports.memoryInjectionKey = exports.isSnapshotProjection = exports.isMemoryTiming = exports.isMemoryStrategyKind = exports.isMemoryType = exports.RETRIEVAL_EVIDENCE_KEY_PREFIX = exports.MEMORY_INJECTION_KEY_PREFIX = exports.SNAPSHOT_PROJECTIONS = exports.MEMORY_TIMING = exports.MEMORY_STRATEGIES = exports.MEMORY_TYPES = void 0;
24
+ exports.memoryStrategyInfo = exports.listMemoryStrategies = exports.defineMemory = exports.isRetrievalEvidenceKey = exports.retrievalEvidenceKey = exports.isMemoryInjectionKey = exports.memoryInjectionKey = exports.isSnapshotProjection = exports.isMemoryTiming = exports.isMemoryStrategyKind = exports.isMemoryType = exports.RETRIEVAL_EVIDENCE_KEY_PREFIX = exports.MEMORY_INJECTION_KEY_PREFIX = exports.SNAPSHOT_PROJECTIONS = exports.MEMORY_TIMING = exports.MEMORY_STRATEGIES = exports.MEMORY_TYPES = void 0;
25
25
  __exportStar(require("./beats/index.js"), exports);
26
26
  __exportStar(require("./causal/index.js"), exports);
27
27
  __exportStar(require("./embedding/index.js"), exports);
@@ -57,4 +57,9 @@ Object.defineProperty(exports, "isRetrievalEvidenceKey", { enumerable: true, get
57
57
  // `MemoryWindowStrategy` is the only name for `{ kind: 'window', size }`.
58
58
  var define_js_1 = require("./define.js");
59
59
  Object.defineProperty(exports, "defineMemory", { enumerable: true, get: function () { return define_js_1.defineMemory; } });
60
+ // What each strategy IS, which types accept it, and what a host must supply
61
+ // to run it — the const `MEMORY_STRATEGIES` in described form (9.5.0).
62
+ var strategies_js_1 = require("./strategies.js");
63
+ Object.defineProperty(exports, "listMemoryStrategies", { enumerable: true, get: function () { return strategies_js_1.listMemoryStrategies; } });
64
+ Object.defineProperty(exports, "memoryStrategyInfo", { enumerable: true, get: function () { return strategies_js_1.memoryStrategyInfo; } });
60
65
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,oDAAkC;AAClC,uDAAqC;AACrC,mDAAiC;AACjC,mDAAiC;AACjC,sDAAoC;AACpC,sDAAoC;AACpC,oDAAkC;AAClC,mDAAiC;AACjC,kDAAgC;AAChC,uDAAqC;AAErC,oEAAoE;AACpE,qDAqC2B;AApCzB,+GAAA,YAAY,OAAA;AACZ,oHAAA,iBAAiB,OAAA;AACjB,gHAAA,aAAa,OAAA;AACb,uHAAA,oBAAoB,OAAA;AACpB,8HAAA,2BAA2B,OAAA;AAC3B,gIAAA,6BAA6B,OAAA;AAC7B,+GAAA,YAAY,OAAA;AACZ,uHAAA,oBAAoB,OAAA;AACpB,iHAAA,cAAc,OAAA;AACd,uHAAA,oBAAoB,OAAA;AACpB,qHAAA,kBAAkB,OAAA;AAClB,uHAAA,oBAAoB,OAAA;AACpB,uHAAA,oBAAoB,OAAA;AACpB,yHAAA,sBAAsB,OAAA;AAwBxB,6EAA6E;AAC7E,wEAAwE;AACxE,wEAAwE;AACxE,4EAA4E;AAC5E,gEAAgE;AAChE,0EAA0E;AAE1E,yCAA2C;AAAlC,yGAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,oDAAkC;AAClC,uDAAqC;AACrC,mDAAiC;AACjC,mDAAiC;AACjC,sDAAoC;AACpC,sDAAoC;AACpC,oDAAkC;AAClC,mDAAiC;AACjC,kDAAgC;AAChC,uDAAqC;AAErC,oEAAoE;AACpE,qDAqC2B;AApCzB,+GAAA,YAAY,OAAA;AACZ,oHAAA,iBAAiB,OAAA;AACjB,gHAAA,aAAa,OAAA;AACb,uHAAA,oBAAoB,OAAA;AACpB,8HAAA,2BAA2B,OAAA;AAC3B,gIAAA,6BAA6B,OAAA;AAC7B,+GAAA,YAAY,OAAA;AACZ,uHAAA,oBAAoB,OAAA;AACpB,iHAAA,cAAc,OAAA;AACd,uHAAA,oBAAoB,OAAA;AACpB,qHAAA,kBAAkB,OAAA;AAClB,uHAAA,oBAAoB,OAAA;AACpB,uHAAA,oBAAoB,OAAA;AACpB,yHAAA,sBAAsB,OAAA;AAwBxB,6EAA6E;AAC7E,wEAAwE;AACxE,wEAAwE;AACxE,4EAA4E;AAC5E,gEAAgE;AAChE,0EAA0E;AAE1E,yCAA2C;AAAlC,yGAAA,YAAY,OAAA;AAErB,4EAA4E;AAC5E,uEAAuE;AACvE,iDAKyB;AAJvB,qHAAA,oBAAoB,OAAA;AACpB,mHAAA,kBAAkB,OAAA"}
@@ -52,6 +52,7 @@ exports.defaultPipeline = void 0;
52
52
  */
53
53
  const footprintjs_1 = require("footprintjs");
54
54
  const loadRecent_js_1 = require("../stages/loadRecent.js");
55
+ const filterByDecay_js_1 = require("../stages/filterByDecay.js");
55
56
  const pickByBudget_js_1 = require("../stages/pickByBudget.js");
56
57
  const formatDefault_js_1 = require("../stages/formatDefault.js");
57
58
  const writeMessages_js_1 = require("../stages/writeMessages.js");
@@ -81,13 +82,19 @@ function defaultPipeline(config) {
81
82
  ...(config.writeTier && { tier: config.writeTier }),
82
83
  ...(config.writeTtlMs !== undefined && { ttlMs: config.writeTtlMs }),
83
84
  };
84
- // Compose: LoadRecent → [PickDecider → skip-empty | skip-no-budget | pick] → Format
85
+ // Compose: LoadRecent → [FilterByDecay] → [PickDecider → skip-empty |
86
+ // skip-no-budget | pick] → Format
85
87
  // pickByBudget is a builder-extension — it appends a decider + 3
86
88
  // branches to the pipeline so "why did / didn't we inject memory?" is
87
89
  // answerable via FlowRecorder.onDecision evidence, not just emit events.
88
90
  let readBuilder = (0, footprintjs_1.flowChart)('LoadRecent', (0, loadRecent_js_1.loadRecent)(loadConfig), 'load-recent', {
89
91
  description: 'Read N most-recent entries from storage into scope.loaded',
90
92
  });
93
+ if (config.decay !== undefined) {
94
+ // Before the picker: what has faded is not a budget question, and the
95
+ // budget is better spent on entries that are still worth something.
96
+ readBuilder = readBuilder.addFunction('FilterByDecay', (0, filterByDecay_js_1.filterByDecay)(config.decay), 'filter-by-decay', 'Drop loaded entries whose age-decayed score is below the floor');
97
+ }
91
98
  readBuilder = (0, pickByBudget_js_1.pickByBudget)(pickConfig)(readBuilder);
92
99
  const read = readBuilder
93
100
  .addFunction('Format', (0, formatDefault_js_1.formatDefault)(formatConfig), 'format-default', 'Render selected entries as a system message; writes scope.formatted')
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/memory/pipeline/default.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,6CAAwC;AAExC,2DAA4E;AAC5E,+DAAkF;AAClF,iEAAqF;AACrF,iEAAqF;AAyDrF;;;GAGG;AACH,SAAgB,eAAe,CAAC,MAA6B;IAC3D,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,UAAU,GAAqB;QACnC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;KAC7C,CAAC;IACF,MAAM,UAAU,GAAuB;QACrC,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QAClF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QAClF,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;KAC1E,CAAC;IACF,MAAM,YAAY,GAAwB;QACxC,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;QACzE,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;KAC1E,CAAC;IACF,MAAM,WAAW,GAAwB;QACvC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACnD,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;KACrE,CAAC;IAEF,oFAAoF;IACpF,iEAAiE;IACjE,sEAAsE;IACtE,yEAAyE;IACzE,IAAI,WAAW,GAAG,IAAA,uBAAS,EAAc,YAAY,EAAE,IAAA,0BAAU,EAAC,UAAU,CAAC,EAAE,aAAa,EAAE;QAC5F,WAAW,EAAE,2DAA2D;KACzE,CAAC,CAAC;IACH,WAAW,GAAG,IAAA,8BAAY,EAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,WAAW;SACrB,WAAW,CACV,QAAQ,EACR,IAAA,gCAAa,EAAC,YAAY,CAAC,EAC3B,gBAAgB,EAChB,qEAAqE,CACtE;SACA,KAAK,EAAE,CAAC;IAEX,MAAM,KAAK,GAAG,IAAA,uBAAS,EACrB,eAAe,EACf,IAAA,gCAAa,EAAC,WAAW,CAAC,EAC1B,gBAAgB,EAChB,EAAE,WAAW,EAAE,sCAAsC,EAAE,CACxD,CAAC,KAAK,EAAE,CAAC;IAEV,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC;AAhDD,0CAgDC"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/memory/pipeline/default.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,6CAAwC;AAExC,2DAA4E;AAC5E,iEAAqF;AACrF,+DAAkF;AAClF,iEAAqF;AACrF,iEAAqF;AAyErF;;;GAGG;AACH,SAAgB,eAAe,CAAC,MAA6B;IAC3D,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,UAAU,GAAqB;QACnC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;KAC7C,CAAC;IACF,MAAM,UAAU,GAAuB;QACrC,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QAClF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QAClF,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;KAC1E,CAAC;IACF,MAAM,YAAY,GAAwB;QACxC,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;QACzE,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;KAC1E,CAAC;IACF,MAAM,WAAW,GAAwB;QACvC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACnD,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;KACrE,CAAC;IAEF,sEAAsE;IACtE,2CAA2C;IAC3C,iEAAiE;IACjE,sEAAsE;IACtE,yEAAyE;IACzE,IAAI,WAAW,GAAG,IAAA,uBAAS,EAAc,YAAY,EAAE,IAAA,0BAAU,EAAC,UAAU,CAAC,EAAE,aAAa,EAAE;QAC5F,WAAW,EAAE,2DAA2D;KACzE,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,sEAAsE;QACtE,oEAAoE;QACpE,WAAW,GAAG,WAAW,CAAC,WAAW,CACnC,eAAe,EACf,IAAA,gCAAa,EAAC,MAAM,CAAC,KAAK,CAAC,EAC3B,iBAAiB,EACjB,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,WAAW,GAAG,IAAA,8BAAY,EAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,WAAW;SACrB,WAAW,CACV,QAAQ,EACR,IAAA,gCAAa,EAAC,YAAY,CAAC,EAC3B,gBAAgB,EAChB,qEAAqE,CACtE;SACA,KAAK,EAAE,CAAC;IAEX,MAAM,KAAK,GAAG,IAAA,uBAAS,EACrB,eAAe,EACf,IAAA,gCAAa,EAAC,WAAW,CAAC,EAC1B,gBAAgB,EAChB,EAAE,WAAW,EAAE,sCAAsC,EAAE,CACxD,CAAC,KAAK,EAAE,CAAC;IAEV,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC;AA3DD,0CA2DC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterByDecay = exports.DEFAULT_DECAY_MIN_SCORE = void 0;
4
+ const decay_js_1 = require("../entry/decay.js");
5
+ /** See {@link FilterByDecayConfig.minScore}. */
6
+ exports.DEFAULT_DECAY_MIN_SCORE = 0.1;
7
+ /**
8
+ * The access term is deliberately neutral — see the header. Not a default a
9
+ * caller can change: there is nothing behind it to change yet.
10
+ */
11
+ const NEUTRAL_ACCESS_BOOST = 1;
12
+ /**
13
+ * Build a stage that drops faded entries from `scope.loaded`.
14
+ *
15
+ * Pure arithmetic over what is already in scope: no store call, no LLM, no
16
+ * embedding, and no mutation of anything stored — an entry that decays out
17
+ * of one turn is still in the store, and a later turn scores it again.
18
+ */
19
+ function filterByDecay(config) {
20
+ const minScore = config.minScore ?? exports.DEFAULT_DECAY_MIN_SCORE;
21
+ const policy = {
22
+ halfLifeMs: config.halfLifeMs,
23
+ accessBoost: NEUTRAL_ACCESS_BOOST,
24
+ };
25
+ const clock = config.now ?? Date.now;
26
+ return async (scope) => {
27
+ const loaded = scope.loaded ?? [];
28
+ if (loaded.length === 0)
29
+ return;
30
+ // One clock read for the whole batch: two entries of the same age must
31
+ // score the same, whatever the loop costs.
32
+ const now = clock();
33
+ scope.loaded = loaded.filter((entry) => {
34
+ if (!Number.isFinite(entry.lastAccessedAt))
35
+ return true;
36
+ // `accessCount` is normalised for the same reason `lastAccessedAt` is
37
+ // guarded: a store that never set it would make the exponent `NaN`,
38
+ // and a `NaN` score fails every comparison — silently dropping the lot.
39
+ const scored = {
40
+ lastAccessedAt: entry.lastAccessedAt,
41
+ accessCount: Number.isFinite(entry.accessCount) ? entry.accessCount : 0,
42
+ };
43
+ return (0, decay_js_1.computeDecayFactor)(scored, now, policy) >= minScore;
44
+ });
45
+ };
46
+ }
47
+ exports.filterByDecay = filterByDecay;
48
+ //# sourceMappingURL=filterByDecay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterByDecay.js","sourceRoot":"","sources":["../../../src/memory/stages/filterByDecay.ts"],"names":[],"mappings":";;;AAsCA,gDAAuD;AAyBvD,gDAAgD;AACnC,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,MAA2B;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,+BAAuB,CAAC;IAC5D,MAAM,MAAM,GAAgB;QAC1B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,WAAW,EAAE,oBAAoB;KAClC,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IAErC,OAAO,KAAK,EAAE,KAA8B,EAAiB,EAAE;QAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEhC,uEAAuE;QACvE,2CAA2C;QAC3C,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;QAEpB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxD,sEAAsE;YACtE,oEAAoE;YACpE,wEAAwE;YACxE,MAAM,MAAM,GAAG;gBACb,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACxE,CAAC;YACF,OAAO,IAAA,6BAAkB,EAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AA5BD,sCA4BC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.summarize = exports.countMessageTokens = exports.approximateTokenCounter = exports.formatDefault = exports.pickByBudget = exports.writeMessages = exports.loadRecent = void 0;
3
+ exports.DEFAULT_DECAY_MIN_SCORE = exports.filterByDecay = exports.summarize = exports.countMessageTokens = exports.approximateTokenCounter = exports.formatDefault = exports.pickByBudget = exports.writeMessages = exports.loadRecent = void 0;
4
4
  var loadRecent_js_1 = require("./loadRecent.js");
5
5
  Object.defineProperty(exports, "loadRecent", { enumerable: true, get: function () { return loadRecent_js_1.loadRecent; } });
6
6
  var writeMessages_js_1 = require("./writeMessages.js");
@@ -14,4 +14,7 @@ Object.defineProperty(exports, "approximateTokenCounter", { enumerable: true, ge
14
14
  Object.defineProperty(exports, "countMessageTokens", { enumerable: true, get: function () { return tokenize_js_1.countMessageTokens; } });
15
15
  var summarize_js_1 = require("./summarize.js");
16
16
  Object.defineProperty(exports, "summarize", { enumerable: true, get: function () { return summarize_js_1.summarize; } });
17
+ var filterByDecay_js_1 = require("./filterByDecay.js");
18
+ Object.defineProperty(exports, "filterByDecay", { enumerable: true, get: function () { return filterByDecay_js_1.filterByDecay; } });
19
+ Object.defineProperty(exports, "DEFAULT_DECAY_MIN_SCORE", { enumerable: true, get: function () { return filterByDecay_js_1.DEFAULT_DECAY_MIN_SCORE; } });
17
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/stages/index.ts"],"names":[],"mappings":";;;AACA,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AAEnB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAEtB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAErB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAEtB,6CAA4E;AAAnE,sHAAA,uBAAuB,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAEpD,+CAA2C;AAAlC,yGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/stages/index.ts"],"names":[],"mappings":";;;AACA,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AAEnB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAEtB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAErB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAEtB,6CAA4E;AAAnE,sHAAA,uBAAuB,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAEpD,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAElB,uDAA4E;AAAnE,iHAAA,aAAa,OAAA;AAAE,2HAAA,uBAAuB,OAAA"}
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ /**
3
+ * Named memory strategies — what each one does, which TYPES accept it, and
4
+ * what the host must supply before it can run.
5
+ *
6
+ * `MEMORY_STRATEGIES` is a const of seven bare strings. A string is enough to
7
+ * WRITE `strategy: { kind: … }` and not nearly enough to OFFER the choice: a
8
+ * host rendering a strategy picker off that const offers seven options, and
9
+ * learns which of them this deployment can actually run by calling
10
+ * `defineMemory` and reading the exception. That is a selector that discovers
11
+ * its own capabilities by failing.
12
+ *
13
+ * So each strategy declares itself, and `listMemoryStrategies()` enumerates
14
+ * the declarations. The shape mirrors the influence exemplar in this same
15
+ * package (`listInfluenceStrategies()` → `{ name, description, requirements,
16
+ * scorer }`), with two deliberate differences:
17
+ *
18
+ * • the id is `kind`, not `name` — it is the value the caller writes into
19
+ * `strategy.kind`, so a picker's option value IS the id;
20
+ * • there is no `scorer`, because a memory strategy is not a function the
21
+ * host calls; what it needs instead is `types` — the memory TYPES that
22
+ * accept it, which is the other half of "can I offer this?" (`decay` on a
23
+ * SEMANTIC store is refused however good the host's credentials are).
24
+ *
25
+ * `requirements` is what a host must SUPPLY (an embedder, an LLM, a store
26
+ * that can search). Empty means the strategy runs anywhere, at $0.
27
+ *
28
+ * Pattern: declared capability descriptors + a guard that enforces them.
29
+ * Role: memory/ layer-1, beside the const it describes.
30
+ * Emits: N/A — build-time only.
31
+ *
32
+ * @see ./define.types.ts for `MEMORY_STRATEGIES` and the strategy union
33
+ * @see ../lib/influence-core/strategies.ts for the exemplar this follows
34
+ */
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.assertStrategyRequirements = exports.memoryStrategyInfo = exports.listMemoryStrategies = void 0;
37
+ const define_types_js_1 = require("./define.types.js");
38
+ const capability_js_1 = require("./store/capability.js");
39
+ const WINDOW = Object.freeze({
40
+ kind: define_types_js_1.MEMORY_STRATEGIES.WINDOW,
41
+ description: 'Keeps the last `size` entries — messages on an Episodic store, facts or beats on the ' +
42
+ 'others. A pure rule: no LLM, no embeddings, nothing to configure but the number. The ' +
43
+ 'right default for short-to-medium chats.',
44
+ requirements: Object.freeze([]),
45
+ types: Object.freeze([define_types_js_1.MEMORY_TYPES.EPISODIC, define_types_js_1.MEMORY_TYPES.SEMANTIC, define_types_js_1.MEMORY_TYPES.NARRATIVE]),
46
+ });
47
+ const BUDGET = Object.freeze({
48
+ kind: define_types_js_1.MEMORY_STRATEGIES.BUDGET,
49
+ description: 'Injects as many recent entries as fit a token budget, and injects none at all when the ' +
50
+ 'budget is below the floor. Free — the count is estimated, not modelled by a tokenizer ' +
51
+ 'call. The decision (pick / skip-empty / skip-no-budget) is recorded as branch evidence.',
52
+ requirements: Object.freeze([]),
53
+ types: Object.freeze([define_types_js_1.MEMORY_TYPES.EPISODIC]),
54
+ });
55
+ const SUMMARIZE = Object.freeze({
56
+ kind: define_types_js_1.MEMORY_STRATEGIES.SUMMARIZE,
57
+ description: 'Names a cheap LLM to compress older turns while the most recent `recent` turns stay ' +
58
+ 'raw. HONEST CAVEAT (9.5.0): the compression stage exists but is not composed into the ' +
59
+ 'pipeline `defineMemory` builds, so what runs today is the last `recent` entries, ' +
60
+ 'verbatim — the `llm` is required and not yet called. Until it is wired, ' +
61
+ '`.compaction({ summarizer, model })` on the Agent is the summarizer that does run.',
62
+ requirements: Object.freeze(['llm']),
63
+ types: Object.freeze([define_types_js_1.MEMORY_TYPES.EPISODIC]),
64
+ });
65
+ const TOP_K = Object.freeze({
66
+ kind: define_types_js_1.MEMORY_STRATEGIES.TOP_K,
67
+ description: 'Embeds the query and returns the closest stored entries above a threshold — strictly: ' +
68
+ 'when nothing clears the threshold, nothing is injected. The embedder is exempt for a ' +
69
+ "store that declares `ranksBy: 'server-text'`, which takes the question as words and " +
70
+ 'ranks it on its own side.',
71
+ requirements: Object.freeze(['embedder', 'vector-store']),
72
+ types: Object.freeze([define_types_js_1.MEMORY_TYPES.SEMANTIC, define_types_js_1.MEMORY_TYPES.CAUSAL]),
73
+ });
74
+ const EXTRACT = Object.freeze({
75
+ kind: define_types_js_1.MEMORY_STRATEGIES.EXTRACT,
76
+ description: 'Distills each turn into structured facts or narrative beats on the WRITE side. ' +
77
+ "`extractor: 'pattern'` is regex heuristics — free, no dependency, which is why this " +
78
+ "strategy requires nothing. `extractor: 'llm'` additionally needs an `llm`, and is " +
79
+ 'refused without one.',
80
+ requirements: Object.freeze([]),
81
+ types: Object.freeze([define_types_js_1.MEMORY_TYPES.SEMANTIC, define_types_js_1.MEMORY_TYPES.NARRATIVE]),
82
+ });
83
+ const DECAY = Object.freeze({
84
+ kind: define_types_js_1.MEMORY_STRATEGIES.DECAY,
85
+ description: 'Lets old memory fade: each loaded entry is scored by age against a half-life and ' +
86
+ 'dropped below `minScore`, so a long-running agent stops rehearsing last month. Free — ' +
87
+ 'arithmetic on a timestamp, no LLM and no embeddings.',
88
+ requirements: Object.freeze([]),
89
+ types: Object.freeze([define_types_js_1.MEMORY_TYPES.EPISODIC]),
90
+ });
91
+ const HYBRID = Object.freeze({
92
+ kind: define_types_js_1.MEMORY_STRATEGIES.HYBRID,
93
+ description: 'Composes several strategies on one store. It requires nothing of its own — each ' +
94
+ 'sub-strategy carries its own requirements, and every one of them is checked at build ' +
95
+ 'so a hybrid cannot smuggle in a strategy this deployment cannot run.',
96
+ requirements: Object.freeze([]),
97
+ types: Object.freeze([define_types_js_1.MEMORY_TYPES.EPISODIC, define_types_js_1.MEMORY_TYPES.SEMANTIC, define_types_js_1.MEMORY_TYPES.NARRATIVE]),
98
+ });
99
+ const BUILT_IN = Object.freeze([
100
+ WINDOW,
101
+ BUDGET,
102
+ SUMMARIZE,
103
+ TOP_K,
104
+ EXTRACT,
105
+ DECAY,
106
+ HYBRID,
107
+ ]);
108
+ /**
109
+ * Every memory strategy, described — cheapest first, in the order the docs
110
+ * teach them. Frozen: a host renders its picker straight off this.
111
+ *
112
+ * @example Offer only what this deployment can actually run
113
+ * ```ts
114
+ * import { listMemoryStrategies } from 'agentfootprint/memory';
115
+ *
116
+ * const available = new Set(embedder ? ['embedder', 'vector-store'] : []);
117
+ * const offerable = listMemoryStrategies().filter(
118
+ * (s) => s.types.includes('episodic') && s.requirements.every((r) => available.has(r)),
119
+ * );
120
+ * // → window, budget, decay, hybrid — the four that cost nothing to run.
121
+ * ```
122
+ */
123
+ function listMemoryStrategies() {
124
+ return BUILT_IN;
125
+ }
126
+ exports.listMemoryStrategies = listMemoryStrategies;
127
+ /**
128
+ * One strategy's description by `kind`, or `undefined` for a string that is
129
+ * not a strategy at all.
130
+ */
131
+ function memoryStrategyInfo(kind) {
132
+ return BUILT_IN.find((s) => s.kind === kind);
133
+ }
134
+ exports.memoryStrategyInfo = memoryStrategyInfo;
135
+ // ─── The guard that makes the declaration true ──────────────────────
136
+ /**
137
+ * Refuse a config whose strategy declares a requirement the caller did not
138
+ * supply — by name, at BUILD, with the fix in the message.
139
+ *
140
+ * WHY it runs LAST, after the pipeline dispatch rather than before it: the
141
+ * dispatch's own refusals know more than this one does. `defineMemory`'s
142
+ * TOP_K arm knows about the `ranksBy: 'server-text'` exemption AND about the
143
+ * write half it takes away; the CAUSAL arm knows that exemption does not
144
+ * apply to it; the EXTRACT arm knows the `llm` matters only for
145
+ * `extractor: 'llm'`. Speaking first would replace those messages with a
146
+ * blunter one. This is the BACKSTOP: it says something only when nothing
147
+ * better already did, and its job is that no declared requirement can go
148
+ * unchecked — the failure it exists to prevent is a missing dependency
149
+ * surfacing as a `TypeError` from five frames inside a stage, halfway
150
+ * through a paid run.
151
+ *
152
+ * @param options the config as written by the caller.
153
+ * @param site the call to name in the message, e.g. `defineMemory[chat]`.
154
+ */
155
+ function assertStrategyRequirements(options, site) {
156
+ checkStrategy(options.strategy, options.type, options.store, site, undefined);
157
+ }
158
+ exports.assertStrategyRequirements = assertStrategyRequirements;
159
+ function checkStrategy(strategy, type, store, site, insideHybrid) {
160
+ const info = memoryStrategyInfo(strategy.kind);
161
+ // An unknown kind, or a kind this TYPE does not accept, is not this guard's
162
+ // business — the dispatch refuses both, and names the alternative.
163
+ if (!info || !info.types.includes(type))
164
+ return;
165
+ for (const requirement of info.requirements) {
166
+ if (isSatisfied(requirement, strategy, type, store, site))
167
+ continue;
168
+ throw new Error(missingRequirement(requirement, info, site, insideHybrid === true));
169
+ }
170
+ if (strategy.kind === define_types_js_1.MEMORY_STRATEGIES.HYBRID) {
171
+ // A hybrid is only as runnable as its parts, and the pipelines it builds
172
+ // do not all read every part — so the parts are checked HERE, where the
173
+ // caller's words still exist, rather than trusted to whatever the
174
+ // composed pipeline happens to consume.
175
+ for (const sub of strategy.strategies)
176
+ checkStrategy(sub, type, store, site, true);
177
+ }
178
+ }
179
+ function isSatisfied(requirement, strategy, type, store, site) {
180
+ // Read through a structural shape: the union's arms declare each other's
181
+ // fields as `never`, so the union itself cannot be asked these questions.
182
+ const s = strategy;
183
+ switch (requirement) {
184
+ case 'embedder':
185
+ // The one exemption, and it is a fact about the STORE: a backend that
186
+ // ranks TEXT on its own side has nothing here to embed. It does not
187
+ // extend to CAUSAL, which matches a stored query VECTOR — there is
188
+ // always a vector to produce there.
189
+ if (type !== define_types_js_1.MEMORY_TYPES.CAUSAL && (0, capability_js_1.resolveRankingMode)(store, site) === 'server-text') {
190
+ return true;
191
+ }
192
+ return s.embedder !== undefined;
193
+ case 'vector-store':
194
+ return typeof store.search === 'function';
195
+ case 'llm':
196
+ return s.llm !== undefined;
197
+ default:
198
+ // A requirement this library does not know how to check is not a
199
+ // requirement it may fail the caller over.
200
+ return true;
201
+ }
202
+ }
203
+ function missingRequirement(requirement, info, site, insideHybrid) {
204
+ const where = insideHybrid
205
+ ? `the \`${info.kind}\` strategy inside \`hybrid\``
206
+ : `the \`${info.kind}\` strategy`;
207
+ const declared = ` Every strategy declares what it needs — \`listMemoryStrategies()\` reports ` +
208
+ `\`requirements: [${info.requirements.map((r) => `'${r}'`).join(', ')}]\` for this one, so a ` +
209
+ `host can check before it offers the choice.\n`;
210
+ switch (requirement) {
211
+ case 'embedder':
212
+ return (`${site}: ${where} needs an \`embedder\` and none was passed — somebody has to turn ` +
213
+ `the query into a vector before a store can rank it.\n` +
214
+ declared +
215
+ ` Fix: pass \`embedder\` on the strategy (\`mockEmbedder()\` for dev/tests), or omit ` +
216
+ `it only for a store that declares \`ranksBy: 'server-text'\` and embeds on its own side.`);
217
+ case 'vector-store':
218
+ return (`${site}: ${where} needs a store that can \`search()\`, and the store you passed does ` +
219
+ `not implement one — nothing would ever rank the entries written to it.\n` +
220
+ declared +
221
+ ` Fix: pass a vector-capable store — \`InMemoryStore\` (dev/tests), ` +
222
+ `\`sqliteVectorStore\` (durable, one file), \`pgVectorStore\`, \`s3VectorsStore\`, or any ` +
223
+ `adapter that ranks the vectors you give it.\n` +
224
+ ` Or: keep this store and pick a strategy that ranks nothing — \`window\` (last N) ` +
225
+ `or \`budget\` (fit-to-tokens).`);
226
+ case 'llm':
227
+ return (`${site}: ${where} names an \`llm\` and none was passed.\n` +
228
+ declared +
229
+ ` Fix: pass \`llm\` on the strategy — a cheap model is the point of it.\n` +
230
+ ` Or: use \`{ kind: 'window', size: <recent> }\`, which needs nothing, and which is ` +
231
+ `what this strategy's read path does today (its compression stage is not yet wired).`);
232
+ default:
233
+ return (`${site}: ${where} declares \`${requirement}\` and it was not supplied.\n` +
234
+ declared +
235
+ ` Fix: supply it, or pick a strategy whose \`requirements\` are empty.`);
236
+ }
237
+ }
238
+ //# sourceMappingURL=strategies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/memory/strategies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * CredentialRecorder — forwards `agentfootprint.credential.*` emits to the
4
+ * dispatcher.
5
+ *
6
+ * Pattern: Factory over EmitBridge.
7
+ * Role: Bridges the declare-and-push credential lifecycle — requested,
8
+ * acquired, authorization_required, failed — so consumers observe it
9
+ * via `agent.on('agentfootprint.credential.failed', …)` and
10
+ * `agent.on('agentfootprint.credential.*', …)`.
11
+ * Emits: agentfootprint.credential.{requested,acquired,authorization_required,failed}
12
+ *
13
+ * ── Why this did not exist until 9.4.0, and what it cost ────────────────────
14
+ * The credential domain has had payload types, registry entries and real
15
+ * `typedEmit` call sites since 6.11.0 — and NO BRIDGE. Every one of those
16
+ * events was raised onto footprintjs's emit channel and stopped there: a raw
17
+ * `agent.attach()` recorder saw them, and `agent.on(...)` never did. So the
18
+ * documented way to watch for credential failures observed nothing, and an AWS
19
+ * identity adapter that failed 100% of its calls for two minor versions did so
20
+ * in a silence that read exactly like health.
21
+ *
22
+ * This is the law CLAUDE.md states for a new event DOMAIN — payload + registry
23
+ * entry + `DomainWildcard` arm + a bridge attach — with the fourth part
24
+ * missing. Zero-cost when nothing fires: `EmitBridge` drops an event with no
25
+ * listener before building any meta.
26
+ */
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.credentialRecorder = void 0;
29
+ const EmitBridge_js_1 = require("./EmitBridge.js");
30
+ function credentialRecorder(options) {
31
+ return new EmitBridge_js_1.EmitBridge({
32
+ id: options.id ?? 'agentfootprint.credential-recorder',
33
+ prefix: 'agentfootprint.credential.',
34
+ dispatcher: options.dispatcher,
35
+ getRunContext: options.getRunContext,
36
+ });
37
+ }
38
+ exports.credentialRecorder = credentialRecorder;
39
+ //# sourceMappingURL=CredentialRecorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CredentialRecorder.js","sourceRoot":"","sources":["../../../src/recorders/core/CredentialRecorder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;AAEH,mDAAqE;AAMrE,SAAgB,kBAAkB,CAAC,OAAkC;IACnE,OAAO,IAAI,0BAAU,CAAC;QACpB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,oCAAoC;QACtD,MAAM,EAAE,4BAA4B;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;AACL,CAAC;AAPD,gDAOC"}