@jungjaehoon/mama-os 0.28.6 → 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 (448) 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 +33 -10
  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/api-routes-init.d.ts.map +1 -1
  82. package/dist/cli/runtime/api-routes-init.js +32 -5
  83. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  84. package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
  85. package/dist/cli/runtime/api-server-init.js +2 -0
  86. package/dist/cli/runtime/api-server-init.js.map +1 -1
  87. package/dist/cli/runtime/gateway-init.d.ts +1 -1
  88. package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
  89. package/dist/cli/runtime/gateway-init.js +11 -38
  90. package/dist/cli/runtime/gateway-init.js.map +1 -1
  91. package/dist/cli/runtime/gateway-wiring.d.ts.map +1 -1
  92. package/dist/cli/runtime/gateway-wiring.js +6 -120
  93. package/dist/cli/runtime/gateway-wiring.js.map +1 -1
  94. package/dist/cli/utils/pid-manager.d.ts +0 -10
  95. package/dist/cli/utils/pid-manager.d.ts.map +1 -1
  96. package/dist/cli/utils/pid-manager.js +0 -26
  97. package/dist/cli/utils/pid-manager.js.map +1 -1
  98. package/dist/connectors/framework/polling-scheduler.d.ts +33 -1
  99. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  100. package/dist/connectors/framework/polling-scheduler.js +46 -40
  101. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  102. package/dist/connectors/trello/query-tools.d.ts +32 -5
  103. package/dist/connectors/trello/query-tools.d.ts.map +1 -1
  104. package/dist/connectors/trello/query-tools.js +56 -17
  105. package/dist/connectors/trello/query-tools.js.map +1 -1
  106. package/dist/db/agent-store.d.ts +0 -4
  107. package/dist/db/agent-store.d.ts.map +1 -1
  108. package/dist/db/agent-store.js +0 -65
  109. package/dist/db/agent-store.js.map +1 -1
  110. package/dist/envelope/enforcer.d.ts.map +1 -1
  111. package/dist/envelope/enforcer.js +10 -1
  112. package/dist/envelope/enforcer.js.map +1 -1
  113. package/dist/envelope/index.d.ts +0 -1
  114. package/dist/envelope/index.d.ts.map +1 -1
  115. package/dist/envelope/index.js +0 -1
  116. package/dist/envelope/index.js.map +1 -1
  117. package/dist/envelope/signature.d.ts +0 -1
  118. package/dist/envelope/signature.d.ts.map +1 -1
  119. package/dist/envelope/signature.js +0 -7
  120. package/dist/envelope/signature.js.map +1 -1
  121. package/dist/envelope/tool-connector-scope.d.ts +35 -0
  122. package/dist/envelope/tool-connector-scope.d.ts.map +1 -0
  123. package/dist/envelope/tool-connector-scope.js +57 -0
  124. package/dist/envelope/tool-connector-scope.js.map +1 -0
  125. package/dist/evidence/effects.d.ts +107 -0
  126. package/dist/evidence/effects.d.ts.map +1 -0
  127. package/dist/evidence/effects.js +281 -0
  128. package/dist/evidence/effects.js.map +1 -0
  129. package/dist/evidence/read.d.ts +75 -0
  130. package/dist/evidence/read.d.ts.map +1 -0
  131. package/dist/evidence/read.js +105 -0
  132. package/dist/evidence/read.js.map +1 -0
  133. package/dist/gateways/base-gateway.d.ts +23 -3
  134. package/dist/gateways/base-gateway.d.ts.map +1 -1
  135. package/dist/gateways/base-gateway.js +15 -2
  136. package/dist/gateways/base-gateway.js.map +1 -1
  137. package/dist/gateways/discord.d.ts +4 -16
  138. package/dist/gateways/discord.d.ts.map +1 -1
  139. package/dist/gateways/discord.js +22 -189
  140. package/dist/gateways/discord.js.map +1 -1
  141. package/dist/gateways/index.d.ts +2 -1
  142. package/dist/gateways/index.d.ts.map +1 -1
  143. package/dist/gateways/message-router.d.ts +13 -20
  144. package/dist/gateways/message-router.d.ts.map +1 -1
  145. package/dist/gateways/message-router.js +32 -3
  146. package/dist/gateways/message-router.js.map +1 -1
  147. package/dist/gateways/slack.d.ts +2 -12
  148. package/dist/gateways/slack.d.ts.map +1 -1
  149. package/dist/gateways/slack.js +6 -220
  150. package/dist/gateways/slack.js.map +1 -1
  151. package/dist/gateways/telegram.d.ts +2 -2
  152. package/dist/gateways/telegram.d.ts.map +1 -1
  153. package/dist/gateways/telegram.js +3 -2
  154. package/dist/gateways/telegram.js.map +1 -1
  155. package/dist/gateways/turn-contract.d.ts +104 -0
  156. package/dist/gateways/turn-contract.d.ts.map +1 -0
  157. package/dist/{memory/consult-contract.js → gateways/turn-contract.js} +1 -1
  158. package/dist/gateways/turn-contract.js.map +1 -0
  159. package/dist/memory/provenance-live.d.ts +111 -0
  160. package/dist/memory/provenance-live.d.ts.map +1 -0
  161. package/dist/memory/provenance-live.js +381 -0
  162. package/dist/memory/provenance-live.js.map +1 -0
  163. package/dist/memory/provenance-resolver.d.ts +184 -0
  164. package/dist/memory/provenance-resolver.d.ts.map +1 -0
  165. package/dist/memory/provenance-resolver.js +152 -0
  166. package/dist/memory/provenance-resolver.js.map +1 -0
  167. package/dist/multi-agent/agent-event-bus.d.ts +1 -0
  168. package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
  169. package/dist/multi-agent/bmad-templates.d.ts +0 -18
  170. package/dist/multi-agent/bmad-templates.d.ts.map +1 -1
  171. package/dist/multi-agent/bmad-templates.js +0 -127
  172. package/dist/multi-agent/bmad-templates.js.map +1 -1
  173. package/dist/multi-agent/dashboard-agent-persona.js +3 -3
  174. package/dist/operator/board-reconcile.d.ts +2 -3
  175. package/dist/operator/board-reconcile.d.ts.map +1 -1
  176. package/dist/operator/board-reconcile.js +18 -32
  177. package/dist/operator/board-reconcile.js.map +1 -1
  178. package/dist/operator/changes-projection.d.ts +70 -0
  179. package/dist/operator/changes-projection.d.ts.map +1 -0
  180. package/dist/operator/changes-projection.js +109 -0
  181. package/dist/operator/changes-projection.js.map +1 -0
  182. package/dist/operator/external-correlation.d.ts +94 -0
  183. package/dist/operator/external-correlation.d.ts.map +1 -0
  184. package/dist/operator/external-correlation.js +177 -0
  185. package/dist/operator/external-correlation.js.map +1 -0
  186. package/dist/operator/operator-trigger-loop.d.ts +9 -1
  187. package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
  188. package/dist/operator/operator-trigger-loop.js +8 -4
  189. package/dist/operator/operator-trigger-loop.js.map +1 -1
  190. package/dist/operator/provenance-lookup.d.ts +18 -0
  191. package/dist/operator/provenance-lookup.d.ts.map +1 -0
  192. package/dist/operator/provenance-lookup.js +54 -0
  193. package/dist/operator/provenance-lookup.js.map +1 -0
  194. package/dist/operator/report-carry.d.ts +18 -1
  195. package/dist/operator/report-carry.d.ts.map +1 -1
  196. package/dist/operator/report-carry.js +22 -3
  197. package/dist/operator/report-carry.js.map +1 -1
  198. package/dist/operator/report-run.d.ts +31 -0
  199. package/dist/operator/report-run.d.ts.map +1 -1
  200. package/dist/operator/report-run.js +140 -22
  201. package/dist/operator/report-run.js.map +1 -1
  202. package/dist/operator/task-ledger.d.ts +84 -2
  203. package/dist/operator/task-ledger.d.ts.map +1 -1
  204. package/dist/operator/task-ledger.js +274 -31
  205. package/dist/operator/task-ledger.js.map +1 -1
  206. package/dist/operator/worker-run.js +1 -1
  207. package/dist/operator/worker-run.js.map +1 -1
  208. package/dist/operator/workorder-hooks.d.ts +79 -4
  209. package/dist/operator/workorder-hooks.d.ts.map +1 -1
  210. package/dist/operator/workorder-hooks.js +152 -20
  211. package/dist/operator/workorder-hooks.js.map +1 -1
  212. package/dist/operator/workorder-publishers.d.ts +2 -0
  213. package/dist/operator/workorder-publishers.d.ts.map +1 -1
  214. package/dist/operator/workorder-publishers.js +8 -1
  215. package/dist/operator/workorder-publishers.js.map +1 -1
  216. package/dist/utils/untrusted-content.d.ts +11 -0
  217. package/dist/utils/untrusted-content.d.ts.map +1 -1
  218. package/dist/utils/untrusted-content.js +20 -0
  219. package/dist/utils/untrusted-content.js.map +1 -1
  220. package/package.json +4 -3
  221. package/scripts/backfill-channel-keys.ts +451 -0
  222. package/dist/agent/auto-recall.d.ts +0 -48
  223. package/dist/agent/auto-recall.d.ts.map +0 -1
  224. package/dist/agent/auto-recall.js +0 -192
  225. package/dist/agent/auto-recall.js.map +0 -1
  226. package/dist/agent/claude-client.d.ts +0 -50
  227. package/dist/agent/claude-client.d.ts.map +0 -1
  228. package/dist/agent/claude-client.js +0 -219
  229. package/dist/agent/claude-client.js.map +0 -1
  230. package/dist/agent/delegation-executor.d.ts +0 -49
  231. package/dist/agent/delegation-executor.d.ts.map +0 -1
  232. package/dist/agent/delegation-executor.js +0 -692
  233. package/dist/agent/delegation-executor.js.map +0 -1
  234. package/dist/agent/mcp-executor.d.ts +0 -60
  235. package/dist/agent/mcp-executor.d.ts.map +0 -1
  236. package/dist/agent/mcp-executor.js +0 -190
  237. package/dist/agent/mcp-executor.js.map +0 -1
  238. package/dist/agent/process-tree.d.ts +0 -6
  239. package/dist/agent/process-tree.d.ts.map +0 -1
  240. package/dist/agent/process-tree.js +0 -21
  241. package/dist/agent/process-tree.js.map +0 -1
  242. package/dist/agent/streaming-callback-manager.d.ts +0 -85
  243. package/dist/agent/streaming-callback-manager.d.ts.map +0 -1
  244. package/dist/agent/streaming-callback-manager.js +0 -103
  245. package/dist/agent/streaming-callback-manager.js.map +0 -1
  246. package/dist/agent/token-budget.d.ts +0 -49
  247. package/dist/agent/token-budget.d.ts.map +0 -1
  248. package/dist/agent/token-budget.js +0 -92
  249. package/dist/agent/token-budget.js.map +0 -1
  250. package/dist/connectors/kagemusha/history-compiler.d.ts +0 -18
  251. package/dist/connectors/kagemusha/history-compiler.d.ts.map +0 -1
  252. package/dist/connectors/kagemusha/history-compiler.js +0 -35
  253. package/dist/connectors/kagemusha/history-compiler.js.map +0 -1
  254. package/dist/db/migrations/wiki-artifacts.d.ts +0 -3
  255. package/dist/db/migrations/wiki-artifacts.d.ts.map +0 -1
  256. package/dist/db/migrations/wiki-artifacts.js +0 -24
  257. package/dist/db/migrations/wiki-artifacts.js.map +0 -1
  258. package/dist/envelope/subset.d.ts +0 -9
  259. package/dist/envelope/subset.d.ts.map +0 -1
  260. package/dist/envelope/subset.js +0 -67
  261. package/dist/envelope/subset.js.map +0 -1
  262. package/dist/memory/consult-contract.d.ts +0 -8
  263. package/dist/memory/consult-contract.d.ts.map +0 -1
  264. package/dist/memory/consult-contract.js.map +0 -1
  265. package/dist/multi-agent/agent-message-queue.d.ts +0 -104
  266. package/dist/multi-agent/agent-message-queue.d.ts.map +0 -1
  267. package/dist/multi-agent/agent-message-queue.js +0 -227
  268. package/dist/multi-agent/agent-message-queue.js.map +0 -1
  269. package/dist/multi-agent/background-task-manager.d.ts +0 -248
  270. package/dist/multi-agent/background-task-manager.d.ts.map +0 -1
  271. package/dist/multi-agent/background-task-manager.js +0 -415
  272. package/dist/multi-agent/background-task-manager.js.map +0 -1
  273. package/dist/multi-agent/category-router.d.ts +0 -56
  274. package/dist/multi-agent/category-router.d.ts.map +0 -1
  275. package/dist/multi-agent/category-router.js +0 -99
  276. package/dist/multi-agent/category-router.js.map +0 -1
  277. package/dist/multi-agent/council-engine.d.ts +0 -60
  278. package/dist/multi-agent/council-engine.d.ts.map +0 -1
  279. package/dist/multi-agent/council-engine.js +0 -284
  280. package/dist/multi-agent/council-engine.js.map +0 -1
  281. package/dist/multi-agent/delegation-format-validator.d.ts +0 -22
  282. package/dist/multi-agent/delegation-format-validator.d.ts.map +0 -1
  283. package/dist/multi-agent/delegation-format-validator.js +0 -31
  284. package/dist/multi-agent/delegation-format-validator.js.map +0 -1
  285. package/dist/multi-agent/delegation-manager.d.ts +0 -128
  286. package/dist/multi-agent/delegation-manager.d.ts.map +0 -1
  287. package/dist/multi-agent/delegation-manager.js +0 -276
  288. package/dist/multi-agent/delegation-manager.js.map +0 -1
  289. package/dist/multi-agent/i18n-messages.d.ts +0 -35
  290. package/dist/multi-agent/i18n-messages.d.ts.map +0 -1
  291. package/dist/multi-agent/i18n-messages.js +0 -54
  292. package/dist/multi-agent/i18n-messages.js.map +0 -1
  293. package/dist/multi-agent/index.d.ts +0 -31
  294. package/dist/multi-agent/index.d.ts.map +0 -1
  295. package/dist/multi-agent/index.js +0 -46
  296. package/dist/multi-agent/index.js.map +0 -1
  297. package/dist/multi-agent/multi-agent-base.d.ts +0 -223
  298. package/dist/multi-agent/multi-agent-base.d.ts.map +0 -1
  299. package/dist/multi-agent/multi-agent-base.js +0 -592
  300. package/dist/multi-agent/multi-agent-base.js.map +0 -1
  301. package/dist/multi-agent/multi-agent-discord.d.ts +0 -142
  302. package/dist/multi-agent/multi-agent-discord.d.ts.map +0 -1
  303. package/dist/multi-agent/multi-agent-discord.js +0 -1235
  304. package/dist/multi-agent/multi-agent-discord.js.map +0 -1
  305. package/dist/multi-agent/multi-agent-slack.d.ts +0 -146
  306. package/dist/multi-agent/multi-agent-slack.d.ts.map +0 -1
  307. package/dist/multi-agent/multi-agent-slack.js +0 -953
  308. package/dist/multi-agent/multi-agent-slack.js.map +0 -1
  309. package/dist/multi-agent/multi-bot-manager.d.ts +0 -119
  310. package/dist/multi-agent/multi-bot-manager.d.ts.map +0 -1
  311. package/dist/multi-agent/multi-bot-manager.js +0 -449
  312. package/dist/multi-agent/multi-bot-manager.js.map +0 -1
  313. package/dist/multi-agent/orchestrator.d.ts +0 -110
  314. package/dist/multi-agent/orchestrator.d.ts.map +0 -1
  315. package/dist/multi-agent/orchestrator.js +0 -436
  316. package/dist/multi-agent/orchestrator.js.map +0 -1
  317. package/dist/multi-agent/rate-limiter.d.ts +0 -76
  318. package/dist/multi-agent/rate-limiter.d.ts.map +0 -1
  319. package/dist/multi-agent/rate-limiter.js +0 -128
  320. package/dist/multi-agent/rate-limiter.js.map +0 -1
  321. package/dist/multi-agent/shared-context.d.ts +0 -127
  322. package/dist/multi-agent/shared-context.d.ts.map +0 -1
  323. package/dist/multi-agent/shared-context.js +0 -239
  324. package/dist/multi-agent/shared-context.js.map +0 -1
  325. package/dist/multi-agent/slack-config-validator.d.ts +0 -42
  326. package/dist/multi-agent/slack-config-validator.d.ts.map +0 -1
  327. package/dist/multi-agent/slack-config-validator.js +0 -194
  328. package/dist/multi-agent/slack-config-validator.js.map +0 -1
  329. package/dist/multi-agent/slack-multi-bot-manager.d.ts +0 -143
  330. package/dist/multi-agent/slack-multi-bot-manager.d.ts.map +0 -1
  331. package/dist/multi-agent/slack-multi-bot-manager.js +0 -413
  332. package/dist/multi-agent/slack-multi-bot-manager.js.map +0 -1
  333. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts +0 -98
  334. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts.map +0 -1
  335. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js +0 -225
  336. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js.map +0 -1
  337. package/dist/multi-agent/swarm/swarm-db.d.ts +0 -175
  338. package/dist/multi-agent/swarm/swarm-db.d.ts.map +0 -1
  339. package/dist/multi-agent/swarm/swarm-db.js +0 -313
  340. package/dist/multi-agent/swarm/swarm-db.js.map +0 -1
  341. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts +0 -116
  342. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts.map +0 -1
  343. package/dist/multi-agent/swarm/swarm-event-reporter.js +0 -243
  344. package/dist/multi-agent/swarm/swarm-event-reporter.js.map +0 -1
  345. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts +0 -57
  346. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts.map +0 -1
  347. package/dist/multi-agent/swarm/swarm-mama-adapter.js +0 -87
  348. package/dist/multi-agent/swarm/swarm-mama-adapter.js.map +0 -1
  349. package/dist/multi-agent/swarm/swarm-manager.d.ts +0 -122
  350. package/dist/multi-agent/swarm/swarm-manager.d.ts.map +0 -1
  351. package/dist/multi-agent/swarm/swarm-manager.js +0 -199
  352. package/dist/multi-agent/swarm/swarm-manager.js.map +0 -1
  353. package/dist/multi-agent/swarm/swarm-task-learner.d.ts +0 -104
  354. package/dist/multi-agent/swarm/swarm-task-learner.d.ts.map +0 -1
  355. package/dist/multi-agent/swarm/swarm-task-learner.js +0 -211
  356. package/dist/multi-agent/swarm/swarm-task-learner.js.map +0 -1
  357. package/dist/multi-agent/swarm/swarm-task-runner.d.ts +0 -155
  358. package/dist/multi-agent/swarm/swarm-task-runner.d.ts.map +0 -1
  359. package/dist/multi-agent/swarm/swarm-task-runner.js +0 -615
  360. package/dist/multi-agent/swarm/swarm-task-runner.js.map +0 -1
  361. package/dist/multi-agent/swarm/wave-engine.d.ts +0 -96
  362. package/dist/multi-agent/swarm/wave-engine.d.ts.map +0 -1
  363. package/dist/multi-agent/swarm/wave-engine.js +0 -123
  364. package/dist/multi-agent/swarm/wave-engine.js.map +0 -1
  365. package/dist/multi-agent/system-reminder.d.ts +0 -206
  366. package/dist/multi-agent/system-reminder.d.ts.map +0 -1
  367. package/dist/multi-agent/system-reminder.js +0 -455
  368. package/dist/multi-agent/system-reminder.js.map +0 -1
  369. package/dist/multi-agent/task-continuation.d.ts +0 -74
  370. package/dist/multi-agent/task-continuation.d.ts.map +0 -1
  371. package/dist/multi-agent/task-continuation.js +0 -172
  372. package/dist/multi-agent/task-continuation.js.map +0 -1
  373. package/dist/multi-agent/ultrawork-state.d.ts +0 -57
  374. package/dist/multi-agent/ultrawork-state.d.ts.map +0 -1
  375. package/dist/multi-agent/ultrawork-state.js +0 -191
  376. package/dist/multi-agent/ultrawork-state.js.map +0 -1
  377. package/dist/multi-agent/ultrawork.d.ts +0 -152
  378. package/dist/multi-agent/ultrawork.d.ts.map +0 -1
  379. package/dist/multi-agent/ultrawork.js +0 -879
  380. package/dist/multi-agent/ultrawork.js.map +0 -1
  381. package/dist/multi-agent/work-tracker.d.ts +0 -22
  382. package/dist/multi-agent/work-tracker.d.ts.map +0 -1
  383. package/dist/multi-agent/work-tracker.js +0 -45
  384. package/dist/multi-agent/work-tracker.js.map +0 -1
  385. package/dist/multi-agent/workflow-engine.d.ts +0 -87
  386. package/dist/multi-agent/workflow-engine.d.ts.map +0 -1
  387. package/dist/multi-agent/workflow-engine.js +0 -604
  388. package/dist/multi-agent/workflow-engine.js.map +0 -1
  389. package/dist/onboarding/all-tools.d.ts +0 -18
  390. package/dist/onboarding/all-tools.d.ts.map +0 -1
  391. package/dist/onboarding/all-tools.js +0 -149
  392. package/dist/onboarding/all-tools.js.map +0 -1
  393. package/dist/onboarding/autonomous-discovery-tools.d.ts +0 -23
  394. package/dist/onboarding/autonomous-discovery-tools.d.ts.map +0 -1
  395. package/dist/onboarding/autonomous-discovery-tools.js +0 -268
  396. package/dist/onboarding/autonomous-discovery-tools.js.map +0 -1
  397. package/dist/onboarding/onboarding-state.d.ts +0 -70
  398. package/dist/onboarding/onboarding-state.d.ts.map +0 -1
  399. package/dist/onboarding/onboarding-state.js +0 -183
  400. package/dist/onboarding/onboarding-state.js.map +0 -1
  401. package/dist/onboarding/personality-quiz.d.ts +0 -35
  402. package/dist/onboarding/personality-quiz.d.ts.map +0 -1
  403. package/dist/onboarding/personality-quiz.js +0 -219
  404. package/dist/onboarding/personality-quiz.js.map +0 -1
  405. package/dist/onboarding/phase-5-summary.d.ts +0 -26
  406. package/dist/onboarding/phase-5-summary.d.ts.map +0 -1
  407. package/dist/onboarding/phase-5-summary.js +0 -153
  408. package/dist/onboarding/phase-5-summary.js.map +0 -1
  409. package/dist/onboarding/phase-6-security.d.ts +0 -33
  410. package/dist/onboarding/phase-6-security.d.ts.map +0 -1
  411. package/dist/onboarding/phase-6-security.js +0 -473
  412. package/dist/onboarding/phase-6-security.js.map +0 -1
  413. package/dist/onboarding/phase-7-integrations.d.ts +0 -91
  414. package/dist/onboarding/phase-7-integrations.d.ts.map +0 -1
  415. package/dist/onboarding/phase-7-integrations.js +0 -725
  416. package/dist/onboarding/phase-7-integrations.js.map +0 -1
  417. package/dist/onboarding/phase-8-demo.d.ts +0 -43
  418. package/dist/onboarding/phase-8-demo.d.ts.map +0 -1
  419. package/dist/onboarding/phase-8-demo.js +0 -346
  420. package/dist/onboarding/phase-8-demo.js.map +0 -1
  421. package/dist/onboarding/phase-9-finalization.d.ts +0 -27
  422. package/dist/onboarding/phase-9-finalization.d.ts.map +0 -1
  423. package/dist/onboarding/phase-9-finalization.js +0 -417
  424. package/dist/onboarding/phase-9-finalization.js.map +0 -1
  425. package/dist/onboarding/ritual-prompt.d.ts +0 -2
  426. package/dist/onboarding/ritual-prompt.d.ts.map +0 -1
  427. package/dist/onboarding/ritual-prompt.js +0 -285
  428. package/dist/onboarding/ritual-prompt.js.map +0 -1
  429. package/dist/onboarding/ritual-tools.d.ts +0 -17
  430. package/dist/onboarding/ritual-tools.d.ts.map +0 -1
  431. package/dist/onboarding/ritual-tools.js +0 -93
  432. package/dist/onboarding/ritual-tools.js.map +0 -1
  433. package/dist/setup/setup-tools.d.ts +0 -13
  434. package/dist/setup/setup-tools.d.ts.map +0 -1
  435. package/dist/setup/setup-tools.js +0 -106
  436. package/dist/setup/setup-tools.js.map +0 -1
  437. package/dist/utils/slack-input-validator.d.ts +0 -74
  438. package/dist/utils/slack-input-validator.d.ts.map +0 -1
  439. package/dist/utils/slack-input-validator.js +0 -275
  440. package/dist/utils/slack-input-validator.js.map +0 -1
  441. package/dist/utils/slack-rate-limiter.d.ts +0 -139
  442. package/dist/utils/slack-rate-limiter.d.ts.map +0 -1
  443. package/dist/utils/slack-rate-limiter.js +0 -324
  444. package/dist/utils/slack-rate-limiter.js.map +0 -1
  445. package/dist/wiki/wiki-compiler.d.ts +0 -13
  446. package/dist/wiki/wiki-compiler.d.ts.map +0 -1
  447. package/dist/wiki/wiki-compiler.js +0 -82
  448. 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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"}