@jungjaehoon/mama-os 0.28.5 → 0.29.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 (454) hide show
  1. package/dist/agent/agent-loop.d.ts +0 -4
  2. package/dist/agent/agent-loop.d.ts.map +1 -1
  3. package/dist/agent/agent-loop.js +44 -12
  4. package/dist/agent/agent-loop.js.map +1 -1
  5. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  6. package/dist/agent/code-act/host-bridge.js +53 -3
  7. package/dist/agent/code-act/host-bridge.js.map +1 -1
  8. package/dist/agent/code-act/tool-policy.d.ts.map +1 -1
  9. package/dist/agent/code-act/tool-policy.js +5 -0
  10. package/dist/agent/code-act/tool-policy.js.map +1 -1
  11. package/dist/agent/codex-auth.d.ts +0 -1
  12. package/dist/agent/codex-auth.d.ts.map +1 -1
  13. package/dist/agent/codex-auth.js +0 -4
  14. package/dist/agent/codex-auth.js.map +1 -1
  15. package/dist/agent/codex-home.d.ts +0 -2
  16. package/dist/agent/codex-home.d.ts.map +1 -1
  17. package/dist/agent/codex-home.js +0 -66
  18. package/dist/agent/codex-home.js.map +1 -1
  19. package/dist/agent/context-compile-service.d.ts +9 -0
  20. package/dist/agent/context-compile-service.d.ts.map +1 -1
  21. package/dist/agent/context-compile-service.js +6 -0
  22. package/dist/agent/context-compile-service.js.map +1 -1
  23. package/dist/agent/context-prompt-builder.d.ts +0 -6
  24. package/dist/agent/context-prompt-builder.d.ts.map +1 -1
  25. package/dist/agent/context-prompt-builder.js +0 -131
  26. package/dist/agent/context-prompt-builder.js.map +1 -1
  27. package/dist/agent/contract-extractor.d.ts +0 -4
  28. package/dist/agent/contract-extractor.d.ts.map +1 -1
  29. package/dist/agent/contract-extractor.js +0 -68
  30. package/dist/agent/contract-extractor.js.map +1 -1
  31. package/dist/agent/gateway-tool-executor.d.ts +20 -15
  32. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  33. package/dist/agent/gateway-tool-executor.js +236 -90
  34. package/dist/agent/gateway-tool-executor.js.map +1 -1
  35. package/dist/agent/gateway-tools.md +7 -4
  36. package/dist/agent/skill-loader.d.ts +0 -7
  37. package/dist/agent/skill-loader.d.ts.map +1 -1
  38. package/dist/agent/skill-loader.js +0 -86
  39. package/dist/agent/skill-loader.js.map +1 -1
  40. package/dist/agent/token-estimator.d.ts +0 -8
  41. package/dist/agent/token-estimator.d.ts.map +1 -1
  42. package/dist/agent/token-estimator.js +0 -14
  43. package/dist/agent/token-estimator.js.map +1 -1
  44. package/dist/agent/tool-registry.d.ts.map +1 -1
  45. package/dist/agent/tool-registry.js +23 -5
  46. package/dist/agent/tool-registry.js.map +1 -1
  47. package/dist/agent/types.d.ts +27 -1
  48. package/dist/agent/types.d.ts.map +1 -1
  49. package/dist/agent/types.js.map +1 -1
  50. package/dist/api/agent-graph-handler.d.ts +9 -0
  51. package/dist/api/agent-graph-handler.d.ts.map +1 -1
  52. package/dist/api/agent-graph-handler.js +27 -1
  53. package/dist/api/agent-graph-handler.js.map +1 -1
  54. package/dist/api/entity-audit-handler.d.ts +1 -2
  55. package/dist/api/entity-audit-handler.d.ts.map +1 -1
  56. package/dist/api/entity-audit-handler.js +0 -5
  57. package/dist/api/entity-audit-handler.js.map +1 -1
  58. package/dist/api/index.d.ts +1 -9
  59. package/dist/api/index.d.ts.map +1 -1
  60. package/dist/api/index.js +4 -17
  61. package/dist/api/index.js.map +1 -1
  62. package/dist/api/intelligence-handler.d.ts +0 -5
  63. package/dist/api/intelligence-handler.d.ts.map +1 -1
  64. package/dist/api/intelligence-handler.js +0 -15
  65. package/dist/api/intelligence-handler.js.map +1 -1
  66. package/dist/api/types.d.ts +1 -5
  67. package/dist/api/types.d.ts.map +1 -1
  68. package/dist/api/types.js +0 -14
  69. package/dist/api/types.js.map +1 -1
  70. package/dist/cli/commands/start.d.ts +117 -3
  71. package/dist/cli/commands/start.d.ts.map +1 -1
  72. package/dist/cli/commands/start.js +223 -62
  73. package/dist/cli/commands/start.js.map +1 -1
  74. package/dist/cli/config/config-manager.d.ts +0 -5
  75. package/dist/cli/config/config-manager.d.ts.map +1 -1
  76. package/dist/cli/config/config-manager.js +0 -29
  77. package/dist/cli/config/config-manager.js.map +1 -1
  78. package/dist/cli/config/types.d.ts.map +1 -1
  79. package/dist/cli/config/types.js +3 -0
  80. package/dist/cli/config/types.js.map +1 -1
  81. package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
  82. package/dist/cli/runtime/agent-loop-init.js +9 -1
  83. package/dist/cli/runtime/agent-loop-init.js.map +1 -1
  84. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  85. package/dist/cli/runtime/api-routes-init.js +32 -5
  86. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  87. package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
  88. package/dist/cli/runtime/api-server-init.js +2 -0
  89. package/dist/cli/runtime/api-server-init.js.map +1 -1
  90. package/dist/cli/runtime/gateway-init.d.ts +1 -1
  91. package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
  92. package/dist/cli/runtime/gateway-init.js +11 -38
  93. package/dist/cli/runtime/gateway-init.js.map +1 -1
  94. package/dist/cli/runtime/gateway-wiring.d.ts.map +1 -1
  95. package/dist/cli/runtime/gateway-wiring.js +6 -120
  96. package/dist/cli/runtime/gateway-wiring.js.map +1 -1
  97. package/dist/cli/utils/pid-manager.d.ts +0 -10
  98. package/dist/cli/utils/pid-manager.d.ts.map +1 -1
  99. package/dist/cli/utils/pid-manager.js +0 -26
  100. package/dist/cli/utils/pid-manager.js.map +1 -1
  101. package/dist/connectors/framework/polling-scheduler.d.ts +33 -1
  102. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  103. package/dist/connectors/framework/polling-scheduler.js +46 -40
  104. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  105. package/dist/connectors/trello/query-tools.d.ts +32 -5
  106. package/dist/connectors/trello/query-tools.d.ts.map +1 -1
  107. package/dist/connectors/trello/query-tools.js +56 -17
  108. package/dist/connectors/trello/query-tools.js.map +1 -1
  109. package/dist/db/agent-store.d.ts +0 -4
  110. package/dist/db/agent-store.d.ts.map +1 -1
  111. package/dist/db/agent-store.js +0 -65
  112. package/dist/db/agent-store.js.map +1 -1
  113. package/dist/envelope/enforcer.d.ts.map +1 -1
  114. package/dist/envelope/enforcer.js +10 -1
  115. package/dist/envelope/enforcer.js.map +1 -1
  116. package/dist/envelope/index.d.ts +0 -1
  117. package/dist/envelope/index.d.ts.map +1 -1
  118. package/dist/envelope/index.js +0 -1
  119. package/dist/envelope/index.js.map +1 -1
  120. package/dist/envelope/signature.d.ts +0 -1
  121. package/dist/envelope/signature.d.ts.map +1 -1
  122. package/dist/envelope/signature.js +0 -7
  123. package/dist/envelope/signature.js.map +1 -1
  124. package/dist/envelope/tool-connector-scope.d.ts +35 -0
  125. package/dist/envelope/tool-connector-scope.d.ts.map +1 -0
  126. package/dist/envelope/tool-connector-scope.js +57 -0
  127. package/dist/envelope/tool-connector-scope.js.map +1 -0
  128. package/dist/evidence/effects.d.ts +107 -0
  129. package/dist/evidence/effects.d.ts.map +1 -0
  130. package/dist/evidence/effects.js +281 -0
  131. package/dist/evidence/effects.js.map +1 -0
  132. package/dist/evidence/read.d.ts +75 -0
  133. package/dist/evidence/read.d.ts.map +1 -0
  134. package/dist/evidence/read.js +105 -0
  135. package/dist/evidence/read.js.map +1 -0
  136. package/dist/gateways/base-gateway.d.ts +23 -3
  137. package/dist/gateways/base-gateway.d.ts.map +1 -1
  138. package/dist/gateways/base-gateway.js +15 -2
  139. package/dist/gateways/base-gateway.js.map +1 -1
  140. package/dist/gateways/discord.d.ts +4 -16
  141. package/dist/gateways/discord.d.ts.map +1 -1
  142. package/dist/gateways/discord.js +22 -189
  143. package/dist/gateways/discord.js.map +1 -1
  144. package/dist/gateways/index.d.ts +2 -1
  145. package/dist/gateways/index.d.ts.map +1 -1
  146. package/dist/gateways/message-router.d.ts +13 -20
  147. package/dist/gateways/message-router.d.ts.map +1 -1
  148. package/dist/gateways/message-router.js +32 -3
  149. package/dist/gateways/message-router.js.map +1 -1
  150. package/dist/gateways/slack.d.ts +2 -12
  151. package/dist/gateways/slack.d.ts.map +1 -1
  152. package/dist/gateways/slack.js +6 -220
  153. package/dist/gateways/slack.js.map +1 -1
  154. package/dist/gateways/telegram.d.ts +2 -2
  155. package/dist/gateways/telegram.d.ts.map +1 -1
  156. package/dist/gateways/telegram.js +3 -2
  157. package/dist/gateways/telegram.js.map +1 -1
  158. package/dist/gateways/turn-contract.d.ts +104 -0
  159. package/dist/gateways/turn-contract.d.ts.map +1 -0
  160. package/dist/{memory/consult-contract.js → gateways/turn-contract.js} +1 -1
  161. package/dist/gateways/turn-contract.js.map +1 -0
  162. package/dist/memory/provenance-live.d.ts +111 -0
  163. package/dist/memory/provenance-live.d.ts.map +1 -0
  164. package/dist/memory/provenance-live.js +381 -0
  165. package/dist/memory/provenance-live.js.map +1 -0
  166. package/dist/memory/provenance-resolver.d.ts +184 -0
  167. package/dist/memory/provenance-resolver.d.ts.map +1 -0
  168. package/dist/memory/provenance-resolver.js +152 -0
  169. package/dist/memory/provenance-resolver.js.map +1 -0
  170. package/dist/multi-agent/agent-event-bus.d.ts +1 -0
  171. package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
  172. package/dist/multi-agent/bmad-templates.d.ts +0 -18
  173. package/dist/multi-agent/bmad-templates.d.ts.map +1 -1
  174. package/dist/multi-agent/bmad-templates.js +0 -127
  175. package/dist/multi-agent/bmad-templates.js.map +1 -1
  176. package/dist/multi-agent/dashboard-agent-persona.js +3 -3
  177. package/dist/operator/board-reconcile.d.ts +2 -3
  178. package/dist/operator/board-reconcile.d.ts.map +1 -1
  179. package/dist/operator/board-reconcile.js +18 -32
  180. package/dist/operator/board-reconcile.js.map +1 -1
  181. package/dist/operator/changes-projection.d.ts +70 -0
  182. package/dist/operator/changes-projection.d.ts.map +1 -0
  183. package/dist/operator/changes-projection.js +109 -0
  184. package/dist/operator/changes-projection.js.map +1 -0
  185. package/dist/operator/external-correlation.d.ts +94 -0
  186. package/dist/operator/external-correlation.d.ts.map +1 -0
  187. package/dist/operator/external-correlation.js +177 -0
  188. package/dist/operator/external-correlation.js.map +1 -0
  189. package/dist/operator/operator-trigger-loop.d.ts +9 -1
  190. package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
  191. package/dist/operator/operator-trigger-loop.js +8 -4
  192. package/dist/operator/operator-trigger-loop.js.map +1 -1
  193. package/dist/operator/provenance-lookup.d.ts +18 -0
  194. package/dist/operator/provenance-lookup.d.ts.map +1 -0
  195. package/dist/operator/provenance-lookup.js +54 -0
  196. package/dist/operator/provenance-lookup.js.map +1 -0
  197. package/dist/operator/report-carry.d.ts +18 -1
  198. package/dist/operator/report-carry.d.ts.map +1 -1
  199. package/dist/operator/report-carry.js +22 -3
  200. package/dist/operator/report-carry.js.map +1 -1
  201. package/dist/operator/report-run.d.ts +35 -0
  202. package/dist/operator/report-run.d.ts.map +1 -1
  203. package/dist/operator/report-run.js +184 -24
  204. package/dist/operator/report-run.js.map +1 -1
  205. package/dist/operator/situation-report.d.ts.map +1 -1
  206. package/dist/operator/situation-report.js +9 -2
  207. package/dist/operator/situation-report.js.map +1 -1
  208. package/dist/operator/task-ledger.d.ts +84 -2
  209. package/dist/operator/task-ledger.d.ts.map +1 -1
  210. package/dist/operator/task-ledger.js +274 -31
  211. package/dist/operator/task-ledger.js.map +1 -1
  212. package/dist/operator/worker-run.js +1 -1
  213. package/dist/operator/worker-run.js.map +1 -1
  214. package/dist/operator/workorder-hooks.d.ts +79 -4
  215. package/dist/operator/workorder-hooks.d.ts.map +1 -1
  216. package/dist/operator/workorder-hooks.js +152 -20
  217. package/dist/operator/workorder-hooks.js.map +1 -1
  218. package/dist/operator/workorder-publishers.d.ts +2 -0
  219. package/dist/operator/workorder-publishers.d.ts.map +1 -1
  220. package/dist/operator/workorder-publishers.js +8 -1
  221. package/dist/operator/workorder-publishers.js.map +1 -1
  222. package/dist/utils/untrusted-content.d.ts +11 -0
  223. package/dist/utils/untrusted-content.d.ts.map +1 -1
  224. package/dist/utils/untrusted-content.js +20 -0
  225. package/dist/utils/untrusted-content.js.map +1 -1
  226. package/package.json +4 -3
  227. package/scripts/backfill-channel-keys.ts +451 -0
  228. package/dist/agent/auto-recall.d.ts +0 -48
  229. package/dist/agent/auto-recall.d.ts.map +0 -1
  230. package/dist/agent/auto-recall.js +0 -192
  231. package/dist/agent/auto-recall.js.map +0 -1
  232. package/dist/agent/claude-client.d.ts +0 -50
  233. package/dist/agent/claude-client.d.ts.map +0 -1
  234. package/dist/agent/claude-client.js +0 -219
  235. package/dist/agent/claude-client.js.map +0 -1
  236. package/dist/agent/delegation-executor.d.ts +0 -49
  237. package/dist/agent/delegation-executor.d.ts.map +0 -1
  238. package/dist/agent/delegation-executor.js +0 -692
  239. package/dist/agent/delegation-executor.js.map +0 -1
  240. package/dist/agent/mcp-executor.d.ts +0 -60
  241. package/dist/agent/mcp-executor.d.ts.map +0 -1
  242. package/dist/agent/mcp-executor.js +0 -190
  243. package/dist/agent/mcp-executor.js.map +0 -1
  244. package/dist/agent/process-tree.d.ts +0 -6
  245. package/dist/agent/process-tree.d.ts.map +0 -1
  246. package/dist/agent/process-tree.js +0 -21
  247. package/dist/agent/process-tree.js.map +0 -1
  248. package/dist/agent/streaming-callback-manager.d.ts +0 -85
  249. package/dist/agent/streaming-callback-manager.d.ts.map +0 -1
  250. package/dist/agent/streaming-callback-manager.js +0 -103
  251. package/dist/agent/streaming-callback-manager.js.map +0 -1
  252. package/dist/agent/token-budget.d.ts +0 -49
  253. package/dist/agent/token-budget.d.ts.map +0 -1
  254. package/dist/agent/token-budget.js +0 -92
  255. package/dist/agent/token-budget.js.map +0 -1
  256. package/dist/connectors/kagemusha/history-compiler.d.ts +0 -18
  257. package/dist/connectors/kagemusha/history-compiler.d.ts.map +0 -1
  258. package/dist/connectors/kagemusha/history-compiler.js +0 -35
  259. package/dist/connectors/kagemusha/history-compiler.js.map +0 -1
  260. package/dist/db/migrations/wiki-artifacts.d.ts +0 -3
  261. package/dist/db/migrations/wiki-artifacts.d.ts.map +0 -1
  262. package/dist/db/migrations/wiki-artifacts.js +0 -24
  263. package/dist/db/migrations/wiki-artifacts.js.map +0 -1
  264. package/dist/envelope/subset.d.ts +0 -9
  265. package/dist/envelope/subset.d.ts.map +0 -1
  266. package/dist/envelope/subset.js +0 -67
  267. package/dist/envelope/subset.js.map +0 -1
  268. package/dist/memory/consult-contract.d.ts +0 -8
  269. package/dist/memory/consult-contract.d.ts.map +0 -1
  270. package/dist/memory/consult-contract.js.map +0 -1
  271. package/dist/multi-agent/agent-message-queue.d.ts +0 -104
  272. package/dist/multi-agent/agent-message-queue.d.ts.map +0 -1
  273. package/dist/multi-agent/agent-message-queue.js +0 -227
  274. package/dist/multi-agent/agent-message-queue.js.map +0 -1
  275. package/dist/multi-agent/background-task-manager.d.ts +0 -248
  276. package/dist/multi-agent/background-task-manager.d.ts.map +0 -1
  277. package/dist/multi-agent/background-task-manager.js +0 -415
  278. package/dist/multi-agent/background-task-manager.js.map +0 -1
  279. package/dist/multi-agent/category-router.d.ts +0 -56
  280. package/dist/multi-agent/category-router.d.ts.map +0 -1
  281. package/dist/multi-agent/category-router.js +0 -99
  282. package/dist/multi-agent/category-router.js.map +0 -1
  283. package/dist/multi-agent/council-engine.d.ts +0 -60
  284. package/dist/multi-agent/council-engine.d.ts.map +0 -1
  285. package/dist/multi-agent/council-engine.js +0 -284
  286. package/dist/multi-agent/council-engine.js.map +0 -1
  287. package/dist/multi-agent/delegation-format-validator.d.ts +0 -22
  288. package/dist/multi-agent/delegation-format-validator.d.ts.map +0 -1
  289. package/dist/multi-agent/delegation-format-validator.js +0 -31
  290. package/dist/multi-agent/delegation-format-validator.js.map +0 -1
  291. package/dist/multi-agent/delegation-manager.d.ts +0 -128
  292. package/dist/multi-agent/delegation-manager.d.ts.map +0 -1
  293. package/dist/multi-agent/delegation-manager.js +0 -276
  294. package/dist/multi-agent/delegation-manager.js.map +0 -1
  295. package/dist/multi-agent/i18n-messages.d.ts +0 -35
  296. package/dist/multi-agent/i18n-messages.d.ts.map +0 -1
  297. package/dist/multi-agent/i18n-messages.js +0 -54
  298. package/dist/multi-agent/i18n-messages.js.map +0 -1
  299. package/dist/multi-agent/index.d.ts +0 -31
  300. package/dist/multi-agent/index.d.ts.map +0 -1
  301. package/dist/multi-agent/index.js +0 -46
  302. package/dist/multi-agent/index.js.map +0 -1
  303. package/dist/multi-agent/multi-agent-base.d.ts +0 -223
  304. package/dist/multi-agent/multi-agent-base.d.ts.map +0 -1
  305. package/dist/multi-agent/multi-agent-base.js +0 -592
  306. package/dist/multi-agent/multi-agent-base.js.map +0 -1
  307. package/dist/multi-agent/multi-agent-discord.d.ts +0 -142
  308. package/dist/multi-agent/multi-agent-discord.d.ts.map +0 -1
  309. package/dist/multi-agent/multi-agent-discord.js +0 -1235
  310. package/dist/multi-agent/multi-agent-discord.js.map +0 -1
  311. package/dist/multi-agent/multi-agent-slack.d.ts +0 -146
  312. package/dist/multi-agent/multi-agent-slack.d.ts.map +0 -1
  313. package/dist/multi-agent/multi-agent-slack.js +0 -953
  314. package/dist/multi-agent/multi-agent-slack.js.map +0 -1
  315. package/dist/multi-agent/multi-bot-manager.d.ts +0 -119
  316. package/dist/multi-agent/multi-bot-manager.d.ts.map +0 -1
  317. package/dist/multi-agent/multi-bot-manager.js +0 -449
  318. package/dist/multi-agent/multi-bot-manager.js.map +0 -1
  319. package/dist/multi-agent/orchestrator.d.ts +0 -110
  320. package/dist/multi-agent/orchestrator.d.ts.map +0 -1
  321. package/dist/multi-agent/orchestrator.js +0 -436
  322. package/dist/multi-agent/orchestrator.js.map +0 -1
  323. package/dist/multi-agent/rate-limiter.d.ts +0 -76
  324. package/dist/multi-agent/rate-limiter.d.ts.map +0 -1
  325. package/dist/multi-agent/rate-limiter.js +0 -128
  326. package/dist/multi-agent/rate-limiter.js.map +0 -1
  327. package/dist/multi-agent/shared-context.d.ts +0 -127
  328. package/dist/multi-agent/shared-context.d.ts.map +0 -1
  329. package/dist/multi-agent/shared-context.js +0 -239
  330. package/dist/multi-agent/shared-context.js.map +0 -1
  331. package/dist/multi-agent/slack-config-validator.d.ts +0 -42
  332. package/dist/multi-agent/slack-config-validator.d.ts.map +0 -1
  333. package/dist/multi-agent/slack-config-validator.js +0 -194
  334. package/dist/multi-agent/slack-config-validator.js.map +0 -1
  335. package/dist/multi-agent/slack-multi-bot-manager.d.ts +0 -143
  336. package/dist/multi-agent/slack-multi-bot-manager.d.ts.map +0 -1
  337. package/dist/multi-agent/slack-multi-bot-manager.js +0 -413
  338. package/dist/multi-agent/slack-multi-bot-manager.js.map +0 -1
  339. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts +0 -98
  340. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts.map +0 -1
  341. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js +0 -225
  342. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js.map +0 -1
  343. package/dist/multi-agent/swarm/swarm-db.d.ts +0 -175
  344. package/dist/multi-agent/swarm/swarm-db.d.ts.map +0 -1
  345. package/dist/multi-agent/swarm/swarm-db.js +0 -313
  346. package/dist/multi-agent/swarm/swarm-db.js.map +0 -1
  347. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts +0 -116
  348. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts.map +0 -1
  349. package/dist/multi-agent/swarm/swarm-event-reporter.js +0 -243
  350. package/dist/multi-agent/swarm/swarm-event-reporter.js.map +0 -1
  351. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts +0 -57
  352. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts.map +0 -1
  353. package/dist/multi-agent/swarm/swarm-mama-adapter.js +0 -87
  354. package/dist/multi-agent/swarm/swarm-mama-adapter.js.map +0 -1
  355. package/dist/multi-agent/swarm/swarm-manager.d.ts +0 -122
  356. package/dist/multi-agent/swarm/swarm-manager.d.ts.map +0 -1
  357. package/dist/multi-agent/swarm/swarm-manager.js +0 -199
  358. package/dist/multi-agent/swarm/swarm-manager.js.map +0 -1
  359. package/dist/multi-agent/swarm/swarm-task-learner.d.ts +0 -104
  360. package/dist/multi-agent/swarm/swarm-task-learner.d.ts.map +0 -1
  361. package/dist/multi-agent/swarm/swarm-task-learner.js +0 -211
  362. package/dist/multi-agent/swarm/swarm-task-learner.js.map +0 -1
  363. package/dist/multi-agent/swarm/swarm-task-runner.d.ts +0 -155
  364. package/dist/multi-agent/swarm/swarm-task-runner.d.ts.map +0 -1
  365. package/dist/multi-agent/swarm/swarm-task-runner.js +0 -615
  366. package/dist/multi-agent/swarm/swarm-task-runner.js.map +0 -1
  367. package/dist/multi-agent/swarm/wave-engine.d.ts +0 -96
  368. package/dist/multi-agent/swarm/wave-engine.d.ts.map +0 -1
  369. package/dist/multi-agent/swarm/wave-engine.js +0 -123
  370. package/dist/multi-agent/swarm/wave-engine.js.map +0 -1
  371. package/dist/multi-agent/system-reminder.d.ts +0 -206
  372. package/dist/multi-agent/system-reminder.d.ts.map +0 -1
  373. package/dist/multi-agent/system-reminder.js +0 -455
  374. package/dist/multi-agent/system-reminder.js.map +0 -1
  375. package/dist/multi-agent/task-continuation.d.ts +0 -74
  376. package/dist/multi-agent/task-continuation.d.ts.map +0 -1
  377. package/dist/multi-agent/task-continuation.js +0 -172
  378. package/dist/multi-agent/task-continuation.js.map +0 -1
  379. package/dist/multi-agent/ultrawork-state.d.ts +0 -57
  380. package/dist/multi-agent/ultrawork-state.d.ts.map +0 -1
  381. package/dist/multi-agent/ultrawork-state.js +0 -191
  382. package/dist/multi-agent/ultrawork-state.js.map +0 -1
  383. package/dist/multi-agent/ultrawork.d.ts +0 -152
  384. package/dist/multi-agent/ultrawork.d.ts.map +0 -1
  385. package/dist/multi-agent/ultrawork.js +0 -879
  386. package/dist/multi-agent/ultrawork.js.map +0 -1
  387. package/dist/multi-agent/work-tracker.d.ts +0 -22
  388. package/dist/multi-agent/work-tracker.d.ts.map +0 -1
  389. package/dist/multi-agent/work-tracker.js +0 -45
  390. package/dist/multi-agent/work-tracker.js.map +0 -1
  391. package/dist/multi-agent/workflow-engine.d.ts +0 -87
  392. package/dist/multi-agent/workflow-engine.d.ts.map +0 -1
  393. package/dist/multi-agent/workflow-engine.js +0 -604
  394. package/dist/multi-agent/workflow-engine.js.map +0 -1
  395. package/dist/onboarding/all-tools.d.ts +0 -18
  396. package/dist/onboarding/all-tools.d.ts.map +0 -1
  397. package/dist/onboarding/all-tools.js +0 -149
  398. package/dist/onboarding/all-tools.js.map +0 -1
  399. package/dist/onboarding/autonomous-discovery-tools.d.ts +0 -23
  400. package/dist/onboarding/autonomous-discovery-tools.d.ts.map +0 -1
  401. package/dist/onboarding/autonomous-discovery-tools.js +0 -268
  402. package/dist/onboarding/autonomous-discovery-tools.js.map +0 -1
  403. package/dist/onboarding/onboarding-state.d.ts +0 -70
  404. package/dist/onboarding/onboarding-state.d.ts.map +0 -1
  405. package/dist/onboarding/onboarding-state.js +0 -183
  406. package/dist/onboarding/onboarding-state.js.map +0 -1
  407. package/dist/onboarding/personality-quiz.d.ts +0 -35
  408. package/dist/onboarding/personality-quiz.d.ts.map +0 -1
  409. package/dist/onboarding/personality-quiz.js +0 -219
  410. package/dist/onboarding/personality-quiz.js.map +0 -1
  411. package/dist/onboarding/phase-5-summary.d.ts +0 -26
  412. package/dist/onboarding/phase-5-summary.d.ts.map +0 -1
  413. package/dist/onboarding/phase-5-summary.js +0 -153
  414. package/dist/onboarding/phase-5-summary.js.map +0 -1
  415. package/dist/onboarding/phase-6-security.d.ts +0 -33
  416. package/dist/onboarding/phase-6-security.d.ts.map +0 -1
  417. package/dist/onboarding/phase-6-security.js +0 -473
  418. package/dist/onboarding/phase-6-security.js.map +0 -1
  419. package/dist/onboarding/phase-7-integrations.d.ts +0 -91
  420. package/dist/onboarding/phase-7-integrations.d.ts.map +0 -1
  421. package/dist/onboarding/phase-7-integrations.js +0 -725
  422. package/dist/onboarding/phase-7-integrations.js.map +0 -1
  423. package/dist/onboarding/phase-8-demo.d.ts +0 -43
  424. package/dist/onboarding/phase-8-demo.d.ts.map +0 -1
  425. package/dist/onboarding/phase-8-demo.js +0 -346
  426. package/dist/onboarding/phase-8-demo.js.map +0 -1
  427. package/dist/onboarding/phase-9-finalization.d.ts +0 -27
  428. package/dist/onboarding/phase-9-finalization.d.ts.map +0 -1
  429. package/dist/onboarding/phase-9-finalization.js +0 -417
  430. package/dist/onboarding/phase-9-finalization.js.map +0 -1
  431. package/dist/onboarding/ritual-prompt.d.ts +0 -2
  432. package/dist/onboarding/ritual-prompt.d.ts.map +0 -1
  433. package/dist/onboarding/ritual-prompt.js +0 -285
  434. package/dist/onboarding/ritual-prompt.js.map +0 -1
  435. package/dist/onboarding/ritual-tools.d.ts +0 -17
  436. package/dist/onboarding/ritual-tools.d.ts.map +0 -1
  437. package/dist/onboarding/ritual-tools.js +0 -93
  438. package/dist/onboarding/ritual-tools.js.map +0 -1
  439. package/dist/setup/setup-tools.d.ts +0 -13
  440. package/dist/setup/setup-tools.d.ts.map +0 -1
  441. package/dist/setup/setup-tools.js +0 -106
  442. package/dist/setup/setup-tools.js.map +0 -1
  443. package/dist/utils/slack-input-validator.d.ts +0 -74
  444. package/dist/utils/slack-input-validator.d.ts.map +0 -1
  445. package/dist/utils/slack-input-validator.js +0 -275
  446. package/dist/utils/slack-input-validator.js.map +0 -1
  447. package/dist/utils/slack-rate-limiter.d.ts +0 -139
  448. package/dist/utils/slack-rate-limiter.d.ts.map +0 -1
  449. package/dist/utils/slack-rate-limiter.js +0 -324
  450. package/dist/utils/slack-rate-limiter.js.map +0 -1
  451. package/dist/wiki/wiki-compiler.d.ts +0 -13
  452. package/dist/wiki/wiki-compiler.d.ts.map +0 -1
  453. package/dist/wiki/wiki-compiler.js +0 -82
  454. package/dist/wiki/wiki-compiler.js.map +0 -1
@@ -1,324 +0,0 @@
1
- "use strict";
2
- /**
3
- * Slack API Rate Limiter
4
- *
5
- * Implements rate limiting and request queuing for Slack Web API calls
6
- * to prevent hitting API limits and ensure reliable operation.
7
- *
8
- * Slack API Limits:
9
- * - Tier 1: 1+ request per second per workspace
10
- * - Tier 2: 20+ requests per minute per workspace
11
- * - Tier 3: 50+ requests per minute per workspace
12
- * - Tier 4: 100+ requests per minute per workspace
13
- *
14
- * Reference: https://api.slack.com/docs/rate-limits
15
- */
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SlackRateLimiter = void 0;
18
- const log_sanitizer_js_1 = require("./log-sanitizer.js");
19
- const DEFAULT_CONFIG = {
20
- maxRequestsPerMinute: 50,
21
- minIntervalMs: 1000,
22
- maxQueueSize: 100,
23
- requestTimeoutMs: 30000,
24
- enableRetry: true,
25
- maxRetries: 3,
26
- retryDelayMs: 2000,
27
- };
28
- /**
29
- * Slack API Rate Limiter with request queuing and retry logic
30
- */
31
- class SlackRateLimiter {
32
- config;
33
- logger = (0, log_sanitizer_js_1.createSafeLogger)('SlackRateLimiter');
34
- /** Queue of pending requests */
35
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
- requestQueue = [];
37
- /** Whether the limiter is currently processing requests */
38
- processing = false;
39
- /** Timestamps of recent requests for rate tracking */
40
- requestHistory = [];
41
- /** Last API call timestamp */
42
- lastRequestTime = 0;
43
- /** Statistics tracking */
44
- stats = {
45
- totalRequests: 0,
46
- queuedRequests: 0,
47
- rateLimitHits: 0,
48
- failedRequests: 0,
49
- averageResponseTime: 0,
50
- lastRequestTime: 0,
51
- };
52
- /** Response time tracking for averages */
53
- responseTimes = [];
54
- constructor(config = {}) {
55
- this.config = { ...DEFAULT_CONFIG, ...config };
56
- }
57
- /**
58
- * Queue an API request for rate-limited execution
59
- */
60
- async queueRequest(apiCall) {
61
- return new Promise((resolve, reject) => {
62
- const requestId = this.generateRequestId();
63
- // Check queue size limit
64
- if (this.requestQueue.length >= this.config.maxQueueSize) {
65
- const error = new Error(`Request queue full (${this.config.maxQueueSize} requests). Try again later.`);
66
- this.logger.warn('Request queue full, rejecting new request');
67
- reject(error);
68
- return;
69
- }
70
- // Create queued request
71
- const queuedRequest = {
72
- id: requestId,
73
- apiCall,
74
- resolve,
75
- reject,
76
- queuedAt: Date.now(),
77
- attempts: 0,
78
- };
79
- // Add timeout
80
- queuedRequest.timeoutHandle = setTimeout(() => {
81
- this.removeFromQueue(requestId);
82
- const error = new Error(`Request ${requestId} timed out after ${this.config.requestTimeoutMs}ms`);
83
- reject(error);
84
- }, this.config.requestTimeoutMs);
85
- // Add to queue
86
- this.requestQueue.push(queuedRequest);
87
- this.stats.queuedRequests = this.requestQueue.length;
88
- this.logger.log(`Queued request ${requestId} (queue size: ${this.requestQueue.length})`);
89
- // Start processing if not already running
90
- if (!this.processing) {
91
- this.startProcessing();
92
- }
93
- });
94
- }
95
- /**
96
- * Start processing the request queue
97
- */
98
- async startProcessing() {
99
- if (this.processing)
100
- return;
101
- this.processing = true;
102
- this.logger.log('Started request queue processing');
103
- while (this.requestQueue.length > 0) {
104
- const request = this.requestQueue.shift();
105
- if (!request)
106
- break;
107
- try {
108
- await this.processRequest(request);
109
- }
110
- catch (error) {
111
- this.logger.error(`Failed to process request ${request.id}:`, error);
112
- }
113
- this.stats.queuedRequests = this.requestQueue.length;
114
- }
115
- this.processing = false;
116
- this.logger.log('Finished request queue processing');
117
- }
118
- /**
119
- * Process a single request with rate limiting
120
- */
121
- async processRequest(request) {
122
- // Clean up timeout
123
- if (request.timeoutHandle) {
124
- clearTimeout(request.timeoutHandle);
125
- delete request.timeoutHandle;
126
- }
127
- // Check if we need to wait before making the request
128
- await this.waitForRateLimit();
129
- request.attempts++;
130
- const startTime = Date.now();
131
- try {
132
- this.logger.log(`Processing request ${request.id} (attempt ${request.attempts})`);
133
- // Execute the API call
134
- const result = await request.apiCall();
135
- // Update statistics
136
- const responseTime = Date.now() - startTime;
137
- this.updateStats(responseTime, true);
138
- this.logger.log(`Request ${request.id} completed in ${responseTime}ms`);
139
- request.resolve(result);
140
- }
141
- catch (error) {
142
- const responseTime = Date.now() - startTime;
143
- // Check if it's a rate limit error
144
- if (this.isRateLimitError(error)) {
145
- this.stats.rateLimitHits++;
146
- this.logger.warn(`Rate limit hit for request ${request.id}`);
147
- // Retry if enabled and under limit — defer stats until final attempt
148
- if (this.config.enableRetry && request.attempts < this.config.maxRetries) {
149
- const retryDelay = this.calculateRetryDelay(request.attempts);
150
- this.logger.log(`Retrying request ${request.id} in ${retryDelay}ms`);
151
- // Store retry timeout handle for cancellation in reset()
152
- request.retryTimeoutHandle = setTimeout(() => {
153
- // Clear retry timeout handle before re-queueing
154
- delete request.retryTimeoutHandle;
155
- // Re-attach timeout for retry (same timeout as original request)
156
- request.timeoutHandle = setTimeout(() => {
157
- this.removeFromQueue(request.id);
158
- const error = new Error(`Request timeout after ${this.config.requestTimeoutMs}ms (retry attempt)`);
159
- request.reject(error);
160
- }, this.config.requestTimeoutMs);
161
- this.requestQueue.unshift(request); // Put back at front of queue
162
- this.startProcessing();
163
- }, retryDelay);
164
- return;
165
- }
166
- }
167
- // Only record failure stats for final failures (not retryable intermediate errors)
168
- this.updateStats(responseTime, false);
169
- this.logger.error(`Request ${request.id} failed after ${request.attempts} attempts:`, error);
170
- request.reject(error);
171
- }
172
- }
173
- /**
174
- * Wait if necessary to respect rate limits
175
- */
176
- async waitForRateLimit() {
177
- let now = Date.now();
178
- // Clean old request history (older than 1 minute)
179
- this.requestHistory = this.requestHistory.filter((time) => now - time < 60000);
180
- // Check requests per minute limit
181
- if (this.requestHistory.length >= this.config.maxRequestsPerMinute) {
182
- const oldestRequest = Math.min(...this.requestHistory);
183
- const waitTime = 60000 - (now - oldestRequest);
184
- if (waitTime > 0) {
185
- this.logger.log(`Rate limit reached, waiting ${waitTime}ms`);
186
- await this.sleep(waitTime);
187
- now = Date.now(); // Refresh timestamp after sleep
188
- }
189
- }
190
- // Check minimum interval between requests
191
- const timeSinceLastRequest = now - this.lastRequestTime;
192
- if (timeSinceLastRequest < this.config.minIntervalMs) {
193
- const waitTime = this.config.minIntervalMs - timeSinceLastRequest;
194
- this.logger.log(`Minimum interval not met, waiting ${waitTime}ms`);
195
- await this.sleep(waitTime);
196
- now = Date.now(); // Refresh timestamp after sleep
197
- }
198
- // Record this request (now reflects actual time after any waits)
199
- this.lastRequestTime = now;
200
- this.requestHistory.push(now);
201
- this.stats.lastRequestTime = now;
202
- }
203
- /**
204
- * Check if an error is a rate limit error with strict type validation
205
- */
206
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
207
- isRateLimitError(error) {
208
- // Ensure error is an object before checking properties
209
- if (!error || typeof error !== 'object') {
210
- return false;
211
- }
212
- // Slack API returns 429 status for rate limits
213
- if (typeof error.status === 'number' && error.status === 429) {
214
- return true;
215
- }
216
- // Check for Slack-specific rate limit error codes
217
- if (typeof error.code === 'string' && error.code === 'rate_limited') {
218
- return true;
219
- }
220
- // Check error message with type safety
221
- if (typeof error.message === 'string' && error.message.toLowerCase().includes('rate limit')) {
222
- return true;
223
- }
224
- return false;
225
- }
226
- /**
227
- * Calculate retry delay with exponential backoff
228
- */
229
- calculateRetryDelay(attempt) {
230
- const baseDelay = this.config.retryDelayMs;
231
- const exponentialDelay = baseDelay * Math.pow(2, attempt - 1);
232
- const jitter = Math.random() * 1000; // Add 0-1000ms jitter
233
- return Math.min(exponentialDelay + jitter, 30000); // Max 30s delay
234
- }
235
- /**
236
- * Update statistics tracking
237
- */
238
- updateStats(responseTime, success) {
239
- this.stats.totalRequests++;
240
- if (!success) {
241
- this.stats.failedRequests++;
242
- }
243
- // Track response times for average
244
- this.responseTimes.push(responseTime);
245
- if (this.responseTimes.length > 100) {
246
- this.responseTimes.shift(); // Keep only last 100
247
- }
248
- this.stats.averageResponseTime =
249
- this.responseTimes.reduce((sum, time) => sum + time, 0) / this.responseTimes.length;
250
- }
251
- /**
252
- * Remove a request from the queue by ID
253
- */
254
- removeFromQueue(requestId) {
255
- const index = this.requestQueue.findIndex((req) => req.id === requestId);
256
- if (index !== -1) {
257
- const request = this.requestQueue.splice(index, 1)[0];
258
- if (request.timeoutHandle) {
259
- clearTimeout(request.timeoutHandle);
260
- }
261
- this.stats.queuedRequests = this.requestQueue.length;
262
- }
263
- }
264
- /**
265
- * Generate a unique request ID
266
- */
267
- generateRequestId() {
268
- return `req_${Date.now()}_${Math.random().toString(36).substring(2, 8)}`;
269
- }
270
- /**
271
- * Sleep for the specified number of milliseconds
272
- */
273
- sleep(ms) {
274
- return new Promise((resolve) => setTimeout(resolve, ms));
275
- }
276
- /**
277
- * Get current rate limiter statistics
278
- */
279
- getStats() {
280
- return { ...this.stats };
281
- }
282
- /**
283
- * Clear the request queue and reset statistics
284
- */
285
- reset() {
286
- // Reject all queued requests and cancel all timers
287
- for (const request of this.requestQueue) {
288
- if (request.timeoutHandle) {
289
- clearTimeout(request.timeoutHandle);
290
- }
291
- if (request.retryTimeoutHandle) {
292
- clearTimeout(request.retryTimeoutHandle);
293
- }
294
- request.reject(new Error('Rate limiter reset'));
295
- }
296
- this.requestQueue = [];
297
- this.requestHistory = [];
298
- this.responseTimes = [];
299
- this.processing = false;
300
- this.stats = {
301
- totalRequests: 0,
302
- queuedRequests: 0,
303
- rateLimitHits: 0,
304
- failedRequests: 0,
305
- averageResponseTime: 0,
306
- lastRequestTime: 0,
307
- };
308
- this.logger.log('Rate limiter reset');
309
- }
310
- /**
311
- * Get current queue size
312
- */
313
- getQueueSize() {
314
- return this.requestQueue.length;
315
- }
316
- /**
317
- * Check if the limiter is currently processing requests
318
- */
319
- isProcessing() {
320
- return this.processing;
321
- }
322
- }
323
- exports.SlackRateLimiter = SlackRateLimiter;
324
- //# sourceMappingURL=slack-rate-limiter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slack-rate-limiter.js","sourceRoot":"","sources":["../../src/utils/slack-rate-limiter.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { CompilationResult } from './types.js';
2
- export interface DecisionForCompilation {
3
- id: string;
4
- topic: string;
5
- decision: string;
6
- reasoning?: string | null;
7
- status: string;
8
- confidence: number | null;
9
- updated_at: string;
10
- }
11
- export declare function buildCompilationPrompt(project: string, decisions: DecisionForCompilation[], existingPages?: string[]): string;
12
- export declare function parseCompilationResponse(response: string, sourceIds: string[]): CompilationResult;
13
- //# sourceMappingURL=wiki-compiler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wiki-compiler.d.ts","sourceRoot":"","sources":["../../src/wiki/wiki-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG9D,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,sBAAsB,EAAE,EACnC,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,MAAM,CAiDR;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,iBAAiB,CA2CjG"}
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildCompilationPrompt = buildCompilationPrompt;
4
- exports.parseCompilationResponse = parseCompilationResponse;
5
- const types_js_1 = require("./types.js");
6
- function buildCompilationPrompt(project, decisions, existingPages) {
7
- if (decisions.length === 0) {
8
- return `Project "${project}" has no decisions to compile. Respond with: {"pages": []}`;
9
- }
10
- const decisionLines = decisions
11
- .map((d, i) => `${i + 1}. [${d.status}] ${d.topic}: ${d.decision}` +
12
- (d.reasoning ? ` (reason: ${d.reasoning})` : '') +
13
- ` — confidence: ${d.confidence ?? 'N/A'}, updated: ${d.updated_at}`)
14
- .join('\n');
15
- const existingPagesSection = existingPages && existingPages.length > 0
16
- ? `\n## Existing Wiki Pages (MUST reuse these exact paths)\n${existingPages.map(p => `- ${p}`).join('\n')}\n`
17
- : '';
18
- return `You are a knowledge compiler. Given a project's decisions from a memory database, compile them into wiki pages for human reading in Obsidian.
19
-
20
- ## Project: ${project}
21
- ${existingPagesSection}
22
- ## Decisions (${decisions.length} total)
23
- ${decisionLines}
24
-
25
- ## Output Format
26
- Respond with a JSON object containing a "pages" array. Each page:
27
- - "path": relative path (e.g. "projects/${project}.md")
28
- - "title": page title
29
- - "type": one of "entity", "lesson", "synthesis", "process"
30
- - "content": markdown body ONLY — NO frontmatter (no "---" blocks), NO "# Title" heading (system adds both)
31
- - "confidence": "high", "medium", or "low"
32
-
33
- ## CRITICAL RULES
34
- 1. **NO frontmatter in content** — Do NOT include "---" YAML blocks. System adds frontmatter automatically.
35
- 2. **NO title heading in content** — Do NOT start content with "# Title". System adds it automatically.
36
- 3. **Reuse existing paths** — If a page already exists (listed above), use its EXACT path. Do NOT create a new file with a different name for the same entity.
37
- 4. **Wikilinks must match existing files** — Use [[path]] where path matches an existing page path (without .md).
38
- 5. Content starts directly with "## Summary" or "## Overview" section.
39
-
40
- ## Compilation Rules
41
- 1. Create ONE entity page for the project with current status, timeline, and key decisions
42
- 2. If you find lessons or patterns, create separate lesson pages
43
- 3. Use [[wikilinks]] to reference other potential pages
44
- 4. Write in the same language as the decisions (Korean/Japanese/English mix OK)
45
- 5. Synthesize, don't list — the goal is human understanding, not data dump
46
- 6. Include a "## Timeline" section with key events in reverse chronological order
47
-
48
- Respond ONLY with the JSON object. No explanation.`;
49
- }
50
- function parseCompilationResponse(response, sourceIds) {
51
- const now = new Date().toISOString();
52
- let cleaned = response.trim();
53
- if (cleaned.startsWith('```')) {
54
- cleaned = cleaned.replace(/^```(?:json)?\n?/, '').replace(/\n?```$/, '');
55
- }
56
- try {
57
- const parsed = JSON.parse(cleaned);
58
- if (!parsed.pages || !Array.isArray(parsed.pages)) {
59
- return { pages: [], indexUpdated: false, logEntry: 'No pages in response' };
60
- }
61
- const pages = parsed.pages
62
- .filter((p) => p.path && p.title && p.content)
63
- .map((p) => ({
64
- path: p.path,
65
- title: p.title,
66
- type: (0, types_js_1.isValidPageType)(p.type) ? p.type : 'entity',
67
- content: p.content,
68
- sourceIds,
69
- compiledAt: now,
70
- confidence: p.confidence || 'medium',
71
- }));
72
- return {
73
- pages,
74
- indexUpdated: pages.length > 0,
75
- logEntry: `Compiled ${pages.length} pages`,
76
- };
77
- }
78
- catch {
79
- return { pages: [], indexUpdated: false, logEntry: 'Failed to parse LLM response' };
80
- }
81
- }
82
- //# sourceMappingURL=wiki-compiler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wiki-compiler.js","sourceRoot":"","sources":["../../src/wiki/wiki-compiler.ts"],"names":[],"mappings":"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"}