@mcp-abap-adt/llm-agent-server-libs 29.0.0 → 30.1.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 (104) hide show
  1. package/dist/factories/controller-factory.d.ts +2 -2
  2. package/dist/factories/controller-factory.d.ts.map +1 -1
  3. package/dist/generated/version.d.ts +1 -1
  4. package/dist/generated/version.js +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/pipelines/server-context.d.ts +2 -2
  9. package/dist/pipelines/server-context.d.ts.map +1 -1
  10. package/dist/smart-agent/config-reload-watcher.d.ts +7 -0
  11. package/dist/smart-agent/config-reload-watcher.d.ts.map +1 -1
  12. package/dist/smart-agent/config-reload-watcher.js +23 -6
  13. package/dist/smart-agent/config-reload-watcher.js.map +1 -1
  14. package/dist/smart-agent/config-validator.d.ts.map +1 -1
  15. package/dist/smart-agent/config-validator.js +198 -6
  16. package/dist/smart-agent/config-validator.js.map +1 -1
  17. package/dist/smart-agent/config.d.ts.map +1 -1
  18. package/dist/smart-agent/config.js +9 -1
  19. package/dist/smart-agent/config.js.map +1 -1
  20. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts +2 -2
  21. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts.map +1 -1
  22. package/dist/smart-agent/controller/recall.d.ts +4 -2
  23. package/dist/smart-agent/controller/recall.d.ts.map +1 -1
  24. package/dist/smart-agent/controller/recall.js +5 -3
  25. package/dist/smart-agent/controller/recall.js.map +1 -1
  26. package/dist/smart-agent/controller/target-state.d.ts +2 -2
  27. package/dist/smart-agent/controller/target-state.d.ts.map +1 -1
  28. package/dist/smart-agent/controller/target-state.js +2 -2
  29. package/dist/smart-agent/controller/target-state.js.map +1 -1
  30. package/dist/smart-agent/decision-config.d.ts +32 -0
  31. package/dist/smart-agent/decision-config.d.ts.map +1 -0
  32. package/dist/smart-agent/decision-config.js +18 -0
  33. package/dist/smart-agent/decision-config.js.map +1 -0
  34. package/dist/smart-agent/embedder-knowledge-index.d.ts +4 -2
  35. package/dist/smart-agent/embedder-knowledge-index.d.ts.map +1 -1
  36. package/dist/smart-agent/embedder-knowledge-index.js +5 -3
  37. package/dist/smart-agent/embedder-knowledge-index.js.map +1 -1
  38. package/dist/smart-agent/http/adapter-route-handler.d.ts +1 -1
  39. package/dist/smart-agent/http/adapter-route-handler.d.ts.map +1 -1
  40. package/dist/smart-agent/http/adapter-route-handler.js +34 -3
  41. package/dist/smart-agent/http/adapter-route-handler.js.map +1 -1
  42. package/dist/smart-agent/http/chat-route-handler.d.ts.map +1 -1
  43. package/dist/smart-agent/http/chat-route-handler.js +35 -4
  44. package/dist/smart-agent/http/chat-route-handler.js.map +1 -1
  45. package/dist/smart-agent/http/config-route-handler.d.ts +6 -3
  46. package/dist/smart-agent/http/config-route-handler.d.ts.map +1 -1
  47. package/dist/smart-agent/http/config-route-handler.js +7 -5
  48. package/dist/smart-agent/http/config-route-handler.js.map +1 -1
  49. package/dist/smart-agent/http/request-abort.d.ts +11 -0
  50. package/dist/smart-agent/http/request-abort.d.ts.map +1 -0
  51. package/dist/smart-agent/http/request-abort.js +19 -0
  52. package/dist/smart-agent/http/request-abort.js.map +1 -0
  53. package/dist/smart-agent/knowledge/make-knowledge-backend.d.ts +3 -2
  54. package/dist/smart-agent/knowledge/make-knowledge-backend.d.ts.map +1 -1
  55. package/dist/smart-agent/knowledge/make-knowledge-backend.js.map +1 -1
  56. package/dist/smart-agent/llm/llm-circuit-breakers.d.ts +21 -0
  57. package/dist/smart-agent/llm/llm-circuit-breakers.d.ts.map +1 -0
  58. package/dist/smart-agent/llm/llm-circuit-breakers.js +43 -0
  59. package/dist/smart-agent/llm/llm-circuit-breakers.js.map +1 -0
  60. package/dist/smart-agent/llm/role-llm-resolver.d.ts +3 -0
  61. package/dist/smart-agent/llm/role-llm-resolver.d.ts.map +1 -1
  62. package/dist/smart-agent/llm/role-llm-resolver.js +4 -1
  63. package/dist/smart-agent/llm/role-llm-resolver.js.map +1 -1
  64. package/dist/smart-agent/rag-config.d.ts +21 -6
  65. package/dist/smart-agent/rag-config.d.ts.map +1 -1
  66. package/dist/smart-agent/rag-config.js +2 -2
  67. package/dist/smart-agent/rag-config.js.map +1 -1
  68. package/dist/smart-agent/resolve-agent-embedder.d.ts +18 -1
  69. package/dist/smart-agent/resolve-agent-embedder.d.ts.map +1 -1
  70. package/dist/smart-agent/resolve-agent-embedder.js +37 -0
  71. package/dist/smart-agent/resolve-agent-embedder.js.map +1 -1
  72. package/dist/smart-agent/resolve-config-sections.d.ts +7 -0
  73. package/dist/smart-agent/resolve-config-sections.d.ts.map +1 -1
  74. package/dist/smart-agent/resolve-config-sections.js +65 -0
  75. package/dist/smart-agent/resolve-config-sections.js.map +1 -1
  76. package/dist/smart-agent/resolve-reranker.d.ts +10 -0
  77. package/dist/smart-agent/resolve-reranker.d.ts.map +1 -0
  78. package/dist/smart-agent/resolve-reranker.js +8 -0
  79. package/dist/smart-agent/resolve-reranker.js.map +1 -0
  80. package/dist/smart-agent/resolve-retrieval.d.ts +26 -0
  81. package/dist/smart-agent/resolve-retrieval.d.ts.map +1 -0
  82. package/dist/smart-agent/resolve-retrieval.js +96 -0
  83. package/dist/smart-agent/resolve-retrieval.js.map +1 -0
  84. package/dist/smart-agent/skill-host-embedder-resolver.d.ts +17 -0
  85. package/dist/smart-agent/skill-host-embedder-resolver.d.ts.map +1 -0
  86. package/dist/smart-agent/skill-host-embedder-resolver.js +21 -0
  87. package/dist/smart-agent/skill-host-embedder-resolver.js.map +1 -0
  88. package/dist/smart-agent/skill-plugins-config.d.ts +7 -5
  89. package/dist/smart-agent/skill-plugins-config.d.ts.map +1 -1
  90. package/dist/smart-agent/skill-plugins-config.js +18 -0
  91. package/dist/smart-agent/skill-plugins-config.js.map +1 -1
  92. package/dist/smart-agent/skill-plugins-host-factory.d.ts +4 -2
  93. package/dist/smart-agent/skill-plugins-host-factory.d.ts.map +1 -1
  94. package/dist/smart-agent/skill-plugins-host-factory.js +4 -1
  95. package/dist/smart-agent/skill-plugins-host-factory.js.map +1 -1
  96. package/dist/smart-agent/smart-server.d.ts +76 -6
  97. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  98. package/dist/smart-agent/smart-server.js +249 -82
  99. package/dist/smart-agent/smart-server.js.map +1 -1
  100. package/dist/smart-agent/tools-rag-handle.d.ts +2 -2
  101. package/dist/smart-agent/tools-rag-handle.d.ts.map +1 -1
  102. package/dist/smart-agent/tools-rag-handle.js +4 -2
  103. package/dist/smart-agent/tools-rag-handle.js.map +1 -1
  104. package/package.json +7 -7
@@ -1,4 +1,4 @@
1
- import type { CallOptions, IEmbedder, IKnowledgeRagHandle, KnowledgeEntry } from '@mcp-abap-adt/llm-agent';
1
+ import type { CallOptions, IKnowledgeRagHandle, IRetrievalEmbedder, KnowledgeEntry } from '@mcp-abap-adt/llm-agent';
2
2
  /** Top-k recalled artifacts injected into the executor context per step. */
3
3
  /** Artifact types eligible for recall (excludes the 'controller-bundle' record
4
4
  * that shares the same backend). */
@@ -44,5 +44,7 @@ export declare function runScopedRecall(rag: IKnowledgeRagHandle, text: string,
44
44
  * MAX_EXTRACT_WINDOWS + 1 — touches NO public embedder API (batch is a deferred
45
45
  * optimization). Result STRICTLY ≤ maxChars; tiny maxChars (< 3) → bare slice.
46
46
  * The `requires` ref is English (planner invariant) → a normal embedder suffices. */
47
- export declare function relevantExtract(content: string, ref: string, maxChars: number, embedder: IEmbedder, options?: CallOptions): Promise<string>;
47
+ export declare function relevantExtract(content: string, ref: string, maxChars: number,
48
+ /** Embeds the ref (`embedQuery`) and the content windows (`embedDocument`). */
49
+ embedder: IRetrievalEmbedder, options?: CallOptions): Promise<string>;
48
50
  //# sourceMappingURL=recall.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/recall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAIjC,4EAA4E;AAC5E;qCACqC;AACrC,eAAO,MAAM,qBAAqB,wCAAyC,CAAC;AAC5E,0EAA0E;AAC1E,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;2EAC2E;AAC3E,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EACpC,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAgBpB;AAED;;wEAEwE;AACxE,wBAAsB,eAAe,CACnC,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAwB7C;AAED;;;;;;;;kFAQkF;AAClF,wBAAsB,eAAe,CACnC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAsCpC;AA2CD;;;;;;;;;;sFAUsF;AACtF,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,SAAS,EACnB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
1
+ {"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/recall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAIjC,4EAA4E;AAC5E;qCACqC;AACrC,eAAO,MAAM,qBAAqB,wCAAyC,CAAC;AAC5E,0EAA0E;AAC1E,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;2EAC2E;AAC3E,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EACpC,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAgBpB;AAED;;wEAEwE;AACxE,wBAAsB,eAAe,CACnC,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAwB7C;AAED;;;;;;;;kFAQkF;AAClF,wBAAsB,eAAe,CACnC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAsCpC;AA2CD;;;;;;;;;;sFAUsF;AACtF,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM;AAChB,+EAA+E;AAC/E,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
@@ -171,18 +171,20 @@ const MAX_EXTRACT_WINDOWS = 64;
171
171
  * MAX_EXTRACT_WINDOWS + 1 — touches NO public embedder API (batch is a deferred
172
172
  * optimization). Result STRICTLY ≤ maxChars; tiny maxChars (< 3) → bare slice.
173
173
  * The `requires` ref is English (planner invariant) → a normal embedder suffices. */
174
- export async function relevantExtract(content, ref, maxChars, embedder, options) {
174
+ export async function relevantExtract(content, ref, maxChars,
175
+ /** Embeds the ref (`embedQuery`) and the content windows (`embedDocument`). */
176
+ embedder, options) {
175
177
  if (content.length <= maxChars)
176
178
  return content;
177
179
  if (maxChars < 3)
178
180
  return content.slice(0, Math.max(0, maxChars));
179
181
  const body = maxChars - 2;
180
182
  const stride = Math.max(Math.floor(body / 2), Math.ceil(content.length / MAX_EXTRACT_WINDOWS));
181
- const { vector: q } = await embedder.embed(ref, options);
183
+ const { vector: q } = await embedder.embedQuery(ref, options);
182
184
  let bestStart = 0;
183
185
  let bestScore = Number.NEGATIVE_INFINITY;
184
186
  for (let s = 0; s < content.length; s += stride) {
185
- const { vector } = await embedder.embed(content.slice(s, s + body), options);
187
+ const { vector } = await embedder.embedDocument(content.slice(s, s + body), options);
186
188
  const score = cosine(q, vector);
187
189
  if (score > bestScore) {
188
190
  bestScore = score;
@@ -1 +1 @@
1
- {"version":3,"file":"recall.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/recall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recall.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/recall.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import type { CallOptions, IEmbedder, LlmUsage } from '@mcp-abap-adt/llm-agent';
1
+ import type { CallOptions, IQueryEmbedder, LlmUsage } from '@mcp-abap-adt/llm-agent';
2
2
  import { type ISubagentClient } from './subagent-client.js';
3
3
  import type { ControllerConfig } from './types.js';
4
4
  export interface TargetStateDeps {
5
5
  evaluator: ISubagentClient;
6
6
  /** Required only for distance strategies (semantic-distance/auto). */
7
- embedder?: IEmbedder;
7
+ embedder?: IQueryEmbedder;
8
8
  }
9
9
  /**
10
10
  * Outcome of establishing the target state. `established` → the goal is settled
@@ -1 +1 @@
1
- {"version":3,"file":"target-state.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/target-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,eAAe,CAAC;IAC3B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAE,GACvD;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB,CAAC;AAgBN,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC,EACpC,OAAO,CAAC,EAAE,WAAW;AACrB,+EAA+E;AAC/E,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC,CAoD7B"}
1
+ {"version":3,"file":"target-state.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/target-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,eAAe,CAAC;IAC3B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAE,GACvD;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB,CAAC;AAgBN,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC,EACpC,OAAO,CAAC,EAAE,WAAW;AACrB,+EAA+E;AAC/E,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC,CAoD7B"}
@@ -42,8 +42,8 @@ hint) {
42
42
  throw new Error(`target-state strategy '${cfg.strategy}' requires an embedder; configure rag.embedder or use strategy: consumer-confirm`);
43
43
  }
44
44
  const [te, pe] = await Promise.all([
45
- deps.embedder.embed(target, options),
46
- deps.embedder.embed(prompt, options),
45
+ deps.embedder.embedQuery(target, options),
46
+ deps.embedder.embedQuery(prompt, options),
47
47
  ]);
48
48
  const dist = cosineDistance(te.vector, pe.vector);
49
49
  if (dist > cfg.distanceThreshold) {
@@ -1 +1 @@
1
- {"version":3,"file":"target-state.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/target-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"target-state.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/target-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /** `decision:` — a decision model (numbers, not text). Secrets never here. */
2
+ export interface SmartServerDecisionConfig {
3
+ provider: 'typesafe';
4
+ model?: string;
5
+ /** Names the account; the composition root resolves it (default `DECISION`). */
6
+ credentialRef?: string;
7
+ baseUrl?: string;
8
+ /** Per-attempt timeout in ms (positive integer). */
9
+ timeoutMs?: number;
10
+ /** Retries after the first attempt (non-negative integer); `0` disables them. */
11
+ maxRetries?: number;
12
+ }
13
+ /** One entry of `rag.retrieval` — the retrieval strategy of one store. */
14
+ export interface SmartServerRetrievalConfig {
15
+ strategy: 'embedding' | 'rerank' | 'rerank-all';
16
+ /** Required for `rerank` / `rerank-all`; `decision` uses the `decision:` section. */
17
+ reranker?: 'decision' | 'llm';
18
+ /** Key of the llm: map entry; required for reranker: llm. */
19
+ llm?: string;
20
+ question?: 'tool' | 'passage';
21
+ task?: string;
22
+ overfetch?: number;
23
+ maxCandidates?: number;
24
+ }
25
+ /**
26
+ * The one normalisation of an integer field, shared by the resolver and the
27
+ * validator. `loadYamlConfig` substitutes `${VAR}` as a STRING, so `"5000"` and
28
+ * `"0"` arrive as text and must count as integers; `""` (an unset variable with
29
+ * no fallback) is invalid, never 0.
30
+ */
31
+ export declare function parseIntegerField(value: unknown): number | 'invalid' | undefined;
32
+ //# sourceMappingURL=decision-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-config.d.ts","sourceRoot":"","sources":["../../src/smart-agent/decision-config.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,0EAA0E;AAC1E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;IAChD,qFAAqF;IACrF,QAAQ,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAC9B,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,MAAM,GAAG,SAAS,GAAG,SAAS,CAShC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The one normalisation of an integer field, shared by the resolver and the
3
+ * validator. `loadYamlConfig` substitutes `${VAR}` as a STRING, so `"5000"` and
4
+ * `"0"` arrive as text and must count as integers; `""` (an unset variable with
5
+ * no fallback) is invalid, never 0.
6
+ */
7
+ export function parseIntegerField(value) {
8
+ if (value === undefined || value === null)
9
+ return undefined;
10
+ if (typeof value === 'number') {
11
+ return Number.isInteger(value) ? value : 'invalid';
12
+ }
13
+ if (typeof value === 'string' && /^\s*-?\d+\s*$/.test(value)) {
14
+ return Number(value);
15
+ }
16
+ return 'invalid';
17
+ }
18
+ //# sourceMappingURL=decision-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-config.js","sourceRoot":"","sources":["../../src/smart-agent/decision-config.ts"],"names":[],"mappings":"AA0BA;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAc;IAEd,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CallOptions, IEmbedder, KnowledgeEntry, KnowledgeFilter } from '@mcp-abap-adt/llm-agent';
1
+ import type { CallOptions, IRetrievalEmbedder, KnowledgeEntry, KnowledgeFilter } from '@mcp-abap-adt/llm-agent';
2
2
  /** Cosine similarity of two vectors (0 when either is zero-length). Exported:
3
3
  * reused by the controller's relevantExtract fragment-selector. */
4
4
  export declare function cosine(a: number[], b: number[]): number;
@@ -20,7 +20,9 @@ export declare function cosine(a: number[], b: number[]): number;
20
20
  * returns the complete result. The default (16000 chars ≈ ≤ 8000 tokens even at a
21
21
  * pessimistic 2 chars/token) stays safely under the limit with ample ranking
22
22
  * signal; override per deployment if needed. */
23
- export declare function makeKnowledgeSemanticIndex(embedder: IEmbedder, skipArtifactTypes?: readonly string[], maxEmbedChars?: number): {
23
+ export declare function makeKnowledgeSemanticIndex(
24
+ /** Embeds the stored entries (`embedDocument`) and the search text (`embedQuery`). */
25
+ embedder: IRetrievalEmbedder, skipArtifactTypes?: readonly string[], maxEmbedChars?: number): {
24
26
  upsert(sid: string, e: KnowledgeEntry, options?: CallOptions): Promise<void>;
25
27
  query(sid: string, text: string, k?: number, filter?: KnowledgeFilter, options?: CallOptions): Promise<readonly KnowledgeEntry[]>;
26
28
  deleteSession(sid: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"embedder-knowledge-index.d.ts","sourceRoot":"","sources":["../../src/smart-agent/embedder-knowledge-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAQjC;oEACoE;AACpE,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAUvD;AAED;;;;;;;;;;;;;;;;;iDAiBiD;AACjD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,EACnB,iBAAiB,GAAE,SAAS,MAAM,EAGjC,EACD,aAAa,SAAQ;gBASZ,MAAM,KACR,cAAc,YACP,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC;eAgBT,MAAM,QACL,MAAM,MACR,MAAM,WACD,eAAe,YACd,WAAW,GACpB,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC;uBAalB,MAAM,GAAG,IAAI;EAInC"}
1
+ {"version":3,"file":"embedder-knowledge-index.d.ts","sourceRoot":"","sources":["../../src/smart-agent/embedder-knowledge-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAQjC;oEACoE;AACpE,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAUvD;AAED;;;;;;;;;;;;;;;;;iDAiBiD;AACjD,wBAAgB,0BAA0B;AACxC,sFAAsF;AACtF,QAAQ,EAAE,kBAAkB,EAC5B,iBAAiB,GAAE,SAAS,MAAM,EAGjC,EACD,aAAa,SAAQ;gBASZ,MAAM,KACR,cAAc,YACP,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC;eAmBT,MAAM,QACL,MAAM,MACR,MAAM,WACD,eAAe,YACd,WAAW,GACpB,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC;uBAgBlB,MAAM,GAAG,IAAI;EAInC"}
@@ -30,7 +30,9 @@ export function cosine(a, b) {
30
30
  * returns the complete result. The default (16000 chars ≈ ≤ 8000 tokens even at a
31
31
  * pessimistic 2 chars/token) stays safely under the limit with ample ranking
32
32
  * signal; override per deployment if needed. */
33
- export function makeKnowledgeSemanticIndex(embedder, skipArtifactTypes = [
33
+ export function makeKnowledgeSemanticIndex(
34
+ /** Embeds the stored entries (`embedDocument`) and the search text (`embedQuery`). */
35
+ embedder, skipArtifactTypes = [
34
36
  'controller-bundle',
35
37
  'controller-terminal',
36
38
  ], maxEmbedChars = 16000) {
@@ -51,7 +53,7 @@ export function makeKnowledgeSemanticIndex(embedder, skipArtifactTypes = [
51
53
  // semantic recall, which is correct — there is no text to rank on. #243.
52
54
  if (e.content.trim().length === 0)
53
55
  return;
54
- const { vector } = await embedder.embed(embedInput(e.content), options);
56
+ const { vector } = await embedder.embedDocument(embedInput(e.content), options);
55
57
  const arr = bySession.get(sid);
56
58
  if (arr)
57
59
  arr.push({ entry: e, vector });
@@ -63,7 +65,7 @@ export function makeKnowledgeSemanticIndex(embedder, skipArtifactTypes = [
63
65
  const scoped = filter
64
66
  ? all.filter((x) => matchesKnowledgeFilter(x.entry.metadata, filter))
65
67
  : all; // PRE-cap
66
- const { vector: q } = await embedder.embed(embedInput(text), options);
68
+ const { vector: q } = await embedder.embedQuery(embedInput(text), options);
67
69
  const ranked = scoped
68
70
  .map((x) => ({ e: x.entry, s: cosine(q, x.vector) }))
69
71
  .sort((a, b) => b.s - a.s)
@@ -1 +1 @@
1
- {"version":3,"file":"embedder-knowledge-index.js","sourceRoot":"","sources":["../../src/smart-agent/embedder-knowledge-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedder-knowledge-index.js","sourceRoot":"","sources":["../../src/smart-agent/embedder-knowledge-index.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,5 @@ export declare function handleAdapterRequest(req: IncomingMessage, res: ServerRe
9
9
  sessionId: string;
10
10
  traceId: string;
11
11
  graph: SessionGraph;
12
- } | undefined, heartbeatIntervalMs: number | undefined): Promise<void>;
12
+ } | undefined, heartbeatIntervalMs: number | undefined, log?: (e: Record<string, unknown>) => void): Promise<void>;
13
13
  //# sourceMappingURL=adapter-route-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-route-handler.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/http/adapter-route-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI7E;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,cAAc,EACvB,OAAO,EACH;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAC3D,SAAS,EACb,mBAAmB,EAAE,MAAM,GAAG,SAAS,GACtC,OAAO,CAAC,IAAI,CAAC,CAyFf"}
1
+ {"version":3,"file":"adapter-route-handler.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/http/adapter-route-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAK7E;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,cAAc,EACvB,OAAO,EACH;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAC3D,SAAS,EACb,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GACzC,OAAO,CAAC,IAAI,CAAC,CAoHf"}
@@ -1,11 +1,13 @@
1
1
  import { AdapterValidationError, buildExternalResults, } from '@mcp-abap-adt/llm-agent';
2
+ import { canWrite, createRequestAbort } from './request-abort.js';
2
3
  import { jsonError, readBody } from './response-helpers.js';
3
4
  import { attachSseKeepAlive } from './sse-heartbeat.js';
4
5
  /**
5
6
  * POST /v1/messages handler (Anthropic adapter route), extracted verbatim from
6
7
  * SmartServer._handleAdapterRequest. Pure — no SmartServer state is touched.
7
8
  */
8
- export async function handleAdapterRequest(req, res, agent, adapter, session, heartbeatIntervalMs) {
9
+ export async function handleAdapterRequest(req, res, agent, adapter, session, heartbeatIntervalMs, log) {
10
+ const t0 = Date.now();
9
11
  const raw = await readBody(req);
10
12
  let body;
11
13
  try {
@@ -35,16 +37,20 @@ export async function handleAdapterRequest(req, res, agent, adapter, session, he
35
37
  // identical stateless-resume behaviour: consumed external turns are stripped
36
38
  // and their results threaded to the agent keyed by deterministic `ext:` id.
37
39
  const { results: externalResults, sanitizedMessages } = buildExternalResults(normalized.messages);
40
+ // Client disconnect before the response finished cancels the whole request.
41
+ const abort = createRequestAbort(res);
42
+ const logCancelled = () => log?.({ event: 'request_cancelled', durationMs: Date.now() - t0 });
38
43
  const augmentedOptions = session
39
44
  ? {
40
45
  ...normalized.options,
46
+ signal: abort.signal,
41
47
  sessionId: session.sessionId,
42
48
  trace: { traceId: session.traceId },
43
49
  toolAvailability: session.graph.toolAvailability,
44
50
  pendingToolResults: session.graph.pendingToolResults,
45
51
  externalResults,
46
52
  }
47
- : { ...normalized.options, externalResults };
53
+ : { ...normalized.options, signal: abort.signal, externalResults };
48
54
  if (normalized.stream) {
49
55
  res.writeHead(200, {
50
56
  'Content-Type': 'text/event-stream',
@@ -54,19 +60,44 @@ export async function handleAdapterRequest(req, res, agent, adapter, session, he
54
60
  const keepAlive = attachSseKeepAlive(res, heartbeatIntervalMs);
55
61
  try {
56
62
  for await (const event of adapter.transformStream(agent.streamProcess(sanitizedMessages, augmentedOptions), normalized.context)) {
63
+ if (!canWrite(res, abort.signal))
64
+ break;
57
65
  keepAlive.reset();
58
66
  const eventLine = event.event ? `event: ${event.event}\n` : '';
59
67
  res.write(`${eventLine}data: ${event.data}\n\n`);
60
68
  }
61
69
  }
70
+ catch (err) {
71
+ if (!abort.signal.aborted)
72
+ throw err;
73
+ logCancelled();
74
+ return;
75
+ }
62
76
  finally {
63
77
  keepAlive.stop();
64
78
  }
79
+ if (!canWrite(res, abort.signal)) {
80
+ logCancelled();
81
+ return;
82
+ }
65
83
  res.end();
66
84
  return;
67
85
  }
68
86
  // Non-streaming
69
- const result = await agent.process(sanitizedMessages, augmentedOptions);
87
+ let result;
88
+ try {
89
+ result = await agent.process(sanitizedMessages, augmentedOptions);
90
+ }
91
+ catch (err) {
92
+ if (!abort.signal.aborted)
93
+ throw err;
94
+ logCancelled();
95
+ return;
96
+ }
97
+ if (!canWrite(res, abort.signal)) {
98
+ logCancelled();
99
+ return;
100
+ }
70
101
  res.setHeader('Content-Type', 'application/json');
71
102
  if (!result.ok) {
72
103
  res.writeHead(500);
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-route-handler.js","sourceRoot":"","sources":["../../../src/smart-agent/http/adapter-route-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-route-handler.js","sourceRoot":"","sources":["../../../src/smart-agent/http/adapter-route-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-route-handler.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/http/chat-route-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,cAAc,EAKpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAU5D;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC/B,WAAW,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAC3C,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EACzC,aAAa,EAAE,cAAc,GAAG,SAAS,EACzC,OAAO,EACH;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAC3D,SAAS,EACb,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,IAAI,CAAC,CAiaf"}
1
+ {"version":3,"file":"chat-route-handler.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/http/chat-route-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,cAAc,EAKpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAW5D;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC/B,WAAW,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAC3C,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EACzC,aAAa,EAAE,cAAc,GAAG,SAAS,EACzC,OAAO,EACH;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAC3D,SAAS,EACb,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,IAAI,CAAC,CA6bf"}
@@ -2,6 +2,7 @@ import { randomUUID } from 'node:crypto';
2
2
  import { buildExternalResults, normalizeAndValidateExternalTools, toToolCallDelta, } from '@mcp-abap-adt/llm-agent';
3
3
  import { SessionLogger, } from '@mcp-abap-adt/llm-agent-libs';
4
4
  import { resolveTraceSink } from './debug-trace-sink.js';
5
+ import { canWrite, createRequestAbort } from './request-abort.js';
5
6
  import { jsonError, jsonValidationError, mapStopReason, readBody, } from './response-helpers.js';
6
7
  import { attachSseKeepAlive } from './sse-heartbeat.js';
7
8
  /**
@@ -82,7 +83,11 @@ export async function handleChat(req, res, _requestLogger, smartAgent, _chat, _s
82
83
  }
83
84
  const t0 = Date.now();
84
85
  log({ event: 'request_start', stream: body.stream ?? false, traceId });
86
+ // Client disconnect before the response finished cancels the whole request.
87
+ const abort = createRequestAbort(res);
88
+ const logCancelled = () => log({ event: 'request_cancelled', durationMs: Date.now() - t0 });
85
89
  const opts = {
90
+ signal: abort.signal,
86
91
  stream: body.stream,
87
92
  externalTools,
88
93
  sessionId,
@@ -181,6 +186,8 @@ export async function handleChat(req, res, _requestLogger, smartAgent, _chat, _s
181
186
  let lastUsage = null;
182
187
  try {
183
188
  for await (const chunk of stream) {
189
+ if (!canWrite(res, abort.signal))
190
+ break;
184
191
  keepAlive.reset();
185
192
  if (!chunk.ok) {
186
193
  const errorChunk = {
@@ -256,6 +263,10 @@ export async function handleChat(req, res, _requestLogger, smartAgent, _chat, _s
256
263
  finishReasonSent = true;
257
264
  }
258
265
  }
266
+ if (!canWrite(res, abort.signal)) {
267
+ logCancelled();
268
+ return;
269
+ }
259
270
  if (!finishReasonSent) {
260
271
  const baseResponse = {
261
272
  id,
@@ -272,6 +283,13 @@ export async function handleChat(req, res, _requestLogger, smartAgent, _chat, _s
272
283
  }
273
284
  res.write('data: [DONE]\n\n');
274
285
  }
286
+ catch (err) {
287
+ // An agent that throws because the client went away is a cancellation.
288
+ if (!abort.signal.aborted)
289
+ throw err;
290
+ logCancelled();
291
+ return;
292
+ }
275
293
  finally {
276
294
  keepAlive.stop();
277
295
  }
@@ -285,10 +303,23 @@ export async function handleChat(req, res, _requestLogger, smartAgent, _chat, _s
285
303
  });
286
304
  return;
287
305
  }
288
- const result = await smartAgent.process(sanitizedMessages, {
289
- ...opts,
290
- externalResults,
291
- });
306
+ let result;
307
+ try {
308
+ result = await smartAgent.process(sanitizedMessages, {
309
+ ...opts,
310
+ externalResults,
311
+ });
312
+ }
313
+ catch (err) {
314
+ if (!abort.signal.aborted)
315
+ throw err;
316
+ logCancelled();
317
+ return;
318
+ }
319
+ if (!canWrite(res, abort.signal)) {
320
+ logCancelled();
321
+ return;
322
+ }
292
323
  log({ event: 'request_done', ok: result.ok, durationMs: Date.now() - t0 });
293
324
  const finalContent = result.ok
294
325
  ? result.value.content || (result.value.toolCalls ? null : '(no response)')
@@ -1 +1 @@
1
- {"version":3,"file":"chat-route-handler.js","sourceRoot":"","sources":["../../../src/smart-agent/http/chat-route-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-route-handler.js","sourceRoot":"","sources":["../../../src/smart-agent/http/chat-route-handler.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,12 @@ export interface IConfigUpdateTarget {
6
6
  readonly modelResolver?: IModelResolver;
7
7
  /** The switch startup's model check obeys; a swapped-in model is checked the same way. */
8
8
  readonly skipModelValidation: boolean;
9
- setMainLlm(llm: ILlm): void;
10
- setClassifierLlm(llm: ILlm): void;
11
- setHelperLlm(llm: ILlm): void;
9
+ /** Each setter holds `llm` for its role and returns the instance now held —
10
+ * the server may guard it (its per-key circuit breaker), and that guarded
11
+ * instance is what every agent must use. */
12
+ setMainLlm(llm: ILlm): ILlm;
13
+ setClassifierLlm(llm: ILlm): ILlm;
14
+ setHelperLlm(llm: ILlm): ILlm;
12
15
  /** Deep-merge `patch` into the mirrored `cfg.agent` (preserve untouched startup fields). */
13
16
  mirrorAgentCfg(patch: Record<string, unknown>): void;
14
17
  drainWorkers(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"config-route-handler.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/http/config-route-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,8BAA8B,CAAC;AAGtC,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;IACxC,0FAA0F;IAC1F,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,UAAU,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,4FAA4F;IAC5F,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAaD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAsLf"}
1
+ {"version":3,"file":"config-route-handler.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/http/config-route-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,8BAA8B,CAAC;AAGtC,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;IACxC,0FAA0F;IAC1F,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC;;iDAE6C;IAC7C,UAAU,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,4FAA4F;IAC5F,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAaD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA4Lf"}
@@ -120,17 +120,19 @@ export async function handleConfigUpdate(req, res, smartAgent, target) {
120
120
  }
121
121
  // --- All validation passed — apply mutations ---
122
122
  if (resolvedModels) {
123
- smartAgent.reconfigure(resolvedModels);
124
123
  // Mirror onto the hoisted globals consumed by `buildSessionAgent` so
125
124
  // freshly-built session graphs pick up the new LLMs by reference
126
125
  // (otherwise `this._mainLlm` etc. would keep pointing at the originals
127
- // captured during `start()`).
126
+ // captured during `start()`). The setters return the instance now held
127
+ // (breaker-guarded when configured); the startup agent gets that same one.
128
+ const held = {};
128
129
  if (resolvedModels.mainLlm)
129
- target.setMainLlm(resolvedModels.mainLlm);
130
+ held.mainLlm = target.setMainLlm(resolvedModels.mainLlm);
130
131
  if (resolvedModels.classifierLlm)
131
- target.setClassifierLlm(resolvedModels.classifierLlm);
132
+ held.classifierLlm = target.setClassifierLlm(resolvedModels.classifierLlm);
132
133
  if (resolvedModels.helperLlm)
133
- target.setHelperLlm(resolvedModels.helperLlm);
134
+ held.helperLlm = target.setHelperLlm(resolvedModels.helperLlm);
135
+ smartAgent.reconfigure(held);
134
136
  }
135
137
  if (body.agent) {
136
138
  const patch = body.agent;