@hotmeshio/long-tail 0.1.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 (809) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +262 -0
  3. package/build/examples/external-mcp-server/server.d.ts +17 -0
  4. package/build/examples/external-mcp-server/server.js +116 -0
  5. package/build/examples/index.d.ts +2 -0
  6. package/build/examples/index.js +7 -0
  7. package/build/examples/seed.d.ts +5 -0
  8. package/build/examples/seed.js +221 -0
  9. package/build/examples/types/envelopes.d.ts +34 -0
  10. package/build/examples/types/envelopes.js +8 -0
  11. package/build/examples/types/index.d.ts +10 -0
  12. package/build/examples/types/index.js +9 -0
  13. package/build/examples/types/resolvers.d.ts +27 -0
  14. package/build/examples/types/resolvers.js +9 -0
  15. package/build/examples/workers.d.ts +10 -0
  16. package/build/examples/workers.js +49 -0
  17. package/build/examples/workflows/basic-echo/activities.d.ts +20 -0
  18. package/build/examples/workflows/basic-echo/activities.js +55 -0
  19. package/build/examples/workflows/basic-echo/index.d.ts +14 -0
  20. package/build/examples/workflows/basic-echo/index.js +66 -0
  21. package/build/examples/workflows/kitchen-sink/activities.d.ts +40 -0
  22. package/build/examples/workflows/kitchen-sink/activities.js +46 -0
  23. package/build/examples/workflows/kitchen-sink/index.d.ts +22 -0
  24. package/build/examples/workflows/kitchen-sink/index.js +123 -0
  25. package/build/examples/workflows/review-content/activities.d.ts +10 -0
  26. package/build/examples/workflows/review-content/activities.js +44 -0
  27. package/build/examples/workflows/review-content/index.d.ts +10 -0
  28. package/build/examples/workflows/review-content/index.js +95 -0
  29. package/build/examples/workflows/review-content/types.d.ts +28 -0
  30. package/build/examples/workflows/review-content/types.js +2 -0
  31. package/build/index.d.ts +37 -0
  32. package/build/index.js +151 -0
  33. package/build/modules/auth.d.ts +58 -0
  34. package/build/modules/auth.js +163 -0
  35. package/build/modules/config.d.ts +19 -0
  36. package/build/modules/config.js +26 -0
  37. package/build/modules/defaults.d.ts +58 -0
  38. package/build/modules/defaults.js +95 -0
  39. package/build/modules/ltconfig.d.ts +21 -0
  40. package/build/modules/ltconfig.js +110 -0
  41. package/build/modules/maintenance.d.ts +18 -0
  42. package/build/modules/maintenance.js +47 -0
  43. package/build/routes/auth.d.ts +2 -0
  44. package/build/routes/auth.js +48 -0
  45. package/build/routes/bot-accounts.d.ts +2 -0
  46. package/build/routes/bot-accounts.js +280 -0
  47. package/build/routes/controlplane.d.ts +2 -0
  48. package/build/routes/controlplane.js +144 -0
  49. package/build/routes/dba.d.ts +2 -0
  50. package/build/routes/dba.js +86 -0
  51. package/build/routes/delegation.d.ts +2 -0
  52. package/build/routes/delegation.js +81 -0
  53. package/build/routes/escalations/bulk.d.ts +2 -0
  54. package/build/routes/escalations/bulk.js +324 -0
  55. package/build/routes/escalations/helpers.d.ts +5 -0
  56. package/build/routes/escalations/helpers.js +48 -0
  57. package/build/routes/escalations/index.d.ts +2 -0
  58. package/build/routes/escalations/index.js +20 -0
  59. package/build/routes/escalations/list.d.ts +2 -0
  60. package/build/routes/escalations/list.js +140 -0
  61. package/build/routes/escalations/resolve.d.ts +2 -0
  62. package/build/routes/escalations/resolve.js +240 -0
  63. package/build/routes/escalations/single.d.ts +2 -0
  64. package/build/routes/escalations/single.js +195 -0
  65. package/build/routes/exports.d.ts +2 -0
  66. package/build/routes/exports.js +163 -0
  67. package/build/routes/files.d.ts +2 -0
  68. package/build/routes/files.js +47 -0
  69. package/build/routes/index.d.ts +2 -0
  70. package/build/routes/index.js +52 -0
  71. package/build/routes/insight.d.ts +2 -0
  72. package/build/routes/insight.js +58 -0
  73. package/build/routes/maintenance.d.ts +2 -0
  74. package/build/routes/maintenance.js +38 -0
  75. package/build/routes/mcp-runs.d.ts +2 -0
  76. package/build/routes/mcp-runs.js +85 -0
  77. package/build/routes/mcp.d.ts +2 -0
  78. package/build/routes/mcp.js +264 -0
  79. package/build/routes/namespaces.d.ts +2 -0
  80. package/build/routes/namespaces.js +71 -0
  81. package/build/routes/oauth.d.ts +7 -0
  82. package/build/routes/oauth.js +217 -0
  83. package/build/routes/resolve.d.ts +9 -0
  84. package/build/routes/resolve.js +19 -0
  85. package/build/routes/roles.d.ts +2 -0
  86. package/build/routes/roles.js +195 -0
  87. package/build/routes/settings.d.ts +2 -0
  88. package/build/routes/settings.js +35 -0
  89. package/build/routes/tasks.d.ts +2 -0
  90. package/build/routes/tasks.js +133 -0
  91. package/build/routes/users.d.ts +2 -0
  92. package/build/routes/users.js +206 -0
  93. package/build/routes/workflows/config.d.ts +2 -0
  94. package/build/routes/workflows/config.js +123 -0
  95. package/build/routes/workflows/discovery.d.ts +2 -0
  96. package/build/routes/workflows/discovery.js +146 -0
  97. package/build/routes/workflows/index.d.ts +2 -0
  98. package/build/routes/workflows/index.js +18 -0
  99. package/build/routes/workflows/invocation.d.ts +2 -0
  100. package/build/routes/workflows/invocation.js +162 -0
  101. package/build/routes/yaml-workflows/crud.d.ts +2 -0
  102. package/build/routes/yaml-workflows/crud.js +276 -0
  103. package/build/routes/yaml-workflows/deployment.d.ts +2 -0
  104. package/build/routes/yaml-workflows/deployment.js +179 -0
  105. package/build/routes/yaml-workflows/helpers.d.ts +2 -0
  106. package/build/routes/yaml-workflows/helpers.js +8 -0
  107. package/build/routes/yaml-workflows/index.d.ts +2 -0
  108. package/build/routes/yaml-workflows/index.js +21 -0
  109. package/build/routes/yaml-workflows/versions.d.ts +2 -0
  110. package/build/routes/yaml-workflows/versions.js +116 -0
  111. package/build/scripts/process-helpers.d.ts +11 -0
  112. package/build/scripts/process-helpers.js +59 -0
  113. package/build/scripts/process.d.ts +18 -0
  114. package/build/scripts/process.js +191 -0
  115. package/build/scripts/token.d.ts +13 -0
  116. package/build/scripts/token.js +42 -0
  117. package/build/services/auth/bot-api-key.d.ts +32 -0
  118. package/build/services/auth/bot-api-key.js +112 -0
  119. package/build/services/auth/delegation.d.ts +20 -0
  120. package/build/services/auth/delegation.js +53 -0
  121. package/build/services/auth/service-token.d.ts +23 -0
  122. package/build/services/auth/service-token.js +105 -0
  123. package/build/services/config/cache.d.ts +2 -0
  124. package/build/services/config/cache.js +24 -0
  125. package/build/services/config/index.d.ts +4 -0
  126. package/build/services/config/index.js +13 -0
  127. package/build/services/config/provider.d.ts +2 -0
  128. package/build/services/config/provider.js +30 -0
  129. package/build/services/config/read.d.ts +3 -0
  130. package/build/services/config/read.js +68 -0
  131. package/build/services/config/sql.d.ts +14 -0
  132. package/build/services/config/sql.js +58 -0
  133. package/build/services/config/write.d.ts +5 -0
  134. package/build/services/config/write.js +61 -0
  135. package/build/services/controlplane/index.d.ts +47 -0
  136. package/build/services/controlplane/index.js +124 -0
  137. package/build/services/controlplane/quorum-bridge.d.ts +15 -0
  138. package/build/services/controlplane/quorum-bridge.js +62 -0
  139. package/build/services/controlplane/sql.d.ts +21 -0
  140. package/build/services/controlplane/sql.js +70 -0
  141. package/build/services/controlplane/types.d.ts +13 -0
  142. package/build/services/controlplane/types.js +3 -0
  143. package/build/services/cron/index.d.ts +46 -0
  144. package/build/services/cron/index.js +199 -0
  145. package/build/services/db/index.d.ts +3 -0
  146. package/build/services/db/index.js +19 -0
  147. package/build/services/db/migrate.d.ts +1 -0
  148. package/build/services/db/migrate.js +78 -0
  149. package/build/services/dba.d.ts +28 -0
  150. package/build/services/dba.js +32 -0
  151. package/build/services/escalation/bulk.d.ts +27 -0
  152. package/build/services/escalation/bulk.js +57 -0
  153. package/build/services/escalation/crud.d.ts +47 -0
  154. package/build/services/escalation/crud.js +150 -0
  155. package/build/services/escalation/index.d.ts +4 -0
  156. package/build/services/escalation/index.js +20 -0
  157. package/build/services/escalation/queries.d.ts +37 -0
  158. package/build/services/escalation/queries.js +163 -0
  159. package/build/services/escalation/sql.d.ts +21 -0
  160. package/build/services/escalation/sql.js +135 -0
  161. package/build/services/escalation/types.d.ts +43 -0
  162. package/build/services/escalation/types.js +13 -0
  163. package/build/services/escalation-strategy/default.d.ts +12 -0
  164. package/build/services/escalation-strategy/default.js +17 -0
  165. package/build/services/escalation-strategy/index.d.ts +21 -0
  166. package/build/services/escalation-strategy/index.js +32 -0
  167. package/build/services/escalation-strategy/mcp.d.ts +13 -0
  168. package/build/services/escalation-strategy/mcp.js +51 -0
  169. package/build/services/events/index.d.ts +37 -0
  170. package/build/services/events/index.js +64 -0
  171. package/build/services/events/memory.d.ts +27 -0
  172. package/build/services/events/memory.js +40 -0
  173. package/build/services/events/nats.d.ts +29 -0
  174. package/build/services/events/nats.js +50 -0
  175. package/build/services/events/publish.d.ts +72 -0
  176. package/build/services/events/publish.js +106 -0
  177. package/build/services/events/socketio.d.ts +33 -0
  178. package/build/services/events/socketio.js +70 -0
  179. package/build/services/export/client.d.ts +2 -0
  180. package/build/services/export/client.js +16 -0
  181. package/build/services/export/index.d.ts +39 -0
  182. package/build/services/export/index.js +158 -0
  183. package/build/services/export/post-process.d.ts +16 -0
  184. package/build/services/export/post-process.js +133 -0
  185. package/build/services/export/types.d.ts +25 -0
  186. package/build/services/export/types.js +2 -0
  187. package/build/services/hotmesh-utils.d.ts +61 -0
  188. package/build/services/hotmesh-utils.js +204 -0
  189. package/build/services/iam/activity.d.ts +52 -0
  190. package/build/services/iam/activity.js +59 -0
  191. package/build/services/iam/bots.d.ts +83 -0
  192. package/build/services/iam/bots.js +157 -0
  193. package/build/services/iam/context.d.ts +14 -0
  194. package/build/services/iam/context.js +61 -0
  195. package/build/services/iam/credentials.d.ts +42 -0
  196. package/build/services/iam/credentials.js +86 -0
  197. package/build/services/iam/envelope.d.ts +10 -0
  198. package/build/services/iam/envelope.js +32 -0
  199. package/build/services/iam/ephemeral.d.ts +50 -0
  200. package/build/services/iam/ephemeral.js +131 -0
  201. package/build/services/iam/index.d.ts +19 -0
  202. package/build/services/iam/index.js +37 -0
  203. package/build/services/iam/principal.d.ts +12 -0
  204. package/build/services/iam/principal.js +53 -0
  205. package/build/services/iam/resolve.d.ts +48 -0
  206. package/build/services/iam/resolve.js +89 -0
  207. package/build/services/insight/index.d.ts +30 -0
  208. package/build/services/insight/index.js +81 -0
  209. package/build/services/insight/prompts.d.ts +4 -0
  210. package/build/services/insight/prompts.js +15 -0
  211. package/build/services/interceptor/activities/config.d.ts +21 -0
  212. package/build/services/interceptor/activities/config.js +26 -0
  213. package/build/services/interceptor/activities/escalation.d.ts +58 -0
  214. package/build/services/interceptor/activities/escalation.js +110 -0
  215. package/build/services/interceptor/activities/index.d.ts +4 -0
  216. package/build/services/interceptor/activities/index.js +23 -0
  217. package/build/services/interceptor/activities/task.d.ts +65 -0
  218. package/build/services/interceptor/activities/task.js +168 -0
  219. package/build/services/interceptor/activities/workflow.d.ts +26 -0
  220. package/build/services/interceptor/activities/workflow.js +41 -0
  221. package/build/services/interceptor/activity-interceptor.d.ts +32 -0
  222. package/build/services/interceptor/activity-interceptor.js +86 -0
  223. package/build/services/interceptor/completion.d.ts +16 -0
  224. package/build/services/interceptor/completion.js +149 -0
  225. package/build/services/interceptor/context.d.ts +11 -0
  226. package/build/services/interceptor/context.js +20 -0
  227. package/build/services/interceptor/escalation.d.ts +26 -0
  228. package/build/services/interceptor/escalation.js +150 -0
  229. package/build/services/interceptor/index.d.ts +45 -0
  230. package/build/services/interceptor/index.js +160 -0
  231. package/build/services/interceptor/lifecycle.d.ts +44 -0
  232. package/build/services/interceptor/lifecycle.js +174 -0
  233. package/build/services/interceptor/state.d.ts +22 -0
  234. package/build/services/interceptor/state.js +36 -0
  235. package/build/services/interceptor/types.d.ts +43 -0
  236. package/build/services/interceptor/types.js +3 -0
  237. package/build/services/llm/detect.d.ts +16 -0
  238. package/build/services/llm/detect.js +33 -0
  239. package/build/services/llm/index.d.ts +34 -0
  240. package/build/services/llm/index.js +106 -0
  241. package/build/services/llm/providers/anthropic.d.ts +11 -0
  242. package/build/services/llm/providers/anthropic.js +85 -0
  243. package/build/services/llm/providers/openai.d.ts +9 -0
  244. package/build/services/llm/providers/openai.js +46 -0
  245. package/build/services/llm/translate.d.ts +66 -0
  246. package/build/services/llm/translate.js +192 -0
  247. package/build/services/llm/types.d.ts +64 -0
  248. package/build/services/llm/types.js +8 -0
  249. package/build/services/logger/index.d.ts +32 -0
  250. package/build/services/logger/index.js +69 -0
  251. package/build/services/logger/pino.d.ts +24 -0
  252. package/build/services/logger/pino.js +59 -0
  253. package/build/services/maintenance/index.d.ts +43 -0
  254. package/build/services/maintenance/index.js +183 -0
  255. package/build/services/mcp/adapter.d.ts +23 -0
  256. package/build/services/mcp/adapter.js +119 -0
  257. package/build/services/mcp/client/connection.d.ts +46 -0
  258. package/build/services/mcp/client/connection.js +280 -0
  259. package/build/services/mcp/client/index.d.ts +2 -0
  260. package/build/services/mcp/client/index.js +16 -0
  261. package/build/services/mcp/client/tools.d.ts +22 -0
  262. package/build/services/mcp/client/tools.js +118 -0
  263. package/build/services/mcp/db-server/index.d.ts +25 -0
  264. package/build/services/mcp/db-server/index.js +49 -0
  265. package/build/services/mcp/db-server/schemas.d.ts +52 -0
  266. package/build/services/mcp/db-server/schemas.js +34 -0
  267. package/build/services/mcp/db-server/tools.d.ts +5 -0
  268. package/build/services/mcp/db-server/tools.js +224 -0
  269. package/build/services/mcp/db.d.ts +26 -0
  270. package/build/services/mcp/db.js +141 -0
  271. package/build/services/mcp/index.d.ts +25 -0
  272. package/build/services/mcp/index.js +47 -0
  273. package/build/services/mcp/playwright-server/index.d.ts +14 -0
  274. package/build/services/mcp/playwright-server/index.js +25 -0
  275. package/build/services/mcp/playwright-server/lifecycle.d.ts +7 -0
  276. package/build/services/mcp/playwright-server/lifecycle.js +63 -0
  277. package/build/services/mcp/playwright-server/schemas.d.ts +81 -0
  278. package/build/services/mcp/playwright-server/schemas.js +48 -0
  279. package/build/services/mcp/playwright-server/tools.d.ts +2 -0
  280. package/build/services/mcp/playwright-server/tools.js +224 -0
  281. package/build/services/mcp/server.d.ts +26 -0
  282. package/build/services/mcp/server.js +286 -0
  283. package/build/services/mcp/sql.d.ts +12 -0
  284. package/build/services/mcp/sql.js +59 -0
  285. package/build/services/mcp/types.d.ts +17 -0
  286. package/build/services/mcp/types.js +3 -0
  287. package/build/services/mcp/vision-server.d.ts +15 -0
  288. package/build/services/mcp/vision-server.js +214 -0
  289. package/build/services/mcp/workflow-compiler-server.d.ts +15 -0
  290. package/build/services/mcp/workflow-compiler-server.js +206 -0
  291. package/build/services/mcp/workflow-server.d.ts +24 -0
  292. package/build/services/mcp/workflow-server.js +230 -0
  293. package/build/services/mcp-runs/enrichment.d.ts +12 -0
  294. package/build/services/mcp-runs/enrichment.js +39 -0
  295. package/build/services/mcp-runs/events.d.ts +6 -0
  296. package/build/services/mcp-runs/events.js +126 -0
  297. package/build/services/mcp-runs/execution-builder.d.ts +12 -0
  298. package/build/services/mcp-runs/execution-builder.js +100 -0
  299. package/build/services/mcp-runs/index.d.ts +4 -0
  300. package/build/services/mcp-runs/index.js +8 -0
  301. package/build/services/mcp-runs/queries.d.ts +28 -0
  302. package/build/services/mcp-runs/queries.js +71 -0
  303. package/build/services/mcp-runs/sql.d.ts +4 -0
  304. package/build/services/mcp-runs/sql.js +17 -0
  305. package/build/services/mcp-runs/types.d.ts +65 -0
  306. package/build/services/mcp-runs/types.js +2 -0
  307. package/build/services/namespace/index.d.ts +17 -0
  308. package/build/services/namespace/index.js +41 -0
  309. package/build/services/namespace/sql.d.ts +4 -0
  310. package/build/services/namespace/sql.js +23 -0
  311. package/build/services/namespace/types.d.ts +11 -0
  312. package/build/services/namespace/types.js +3 -0
  313. package/build/services/oauth/crypto.d.ts +19 -0
  314. package/build/services/oauth/crypto.js +95 -0
  315. package/build/services/oauth/db.d.ts +20 -0
  316. package/build/services/oauth/db.js +140 -0
  317. package/build/services/oauth/index.d.ts +12 -0
  318. package/build/services/oauth/index.js +77 -0
  319. package/build/services/oauth/providers/anthropic.d.ts +3 -0
  320. package/build/services/oauth/providers/anthropic.js +111 -0
  321. package/build/services/oauth/providers/github.d.ts +3 -0
  322. package/build/services/oauth/providers/github.js +46 -0
  323. package/build/services/oauth/providers/google.d.ts +3 -0
  324. package/build/services/oauth/providers/google.js +44 -0
  325. package/build/services/oauth/providers/index.d.ts +2 -0
  326. package/build/services/oauth/providers/index.js +7 -0
  327. package/build/services/oauth/providers/microsoft.d.ts +3 -0
  328. package/build/services/oauth/providers/microsoft.js +46 -0
  329. package/build/services/oauth/providers/mock.d.ts +3 -0
  330. package/build/services/oauth/providers/mock.js +76 -0
  331. package/build/services/oauth/providers/registry.d.ts +8 -0
  332. package/build/services/oauth/providers/registry.js +46 -0
  333. package/build/services/oauth/providers/types.d.ts +13 -0
  334. package/build/services/oauth/providers/types.js +2 -0
  335. package/build/services/oauth/state.d.ts +30 -0
  336. package/build/services/oauth/state.js +83 -0
  337. package/build/services/orchestrator/index.d.ts +23 -0
  338. package/build/services/orchestrator/index.js +156 -0
  339. package/build/services/orchestrator/types.d.ts +15 -0
  340. package/build/services/orchestrator/types.js +3 -0
  341. package/build/services/role/index.d.ts +47 -0
  342. package/build/services/role/index.js +136 -0
  343. package/build/services/role/sql.d.ts +14 -0
  344. package/build/services/role/sql.js +80 -0
  345. package/build/services/role/types.d.ts +11 -0
  346. package/build/services/role/types.js +3 -0
  347. package/build/services/storage/index.d.ts +12 -0
  348. package/build/services/storage/index.js +31 -0
  349. package/build/services/storage/local.d.ts +26 -0
  350. package/build/services/storage/local.js +129 -0
  351. package/build/services/storage/s3.d.ts +31 -0
  352. package/build/services/storage/s3.js +180 -0
  353. package/build/services/storage/types.d.ts +41 -0
  354. package/build/services/storage/types.js +2 -0
  355. package/build/services/task/crud.d.ts +21 -0
  356. package/build/services/task/crud.js +123 -0
  357. package/build/services/task/index.d.ts +4 -0
  358. package/build/services/task/index.js +20 -0
  359. package/build/services/task/process.d.ts +14 -0
  360. package/build/services/task/process.js +98 -0
  361. package/build/services/task/resolve.d.ts +12 -0
  362. package/build/services/task/resolve.js +49 -0
  363. package/build/services/task/sql.d.ts +19 -0
  364. package/build/services/task/sql.js +92 -0
  365. package/build/services/task/types.d.ts +56 -0
  366. package/build/services/task/types.js +9 -0
  367. package/build/services/telemetry/honeycomb.d.ts +53 -0
  368. package/build/services/telemetry/honeycomb.js +79 -0
  369. package/build/services/telemetry/index.d.ts +46 -0
  370. package/build/services/telemetry/index.js +68 -0
  371. package/build/services/user/auth.d.ts +7 -0
  372. package/build/services/user/auth.js +26 -0
  373. package/build/services/user/crud.d.ts +19 -0
  374. package/build/services/user/crud.js +151 -0
  375. package/build/services/user/index.d.ts +5 -0
  376. package/build/services/user/index.js +26 -0
  377. package/build/services/user/rbac.d.ts +15 -0
  378. package/build/services/user/rbac.js +32 -0
  379. package/build/services/user/roles.d.ts +7 -0
  380. package/build/services/user/roles.js +42 -0
  381. package/build/services/user/sql.d.ts +22 -0
  382. package/build/services/user/sql.js +45 -0
  383. package/build/services/user/types.d.ts +23 -0
  384. package/build/services/user/types.js +4 -0
  385. package/build/services/workers/registry.d.ts +10 -0
  386. package/build/services/workers/registry.js +26 -0
  387. package/build/services/workflow-invocation.d.ts +46 -0
  388. package/build/services/workflow-invocation.js +184 -0
  389. package/build/services/yaml-workflow/db-utils.d.ts +25 -0
  390. package/build/services/yaml-workflow/db-utils.js +93 -0
  391. package/build/services/yaml-workflow/db.d.ts +27 -0
  392. package/build/services/yaml-workflow/db.js +196 -0
  393. package/build/services/yaml-workflow/deployer-helpers.d.ts +13 -0
  394. package/build/services/yaml-workflow/deployer-helpers.js +133 -0
  395. package/build/services/yaml-workflow/deployer.d.ts +54 -0
  396. package/build/services/yaml-workflow/deployer.js +203 -0
  397. package/build/services/yaml-workflow/generator.d.ts +21 -0
  398. package/build/services/yaml-workflow/generator.js +117 -0
  399. package/build/services/yaml-workflow/index.d.ts +4 -0
  400. package/build/services/yaml-workflow/index.js +20 -0
  401. package/build/services/yaml-workflow/input-analyzer-helpers.d.ts +48 -0
  402. package/build/services/yaml-workflow/input-analyzer-helpers.js +183 -0
  403. package/build/services/yaml-workflow/input-analyzer.d.ts +30 -0
  404. package/build/services/yaml-workflow/input-analyzer.js +109 -0
  405. package/build/services/yaml-workflow/pattern-detector/array-source.d.ts +22 -0
  406. package/build/services/yaml-workflow/pattern-detector/array-source.js +120 -0
  407. package/build/services/yaml-workflow/pattern-detector/collapse.d.ts +27 -0
  408. package/build/services/yaml-workflow/pattern-detector/collapse.js +92 -0
  409. package/build/services/yaml-workflow/pattern-detector/index.d.ts +18 -0
  410. package/build/services/yaml-workflow/pattern-detector/index.js +22 -0
  411. package/build/services/yaml-workflow/pattern-detector/run-detection.d.ts +28 -0
  412. package/build/services/yaml-workflow/pattern-detector/run-detection.js +81 -0
  413. package/build/services/yaml-workflow/pattern-detector/types.d.ts +29 -0
  414. package/build/services/yaml-workflow/pattern-detector/types.js +8 -0
  415. package/build/services/yaml-workflow/pipeline/analyze.d.ts +11 -0
  416. package/build/services/yaml-workflow/pipeline/analyze.js +64 -0
  417. package/build/services/yaml-workflow/pipeline/build/dag.d.ts +25 -0
  418. package/build/services/yaml-workflow/pipeline/build/dag.js +254 -0
  419. package/build/services/yaml-workflow/pipeline/build/index.d.ts +20 -0
  420. package/build/services/yaml-workflow/pipeline/build/index.js +115 -0
  421. package/build/services/yaml-workflow/pipeline/build/iteration.d.ts +25 -0
  422. package/build/services/yaml-workflow/pipeline/build/iteration.js +231 -0
  423. package/build/services/yaml-workflow/pipeline/build/metadata.d.ts +15 -0
  424. package/build/services/yaml-workflow/pipeline/build/metadata.js +126 -0
  425. package/build/services/yaml-workflow/pipeline/build/transform.d.ts +17 -0
  426. package/build/services/yaml-workflow/pipeline/build/transform.js +94 -0
  427. package/build/services/yaml-workflow/pipeline/build/utils.d.ts +22 -0
  428. package/build/services/yaml-workflow/pipeline/build/utils.js +129 -0
  429. package/build/services/yaml-workflow/pipeline/build/wiring.d.ts +9 -0
  430. package/build/services/yaml-workflow/pipeline/build/wiring.js +148 -0
  431. package/build/services/yaml-workflow/pipeline/compile/index.d.ts +17 -0
  432. package/build/services/yaml-workflow/pipeline/compile/index.js +64 -0
  433. package/build/services/yaml-workflow/pipeline/compile/llm-call.d.ts +14 -0
  434. package/build/services/yaml-workflow/pipeline/compile/llm-call.js +153 -0
  435. package/build/services/yaml-workflow/pipeline/compile/parse-plan.d.ts +12 -0
  436. package/build/services/yaml-workflow/pipeline/compile/parse-plan.js +88 -0
  437. package/build/services/yaml-workflow/pipeline/compile/summarize.d.ts +39 -0
  438. package/build/services/yaml-workflow/pipeline/compile/summarize.js +174 -0
  439. package/build/services/yaml-workflow/pipeline/extract-helpers.d.ts +42 -0
  440. package/build/services/yaml-workflow/pipeline/extract-helpers.js +88 -0
  441. package/build/services/yaml-workflow/pipeline/extract.d.ts +24 -0
  442. package/build/services/yaml-workflow/pipeline/extract.js +235 -0
  443. package/build/services/yaml-workflow/pipeline/prompts.d.ts +15 -0
  444. package/build/services/yaml-workflow/pipeline/prompts.js +254 -0
  445. package/build/services/yaml-workflow/pipeline/validate.d.ts +12 -0
  446. package/build/services/yaml-workflow/pipeline/validate.js +111 -0
  447. package/build/services/yaml-workflow/sql.d.ts +19 -0
  448. package/build/services/yaml-workflow/sql.js +83 -0
  449. package/build/services/yaml-workflow/types.d.ts +223 -0
  450. package/build/services/yaml-workflow/types.js +8 -0
  451. package/build/services/yaml-workflow/workers/callbacks.d.ts +17 -0
  452. package/build/services/yaml-workflow/workers/callbacks.js +194 -0
  453. package/build/services/yaml-workflow/workers/events.d.ts +7 -0
  454. package/build/services/yaml-workflow/workers/events.js +49 -0
  455. package/build/services/yaml-workflow/workers/index.d.ts +4 -0
  456. package/build/services/yaml-workflow/workers/index.js +15 -0
  457. package/build/services/yaml-workflow/workers/register.d.ts +15 -0
  458. package/build/services/yaml-workflow/workers/register.js +233 -0
  459. package/build/services/yaml-workflow/workers/scope.d.ts +13 -0
  460. package/build/services/yaml-workflow/workers/scope.js +37 -0
  461. package/build/start/adapters.d.ts +6 -0
  462. package/build/start/adapters.js +80 -0
  463. package/build/start/config.d.ts +10 -0
  464. package/build/start/config.js +88 -0
  465. package/build/start/index.d.ts +21 -0
  466. package/build/start/index.js +87 -0
  467. package/build/start/server.d.ts +6 -0
  468. package/build/start/server.js +46 -0
  469. package/build/start/workers.d.ts +32 -0
  470. package/build/start/workers.js +144 -0
  471. package/build/system/activities/claude-code.d.ts +56 -0
  472. package/build/system/activities/claude-code.js +258 -0
  473. package/build/system/activities/file-storage.d.ts +31 -0
  474. package/build/system/activities/file-storage.js +71 -0
  475. package/build/system/activities/http.d.ts +27 -0
  476. package/build/system/activities/http.js +56 -0
  477. package/build/system/activities/oauth.d.ts +39 -0
  478. package/build/system/activities/oauth.js +33 -0
  479. package/build/system/activities/triage/cache.d.ts +7 -0
  480. package/build/system/activities/triage/cache.js +10 -0
  481. package/build/system/activities/triage/context.d.ts +21 -0
  482. package/build/system/activities/triage/context.js +92 -0
  483. package/build/system/activities/triage/discovery.d.ts +25 -0
  484. package/build/system/activities/triage/discovery.js +170 -0
  485. package/build/system/activities/triage/index.d.ts +5 -0
  486. package/build/system/activities/triage/index.js +22 -0
  487. package/build/system/activities/triage/llm.d.ts +9 -0
  488. package/build/system/activities/triage/llm.js +34 -0
  489. package/build/system/activities/triage/tools.d.ts +24 -0
  490. package/build/system/activities/triage/tools.js +178 -0
  491. package/build/system/index.d.ts +16 -0
  492. package/build/system/index.js +100 -0
  493. package/build/system/mcp-servers/claude-code.d.ts +17 -0
  494. package/build/system/mcp-servers/claude-code.js +110 -0
  495. package/build/system/mcp-servers/db-query/index.d.ts +25 -0
  496. package/build/system/mcp-servers/db-query/index.js +49 -0
  497. package/build/system/mcp-servers/db-query/schemas.d.ts +52 -0
  498. package/build/system/mcp-servers/db-query/schemas.js +34 -0
  499. package/build/system/mcp-servers/db-query/tools.d.ts +5 -0
  500. package/build/system/mcp-servers/db-query/tools.js +224 -0
  501. package/build/system/mcp-servers/document-vision.d.ts +15 -0
  502. package/build/system/mcp-servers/document-vision.js +228 -0
  503. package/build/system/mcp-servers/file-storage.d.ts +4 -0
  504. package/build/system/mcp-servers/file-storage.js +101 -0
  505. package/build/system/mcp-servers/http-fetch.d.ts +4 -0
  506. package/build/system/mcp-servers/http-fetch.js +100 -0
  507. package/build/system/mcp-servers/human-queue.d.ts +26 -0
  508. package/build/system/mcp-servers/human-queue.js +287 -0
  509. package/build/system/mcp-servers/oauth.d.ts +11 -0
  510. package/build/system/mcp-servers/oauth.js +100 -0
  511. package/build/system/mcp-servers/playwright/browser-lifecycle.d.ts +26 -0
  512. package/build/system/mcp-servers/playwright/browser-lifecycle.js +125 -0
  513. package/build/system/mcp-servers/playwright/index.d.ts +25 -0
  514. package/build/system/mcp-servers/playwright/index.js +42 -0
  515. package/build/system/mcp-servers/playwright/schemas.d.ts +383 -0
  516. package/build/system/mcp-servers/playwright/schemas.js +87 -0
  517. package/build/system/mcp-servers/playwright/tools-atomic.d.ts +2 -0
  518. package/build/system/mcp-servers/playwright/tools-atomic.js +9 -0
  519. package/build/system/mcp-servers/playwright/tools-navigation.d.ts +2 -0
  520. package/build/system/mcp-servers/playwright/tools-navigation.js +140 -0
  521. package/build/system/mcp-servers/playwright/tools-page-interaction.d.ts +2 -0
  522. package/build/system/mcp-servers/playwright/tools-page-interaction.js +162 -0
  523. package/build/system/mcp-servers/playwright/tools-run-script.d.ts +2 -0
  524. package/build/system/mcp-servers/playwright/tools-run-script.js +190 -0
  525. package/build/system/mcp-servers/playwright/types.d.ts +8 -0
  526. package/build/system/mcp-servers/playwright/types.js +30 -0
  527. package/build/system/mcp-servers/playwright-cli/helpers.d.ts +11 -0
  528. package/build/system/mcp-servers/playwright-cli/helpers.js +20 -0
  529. package/build/system/mcp-servers/playwright-cli/index.d.ts +4 -0
  530. package/build/system/mcp-servers/playwright-cli/index.js +15 -0
  531. package/build/system/mcp-servers/playwright-cli/schemas.d.ts +219 -0
  532. package/build/system/mcp-servers/playwright-cli/schemas.js +75 -0
  533. package/build/system/mcp-servers/playwright-cli/tools-auth.d.ts +2 -0
  534. package/build/system/mcp-servers/playwright-cli/tools-auth.js +183 -0
  535. package/build/system/mcp-servers/playwright-cli/tools-capture.d.ts +2 -0
  536. package/build/system/mcp-servers/playwright-cli/tools-capture.js +267 -0
  537. package/build/system/mcp-servers/prompts.d.ts +4 -0
  538. package/build/system/mcp-servers/prompts.js +10 -0
  539. package/build/system/mcp-servers/workflow-compiler.d.ts +15 -0
  540. package/build/system/mcp-servers/workflow-compiler.js +230 -0
  541. package/build/system/mcp-servers/workflow.d.ts +24 -0
  542. package/build/system/mcp-servers/workflow.js +231 -0
  543. package/build/system/seed/index.d.ts +7 -0
  544. package/build/system/seed/index.js +36 -0
  545. package/build/system/seed/server-definitions.d.ts +1460 -0
  546. package/build/system/seed/server-definitions.js +160 -0
  547. package/build/system/seed/tool-manifests-browser.d.ts +577 -0
  548. package/build/system/seed/tool-manifests-browser.js +158 -0
  549. package/build/system/seed/tool-manifests-data.d.ts +322 -0
  550. package/build/system/seed/tool-manifests-data.js +173 -0
  551. package/build/system/seed/tool-manifests-escalation.d.ts +173 -0
  552. package/build/system/seed/tool-manifests-escalation.js +76 -0
  553. package/build/system/seed/tool-manifests-workflows.d.ts +211 -0
  554. package/build/system/seed/tool-manifests-workflows.js +136 -0
  555. package/build/system/workflows/mcp-deterministic/activities.d.ts +6 -0
  556. package/build/system/workflows/mcp-deterministic/activities.js +56 -0
  557. package/build/system/workflows/mcp-deterministic/index.d.ts +9 -0
  558. package/build/system/workflows/mcp-deterministic/index.js +72 -0
  559. package/build/system/workflows/mcp-query/activities/caches.d.ts +7 -0
  560. package/build/system/workflows/mcp-query/activities/caches.js +10 -0
  561. package/build/system/workflows/mcp-query/activities/discovery.d.ts +31 -0
  562. package/build/system/workflows/mcp-query/activities/discovery.js +172 -0
  563. package/build/system/workflows/mcp-query/activities/index.d.ts +4 -0
  564. package/build/system/workflows/mcp-query/activities/index.js +13 -0
  565. package/build/system/workflows/mcp-query/activities/llm.d.ts +8 -0
  566. package/build/system/workflows/mcp-query/activities/llm.js +33 -0
  567. package/build/system/workflows/mcp-query/activities/tool-executor.d.ts +5 -0
  568. package/build/system/workflows/mcp-query/activities/tool-executor.js +112 -0
  569. package/build/system/workflows/mcp-query/activities/tool-loader.d.ts +14 -0
  570. package/build/system/workflows/mcp-query/activities/tool-loader.js +93 -0
  571. package/build/system/workflows/mcp-query/index.d.ts +14 -0
  572. package/build/system/workflows/mcp-query/index.js +227 -0
  573. package/build/system/workflows/mcp-query/prompts.d.ts +4 -0
  574. package/build/system/workflows/mcp-query/prompts.js +101 -0
  575. package/build/system/workflows/mcp-query/strategy-advisors.d.ts +14 -0
  576. package/build/system/workflows/mcp-query/strategy-advisors.js +109 -0
  577. package/build/system/workflows/mcp-query/types.d.ts +10 -0
  578. package/build/system/workflows/mcp-query/types.js +3 -0
  579. package/build/system/workflows/mcp-query-router/activities.d.ts +6 -0
  580. package/build/system/workflows/mcp-query-router/activities.js +12 -0
  581. package/build/system/workflows/mcp-query-router/index.d.ts +13 -0
  582. package/build/system/workflows/mcp-query-router/index.js +107 -0
  583. package/build/system/workflows/mcp-query-router/prompts.d.ts +1 -0
  584. package/build/system/workflows/mcp-query-router/prompts.js +8 -0
  585. package/build/system/workflows/mcp-triage/index.d.ts +31 -0
  586. package/build/system/workflows/mcp-triage/index.js +222 -0
  587. package/build/system/workflows/mcp-triage/prompts.d.ts +7 -0
  588. package/build/system/workflows/mcp-triage/prompts.js +159 -0
  589. package/build/system/workflows/mcp-triage/response-builders.d.ts +17 -0
  590. package/build/system/workflows/mcp-triage/response-builders.js +96 -0
  591. package/build/system/workflows/mcp-triage/response.d.ts +8 -0
  592. package/build/system/workflows/mcp-triage/response.js +157 -0
  593. package/build/system/workflows/mcp-triage/types.d.ts +20 -0
  594. package/build/system/workflows/mcp-triage/types.js +3 -0
  595. package/build/system/workflows/mcp-triage-deterministic/activities.d.ts +4 -0
  596. package/build/system/workflows/mcp-triage-deterministic/activities.js +8 -0
  597. package/build/system/workflows/mcp-triage-deterministic/index.d.ts +12 -0
  598. package/build/system/workflows/mcp-triage-deterministic/index.js +83 -0
  599. package/build/system/workflows/mcp-triage-router/activities.d.ts +9 -0
  600. package/build/system/workflows/mcp-triage-router/activities.js +15 -0
  601. package/build/system/workflows/mcp-triage-router/index.d.ts +13 -0
  602. package/build/system/workflows/mcp-triage-router/index.js +122 -0
  603. package/build/tsconfig.tsbuildinfo +1 -0
  604. package/build/types/auth.d.ts +34 -0
  605. package/build/types/auth.js +2 -0
  606. package/build/types/config.d.ts +48 -0
  607. package/build/types/config.js +2 -0
  608. package/build/types/delegation.d.ts +41 -0
  609. package/build/types/delegation.js +2 -0
  610. package/build/types/discovery.d.ts +12 -0
  611. package/build/types/discovery.js +3 -0
  612. package/build/types/envelope.d.ts +53 -0
  613. package/build/types/envelope.js +2 -0
  614. package/build/types/escalation-strategy.d.ts +37 -0
  615. package/build/types/escalation-strategy.js +2 -0
  616. package/build/types/escalation.d.ts +39 -0
  617. package/build/types/escalation.js +21 -0
  618. package/build/types/events.d.ts +65 -0
  619. package/build/types/events.js +2 -0
  620. package/build/types/export.d.ts +78 -0
  621. package/build/types/export.js +11 -0
  622. package/build/types/index.d.ts +21 -0
  623. package/build/types/index.js +6 -0
  624. package/build/types/logger.d.ts +26 -0
  625. package/build/types/logger.js +2 -0
  626. package/build/types/maintenance.d.ts +24 -0
  627. package/build/types/maintenance.js +2 -0
  628. package/build/types/mcp.d.ts +80 -0
  629. package/build/types/mcp.js +2 -0
  630. package/build/types/oauth.d.ts +74 -0
  631. package/build/types/oauth.js +2 -0
  632. package/build/types/startup.d.ts +110 -0
  633. package/build/types/startup.js +2 -0
  634. package/build/types/task.d.ts +39 -0
  635. package/build/types/task.js +2 -0
  636. package/build/types/telemetry.d.ts +32 -0
  637. package/build/types/telemetry.js +2 -0
  638. package/build/types/tool-context.d.ts +68 -0
  639. package/build/types/tool-context.js +14 -0
  640. package/build/types/user.d.ts +18 -0
  641. package/build/types/user.js +2 -0
  642. package/build/types/workflow.d.ts +35 -0
  643. package/build/types/workflow.js +2 -0
  644. package/build/types/yaml-workflow.d.ts +101 -0
  645. package/build/types/yaml-workflow.js +5 -0
  646. package/build/vitest.config.d.ts +2 -0
  647. package/build/vitest.config.js +32 -0
  648. package/build/vitest.integration.config.d.ts +2 -0
  649. package/build/vitest.integration.config.js +25 -0
  650. package/build/workers/index.d.ts +6 -0
  651. package/build/workers/index.js +20 -0
  652. package/dashboard/dist/assets/AdminDashboard-jfacvOC7.js +2 -0
  653. package/dashboard/dist/assets/AdminDashboard-jfacvOC7.js.map +1 -0
  654. package/dashboard/dist/assets/AvailableEscalationsPage-BglLDoT8.js +2 -0
  655. package/dashboard/dist/assets/AvailableEscalationsPage-BglLDoT8.js.map +1 -0
  656. package/dashboard/dist/assets/BotPicker-D6FYW1Gt.js +2 -0
  657. package/dashboard/dist/assets/BotPicker-D6FYW1Gt.js.map +1 -0
  658. package/dashboard/dist/assets/CollapsibleSection-Cxk4wvjT.js +2 -0
  659. package/dashboard/dist/assets/CollapsibleSection-Cxk4wvjT.js.map +1 -0
  660. package/dashboard/dist/assets/ConfirmDeleteModal-FSXyKjaB.js +2 -0
  661. package/dashboard/dist/assets/ConfirmDeleteModal-FSXyKjaB.js.map +1 -0
  662. package/dashboard/dist/assets/CopyableId-CBdxWfp8.js +2 -0
  663. package/dashboard/dist/assets/CopyableId-CBdxWfp8.js.map +1 -0
  664. package/dashboard/dist/assets/CredentialsPage-Ikzsot0w.js +2 -0
  665. package/dashboard/dist/assets/CredentialsPage-Ikzsot0w.js.map +1 -0
  666. package/dashboard/dist/assets/CustomDurationPicker-CAninCbl.js +2 -0
  667. package/dashboard/dist/assets/CustomDurationPicker-CAninCbl.js.map +1 -0
  668. package/dashboard/dist/assets/DataTable-BDn1WBHS.js +2 -0
  669. package/dashboard/dist/assets/DataTable-BDn1WBHS.js.map +1 -0
  670. package/dashboard/dist/assets/EmptyState-2CmV-IaS.js +2 -0
  671. package/dashboard/dist/assets/EmptyState-2CmV-IaS.js.map +1 -0
  672. package/dashboard/dist/assets/EscalationsOverview-GXYFPASS.js +2 -0
  673. package/dashboard/dist/assets/EscalationsOverview-GXYFPASS.js.map +1 -0
  674. package/dashboard/dist/assets/EventTable-B01oJf6Y.js +2 -0
  675. package/dashboard/dist/assets/EventTable-B01oJf6Y.js.map +1 -0
  676. package/dashboard/dist/assets/Field-DuFBAYhu.js +2 -0
  677. package/dashboard/dist/assets/Field-DuFBAYhu.js.map +1 -0
  678. package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +2 -0
  679. package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js.map +1 -0
  680. package/dashboard/dist/assets/McpOverview-JkvRcX2e.js +2 -0
  681. package/dashboard/dist/assets/McpOverview-JkvRcX2e.js.map +1 -0
  682. package/dashboard/dist/assets/McpQueryDetailPage-CUMqhQdS.js +2 -0
  683. package/dashboard/dist/assets/McpQueryDetailPage-CUMqhQdS.js.map +1 -0
  684. package/dashboard/dist/assets/McpQueryPage-DRRhw4nN.js +2 -0
  685. package/dashboard/dist/assets/McpQueryPage-DRRhw4nN.js.map +1 -0
  686. package/dashboard/dist/assets/McpRunDetailPage-CmPs5EvE.js +2 -0
  687. package/dashboard/dist/assets/McpRunDetailPage-CmPs5EvE.js.map +1 -0
  688. package/dashboard/dist/assets/McpRunsPage-Dl5Y2u6k.js +2 -0
  689. package/dashboard/dist/assets/McpRunsPage-Dl5Y2u6k.js.map +1 -0
  690. package/dashboard/dist/assets/Modal-B4rbIVAn.js +2 -0
  691. package/dashboard/dist/assets/Modal-B4rbIVAn.js.map +1 -0
  692. package/dashboard/dist/assets/OperatorDashboard-B56il28q.js +2 -0
  693. package/dashboard/dist/assets/OperatorDashboard-B56il28q.js.map +1 -0
  694. package/dashboard/dist/assets/PageHeader-CpWFly5S.js +2 -0
  695. package/dashboard/dist/assets/PageHeader-CpWFly5S.js.map +1 -0
  696. package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +2 -0
  697. package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js.map +1 -0
  698. package/dashboard/dist/assets/ProcessDetailPage-CMLq4M7D.js +2 -0
  699. package/dashboard/dist/assets/ProcessDetailPage-CMLq4M7D.js.map +1 -0
  700. package/dashboard/dist/assets/ProcessesListPage-CZ_HF06v.js +2 -0
  701. package/dashboard/dist/assets/ProcessesListPage-CZ_HF06v.js.map +1 -0
  702. package/dashboard/dist/assets/RolePill-BTPa8L-P.js +2 -0
  703. package/dashboard/dist/assets/RolePill-BTPa8L-P.js.map +1 -0
  704. package/dashboard/dist/assets/RolesPage-9grZW7yR.js +2 -0
  705. package/dashboard/dist/assets/RolesPage-9grZW7yR.js.map +1 -0
  706. package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +2 -0
  707. package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js.map +1 -0
  708. package/dashboard/dist/assets/SimpleMarkdown-CBlvaWP4.js +4 -0
  709. package/dashboard/dist/assets/SimpleMarkdown-CBlvaWP4.js.map +1 -0
  710. package/dashboard/dist/assets/StatCard-DlgF0CJC.js +2 -0
  711. package/dashboard/dist/assets/StatCard-DlgF0CJC.js.map +1 -0
  712. package/dashboard/dist/assets/StatusBadge-TlC4jiig.js +2 -0
  713. package/dashboard/dist/assets/StatusBadge-TlC4jiig.js.map +1 -0
  714. package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js +2 -0
  715. package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js.map +1 -0
  716. package/dashboard/dist/assets/SwimlaneTimeline-7SiwATsZ.js +2 -0
  717. package/dashboard/dist/assets/SwimlaneTimeline-7SiwATsZ.js.map +1 -0
  718. package/dashboard/dist/assets/TaskDetailPage-CbPVTakt.js +2 -0
  719. package/dashboard/dist/assets/TaskDetailPage-CbPVTakt.js.map +1 -0
  720. package/dashboard/dist/assets/TaskQueuePill-awmtb0qw.js +2 -0
  721. package/dashboard/dist/assets/TaskQueuePill-awmtb0qw.js.map +1 -0
  722. package/dashboard/dist/assets/TasksListPage-C_QF23c1.js +2 -0
  723. package/dashboard/dist/assets/TasksListPage-C_QF23c1.js.map +1 -0
  724. package/dashboard/dist/assets/TimeAgo-UPG6DoH8.js +2 -0
  725. package/dashboard/dist/assets/TimeAgo-UPG6DoH8.js.map +1 -0
  726. package/dashboard/dist/assets/TimestampCell-DoWMKg6w.js +2 -0
  727. package/dashboard/dist/assets/TimestampCell-DoWMKg6w.js.map +1 -0
  728. package/dashboard/dist/assets/UserName-DaP4YAKr.js +2 -0
  729. package/dashboard/dist/assets/UserName-DaP4YAKr.js.map +1 -0
  730. package/dashboard/dist/assets/VersionHistory-Bt7WBr6m.js +5 -0
  731. package/dashboard/dist/assets/VersionHistory-Bt7WBr6m.js.map +1 -0
  732. package/dashboard/dist/assets/WorkflowExecutionPage-DjtAQ3hy.js +2 -0
  733. package/dashboard/dist/assets/WorkflowExecutionPage-DjtAQ3hy.js.map +1 -0
  734. package/dashboard/dist/assets/WorkflowPill-CCDSVaQj.js +2 -0
  735. package/dashboard/dist/assets/WorkflowPill-CCDSVaQj.js.map +1 -0
  736. package/dashboard/dist/assets/WorkflowsDashboard-D8z9uBNB.js +2 -0
  737. package/dashboard/dist/assets/WorkflowsDashboard-D8z9uBNB.js.map +1 -0
  738. package/dashboard/dist/assets/WorkflowsOverview-D9OzzQqw.js +2 -0
  739. package/dashboard/dist/assets/WorkflowsOverview-D9OzzQqw.js.map +1 -0
  740. package/dashboard/dist/assets/YamlWorkflowDetailPage-DrDvvP62.js +3 -0
  741. package/dashboard/dist/assets/YamlWorkflowDetailPage-DrDvvP62.js.map +1 -0
  742. package/dashboard/dist/assets/YamlWorkflowsPage-COqiNCQK.js +2 -0
  743. package/dashboard/dist/assets/YamlWorkflowsPage-COqiNCQK.js.map +1 -0
  744. package/dashboard/dist/assets/bots-BkKVMbUW.js +2 -0
  745. package/dashboard/dist/assets/bots-BkKVMbUW.js.map +1 -0
  746. package/dashboard/dist/assets/constants-CgaZfe5d.js +2 -0
  747. package/dashboard/dist/assets/constants-CgaZfe5d.js.map +1 -0
  748. package/dashboard/dist/assets/escalation-columns-D6aqStaY.js +2 -0
  749. package/dashboard/dist/assets/escalation-columns-D6aqStaY.js.map +1 -0
  750. package/dashboard/dist/assets/escalation-qalymbKB.js +2 -0
  751. package/dashboard/dist/assets/escalation-qalymbKB.js.map +1 -0
  752. package/dashboard/dist/assets/format-gXZXQ-HJ.js +2 -0
  753. package/dashboard/dist/assets/format-gXZXQ-HJ.js.map +1 -0
  754. package/dashboard/dist/assets/helpers-0gSleuzT.js +2 -0
  755. package/dashboard/dist/assets/helpers-0gSleuzT.js.map +1 -0
  756. package/dashboard/dist/assets/index-BWvMHed7.js +6 -0
  757. package/dashboard/dist/assets/index-BWvMHed7.js.map +1 -0
  758. package/dashboard/dist/assets/index-BaszoPO_.css +1 -0
  759. package/dashboard/dist/assets/index-Cn2jyj9A.js +2 -0
  760. package/dashboard/dist/assets/index-Cn2jyj9A.js.map +1 -0
  761. package/dashboard/dist/assets/index-D8VH6K8B.js +54 -0
  762. package/dashboard/dist/assets/index-D8VH6K8B.js.map +1 -0
  763. package/dashboard/dist/assets/index-D9SYwJsi.js +3 -0
  764. package/dashboard/dist/assets/index-D9SYwJsi.js.map +1 -0
  765. package/dashboard/dist/assets/index-DTPzZr_X.js +2 -0
  766. package/dashboard/dist/assets/index-DTPzZr_X.js.map +1 -0
  767. package/dashboard/dist/assets/index-D_6AB5BE.js +2 -0
  768. package/dashboard/dist/assets/index-D_6AB5BE.js.map +1 -0
  769. package/dashboard/dist/assets/index-S9Ks2Lj2.js +2 -0
  770. package/dashboard/dist/assets/index-S9Ks2Lj2.js.map +1 -0
  771. package/dashboard/dist/assets/index-X85K5bHC.js +17 -0
  772. package/dashboard/dist/assets/index-X85K5bHC.js.map +1 -0
  773. package/dashboard/dist/assets/index-rjmgHlSH.js +2 -0
  774. package/dashboard/dist/assets/index-rjmgHlSH.js.map +1 -0
  775. package/dashboard/dist/assets/mcp-blCW6IL7.js +2 -0
  776. package/dashboard/dist/assets/mcp-blCW6IL7.js.map +1 -0
  777. package/dashboard/dist/assets/mcp-query-DoAyPbjC.js +2 -0
  778. package/dashboard/dist/assets/mcp-query-DoAyPbjC.js.map +1 -0
  779. package/dashboard/dist/assets/mcp-runs-ChPbpvXK.js +2 -0
  780. package/dashboard/dist/assets/mcp-runs-ChPbpvXK.js.map +1 -0
  781. package/dashboard/dist/assets/namespaces-BgbaC3ow.js +2 -0
  782. package/dashboard/dist/assets/namespaces-BgbaC3ow.js.map +1 -0
  783. package/dashboard/dist/assets/roles-ZNrqqnQl.js +2 -0
  784. package/dashboard/dist/assets/roles-ZNrqqnQl.js.map +1 -0
  785. package/dashboard/dist/assets/settings-eBRSE0mQ.js +2 -0
  786. package/dashboard/dist/assets/settings-eBRSE0mQ.js.map +1 -0
  787. package/dashboard/dist/assets/tasks-tRqClPns.js +2 -0
  788. package/dashboard/dist/assets/tasks-tRqClPns.js.map +1 -0
  789. package/dashboard/dist/assets/useFilterParams-BaXUAkYK.js +2 -0
  790. package/dashboard/dist/assets/useFilterParams-BaXUAkYK.js.map +1 -0
  791. package/dashboard/dist/assets/useNatsEvents-Xr43X1fG.js +2 -0
  792. package/dashboard/dist/assets/useNatsEvents-Xr43X1fG.js.map +1 -0
  793. package/dashboard/dist/assets/useYamlActivityEvents-BO51u8tm.js +2 -0
  794. package/dashboard/dist/assets/useYamlActivityEvents-BO51u8tm.js.map +1 -0
  795. package/dashboard/dist/assets/users-tMvNyOo8.js +2 -0
  796. package/dashboard/dist/assets/users-tMvNyOo8.js.map +1 -0
  797. package/dashboard/dist/assets/vendor-icons-ZTAKVwGc.js +292 -0
  798. package/dashboard/dist/assets/vendor-icons-ZTAKVwGc.js.map +1 -0
  799. package/dashboard/dist/assets/vendor-query-B2UbickB.js +18 -0
  800. package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +1 -0
  801. package/dashboard/dist/assets/vendor-react-Cw8Gy8NJ.js +22 -0
  802. package/dashboard/dist/assets/vendor-react-Cw8Gy8NJ.js.map +1 -0
  803. package/dashboard/dist/assets/workflows-Cc4VHcrp.js +2 -0
  804. package/dashboard/dist/assets/workflows-Cc4VHcrp.js.map +1 -0
  805. package/dashboard/dist/assets/yaml-workflows-BL4V5CQy.js +2 -0
  806. package/dashboard/dist/assets/yaml-workflows-BL4V5CQy.js.map +1 -0
  807. package/dashboard/dist/index.html +20 -0
  808. package/dashboard/dist/logo512.png +0 -0
  809. package/package.json +96 -0
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatEphemeralToken = formatEphemeralToken;
4
+ exports.isEphemeralToken = isEphemeralToken;
5
+ exports.parseEphemeralToken = parseEphemeralToken;
6
+ exports.exchangeEphemeralToken = exchangeEphemeralToken;
7
+ exports.exchangeTokensInArgs = exchangeTokensInArgs;
8
+ exports.storeEphemeral = storeEphemeral;
9
+ exports.exchangeEphemeral = exchangeEphemeral;
10
+ exports.revokeEphemeral = revokeEphemeral;
11
+ exports.cleanupExpired = cleanupExpired;
12
+ const db_1 = require("../db");
13
+ const crypto_1 = require("../oauth/crypto");
14
+ const logger_1 = require("../logger");
15
+ // ── Token format ────────────────────────────────────────────────────────────
16
+ // Opaque string: eph:v1:<label>:<uuid>
17
+ // The LLM passes these through as-is. Exchange happens inside activity bodies.
18
+ const EPH_PREFIX = 'eph:v1:';
19
+ const EPH_REGEX = /^eph:v1:([a-z_][a-z0-9_]*):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$/;
20
+ function formatEphemeralToken(uuid, label) {
21
+ return `${EPH_PREFIX}${label}:${uuid}`;
22
+ }
23
+ function isEphemeralToken(value) {
24
+ return typeof value === 'string' && value.startsWith(EPH_PREFIX);
25
+ }
26
+ function parseEphemeralToken(value) {
27
+ const match = value.match(EPH_REGEX);
28
+ if (!match)
29
+ return null;
30
+ return { label: match[1], uuid: match[2] };
31
+ }
32
+ /**
33
+ * Parse a token string and exchange the UUID for the decrypted value.
34
+ * Returns null if the token format is invalid, expired, or uses exhausted.
35
+ */
36
+ async function exchangeEphemeralToken(tokenString) {
37
+ const parsed = parseEphemeralToken(tokenString);
38
+ if (!parsed)
39
+ return null;
40
+ return exchangeEphemeral(parsed.uuid);
41
+ }
42
+ /**
43
+ * Deep-traverse a JSON value, replacing any string matching the eph:v1: format
44
+ * with the exchanged plaintext. Non-matching values pass through unchanged.
45
+ */
46
+ async function exchangeTokensInArgs(obj) {
47
+ if (typeof obj === 'string') {
48
+ if (!isEphemeralToken(obj))
49
+ return obj;
50
+ const plaintext = await exchangeEphemeralToken(obj);
51
+ if (plaintext !== null)
52
+ return plaintext;
53
+ logger_1.loggerRegistry.warn(`[ephemeral] token exchange failed: ${obj.slice(0, 40)}...`);
54
+ return obj;
55
+ }
56
+ if (Array.isArray(obj)) {
57
+ return Promise.all(obj.map(exchangeTokensInArgs));
58
+ }
59
+ if (obj && typeof obj === 'object') {
60
+ const result = {};
61
+ for (const [k, v] of Object.entries(obj)) {
62
+ result[k] = await exchangeTokensInArgs(v);
63
+ }
64
+ return result;
65
+ }
66
+ return obj;
67
+ }
68
+ /**
69
+ * Store a sensitive value. Returns the raw token UUID.
70
+ * The value is encrypted at rest using AES-256-GCM.
71
+ *
72
+ * - maxUses: 0 (default) = unlimited exchanges until expired/revoked
73
+ * - ttlSeconds: null (default) = no time-based expiry
74
+ * - Both can be combined: e.g., maxUses=10, ttlSeconds=900
75
+ */
76
+ async function storeEphemeral(value, opts = {}) {
77
+ const pool = (0, db_1.getPool)();
78
+ const encrypted = (0, crypto_1.encrypt)(value);
79
+ const maxUses = opts.maxUses ?? 0;
80
+ const expiresAt = opts.ttlSeconds
81
+ ? `NOW() + ${opts.ttlSeconds} * INTERVAL '1 second'`
82
+ : 'NULL';
83
+ const { rows } = await pool.query(`INSERT INTO lt_ephemeral_credentials (value, label, max_uses, expires_at)
84
+ VALUES ($1, $2, $3, ${expiresAt})
85
+ RETURNING token`, [Buffer.from(encrypted, 'base64'), opts.label || null, maxUses]);
86
+ return rows[0].token;
87
+ }
88
+ /**
89
+ * Exchange a raw UUID token for the decrypted value.
90
+ *
91
+ * - If max_uses > 0: increments use_count, returns null when exhausted
92
+ * - If max_uses = 0: unlimited (never blocked by count)
93
+ * - If expires_at is set: returns null after expiry
94
+ * - Row is deleted when use_count reaches max_uses (if max_uses > 0)
95
+ */
96
+ async function exchangeEphemeral(token) {
97
+ const pool = (0, db_1.getPool)();
98
+ // Atomic increment + check in one query.
99
+ // Returns the row if the exchange is valid, nothing if expired/exhausted.
100
+ const { rows } = await pool.query(`UPDATE lt_ephemeral_credentials
101
+ SET use_count = use_count + 1
102
+ WHERE token = $1
103
+ AND (expires_at IS NULL OR expires_at > NOW())
104
+ AND (max_uses = 0 OR use_count < max_uses)
105
+ RETURNING value, use_count, max_uses`, [token]);
106
+ if (rows.length === 0)
107
+ return null;
108
+ const { value: buf, use_count, max_uses } = rows[0];
109
+ // Auto-delete when max_uses is reached (if bounded)
110
+ if (max_uses > 0 && use_count >= max_uses) {
111
+ await pool.query(`DELETE FROM lt_ephemeral_credentials WHERE token = $1`, [token]);
112
+ }
113
+ return (0, crypto_1.decrypt)(buf.toString('base64'));
114
+ }
115
+ /**
116
+ * Explicitly revoke a token before expiry/exhaustion.
117
+ */
118
+ async function revokeEphemeral(token) {
119
+ const pool = (0, db_1.getPool)();
120
+ const { rowCount } = await pool.query(`DELETE FROM lt_ephemeral_credentials WHERE token = $1`, [token]);
121
+ return (rowCount ?? 0) > 0;
122
+ }
123
+ /**
124
+ * Clean up expired tokens. Returns the number of rows deleted.
125
+ */
126
+ async function cleanupExpired() {
127
+ const pool = (0, db_1.getPool)();
128
+ const { rowCount } = await pool.query(`DELETE FROM lt_ephemeral_credentials
129
+ WHERE expires_at IS NOT NULL AND expires_at < NOW()`);
130
+ return rowCount ?? 0;
131
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Universal IAM service for Long Tail.
3
+ *
4
+ * Provides identity context propagation, resolution, and credential lookup
5
+ * that works identically across all invocation paths:
6
+ * - MCP server tools
7
+ * - Proxy activities in workflows
8
+ * - YAML workflow workers
9
+ * - Direct route handlers
10
+ */
11
+ export { runWithToolContext, getToolContext } from './context';
12
+ export { getActivityIdentity } from './activity';
13
+ export type { ActivityIdentity } from './activity';
14
+ export { resolveToolContext } from './resolve';
15
+ export type { ToolContextSource } from './resolve';
16
+ export { resolveCredential, MissingCredentialError } from './credentials';
17
+ export type { ResolvedCredential } from './credentials';
18
+ export { createBot, getBot, listBots, updateBot, deactivateBot, deleteBot, createBotKey, listBotKeys, revokeBotKey, addBotRole, removeBotRole, getBotRoles, ensureSystemBot, } from './bots';
19
+ export type { CreateBotInput, BotAccountRecord, BotApiKeyRecord } from './bots';
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureSystemBot = exports.getBotRoles = exports.removeBotRole = exports.addBotRole = exports.revokeBotKey = exports.listBotKeys = exports.createBotKey = exports.deleteBot = exports.deactivateBot = exports.updateBot = exports.listBots = exports.getBot = exports.createBot = exports.MissingCredentialError = exports.resolveCredential = exports.resolveToolContext = exports.getActivityIdentity = exports.getToolContext = exports.runWithToolContext = void 0;
4
+ /**
5
+ * Universal IAM service for Long Tail.
6
+ *
7
+ * Provides identity context propagation, resolution, and credential lookup
8
+ * that works identically across all invocation paths:
9
+ * - MCP server tools
10
+ * - Proxy activities in workflows
11
+ * - YAML workflow workers
12
+ * - Direct route handlers
13
+ */
14
+ var context_1 = require("./context");
15
+ Object.defineProperty(exports, "runWithToolContext", { enumerable: true, get: function () { return context_1.runWithToolContext; } });
16
+ Object.defineProperty(exports, "getToolContext", { enumerable: true, get: function () { return context_1.getToolContext; } });
17
+ var activity_1 = require("./activity");
18
+ Object.defineProperty(exports, "getActivityIdentity", { enumerable: true, get: function () { return activity_1.getActivityIdentity; } });
19
+ var resolve_1 = require("./resolve");
20
+ Object.defineProperty(exports, "resolveToolContext", { enumerable: true, get: function () { return resolve_1.resolveToolContext; } });
21
+ var credentials_1 = require("./credentials");
22
+ Object.defineProperty(exports, "resolveCredential", { enumerable: true, get: function () { return credentials_1.resolveCredential; } });
23
+ Object.defineProperty(exports, "MissingCredentialError", { enumerable: true, get: function () { return credentials_1.MissingCredentialError; } });
24
+ var bots_1 = require("./bots");
25
+ Object.defineProperty(exports, "createBot", { enumerable: true, get: function () { return bots_1.createBot; } });
26
+ Object.defineProperty(exports, "getBot", { enumerable: true, get: function () { return bots_1.getBot; } });
27
+ Object.defineProperty(exports, "listBots", { enumerable: true, get: function () { return bots_1.listBots; } });
28
+ Object.defineProperty(exports, "updateBot", { enumerable: true, get: function () { return bots_1.updateBot; } });
29
+ Object.defineProperty(exports, "deactivateBot", { enumerable: true, get: function () { return bots_1.deactivateBot; } });
30
+ Object.defineProperty(exports, "deleteBot", { enumerable: true, get: function () { return bots_1.deleteBot; } });
31
+ Object.defineProperty(exports, "createBotKey", { enumerable: true, get: function () { return bots_1.createBotKey; } });
32
+ Object.defineProperty(exports, "listBotKeys", { enumerable: true, get: function () { return bots_1.listBotKeys; } });
33
+ Object.defineProperty(exports, "revokeBotKey", { enumerable: true, get: function () { return bots_1.revokeBotKey; } });
34
+ Object.defineProperty(exports, "addBotRole", { enumerable: true, get: function () { return bots_1.addBotRole; } });
35
+ Object.defineProperty(exports, "removeBotRole", { enumerable: true, get: function () { return bots_1.removeBotRole; } });
36
+ Object.defineProperty(exports, "getBotRoles", { enumerable: true, get: function () { return bots_1.getBotRoles; } });
37
+ Object.defineProperty(exports, "ensureSystemBot", { enumerable: true, get: function () { return bots_1.ensureSystemBot; } });
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Resolve an LTEnvelopePrincipal from external_id or UUID in a single query.
3
+ *
4
+ * Called at the front door (API routes, cron) — never inside workflows.
5
+ * Uses a LEFT JOIN to fetch user + roles in one round-trip.
6
+ *
7
+ * Accepts either:
8
+ * - external_id (e.g., 'superadmin', 'lt-system')
9
+ * - UUID id (e.g., '76d28d6c-...' — as stored in JWT userId)
10
+ */
11
+ import type { LTEnvelopePrincipal } from '../../types/envelope';
12
+ export declare function resolvePrincipal(identifier: string): Promise<LTEnvelopePrincipal | null>;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * Resolve an LTEnvelopePrincipal from external_id or UUID in a single query.
4
+ *
5
+ * Called at the front door (API routes, cron) — never inside workflows.
6
+ * Uses a LEFT JOIN to fetch user + roles in one round-trip.
7
+ *
8
+ * Accepts either:
9
+ * - external_id (e.g., 'superadmin', 'lt-system')
10
+ * - UUID id (e.g., '76d28d6c-...' — as stored in JWT userId)
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.resolvePrincipal = resolvePrincipal;
14
+ const db_1 = require("../db");
15
+ /** UUID v4 pattern for distinguishing UUIDs from external_ids. */
16
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
17
+ /** Fetch user + roles by external_id OR id in one query. */
18
+ const GET_USER_WITH_ROLES_FLEXIBLE = `
19
+ SELECT u.id, u.external_id, u.display_name, u.status, u.metadata,
20
+ r.role, r.type AS role_type
21
+ FROM lt_users u
22
+ LEFT JOIN lt_user_roles r ON r.user_id = u.id
23
+ WHERE u.external_id = $1 OR u.id::text = $1
24
+ ORDER BY r.created_at`;
25
+ const ROLE_TYPE_PRIORITY = { superadmin: 3, admin: 2, member: 1 };
26
+ async function resolvePrincipal(identifier) {
27
+ const pool = (0, db_1.getPool)();
28
+ const { rows } = await pool.query(GET_USER_WITH_ROLES_FLEXIBLE, [identifier]);
29
+ if (rows.length === 0)
30
+ return null;
31
+ const user = rows[0];
32
+ const roleNames = [];
33
+ let highestPriority = 0;
34
+ let highestType;
35
+ for (const row of rows) {
36
+ if (row.role) {
37
+ roleNames.push(row.role);
38
+ const priority = ROLE_TYPE_PRIORITY[row.role_type] ?? 0;
39
+ if (priority > highestPriority) {
40
+ highestPriority = priority;
41
+ highestType = row.role_type;
42
+ }
43
+ }
44
+ }
45
+ // Use external_id as the canonical identifier (stable, human-readable)
46
+ return {
47
+ id: user.external_id,
48
+ type: user.metadata?.account_type ?? 'user',
49
+ displayName: user.display_name ?? undefined,
50
+ roles: roleNames,
51
+ roleType: highestType,
52
+ };
53
+ }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Resolves a ToolContext from whatever identity information is available.
3
+ *
4
+ * This is the single convergence point for all three invocation paths.
5
+ * Each path calls `resolveToolContext()` with whatever identity data
6
+ * it has, and gets back the same ToolContext shape.
7
+ */
8
+ import type { LTEnvelope } from '../../types/envelope';
9
+ import type { ToolContext } from '../../types/tool-context';
10
+ import type { OrchestratorContext } from '../interceptor/types';
11
+ /**
12
+ * Source data for resolving a ToolContext.
13
+ * Callers pass whichever fields they have; resolution picks the best available.
14
+ */
15
+ export interface ToolContextSource {
16
+ /** Direct userId (e.g., from _auth injection or envelope). */
17
+ userId?: string;
18
+ /** Account type override (for known bot invocations). */
19
+ accountType?: 'user' | 'bot';
20
+ /** Existing delegation token to decode instead of minting new. */
21
+ delegationToken?: string;
22
+ /** Scopes for delegation token (defaults to ['mcp:tool:call']). */
23
+ scopes?: string[];
24
+ /** Envelope from workflow args. */
25
+ envelope?: LTEnvelope;
26
+ /** OrchestratorContext from AsyncLocalStorage. */
27
+ orchestratorContext?: OrchestratorContext;
28
+ /** _auth from MCP tool args. */
29
+ _auth?: {
30
+ userId?: string;
31
+ token?: string;
32
+ };
33
+ /** Trace IDs for audit lineage. */
34
+ traceId?: string;
35
+ spanId?: string;
36
+ }
37
+ /**
38
+ * Resolve identity from any available source, load roles, mint delegation token.
39
+ *
40
+ * Resolution priority for userId:
41
+ * 1. Explicit `_auth.userId` (MCP server tool path)
42
+ * 2. Explicit `userId` parameter
43
+ * 3. `envelope.lt.userId` (workflow/envelope path)
44
+ * 4. `orchestratorContext.userId` (proxy activity path)
45
+ *
46
+ * Returns null when no identity can be resolved (anonymous/system context).
47
+ */
48
+ export declare function resolveToolContext(source: ToolContextSource): Promise<ToolContext | null>;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveToolContext = resolveToolContext;
4
+ const delegation_1 = require("../auth/delegation");
5
+ const user_1 = require("../user");
6
+ const logger_1 = require("../logger");
7
+ /** Role type priority for determining highest role type. */
8
+ const ROLE_TYPE_PRIORITY = { superadmin: 3, admin: 2, member: 1 };
9
+ /**
10
+ * Resolve identity from any available source, load roles, mint delegation token.
11
+ *
12
+ * Resolution priority for userId:
13
+ * 1. Explicit `_auth.userId` (MCP server tool path)
14
+ * 2. Explicit `userId` parameter
15
+ * 3. `envelope.lt.userId` (workflow/envelope path)
16
+ * 4. `orchestratorContext.userId` (proxy activity path)
17
+ *
18
+ * Returns null when no identity can be resolved (anonymous/system context).
19
+ */
20
+ async function resolveToolContext(source) {
21
+ // Resolve userId from available sources
22
+ const userId = source._auth?.userId ||
23
+ source.userId ||
24
+ source.envelope?.lt?.userId ||
25
+ source.orchestratorContext?.userId;
26
+ if (!userId) {
27
+ return null;
28
+ }
29
+ // Build principal with roles from DB
30
+ const principal = await resolvePrincipal(userId, source.accountType);
31
+ // Use existing delegation token or mint a new one
32
+ const scopes = source.scopes ?? ['mcp:tool:call'];
33
+ const delegationToken = source._auth?.token ?? source.delegationToken ?? (0, delegation_1.createDelegationToken)(userId, scopes, 300, {
34
+ workflowId: source.orchestratorContext?.workflowId ?? source.envelope?.lt?.parentWorkflowId,
35
+ });
36
+ const credentials = {
37
+ delegationToken,
38
+ scopes,
39
+ };
40
+ // Build trace from envelope and orchestrator context
41
+ const trace = {
42
+ originId: source.envelope?.lt?.originId,
43
+ parentId: source.envelope?.lt?.parentId,
44
+ workflowId: source.orchestratorContext?.workflowId,
45
+ traceId: source.traceId,
46
+ spanId: source.spanId,
47
+ };
48
+ return { principal, credentials, trace };
49
+ }
50
+ /**
51
+ * Load a ToolPrincipal from the database.
52
+ * Lightweight: one query for user + one for roles.
53
+ */
54
+ async function resolvePrincipal(userId, accountType) {
55
+ try {
56
+ const [user, roles] = await Promise.all([
57
+ (0, user_1.getUser)(userId),
58
+ (0, user_1.getUserRoles)(userId),
59
+ ]);
60
+ // Determine highest role type
61
+ let highestPriority = 0;
62
+ let highestType;
63
+ const roleNames = [];
64
+ for (const r of roles) {
65
+ roleNames.push(r.role);
66
+ const priority = ROLE_TYPE_PRIORITY[r.type] ?? 0;
67
+ if (priority > highestPriority) {
68
+ highestPriority = priority;
69
+ highestType = r.type;
70
+ }
71
+ }
72
+ return {
73
+ id: userId,
74
+ type: accountType ?? user?.metadata?.account_type ?? 'user',
75
+ displayName: user?.display_name ?? undefined,
76
+ roles: roleNames,
77
+ roleType: highestType,
78
+ };
79
+ }
80
+ catch (err) {
81
+ logger_1.loggerRegistry.warn(`Failed to load principal for userId=${userId}: ${err}`);
82
+ // Fallback: minimal principal with just the ID
83
+ return {
84
+ id: userId,
85
+ type: accountType ?? 'user',
86
+ roles: [],
87
+ };
88
+ }
89
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Insight service — business logic for MCP query invocation and
3
+ * workflow description generation.
4
+ */
5
+ export interface McpQueryInput {
6
+ prompt: string;
7
+ tags?: string[];
8
+ wait?: boolean;
9
+ direct?: boolean;
10
+ userId?: string;
11
+ }
12
+ export interface McpQueryResult {
13
+ workflow_id: string;
14
+ status?: string;
15
+ prompt: string;
16
+ duration_ms?: number;
17
+ [key: string]: unknown;
18
+ }
19
+ export interface DescribeInput {
20
+ prompt: string;
21
+ result_title?: string;
22
+ result_summary?: string;
23
+ }
24
+ export interface DescribeResult {
25
+ tool_name?: string;
26
+ description: string;
27
+ tags: string[];
28
+ }
29
+ export declare function startMcpQuery(input: McpQueryInput): Promise<McpQueryResult>;
30
+ export declare function describeWorkflow(input: DescribeInput): Promise<DescribeResult>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /**
3
+ * Insight service — business logic for MCP query invocation and
4
+ * workflow description generation.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.startMcpQuery = startMcpQuery;
8
+ exports.describeWorkflow = describeWorkflow;
9
+ const pg_1 = require("pg");
10
+ const hotmesh_1 = require("@hotmeshio/hotmesh");
11
+ const config_1 = require("../../modules/config");
12
+ const defaults_1 = require("../../modules/defaults");
13
+ const llm_1 = require("../llm");
14
+ const prompts_1 = require("./prompts");
15
+ // ── MCP query invocation ─────────────────────────────────────────────────────
16
+ async function startMcpQuery(input) {
17
+ const { prompt, tags, wait = true, direct = false, userId } = input;
18
+ const startTime = Date.now();
19
+ const connection = { class: pg_1.Client, options: config_1.postgres_options };
20
+ const client = new hotmesh_1.Durable.Client({ connection });
21
+ const wfName = direct ? 'mcpQuery' : 'mcpQueryRouter';
22
+ const entity = direct ? 'mcpQuery' : 'mcpQueryRouter';
23
+ const prefix = direct ? 'mcp-query-direct' : 'mcp-query';
24
+ const workflowId = `${prefix}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
25
+ const handle = await client.workflow.start({
26
+ args: [{
27
+ data: { prompt, tags },
28
+ metadata: { source: 'dashboard' },
29
+ lt: { userId },
30
+ }],
31
+ taskQueue: 'long-tail-system',
32
+ workflowName: wfName,
33
+ workflowId,
34
+ expire: defaults_1.JOB_EXPIRE_SECS,
35
+ entity,
36
+ });
37
+ if (wait === false) {
38
+ return { workflow_id: workflowId, status: 'started', prompt };
39
+ }
40
+ const result = await handle.result({ state: true });
41
+ const data = result?.data || result;
42
+ return {
43
+ ...data,
44
+ prompt,
45
+ workflow_id: workflowId,
46
+ duration_ms: Date.now() - startTime,
47
+ };
48
+ }
49
+ // ── Workflow description generation ──────────────────────────────────────────
50
+ async function describeWorkflow(input) {
51
+ const { prompt, result_title, result_summary } = input;
52
+ if (!(0, llm_1.hasLLMApiKey)(defaults_1.LLM_MODEL_SECONDARY)) {
53
+ return { description: prompt, tags: [] };
54
+ }
55
+ const userContent = [
56
+ `Original query: "${prompt}"`,
57
+ result_title ? `Result: ${result_title}` : '',
58
+ result_summary ? `Summary: ${result_summary.slice(0, 500)}` : '',
59
+ ].filter(Boolean).join('\n');
60
+ const response = await (0, llm_1.callLLM)({
61
+ model: defaults_1.LLM_MODEL_SECONDARY,
62
+ max_tokens: 300,
63
+ messages: [
64
+ { role: 'system', content: prompts_1.DESCRIBE_WORKFLOW_SYSTEM_PROMPT },
65
+ { role: 'user', content: userContent },
66
+ ],
67
+ });
68
+ const raw = response.content || '{}';
69
+ const cleaned = raw.replace(/^```(?:json)?\s*/m, '').replace(/\s*```$/m, '').trim();
70
+ const parsed = JSON.parse(cleaned);
71
+ const toolName = (parsed.tool_name || '')
72
+ .toLowerCase()
73
+ .replace(/[^a-z0-9]+/g, '-')
74
+ .replace(/^-|-$/g, '')
75
+ .slice(0, 60);
76
+ return {
77
+ tool_name: toolName || undefined,
78
+ description: parsed.description || prompt,
79
+ tags: Array.isArray(parsed.tags) ? parsed.tags : [],
80
+ };
81
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Externalized LLM prompt constants for the insight service.
3
+ */
4
+ export declare const DESCRIBE_WORKFLOW_SYSTEM_PROMPT = "You generate concise workflow descriptions, tool names, and discovery tags.\n\nGiven a user's original query and the execution result, produce:\n1. A short, descriptive tool name as a lowercase kebab-case slug (e.g. \"screenshot-all-nav-pages\", \"fetch-order-status\", \"translate-content\"). The name should describe what the workflow does, not be generic like \"query-complete\".\n2. A clear, reusable description of what this workflow does (not what the user asked, but what the workflow accomplishes as a reusable tool). Write it as if describing a tool in a catalog. 2-3 sentences max.\n3. Discovery tags \u2014 lowercase keywords that help find this workflow when similar future queries are made.\n\nReturn ONLY a JSON object:\n{ \"tool_name\": \"...\", \"description\": \"...\", \"tags\": [\"tag1\", \"tag2\", ...] }";
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * Externalized LLM prompt constants for the insight service.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DESCRIBE_WORKFLOW_SYSTEM_PROMPT = void 0;
7
+ exports.DESCRIBE_WORKFLOW_SYSTEM_PROMPT = `You generate concise workflow descriptions, tool names, and discovery tags.
8
+
9
+ Given a user's original query and the execution result, produce:
10
+ 1. A short, descriptive tool name as a lowercase kebab-case slug (e.g. "screenshot-all-nav-pages", "fetch-order-status", "translate-content"). The name should describe what the workflow does, not be generic like "query-complete".
11
+ 2. A clear, reusable description of what this workflow does (not what the user asked, but what the workflow accomplishes as a reusable tool). Write it as if describing a tool in a catalog. 2-3 sentences max.
12
+ 3. Discovery tags — lowercase keywords that help find this workflow when similar future queries are made.
13
+
14
+ Return ONLY a JSON object:
15
+ { "tool_name": "...", "description": "...", "tags": ["tag1", "tag2", ...] }`;
@@ -0,0 +1,21 @@
1
+ import type { LTResolvedConfig, LTProviderData } from '../../../types';
2
+ /**
3
+ * Get the resolved workflow configuration for a given workflow name.
4
+ *
5
+ * Bridges the deterministic workflow sandbox to the config system.
6
+ * Activities run on the activity worker (outside the sandbox), so
7
+ * they use the {@link ltConfig} singleton which maintains a 5-minute
8
+ * TTL cache — most calls resolve from memory without hitting the DB.
9
+ */
10
+ export declare function ltGetWorkflowConfig(workflowName: string): Promise<LTResolvedConfig | null>;
11
+ /**
12
+ * Get provider data for a workflow's consumers by looking up
13
+ * completed sibling tasks that share the same origin_id.
14
+ *
15
+ * Uses the cached config to resolve the consumer list, then
16
+ * queries the DB for matching completed task data.
17
+ */
18
+ export declare function ltGetProviderData(input: {
19
+ workflowName: string;
20
+ originId: string;
21
+ }): Promise<LTProviderData>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ltGetWorkflowConfig = ltGetWorkflowConfig;
4
+ exports.ltGetProviderData = ltGetProviderData;
5
+ const ltconfig_1 = require("../../../modules/ltconfig");
6
+ /**
7
+ * Get the resolved workflow configuration for a given workflow name.
8
+ *
9
+ * Bridges the deterministic workflow sandbox to the config system.
10
+ * Activities run on the activity worker (outside the sandbox), so
11
+ * they use the {@link ltConfig} singleton which maintains a 5-minute
12
+ * TTL cache — most calls resolve from memory without hitting the DB.
13
+ */
14
+ async function ltGetWorkflowConfig(workflowName) {
15
+ return ltconfig_1.ltConfig.getResolvedConfig(workflowName);
16
+ }
17
+ /**
18
+ * Get provider data for a workflow's consumers by looking up
19
+ * completed sibling tasks that share the same origin_id.
20
+ *
21
+ * Uses the cached config to resolve the consumer list, then
22
+ * queries the DB for matching completed task data.
23
+ */
24
+ async function ltGetProviderData(input) {
25
+ return ltconfig_1.ltConfig.getProviderData(input.workflowName, input.originId);
26
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Resolve an escalation record. Called by the interceptor after
3
+ * detecting a re-run (resolver data present in the envelope).
4
+ * This makes resolution durable: if the server crashes after
5
+ * signaling but before DB update, the workflow replays and
6
+ * retries this activity.
7
+ */
8
+ export declare function ltResolveEscalation(input: {
9
+ escalationId: string;
10
+ resolverPayload: Record<string, any>;
11
+ }): Promise<void>;
12
+ /**
13
+ * Claim an escalation to a specific user. Used for auto-assignment
14
+ * when the system creates an advisory escalation (e.g., rounds exhausted).
15
+ */
16
+ export declare function ltClaimEscalation(input: {
17
+ escalationId: string;
18
+ userId: string;
19
+ durationMinutes: number;
20
+ }): Promise<void>;
21
+ /**
22
+ * Enrich an escalation record with signal routing metadata and workflow
23
+ * context so the resolution API can signal the paused workflow directly
24
+ * and the dashboard can display full context. Optionally auto-claims
25
+ * the escalation to the initiating user.
26
+ */
27
+ export declare function ltEnrichEscalationRouting(input: {
28
+ escalationId: string;
29
+ signalRouting: {
30
+ taskQueue: string;
31
+ workflowType: string;
32
+ workflowId: string;
33
+ signalId: string;
34
+ };
35
+ taskId?: string;
36
+ claimForUserId?: string;
37
+ }): Promise<void>;
38
+ /**
39
+ * Create an escalation record when a workflow needs human intervention.
40
+ */
41
+ export declare function ltCreateEscalation(input: {
42
+ type: string;
43
+ subtype: string;
44
+ description?: string;
45
+ priority?: number;
46
+ taskId?: string;
47
+ originId?: string;
48
+ parentId?: string;
49
+ role: string;
50
+ envelope: string;
51
+ metadata?: Record<string, any>;
52
+ escalationPayload?: string;
53
+ workflowId?: string;
54
+ taskQueue?: string;
55
+ workflowType?: string;
56
+ traceId?: string;
57
+ spanId?: string;
58
+ }): Promise<string>;