nduka 1.0.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 (1011) hide show
  1. package/README.md +157 -0
  2. package/config/agent-tools.settings.json +70 -0
  3. package/config/chatbot.config.json +113 -0
  4. package/config/chatbot.config.schema.json +54 -0
  5. package/config/connectors.chatbot.json +5 -0
  6. package/config/llm.settings.json +416 -0
  7. package/config/prompts.chatbot.json +13 -0
  8. package/config/secure-tool-identities.example.json +21 -0
  9. package/config/secure-tool-identities.json +13 -0
  10. package/config/secure-tools.chatbot.json +82 -0
  11. package/config/secure-tools.example.json +200 -0
  12. package/config/test.env +2 -0
  13. package/config/tools.chatbot.json +318 -0
  14. package/dist/acceptance/index.d.ts +3 -0
  15. package/dist/acceptance/index.d.ts.map +1 -0
  16. package/dist/acceptance/index.js +2 -0
  17. package/dist/acceptance/index.js.map +1 -0
  18. package/dist/acceptance/runner.d.ts +57 -0
  19. package/dist/acceptance/runner.d.ts.map +1 -0
  20. package/dist/acceptance/runner.js +222 -0
  21. package/dist/acceptance/runner.js.map +1 -0
  22. package/dist/agent-runtime/engine.d.ts +73 -0
  23. package/dist/agent-runtime/engine.d.ts.map +1 -0
  24. package/dist/agent-runtime/engine.js +169 -0
  25. package/dist/agent-runtime/engine.js.map +1 -0
  26. package/dist/agent-runtime/index.d.ts +3 -0
  27. package/dist/agent-runtime/index.d.ts.map +1 -0
  28. package/dist/agent-runtime/index.js +2 -0
  29. package/dist/agent-runtime/index.js.map +1 -0
  30. package/dist/agent-tools/agent-tool-router.d.ts +44 -0
  31. package/dist/agent-tools/agent-tool-router.d.ts.map +1 -0
  32. package/dist/agent-tools/agent-tool-router.js +196 -0
  33. package/dist/agent-tools/agent-tool-router.js.map +1 -0
  34. package/dist/agent-tools/async-tool-bridge.d.ts +31 -0
  35. package/dist/agent-tools/async-tool-bridge.d.ts.map +1 -0
  36. package/dist/agent-tools/async-tool-bridge.js +65 -0
  37. package/dist/agent-tools/async-tool-bridge.js.map +1 -0
  38. package/dist/agent-tools/async-tool-processor.d.ts +19 -0
  39. package/dist/agent-tools/async-tool-processor.d.ts.map +1 -0
  40. package/dist/agent-tools/async-tool-processor.js +81 -0
  41. package/dist/agent-tools/async-tool-processor.js.map +1 -0
  42. package/dist/agent-tools/claude-tool-adapter.d.ts +20 -0
  43. package/dist/agent-tools/claude-tool-adapter.d.ts.map +1 -0
  44. package/dist/agent-tools/claude-tool-adapter.js +64 -0
  45. package/dist/agent-tools/claude-tool-adapter.js.map +1 -0
  46. package/dist/agent-tools/claude-tool-planner.d.ts +35 -0
  47. package/dist/agent-tools/claude-tool-planner.d.ts.map +1 -0
  48. package/dist/agent-tools/claude-tool-planner.js +83 -0
  49. package/dist/agent-tools/claude-tool-planner.js.map +1 -0
  50. package/dist/agent-tools/connector-tool-adapter.d.ts +16 -0
  51. package/dist/agent-tools/connector-tool-adapter.d.ts.map +1 -0
  52. package/dist/agent-tools/connector-tool-adapter.js +62 -0
  53. package/dist/agent-tools/connector-tool-adapter.js.map +1 -0
  54. package/dist/agent-tools/context-routing-policy.d.ts +4 -0
  55. package/dist/agent-tools/context-routing-policy.d.ts.map +1 -0
  56. package/dist/agent-tools/context-routing-policy.js +20 -0
  57. package/dist/agent-tools/context-routing-policy.js.map +1 -0
  58. package/dist/agent-tools/index.d.ts +18 -0
  59. package/dist/agent-tools/index.d.ts.map +1 -0
  60. package/dist/agent-tools/index.js +18 -0
  61. package/dist/agent-tools/index.js.map +1 -0
  62. package/dist/agent-tools/logging.d.ts +3 -0
  63. package/dist/agent-tools/logging.d.ts.map +1 -0
  64. package/dist/agent-tools/logging.js +15 -0
  65. package/dist/agent-tools/logging.js.map +1 -0
  66. package/dist/agent-tools/mcp-tool-adapter.d.ts +18 -0
  67. package/dist/agent-tools/mcp-tool-adapter.d.ts.map +1 -0
  68. package/dist/agent-tools/mcp-tool-adapter.js +76 -0
  69. package/dist/agent-tools/mcp-tool-adapter.js.map +1 -0
  70. package/dist/agent-tools/settings.d.ts +50 -0
  71. package/dist/agent-tools/settings.d.ts.map +1 -0
  72. package/dist/agent-tools/settings.js +101 -0
  73. package/dist/agent-tools/settings.js.map +1 -0
  74. package/dist/agent-tools/tool-candidate-detector.d.ts +16 -0
  75. package/dist/agent-tools/tool-candidate-detector.d.ts.map +1 -0
  76. package/dist/agent-tools/tool-candidate-detector.js +165 -0
  77. package/dist/agent-tools/tool-candidate-detector.js.map +1 -0
  78. package/dist/agent-tools/tool-chain-runner.d.ts +24 -0
  79. package/dist/agent-tools/tool-chain-runner.d.ts.map +1 -0
  80. package/dist/agent-tools/tool-chain-runner.js +39 -0
  81. package/dist/agent-tools/tool-chain-runner.js.map +1 -0
  82. package/dist/agent-tools/tool-context-store.d.ts +28 -0
  83. package/dist/agent-tools/tool-context-store.d.ts.map +1 -0
  84. package/dist/agent-tools/tool-context-store.js +127 -0
  85. package/dist/agent-tools/tool-context-store.js.map +1 -0
  86. package/dist/agent-tools/tool-followup-resolver.d.ts +18 -0
  87. package/dist/agent-tools/tool-followup-resolver.d.ts.map +1 -0
  88. package/dist/agent-tools/tool-followup-resolver.js +98 -0
  89. package/dist/agent-tools/tool-followup-resolver.js.map +1 -0
  90. package/dist/agent-tools/tool-plan-validator.d.ts +13 -0
  91. package/dist/agent-tools/tool-plan-validator.d.ts.map +1 -0
  92. package/dist/agent-tools/tool-plan-validator.js +119 -0
  93. package/dist/agent-tools/tool-plan-validator.js.map +1 -0
  94. package/dist/agent-tools/tool-result-summarizer.d.ts +17 -0
  95. package/dist/agent-tools/tool-result-summarizer.d.ts.map +1 -0
  96. package/dist/agent-tools/tool-result-summarizer.js +41 -0
  97. package/dist/agent-tools/tool-result-summarizer.js.map +1 -0
  98. package/dist/agent-tools/tool-session-store.d.ts +49 -0
  99. package/dist/agent-tools/tool-session-store.d.ts.map +1 -0
  100. package/dist/agent-tools/tool-session-store.js +104 -0
  101. package/dist/agent-tools/tool-session-store.js.map +1 -0
  102. package/dist/agent-tools/types.d.ts +97 -0
  103. package/dist/agent-tools/types.d.ts.map +1 -0
  104. package/dist/agent-tools/types.js +2 -0
  105. package/dist/agent-tools/types.js.map +1 -0
  106. package/dist/ai/execution-controller.d.ts +62 -0
  107. package/dist/ai/execution-controller.d.ts.map +1 -0
  108. package/dist/ai/execution-controller.js +117 -0
  109. package/dist/ai/execution-controller.js.map +1 -0
  110. package/dist/ai/index.d.ts +3 -0
  111. package/dist/ai/index.d.ts.map +1 -0
  112. package/dist/ai/index.js +2 -0
  113. package/dist/ai/index.js.map +1 -0
  114. package/dist/ai-context/engine.d.ts +85 -0
  115. package/dist/ai-context/engine.d.ts.map +1 -0
  116. package/dist/ai-context/engine.js +173 -0
  117. package/dist/ai-context/engine.js.map +1 -0
  118. package/dist/ai-context/index.d.ts +3 -0
  119. package/dist/ai-context/index.d.ts.map +1 -0
  120. package/dist/ai-context/index.js +2 -0
  121. package/dist/ai-context/index.js.map +1 -0
  122. package/dist/ai-router/index.d.ts +3 -0
  123. package/dist/ai-router/index.d.ts.map +1 -0
  124. package/dist/ai-router/index.js +2 -0
  125. package/dist/ai-router/index.js.map +1 -0
  126. package/dist/ai-router/router.d.ts +68 -0
  127. package/dist/ai-router/router.d.ts.map +1 -0
  128. package/dist/ai-router/router.js +260 -0
  129. package/dist/ai-router/router.js.map +1 -0
  130. package/dist/async-jobs/context-resolver-planner.d.ts +35 -0
  131. package/dist/async-jobs/context-resolver-planner.d.ts.map +1 -0
  132. package/dist/async-jobs/context-resolver-planner.js +324 -0
  133. package/dist/async-jobs/context-resolver-planner.js.map +1 -0
  134. package/dist/async-jobs/gateway-worker.d.ts +22 -0
  135. package/dist/async-jobs/gateway-worker.d.ts.map +1 -0
  136. package/dist/async-jobs/gateway-worker.js +53 -0
  137. package/dist/async-jobs/gateway-worker.js.map +1 -0
  138. package/dist/async-jobs/job-delivery.d.ts +16 -0
  139. package/dist/async-jobs/job-delivery.d.ts.map +1 -0
  140. package/dist/async-jobs/job-delivery.js +30 -0
  141. package/dist/async-jobs/job-delivery.js.map +1 -0
  142. package/dist/async-jobs/job-runner.d.ts +39 -0
  143. package/dist/async-jobs/job-runner.d.ts.map +1 -0
  144. package/dist/async-jobs/job-runner.js +67 -0
  145. package/dist/async-jobs/job-runner.js.map +1 -0
  146. package/dist/async-jobs/job-store.d.ts +27 -0
  147. package/dist/async-jobs/job-store.d.ts.map +1 -0
  148. package/dist/async-jobs/job-store.js +168 -0
  149. package/dist/async-jobs/job-store.js.map +1 -0
  150. package/dist/async-jobs/job-types.d.ts +59 -0
  151. package/dist/async-jobs/job-types.d.ts.map +1 -0
  152. package/dist/async-jobs/job-types.js +2 -0
  153. package/dist/async-jobs/job-types.js.map +1 -0
  154. package/dist/async-jobs/job-utils.d.ts +16 -0
  155. package/dist/async-jobs/job-utils.d.ts.map +1 -0
  156. package/dist/async-jobs/job-utils.js +72 -0
  157. package/dist/async-jobs/job-utils.js.map +1 -0
  158. package/dist/async-jobs/job-worker.d.ts +31 -0
  159. package/dist/async-jobs/job-worker.d.ts.map +1 -0
  160. package/dist/async-jobs/job-worker.js +60 -0
  161. package/dist/async-jobs/job-worker.js.map +1 -0
  162. package/dist/async-jobs/message-triage-planner.d.ts +52 -0
  163. package/dist/async-jobs/message-triage-planner.d.ts.map +1 -0
  164. package/dist/async-jobs/message-triage-planner.js +262 -0
  165. package/dist/async-jobs/message-triage-planner.js.map +1 -0
  166. package/dist/async-jobs/request-controller.d.ts +65 -0
  167. package/dist/async-jobs/request-controller.d.ts.map +1 -0
  168. package/dist/async-jobs/request-controller.js +471 -0
  169. package/dist/async-jobs/request-controller.js.map +1 -0
  170. package/dist/async-jobs/routing-context.d.ts +12 -0
  171. package/dist/async-jobs/routing-context.d.ts.map +1 -0
  172. package/dist/async-jobs/routing-context.js +15 -0
  173. package/dist/async-jobs/routing-context.js.map +1 -0
  174. package/dist/async-jobs/tool-intent-planner.d.ts +51 -0
  175. package/dist/async-jobs/tool-intent-planner.d.ts.map +1 -0
  176. package/dist/async-jobs/tool-intent-planner.js +241 -0
  177. package/dist/async-jobs/tool-intent-planner.js.map +1 -0
  178. package/dist/async-jobs/tool-processor.d.ts +31 -0
  179. package/dist/async-jobs/tool-processor.d.ts.map +1 -0
  180. package/dist/async-jobs/tool-processor.js +263 -0
  181. package/dist/async-jobs/tool-processor.js.map +1 -0
  182. package/dist/auth/session-admin.d.ts +19 -0
  183. package/dist/auth/session-admin.d.ts.map +1 -0
  184. package/dist/auth/session-admin.js +52 -0
  185. package/dist/auth/session-admin.js.map +1 -0
  186. package/dist/chat-registry/aliases.d.ts +55 -0
  187. package/dist/chat-registry/aliases.d.ts.map +1 -0
  188. package/dist/chat-registry/aliases.js +170 -0
  189. package/dist/chat-registry/aliases.js.map +1 -0
  190. package/dist/chat-registry/index.d.ts +3 -0
  191. package/dist/chat-registry/index.d.ts.map +1 -0
  192. package/dist/chat-registry/index.js +2 -0
  193. package/dist/chat-registry/index.js.map +1 -0
  194. package/dist/chat-registry/service.d.ts +54 -0
  195. package/dist/chat-registry/service.d.ts.map +1 -0
  196. package/dist/chat-registry/service.js +224 -0
  197. package/dist/chat-registry/service.js.map +1 -0
  198. package/dist/chat-state/execution-gate.d.ts +66 -0
  199. package/dist/chat-state/execution-gate.d.ts.map +1 -0
  200. package/dist/chat-state/execution-gate.js +143 -0
  201. package/dist/chat-state/execution-gate.js.map +1 -0
  202. package/dist/chat-state/index.d.ts +7 -0
  203. package/dist/chat-state/index.d.ts.map +1 -0
  204. package/dist/chat-state/index.js +4 -0
  205. package/dist/chat-state/index.js.map +1 -0
  206. package/dist/chat-state/invariants.d.ts +32 -0
  207. package/dist/chat-state/invariants.d.ts.map +1 -0
  208. package/dist/chat-state/invariants.js +95 -0
  209. package/dist/chat-state/invariants.js.map +1 -0
  210. package/dist/chat-state/store.d.ts +55 -0
  211. package/dist/chat-state/store.d.ts.map +1 -0
  212. package/dist/chat-state/store.js +220 -0
  213. package/dist/chat-state/store.js.map +1 -0
  214. package/dist/cli/admin-inspection.d.ts +17 -0
  215. package/dist/cli/admin-inspection.d.ts.map +1 -0
  216. package/dist/cli/admin-inspection.js +161 -0
  217. package/dist/cli/admin-inspection.js.map +1 -0
  218. package/dist/cli/connector-admin.d.ts +2 -0
  219. package/dist/cli/connector-admin.d.ts.map +1 -0
  220. package/dist/cli/connector-admin.js +28 -0
  221. package/dist/cli/connector-admin.js.map +1 -0
  222. package/dist/cli/index.d.ts +7 -0
  223. package/dist/cli/index.d.ts.map +1 -0
  224. package/dist/cli/index.js +709 -0
  225. package/dist/cli/index.js.map +1 -0
  226. package/dist/config/chatbot-config.d.ts +108 -0
  227. package/dist/config/chatbot-config.d.ts.map +1 -0
  228. package/dist/config/chatbot-config.js +280 -0
  229. package/dist/config/chatbot-config.js.map +1 -0
  230. package/dist/config/config-editor.d.ts +16 -0
  231. package/dist/config/config-editor.d.ts.map +1 -0
  232. package/dist/config/config-editor.js +367 -0
  233. package/dist/config/config-editor.js.map +1 -0
  234. package/dist/config/local-env-editor.d.ts +22 -0
  235. package/dist/config/local-env-editor.d.ts.map +1 -0
  236. package/dist/config/local-env-editor.js +129 -0
  237. package/dist/config/local-env-editor.js.map +1 -0
  238. package/dist/config/runtime-feature-flags.d.ts +19 -0
  239. package/dist/config/runtime-feature-flags.d.ts.map +1 -0
  240. package/dist/config/runtime-feature-flags.js +39 -0
  241. package/dist/config/runtime-feature-flags.js.map +1 -0
  242. package/dist/connectors/audit.d.ts +32 -0
  243. package/dist/connectors/audit.d.ts.map +1 -0
  244. package/dist/connectors/audit.js +77 -0
  245. package/dist/connectors/audit.js.map +1 -0
  246. package/dist/connectors/config.d.ts +9 -0
  247. package/dist/connectors/config.d.ts.map +1 -0
  248. package/dist/connectors/config.js +66 -0
  249. package/dist/connectors/config.js.map +1 -0
  250. package/dist/connectors/dns-guard.d.ts +7 -0
  251. package/dist/connectors/dns-guard.d.ts.map +1 -0
  252. package/dist/connectors/dns-guard.js +70 -0
  253. package/dist/connectors/dns-guard.js.map +1 -0
  254. package/dist/connectors/executor.d.ts +30 -0
  255. package/dist/connectors/executor.d.ts.map +1 -0
  256. package/dist/connectors/executor.js +80 -0
  257. package/dist/connectors/executor.js.map +1 -0
  258. package/dist/connectors/manifest.d.ts +18 -0
  259. package/dist/connectors/manifest.d.ts.map +1 -0
  260. package/dist/connectors/manifest.js +72 -0
  261. package/dist/connectors/manifest.js.map +1 -0
  262. package/dist/connectors/runner.d.ts +17 -0
  263. package/dist/connectors/runner.d.ts.map +1 -0
  264. package/dist/connectors/runner.js +36 -0
  265. package/dist/connectors/runner.js.map +1 -0
  266. package/dist/connectors/url-guard.d.ts +7 -0
  267. package/dist/connectors/url-guard.d.ts.map +1 -0
  268. package/dist/connectors/url-guard.js +50 -0
  269. package/dist/connectors/url-guard.js.map +1 -0
  270. package/dist/conversation/connector-command-controller.d.ts +31 -0
  271. package/dist/conversation/connector-command-controller.d.ts.map +1 -0
  272. package/dist/conversation/connector-command-controller.js +105 -0
  273. package/dist/conversation/connector-command-controller.js.map +1 -0
  274. package/dist/conversation/context-command-controller.d.ts +23 -0
  275. package/dist/conversation/context-command-controller.d.ts.map +1 -0
  276. package/dist/conversation/context-command-controller.js +184 -0
  277. package/dist/conversation/context-command-controller.js.map +1 -0
  278. package/dist/conversation/group-reply-policy.d.ts +3 -0
  279. package/dist/conversation/group-reply-policy.d.ts.map +1 -0
  280. package/dist/conversation/group-reply-policy.js +17 -0
  281. package/dist/conversation/group-reply-policy.js.map +1 -0
  282. package/dist/conversation/index.d.ts +3 -0
  283. package/dist/conversation/index.d.ts.map +1 -0
  284. package/dist/conversation/index.js +2 -0
  285. package/dist/conversation/index.js.map +1 -0
  286. package/dist/conversation/lock-manager.d.ts +47 -0
  287. package/dist/conversation/lock-manager.d.ts.map +1 -0
  288. package/dist/conversation/lock-manager.js +144 -0
  289. package/dist/conversation/lock-manager.js.map +1 -0
  290. package/dist/conversation/memory-trace.d.ts +16 -0
  291. package/dist/conversation/memory-trace.d.ts.map +1 -0
  292. package/dist/conversation/memory-trace.js +13 -0
  293. package/dist/conversation/memory-trace.js.map +1 -0
  294. package/dist/conversation/natural-schedule-command-controller.d.ts +21 -0
  295. package/dist/conversation/natural-schedule-command-controller.d.ts.map +1 -0
  296. package/dist/conversation/natural-schedule-command-controller.js +180 -0
  297. package/dist/conversation/natural-schedule-command-controller.js.map +1 -0
  298. package/dist/conversation/ops.d.ts +75 -0
  299. package/dist/conversation/ops.d.ts.map +1 -0
  300. package/dist/conversation/ops.js +169 -0
  301. package/dist/conversation/ops.js.map +1 -0
  302. package/dist/conversation/owner-action-command-controller.d.ts +25 -0
  303. package/dist/conversation/owner-action-command-controller.d.ts.map +1 -0
  304. package/dist/conversation/owner-action-command-controller.js +90 -0
  305. package/dist/conversation/owner-action-command-controller.js.map +1 -0
  306. package/dist/conversation/owner-action-planner.d.ts +28 -0
  307. package/dist/conversation/owner-action-planner.d.ts.map +1 -0
  308. package/dist/conversation/owner-action-planner.js +99 -0
  309. package/dist/conversation/owner-action-planner.js.map +1 -0
  310. package/dist/conversation/rate-limiter.d.ts +22 -0
  311. package/dist/conversation/rate-limiter.d.ts.map +1 -0
  312. package/dist/conversation/rate-limiter.js +66 -0
  313. package/dist/conversation/rate-limiter.js.map +1 -0
  314. package/dist/conversation/runtime-admin-media.d.ts +11 -0
  315. package/dist/conversation/runtime-admin-media.d.ts.map +1 -0
  316. package/dist/conversation/runtime-admin-media.js +31 -0
  317. package/dist/conversation/runtime-admin-media.js.map +1 -0
  318. package/dist/conversation/runtime-group.d.ts +13 -0
  319. package/dist/conversation/runtime-group.d.ts.map +1 -0
  320. package/dist/conversation/runtime-group.js +96 -0
  321. package/dist/conversation/runtime-group.js.map +1 -0
  322. package/dist/conversation/runtime-impl.d.ts +90 -0
  323. package/dist/conversation/runtime-impl.d.ts.map +1 -0
  324. package/dist/conversation/runtime-impl.js +452 -0
  325. package/dist/conversation/runtime-impl.js.map +1 -0
  326. package/dist/conversation/runtime-kb.d.ts +36 -0
  327. package/dist/conversation/runtime-kb.d.ts.map +1 -0
  328. package/dist/conversation/runtime-kb.js +123 -0
  329. package/dist/conversation/runtime-kb.js.map +1 -0
  330. package/dist/conversation/runtime-media.d.ts +28 -0
  331. package/dist/conversation/runtime-media.d.ts.map +1 -0
  332. package/dist/conversation/runtime-media.js +93 -0
  333. package/dist/conversation/runtime-media.js.map +1 -0
  334. package/dist/conversation/runtime-production.d.ts +36 -0
  335. package/dist/conversation/runtime-production.d.ts.map +1 -0
  336. package/dist/conversation/runtime-production.js +274 -0
  337. package/dist/conversation/runtime-production.js.map +1 -0
  338. package/dist/conversation/runtime-timing.d.ts +2 -0
  339. package/dist/conversation/runtime-timing.d.ts.map +1 -0
  340. package/dist/conversation/runtime-timing.js +2 -0
  341. package/dist/conversation/runtime-timing.js.map +1 -0
  342. package/dist/conversation/runtime.d.ts +3 -0
  343. package/dist/conversation/runtime.d.ts.map +1 -0
  344. package/dist/conversation/runtime.js +2 -0
  345. package/dist/conversation/runtime.js.map +1 -0
  346. package/dist/conversation/secure-tool-natural-language-controller.d.ts +67 -0
  347. package/dist/conversation/secure-tool-natural-language-controller.d.ts.map +1 -0
  348. package/dist/conversation/secure-tool-natural-language-controller.js +634 -0
  349. package/dist/conversation/secure-tool-natural-language-controller.js.map +1 -0
  350. package/dist/conversation/secure-tool-routing.d.ts +5 -0
  351. package/dist/conversation/secure-tool-routing.d.ts.map +1 -0
  352. package/dist/conversation/secure-tool-routing.js +91 -0
  353. package/dist/conversation/secure-tool-routing.js.map +1 -0
  354. package/dist/conversation/secure-tool-runtime-utils.d.ts +4 -0
  355. package/dist/conversation/secure-tool-runtime-utils.d.ts.map +1 -0
  356. package/dist/conversation/secure-tool-runtime-utils.js +19 -0
  357. package/dist/conversation/secure-tool-runtime-utils.js.map +1 -0
  358. package/dist/conversation/slash-command.d.ts +8 -0
  359. package/dist/conversation/slash-command.d.ts.map +1 -0
  360. package/dist/conversation/slash-command.js +13 -0
  361. package/dist/conversation/slash-command.js.map +1 -0
  362. package/dist/conversation/target-resolver.d.ts +7 -0
  363. package/dist/conversation/target-resolver.d.ts.map +1 -0
  364. package/dist/conversation/target-resolver.js +23 -0
  365. package/dist/conversation/target-resolver.js.map +1 -0
  366. package/dist/copilot/engine.d.ts +102 -0
  367. package/dist/copilot/engine.d.ts.map +1 -0
  368. package/dist/copilot/engine.js +222 -0
  369. package/dist/copilot/engine.js.map +1 -0
  370. package/dist/copilot/index.d.ts +3 -0
  371. package/dist/copilot/index.d.ts.map +1 -0
  372. package/dist/copilot/index.js +2 -0
  373. package/dist/copilot/index.js.map +1 -0
  374. package/dist/database/index.d.ts +135 -0
  375. package/dist/database/index.d.ts.map +1 -0
  376. package/dist/database/index.js +331 -0
  377. package/dist/database/index.js.map +1 -0
  378. package/dist/database/path.d.ts +2 -0
  379. package/dist/database/path.d.ts.map +1 -0
  380. package/dist/database/path.js +5 -0
  381. package/dist/database/path.js.map +1 -0
  382. package/dist/event-bus/index.d.ts +153 -0
  383. package/dist/event-bus/index.d.ts.map +1 -0
  384. package/dist/event-bus/index.js +118 -0
  385. package/dist/event-bus/index.js.map +1 -0
  386. package/dist/event-sourcing/index.d.ts +3 -0
  387. package/dist/event-sourcing/index.d.ts.map +1 -0
  388. package/dist/event-sourcing/index.js +2 -0
  389. package/dist/event-sourcing/index.js.map +1 -0
  390. package/dist/event-sourcing/store.d.ts +54 -0
  391. package/dist/event-sourcing/store.d.ts.map +1 -0
  392. package/dist/event-sourcing/store.js +169 -0
  393. package/dist/event-sourcing/store.js.map +1 -0
  394. package/dist/gateway/auth/index.d.ts +5 -0
  395. package/dist/gateway/auth/index.d.ts.map +1 -0
  396. package/dist/gateway/auth/index.js +5 -0
  397. package/dist/gateway/auth/index.js.map +1 -0
  398. package/dist/gateway/auth/store.d.ts +44 -0
  399. package/dist/gateway/auth/store.d.ts.map +1 -0
  400. package/dist/gateway/auth/store.js +387 -0
  401. package/dist/gateway/auth/store.js.map +1 -0
  402. package/dist/gateway/bootstrap.d.ts +2 -0
  403. package/dist/gateway/bootstrap.d.ts.map +1 -0
  404. package/dist/gateway/bootstrap.js +8 -0
  405. package/dist/gateway/bootstrap.js.map +1 -0
  406. package/dist/gateway/conn-state-machine.d.ts +25 -0
  407. package/dist/gateway/conn-state-machine.d.ts.map +1 -0
  408. package/dist/gateway/conn-state-machine.js +39 -0
  409. package/dist/gateway/conn-state-machine.js.map +1 -0
  410. package/dist/gateway/connection-state.d.ts +22 -0
  411. package/dist/gateway/connection-state.d.ts.map +1 -0
  412. package/dist/gateway/connection-state.js +60 -0
  413. package/dist/gateway/connection-state.js.map +1 -0
  414. package/dist/gateway/events/handler.d.ts +75 -0
  415. package/dist/gateway/events/handler.d.ts.map +1 -0
  416. package/dist/gateway/events/handler.js +164 -0
  417. package/dist/gateway/events/handler.js.map +1 -0
  418. package/dist/gateway/events/index.d.ts +3 -0
  419. package/dist/gateway/events/index.d.ts.map +1 -0
  420. package/dist/gateway/events/index.js +2 -0
  421. package/dist/gateway/events/index.js.map +1 -0
  422. package/dist/gateway/exit-shutdown.d.ts +5 -0
  423. package/dist/gateway/exit-shutdown.d.ts.map +1 -0
  424. package/dist/gateway/exit-shutdown.js +12 -0
  425. package/dist/gateway/exit-shutdown.js.map +1 -0
  426. package/dist/gateway/group-activation.d.ts +25 -0
  427. package/dist/gateway/group-activation.d.ts.map +1 -0
  428. package/dist/gateway/group-activation.js +78 -0
  429. package/dist/gateway/group-activation.js.map +1 -0
  430. package/dist/gateway/health/index.d.ts +3 -0
  431. package/dist/gateway/health/index.d.ts.map +1 -0
  432. package/dist/gateway/health/index.js +2 -0
  433. package/dist/gateway/health/index.js.map +1 -0
  434. package/dist/gateway/health/monitor.d.ts +63 -0
  435. package/dist/gateway/health/monitor.d.ts.map +1 -0
  436. package/dist/gateway/health/monitor.js +94 -0
  437. package/dist/gateway/health/monitor.js.map +1 -0
  438. package/dist/gateway/index.d.ts +12 -0
  439. package/dist/gateway/index.d.ts.map +1 -0
  440. package/dist/gateway/index.js +10 -0
  441. package/dist/gateway/index.js.map +1 -0
  442. package/dist/gateway/logger.d.ts +8 -0
  443. package/dist/gateway/logger.d.ts.map +1 -0
  444. package/dist/gateway/logger.js +12 -0
  445. package/dist/gateway/logger.js.map +1 -0
  446. package/dist/gateway/media-queue-worker-runtime.d.ts +16 -0
  447. package/dist/gateway/media-queue-worker-runtime.d.ts.map +1 -0
  448. package/dist/gateway/media-queue-worker-runtime.js +35 -0
  449. package/dist/gateway/media-queue-worker-runtime.js.map +1 -0
  450. package/dist/gateway/message-buffer.d.ts +9 -0
  451. package/dist/gateway/message-buffer.d.ts.map +1 -0
  452. package/dist/gateway/message-buffer.js +16 -0
  453. package/dist/gateway/message-buffer.js.map +1 -0
  454. package/dist/gateway/outgoing-messages.d.ts +4 -0
  455. package/dist/gateway/outgoing-messages.d.ts.map +1 -0
  456. package/dist/gateway/outgoing-messages.js +25 -0
  457. package/dist/gateway/outgoing-messages.js.map +1 -0
  458. package/dist/gateway/process-lifecycle.d.ts +8 -0
  459. package/dist/gateway/process-lifecycle.d.ts.map +1 -0
  460. package/dist/gateway/process-lifecycle.js +14 -0
  461. package/dist/gateway/process-lifecycle.js.map +1 -0
  462. package/dist/gateway/process-safety.d.ts +14 -0
  463. package/dist/gateway/process-safety.d.ts.map +1 -0
  464. package/dist/gateway/process-safety.js +48 -0
  465. package/dist/gateway/process-safety.js.map +1 -0
  466. package/dist/gateway/reconnect/index.d.ts +3 -0
  467. package/dist/gateway/reconnect/index.d.ts.map +1 -0
  468. package/dist/gateway/reconnect/index.js +2 -0
  469. package/dist/gateway/reconnect/index.js.map +1 -0
  470. package/dist/gateway/reconnect/manager.d.ts +59 -0
  471. package/dist/gateway/reconnect/manager.d.ts.map +1 -0
  472. package/dist/gateway/reconnect/manager.js +195 -0
  473. package/dist/gateway/reconnect/manager.js.map +1 -0
  474. package/dist/gateway/self-echo-guard.d.ts +2 -0
  475. package/dist/gateway/self-echo-guard.d.ts.map +1 -0
  476. package/dist/gateway/self-echo-guard.js +31 -0
  477. package/dist/gateway/self-echo-guard.js.map +1 -0
  478. package/dist/gateway/server.d.ts +61 -0
  479. package/dist/gateway/server.d.ts.map +1 -0
  480. package/dist/gateway/server.js +947 -0
  481. package/dist/gateway/server.js.map +1 -0
  482. package/dist/gateway/shutdown-registry.d.ts +5 -0
  483. package/dist/gateway/shutdown-registry.d.ts.map +1 -0
  484. package/dist/gateway/shutdown-registry.js +20 -0
  485. package/dist/gateway/shutdown-registry.js.map +1 -0
  486. package/dist/gateway/socket/connection.d.ts +45 -0
  487. package/dist/gateway/socket/connection.d.ts.map +1 -0
  488. package/dist/gateway/socket/connection.js +198 -0
  489. package/dist/gateway/socket/connection.js.map +1 -0
  490. package/dist/gateway/socket/index.d.ts +3 -0
  491. package/dist/gateway/socket/index.d.ts.map +1 -0
  492. package/dist/gateway/socket/index.js +3 -0
  493. package/dist/gateway/socket/index.js.map +1 -0
  494. package/dist/gateway/sync-mutex.d.ts +13 -0
  495. package/dist/gateway/sync-mutex.d.ts.map +1 -0
  496. package/dist/gateway/sync-mutex.js +26 -0
  497. package/dist/gateway/sync-mutex.js.map +1 -0
  498. package/dist/gateway/text-media.d.ts +23 -0
  499. package/dist/gateway/text-media.d.ts.map +1 -0
  500. package/dist/gateway/text-media.js +30 -0
  501. package/dist/gateway/text-media.js.map +1 -0
  502. package/dist/group-intel/engine.d.ts +77 -0
  503. package/dist/group-intel/engine.d.ts.map +1 -0
  504. package/dist/group-intel/engine.js +197 -0
  505. package/dist/group-intel/engine.js.map +1 -0
  506. package/dist/group-intel/index.d.ts +3 -0
  507. package/dist/group-intel/index.d.ts.map +1 -0
  508. package/dist/group-intel/index.js +2 -0
  509. package/dist/group-intel/index.js.map +1 -0
  510. package/dist/intent/classifier.d.ts +17 -0
  511. package/dist/intent/classifier.d.ts.map +1 -0
  512. package/dist/intent/classifier.js +89 -0
  513. package/dist/intent/classifier.js.map +1 -0
  514. package/dist/kb/store.d.ts +38 -0
  515. package/dist/kb/store.d.ts.map +1 -0
  516. package/dist/kb/store.js +114 -0
  517. package/dist/kb/store.js.map +1 -0
  518. package/dist/llm/audit.d.ts +70 -0
  519. package/dist/llm/audit.d.ts.map +1 -0
  520. package/dist/llm/audit.js +281 -0
  521. package/dist/llm/audit.js.map +1 -0
  522. package/dist/llm/base-provider.d.ts +46 -0
  523. package/dist/llm/base-provider.d.ts.map +1 -0
  524. package/dist/llm/base-provider.js +158 -0
  525. package/dist/llm/base-provider.js.map +1 -0
  526. package/dist/llm/config.d.ts +32 -0
  527. package/dist/llm/config.d.ts.map +1 -0
  528. package/dist/llm/config.js +125 -0
  529. package/dist/llm/config.js.map +1 -0
  530. package/dist/llm/direct-tool-guard.d.ts +8 -0
  531. package/dist/llm/direct-tool-guard.d.ts.map +1 -0
  532. package/dist/llm/direct-tool-guard.js +36 -0
  533. package/dist/llm/direct-tool-guard.js.map +1 -0
  534. package/dist/llm/engine.d.ts +44 -0
  535. package/dist/llm/engine.d.ts.map +1 -0
  536. package/dist/llm/engine.js +327 -0
  537. package/dist/llm/engine.js.map +1 -0
  538. package/dist/llm/index.d.ts +8 -0
  539. package/dist/llm/index.d.ts.map +1 -0
  540. package/dist/llm/index.js +8 -0
  541. package/dist/llm/index.js.map +1 -0
  542. package/dist/llm/model-settings.d.ts +57 -0
  543. package/dist/llm/model-settings.d.ts.map +1 -0
  544. package/dist/llm/model-settings.js +184 -0
  545. package/dist/llm/model-settings.js.map +1 -0
  546. package/dist/llm/ocr-client.d.ts +19 -0
  547. package/dist/llm/ocr-client.d.ts.map +1 -0
  548. package/dist/llm/ocr-client.js +94 -0
  549. package/dist/llm/ocr-client.js.map +1 -0
  550. package/dist/llm/ocr-errors.d.ts +15 -0
  551. package/dist/llm/ocr-errors.d.ts.map +1 -0
  552. package/dist/llm/ocr-errors.js +42 -0
  553. package/dist/llm/ocr-errors.js.map +1 -0
  554. package/dist/llm/ocr-registry.d.ts +33 -0
  555. package/dist/llm/ocr-registry.d.ts.map +1 -0
  556. package/dist/llm/ocr-registry.js +129 -0
  557. package/dist/llm/ocr-registry.js.map +1 -0
  558. package/dist/llm/ocr-types.d.ts +53 -0
  559. package/dist/llm/ocr-types.d.ts.map +1 -0
  560. package/dist/llm/ocr-types.js +11 -0
  561. package/dist/llm/ocr-types.js.map +1 -0
  562. package/dist/llm/providers/anthropic-ocr.d.ts +3 -0
  563. package/dist/llm/providers/anthropic-ocr.d.ts.map +1 -0
  564. package/dist/llm/providers/anthropic-ocr.js +32 -0
  565. package/dist/llm/providers/anthropic-ocr.js.map +1 -0
  566. package/dist/llm/providers/custom-ocr.d.ts +3 -0
  567. package/dist/llm/providers/custom-ocr.d.ts.map +1 -0
  568. package/dist/llm/providers/custom-ocr.js +20 -0
  569. package/dist/llm/providers/custom-ocr.js.map +1 -0
  570. package/dist/llm/providers/gemini-ocr.d.ts +3 -0
  571. package/dist/llm/providers/gemini-ocr.d.ts.map +1 -0
  572. package/dist/llm/providers/gemini-ocr.js +26 -0
  573. package/dist/llm/providers/gemini-ocr.js.map +1 -0
  574. package/dist/llm/providers/http-ocr.d.ts +12 -0
  575. package/dist/llm/providers/http-ocr.d.ts.map +1 -0
  576. package/dist/llm/providers/http-ocr.js +135 -0
  577. package/dist/llm/providers/http-ocr.js.map +1 -0
  578. package/dist/llm/providers/local-ocr.d.ts +3 -0
  579. package/dist/llm/providers/local-ocr.d.ts.map +1 -0
  580. package/dist/llm/providers/local-ocr.js +19 -0
  581. package/dist/llm/providers/local-ocr.js.map +1 -0
  582. package/dist/llm/providers/ollama-ocr.d.ts +3 -0
  583. package/dist/llm/providers/ollama-ocr.d.ts.map +1 -0
  584. package/dist/llm/providers/ollama-ocr.js +18 -0
  585. package/dist/llm/providers/ollama-ocr.js.map +1 -0
  586. package/dist/llm/providers/openai-compat.d.ts +26 -0
  587. package/dist/llm/providers/openai-compat.d.ts.map +1 -0
  588. package/dist/llm/providers/openai-compat.js +284 -0
  589. package/dist/llm/providers/openai-compat.js.map +1 -0
  590. package/dist/llm/providers/openai-compatible-ocr.d.ts +3 -0
  591. package/dist/llm/providers/openai-compatible-ocr.d.ts.map +1 -0
  592. package/dist/llm/providers/openai-compatible-ocr.js +21 -0
  593. package/dist/llm/providers/openai-compatible-ocr.js.map +1 -0
  594. package/dist/llm/providers/openai-ocr.d.ts +3 -0
  595. package/dist/llm/providers/openai-ocr.d.ts.map +1 -0
  596. package/dist/llm/providers/openai-ocr.js +25 -0
  597. package/dist/llm/providers/openai-ocr.js.map +1 -0
  598. package/dist/llm/providers/openrouter-ocr.d.ts +3 -0
  599. package/dist/llm/providers/openrouter-ocr.d.ts.map +1 -0
  600. package/dist/llm/providers/openrouter-ocr.js +21 -0
  601. package/dist/llm/providers/openrouter-ocr.js.map +1 -0
  602. package/dist/llm/response-sanitizer.d.ts +3 -0
  603. package/dist/llm/response-sanitizer.d.ts.map +1 -0
  604. package/dist/llm/response-sanitizer.js +122 -0
  605. package/dist/llm/response-sanitizer.js.map +1 -0
  606. package/dist/llm/router.d.ts +29 -0
  607. package/dist/llm/router.d.ts.map +1 -0
  608. package/dist/llm/router.js +167 -0
  609. package/dist/llm/router.js.map +1 -0
  610. package/dist/llm/safety.d.ts +15 -0
  611. package/dist/llm/safety.d.ts.map +1 -0
  612. package/dist/llm/safety.js +48 -0
  613. package/dist/llm/safety.js.map +1 -0
  614. package/dist/llm/search-planner.d.ts +4 -0
  615. package/dist/llm/search-planner.d.ts.map +1 -0
  616. package/dist/llm/search-planner.js +49 -0
  617. package/dist/llm/search-planner.js.map +1 -0
  618. package/dist/llm/task-router.d.ts +19 -0
  619. package/dist/llm/task-router.d.ts.map +1 -0
  620. package/dist/llm/task-router.js +70 -0
  621. package/dist/llm/task-router.js.map +1 -0
  622. package/dist/llm/types.d.ts +161 -0
  623. package/dist/llm/types.d.ts.map +1 -0
  624. package/dist/llm/types.js +45 -0
  625. package/dist/llm/types.js.map +1 -0
  626. package/dist/media/command-controller.d.ts +15 -0
  627. package/dist/media/command-controller.d.ts.map +1 -0
  628. package/dist/media/command-controller.js +122 -0
  629. package/dist/media/command-controller.js.map +1 -0
  630. package/dist/media/command-parse.d.ts +2 -0
  631. package/dist/media/command-parse.d.ts.map +1 -0
  632. package/dist/media/command-parse.js +5 -0
  633. package/dist/media/command-parse.js.map +1 -0
  634. package/dist/media/index.d.ts +13 -0
  635. package/dist/media/index.d.ts.map +1 -0
  636. package/dist/media/index.js +7 -0
  637. package/dist/media/index.js.map +1 -0
  638. package/dist/media/policy.d.ts +23 -0
  639. package/dist/media/policy.d.ts.map +1 -0
  640. package/dist/media/policy.js +125 -0
  641. package/dist/media/policy.js.map +1 -0
  642. package/dist/media/prep-router.d.ts +24 -0
  643. package/dist/media/prep-router.d.ts.map +1 -0
  644. package/dist/media/prep-router.js +79 -0
  645. package/dist/media/prep-router.js.map +1 -0
  646. package/dist/media/prep.d.ts +22 -0
  647. package/dist/media/prep.d.ts.map +1 -0
  648. package/dist/media/prep.js +74 -0
  649. package/dist/media/prep.js.map +1 -0
  650. package/dist/media/queue-admin.d.ts +10 -0
  651. package/dist/media/queue-admin.d.ts.map +1 -0
  652. package/dist/media/queue-admin.js +47 -0
  653. package/dist/media/queue-admin.js.map +1 -0
  654. package/dist/media/queue-runner.d.ts +28 -0
  655. package/dist/media/queue-runner.d.ts.map +1 -0
  656. package/dist/media/queue-runner.js +71 -0
  657. package/dist/media/queue-runner.js.map +1 -0
  658. package/dist/media/queue-store.d.ts +27 -0
  659. package/dist/media/queue-store.d.ts.map +1 -0
  660. package/dist/media/queue-store.js +147 -0
  661. package/dist/media/queue-store.js.map +1 -0
  662. package/dist/media/queue-types.d.ts +71 -0
  663. package/dist/media/queue-types.d.ts.map +1 -0
  664. package/dist/media/queue-types.js +2 -0
  665. package/dist/media/queue-types.js.map +1 -0
  666. package/dist/media/queue-utils.d.ts +9 -0
  667. package/dist/media/queue-utils.d.ts.map +1 -0
  668. package/dist/media/queue-utils.js +52 -0
  669. package/dist/media/queue-utils.js.map +1 -0
  670. package/dist/media/queue-worker.d.ts +31 -0
  671. package/dist/media/queue-worker.d.ts.map +1 -0
  672. package/dist/media/queue-worker.js +58 -0
  673. package/dist/media/queue-worker.js.map +1 -0
  674. package/dist/media/reliability.d.ts +58 -0
  675. package/dist/media/reliability.d.ts.map +1 -0
  676. package/dist/media/reliability.js +240 -0
  677. package/dist/media/reliability.js.map +1 -0
  678. package/dist/media/service.d.ts +53 -0
  679. package/dist/media/service.d.ts.map +1 -0
  680. package/dist/media/service.js +238 -0
  681. package/dist/media/service.js.map +1 -0
  682. package/dist/media/text-extractor.d.ts +23 -0
  683. package/dist/media/text-extractor.d.ts.map +1 -0
  684. package/dist/media/text-extractor.js +66 -0
  685. package/dist/media/text-extractor.js.map +1 -0
  686. package/dist/media/text-format.d.ts +10 -0
  687. package/dist/media/text-format.d.ts.map +1 -0
  688. package/dist/media/text-format.js +19 -0
  689. package/dist/media/text-format.js.map +1 -0
  690. package/dist/media-orchestration/engine.d.ts +74 -0
  691. package/dist/media-orchestration/engine.d.ts.map +1 -0
  692. package/dist/media-orchestration/engine.js +155 -0
  693. package/dist/media-orchestration/engine.js.map +1 -0
  694. package/dist/media-orchestration/index.d.ts +3 -0
  695. package/dist/media-orchestration/index.d.ts.map +1 -0
  696. package/dist/media-orchestration/index.js +2 -0
  697. package/dist/media-orchestration/index.js.map +1 -0
  698. package/dist/memory/index.d.ts +3 -0
  699. package/dist/memory/index.d.ts.map +1 -0
  700. package/dist/memory/index.js +2 -0
  701. package/dist/memory/index.js.map +1 -0
  702. package/dist/memory/persistent.d.ts +78 -0
  703. package/dist/memory/persistent.d.ts.map +1 -0
  704. package/dist/memory/persistent.js +254 -0
  705. package/dist/memory/persistent.js.map +1 -0
  706. package/dist/memory-isolation/engine.d.ts +83 -0
  707. package/dist/memory-isolation/engine.d.ts.map +1 -0
  708. package/dist/memory-isolation/engine.js +247 -0
  709. package/dist/memory-isolation/engine.js.map +1 -0
  710. package/dist/memory-isolation/index.d.ts +3 -0
  711. package/dist/memory-isolation/index.d.ts.map +1 -0
  712. package/dist/memory-isolation/index.js +2 -0
  713. package/dist/memory-isolation/index.js.map +1 -0
  714. package/dist/message-dedupe/engine.d.ts +67 -0
  715. package/dist/message-dedupe/engine.d.ts.map +1 -0
  716. package/dist/message-dedupe/engine.js +208 -0
  717. package/dist/message-dedupe/engine.js.map +1 -0
  718. package/dist/message-dedupe/index.d.ts +3 -0
  719. package/dist/message-dedupe/index.d.ts.map +1 -0
  720. package/dist/message-dedupe/index.js +2 -0
  721. package/dist/message-dedupe/index.js.map +1 -0
  722. package/dist/monitoring/index.d.ts +3 -0
  723. package/dist/monitoring/index.d.ts.map +1 -0
  724. package/dist/monitoring/index.js +2 -0
  725. package/dist/monitoring/index.js.map +1 -0
  726. package/dist/monitoring/leak-detector.d.ts +63 -0
  727. package/dist/monitoring/leak-detector.d.ts.map +1 -0
  728. package/dist/monitoring/leak-detector.js +169 -0
  729. package/dist/monitoring/leak-detector.js.map +1 -0
  730. package/dist/monitoring/runtime-health.d.ts +14 -0
  731. package/dist/monitoring/runtime-health.d.ts.map +1 -0
  732. package/dist/monitoring/runtime-health.js +82 -0
  733. package/dist/monitoring/runtime-health.js.map +1 -0
  734. package/dist/observability/safe-log.d.ts +3 -0
  735. package/dist/observability/safe-log.d.ts.map +1 -0
  736. package/dist/observability/safe-log.js +22 -0
  737. package/dist/observability/safe-log.js.map +1 -0
  738. package/dist/outbound/index.d.ts +3 -0
  739. package/dist/outbound/index.d.ts.map +1 -0
  740. package/dist/outbound/index.js +2 -0
  741. package/dist/outbound/index.js.map +1 -0
  742. package/dist/outbound/ledger.d.ts +78 -0
  743. package/dist/outbound/ledger.d.ts.map +1 -0
  744. package/dist/outbound/ledger.js +143 -0
  745. package/dist/outbound/ledger.js.map +1 -0
  746. package/dist/owner/config.d.ts +43 -0
  747. package/dist/owner/config.d.ts.map +1 -0
  748. package/dist/owner/config.js +110 -0
  749. package/dist/owner/config.js.map +1 -0
  750. package/dist/owner/help.d.ts +2 -0
  751. package/dist/owner/help.d.ts.map +1 -0
  752. package/dist/owner/help.js +96 -0
  753. package/dist/owner/help.js.map +1 -0
  754. package/dist/owner/identity.d.ts +45 -0
  755. package/dist/owner/identity.d.ts.map +1 -0
  756. package/dist/owner/identity.js +155 -0
  757. package/dist/owner/identity.js.map +1 -0
  758. package/dist/owner/index.d.ts +7 -0
  759. package/dist/owner/index.d.ts.map +1 -0
  760. package/dist/owner/index.js +4 -0
  761. package/dist/owner/index.js.map +1 -0
  762. package/dist/owner/ocr-help.d.ts +2 -0
  763. package/dist/owner/ocr-help.d.ts.map +1 -0
  764. package/dist/owner/ocr-help.js +13 -0
  765. package/dist/owner/ocr-help.js.map +1 -0
  766. package/dist/owner/router.d.ts +47 -0
  767. package/dist/owner/router.d.ts.map +1 -0
  768. package/dist/owner/router.js +229 -0
  769. package/dist/owner/router.js.map +1 -0
  770. package/dist/prompts/registry.d.ts +19 -0
  771. package/dist/prompts/registry.d.ts.map +1 -0
  772. package/dist/prompts/registry.js +64 -0
  773. package/dist/prompts/registry.js.map +1 -0
  774. package/dist/scheduler/alias-planner.d.ts +9 -0
  775. package/dist/scheduler/alias-planner.d.ts.map +1 -0
  776. package/dist/scheduler/alias-planner.js +57 -0
  777. package/dist/scheduler/alias-planner.js.map +1 -0
  778. package/dist/scheduler/runner.d.ts +16 -0
  779. package/dist/scheduler/runner.d.ts.map +1 -0
  780. package/dist/scheduler/runner.js +40 -0
  781. package/dist/scheduler/runner.js.map +1 -0
  782. package/dist/scheduler/store.d.ts +35 -0
  783. package/dist/scheduler/store.d.ts.map +1 -0
  784. package/dist/scheduler/store.js +104 -0
  785. package/dist/scheduler/store.js.map +1 -0
  786. package/dist/scheduler/time.d.ts +8 -0
  787. package/dist/scheduler/time.d.ts.map +1 -0
  788. package/dist/scheduler/time.js +248 -0
  789. package/dist/scheduler/time.js.map +1 -0
  790. package/dist/security/backup.d.ts +69 -0
  791. package/dist/security/backup.d.ts.map +1 -0
  792. package/dist/security/backup.js +319 -0
  793. package/dist/security/backup.js.map +1 -0
  794. package/dist/security/index.d.ts +7 -0
  795. package/dist/security/index.d.ts.map +1 -0
  796. package/dist/security/index.js +4 -0
  797. package/dist/security/index.js.map +1 -0
  798. package/dist/security/red-team.d.ts +52 -0
  799. package/dist/security/red-team.d.ts.map +1 -0
  800. package/dist/security/red-team.js +249 -0
  801. package/dist/security/red-team.js.map +1 -0
  802. package/dist/security/tester.d.ts +65 -0
  803. package/dist/security/tester.d.ts.map +1 -0
  804. package/dist/security/tester.js +218 -0
  805. package/dist/security/tester.js.map +1 -0
  806. package/dist/self-improvement/index.d.ts +2 -0
  807. package/dist/self-improvement/index.d.ts.map +1 -0
  808. package/dist/self-improvement/index.js +2 -0
  809. package/dist/self-improvement/index.js.map +1 -0
  810. package/dist/self-improvement/trace-store.d.ts +27 -0
  811. package/dist/self-improvement/trace-store.d.ts.map +1 -0
  812. package/dist/self-improvement/trace-store.js +88 -0
  813. package/dist/self-improvement/trace-store.js.map +1 -0
  814. package/dist/session/index.d.ts +9 -0
  815. package/dist/session/index.d.ts.map +1 -0
  816. package/dist/session/index.js +5 -0
  817. package/dist/session/index.js.map +1 -0
  818. package/dist/session/manager.d.ts +65 -0
  819. package/dist/session/manager.d.ts.map +1 -0
  820. package/dist/session/manager.js +265 -0
  821. package/dist/session/manager.js.map +1 -0
  822. package/dist/session/recovery.d.ts +44 -0
  823. package/dist/session/recovery.d.ts.map +1 -0
  824. package/dist/session/recovery.js +196 -0
  825. package/dist/session/recovery.js.map +1 -0
  826. package/dist/session/snapshot.d.ts +70 -0
  827. package/dist/session/snapshot.d.ts.map +1 -0
  828. package/dist/session/snapshot.js +268 -0
  829. package/dist/session/snapshot.js.map +1 -0
  830. package/dist/session/validator.d.ts +56 -0
  831. package/dist/session/validator.d.ts.map +1 -0
  832. package/dist/session/validator.js +247 -0
  833. package/dist/session/validator.js.map +1 -0
  834. package/dist/support/store.d.ts +91 -0
  835. package/dist/support/store.d.ts.map +1 -0
  836. package/dist/support/store.js +352 -0
  837. package/dist/support/store.js.map +1 -0
  838. package/dist/test/setup-env.d.ts +2 -0
  839. package/dist/test/setup-env.d.ts.map +1 -0
  840. package/dist/test/setup-env.js +34 -0
  841. package/dist/test/setup-env.js.map +1 -0
  842. package/dist/tool-runtime/access-policy.d.ts +25 -0
  843. package/dist/tool-runtime/access-policy.d.ts.map +1 -0
  844. package/dist/tool-runtime/access-policy.js +42 -0
  845. package/dist/tool-runtime/access-policy.js.map +1 -0
  846. package/dist/tool-runtime/audit.d.ts +13 -0
  847. package/dist/tool-runtime/audit.d.ts.map +1 -0
  848. package/dist/tool-runtime/audit.js +34 -0
  849. package/dist/tool-runtime/audit.js.map +1 -0
  850. package/dist/tool-runtime/engine.d.ts +154 -0
  851. package/dist/tool-runtime/engine.d.ts.map +1 -0
  852. package/dist/tool-runtime/engine.js +236 -0
  853. package/dist/tool-runtime/engine.js.map +1 -0
  854. package/dist/tool-runtime/http-executor.d.ts +19 -0
  855. package/dist/tool-runtime/http-executor.d.ts.map +1 -0
  856. package/dist/tool-runtime/http-executor.js +85 -0
  857. package/dist/tool-runtime/http-executor.js.map +1 -0
  858. package/dist/tool-runtime/identity.d.ts +25 -0
  859. package/dist/tool-runtime/identity.d.ts.map +1 -0
  860. package/dist/tool-runtime/identity.js +55 -0
  861. package/dist/tool-runtime/identity.js.map +1 -0
  862. package/dist/tool-runtime/index.d.ts +3 -0
  863. package/dist/tool-runtime/index.d.ts.map +1 -0
  864. package/dist/tool-runtime/index.js +2 -0
  865. package/dist/tool-runtime/index.js.map +1 -0
  866. package/dist/tool-runtime/manifest-loader.d.ts +6 -0
  867. package/dist/tool-runtime/manifest-loader.d.ts.map +1 -0
  868. package/dist/tool-runtime/manifest-loader.js +23 -0
  869. package/dist/tool-runtime/manifest-loader.js.map +1 -0
  870. package/dist/tool-runtime/manifest.d.ts +71 -0
  871. package/dist/tool-runtime/manifest.d.ts.map +1 -0
  872. package/dist/tool-runtime/manifest.js +467 -0
  873. package/dist/tool-runtime/manifest.js.map +1 -0
  874. package/dist/tool-runtime/mcp-executor.d.ts +12 -0
  875. package/dist/tool-runtime/mcp-executor.d.ts.map +1 -0
  876. package/dist/tool-runtime/mcp-executor.js +102 -0
  877. package/dist/tool-runtime/mcp-executor.js.map +1 -0
  878. package/dist/tool-runtime/multipart.d.ts +12 -0
  879. package/dist/tool-runtime/multipart.d.ts.map +1 -0
  880. package/dist/tool-runtime/multipart.js +47 -0
  881. package/dist/tool-runtime/multipart.js.map +1 -0
  882. package/dist/tool-runtime/oauth.d.ts +18 -0
  883. package/dist/tool-runtime/oauth.d.ts.map +1 -0
  884. package/dist/tool-runtime/oauth.js +80 -0
  885. package/dist/tool-runtime/oauth.js.map +1 -0
  886. package/dist/tool-runtime/orchestrator.d.ts +38 -0
  887. package/dist/tool-runtime/orchestrator.d.ts.map +1 -0
  888. package/dist/tool-runtime/orchestrator.js +117 -0
  889. package/dist/tool-runtime/orchestrator.js.map +1 -0
  890. package/dist/tool-runtime/planner.d.ts +23 -0
  891. package/dist/tool-runtime/planner.d.ts.map +1 -0
  892. package/dist/tool-runtime/planner.js +126 -0
  893. package/dist/tool-runtime/planner.js.map +1 -0
  894. package/dist/tool-runtime/policy.d.ts +23 -0
  895. package/dist/tool-runtime/policy.d.ts.map +1 -0
  896. package/dist/tool-runtime/policy.js +48 -0
  897. package/dist/tool-runtime/policy.js.map +1 -0
  898. package/dist/tool-runtime/response-template.d.ts +20 -0
  899. package/dist/tool-runtime/response-template.d.ts.map +1 -0
  900. package/dist/tool-runtime/response-template.js +87 -0
  901. package/dist/tool-runtime/response-template.js.map +1 -0
  902. package/dist/tool-runtime/workflow-runner.d.ts +13 -0
  903. package/dist/tool-runtime/workflow-runner.d.ts.map +1 -0
  904. package/dist/tool-runtime/workflow-runner.js +61 -0
  905. package/dist/tool-runtime/workflow-runner.js.map +1 -0
  906. package/dist/tools/crunchtrova.d.ts +78 -0
  907. package/dist/tools/crunchtrova.d.ts.map +1 -0
  908. package/dist/tools/crunchtrova.js +378 -0
  909. package/dist/tools/crunchtrova.js.map +1 -0
  910. package/dist/tools/index.d.ts +7 -0
  911. package/dist/tools/index.d.ts.map +1 -0
  912. package/dist/tools/index.js +4 -0
  913. package/dist/tools/index.js.map +1 -0
  914. package/dist/tools/input-guard.d.ts +8 -0
  915. package/dist/tools/input-guard.d.ts.map +1 -0
  916. package/dist/tools/input-guard.js +41 -0
  917. package/dist/tools/input-guard.js.map +1 -0
  918. package/dist/tools/llm-tool-definitions.d.ts +4 -0
  919. package/dist/tools/llm-tool-definitions.d.ts.map +1 -0
  920. package/dist/tools/llm-tool-definitions.js +30 -0
  921. package/dist/tools/llm-tool-definitions.js.map +1 -0
  922. package/dist/tools/model-manager.d.ts +29 -0
  923. package/dist/tools/model-manager.d.ts.map +1 -0
  924. package/dist/tools/model-manager.js +118 -0
  925. package/dist/tools/model-manager.js.map +1 -0
  926. package/dist/tools/registry.d.ts +41 -0
  927. package/dist/tools/registry.d.ts.map +1 -0
  928. package/dist/tools/registry.js +325 -0
  929. package/dist/tools/registry.js.map +1 -0
  930. package/dist/tools/search-orchestrator.d.ts +74 -0
  931. package/dist/tools/search-orchestrator.d.ts.map +1 -0
  932. package/dist/tools/search-orchestrator.js +174 -0
  933. package/dist/tools/search-orchestrator.js.map +1 -0
  934. package/dist/tools/tool-catalog-config.d.ts +103 -0
  935. package/dist/tools/tool-catalog-config.d.ts.map +1 -0
  936. package/dist/tools/tool-catalog-config.js +185 -0
  937. package/dist/tools/tool-catalog-config.js.map +1 -0
  938. package/dist/tools/tool-catalog.d.ts +24 -0
  939. package/dist/tools/tool-catalog.d.ts.map +1 -0
  940. package/dist/tools/tool-catalog.js +62 -0
  941. package/dist/tools/tool-catalog.js.map +1 -0
  942. package/dist/tools/tool-command-synthesis.d.ts +22 -0
  943. package/dist/tools/tool-command-synthesis.d.ts.map +1 -0
  944. package/dist/tools/tool-command-synthesis.js +17 -0
  945. package/dist/tools/tool-command-synthesis.js.map +1 -0
  946. package/dist/tools/tool-policy.d.ts +21 -0
  947. package/dist/tools/tool-policy.d.ts.map +1 -0
  948. package/dist/tools/tool-policy.js +66 -0
  949. package/dist/tools/tool-policy.js.map +1 -0
  950. package/dist/usage/tracker.d.ts +35 -0
  951. package/dist/usage/tracker.d.ts.map +1 -0
  952. package/dist/usage/tracker.js +141 -0
  953. package/dist/usage/tracker.js.map +1 -0
  954. package/dist/validation/event-matrix.d.ts +41 -0
  955. package/dist/validation/event-matrix.d.ts.map +1 -0
  956. package/dist/validation/event-matrix.js +119 -0
  957. package/dist/validation/event-matrix.js.map +1 -0
  958. package/dist/validation/failure-simulator.d.ts +40 -0
  959. package/dist/validation/failure-simulator.d.ts.map +1 -0
  960. package/dist/validation/failure-simulator.js +216 -0
  961. package/dist/validation/failure-simulator.js.map +1 -0
  962. package/dist/validation/function-verifier.d.ts +48 -0
  963. package/dist/validation/function-verifier.d.ts.map +1 -0
  964. package/dist/validation/function-verifier.js +128 -0
  965. package/dist/validation/function-verifier.js.map +1 -0
  966. package/dist/validation/index.d.ts +14 -0
  967. package/dist/validation/index.d.ts.map +1 -0
  968. package/dist/validation/index.js +9 -0
  969. package/dist/validation/index.js.map +1 -0
  970. package/dist/validation/route-inventory.d.ts +39 -0
  971. package/dist/validation/route-inventory.d.ts.map +1 -0
  972. package/dist/validation/route-inventory.js +413 -0
  973. package/dist/validation/route-inventory.js.map +1 -0
  974. package/dist/validation/state-machine.d.ts +51 -0
  975. package/dist/validation/state-machine.d.ts.map +1 -0
  976. package/dist/validation/state-machine.js +217 -0
  977. package/dist/validation/state-machine.js.map +1 -0
  978. package/dist/voice-pipeline/combined.d.ts +145 -0
  979. package/dist/voice-pipeline/combined.d.ts.map +1 -0
  980. package/dist/voice-pipeline/combined.js +166 -0
  981. package/dist/voice-pipeline/combined.js.map +1 -0
  982. package/dist/voice-pipeline/groq-whisper.d.ts +29 -0
  983. package/dist/voice-pipeline/groq-whisper.d.ts.map +1 -0
  984. package/dist/voice-pipeline/groq-whisper.js +138 -0
  985. package/dist/voice-pipeline/groq-whisper.js.map +1 -0
  986. package/dist/voice-pipeline/index.d.ts +5 -0
  987. package/dist/voice-pipeline/index.d.ts.map +1 -0
  988. package/dist/voice-pipeline/index.js +3 -0
  989. package/dist/voice-pipeline/index.js.map +1 -0
  990. package/docs/CLAUDE_STYLE_TOOLING_HANDOVER.md +1188 -0
  991. package/docs/admin-cli-security.md +71 -0
  992. package/docs/async-job-implementation-status.md +88 -0
  993. package/docs/async-job-workflow.md +175 -0
  994. package/docs/auth-persistence.md +18 -0
  995. package/docs/baileys-resilience.md +103 -0
  996. package/docs/chatbot-architecture-research-plan.md +80 -0
  997. package/docs/config-write-commands.md +78 -0
  998. package/docs/connector-implementation-playbook.md +182 -0
  999. package/docs/custom-connectors.md +167 -0
  1000. package/docs/docker.md +76 -0
  1001. package/docs/installation.md +384 -0
  1002. package/docs/media-worker.md +114 -0
  1003. package/docs/npm-install.md +75 -0
  1004. package/docs/production-bot-guide.md +499 -0
  1005. package/docs/production-handover.md +255 -0
  1006. package/docs/production-monitoring.md +117 -0
  1007. package/docs/routing-state-machine.md +47 -0
  1008. package/docs/support-inbox-milestones.md +159 -0
  1009. package/docs/tool-configuration-guide.md +257 -0
  1010. package/docs/tool-plugin-and-packaging-roadmap.md +278 -0
  1011. package/package.json +55 -0
@@ -0,0 +1,709 @@
1
+ #!/usr/bin/env node
2
+ import { spawn } from 'node:child_process';
3
+ import { dirname, resolve } from 'node:path';
4
+ import { existsSync, mkdirSync, readFileSync, realpathSync, writeFileSync } from 'node:fs';
5
+ import { fileURLToPath } from 'node:url';
6
+ import { checkApiKeys } from '../llm/config.js';
7
+ import { PromptRegistry, DEFAULT_PROMPTS } from '../prompts/registry.js';
8
+ import { ToolCatalog } from '../tools/tool-catalog.js';
9
+ import { DEFAULT_TOOL_CATALOG } from '../tools/tool-catalog-config.js';
10
+ import { ModelManager } from '../tools/model-manager.js';
11
+ import { CrunchtrovaClient } from '../tools/crunchtrova.js';
12
+ import { normalizeFetchUrl, normalizeToolQuery } from '../tools/input-guard.js';
13
+ import { DEFAULT_CHATBOT_CONFIG, loadChatbotConfig } from '../config/chatbot-config.js';
14
+ import { createConfigBackup, diffConfig, parseCliJsonValue, restoreConfigBackup, setConfigValue, unsetConfigValue, } from '../config/config-editor.js';
15
+ import { formatLocalEnvList, formatLocalEnvStatus, setLocalEnvValue, unsetLocalEnvValue } from '../config/local-env-editor.js';
16
+ import { ensureConnectorManifest } from '../connectors/config.js';
17
+ import { backupAuthState, formatAuthStatus, getAuthStatus, loginCommand, resetAuthState } from '../auth/session-admin.js';
18
+ import { formatRuntimeHealth, getRuntimeHealth } from '../monitoring/runtime-health.js';
19
+ import { backupAllLocal, cancelCliSchedule, formatAdminReport, formatCliAliasList, formatCliScheduleList, formatDbStats, formatDoctorJson, formatSecretsAudit, validateTools, } from './admin-inspection.js';
20
+ import { handleConnectorCliCommand } from './connector-admin.js';
21
+ function help() {
22
+ return [
23
+ 'nduka',
24
+ '',
25
+ 'Commands:',
26
+ ' doctor [--json] Check provider keys, prompt config, tool catalog, and admin state',
27
+ ' health [--quiet] Check local runtime/config/data health without starting WhatsApp',
28
+ ' admin report Print health, auth, database, model, tool, alias, and schedule status',
29
+ ' start [--print] Start the gateway server',
30
+ ' worker [--print] Start gateway plus media queue worker',
31
+ ' auth status Show local WhatsApp auth state status',
32
+ ' auth backup Back up local WhatsApp auth state',
33
+ ' auth reset --yes Back up and remove local auth state so next login shows QR',
34
+ ' auth logout --yes Alias for auth reset --yes',
35
+ ' auth login [--reset --yes] Start worker login flow; use --print to print command only',
36
+ ' aliases list List saved chat aliases from the local database',
37
+ ' schedule list List pending scheduled messages from the local database',
38
+ ' schedule cancel <id> Cancel a pending scheduled message',
39
+ ' db stats Show local SQLite table counts and file size',
40
+ ' backup all Back up config, auth, and data locally',
41
+ ' connectors status Show custom connector manifest status',
42
+ ' connectors init [--force] Create disabled custom connector manifest',
43
+ ' connectors list List configured custom connectors',
44
+ ' connectors validate Validate custom connector manifest',
45
+ ' connectors plan <name> <json> Preview rendered connector URL without network access',
46
+ ' connectors audit [limit] Show connector audit events',
47
+ ' secrets status Show allowed local .env entries with secrets masked',
48
+ ' secrets audit Show masked allowlisted secret/model status',
49
+ ' secrets list List allowed local .env entries',
50
+ ' secrets set <name> --from-env <ENV_VAR> Set an allowlisted key from an environment variable',
51
+ ' secrets unset <name> --yes Remove one allowlisted local .env key',
52
+ ' init [--force] Create default config, data, .env, and PM2 files if missing',
53
+ ' smoke Print manual smoke-test checklist',
54
+ ' tools list List enabled catalog tools',
55
+ ' tools validate Validate enabled tool definitions without network execution',
56
+ ' tools key <tool> --from-env <ENV_VAR> Set an allowlisted tool key from an environment variable',
57
+ ' tools test <tool> <input> Test a known tool: web_search, news_search, url_fetch',
58
+ ' models status Show active model status',
59
+ ' models list List available models',
60
+ ' models status|list Show settings-backed model routes',
61
+ ' prompts list List available configurable prompts',
62
+ ' prompts get <name> Print one configurable prompt',
63
+ ' config paths Show config file environment variables and defaults',
64
+ ' config validate Validate chatbot config can be loaded',
65
+ ' config show Print merged chatbot config as JSON',
66
+ ' config get <path> Print one merged config value, e.g. tools.enabled',
67
+ ' config set <path> <json-value> Set one safe chatbot config value',
68
+ ' config unset <path> Remove one value from the chatbot config file',
69
+ ' config backup Create a timestamped chatbot config backup',
70
+ ' config restore <backup-file> Restore chatbot config from a backup file',
71
+ ' config diff Show chatbot config differences from defaults',
72
+ ' help Show this help',
73
+ ].join('\n');
74
+ }
75
+ function providerStatus() {
76
+ const keys = checkApiKeys();
77
+ return [
78
+ `OpenRouter: ${keys.openrouter ? 'ok' : 'missing'}`,
79
+ `Kilocode: ${keys.kilocode ? 'ok' : 'missing'}`,
80
+ `Gemini: ${keys.gemini ? 'ok' : 'missing'}`,
81
+ `Groq: ${keys.groq ? 'ok' : 'missing'}`,
82
+ ];
83
+ }
84
+ function configPaths() {
85
+ return [
86
+ 'Config paths:',
87
+ `CHATBOT_CONFIG_PATH: ${process.env.CHATBOT_CONFIG_PATH || './config/chatbot.config.json'}`,
88
+ `CHATBOT_TOOLS_PATH: ${process.env.CHATBOT_TOOLS_PATH || './config/tools.chatbot.json'}`,
89
+ `CHATBOT_PROMPTS_PATH: ${process.env.CHATBOT_PROMPTS_PATH || './config/prompts.chatbot.json'}`,
90
+ `CHATBOT_CONNECTORS_PATH: ${process.env.CHATBOT_CONNECTORS_PATH || './config/connectors.chatbot.json'}`,
91
+ `LLM_SETTINGS_PATH: ${process.env.LLM_SETTINGS_PATH || './config/llm.settings.json'}`,
92
+ `AUTH_FILE_PATH: ${process.env.AUTH_FILE_PATH || './data/auth_state.json'}`,
93
+ `DATABASE_PATH: ${process.env.DATABASE_PATH || './data/bot.db'}`,
94
+ `DATA_DIR: ${process.env.DATA_DIR || './data'}`,
95
+ `MEDIA_DIR: ${process.env.MEDIA_DIR || './data/media'}`,
96
+ `BACKUP_DIR: ${process.env.BACKUP_DIR || './backups'}`,
97
+ `LOCAL_ENV_PATH: ${process.env.LOCAL_ENV_PATH || '.env'}`,
98
+ ].join('\n');
99
+ }
100
+ function valueAtPath(value, path) {
101
+ if (!path.trim())
102
+ return value;
103
+ return path.split('.').reduce((current, key) => {
104
+ if (current && typeof current === 'object' && key in current)
105
+ return current[key];
106
+ return undefined;
107
+ }, value);
108
+ }
109
+ function printable(value) {
110
+ if (typeof value === 'string')
111
+ return value;
112
+ if (typeof value === 'number' || typeof value === 'boolean' || value === null)
113
+ return String(value);
114
+ return JSON.stringify(value, null, 2);
115
+ }
116
+ function json(value) {
117
+ return `${JSON.stringify(value, null, 2)}\n`;
118
+ }
119
+ function ensureFile(path, content, force) {
120
+ const existed = existsSync(path);
121
+ if (existed && !force)
122
+ return 'skipped';
123
+ mkdirSync(dirname(path), { recursive: true });
124
+ writeFileSync(path, content, 'utf8');
125
+ return existed ? 'updated' : 'created';
126
+ }
127
+ function ensureDir(path) {
128
+ const existed = existsSync(path);
129
+ mkdirSync(path, { recursive: true });
130
+ return existed ? 'exists' : 'created';
131
+ }
132
+ function packageFile(path) {
133
+ return readFileSync(resolve(dirname(fileURLToPath(import.meta.url)), '..', '..', path), 'utf8');
134
+ }
135
+ function envTemplate() {
136
+ return [
137
+ 'BOT_TIMEZONE=Asia/Dubai',
138
+ 'OWNER_JID=',
139
+ 'OPENROUTER_API_KEY=',
140
+ 'KILOCODE_API_KEY=',
141
+ 'GROQ_API_KEY=',
142
+ 'GEMINI_API_KEY=',
143
+ 'CRUNCHTROVA_API=',
144
+ '',
145
+ 'DATA_DIR=./data',
146
+ 'AUTH_FILE_PATH=./data/auth_state.json',
147
+ 'DATABASE_PATH=./data/bot.db',
148
+ 'MEDIA_DIR=./data/media',
149
+ 'BACKUP_DIR=./backups',
150
+ '',
151
+ 'CHATBOT_CONFIG_PATH=./config/chatbot.config.json',
152
+ 'CHATBOT_TOOLS_PATH=./config/tools.chatbot.json',
153
+ 'CHATBOT_PROMPTS_PATH=./config/prompts.chatbot.json',
154
+ 'CHATBOT_CONNECTORS_PATH=./config/connectors.chatbot.json',
155
+ 'LLM_SETTINGS_PATH=./config/llm.settings.json',
156
+ 'LOCAL_ENV_PATH=./.env',
157
+ '',
158
+ ].join('\n');
159
+ }
160
+ function pm2Ecosystem() {
161
+ return [
162
+ "module.exports = {",
163
+ " apps: [",
164
+ " {",
165
+ " name: 'nduka-bot',",
166
+ " script: process.env.NDUKA_CLI_BIN || 'nduka',",
167
+ " args: 'worker',",
168
+ " interpreter: 'none',",
169
+ " cwd: __dirname,",
170
+ " autorestart: true,",
171
+ " restart_delay: 5000,",
172
+ " max_restarts: 25,",
173
+ " max_memory_restart: '750M',",
174
+ " time: true,",
175
+ " env: {",
176
+ " NODE_ENV: 'production',",
177
+ " MEDIA_QUEUE_WORKER_ENABLED: 'true'",
178
+ " }",
179
+ " }",
180
+ " ]",
181
+ "};",
182
+ '',
183
+ ].join('\n');
184
+ }
185
+ function initConfig(force) {
186
+ const chatbotPath = process.env.CHATBOT_CONFIG_PATH || './config/chatbot.config.json';
187
+ const toolsPath = process.env.CHATBOT_TOOLS_PATH || './config/tools.chatbot.json';
188
+ const promptsPath = process.env.CHATBOT_PROMPTS_PATH || './config/prompts.chatbot.json';
189
+ const llmPath = process.env.LLM_SETTINGS_PATH || './config/llm.settings.json';
190
+ const envPath = process.env.LOCAL_ENV_PATH || './.env';
191
+ const ecosystemPath = process.env.PM2_ECOSYSTEM_PATH || './ecosystem.config.cjs';
192
+ const dataPath = process.env.DATA_DIR || './data';
193
+ const mediaPath = process.env.MEDIA_DIR || './data/media';
194
+ const backupPath = process.env.BACKUP_DIR || './backups';
195
+ const connectorsResult = ensureConnectorManifest(undefined, force);
196
+ const results = [
197
+ `${dataPath}: ${ensureDir(dataPath)}`,
198
+ `${mediaPath}: ${ensureDir(mediaPath)}`,
199
+ `${backupPath}: ${ensureDir(backupPath)}`,
200
+ `${envPath}: ${ensureFile(envPath, envTemplate(), force)}`,
201
+ `${chatbotPath}: ${ensureFile(chatbotPath, json(DEFAULT_CHATBOT_CONFIG), force)}`,
202
+ `${toolsPath}: ${ensureFile(toolsPath, json(DEFAULT_TOOL_CATALOG), force)}`,
203
+ `${promptsPath}: ${ensureFile(promptsPath, json({ version: 1, prompts: DEFAULT_PROMPTS }), force)}`,
204
+ `${llmPath}: ${ensureFile(llmPath, packageFile('config/llm.settings.json'), force)}`,
205
+ `${process.env.CHATBOT_CONNECTORS_PATH || './config/connectors.chatbot.json'}: ${connectorsResult}`,
206
+ `${ecosystemPath}: ${ensureFile(ecosystemPath, pm2Ecosystem(), force)}`,
207
+ ];
208
+ return ['Initialized local runtime files:', ...results, '', 'Secrets are not written. Add API keys to .env or use secrets/tools key commands.'].join('\n');
209
+ }
210
+ function ensureRuntimeDefaults() {
211
+ initConfig(false);
212
+ }
213
+ function smokeChecklist() {
214
+ return [
215
+ 'Manual smoke-test checklist',
216
+ '',
217
+ 'Before starting:',
218
+ '1. nduka init',
219
+ '2. nduka doctor',
220
+ '3. nduka config validate',
221
+ '',
222
+ 'Start:',
223
+ '4. nduka worker',
224
+ '',
225
+ 'Customer DM checks:',
226
+ '5. /news US Iran today -> should show normal customer command guidance, not search results',
227
+ '6. /search president of Nigeria -> should show normal customer command guidance, not search results',
228
+ '7. What is the news about US and Iran today? -> should answer naturally using direct tool routing',
229
+ '8. Who is the current president of Nigeria and when did he enter office? -> should answer naturally using direct tool routing',
230
+ '',
231
+ 'Owner self-chat checks:',
232
+ '9. /help -> should show full owner/admin help, including inbox commands',
233
+ '10. /news US Iran today -> synthesized answer',
234
+ '11. /search president of Nigeria -> synthesized answer',
235
+ '12. /fetch https://gulfnews.com -> synthesized page answer',
236
+ '13. /newsraw US Iran today -> raw debug output',
237
+ '14. /schedule <alias> in 3 hours Hello -> creates pending scheduled message for alias',
238
+ '',
239
+ 'Group checks:',
240
+ '15. Unmentioned group message -> no reply',
241
+ '16. Mentioned group question -> concise group reply or safe fallback',
242
+ ].join('\n');
243
+ }
244
+ function runtimeScript(kind) {
245
+ const script = kind === 'worker' ? '../gateway/bootstrap.js' : '../gateway/server.js';
246
+ const packagedPath = resolve(dirname(fileURLToPath(import.meta.url)), script);
247
+ if (existsSync(packagedPath))
248
+ return packagedPath;
249
+ return kind === 'worker' ? 'dist/gateway/bootstrap.js' : 'dist/gateway/server.js';
250
+ }
251
+ function runtimeCommand(kind) {
252
+ const script = runtimeScript(kind);
253
+ if (kind === 'worker') {
254
+ return { command: process.execPath, args: [script], env: { MEDIA_QUEUE_WORKER_ENABLED: 'true' }, printable: `MEDIA_QUEUE_WORKER_ENABLED=true node ${script}` };
255
+ }
256
+ return { command: process.execPath, args: [script], printable: `node ${script}` };
257
+ }
258
+ function authLoginRuntimeCommand() {
259
+ const path = getAuthStatus().path;
260
+ const script = runtimeScript('worker');
261
+ return { command: process.execPath, args: [script], env: { MEDIA_QUEUE_WORKER_ENABLED: 'true', AUTH_FILE_PATH: path }, printable: loginCommand(path) };
262
+ }
263
+ function runRuntimeCommand(spec) {
264
+ return new Promise((resolveExitCode) => {
265
+ const child = spawn(spec.command, spec.args, { stdio: 'inherit', env: { ...process.env, ...(spec.env || {}) } });
266
+ child.on('exit', (code) => resolveExitCode(code ?? 0));
267
+ child.on('error', () => resolveExitCode(1));
268
+ });
269
+ }
270
+ function valueFromEnvArgs(args) {
271
+ const index = args.indexOf('--from-env');
272
+ if (index < 0 || !args[index + 1])
273
+ return { ok: false, error: 'Use --from-env <ENV_VAR> so secret values are not placed in shell history.' };
274
+ const envName = args[index + 1];
275
+ const value = process.env[envName];
276
+ if (!value)
277
+ return { ok: false, error: `Environment variable is not set: ${envName}` };
278
+ return { ok: true, value, envName };
279
+ }
280
+ async function handleAuthCommand(subcommand, args, io) {
281
+ try {
282
+ if (!subcommand || subcommand === 'status' || subcommand === 'paths') {
283
+ io.log(formatAuthStatus());
284
+ return 0;
285
+ }
286
+ if (subcommand === 'backup') {
287
+ const result = backupAuthState();
288
+ io.log(result.backupPath ? `Auth backup created: ${result.backupPath}` : `No auth state found at: ${result.authPath}`);
289
+ return 0;
290
+ }
291
+ if (subcommand === 'reset' || subcommand === 'logout') {
292
+ const result = resetAuthState({ yes: args.includes('--yes') });
293
+ io.log(result.backupPath ? `Auth backed up: ${result.backupPath}` : `No existing auth state found at: ${result.authPath}`);
294
+ io.log('Local auth state removed. Next login will require QR/pairing.');
295
+ return 0;
296
+ }
297
+ if (subcommand === 'login') {
298
+ if (args.includes('--reset'))
299
+ resetAuthState({ yes: args.includes('--yes') });
300
+ const spec = authLoginRuntimeCommand();
301
+ if (args.includes('--print')) {
302
+ io.log(spec.printable);
303
+ return 0;
304
+ }
305
+ ensureRuntimeDefaults();
306
+ return runRuntimeCommand(spec);
307
+ }
308
+ io.error('Usage: nduka auth status|backup|reset --yes|logout --yes|login [--reset --yes] [--print]');
309
+ return 1;
310
+ }
311
+ catch (err) {
312
+ io.error(err.message);
313
+ return 1;
314
+ }
315
+ }
316
+ function handleSecretsCommand(subcommand, arg, rest, io) {
317
+ try {
318
+ if (!subcommand || subcommand === 'status') {
319
+ io.log(formatLocalEnvStatus());
320
+ return 0;
321
+ }
322
+ if (subcommand === 'audit') {
323
+ io.log(formatSecretsAudit());
324
+ return 0;
325
+ }
326
+ if (subcommand === 'list') {
327
+ io.log(formatLocalEnvList());
328
+ return 0;
329
+ }
330
+ if (subcommand === 'set') {
331
+ if (!arg) {
332
+ io.error('Usage: nduka secrets set <name> --from-env <ENV_VAR>');
333
+ return 1;
334
+ }
335
+ const found = valueFromEnvArgs(rest);
336
+ if (!found.ok) {
337
+ io.error(found.error);
338
+ return 1;
339
+ }
340
+ const result = setLocalEnvValue(arg, found.value);
341
+ io.log(`Saved ${result.key} from ${found.envName} to ${result.path}. Value not printed.`);
342
+ return 0;
343
+ }
344
+ if (subcommand === 'unset') {
345
+ if (!arg || !rest.includes('--yes')) {
346
+ io.error('Usage: nduka secrets unset <name> --yes');
347
+ return 1;
348
+ }
349
+ const result = unsetLocalEnvValue(arg);
350
+ io.log(result.existed ? `Removed ${result.key} from ${result.path}.` : `${result.key} was not set in ${result.path}.`);
351
+ return 0;
352
+ }
353
+ io.error('Usage: nduka secrets status|audit|list|set|unset');
354
+ return 1;
355
+ }
356
+ catch (err) {
357
+ io.error(err.message);
358
+ return 1;
359
+ }
360
+ }
361
+ async function testKnownTool(toolName, input, io) {
362
+ if (!toolName || !input) {
363
+ io.error('Usage: nduka tools test <web_search|news_search|url_fetch> <query-or-url>');
364
+ return 1;
365
+ }
366
+ const client = new CrunchtrovaClient();
367
+ if (toolName === 'web_search') {
368
+ const guarded = normalizeToolQuery(input);
369
+ if (!guarded.ok) {
370
+ io.error(guarded.error || 'Invalid input');
371
+ return 1;
372
+ }
373
+ const { results, error } = await client.searchWeb(guarded.value, 3, 1000);
374
+ if (error) {
375
+ io.error(error);
376
+ return 1;
377
+ }
378
+ io.log(client.formatWebResults(results));
379
+ return 0;
380
+ }
381
+ if (toolName === 'news_search') {
382
+ const guarded = normalizeToolQuery(input);
383
+ if (!guarded.ok) {
384
+ io.error(guarded.error || 'Invalid input');
385
+ return 1;
386
+ }
387
+ const { results, error } = await client.searchNews(guarded.value, 3, 1000);
388
+ if (error) {
389
+ io.error(error);
390
+ return 1;
391
+ }
392
+ io.log(client.formatNewsResults(results));
393
+ return 0;
394
+ }
395
+ if (toolName === 'url_fetch') {
396
+ const guarded = normalizeFetchUrl(input);
397
+ if (!guarded.ok) {
398
+ io.error(guarded.error || 'Invalid input');
399
+ return 1;
400
+ }
401
+ const { result, error } = await client.fetchUrl(guarded.value);
402
+ if (error) {
403
+ io.error(error);
404
+ return 1;
405
+ }
406
+ if (!result) {
407
+ io.error('No content returned.');
408
+ return 1;
409
+ }
410
+ io.log(client.formatFetchResult(result));
411
+ return 0;
412
+ }
413
+ io.error(`Unknown testable tool: ${toolName}`);
414
+ return 1;
415
+ }
416
+ function isMainEntrypoint() {
417
+ const entrypoint = process.argv[1];
418
+ if (!entrypoint)
419
+ return false;
420
+ try {
421
+ return realpathSync(resolve(entrypoint)) === realpathSync(fileURLToPath(import.meta.url));
422
+ }
423
+ catch {
424
+ return /(?:^|[\/])(?:nduka|wa-chatbot|index\.(?:js|ts))$/.test(entrypoint);
425
+ }
426
+ }
427
+ export async function runCli(argv, io = console) {
428
+ const [command = 'help', subcommand = '', arg = '', ...rest] = argv;
429
+ if (command === 'help' || command === '--help' || command === '-h') {
430
+ io.log(help());
431
+ return 0;
432
+ }
433
+ if (command === 'health') {
434
+ const report = getRuntimeHealth();
435
+ if (subcommand !== '--quiet')
436
+ io.log(formatRuntimeHealth(report));
437
+ return report.status === 'fail' ? 1 : 0;
438
+ }
439
+ if (command === 'start' || command === 'worker') {
440
+ const spec = runtimeCommand(command);
441
+ if (subcommand === '--print') {
442
+ io.log(spec.printable);
443
+ return 0;
444
+ }
445
+ ensureRuntimeDefaults();
446
+ return runRuntimeCommand(spec);
447
+ }
448
+ if (command === 'auth')
449
+ return handleAuthCommand(subcommand, [arg, ...rest].filter(Boolean), io);
450
+ if (command === 'secrets')
451
+ return handleSecretsCommand(subcommand, arg, rest, io);
452
+ if (command === 'connectors') {
453
+ try {
454
+ io.log(handleConnectorCliCommand(subcommand, arg, rest));
455
+ return 0;
456
+ }
457
+ catch (err) {
458
+ io.error(err.message);
459
+ return 1;
460
+ }
461
+ }
462
+ if (command === 'admin' && subcommand === 'report') {
463
+ io.log(formatAdminReport());
464
+ return 0;
465
+ }
466
+ if (command === 'aliases' && (!subcommand || subcommand === 'list')) {
467
+ io.log(formatCliAliasList(Number(arg || 100)));
468
+ return 0;
469
+ }
470
+ if (command === 'schedule' && (!subcommand || subcommand === 'list')) {
471
+ io.log(formatCliScheduleList(Number(arg || 20)));
472
+ return 0;
473
+ }
474
+ if (command === 'schedule' && subcommand === 'cancel') {
475
+ try {
476
+ io.log(cancelCliSchedule(arg));
477
+ return 0;
478
+ }
479
+ catch (err) {
480
+ io.error(err.message);
481
+ return 1;
482
+ }
483
+ }
484
+ if (command === 'db' && subcommand === 'stats') {
485
+ io.log(formatDbStats());
486
+ return 0;
487
+ }
488
+ if (command === 'backup' && subcommand === 'all') {
489
+ try {
490
+ io.log(backupAllLocal());
491
+ return 0;
492
+ }
493
+ catch (err) {
494
+ io.error(err.message);
495
+ return 1;
496
+ }
497
+ }
498
+ if (command === 'init') {
499
+ io.log(initConfig(subcommand === '--force'));
500
+ return 0;
501
+ }
502
+ if (command === 'smoke') {
503
+ io.log(smokeChecklist());
504
+ return 0;
505
+ }
506
+ if (command === 'doctor') {
507
+ if (subcommand === '--json') {
508
+ io.log(formatDoctorJson());
509
+ return 0;
510
+ }
511
+ const prompts = new PromptRegistry();
512
+ const catalog = new ToolCatalog();
513
+ const models = new ModelManager();
514
+ io.log(['🩺 nduka doctor', '', 'Provider keys:', ...providerStatus(), '', 'Models:', models.statusFormatted(), '', 'Prompts:', ...prompts.list().map((name) => `- ${name}`), '', catalog.formatStatus(), '', configPaths(), '', 'Admin:', `Auth: ${getAuthStatus().exists ? 'present' : 'missing'}`].join('\n'));
515
+ return 0;
516
+ }
517
+ if (command === 'tools' && (subcommand === 'key-status' || subcommand === 'keys')) {
518
+ io.log(formatLocalEnvStatus());
519
+ return 0;
520
+ }
521
+ if (command === 'tools' && subcommand === 'validate') {
522
+ try {
523
+ io.log(validateTools());
524
+ return 0;
525
+ }
526
+ catch (err) {
527
+ io.error(err.message);
528
+ return 1;
529
+ }
530
+ }
531
+ if (command === 'tools' && subcommand === 'key') {
532
+ if (!arg) {
533
+ io.error('Usage: nduka tools key <crunchtrova> --from-env <ENV_VAR>');
534
+ return 1;
535
+ }
536
+ const found = valueFromEnvArgs(rest);
537
+ if (!found.ok) {
538
+ io.error(found.error);
539
+ return 1;
540
+ }
541
+ try {
542
+ const result = setLocalEnvValue(arg, found.value);
543
+ io.log(`Saved ${result.key} from ${found.envName} to ${result.path}. Value not printed.`);
544
+ return 0;
545
+ }
546
+ catch (err) {
547
+ io.error(err.message);
548
+ return 1;
549
+ }
550
+ }
551
+ if (command === 'tools' && subcommand === 'list') {
552
+ io.log(new ToolCatalog().formatStatus());
553
+ return 0;
554
+ }
555
+ if (command === 'tools' && subcommand === 'test')
556
+ return testKnownTool(arg, rest.join(' '), io);
557
+ if (command === 'models' && subcommand === 'choose') {
558
+ io.error('Provider-level model switching is disabled. Model routing is settings-backed. Edit config/llm.settings.json or set the task-specific env vars declared there.');
559
+ return 1;
560
+ }
561
+ if (command === 'models' && subcommand === 'status') {
562
+ io.log(new ModelManager().statusFormatted());
563
+ return 0;
564
+ }
565
+ if (command === 'models' && subcommand === 'list') {
566
+ io.log(new ModelManager().listModelsFormatted());
567
+ return 0;
568
+ }
569
+ if (command === 'prompts' && subcommand === 'list') {
570
+ const prompts = new PromptRegistry();
571
+ io.log(['Prompts:', ...prompts.list().map((name) => `- ${name}`)].join('\n'));
572
+ return 0;
573
+ }
574
+ if (command === 'prompts' && subcommand === 'get') {
575
+ if (!arg) {
576
+ io.error('Usage: nduka prompts get <name>');
577
+ return 1;
578
+ }
579
+ try {
580
+ io.log(new PromptRegistry().get(arg));
581
+ return 0;
582
+ }
583
+ catch (err) {
584
+ io.error(err.message);
585
+ return 1;
586
+ }
587
+ }
588
+ if (command === 'config' && subcommand === 'paths') {
589
+ io.log(configPaths());
590
+ return 0;
591
+ }
592
+ if (command === 'config' && subcommand === 'validate') {
593
+ try {
594
+ loadChatbotConfig();
595
+ io.log('Config valid.');
596
+ return 0;
597
+ }
598
+ catch (err) {
599
+ io.error(`Config invalid: ${err.message}`);
600
+ return 1;
601
+ }
602
+ }
603
+ if (command === 'config' && subcommand === 'show') {
604
+ try {
605
+ io.log(JSON.stringify(loadChatbotConfig(), null, 2));
606
+ return 0;
607
+ }
608
+ catch (err) {
609
+ io.error(`Config invalid: ${err.message}`);
610
+ return 1;
611
+ }
612
+ }
613
+ if (command === 'config' && subcommand === 'get') {
614
+ if (!arg) {
615
+ io.error('Usage: nduka config get <path>');
616
+ return 1;
617
+ }
618
+ try {
619
+ const value = valueAtPath(loadChatbotConfig(), arg);
620
+ if (value === undefined) {
621
+ io.error(`Config path not found: ${arg}`);
622
+ return 1;
623
+ }
624
+ io.log(printable(value));
625
+ return 0;
626
+ }
627
+ catch (err) {
628
+ io.error(`Config invalid: ${err.message}`);
629
+ return 1;
630
+ }
631
+ }
632
+ if (command === 'config' && subcommand === 'set') {
633
+ if (!arg || rest.length === 0) {
634
+ io.error('Usage: nduka config set <path> <json-value>');
635
+ return 1;
636
+ }
637
+ try {
638
+ const value = parseCliJsonValue(rest.join(' '));
639
+ const result = setConfigValue(arg, value);
640
+ io.log(`Config updated: ${arg}`);
641
+ io.log(`Backup created: ${result.backupPath}`);
642
+ return 0;
643
+ }
644
+ catch (err) {
645
+ io.error(err.message);
646
+ return 1;
647
+ }
648
+ }
649
+ if (command === 'config' && subcommand === 'unset') {
650
+ if (!arg) {
651
+ io.error('Usage: nduka config unset <path>');
652
+ return 1;
653
+ }
654
+ try {
655
+ const result = unsetConfigValue(arg);
656
+ io.log(`Config unset: ${arg}`);
657
+ io.log(`Backup created: ${result.backupPath}`);
658
+ return 0;
659
+ }
660
+ catch (err) {
661
+ io.error(err.message);
662
+ return 1;
663
+ }
664
+ }
665
+ if (command === 'config' && subcommand === 'backup') {
666
+ try {
667
+ const result = createConfigBackup();
668
+ io.log(`Backup created: ${result.backupPath}`);
669
+ return 0;
670
+ }
671
+ catch (err) {
672
+ io.error(err.message);
673
+ return 1;
674
+ }
675
+ }
676
+ if (command === 'config' && subcommand === 'restore') {
677
+ if (!arg) {
678
+ io.error('Usage: nduka config restore <backup-file>');
679
+ return 1;
680
+ }
681
+ try {
682
+ const result = restoreConfigBackup(arg);
683
+ io.log(`Config restored from: ${arg}`);
684
+ io.log(`Pre-restore backup created: ${result.backupPath}`);
685
+ return 0;
686
+ }
687
+ catch (err) {
688
+ io.error(err.message);
689
+ return 1;
690
+ }
691
+ }
692
+ if (command === 'config' && subcommand === 'diff') {
693
+ try {
694
+ io.log(diffConfig());
695
+ return 0;
696
+ }
697
+ catch (err) {
698
+ io.error(err.message);
699
+ return 1;
700
+ }
701
+ }
702
+ io.error(`Unknown command: ${argv.join(' ')}`.trim());
703
+ io.log(help());
704
+ return 1;
705
+ }
706
+ if (isMainEntrypoint()) {
707
+ runCli(process.argv.slice(2)).then((code) => { process.exitCode = code; });
708
+ }
709
+ //# sourceMappingURL=index.js.map