@hotmeshio/long-tail 0.4.6 → 0.4.8

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 (171) hide show
  1. package/build/adapters/express.d.ts +68 -0
  2. package/build/adapters/express.js +163 -0
  3. package/build/api/users.d.ts +2 -0
  4. package/build/api/users.js +1 -0
  5. package/build/index.d.ts +1 -0
  6. package/build/index.js +11 -1
  7. package/build/lib/events/socketio.d.ts +3 -0
  8. package/build/lib/events/socketio.js +6 -1
  9. package/build/services/user/crud.js +4 -0
  10. package/build/services/user/index.d.ts +1 -0
  11. package/build/services/user/index.js +3 -1
  12. package/build/services/user/seed-admin.d.ts +13 -0
  13. package/build/services/user/seed-admin.js +42 -0
  14. package/build/services/user/types.d.ts +1 -0
  15. package/build/start/index.js +2 -2
  16. package/build/start/workers.d.ts +3 -1
  17. package/build/start/workers.js +10 -0
  18. package/build/tsconfig.tsbuildinfo +1 -1
  19. package/build/types/startup.d.ts +41 -0
  20. package/dashboard/dist/assets/{AdminDashboard-qZYNzvw8.js → AdminDashboard-BVtpNGO1.js} +2 -2
  21. package/dashboard/dist/assets/{AdminDashboard-qZYNzvw8.js.map → AdminDashboard-BVtpNGO1.js.map} +1 -1
  22. package/dashboard/dist/assets/{AgentConfigPage-_SMbioNp.js → AgentConfigPage-BGDDZpxn.js} +2 -2
  23. package/dashboard/dist/assets/{AgentConfigPage-_SMbioNp.js.map → AgentConfigPage-BGDDZpxn.js.map} +1 -1
  24. package/dashboard/dist/assets/{AgentDetailPage-Cf_SRtbT.js → AgentDetailPage-9wlNBv63.js} +2 -2
  25. package/dashboard/dist/assets/{AgentDetailPage-Cf_SRtbT.js.map → AgentDetailPage-9wlNBv63.js.map} +1 -1
  26. package/dashboard/dist/assets/{AgentsPage-q53C1Xk_.js → AgentsPage-C8Sf-OUW.js} +2 -2
  27. package/dashboard/dist/assets/{AgentsPage-q53C1Xk_.js.map → AgentsPage-C8Sf-OUW.js.map} +1 -1
  28. package/dashboard/dist/assets/{AvailableEscalationsPage-DHWciaKb.js → AvailableEscalationsPage-BzfgOP5p.js} +2 -2
  29. package/dashboard/dist/assets/{AvailableEscalationsPage-DHWciaKb.js.map → AvailableEscalationsPage-BzfgOP5p.js.map} +1 -1
  30. package/dashboard/dist/assets/{BotPicker-638n5Jaz.js → BotPicker-6Xk1Fq1l.js} +2 -2
  31. package/dashboard/dist/assets/{BotPicker-638n5Jaz.js.map → BotPicker-6Xk1Fq1l.js.map} +1 -1
  32. package/dashboard/dist/assets/{CapabilitiesPage-PmgEhPl8.js → CapabilitiesPage-C30RqH3d.js} +2 -2
  33. package/dashboard/dist/assets/{CapabilitiesPage-PmgEhPl8.js.map → CapabilitiesPage-C30RqH3d.js.map} +1 -1
  34. package/dashboard/dist/assets/{CollapsibleSection-BEZoI6NU.js → CollapsibleSection-DR3D4kMt.js} +2 -2
  35. package/dashboard/dist/assets/{CollapsibleSection-BEZoI6NU.js.map → CollapsibleSection-DR3D4kMt.js.map} +1 -1
  36. package/dashboard/dist/assets/CredentialsPage-2nEwkFSm.js +2 -0
  37. package/dashboard/dist/assets/CredentialsPage-2nEwkFSm.js.map +1 -0
  38. package/dashboard/dist/assets/{CronLabel-Dg8U0s5a.js → CronLabel-Cfq2Hlsq.js} +2 -2
  39. package/dashboard/dist/assets/{CronLabel-Dg8U0s5a.js.map → CronLabel-Cfq2Hlsq.js.map} +1 -1
  40. package/dashboard/dist/assets/{CustomDurationPicker-BCbVMr-4.js → CustomDurationPicker-CSvIDpXD.js} +2 -2
  41. package/dashboard/dist/assets/{CustomDurationPicker-BCbVMr-4.js.map → CustomDurationPicker-CSvIDpXD.js.map} +1 -1
  42. package/dashboard/dist/assets/{ElapsedCell-fuG5wRDw.js → ElapsedCell-B4nhqILk.js} +2 -2
  43. package/dashboard/dist/assets/{ElapsedCell-fuG5wRDw.js.map → ElapsedCell-B4nhqILk.js.map} +1 -1
  44. package/dashboard/dist/assets/{EscalationsOverview-nYOZczYx.js → EscalationsOverview-CvMHVxgm.js} +2 -2
  45. package/dashboard/dist/assets/{EscalationsOverview-nYOZczYx.js.map → EscalationsOverview-CvMHVxgm.js.map} +1 -1
  46. package/dashboard/dist/assets/{EventTable-Cm0Ql46x.js → EventTable-faF8fMen.js} +2 -2
  47. package/dashboard/dist/assets/{EventTable-Cm0Ql46x.js.map → EventTable-faF8fMen.js.map} +1 -1
  48. package/dashboard/dist/assets/{HomePage-Cx6pvCFX.js → HomePage-DnSHq_dm.js} +2 -2
  49. package/dashboard/dist/assets/{HomePage-Cx6pvCFX.js.map → HomePage-DnSHq_dm.js.map} +1 -1
  50. package/dashboard/dist/assets/ListToolbar-C1EXfNfS.js +2 -0
  51. package/dashboard/dist/assets/ListToolbar-C1EXfNfS.js.map +1 -0
  52. package/dashboard/dist/assets/{McpOverview-BWsaxVKL.js → McpOverview-B9ZDlmUD.js} +2 -2
  53. package/dashboard/dist/assets/{McpOverview-BWsaxVKL.js.map → McpOverview-B9ZDlmUD.js.map} +1 -1
  54. package/dashboard/dist/assets/{McpQueryDetailPage-CQk3YpR-.js → McpQueryDetailPage-DdrdIa-N.js} +2 -2
  55. package/dashboard/dist/assets/{McpQueryDetailPage-CQk3YpR-.js.map → McpQueryDetailPage-DdrdIa-N.js.map} +1 -1
  56. package/dashboard/dist/assets/{McpQueryPage-Uf5DKujM.js → McpQueryPage-C9wb1cOa.js} +2 -2
  57. package/dashboard/dist/assets/{McpQueryPage-Uf5DKujM.js.map → McpQueryPage-C9wb1cOa.js.map} +1 -1
  58. package/dashboard/dist/assets/{McpRunDetailPage-D9GU27cS.js → McpRunDetailPage-b5ungm-L.js} +2 -2
  59. package/dashboard/dist/assets/{McpRunDetailPage-D9GU27cS.js.map → McpRunDetailPage-b5ungm-L.js.map} +1 -1
  60. package/dashboard/dist/assets/{McpRunsPage-5dVAu25-.js → McpRunsPage-wa62n3tp.js} +2 -2
  61. package/dashboard/dist/assets/{McpRunsPage-5dVAu25-.js.map → McpRunsPage-wa62n3tp.js.map} +1 -1
  62. package/dashboard/dist/assets/{OperatorDashboard-DNJtUDxl.js → OperatorDashboard-BDpk_HF5.js} +2 -2
  63. package/dashboard/dist/assets/{OperatorDashboard-DNJtUDxl.js.map → OperatorDashboard-BDpk_HF5.js.map} +1 -1
  64. package/dashboard/dist/assets/{ProcessDetailPage-BPsvlG0E.js → ProcessDetailPage-DHLKP0kz.js} +2 -2
  65. package/dashboard/dist/assets/{ProcessDetailPage-BPsvlG0E.js.map → ProcessDetailPage-DHLKP0kz.js.map} +1 -1
  66. package/dashboard/dist/assets/{ProcessesListPage-CnuCtHSP.js → ProcessesListPage-CpANHQGA.js} +2 -2
  67. package/dashboard/dist/assets/{ProcessesListPage-CnuCtHSP.js.map → ProcessesListPage-CpANHQGA.js.map} +1 -1
  68. package/dashboard/dist/assets/{RolesPage-BGJMx2S2.js → RolesPage-Ddta3UZX.js} +2 -2
  69. package/dashboard/dist/assets/{RolesPage-BGJMx2S2.js.map → RolesPage-Ddta3UZX.js.map} +1 -1
  70. package/dashboard/dist/assets/{RunAsSelector-CcNnj5AF.js → RunAsSelector-BpeN2J3V.js} +2 -2
  71. package/dashboard/dist/assets/{RunAsSelector-CcNnj5AF.js.map → RunAsSelector-BpeN2J3V.js.map} +1 -1
  72. package/dashboard/dist/assets/{SwimlaneTimeline-fWiYlTQw.js → SwimlaneTimeline-DSra_wMN.js} +2 -2
  73. package/dashboard/dist/assets/{SwimlaneTimeline-fWiYlTQw.js.map → SwimlaneTimeline-DSra_wMN.js.map} +1 -1
  74. package/dashboard/dist/assets/{TaskDetailPage-Byz19B5I.js → TaskDetailPage-Dqha2tKb.js} +2 -2
  75. package/dashboard/dist/assets/{TaskDetailPage-Byz19B5I.js.map → TaskDetailPage-Dqha2tKb.js.map} +1 -1
  76. package/dashboard/dist/assets/{TasksListPage-pe1Opw6s.js → TasksListPage-CM16b5S8.js} +2 -2
  77. package/dashboard/dist/assets/{TasksListPage-pe1Opw6s.js.map → TasksListPage-CM16b5S8.js.map} +1 -1
  78. package/dashboard/dist/assets/{TimeAgo-8aYUlXT9.js → TimeAgo-DCjPMPw-.js} +2 -2
  79. package/dashboard/dist/assets/{TimeAgo-8aYUlXT9.js.map → TimeAgo-DCjPMPw-.js.map} +1 -1
  80. package/dashboard/dist/assets/{TimestampCell-_1fW34op.js → TimestampCell-BBdTvZ08.js} +2 -2
  81. package/dashboard/dist/assets/{TimestampCell-_1fW34op.js.map → TimestampCell-BBdTvZ08.js.map} +1 -1
  82. package/dashboard/dist/assets/{ToolTestPanel-BD7ZkPeM.js → ToolTestPanel-Dz-76HVQ.js} +2 -2
  83. package/dashboard/dist/assets/{ToolTestPanel-BD7ZkPeM.js.map → ToolTestPanel-Dz-76HVQ.js.map} +1 -1
  84. package/dashboard/dist/assets/{TopicDetailPage-DL6QarSi.js → TopicDetailPage-Ccqf9h5E.js} +2 -2
  85. package/dashboard/dist/assets/{TopicDetailPage-DL6QarSi.js.map → TopicDetailPage-Ccqf9h5E.js.map} +1 -1
  86. package/dashboard/dist/assets/{TopicsPage-JYAk0csl.js → TopicsPage--1V67zFa.js} +2 -2
  87. package/dashboard/dist/assets/{TopicsPage-JYAk0csl.js.map → TopicsPage--1V67zFa.js.map} +1 -1
  88. package/dashboard/dist/assets/{UserName-Dcn8reNm.js → UserName-CfaTpV3T.js} +2 -2
  89. package/dashboard/dist/assets/{UserName-Dcn8reNm.js.map → UserName-CfaTpV3T.js.map} +1 -1
  90. package/dashboard/dist/assets/{WorkflowExecutionPage-DPie2xiD.js → WorkflowExecutionPage-Cp5_bsHY.js} +2 -2
  91. package/dashboard/dist/assets/{WorkflowExecutionPage-DPie2xiD.js.map → WorkflowExecutionPage-Cp5_bsHY.js.map} +1 -1
  92. package/dashboard/dist/assets/{WorkflowsDashboard-BRKurUye.js → WorkflowsDashboard-DaZZg4xU.js} +2 -2
  93. package/dashboard/dist/assets/{WorkflowsDashboard-BRKurUye.js.map → WorkflowsDashboard-DaZZg4xU.js.map} +1 -1
  94. package/dashboard/dist/assets/{WorkflowsOverview-C9Wob38P.js → WorkflowsOverview-D_ZkBVhB.js} +2 -2
  95. package/dashboard/dist/assets/{WorkflowsOverview-C9Wob38P.js.map → WorkflowsOverview-D_ZkBVhB.js.map} +1 -1
  96. package/dashboard/dist/assets/{YamlWorkflowsPage-BoKSRpKN.js → YamlWorkflowsPage-BKFXRwbK.js} +2 -2
  97. package/dashboard/dist/assets/{YamlWorkflowsPage-BoKSRpKN.js.map → YamlWorkflowsPage-BKFXRwbK.js.map} +1 -1
  98. package/dashboard/dist/assets/{agents-CpLOugsY.js → agents-GIg2jxet.js} +2 -2
  99. package/dashboard/dist/assets/{agents-CpLOugsY.js.map → agents-GIg2jxet.js.map} +1 -1
  100. package/dashboard/dist/assets/{bots-DRrquJqC.js → bots-CvrmNkL3.js} +2 -2
  101. package/dashboard/dist/assets/{bots-DRrquJqC.js.map → bots-CvrmNkL3.js.map} +1 -1
  102. package/dashboard/dist/assets/{capabilities-xbHvOXKc.js → capabilities-CQ5WgulO.js} +2 -2
  103. package/dashboard/dist/assets/{capabilities-xbHvOXKc.js.map → capabilities-CQ5WgulO.js.map} +1 -1
  104. package/dashboard/dist/assets/{controlplane-FilVp8jI.js → controlplane-sh5paKGB.js} +2 -2
  105. package/dashboard/dist/assets/{controlplane-FilVp8jI.js.map → controlplane-sh5paKGB.js.map} +1 -1
  106. package/dashboard/dist/assets/{escalation-SGea3mBy.js → escalation-DlTtA35J.js} +2 -2
  107. package/dashboard/dist/assets/{escalation-SGea3mBy.js.map → escalation-DlTtA35J.js.map} +1 -1
  108. package/dashboard/dist/assets/{escalation-columns-C6sLGnSX.js → escalation-columns-BHiDO_RZ.js} +2 -2
  109. package/dashboard/dist/assets/{escalation-columns-C6sLGnSX.js.map → escalation-columns-BHiDO_RZ.js.map} +1 -1
  110. package/dashboard/dist/assets/{helpers-wHzG3Maf.js → helpers-DuKOBZxw.js} +2 -2
  111. package/dashboard/dist/assets/{helpers-wHzG3Maf.js.map → helpers-DuKOBZxw.js.map} +1 -1
  112. package/dashboard/dist/assets/{index-C7k3xfpt.js → index-7icR5Pxv.js} +2 -2
  113. package/dashboard/dist/assets/index-7icR5Pxv.js.map +1 -0
  114. package/dashboard/dist/assets/{index-E1i1ADY1.js → index-BWXKb7C7.js} +2 -2
  115. package/dashboard/dist/assets/{index-E1i1ADY1.js.map → index-BWXKb7C7.js.map} +1 -1
  116. package/dashboard/dist/assets/{index-90jmsIHz.js → index-BXGMin7U.js} +2 -2
  117. package/dashboard/dist/assets/{index-90jmsIHz.js.map → index-BXGMin7U.js.map} +1 -1
  118. package/dashboard/dist/assets/{index-B7Vxutyl.js → index-B_e2uIz9.js} +28 -28
  119. package/dashboard/dist/assets/index-B_e2uIz9.js.map +1 -0
  120. package/dashboard/dist/assets/{index-Bu2EEWNN.js → index-C-JkowYp.js} +2 -2
  121. package/dashboard/dist/assets/{index-Bu2EEWNN.js.map → index-C-JkowYp.js.map} +1 -1
  122. package/dashboard/dist/assets/{index-H2tN256i.js → index-CRDT24gK.js} +2 -2
  123. package/dashboard/dist/assets/{index-H2tN256i.js.map → index-CRDT24gK.js.map} +1 -1
  124. package/dashboard/dist/assets/{index-BS3KIrQL.js → index-CglOyur2.js} +2 -2
  125. package/dashboard/dist/assets/{index-BS3KIrQL.js.map → index-CglOyur2.js.map} +1 -1
  126. package/dashboard/dist/assets/{index-DzgixtgL.js → index-CugmdGk-.js} +2 -2
  127. package/dashboard/dist/assets/{index-DzgixtgL.js.map → index-CugmdGk-.js.map} +1 -1
  128. package/dashboard/dist/assets/{index-WwUcAoas.js → index-DIpDSspp.js} +2 -2
  129. package/dashboard/dist/assets/{index-WwUcAoas.js.map → index-DIpDSspp.js.map} +1 -1
  130. package/dashboard/dist/assets/{index-DVxBi47d.js → index-Dbxp9Nvq.js} +2 -2
  131. package/dashboard/dist/assets/{index-DVxBi47d.js.map → index-Dbxp9Nvq.js.map} +1 -1
  132. package/dashboard/dist/assets/{index-CkYNpw4d.js → index-JH__2KWY.js} +2 -2
  133. package/dashboard/dist/assets/{index-CkYNpw4d.js.map → index-JH__2KWY.js.map} +1 -1
  134. package/dashboard/dist/assets/{index-C8xDd-Ys.js → index-PZaFsSGv.js} +2 -2
  135. package/dashboard/dist/assets/{index-C8xDd-Ys.js.map → index-PZaFsSGv.js.map} +1 -1
  136. package/dashboard/dist/assets/{index-Dr8WJAGM.js → index-qpt9aUuQ.js} +2 -2
  137. package/dashboard/dist/assets/{index-Dr8WJAGM.js.map → index-qpt9aUuQ.js.map} +1 -1
  138. package/dashboard/dist/assets/{knowledge-CQWNz28-.js → knowledge-tDl7bioT.js} +2 -2
  139. package/dashboard/dist/assets/{knowledge-CQWNz28-.js.map → knowledge-tDl7bioT.js.map} +1 -1
  140. package/dashboard/dist/assets/{mcp-J_cDlKuA.js → mcp-CvdtxZQK.js} +2 -2
  141. package/dashboard/dist/assets/{mcp-J_cDlKuA.js.map → mcp-CvdtxZQK.js.map} +1 -1
  142. package/dashboard/dist/assets/{mcp-query-C1zyeRvo.js → mcp-query-D5uxvom6.js} +2 -2
  143. package/dashboard/dist/assets/{mcp-query-C1zyeRvo.js.map → mcp-query-D5uxvom6.js.map} +1 -1
  144. package/dashboard/dist/assets/{mcp-runs-BR4fvXXw.js → mcp-runs-DBUF_MeD.js} +2 -2
  145. package/dashboard/dist/assets/{mcp-runs-BR4fvXXw.js.map → mcp-runs-DBUF_MeD.js.map} +1 -1
  146. package/dashboard/dist/assets/{namespaces-XOr9_XCV.js → namespaces-BYTDs3EH.js} +2 -2
  147. package/dashboard/dist/assets/{namespaces-XOr9_XCV.js.map → namespaces-BYTDs3EH.js.map} +1 -1
  148. package/dashboard/dist/assets/{roles-yuxJgQBf.js → roles-BWPoKy_E.js} +2 -2
  149. package/dashboard/dist/assets/{roles-yuxJgQBf.js.map → roles-BWPoKy_E.js.map} +1 -1
  150. package/dashboard/dist/assets/{tasks-CI3qsHdP.js → tasks-BQH9o3Ge.js} +2 -2
  151. package/dashboard/dist/assets/{tasks-CI3qsHdP.js.map → tasks-BQH9o3Ge.js.map} +1 -1
  152. package/dashboard/dist/assets/{topics-lm2GYKuv.js → topics-BjuxqPQn.js} +2 -2
  153. package/dashboard/dist/assets/{topics-lm2GYKuv.js.map → topics-BjuxqPQn.js.map} +1 -1
  154. package/dashboard/dist/assets/{useEventHooks-DpvfSw9p.js → useEventHooks-CZR0V3cW.js} +2 -2
  155. package/dashboard/dist/assets/{useEventHooks-DpvfSw9p.js.map → useEventHooks-CZR0V3cW.js.map} +1 -1
  156. package/dashboard/dist/assets/{useYamlActivityEvents-D-zuU9Ts.js → useYamlActivityEvents-DATwT-Bk.js} +2 -2
  157. package/dashboard/dist/assets/{useYamlActivityEvents-D-zuU9Ts.js.map → useYamlActivityEvents-DATwT-Bk.js.map} +1 -1
  158. package/dashboard/dist/assets/{users-DRkulG9o.js → users-DzO800OU.js} +2 -2
  159. package/dashboard/dist/assets/{users-DRkulG9o.js.map → users-DzO800OU.js.map} +1 -1
  160. package/dashboard/dist/assets/{workflows-dhvM792w.js → workflows-C093TSq9.js} +2 -2
  161. package/dashboard/dist/assets/{workflows-dhvM792w.js.map → workflows-C093TSq9.js.map} +1 -1
  162. package/dashboard/dist/assets/{yaml-workflows-DqbGpE2x.js → yaml-workflows-Du9N-ZOj.js} +2 -2
  163. package/dashboard/dist/assets/{yaml-workflows-DqbGpE2x.js.map → yaml-workflows-Du9N-ZOj.js.map} +1 -1
  164. package/dashboard/dist/index.html +6 -6
  165. package/package.json +1 -1
  166. package/dashboard/dist/assets/CredentialsPage-Dl15oW3U.js +0 -2
  167. package/dashboard/dist/assets/CredentialsPage-Dl15oW3U.js.map +0 -1
  168. package/dashboard/dist/assets/ListToolbar-YHesiWwN.js +0 -2
  169. package/dashboard/dist/assets/ListToolbar-YHesiWwN.js.map +0 -1
  170. package/dashboard/dist/assets/index-B7Vxutyl.js.map +0 -1
  171. package/dashboard/dist/assets/index-C7k3xfpt.js.map +0 -1
@@ -0,0 +1,68 @@
1
+ import { Router } from 'express';
2
+ import type { Server as HttpServer } from 'http';
3
+ /**
4
+ * Express adapter for mounting the Long Tail dashboard at an arbitrary subpath
5
+ * inside an existing Express-based application (NestJS, Fastify-Express, etc.).
6
+ *
7
+ * @example NestJS
8
+ * ```typescript
9
+ * import { LTExpressAdapter } from '@hotmeshio/long-tail';
10
+ *
11
+ * const adapter = new LTExpressAdapter();
12
+ * adapter.setBasePath('/admin/longtail');
13
+ *
14
+ * @Module({})
15
+ * export class LongTailUiModule implements NestModule {
16
+ * configure(consumer: MiddlewareConsumer) {
17
+ * consumer
18
+ * .apply(adapter.getRouter())
19
+ * .forRoutes('/admin/longtail');
20
+ * }
21
+ *
22
+ * async onModuleInit() {
23
+ * // Attach socket.io to the host's HTTP server for real-time events
24
+ * const httpServer = this.httpAdapterHost.httpAdapter.getHttpServer();
25
+ * await adapter.attachServer(httpServer);
26
+ * }
27
+ * }
28
+ * ```
29
+ *
30
+ * @example Express
31
+ * ```typescript
32
+ * import { LTExpressAdapter } from '@hotmeshio/long-tail';
33
+ *
34
+ * const adapter = new LTExpressAdapter();
35
+ * adapter.setBasePath('/admin/longtail');
36
+ * app.use('/admin/longtail', adapter.getRouter());
37
+ *
38
+ * const server = app.listen(3000);
39
+ * await adapter.attachServer(server);
40
+ * ```
41
+ */
42
+ export declare class LTExpressAdapter {
43
+ private basePath;
44
+ /**
45
+ * Set the subpath where the dashboard is mounted.
46
+ * Omit or pass '' for root-level deployment (standalone mode).
47
+ */
48
+ setBasePath(basePath: string): void;
49
+ /**
50
+ * Attach Socket.IO to the host's HTTP server for real-time events.
51
+ *
52
+ * When Long Tail is started with `server: { enabled: false }` (embedded mode),
53
+ * the internal server is not created. Call this after the host server is
54
+ * listening so Socket.IO can bind to it with the correct subpath.
55
+ *
56
+ * Safe to call even when no Socket.IO adapter is registered — it no-ops.
57
+ */
58
+ attachServer(server: HttpServer): Promise<void>;
59
+ /**
60
+ * Return a self-contained Express Router that serves:
61
+ * - `/api/*` — Long Tail API routes (auth, tasks, escalations, etc.)
62
+ * - `/health` — health check
63
+ * - Static dashboard assets
64
+ * - SPA fallback with injected `<base href>` and `window.__LT_BASE__`
65
+ */
66
+ getRouter(): Router;
67
+ private resolveDashboardDist;
68
+ }
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.LTExpressAdapter = void 0;
40
+ const fs_1 = require("fs");
41
+ const path_1 = __importDefault(require("path"));
42
+ const express_1 = __importStar(require("express"));
43
+ const routes_1 = __importDefault(require("../routes"));
44
+ const events_1 = require("../lib/events");
45
+ const socketio_1 = require("../lib/events/socketio");
46
+ /**
47
+ * Express adapter for mounting the Long Tail dashboard at an arbitrary subpath
48
+ * inside an existing Express-based application (NestJS, Fastify-Express, etc.).
49
+ *
50
+ * @example NestJS
51
+ * ```typescript
52
+ * import { LTExpressAdapter } from '@hotmeshio/long-tail';
53
+ *
54
+ * const adapter = new LTExpressAdapter();
55
+ * adapter.setBasePath('/admin/longtail');
56
+ *
57
+ * @Module({})
58
+ * export class LongTailUiModule implements NestModule {
59
+ * configure(consumer: MiddlewareConsumer) {
60
+ * consumer
61
+ * .apply(adapter.getRouter())
62
+ * .forRoutes('/admin/longtail');
63
+ * }
64
+ *
65
+ * async onModuleInit() {
66
+ * // Attach socket.io to the host's HTTP server for real-time events
67
+ * const httpServer = this.httpAdapterHost.httpAdapter.getHttpServer();
68
+ * await adapter.attachServer(httpServer);
69
+ * }
70
+ * }
71
+ * ```
72
+ *
73
+ * @example Express
74
+ * ```typescript
75
+ * import { LTExpressAdapter } from '@hotmeshio/long-tail';
76
+ *
77
+ * const adapter = new LTExpressAdapter();
78
+ * adapter.setBasePath('/admin/longtail');
79
+ * app.use('/admin/longtail', adapter.getRouter());
80
+ *
81
+ * const server = app.listen(3000);
82
+ * await adapter.attachServer(server);
83
+ * ```
84
+ */
85
+ class LTExpressAdapter {
86
+ constructor() {
87
+ this.basePath = '';
88
+ }
89
+ /**
90
+ * Set the subpath where the dashboard is mounted.
91
+ * Omit or pass '' for root-level deployment (standalone mode).
92
+ */
93
+ setBasePath(basePath) {
94
+ this.basePath = basePath.replace(/\/+$/, '');
95
+ }
96
+ /**
97
+ * Attach Socket.IO to the host's HTTP server for real-time events.
98
+ *
99
+ * When Long Tail is started with `server: { enabled: false }` (embedded mode),
100
+ * the internal server is not created. Call this after the host server is
101
+ * listening so Socket.IO can bind to it with the correct subpath.
102
+ *
103
+ * Safe to call even when no Socket.IO adapter is registered — it no-ops.
104
+ */
105
+ async attachServer(server) {
106
+ const socketAdapter = events_1.eventRegistry.getAdapter(socketio_1.SocketIOEventAdapter);
107
+ if (socketAdapter) {
108
+ // Override the socket.io path to include the base path
109
+ if (this.basePath) {
110
+ socketAdapter.setPath(`${this.basePath}/socket.io`);
111
+ }
112
+ socketAdapter.attachServer(server);
113
+ await socketAdapter.connect();
114
+ }
115
+ }
116
+ /**
117
+ * Return a self-contained Express Router that serves:
118
+ * - `/api/*` — Long Tail API routes (auth, tasks, escalations, etc.)
119
+ * - `/health` — health check
120
+ * - Static dashboard assets
121
+ * - SPA fallback with injected `<base href>` and `window.__LT_BASE__`
122
+ */
123
+ getRouter() {
124
+ const router = (0, express_1.Router)();
125
+ router.use(express_1.default.json());
126
+ // Health check
127
+ router.get('/health', (_req, res) => {
128
+ res.json({ status: 'ok', timestamp: new Date().toISOString() });
129
+ });
130
+ // API routes — internal routes handle their own JWT auth
131
+ router.use('/api', routes_1.default);
132
+ // Dashboard static assets
133
+ const dashboardDist = this.resolveDashboardDist();
134
+ if (dashboardDist) {
135
+ router.use(express_1.default.static(dashboardDist));
136
+ // SPA fallback — inject base path into index.html
137
+ const indexHtml = (0, fs_1.readFileSync)(path_1.default.join(dashboardDist, 'index.html'), 'utf-8');
138
+ router.get('/{*splat}', (_req, res) => {
139
+ const html = indexHtml.replace('<head>', '<head>' +
140
+ `<base href="${this.basePath}/">` +
141
+ `<script>window.__LT_BASE__="${this.basePath}"</script>`);
142
+ res.type('html').send(html);
143
+ });
144
+ }
145
+ return router;
146
+ }
147
+ resolveDashboardDist() {
148
+ // Check multiple paths relative to the compiled output location:
149
+ // - Dev (ts-node from repo root): adapters/ -> dashboard/dist
150
+ // - Prod (node build/): build/adapters/ -> dashboard/dist
151
+ // - npm package: node_modules/@hotmeshio/long-tail/build/adapters/ -> dashboard/dist
152
+ const candidates = [
153
+ path_1.default.join(__dirname, '..', 'dashboard', 'dist'),
154
+ path_1.default.join(__dirname, '..', '..', 'dashboard', 'dist'),
155
+ ];
156
+ for (const candidate of candidates) {
157
+ if ((0, fs_1.existsSync)(candidate))
158
+ return candidate;
159
+ }
160
+ return null;
161
+ }
162
+ }
163
+ exports.LTExpressAdapter = LTExpressAdapter;
@@ -43,6 +43,7 @@ export declare function createUser(input: {
43
43
  external_id?: string;
44
44
  email?: string;
45
45
  display_name?: string;
46
+ password?: string;
46
47
  roles?: {
47
48
  role: string;
48
49
  type: string;
@@ -65,6 +66,7 @@ export declare function updateUser(input: {
65
66
  id: string;
66
67
  email?: string;
67
68
  display_name?: string;
69
+ password?: string;
68
70
  status?: string;
69
71
  metadata?: Record<string, any>;
70
72
  }): Promise<LTApiResult>;
@@ -111,6 +111,7 @@ async function createUser(input) {
111
111
  external_id: input.external_id,
112
112
  email: input.email,
113
113
  display_name: input.display_name,
114
+ password: input.password,
114
115
  roles: input.roles,
115
116
  metadata: input.metadata,
116
117
  });
package/build/index.d.ts CHANGED
@@ -47,3 +47,4 @@ export { resolveCredential } from './services/iam/credentials';
47
47
  export * as KnowledgeApi from './api/knowledge';
48
48
  export type { LTClient, LTClientOptions } from './sdk';
49
49
  export * as api from './api';
50
+ export { LTExpressAdapter } from './adapters/express';
package/build/index.js CHANGED
@@ -37,7 +37,7 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.getSystemWorkers = exports.registerMcpTool = exports.getToolContext = exports.getActivityIdentity = exports.McpEscalationStrategy = exports.DefaultEscalationStrategy = exports.escalationStrategyRegistry = exports.McpVisionServer = exports.McpTranslationServer = exports.McpServer = exports.McpClient = exports.McpService = exports.BuiltInMcpAdapter = exports.mcpRegistry = exports.defaultMaintenanceConfig = exports.maintenanceRegistry = exports.PinoLoggerAdapter = exports.loggerRegistry = exports.HoneycombTelemetryAdapter = exports.telemetryRegistry = exports.publishKnowledgeEvent = exports.publishAgentEvent = exports.publishWorkflowEvent = exports.publishActivityEvent = exports.publishEscalationEvent = exports.publishTaskEvent = exports.publishMilestoneEvent = exports.SocketIOEventAdapter = exports.InMemoryEventAdapter = exports.NatsEventAdapter = exports.eventRegistry = exports.ltConfig = exports.seedConfigTopics = exports.seedSystemTopics = exports.TopicService = exports.UserService = exports.ConfigService = exports.EscalationService = exports.TaskService = exports.signToken = exports.requireAdmin = exports.requireAuth = exports.createAuthMiddleware = exports.JwtAuthAdapter = exports.conditionLT = exports.executeLT = exports.createLTActivityInterceptor = exports.createLTInterceptor = exports.registerLT = exports.start = void 0;
40
- exports.api = exports.KnowledgeApi = exports.resolveCredential = exports.mimeFromPath = exports.getStorageBackend = exports.listOAuthConnections = exports.getFreshAccessToken = exports.createClient = exports.CallbackEventAdapter = exports.builtinMcpServerFactories = exports.getSystemAgents = void 0;
40
+ exports.LTExpressAdapter = exports.api = exports.KnowledgeApi = exports.resolveCredential = exports.mimeFromPath = exports.getStorageBackend = exports.listOAuthConnections = exports.getFreshAccessToken = exports.createClient = exports.CallbackEventAdapter = exports.builtinMcpServerFactories = exports.getSystemAgents = void 0;
41
41
  const config_1 = require("./modules/config");
42
42
  const logger_1 = require("./lib/logger");
43
43
  const start_1 = require("./start");
@@ -138,6 +138,8 @@ var credentials_1 = require("./services/iam/credentials");
138
138
  Object.defineProperty(exports, "resolveCredential", { enumerable: true, get: function () { return credentials_1.resolveCredential; } });
139
139
  exports.KnowledgeApi = __importStar(require("./api/knowledge"));
140
140
  exports.api = __importStar(require("./api"));
141
+ var express_1 = require("./adapters/express");
142
+ Object.defineProperty(exports, "LTExpressAdapter", { enumerable: true, get: function () { return express_1.LTExpressAdapter; } });
141
143
  // ─── Server ──────────────────────────────────────────────────────────────────
142
144
  async function main() {
143
145
  const honeycombKey = process.env.HONEYCOMB_API_KEY;
@@ -152,6 +154,14 @@ async function main() {
152
154
  server: {
153
155
  port: config_1.config.PORT,
154
156
  },
157
+ seed: {
158
+ admin: {
159
+ externalId: 'superadmin',
160
+ displayName: 'Super Admin',
161
+ email: 'admin@longtail.local',
162
+ password: 'l0ngt@1l',
163
+ },
164
+ },
155
165
  examples: true,
156
166
  mcp: {
157
167
  server: { enabled: true },
@@ -34,11 +34,14 @@ export declare class SocketIOEventAdapter implements LTEventAdapter {
34
34
  private io;
35
35
  private httpServer;
36
36
  private authenticate;
37
+ private socketPath;
37
38
  constructor(options?: {
38
39
  authenticate?: SocketIOAuthenticator;
39
40
  });
40
41
  /** Attach to an HTTP server. Must be called before connect(). */
41
42
  attachServer(server: HttpServer): void;
43
+ /** Override the socket.io path (for subpath-mounted deployments). */
44
+ setPath(socketPath: string): void;
42
45
  connect(): Promise<void>;
43
46
  publish(event: LTEvent): Promise<void>;
44
47
  disconnect(): Promise<void>;
@@ -32,12 +32,17 @@ class SocketIOEventAdapter {
32
32
  constructor(options) {
33
33
  this.io = null;
34
34
  this.httpServer = null;
35
+ this.socketPath = '/socket.io';
35
36
  this.authenticate = options?.authenticate ?? null;
36
37
  }
37
38
  /** Attach to an HTTP server. Must be called before connect(). */
38
39
  attachServer(server) {
39
40
  this.httpServer = server;
40
41
  }
42
+ /** Override the socket.io path (for subpath-mounted deployments). */
43
+ setPath(socketPath) {
44
+ this.socketPath = socketPath;
45
+ }
41
46
  async connect() {
42
47
  if (!this.httpServer) {
43
48
  logger_1.loggerRegistry.warn('[lt-events:socketio] no HTTP server attached — skipping');
@@ -45,7 +50,7 @@ class SocketIOEventAdapter {
45
50
  }
46
51
  this.io = new socket_io_1.Server(this.httpServer, {
47
52
  cors: { origin: '*', methods: ['GET', 'POST'] },
48
- path: '/socket.io',
53
+ path: this.socketPath,
49
54
  transports: ['polling', 'websocket'],
50
55
  allowEIO3: true,
51
56
  });
@@ -98,6 +98,10 @@ async function updateUser(id, input) {
98
98
  sets.push(`status = $${idx++}`);
99
99
  values.push(input.status);
100
100
  }
101
+ if (input.password !== undefined) {
102
+ sets.push(`password_hash = $${idx++}`);
103
+ values.push(await bcryptjs_1.default.hash(input.password, 10));
104
+ }
101
105
  if (input.metadata !== undefined) {
102
106
  sets.push(`metadata = $${idx++}`);
103
107
  values.push(JSON.stringify(input.metadata));
@@ -3,3 +3,4 @@ export { createUser, getUser, getUserByExternalId, getUserByEmail, updateUser, d
3
3
  export { isValidRoleType, addUserRole, removeUserRole, getUserRoles, hasRole, hasRoleType, } from './roles';
4
4
  export { isSuperAdmin, isGroupAdmin, canManageRole } from './rbac';
5
5
  export { verifyPassword } from './auth';
6
+ export { seedAdmin } from './seed-admin';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verifyPassword = exports.canManageRole = exports.isGroupAdmin = exports.isSuperAdmin = exports.hasRoleType = exports.hasRole = exports.getUserRoles = exports.removeUserRole = exports.addUserRole = exports.isValidRoleType = exports.listUsers = exports.deleteUser = exports.updateUser = exports.getUserByEmail = exports.getUserByExternalId = exports.getUser = exports.createUser = exports.VALID_ROLE_TYPES = void 0;
3
+ exports.seedAdmin = exports.verifyPassword = exports.canManageRole = exports.isGroupAdmin = exports.isSuperAdmin = exports.hasRoleType = exports.hasRole = exports.getUserRoles = exports.removeUserRole = exports.addUserRole = exports.isValidRoleType = exports.listUsers = exports.deleteUser = exports.updateUser = exports.getUserByEmail = exports.getUserByExternalId = exports.getUser = exports.createUser = exports.VALID_ROLE_TYPES = void 0;
4
4
  var types_1 = require("./types");
5
5
  Object.defineProperty(exports, "VALID_ROLE_TYPES", { enumerable: true, get: function () { return types_1.VALID_ROLE_TYPES; } });
6
6
  var crud_1 = require("./crud");
@@ -24,3 +24,5 @@ Object.defineProperty(exports, "isGroupAdmin", { enumerable: true, get: function
24
24
  Object.defineProperty(exports, "canManageRole", { enumerable: true, get: function () { return rbac_1.canManageRole; } });
25
25
  var auth_1 = require("./auth");
26
26
  Object.defineProperty(exports, "verifyPassword", { enumerable: true, get: function () { return auth_1.verifyPassword; } });
27
+ var seed_admin_1 = require("./seed-admin");
28
+ Object.defineProperty(exports, "seedAdmin", { enumerable: true, get: function () { return seed_admin_1.seedAdmin; } });
@@ -0,0 +1,13 @@
1
+ export interface SeedAdminInput {
2
+ externalId: string;
3
+ displayName?: string;
4
+ email?: string;
5
+ password?: string;
6
+ }
7
+ /**
8
+ * Seed a superadmin user. Idempotent — skips creation if the user
9
+ * already exists, but ensures the superadmin role is present.
10
+ *
11
+ * Returns the user's UUID so callers can pass it to `createClient()`.
12
+ */
13
+ export declare function seedAdmin(input: SeedAdminInput): Promise<string>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.seedAdmin = seedAdmin;
4
+ const logger_1 = require("../../lib/logger");
5
+ const role_1 = require("../role");
6
+ const crud_1 = require("./crud");
7
+ const roles_1 = require("./roles");
8
+ /**
9
+ * Seed a superadmin user. Idempotent — skips creation if the user
10
+ * already exists, but ensures the superadmin role is present.
11
+ *
12
+ * Returns the user's UUID so callers can pass it to `createClient()`.
13
+ */
14
+ async function seedAdmin(input) {
15
+ const { externalId, displayName, email, password } = input;
16
+ // Ensure the superadmin role exists
17
+ try {
18
+ await (0, role_1.createRole)('superadmin');
19
+ }
20
+ catch { /* ON CONFLICT DO NOTHING */ }
21
+ const existing = await (0, crud_1.getUserByExternalId)(externalId);
22
+ if (existing) {
23
+ // Ensure existing user has the superadmin role
24
+ const roles = await (0, roles_1.getUserRoles)(existing.id);
25
+ const hasSuperadmin = roles.some((r) => r.role === 'superadmin' && r.type === 'superadmin');
26
+ if (!hasSuperadmin) {
27
+ await (0, roles_1.addUserRole)(existing.id, 'superadmin', 'superadmin');
28
+ logger_1.loggerRegistry.info(`[seed-admin] granted superadmin role to ${externalId}`);
29
+ }
30
+ logger_1.loggerRegistry.info(`[seed-admin] ${externalId} already exists, skipping creation`);
31
+ return existing.id;
32
+ }
33
+ const user = await (0, crud_1.createUser)({
34
+ external_id: externalId,
35
+ email: email || undefined,
36
+ display_name: displayName || externalId,
37
+ password: password || undefined,
38
+ roles: [{ role: 'superadmin', type: 'superadmin' }],
39
+ });
40
+ logger_1.loggerRegistry.info(`[seed-admin] created superadmin user: ${externalId}`);
41
+ return user.id;
42
+ }
@@ -18,6 +18,7 @@ export interface CreateUserInput {
18
18
  export interface UpdateUserInput {
19
19
  email?: string;
20
20
  display_name?: string;
21
+ password?: string;
21
22
  status?: LTUserStatus;
22
23
  metadata?: Record<string, any>;
23
24
  }
@@ -67,7 +67,7 @@ async function start(startConfig) {
67
67
  logger_1.loggerRegistry.info('[long-tail] starting...');
68
68
  // 4-5. Collect workers, run migrations, start workers, seed data
69
69
  const { workers, builtinMcpServerFactories } = await (0, workers_1.collectWorkers)(startConfig);
70
- await (0, workers_1.startWorkers)(startConfig, workers, builtinMcpServerFactories);
70
+ const { adminUserId } = await (0, workers_1.startWorkers)(startConfig, workers, builtinMcpServerFactories);
71
71
  // 6. Start embedded server (if enabled)
72
72
  const serverEnabled = startConfig.server?.enabled !== false;
73
73
  let httpServer = null;
@@ -107,5 +107,5 @@ async function start(startConfig) {
107
107
  await hotmesh_1.Durable.shutdown();
108
108
  logger_1.loggerRegistry.info('[long-tail] shutdown complete');
109
109
  };
110
- return { client, shutdown };
110
+ return { client, shutdown, adminUserId };
111
111
  }
@@ -26,5 +26,7 @@ export declare function collectWorkers(startConfig: LTStartConfig): Promise<{
26
26
  * Run database migrations, start all workers, connect adapters,
27
27
  * register MCP server factories, and seed data.
28
28
  */
29
- export declare function startWorkers(startConfig: LTStartConfig, workers: WorkerEntry[], builtinMcpServerFactories: Record<string, any>): Promise<void>;
29
+ export declare function startWorkers(startConfig: LTStartConfig, workers: WorkerEntry[], builtinMcpServerFactories: Record<string, any>): Promise<{
30
+ adminUserId?: string;
31
+ }>;
30
32
  export {};
@@ -102,6 +102,15 @@ async function startWorkers(startConfig, workers, builtinMcpServerFactories) {
102
102
  // Run migrations
103
103
  logger_1.loggerRegistry.info('[long-tail] running migrations...');
104
104
  await (0, migrate_1.migrate)();
105
+ // Seed admin user from config (idempotent, runs before workers)
106
+ let adminUserId;
107
+ if (startConfig.seed?.admin) {
108
+ const { seedAdmin } = await Promise.resolve().then(() => __importStar(require('../services/user/seed-admin')));
109
+ adminUserId = await seedAdmin(startConfig.seed.admin).catch((err) => {
110
+ logger_1.loggerRegistry.warn(`[long-tail] seed admin error: ${err.message}`);
111
+ return undefined;
112
+ });
113
+ }
105
114
  const connection = buildConnection();
106
115
  // Readonly mode: all user-provided workers are observers — skip crons, triggers, and agent seeding.
107
116
  // System workers (mcpQuery, etc.) are always added by collectWorkers, so check the original config.
@@ -327,4 +336,5 @@ async function startWorkers(startConfig, workers, builtinMcpServerFactories) {
327
336
  seedExamples(seedClient).catch((err) => logger_1.loggerRegistry.warn(`[long-tail] seed error: ${err.message}`));
328
337
  }, 2000);
329
338
  }
339
+ return { adminUserId };
330
340
  }
@@ -1 +1 @@
1
- {"root":["../index.ts","../vitest.config.ts","../vitest.integration.config.ts","../api/agent-subscriptions.ts","../api/agents.ts","../api/auth.ts","../api/bot-accounts.ts","../api/capabilities.ts","../api/controlplane.ts","../api/dba.ts","../api/exports.ts","../api/files.ts","../api/index.ts","../api/insight.ts","../api/knowledge.ts","../api/maintenance.ts","../api/mcp-runs.ts","../api/namespaces.ts","../api/roles.ts","../api/settings.ts","../api/tasks.ts","../api/topics.ts","../api/users.ts","../api/workflow-sets.ts","../api/escalations/bulk.ts","../api/escalations/claim.ts","../api/escalations/create.ts","../api/escalations/helpers.ts","../api/escalations/index.ts","../api/escalations/list.ts","../api/escalations/resolve.ts","../api/escalations/single.ts","../api/mcp/index.ts","../api/mcp/servers.ts","../api/mcp/tools.ts","../api/workflows/config.ts","../api/workflows/discovery.ts","../api/workflows/index.ts","../api/workflows/invocation.ts","../api/yaml-workflows/cron.ts","../api/yaml-workflows/crud.ts","../api/yaml-workflows/deploy.ts","../api/yaml-workflows/helpers.ts","../api/yaml-workflows/index.ts","../api/yaml-workflows/versions.ts","../bin/ltc.ts","../lib/cli/auth.ts","../lib/cli/client.ts","../lib/cli/compile.ts","../lib/cli/format.ts","../lib/cli/init.ts","../lib/cli/output.ts","../lib/cli/scanner.ts","../lib/cli/types.ts","../lib/cli/commands/escalations.ts","../lib/cli/commands/knowledge.ts","../lib/cli/commands/mcp.ts","../lib/cli/commands/pipelines.ts","../lib/cli/commands/status.ts","../lib/cli/commands/streams.ts","../lib/cli/commands/users.ts","../lib/cli/commands/workflows.ts","../lib/db/index.ts","../lib/db/migrate.ts","../lib/events/callback.ts","../lib/events/index.ts","../lib/events/matching.ts","../lib/events/memory.ts","../lib/events/nats.ts","../lib/events/publish.ts","../lib/events/socketio.ts","../lib/logger/index.ts","../lib/logger/pino.ts","../lib/storage/index.ts","../lib/storage/local.ts","../lib/storage/mime.ts","../lib/storage/s3.ts","../lib/storage/types.ts","../lib/telemetry/honeycomb.ts","../lib/telemetry/index.ts","../modules/auth.ts","../modules/config.ts","../modules/defaults.ts","../modules/ltconfig.ts","../modules/maintenance.ts","../modules/utils.ts","../routes/agents.ts","../routes/auth.ts","../routes/bot-accounts.ts","../routes/capabilities.ts","../routes/controlplane.ts","../routes/dba.ts","../routes/delegation.ts","../routes/docs.ts","../routes/exports.ts","../routes/file-browser.ts","../routes/files.ts","../routes/index.ts","../routes/insight.ts","../routes/knowledge.ts","../routes/maintenance.ts","../routes/mcp-runs.ts","../routes/mcp.ts","../routes/namespaces.ts","../routes/nats-credentials.ts","../routes/oauth.ts","../routes/roles.ts","../routes/settings.ts","../routes/tasks.ts","../routes/topics.ts","../routes/users.ts","../routes/workflow-sets.ts","../routes/escalations/bulk.ts","../routes/escalations/index.ts","../routes/escalations/list.ts","../routes/escalations/resolve.ts","../routes/escalations/single.ts","../routes/workflows/config.ts","../routes/workflows/discovery.ts","../routes/workflows/index.ts","../routes/workflows/invocation.ts","../routes/yaml-workflows/cron.ts","../routes/yaml-workflows/crud.ts","../routes/yaml-workflows/deployment.ts","../routes/yaml-workflows/index.ts","../routes/yaml-workflows/versions.ts","../scripts/process-helpers.ts","../scripts/process.ts","../scripts/token.ts","../sdk/index.ts","../services/dba.ts","../services/hotmesh-utils.ts","../services/workflow-invocation.ts","../services/agent/index.ts","../services/agent/input-mapper.ts","../services/agent/sql.ts","../services/agent/subscription-sql.ts","../services/agent/subscriptions.ts","../services/agent/trigger-registry.ts","../services/auth/bot-api-key.ts","../services/auth/delegation.ts","../services/auth/index.ts","../services/auth/service-token.ts","../services/config/cache.ts","../services/config/index.ts","../services/config/provider.ts","../services/config/read.ts","../services/config/sql.ts","../services/config/write.ts","../services/controlplane/index.ts","../services/controlplane/quorum-bridge.ts","../services/controlplane/sql.ts","../services/controlplane/stream-messages-sql.ts","../services/controlplane/types.ts","../services/cron/index.ts","../services/escalation/bulk.ts","../services/escalation/crud.ts","../services/escalation/index.ts","../services/escalation/queries.ts","../services/escalation/sql.ts","../services/escalation/types.ts","../services/escalation-strategy/default.ts","../services/escalation-strategy/index.ts","../services/escalation-strategy/mcp.ts","../services/export/client.ts","../services/export/index.ts","../services/export/post-process.ts","../services/export/types.ts","../services/iam/activity.ts","../services/iam/bots.ts","../services/iam/context.ts","../services/iam/credentials.ts","../services/iam/envelope.ts","../services/iam/ephemeral.ts","../services/iam/index.ts","../services/iam/principal.ts","../services/iam/resolve.ts","../services/iam/sql.ts","../services/insight/index.ts","../services/insight/prompts.ts","../services/interceptor/activity-interceptor.ts","../services/interceptor/completion.ts","../services/interceptor/context.ts","../services/interceptor/escalation.ts","../services/interceptor/index.ts","../services/interceptor/lifecycle.ts","../services/interceptor/state.ts","../services/interceptor/types.ts","../services/interceptor/activities/config.ts","../services/interceptor/activities/escalation.ts","../services/interceptor/activities/index.ts","../services/interceptor/activities/task.ts","../services/interceptor/activities/workflow.ts","../services/llm/detect.ts","../services/llm/index.ts","../services/llm/translate.ts","../services/llm/types.ts","../services/llm/providers/anthropic.ts","../services/llm/providers/openai.ts","../services/maintenance/index.ts","../services/mcp/adapter.ts","../services/mcp/db.ts","../services/mcp/index.ts","../services/mcp/register-tool.ts","../services/mcp/server-lifecycle.ts","../services/mcp/server-tools.ts","../services/mcp/server.ts","../services/mcp/sql.ts","../services/mcp/types.ts","../services/mcp/workflow-compiler-server.ts","../services/mcp/workflow-server.ts","../services/mcp/client/connection-dispatch.ts","../services/mcp/client/connection-lifecycle.ts","../services/mcp/client/connection-test.ts","../services/mcp/client/connection.ts","../services/mcp/client/index.ts","../services/mcp/client/tools.ts","../services/mcp/db-server/index.ts","../services/mcp/db-server/schemas.ts","../services/mcp/db-server/tools.ts","../services/mcp/playwright-server/index.ts","../services/mcp/playwright-server/lifecycle.ts","../services/mcp/playwright-server/schemas.ts","../services/mcp/playwright-server/tools.ts","../services/mcp-runs/enrichment.ts","../services/mcp-runs/events.ts","../services/mcp-runs/execution-builder.ts","../services/mcp-runs/index.ts","../services/mcp-runs/queries.ts","../services/mcp-runs/sql.ts","../services/mcp-runs/types.ts","../services/namespace/index.ts","../services/namespace/sql.ts","../services/namespace/types.ts","../services/oauth/crypto.ts","../services/oauth/db.ts","../services/oauth/index.ts","../services/oauth/sql.ts","../services/oauth/state.ts","../services/oauth/providers/anthropic.ts","../services/oauth/providers/github.ts","../services/oauth/providers/google.ts","../services/oauth/providers/index.ts","../services/oauth/providers/microsoft.ts","../services/oauth/providers/mock.ts","../services/oauth/providers/registry.ts","../services/oauth/providers/types.ts","../services/orchestrator/condition.ts","../services/orchestrator/index.ts","../services/orchestrator/types.ts","../services/role/index.ts","../services/role/sql.ts","../services/role/types.ts","../services/task/crud.ts","../services/task/index.ts","../services/task/process.ts","../services/task/resolve.ts","../services/task/sql.ts","../services/task/types.ts","../services/topics/index.ts","../services/topics/sql.ts","../services/topics/system-topics.ts","../services/user/auth.ts","../services/user/crud.ts","../services/user/index.ts","../services/user/rbac.ts","../services/user/roles.ts","../services/user/sql.ts","../services/user/types.ts","../services/workers/registry.ts","../services/workflow-sets/db.ts","../services/workflow-sets/index.ts","../services/workflow-sets/sql.ts","../services/yaml-workflow/builder-regenerate.ts","../services/yaml-workflow/db-utils.ts","../services/yaml-workflow/db-versions.ts","../services/yaml-workflow/db.ts","../services/yaml-workflow/deployer-helpers.ts","../services/yaml-workflow/deployer.ts","../services/yaml-workflow/generator.ts","../services/yaml-workflow/index.ts","../services/yaml-workflow/input-analyzer-helpers.ts","../services/yaml-workflow/input-analyzer.ts","../services/yaml-workflow/invoke.ts","../services/yaml-workflow/sql.ts","../services/yaml-workflow/types.ts","../services/yaml-workflow/durable-compiler/index.ts","../services/yaml-workflow/durable-compiler/parser.ts","../services/yaml-workflow/durable-compiler/prompts.ts","../services/yaml-workflow/durable-compiler/types.ts","../services/yaml-workflow/pattern-detector/array-source.ts","../services/yaml-workflow/pattern-detector/collapse.ts","../services/yaml-workflow/pattern-detector/index.ts","../services/yaml-workflow/pattern-detector/run-detection.ts","../services/yaml-workflow/pattern-detector/types.ts","../services/yaml-workflow/pipeline/analyze.ts","../services/yaml-workflow/pipeline/extract-helpers.ts","../services/yaml-workflow/pipeline/extract.ts","../services/yaml-workflow/pipeline/index.ts","../services/yaml-workflow/pipeline/prompt-templates.ts","../services/yaml-workflow/pipeline/prompts.ts","../services/yaml-workflow/pipeline/validate.ts","../services/yaml-workflow/pipeline/build/dag-assembly.ts","../services/yaml-workflow/pipeline/build/dag.ts","../services/yaml-workflow/pipeline/build/index.ts","../services/yaml-workflow/pipeline/build/iteration.ts","../services/yaml-workflow/pipeline/build/metadata.ts","../services/yaml-workflow/pipeline/build/transform.ts","../services/yaml-workflow/pipeline/build/utils.ts","../services/yaml-workflow/pipeline/build/wiring.ts","../services/yaml-workflow/pipeline/compile/index.ts","../services/yaml-workflow/pipeline/compile/llm-call.ts","../services/yaml-workflow/pipeline/compile/parse-plan.ts","../services/yaml-workflow/pipeline/compile/summarize.ts","../services/yaml-workflow/workers/callbacks.ts","../services/yaml-workflow/workers/events.ts","../services/yaml-workflow/workers/index.ts","../services/yaml-workflow/workers/register.ts","../services/yaml-workflow/workers/scope.ts","../start/adapters.ts","../start/config.ts","../start/index.ts","../start/server.ts","../start/socket-auth.ts","../start/workers.ts","../system/index.ts","../system/activities/claude-code.ts","../system/activities/file-storage.ts","../system/activities/http.ts","../system/activities/knowledge.ts","../system/activities/oauth.ts","../system/activities/schema-exchange.ts","../system/activities/sql.ts","../system/activities/triage/cache.ts","../system/activities/triage/context.ts","../system/activities/triage/discovery.ts","../system/activities/triage/index.ts","../system/activities/triage/llm.ts","../system/activities/triage/tools.ts","../system/mcp-servers/claude-code.ts","../system/mcp-servers/docs.ts","../system/mcp-servers/events.ts","../system/mcp-servers/file-storage.ts","../system/mcp-servers/http-fetch.ts","../system/mcp-servers/human-queue-schemas.ts","../system/mcp-servers/human-queue.ts","../system/mcp-servers/knowledge.ts","../system/mcp-servers/oauth.ts","../system/mcp-servers/schema-exchange.ts","../system/mcp-servers/translation.ts","../system/mcp-servers/vision-prompts.ts","../system/mcp-servers/vision.ts","../system/mcp-servers/workflow-compiler.ts","../system/mcp-servers/workflow.ts","../system/mcp-servers/admin/escalations.ts","../system/mcp-servers/admin/index.ts","../system/mcp-servers/admin/maintenance.ts","../system/mcp-servers/admin/mcp-servers.ts","../system/mcp-servers/admin/schemas.ts","../system/mcp-servers/admin/tasks.ts","../system/mcp-servers/admin/users.ts","../system/mcp-servers/admin/workflow-config.ts","../system/mcp-servers/admin/workflows.ts","../system/mcp-servers/admin/yaml-workflows.ts","../system/mcp-servers/db-query/index.ts","../system/mcp-servers/db-query/schemas.ts","../system/mcp-servers/db-query/tools.ts","../system/mcp-servers/playwright/browser-lifecycle.ts","../system/mcp-servers/playwright/index.ts","../system/mcp-servers/playwright/schemas.ts","../system/mcp-servers/playwright/tools-atomic.ts","../system/mcp-servers/playwright/tools-navigation.ts","../system/mcp-servers/playwright/tools-page-interaction.ts","../system/mcp-servers/playwright/tools-run-script.ts","../system/mcp-servers/playwright/types.ts","../system/mcp-servers/playwright/vision-helper.ts","../system/mcp-servers/playwright-cli/helpers.ts","../system/mcp-servers/playwright-cli/index.ts","../system/mcp-servers/playwright-cli/schemas.ts","../system/mcp-servers/playwright-cli/tools-auth.ts","../system/mcp-servers/playwright-cli/tools-capture.ts","../system/seed/index.ts","../system/seed/tool-manifests-admin.ts","../system/seed/tool-manifests-browser.ts","../system/seed/tool-manifests-data.ts","../system/seed/tool-manifests-escalation.ts","../system/seed/tool-manifests-events.ts","../system/seed/tool-manifests-knowledge.ts","../system/seed/tool-manifests-workflows.ts","../system/workflows/tool-result-guard.ts","../system/workflows/capability-invoke/activities.ts","../system/workflows/capability-invoke/index.ts","../system/workflows/mcp-deterministic/activities.ts","../system/workflows/mcp-deterministic/index.ts","../system/workflows/mcp-query/index.ts","../system/workflows/mcp-query/prompts.ts","../system/workflows/mcp-query/strategy-advisors.ts","../system/workflows/mcp-query/types.ts","../system/workflows/mcp-query/activities/caches.ts","../system/workflows/mcp-query/activities/discovery.ts","../system/workflows/mcp-query/activities/index.ts","../system/workflows/mcp-query/activities/llm.ts","../system/workflows/mcp-query/activities/tool-executor.ts","../system/workflows/mcp-query/activities/tool-loader.ts","../system/workflows/mcp-query-router/activities.ts","../system/workflows/mcp-query-router/index.ts","../system/workflows/mcp-query-router/prompts.ts","../system/workflows/mcp-triage/activities-proxy.ts","../system/workflows/mcp-triage/index.ts","../system/workflows/mcp-triage/prompts.ts","../system/workflows/mcp-triage/response-builders.ts","../system/workflows/mcp-triage/response.ts","../system/workflows/mcp-triage/types.ts","../system/workflows/mcp-triage-deterministic/activities.ts","../system/workflows/mcp-triage-deterministic/index.ts","../system/workflows/mcp-triage-router/activities.ts","../system/workflows/mcp-triage-router/index.ts","../system/workflows/mcp-workflow-builder/index.ts","../system/workflows/mcp-workflow-builder/prompts.ts","../system/workflows/mcp-workflow-builder/activities/caches.ts","../system/workflows/mcp-workflow-builder/activities/index.ts","../system/workflows/mcp-workflow-builder/activities/llm.ts","../system/workflows/mcp-workflow-builder/activities/tool-loader.ts","../system/workflows/mcp-workflow-planner/index.ts","../system/workflows/mcp-workflow-planner/prompts.ts","../system/workflows/mcp-workflow-planner/activities/analyze.ts","../system/workflows/mcp-workflow-planner/activities/index.ts","../system/workflows/mcp-workflow-planner/activities/persist.ts","../system/workflows/mcp-workflow-planner/activities/plan.ts","../system/workflows/shared/discovery.ts","../system/workflows/shared/index.ts","../system/workflows/shared/llm-caller.ts","../system/workflows/shared/prompts.ts","../system/workflows/shared/strategy-advisors.ts","../system/workflows/shared/tool-executor.ts","../system/workflows/shared/tool-loader.ts","../system/workflows/shared/types.ts","../types/agent.ts","../types/auth.ts","../types/config.ts","../types/delegation.ts","../types/discovery.ts","../types/envelope.ts","../types/escalation-strategy.ts","../types/escalation.ts","../types/events.ts","../types/export.ts","../types/express.d.ts","../types/index.ts","../types/logger.ts","../types/maintenance.ts","../types/mcp.ts","../types/oauth.ts","../types/sdk.ts","../types/startup.ts","../types/task.ts","../types/telemetry.ts","../types/tool-context.ts","../types/user.ts","../types/workflow-set.ts","../types/workflow.ts","../types/yaml-workflow.ts","../workers/index.ts"],"version":"5.9.3"}
1
+ {"root":["../index.ts","../vitest.config.ts","../vitest.integration.config.ts","../adapters/express.ts","../api/agent-subscriptions.ts","../api/agents.ts","../api/auth.ts","../api/bot-accounts.ts","../api/capabilities.ts","../api/controlplane.ts","../api/dba.ts","../api/exports.ts","../api/files.ts","../api/index.ts","../api/insight.ts","../api/knowledge.ts","../api/maintenance.ts","../api/mcp-runs.ts","../api/namespaces.ts","../api/roles.ts","../api/settings.ts","../api/tasks.ts","../api/topics.ts","../api/users.ts","../api/workflow-sets.ts","../api/escalations/bulk.ts","../api/escalations/claim.ts","../api/escalations/create.ts","../api/escalations/helpers.ts","../api/escalations/index.ts","../api/escalations/list.ts","../api/escalations/resolve.ts","../api/escalations/single.ts","../api/mcp/index.ts","../api/mcp/servers.ts","../api/mcp/tools.ts","../api/workflows/config.ts","../api/workflows/discovery.ts","../api/workflows/index.ts","../api/workflows/invocation.ts","../api/yaml-workflows/cron.ts","../api/yaml-workflows/crud.ts","../api/yaml-workflows/deploy.ts","../api/yaml-workflows/helpers.ts","../api/yaml-workflows/index.ts","../api/yaml-workflows/versions.ts","../bin/ltc.ts","../lib/cli/auth.ts","../lib/cli/client.ts","../lib/cli/compile.ts","../lib/cli/format.ts","../lib/cli/init.ts","../lib/cli/output.ts","../lib/cli/scanner.ts","../lib/cli/types.ts","../lib/cli/commands/escalations.ts","../lib/cli/commands/knowledge.ts","../lib/cli/commands/mcp.ts","../lib/cli/commands/pipelines.ts","../lib/cli/commands/status.ts","../lib/cli/commands/streams.ts","../lib/cli/commands/users.ts","../lib/cli/commands/workflows.ts","../lib/db/index.ts","../lib/db/migrate.ts","../lib/events/callback.ts","../lib/events/index.ts","../lib/events/matching.ts","../lib/events/memory.ts","../lib/events/nats.ts","../lib/events/publish.ts","../lib/events/socketio.ts","../lib/logger/index.ts","../lib/logger/pino.ts","../lib/storage/index.ts","../lib/storage/local.ts","../lib/storage/mime.ts","../lib/storage/s3.ts","../lib/storage/types.ts","../lib/telemetry/honeycomb.ts","../lib/telemetry/index.ts","../modules/auth.ts","../modules/config.ts","../modules/defaults.ts","../modules/ltconfig.ts","../modules/maintenance.ts","../modules/utils.ts","../routes/agents.ts","../routes/auth.ts","../routes/bot-accounts.ts","../routes/capabilities.ts","../routes/controlplane.ts","../routes/dba.ts","../routes/delegation.ts","../routes/docs.ts","../routes/exports.ts","../routes/file-browser.ts","../routes/files.ts","../routes/index.ts","../routes/insight.ts","../routes/knowledge.ts","../routes/maintenance.ts","../routes/mcp-runs.ts","../routes/mcp.ts","../routes/namespaces.ts","../routes/nats-credentials.ts","../routes/oauth.ts","../routes/roles.ts","../routes/settings.ts","../routes/tasks.ts","../routes/topics.ts","../routes/users.ts","../routes/workflow-sets.ts","../routes/escalations/bulk.ts","../routes/escalations/index.ts","../routes/escalations/list.ts","../routes/escalations/resolve.ts","../routes/escalations/single.ts","../routes/workflows/config.ts","../routes/workflows/discovery.ts","../routes/workflows/index.ts","../routes/workflows/invocation.ts","../routes/yaml-workflows/cron.ts","../routes/yaml-workflows/crud.ts","../routes/yaml-workflows/deployment.ts","../routes/yaml-workflows/index.ts","../routes/yaml-workflows/versions.ts","../scripts/process-helpers.ts","../scripts/process.ts","../scripts/token.ts","../sdk/index.ts","../services/dba.ts","../services/hotmesh-utils.ts","../services/workflow-invocation.ts","../services/agent/index.ts","../services/agent/input-mapper.ts","../services/agent/sql.ts","../services/agent/subscription-sql.ts","../services/agent/subscriptions.ts","../services/agent/trigger-registry.ts","../services/auth/bot-api-key.ts","../services/auth/delegation.ts","../services/auth/index.ts","../services/auth/service-token.ts","../services/config/cache.ts","../services/config/index.ts","../services/config/provider.ts","../services/config/read.ts","../services/config/sql.ts","../services/config/write.ts","../services/controlplane/index.ts","../services/controlplane/quorum-bridge.ts","../services/controlplane/sql.ts","../services/controlplane/stream-messages-sql.ts","../services/controlplane/types.ts","../services/cron/index.ts","../services/escalation/bulk.ts","../services/escalation/crud.ts","../services/escalation/index.ts","../services/escalation/queries.ts","../services/escalation/sql.ts","../services/escalation/types.ts","../services/escalation-strategy/default.ts","../services/escalation-strategy/index.ts","../services/escalation-strategy/mcp.ts","../services/export/client.ts","../services/export/index.ts","../services/export/post-process.ts","../services/export/types.ts","../services/iam/activity.ts","../services/iam/bots.ts","../services/iam/context.ts","../services/iam/credentials.ts","../services/iam/envelope.ts","../services/iam/ephemeral.ts","../services/iam/index.ts","../services/iam/principal.ts","../services/iam/resolve.ts","../services/iam/sql.ts","../services/insight/index.ts","../services/insight/prompts.ts","../services/interceptor/activity-interceptor.ts","../services/interceptor/completion.ts","../services/interceptor/context.ts","../services/interceptor/escalation.ts","../services/interceptor/index.ts","../services/interceptor/lifecycle.ts","../services/interceptor/state.ts","../services/interceptor/types.ts","../services/interceptor/activities/config.ts","../services/interceptor/activities/escalation.ts","../services/interceptor/activities/index.ts","../services/interceptor/activities/task.ts","../services/interceptor/activities/workflow.ts","../services/llm/detect.ts","../services/llm/index.ts","../services/llm/translate.ts","../services/llm/types.ts","../services/llm/providers/anthropic.ts","../services/llm/providers/openai.ts","../services/maintenance/index.ts","../services/mcp/adapter.ts","../services/mcp/db.ts","../services/mcp/index.ts","../services/mcp/register-tool.ts","../services/mcp/server-lifecycle.ts","../services/mcp/server-tools.ts","../services/mcp/server.ts","../services/mcp/sql.ts","../services/mcp/types.ts","../services/mcp/workflow-compiler-server.ts","../services/mcp/workflow-server.ts","../services/mcp/client/connection-dispatch.ts","../services/mcp/client/connection-lifecycle.ts","../services/mcp/client/connection-test.ts","../services/mcp/client/connection.ts","../services/mcp/client/index.ts","../services/mcp/client/tools.ts","../services/mcp/db-server/index.ts","../services/mcp/db-server/schemas.ts","../services/mcp/db-server/tools.ts","../services/mcp/playwright-server/index.ts","../services/mcp/playwright-server/lifecycle.ts","../services/mcp/playwright-server/schemas.ts","../services/mcp/playwright-server/tools.ts","../services/mcp-runs/enrichment.ts","../services/mcp-runs/events.ts","../services/mcp-runs/execution-builder.ts","../services/mcp-runs/index.ts","../services/mcp-runs/queries.ts","../services/mcp-runs/sql.ts","../services/mcp-runs/types.ts","../services/namespace/index.ts","../services/namespace/sql.ts","../services/namespace/types.ts","../services/oauth/crypto.ts","../services/oauth/db.ts","../services/oauth/index.ts","../services/oauth/sql.ts","../services/oauth/state.ts","../services/oauth/providers/anthropic.ts","../services/oauth/providers/github.ts","../services/oauth/providers/google.ts","../services/oauth/providers/index.ts","../services/oauth/providers/microsoft.ts","../services/oauth/providers/mock.ts","../services/oauth/providers/registry.ts","../services/oauth/providers/types.ts","../services/orchestrator/condition.ts","../services/orchestrator/index.ts","../services/orchestrator/types.ts","../services/role/index.ts","../services/role/sql.ts","../services/role/types.ts","../services/task/crud.ts","../services/task/index.ts","../services/task/process.ts","../services/task/resolve.ts","../services/task/sql.ts","../services/task/types.ts","../services/topics/index.ts","../services/topics/sql.ts","../services/topics/system-topics.ts","../services/user/auth.ts","../services/user/crud.ts","../services/user/index.ts","../services/user/rbac.ts","../services/user/roles.ts","../services/user/seed-admin.ts","../services/user/sql.ts","../services/user/types.ts","../services/workers/registry.ts","../services/workflow-sets/db.ts","../services/workflow-sets/index.ts","../services/workflow-sets/sql.ts","../services/yaml-workflow/builder-regenerate.ts","../services/yaml-workflow/db-utils.ts","../services/yaml-workflow/db-versions.ts","../services/yaml-workflow/db.ts","../services/yaml-workflow/deployer-helpers.ts","../services/yaml-workflow/deployer.ts","../services/yaml-workflow/generator.ts","../services/yaml-workflow/index.ts","../services/yaml-workflow/input-analyzer-helpers.ts","../services/yaml-workflow/input-analyzer.ts","../services/yaml-workflow/invoke.ts","../services/yaml-workflow/sql.ts","../services/yaml-workflow/types.ts","../services/yaml-workflow/durable-compiler/index.ts","../services/yaml-workflow/durable-compiler/parser.ts","../services/yaml-workflow/durable-compiler/prompts.ts","../services/yaml-workflow/durable-compiler/types.ts","../services/yaml-workflow/pattern-detector/array-source.ts","../services/yaml-workflow/pattern-detector/collapse.ts","../services/yaml-workflow/pattern-detector/index.ts","../services/yaml-workflow/pattern-detector/run-detection.ts","../services/yaml-workflow/pattern-detector/types.ts","../services/yaml-workflow/pipeline/analyze.ts","../services/yaml-workflow/pipeline/extract-helpers.ts","../services/yaml-workflow/pipeline/extract.ts","../services/yaml-workflow/pipeline/index.ts","../services/yaml-workflow/pipeline/prompt-templates.ts","../services/yaml-workflow/pipeline/prompts.ts","../services/yaml-workflow/pipeline/validate.ts","../services/yaml-workflow/pipeline/build/dag-assembly.ts","../services/yaml-workflow/pipeline/build/dag.ts","../services/yaml-workflow/pipeline/build/index.ts","../services/yaml-workflow/pipeline/build/iteration.ts","../services/yaml-workflow/pipeline/build/metadata.ts","../services/yaml-workflow/pipeline/build/transform.ts","../services/yaml-workflow/pipeline/build/utils.ts","../services/yaml-workflow/pipeline/build/wiring.ts","../services/yaml-workflow/pipeline/compile/index.ts","../services/yaml-workflow/pipeline/compile/llm-call.ts","../services/yaml-workflow/pipeline/compile/parse-plan.ts","../services/yaml-workflow/pipeline/compile/summarize.ts","../services/yaml-workflow/workers/callbacks.ts","../services/yaml-workflow/workers/events.ts","../services/yaml-workflow/workers/index.ts","../services/yaml-workflow/workers/register.ts","../services/yaml-workflow/workers/scope.ts","../start/adapters.ts","../start/config.ts","../start/index.ts","../start/server.ts","../start/socket-auth.ts","../start/workers.ts","../system/index.ts","../system/activities/claude-code.ts","../system/activities/file-storage.ts","../system/activities/http.ts","../system/activities/knowledge.ts","../system/activities/oauth.ts","../system/activities/schema-exchange.ts","../system/activities/sql.ts","../system/activities/triage/cache.ts","../system/activities/triage/context.ts","../system/activities/triage/discovery.ts","../system/activities/triage/index.ts","../system/activities/triage/llm.ts","../system/activities/triage/tools.ts","../system/mcp-servers/claude-code.ts","../system/mcp-servers/docs.ts","../system/mcp-servers/events.ts","../system/mcp-servers/file-storage.ts","../system/mcp-servers/http-fetch.ts","../system/mcp-servers/human-queue-schemas.ts","../system/mcp-servers/human-queue.ts","../system/mcp-servers/knowledge.ts","../system/mcp-servers/oauth.ts","../system/mcp-servers/schema-exchange.ts","../system/mcp-servers/translation.ts","../system/mcp-servers/vision-prompts.ts","../system/mcp-servers/vision.ts","../system/mcp-servers/workflow-compiler.ts","../system/mcp-servers/workflow.ts","../system/mcp-servers/admin/escalations.ts","../system/mcp-servers/admin/index.ts","../system/mcp-servers/admin/maintenance.ts","../system/mcp-servers/admin/mcp-servers.ts","../system/mcp-servers/admin/schemas.ts","../system/mcp-servers/admin/tasks.ts","../system/mcp-servers/admin/users.ts","../system/mcp-servers/admin/workflow-config.ts","../system/mcp-servers/admin/workflows.ts","../system/mcp-servers/admin/yaml-workflows.ts","../system/mcp-servers/db-query/index.ts","../system/mcp-servers/db-query/schemas.ts","../system/mcp-servers/db-query/tools.ts","../system/mcp-servers/playwright/browser-lifecycle.ts","../system/mcp-servers/playwright/index.ts","../system/mcp-servers/playwright/schemas.ts","../system/mcp-servers/playwright/tools-atomic.ts","../system/mcp-servers/playwright/tools-navigation.ts","../system/mcp-servers/playwright/tools-page-interaction.ts","../system/mcp-servers/playwright/tools-run-script.ts","../system/mcp-servers/playwright/types.ts","../system/mcp-servers/playwright/vision-helper.ts","../system/mcp-servers/playwright-cli/helpers.ts","../system/mcp-servers/playwright-cli/index.ts","../system/mcp-servers/playwright-cli/schemas.ts","../system/mcp-servers/playwright-cli/tools-auth.ts","../system/mcp-servers/playwright-cli/tools-capture.ts","../system/seed/index.ts","../system/seed/tool-manifests-admin.ts","../system/seed/tool-manifests-browser.ts","../system/seed/tool-manifests-data.ts","../system/seed/tool-manifests-escalation.ts","../system/seed/tool-manifests-events.ts","../system/seed/tool-manifests-knowledge.ts","../system/seed/tool-manifests-workflows.ts","../system/workflows/tool-result-guard.ts","../system/workflows/capability-invoke/activities.ts","../system/workflows/capability-invoke/index.ts","../system/workflows/mcp-deterministic/activities.ts","../system/workflows/mcp-deterministic/index.ts","../system/workflows/mcp-query/index.ts","../system/workflows/mcp-query/prompts.ts","../system/workflows/mcp-query/strategy-advisors.ts","../system/workflows/mcp-query/types.ts","../system/workflows/mcp-query/activities/caches.ts","../system/workflows/mcp-query/activities/discovery.ts","../system/workflows/mcp-query/activities/index.ts","../system/workflows/mcp-query/activities/llm.ts","../system/workflows/mcp-query/activities/tool-executor.ts","../system/workflows/mcp-query/activities/tool-loader.ts","../system/workflows/mcp-query-router/activities.ts","../system/workflows/mcp-query-router/index.ts","../system/workflows/mcp-query-router/prompts.ts","../system/workflows/mcp-triage/activities-proxy.ts","../system/workflows/mcp-triage/index.ts","../system/workflows/mcp-triage/prompts.ts","../system/workflows/mcp-triage/response-builders.ts","../system/workflows/mcp-triage/response.ts","../system/workflows/mcp-triage/types.ts","../system/workflows/mcp-triage-deterministic/activities.ts","../system/workflows/mcp-triage-deterministic/index.ts","../system/workflows/mcp-triage-router/activities.ts","../system/workflows/mcp-triage-router/index.ts","../system/workflows/mcp-workflow-builder/index.ts","../system/workflows/mcp-workflow-builder/prompts.ts","../system/workflows/mcp-workflow-builder/activities/caches.ts","../system/workflows/mcp-workflow-builder/activities/index.ts","../system/workflows/mcp-workflow-builder/activities/llm.ts","../system/workflows/mcp-workflow-builder/activities/tool-loader.ts","../system/workflows/mcp-workflow-planner/index.ts","../system/workflows/mcp-workflow-planner/prompts.ts","../system/workflows/mcp-workflow-planner/activities/analyze.ts","../system/workflows/mcp-workflow-planner/activities/index.ts","../system/workflows/mcp-workflow-planner/activities/persist.ts","../system/workflows/mcp-workflow-planner/activities/plan.ts","../system/workflows/shared/discovery.ts","../system/workflows/shared/index.ts","../system/workflows/shared/llm-caller.ts","../system/workflows/shared/prompts.ts","../system/workflows/shared/strategy-advisors.ts","../system/workflows/shared/tool-executor.ts","../system/workflows/shared/tool-loader.ts","../system/workflows/shared/types.ts","../types/agent.ts","../types/auth.ts","../types/config.ts","../types/delegation.ts","../types/discovery.ts","../types/envelope.ts","../types/escalation-strategy.ts","../types/escalation.ts","../types/events.ts","../types/export.ts","../types/express.d.ts","../types/index.ts","../types/logger.ts","../types/maintenance.ts","../types/mcp.ts","../types/oauth.ts","../types/sdk.ts","../types/startup.ts","../types/task.ts","../types/telemetry.ts","../types/tool-context.ts","../types/user.ts","../types/workflow-set.ts","../types/workflow.ts","../types/yaml-workflow.ts","../workers/index.ts"],"version":"5.9.3"}