kagent-ts 0.1.4 → 0.1.5

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 (341) hide show
  1. package/LICENSE +68 -21
  2. package/README.md +27 -371
  3. package/dist/compression/progressive-compressor.d.ts +66 -0
  4. package/dist/compression/progressive-compressor.d.ts.map +1 -0
  5. package/dist/compression/progressive-compressor.js +367 -0
  6. package/dist/compression/progressive-compressor.js.map +1 -0
  7. package/dist/compression/types.d.ts +1 -5
  8. package/dist/compression/types.d.ts.map +1 -1
  9. package/dist/context/context-manager.d.ts +34 -15
  10. package/dist/context/context-manager.d.ts.map +1 -1
  11. package/dist/context/context-manager.js +78 -28
  12. package/dist/context/context-manager.js.map +1 -1
  13. package/dist/context/types.d.ts +20 -4
  14. package/dist/context/types.d.ts.map +1 -1
  15. package/dist/core/agent.d.ts +354 -25
  16. package/dist/core/agent.d.ts.map +1 -1
  17. package/dist/core/agent.js +646 -64
  18. package/dist/core/agent.js.map +1 -1
  19. package/dist/core/fusion-agent.d.ts +207 -0
  20. package/dist/core/fusion-agent.d.ts.map +1 -0
  21. package/dist/core/fusion-agent.js +769 -0
  22. package/dist/core/fusion-agent.js.map +1 -0
  23. package/dist/core/hooks.d.ts +19 -7
  24. package/dist/core/hooks.d.ts.map +1 -1
  25. package/dist/core/plan-solve-agent.d.ts +1 -15
  26. package/dist/core/plan-solve-agent.d.ts.map +1 -1
  27. package/dist/core/plan-solve-agent.js +142 -117
  28. package/dist/core/plan-solve-agent.js.map +1 -1
  29. package/dist/core/react-agent.d.ts +0 -13
  30. package/dist/core/react-agent.d.ts.map +1 -1
  31. package/dist/core/react-agent.js +127 -102
  32. package/dist/core/react-agent.js.map +1 -1
  33. package/dist/core/response-schema.d.ts +65 -0
  34. package/dist/core/response-schema.d.ts.map +1 -1
  35. package/dist/core/response-schema.js +174 -1
  36. package/dist/core/response-schema.js.map +1 -1
  37. package/dist/core/system-prompts.d.ts +27 -0
  38. package/dist/core/system-prompts.d.ts.map +1 -0
  39. package/dist/core/system-prompts.js +112 -0
  40. package/dist/core/system-prompts.js.map +1 -0
  41. package/dist/eval/benchmark.d.ts +81 -0
  42. package/dist/eval/benchmark.d.ts.map +1 -0
  43. package/dist/eval/benchmark.js +292 -0
  44. package/dist/eval/benchmark.js.map +1 -0
  45. package/dist/eval/eval-runner.d.ts +79 -0
  46. package/dist/eval/eval-runner.d.ts.map +1 -0
  47. package/dist/eval/eval-runner.js +252 -0
  48. package/dist/eval/eval-runner.js.map +1 -0
  49. package/dist/eval/index.d.ts +7 -0
  50. package/dist/eval/index.d.ts.map +1 -0
  51. package/dist/eval/index.js +13 -0
  52. package/dist/eval/index.js.map +1 -0
  53. package/dist/eval/tool-call-evaluator.d.ts +72 -0
  54. package/dist/eval/tool-call-evaluator.d.ts.map +1 -0
  55. package/dist/eval/tool-call-evaluator.js +265 -0
  56. package/dist/eval/tool-call-evaluator.js.map +1 -0
  57. package/dist/eval/types.d.ts +219 -0
  58. package/dist/eval/types.d.ts.map +1 -0
  59. package/dist/eval/types.js +3 -0
  60. package/dist/eval/types.js.map +1 -0
  61. package/dist/index.d.ts +58 -14
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +116 -8
  64. package/dist/index.js.map +1 -1
  65. package/dist/llm/anthropic-provider.d.ts +141 -0
  66. package/dist/llm/anthropic-provider.d.ts.map +1 -0
  67. package/dist/llm/anthropic-provider.js +486 -0
  68. package/dist/llm/anthropic-provider.js.map +1 -0
  69. package/dist/llm/errors.d.ts +26 -0
  70. package/dist/llm/errors.d.ts.map +1 -0
  71. package/dist/llm/errors.js +19 -0
  72. package/dist/llm/errors.js.map +1 -0
  73. package/dist/llm/factory.d.ts +73 -0
  74. package/dist/llm/factory.d.ts.map +1 -0
  75. package/dist/llm/factory.js +77 -0
  76. package/dist/llm/factory.js.map +1 -0
  77. package/dist/llm/fallback-provider.d.ts +47 -0
  78. package/dist/llm/fallback-provider.d.ts.map +1 -0
  79. package/dist/llm/fallback-provider.js +91 -0
  80. package/dist/llm/fallback-provider.js.map +1 -0
  81. package/dist/llm/interface.d.ts +54 -11
  82. package/dist/llm/interface.d.ts.map +1 -1
  83. package/dist/llm/interface.js +34 -0
  84. package/dist/llm/interface.js.map +1 -1
  85. package/dist/llm/model-router.d.ts +126 -0
  86. package/dist/llm/model-router.d.ts.map +1 -0
  87. package/dist/llm/model-router.js +178 -0
  88. package/dist/llm/model-router.js.map +1 -0
  89. package/dist/llm/openai-provider.d.ts +8 -32
  90. package/dist/llm/openai-provider.d.ts.map +1 -1
  91. package/dist/llm/openai-provider.js +27 -60
  92. package/dist/llm/openai-provider.js.map +1 -1
  93. package/dist/llm/rate-limiter.d.ts +41 -0
  94. package/dist/llm/rate-limiter.d.ts.map +1 -0
  95. package/dist/llm/rate-limiter.js +93 -0
  96. package/dist/llm/rate-limiter.js.map +1 -0
  97. package/dist/llm/retry.d.ts +26 -0
  98. package/dist/llm/retry.d.ts.map +1 -0
  99. package/dist/llm/retry.js +44 -0
  100. package/dist/llm/retry.js.map +1 -0
  101. package/dist/llm/token-budget.d.ts +97 -0
  102. package/dist/llm/token-budget.d.ts.map +1 -0
  103. package/dist/llm/token-budget.js +115 -0
  104. package/dist/llm/token-budget.js.map +1 -0
  105. package/dist/logging/index.d.ts +2 -0
  106. package/dist/logging/index.d.ts.map +1 -0
  107. package/dist/logging/index.js +7 -0
  108. package/dist/logging/index.js.map +1 -0
  109. package/dist/logging/logger.d.ts +38 -0
  110. package/dist/logging/logger.d.ts.map +1 -0
  111. package/dist/logging/logger.js +34 -0
  112. package/dist/logging/logger.js.map +1 -0
  113. package/dist/mcp/mcp-client-manager.d.ts +10 -2
  114. package/dist/mcp/mcp-client-manager.d.ts.map +1 -1
  115. package/dist/mcp/mcp-client-manager.js +20 -9
  116. package/dist/mcp/mcp-client-manager.js.map +1 -1
  117. package/dist/memory/index.d.ts +3 -0
  118. package/dist/memory/index.d.ts.map +1 -0
  119. package/dist/memory/index.js +6 -0
  120. package/dist/memory/index.js.map +1 -0
  121. package/dist/memory/memory-manager.d.ts +119 -0
  122. package/dist/memory/memory-manager.d.ts.map +1 -0
  123. package/dist/memory/memory-manager.js +334 -0
  124. package/dist/memory/memory-manager.js.map +1 -0
  125. package/dist/messages/types.d.ts +2 -0
  126. package/dist/messages/types.d.ts.map +1 -1
  127. package/dist/orchestrator/index.d.ts +5 -0
  128. package/dist/orchestrator/index.d.ts.map +1 -0
  129. package/dist/orchestrator/index.js +13 -0
  130. package/dist/orchestrator/index.js.map +1 -0
  131. package/dist/orchestrator/json-extractor.d.ts +18 -0
  132. package/dist/orchestrator/json-extractor.d.ts.map +1 -0
  133. package/dist/orchestrator/json-extractor.js +111 -0
  134. package/dist/orchestrator/json-extractor.js.map +1 -0
  135. package/dist/orchestrator/orchestrator-agent.d.ts +152 -0
  136. package/dist/orchestrator/orchestrator-agent.d.ts.map +1 -0
  137. package/dist/orchestrator/orchestrator-agent.js +675 -0
  138. package/dist/orchestrator/orchestrator-agent.js.map +1 -0
  139. package/dist/orchestrator/orchestrator-response.d.ts +40 -0
  140. package/dist/orchestrator/orchestrator-response.d.ts.map +1 -0
  141. package/dist/orchestrator/orchestrator-response.js +275 -0
  142. package/dist/orchestrator/orchestrator-response.js.map +1 -0
  143. package/dist/orchestrator/orchestrator-types.d.ts +116 -0
  144. package/dist/orchestrator/orchestrator-types.d.ts.map +1 -0
  145. package/dist/orchestrator/orchestrator-types.js +3 -0
  146. package/dist/orchestrator/orchestrator-types.js.map +1 -0
  147. package/dist/preferences/preference-manager.d.ts +8 -3
  148. package/dist/preferences/preference-manager.d.ts.map +1 -1
  149. package/dist/preferences/preference-manager.js +17 -4
  150. package/dist/preferences/preference-manager.js.map +1 -1
  151. package/dist/rag/chroma-store.d.ts +52 -0
  152. package/dist/rag/chroma-store.d.ts.map +1 -0
  153. package/dist/rag/chroma-store.js +110 -0
  154. package/dist/rag/chroma-store.js.map +1 -0
  155. package/dist/rag/document-loader.d.ts +21 -0
  156. package/dist/rag/document-loader.d.ts.map +1 -0
  157. package/dist/rag/document-loader.js +129 -0
  158. package/dist/rag/document-loader.js.map +1 -0
  159. package/dist/rag/embedding-provider.d.ts +36 -0
  160. package/dist/rag/embedding-provider.d.ts.map +1 -0
  161. package/dist/rag/embedding-provider.js +74 -0
  162. package/dist/rag/embedding-provider.js.map +1 -0
  163. package/dist/rag/index.d.ts +17 -0
  164. package/dist/rag/index.d.ts.map +1 -0
  165. package/dist/rag/index.js +27 -0
  166. package/dist/rag/index.js.map +1 -0
  167. package/dist/rag/keyword-index.d.ts +53 -0
  168. package/dist/rag/keyword-index.d.ts.map +1 -0
  169. package/dist/rag/keyword-index.js +161 -0
  170. package/dist/rag/keyword-index.js.map +1 -0
  171. package/dist/rag/llm-reranker.d.ts +36 -0
  172. package/dist/rag/llm-reranker.d.ts.map +1 -0
  173. package/dist/rag/llm-reranker.js +95 -0
  174. package/dist/rag/llm-reranker.js.map +1 -0
  175. package/dist/rag/rag-manager.d.ts +54 -0
  176. package/dist/rag/rag-manager.d.ts.map +1 -0
  177. package/dist/rag/rag-manager.js +179 -0
  178. package/dist/rag/rag-manager.js.map +1 -0
  179. package/dist/rag/rag-types.d.ts +143 -0
  180. package/dist/rag/rag-types.d.ts.map +1 -0
  181. package/dist/rag/rag-types.js +9 -0
  182. package/dist/rag/rag-types.js.map +1 -0
  183. package/dist/rag/rrf.d.ts +47 -0
  184. package/dist/rag/rrf.d.ts.map +1 -0
  185. package/dist/rag/rrf.js +70 -0
  186. package/dist/rag/rrf.js.map +1 -0
  187. package/dist/rag/search-knowledge.d.ts +24 -0
  188. package/dist/rag/search-knowledge.d.ts.map +1 -0
  189. package/dist/rag/search-knowledge.js +86 -0
  190. package/dist/rag/search-knowledge.js.map +1 -0
  191. package/dist/rag/text-splitter.d.ts +25 -0
  192. package/dist/rag/text-splitter.d.ts.map +1 -0
  193. package/dist/rag/text-splitter.js +136 -0
  194. package/dist/rag/text-splitter.js.map +1 -0
  195. package/dist/rag/vector-store.d.ts +34 -0
  196. package/dist/rag/vector-store.d.ts.map +1 -0
  197. package/dist/rag/vector-store.js +73 -0
  198. package/dist/rag/vector-store.js.map +1 -0
  199. package/dist/reflection/error-notebook.d.ts +125 -0
  200. package/dist/reflection/error-notebook.d.ts.map +1 -0
  201. package/dist/reflection/error-notebook.js +368 -0
  202. package/dist/reflection/error-notebook.js.map +1 -0
  203. package/dist/reflection/index.d.ts +8 -0
  204. package/dist/reflection/index.d.ts.map +1 -0
  205. package/dist/reflection/index.js +12 -0
  206. package/dist/reflection/index.js.map +1 -0
  207. package/dist/reflection/memory-reflector.d.ts +97 -0
  208. package/dist/reflection/memory-reflector.d.ts.map +1 -0
  209. package/dist/reflection/memory-reflector.js +215 -0
  210. package/dist/reflection/memory-reflector.js.map +1 -0
  211. package/dist/reflection/reflection-agent.d.ts +105 -0
  212. package/dist/reflection/reflection-agent.d.ts.map +1 -0
  213. package/dist/reflection/reflection-agent.js +234 -0
  214. package/dist/reflection/reflection-agent.js.map +1 -0
  215. package/dist/reflection/reflection-hook.d.ts +50 -0
  216. package/dist/reflection/reflection-hook.d.ts.map +1 -0
  217. package/dist/reflection/reflection-hook.js +108 -0
  218. package/dist/reflection/reflection-hook.js.map +1 -0
  219. package/dist/rules/project-rules.d.ts +47 -0
  220. package/dist/rules/project-rules.d.ts.map +1 -0
  221. package/dist/rules/project-rules.js +166 -0
  222. package/dist/rules/project-rules.js.map +1 -0
  223. package/dist/security/boundaries.d.ts +81 -0
  224. package/dist/security/boundaries.d.ts.map +1 -0
  225. package/dist/security/boundaries.js +158 -0
  226. package/dist/security/boundaries.js.map +1 -0
  227. package/dist/security/index.d.ts +2 -0
  228. package/dist/security/index.d.ts.map +1 -0
  229. package/dist/security/index.js +11 -0
  230. package/dist/security/index.js.map +1 -0
  231. package/dist/session/session-types.d.ts +25 -4
  232. package/dist/session/session-types.d.ts.map +1 -1
  233. package/dist/skills/file-skill-loader.d.ts +4 -6
  234. package/dist/skills/file-skill-loader.d.ts.map +1 -1
  235. package/dist/skills/file-skill-loader.js +8 -19
  236. package/dist/skills/file-skill-loader.js.map +1 -1
  237. package/dist/skills/index.d.ts +1 -1
  238. package/dist/skills/index.d.ts.map +1 -1
  239. package/dist/skills/index.js +1 -2
  240. package/dist/skills/index.js.map +1 -1
  241. package/dist/skills/skill-manager.d.ts +18 -8
  242. package/dist/skills/skill-manager.d.ts.map +1 -1
  243. package/dist/skills/skill-manager.js +58 -36
  244. package/dist/skills/skill-manager.js.map +1 -1
  245. package/dist/skills/types.d.ts +3 -8
  246. package/dist/skills/types.d.ts.map +1 -1
  247. package/dist/subagent/index.d.ts +4 -0
  248. package/dist/subagent/index.d.ts.map +1 -0
  249. package/dist/subagent/index.js +8 -0
  250. package/dist/subagent/index.js.map +1 -0
  251. package/dist/subagent/subagent-loader.d.ts +53 -0
  252. package/dist/subagent/subagent-loader.d.ts.map +1 -0
  253. package/dist/subagent/subagent-loader.js +155 -0
  254. package/dist/subagent/subagent-loader.js.map +1 -0
  255. package/dist/subagent/subagent-manager.d.ts +161 -0
  256. package/dist/subagent/subagent-manager.d.ts.map +1 -0
  257. package/dist/subagent/subagent-manager.js +468 -0
  258. package/dist/subagent/subagent-manager.js.map +1 -0
  259. package/dist/subagent/subagent-types.d.ts +77 -0
  260. package/dist/subagent/subagent-types.d.ts.map +1 -0
  261. package/dist/subagent/subagent-types.js +3 -0
  262. package/dist/subagent/subagent-types.js.map +1 -0
  263. package/dist/tools/builtin/bash.d.ts +3 -0
  264. package/dist/tools/builtin/bash.d.ts.map +1 -0
  265. package/dist/tools/builtin/bash.js +87 -0
  266. package/dist/tools/builtin/bash.js.map +1 -0
  267. package/dist/tools/builtin/edit-file.d.ts.map +1 -1
  268. package/dist/tools/builtin/edit-file.js +1 -0
  269. package/dist/tools/builtin/edit-file.js.map +1 -1
  270. package/dist/tools/builtin/index.d.ts +14 -0
  271. package/dist/tools/builtin/index.d.ts.map +1 -1
  272. package/dist/tools/builtin/index.js +45 -1
  273. package/dist/tools/builtin/index.js.map +1 -1
  274. package/dist/tools/builtin/list-errors.d.ts +7 -0
  275. package/dist/tools/builtin/list-errors.d.ts.map +1 -0
  276. package/dist/tools/builtin/list-errors.js +64 -0
  277. package/dist/tools/builtin/list-errors.js.map +1 -0
  278. package/dist/tools/builtin/list-subagents.d.ts +7 -0
  279. package/dist/tools/builtin/list-subagents.d.ts.map +1 -0
  280. package/dist/tools/builtin/list-subagents.js +21 -0
  281. package/dist/tools/builtin/list-subagents.js.map +1 -0
  282. package/dist/tools/builtin/recall.d.ts +11 -0
  283. package/dist/tools/builtin/recall.d.ts.map +1 -0
  284. package/dist/tools/builtin/recall.js +60 -0
  285. package/dist/tools/builtin/recall.js.map +1 -0
  286. package/dist/tools/builtin/remember.d.ts +12 -0
  287. package/dist/tools/builtin/remember.d.ts.map +1 -0
  288. package/dist/tools/builtin/remember.js +72 -0
  289. package/dist/tools/builtin/remember.js.map +1 -0
  290. package/dist/tools/builtin/skill.d.ts +14 -0
  291. package/dist/tools/builtin/skill.d.ts.map +1 -0
  292. package/dist/tools/builtin/skill.js +71 -0
  293. package/dist/tools/builtin/skill.js.map +1 -0
  294. package/dist/tools/builtin/spawn-subagent.d.ts +7 -0
  295. package/dist/tools/builtin/spawn-subagent.d.ts.map +1 -0
  296. package/dist/tools/builtin/spawn-subagent.js +43 -0
  297. package/dist/tools/builtin/spawn-subagent.js.map +1 -0
  298. package/dist/tools/builtin/web-fetch.d.ts +3 -0
  299. package/dist/tools/builtin/web-fetch.d.ts.map +1 -0
  300. package/dist/tools/builtin/web-fetch.js +101 -0
  301. package/dist/tools/builtin/web-fetch.js.map +1 -0
  302. package/dist/tools/builtin/write-file.d.ts.map +1 -1
  303. package/dist/tools/builtin/write-file.js +1 -0
  304. package/dist/tools/builtin/write-file.js.map +1 -1
  305. package/dist/tools/circuit-breaker.d.ts +19 -10
  306. package/dist/tools/circuit-breaker.d.ts.map +1 -1
  307. package/dist/tools/circuit-breaker.js +22 -11
  308. package/dist/tools/circuit-breaker.js.map +1 -1
  309. package/dist/tools/error-tracker.d.ts +28 -44
  310. package/dist/tools/error-tracker.d.ts.map +1 -1
  311. package/dist/tools/error-tracker.js +39 -156
  312. package/dist/tools/error-tracker.js.map +1 -1
  313. package/dist/tools/tool-filter.d.ts +70 -0
  314. package/dist/tools/tool-filter.d.ts.map +1 -0
  315. package/dist/tools/tool-filter.js +92 -0
  316. package/dist/tools/tool-filter.js.map +1 -0
  317. package/dist/tools/tool-output-truncator.d.ts +36 -0
  318. package/dist/tools/tool-output-truncator.d.ts.map +1 -0
  319. package/dist/tools/tool-output-truncator.js +117 -0
  320. package/dist/tools/tool-output-truncator.js.map +1 -0
  321. package/dist/tools/tool-registry.d.ts +25 -9
  322. package/dist/tools/tool-registry.d.ts.map +1 -1
  323. package/dist/tools/tool-registry.js +77 -28
  324. package/dist/tools/tool-registry.js.map +1 -1
  325. package/dist/tools/tool-validator.d.ts +13 -0
  326. package/dist/tools/tool-validator.d.ts.map +1 -0
  327. package/dist/tools/tool-validator.js +116 -0
  328. package/dist/tools/tool-validator.js.map +1 -0
  329. package/dist/tools/types.d.ts +86 -3
  330. package/dist/tools/types.d.ts.map +1 -1
  331. package/dist/tools/types.js +51 -2
  332. package/dist/tools/types.js.map +1 -1
  333. package/dist/trace/trace-logger.d.ts +30 -4
  334. package/dist/trace/trace-logger.d.ts.map +1 -1
  335. package/dist/trace/trace-logger.js +82 -6
  336. package/dist/trace/trace-logger.js.map +1 -1
  337. package/package.json +13 -4
  338. package/dist/compression/sliding-window.d.ts +0 -21
  339. package/dist/compression/sliding-window.d.ts.map +0 -1
  340. package/dist/compression/sliding-window.js +0 -44
  341. package/dist/compression/sliding-window.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-agent.js","sourceRoot":"","sources":["../../src/orchestrator/orchestrator-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Structured JSON response schemas and LLM prompt templates for the
3
+ * OrchestratorAgent's three decision phases:
4
+ *
5
+ * 1. DECOMPOSE — analyse the user request and produce a TaskGraph.
6
+ * 2. SYNTHESIZE — review completed node results and decide completeness.
7
+ * 3. ADAPT — generate new TaskNodes to fill identified gaps.
8
+ *
9
+ * Each phase has its own JSON shape, parser, and system-prompt fragment.
10
+ */
11
+ import type { OrchestrationPlan, SynthesisResult, AdaptResult } from "./orchestrator-types";
12
+ /**
13
+ * Parsed response from the decompose LLM call.
14
+ */
15
+ export declare function parseDecomposeResponse(raw: string): OrchestrationPlan;
16
+ /**
17
+ * System prompt fragment injected during the Decompose phase.
18
+ *
19
+ * Teaches the LLM to break a user request into a DAG of sub-agent tasks.
20
+ * The `availableSubAgents` placeholder is filled at runtime with the
21
+ * output of the `list_subagents` tool so the LLM knows which agents exist.
22
+ */
23
+ export declare function buildDecomposePrompt(availableSubAgents: string): string;
24
+ /**
25
+ * Parse the LLM's synthesis response.
26
+ */
27
+ export declare function parseSynthesizeResponse(raw: string): SynthesisResult;
28
+ /**
29
+ * Build the synthesis prompt with all completed node results injected.
30
+ */
31
+ export declare function buildSynthesizePrompt(userRequest: string, completedResults: string): string;
32
+ /**
33
+ * Parse the LLM's adapt response.
34
+ */
35
+ export declare function parseAdaptResponse(raw: string): AdaptResult;
36
+ /**
37
+ * Build the adapt prompt with gaps and available sub-agents.
38
+ */
39
+ export declare function buildAdaptPrompt(gaps: string[], availableSubAgents: string): string;
40
+ //# sourceMappingURL=orchestrator-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-response.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator-response.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,WAAW,EAEZ,MAAM,sBAAsB,CAAC;AAQ9B;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAkCrE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAuCvE;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAiCpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAyCR;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAuC3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,kBAAkB,EAAE,MAAM,GACzB,MAAM,CAgDR"}
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ /**
3
+ * Structured JSON response schemas and LLM prompt templates for the
4
+ * OrchestratorAgent's three decision phases:
5
+ *
6
+ * 1. DECOMPOSE — analyse the user request and produce a TaskGraph.
7
+ * 2. SYNTHESIZE — review completed node results and decide completeness.
8
+ * 3. ADAPT — generate new TaskNodes to fill identified gaps.
9
+ *
10
+ * Each phase has its own JSON shape, parser, and system-prompt fragment.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.parseDecomposeResponse = parseDecomposeResponse;
14
+ exports.buildDecomposePrompt = buildDecomposePrompt;
15
+ exports.parseSynthesizeResponse = parseSynthesizeResponse;
16
+ exports.buildSynthesizePrompt = buildSynthesizePrompt;
17
+ exports.parseAdaptResponse = parseAdaptResponse;
18
+ exports.buildAdaptPrompt = buildAdaptPrompt;
19
+ // Re-use the same JSON extraction logic used by the core agents.
20
+ // extractJSON is not exported from response-schema.ts, so we inline a copy.
21
+ const json_extractor_1 = require("./json-extractor");
22
+ // ─── 1. DECOMPOSE ──────────────────────────────────────────────────────────
23
+ /**
24
+ * Parsed response from the decompose LLM call.
25
+ */
26
+ function parseDecomposeResponse(raw) {
27
+ const json = (0, json_extractor_1.extractJSON)(raw);
28
+ if (json) {
29
+ try {
30
+ const parsed = JSON.parse(json);
31
+ if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)) {
32
+ const thought = String(parsed.thought ?? "");
33
+ const nodes = [];
34
+ if (parsed.taskGraph && Array.isArray(parsed.taskGraph.nodes)) {
35
+ for (const n of parsed.taskGraph.nodes) {
36
+ nodes.push({
37
+ id: String(n.id ?? ""),
38
+ description: String(n.description ?? ""),
39
+ subAgentName: String(n.subAgentName ?? ""),
40
+ input: String(n.input ?? ""),
41
+ dependsOn: Array.isArray(n.dependsOn)
42
+ ? n.dependsOn.map(String)
43
+ : [],
44
+ status: "pending",
45
+ });
46
+ }
47
+ }
48
+ return { thought, taskGraph: { nodes } };
49
+ }
50
+ }
51
+ catch {
52
+ // Fall through to fallback
53
+ }
54
+ }
55
+ // Fallback: wrap raw text as thought with no nodes
56
+ return { thought: raw, taskGraph: { nodes: [] } };
57
+ }
58
+ /**
59
+ * System prompt fragment injected during the Decompose phase.
60
+ *
61
+ * Teaches the LLM to break a user request into a DAG of sub-agent tasks.
62
+ * The `availableSubAgents` placeholder is filled at runtime with the
63
+ * output of the `list_subagents` tool so the LLM knows which agents exist.
64
+ */
65
+ function buildDecomposePrompt(availableSubAgents) {
66
+ return `You are an expert task orchestrator. Your job is to analyse the user's request and
67
+ decompose it into a structured task graph that can be executed by specialised sub-agents.
68
+
69
+ === Available Sub-Agents ===
70
+ ${availableSubAgents}
71
+
72
+ === Task Graph Rules ===
73
+ 1. Each node represents ONE sub-agent invocation with a concrete, self-contained task.
74
+ 2. Nodes whose "dependsOn" list is empty can run in PARALLEL.
75
+ 3. A node listed in "dependsOn" MUST complete before the dependant node can start.
76
+ 4. Use descriptive node IDs (e.g. "research_api", "review_security", "write_report").
77
+ 5. Every node MUST specify a "subAgentName" that exists in the available list above.
78
+ 6. The "input" field is the exact prompt sent to the sub-agent. Be specific and include
79
+ all context the sub-agent needs. Do NOT use template variables like {{...}} —
80
+ the sub-agent receives exactly what you write.
81
+
82
+ Respond with ONLY a JSON object:
83
+ {
84
+ "thought": "<your decomposition reasoning>",
85
+ "taskGraph": {
86
+ "nodes": [
87
+ {
88
+ "id": "<unique_node_id>",
89
+ "description": "<what this node does>",
90
+ "subAgentName": "<name from available list>",
91
+ "input": "<exact prompt for the sub-agent>",
92
+ "dependsOn": ["<node_id>", ...]
93
+ }
94
+ ]
95
+ }
96
+ }
97
+
98
+ Rules:
99
+ - "thought" is REQUIRED — explain your decomposition strategy.
100
+ - The JSON must be valid — no trailing commas, no comments.
101
+ - Every "dependsOn" entry must reference an "id" that exists in the graph.
102
+ - Prefer MAXIMUM parallelism — don't add dependencies unless one task genuinely
103
+ needs another's output.`;
104
+ }
105
+ // ─── 2. SYNTHESIZE ─────────────────────────────────────────────────────────
106
+ /**
107
+ * Parse the LLM's synthesis response.
108
+ */
109
+ function parseSynthesizeResponse(raw) {
110
+ const json = (0, json_extractor_1.extractJSON)(raw);
111
+ if (json) {
112
+ try {
113
+ const parsed = JSON.parse(json);
114
+ if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)) {
115
+ const thought = String(parsed.thought ?? "");
116
+ const isComplete = Boolean(parsed.isComplete);
117
+ const result = { thought, isComplete };
118
+ if (isComplete && typeof parsed.finalAnswer === "string") {
119
+ result.finalAnswer = parsed.finalAnswer;
120
+ }
121
+ if (!isComplete && Array.isArray(parsed.gaps)) {
122
+ result.gaps = parsed.gaps.map(String);
123
+ }
124
+ return result;
125
+ }
126
+ }
127
+ catch {
128
+ // Fall through
129
+ }
130
+ }
131
+ // Fallback: treat as incomplete with raw text as the only gap
132
+ return {
133
+ thought: raw,
134
+ isComplete: false,
135
+ gaps: ["Unable to parse synthesis — raw response: " + raw.slice(0, 500)],
136
+ };
137
+ }
138
+ /**
139
+ * Build the synthesis prompt with all completed node results injected.
140
+ */
141
+ function buildSynthesizePrompt(userRequest, completedResults) {
142
+ return `You are a synthesiser. Review the results below from multiple sub-agents
143
+ that were working on the user's request, and determine whether you have enough
144
+ information to provide a complete, high-quality answer.
145
+
146
+ === User's Original Request ===
147
+ ${userRequest}
148
+
149
+ === Sub-Agent Results ===
150
+ ${completedResults}
151
+
152
+ === Decision Criteria ===
153
+ - Set "isComplete": true ONLY when you can provide a thorough answer that fully
154
+ addresses the user's request. Better to request one more round of work than
155
+ to give an incomplete answer.
156
+ - Set "isComplete": false when information is missing, results are contradictory,
157
+ or important aspects of the request are not yet covered.
158
+ - When false, list specific, actionable gaps — each gap becomes a new sub-agent
159
+ task in the next round.
160
+
161
+ Respond with ONLY a JSON object:
162
+ {
163
+ "thought": "<your analysis of what was learned>",
164
+ "isComplete": true,
165
+ "finalAnswer": "<complete answer for the user>"
166
+ }
167
+
168
+ OR (when more work is needed):
169
+
170
+ {
171
+ "thought": "<your analysis>",
172
+ "isComplete": false,
173
+ "gaps": ["<specific gap description 1>", "<specific gap description 2>", ...]
174
+ }
175
+
176
+ Rules:
177
+ - "thought" is REQUIRED.
178
+ - "finalAnswer" is REQUIRED when isComplete is true.
179
+ - "gaps" is REQUIRED when isComplete is false — each gap should be a concrete,
180
+ one-sentence description of what still needs to be investigated or done.
181
+ - The JSON must be valid — no trailing commas, no comments.`;
182
+ }
183
+ // ─── 3. ADAPT ──────────────────────────────────────────────────────────────
184
+ /**
185
+ * Parse the LLM's adapt response.
186
+ */
187
+ function parseAdaptResponse(raw) {
188
+ const json = (0, json_extractor_1.extractJSON)(raw);
189
+ if (json) {
190
+ try {
191
+ const parsed = JSON.parse(json);
192
+ if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)) {
193
+ const thought = String(parsed.thought ?? "");
194
+ const stuck = typeof parsed.stuck === "boolean" ? parsed.stuck : false;
195
+ const newNodes = [];
196
+ if (Array.isArray(parsed.newNodes)) {
197
+ for (const n of parsed.newNodes) {
198
+ newNodes.push({
199
+ id: String(n.id ?? ""),
200
+ description: String(n.description ?? ""),
201
+ subAgentName: String(n.subAgentName ?? ""),
202
+ input: String(n.input ?? ""),
203
+ dependsOn: Array.isArray(n.dependsOn)
204
+ ? n.dependsOn.map(String)
205
+ : [],
206
+ status: "pending",
207
+ });
208
+ }
209
+ }
210
+ return { thought, newNodes, stuck };
211
+ }
212
+ }
213
+ catch {
214
+ // Fall through
215
+ }
216
+ }
217
+ // Fallback: stuck — can't generate new nodes
218
+ return {
219
+ thought: raw,
220
+ newNodes: [],
221
+ stuck: true,
222
+ };
223
+ }
224
+ /**
225
+ * Build the adapt prompt with gaps and available sub-agents.
226
+ */
227
+ function buildAdaptPrompt(gaps, availableSubAgents) {
228
+ const gapList = gaps.map((g, i) => `${i + 1}. ${g}`).join("\n");
229
+ return `You are an adaptive task planner. The synthesiser has identified gaps
230
+ in the current results. Your job is to create NEW task nodes to fill those gaps.
231
+
232
+ === Available Sub-Agents ===
233
+ ${availableSubAgents}
234
+
235
+ === Gaps to Fill ===
236
+ ${gapList}
237
+
238
+ === Rules ===
239
+ 1. Create one TaskNode per gap UNLESS multiple gaps can be handled by a single
240
+ well-scoped sub-agent task.
241
+ 2. Use only sub-agent names from the available list above.
242
+ 3. New nodes may depend on nodes that already completed earlier, but you don't
243
+ need to list those dependencies unless a new node genuinely requires another
244
+ NEW node's output first.
245
+ 4. If you cannot think of any useful new tasks (the gaps are unfillable, or no
246
+ suitable sub-agent exists), set "stuck": true.
247
+
248
+ Respond with ONLY a JSON object:
249
+ {
250
+ "thought": "<your reasoning about how to fill the gaps>",
251
+ "newNodes": [
252
+ {
253
+ "id": "<unique_node_id>",
254
+ "description": "<what this node does>",
255
+ "subAgentName": "<name from available list>",
256
+ "input": "<exact prompt for the sub-agent>",
257
+ "dependsOn": ["<new_node_id>", ...]
258
+ }
259
+ ],
260
+ "stuck": false
261
+ }
262
+
263
+ If you are stuck:
264
+ {
265
+ "thought": "<why you cannot fill these gaps>",
266
+ "newNodes": [],
267
+ "stuck": true
268
+ }
269
+
270
+ Rules:
271
+ - "thought" is REQUIRED.
272
+ - The JSON must be valid — no trailing commas, no comments.
273
+ - Prefer fewer, higher-quality nodes over many narrow ones.`;
274
+ }
275
+ //# sourceMappingURL=orchestrator-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-response.js","sourceRoot":"","sources":["../../src/orchestrator/orchestrator-response.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import type { SubAgentResult } from "../subagent/subagent-types";
2
+ /**
3
+ * Orchestrator Agent type definitions.
4
+ *
5
+ * The OrchestratorAgent decomposes user tasks into a DAG of sub-tasks,
6
+ * dispatches them to sub-agents (parallel where possible), synthesises
7
+ * results, and adapts the task graph in subsequent rounds when gaps are
8
+ * found or new information emerges.
9
+ */
10
+ /**
11
+ * Status of a single task node in the orchestration DAG.
12
+ */
13
+ export type TaskNodeStatus = "pending" | "ready" | "running" | "completed" | "failed";
14
+ /**
15
+ * A single node in the orchestration task DAG.
16
+ *
17
+ * Each node represents one sub-agent invocation. Dependencies are
18
+ * expressed via `dependsOn` — a node becomes ready only after all
19
+ * nodes it depends on have completed.
20
+ */
21
+ export interface TaskNode {
22
+ /** Unique identifier within this orchestration run. */
23
+ id: string;
24
+ /** Human-readable description (used in LLM prompts for synthesis). */
25
+ description: string;
26
+ /** The sub-agent definition name to spawn (must be registered). */
27
+ subAgentName: string;
28
+ /**
29
+ * The prompt / input passed to the sub-agent.
30
+ *
31
+ * May contain template references like `{{node_id.output}}` which are
32
+ * resolved at dispatch time by substituting the referenced node's result.
33
+ */
34
+ input: string;
35
+ /**
36
+ * IDs of nodes that must complete before this node can be dispatched.
37
+ * Empty array = no dependencies (can be dispatched immediately).
38
+ */
39
+ dependsOn: string[];
40
+ /** Current execution status. */
41
+ status: TaskNodeStatus;
42
+ /** The sub-agent result, populated after the node completes. */
43
+ result?: SubAgentResult;
44
+ /** Spawn time (epoch ms), set when the node transitions to running. */
45
+ startedAt?: number;
46
+ /** Wall-clock duration in ms, set on completion. */
47
+ durationMs?: number;
48
+ }
49
+ /**
50
+ * A directed acyclic graph of tasks to be orchestrated.
51
+ */
52
+ export interface TaskGraph {
53
+ /** All task nodes in this graph. */
54
+ nodes: TaskNode[];
55
+ }
56
+ /**
57
+ * The structured decomposition produced by the LLM during the Decompose phase.
58
+ *
59
+ * The LLM analyses the user's request and produces a task graph where each
60
+ * node is a concrete, delegate-able piece of work assigned to a specific
61
+ * sub-agent type.
62
+ */
63
+ export interface OrchestrationPlan {
64
+ /** Step-by-step reasoning about the decomposition strategy. */
65
+ thought: string;
66
+ /** The task graph to execute. */
67
+ taskGraph: TaskGraph;
68
+ }
69
+ /**
70
+ * The LLM's synthesis of all completed node results after a dispatch round.
71
+ *
72
+ * If `isComplete` is true, `finalAnswer` contains the answer for the user.
73
+ * Otherwise, `gaps` describes what additional work is needed.
74
+ */
75
+ export interface SynthesisResult {
76
+ /** Reasoning about what was learned from the results. */
77
+ thought: string;
78
+ /** Whether the orchestrator has enough information to answer the user. */
79
+ isComplete: boolean;
80
+ /**
81
+ * The final answer for the user.
82
+ * Only present when `isComplete` is true.
83
+ */
84
+ finalAnswer?: string;
85
+ /**
86
+ * Descriptions of missing or insufficient information.
87
+ * Only present when `isComplete` is false.
88
+ * Each gap is a natural-language description that the Adapt phase
89
+ * turns into new TaskNodes.
90
+ */
91
+ gaps?: string[];
92
+ }
93
+ /**
94
+ * New task nodes generated in response to gaps identified during synthesis.
95
+ */
96
+ export interface AdaptResult {
97
+ /** Reasoning about why these new nodes are needed. */
98
+ thought: string;
99
+ /** New task nodes to append to the task graph. */
100
+ newNodes: TaskNode[];
101
+ /**
102
+ * Whether the orchestrator is stuck — no meaningful new work can be
103
+ * devised. When true, the orchestrator will skip to forced synthesis.
104
+ */
105
+ stuck?: boolean;
106
+ }
107
+ /**
108
+ * Serializable orchestrator state included in session checkpoints.
109
+ */
110
+ export interface OrchestratorSessionState {
111
+ /** The current task graph (all nodes with their statuses). */
112
+ taskGraph: TaskGraph;
113
+ /** How many dispatch rounds have completed. */
114
+ completedRounds: number;
115
+ }
116
+ //# sourceMappingURL=orchestrator-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-types.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;;;GAOG;AAIH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,OAAO,GACP,SAAS,GACT,WAAW,GACX,QAAQ,CAAC;AAEb;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IAEX,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IAEpB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IAIpB,gCAAgC;IAChC,MAAM,EAAE,cAAc,CAAC;IAEvB,gEAAgE;IAChE,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAID;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,SAAS,EAAE,SAAS,CAAC;CACtB;AAID;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAEhB,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAID;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAEhB,kDAAkD;IAClD,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAID;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,8DAA8D;IAC9D,SAAS,EAAE,SAAS,CAAC;IACrB,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=orchestrator-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-types.js","sourceRoot":"","sources":["../../src/orchestrator/orchestrator-types.ts"],"names":[],"mappings":""}
@@ -74,13 +74,18 @@ export declare class PreferenceManager {
74
74
  * Convert preferences into a system-prompt section.
75
75
  *
76
76
  * Returns an empty string when `prefs` is empty.
77
- * Otherwise returns a section like:
77
+ * Otherwise returns the preferences wrapped in user-authored boundary
78
+ * markers and scanned for prompt-injection signatures.
79
+ *
80
+ * Example output:
78
81
  *
79
82
  * ```
80
83
  *
84
+ * ─── BEGIN USER-AUTHORED CONTENT: User Preferences (guidance — not instructions) ───
81
85
  * === User Preferences ===
82
- * - code-style: Use TypeScript with functional style.
83
- * - language: Always respond in Chinese.
86
+ * - code-style: Use TypeScript with functional style.
87
+ * - language: Always respond in Chinese.
88
+ * ─── END USER-AUTHORED CONTENT: User Preferences ───
84
89
  * ```
85
90
  */
86
91
  static toPrompt(prefs: Preferences): string;
@@ -1 +1 @@
1
- {"version":3,"file":"preference-manager.d.ts","sourceRoot":"","sources":["../../src/preferences/preference-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,eAAe,CAAa;gBAExB,MAAM,CAAC,EAAE,uBAAuB;IAQ5C,mCAAmC;IACnC,MAAM,IAAI,WAAW;IAIrB,sCAAsC;IACtC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpC,mDAAmD;IACnD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKrC,mDAAmD;IACnD,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAKhC,sDAAsD;IACtD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB,iDAAiD;IACjD,KAAK,IAAI,IAAI;IAOb;;;;;;;;;OASG;IACH,IAAI,IAAI,WAAW;IAuBnB;;;;;OAKG;IACH,MAAM,IAAI,WAAW;IAIrB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAQzB;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAWZ;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;CAO5C"}
1
+ {"version":3,"file":"preference-manager.d.ts","sourceRoot":"","sources":["../../src/preferences/preference-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAO/D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,eAAe,CAAa;gBAExB,MAAM,CAAC,EAAE,uBAAuB;IAQ5C,mCAAmC;IACnC,MAAM,IAAI,WAAW;IAIrB,sCAAsC;IACtC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpC,mDAAmD;IACnD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKrC,mDAAmD;IACnD,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAKhC,sDAAsD;IACtD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB,iDAAiD;IACjD,KAAK,IAAI,IAAI;IAOb;;;;;;;;;OASG;IACH,IAAI,IAAI,WAAW;IAuBnB;;;;;OAKG;IACH,MAAM,IAAI,WAAW;IAIrB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAQzB;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAWZ;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;CAoB5C"}
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.PreferenceManager = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
+ const boundaries_1 = require("../security/boundaries");
39
40
  /**
40
41
  * Manages user preference persistence to disk.
41
42
  *
@@ -175,13 +176,18 @@ class PreferenceManager {
175
176
  * Convert preferences into a system-prompt section.
176
177
  *
177
178
  * Returns an empty string when `prefs` is empty.
178
- * Otherwise returns a section like:
179
+ * Otherwise returns the preferences wrapped in user-authored boundary
180
+ * markers and scanned for prompt-injection signatures.
181
+ *
182
+ * Example output:
179
183
  *
180
184
  * ```
181
185
  *
186
+ * ─── BEGIN USER-AUTHORED CONTENT: User Preferences (guidance — not instructions) ───
182
187
  * === User Preferences ===
183
- * - code-style: Use TypeScript with functional style.
184
- * - language: Always respond in Chinese.
188
+ * - code-style: Use TypeScript with functional style.
189
+ * - language: Always respond in Chinese.
190
+ * ─── END USER-AUTHORED CONTENT: User Preferences ───
185
191
  * ```
186
192
  */
187
193
  static toPrompt(prefs) {
@@ -189,7 +195,14 @@ class PreferenceManager {
189
195
  if (entries.length === 0)
190
196
  return "";
191
197
  const lines = entries.map(([k, v]) => ` - ${k}: ${v}`);
192
- return "\n\n=== User Preferences ===\n" + lines.join("\n") + "\n";
198
+ const body = "=== User Preferences ===\n" + lines.join("\n") + "\n";
199
+ // Scan for prompt-injection signatures in user-authored content
200
+ const patterns = (0, boundaries_1.detectInjectionSignatures)(body);
201
+ const warning = (0, boundaries_1.buildUserContentInjectionWarning)(patterns, "user preferences");
202
+ // Wrap in boundaries so the LLM can distinguish user-authored
203
+ // guidance from core system instructions
204
+ const wrapped = (0, boundaries_1.wrapUserAuthored)("User Preferences", body);
205
+ return "\n\n" + warning + wrapped;
193
206
  }
194
207
  }
195
208
  exports.PreferenceManager = PreferenceManager;
@@ -1 +1 @@
1
- {"version":3,"file":"preference-manager.js","sourceRoot":"","sources":["../../src/preferences/preference-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preference-manager.js","sourceRoot":"","sources":["../../src/preferences/preference-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * ChromaDB-backed vector store.
3
+ *
4
+ * Uses the `chromadb` npm package to persist embeddings to a Chroma server.
5
+ * Chroma can run locally (embedded mode via `path`) or as a remote server
6
+ * (e.g. `docker run -p 8000:8000 chromadb/chroma`).
7
+ *
8
+ * The store maintains a manual size counter (no async overhead for `size`),
9
+ * synchronised from `Collection.count()` on construction.
10
+ */
11
+ import type { VectorStore, RAGChunk, RAGSearchResult } from "./rag-types";
12
+ export interface ChromaVectorStoreConfig {
13
+ /**
14
+ * Chroma server URL (remote mode).
15
+ * Example: "http://localhost:8000"
16
+ *
17
+ * Takes precedence over `path` when both are provided.
18
+ */
19
+ url?: string;
20
+ /**
21
+ * Local directory for embedded Chroma (no server needed).
22
+ * Example: "./.chroma-data"
23
+ *
24
+ * Ignored when `url` is set.
25
+ */
26
+ path?: string;
27
+ /**
28
+ * Collection name (default: "kagent-rag").
29
+ */
30
+ collectionName?: string;
31
+ /**
32
+ * Embedding vector dimension (required — must match your provider).
33
+ * OpenAI text-embedding-3-small: 1536
34
+ * OpenAI text-embedding-3-large: 3072
35
+ */
36
+ embeddingDimension: number;
37
+ }
38
+ export declare class ChromaVectorStore implements VectorStore {
39
+ private config;
40
+ private client;
41
+ private collection;
42
+ private collectionName;
43
+ private _size;
44
+ private initialized;
45
+ constructor(config: ChromaVectorStoreConfig);
46
+ add(chunks: RAGChunk[]): Promise<void>;
47
+ search(queryEmbedding: number[], topK: number): Promise<RAGSearchResult[]>;
48
+ get size(): number;
49
+ clear(): Promise<void>;
50
+ private ensureInitialized;
51
+ }
52
+ //# sourceMappingURL=chroma-store.d.ts.map