skyloom 1.12.0 → 1.13.1

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 (137) hide show
  1. package/.github/workflows/ci.yml +36 -36
  2. package/README.md +137 -46
  3. package/config/default.yaml +43 -47
  4. package/config/models.yaml +155 -155
  5. package/config/providers.yaml +39 -39
  6. package/config/skills/api_integrator/SKILL.md +15 -15
  7. package/config/skills/arch_designer/SKILL.md +13 -13
  8. package/config/skills/ci_cd_manager/SKILL.md +14 -14
  9. package/config/skills/code_analysis/SKILL.md +13 -13
  10. package/config/skills/code_generator/SKILL.md +12 -12
  11. package/config/skills/code_reviewer/SKILL.md +13 -13
  12. package/config/skills/content_writer/SKILL.md +14 -14
  13. package/config/skills/data_transformer/SKILL.md +15 -15
  14. package/config/skills/document_analysis/SKILL.md +13 -13
  15. package/config/skills/emotional_companion/SKILL.md +15 -15
  16. package/config/skills/performance_checker/SKILL.md +14 -14
  17. package/config/skills/security_auditor/SKILL.md +14 -14
  18. package/config/skills/self_evolve/SKILL.md +13 -13
  19. package/config/skills/sys_operator/SKILL.md +15 -15
  20. package/config/skills/task_planner/SKILL.md +14 -14
  21. package/config/skills/web_research/SKILL.md +14 -14
  22. package/config/skills/workflow_designer/SKILL.md +13 -13
  23. package/dist/agents/dew.js +52 -52
  24. package/dist/agents/fair.js +84 -84
  25. package/dist/agents/fog.js +30 -30
  26. package/dist/agents/frost.js +32 -32
  27. package/dist/agents/rain.js +32 -32
  28. package/dist/agents/snow.js +68 -68
  29. package/dist/cli/main.js +127 -74
  30. package/dist/cli/main.js.map +1 -1
  31. package/dist/cli/tui.d.ts +52 -19
  32. package/dist/cli/tui.d.ts.map +1 -1
  33. package/dist/cli/tui.js +198 -265
  34. package/dist/cli/tui.js.map +1 -1
  35. package/dist/core/agent/task.d.ts +58 -0
  36. package/dist/core/agent/task.d.ts.map +1 -0
  37. package/dist/core/agent/task.js +83 -0
  38. package/dist/core/agent/task.js.map +1 -0
  39. package/dist/core/agent.d.ts +2 -45
  40. package/dist/core/agent.d.ts.map +1 -1
  41. package/dist/core/agent.js +61 -145
  42. package/dist/core/agent.js.map +1 -1
  43. package/dist/core/agent_helpers.d.ts +10 -0
  44. package/dist/core/agent_helpers.d.ts.map +1 -1
  45. package/dist/core/agent_helpers.js +39 -0
  46. package/dist/core/agent_helpers.js.map +1 -1
  47. package/dist/core/catalog.d.ts +71 -0
  48. package/dist/core/catalog.d.ts.map +1 -0
  49. package/dist/core/catalog.js +176 -0
  50. package/dist/core/catalog.js.map +1 -0
  51. package/dist/core/config.d.ts +8 -0
  52. package/dist/core/config.d.ts.map +1 -1
  53. package/dist/core/config.js +12 -4
  54. package/dist/core/config.js.map +1 -1
  55. package/dist/core/factory.js +16 -16
  56. package/dist/core/llm.d.ts +7 -0
  57. package/dist/core/llm.d.ts.map +1 -1
  58. package/dist/core/llm.js +139 -7
  59. package/dist/core/llm.js.map +1 -1
  60. package/dist/core/longdoc.js +5 -5
  61. package/dist/core/memory.d.ts.map +1 -1
  62. package/dist/core/memory.js +69 -62
  63. package/dist/core/memory.js.map +1 -1
  64. package/dist/core/theme.d.ts +46 -0
  65. package/dist/core/theme.d.ts.map +1 -0
  66. package/dist/core/theme.js +42 -0
  67. package/dist/core/theme.js.map +1 -0
  68. package/dist/web/server.js +542 -519
  69. package/dist/web/server.js.map +1 -1
  70. package/docs/AESTHETIC_DESIGN.md +144 -0
  71. package/docs/OPTIMIZATION_PLAN.md +178 -0
  72. package/package.json +60 -60
  73. package/scripts/install.js +48 -48
  74. package/scripts/link.js +10 -10
  75. package/setup.bat +79 -79
  76. package/skill-test-ty2fOA/test.md +10 -10
  77. package/src/agents/dew.ts +70 -70
  78. package/src/agents/fair.ts +102 -102
  79. package/src/agents/fog.ts +48 -48
  80. package/src/agents/frost.ts +50 -50
  81. package/src/agents/rain.ts +50 -50
  82. package/src/agents/snow.ts +239 -239
  83. package/src/cli/main.ts +417 -372
  84. package/src/cli/mode.ts +58 -58
  85. package/src/cli/tui.ts +174 -223
  86. package/src/core/agent/task.ts +100 -0
  87. package/src/core/agent.ts +1446 -1549
  88. package/src/core/agent_helpers.ts +496 -461
  89. package/src/core/arbitrate.ts +162 -162
  90. package/src/core/catalog.ts +178 -0
  91. package/src/core/checkpoint.ts +94 -94
  92. package/src/core/config.ts +20 -4
  93. package/src/core/estimate.ts +104 -104
  94. package/src/core/evolve.ts +191 -191
  95. package/src/core/factory.ts +627 -627
  96. package/src/core/filter.ts +103 -103
  97. package/src/core/graph.ts +156 -156
  98. package/src/core/icons.ts +53 -53
  99. package/src/core/index.ts +37 -37
  100. package/src/core/learn.ts +146 -146
  101. package/src/core/llm.ts +108 -5
  102. package/src/core/longdoc.ts +155 -155
  103. package/src/core/mcp_server.ts +176 -176
  104. package/src/core/memory.ts +1178 -1171
  105. package/src/core/profile.ts +255 -255
  106. package/src/core/router.ts +124 -124
  107. package/src/core/sandbox.ts +142 -142
  108. package/src/core/security.ts +243 -243
  109. package/src/core/skill.ts +342 -342
  110. package/src/core/theme.ts +65 -0
  111. package/src/core/tool_router.ts +193 -193
  112. package/src/core/vector.ts +152 -152
  113. package/src/core/workspace.ts +150 -150
  114. package/src/plugins/loader.ts +66 -66
  115. package/src/skills/loader.ts +46 -46
  116. package/src/sql.js.d.ts +29 -29
  117. package/src/tools/builtin.ts +380 -380
  118. package/src/tools/computer.ts +269 -269
  119. package/src/tools/delegate.ts +49 -49
  120. package/src/web/server.ts +660 -634
  121. package/src/web/tts.ts +93 -93
  122. package/tests/agent_helpers.test.ts +48 -0
  123. package/tests/bus.test.ts +121 -121
  124. package/tests/catalog.test.ts +86 -0
  125. package/tests/config.test.ts +41 -0
  126. package/tests/icons.test.ts +45 -45
  127. package/tests/memory.test.ts +147 -0
  128. package/tests/router.test.ts +86 -86
  129. package/tests/schemas.test.ts +51 -51
  130. package/tests/semantic.test.ts +83 -83
  131. package/tests/setup.ts +10 -10
  132. package/tests/skill.test.ts +172 -172
  133. package/tests/task.test.ts +60 -0
  134. package/tests/tool.test.ts +108 -108
  135. package/tests/tool_router.test.ts +71 -71
  136. package/tests/tui.test.ts +67 -0
  137. package/vitest.config.ts +17 -17
package/dist/core/llm.js CHANGED
@@ -369,7 +369,10 @@ class LLMClient {
369
369
  return String(agentCfg.model);
370
370
  }
371
371
  }
372
- return this.config.llm?.defaultModel || "gpt-4o";
372
+ // Honor the user's configured default (set by the /setup wizard). YAML uses
373
+ // snake_case; the legacy camelCase read is kept as a last resort.
374
+ const c = this.config;
375
+ return c.default_model || c.llm?.default_model || c.llm?.defaultModel || "gpt-4o";
373
376
  }
374
377
  /**
375
378
  * Get max retries from config.
@@ -661,13 +664,142 @@ class LLMClient {
661
664
  const response = await this.complete(messages, agentName);
662
665
  yield response.content;
663
666
  }
667
+ /**
668
+ * Real SSE token streaming for OpenAI-compatible providers (openai, deepseek,
669
+ * groq, openrouter, mistral, xai, ollama). Content + reasoning deltas are
670
+ * yielded as they arrive; tool-call deltas are accumulated by index and
671
+ * emitted once complete. Usage comes from the final `stream_options` chunk.
672
+ */
673
+ async *callOpenAIStream(m, messages, tools, temp, maxTok) {
674
+ const apiKey = this.getApiKey(m);
675
+ const baseUrl = this.getBaseUrl(m);
676
+ const body = {
677
+ model: m, messages, temperature: temp ?? 0.7, max_tokens: maxTok ?? 4096,
678
+ stream: true, stream_options: { include_usage: true },
679
+ };
680
+ if (tools?.length) {
681
+ const defs = tools.map(t => this._toolRegistry.get(t)).filter(Boolean);
682
+ if (defs.length)
683
+ body.tools = defs.map(t => ({ type: "function", function: { name: t.name, description: t.description, parameters: this.paramsToSchema(t.parameters || []) } }));
684
+ }
685
+ const resp = await fetch(baseUrl + "/chat/completions", { method: "POST", headers: { "Content-Type": "application/json", Authorization: "Bearer " + apiKey }, body: JSON.stringify(body) });
686
+ if (!resp.ok || !resp.body) {
687
+ const e = new Error("API " + resp.status + ": " + ((await resp.text()).slice(0, 200)));
688
+ e.status_code = resp.status;
689
+ throw e;
690
+ }
691
+ const reader = resp.body.getReader();
692
+ const decoder = new TextDecoder();
693
+ let buf = "";
694
+ const toolAcc = new Map();
695
+ let usage = { promptTokens: 0, completionTokens: 0 };
696
+ let reasoning = "";
697
+ while (true) {
698
+ const { done, value } = await reader.read();
699
+ if (done)
700
+ break;
701
+ buf += decoder.decode(value, { stream: true });
702
+ const lines = buf.split("\n");
703
+ buf = lines.pop() || "";
704
+ for (const line of lines) {
705
+ const t = line.trim();
706
+ if (!t.startsWith("data:"))
707
+ continue;
708
+ const data = t.slice(5).trim();
709
+ if (data === "[DONE]")
710
+ continue;
711
+ let json;
712
+ try {
713
+ json = JSON.parse(data);
714
+ }
715
+ catch {
716
+ continue;
717
+ }
718
+ if (json.usage)
719
+ usage = { promptTokens: json.usage.prompt_tokens || 0, completionTokens: json.usage.completion_tokens || 0 };
720
+ const delta = json.choices?.[0]?.delta;
721
+ if (!delta)
722
+ continue;
723
+ if (delta.content)
724
+ yield { type: "content", text: delta.content };
725
+ if (delta.reasoning_content) {
726
+ reasoning += delta.reasoning_content;
727
+ yield { type: "reasoning", text: delta.reasoning_content };
728
+ }
729
+ if (Array.isArray(delta.tool_calls)) {
730
+ for (const tc of delta.tool_calls) {
731
+ const idx = tc.index ?? 0;
732
+ const acc = toolAcc.get(idx) || { id: "", name: "", args: "" };
733
+ if (tc.id)
734
+ acc.id = tc.id;
735
+ if (tc.function?.name)
736
+ acc.name = tc.function.name;
737
+ if (tc.function?.arguments)
738
+ acc.args += tc.function.arguments;
739
+ toolAcc.set(idx, acc);
740
+ }
741
+ }
742
+ }
743
+ }
744
+ for (const acc of toolAcc.values()) {
745
+ if (acc.name)
746
+ yield { type: "tool_call", toolCall: { id: acc.id || ("call_" + acc.name), type: "function", function: { name: acc.name, arguments: acc.args || "{}" } } };
747
+ }
748
+ yield { type: "done", usage, reasoningContent: reasoning || undefined };
749
+ }
664
750
  async *streamWithTools(messages, agentName, tools, _toolRegistry, overrides) {
665
- const response = await this.complete(messages, agentName, tools, false, overrides);
666
- if (response.content)
667
- yield { type: "content", text: response.content };
668
- for (const tc of response.toolCalls || [])
669
- yield { type: "tool_call", toolCall: tc };
670
- yield { type: "done", usage: response.usage, reasoningContent: response.reasoningContent };
751
+ this.checkBudget();
752
+ const ov = overrides || {};
753
+ const model = typeof ov.model === "string" ? ov.model : this.getModel(agentName);
754
+ const temperature = ov.temperature ?? 0.7;
755
+ const maxTokens = ov.maxTokens ?? 4096;
756
+ const isAnthropic = model.includes("claude") || model.startsWith("anthropic/");
757
+ // Blocking fallback used for Anthropic (different wire format) and on
758
+ // failures before any content has streamed (preserves fallback chain + retry).
759
+ const blockingFallback = async function* () {
760
+ const response = await this.complete(messages, agentName, tools, false, overrides);
761
+ if (response.content)
762
+ yield { type: "content", text: response.content };
763
+ for (const tc of response.toolCalls || [])
764
+ yield { type: "tool_call", toolCall: tc };
765
+ yield { type: "done", usage: response.usage, reasoningContent: response.reasoningContent };
766
+ }.bind(this);
767
+ if (isAnthropic) {
768
+ yield* blockingFallback();
769
+ return;
770
+ }
771
+ let started = false;
772
+ let usage = { promptTokens: 0, completionTokens: 0 };
773
+ try {
774
+ for await (const ev of this.callOpenAIStream(model, messages, tools, temperature, maxTokens)) {
775
+ if (ev.type === "content" || ev.type === "tool_call")
776
+ started = true;
777
+ if (ev.type === "done" && ev.usage)
778
+ usage = ev.usage;
779
+ yield ev;
780
+ }
781
+ }
782
+ catch (e) {
783
+ if (started) {
784
+ yield { type: "error", text: String(e?.message || e) };
785
+ yield { type: "done", usage };
786
+ return;
787
+ }
788
+ this.log?.warn("stream_failed_fallback", { model, error: String(e?.message || e) });
789
+ yield* blockingFallback();
790
+ return;
791
+ }
792
+ // Usage + cost bookkeeping (mirrors completeWithRetry).
793
+ const name = agentName || "default";
794
+ if (!this.usageStats.has(name))
795
+ this.usageStats.set(name, { prompt_tokens: 0, completion_tokens: 0, calls: 0, cost: 0 });
796
+ const s = this.usageStats.get(name);
797
+ s.prompt_tokens += usage.promptTokens;
798
+ s.completion_tokens += usage.completionTokens;
799
+ s.calls += 1;
800
+ const cost = estimateCost(model, usage.promptTokens, usage.completionTokens);
801
+ s.cost += cost;
802
+ this.totalCost += cost;
671
803
  }
672
804
  }
673
805
  exports.LLMClient = LLMClient;
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/core/llm.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAkWH,oCASC;AAxWD,mCAAmC;AAgDnC;;GAEG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB;IACxB,OAAO,IAAI,GAAG,CAAC;QACb,QAAQ;QACR,OAAO;QACP,WAAW;QACX,UAAU;QACV,QAAQ;QACR,MAAM;QACN,SAAS;QACT,QAAQ;QACR,aAAa;QACb,YAAY;QACZ,QAAQ;QACR,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB;IACxB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;QACrB,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QAC5B,CAAC,WAAW,EAAE,mBAAmB,CAAC;QAClC,CAAC,UAAU,EAAE,kBAAkB,CAAC;QAChC,CAAC,MAAM,EAAE,cAAc,CAAC;QACxB,CAAC,SAAS,EAAE,iBAAiB,CAAC;QAC9B,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QAC5B,CAAC,YAAY,EAAE,oBAAoB,CAAC;QACpC,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAC7B,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,QAAQ,KAAK,WAAW,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CACL,QAAQ,KAAK,UAAU;QACvB,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;QAC9B,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAChC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,OAAe,EACf,MAAgB,EAChB,UAAmB;IAEnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CACvD,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,2BAA2B,CAClC,KAAa,EACb,QAAmC,EACnC,WAA6C;IAE7C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC;IAED,0DAA0D;IAC1D,MAAM,WAAW,GAA8B,EAAE,CAAC;IAClD,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IACE,CAAC,YAAY;YACb,GAAG,CAAC,IAAI,KAAK,QAAQ;YACrB,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAC/B,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAiB,CAAC;YACtC,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,OAAO;4BACb,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;yBACrC;qBACF;iBACF,CAAC,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS;YACX,CAAC;QACH,CAAC;QAED,IACE,CAAC,YAAY;YACb,GAAG,CAAC,IAAI,KAAK,QAAQ;YACrB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAC1B,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAoC,CAAC;YACzD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;gBACzD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAClD,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG;oBAChC,GAAG,SAAS;oBACZ,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;iBACrC,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC;oBACf,GAAG,GAAG;oBACN,OAAO,EAAE,SAAS;iBACnB,CAAC,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS;YACX,CAAC;QACH,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,oCAAoC;IACpC,IAAI,QAAQ,GAAqC,IAAI,CAAC;IACtD,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG;YAC9B,GAAG,QAAQ;YACX,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SACrC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,4CAA4C,CAAC;IAC9D,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,oBAAoB,GAAkC,IAAI,GAAG,CAAC;IAClE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,wBAAwB,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC,4BAA4B,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,4BAA4B,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,0BAA0B,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC,yBAAyB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC,uBAAuB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,eAAe,GAA0B,IAAI,GAAG,CAAC;IACrD,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC;IAC3B,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC5C,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC,iBAAiB,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC,kBAAkB,EAAE,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC,eAAe,EAAE,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;IAC7D,CAAC,mBAAmB,EAAE,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;IACjE,CAAC,mBAAmB,EAAE,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;IACjE,CAAC,iBAAiB,EAAE,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,cAAc,CAAC,CAAC;IACpF,CAAC,wBAAwB,EAAE,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC,4BAA4B,EAAE,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;IAC1E,CAAC,4BAA4B,EAAE,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;IAC1E,CAAC,0BAA0B,EAAE;YAC3B,4BAA4B;YAC5B,wBAAwB;YACxB,cAAc;SACf,CAAC;IACF,CAAC,yBAAyB,EAAE,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC,uBAAuB,EAAE,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAExE;;GAEG;AACH,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GACT,GAAW,CAAC,WAAW,IAAK,GAAW,CAAC,WAAW,IAAI,CAAC,CAAC;QAC5D,IAAI,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnD,OAAO;YACL,gBAAgB;YAChB,iBAAiB;YACjB,oBAAoB;YACpB,yBAAyB;YACzB,qBAAqB;YACrB,SAAS;SACV,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,YAAoB,EACpB,gBAAwB;IAExB,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChE,OAAO,CACL,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CACxE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAa,EAAE,GAAY;IACxD,MAAM,IAAI,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAExC,kBAAkB;IAClB,IACE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAChC,CAAC;QACD,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,2BAA2B,CAAC;QACzE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;aAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,UAAU;YACrB,CAAC,CAAC,QAAQ,UAAU,GAAG;YACvB,CAAC,CAAC,gBAAgB,CAAC;QACrB,OAAO,CACL,MAAM,KAAK,yBAAyB;YACpC,SAAS,MAAM,gCAAgC,IAAI,EAAE,CACtD,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,MAAM,KAAK,cAAc,CAAC;IACnC,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,MAAM,KAAK,qBAAqB,CAAC;IAC1C,CAAC;IAED,IACE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzB,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EACrE,CAAC;QACD,OAAO,CACL,MAAM,KAAK,2BAA2B;YACtC,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IACE;QACE,qBAAqB;QACrB,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;QAClB,QAAQ;QACR,mBAAmB;QACnB,8BAA8B;QAC9B,kBAAkB;KACnB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EACpC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,CACL,MAAM,KAAK,iBAAiB,KAAK,IAAI;YACrC,oCAAoC;YACpC,OAAO;YACP,0CAA0C;YAC1C,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,IACE;QACE,aAAa;QACb,iBAAiB;QACjB,YAAY;QACZ,eAAe;KAChB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpC,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EACjF,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,CACL,MAAM,KAAK,uBAAuB,KAAK,IAAI;YAC3C,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACvG,OAAO,MAAM,KAAK,SAAS,KAAK,EAAE,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAa,SAAS;IASpB,YACE,MAAW,EACX,YAA0B,EAC1B,YAA2B,IAAI;QARzB,eAAU,GAAwC,IAAI,GAAG,EAAE,CAAC;QAC5D,cAAS,GAAW,CAAC,CAAC;QAEtB,QAAG,GAAkB,IAAI,CAAC;QAOhC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,GAAW;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,SAAkB;QACjC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,QAAQ,GAAI,IAAI,CAAC,MAAM,CAAC,MAAc,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,IAAI,QAAQ,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,OAAQ,IAAI,CAAC,MAAM,CAAC,GAAW,EAAE,UAAU,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,UAAU,CAChB,SAA6B,EAC7B,KAAa,EACb,YAAoB,EACpB,gBAAwB;QAExB,MAAM,GAAG,GAAG,SAAS,IAAI,SAAS,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;gBACvB,aAAa,EAAE,CAAC;gBAChB,iBAAiB,EAAE,CAAC;gBACpB,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACxC,KAAK,CAAC,aAAa,IAAI,YAAY,CAAC;QACpC,KAAK,CAAC,iBAAiB,IAAI,gBAAgB,CAAC;QAC5C,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAEjB,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAAa;QAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,EAAE,CAAC;gBACpC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxB,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,CAAC,8BAA8B;QAC7C,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,MAAM,GACV,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;QAC9D,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CACZ,QAAmC,EACnC,SAAkB,EAClB,KAAgB,EAChB,SAAkB,KAAK,EACvB,SAAmC;QAEnC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,EAAE,GAAG,SAAS,IAAI,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC;QAC1B,MAAM,KAAK,GACT,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAErE,uBAAuB;QACvB,MAAM,cAAc,GAClB,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1E,MAAM,WAAW,GAAG,oBAAoB,CACtC,KAAK,EACL,CAAC,KAAK,EAAE,GAAG,cAAc,CAAC,EAC1B,CAAC,CAAC,KAAK,CACR,CAAC;QAEF,6BAA6B;QAC7B,IAAI,SAAS,GAAiB,IAAI,CAAC;QACnC,KAAK,MAAM,YAAY,IAAI,WAAW,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CACjC,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,CACV,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,SAAS,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE;oBAC7B,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,SAAS,CAAC,OAAO;iBACzB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,OAAO;YACL,OAAO,EAAE,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC;YAChD,SAAS,EAAE,EAAE;YACb,KAAK;YACL,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;YAC/C,IAAI,EAAE,CAAC;YACP,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC7B,KAAa,EACb,QAAmC,EACnC,SAAkB,EAClB,KAAgB,EAChB,SAAkB,KAAK,EACvB,SAAmC;QAEnC,MAAM,WAAW,GAAI,SAAS,EAAE,WAAsB,IAAI,GAAG,CAAC;QAC9D,MAAM,SAAS,GAAI,SAAS,EAAE,SAAoB,IAAI,IAAI,CAAC;QAC3D,MAAM,UAAU,GAAI,IAAI,CAAC,MAAM,CAAC,GAAW,EAAE,UAAU,IAAI,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAE/E,IAAI,SAAS,GAAiB,IAAI,CAAC;QACnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,IAAI,OAAO,GAAG,CAAC;oBAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAExF,IAAI,OAAe,CAAC;gBACpB,IAAI,SAAS,GAAe,EAAE,CAAC;gBAC/B,IAAI,KAAK,GAAe,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;gBAEjE,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;oBACnF,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;oBAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;oBAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;oBAChF,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;oBAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;oBAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;gBAChE,CAAC;gBAED,MAAM,IAAI,GAAG,SAAS,IAAI,SAAS,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzH,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;gBACrC,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC;gBAAC,CAAC,CAAC,iBAAiB,IAAI,KAAK,CAAC,gBAAgB,CAAC;gBAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBACnG,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC7E,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;gBAEvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACtE,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,SAAS,GAAG,CAAC,CAAC;gBACd,IAAI,OAAO,IAAI,UAAU;oBAAE,MAAM,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,CAAS,EAAE,QAAmC,EAAE,KAAgB,EAAE,IAAa,EAAE,MAAe;QAEhG,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;QACnH,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAU,CAAC;YAChF,IAAI,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnL,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5L,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAAC,MAAM,CAAC,GAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QACpJ,MAAM,IAAI,GAAQ,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC,EAAE,EAAE,CAAC;IACtU,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,CAAS,EAAE,QAAmC,EAAE,KAAgB,EAAE,IAAa,EAAE,MAAe;QAEhG,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,IAAI,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;QAClK,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAAC,IAAI,GAAG;YAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5F,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAU,CAAC;YAChF,IAAI,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,uCAAuC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3N,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAAC,MAAM,CAAC,GAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QACpJ,MAAM,IAAI,GAAQ,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,IAAI,OAAO,GAAG,EAAE,CAAC;QAAC,MAAM,SAAS,GAAe,EAAE,CAAC;QACxF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC;YAAC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;gBAAE,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,CAAC;QAC5N,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1I,CAAC;IAEO,cAAc,CAAC,MAAa;QAClC,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9L,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7F,CAAC;IAEO,SAAS,CAAC,KAAa;QAC7B,IAAI,QAAQ,GAAG,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAAC,IAAI,EAAE;YAAE,QAAQ,GAAG,EAAE,CAAC;aAC7E,CAAC;YAAC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,QAAQ,GAAG,WAAW,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,QAAQ,GAAG,UAAU,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,QAAQ,GAAG,MAAM,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,QAAQ,GAAG,YAAY,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,CAAC;QACjT,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC;QAE7E,sCAAsC;QACtC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QAEpB,gDAAgD;QAChD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAAC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAAC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACrF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAC9E,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChE,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,QAAQ,CAAC;oBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAExB,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,GAAG,wBAAwB,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAC;IAC3F,CAAC;IAEO,UAAU,CAAC,KAAa;QAC9B,IAAI,QAAQ,GAAG,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAAC,IAAI,EAAE;YAAE,QAAQ,GAAG,EAAE,CAAC;aAC7E,CAAC;YAAC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,8BAA8B,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,OAAO,6BAA6B,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,gCAAgC,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,OAAO,8BAA8B,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,wBAAwB,CAAC,GAAG,KAAK,CAAC,CAAC;QAAC,CAAC;QACta,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,6BAA6B,CAAC;QAClE,IAAI,QAAQ,KAAK,MAAM;YAAE,OAAO,gCAAgC,CAAC;QACjE,IAAI,QAAQ,KAAK,YAAY;YAAE,OAAO,8BAA8B,CAAC;QACrE,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,wBAAwB,CAAC,GAAG,KAAK,CAAC,CAAC;QAClG,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CACX,QAAmC,EAAE,SAAkB;QAEvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,QAAQ,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,CAAC,eAAe,CACpB,QAAmC,EAAE,SAAkB,EAAE,KAAgB,EACzE,aAA4B,EAAE,SAAmC;QAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACnF,IAAI,QAAQ,CAAC,OAAO;YAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxE,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,SAAS,IAAI,EAAE;YAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC;IAC7F,CAAC;CACF;AAnVD,8BAmVC"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/core/llm.ts"],"names":[],"mappings":"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"}
@@ -58,12 +58,12 @@ function chunkText(text, opts) {
58
58
  }
59
59
  return chunks;
60
60
  }
61
- const DEFAULT_CHUNK_PROMPT = `Summarize the following text concisely. Keep all key facts, names, numbers, and code snippets. Output the summary directly without preamble. Limit to 300 words.
62
-
63
- Text:
61
+ const DEFAULT_CHUNK_PROMPT = `Summarize the following text concisely. Keep all key facts, names, numbers, and code snippets. Output the summary directly without preamble. Limit to 300 words.
62
+
63
+ Text:
64
64
  {text}`;
65
- const DEFAULT_CHAIN_PROMPT = `Combine the following section summaries into a single coherent digest. Preserve all key facts, remove redundancy. Output directly without preamble.
66
-
65
+ const DEFAULT_CHAIN_PROMPT = `Combine the following section summaries into a single coherent digest. Preserve all key facts, remove redundancy. Output directly without preamble.
66
+
67
67
  {summaries}`;
68
68
  async function summarizeLongDoc(agent, text, opts) {
69
69
  const maxDigest = opts?.maxDigestChars ?? 3000;
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/core/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/core/memory.ts"],"names":[],"mappings":"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"}
@@ -134,16 +134,16 @@ class Memory {
134
134
  this.db.run('PRAGMA journal_mode = MEMORY');
135
135
  this.db.run('PRAGMA busy_timeout = 100');
136
136
  // Create tables
137
- this.db.run(`
138
- CREATE TABLE IF NOT EXISTS memories (
139
- id INTEGER PRIMARY KEY AUTOINCREMENT,
140
- agent TEXT NOT NULL,
141
- key TEXT NOT NULL,
142
- value TEXT NOT NULL,
143
- category TEXT DEFAULT 'general',
144
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
145
- updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
146
- )
137
+ this.db.run(`
138
+ CREATE TABLE IF NOT EXISTS memories (
139
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
140
+ agent TEXT NOT NULL,
141
+ key TEXT NOT NULL,
142
+ value TEXT NOT NULL,
143
+ category TEXT DEFAULT 'general',
144
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
145
+ updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
146
+ )
147
147
  `);
148
148
  // Migrate existing DBs
149
149
  try {
@@ -167,19 +167,19 @@ class Memory {
167
167
  }
168
168
  this.db.run('CREATE UNIQUE INDEX IF NOT EXISTS idx_agent_key ON memories(agent, key)');
169
169
  this.db.run('CREATE INDEX IF NOT EXISTS idx_agent_category ON memories(agent, category)');
170
- this.db.run(`
171
- CREATE TABLE IF NOT EXISTS messages (
172
- id INTEGER PRIMARY KEY AUTOINCREMENT,
173
- agent TEXT NOT NULL,
174
- role TEXT NOT NULL,
175
- content TEXT NOT NULL,
176
- name TEXT,
177
- tool_call_id TEXT,
178
- tool_calls TEXT,
179
- reasoning_content TEXT,
180
- session_id TEXT,
181
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
182
- )
170
+ this.db.run(`
171
+ CREATE TABLE IF NOT EXISTS messages (
172
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
173
+ agent TEXT NOT NULL,
174
+ role TEXT NOT NULL,
175
+ content TEXT NOT NULL,
176
+ name TEXT,
177
+ tool_call_id TEXT,
178
+ tool_calls TEXT,
179
+ reasoning_content TEXT,
180
+ session_id TEXT,
181
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
182
+ )
183
183
  `);
184
184
  this.db.run('CREATE INDEX IF NOT EXISTS idx_messages_agent ON messages(agent, created_at)');
185
185
  try {
@@ -200,26 +200,26 @@ class Memory {
200
200
  catch {
201
201
  // Column already exists
202
202
  }
203
- this.db.run(`
204
- CREATE TABLE IF NOT EXISTS sessions (
205
- id TEXT PRIMARY KEY,
206
- agent TEXT NOT NULL,
207
- name TEXT,
208
- preview TEXT DEFAULT '',
209
- message_count INTEGER DEFAULT 0,
210
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
211
- updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
212
- )
203
+ this.db.run(`
204
+ CREATE TABLE IF NOT EXISTS sessions (
205
+ id TEXT PRIMARY KEY,
206
+ agent TEXT NOT NULL,
207
+ name TEXT,
208
+ preview TEXT DEFAULT '',
209
+ message_count INTEGER DEFAULT 0,
210
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
211
+ updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
212
+ )
213
213
  `);
214
214
  this.db.run('CREATE INDEX IF NOT EXISTS idx_sessions_agent ON sessions(agent, updated_at DESC)');
215
- this.db.run(`
216
- CREATE TABLE IF NOT EXISTS working_data (
217
- agent TEXT NOT NULL,
218
- key TEXT NOT NULL,
219
- value TEXT NOT NULL,
220
- updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
221
- PRIMARY KEY (agent, key)
222
- )
215
+ this.db.run(`
216
+ CREATE TABLE IF NOT EXISTS working_data (
217
+ agent TEXT NOT NULL,
218
+ key TEXT NOT NULL,
219
+ value TEXT NOT NULL,
220
+ updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
221
+ PRIMARY KEY (agent, key)
222
+ )
223
223
  `);
224
224
  this.loadShortTerm();
225
225
  this.loadWorking();
@@ -304,9 +304,9 @@ class Memory {
304
304
  }
305
305
  let rows = [];
306
306
  if (this.activeSession) {
307
- rows = this.dbAll(`SELECT role, content, name, tool_call_id, tool_calls, reasoning_content, created_at
308
- FROM messages
309
- WHERE agent = ? AND session_id = ?
307
+ rows = this.dbAll(`SELECT role, content, name, tool_call_id, tool_calls, reasoning_content, created_at
308
+ FROM messages
309
+ WHERE agent = ? AND session_id = ?
310
310
  ORDER BY id DESC LIMIT ?`, [this.agentName, this.activeSession, this.config.shortTermLimit]);
311
311
  }
312
312
  else {
@@ -498,17 +498,24 @@ class Memory {
498
498
  reasoningContent: kwargs?.reasoningContent,
499
499
  };
500
500
  const ephemeral = kwargs?.ephemeral ?? false;
501
- // Mutex-locked section
502
- this.shortTermLock.lock(async () => {
503
- this.shortTerm.push(msg);
504
- if (this.shortTerm.length > this.config.shortTermLimit) {
505
- const systemMsgs = this.shortTerm.filter(m => m.role === 'system');
506
- const otherMsgs = this.shortTerm.filter(m => m.role !== 'system');
507
- const keep = Math.max(0, this.config.shortTermLimit - systemMsgs.length);
508
- this.shortTerm = systemMsgs.concat(keep > 0 ? otherMsgs.slice(-keep) : []);
509
- this.pruneDanglingToolCalls();
510
- }
511
- });
501
+ // Push synchronously so getMessages()/shortTerm reflect the message in the
502
+ // same tick — callers (chatImpl/chatStreamImpl) read it immediately after.
503
+ // (Single-threaded JS makes the push atomic; only the array-rewriting prune
504
+ // needs the mutex.) Previously the push lived inside the async lock body,
505
+ // so a fresh session's first user message was missing from the first LLM
506
+ // request and messagesWithRecall() crashed on undefined.content.
507
+ this.shortTerm.push(msg);
508
+ if (this.shortTerm.length > this.config.shortTermLimit) {
509
+ this.shortTermLock.lock(async () => {
510
+ if (this.shortTerm.length > this.config.shortTermLimit) {
511
+ const systemMsgs = this.shortTerm.filter(m => m.role === 'system');
512
+ const otherMsgs = this.shortTerm.filter(m => m.role !== 'system');
513
+ const keep = Math.max(0, this.config.shortTermLimit - systemMsgs.length);
514
+ this.shortTerm = systemMsgs.concat(keep > 0 ? otherMsgs.slice(-keep) : []);
515
+ this.pruneDanglingToolCalls();
516
+ }
517
+ });
518
+ }
512
519
  // Persist message if not ephemeral
513
520
  if (this.db && role !== 'system' && !ephemeral) {
514
521
  const toolCallsJson = msg.toolCalls ? JSON.stringify(msg.toolCalls) : null;
@@ -530,7 +537,7 @@ class Memory {
530
537
  return;
531
538
  }
532
539
  try {
533
- this.dbRun(`INSERT INTO messages (agent, role, content, name, tool_call_id, tool_calls, reasoning_content, session_id)
540
+ this.dbRun(`INSERT INTO messages (agent, role, content, name, tool_call_id, tool_calls, reasoning_content, session_id)
534
541
  VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [this.agentName, role, content, name, toolCallId, toolCalls, reasoningContent, sessionId]);
535
542
  if (sessionId) {
536
543
  this.dbRun('UPDATE sessions SET message_count = message_count + 1, updated_at = CURRENT_TIMESTAMP WHERE id = ?', [sessionId]);
@@ -541,9 +548,9 @@ class Memory {
541
548
  const row = this.dbGet('SELECT COUNT(*) as count FROM messages WHERE agent = ? AND session_id = ? AND role != ?', [this.agentName, sessionId, 'system']);
542
549
  if (row && row.count > maxPersisted) {
543
550
  const excess = row.count - maxPersisted;
544
- this.dbRun(`DELETE FROM messages WHERE id IN (
545
- SELECT id FROM messages WHERE agent = ? AND session_id = ? AND role != ?
546
- ORDER BY id ASC LIMIT ?
551
+ this.dbRun(`DELETE FROM messages WHERE id IN (
552
+ SELECT id FROM messages WHERE agent = ? AND session_id = ? AND role != ?
553
+ ORDER BY id ASC LIMIT ?
547
554
  )`, [this.agentName, sessionId, 'system', excess]);
548
555
  }
549
556
  }
@@ -667,7 +674,7 @@ class Memory {
667
674
  if (!this.db) {
668
675
  return;
669
676
  }
670
- this.dbRun(`INSERT INTO memories (agent, key, value, category) VALUES (?, ?, ?, ?)
677
+ this.dbRun(`INSERT INTO memories (agent, key, value, category) VALUES (?, ?, ?, ?)
671
678
  ON CONFLICT(agent, key) DO UPDATE SET value = excluded.value, category = excluded.category, updated_at = CURRENT_TIMESTAMP`, [this.agentName, key, JSON.stringify(value), category]);
672
679
  }
673
680
  /**
@@ -746,8 +753,8 @@ class Memory {
746
753
  params.push(pattern, pattern);
747
754
  }
748
755
  params.push(limit * 2);
749
- const sql = `SELECT key, value, category, updated_at FROM memories
750
- WHERE agent = ? AND (${likeClauses})
756
+ const sql = `SELECT key, value, category, updated_at FROM memories
757
+ WHERE agent = ? AND (${likeClauses})
751
758
  ORDER BY updated_at DESC LIMIT ?`;
752
759
  const rows = this.dbAll(sql, params);
753
760
  for (const r of rows) {