@remnic/core 9.6.37 → 9.6.39

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 (272) hide show
  1. package/dist/access-admin-ops-surface.d.ts +6 -6
  2. package/dist/access-admin-ops-surface.js +8 -8
  3. package/dist/access-boundary.d.ts +6 -6
  4. package/dist/access-boundary.js +9 -9
  5. package/dist/access-cli.js +32 -32
  6. package/dist/access-http.d.ts +6 -6
  7. package/dist/access-http.js +13 -13
  8. package/dist/access-identity-continuity-surface.d.ts +5 -5
  9. package/dist/access-identity-continuity-surface.js +8 -8
  10. package/dist/access-lcm-surface.d.ts +6 -6
  11. package/dist/access-lcm-surface.js +8 -8
  12. package/dist/access-mcp.d.ts +6 -6
  13. package/dist/access-mcp.js +12 -12
  14. package/dist/access-observe-write-surface.d.ts +6 -6
  15. package/dist/access-observe-write-surface.js +8 -8
  16. package/dist/access-operations-batch.js +10 -10
  17. package/dist/access-operations.d.ts +7 -7
  18. package/dist/access-operations.js +11 -11
  19. package/dist/access-recall-surface.d.ts +6 -6
  20. package/dist/access-recall-surface.js +8 -8
  21. package/dist/{access-service-BofDzaPT.d.ts → access-service-Fw9AYEqG.d.ts} +4 -4
  22. package/dist/access-service.d.ts +6 -6
  23. package/dist/access-service.js +8 -8
  24. package/dist/access-surface-catalog.d.ts +6 -6
  25. package/dist/action-confidence.d.ts +1 -1
  26. package/dist/active-memory-bridge.d.ts +1 -1
  27. package/dist/active-recall.d.ts +1 -1
  28. package/dist/active-recall.js +2 -1
  29. package/dist/active-recall.js.map +1 -1
  30. package/dist/behavior-learner.d.ts +1 -1
  31. package/dist/behavior-signals.d.ts +1 -1
  32. package/dist/bootstrap.d.ts +5 -5
  33. package/dist/briefing.d.ts +2 -2
  34. package/dist/briefing.js +3 -3
  35. package/dist/buffer-surprise-report.d.ts +1 -1
  36. package/dist/buffer.d.ts +2 -2
  37. package/dist/bulk-import/index.d.ts +3 -3
  38. package/dist/calibration.d.ts +1 -1
  39. package/dist/capabilities.d.ts +1 -1
  40. package/dist/{catalog-9WanSGtt.d.ts → catalog-CnS_MP-8.d.ts} +1 -1
  41. package/dist/causal-behavior.d.ts +1 -1
  42. package/dist/causal-consolidation.d.ts +1 -1
  43. package/dist/causal-consolidation.js +4 -4
  44. package/dist/causal-trajectory-graph.d.ts +1 -1
  45. package/dist/{chunk-B4LPRAWL.js → chunk-2V6L3L56.js} +6 -6
  46. package/dist/{chunk-AXALUFAH.js → chunk-3BZDBG7U.js} +2 -2
  47. package/dist/{chunk-KL4UAXUY.js → chunk-3WULMX34.js} +73 -2
  48. package/dist/{chunk-KL4UAXUY.js.map → chunk-3WULMX34.js.map} +1 -1
  49. package/dist/{chunk-JODHPNLN.js → chunk-5ELELET5.js} +2 -2
  50. package/dist/{chunk-DQ42IQSK.js → chunk-5SORASJK.js} +2 -2
  51. package/dist/{chunk-DAAJUA6Q.js → chunk-6MWGGPJJ.js} +5 -5
  52. package/dist/{chunk-2K3OSLHE.js → chunk-7TEWOG3R.js} +2 -2
  53. package/dist/{chunk-23G3T2Q5.js → chunk-7XY6TJLM.js} +2 -2
  54. package/dist/{chunk-W2AHSCKY.js → chunk-AZK3NEHL.js} +2 -2
  55. package/dist/{chunk-7ZYBDQ7V.js → chunk-CVEEJKRD.js} +2 -2
  56. package/dist/{chunk-YQB32INI.js → chunk-EBVUFGJ4.js} +2 -2
  57. package/dist/{chunk-4Q2XWAHZ.js → chunk-EDD2G35Z.js} +2 -2
  58. package/dist/{chunk-CAZ3Z5M6.js → chunk-F7AE7L6G.js} +2 -2
  59. package/dist/{chunk-B5GBWBCZ.js → chunk-GCTJG5MP.js} +2 -2
  60. package/dist/{chunk-C6TKSI35.js → chunk-HVE3UVAB.js} +3 -3
  61. package/dist/{chunk-SDAXPXER.js → chunk-IGCQHJSQ.js} +2 -2
  62. package/dist/{chunk-3AC5UYKI.js → chunk-METJNEIB.js} +1 -1
  63. package/dist/chunk-METJNEIB.js.map +1 -0
  64. package/dist/{chunk-MXAGJHTA.js → chunk-NREKOGZ2.js} +3 -3
  65. package/dist/{chunk-H4FHR4UM.js → chunk-PQG2AOL4.js} +2 -2
  66. package/dist/{chunk-WSOEYOHN.js → chunk-PWSZNML3.js} +15 -15
  67. package/dist/{chunk-OXVKR5OU.js → chunk-RU73ZROD.js} +342 -16
  68. package/dist/chunk-RU73ZROD.js.map +1 -0
  69. package/dist/{chunk-VJRJTRYF.js → chunk-RVLE2SNP.js} +17 -17
  70. package/dist/{chunk-KVSVVKHA.js → chunk-U5JP7FCM.js} +2 -2
  71. package/dist/{chunk-GQURC4B7.js → chunk-VTRF5QBX.js} +2 -2
  72. package/dist/{chunk-FVTLSFWU.js → chunk-WHZ7MK72.js} +2 -2
  73. package/dist/{chunk-PUQZIS6A.js → chunk-WX4XTAOI.js} +4 -4
  74. package/dist/{chunk-VHJARF5R.js → chunk-XH2Y6UIW.js} +2 -2
  75. package/dist/{chunk-GQGDRLDM.js → chunk-YAN6NTJN.js} +3 -3
  76. package/dist/{chunk-DEKIXXIG.js → chunk-ZIKJD6NL.js} +2 -2
  77. package/dist/{chunk-KJIJNLXT.js → chunk-ZMXXHUEZ.js} +3 -3
  78. package/dist/{chunk-O6YI4CVI.js → chunk-ZSDRGPMV.js} +2 -2
  79. package/dist/{cli-3_x5sJTL.d.ts → cli-PGF41MN6.d.ts} +5 -5
  80. package/dist/cli.d.ts +8 -8
  81. package/dist/cli.js +26 -26
  82. package/dist/compounding/engine.d.ts +2 -2
  83. package/dist/compounding/engine.js +3 -3
  84. package/dist/compounding/preference-consolidator.d.ts +1 -1
  85. package/dist/compression-optimizer.d.ts +1 -1
  86. package/dist/config.d.ts +1 -1
  87. package/dist/config.js +2 -1
  88. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  89. package/dist/connectors/codex-materialize-runner.js +3 -3
  90. package/dist/connectors/codex-materialize.d.ts +1 -1
  91. package/dist/connectors/index.d.ts +1 -1
  92. package/dist/connectors/index.js +3 -3
  93. package/dist/consolidation-provenance-check.d.ts +2 -2
  94. package/dist/consolidation-undo.d.ts +2 -2
  95. package/dist/contradiction/index.d.ts +2 -2
  96. package/dist/conversation-index/backend.d.ts +1 -1
  97. package/dist/conversation-index/chunker.d.ts +1 -1
  98. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  99. package/dist/conversation-index/indexer.d.ts +1 -1
  100. package/dist/conversation-index/search.d.ts +1 -1
  101. package/dist/day-summary.d.ts +1 -1
  102. package/dist/delinearize.d.ts +1 -1
  103. package/dist/direct-answer-wiring.d.ts +1 -1
  104. package/dist/direct-answer.d.ts +1 -1
  105. package/dist/embedding-fallback.d.ts +1 -1
  106. package/dist/enrichment/index.d.ts +1 -1
  107. package/dist/entity-retrieval.d.ts +2 -2
  108. package/dist/entity-retrieval.js +3 -3
  109. package/dist/entity-schema.d.ts +1 -1
  110. package/dist/explicit-capture.d.ts +5 -5
  111. package/dist/extraction-faithfulness.d.ts +1 -1
  112. package/dist/extraction-judge-telemetry.d.ts +1 -1
  113. package/dist/extraction-judge-training.d.ts +1 -1
  114. package/dist/extraction-judge.d.ts +1 -1
  115. package/dist/extraction.d.ts +1 -1
  116. package/dist/fallback-llm.d.ts +1 -1
  117. package/dist/graph-dashboard-diff.d.ts +1 -1
  118. package/dist/graph-dashboard-key.d.ts +1 -1
  119. package/dist/graph-dashboard-parser.d.ts +1 -1
  120. package/dist/graph-edge-reinforcement.d.ts +1 -1
  121. package/dist/graph-snapshot.d.ts +1 -1
  122. package/dist/graph.d.ts +1 -1
  123. package/dist/identity-continuity.d.ts +1 -1
  124. package/dist/importance.d.ts +1 -1
  125. package/dist/importers/index.d.ts +1 -1
  126. package/dist/index.d.ts +13 -13
  127. package/dist/index.js +35 -35
  128. package/dist/intent.d.ts +1 -1
  129. package/dist/lcm/engine.d.ts +1 -1
  130. package/dist/lcm/index.d.ts +1 -1
  131. package/dist/lcm/tools.d.ts +1 -1
  132. package/dist/lifecycle.d.ts +1 -1
  133. package/dist/live-connectors-runner.d.ts +1 -1
  134. package/dist/local-llm.d.ts +1 -1
  135. package/dist/local-model-endpoint.d.ts +1 -1
  136. package/dist/maintenance/memory-governance.d.ts +1 -1
  137. package/dist/maintenance/memory-governance.js +3 -3
  138. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +3 -3
  139. package/dist/maintenance/rebuild-memory-projection.js +4 -4
  140. package/dist/mcp-memory-inspector-app.d.ts +6 -6
  141. package/dist/memory-action-policy.d.ts +1 -1
  142. package/dist/memory-cache.d.ts +1 -1
  143. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  144. package/dist/memory-projection-store.d.ts +1 -1
  145. package/dist/memory-provenance.d.ts +1 -1
  146. package/dist/memory-worth-outcomes.d.ts +2 -2
  147. package/dist/models-json.d.ts +1 -1
  148. package/dist/namespaces/migrate.d.ts +3 -3
  149. package/dist/namespaces/migrate.js +4 -4
  150. package/dist/namespaces/principal.d.ts +1 -1
  151. package/dist/namespaces/search.d.ts +1 -1
  152. package/dist/namespaces/storage.d.ts +3 -3
  153. package/dist/namespaces/storage.js +3 -3
  154. package/dist/native-knowledge.d.ts +1 -1
  155. package/dist/operator-toolkit.d.ts +2 -2
  156. package/dist/operator-toolkit.js +9 -8
  157. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  158. package/dist/orchestration/maintenance.d.ts +2 -2
  159. package/dist/orchestration/maintenance.js +5 -5
  160. package/dist/{orchestrator-CAH5-PKN.d.ts → orchestrator-xePY-WPe.d.ts} +4 -4
  161. package/dist/orchestrator.d.ts +5 -5
  162. package/dist/orchestrator.js +32 -32
  163. package/dist/patterns-cli.d.ts +1 -1
  164. package/dist/{pipeline-CiD86zIk.d.ts → pipeline-Zgwz-Kne.d.ts} +1 -1
  165. package/dist/policy-runtime.d.ts +1 -1
  166. package/dist/provenance.d.ts +1 -1
  167. package/dist/{qmd-Bef7DDuQ.d.ts → qmd-B6Xwfn5_.d.ts} +1 -1
  168. package/dist/qmd-preflight.d.ts +2 -2
  169. package/dist/qmd-recall-cache.d.ts +1 -1
  170. package/dist/qmd.d.ts +2 -2
  171. package/dist/recall-disclosure-escalation.d.ts +1 -1
  172. package/dist/recall-explain-renderer.d.ts +1 -1
  173. package/dist/recall-explain-renderer.js +3 -3
  174. package/dist/recall-planner-llm.d.ts +1 -1
  175. package/dist/recall-state.d.ts +1 -1
  176. package/dist/recall-tag-filter.d.ts +1 -1
  177. package/dist/recall-timings.d.ts +1 -1
  178. package/dist/recall-xray-cli.d.ts +1 -1
  179. package/dist/recall-xray-cli.js +4 -4
  180. package/dist/recall-xray-renderer.d.ts +1 -1
  181. package/dist/recall-xray-renderer.js +3 -3
  182. package/dist/recall-xray.d.ts +1 -1
  183. package/dist/recall-xray.js +2 -2
  184. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  185. package/dist/replay/normalizers/claude.d.ts +1 -1
  186. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  187. package/dist/replay/normalizers/shared.d.ts +1 -1
  188. package/dist/replay/runner.d.ts +1 -1
  189. package/dist/replay/types.d.ts +1 -1
  190. package/dist/resolve-auth-token.d.ts +1 -1
  191. package/dist/resume-bundles.js +3 -2
  192. package/dist/retrieval-agents.d.ts +2 -2
  193. package/dist/retrieval-tiers.d.ts +1 -1
  194. package/dist/routing/engine.d.ts +1 -1
  195. package/dist/routing/store.d.ts +1 -1
  196. package/dist/schemas.d.ts +2 -2
  197. package/dist/search/embed-helper.d.ts +1 -1
  198. package/dist/search/factory.d.ts +1 -1
  199. package/dist/search/index.d.ts +1 -1
  200. package/dist/search/lancedb-backend.d.ts +1 -1
  201. package/dist/search/meilisearch-backend.d.ts +1 -1
  202. package/dist/search/noop-backend.d.ts +1 -1
  203. package/dist/search/orama-backend.d.ts +1 -1
  204. package/dist/search/port.d.ts +1 -1
  205. package/dist/search/remote-backend.d.ts +1 -1
  206. package/dist/{semantic-consolidation-BTShF2Fo.d.ts → semantic-consolidation-ClfD_CWg.d.ts} +1 -1
  207. package/dist/semantic-consolidation.d.ts +2 -2
  208. package/dist/semantic-consolidation.js +4 -4
  209. package/dist/semantic-rule-promotion.js +3 -3
  210. package/dist/semantic-rule-verifier.d.ts +1 -1
  211. package/dist/semantic-rule-verifier.js +3 -3
  212. package/dist/session-observer-bands.d.ts +1 -1
  213. package/dist/session-observer-state.d.ts +1 -1
  214. package/dist/shared-context/manager.d.ts +3 -3
  215. package/dist/signal.d.ts +1 -1
  216. package/dist/{storage-DxPDAiU9.d.ts → storage-ZrHZ0dSM.d.ts} +1 -1
  217. package/dist/storage.d.ts +2 -2
  218. package/dist/storage.js +2 -2
  219. package/dist/summarizer.d.ts +1 -1
  220. package/dist/summary-snapshot.d.ts +1 -1
  221. package/dist/temporal-supersession.d.ts +2 -2
  222. package/dist/temporal-timeline-recall.d.ts +1 -1
  223. package/dist/temporal-validity.d.ts +1 -1
  224. package/dist/threading.d.ts +1 -1
  225. package/dist/tier-migration.d.ts +2 -2
  226. package/dist/tier-routing.d.ts +1 -1
  227. package/dist/topics.d.ts +1 -1
  228. package/dist/transcript.d.ts +1 -1
  229. package/dist/transfer/types.d.ts +10 -10
  230. package/dist/trust-score-stage.d.ts +1 -1
  231. package/dist/trust-score.d.ts +1 -1
  232. package/dist/{types-DDUDgd7T.d.ts → types-BbtQZBq9.d.ts} +33 -1
  233. package/dist/types.d.ts +1 -1
  234. package/dist/types.js +1 -1
  235. package/dist/utility-runtime.d.ts +1 -1
  236. package/dist/verified-recall.js +3 -3
  237. package/package.json +2 -2
  238. package/src/coding/codegraph-runtime.ts +539 -1
  239. package/src/coding/codegraph-surfaces.test.ts +75 -0
  240. package/src/coding/codegraph-surfaces.ts +34 -0
  241. package/src/coding/coding-knowledge-config.ts +100 -2
  242. package/src/types.ts +30 -0
  243. package/dist/chunk-3AC5UYKI.js.map +0 -1
  244. package/dist/chunk-OXVKR5OU.js.map +0 -1
  245. /package/dist/{chunk-B4LPRAWL.js.map → chunk-2V6L3L56.js.map} +0 -0
  246. /package/dist/{chunk-AXALUFAH.js.map → chunk-3BZDBG7U.js.map} +0 -0
  247. /package/dist/{chunk-JODHPNLN.js.map → chunk-5ELELET5.js.map} +0 -0
  248. /package/dist/{chunk-DQ42IQSK.js.map → chunk-5SORASJK.js.map} +0 -0
  249. /package/dist/{chunk-DAAJUA6Q.js.map → chunk-6MWGGPJJ.js.map} +0 -0
  250. /package/dist/{chunk-2K3OSLHE.js.map → chunk-7TEWOG3R.js.map} +0 -0
  251. /package/dist/{chunk-23G3T2Q5.js.map → chunk-7XY6TJLM.js.map} +0 -0
  252. /package/dist/{chunk-W2AHSCKY.js.map → chunk-AZK3NEHL.js.map} +0 -0
  253. /package/dist/{chunk-7ZYBDQ7V.js.map → chunk-CVEEJKRD.js.map} +0 -0
  254. /package/dist/{chunk-YQB32INI.js.map → chunk-EBVUFGJ4.js.map} +0 -0
  255. /package/dist/{chunk-4Q2XWAHZ.js.map → chunk-EDD2G35Z.js.map} +0 -0
  256. /package/dist/{chunk-CAZ3Z5M6.js.map → chunk-F7AE7L6G.js.map} +0 -0
  257. /package/dist/{chunk-B5GBWBCZ.js.map → chunk-GCTJG5MP.js.map} +0 -0
  258. /package/dist/{chunk-C6TKSI35.js.map → chunk-HVE3UVAB.js.map} +0 -0
  259. /package/dist/{chunk-SDAXPXER.js.map → chunk-IGCQHJSQ.js.map} +0 -0
  260. /package/dist/{chunk-MXAGJHTA.js.map → chunk-NREKOGZ2.js.map} +0 -0
  261. /package/dist/{chunk-H4FHR4UM.js.map → chunk-PQG2AOL4.js.map} +0 -0
  262. /package/dist/{chunk-WSOEYOHN.js.map → chunk-PWSZNML3.js.map} +0 -0
  263. /package/dist/{chunk-VJRJTRYF.js.map → chunk-RVLE2SNP.js.map} +0 -0
  264. /package/dist/{chunk-KVSVVKHA.js.map → chunk-U5JP7FCM.js.map} +0 -0
  265. /package/dist/{chunk-GQURC4B7.js.map → chunk-VTRF5QBX.js.map} +0 -0
  266. /package/dist/{chunk-FVTLSFWU.js.map → chunk-WHZ7MK72.js.map} +0 -0
  267. /package/dist/{chunk-PUQZIS6A.js.map → chunk-WX4XTAOI.js.map} +0 -0
  268. /package/dist/{chunk-VHJARF5R.js.map → chunk-XH2Y6UIW.js.map} +0 -0
  269. /package/dist/{chunk-GQGDRLDM.js.map → chunk-YAN6NTJN.js.map} +0 -0
  270. /package/dist/{chunk-DEKIXXIG.js.map → chunk-ZIKJD6NL.js.map} +0 -0
  271. /package/dist/{chunk-KJIJNLXT.js.map → chunk-ZMXXHUEZ.js.map} +0 -0
  272. /package/dist/{chunk-O6YI4CVI.js.map → chunk-ZSDRGPMV.js.map} +0 -0
@@ -13,6 +13,9 @@ import {
13
13
  resolveEmitLegacyTools,
14
14
  resolveNamespaceCatalogEnabled
15
15
  } from "./chunk-OO42R444.js";
16
+ import {
17
+ TIER_1_LANGUAGES
18
+ } from "./chunk-P32IDSHD.js";
16
19
  import {
17
20
  parseProvenanceConfig
18
21
  } from "./chunk-OEHCMALU.js";
@@ -426,6 +429,9 @@ var CODING_KNOWLEDGE_DEFAULTS = Object.freeze({
426
429
  structuralProviderCommand: "",
427
430
  codegraphTools: false,
428
431
  codegraphDbDir: ""
432
+ // `lsp` is excluded: it is an optional structured sub-config (issue #1917)
433
+ // with no flat boolean/string default; the parser returns `undefined` when
434
+ // absent (LSP off — rule 48 explicit opt-in).
429
435
  });
430
436
  var VALID_STRUCTURAL_PROVIDERS = ["none", "subprocess", "native"];
431
437
  function parseCodingKnowledgeConfig(raw) {
@@ -470,9 +476,22 @@ function parseCodingKnowledgeConfig(raw) {
470
476
  /* default */
471
477
  false
472
478
  ),
473
- codegraphDbDir: typeof record.codegraphDbDir === "string" ? record.codegraphDbDir.trim() : ""
479
+ codegraphDbDir: typeof record.codegraphDbDir === "string" ? record.codegraphDbDir.trim() : "",
480
+ // `lsp` is spread conditionally so an absent key stays ABSENT — an own
481
+ // `lsp: undefined` property would change the pinned defaults shape
482
+ // (config.test.ts) and leak a new key into serialized configs.
483
+ ...readLspField(record.lsp)
474
484
  };
475
485
  }
486
+ function readLspField(raw) {
487
+ if (raw === void 0 || raw === null) return {};
488
+ if (typeof raw !== "object" || Array.isArray(raw)) {
489
+ throw new Error(
490
+ `codingKnowledge.lsp must be an object ({ enabled, servers?, timeoutMs?, maxRequestsPerRun? }); got ${JSON.stringify(raw)}`
491
+ );
492
+ }
493
+ return { lsp: parseLspConfig(raw) };
494
+ }
476
495
  var STRICT_BOOL_ACCEPTED = "true/false/1/0/yes/no/on/off";
477
496
  function readStrictBool(value, keyName, defaultValue) {
478
497
  if (value === void 0) return defaultValue;
@@ -496,6 +515,58 @@ function readStructuralProvider(raw) {
496
515
  `codingKnowledge.structuralProvider must be one of ${VALID_STRUCTURAL_PROVIDERS.join(", ")}; got ${JSON.stringify(raw)}.`
497
516
  );
498
517
  }
518
+ function parseLspConfig(raw) {
519
+ const enabled = readStrictBool(raw.enabled, "lsp.enabled", false);
520
+ if (!enabled) return { enabled: false };
521
+ const servers = {};
522
+ if (raw.servers !== void 0 && raw.servers !== null) {
523
+ if (typeof raw.servers !== "object" || Array.isArray(raw.servers)) {
524
+ throw new Error(
525
+ `codingKnowledge.lsp.servers must be an object mapping language ids to { command, args? }; got ${JSON.stringify(raw.servers)}.`
526
+ );
527
+ }
528
+ for (const [lang, def] of Object.entries(raw.servers)) {
529
+ if (!TIER_1_LANGUAGES.includes(lang)) {
530
+ throw new Error(
531
+ `codingKnowledge.lsp.servers has unknown language key ${JSON.stringify(lang)}; valid keys: ${TIER_1_LANGUAGES.join(", ")}.`
532
+ );
533
+ }
534
+ if (!def || typeof def !== "object" || Array.isArray(def)) {
535
+ throw new Error(
536
+ `codingKnowledge.lsp.servers.${lang} must be an object ({ command, args? }); got ${JSON.stringify(def)}.`
537
+ );
538
+ }
539
+ const d = def;
540
+ if (typeof d.command !== "string" || d.command.trim().length === 0) {
541
+ throw new Error(
542
+ `codingKnowledge.lsp.servers.${lang}.command must be a non-empty string; got ${JSON.stringify(d.command)}.`
543
+ );
544
+ }
545
+ if (d.args !== void 0 && (!Array.isArray(d.args) || !d.args.every((a) => typeof a === "string"))) {
546
+ throw new Error(
547
+ `codingKnowledge.lsp.servers.${lang}.args must be an array of strings; got ${JSON.stringify(d.args)}.`
548
+ );
549
+ }
550
+ servers[lang] = {
551
+ command: d.command.trim(),
552
+ ...Array.isArray(d.args) ? { args: d.args } : {}
553
+ };
554
+ }
555
+ }
556
+ const timeoutMs = readPositiveInt(raw.timeoutMs, "lsp.timeoutMs", 3e3, 3e4);
557
+ const maxRequestsPerRun = readPositiveInt(raw.maxRequestsPerRun, "lsp.maxRequestsPerRun", 500, 5e3);
558
+ return { enabled: true, ...Object.keys(servers).length > 0 ? { servers } : {}, timeoutMs, maxRequestsPerRun };
559
+ }
560
+ function readPositiveInt(value, keyName, defaultValue, max) {
561
+ if (value === void 0) return defaultValue;
562
+ const coerced = typeof value === "string" && value.trim().length > 0 ? Number(value) : value;
563
+ if (typeof coerced !== "number" || !Number.isFinite(coerced) || !Number.isInteger(coerced) || coerced < 1 || coerced > max) {
564
+ throw new Error(
565
+ `codingKnowledge.${keyName} must be an integer in [1, ${max}]; got ${JSON.stringify(value)}. To disable LSP resolution set codingKnowledge.lsp.enabled to false.`
566
+ );
567
+ }
568
+ return coerced;
569
+ }
499
570
 
500
571
  // src/chat/chat-config.ts
501
572
  var DEFAULT_CHAT_CONFIG = {
@@ -3463,4 +3534,4 @@ export {
3463
3534
  VALID_MEMORY_CATEGORIES,
3464
3535
  parseConfig
3465
3536
  };
3466
- //# sourceMappingURL=chunk-KL4UAXUY.js.map
3537
+ //# sourceMappingURL=chunk-3WULMX34.js.map