@n8n/agents 0.12.1 → 0.13.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 (198) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +22 -21
  3. package/dist/index.js +13 -13
  4. package/dist/index.js.map +1 -1
  5. package/dist/runtime/{agent-runtime.d.ts → loop/agent-runtime.d.ts} +19 -51
  6. package/dist/runtime/loop/agent-runtime.js +468 -0
  7. package/dist/runtime/loop/agent-runtime.js.map +1 -0
  8. package/dist/runtime/loop/execution-counter.d.ts +12 -0
  9. package/dist/runtime/loop/execution-counter.js +36 -0
  10. package/dist/runtime/loop/execution-counter.js.map +1 -0
  11. package/dist/runtime/loop/generate-sink.d.ts +13 -0
  12. package/dist/runtime/loop/generate-sink.js +75 -0
  13. package/dist/runtime/loop/generate-sink.js.map +1 -0
  14. package/dist/runtime/loop/run-output-sink.d.ts +68 -0
  15. package/dist/runtime/loop/run-output-sink.js +3 -0
  16. package/dist/runtime/loop/run-output-sink.js.map +1 -0
  17. package/dist/runtime/loop/runtime-context.d.ts +38 -0
  18. package/dist/runtime/loop/runtime-context.js +188 -0
  19. package/dist/runtime/loop/runtime-context.js.map +1 -0
  20. package/dist/runtime/{runtime-helpers.d.ts → loop/runtime-helpers.d.ts} +3 -2
  21. package/dist/runtime/{runtime-helpers.js → loop/runtime-helpers.js} +4 -2
  22. package/dist/runtime/loop/runtime-helpers.js.map +1 -0
  23. package/dist/runtime/loop/stream-sink.d.ts +22 -0
  24. package/dist/runtime/loop/stream-sink.js +144 -0
  25. package/dist/runtime/loop/stream-sink.js.map +1 -0
  26. package/dist/runtime/{mcp-connection.d.ts → mcp/mcp-connection.d.ts} +2 -2
  27. package/dist/runtime/{mcp-connection.js → mcp/mcp-connection.js} +16 -2
  28. package/dist/runtime/mcp/mcp-connection.js.map +1 -0
  29. package/dist/runtime/{mcp-tool-resolver.d.ts → mcp/mcp-tool-resolver.d.ts} +1 -1
  30. package/dist/runtime/mcp/mcp-tool-resolver.js.map +1 -0
  31. package/dist/runtime/{episodic-memory-defaults.d.ts → memory/episodic-memory-defaults.d.ts} +1 -1
  32. package/dist/runtime/{episodic-memory-defaults.js → memory/episodic-memory-defaults.js} +2 -2
  33. package/dist/runtime/memory/episodic-memory-defaults.js.map +1 -0
  34. package/dist/runtime/{episodic-memory.d.ts → memory/episodic-memory.d.ts} +4 -4
  35. package/dist/runtime/{episodic-memory.js → memory/episodic-memory.js} +2 -2
  36. package/dist/runtime/memory/episodic-memory.js.map +1 -0
  37. package/dist/runtime/memory/memory-lifecycle.js.map +1 -0
  38. package/dist/runtime/memory/memory-orchestrator.d.ts +27 -0
  39. package/dist/runtime/memory/memory-orchestrator.js +232 -0
  40. package/dist/runtime/memory/memory-orchestrator.js.map +1 -0
  41. package/dist/runtime/{memory-store.d.ts → memory/memory-store.d.ts} +4 -4
  42. package/dist/runtime/{memory-store.js → memory/memory-store.js} +1 -1
  43. package/dist/runtime/memory/memory-store.js.map +1 -0
  44. package/dist/runtime/{observation-log-defaults.d.ts → memory/observation-log-defaults.d.ts} +2 -2
  45. package/dist/runtime/{observation-log-defaults.js → memory/observation-log-defaults.js} +6 -6
  46. package/dist/runtime/memory/observation-log-defaults.js.map +1 -0
  47. package/dist/runtime/{observation-log-observer.d.ts → memory/observation-log-observer.d.ts} +6 -5
  48. package/dist/runtime/{observation-log-observer.js → memory/observation-log-observer.js} +6 -2
  49. package/dist/runtime/memory/observation-log-observer.js.map +1 -0
  50. package/dist/runtime/{observation-log-reflector.d.ts → memory/observation-log-reflector.d.ts} +2 -2
  51. package/dist/runtime/{observation-log-reflector.js → memory/observation-log-reflector.js} +4 -6
  52. package/dist/runtime/memory/observation-log-reflector.js.map +1 -0
  53. package/dist/runtime/{observation-log-renderer.d.ts → memory/observation-log-renderer.d.ts} +1 -1
  54. package/dist/runtime/{observation-log-renderer.js → memory/observation-log-renderer.js} +1 -1
  55. package/dist/runtime/memory/observation-log-renderer.js.map +1 -0
  56. package/dist/runtime/{observation-log-store.d.ts → memory/observation-log-store.d.ts} +2 -1
  57. package/dist/runtime/{observation-log-store.js → memory/observation-log-store.js} +1 -0
  58. package/dist/runtime/memory/observation-log-store.js.map +1 -0
  59. package/dist/runtime/{scoped-memory-task-runner.d.ts → memory/scoped-memory-task-runner.d.ts} +5 -2
  60. package/dist/runtime/{scoped-memory-task-runner.js → memory/scoped-memory-task-runner.js} +2 -1
  61. package/dist/runtime/memory/scoped-memory-task-runner.js.map +1 -0
  62. package/dist/runtime/{strip-orphaned-tool-messages.d.ts → memory/strip-orphaned-tool-messages.d.ts} +1 -1
  63. package/dist/runtime/{strip-orphaned-tool-messages.js → memory/strip-orphaned-tool-messages.js} +1 -1
  64. package/dist/runtime/memory/strip-orphaned-tool-messages.js.map +1 -0
  65. package/dist/runtime/{title-generation.d.ts → memory/title-generation.d.ts} +5 -3
  66. package/dist/runtime/{title-generation.js → memory/title-generation.js} +5 -5
  67. package/dist/runtime/memory/title-generation.js.map +1 -0
  68. package/dist/runtime/model/lazy-ai.js.map +1 -0
  69. package/dist/runtime/{message-list.d.ts → model/message-list.d.ts} +3 -3
  70. package/dist/runtime/{message-list.js → model/message-list.js} +3 -3
  71. package/dist/runtime/model/message-list.js.map +1 -0
  72. package/dist/runtime/model/messages.d.ts +17 -0
  73. package/dist/runtime/{messages.js → model/messages.js} +64 -18
  74. package/dist/runtime/model/messages.js.map +1 -0
  75. package/dist/runtime/{model-factory.d.ts → model/model-factory.d.ts} +3 -2
  76. package/dist/runtime/{model-factory.js → model/model-factory.js} +3 -3
  77. package/dist/runtime/model/model-factory.js.map +1 -0
  78. package/dist/runtime/model/provider-credentials.js.map +1 -0
  79. package/dist/runtime/model/raw-usage.d.ts +11 -0
  80. package/dist/runtime/model/raw-usage.js +55 -0
  81. package/dist/runtime/model/raw-usage.js.map +1 -0
  82. package/dist/runtime/state/background-task-tracker.js.map +1 -0
  83. package/dist/runtime/{event-bus.d.ts → state/event-bus.d.ts} +2 -2
  84. package/dist/runtime/{event-bus.js → state/event-bus.js} +1 -1
  85. package/dist/runtime/state/event-bus.js.map +1 -0
  86. package/dist/runtime/{run-state.d.ts → state/run-state.d.ts} +1 -1
  87. package/dist/runtime/state/run-state.js.map +1 -0
  88. package/dist/runtime/streaming/stream-session.d.ts +21 -0
  89. package/dist/runtime/streaming/stream-session.js +67 -0
  90. package/dist/runtime/streaming/stream-session.js.map +1 -0
  91. package/dist/runtime/streaming/stream-writer-guard.d.ts +14 -0
  92. package/dist/runtime/streaming/stream-writer-guard.js +45 -0
  93. package/dist/runtime/streaming/stream-writer-guard.js.map +1 -0
  94. package/dist/runtime/{stream.d.ts → streaming/stream.d.ts} +2 -1
  95. package/dist/runtime/{stream.js → streaming/stream.js} +3 -1
  96. package/dist/runtime/streaming/stream.js.map +1 -0
  97. package/dist/runtime/telemetry/runtime-telemetry.d.ts +19 -0
  98. package/dist/runtime/telemetry/runtime-telemetry.js +174 -0
  99. package/dist/runtime/telemetry/runtime-telemetry.js.map +1 -0
  100. package/dist/runtime/{deferred-tool-manager.d.ts → tools/deferred-tool-manager.d.ts} +2 -2
  101. package/dist/runtime/{deferred-tool-manager.js → tools/deferred-tool-manager.js} +3 -5
  102. package/dist/runtime/tools/deferred-tool-manager.js.map +1 -0
  103. package/dist/runtime/{delegate-sub-agent-tool.d.ts → tools/delegate-sub-agent-tool.d.ts} +2 -2
  104. package/dist/runtime/{delegate-sub-agent-tool.js → tools/delegate-sub-agent-tool.js} +2 -2
  105. package/dist/runtime/tools/delegate-sub-agent-tool.js.map +1 -0
  106. package/dist/runtime/{fix-tool-call.d.ts → tools/fix-tool-call.d.ts} +1 -1
  107. package/dist/runtime/{fix-tool-call.js → tools/fix-tool-call.js} +1 -1
  108. package/dist/runtime/tools/fix-tool-call.js.map +1 -0
  109. package/dist/runtime/{sdk-owned-tool.d.ts → tools/sdk-owned-tool.d.ts} +1 -1
  110. package/dist/runtime/tools/sdk-owned-tool.js.map +1 -0
  111. package/dist/runtime/tools/sub-agent-task-path.js.map +1 -0
  112. package/dist/runtime/{tool-adapter.d.ts → tools/tool-adapter.d.ts} +1 -1
  113. package/dist/runtime/{tool-adapter.js → tools/tool-adapter.js} +4 -4
  114. package/dist/runtime/tools/tool-adapter.js.map +1 -0
  115. package/dist/runtime/tools/tool-call-executor.d.ts +86 -0
  116. package/dist/runtime/tools/tool-call-executor.js +498 -0
  117. package/dist/runtime/tools/tool-call-executor.js.map +1 -0
  118. package/dist/runtime/{write-todos-tool.d.ts → tools/write-todos-tool.d.ts} +1 -1
  119. package/dist/runtime/{write-todos-tool.js → tools/write-todos-tool.js} +1 -1
  120. package/dist/runtime/tools/write-todos-tool.js.map +1 -0
  121. package/dist/sdk/agent.d.ts +7 -1
  122. package/dist/sdk/agent.js +18 -8
  123. package/dist/sdk/agent.js.map +1 -1
  124. package/dist/sdk/eval.js +1 -1
  125. package/dist/sdk/eval.js.map +1 -1
  126. package/dist/sdk/guardrails/patterns.d.ts +3 -0
  127. package/dist/sdk/guardrails/patterns.js +95 -2
  128. package/dist/sdk/guardrails/patterns.js.map +1 -1
  129. package/dist/sdk/mcp-client.js +1 -1
  130. package/dist/sdk/mcp-client.js.map +1 -1
  131. package/dist/sdk/memory.d.ts +1 -1
  132. package/dist/sdk/memory.js +6 -6
  133. package/dist/sdk/memory.js.map +1 -1
  134. package/dist/skills/registry.js +2 -4
  135. package/dist/skills/registry.js.map +1 -1
  136. package/dist/skills/validator.js +4 -6
  137. package/dist/skills/validator.js.map +1 -1
  138. package/dist/types/sdk/agent-builder.d.ts +2 -0
  139. package/dist/types/sdk/agent.d.ts +6 -2
  140. package/dist/types/sdk/guardrail.d.ts +1 -1
  141. package/dist/types/sdk/provider.d.ts +1 -0
  142. package/dist/workspace/sandbox/daytona-auth-manager.d.ts +1 -1
  143. package/dist/workspace/sandbox/daytona-sandbox.d.ts +1 -1
  144. package/dist/workspace/sandbox/lazy-daytona.d.ts +1 -1
  145. package/dist/workspace/sandbox/lazy-daytona.js +1 -1
  146. package/dist/workspace/sandbox/lazy-daytona.js.map +1 -1
  147. package/dist/workspace/sandbox/types.d.ts +1 -1
  148. package/package.json +10 -10
  149. package/dist/runtime/agent-runtime.js +0 -1771
  150. package/dist/runtime/agent-runtime.js.map +0 -1
  151. package/dist/runtime/background-task-tracker.js.map +0 -1
  152. package/dist/runtime/deferred-tool-manager.js.map +0 -1
  153. package/dist/runtime/delegate-sub-agent-tool.js.map +0 -1
  154. package/dist/runtime/episodic-memory-defaults.js.map +0 -1
  155. package/dist/runtime/episodic-memory.js.map +0 -1
  156. package/dist/runtime/event-bus.js.map +0 -1
  157. package/dist/runtime/execution-counter.d.ts +0 -9
  158. package/dist/runtime/execution-counter.js +0 -16
  159. package/dist/runtime/execution-counter.js.map +0 -1
  160. package/dist/runtime/fix-tool-call.js.map +0 -1
  161. package/dist/runtime/lazy-ai.js.map +0 -1
  162. package/dist/runtime/mcp-connection.js.map +0 -1
  163. package/dist/runtime/mcp-tool-resolver.js.map +0 -1
  164. package/dist/runtime/memory-lifecycle.js.map +0 -1
  165. package/dist/runtime/memory-store.js.map +0 -1
  166. package/dist/runtime/message-list.js.map +0 -1
  167. package/dist/runtime/messages.d.ts +0 -6
  168. package/dist/runtime/messages.js.map +0 -1
  169. package/dist/runtime/model-factory.js.map +0 -1
  170. package/dist/runtime/observation-log-defaults.js.map +0 -1
  171. package/dist/runtime/observation-log-observer.js.map +0 -1
  172. package/dist/runtime/observation-log-reflector.js.map +0 -1
  173. package/dist/runtime/observation-log-renderer.js.map +0 -1
  174. package/dist/runtime/observation-log-store.js.map +0 -1
  175. package/dist/runtime/provider-credentials.js.map +0 -1
  176. package/dist/runtime/run-state.js.map +0 -1
  177. package/dist/runtime/runtime-helpers.js.map +0 -1
  178. package/dist/runtime/scoped-memory-task-runner.js.map +0 -1
  179. package/dist/runtime/sdk-owned-tool.js.map +0 -1
  180. package/dist/runtime/stream.js.map +0 -1
  181. package/dist/runtime/strip-orphaned-tool-messages.js.map +0 -1
  182. package/dist/runtime/sub-agent-task-path.js.map +0 -1
  183. package/dist/runtime/title-generation.js.map +0 -1
  184. package/dist/runtime/tool-adapter.js.map +0 -1
  185. package/dist/runtime/write-todos-tool.js.map +0 -1
  186. /package/dist/runtime/{mcp-tool-resolver.js → mcp/mcp-tool-resolver.js} +0 -0
  187. /package/dist/runtime/{memory-lifecycle.d.ts → memory/memory-lifecycle.d.ts} +0 -0
  188. /package/dist/runtime/{memory-lifecycle.js → memory/memory-lifecycle.js} +0 -0
  189. /package/dist/runtime/{lazy-ai.d.ts → model/lazy-ai.d.ts} +0 -0
  190. /package/dist/runtime/{lazy-ai.js → model/lazy-ai.js} +0 -0
  191. /package/dist/runtime/{provider-credentials.d.ts → model/provider-credentials.d.ts} +0 -0
  192. /package/dist/runtime/{provider-credentials.js → model/provider-credentials.js} +0 -0
  193. /package/dist/runtime/{background-task-tracker.d.ts → state/background-task-tracker.d.ts} +0 -0
  194. /package/dist/runtime/{background-task-tracker.js → state/background-task-tracker.js} +0 -0
  195. /package/dist/runtime/{run-state.js → state/run-state.js} +0 -0
  196. /package/dist/runtime/{sdk-owned-tool.js → tools/sdk-owned-tool.js} +0 -0
  197. /package/dist/runtime/{sub-agent-task-path.d.ts → tools/sub-agent-task-path.d.ts} +0 -0
  198. /package/dist/runtime/{sub-agent-task-path.js → tools/sub-agent-task-path.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"episodic-memory-defaults.js","sourceRoot":"","sources":["../../../src/runtime/memory/episodic-memory-defaults.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { BuiltEpisodicMemoryStore, BuiltMemory, EpisodicMemoryConfig, EpisodicMemoryEntry, EpisodicMemoryScope, EpisodicMemorySearchOptions, RetrievedEpisodicMemoryEntry } from '../types';
2
- import type { AgentExecutionCounter, AgentPersistenceOptions } from '../types/sdk/agent';
3
- import type { ObservationLogScope } from '../types/sdk/observation-log';
1
+ import type { BuiltEpisodicMemoryStore, BuiltMemory, EpisodicMemoryConfig, EpisodicMemoryEntry, EpisodicMemoryScope, EpisodicMemorySearchOptions, RetrievedEpisodicMemoryEntry } from '../../types';
2
+ import type { AgentExecutionCounter, AgentPersistenceOptions } from '../../types/sdk/agent';
3
+ import type { ObservationLogScope } from '../../types/sdk/observation-log';
4
4
  export declare const RECALL_MEMORY_TOOL_NAME = "recall_memory";
5
5
  interface NormalizedEpisodicMemoryConfig {
6
6
  topK: number;
@@ -37,7 +37,7 @@ export declare function createRecallMemoryTool(opts: {
37
37
  config: EpisodicMemoryConfig;
38
38
  scope: EpisodicMemoryScope;
39
39
  executionCounter?: AgentExecutionCounter;
40
- }): import("../types").BuiltTool;
40
+ }): import("../../types").BuiltTool;
41
41
  export declare function rankEpisodicMemoryEntries(entries: EpisodicMemoryEntry[], query: string, opts?: EpisodicMemorySearchOptions): RetrievedEpisodicMemoryEntry[];
42
42
  export declare function hashEpisodicMemoryContent(content: string): string;
43
43
  export declare function hashEpisodicMemoryEvidence(evidenceText: string): string;
@@ -46,10 +46,10 @@ exports.getEpisodicMemoryScope = getEpisodicMemoryScope;
46
46
  const crypto_1 = require("crypto");
47
47
  const zod_1 = require("zod");
48
48
  const episodic_memory_defaults_1 = require("./episodic-memory-defaults");
49
- const execution_counter_1 = require("./execution-counter");
50
49
  const memory_lifecycle_1 = require("./memory-lifecycle");
51
50
  const observation_log_renderer_1 = require("./observation-log-renderer");
52
- const tool_1 = require("../sdk/tool");
51
+ const tool_1 = require("../../sdk/tool");
52
+ const execution_counter_1 = require("../loop/execution-counter");
53
53
  exports.RECALL_MEMORY_TOOL_NAME = 'recall_memory';
54
54
  const RRF_K = 60;
55
55
  const RECENCY_RRF_WEIGHT = 1;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"episodic-memory.js","sourceRoot":"","sources":["../../../src/runtime/memory/episodic-memory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EA,0DAIC;AAED,wDAaC;AAED,gEAiBC;AAED,4DAwDC;AAED,wDAmCC;AAED,8DAqEC;AAED,8DAEC;AAED,gEAEC;AASD,wDAIC;AA9SD,mCAAoC;AACpC,6BAAwB;AAExB,yEAIoC;AACpC,yDAAoE;AACpE,yEAAkE;AAClE,yCAAsC;AAetC,iEAAyE;AAE5D,QAAA,uBAAuB,GAAG,eAAe,CAAC;AAEvD,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,MAAM,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,OAAC,CAAC,KAAK,CACf,OAAC,CAAC,MAAM,CAAC;QACR,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;QACxB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;QACvB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CACF;CACD,CAAC,CAAC;AA4BH,SAAgB,uBAAuB,CACtC,MAAwC;IAExC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC;AACzD,CAAC;AAED,SAAgB,sBAAsB,CACrC,MAAmB;IAEnB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,OAAO,CACN,QAAQ,KAAK,SAAS;QACtB,OAAO,QAAQ,CAAC,oBAAoB,KAAK,UAAU;QACnD,OAAO,QAAQ,CAAC,aAAa,KAAK,UAAU;QAC5C,OAAO,QAAQ,CAAC,eAAe,KAAK,UAAU;QAC9C,OAAO,QAAQ,CAAC,eAAe,KAAK,UAAU;QAC9C,OAAO,QAAQ,CAAC,SAAS,KAAK,UAAU;QACxC,OAAO,QAAQ,CAAC,SAAS,KAAK,UAAU,CACxC,CAAC;AACH,CAAC;AAED,SAAgB,0BAA0B,CACzC,MAA4B;IAE5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO;QACN,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,wDAA6B;QAClD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,sEAA2C;QACxF,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,QAAQ;QACjD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,qBAAqB,EACpB,MAAM,CAAC,OAAO,EAAE,qBAAqB,IAAI,0EAA+C;KACzF,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC7C,IAAkC;IAElC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAE5F,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAE5E,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAEvF,MAAM,oBAAoB,GAAG,IAAA,+CAAoB,EAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IACtE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAC/D,IAAI,CAAC,KAAK,EACV,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAClD,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CACvC,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE;QAC3B,YAAY;QACZ,oBAAoB;QACpB,eAAe;QACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACvC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,KAAK,CAC5E,CAAC,EACD,UAAU,CAAC,gBAAgB,CAC3B,CAAC;IAEF,MAAM,YAAY,GAA0B,EAAE,CAAC;IAC/C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,IAAI,GAAC,CAAC;QACzC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC;YAC7C,KAAK,EAAE,UAAU,CAAC,QAAQ;YAC1B,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;SAChD,CAAC,CAAC;QACH,IAAA,gDAA4B,EAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAC3D,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAClF,IAAI,KAAK;gBAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,2BAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC9E,OAAO;QACN,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,YAAY,CAAC,MAAM;QACnC,mBAAmB,EAAE,YAAY,CAAC,MAAM;KACxC,CAAC;AACH,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAKtC;IACA,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE3D,OAAO,IAAI,WAAI,CAAC,+BAAuB,CAAC;SACtC,WAAW,CACX,mMAAmM,CACnM;SACA,iBAAiB,CAAC,UAAU,CAAC,qBAAqB,CAAC;SACnD,KAAK,CAAC,uBAAuB,CAAC;SAC9B,MAAM,CAAC,wBAAwB,CAAC;SAChC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAA+B,EAAE;QACzD,MAAM,EAAE,KAAK,EAAE,GAAG,wDAAa,IAAI,GAAC,CAAC;QACrC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC;YACxD,KAAK,EAAE,UAAU,CAAC,QAAQ;YAC1B,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,IAAA,gDAA4B,EAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE;YAC3E,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,cAAc;SACd,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACpD,CAAC,CAAC;SACD,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvC,OAAO,EAAE,2BAA2B,KAAK,CAAC,OAAO,EAAE;YACnD,SAAS,EAAE,KAAK,CAAC,SAAS;SAC1B,CAAC,CAAC;KACH,CAAC,CAAC;SACF,KAAK,EAAE,CAAC;AACX,CAAC;AAED,SAAgB,yBAAyB,CACxC,OAA8B,EAC9B,KAAa,EACb,OAAoC,EAAE;IAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,wDAA6B,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,UAAU;SACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;SACtF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,UAAU;SACvB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChB,KAAK;QACL,KAAK,EACJ,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS;YACrC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC;YACxD,CAAC,CAAC,CAAC;KACL,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,0BAA0B,CAAC;SAC1D,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;QAC3B,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;KACtC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,UAAU;SACxB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC5C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,IAAI,GAAG,EAGnB,CAAC;IACJ,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QACzC,KAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QACvC,KAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,CAAC,QAAQ,IAAI,kBAAkB,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;SACrC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChB,GAAG,KAAK,CAAC,KAAK;QACd,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,QAAQ;KAC1B,CAAC,CAAC;SACF,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU;QAC3B,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CACpE;SACA,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAAe;IACxD,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,SAAgB,0BAA0B,CAAC,YAAoB;IAC9D,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,0BAA0B,CAClC,WAAgD;IAEhD,IAAI,CAAC,WAAW,EAAE,UAAU;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC;AAC/C,CAAC;AAED,SAAgB,sBAAsB,CACrC,WAAgD;IAEhD,OAAO,0BAA0B,CAAC,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,wBAAwB,CACtC,MAA8C,EAC9C,KAA0B;IAE1B,IACC,CAAC,CAAC,yBAAyB,IAAI,MAAM,CAAC;QACtC,OAAO,MAAM,CAAC,uBAAuB,KAAK,UAAU,EACnD,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,iBAAiB,GAAG,MAKxB,CAAC;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QAChC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KACrE,CAAC,CAAC;IACH,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM,CACnB,CAAC,KAAK,EAAE,EAAE,CACT,aAAa,CACZ,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAC5C;QACC,SAAS,EAAE,MAAM,CAAC,+BAA+B;QACjD,EAAE,EAAE,MAAM,CAAC,wBAAwB;KACnC,CACD,GAAG,CAAC,CACN,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC3B,IAAkC,EAClC,MAAsC,EACtC,SAA6B,EAC7B,SAAmB;IAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACnC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CACrD;QACC,GAAG,IAAI,CAAC,KAAK;QACb,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,WAAW,EAAE,yBAAyB,CAAC,SAAS,CAAC,OAAO,CAAC;QACzD,SAAS;QACT,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,GAAG;KACf,EACD,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,YAAY,EAAE,MAAM,CAAC,QAAQ;QAC7B,SAAS,EAAE,GAAG;KACd,CAAC,CAAC,CACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,2BAA2B,CACzC,IAAkC,EAClC,MAAsC,EACtC,YAAmC,EACnC,YAAmC;IAEnC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO;IAC5B,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACvF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7F,MAAM,UAAU,GAAG,iCAAiC,CACnD,OAAO,EACP,MAAM,MAAM,CAAC,OAAO,CAAC;QACpB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE;QAC3B,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,EAAE,OAAO;QAChB,OAAO;QACP,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACvC,CAAC,CACF,CAAC;IACF,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE1E,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE,IAAI,eAAe,GAAe,EAAE,CAAC;IACrC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,IAAI,GAAC,CAAC;QACzC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC;YAC7C,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,MAAM,EAAE,aAAa;SACrB,CAAC,CAAC;QACH,eAAe,GAAG,UAAU,CAAC;QAC7B,IAAA,gDAA4B,EAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE;QACtD,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9C,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE;gBACN,GAAG,IAAI,CAAC,KAAK;gBACb,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC;gBACrD,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC;gBACjC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE;gBACjC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE;aAClC;SACD,CAAC,CAAC;KACH,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CACpC,IAAkC,EAClC,MAAsC,EACtC,YAAmC,EACnC,YAAmC;IAEnC,MAAM,KAAK,GAAG;QACb,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7C,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE;QAC3E,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;KAC/B,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QACrE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,iCAAiC,CACzC,aAAoC,EACpC,UAAoC;IAEpC,MAAM,SAAS,GAAG,IAAI,GAAG,CACxB,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CACnF,CAAC;IACF,OAAO,IAAA,iDAA8B,EAGnC;QACD,SAAS;QACT,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,cAAc,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrD,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CACnC,MAA8C,EAC9C,KAA0B,EAC1B,YAAmC;IAEnC,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC/B,GAAG,KAAK;QACR,wBAAwB,EAAE,IAAI,CAAC,EAAE;QACjC,+BAA+B,EAAE,IAAI,CAAC,SAAS;KAC/C,CAAC,CAAC;AACJ,CAAC;AAUD,SAAS,kBAAkB,CAC1B,UAA+C,EAC/C,YAAmC;IAEnC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/D,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACnD,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;YACnC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,OAAO;aACxB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;aACvE,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,IAAI,uBAAuB,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;YAAE,SAAS;QACzE,KAAK,CAAC,IAAI,CAAC;YACV,OAAO;YACP,OAAO;SACP,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAe,EAAE,QAAgB,EAAE,UAAkB;IACrF,MAAM,IAAI,GAAG,GAAG,OAAO,KAAK,QAAQ,KAAK,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;IACpE,IAAI,CAAC,iDAAiD,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhF,OAAO;QACN,mGAAmG;QACnG,+BAA+B;QAC/B,4BAA4B;QAC5B,oDAAoD;QACpD,kCAAkC;KAClC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC7B,OAAO,IAAI;SACT,WAAW,EAAE;SACb,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,YAAY,CAAC,WAAqB,EAAE,WAAqB;IACjE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/E,OAAO,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAW,EAAE,CAAW;IACjD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3B,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAClC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACnD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA4D;IACxF,OAAO,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,SAAS,oBAAoB,CAC5B,CAAgD,EAChD,CAAgD;IAEhD,OAAO,CACN,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QACjB,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAC/E,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACrB,CAAkC,EAClC,CAAkC;IAElC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACxD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,iBAAiB,CACzB,KAAmC;IAEnC,OAAO;QACN,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE;QACxC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC5B,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA0B;IACnD,OAAO;QACN,GAAG,KAAK;QACR,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;KACb,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-lifecycle.js","sourceRoot":"","sources":["../../../src/runtime/memory/memory-lifecycle.ts"],"names":[],"mappings":";;AAOA,oDAEC;AAED,sDAEC;AAED,4DAKC;AAED,kDAGC;AAED,oDAGC;AAED,0DAGC;AAED,sCASC;AAED,wEA8BC;AAvED,SAAgB,oBAAoB;IACnC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,SAAgB,qBAAqB;IACpC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC;AAED,SAAgB,wBAAwB,CAAC,YAAoB;IAI5D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAC/C,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAA2B;IAC9D,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;IACxB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAC3B,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAA2B;IAC/D,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAC3B,CAAC;AAED,SAAgB,uBAAuB,CAAC,KAA2B,EAAE,YAAoB;IACxF,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC;IAC5B,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;AACnC,CAAC;AAED,SAAgB,aAAa,CAAC,MAAwB;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAgB,8BAA8B,CAG5C,IAKD;IACA,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,KAAK,GAAc,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CACvD,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAChD,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEtC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,KAAK,MAAM,EAAE,IAAI,UAAU;YAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED,OAAO;QACN,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvF,KAAK;KACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { AgentPersistenceOptions, ExecutionOptions, RunOptions } from '../../types/sdk/agent';
2
+ import type { AgentDbMessage } from '../../types/sdk/message';
3
+ import type { AgentRuntimeConfig } from '../loop/agent-runtime';
4
+ import type { AgentMessageList } from '../model/message-list';
5
+ import type { BackgroundTaskTracker } from '../state/background-task-tracker';
6
+ import type { AgentEventBus } from '../state/event-bus';
7
+ export declare class MemoryOrchestrator {
8
+ private readonly config;
9
+ private readonly backgroundTasks;
10
+ private readonly eventBus;
11
+ private memoryTasks;
12
+ private episodicMemoryTasksByResource;
13
+ constructor(config: AgentRuntimeConfig, backgroundTasks: BackgroundTaskTracker, eventBus: AgentEventBus);
14
+ loadHistoryMessages(persistence: AgentPersistenceOptions): Promise<AgentDbMessage[]>;
15
+ private hasActiveObservations;
16
+ loadInto(list: AgentMessageList, options: (RunOptions & ExecutionOptions) | undefined): Promise<void>;
17
+ setListObservationLogMemory(list: AgentMessageList, options: AgentPersistenceOptions | undefined): Promise<void>;
18
+ saveToMemory(list: AgentMessageList, options: (RunOptions & ExecutionOptions) | undefined): Promise<void>;
19
+ private scheduleObservationLogJobs;
20
+ private scheduleEpisodicMemoryJob;
21
+ private scheduleEpisodicMemoryTask;
22
+ private runEpisodicMemoryTask;
23
+ private releaseEpisodicMemoryTaskLock;
24
+ private scheduleMemoryTask;
25
+ private getMemoryTaskRunner;
26
+ private getObservationLogScope;
27
+ }
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoryOrchestrator = void 0;
4
+ const episodic_memory_1 = require("./episodic-memory");
5
+ const logger_1 = require("../logger");
6
+ const memory_store_1 = require("./memory-store");
7
+ const observation_log_observer_1 = require("./observation-log-observer");
8
+ const observation_log_reflector_1 = require("./observation-log-reflector");
9
+ const observation_log_renderer_1 = require("./observation-log-renderer");
10
+ const observation_log_store_1 = require("./observation-log-store");
11
+ const scoped_memory_task_runner_1 = require("./scoped-memory-task-runner");
12
+ const strip_orphaned_tool_messages_1 = require("./strip-orphaned-tool-messages");
13
+ const DEFAULT_MEMORY_TASK_LOCK_TTL_MS = 30_000;
14
+ const logger = (0, logger_1.createFilteredLogger)();
15
+ function hasFunctionProperty(value, property) {
16
+ return property in value && typeof Reflect.get(value, property) === 'function';
17
+ }
18
+ function hasObservationLogObserverMemory(memory) {
19
+ return ((0, observation_log_store_1.hasObservationLogStore)(memory) &&
20
+ hasFunctionProperty(memory, 'getMessagesForObservationScope') &&
21
+ hasFunctionProperty(memory, 'getCursor') &&
22
+ hasFunctionProperty(memory, 'setCursor'));
23
+ }
24
+ class MemoryOrchestrator {
25
+ constructor(config, backgroundTasks, eventBus) {
26
+ this.config = config;
27
+ this.backgroundTasks = backgroundTasks;
28
+ this.eventBus = eventBus;
29
+ this.episodicMemoryTasksByResource = new Map();
30
+ }
31
+ async loadHistoryMessages(persistence) {
32
+ const memory = this.config.memory;
33
+ if (!memory)
34
+ return [];
35
+ const { threadId, resourceId } = persistence;
36
+ if (this.config.observationalMemory && hasObservationLogObserverMemory(memory)) {
37
+ const cursor = await memory.getCursor(threadId);
38
+ if (cursor && (await this.hasActiveObservations(memory, threadId))) {
39
+ return await memory.getMessagesForObservationScope(threadId, {
40
+ since: {
41
+ sinceCreatedAt: cursor.lastObservedAt,
42
+ sinceMessageId: cursor.lastObservedMessageId,
43
+ },
44
+ });
45
+ }
46
+ }
47
+ return await memory.getMessages(threadId, {
48
+ resourceId,
49
+ });
50
+ }
51
+ async hasActiveObservations(memory, threadId) {
52
+ const observations = await memory.getActiveObservationLog({
53
+ observationScopeId: threadId,
54
+ limit: 1,
55
+ order: 'desc',
56
+ });
57
+ return observations.length > 0;
58
+ }
59
+ async loadInto(list, options) {
60
+ if (this.config.memory && options?.persistence?.threadId) {
61
+ const memMessages = await this.loadHistoryMessages(options.persistence);
62
+ if (memMessages.length > 0) {
63
+ list.addHistory((0, strip_orphaned_tool_messages_1.stripOrphanedToolMessages)(memMessages));
64
+ }
65
+ }
66
+ await this.setListObservationLogMemory(list, options?.persistence);
67
+ }
68
+ async setListObservationLogMemory(list, options) {
69
+ const memory = this.config.memory;
70
+ if (!memory || !options?.threadId || !(0, observation_log_store_1.hasObservationLogStore)(memory))
71
+ return;
72
+ const scope = this.getObservationLogScope(options);
73
+ const observations = await memory.getActiveObservationLog({
74
+ ...scope,
75
+ order: 'asc',
76
+ });
77
+ list.observationLogMemory =
78
+ (0, observation_log_renderer_1.renderObservationLog)(observations, {
79
+ renderTokenBudget: this.config.observationLog?.renderTokenBudget,
80
+ }) ?? undefined;
81
+ if (observations.length > 0) {
82
+ list.seedLastCreatedAt(observations[observations.length - 1].createdAt.getTime());
83
+ }
84
+ }
85
+ async saveToMemory(list, options) {
86
+ if (!this.config.memory || !options?.persistence)
87
+ return;
88
+ const delta = list.turnDelta();
89
+ if (delta.length === 0)
90
+ return;
91
+ await (0, memory_store_1.saveMessagesToThread)(this.config.memory, options.persistence.threadId, options.persistence.resourceId, delta);
92
+ const observationTasks = this.scheduleObservationLogJobs(options.persistence, options.executionCounter);
93
+ this.scheduleEpisodicMemoryJob(options.persistence, observationTasks, options.executionCounter);
94
+ }
95
+ scheduleObservationLogJobs(persistence, executionCounter) {
96
+ const { memory, observationalMemory } = this.config;
97
+ if (!memory || !observationalMemory || !(0, observation_log_store_1.hasObservationLogStore)(memory))
98
+ return [];
99
+ const scope = this.getObservationLogScope(persistence);
100
+ const runner = this.getMemoryTaskRunner(memory, observationalMemory.lockTtlMs);
101
+ const observe = observationalMemory.observe;
102
+ const observerThresholdTokens = observationalMemory.observerThresholdTokens;
103
+ const tasks = [];
104
+ if (observe &&
105
+ observerThresholdTokens !== undefined &&
106
+ hasObservationLogObserverMemory(memory)) {
107
+ tasks.push(this.scheduleMemoryTask(runner, scope, 'observer', async () => await (0, observation_log_observer_1.runObservationLogObserver)({
108
+ memory,
109
+ ...scope,
110
+ observerThresholdTokens,
111
+ observationLogTailLimit: observationalMemory.observationLogTailLimit ?? 0,
112
+ observe,
113
+ executionCounter,
114
+ })));
115
+ }
116
+ const reflect = observationalMemory.reflect;
117
+ const reflectorThresholdTokens = observationalMemory.reflectorThresholdTokens;
118
+ if (reflect && reflectorThresholdTokens !== undefined) {
119
+ tasks.push(this.scheduleMemoryTask(runner, scope, 'reflector', async () => await (0, observation_log_reflector_1.runObservationLogReflector)({
120
+ memory,
121
+ ...scope,
122
+ reflectorThresholdTokens,
123
+ reflect,
124
+ executionCounter,
125
+ })));
126
+ }
127
+ return tasks;
128
+ }
129
+ scheduleEpisodicMemoryJob(persistence, observationTasks, executionCounter) {
130
+ const { memory, episodicMemory } = this.config;
131
+ if (!memory ||
132
+ !episodicMemory ||
133
+ !(0, episodic_memory_1.isEpisodicMemoryEnabled)(episodicMemory) ||
134
+ !(0, episodic_memory_1.hasEpisodicMemoryStore)(memory) ||
135
+ !(0, observation_log_store_1.hasObservationLogStore)(memory) ||
136
+ !episodicMemory.extract) {
137
+ return;
138
+ }
139
+ const scope = (0, episodic_memory_1.getEpisodicMemoryScope)(persistence);
140
+ if (!scope)
141
+ return;
142
+ const observationScope = this.getObservationLogScope(persistence);
143
+ this.scheduleEpisodicMemoryTask(memory, scope.resourceId, async () => {
144
+ await Promise.allSettled(observationTasks);
145
+ await (0, episodic_memory_1.runEpisodicMemoryIndexer)({
146
+ memory,
147
+ config: episodicMemory,
148
+ scope,
149
+ observationScope,
150
+ threadId: persistence.threadId,
151
+ executionCounter,
152
+ });
153
+ });
154
+ }
155
+ scheduleEpisodicMemoryTask(memory, resourceId, task) {
156
+ const id = crypto.randomUUID();
157
+ const previous = this.episodicMemoryTasksByResource.get(resourceId) ?? Promise.resolve();
158
+ const done = previous
159
+ .catch(() => undefined)
160
+ .then(async () => await this.runEpisodicMemoryTask(memory, resourceId, id, task));
161
+ const queued = done.finally(() => {
162
+ if (this.episodicMemoryTasksByResource.get(resourceId) === queued) {
163
+ this.episodicMemoryTasksByResource.delete(resourceId);
164
+ }
165
+ });
166
+ this.episodicMemoryTasksByResource.set(resourceId, queued);
167
+ this.backgroundTasks.track(queued);
168
+ }
169
+ async runEpisodicMemoryTask(memory, resourceId, holderId, task) {
170
+ const taskLock = memory.episodic?.taskLock;
171
+ let lock = null;
172
+ try {
173
+ if (taskLock) {
174
+ lock = await taskLock.acquire(resourceId, {
175
+ holderId,
176
+ ttlMs: this.config.observationalMemory?.lockTtlMs ?? DEFAULT_MEMORY_TASK_LOCK_TTL_MS,
177
+ });
178
+ if (!lock)
179
+ return;
180
+ }
181
+ await task();
182
+ }
183
+ catch (error) {
184
+ const message = 'Episodic memory indexing task failed';
185
+ logger.warn(message, { error, resourceId });
186
+ this.eventBus.emit({ type: "error", message, error, source: 'episodic-memory' });
187
+ }
188
+ finally {
189
+ if (lock) {
190
+ await this.releaseEpisodicMemoryTaskLock(taskLock, lock, resourceId);
191
+ }
192
+ }
193
+ }
194
+ async releaseEpisodicMemoryTaskLock(taskLock, lock, resourceId) {
195
+ try {
196
+ await taskLock?.release(lock);
197
+ }
198
+ catch (error) {
199
+ logger.warn('Episodic memory indexing lock release failed', { error, resourceId });
200
+ }
201
+ }
202
+ async scheduleMemoryTask(runner, scope, taskKind, task) {
203
+ return await runner.schedule({ ...scope, taskKind }, task).done;
204
+ }
205
+ getMemoryTaskRunner(memory, lockTtlMs) {
206
+ this.memoryTasks ??= new scoped_memory_task_runner_1.ScopedMemoryTaskRunner({
207
+ tracker: this.backgroundTasks,
208
+ lockStore: (0, observation_log_store_1.hasObservationLogTaskLockStore)(memory) ? memory : undefined,
209
+ lockTtlMs,
210
+ onEvent: (event) => {
211
+ this.config.onMemoryTaskEvent?.(event);
212
+ if (event.type !== 'failed')
213
+ return;
214
+ const source = event.task.taskKind;
215
+ const message = `Observation log ${source} task failed`;
216
+ logger.warn(message, {
217
+ error: event.error,
218
+ observationScopeId: event.task.observationScopeId,
219
+ });
220
+ this.eventBus.emit({ type: "error", message, error: event.error, source });
221
+ },
222
+ });
223
+ return this.memoryTasks;
224
+ }
225
+ getObservationLogScope(persistence) {
226
+ return {
227
+ observationScopeId: persistence.threadId,
228
+ };
229
+ }
230
+ }
231
+ exports.MemoryOrchestrator = MemoryOrchestrator;
232
+ //# sourceMappingURL=memory-orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-orchestrator.js","sourceRoot":"","sources":["../../../src/runtime/memory/memory-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { BuiltEpisodicMemoryStore, BuiltMemory, EpisodicMemoryMethods, MemoryDescriptor, Thread } from '../types';
2
- import type { AgentDbMessage } from '../types/sdk/message';
3
- import type { ObservationCursor } from '../types/sdk/observation';
4
- import type { BuiltObservationLogStore, BuiltObservationLogTaskLockStore, NewObservationLogEntry, ObservationLogEntry, ObservationLogReadOptions, ObservationLogReflection, ObservationLogReflectionResult, ObservationLogScope, ObservationLogTaskKind, ObservationLogTaskLockHandle } from '../types/sdk/observation-log';
1
+ import type { BuiltEpisodicMemoryStore, BuiltMemory, EpisodicMemoryMethods, MemoryDescriptor, Thread } from '../../types';
2
+ import type { AgentDbMessage } from '../../types/sdk/message';
3
+ import type { ObservationCursor } from '../../types/sdk/observation';
4
+ import type { BuiltObservationLogStore, BuiltObservationLogTaskLockStore, NewObservationLogEntry, ObservationLogEntry, ObservationLogReadOptions, ObservationLogReflection, ObservationLogReflectionResult, ObservationLogScope, ObservationLogTaskKind, ObservationLogTaskLockHandle } from '../../types/sdk/observation-log';
5
5
  export declare class InMemoryMemory implements BuiltMemory, BuiltObservationLogStore, BuiltObservationLogTaskLockStore, BuiltEpisodicMemoryStore {
6
6
  private threads;
7
7
  private messagesByThread;
@@ -5,7 +5,7 @@ exports.saveMessagesToThread = saveMessagesToThread;
5
5
  const episodic_memory_1 = require("./episodic-memory");
6
6
  const memory_lifecycle_1 = require("./memory-lifecycle");
7
7
  const observation_log_reflector_1 = require("./observation-log-reflector");
8
- const observation_log_1 = require("../types/sdk/observation-log");
8
+ const observation_log_1 = require("../../types/sdk/observation-log");
9
9
  function cloneCursor(cursor) {
10
10
  return {
11
11
  ...cursor,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../../src/runtime/memory/memory-store.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ObservationLogObserveFn, ObservationLogObserverInput } from './observation-log-observer';
2
2
  import type { ObservationLogReflectFn, ObservationLogReflectorInput } from './observation-log-reflector';
3
- import type { ModelConfig } from '../types/sdk/agent';
3
+ import type { ModelConfig } from '../../types/sdk/agent';
4
4
  export declare const DEFAULT_OBSERVATION_LOG_OBSERVER_THRESHOLD_TOKENS = 500;
5
5
  export declare const DEFAULT_OBSERVATION_LOG_TAIL_LIMIT = 20;
6
6
  export declare const DEFAULT_OBSERVATION_LOG_REFLECTOR_THRESHOLD_TOKENS = 4000;
@@ -12,7 +12,7 @@ export interface CreateObservationLogObserveFnOptions {
12
12
  }
13
13
  export declare function buildObservationLogObserverPrompt(input: ObservationLogObserverInput): string;
14
14
  export declare function createObservationLogObserveFn(model: ModelConfig, options?: CreateObservationLogObserveFnOptions): ObservationLogObserveFn;
15
- export declare const DEFAULT_OBSERVATION_LOG_REFLECTOR_PROMPT = "You are reorganizing an observation log so it stays useful and under a size limit. The log is an append-only record of what happened in a conversation. Your job is to identify what to drop, merge, or replace while preserving the most important content.\n\nYou receive: the active observation log with IDs, markers, and timestamps; the current timestamp; and the token budget.\n\nMARKERS AND PRIORITY\n\nCRITICAL. Facts, decisions, identities, commitments. NEVER drop. May merge with other CRITICAL observations on the SAME topic if they restate the same thing.\nIMPORTANT. Preferences, ongoing work, recent activity. Drop ONLY if clearly superseded or redundant. Prefer merging over dropping.\nINFO. Small acknowledgments, recoverable detail, conversational filler. FIRST to drop when the log is oversized. Drop older INFO before newer INFO.\nCOMPLETION. Drop together with the parent observation when the parent is dropped. May fold into the merged observation when the parent is merged.\n\nTIEBREAKER: When two observations are equally important, keep the more recent one.\n\nEXAMPLES\n\nExample 1: Log under budget. Return empty arrays.\n\nInput:\n[obs_001] CRITICAL (14:30) User is migrating @n8n/agents from Mastra to internal SDK\n[obs_002] IMPORTANT (14:35) User adopted two-stage compression model (Observer + Reflector)\nBudget: 5000 tokens. Current: 600 tokens.\n\nOutput:\n{\"drop\": [], \"merge\": []}\n\nExample 2: Multiple CRITICAL observations restating the same fact. Merge them.\n\nInput:\n[obs_010] CRITICAL (09:00) User works at Acme on the platform team\n[obs_034] CRITICAL (10:15) User confirmed they joined Acme platform team 8 months ago\n[obs_078] CRITICAL (12:00) User leads the storage subgroup within the platform team\n\nOutput:\n{\n \"drop\": [],\n \"merge\": [\n {\n \"supersedes\": [\"obs_010\", \"obs_034\", \"obs_078\"],\n \"marker\": \"CRITICAL\",\n \"text\": \"User works at Acme on the platform team (joined 8 months ago); leads the storage subgroup.\"\n }\n ]\n}\n\nExample 3: Old INFO acknowledgments. Drop them.\n\nInput:\n[obs_001] INFO (08:00) User greeted the agent\n[obs_002] INFO (08:30) User thanked agent for an earlier explanation\n[obs_023] INFO (14:00) User confirmed they understood the recent answer\nBudget: 3000 tokens. Current: 4200 tokens.\n\nOutput:\n{\"drop\": [\"obs_001\", \"obs_002\"], \"merge\": []}\n\n(Keep the most recent acknowledgment; drop older filler. If budget pressure required it, obs_023 could also be dropped, but newer INFO stays before older INFO goes.)\n\nExample 4: IMPORTANT observation superseded by a later one.\n\nInput:\n[obs_005] IMPORTANT (10:00) User plans to use Postgres for the memory store\n[obs_044] IMPORTANT (12:30) User switched to SQLite for the memory store (changing from earlier Postgres plan)\n\nOutput:\n{\"drop\": [\"obs_005\"], \"merge\": []}\n\n(obs_044 already encodes the change explicitly; obs_005 is no longer current.)\n\nExample 5: Completion under a dropped parent.\n\nInput:\n[obs_001] IMPORTANT (10:00) User asked about hybrid retrieval implementation\n[obs_002] COMPLETION (10:30) User confirmed they understand RRF fusion\n[obs_087] IMPORTANT (14:00) User asked about Reflector design tradeoffs\n[obs_088] COMPLETION (14:30) User confirmed Reflector approach is clear\n\nOutput:\n{\"drop\": [\"obs_001\", \"obs_002\"], \"merge\": []}\n\n(Old completed Q&A pair drops together. Newer IMPORTANT + COMPLETION pair stays.)\n\nExample 6: Clusters across multiple turns of the same case. Merge.\n\nInput:\n[obs_020] IMPORTANT (11:00) Investigation: login failing intermittently for some users\n[obs_021] IMPORTANT (11:05) Auth service logs show no errors during failure window\n[obs_022] IMPORTANT (11:10) DB connection pool at 12/50; not saturated\n[obs_023] IMPORTANT (11:30) Session store identified as suspect; not yet checked\n\nOutput:\n{\n \"drop\": [],\n \"merge\": [\n {\n \"supersedes\": [\"obs_020\", \"obs_021\", \"obs_022\", \"obs_023\"],\n \"marker\": \"IMPORTANT\",\n \"text\": \"Intermittent login failure investigation: auth service logs clean, DB pool at 12/50 (ruled out). Session store identified as next suspect; not yet checked.\"\n }\n ]\n}\n\nBAD AND GOOD MERGE PATTERNS\n\nBAD: Merging across topics.\n\nInput:\n[obs_001] CRITICAL User works at Acme\n[obs_002] CRITICAL User is migrating @n8n/agents from Mastra\n\nWrong merge:\n{\n \"supersedes\": [\"obs_001\", \"obs_002\"],\n \"marker\": \"CRITICAL\",\n \"text\": \"User works at Acme and is migrating @n8n/agents from Mastra\"\n}\n\nThese are about different topics. Do NOT merge them. Leave both as separate observations.\n\nBAD: Inventing causation or content not in sources.\n\nInput:\n[obs_001] CRITICAL User uses Postgres\n[obs_002] IMPORTANT User mentioned performance issues with the workflow\n\nWrong merge:\n{\n \"supersedes\": [\"obs_001\", \"obs_002\"],\n \"marker\": \"CRITICAL\",\n \"text\": \"User has Postgres performance issues affecting workflows\"\n}\n\nThe sources do not state Postgres caused the performance issues. NEVER invent a causal link the observations do not state. Leave both as separate observations.\n\nBAD: Dropping CRITICAL because it feels redundant when it is not duplicated.\n\nInput:\n[obs_001] CRITICAL User works at Acme\n[obs_002] CRITICAL User joined Acme in March 2025\n\nWrong:\n{\"drop\": [\"obs_001\"], \"merge\": []}\n\nThese are not duplicates. obs_001 is current employment; obs_002 is when it started. Both are durable facts. Merge into a single observation instead, never drop.\n\nCorrect:\n{\n \"drop\": [],\n \"merge\": [\n {\n \"supersedes\": [\"obs_001\", \"obs_002\"],\n \"marker\": \"CRITICAL\",\n \"text\": \"User works at Acme; joined in March 2025.\"\n }\n ]\n}\n\nGOOD: Combining genuinely redundant facts.\n\nInput:\n[obs_001] IMPORTANT User prefers concise responses\n[obs_034] IMPORTANT User asked agent to keep answers shorter\n[obs_087] IMPORTANT User mentioned again that the previous response was too long\n\nOutput:\n{\n \"drop\": [],\n \"merge\": [\n {\n \"supersedes\": [\"obs_001\", \"obs_034\", \"obs_087\"],\n \"marker\": \"IMPORTANT\",\n \"text\": \"User prefers concise responses (reinforced multiple times in this conversation).\"\n }\n ]\n}\n\nOUTPUT FORMAT\n\nReturn JSON with two arrays:\n\n{\n \"drop\": [\"obs_id_1\", \"obs_id_2\"],\n \"merge\": [\n {\n \"supersedes\": [\"obs_id_3\", \"obs_id_4\"],\n \"marker\": \"IMPORTANT\",\n \"text\": \"Merged observation that replaces the listed ones\"\n }\n ]\n}\n\nThe merged observation supersedes its sources. The drop array drops observations without replacement. An observation ID may appear in EITHER drop OR merge.supersedes, never both. Do not invent IDs that were not in the input.\n\nGOALS\n\n- Keep the active log under the token budget.\n- Preserve every CRITICAL unless it is genuinely duplicated by another CRITICAL.\n- Preserve recent IMPORTANT unless clearly superseded.\n- Drop INFO aggressively, oldest first.\n- Merge clusters of related observations into denser ones.\n- Preserve uncertainty: if a source says \"user suspects X\", the merged observation must also say \"suspects\", not \"X is true\".\n- NEVER invent content, causation, or attributions not present in the source observations.\n\nCONSERVATISM\n\nIf the log is already under budget AND no clear duplicates exist, return {\"drop\": [], \"merge\": []}. Do not restructure for the sake of restructuring. The Reflector is for reducing the log, not for prettifying it.";
15
+ export declare const DEFAULT_OBSERVATION_LOG_REFLECTOR_PROMPT = "You are reorganizing an observation log so it stays useful and under a size limit. The log is an append-only record of what happened in a conversation. Your job is to identify what to drop, merge, or replace while preserving the most important content.\n\nYou receive: the active observation log with IDs, markers, and timestamps; the current timestamp; and the token budget.\n\nMARKERS AND PRIORITY\n\nCRITICAL. Facts, decisions, identities, commitments. NEVER drop. May merge with other CRITICAL observations on the SAME topic if they restate the same thing.\nIMPORTANT. Preferences, ongoing work, recent activity. Drop ONLY if clearly superseded or redundant. Prefer merging over dropping.\nINFO. Small acknowledgments, recoverable detail, conversational filler. FIRST to drop when the log is oversized. Drop older INFO before newer INFO.\nCOMPLETION. Drop together with the parent observation when the parent is dropped. May fold into the merged observation when the parent is merged.\n\nTIEBREAKER: When two observations are equally important, keep the more recent one.\n\nEXAMPLES\n\nExample 1: Log under budget. Return empty arrays.\n\nInput:\n[obs_001] CRITICAL (14:30) User is migrating the backend from REST to gRPC\n[obs_002] IMPORTANT (14:35) User adopted two-stage compression model (Observer + Reflector)\nBudget: 5000 tokens. Current: 600 tokens.\n\nOutput:\n{\"drop\": [], \"merge\": []}\n\nExample 2: Multiple CRITICAL observations restating the same fact. Merge them.\n\nInput:\n[obs_010] CRITICAL (09:00) User works at Acme on the platform team\n[obs_034] CRITICAL (10:15) User confirmed they joined Acme platform team 8 months ago\n[obs_078] CRITICAL (12:00) User leads the storage subgroup within the platform team\n\nOutput:\n{\n \"drop\": [],\n \"merge\": [\n {\n \"supersedes\": [\"obs_010\", \"obs_034\", \"obs_078\"],\n \"marker\": \"CRITICAL\",\n \"text\": \"User works at Acme on the platform team (joined 8 months ago); leads the storage subgroup.\"\n }\n ]\n}\n\nExample 3: Old INFO acknowledgments. Drop them.\n\nInput:\n[obs_001] INFO (08:00) User greeted the agent\n[obs_002] INFO (08:30) User thanked agent for an earlier explanation\n[obs_023] INFO (14:00) User confirmed they understood the recent answer\nBudget: 3000 tokens. Current: 4200 tokens.\n\nOutput:\n{\"drop\": [\"obs_001\", \"obs_002\"], \"merge\": []}\n\n(Keep the most recent acknowledgment; drop older filler. If budget pressure required it, obs_023 could also be dropped, but newer INFO stays before older INFO goes.)\n\nExample 4: IMPORTANT observation superseded by a later one.\n\nInput:\n[obs_005] IMPORTANT (10:00) User plans to use Postgres for the memory store\n[obs_044] IMPORTANT (12:30) User switched to SQLite for the memory store (changing from earlier Postgres plan)\n\nOutput:\n{\"drop\": [\"obs_005\"], \"merge\": []}\n\n(obs_044 already encodes the change explicitly; obs_005 is no longer current.)\n\nExample 5: Completion under a dropped parent.\n\nInput:\n[obs_001] IMPORTANT (10:00) User asked about hybrid retrieval implementation\n[obs_002] COMPLETION (10:30) User confirmed they understand RRF fusion\n[obs_087] IMPORTANT (14:00) User asked about Reflector design tradeoffs\n[obs_088] COMPLETION (14:30) User confirmed Reflector approach is clear\n\nOutput:\n{\"drop\": [\"obs_001\", \"obs_002\"], \"merge\": []}\n\n(Old completed Q&A pair drops together. Newer IMPORTANT + COMPLETION pair stays.)\n\nExample 6: Clusters across multiple turns of the same case. Merge.\n\nInput:\n[obs_020] IMPORTANT (11:00) Investigation: login failing intermittently for some users\n[obs_021] IMPORTANT (11:05) Auth service logs show no errors during failure window\n[obs_022] IMPORTANT (11:10) DB connection pool at 12/50; not saturated\n[obs_023] IMPORTANT (11:30) Session store identified as suspect; not yet checked\n\nOutput:\n{\n \"drop\": [],\n \"merge\": [\n {\n \"supersedes\": [\"obs_020\", \"obs_021\", \"obs_022\", \"obs_023\"],\n \"marker\": \"IMPORTANT\",\n \"text\": \"Intermittent login failure investigation: auth service logs clean, DB pool at 12/50 (ruled out). Session store identified as next suspect; not yet checked.\"\n }\n ]\n}\n\nBAD AND GOOD MERGE PATTERNS\n\nBAD: Merging across topics.\n\nInput:\n[obs_001] CRITICAL User works at Acme\n[obs_002] CRITICAL User is migrating the backend to gRPC\n\nWrong merge:\n{\n \"supersedes\": [\"obs_001\", \"obs_002\"],\n \"marker\": \"CRITICAL\",\n \"text\": \"User works at Acme and is migrating the backend to gRPC\"\n}\n\nThese are about different topics. Do NOT merge them. Leave both as separate observations.\n\nBAD: Inventing causation or content not in sources.\n\nInput:\n[obs_001] CRITICAL User uses Postgres\n[obs_002] IMPORTANT User mentioned performance issues with the workflow\n\nWrong merge:\n{\n \"supersedes\": [\"obs_001\", \"obs_002\"],\n \"marker\": \"CRITICAL\",\n \"text\": \"User has Postgres performance issues affecting workflows\"\n}\n\nThe sources do not state Postgres caused the performance issues. NEVER invent a causal link the observations do not state. Leave both as separate observations.\n\nBAD: Dropping CRITICAL because it feels redundant when it is not duplicated.\n\nInput:\n[obs_001] CRITICAL User works at Acme\n[obs_002] CRITICAL User joined Acme in March 2025\n\nWrong:\n{\"drop\": [\"obs_001\"], \"merge\": []}\n\nThese are not duplicates. obs_001 is current employment; obs_002 is when it started. Both are durable facts. Merge into a single observation instead, never drop.\n\nCorrect:\n{\n \"drop\": [],\n \"merge\": [\n {\n \"supersedes\": [\"obs_001\", \"obs_002\"],\n \"marker\": \"CRITICAL\",\n \"text\": \"User works at Acme; joined in March 2025.\"\n }\n ]\n}\n\nGOOD: Combining genuinely redundant facts.\n\nInput:\n[obs_001] IMPORTANT User prefers concise responses\n[obs_034] IMPORTANT User asked agent to keep answers shorter\n[obs_087] IMPORTANT User mentioned again that the previous response was too long\n\nOutput:\n{\n \"drop\": [],\n \"merge\": [\n {\n \"supersedes\": [\"obs_001\", \"obs_034\", \"obs_087\"],\n \"marker\": \"IMPORTANT\",\n \"text\": \"User prefers concise responses (reinforced multiple times in this conversation).\"\n }\n ]\n}\n\nOUTPUT FORMAT\n\nReturn JSON with two arrays:\n\n{\n \"drop\": [\"obs_id_1\", \"obs_id_2\"],\n \"merge\": [\n {\n \"supersedes\": [\"obs_id_3\", \"obs_id_4\"],\n \"marker\": \"IMPORTANT\",\n \"text\": \"Merged observation that replaces the listed ones\"\n }\n ]\n}\n\nThe merged observation supersedes its sources. The drop array drops observations without replacement. An observation ID may appear in EITHER drop OR merge.supersedes, never both. Do not invent IDs that were not in the input.\n\nGOALS\n\n- Keep the active log under the token budget.\n- Preserve every CRITICAL unless it is genuinely duplicated by another CRITICAL.\n- Preserve recent IMPORTANT unless clearly superseded.\n- Drop INFO aggressively, oldest first.\n- Merge clusters of related observations into denser ones.\n- Preserve uncertainty: if a source says \"user suspects X\", the merged observation must also say \"suspects\", not \"X is true\".\n- NEVER invent content, causation, or attributions not present in the source observations.\n\nCONSERVATISM\n\nIf the log is already under budget AND no clear duplicates exist, return {\"drop\": [], \"merge\": []}. Do not restructure for the sake of restructuring. The Reflector is for reducing the log, not for prettifying it.";
16
16
  export interface CreateObservationLogReflectFnOptions {
17
17
  reflectorPrompt?: string;
18
18
  }
@@ -5,9 +5,9 @@ exports.buildObservationLogObserverPrompt = buildObservationLogObserverPrompt;
5
5
  exports.createObservationLogObserveFn = createObservationLogObserveFn;
6
6
  exports.buildObservationLogReflectorPrompt = buildObservationLogReflectorPrompt;
7
7
  exports.createObservationLogReflectFn = createObservationLogReflectFn;
8
- const execution_counter_1 = require("./execution-counter");
9
- const lazy_ai_1 = require("./lazy-ai");
10
- const model_factory_1 = require("./model-factory");
8
+ const execution_counter_1 = require("../loop/execution-counter");
9
+ const lazy_ai_1 = require("../model/lazy-ai");
10
+ const model_factory_1 = require("../model/model-factory");
11
11
  exports.DEFAULT_OBSERVATION_LOG_OBSERVER_THRESHOLD_TOKENS = 500;
12
12
  exports.DEFAULT_OBSERVATION_LOG_TAIL_LIMIT = 20;
13
13
  exports.DEFAULT_OBSERVATION_LOG_REFLECTOR_THRESHOLD_TOKENS = 4_000;
@@ -313,7 +313,7 @@ EXAMPLES
313
313
  Example 1: Log under budget. Return empty arrays.
314
314
 
315
315
  Input:
316
- [obs_001] CRITICAL (14:30) User is migrating @n8n/agents from Mastra to internal SDK
316
+ [obs_001] CRITICAL (14:30) User is migrating the backend from REST to gRPC
317
317
  [obs_002] IMPORTANT (14:35) User adopted two-stage compression model (Observer + Reflector)
318
318
  Budget: 5000 tokens. Current: 600 tokens.
319
319
 
@@ -402,13 +402,13 @@ BAD: Merging across topics.
402
402
 
403
403
  Input:
404
404
  [obs_001] CRITICAL User works at Acme
405
- [obs_002] CRITICAL User is migrating @n8n/agents from Mastra
405
+ [obs_002] CRITICAL User is migrating the backend to gRPC
406
406
 
407
407
  Wrong merge:
408
408
  {
409
409
  "supersedes": ["obs_001", "obs_002"],
410
410
  "marker": "CRITICAL",
411
- "text": "User works at Acme and is migrating @n8n/agents from Mastra"
411
+ "text": "User works at Acme and is migrating the backend to gRPC"
412
412
  }
413
413
 
414
414
  These are about different topics. Do NOT merge them. Leave both as separate observations.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observation-log-defaults.js","sourceRoot":"","sources":["../../../src/runtime/memory/observation-log-defaults.ts"],"names":[],"mappings":";;;AA6RA,8EAaC;AAED,sEAcC;AAoND,gFAUC;AAED,sEAcC;AA/hBD,iEAAyE;AACzE,8CAA0C;AAC1C,0DAAqD;AAIxC,QAAA,iDAAiD,GAAG,GAAG,CAAC;AACxD,QAAA,kCAAkC,GAAG,EAAE,CAAC;AACxC,QAAA,kDAAkD,GAAG,KAAK,CAAC;AAC3D,QAAA,2CAA2C,GAAG,KAAK,CAAC;AACpD,QAAA,mCAAmC,GAAG,MAAM,CAAC;AAE7C,QAAA,uCAAuC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wKAkQiH,CAAC;AAMzK,SAAgB,iCAAiC,CAAC,KAAkC;IACnF,MAAM,cAAc,GAAG,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,CAAC;IAChE,MAAM,eAAe,GACpB,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;IACpF,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAE5E,OAAO;QACN,sBAAsB,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE;QAC/C,iCAAiC,KAAK,CAAC,oBAAoB,EAAE;QAC7D,kCAAkC,eAAe,EAAE;QACnD,qDAAqD,UAAU,EAAE;KACjE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,6BAA6B,CAC5C,KAAkB,EAClB,UAAgD,EAAE;IAElD,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,gBAAM,GAAE,CAAC,YAAY,CAAC;YACnD,KAAK,EAAE,IAAA,2BAAW,EAAC,KAAK,CAAC;YACzB,MAAM,EAAE,OAAO,CAAC,cAAc,IAAI,+CAAuC;YACzE,MAAM,EAAE,iCAAiC,CAAC,KAAK,CAAC;SAChD,CAAC,CAAC;QACH,IAAA,gDAA4B,EAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC,CAAC;AACH,CAAC;AAEY,QAAA,wCAAwC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qNA4M6J,CAAC;AAMtN,SAAgB,kCAAkC,CAAC,KAAmC;IACrF,MAAM,UAAU,GAAG,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAE/D,OAAO;QACN,sBAAsB,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE;QAC/C,kCAAkC,KAAK,CAAC,UAAU,EAAE;QACpD,iBAAiB,KAAK,CAAC,WAAW,EAAE;QACpC,oCAAoC,WAAW,EAAE;KACjD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,6BAA6B,CAC5C,KAAkB,EAClB,UAAgD,EAAE;IAElD,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,gBAAM,GAAE,CAAC,YAAY,CAAC;YACnD,KAAK,EAAE,IAAA,2BAAW,EAAC,KAAK,CAAC;YACzB,MAAM,EAAE,OAAO,CAAC,eAAe,IAAI,gDAAwC;YAC3E,MAAM,EAAE,kCAAkC,CAAC,KAAK,CAAC;SACjD,CAAC,CAAC;QACH,IAAA,gDAA4B,EAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC,CAAC;AACH,CAAC"}
@@ -1,8 +1,8 @@
1
- import type { AgentExecutionCounter } from '../types/sdk/agent';
2
- import type { BuiltMemory } from '../types/sdk/memory';
3
- import type { AgentDbMessage } from '../types/sdk/message';
4
- import type { ObservationCursor } from '../types/sdk/observation';
5
- import type { BuiltObservationLogStore, ObservationLogMarker, ObservationLogObserveFn, ObservationLogObserverInput, TokenCounter } from '../types/sdk/observation-log';
1
+ import type { AgentExecutionCounter } from '../../types/sdk/agent';
2
+ import type { BuiltMemory } from '../../types/sdk/memory';
3
+ import type { AgentDbMessage } from '../../types/sdk/message';
4
+ import type { ObservationCursor } from '../../types/sdk/observation';
5
+ import type { BuiltObservationLogStore, ObservationLogMarker, ObservationLogObserveFn, ObservationLogObserverInput, TokenCounter } from '../../types/sdk/observation-log';
6
6
  export type { ObservationLogObserveFn, ObservationLogObserverInput };
7
7
  export interface ParsedObservationLogEntry {
8
8
  marker: ObservationLogMarker;
@@ -50,6 +50,7 @@ export type RunObservationLogObserverResult = {
50
50
  } | {
51
51
  status: 'ran';
52
52
  observationsWritten: number;
53
+ cursorAdvanced: boolean;
53
54
  tokenCount: number;
54
55
  skippedLines: string[];
55
56
  };
@@ -4,7 +4,7 @@ exports.parseObservationLogMarkdown = parseObservationLogMarkdown;
4
4
  exports.renderObserverTranscript = renderObserverTranscript;
5
5
  exports.runObservationLogObserver = runObservationLogObserver;
6
6
  const observation_log_renderer_1 = require("./observation-log-renderer");
7
- const observation_log_1 = require("../types/sdk/observation-log");
7
+ const observation_log_1 = require("../../types/sdk/observation-log");
8
8
  const MARKER_BY_TOKEN = {
9
9
  CRITICAL: 'critical',
10
10
  IMPORTANT: 'important',
@@ -128,10 +128,14 @@ async function runObservationLogObserver(opts) {
128
128
  ]);
129
129
  inserted.push(row);
130
130
  }
131
- await advanceObserverCursor(memory, observationScopeId, deltaMessages[deltaMessages.length - 1], now);
131
+ const cursorAdvanced = inserted.length > 0;
132
+ if (cursorAdvanced) {
133
+ await advanceObserverCursor(memory, observationScopeId, deltaMessages[deltaMessages.length - 1], now);
134
+ }
132
135
  return {
133
136
  status: 'ran',
134
137
  observationsWritten: inserted.length,
138
+ cursorAdvanced,
135
139
  tokenCount,
136
140
  skippedLines: parsed.skippedLines,
137
141
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observation-log-observer.js","sourceRoot":"","sources":["../../../src/runtime/memory/observation-log-observer.ts"],"names":[],"mappings":"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"}