@hotmeshio/long-tail 0.1.4 → 0.1.6

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 (663) hide show
  1. package/README.md +35 -5
  2. package/build/examples/seed.js +1 -1
  3. package/build/examples/workflows/basic-echo/activities.d.ts +2 -2
  4. package/build/examples/workflows/basic-echo/activities.js +7 -7
  5. package/build/examples/workflows/basic-echo/index.js +1 -1
  6. package/build/examples/workflows/kitchen-sink/index.js +2 -2
  7. package/build/index.d.ts +11 -10
  8. package/build/index.js +13 -12
  9. package/build/lib/db/index.d.ts +18 -0
  10. package/build/{services → lib}/db/index.js +9 -0
  11. package/build/{services → lib}/db/migrate.js +4 -7
  12. package/{services → build/lib}/db/schemas/001_schema.sql +3 -0
  13. package/{services → build/lib}/db/schemas/011_system_workflow_configs.sql +7 -0
  14. package/build/lib/db/schemas/015_knowledge.sql +23 -0
  15. package/build/lib/db/schemas/016_streamable_http.sql +7 -0
  16. package/build/{services → lib}/telemetry/honeycomb.d.ts +2 -2
  17. package/build/{services → lib}/telemetry/honeycomb.js +2 -2
  18. package/build/modules/defaults.d.ts +2 -0
  19. package/build/modules/defaults.js +3 -1
  20. package/build/routes/controlplane.js +1 -1
  21. package/build/routes/dba.js +4 -0
  22. package/build/routes/docs.d.ts +2 -0
  23. package/build/routes/docs.js +105 -0
  24. package/build/routes/escalations/bulk.js +120 -202
  25. package/build/routes/escalations/resolve.js +1 -1
  26. package/build/routes/escalations/single.js +1 -1
  27. package/build/routes/files.js +1 -1
  28. package/build/routes/index.js +2 -0
  29. package/build/routes/insight.js +65 -1
  30. package/build/routes/mcp.js +26 -3
  31. package/build/routes/oauth.js +1 -1
  32. package/build/routes/settings.js +4 -4
  33. package/build/routes/workflows/discovery.js +3 -3
  34. package/build/routes/workflows/invocation.js +1 -1
  35. package/build/routes/yaml-workflows/cron.d.ts +2 -0
  36. package/build/routes/yaml-workflows/cron.js +117 -0
  37. package/build/routes/yaml-workflows/crud.js +39 -1
  38. package/build/routes/yaml-workflows/deployment.js +9 -9
  39. package/build/routes/yaml-workflows/index.js +4 -1
  40. package/build/services/auth/bot-api-key.js +1 -1
  41. package/build/services/auth/index.d.ts +4 -0
  42. package/build/services/auth/index.js +17 -0
  43. package/build/services/auth/service-token.js +1 -1
  44. package/build/services/config/provider.js +1 -1
  45. package/build/services/config/read.js +1 -1
  46. package/build/services/config/write.js +1 -1
  47. package/build/services/controlplane/index.js +3 -4
  48. package/build/services/controlplane/quorum-bridge.js +2 -2
  49. package/build/services/cron/index.d.ts +17 -0
  50. package/build/services/cron/index.js +98 -6
  51. package/build/services/dba.d.ts +4 -0
  52. package/build/services/dba.js +3 -6
  53. package/build/services/escalation/bulk.js +1 -1
  54. package/build/services/escalation/crud.js +1 -1
  55. package/build/services/escalation/queries.js +1 -1
  56. package/build/services/export/client.js +2 -5
  57. package/build/services/export/index.js +14 -2
  58. package/build/services/hotmesh-utils.js +1 -1
  59. package/build/services/iam/bots.js +6 -12
  60. package/build/services/iam/context.d.ts +1 -1
  61. package/build/services/iam/context.js +5 -5
  62. package/build/services/iam/credentials.js +1 -1
  63. package/build/services/iam/ephemeral.js +8 -15
  64. package/build/services/iam/principal.js +3 -10
  65. package/build/services/iam/resolve.js +1 -1
  66. package/build/services/iam/sql.d.ts +10 -0
  67. package/build/services/iam/sql.js +42 -0
  68. package/build/services/insight/index.d.ts +12 -0
  69. package/build/services/insight/index.js +34 -6
  70. package/build/services/interceptor/activities/escalation.js +1 -1
  71. package/build/services/interceptor/activities/task.js +9 -6
  72. package/build/services/interceptor/activities/workflow.js +4 -5
  73. package/build/services/interceptor/activity-interceptor.d.ts +1 -1
  74. package/build/services/interceptor/activity-interceptor.js +5 -5
  75. package/build/services/interceptor/completion.js +1 -1
  76. package/build/services/interceptor/escalation.js +1 -1
  77. package/build/services/interceptor/index.js +4 -4
  78. package/build/services/interceptor/lifecycle.js +1 -1
  79. package/build/services/maintenance/index.js +4 -5
  80. package/build/services/mcp/adapter.js +1 -16
  81. package/build/services/mcp/client/connection.d.ts +10 -1
  82. package/build/services/mcp/client/connection.js +51 -3
  83. package/build/services/mcp/client/tools.js +1 -1
  84. package/build/services/mcp/db-server/index.js +1 -1
  85. package/build/services/mcp/db-server/schemas.d.ts +2 -2
  86. package/build/services/mcp/db-server/tools.js +17 -4
  87. package/build/services/mcp/db.d.ts +1 -1
  88. package/build/services/mcp/db.js +11 -1
  89. package/build/services/mcp/playwright-server/index.js +1 -1
  90. package/build/services/mcp/playwright-server/lifecycle.js +1 -1
  91. package/build/services/mcp/playwright-server/schemas.d.ts +2 -2
  92. package/build/services/mcp/playwright-server/tools.js +1 -1
  93. package/build/services/mcp/server.js +1 -1
  94. package/build/services/mcp/sql.d.ts +7 -1
  95. package/build/services/mcp/sql.js +36 -3
  96. package/build/services/mcp/types.d.ts +3 -1
  97. package/build/services/mcp/workflow-compiler-server.js +1 -1
  98. package/build/services/mcp/workflow-server.js +1 -1
  99. package/build/services/mcp-runs/execution-builder.js +8 -6
  100. package/build/services/mcp-runs/queries.js +2 -2
  101. package/build/services/mcp-runs/sql.d.ts +4 -1
  102. package/build/services/mcp-runs/sql.js +23 -2
  103. package/build/services/namespace/index.js +1 -1
  104. package/build/services/oauth/db.js +9 -37
  105. package/build/services/oauth/index.js +1 -1
  106. package/build/services/oauth/providers/registry.js +1 -1
  107. package/build/services/oauth/sql.d.ts +7 -0
  108. package/build/services/oauth/sql.js +32 -0
  109. package/build/services/orchestrator/index.js +3 -3
  110. package/build/services/role/index.js +1 -1
  111. package/build/services/task/crud.js +1 -1
  112. package/build/services/task/process.js +1 -1
  113. package/build/services/task/resolve.js +1 -1
  114. package/build/services/user/auth.js +1 -1
  115. package/build/services/user/crud.js +1 -1
  116. package/build/services/user/rbac.js +1 -1
  117. package/build/services/user/roles.js +1 -1
  118. package/build/services/user/sql.d.ts +2 -0
  119. package/build/services/user/sql.js +3 -1
  120. package/build/services/yaml-workflow/db-utils.js +1 -1
  121. package/build/services/yaml-workflow/db.d.ts +3 -0
  122. package/build/services/yaml-workflow/db.js +25 -1
  123. package/build/services/yaml-workflow/deployer-helpers.js +1 -1
  124. package/build/services/yaml-workflow/deployer.js +4 -4
  125. package/build/services/yaml-workflow/generator.js +1 -1
  126. package/build/services/yaml-workflow/input-analyzer-helpers.d.ts +6 -0
  127. package/build/services/yaml-workflow/input-analyzer-helpers.js +36 -7
  128. package/build/services/yaml-workflow/input-analyzer.js +16 -3
  129. package/build/services/yaml-workflow/invoke.d.ts +19 -0
  130. package/build/services/yaml-workflow/invoke.js +80 -0
  131. package/build/services/yaml-workflow/pipeline/analyze.js +1 -1
  132. package/build/services/yaml-workflow/pipeline/build/dag.js +11 -6
  133. package/build/services/yaml-workflow/pipeline/build/wiring.d.ts +1 -1
  134. package/build/services/yaml-workflow/pipeline/build/wiring.js +89 -2
  135. package/build/services/yaml-workflow/pipeline/compile/llm-call.js +1 -1
  136. package/build/services/yaml-workflow/pipeline/extract.js +5 -3
  137. package/build/services/yaml-workflow/pipeline/index.d.ts +5 -0
  138. package/build/services/yaml-workflow/pipeline/index.js +22 -0
  139. package/build/services/yaml-workflow/pipeline/prompts.d.ts +1 -1
  140. package/build/services/yaml-workflow/pipeline/prompts.js +44 -1
  141. package/build/services/yaml-workflow/pipeline/validate.js +2 -2
  142. package/build/services/yaml-workflow/sql.d.ts +3 -0
  143. package/build/services/yaml-workflow/sql.js +16 -1
  144. package/build/services/yaml-workflow/types.d.ts +13 -1
  145. package/build/services/yaml-workflow/workers/callbacks.js +10 -2
  146. package/build/services/yaml-workflow/workers/events.js +2 -2
  147. package/build/services/yaml-workflow/workers/register.js +37 -9
  148. package/build/start/adapters.js +7 -7
  149. package/build/start/index.js +4 -4
  150. package/build/start/server.js +1 -1
  151. package/build/start/workers.d.ts +1 -2
  152. package/build/start/workers.js +8 -7
  153. package/build/system/activities/claude-code.js +1 -1
  154. package/build/system/activities/file-storage.js +1 -1
  155. package/build/system/activities/knowledge.d.ts +58 -0
  156. package/build/system/activities/knowledge.js +128 -0
  157. package/build/system/activities/sql.d.ts +9 -0
  158. package/build/system/activities/sql.js +41 -0
  159. package/build/system/activities/triage/context.js +1 -1
  160. package/build/system/activities/triage/discovery.d.ts +2 -14
  161. package/build/system/activities/triage/discovery.js +5 -161
  162. package/build/system/activities/triage/llm.d.ts +1 -8
  163. package/build/system/activities/triage/llm.js +2 -28
  164. package/build/system/activities/triage/tools.d.ts +1 -17
  165. package/build/system/activities/triage/tools.js +8 -167
  166. package/build/system/index.js +11 -4
  167. package/build/system/mcp-servers/admin/escalations.d.ts +5 -0
  168. package/build/system/mcp-servers/admin/escalations.js +149 -0
  169. package/build/system/mcp-servers/admin/index.d.ts +31 -0
  170. package/build/system/mcp-servers/admin/index.js +80 -0
  171. package/build/system/mcp-servers/admin/maintenance.d.ts +5 -0
  172. package/build/system/mcp-servers/admin/maintenance.js +58 -0
  173. package/build/system/mcp-servers/admin/mcp-servers.d.ts +5 -0
  174. package/build/system/mcp-servers/admin/mcp-servers.js +146 -0
  175. package/build/system/mcp-servers/admin/schemas.d.ts +411 -0
  176. package/build/system/mcp-servers/admin/schemas.js +177 -0
  177. package/build/system/mcp-servers/admin/tasks.d.ts +5 -0
  178. package/build/system/mcp-servers/admin/tasks.js +112 -0
  179. package/build/system/mcp-servers/admin/users.d.ts +5 -0
  180. package/build/system/mcp-servers/admin/users.js +167 -0
  181. package/build/system/mcp-servers/admin/workflow-config.d.ts +9 -0
  182. package/build/system/mcp-servers/admin/workflow-config.js +118 -0
  183. package/build/system/mcp-servers/admin/workflows.d.ts +6 -0
  184. package/build/system/mcp-servers/admin/workflows.js +138 -0
  185. package/build/system/mcp-servers/admin/yaml-workflows.d.ts +8 -0
  186. package/build/system/mcp-servers/admin/yaml-workflows.js +237 -0
  187. package/build/system/mcp-servers/claude-code.js +1 -1
  188. package/build/system/mcp-servers/db-query/index.js +1 -1
  189. package/build/system/mcp-servers/db-query/schemas.d.ts +2 -2
  190. package/build/system/mcp-servers/db-query/tools.js +17 -4
  191. package/build/system/mcp-servers/docs.d.ts +5 -0
  192. package/build/system/mcp-servers/docs.js +147 -0
  193. package/build/system/mcp-servers/file-storage.js +1 -1
  194. package/build/system/mcp-servers/http-fetch.js +1 -1
  195. package/build/system/mcp-servers/human-queue.js +1 -1
  196. package/build/system/mcp-servers/knowledge.d.ts +4 -0
  197. package/build/system/mcp-servers/knowledge.js +137 -0
  198. package/build/system/mcp-servers/oauth.js +1 -1
  199. package/build/system/mcp-servers/playwright/browser-lifecycle.js +1 -1
  200. package/build/system/mcp-servers/playwright/index.js +1 -1
  201. package/build/system/mcp-servers/playwright/schemas.d.ts +21 -10
  202. package/build/system/mcp-servers/playwright/schemas.js +3 -0
  203. package/build/system/mcp-servers/playwright/tools-navigation.js +22 -9
  204. package/build/system/mcp-servers/playwright/tools-run-script.js +20 -3
  205. package/build/system/mcp-servers/playwright/vision-helper.d.ts +12 -0
  206. package/build/system/mcp-servers/playwright/vision-helper.js +81 -0
  207. package/build/system/mcp-servers/playwright-cli/helpers.js +2 -2
  208. package/build/system/mcp-servers/playwright-cli/index.js +1 -1
  209. package/build/system/mcp-servers/playwright-cli/schemas.d.ts +10 -10
  210. package/build/system/mcp-servers/playwright-cli/schemas.js +1 -1
  211. package/build/system/mcp-servers/playwright-cli/tools-auth.js +1 -1
  212. package/build/system/mcp-servers/playwright-cli/tools-capture.js +9 -3
  213. package/build/system/mcp-servers/translation.d.ts +14 -0
  214. package/build/system/mcp-servers/translation.js +130 -0
  215. package/build/system/mcp-servers/vision-prompts.d.ts +2 -0
  216. package/build/system/mcp-servers/vision-prompts.js +9 -0
  217. package/build/system/mcp-servers/{document-vision.d.ts → vision.d.ts} +3 -4
  218. package/build/system/mcp-servers/vision.js +258 -0
  219. package/build/system/mcp-servers/workflow-compiler.js +1 -1
  220. package/build/system/mcp-servers/workflow.js +1 -1
  221. package/build/system/seed/index.js +13 -2
  222. package/build/system/seed/server-definitions.d.ts +1961 -322
  223. package/build/system/seed/server-definitions.js +68 -34
  224. package/build/system/seed/tool-manifests-admin.d.ts +1645 -0
  225. package/build/system/seed/tool-manifests-admin.js +45 -0
  226. package/build/system/seed/tool-manifests-browser.d.ts +1 -1
  227. package/build/system/seed/tool-manifests-browser.js +3 -3
  228. package/build/system/seed/tool-manifests-data.d.ts +62 -21
  229. package/build/system/seed/tool-manifests-data.js +55 -17
  230. package/build/system/seed/tool-manifests-knowledge.d.ts +171 -0
  231. package/build/system/seed/tool-manifests-knowledge.js +94 -0
  232. package/build/system/seed/tool-manifests-workflows.d.ts +7 -0
  233. package/build/system/seed/tool-manifests-workflows.js +10 -3
  234. package/build/system/workflows/mcp-deterministic/index.js +1 -1
  235. package/build/system/workflows/mcp-query/activities/discovery.d.ts +2 -20
  236. package/build/system/workflows/mcp-query/activities/discovery.js +5 -163
  237. package/build/system/workflows/mcp-query/activities/llm.d.ts +1 -7
  238. package/build/system/workflows/mcp-query/activities/llm.js +2 -27
  239. package/build/system/workflows/mcp-query/activities/tool-executor.d.ts +0 -4
  240. package/build/system/workflows/mcp-query/activities/tool-executor.js +2 -106
  241. package/build/system/workflows/mcp-query/activities/tool-loader.d.ts +0 -9
  242. package/build/system/workflows/mcp-query/activities/tool-loader.js +2 -87
  243. package/build/system/workflows/mcp-query/index.js +55 -5
  244. package/build/system/workflows/mcp-query/prompts.d.ts +1 -2
  245. package/build/system/workflows/mcp-query/prompts.js +5 -32
  246. package/build/system/workflows/mcp-query/strategy-advisors.d.ts +3 -14
  247. package/build/system/workflows/mcp-query/strategy-advisors.js +4 -107
  248. package/build/system/workflows/mcp-query/types.d.ts +2 -10
  249. package/build/system/workflows/mcp-query/types.js +0 -1
  250. package/build/system/workflows/mcp-query-router/index.js +1 -1
  251. package/build/system/workflows/mcp-triage/index.d.ts +2 -2
  252. package/build/system/workflows/mcp-triage/index.js +39 -7
  253. package/build/system/workflows/mcp-triage/prompts.js +7 -14
  254. package/build/system/workflows/mcp-triage-deterministic/index.js +1 -1
  255. package/build/system/workflows/mcp-triage-router/index.js +1 -1
  256. package/build/system/workflows/mcp-workflow-builder/activities/caches.d.ts +5 -0
  257. package/build/system/workflows/mcp-workflow-builder/activities/caches.js +8 -0
  258. package/build/system/workflows/mcp-workflow-builder/activities/index.d.ts +2 -0
  259. package/build/system/workflows/mcp-workflow-builder/activities/index.js +7 -0
  260. package/build/system/workflows/mcp-workflow-builder/activities/llm.d.ts +2 -0
  261. package/build/system/workflows/mcp-workflow-builder/activities/llm.js +25 -0
  262. package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.d.ts +5 -0
  263. package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.js +8 -0
  264. package/build/system/workflows/mcp-workflow-builder/index.d.ts +16 -0
  265. package/build/system/workflows/mcp-workflow-builder/index.js +229 -0
  266. package/build/system/workflows/mcp-workflow-builder/prompts.d.ts +8 -0
  267. package/build/system/workflows/mcp-workflow-builder/prompts.js +247 -0
  268. package/build/system/workflows/shared/discovery.d.ts +35 -0
  269. package/build/system/workflows/shared/discovery.js +175 -0
  270. package/build/system/workflows/shared/index.d.ts +7 -0
  271. package/build/system/workflows/shared/index.js +18 -0
  272. package/build/system/workflows/shared/llm-caller.d.ts +8 -0
  273. package/build/system/workflows/shared/llm-caller.js +31 -0
  274. package/build/system/workflows/shared/prompts.d.ts +2 -0
  275. package/build/system/workflows/shared/prompts.js +32 -0
  276. package/build/system/workflows/shared/strategy-advisors.d.ts +14 -0
  277. package/build/system/workflows/shared/strategy-advisors.js +109 -0
  278. package/build/system/workflows/shared/tool-executor.d.ts +11 -0
  279. package/build/system/workflows/shared/tool-executor.js +111 -0
  280. package/build/system/workflows/shared/tool-loader.d.ts +19 -0
  281. package/build/system/workflows/shared/tool-loader.js +97 -0
  282. package/build/system/workflows/shared/types.d.ts +9 -0
  283. package/build/system/workflows/shared/types.js +2 -0
  284. package/build/system/workflows/tool-result-guard.d.ts +14 -0
  285. package/build/system/workflows/tool-result-guard.js +78 -0
  286. package/build/tsconfig.tsbuildinfo +1 -1
  287. package/build/types/mcp.d.ts +4 -3
  288. package/build/types/user.d.ts +2 -0
  289. package/build/types/yaml-workflow.d.ts +6 -2
  290. package/build/vitest.config.d.ts +1 -1
  291. package/build/vitest.integration.config.d.ts +1 -1
  292. package/build/workers/index.js +2 -8
  293. package/dashboard/dist/assets/AdminDashboard-BXkKGkb5.js +2 -0
  294. package/dashboard/dist/assets/AdminDashboard-BXkKGkb5.js.map +1 -0
  295. package/dashboard/dist/assets/AvailableEscalationsPage-DcH592mc.js +2 -0
  296. package/dashboard/dist/assets/AvailableEscalationsPage-DcH592mc.js.map +1 -0
  297. package/dashboard/dist/assets/BotPicker-A6LtzyuO.js +2 -0
  298. package/dashboard/dist/assets/{BotPicker-D6FYW1Gt.js.map → BotPicker-A6LtzyuO.js.map} +1 -1
  299. package/dashboard/dist/assets/CollapsibleSection-C7nL2_mv.js +2 -0
  300. package/dashboard/dist/assets/{CollapsibleSection-Cxk4wvjT.js.map → CollapsibleSection-C7nL2_mv.js.map} +1 -1
  301. package/dashboard/dist/assets/ConfirmDeleteModal-CWFwJrSl.js +2 -0
  302. package/dashboard/dist/assets/{ConfirmDeleteModal-FSXyKjaB.js.map → ConfirmDeleteModal-CWFwJrSl.js.map} +1 -1
  303. package/dashboard/dist/assets/CopyableId-DbZ5c3jh.js +2 -0
  304. package/dashboard/dist/assets/{CopyableId-CBdxWfp8.js.map → CopyableId-DbZ5c3jh.js.map} +1 -1
  305. package/dashboard/dist/assets/CredentialsPage-ClWkmLPu.js +2 -0
  306. package/dashboard/dist/assets/CredentialsPage-ClWkmLPu.js.map +1 -0
  307. package/dashboard/dist/assets/CustomDurationPicker-CtH2hReF.js +2 -0
  308. package/dashboard/dist/assets/{CustomDurationPicker-CAninCbl.js.map → CustomDurationPicker-CtH2hReF.js.map} +1 -1
  309. package/dashboard/dist/assets/DataTable-CM5ZcpPi.js +2 -0
  310. package/dashboard/dist/assets/DataTable-CM5ZcpPi.js.map +1 -0
  311. package/dashboard/dist/assets/ElapsedCell-CwqavyeC.js +2 -0
  312. package/dashboard/dist/assets/ElapsedCell-CwqavyeC.js.map +1 -0
  313. package/dashboard/dist/assets/EmptyState-BBn78pmm.js +2 -0
  314. package/dashboard/dist/assets/{EmptyState-2CmV-IaS.js.map → EmptyState-BBn78pmm.js.map} +1 -1
  315. package/dashboard/dist/assets/EscalationsOverview-BcJ2E3X7.js +2 -0
  316. package/dashboard/dist/assets/{EscalationsOverview-GXYFPASS.js.map → EscalationsOverview-BcJ2E3X7.js.map} +1 -1
  317. package/dashboard/dist/assets/EventTable-C1en_KZ0.js +2 -0
  318. package/dashboard/dist/assets/{EventTable-B01oJf6Y.js.map → EventTable-C1en_KZ0.js.map} +1 -1
  319. package/dashboard/dist/assets/FilterBar-CZTlrLQT.js +2 -0
  320. package/dashboard/dist/assets/{FilterBar-Ck4K4rzu.js.map → FilterBar-CZTlrLQT.js.map} +1 -1
  321. package/dashboard/dist/assets/ListToolbar-Cdbsapig.js +2 -0
  322. package/dashboard/dist/assets/ListToolbar-Cdbsapig.js.map +1 -0
  323. package/dashboard/dist/assets/McpOverview-CSpEJxKa.js +2 -0
  324. package/dashboard/dist/assets/{McpOverview-JkvRcX2e.js.map → McpOverview-CSpEJxKa.js.map} +1 -1
  325. package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js +5 -0
  326. package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js.map +1 -0
  327. package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js +2 -0
  328. package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js.map +1 -0
  329. package/dashboard/dist/assets/McpRunDetailPage-9xdxgG4d.js +2 -0
  330. package/dashboard/dist/assets/McpRunDetailPage-9xdxgG4d.js.map +1 -0
  331. package/dashboard/dist/assets/McpRunsPage-wWLqHsd4.js +2 -0
  332. package/dashboard/dist/assets/McpRunsPage-wWLqHsd4.js.map +1 -0
  333. package/dashboard/dist/assets/Modal-kB_P7ZOr.js +2 -0
  334. package/dashboard/dist/assets/{Modal-B4rbIVAn.js.map → Modal-kB_P7ZOr.js.map} +1 -1
  335. package/dashboard/dist/assets/OperatorDashboard-jc0vrgDI.js +2 -0
  336. package/dashboard/dist/assets/OperatorDashboard-jc0vrgDI.js.map +1 -0
  337. package/dashboard/dist/assets/PageHeader-NkOeBR05.js +2 -0
  338. package/dashboard/dist/assets/PageHeader-NkOeBR05.js.map +1 -0
  339. package/dashboard/dist/assets/PageHeaderWithStats-ywNhrmFK.js +2 -0
  340. package/dashboard/dist/assets/PageHeaderWithStats-ywNhrmFK.js.map +1 -0
  341. package/dashboard/dist/assets/PriorityBadge-B2MQbSxy.js +2 -0
  342. package/dashboard/dist/assets/{PriorityBadge-DfQY9St9.js.map → PriorityBadge-B2MQbSxy.js.map} +1 -1
  343. package/dashboard/dist/assets/ProcessDetailPage-B7z7IdqE.js +2 -0
  344. package/dashboard/dist/assets/ProcessDetailPage-B7z7IdqE.js.map +1 -0
  345. package/dashboard/dist/assets/ProcessesListPage-C-uHadO6.js +2 -0
  346. package/dashboard/dist/assets/ProcessesListPage-C-uHadO6.js.map +1 -0
  347. package/dashboard/dist/assets/RolePill-C1dgC-fK.js +2 -0
  348. package/dashboard/dist/assets/{RolePill-BTPa8L-P.js.map → RolePill-C1dgC-fK.js.map} +1 -1
  349. package/dashboard/dist/assets/RolesPage-BSxrD1vm.js +2 -0
  350. package/dashboard/dist/assets/RolesPage-BSxrD1vm.js.map +1 -0
  351. package/dashboard/dist/assets/RowActions-lYaHGI-v.js +2 -0
  352. package/dashboard/dist/assets/{RowActions-Dg-Fsm5O.js.map → RowActions-lYaHGI-v.js.map} +1 -1
  353. package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js +2 -0
  354. package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js.map +1 -0
  355. package/dashboard/dist/assets/StatCard-v2TiITVr.js +2 -0
  356. package/dashboard/dist/assets/{StatCard-DlgF0CJC.js.map → StatCard-v2TiITVr.js.map} +1 -1
  357. package/dashboard/dist/assets/StatusBadge-DWlxevgG.js +2 -0
  358. package/dashboard/dist/assets/StatusBadge-DWlxevgG.js.map +1 -0
  359. package/dashboard/dist/assets/StepIndicator-CRM4ft28.js +2 -0
  360. package/dashboard/dist/assets/StepIndicator-CRM4ft28.js.map +1 -0
  361. package/dashboard/dist/assets/StickyPagination-CF0EToEU.js +2 -0
  362. package/dashboard/dist/assets/{StickyPagination-F9FZsRy9.js.map → StickyPagination-CF0EToEU.js.map} +1 -1
  363. package/dashboard/dist/assets/SwimlaneTimeline-CNlj7fgg.js +2 -0
  364. package/dashboard/dist/assets/SwimlaneTimeline-CNlj7fgg.js.map +1 -0
  365. package/dashboard/dist/assets/TagInput-CH8qMGhC.js +2 -0
  366. package/dashboard/dist/assets/TagInput-CH8qMGhC.js.map +1 -0
  367. package/dashboard/dist/assets/TaskDetailPage-CdWo-6mu.js +2 -0
  368. package/dashboard/dist/assets/TaskDetailPage-CdWo-6mu.js.map +1 -0
  369. package/dashboard/dist/assets/TaskQueuePill-BPj4ogVG.js +2 -0
  370. package/dashboard/dist/assets/{TaskQueuePill-awmtb0qw.js.map → TaskQueuePill-BPj4ogVG.js.map} +1 -1
  371. package/dashboard/dist/assets/TasksListPage-CtRkMpKU.js +2 -0
  372. package/dashboard/dist/assets/{TasksListPage-C_QF23c1.js.map → TasksListPage-CtRkMpKU.js.map} +1 -1
  373. package/dashboard/dist/assets/TimeAgo-Di1a3X5P.js +2 -0
  374. package/dashboard/dist/assets/TimeAgo-Di1a3X5P.js.map +1 -0
  375. package/dashboard/dist/assets/TimestampCell-CqrXql-S.js +2 -0
  376. package/dashboard/dist/assets/TimestampCell-CqrXql-S.js.map +1 -0
  377. package/dashboard/dist/assets/UserName-BUFYCnRa.js +2 -0
  378. package/dashboard/dist/assets/{UserName-DaP4YAKr.js.map → UserName-BUFYCnRa.js.map} +1 -1
  379. package/dashboard/dist/assets/WorkflowExecutionPage-25iusMml.js +2 -0
  380. package/dashboard/dist/assets/WorkflowExecutionPage-25iusMml.js.map +1 -0
  381. package/dashboard/dist/assets/WorkflowPill-DPKOcbf4.js +2 -0
  382. package/dashboard/dist/assets/WorkflowPill-DPKOcbf4.js.map +1 -0
  383. package/dashboard/dist/assets/WorkflowsDashboard-BgxslssH.js +2 -0
  384. package/dashboard/dist/assets/WorkflowsDashboard-BgxslssH.js.map +1 -0
  385. package/dashboard/dist/assets/WorkflowsOverview-Doe5L-Re.js +2 -0
  386. package/dashboard/dist/assets/{WorkflowsOverview-D9OzzQqw.js.map → WorkflowsOverview-Doe5L-Re.js.map} +1 -1
  387. package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js +2 -0
  388. package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js.map +1 -0
  389. package/dashboard/dist/assets/{bots-BkKVMbUW.js → bots-Bi2_O1Ts.js} +2 -2
  390. package/dashboard/dist/assets/{bots-BkKVMbUW.js.map → bots-Bi2_O1Ts.js.map} +1 -1
  391. package/dashboard/dist/assets/constants-BHkpVaqx.js +2 -0
  392. package/dashboard/dist/assets/constants-BHkpVaqx.js.map +1 -0
  393. package/dashboard/dist/assets/escalation-Ck1KlLkT.js +2 -0
  394. package/dashboard/dist/assets/escalation-Ck1KlLkT.js.map +1 -0
  395. package/dashboard/dist/assets/escalation-columns-ohDsj2eJ.js +2 -0
  396. package/dashboard/dist/assets/{escalation-columns-D6aqStaY.js.map → escalation-columns-ohDsj2eJ.js.map} +1 -1
  397. package/dashboard/dist/assets/helpers-BoD2SgUY.js +2 -0
  398. package/dashboard/dist/assets/helpers-BoD2SgUY.js.map +1 -0
  399. package/dashboard/dist/assets/index-BEtLIsML.js +2 -0
  400. package/dashboard/dist/assets/index-BEtLIsML.js.map +1 -0
  401. package/dashboard/dist/assets/index-Bn2xHDr8.js +5 -0
  402. package/dashboard/dist/assets/index-Bn2xHDr8.js.map +1 -0
  403. package/dashboard/dist/assets/index-BpT-6WgJ.js +2 -0
  404. package/dashboard/dist/assets/{index-DTPzZr_X.js.map → index-BpT-6WgJ.js.map} +1 -1
  405. package/dashboard/dist/assets/index-CZrJ09p-.js +2 -0
  406. package/dashboard/dist/assets/index-CZrJ09p-.js.map +1 -0
  407. package/dashboard/dist/assets/index-D3NyVADW.js +2 -0
  408. package/dashboard/dist/assets/index-D3NyVADW.js.map +1 -0
  409. package/dashboard/dist/assets/index-D7zYZOnH.js +2 -0
  410. package/dashboard/dist/assets/index-D7zYZOnH.js.map +1 -0
  411. package/dashboard/dist/assets/index-DOkHXmyf.js +17 -0
  412. package/dashboard/dist/assets/index-DOkHXmyf.js.map +1 -0
  413. package/dashboard/dist/assets/index-DYyLF-Qb.js +281 -0
  414. package/dashboard/dist/assets/index-DYyLF-Qb.js.map +1 -0
  415. package/dashboard/dist/assets/index-Dk2Q51o0.js +2 -0
  416. package/dashboard/dist/assets/index-Dk2Q51o0.js.map +1 -0
  417. package/dashboard/dist/assets/index-FuohTtaM.js +6 -0
  418. package/dashboard/dist/assets/index-FuohTtaM.js.map +1 -0
  419. package/dashboard/dist/assets/index-PyCTS05D.css +1 -0
  420. package/dashboard/dist/assets/mcp-CJtYjA7A.js +2 -0
  421. package/dashboard/dist/assets/mcp-CJtYjA7A.js.map +1 -0
  422. package/dashboard/dist/assets/mcp-query-jQJQrs_7.js +2 -0
  423. package/dashboard/dist/assets/mcp-query-jQJQrs_7.js.map +1 -0
  424. package/dashboard/dist/assets/{mcp-runs-ChPbpvXK.js → mcp-runs-DUWm9Z4V.js} +2 -2
  425. package/dashboard/dist/assets/{mcp-runs-ChPbpvXK.js.map → mcp-runs-DUWm9Z4V.js.map} +1 -1
  426. package/dashboard/dist/assets/namespaces-BM5P2qmL.js +2 -0
  427. package/dashboard/dist/assets/{namespaces-BgbaC3ow.js.map → namespaces-BM5P2qmL.js.map} +1 -1
  428. package/dashboard/dist/assets/{roles-ZNrqqnQl.js → roles-lv0shpjJ.js} +2 -2
  429. package/dashboard/dist/assets/{roles-ZNrqqnQl.js.map → roles-lv0shpjJ.js.map} +1 -1
  430. package/dashboard/dist/assets/settings-Wlq92mRo.js +2 -0
  431. package/dashboard/dist/assets/{settings-eBRSE0mQ.js.map → settings-Wlq92mRo.js.map} +1 -1
  432. package/dashboard/dist/assets/tasks-BFGm4PuE.js +2 -0
  433. package/dashboard/dist/assets/{tasks-tRqClPns.js.map → tasks-BFGm4PuE.js.map} +1 -1
  434. package/dashboard/dist/assets/useEventHooks-DIE6ue4x.js +2 -0
  435. package/dashboard/dist/assets/useEventHooks-DIE6ue4x.js.map +1 -0
  436. package/dashboard/dist/assets/useExpandedRows-Cg9iq6Vy.js +2 -0
  437. package/dashboard/dist/assets/useExpandedRows-Cg9iq6Vy.js.map +1 -0
  438. package/dashboard/dist/assets/{useFilterParams-BaXUAkYK.js → useFilterParams-BUyLHcx_.js} +2 -2
  439. package/dashboard/dist/assets/{useFilterParams-BaXUAkYK.js.map → useFilterParams-BUyLHcx_.js.map} +1 -1
  440. package/dashboard/dist/assets/{useYamlActivityEvents-BO51u8tm.js → useYamlActivityEvents-DCwSO73t.js} +2 -2
  441. package/dashboard/dist/assets/useYamlActivityEvents-DCwSO73t.js.map +1 -0
  442. package/dashboard/dist/assets/{users-tMvNyOo8.js → users-tA5-K0wA.js} +2 -2
  443. package/dashboard/dist/assets/{users-tMvNyOo8.js.map → users-tA5-K0wA.js.map} +1 -1
  444. package/dashboard/dist/assets/vendor-icons-BiIug1SK.js +402 -0
  445. package/dashboard/dist/assets/vendor-icons-BiIug1SK.js.map +1 -0
  446. package/dashboard/dist/assets/vendor-query-DLp59M9_.js +35 -0
  447. package/dashboard/dist/assets/vendor-query-DLp59M9_.js.map +1 -0
  448. package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js +26 -0
  449. package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js.map +1 -0
  450. package/dashboard/dist/assets/{workflows-Cc4VHcrp.js → workflows-CfLc15Wr.js} +2 -2
  451. package/dashboard/dist/assets/{workflows-Cc4VHcrp.js.map → workflows-CfLc15Wr.js.map} +1 -1
  452. package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js +2 -0
  453. package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js.map +1 -0
  454. package/dashboard/dist/index.html +5 -5
  455. package/docs/api/dba.md +81 -0
  456. package/docs/api/escalations.md +575 -0
  457. package/docs/api/exports.md +170 -0
  458. package/docs/api/maintenance.md +93 -0
  459. package/docs/api/mcp-runs.md +128 -0
  460. package/docs/api/mcp-servers.md +253 -0
  461. package/docs/api/namespaces.md +48 -0
  462. package/docs/api/roles.md +390 -0
  463. package/docs/api/service-accounts.md +188 -0
  464. package/docs/api/settings.md +33 -0
  465. package/docs/api/tasks.md +167 -0
  466. package/docs/api/users.md +180 -0
  467. package/docs/api/workflows.md +616 -0
  468. package/docs/api/yaml-workflows.md +312 -0
  469. package/docs/architecture.md +221 -0
  470. package/docs/auth.md +181 -0
  471. package/docs/cloud.md +272 -0
  472. package/docs/compilation.md +136 -0
  473. package/docs/contributing.md +56 -0
  474. package/docs/dashboard.md +145 -0
  475. package/docs/data.md +478 -0
  476. package/docs/escalation-strategies.md +263 -0
  477. package/docs/events.md +251 -0
  478. package/docs/iam.md +222 -0
  479. package/docs/img/01-login.png +0 -0
  480. package/docs/img/02-dashboard-home.png +0 -0
  481. package/docs/img/03-processes-list.png +0 -0
  482. package/docs/img/04-escalations-list.png +0 -0
  483. package/docs/img/05-mcp-servers.png +0 -0
  484. package/docs/img/06-mcp-pipelines.png +0 -0
  485. package/docs/img/07-workflows-list.png +0 -0
  486. package/docs/img/compilation/01-query-submit.png +0 -0
  487. package/docs/img/compilation/02-mcp-servers.png +0 -0
  488. package/docs/img/compilation/03-query-completed.png +0 -0
  489. package/docs/img/compilation/04-wizard-original.png +0 -0
  490. package/docs/img/compilation/05-wizard-timeline.png +0 -0
  491. package/docs/img/compilation/06-wizard-profile.png +0 -0
  492. package/docs/img/compilation/07-wizard-deploy.png +0 -0
  493. package/docs/img/compilation/08-wizard-test-modal.png +0 -0
  494. package/docs/img/compilation/09-wizard-test-compare.png +0 -0
  495. package/docs/img/compilation/10-wizard-verify.png +0 -0
  496. package/docs/logging.md +110 -0
  497. package/docs/maintenance.md +221 -0
  498. package/docs/mcp.md +985 -0
  499. package/docs/oauth-and-delegation.md +469 -0
  500. package/docs/telemetry.md +144 -0
  501. package/docs/workflows.md +695 -0
  502. package/package.json +8 -9
  503. package/build/services/db/index.d.ts +0 -3
  504. package/build/services/mcp/vision-server.d.ts +0 -15
  505. package/build/services/mcp/vision-server.js +0 -214
  506. package/build/system/mcp-servers/document-vision.js +0 -228
  507. package/build/system/mcp-servers/prompts.d.ts +0 -4
  508. package/build/system/mcp-servers/prompts.js +0 -10
  509. package/dashboard/dist/assets/AdminDashboard-jfacvOC7.js +0 -2
  510. package/dashboard/dist/assets/AdminDashboard-jfacvOC7.js.map +0 -1
  511. package/dashboard/dist/assets/AvailableEscalationsPage-BglLDoT8.js +0 -2
  512. package/dashboard/dist/assets/AvailableEscalationsPage-BglLDoT8.js.map +0 -1
  513. package/dashboard/dist/assets/BotPicker-D6FYW1Gt.js +0 -2
  514. package/dashboard/dist/assets/CollapsibleSection-Cxk4wvjT.js +0 -2
  515. package/dashboard/dist/assets/ConfirmDeleteModal-FSXyKjaB.js +0 -2
  516. package/dashboard/dist/assets/CopyableId-CBdxWfp8.js +0 -2
  517. package/dashboard/dist/assets/CredentialsPage-Ikzsot0w.js +0 -2
  518. package/dashboard/dist/assets/CredentialsPage-Ikzsot0w.js.map +0 -1
  519. package/dashboard/dist/assets/CustomDurationPicker-CAninCbl.js +0 -2
  520. package/dashboard/dist/assets/DataTable-BDn1WBHS.js +0 -2
  521. package/dashboard/dist/assets/DataTable-BDn1WBHS.js.map +0 -1
  522. package/dashboard/dist/assets/EmptyState-2CmV-IaS.js +0 -2
  523. package/dashboard/dist/assets/EscalationsOverview-GXYFPASS.js +0 -2
  524. package/dashboard/dist/assets/EventTable-B01oJf6Y.js +0 -2
  525. package/dashboard/dist/assets/Field-DuFBAYhu.js +0 -2
  526. package/dashboard/dist/assets/Field-DuFBAYhu.js.map +0 -1
  527. package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +0 -2
  528. package/dashboard/dist/assets/McpOverview-JkvRcX2e.js +0 -2
  529. package/dashboard/dist/assets/McpQueryDetailPage-CUMqhQdS.js +0 -2
  530. package/dashboard/dist/assets/McpQueryDetailPage-CUMqhQdS.js.map +0 -1
  531. package/dashboard/dist/assets/McpQueryPage-DRRhw4nN.js +0 -2
  532. package/dashboard/dist/assets/McpQueryPage-DRRhw4nN.js.map +0 -1
  533. package/dashboard/dist/assets/McpRunDetailPage-CmPs5EvE.js +0 -2
  534. package/dashboard/dist/assets/McpRunDetailPage-CmPs5EvE.js.map +0 -1
  535. package/dashboard/dist/assets/McpRunsPage-Dl5Y2u6k.js +0 -2
  536. package/dashboard/dist/assets/McpRunsPage-Dl5Y2u6k.js.map +0 -1
  537. package/dashboard/dist/assets/Modal-B4rbIVAn.js +0 -2
  538. package/dashboard/dist/assets/OperatorDashboard-B56il28q.js +0 -2
  539. package/dashboard/dist/assets/OperatorDashboard-B56il28q.js.map +0 -1
  540. package/dashboard/dist/assets/PageHeader-CpWFly5S.js +0 -2
  541. package/dashboard/dist/assets/PageHeader-CpWFly5S.js.map +0 -1
  542. package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +0 -2
  543. package/dashboard/dist/assets/ProcessDetailPage-CMLq4M7D.js +0 -2
  544. package/dashboard/dist/assets/ProcessDetailPage-CMLq4M7D.js.map +0 -1
  545. package/dashboard/dist/assets/ProcessesListPage-CZ_HF06v.js +0 -2
  546. package/dashboard/dist/assets/ProcessesListPage-CZ_HF06v.js.map +0 -1
  547. package/dashboard/dist/assets/RolePill-BTPa8L-P.js +0 -2
  548. package/dashboard/dist/assets/RolesPage-9grZW7yR.js +0 -2
  549. package/dashboard/dist/assets/RolesPage-9grZW7yR.js.map +0 -1
  550. package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +0 -2
  551. package/dashboard/dist/assets/SimpleMarkdown-CBlvaWP4.js +0 -4
  552. package/dashboard/dist/assets/SimpleMarkdown-CBlvaWP4.js.map +0 -1
  553. package/dashboard/dist/assets/StatCard-DlgF0CJC.js +0 -2
  554. package/dashboard/dist/assets/StatusBadge-TlC4jiig.js +0 -2
  555. package/dashboard/dist/assets/StatusBadge-TlC4jiig.js.map +0 -1
  556. package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js +0 -2
  557. package/dashboard/dist/assets/SwimlaneTimeline-7SiwATsZ.js +0 -2
  558. package/dashboard/dist/assets/SwimlaneTimeline-7SiwATsZ.js.map +0 -1
  559. package/dashboard/dist/assets/TaskDetailPage-CbPVTakt.js +0 -2
  560. package/dashboard/dist/assets/TaskDetailPage-CbPVTakt.js.map +0 -1
  561. package/dashboard/dist/assets/TaskQueuePill-awmtb0qw.js +0 -2
  562. package/dashboard/dist/assets/TasksListPage-C_QF23c1.js +0 -2
  563. package/dashboard/dist/assets/TimeAgo-UPG6DoH8.js +0 -2
  564. package/dashboard/dist/assets/TimeAgo-UPG6DoH8.js.map +0 -1
  565. package/dashboard/dist/assets/TimestampCell-DoWMKg6w.js +0 -2
  566. package/dashboard/dist/assets/TimestampCell-DoWMKg6w.js.map +0 -1
  567. package/dashboard/dist/assets/UserName-DaP4YAKr.js +0 -2
  568. package/dashboard/dist/assets/VersionHistory-Bt7WBr6m.js +0 -5
  569. package/dashboard/dist/assets/VersionHistory-Bt7WBr6m.js.map +0 -1
  570. package/dashboard/dist/assets/WorkflowExecutionPage-DjtAQ3hy.js +0 -2
  571. package/dashboard/dist/assets/WorkflowExecutionPage-DjtAQ3hy.js.map +0 -1
  572. package/dashboard/dist/assets/WorkflowPill-CCDSVaQj.js +0 -2
  573. package/dashboard/dist/assets/WorkflowPill-CCDSVaQj.js.map +0 -1
  574. package/dashboard/dist/assets/WorkflowsDashboard-D8z9uBNB.js +0 -2
  575. package/dashboard/dist/assets/WorkflowsDashboard-D8z9uBNB.js.map +0 -1
  576. package/dashboard/dist/assets/WorkflowsOverview-D9OzzQqw.js +0 -2
  577. package/dashboard/dist/assets/YamlWorkflowDetailPage-DrDvvP62.js +0 -3
  578. package/dashboard/dist/assets/YamlWorkflowDetailPage-DrDvvP62.js.map +0 -1
  579. package/dashboard/dist/assets/YamlWorkflowsPage-COqiNCQK.js +0 -2
  580. package/dashboard/dist/assets/YamlWorkflowsPage-COqiNCQK.js.map +0 -1
  581. package/dashboard/dist/assets/constants-CgaZfe5d.js +0 -2
  582. package/dashboard/dist/assets/constants-CgaZfe5d.js.map +0 -1
  583. package/dashboard/dist/assets/escalation-columns-D6aqStaY.js +0 -2
  584. package/dashboard/dist/assets/escalation-qalymbKB.js +0 -2
  585. package/dashboard/dist/assets/escalation-qalymbKB.js.map +0 -1
  586. package/dashboard/dist/assets/format-gXZXQ-HJ.js +0 -2
  587. package/dashboard/dist/assets/format-gXZXQ-HJ.js.map +0 -1
  588. package/dashboard/dist/assets/helpers-0gSleuzT.js +0 -2
  589. package/dashboard/dist/assets/helpers-0gSleuzT.js.map +0 -1
  590. package/dashboard/dist/assets/index-BWvMHed7.js +0 -6
  591. package/dashboard/dist/assets/index-BWvMHed7.js.map +0 -1
  592. package/dashboard/dist/assets/index-BaszoPO_.css +0 -1
  593. package/dashboard/dist/assets/index-Cn2jyj9A.js +0 -2
  594. package/dashboard/dist/assets/index-Cn2jyj9A.js.map +0 -1
  595. package/dashboard/dist/assets/index-D8VH6K8B.js +0 -54
  596. package/dashboard/dist/assets/index-D8VH6K8B.js.map +0 -1
  597. package/dashboard/dist/assets/index-D9SYwJsi.js +0 -3
  598. package/dashboard/dist/assets/index-D9SYwJsi.js.map +0 -1
  599. package/dashboard/dist/assets/index-DTPzZr_X.js +0 -2
  600. package/dashboard/dist/assets/index-D_6AB5BE.js +0 -2
  601. package/dashboard/dist/assets/index-D_6AB5BE.js.map +0 -1
  602. package/dashboard/dist/assets/index-S9Ks2Lj2.js +0 -2
  603. package/dashboard/dist/assets/index-S9Ks2Lj2.js.map +0 -1
  604. package/dashboard/dist/assets/index-X85K5bHC.js +0 -17
  605. package/dashboard/dist/assets/index-X85K5bHC.js.map +0 -1
  606. package/dashboard/dist/assets/index-rjmgHlSH.js +0 -2
  607. package/dashboard/dist/assets/index-rjmgHlSH.js.map +0 -1
  608. package/dashboard/dist/assets/mcp-blCW6IL7.js +0 -2
  609. package/dashboard/dist/assets/mcp-blCW6IL7.js.map +0 -1
  610. package/dashboard/dist/assets/mcp-query-DoAyPbjC.js +0 -2
  611. package/dashboard/dist/assets/mcp-query-DoAyPbjC.js.map +0 -1
  612. package/dashboard/dist/assets/namespaces-BgbaC3ow.js +0 -2
  613. package/dashboard/dist/assets/settings-eBRSE0mQ.js +0 -2
  614. package/dashboard/dist/assets/tasks-tRqClPns.js +0 -2
  615. package/dashboard/dist/assets/useNatsEvents-Xr43X1fG.js +0 -2
  616. package/dashboard/dist/assets/useNatsEvents-Xr43X1fG.js.map +0 -1
  617. package/dashboard/dist/assets/useYamlActivityEvents-BO51u8tm.js.map +0 -1
  618. package/dashboard/dist/assets/vendor-icons-ZTAKVwGc.js +0 -292
  619. package/dashboard/dist/assets/vendor-icons-ZTAKVwGc.js.map +0 -1
  620. package/dashboard/dist/assets/vendor-query-B2UbickB.js +0 -18
  621. package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +0 -1
  622. package/dashboard/dist/assets/vendor-react-Cw8Gy8NJ.js +0 -22
  623. package/dashboard/dist/assets/vendor-react-Cw8Gy8NJ.js.map +0 -1
  624. package/dashboard/dist/assets/yaml-workflows-BL4V5CQy.js +0 -2
  625. package/dashboard/dist/assets/yaml-workflows-BL4V5CQy.js.map +0 -1
  626. package/services/db/README.md +0 -8
  627. /package/build/{services → lib}/db/migrate.d.ts +0 -0
  628. /package/{services → build/lib}/db/schemas/002_seed.sql +0 -0
  629. /package/{services → build/lib}/db/schemas/003_workflow_discovery.sql +0 -0
  630. /package/{services → build/lib}/db/schemas/004_query_router.sql +0 -0
  631. /package/{services → build/lib}/db/schemas/005_triage_router.sql +0 -0
  632. /package/{services → build/lib}/db/schemas/006_oauth.sql +0 -0
  633. /package/{services → build/lib}/db/schemas/007_security.sql +0 -0
  634. /package/{services → build/lib}/db/schemas/008_bot_accounts.sql +0 -0
  635. /package/{services → build/lib}/db/schemas/009_audit_trail.sql +0 -0
  636. /package/{services → build/lib}/db/schemas/010_credential_providers.sql +0 -0
  637. /package/{services → build/lib}/db/schemas/012_drop_modality.sql +0 -0
  638. /package/{services → build/lib}/db/schemas/013_execute_as.sql +0 -0
  639. /package/{services → build/lib}/db/schemas/014_ephemeral_credentials.sql +0 -0
  640. /package/build/{services → lib}/events/index.d.ts +0 -0
  641. /package/build/{services → lib}/events/index.js +0 -0
  642. /package/build/{services → lib}/events/memory.d.ts +0 -0
  643. /package/build/{services → lib}/events/memory.js +0 -0
  644. /package/build/{services → lib}/events/nats.d.ts +0 -0
  645. /package/build/{services → lib}/events/nats.js +0 -0
  646. /package/build/{services → lib}/events/publish.d.ts +0 -0
  647. /package/build/{services → lib}/events/publish.js +0 -0
  648. /package/build/{services → lib}/events/socketio.d.ts +0 -0
  649. /package/build/{services → lib}/events/socketio.js +0 -0
  650. /package/build/{services → lib}/logger/index.d.ts +0 -0
  651. /package/build/{services → lib}/logger/index.js +0 -0
  652. /package/build/{services → lib}/logger/pino.d.ts +0 -0
  653. /package/build/{services → lib}/logger/pino.js +0 -0
  654. /package/build/{services → lib}/storage/index.d.ts +0 -0
  655. /package/build/{services → lib}/storage/index.js +0 -0
  656. /package/build/{services → lib}/storage/local.d.ts +0 -0
  657. /package/build/{services → lib}/storage/local.js +0 -0
  658. /package/build/{services → lib}/storage/s3.d.ts +0 -0
  659. /package/build/{services → lib}/storage/s3.js +0 -0
  660. /package/build/{services → lib}/storage/types.d.ts +0 -0
  661. /package/build/{services → lib}/storage/types.js +0 -0
  662. /package/build/{services → lib}/telemetry/index.d.ts +0 -0
  663. /package/build/{services → lib}/telemetry/index.js +0 -0
@@ -0,0 +1,137 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createKnowledgeServer = createKnowledgeServer;
37
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
38
+ const zod_1 = require("zod");
39
+ const logger_1 = require("../../lib/logger");
40
+ const knowledge = __importStar(require("../activities/knowledge"));
41
+ const storeSchema = zod_1.z.object({
42
+ domain: zod_1.z.string().describe('Knowledge domain (namespace)'),
43
+ key: zod_1.z.string().describe('Unique key within domain'),
44
+ data: zod_1.z.record(zod_1.z.any()).describe('JSONB payload to store'),
45
+ tags: zod_1.z.array(zod_1.z.string()).optional().describe('Categorization tags'),
46
+ });
47
+ const getSchema = zod_1.z.object({
48
+ domain: zod_1.z.string().describe('Knowledge domain'),
49
+ key: zod_1.z.string().describe('Document key'),
50
+ });
51
+ const searchSchema = zod_1.z.object({
52
+ domain: zod_1.z.string().describe('Knowledge domain to search'),
53
+ query: zod_1.z.record(zod_1.z.any()).describe('JSONB containment query (e.g. {"type":"screenshot"})'),
54
+ tags: zod_1.z.array(zod_1.z.string()).optional().describe('Filter by tags (any match)'),
55
+ limit: zod_1.z.number().optional().describe('Max results (default 50, max 200)'),
56
+ });
57
+ const listSchema = zod_1.z.object({
58
+ domain: zod_1.z.string().describe('Knowledge domain'),
59
+ tags: zod_1.z.array(zod_1.z.string()).optional().describe('Filter by tags (any match)'),
60
+ limit: zod_1.z.number().optional().describe('Max results (default 50, max 200)'),
61
+ offset: zod_1.z.number().optional().describe('Pagination offset'),
62
+ });
63
+ const deleteSchema = zod_1.z.object({
64
+ domain: zod_1.z.string().describe('Knowledge domain'),
65
+ key: zod_1.z.string().describe('Document key to delete'),
66
+ });
67
+ const appendSchema = zod_1.z.object({
68
+ domain: zod_1.z.string().describe('Knowledge domain'),
69
+ key: zod_1.z.string().describe('Document key'),
70
+ path: zod_1.z.string().describe('JSONB path to array field (e.g. "screenshots" or "analysis.variations")'),
71
+ value: zod_1.z.any().refine((v) => v !== undefined, 'value is required').describe('Value to append to the array'),
72
+ });
73
+ function registerTools(server) {
74
+ server.registerTool('store_knowledge', {
75
+ title: 'Store Knowledge',
76
+ description: 'Store or update a knowledge entry. Upserts by domain+key: merges data and unions tags if the entry already exists.',
77
+ inputSchema: storeSchema,
78
+ }, async (args) => {
79
+ const result = await knowledge.storeKnowledge(args);
80
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
81
+ });
82
+ server.registerTool('get_knowledge', {
83
+ title: 'Get Knowledge',
84
+ description: 'Retrieve a single knowledge entry by domain and key.',
85
+ inputSchema: getSchema,
86
+ }, async (args) => {
87
+ const result = await knowledge.getKnowledge(args);
88
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
89
+ });
90
+ server.registerTool('search_knowledge', {
91
+ title: 'Search Knowledge',
92
+ description: 'Search knowledge entries using JSONB containment queries. The query object matches entries whose data contains the specified key-value pairs.',
93
+ inputSchema: searchSchema,
94
+ }, async (args) => {
95
+ const result = await knowledge.searchKnowledge(args);
96
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
97
+ });
98
+ server.registerTool('list_knowledge', {
99
+ title: 'List Knowledge',
100
+ description: 'List knowledge entries in a domain, optionally filtered by tags. Returns most recently updated first.',
101
+ inputSchema: listSchema,
102
+ }, async (args) => {
103
+ const result = await knowledge.listKnowledge(args);
104
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
105
+ });
106
+ server.registerTool('delete_knowledge', {
107
+ title: 'Delete Knowledge',
108
+ description: 'Delete a knowledge entry by domain and key.',
109
+ inputSchema: deleteSchema,
110
+ }, async (args) => {
111
+ const result = await knowledge.deleteKnowledge(args);
112
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
113
+ });
114
+ server.registerTool('list_domains', {
115
+ title: 'List Knowledge Domains',
116
+ description: 'List all knowledge domains with entry counts and last-updated timestamps.',
117
+ inputSchema: zod_1.z.object({}),
118
+ }, async () => {
119
+ const result = await knowledge.listDomains();
120
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
121
+ });
122
+ server.registerTool('append_knowledge', {
123
+ title: 'Append to Knowledge',
124
+ description: 'Append a value to an array field within a knowledge entry. Creates the entry and array if they do not exist.',
125
+ inputSchema: appendSchema,
126
+ }, async (args) => {
127
+ const result = await knowledge.appendKnowledge(args);
128
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
129
+ });
130
+ }
131
+ async function createKnowledgeServer(options) {
132
+ const name = options?.name || 'long-tail-knowledge';
133
+ const instance = new mcp_js_1.McpServer({ name, version: '1.0.0' });
134
+ registerTools(instance);
135
+ logger_1.loggerRegistry.info(`[lt-mcp:knowledge] ${name} ready`);
136
+ return instance;
137
+ }
@@ -36,7 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.createOAuthServer = createOAuthServer;
37
37
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
38
38
  const zod_1 = require("zod");
39
- const logger_1 = require("../../services/logger");
39
+ const logger_1 = require("../../lib/logger");
40
40
  const oauth = __importStar(require("../activities/oauth"));
41
41
  const getAccessTokenSchema = zod_1.z.object({
42
42
  provider: zod_1.z.string().describe('OAuth provider name (google, github, microsoft, anthropic, etc.)'),
@@ -7,7 +7,7 @@ exports.resolvePage = resolvePage;
7
7
  exports.buildHandle = buildHandle;
8
8
  exports.stopPlaywrightServer = stopPlaywrightServer;
9
9
  const playwright_1 = require("playwright");
10
- const logger_1 = require("../../../services/logger");
10
+ const logger_1 = require("../../../lib/logger");
11
11
  const types_1 = require("./types");
12
12
  // ── Browser lifecycle ────────────────────────────────────────────────────────
13
13
  // Shared browser instance across tool calls within a single server lifetime.
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stopPlaywrightServer = exports.buildHandle = exports.ensureBrowser = exports.allocatePageId = exports.pages = void 0;
4
4
  exports.createPlaywrightServer = createPlaywrightServer;
5
5
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
6
- const logger_1 = require("../../../services/logger");
6
+ const logger_1 = require("../../../lib/logger");
7
7
  const tools_atomic_1 = require("./tools-atomic");
8
8
  const tools_run_script_1 = require("./tools-run-script");
9
9
  // Re-export public API consumed by playwright-cli.ts and system/index.ts
@@ -68,30 +68,33 @@ export declare const screenshotSchema: z.ZodObject<{
68
68
  path: z.ZodString;
69
69
  full_page: z.ZodOptional<z.ZodBoolean>;
70
70
  selector: z.ZodOptional<z.ZodString>;
71
+ describe: z.ZodOptional<z.ZodBoolean>;
71
72
  }, "strip", z.ZodTypeAny, {
72
73
  path: string;
73
- url?: string | undefined;
74
74
  page_id?: string | undefined;
75
75
  _handle?: {
76
76
  type: "playwright_page";
77
77
  page_id: string;
78
78
  cdp_endpoint?: string | undefined;
79
79
  } | undefined;
80
+ url?: string | undefined;
80
81
  selector?: string | undefined;
81
82
  wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
82
83
  full_page?: boolean | undefined;
84
+ describe?: boolean | undefined;
83
85
  }, {
84
86
  path: string;
85
- url?: string | undefined;
86
87
  page_id?: string | undefined;
87
88
  _handle?: {
88
89
  type: "playwright_page";
89
90
  page_id: string;
90
91
  cdp_endpoint?: string | undefined;
91
92
  } | undefined;
93
+ url?: string | undefined;
92
94
  selector?: string | undefined;
93
95
  wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
94
96
  full_page?: boolean | undefined;
97
+ describe?: boolean | undefined;
95
98
  }>;
96
99
  export declare const clickSchema: z.ZodObject<{
97
100
  _handle: z.ZodOptional<z.ZodObject<{
@@ -181,22 +184,22 @@ export declare const waitForSchema: z.ZodObject<{
181
184
  timeout: z.ZodOptional<z.ZodNumber>;
182
185
  }, "strip", z.ZodTypeAny, {
183
186
  selector: string;
184
- timeout?: number | undefined;
185
187
  page_id?: string | undefined;
186
188
  _handle?: {
187
189
  type: "playwright_page";
188
190
  page_id: string;
189
191
  cdp_endpoint?: string | undefined;
190
192
  } | undefined;
193
+ timeout?: number | undefined;
191
194
  }, {
192
195
  selector: string;
193
- timeout?: number | undefined;
194
196
  page_id?: string | undefined;
195
197
  _handle?: {
196
198
  type: "playwright_page";
197
199
  page_id: string;
198
200
  cdp_endpoint?: string | undefined;
199
201
  } | undefined;
202
+ timeout?: number | undefined;
200
203
  }>;
201
204
  export declare const evaluateSchema: z.ZodObject<{
202
205
  _handle: z.ZodOptional<z.ZodObject<{
@@ -273,16 +276,18 @@ export declare const runScriptStepSchema: z.ZodObject<{
273
276
  script: z.ZodOptional<z.ZodString>;
274
277
  timeout: z.ZodOptional<z.ZodNumber>;
275
278
  not: z.ZodOptional<z.ZodBoolean>;
279
+ describe: z.ZodOptional<z.ZodBoolean>;
276
280
  }, "strip", z.ZodTypeAny, {
277
281
  action: "fill" | "navigate" | "screenshot" | "click" | "wait_for" | "wait_for_url" | "wait" | "evaluate";
278
282
  value?: string | undefined;
279
283
  not?: boolean | undefined;
280
284
  url?: string | undefined;
281
285
  path?: string | undefined;
282
- timeout?: number | undefined;
283
286
  selector?: string | undefined;
284
287
  wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
288
+ timeout?: number | undefined;
285
289
  full_page?: boolean | undefined;
290
+ describe?: boolean | undefined;
286
291
  script?: string | undefined;
287
292
  }, {
288
293
  action: "fill" | "navigate" | "screenshot" | "click" | "wait_for" | "wait_for_url" | "wait" | "evaluate";
@@ -290,10 +295,11 @@ export declare const runScriptStepSchema: z.ZodObject<{
290
295
  not?: boolean | undefined;
291
296
  url?: string | undefined;
292
297
  path?: string | undefined;
293
- timeout?: number | undefined;
294
298
  selector?: string | undefined;
295
299
  wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
300
+ timeout?: number | undefined;
296
301
  full_page?: boolean | undefined;
302
+ describe?: boolean | undefined;
297
303
  script?: string | undefined;
298
304
  }>;
299
305
  export declare const runScriptSchema: z.ZodObject<{
@@ -321,16 +327,18 @@ export declare const runScriptSchema: z.ZodObject<{
321
327
  script: z.ZodOptional<z.ZodString>;
322
328
  timeout: z.ZodOptional<z.ZodNumber>;
323
329
  not: z.ZodOptional<z.ZodBoolean>;
330
+ describe: z.ZodOptional<z.ZodBoolean>;
324
331
  }, "strip", z.ZodTypeAny, {
325
332
  action: "fill" | "navigate" | "screenshot" | "click" | "wait_for" | "wait_for_url" | "wait" | "evaluate";
326
333
  value?: string | undefined;
327
334
  not?: boolean | undefined;
328
335
  url?: string | undefined;
329
336
  path?: string | undefined;
330
- timeout?: number | undefined;
331
337
  selector?: string | undefined;
332
338
  wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
339
+ timeout?: number | undefined;
333
340
  full_page?: boolean | undefined;
341
+ describe?: boolean | undefined;
334
342
  script?: string | undefined;
335
343
  }, {
336
344
  action: "fill" | "navigate" | "screenshot" | "click" | "wait_for" | "wait_for_url" | "wait" | "evaluate";
@@ -338,10 +346,11 @@ export declare const runScriptSchema: z.ZodObject<{
338
346
  not?: boolean | undefined;
339
347
  url?: string | undefined;
340
348
  path?: string | undefined;
341
- timeout?: number | undefined;
342
349
  selector?: string | undefined;
343
350
  wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
351
+ timeout?: number | undefined;
344
352
  full_page?: boolean | undefined;
353
+ describe?: boolean | undefined;
345
354
  script?: string | undefined;
346
355
  }>, "many">;
347
356
  }, "strip", z.ZodTypeAny, {
@@ -351,10 +360,11 @@ export declare const runScriptSchema: z.ZodObject<{
351
360
  not?: boolean | undefined;
352
361
  url?: string | undefined;
353
362
  path?: string | undefined;
354
- timeout?: number | undefined;
355
363
  selector?: string | undefined;
356
364
  wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
365
+ timeout?: number | undefined;
357
366
  full_page?: boolean | undefined;
367
+ describe?: boolean | undefined;
358
368
  script?: string | undefined;
359
369
  }[];
360
370
  _handle?: {
@@ -369,10 +379,11 @@ export declare const runScriptSchema: z.ZodObject<{
369
379
  not?: boolean | undefined;
370
380
  url?: string | undefined;
371
381
  path?: string | undefined;
372
- timeout?: number | undefined;
373
382
  selector?: string | undefined;
374
383
  wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
384
+ timeout?: number | undefined;
375
385
  full_page?: boolean | undefined;
386
+ describe?: boolean | undefined;
376
387
  script?: string | undefined;
377
388
  }[];
378
389
  _handle?: {
@@ -31,6 +31,8 @@ exports.screenshotSchema = zod_1.z.object({
31
31
  .describe('Capture the full scrollable page (default: false)'),
32
32
  selector: zod_1.z.string().optional()
33
33
  .describe('CSS selector to screenshot a specific element'),
34
+ describe: zod_1.z.boolean().optional()
35
+ .describe('When true, automatically analyze the screenshot using a vision LLM and return a description alongside metadata. Use this when you need to understand the page content.'),
34
36
  });
35
37
  exports.clickSchema = zod_1.z.object({
36
38
  _handle: exports.handleProp,
@@ -78,6 +80,7 @@ exports.runScriptStepSchema = zod_1.z.object({
78
80
  script: zod_1.z.string().optional().describe('JavaScript for evaluate action'),
79
81
  timeout: zod_1.z.number().optional().describe('Timeout in ms for wait_for/wait_for_url/wait actions'),
80
82
  not: zod_1.z.boolean().optional().describe('For wait_for_url: wait until URL does NOT match (default: false)'),
83
+ describe: zod_1.z.boolean().optional().describe('For screenshot: auto-analyze via vision LLM and include description in result'),
81
84
  });
82
85
  exports.runScriptSchema = zod_1.z.object({
83
86
  _handle: exports.handleProp,
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerNavigationTools = registerNavigationTools;
4
- const logger_1 = require("../../../services/logger");
5
- const storage_1 = require("../../../services/storage");
4
+ const logger_1 = require("../../../lib/logger");
5
+ const storage_1 = require("../../../lib/storage");
6
6
  const browser_lifecycle_1 = require("./browser-lifecycle");
7
7
  const schemas_1 = require("./schemas");
8
+ const vision_helper_1 = require("./vision-helper");
8
9
  function registerNavigationTools(srv) {
9
10
  // ── navigate ─────────────────────────────────────────────
10
11
  srv.registerTool('navigate', {
@@ -124,16 +125,28 @@ function registerNavigationTools(srv) {
124
125
  }
125
126
  const { size } = await backend.commitLocalPath(args.path, localPath);
126
127
  logger_1.loggerRegistry.info(`[lt-mcp:playwright] screenshot saved: ${args.path} (${size} bytes)`);
128
+ const metadata = {
129
+ page_id: pageId,
130
+ path: args.path,
131
+ size_bytes: size,
132
+ url: page.url(),
133
+ _handle: (0, browser_lifecycle_1.buildHandle)(pageId),
134
+ };
135
+ // Auto-analyze via vision LLM when requested
136
+ if (args.describe) {
137
+ try {
138
+ const description = await (0, vision_helper_1.analyzeScreenshot)(args.path);
139
+ metadata.description = description;
140
+ }
141
+ catch (err) {
142
+ metadata.description = null;
143
+ metadata.describe_error = err.message;
144
+ }
145
+ }
127
146
  return {
128
147
  content: [{
129
148
  type: 'text',
130
- text: JSON.stringify({
131
- page_id: pageId,
132
- path: args.path,
133
- size_bytes: size,
134
- url: page.url(),
135
- _handle: (0, browser_lifecycle_1.buildHandle)(pageId),
136
- }),
149
+ text: JSON.stringify(metadata),
137
150
  }],
138
151
  };
139
152
  });
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerRunScript = registerRunScript;
4
- const logger_1 = require("../../../services/logger");
5
- const storage_1 = require("../../../services/storage");
4
+ const logger_1 = require("../../../lib/logger");
5
+ const storage_1 = require("../../../lib/storage");
6
6
  const types_1 = require("./types");
7
7
  const browser_lifecycle_1 = require("./browser-lifecycle");
8
8
  const schemas_1 = require("./schemas");
9
+ const vision_helper_1 = require("./vision-helper");
9
10
  function registerRunScript(srv) {
10
11
  srv.registerTool('run_script', {
11
12
  title: 'Run Browser Script',
@@ -99,7 +100,17 @@ function registerRunScript(srv) {
99
100
  }
100
101
  const { size: ssSize } = await ssBackend.commitLocalPath(step.path, ssLocalPath);
101
102
  logger_1.loggerRegistry.info(`[lt-mcp:playwright] screenshot saved: ${step.path} (${ssSize} bytes)`);
102
- stepResults.push({ step: i, action: 'screenshot', result: { path: step.path, size_bytes: ssSize, url: page.url() } });
103
+ const ssResult = { path: step.path, size_bytes: ssSize, url: page.url() };
104
+ if (step.describe) {
105
+ try {
106
+ ssResult.description = await (0, vision_helper_1.analyzeScreenshot)(step.path);
107
+ }
108
+ catch (err) {
109
+ ssResult.description = null;
110
+ ssResult.describe_error = err.message;
111
+ }
112
+ }
113
+ stepResults.push({ step: i, action: 'screenshot', result: ssResult });
103
114
  break;
104
115
  }
105
116
  case 'click': {
@@ -174,12 +185,18 @@ function registerRunScript(srv) {
174
185
  }
175
186
  }
176
187
  }
188
+ // Collect screenshot paths for top-level wiring (compiler can't reach nested step results)
189
+ const screenshots = stepResults
190
+ .filter(s => s.action === 'screenshot' && s.result.path)
191
+ .map(s => s.result.path);
177
192
  return {
178
193
  content: [{
179
194
  type: 'text',
180
195
  text: JSON.stringify({
181
196
  steps_completed: stepResults.length,
182
197
  steps: stepResults,
198
+ screenshots,
199
+ last_screenshot_path: screenshots.length > 0 ? screenshots[screenshots.length - 1] : null,
183
200
  page_id: pageId,
184
201
  url: page?.url?.() ?? null,
185
202
  _handle: pageId ? (0, browser_lifecycle_1.buildHandle)(pageId) : undefined,
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Shared vision analysis helper for playwright tools.
3
+ *
4
+ * Reads a screenshot from the storage backend and analyzes it
5
+ * via the secondary vision LLM. Used by both the standalone
6
+ * screenshot tool and run_script's screenshot steps.
7
+ */
8
+ /**
9
+ * Read a screenshot from storage and analyze it via the vision LLM.
10
+ * Returns the raw LLM text response (typically JSON with description, objects, etc.).
11
+ */
12
+ export declare function analyzeScreenshot(storagePath: string): Promise<string>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /**
3
+ * Shared vision analysis helper for playwright tools.
4
+ *
5
+ * Reads a screenshot from the storage backend and analyzes it
6
+ * via the secondary vision LLM. Used by both the standalone
7
+ * screenshot tool and run_script's screenshot steps.
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.analyzeScreenshot = analyzeScreenshot;
44
+ const path = __importStar(require("path"));
45
+ const storage_1 = require("../../../lib/storage");
46
+ const MIME_MAP = {
47
+ '.png': 'image/png', '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg',
48
+ '.gif': 'image/gif', '.webp': 'image/webp',
49
+ };
50
+ /**
51
+ * Read a screenshot from storage and analyze it via the vision LLM.
52
+ * Returns the raw LLM text response (typically JSON with description, objects, etc.).
53
+ */
54
+ async function analyzeScreenshot(storagePath) {
55
+ const { callLLM, hasLLMApiKey } = await Promise.resolve().then(() => __importStar(require('../../../services/llm')));
56
+ const { LLM_MODEL_SECONDARY, LLM_MAX_TOKENS_VISION } = await Promise.resolve().then(() => __importStar(require('../../../modules/defaults')));
57
+ const { ANALYZE_IMAGE_PROMPT } = await Promise.resolve().then(() => __importStar(require('../vision-prompts')));
58
+ if (!hasLLMApiKey(LLM_MODEL_SECONDARY)) {
59
+ return 'Vision LLM not configured — set an API key to enable screenshot analysis.';
60
+ }
61
+ const backend = (0, storage_1.getStorageBackend)();
62
+ const { data } = await backend.read(storagePath);
63
+ const base64 = data.toString('base64');
64
+ const ext = path.extname(storagePath).toLowerCase();
65
+ const mime = MIME_MAP[ext] || 'image/png';
66
+ const response = await callLLM({
67
+ model: LLM_MODEL_SECONDARY,
68
+ messages: [
69
+ { role: 'system', content: ANALYZE_IMAGE_PROMPT },
70
+ {
71
+ role: 'user',
72
+ content: [
73
+ { type: 'image_url', image_url: { url: `data:${mime};base64,${base64}` } },
74
+ ],
75
+ },
76
+ ],
77
+ max_tokens: LLM_MAX_TOKENS_VISION,
78
+ temperature: 0,
79
+ });
80
+ return response.content || 'No description generated.';
81
+ }
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.saveScreenshot = saveScreenshot;
4
4
  exports.errorResult = errorResult;
5
- const logger_1 = require("../../../services/logger");
6
- const storage_1 = require("../../../services/storage");
5
+ const logger_1 = require("../../../lib/logger");
6
+ const storage_1 = require("../../../lib/storage");
7
7
  async function saveScreenshot(page, filePath, fullPage) {
8
8
  const backend = (0, storage_1.getStorageBackend)();
9
9
  const localPath = await backend.getLocalPath(filePath);
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createPlaywrightCliServer = createPlaywrightCliServer;
4
4
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
5
- const logger_1 = require("../../../services/logger");
5
+ const logger_1 = require("../../../lib/logger");
6
6
  const tools_auth_1 = require("./tools-auth");
7
7
  const tools_capture_1 = require("./tools-capture");
8
8
  async function createPlaywrightCliServer(options) {
@@ -17,8 +17,8 @@ export declare const loginAndCaptureSchema: z.ZodObject<{
17
17
  submit_selector: string;
18
18
  username_selector: string;
19
19
  password_selector: string;
20
- timeout?: number | undefined;
21
20
  screenshot_path?: string | undefined;
21
+ timeout?: number | undefined;
22
22
  full_page?: boolean | undefined;
23
23
  wait_after_login?: string | undefined;
24
24
  }, {
@@ -28,8 +28,8 @@ export declare const loginAndCaptureSchema: z.ZodObject<{
28
28
  submit_selector: string;
29
29
  username_selector: string;
30
30
  password_selector: string;
31
- timeout?: number | undefined;
32
31
  screenshot_path?: string | undefined;
32
+ timeout?: number | undefined;
33
33
  full_page?: boolean | undefined;
34
34
  wait_after_login?: string | undefined;
35
35
  }>;
@@ -44,19 +44,19 @@ export declare const capturePageSchema: z.ZodObject<{
44
44
  timeout: z.ZodOptional<z.ZodNumber>;
45
45
  }, "strip", z.ZodTypeAny, {
46
46
  url: string;
47
- timeout?: number | undefined;
48
47
  page_id?: string | undefined;
49
48
  screenshot_path?: string | undefined;
50
49
  wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
50
+ timeout?: number | undefined;
51
51
  wait_ms?: number | undefined;
52
52
  full_page?: boolean | undefined;
53
53
  wait_for_selector?: string | undefined;
54
54
  }, {
55
55
  url: string;
56
- timeout?: number | undefined;
57
56
  page_id?: string | undefined;
58
57
  screenshot_path?: string | undefined;
59
58
  wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
59
+ timeout?: number | undefined;
60
60
  wait_ms?: number | undefined;
61
61
  full_page?: boolean | undefined;
62
62
  wait_for_selector?: string | undefined;
@@ -157,20 +157,20 @@ export declare const extractContentSchema: z.ZodObject<{
157
157
  wait_ms: z.ZodOptional<z.ZodNumber>;
158
158
  timeout: z.ZodOptional<z.ZodNumber>;
159
159
  }, "strip", z.ZodTypeAny, {
160
- url?: string | undefined;
161
- timeout?: number | undefined;
162
160
  page_id?: string | undefined;
161
+ url?: string | undefined;
163
162
  selector?: string | undefined;
163
+ timeout?: number | undefined;
164
164
  wait_ms?: number | undefined;
165
165
  extract_links?: boolean | undefined;
166
166
  extract_metadata?: boolean | undefined;
167
167
  script?: string | undefined;
168
168
  wait_for_selector?: string | undefined;
169
169
  }, {
170
- url?: string | undefined;
171
- timeout?: number | undefined;
172
170
  page_id?: string | undefined;
171
+ url?: string | undefined;
173
172
  selector?: string | undefined;
173
+ timeout?: number | undefined;
174
174
  wait_ms?: number | undefined;
175
175
  extract_links?: boolean | undefined;
176
176
  extract_metadata?: boolean | undefined;
@@ -201,8 +201,8 @@ export declare const submitFormSchema: z.ZodObject<{
201
201
  value: string;
202
202
  selector: string;
203
203
  }[];
204
- timeout?: number | undefined;
205
204
  screenshot_path?: string | undefined;
205
+ timeout?: number | undefined;
206
206
  full_page?: boolean | undefined;
207
207
  wait_after_submit?: string | undefined;
208
208
  }, {
@@ -212,8 +212,8 @@ export declare const submitFormSchema: z.ZodObject<{
212
212
  value: string;
213
213
  selector: string;
214
214
  }[];
215
- timeout?: number | undefined;
216
215
  screenshot_path?: string | undefined;
216
+ timeout?: number | undefined;
217
217
  full_page?: boolean | undefined;
218
218
  wait_after_submit?: string | undefined;
219
219
  }>;
@@ -19,7 +19,7 @@ exports.loginAndCaptureSchema = zod_1.z.object({
19
19
  exports.capturePageSchema = zod_1.z.object({
20
20
  url: zod_1.z.string().describe('URL to navigate to and capture'),
21
21
  screenshot_path: zod_1.z.string().optional()
22
- .describe('File path to save the screenshot PNG. If omitted, auto-derived from the URL path (e.g., /admin/users → screenshots/admin-users.png).'),
22
+ .describe('Storage path for the screenshot PNG (persisted to file storage). If omitted, auto-derived from the URL path (e.g., /admin/users → screenshots/admin-users.png). The screenshot is saved automatically — no separate write_file call is needed.'),
23
23
  page_id: zod_1.z.string().optional().describe('Reuse an existing page to preserve session (e.g., from login_and_capture)'),
24
24
  full_page: zod_1.z.boolean().optional().describe('Capture full scrollable page (default: true)'),
25
25
  wait_for_selector: zod_1.z.string().optional()
@@ -35,7 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.registerAuthTools = registerAuthTools;
37
37
  const path = __importStar(require("path"));
38
- const logger_1 = require("../../../services/logger");
38
+ const logger_1 = require("../../../lib/logger");
39
39
  const playwright_1 = require("../playwright");
40
40
  const schemas_1 = require("./schemas");
41
41
  const helpers_1 = require("./helpers");