@backendkit-labs/agent-core 0.14.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 (533) hide show
  1. package/dist/agent-discovery/AgentPackageLoader.d.ts +14 -0
  2. package/dist/agent-discovery/AgentPackageLoader.d.ts.map +1 -0
  3. package/dist/agent-discovery/AgentPackageLoader.js +78 -0
  4. package/dist/agent-discovery/AgentPackageLoader.js.map +1 -0
  5. package/dist/agent-discovery/RemoteAgentRegistry.d.ts +31 -0
  6. package/dist/agent-discovery/RemoteAgentRegistry.d.ts.map +1 -0
  7. package/dist/agent-discovery/RemoteAgentRegistry.js +103 -0
  8. package/dist/agent-discovery/RemoteAgentRegistry.js.map +1 -0
  9. package/dist/agent-discovery/discoverAgents.d.ts +18 -0
  10. package/dist/agent-discovery/discoverAgents.d.ts.map +1 -0
  11. package/dist/agent-discovery/discoverAgents.js +59 -0
  12. package/dist/agent-discovery/discoverAgents.js.map +1 -0
  13. package/dist/agent-discovery/index.d.ts +5 -0
  14. package/dist/agent-discovery/index.d.ts.map +1 -0
  15. package/dist/agent-discovery/index.js +12 -0
  16. package/dist/agent-discovery/index.js.map +1 -0
  17. package/dist/agent-discovery/types.d.ts +42 -0
  18. package/dist/agent-discovery/types.d.ts.map +1 -0
  19. package/dist/agent-discovery/types.js +3 -0
  20. package/dist/agent-discovery/types.js.map +1 -0
  21. package/dist/agent-memory/EpisodicMemory.d.ts +26 -0
  22. package/dist/agent-memory/EpisodicMemory.d.ts.map +1 -0
  23. package/dist/agent-memory/EpisodicMemory.js +83 -0
  24. package/dist/agent-memory/EpisodicMemory.js.map +1 -0
  25. package/dist/agent-memory/MemorySystem.d.ts +40 -0
  26. package/dist/agent-memory/MemorySystem.d.ts.map +1 -0
  27. package/dist/agent-memory/MemorySystem.js +75 -0
  28. package/dist/agent-memory/MemorySystem.js.map +1 -0
  29. package/dist/agent-memory/ProceduralMemory.d.ts +26 -0
  30. package/dist/agent-memory/ProceduralMemory.d.ts.map +1 -0
  31. package/dist/agent-memory/ProceduralMemory.js +104 -0
  32. package/dist/agent-memory/ProceduralMemory.js.map +1 -0
  33. package/dist/agent-memory/SemanticMemory.d.ts +21 -0
  34. package/dist/agent-memory/SemanticMemory.d.ts.map +1 -0
  35. package/dist/agent-memory/SemanticMemory.js +68 -0
  36. package/dist/agent-memory/SemanticMemory.js.map +1 -0
  37. package/dist/agent-memory/index.d.ts +9 -0
  38. package/dist/agent-memory/index.d.ts.map +1 -0
  39. package/dist/agent-memory/index.js +19 -0
  40. package/dist/agent-memory/index.js.map +1 -0
  41. package/dist/agent-memory/scoring.d.ts +10 -0
  42. package/dist/agent-memory/scoring.d.ts.map +1 -0
  43. package/dist/agent-memory/scoring.js +32 -0
  44. package/dist/agent-memory/scoring.js.map +1 -0
  45. package/dist/agent-memory/stores/InMemoryStore.d.ts +10 -0
  46. package/dist/agent-memory/stores/InMemoryStore.d.ts.map +1 -0
  47. package/dist/agent-memory/stores/InMemoryStore.js +25 -0
  48. package/dist/agent-memory/stores/InMemoryStore.js.map +1 -0
  49. package/dist/agent-memory/stores/JsonFileStore.d.ts +18 -0
  50. package/dist/agent-memory/stores/JsonFileStore.d.ts.map +1 -0
  51. package/dist/agent-memory/stores/JsonFileStore.js +61 -0
  52. package/dist/agent-memory/stores/JsonFileStore.js.map +1 -0
  53. package/dist/agent-memory/tools.d.ts +6 -0
  54. package/dist/agent-memory/tools.d.ts.map +1 -0
  55. package/dist/agent-memory/tools.js +74 -0
  56. package/dist/agent-memory/tools.js.map +1 -0
  57. package/dist/agent-memory/types.d.ts +75 -0
  58. package/dist/agent-memory/types.d.ts.map +1 -0
  59. package/dist/agent-memory/types.js +4 -0
  60. package/dist/agent-memory/types.js.map +1 -0
  61. package/dist/bootstrap/GlobalSeed.d.ts +46 -0
  62. package/dist/bootstrap/GlobalSeed.d.ts.map +1 -0
  63. package/dist/bootstrap/GlobalSeed.js +285 -0
  64. package/dist/bootstrap/GlobalSeed.js.map +1 -0
  65. package/dist/bootstrap/config.d.ts +24 -0
  66. package/dist/bootstrap/config.d.ts.map +1 -0
  67. package/dist/bootstrap/config.js +71 -0
  68. package/dist/bootstrap/config.js.map +1 -0
  69. package/dist/checkpoint/index.d.ts +17 -0
  70. package/dist/checkpoint/index.d.ts.map +1 -0
  71. package/dist/checkpoint/index.js +207 -0
  72. package/dist/checkpoint/index.js.map +1 -0
  73. package/dist/commands/SlashCommandRegistry.d.ts +98 -0
  74. package/dist/commands/SlashCommandRegistry.d.ts.map +1 -0
  75. package/dist/commands/SlashCommandRegistry.js +41 -0
  76. package/dist/commands/SlashCommandRegistry.js.map +1 -0
  77. package/dist/commands/builtin.d.ts +7 -0
  78. package/dist/commands/builtin.d.ts.map +1 -0
  79. package/dist/commands/builtin.js +694 -0
  80. package/dist/commands/builtin.js.map +1 -0
  81. package/dist/commands/index.d.ts +4 -0
  82. package/dist/commands/index.d.ts.map +1 -0
  83. package/dist/commands/index.js +8 -0
  84. package/dist/commands/index.js.map +1 -0
  85. package/dist/context/index.d.ts +8 -0
  86. package/dist/context/index.d.ts.map +1 -0
  87. package/dist/context/index.js +8 -0
  88. package/dist/context/index.js.map +1 -0
  89. package/dist/context/pipeline.d.ts +46 -0
  90. package/dist/context/pipeline.d.ts.map +1 -0
  91. package/dist/context/pipeline.js +111 -0
  92. package/dist/context/pipeline.js.map +1 -0
  93. package/dist/context/stages/stage-instructions.d.ts +12 -0
  94. package/dist/context/stages/stage-instructions.d.ts.map +1 -0
  95. package/dist/context/stages/stage-instructions.js +76 -0
  96. package/dist/context/stages/stage-instructions.js.map +1 -0
  97. package/dist/context/stages/stage-lessons.d.ts +13 -0
  98. package/dist/context/stages/stage-lessons.d.ts.map +1 -0
  99. package/dist/context/stages/stage-lessons.js +83 -0
  100. package/dist/context/stages/stage-lessons.js.map +1 -0
  101. package/dist/context/stages/stage-manifest.d.ts +11 -0
  102. package/dist/context/stages/stage-manifest.d.ts.map +1 -0
  103. package/dist/context/stages/stage-manifest.js +62 -0
  104. package/dist/context/stages/stage-manifest.js.map +1 -0
  105. package/dist/context/stages/stage-project.d.ts +10 -0
  106. package/dist/context/stages/stage-project.d.ts.map +1 -0
  107. package/dist/context/stages/stage-project.js +55 -0
  108. package/dist/context/stages/stage-project.js.map +1 -0
  109. package/dist/context/stages/stage-session.d.ts +12 -0
  110. package/dist/context/stages/stage-session.d.ts.map +1 -0
  111. package/dist/context/stages/stage-session.js +69 -0
  112. package/dist/context/stages/stage-session.js.map +1 -0
  113. package/dist/delegation/DelegationBus.d.ts +40 -0
  114. package/dist/delegation/DelegationBus.d.ts.map +1 -0
  115. package/dist/delegation/DelegationBus.js +68 -0
  116. package/dist/delegation/DelegationBus.js.map +1 -0
  117. package/dist/engine/AgentEngine.d.ts +212 -0
  118. package/dist/engine/AgentEngine.d.ts.map +1 -0
  119. package/dist/engine/AgentEngine.js +1037 -0
  120. package/dist/engine/AgentEngine.js.map +1 -0
  121. package/dist/engine/AgentRegistry.d.ts +13 -0
  122. package/dist/engine/AgentRegistry.d.ts.map +1 -0
  123. package/dist/engine/AgentRegistry.js +37 -0
  124. package/dist/engine/AgentRegistry.js.map +1 -0
  125. package/dist/engine/IterationManager.d.ts +79 -0
  126. package/dist/engine/IterationManager.d.ts.map +1 -0
  127. package/dist/engine/IterationManager.js +103 -0
  128. package/dist/engine/IterationManager.js.map +1 -0
  129. package/dist/engine/ProviderRegistry.d.ts +10 -0
  130. package/dist/engine/ProviderRegistry.d.ts.map +1 -0
  131. package/dist/engine/ProviderRegistry.js +28 -0
  132. package/dist/engine/ProviderRegistry.js.map +1 -0
  133. package/dist/engine/ToolRegistry.d.ts +54 -0
  134. package/dist/engine/ToolRegistry.d.ts.map +1 -0
  135. package/dist/engine/ToolRegistry.js +75 -0
  136. package/dist/engine/ToolRegistry.js.map +1 -0
  137. package/dist/engine/createBaseEngine.d.ts +169 -0
  138. package/dist/engine/createBaseEngine.d.ts.map +1 -0
  139. package/dist/engine/createBaseEngine.js +91 -0
  140. package/dist/engine/createBaseEngine.js.map +1 -0
  141. package/dist/engine/qa-orchestrator.d.ts +56 -0
  142. package/dist/engine/qa-orchestrator.d.ts.map +1 -0
  143. package/dist/engine/qa-orchestrator.js +163 -0
  144. package/dist/engine/qa-orchestrator.js.map +1 -0
  145. package/dist/index.d.ts +83 -0
  146. package/dist/index.d.ts.map +1 -0
  147. package/dist/index.js +163 -0
  148. package/dist/index.js.map +1 -0
  149. package/dist/mcp/MCPClientManager.d.ts +65 -0
  150. package/dist/mcp/MCPClientManager.d.ts.map +1 -0
  151. package/dist/mcp/MCPClientManager.js +211 -0
  152. package/dist/mcp/MCPClientManager.js.map +1 -0
  153. package/dist/mcp/index.d.ts +3 -0
  154. package/dist/mcp/index.d.ts.map +1 -0
  155. package/dist/mcp/index.js +6 -0
  156. package/dist/mcp/index.js.map +1 -0
  157. package/dist/mcp/types.d.ts +121 -0
  158. package/dist/mcp/types.d.ts.map +1 -0
  159. package/dist/mcp/types.js +3 -0
  160. package/dist/mcp/types.js.map +1 -0
  161. package/dist/memory/SessionMemory.d.ts +9 -0
  162. package/dist/memory/SessionMemory.d.ts.map +1 -0
  163. package/dist/memory/SessionMemory.js +20 -0
  164. package/dist/memory/SessionMemory.js.map +1 -0
  165. package/dist/observability/CostTracker.d.ts +19 -0
  166. package/dist/observability/CostTracker.d.ts.map +1 -0
  167. package/dist/observability/CostTracker.js +64 -0
  168. package/dist/observability/CostTracker.js.map +1 -0
  169. package/dist/observability/MetricsCollector.d.ts +17 -0
  170. package/dist/observability/MetricsCollector.d.ts.map +1 -0
  171. package/dist/observability/MetricsCollector.js +70 -0
  172. package/dist/observability/MetricsCollector.js.map +1 -0
  173. package/dist/observability/ObservabilityManager.d.ts +33 -0
  174. package/dist/observability/ObservabilityManager.d.ts.map +1 -0
  175. package/dist/observability/ObservabilityManager.js +107 -0
  176. package/dist/observability/ObservabilityManager.js.map +1 -0
  177. package/dist/observability/Tracer.d.ts +23 -0
  178. package/dist/observability/Tracer.d.ts.map +1 -0
  179. package/dist/observability/Tracer.js +65 -0
  180. package/dist/observability/Tracer.js.map +1 -0
  181. package/dist/observability/index.d.ts +7 -0
  182. package/dist/observability/index.d.ts.map +1 -0
  183. package/dist/observability/index.js +14 -0
  184. package/dist/observability/index.js.map +1 -0
  185. package/dist/observability/types.d.ts +77 -0
  186. package/dist/observability/types.d.ts.map +1 -0
  187. package/dist/observability/types.js +15 -0
  188. package/dist/observability/types.js.map +1 -0
  189. package/dist/orchestration/audit/audit-ci-blocker.d.ts +31 -0
  190. package/dist/orchestration/audit/audit-ci-blocker.d.ts.map +1 -0
  191. package/dist/orchestration/audit/audit-ci-blocker.js +120 -0
  192. package/dist/orchestration/audit/audit-ci-blocker.js.map +1 -0
  193. package/dist/orchestration/audit/audit-finding-tracer.d.ts +33 -0
  194. package/dist/orchestration/audit/audit-finding-tracer.d.ts.map +1 -0
  195. package/dist/orchestration/audit/audit-finding-tracer.js +126 -0
  196. package/dist/orchestration/audit/audit-finding-tracer.js.map +1 -0
  197. package/dist/orchestration/audit/audit-lessons-learned.d.ts +27 -0
  198. package/dist/orchestration/audit/audit-lessons-learned.d.ts.map +1 -0
  199. package/dist/orchestration/audit/audit-lessons-learned.js +155 -0
  200. package/dist/orchestration/audit/audit-lessons-learned.js.map +1 -0
  201. package/dist/orchestration/audit/audit-pending-issues.d.ts +21 -0
  202. package/dist/orchestration/audit/audit-pending-issues.d.ts.map +1 -0
  203. package/dist/orchestration/audit/audit-pending-issues.js +110 -0
  204. package/dist/orchestration/audit/audit-pending-issues.js.map +1 -0
  205. package/dist/orchestration/audit/audit-reflection-bridge.d.ts +39 -0
  206. package/dist/orchestration/audit/audit-reflection-bridge.d.ts.map +1 -0
  207. package/dist/orchestration/audit/audit-reflection-bridge.js +65 -0
  208. package/dist/orchestration/audit/audit-reflection-bridge.js.map +1 -0
  209. package/dist/orchestration/audit/audit-report-renderer.d.ts +30 -0
  210. package/dist/orchestration/audit/audit-report-renderer.d.ts.map +1 -0
  211. package/dist/orchestration/audit/audit-report-renderer.js +249 -0
  212. package/dist/orchestration/audit/audit-report-renderer.js.map +1 -0
  213. package/dist/orchestration/audit/audit-report-version-manager.d.ts +52 -0
  214. package/dist/orchestration/audit/audit-report-version-manager.d.ts.map +1 -0
  215. package/dist/orchestration/audit/audit-report-version-manager.js +144 -0
  216. package/dist/orchestration/audit/audit-report-version-manager.js.map +1 -0
  217. package/dist/orchestration/audit/audit-silent-gates-buffer.d.ts +37 -0
  218. package/dist/orchestration/audit/audit-silent-gates-buffer.d.ts.map +1 -0
  219. package/dist/orchestration/audit/audit-silent-gates-buffer.js +129 -0
  220. package/dist/orchestration/audit/audit-silent-gates-buffer.js.map +1 -0
  221. package/dist/orchestration/audit/index.d.ts +17 -0
  222. package/dist/orchestration/audit/index.d.ts.map +1 -0
  223. package/dist/orchestration/audit/index.js +26 -0
  224. package/dist/orchestration/audit/index.js.map +1 -0
  225. package/dist/orchestration/audit/types.d.ts +79 -0
  226. package/dist/orchestration/audit/types.d.ts.map +1 -0
  227. package/dist/orchestration/audit/types.js +10 -0
  228. package/dist/orchestration/audit/types.js.map +1 -0
  229. package/dist/orchestration/audit-reporter.d.ts +133 -0
  230. package/dist/orchestration/audit-reporter.d.ts.map +1 -0
  231. package/dist/orchestration/audit-reporter.js +322 -0
  232. package/dist/orchestration/audit-reporter.js.map +1 -0
  233. package/dist/orchestration/config-loader.d.ts +51 -0
  234. package/dist/orchestration/config-loader.d.ts.map +1 -0
  235. package/dist/orchestration/config-loader.js +215 -0
  236. package/dist/orchestration/config-loader.js.map +1 -0
  237. package/dist/orchestration/domain-detector.d.ts +36 -0
  238. package/dist/orchestration/domain-detector.d.ts.map +1 -0
  239. package/dist/orchestration/domain-detector.js +157 -0
  240. package/dist/orchestration/domain-detector.js.map +1 -0
  241. package/dist/orchestration/fsm.d.ts +86 -0
  242. package/dist/orchestration/fsm.d.ts.map +1 -0
  243. package/dist/orchestration/fsm.js +223 -0
  244. package/dist/orchestration/fsm.js.map +1 -0
  245. package/dist/orchestration/gate-resolver.d.ts +42 -0
  246. package/dist/orchestration/gate-resolver.d.ts.map +1 -0
  247. package/dist/orchestration/gate-resolver.js +94 -0
  248. package/dist/orchestration/gate-resolver.js.map +1 -0
  249. package/dist/orchestration/index.d.ts +15 -0
  250. package/dist/orchestration/index.d.ts.map +1 -0
  251. package/dist/orchestration/index.js +32 -0
  252. package/dist/orchestration/index.js.map +1 -0
  253. package/dist/orchestration/intent-detector.d.ts +43 -0
  254. package/dist/orchestration/intent-detector.d.ts.map +1 -0
  255. package/dist/orchestration/intent-detector.js +249 -0
  256. package/dist/orchestration/intent-detector.js.map +1 -0
  257. package/dist/orchestration/keyword-match.d.ts +17 -0
  258. package/dist/orchestration/keyword-match.d.ts.map +1 -0
  259. package/dist/orchestration/keyword-match.js +26 -0
  260. package/dist/orchestration/keyword-match.js.map +1 -0
  261. package/dist/orchestration/llm-client-adapter.d.ts +11 -0
  262. package/dist/orchestration/llm-client-adapter.d.ts.map +1 -0
  263. package/dist/orchestration/llm-client-adapter.js +30 -0
  264. package/dist/orchestration/llm-client-adapter.js.map +1 -0
  265. package/dist/orchestration/orchestrator.d.ts +153 -0
  266. package/dist/orchestration/orchestrator.d.ts.map +1 -0
  267. package/dist/orchestration/orchestrator.js +471 -0
  268. package/dist/orchestration/orchestrator.js.map +1 -0
  269. package/dist/orchestration/policy-engine.d.ts +47 -0
  270. package/dist/orchestration/policy-engine.d.ts.map +1 -0
  271. package/dist/orchestration/policy-engine.js +262 -0
  272. package/dist/orchestration/policy-engine.js.map +1 -0
  273. package/dist/orchestration/risk-scorer.d.ts +38 -0
  274. package/dist/orchestration/risk-scorer.d.ts.map +1 -0
  275. package/dist/orchestration/risk-scorer.js +145 -0
  276. package/dist/orchestration/risk-scorer.js.map +1 -0
  277. package/dist/orchestration/task-context.d.ts +195 -0
  278. package/dist/orchestration/task-context.d.ts.map +1 -0
  279. package/dist/orchestration/task-context.js +160 -0
  280. package/dist/orchestration/task-context.js.map +1 -0
  281. package/dist/orchestration/types.d.ts +111 -0
  282. package/dist/orchestration/types.d.ts.map +1 -0
  283. package/dist/orchestration/types.js +37 -0
  284. package/dist/orchestration/types.js.map +1 -0
  285. package/dist/qa/index.d.ts +3 -0
  286. package/dist/qa/index.d.ts.map +1 -0
  287. package/dist/qa/index.js +6 -0
  288. package/dist/qa/index.js.map +1 -0
  289. package/dist/qa/qa-service.d.ts +30 -0
  290. package/dist/qa/qa-service.d.ts.map +1 -0
  291. package/dist/qa/qa-service.js +200 -0
  292. package/dist/qa/qa-service.js.map +1 -0
  293. package/dist/reflection/commands/domain-commands.d.ts +78 -0
  294. package/dist/reflection/commands/domain-commands.d.ts.map +1 -0
  295. package/dist/reflection/commands/domain-commands.js +203 -0
  296. package/dist/reflection/commands/domain-commands.js.map +1 -0
  297. package/dist/reflection/domain-registry.d.ts +104 -0
  298. package/dist/reflection/domain-registry.d.ts.map +1 -0
  299. package/dist/reflection/domain-registry.js +279 -0
  300. package/dist/reflection/domain-registry.js.map +1 -0
  301. package/dist/reflection/domains/agent-domain.d.ts +40 -0
  302. package/dist/reflection/domains/agent-domain.d.ts.map +1 -0
  303. package/dist/reflection/domains/agent-domain.js +161 -0
  304. package/dist/reflection/domains/agent-domain.js.map +1 -0
  305. package/dist/reflection/domains/audit-domain.d.ts +46 -0
  306. package/dist/reflection/domains/audit-domain.d.ts.map +1 -0
  307. package/dist/reflection/domains/audit-domain.js +241 -0
  308. package/dist/reflection/domains/audit-domain.js.map +1 -0
  309. package/dist/reflection/domains/bootstrap-domain.d.ts +40 -0
  310. package/dist/reflection/domains/bootstrap-domain.d.ts.map +1 -0
  311. package/dist/reflection/domains/bootstrap-domain.js +156 -0
  312. package/dist/reflection/domains/bootstrap-domain.js.map +1 -0
  313. package/dist/reflection/domains/commit-domain.d.ts +40 -0
  314. package/dist/reflection/domains/commit-domain.d.ts.map +1 -0
  315. package/dist/reflection/domains/commit-domain.js +174 -0
  316. package/dist/reflection/domains/commit-domain.js.map +1 -0
  317. package/dist/reflection/domains/test-domain.d.ts +40 -0
  318. package/dist/reflection/domains/test-domain.d.ts.map +1 -0
  319. package/dist/reflection/domains/test-domain.js +194 -0
  320. package/dist/reflection/domains/test-domain.js.map +1 -0
  321. package/dist/reflection/failure-catalog.d.ts +100 -0
  322. package/dist/reflection/failure-catalog.d.ts.map +1 -0
  323. package/dist/reflection/failure-catalog.js +269 -0
  324. package/dist/reflection/failure-catalog.js.map +1 -0
  325. package/dist/reflection/historical-loader.d.ts +105 -0
  326. package/dist/reflection/historical-loader.d.ts.map +1 -0
  327. package/dist/reflection/historical-loader.js +462 -0
  328. package/dist/reflection/historical-loader.js.map +1 -0
  329. package/dist/reflection/hooks/agent-hook.d.ts +72 -0
  330. package/dist/reflection/hooks/agent-hook.d.ts.map +1 -0
  331. package/dist/reflection/hooks/agent-hook.js +98 -0
  332. package/dist/reflection/hooks/agent-hook.js.map +1 -0
  333. package/dist/reflection/hooks/audit-hook.d.ts +72 -0
  334. package/dist/reflection/hooks/audit-hook.d.ts.map +1 -0
  335. package/dist/reflection/hooks/audit-hook.js +112 -0
  336. package/dist/reflection/hooks/audit-hook.js.map +1 -0
  337. package/dist/reflection/hooks/bootstrap-hook.d.ts +71 -0
  338. package/dist/reflection/hooks/bootstrap-hook.d.ts.map +1 -0
  339. package/dist/reflection/hooks/bootstrap-hook.js +97 -0
  340. package/dist/reflection/hooks/bootstrap-hook.js.map +1 -0
  341. package/dist/reflection/hooks/commit-hook.d.ts +63 -0
  342. package/dist/reflection/hooks/commit-hook.d.ts.map +1 -0
  343. package/dist/reflection/hooks/commit-hook.js +90 -0
  344. package/dist/reflection/hooks/commit-hook.js.map +1 -0
  345. package/dist/reflection/hooks/test-hook.d.ts +65 -0
  346. package/dist/reflection/hooks/test-hook.d.ts.map +1 -0
  347. package/dist/reflection/hooks/test-hook.js +99 -0
  348. package/dist/reflection/hooks/test-hook.js.map +1 -0
  349. package/dist/reflection/index.d.ts +19 -0
  350. package/dist/reflection/index.d.ts.map +1 -0
  351. package/dist/reflection/index.js +40 -0
  352. package/dist/reflection/index.js.map +1 -0
  353. package/dist/reflection/lessons-memo-generator.d.ts +60 -0
  354. package/dist/reflection/lessons-memo-generator.d.ts.map +1 -0
  355. package/dist/reflection/lessons-memo-generator.js +286 -0
  356. package/dist/reflection/lessons-memo-generator.js.map +1 -0
  357. package/dist/reflection/pattern-detector.d.ts +55 -0
  358. package/dist/reflection/pattern-detector.d.ts.map +1 -0
  359. package/dist/reflection/pattern-detector.js +137 -0
  360. package/dist/reflection/pattern-detector.js.map +1 -0
  361. package/dist/reflection/policy-promoter.d.ts +86 -0
  362. package/dist/reflection/policy-promoter.d.ts.map +1 -0
  363. package/dist/reflection/policy-promoter.js +382 -0
  364. package/dist/reflection/policy-promoter.js.map +1 -0
  365. package/dist/reflection/reflection-engine.d.ts +160 -0
  366. package/dist/reflection/reflection-engine.d.ts.map +1 -0
  367. package/dist/reflection/reflection-engine.js +352 -0
  368. package/dist/reflection/reflection-engine.js.map +1 -0
  369. package/dist/reflection/types.d.ts +106 -0
  370. package/dist/reflection/types.d.ts.map +1 -0
  371. package/dist/reflection/types.js +64 -0
  372. package/dist/reflection/types.js.map +1 -0
  373. package/dist/shared/llm/resilient-client.d.ts +40 -0
  374. package/dist/shared/llm/resilient-client.d.ts.map +1 -0
  375. package/dist/shared/llm/resilient-client.js +60 -0
  376. package/dist/shared/llm/resilient-client.js.map +1 -0
  377. package/dist/shared/utils/atomic-write.d.ts +7 -0
  378. package/dist/shared/utils/atomic-write.d.ts.map +1 -0
  379. package/dist/shared/utils/atomic-write.js +52 -0
  380. package/dist/shared/utils/atomic-write.js.map +1 -0
  381. package/dist/shared/utils/git.d.ts +2 -0
  382. package/dist/shared/utils/git.d.ts.map +1 -0
  383. package/dist/shared/utils/git.js +17 -0
  384. package/dist/shared/utils/git.js.map +1 -0
  385. package/dist/shared/utils/project-key.d.ts +4 -0
  386. package/dist/shared/utils/project-key.d.ts.map +1 -0
  387. package/dist/shared/utils/project-key.js +54 -0
  388. package/dist/shared/utils/project-key.js.map +1 -0
  389. package/dist/shared/utils/string-utils.d.ts +17 -0
  390. package/dist/shared/utils/string-utils.d.ts.map +1 -0
  391. package/dist/shared/utils/string-utils.js +37 -0
  392. package/dist/shared/utils/string-utils.js.map +1 -0
  393. package/dist/skills/activator.d.ts +27 -0
  394. package/dist/skills/activator.d.ts.map +1 -0
  395. package/dist/skills/activator.js +127 -0
  396. package/dist/skills/activator.js.map +1 -0
  397. package/dist/skills/builtins/global.d.ts +7 -0
  398. package/dist/skills/builtins/global.d.ts.map +1 -0
  399. package/dist/skills/builtins/global.js +208 -0
  400. package/dist/skills/builtins/global.js.map +1 -0
  401. package/dist/skills/builtins/go-pack.d.ts +7 -0
  402. package/dist/skills/builtins/go-pack.d.ts.map +1 -0
  403. package/dist/skills/builtins/go-pack.js +263 -0
  404. package/dist/skills/builtins/go-pack.js.map +1 -0
  405. package/dist/skills/builtins/java-pack.d.ts +7 -0
  406. package/dist/skills/builtins/java-pack.d.ts.map +1 -0
  407. package/dist/skills/builtins/java-pack.js +272 -0
  408. package/dist/skills/builtins/java-pack.js.map +1 -0
  409. package/dist/skills/builtins/kotlin-pack.d.ts +9 -0
  410. package/dist/skills/builtins/kotlin-pack.d.ts.map +1 -0
  411. package/dist/skills/builtins/kotlin-pack.js +292 -0
  412. package/dist/skills/builtins/kotlin-pack.js.map +1 -0
  413. package/dist/skills/builtins/node-pack.d.ts +7 -0
  414. package/dist/skills/builtins/node-pack.d.ts.map +1 -0
  415. package/dist/skills/builtins/node-pack.js +750 -0
  416. package/dist/skills/builtins/node-pack.js.map +1 -0
  417. package/dist/skills/builtins/python-pack.d.ts +7 -0
  418. package/dist/skills/builtins/python-pack.d.ts.map +1 -0
  419. package/dist/skills/builtins/python-pack.js +303 -0
  420. package/dist/skills/builtins/python-pack.js.map +1 -0
  421. package/dist/skills/index.d.ts +11 -0
  422. package/dist/skills/index.d.ts.map +1 -0
  423. package/dist/skills/index.js +24 -0
  424. package/dist/skills/index.js.map +1 -0
  425. package/dist/skills/loader.d.ts +39 -0
  426. package/dist/skills/loader.d.ts.map +1 -0
  427. package/dist/skills/loader.js +152 -0
  428. package/dist/skills/loader.js.map +1 -0
  429. package/dist/skills/manager.d.ts +97 -0
  430. package/dist/skills/manager.d.ts.map +1 -0
  431. package/dist/skills/manager.js +296 -0
  432. package/dist/skills/manager.js.map +1 -0
  433. package/dist/skills/parse-md-skill.d.ts +14 -0
  434. package/dist/skills/parse-md-skill.d.ts.map +1 -0
  435. package/dist/skills/parse-md-skill.js +86 -0
  436. package/dist/skills/parse-md-skill.js.map +1 -0
  437. package/dist/skills/providers/github.d.ts +21 -0
  438. package/dist/skills/providers/github.d.ts.map +1 -0
  439. package/dist/skills/providers/github.js +146 -0
  440. package/dist/skills/providers/github.js.map +1 -0
  441. package/dist/skills/providers/index.d.ts +6 -0
  442. package/dist/skills/providers/index.d.ts.map +1 -0
  443. package/dist/skills/providers/index.js +12 -0
  444. package/dist/skills/providers/index.js.map +1 -0
  445. package/dist/skills/providers/local.d.ts +16 -0
  446. package/dist/skills/providers/local.d.ts.map +1 -0
  447. package/dist/skills/providers/local.js +91 -0
  448. package/dist/skills/providers/local.js.map +1 -0
  449. package/dist/skills/providers/obsidian.d.ts +31 -0
  450. package/dist/skills/providers/obsidian.d.ts.map +1 -0
  451. package/dist/skills/providers/obsidian.js +141 -0
  452. package/dist/skills/providers/obsidian.js.map +1 -0
  453. package/dist/skills/providers/skills-sh.d.ts +32 -0
  454. package/dist/skills/providers/skills-sh.d.ts.map +1 -0
  455. package/dist/skills/providers/skills-sh.js +53 -0
  456. package/dist/skills/providers/skills-sh.js.map +1 -0
  457. package/dist/skills/providers/types.d.ts +25 -0
  458. package/dist/skills/providers/types.d.ts.map +1 -0
  459. package/dist/skills/providers/types.js +3 -0
  460. package/dist/skills/providers/types.js.map +1 -0
  461. package/dist/skills/registry.d.ts +18 -0
  462. package/dist/skills/registry.d.ts.map +1 -0
  463. package/dist/skills/registry.js +45 -0
  464. package/dist/skills/registry.js.map +1 -0
  465. package/dist/skills/types.d.ts +66 -0
  466. package/dist/skills/types.d.ts.map +1 -0
  467. package/dist/skills/types.js +3 -0
  468. package/dist/skills/types.js.map +1 -0
  469. package/dist/tools/defineTool.d.ts +34 -0
  470. package/dist/tools/defineTool.d.ts.map +1 -0
  471. package/dist/tools/defineTool.js +63 -0
  472. package/dist/tools/defineTool.js.map +1 -0
  473. package/dist/transport/CallbackTransport.d.ts +12 -0
  474. package/dist/transport/CallbackTransport.d.ts.map +1 -0
  475. package/dist/transport/CallbackTransport.js +28 -0
  476. package/dist/transport/CallbackTransport.js.map +1 -0
  477. package/dist/transport/StdoutTransport.d.ts +9 -0
  478. package/dist/transport/StdoutTransport.d.ts.map +1 -0
  479. package/dist/transport/StdoutTransport.js +63 -0
  480. package/dist/transport/StdoutTransport.js.map +1 -0
  481. package/dist/transport/Transport.d.ts +8 -0
  482. package/dist/transport/Transport.d.ts.map +1 -0
  483. package/dist/transport/Transport.js +3 -0
  484. package/dist/transport/Transport.js.map +1 -0
  485. package/dist/triggers/EventBus.d.ts +14 -0
  486. package/dist/triggers/EventBus.d.ts.map +1 -0
  487. package/dist/triggers/EventBus.js +18 -0
  488. package/dist/triggers/EventBus.js.map +1 -0
  489. package/dist/triggers/TriggerManager.d.ts +28 -0
  490. package/dist/triggers/TriggerManager.d.ts.map +1 -0
  491. package/dist/triggers/TriggerManager.js +158 -0
  492. package/dist/triggers/TriggerManager.js.map +1 -0
  493. package/dist/triggers/WebhookServer.d.ts +23 -0
  494. package/dist/triggers/WebhookServer.d.ts.map +1 -0
  495. package/dist/triggers/WebhookServer.js +127 -0
  496. package/dist/triggers/WebhookServer.js.map +1 -0
  497. package/dist/triggers/createAutonomousAgent.d.ts +49 -0
  498. package/dist/triggers/createAutonomousAgent.d.ts.map +1 -0
  499. package/dist/triggers/createAutonomousAgent.js +42 -0
  500. package/dist/triggers/createAutonomousAgent.js.map +1 -0
  501. package/dist/triggers/index.d.ts +8 -0
  502. package/dist/triggers/index.d.ts.map +1 -0
  503. package/dist/triggers/index.js +12 -0
  504. package/dist/triggers/index.js.map +1 -0
  505. package/dist/triggers/types.d.ts +35 -0
  506. package/dist/triggers/types.d.ts.map +1 -0
  507. package/dist/triggers/types.js +3 -0
  508. package/dist/triggers/types.js.map +1 -0
  509. package/dist/types/index.d.ts +256 -0
  510. package/dist/types/index.d.ts.map +1 -0
  511. package/dist/types/index.js +4 -0
  512. package/dist/types/index.js.map +1 -0
  513. package/dist/workflow/WorkflowBuilder.d.ts +22 -0
  514. package/dist/workflow/WorkflowBuilder.d.ts.map +1 -0
  515. package/dist/workflow/WorkflowBuilder.js +67 -0
  516. package/dist/workflow/WorkflowBuilder.js.map +1 -0
  517. package/dist/workflow/WorkflowRunner.d.ts +22 -0
  518. package/dist/workflow/WorkflowRunner.d.ts.map +1 -0
  519. package/dist/workflow/WorkflowRunner.js +97 -0
  520. package/dist/workflow/WorkflowRunner.js.map +1 -0
  521. package/dist/workflow/index.d.ts +5 -0
  522. package/dist/workflow/index.d.ts.map +1 -0
  523. package/dist/workflow/index.js +10 -0
  524. package/dist/workflow/index.js.map +1 -0
  525. package/dist/workflow/types.d.ts +35 -0
  526. package/dist/workflow/types.d.ts.map +1 -0
  527. package/dist/workflow/types.js +3 -0
  528. package/dist/workflow/types.js.map +1 -0
  529. package/dist/workspace/index.d.ts +55 -0
  530. package/dist/workspace/index.d.ts.map +1 -0
  531. package/dist/workspace/index.js +189 -0
  532. package/dist/workspace/index.js.map +1 -0
  533. package/package.json +87 -0
@@ -0,0 +1,14 @@
1
+ import type { AgentProfile } from '../types';
2
+ /**
3
+ * Load agent definitions from a directory.
4
+ *
5
+ * Supports two layouts:
6
+ * <dir>/my-agent.yaml ← single-file agent
7
+ * <dir>/my-agent/agent.yaml ← package-directory agent
8
+ */
9
+ export declare function loadAgentsFromDir(dir: string, source: AgentProfile['source']): AgentProfile[];
10
+ /** Returns the global agents directory: ~/.{appName}/agents/ */
11
+ export declare function globalAgentsDir(appName: string): string;
12
+ /** Returns the project-local agents directory: {cwd}/.{appName}/agents/ */
13
+ export declare function projectAgentsDir(cwd: string, appName: string): string;
14
+ //# sourceMappingURL=AgentPackageLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentPackageLoader.d.ts","sourceRoot":"","sources":["../../src/agent-discovery/AgentPackageLoader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK7C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAC/B,YAAY,EAAE,CAyBhB;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAErE"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadAgentsFromDir = loadAgentsFromDir;
4
+ exports.globalAgentsDir = globalAgentsDir;
5
+ exports.projectAgentsDir = projectAgentsDir;
6
+ const fs_1 = require("fs");
7
+ const path_1 = require("path");
8
+ const os_1 = require("os");
9
+ const yaml_1 = require("yaml");
10
+ const REQUIRED_FIELDS = ['id', 'name', 'description', 'systemPrompt', 'allowedTools'];
11
+ /**
12
+ * Load agent definitions from a directory.
13
+ *
14
+ * Supports two layouts:
15
+ * <dir>/my-agent.yaml ← single-file agent
16
+ * <dir>/my-agent/agent.yaml ← package-directory agent
17
+ */
18
+ function loadAgentsFromDir(dir, source) {
19
+ if (!(0, fs_1.existsSync)(dir))
20
+ return [];
21
+ const agents = [];
22
+ for (const entry of (0, fs_1.readdirSync)(dir, { withFileTypes: true })) {
23
+ // Skip the registry cache sub-directory
24
+ if (entry.name === 'registry')
25
+ continue;
26
+ let filePath = null;
27
+ if (entry.isFile() && isYamlOrJson(entry.name)) {
28
+ filePath = (0, path_1.join)(dir, entry.name);
29
+ }
30
+ else if (entry.isDirectory()) {
31
+ const nested = (0, path_1.join)(dir, entry.name, 'agent.yaml');
32
+ if ((0, fs_1.existsSync)(nested))
33
+ filePath = nested;
34
+ }
35
+ if (!filePath)
36
+ continue;
37
+ const agent = parseAgentFile(filePath, source);
38
+ if (agent)
39
+ agents.push(agent);
40
+ }
41
+ return agents;
42
+ }
43
+ /** Returns the global agents directory: ~/.{appName}/agents/ */
44
+ function globalAgentsDir(appName) {
45
+ return (0, path_1.join)((0, os_1.homedir)(), `.${appName}`, 'agents');
46
+ }
47
+ /** Returns the project-local agents directory: {cwd}/.{appName}/agents/ */
48
+ function projectAgentsDir(cwd, appName) {
49
+ return (0, path_1.join)(cwd, `.${appName}`, 'agents');
50
+ }
51
+ // ── Private ───────────────────────────────────────────────────────────────────
52
+ function parseAgentFile(filePath, source) {
53
+ try {
54
+ const content = (0, fs_1.readFileSync)(filePath, 'utf-8');
55
+ const raw = (0, path_1.extname)(filePath) === '.json'
56
+ ? JSON.parse(content)
57
+ : (0, yaml_1.parse)(content);
58
+ if (!validate(raw)) {
59
+ console.warn(`[AgentDiscovery] Missing required fields in ${filePath} — skipped`);
60
+ return null;
61
+ }
62
+ return { ...raw, source: raw.source ?? source };
63
+ }
64
+ catch (err) {
65
+ console.warn(`[AgentDiscovery] Failed to parse ${filePath}: ${err.message}`);
66
+ return null;
67
+ }
68
+ }
69
+ function validate(raw) {
70
+ if (!raw || typeof raw !== 'object')
71
+ return false;
72
+ const r = raw;
73
+ return REQUIRED_FIELDS.every(f => f in r) && Array.isArray(r.allowedTools);
74
+ }
75
+ function isYamlOrJson(name) {
76
+ return /\.(yaml|yml|json)$/.test(name);
77
+ }
78
+ //# sourceMappingURL=AgentPackageLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentPackageLoader.js","sourceRoot":"","sources":["../../src/agent-discovery/AgentPackageLoader.ts"],"names":[],"mappings":";;AAgBA,8CA4BC;AAGD,0CAEC;AAGD,4CAEC;AAtDD,2BAA2D;AAC3D,+BAAqC;AACrC,2BAA6B;AAC7B,+BAA0C;AAI1C,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAU,CAAC;AAE/F;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC7B,GAAW,EACX,MAA8B;IAE9B,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,IAAA,gBAAW,EAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5D,wCAAwC;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QAExC,IAAI,QAAQ,GAAkB,IAAI,CAAC;QAEnC,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,QAAQ,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACnD,IAAI,IAAA,eAAU,EAAC,MAAM,CAAC;gBAAE,QAAQ,GAAG,MAAM,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,gEAAgE;AAChE,SAAgB,eAAe,CAAC,OAAe;IAC3C,OAAO,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED,2EAA2E;AAC3E,SAAgB,gBAAgB,CAAC,GAAW,EAAE,OAAe;IACzD,OAAO,IAAA,WAAI,EAAC,GAAG,EAAE,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,iFAAiF;AAEjF,SAAS,cAAc,CACnB,QAAgB,EAChB,MAA8B;IAE9B,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,GAAY,IAAA,cAAO,EAAC,QAAQ,CAAC,KAAK,OAAO;YAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACrB,CAAC,CAAC,IAAA,YAAS,EAAC,OAAO,CAAC,CAAC;QAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,+CAA+C,QAAQ,YAAY,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,oCAAoC,QAAQ,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,GAAY;IAC1B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAC9B,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { AgentProfile } from '../types';
2
+ import type { RemoteRegistryIndex } from './types';
3
+ /**
4
+ * Fetches and caches agent packages from a remote registry.
5
+ *
6
+ * Registry index format (served at registryUrl):
7
+ * {
8
+ * "version": "1",
9
+ * "agents": [
10
+ * { "name": "@bk/agent-devops-aws", "version": "1.0.0",
11
+ * "description": "...", "downloadUrl": "https://..." }
12
+ * ]
13
+ * }
14
+ *
15
+ * Each downloadUrl must return a valid agent.yaml body.
16
+ */
17
+ export declare class RemoteAgentRegistry {
18
+ private readonly registryUrl;
19
+ private readonly cacheDir;
20
+ constructor(registryUrl: string, cacheDir: string);
21
+ /** Fetch the registry index (cached for 1 hour). */
22
+ fetchIndex(): Promise<RemoteRegistryIndex>;
23
+ /**
24
+ * Download and cache a package by name.
25
+ * Returns null and logs a warning if the package is not found or invalid.
26
+ */
27
+ installPackage(packageName: string): Promise<AgentProfile | null>;
28
+ private downloadAndCache;
29
+ private parseYamlAgent;
30
+ }
31
+ //# sourceMappingURL=RemoteAgentRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteAgentRegistry.d.ts","sourceRoot":"","sources":["../../src/agent-discovery/RemoteAgentRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,SAAS,CAAC;AAIzE;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAmB;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM;IAKrC,oDAAoD;IAC9C,UAAU,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAsBhD;;;OAGG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YA6BzD,gBAAgB;IAiB9B,OAAO,CAAC,cAAc;CAazB"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemoteAgentRegistry = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const yaml_1 = require("yaml");
7
+ const atomic_write_1 = require("../shared/utils/atomic-write");
8
+ const INDEX_CACHE_TTL_MS = 60 * 60 * 1000; // 1 hour
9
+ /**
10
+ * Fetches and caches agent packages from a remote registry.
11
+ *
12
+ * Registry index format (served at registryUrl):
13
+ * {
14
+ * "version": "1",
15
+ * "agents": [
16
+ * { "name": "@bk/agent-devops-aws", "version": "1.0.0",
17
+ * "description": "...", "downloadUrl": "https://..." }
18
+ * ]
19
+ * }
20
+ *
21
+ * Each downloadUrl must return a valid agent.yaml body.
22
+ */
23
+ class RemoteAgentRegistry {
24
+ registryUrl;
25
+ cacheDir;
26
+ constructor(registryUrl, cacheDir) {
27
+ this.registryUrl = registryUrl;
28
+ this.cacheDir = cacheDir;
29
+ (0, fs_1.mkdirSync)(cacheDir, { recursive: true });
30
+ }
31
+ /** Fetch the registry index (cached for 1 hour). */
32
+ async fetchIndex() {
33
+ const cachePath = (0, path_1.join)(this.cacheDir, '_index.json');
34
+ if ((0, fs_1.existsSync)(cachePath)) {
35
+ const wrapper = JSON.parse((0, fs_1.readFileSync)(cachePath, 'utf-8'));
36
+ if (Date.now() - wrapper.fetchedAt < INDEX_CACHE_TTL_MS) {
37
+ return wrapper.data;
38
+ }
39
+ }
40
+ const resp = await fetch(this.registryUrl, { headers: { Accept: 'application/json' } });
41
+ if (!resp.ok) {
42
+ throw new Error(`Registry fetch failed ${resp.status}: ${resp.statusText}`);
43
+ }
44
+ const data = await resp.json();
45
+ (0, atomic_write_1.atomicWriteSync)(cachePath, JSON.stringify({ fetchedAt: Date.now(), data }, null, 2));
46
+ return data;
47
+ }
48
+ /**
49
+ * Download and cache a package by name.
50
+ * Returns null and logs a warning if the package is not found or invalid.
51
+ */
52
+ async installPackage(packageName) {
53
+ const safeName = packageName.replace(/[@/]/g, '_');
54
+ const packageDir = (0, path_1.join)(this.cacheDir, safeName);
55
+ const agentPath = (0, path_1.join)(packageDir, 'agent.yaml');
56
+ // Use cached version if available
57
+ if ((0, fs_1.existsSync)(agentPath)) {
58
+ return this.parseYamlAgent(agentPath, packageName);
59
+ }
60
+ let pkg;
61
+ try {
62
+ const index = await this.fetchIndex();
63
+ pkg = index.agents.find(a => a.name === packageName);
64
+ }
65
+ catch (err) {
66
+ console.warn(`[AgentDiscovery] Registry unavailable for "${packageName}": ${err.message}`);
67
+ return null;
68
+ }
69
+ if (!pkg) {
70
+ console.warn(`[AgentDiscovery] Package "${packageName}" not found in registry`);
71
+ return null;
72
+ }
73
+ return this.downloadAndCache(pkg, packageDir, agentPath);
74
+ }
75
+ // ── Private ────────────────────────────────────────────────────────────────
76
+ async downloadAndCache(pkg, packageDir, agentPath) {
77
+ const resp = await fetch(pkg.downloadUrl);
78
+ if (!resp.ok) {
79
+ throw new Error(`Download failed for "${pkg.name}" (${resp.status}): ${resp.statusText}`);
80
+ }
81
+ const content = await resp.text();
82
+ (0, fs_1.mkdirSync)(packageDir, { recursive: true });
83
+ (0, atomic_write_1.atomicWriteSync)(agentPath, content);
84
+ console.log(`[AgentDiscovery] Installed "${pkg.name}@${pkg.version}" → ${agentPath}`);
85
+ return this.parseYamlAgent(agentPath, pkg.name);
86
+ }
87
+ parseYamlAgent(filePath, packageName) {
88
+ try {
89
+ const raw = (0, yaml_1.parse)((0, fs_1.readFileSync)(filePath, 'utf-8'));
90
+ if (!raw?.id || !raw?.systemPrompt || !Array.isArray(raw?.allowedTools)) {
91
+ console.warn(`[AgentDiscovery] Invalid agent.yaml for package "${packageName}"`);
92
+ return null;
93
+ }
94
+ return { ...raw, source: 'registry' };
95
+ }
96
+ catch (err) {
97
+ console.warn(`[AgentDiscovery] Parse error for "${packageName}": ${err.message}`);
98
+ return null;
99
+ }
100
+ }
101
+ }
102
+ exports.RemoteAgentRegistry = RemoteAgentRegistry;
103
+ //# sourceMappingURL=RemoteAgentRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteAgentRegistry.js","sourceRoot":"","sources":["../../src/agent-discovery/RemoteAgentRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { AgentProfile } from '../types';
2
+ import type { AgentDiscoveryConfig } from './types';
3
+ /**
4
+ * Discover agents from local directories and/or a remote registry.
5
+ *
6
+ * Local layout (appName = 'bk-agent'):
7
+ * ~/.bk-agent/agents/ ← global agents (shared across projects)
8
+ * {workingDir}/.bk-agent/agents/ ← project-local agents (git-tracked)
9
+ *
10
+ * Remote:
11
+ * Fetch the registry index, download requested packages, cache locally.
12
+ * Re-running is fast — cached packages are reused until deleted.
13
+ *
14
+ * Deduplication: if the same agent id appears in multiple sources,
15
+ * the first occurrence wins (global → project → registry → static agents).
16
+ */
17
+ export declare function discoverAgents(config: AgentDiscoveryConfig): Promise<AgentProfile[]>;
18
+ //# sourceMappingURL=discoverAgents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discoverAgents.d.ts","sourceRoot":"","sources":["../../src/agent-discovery/discoverAgents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAMpD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA4C1F"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.discoverAgents = discoverAgents;
4
+ const path_1 = require("path");
5
+ const os_1 = require("os");
6
+ const AgentPackageLoader_1 = require("./AgentPackageLoader");
7
+ const RemoteAgentRegistry_1 = require("./RemoteAgentRegistry");
8
+ const DEFAULT_APP_NAME = 'bk-agent';
9
+ /**
10
+ * Discover agents from local directories and/or a remote registry.
11
+ *
12
+ * Local layout (appName = 'bk-agent'):
13
+ * ~/.bk-agent/agents/ ← global agents (shared across projects)
14
+ * {workingDir}/.bk-agent/agents/ ← project-local agents (git-tracked)
15
+ *
16
+ * Remote:
17
+ * Fetch the registry index, download requested packages, cache locally.
18
+ * Re-running is fast — cached packages are reused until deleted.
19
+ *
20
+ * Deduplication: if the same agent id appears in multiple sources,
21
+ * the first occurrence wins (global → project → registry → static agents).
22
+ */
23
+ async function discoverAgents(config) {
24
+ const appName = config.appName ?? DEFAULT_APP_NAME;
25
+ const cwd = config.workingDir ?? process.cwd();
26
+ const agents = [];
27
+ const seen = new Set();
28
+ const add = (incoming) => {
29
+ for (const a of incoming) {
30
+ if (!seen.has(a.id)) {
31
+ seen.add(a.id);
32
+ agents.push(a);
33
+ }
34
+ }
35
+ };
36
+ // 1. Local: global agents
37
+ if (config.local !== false) {
38
+ add((0, AgentPackageLoader_1.loadAgentsFromDir)((0, AgentPackageLoader_1.globalAgentsDir)(appName), 'global'));
39
+ add((0, AgentPackageLoader_1.loadAgentsFromDir)((0, AgentPackageLoader_1.projectAgentsDir)(cwd, appName), 'project'));
40
+ }
41
+ // 2. Remote: install packages
42
+ if (config.install?.length) {
43
+ const cacheDir = config.cacheDir ?? (0, path_1.join)((0, os_1.homedir)(), `.${appName}`, 'agents', 'registry');
44
+ const registryUrl = config.remote ?? 'https://registry.backendkit.dev/agents';
45
+ const registry = new RemoteAgentRegistry_1.RemoteAgentRegistry(registryUrl, cacheDir);
46
+ const results = await Promise.allSettled(config.install.map(name => registry.installPackage(name)));
47
+ for (let i = 0; i < results.length; i++) {
48
+ const result = results[i];
49
+ if (result.status === 'fulfilled' && result.value) {
50
+ add([result.value]);
51
+ }
52
+ else if (result.status === 'rejected') {
53
+ console.warn(`[AgentDiscovery] Failed to install "${config.install[i]}": ${result.reason.message}`);
54
+ }
55
+ }
56
+ }
57
+ return agents;
58
+ }
59
+ //# sourceMappingURL=discoverAgents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discoverAgents.js","sourceRoot":"","sources":["../../src/agent-discovery/discoverAgents.ts"],"names":[],"mappings":";;AAuBA,wCA4CC;AAnED,+BAA4B;AAC5B,2BAA6B;AAG7B,6DAA4F;AAC5F,+DAA4D;AAE5D,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAEpC;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,cAAc,CAAC,MAA4B;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,MAAM,GAAG,GAAG,CAAC,QAAwB,EAAE,EAAE;QACrC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,0BAA0B;IAC1B,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,IAAA,sCAAiB,EAAC,IAAA,oCAAe,EAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3D,GAAG,CAAC,IAAA,sCAAiB,EAAC,IAAA,qCAAgB,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,8BAA8B;IAC9B,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,IAAI,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACzF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,wCAAwC,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,yCAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEhE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAC5D,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChD,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CACR,uCAAuC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAO,MAAM,CAAC,MAAgB,CAAC,OAAO,EAAE,CACnG,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { discoverAgents } from './discoverAgents';
2
+ export { RemoteAgentRegistry } from './RemoteAgentRegistry';
3
+ export { loadAgentsFromDir, globalAgentsDir, projectAgentsDir } from './AgentPackageLoader';
4
+ export type { AgentDiscoveryConfig, AgentPackageFile, RemotePackageListing, RemoteRegistryIndex, } from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,YAAY,EACR,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.projectAgentsDir = exports.globalAgentsDir = exports.loadAgentsFromDir = exports.RemoteAgentRegistry = exports.discoverAgents = void 0;
4
+ var discoverAgents_1 = require("./discoverAgents");
5
+ Object.defineProperty(exports, "discoverAgents", { enumerable: true, get: function () { return discoverAgents_1.discoverAgents; } });
6
+ var RemoteAgentRegistry_1 = require("./RemoteAgentRegistry");
7
+ Object.defineProperty(exports, "RemoteAgentRegistry", { enumerable: true, get: function () { return RemoteAgentRegistry_1.RemoteAgentRegistry; } });
8
+ var AgentPackageLoader_1 = require("./AgentPackageLoader");
9
+ Object.defineProperty(exports, "loadAgentsFromDir", { enumerable: true, get: function () { return AgentPackageLoader_1.loadAgentsFromDir; } });
10
+ Object.defineProperty(exports, "globalAgentsDir", { enumerable: true, get: function () { return AgentPackageLoader_1.globalAgentsDir; } });
11
+ Object.defineProperty(exports, "projectAgentsDir", { enumerable: true, get: function () { return AgentPackageLoader_1.projectAgentsDir; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-discovery/index.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,2DAA4F;AAAnF,uHAAA,iBAAiB,OAAA;AAAE,qHAAA,eAAe,OAAA;AAAE,sHAAA,gBAAgB,OAAA"}
@@ -0,0 +1,42 @@
1
+ import type { AgentProfile } from '../types';
2
+ /** Raw structure of an agent.yaml / agent.json file. */
3
+ export type AgentPackageFile = Omit<AgentProfile, 'source'> & {
4
+ source?: AgentProfile['source'];
5
+ };
6
+ export interface RemotePackageListing {
7
+ name: string;
8
+ version: string;
9
+ description: string;
10
+ /** URL to download the agent.yaml for this package. */
11
+ downloadUrl: string;
12
+ }
13
+ export interface RemoteRegistryIndex {
14
+ version: string;
15
+ agents: RemotePackageListing[];
16
+ }
17
+ export interface AgentDiscoveryConfig {
18
+ /**
19
+ * Application name used to locate global agent directories.
20
+ * Agents are looked up in ~/.{appName}/agents/.
21
+ * Defaults to 'bk-agent'.
22
+ */
23
+ appName?: string;
24
+ /**
25
+ * Load agents from the global (~/.{appName}/agents/) and
26
+ * project-local ({workingDir}/.{appName}/agents/) directories.
27
+ * Default: true.
28
+ */
29
+ local?: boolean;
30
+ /** Working directory for project-local agent loading. Defaults to process.cwd(). */
31
+ workingDir?: string;
32
+ /** Remote registry URL (e.g. 'https://registry.backendkit.dev/agents'). */
33
+ remote?: string;
34
+ /** Package names to install/cache from the remote registry. */
35
+ install?: string[];
36
+ /**
37
+ * Override the local cache directory for downloaded packages.
38
+ * Defaults to ~/.{appName}/agents/registry/.
39
+ */
40
+ cacheDir?: string;
41
+ }
42
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent-discovery/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,wDAAwD;AACxD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;IAC1D,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAIF,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAID,MAAM,WAAW,oBAAoB;IACjC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent-discovery/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import type { Episode, EpisodicConfig, RetentionConfig } from './types';
2
+ /**
3
+ * Episodic memory — a time-ordered log of agent experiences.
4
+ *
5
+ * Supports keyword-based recall and tag filtering. Retention limits and
6
+ * optional LLM-based summarization keep the store from growing unbounded.
7
+ */
8
+ export declare class EpisodicMemory {
9
+ private readonly backend;
10
+ private readonly maxEpisodes;
11
+ private readonly summarizeAfter;
12
+ private readonly summarizeFn?;
13
+ private episodesSinceSummary;
14
+ constructor(episodicCfg?: EpisodicConfig, retentionCfg?: RetentionConfig);
15
+ /** Store an experience. Returns the new episode ID. */
16
+ remember(content: string, tags?: string[]): string;
17
+ /** Retrieve episodes most relevant to a text query (keyword overlap). */
18
+ recall(query: string, limit?: number): Episode[];
19
+ /** Retrieve episodes that carry a specific tag, newest first. */
20
+ recallByTag(tag: string, limit?: number): Episode[];
21
+ /** Return the N most recently stored episodes. */
22
+ recallRecent(n?: number): Episode[];
23
+ count(): number;
24
+ private runSummarization;
25
+ }
26
+ //# sourceMappingURL=EpisodicMemory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EpisodicMemory.d.ts","sourceRoot":"","sources":["../../src/agent-memory/EpisodicMemory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAsB,eAAe,EAA6B,MAAM,SAAS,CAAC;AAUvH;;;;;GAKG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAc;IAC3C,OAAO,CAAC,oBAAoB,CAAK;gBAErB,WAAW,GAAE,cAAmB,EAAE,YAAY,GAAE,eAAoB;IAOhF,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM;IAkBtD,yEAAyE;IACzE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,EAAE;IAQ5C,iEAAiE;IACjE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,EAAE;IAO/C,kDAAkD;IAClD,YAAY,CAAC,CAAC,SAAK,GAAG,OAAO,EAAE;IAM/B,KAAK,IAAI,MAAM;YAID,gBAAgB;CASjC"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EpisodicMemory = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const InMemoryStore_1 = require("./stores/InMemoryStore");
6
+ const JsonFileStore_1 = require("./stores/JsonFileStore");
7
+ const scoring_1 = require("./scoring");
8
+ /**
9
+ * Episodic memory — a time-ordered log of agent experiences.
10
+ *
11
+ * Supports keyword-based recall and tag filtering. Retention limits and
12
+ * optional LLM-based summarization keep the store from growing unbounded.
13
+ */
14
+ class EpisodicMemory {
15
+ backend;
16
+ maxEpisodes;
17
+ summarizeAfter;
18
+ summarizeFn;
19
+ episodesSinceSummary = 0;
20
+ constructor(episodicCfg = {}, retentionCfg = {}) {
21
+ this.backend = makeBackend(episodicCfg);
22
+ this.maxEpisodes = retentionCfg.maxEpisodes ?? Infinity;
23
+ this.summarizeAfter = retentionCfg.summarizeAfter ?? Infinity;
24
+ this.summarizeFn = retentionCfg.summarizeFn;
25
+ }
26
+ /** Store an experience. Returns the new episode ID. */
27
+ remember(content, tags = []) {
28
+ const id = (0, crypto_1.randomUUID)();
29
+ this.backend.insert({ id, content, tags, createdAt: new Date().toISOString() });
30
+ this.episodesSinceSummary++;
31
+ if (this.maxEpisodes < Infinity && this.backend.count() > this.maxEpisodes) {
32
+ this.backend.deleteOldest(this.maxEpisodes);
33
+ }
34
+ if (this.summarizeFn && this.episodesSinceSummary >= this.summarizeAfter) {
35
+ this.episodesSinceSummary = 0;
36
+ void this.runSummarization();
37
+ }
38
+ return id;
39
+ }
40
+ /** Retrieve episodes most relevant to a text query (keyword overlap). */
41
+ recall(query, limit = 10) {
42
+ return this.backend.getAll()
43
+ .map(r => ({ ...toEpisode(r), score: (0, scoring_1.keywordScore)(query, `${r.content} ${r.tags.join(' ')}`) }))
44
+ .filter(e => (e.score ?? 0) > 0)
45
+ .sort((a, b) => (b.score ?? 0) - (a.score ?? 0))
46
+ .slice(0, limit);
47
+ }
48
+ /** Retrieve episodes that carry a specific tag, newest first. */
49
+ recallByTag(tag, limit = 10) {
50
+ return this.backend.getAll()
51
+ .filter(r => r.tags.includes(tag))
52
+ .slice(-limit)
53
+ .map(toEpisode);
54
+ }
55
+ /** Return the N most recently stored episodes. */
56
+ recallRecent(n = 10) {
57
+ return this.backend.getAll()
58
+ .slice(-n)
59
+ .map(toEpisode);
60
+ }
61
+ count() { return this.backend.count(); }
62
+ // ── Private ────────────────────────────────────────────────────────────────
63
+ async runSummarization() {
64
+ const oldest = this.backend.getAll()
65
+ .slice(0, this.summarizeAfter)
66
+ .map(toEpisode);
67
+ if (oldest.length === 0 || !this.summarizeFn)
68
+ return;
69
+ const summary = await this.summarizeFn(oldest);
70
+ this.remember(summary, ['summary']);
71
+ }
72
+ }
73
+ exports.EpisodicMemory = EpisodicMemory;
74
+ // ── Helpers ───────────────────────────────────────────────────────────────────
75
+ function toEpisode(r) {
76
+ return { id: r.id, content: r.content, tags: r.tags, createdAt: new Date(r.createdAt) };
77
+ }
78
+ function makeBackend(cfg) {
79
+ return cfg.provider === 'json' && cfg.path
80
+ ? new JsonFileStore_1.JsonFileStore(cfg.path)
81
+ : new InMemoryStore_1.InMemoryStore();
82
+ }
83
+ //# sourceMappingURL=EpisodicMemory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EpisodicMemory.js","sourceRoot":"","sources":["../../src/agent-memory/EpisodicMemory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { ToolDefinition } from '../types';
2
+ import { EpisodicMemory } from './EpisodicMemory';
3
+ import { SemanticMemory } from './SemanticMemory';
4
+ import { ProceduralMemory } from './ProceduralMemory';
5
+ import type { MemorySystemConfig } from './types';
6
+ /**
7
+ * Unified facade for the three-tier agent memory system.
8
+ *
9
+ * - episodic: time-ordered log of experiences (recall by keyword or tag)
10
+ * - semantic: knowledge base (recall by keyword or vector similarity)
11
+ * - procedural: learned patterns from successes and failures
12
+ *
13
+ * Use buildContextBlock() to inject relevant memories into system prompts,
14
+ * and getTools() to register the memory tools with the agent engine.
15
+ *
16
+ * @example
17
+ * const memory = createMemorySystem({
18
+ * episodic: { provider: 'json', path: '~/.bk/memory/episodes.json' },
19
+ * semantic: { provider: 'json', path: '~/.bk/memory/knowledge.json', embedFn: myEmbedder },
20
+ * procedural: { provider: 'json', path: '~/.bk/memory/patterns.json' },
21
+ * retention: { maxEpisodes: 1000, summarizeAfter: 100, summarizeFn: myLLMSummarizer },
22
+ * });
23
+ */
24
+ export declare class MemorySystem {
25
+ private readonly config;
26
+ readonly episodic: EpisodicMemory;
27
+ readonly semantic: SemanticMemory;
28
+ readonly procedural: ProceduralMemory;
29
+ constructor(config?: MemorySystemConfig);
30
+ /**
31
+ * Build a markdown context block combining relevant memories from all three tiers.
32
+ * Inject the result into agent system prompts for in-context retrieval.
33
+ */
34
+ buildContextBlock(query: string): Promise<string>;
35
+ /** Returns pre-built ToolDefinitions to register with the agent engine. */
36
+ getTools(): ToolDefinition[];
37
+ }
38
+ /** Factory shorthand for MemorySystem. */
39
+ export declare function createMemorySystem(config?: MemorySystemConfig): MemorySystem;
40
+ //# sourceMappingURL=MemorySystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemorySystem.d.ts","sourceRoot":"","sources":["../../src/agent-memory/MemorySystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAY;IAKT,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJnC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;gBAET,MAAM,GAAE,kBAAuB;IAM5D;;;OAGG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BvD,2EAA2E;IAC3E,QAAQ,IAAI,cAAc,EAAE;CAG/B;AAED,0CAA0C;AAC1C,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,YAAY,CAE5E"}