@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.
- package/README.md +35 -5
- package/build/examples/seed.js +1 -1
- package/build/examples/workflows/basic-echo/activities.d.ts +2 -2
- package/build/examples/workflows/basic-echo/activities.js +7 -7
- package/build/examples/workflows/basic-echo/index.js +1 -1
- package/build/examples/workflows/kitchen-sink/index.js +2 -2
- package/build/index.d.ts +11 -10
- package/build/index.js +13 -12
- package/build/lib/db/index.d.ts +18 -0
- package/build/{services → lib}/db/index.js +9 -0
- package/build/{services → lib}/db/migrate.js +4 -7
- package/{services → build/lib}/db/schemas/001_schema.sql +3 -0
- package/{services → build/lib}/db/schemas/011_system_workflow_configs.sql +7 -0
- package/build/lib/db/schemas/015_knowledge.sql +23 -0
- package/build/lib/db/schemas/016_streamable_http.sql +7 -0
- package/build/{services → lib}/telemetry/honeycomb.d.ts +2 -2
- package/build/{services → lib}/telemetry/honeycomb.js +2 -2
- package/build/modules/defaults.d.ts +2 -0
- package/build/modules/defaults.js +3 -1
- package/build/routes/controlplane.js +1 -1
- package/build/routes/dba.js +4 -0
- package/build/routes/docs.d.ts +2 -0
- package/build/routes/docs.js +105 -0
- package/build/routes/escalations/bulk.js +120 -202
- package/build/routes/escalations/resolve.js +1 -1
- package/build/routes/escalations/single.js +1 -1
- package/build/routes/files.js +1 -1
- package/build/routes/index.js +2 -0
- package/build/routes/insight.js +65 -1
- package/build/routes/mcp.js +26 -3
- package/build/routes/oauth.js +1 -1
- package/build/routes/settings.js +4 -4
- package/build/routes/workflows/discovery.js +3 -3
- package/build/routes/workflows/invocation.js +1 -1
- package/build/routes/yaml-workflows/cron.d.ts +2 -0
- package/build/routes/yaml-workflows/cron.js +117 -0
- package/build/routes/yaml-workflows/crud.js +39 -1
- package/build/routes/yaml-workflows/deployment.js +9 -9
- package/build/routes/yaml-workflows/index.js +4 -1
- package/build/services/auth/bot-api-key.js +1 -1
- package/build/services/auth/index.d.ts +4 -0
- package/build/services/auth/index.js +17 -0
- package/build/services/auth/service-token.js +1 -1
- package/build/services/config/provider.js +1 -1
- package/build/services/config/read.js +1 -1
- package/build/services/config/write.js +1 -1
- package/build/services/controlplane/index.js +3 -4
- package/build/services/controlplane/quorum-bridge.js +2 -2
- package/build/services/cron/index.d.ts +17 -0
- package/build/services/cron/index.js +98 -6
- package/build/services/dba.d.ts +4 -0
- package/build/services/dba.js +3 -6
- package/build/services/escalation/bulk.js +1 -1
- package/build/services/escalation/crud.js +1 -1
- package/build/services/escalation/queries.js +1 -1
- package/build/services/export/client.js +2 -5
- package/build/services/export/index.js +14 -2
- package/build/services/hotmesh-utils.js +1 -1
- package/build/services/iam/bots.js +6 -12
- package/build/services/iam/context.d.ts +1 -1
- package/build/services/iam/context.js +5 -5
- package/build/services/iam/credentials.js +1 -1
- package/build/services/iam/ephemeral.js +8 -15
- package/build/services/iam/principal.js +3 -10
- package/build/services/iam/resolve.js +1 -1
- package/build/services/iam/sql.d.ts +10 -0
- package/build/services/iam/sql.js +42 -0
- package/build/services/insight/index.d.ts +12 -0
- package/build/services/insight/index.js +34 -6
- package/build/services/interceptor/activities/escalation.js +1 -1
- package/build/services/interceptor/activities/task.js +9 -6
- package/build/services/interceptor/activities/workflow.js +4 -5
- package/build/services/interceptor/activity-interceptor.d.ts +1 -1
- package/build/services/interceptor/activity-interceptor.js +5 -5
- package/build/services/interceptor/completion.js +1 -1
- package/build/services/interceptor/escalation.js +1 -1
- package/build/services/interceptor/index.js +4 -4
- package/build/services/interceptor/lifecycle.js +1 -1
- package/build/services/maintenance/index.js +4 -5
- package/build/services/mcp/adapter.js +1 -16
- package/build/services/mcp/client/connection.d.ts +10 -1
- package/build/services/mcp/client/connection.js +51 -3
- package/build/services/mcp/client/tools.js +1 -1
- package/build/services/mcp/db-server/index.js +1 -1
- package/build/services/mcp/db-server/schemas.d.ts +2 -2
- package/build/services/mcp/db-server/tools.js +17 -4
- package/build/services/mcp/db.d.ts +1 -1
- package/build/services/mcp/db.js +11 -1
- package/build/services/mcp/playwright-server/index.js +1 -1
- package/build/services/mcp/playwright-server/lifecycle.js +1 -1
- package/build/services/mcp/playwright-server/schemas.d.ts +2 -2
- package/build/services/mcp/playwright-server/tools.js +1 -1
- package/build/services/mcp/server.js +1 -1
- package/build/services/mcp/sql.d.ts +7 -1
- package/build/services/mcp/sql.js +36 -3
- package/build/services/mcp/types.d.ts +3 -1
- package/build/services/mcp/workflow-compiler-server.js +1 -1
- package/build/services/mcp/workflow-server.js +1 -1
- package/build/services/mcp-runs/execution-builder.js +8 -6
- package/build/services/mcp-runs/queries.js +2 -2
- package/build/services/mcp-runs/sql.d.ts +4 -1
- package/build/services/mcp-runs/sql.js +23 -2
- package/build/services/namespace/index.js +1 -1
- package/build/services/oauth/db.js +9 -37
- package/build/services/oauth/index.js +1 -1
- package/build/services/oauth/providers/registry.js +1 -1
- package/build/services/oauth/sql.d.ts +7 -0
- package/build/services/oauth/sql.js +32 -0
- package/build/services/orchestrator/index.js +3 -3
- package/build/services/role/index.js +1 -1
- package/build/services/task/crud.js +1 -1
- package/build/services/task/process.js +1 -1
- package/build/services/task/resolve.js +1 -1
- package/build/services/user/auth.js +1 -1
- package/build/services/user/crud.js +1 -1
- package/build/services/user/rbac.js +1 -1
- package/build/services/user/roles.js +1 -1
- package/build/services/user/sql.d.ts +2 -0
- package/build/services/user/sql.js +3 -1
- package/build/services/yaml-workflow/db-utils.js +1 -1
- package/build/services/yaml-workflow/db.d.ts +3 -0
- package/build/services/yaml-workflow/db.js +25 -1
- package/build/services/yaml-workflow/deployer-helpers.js +1 -1
- package/build/services/yaml-workflow/deployer.js +4 -4
- package/build/services/yaml-workflow/generator.js +1 -1
- package/build/services/yaml-workflow/input-analyzer-helpers.d.ts +6 -0
- package/build/services/yaml-workflow/input-analyzer-helpers.js +36 -7
- package/build/services/yaml-workflow/input-analyzer.js +16 -3
- package/build/services/yaml-workflow/invoke.d.ts +19 -0
- package/build/services/yaml-workflow/invoke.js +80 -0
- package/build/services/yaml-workflow/pipeline/analyze.js +1 -1
- package/build/services/yaml-workflow/pipeline/build/dag.js +11 -6
- package/build/services/yaml-workflow/pipeline/build/wiring.d.ts +1 -1
- package/build/services/yaml-workflow/pipeline/build/wiring.js +89 -2
- package/build/services/yaml-workflow/pipeline/compile/llm-call.js +1 -1
- package/build/services/yaml-workflow/pipeline/extract.js +5 -3
- package/build/services/yaml-workflow/pipeline/index.d.ts +5 -0
- package/build/services/yaml-workflow/pipeline/index.js +22 -0
- package/build/services/yaml-workflow/pipeline/prompts.d.ts +1 -1
- package/build/services/yaml-workflow/pipeline/prompts.js +44 -1
- package/build/services/yaml-workflow/pipeline/validate.js +2 -2
- package/build/services/yaml-workflow/sql.d.ts +3 -0
- package/build/services/yaml-workflow/sql.js +16 -1
- package/build/services/yaml-workflow/types.d.ts +13 -1
- package/build/services/yaml-workflow/workers/callbacks.js +10 -2
- package/build/services/yaml-workflow/workers/events.js +2 -2
- package/build/services/yaml-workflow/workers/register.js +37 -9
- package/build/start/adapters.js +7 -7
- package/build/start/index.js +4 -4
- package/build/start/server.js +1 -1
- package/build/start/workers.d.ts +1 -2
- package/build/start/workers.js +8 -7
- package/build/system/activities/claude-code.js +1 -1
- package/build/system/activities/file-storage.js +1 -1
- package/build/system/activities/knowledge.d.ts +58 -0
- package/build/system/activities/knowledge.js +128 -0
- package/build/system/activities/sql.d.ts +9 -0
- package/build/system/activities/sql.js +41 -0
- package/build/system/activities/triage/context.js +1 -1
- package/build/system/activities/triage/discovery.d.ts +2 -14
- package/build/system/activities/triage/discovery.js +5 -161
- package/build/system/activities/triage/llm.d.ts +1 -8
- package/build/system/activities/triage/llm.js +2 -28
- package/build/system/activities/triage/tools.d.ts +1 -17
- package/build/system/activities/triage/tools.js +8 -167
- package/build/system/index.js +11 -4
- package/build/system/mcp-servers/admin/escalations.d.ts +5 -0
- package/build/system/mcp-servers/admin/escalations.js +149 -0
- package/build/system/mcp-servers/admin/index.d.ts +31 -0
- package/build/system/mcp-servers/admin/index.js +80 -0
- package/build/system/mcp-servers/admin/maintenance.d.ts +5 -0
- package/build/system/mcp-servers/admin/maintenance.js +58 -0
- package/build/system/mcp-servers/admin/mcp-servers.d.ts +5 -0
- package/build/system/mcp-servers/admin/mcp-servers.js +146 -0
- package/build/system/mcp-servers/admin/schemas.d.ts +411 -0
- package/build/system/mcp-servers/admin/schemas.js +177 -0
- package/build/system/mcp-servers/admin/tasks.d.ts +5 -0
- package/build/system/mcp-servers/admin/tasks.js +112 -0
- package/build/system/mcp-servers/admin/users.d.ts +5 -0
- package/build/system/mcp-servers/admin/users.js +167 -0
- package/build/system/mcp-servers/admin/workflow-config.d.ts +9 -0
- package/build/system/mcp-servers/admin/workflow-config.js +118 -0
- package/build/system/mcp-servers/admin/workflows.d.ts +6 -0
- package/build/system/mcp-servers/admin/workflows.js +138 -0
- package/build/system/mcp-servers/admin/yaml-workflows.d.ts +8 -0
- package/build/system/mcp-servers/admin/yaml-workflows.js +237 -0
- package/build/system/mcp-servers/claude-code.js +1 -1
- package/build/system/mcp-servers/db-query/index.js +1 -1
- package/build/system/mcp-servers/db-query/schemas.d.ts +2 -2
- package/build/system/mcp-servers/db-query/tools.js +17 -4
- package/build/system/mcp-servers/docs.d.ts +5 -0
- package/build/system/mcp-servers/docs.js +147 -0
- package/build/system/mcp-servers/file-storage.js +1 -1
- package/build/system/mcp-servers/http-fetch.js +1 -1
- package/build/system/mcp-servers/human-queue.js +1 -1
- package/build/system/mcp-servers/knowledge.d.ts +4 -0
- package/build/system/mcp-servers/knowledge.js +137 -0
- package/build/system/mcp-servers/oauth.js +1 -1
- package/build/system/mcp-servers/playwright/browser-lifecycle.js +1 -1
- package/build/system/mcp-servers/playwright/index.js +1 -1
- package/build/system/mcp-servers/playwright/schemas.d.ts +21 -10
- package/build/system/mcp-servers/playwright/schemas.js +3 -0
- package/build/system/mcp-servers/playwright/tools-navigation.js +22 -9
- package/build/system/mcp-servers/playwright/tools-run-script.js +20 -3
- package/build/system/mcp-servers/playwright/vision-helper.d.ts +12 -0
- package/build/system/mcp-servers/playwright/vision-helper.js +81 -0
- package/build/system/mcp-servers/playwright-cli/helpers.js +2 -2
- package/build/system/mcp-servers/playwright-cli/index.js +1 -1
- package/build/system/mcp-servers/playwright-cli/schemas.d.ts +10 -10
- package/build/system/mcp-servers/playwright-cli/schemas.js +1 -1
- package/build/system/mcp-servers/playwright-cli/tools-auth.js +1 -1
- package/build/system/mcp-servers/playwright-cli/tools-capture.js +9 -3
- package/build/system/mcp-servers/translation.d.ts +14 -0
- package/build/system/mcp-servers/translation.js +130 -0
- package/build/system/mcp-servers/vision-prompts.d.ts +2 -0
- package/build/system/mcp-servers/vision-prompts.js +9 -0
- package/build/system/mcp-servers/{document-vision.d.ts → vision.d.ts} +3 -4
- package/build/system/mcp-servers/vision.js +258 -0
- package/build/system/mcp-servers/workflow-compiler.js +1 -1
- package/build/system/mcp-servers/workflow.js +1 -1
- package/build/system/seed/index.js +13 -2
- package/build/system/seed/server-definitions.d.ts +1961 -322
- package/build/system/seed/server-definitions.js +68 -34
- package/build/system/seed/tool-manifests-admin.d.ts +1645 -0
- package/build/system/seed/tool-manifests-admin.js +45 -0
- package/build/system/seed/tool-manifests-browser.d.ts +1 -1
- package/build/system/seed/tool-manifests-browser.js +3 -3
- package/build/system/seed/tool-manifests-data.d.ts +62 -21
- package/build/system/seed/tool-manifests-data.js +55 -17
- package/build/system/seed/tool-manifests-knowledge.d.ts +171 -0
- package/build/system/seed/tool-manifests-knowledge.js +94 -0
- package/build/system/seed/tool-manifests-workflows.d.ts +7 -0
- package/build/system/seed/tool-manifests-workflows.js +10 -3
- package/build/system/workflows/mcp-deterministic/index.js +1 -1
- package/build/system/workflows/mcp-query/activities/discovery.d.ts +2 -20
- package/build/system/workflows/mcp-query/activities/discovery.js +5 -163
- package/build/system/workflows/mcp-query/activities/llm.d.ts +1 -7
- package/build/system/workflows/mcp-query/activities/llm.js +2 -27
- package/build/system/workflows/mcp-query/activities/tool-executor.d.ts +0 -4
- package/build/system/workflows/mcp-query/activities/tool-executor.js +2 -106
- package/build/system/workflows/mcp-query/activities/tool-loader.d.ts +0 -9
- package/build/system/workflows/mcp-query/activities/tool-loader.js +2 -87
- package/build/system/workflows/mcp-query/index.js +55 -5
- package/build/system/workflows/mcp-query/prompts.d.ts +1 -2
- package/build/system/workflows/mcp-query/prompts.js +5 -32
- package/build/system/workflows/mcp-query/strategy-advisors.d.ts +3 -14
- package/build/system/workflows/mcp-query/strategy-advisors.js +4 -107
- package/build/system/workflows/mcp-query/types.d.ts +2 -10
- package/build/system/workflows/mcp-query/types.js +0 -1
- package/build/system/workflows/mcp-query-router/index.js +1 -1
- package/build/system/workflows/mcp-triage/index.d.ts +2 -2
- package/build/system/workflows/mcp-triage/index.js +39 -7
- package/build/system/workflows/mcp-triage/prompts.js +7 -14
- package/build/system/workflows/mcp-triage-deterministic/index.js +1 -1
- package/build/system/workflows/mcp-triage-router/index.js +1 -1
- package/build/system/workflows/mcp-workflow-builder/activities/caches.d.ts +5 -0
- package/build/system/workflows/mcp-workflow-builder/activities/caches.js +8 -0
- package/build/system/workflows/mcp-workflow-builder/activities/index.d.ts +2 -0
- package/build/system/workflows/mcp-workflow-builder/activities/index.js +7 -0
- package/build/system/workflows/mcp-workflow-builder/activities/llm.d.ts +2 -0
- package/build/system/workflows/mcp-workflow-builder/activities/llm.js +25 -0
- package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.d.ts +5 -0
- package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.js +8 -0
- package/build/system/workflows/mcp-workflow-builder/index.d.ts +16 -0
- package/build/system/workflows/mcp-workflow-builder/index.js +229 -0
- package/build/system/workflows/mcp-workflow-builder/prompts.d.ts +8 -0
- package/build/system/workflows/mcp-workflow-builder/prompts.js +247 -0
- package/build/system/workflows/shared/discovery.d.ts +35 -0
- package/build/system/workflows/shared/discovery.js +175 -0
- package/build/system/workflows/shared/index.d.ts +7 -0
- package/build/system/workflows/shared/index.js +18 -0
- package/build/system/workflows/shared/llm-caller.d.ts +8 -0
- package/build/system/workflows/shared/llm-caller.js +31 -0
- package/build/system/workflows/shared/prompts.d.ts +2 -0
- package/build/system/workflows/shared/prompts.js +32 -0
- package/build/system/workflows/shared/strategy-advisors.d.ts +14 -0
- package/build/system/workflows/shared/strategy-advisors.js +109 -0
- package/build/system/workflows/shared/tool-executor.d.ts +11 -0
- package/build/system/workflows/shared/tool-executor.js +111 -0
- package/build/system/workflows/shared/tool-loader.d.ts +19 -0
- package/build/system/workflows/shared/tool-loader.js +97 -0
- package/build/system/workflows/shared/types.d.ts +9 -0
- package/build/system/workflows/shared/types.js +2 -0
- package/build/system/workflows/tool-result-guard.d.ts +14 -0
- package/build/system/workflows/tool-result-guard.js +78 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/mcp.d.ts +4 -3
- package/build/types/user.d.ts +2 -0
- package/build/types/yaml-workflow.d.ts +6 -2
- package/build/vitest.config.d.ts +1 -1
- package/build/vitest.integration.config.d.ts +1 -1
- package/build/workers/index.js +2 -8
- package/dashboard/dist/assets/AdminDashboard-BXkKGkb5.js +2 -0
- package/dashboard/dist/assets/AdminDashboard-BXkKGkb5.js.map +1 -0
- package/dashboard/dist/assets/AvailableEscalationsPage-DcH592mc.js +2 -0
- package/dashboard/dist/assets/AvailableEscalationsPage-DcH592mc.js.map +1 -0
- package/dashboard/dist/assets/BotPicker-A6LtzyuO.js +2 -0
- package/dashboard/dist/assets/{BotPicker-D6FYW1Gt.js.map → BotPicker-A6LtzyuO.js.map} +1 -1
- package/dashboard/dist/assets/CollapsibleSection-C7nL2_mv.js +2 -0
- package/dashboard/dist/assets/{CollapsibleSection-Cxk4wvjT.js.map → CollapsibleSection-C7nL2_mv.js.map} +1 -1
- package/dashboard/dist/assets/ConfirmDeleteModal-CWFwJrSl.js +2 -0
- package/dashboard/dist/assets/{ConfirmDeleteModal-FSXyKjaB.js.map → ConfirmDeleteModal-CWFwJrSl.js.map} +1 -1
- package/dashboard/dist/assets/CopyableId-DbZ5c3jh.js +2 -0
- package/dashboard/dist/assets/{CopyableId-CBdxWfp8.js.map → CopyableId-DbZ5c3jh.js.map} +1 -1
- package/dashboard/dist/assets/CredentialsPage-ClWkmLPu.js +2 -0
- package/dashboard/dist/assets/CredentialsPage-ClWkmLPu.js.map +1 -0
- package/dashboard/dist/assets/CustomDurationPicker-CtH2hReF.js +2 -0
- package/dashboard/dist/assets/{CustomDurationPicker-CAninCbl.js.map → CustomDurationPicker-CtH2hReF.js.map} +1 -1
- package/dashboard/dist/assets/DataTable-CM5ZcpPi.js +2 -0
- package/dashboard/dist/assets/DataTable-CM5ZcpPi.js.map +1 -0
- package/dashboard/dist/assets/ElapsedCell-CwqavyeC.js +2 -0
- package/dashboard/dist/assets/ElapsedCell-CwqavyeC.js.map +1 -0
- package/dashboard/dist/assets/EmptyState-BBn78pmm.js +2 -0
- package/dashboard/dist/assets/{EmptyState-2CmV-IaS.js.map → EmptyState-BBn78pmm.js.map} +1 -1
- package/dashboard/dist/assets/EscalationsOverview-BcJ2E3X7.js +2 -0
- package/dashboard/dist/assets/{EscalationsOverview-GXYFPASS.js.map → EscalationsOverview-BcJ2E3X7.js.map} +1 -1
- package/dashboard/dist/assets/EventTable-C1en_KZ0.js +2 -0
- package/dashboard/dist/assets/{EventTable-B01oJf6Y.js.map → EventTable-C1en_KZ0.js.map} +1 -1
- package/dashboard/dist/assets/FilterBar-CZTlrLQT.js +2 -0
- package/dashboard/dist/assets/{FilterBar-Ck4K4rzu.js.map → FilterBar-CZTlrLQT.js.map} +1 -1
- package/dashboard/dist/assets/ListToolbar-Cdbsapig.js +2 -0
- package/dashboard/dist/assets/ListToolbar-Cdbsapig.js.map +1 -0
- package/dashboard/dist/assets/McpOverview-CSpEJxKa.js +2 -0
- package/dashboard/dist/assets/{McpOverview-JkvRcX2e.js.map → McpOverview-CSpEJxKa.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js +5 -0
- package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js.map +1 -0
- package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js +2 -0
- package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js.map +1 -0
- package/dashboard/dist/assets/McpRunDetailPage-9xdxgG4d.js +2 -0
- package/dashboard/dist/assets/McpRunDetailPage-9xdxgG4d.js.map +1 -0
- package/dashboard/dist/assets/McpRunsPage-wWLqHsd4.js +2 -0
- package/dashboard/dist/assets/McpRunsPage-wWLqHsd4.js.map +1 -0
- package/dashboard/dist/assets/Modal-kB_P7ZOr.js +2 -0
- package/dashboard/dist/assets/{Modal-B4rbIVAn.js.map → Modal-kB_P7ZOr.js.map} +1 -1
- package/dashboard/dist/assets/OperatorDashboard-jc0vrgDI.js +2 -0
- package/dashboard/dist/assets/OperatorDashboard-jc0vrgDI.js.map +1 -0
- package/dashboard/dist/assets/PageHeader-NkOeBR05.js +2 -0
- package/dashboard/dist/assets/PageHeader-NkOeBR05.js.map +1 -0
- package/dashboard/dist/assets/PageHeaderWithStats-ywNhrmFK.js +2 -0
- package/dashboard/dist/assets/PageHeaderWithStats-ywNhrmFK.js.map +1 -0
- package/dashboard/dist/assets/PriorityBadge-B2MQbSxy.js +2 -0
- package/dashboard/dist/assets/{PriorityBadge-DfQY9St9.js.map → PriorityBadge-B2MQbSxy.js.map} +1 -1
- package/dashboard/dist/assets/ProcessDetailPage-B7z7IdqE.js +2 -0
- package/dashboard/dist/assets/ProcessDetailPage-B7z7IdqE.js.map +1 -0
- package/dashboard/dist/assets/ProcessesListPage-C-uHadO6.js +2 -0
- package/dashboard/dist/assets/ProcessesListPage-C-uHadO6.js.map +1 -0
- package/dashboard/dist/assets/RolePill-C1dgC-fK.js +2 -0
- package/dashboard/dist/assets/{RolePill-BTPa8L-P.js.map → RolePill-C1dgC-fK.js.map} +1 -1
- package/dashboard/dist/assets/RolesPage-BSxrD1vm.js +2 -0
- package/dashboard/dist/assets/RolesPage-BSxrD1vm.js.map +1 -0
- package/dashboard/dist/assets/RowActions-lYaHGI-v.js +2 -0
- package/dashboard/dist/assets/{RowActions-Dg-Fsm5O.js.map → RowActions-lYaHGI-v.js.map} +1 -1
- package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js +2 -0
- package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js.map +1 -0
- package/dashboard/dist/assets/StatCard-v2TiITVr.js +2 -0
- package/dashboard/dist/assets/{StatCard-DlgF0CJC.js.map → StatCard-v2TiITVr.js.map} +1 -1
- package/dashboard/dist/assets/StatusBadge-DWlxevgG.js +2 -0
- package/dashboard/dist/assets/StatusBadge-DWlxevgG.js.map +1 -0
- package/dashboard/dist/assets/StepIndicator-CRM4ft28.js +2 -0
- package/dashboard/dist/assets/StepIndicator-CRM4ft28.js.map +1 -0
- package/dashboard/dist/assets/StickyPagination-CF0EToEU.js +2 -0
- package/dashboard/dist/assets/{StickyPagination-F9FZsRy9.js.map → StickyPagination-CF0EToEU.js.map} +1 -1
- package/dashboard/dist/assets/SwimlaneTimeline-CNlj7fgg.js +2 -0
- package/dashboard/dist/assets/SwimlaneTimeline-CNlj7fgg.js.map +1 -0
- package/dashboard/dist/assets/TagInput-CH8qMGhC.js +2 -0
- package/dashboard/dist/assets/TagInput-CH8qMGhC.js.map +1 -0
- package/dashboard/dist/assets/TaskDetailPage-CdWo-6mu.js +2 -0
- package/dashboard/dist/assets/TaskDetailPage-CdWo-6mu.js.map +1 -0
- package/dashboard/dist/assets/TaskQueuePill-BPj4ogVG.js +2 -0
- package/dashboard/dist/assets/{TaskQueuePill-awmtb0qw.js.map → TaskQueuePill-BPj4ogVG.js.map} +1 -1
- package/dashboard/dist/assets/TasksListPage-CtRkMpKU.js +2 -0
- package/dashboard/dist/assets/{TasksListPage-C_QF23c1.js.map → TasksListPage-CtRkMpKU.js.map} +1 -1
- package/dashboard/dist/assets/TimeAgo-Di1a3X5P.js +2 -0
- package/dashboard/dist/assets/TimeAgo-Di1a3X5P.js.map +1 -0
- package/dashboard/dist/assets/TimestampCell-CqrXql-S.js +2 -0
- package/dashboard/dist/assets/TimestampCell-CqrXql-S.js.map +1 -0
- package/dashboard/dist/assets/UserName-BUFYCnRa.js +2 -0
- package/dashboard/dist/assets/{UserName-DaP4YAKr.js.map → UserName-BUFYCnRa.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowExecutionPage-25iusMml.js +2 -0
- package/dashboard/dist/assets/WorkflowExecutionPage-25iusMml.js.map +1 -0
- package/dashboard/dist/assets/WorkflowPill-DPKOcbf4.js +2 -0
- package/dashboard/dist/assets/WorkflowPill-DPKOcbf4.js.map +1 -0
- package/dashboard/dist/assets/WorkflowsDashboard-BgxslssH.js +2 -0
- package/dashboard/dist/assets/WorkflowsDashboard-BgxslssH.js.map +1 -0
- package/dashboard/dist/assets/WorkflowsOverview-Doe5L-Re.js +2 -0
- package/dashboard/dist/assets/{WorkflowsOverview-D9OzzQqw.js.map → WorkflowsOverview-Doe5L-Re.js.map} +1 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js +2 -0
- package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js.map +1 -0
- package/dashboard/dist/assets/{bots-BkKVMbUW.js → bots-Bi2_O1Ts.js} +2 -2
- package/dashboard/dist/assets/{bots-BkKVMbUW.js.map → bots-Bi2_O1Ts.js.map} +1 -1
- package/dashboard/dist/assets/constants-BHkpVaqx.js +2 -0
- package/dashboard/dist/assets/constants-BHkpVaqx.js.map +1 -0
- package/dashboard/dist/assets/escalation-Ck1KlLkT.js +2 -0
- package/dashboard/dist/assets/escalation-Ck1KlLkT.js.map +1 -0
- package/dashboard/dist/assets/escalation-columns-ohDsj2eJ.js +2 -0
- package/dashboard/dist/assets/{escalation-columns-D6aqStaY.js.map → escalation-columns-ohDsj2eJ.js.map} +1 -1
- package/dashboard/dist/assets/helpers-BoD2SgUY.js +2 -0
- package/dashboard/dist/assets/helpers-BoD2SgUY.js.map +1 -0
- package/dashboard/dist/assets/index-BEtLIsML.js +2 -0
- package/dashboard/dist/assets/index-BEtLIsML.js.map +1 -0
- package/dashboard/dist/assets/index-Bn2xHDr8.js +5 -0
- package/dashboard/dist/assets/index-Bn2xHDr8.js.map +1 -0
- package/dashboard/dist/assets/index-BpT-6WgJ.js +2 -0
- package/dashboard/dist/assets/{index-DTPzZr_X.js.map → index-BpT-6WgJ.js.map} +1 -1
- package/dashboard/dist/assets/index-CZrJ09p-.js +2 -0
- package/dashboard/dist/assets/index-CZrJ09p-.js.map +1 -0
- package/dashboard/dist/assets/index-D3NyVADW.js +2 -0
- package/dashboard/dist/assets/index-D3NyVADW.js.map +1 -0
- package/dashboard/dist/assets/index-D7zYZOnH.js +2 -0
- package/dashboard/dist/assets/index-D7zYZOnH.js.map +1 -0
- package/dashboard/dist/assets/index-DOkHXmyf.js +17 -0
- package/dashboard/dist/assets/index-DOkHXmyf.js.map +1 -0
- package/dashboard/dist/assets/index-DYyLF-Qb.js +281 -0
- package/dashboard/dist/assets/index-DYyLF-Qb.js.map +1 -0
- package/dashboard/dist/assets/index-Dk2Q51o0.js +2 -0
- package/dashboard/dist/assets/index-Dk2Q51o0.js.map +1 -0
- package/dashboard/dist/assets/index-FuohTtaM.js +6 -0
- package/dashboard/dist/assets/index-FuohTtaM.js.map +1 -0
- package/dashboard/dist/assets/index-PyCTS05D.css +1 -0
- package/dashboard/dist/assets/mcp-CJtYjA7A.js +2 -0
- package/dashboard/dist/assets/mcp-CJtYjA7A.js.map +1 -0
- package/dashboard/dist/assets/mcp-query-jQJQrs_7.js +2 -0
- package/dashboard/dist/assets/mcp-query-jQJQrs_7.js.map +1 -0
- package/dashboard/dist/assets/{mcp-runs-ChPbpvXK.js → mcp-runs-DUWm9Z4V.js} +2 -2
- package/dashboard/dist/assets/{mcp-runs-ChPbpvXK.js.map → mcp-runs-DUWm9Z4V.js.map} +1 -1
- package/dashboard/dist/assets/namespaces-BM5P2qmL.js +2 -0
- package/dashboard/dist/assets/{namespaces-BgbaC3ow.js.map → namespaces-BM5P2qmL.js.map} +1 -1
- package/dashboard/dist/assets/{roles-ZNrqqnQl.js → roles-lv0shpjJ.js} +2 -2
- package/dashboard/dist/assets/{roles-ZNrqqnQl.js.map → roles-lv0shpjJ.js.map} +1 -1
- package/dashboard/dist/assets/settings-Wlq92mRo.js +2 -0
- package/dashboard/dist/assets/{settings-eBRSE0mQ.js.map → settings-Wlq92mRo.js.map} +1 -1
- package/dashboard/dist/assets/tasks-BFGm4PuE.js +2 -0
- package/dashboard/dist/assets/{tasks-tRqClPns.js.map → tasks-BFGm4PuE.js.map} +1 -1
- package/dashboard/dist/assets/useEventHooks-DIE6ue4x.js +2 -0
- package/dashboard/dist/assets/useEventHooks-DIE6ue4x.js.map +1 -0
- package/dashboard/dist/assets/useExpandedRows-Cg9iq6Vy.js +2 -0
- package/dashboard/dist/assets/useExpandedRows-Cg9iq6Vy.js.map +1 -0
- package/dashboard/dist/assets/{useFilterParams-BaXUAkYK.js → useFilterParams-BUyLHcx_.js} +2 -2
- package/dashboard/dist/assets/{useFilterParams-BaXUAkYK.js.map → useFilterParams-BUyLHcx_.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-BO51u8tm.js → useYamlActivityEvents-DCwSO73t.js} +2 -2
- package/dashboard/dist/assets/useYamlActivityEvents-DCwSO73t.js.map +1 -0
- package/dashboard/dist/assets/{users-tMvNyOo8.js → users-tA5-K0wA.js} +2 -2
- package/dashboard/dist/assets/{users-tMvNyOo8.js.map → users-tA5-K0wA.js.map} +1 -1
- package/dashboard/dist/assets/vendor-icons-BiIug1SK.js +402 -0
- package/dashboard/dist/assets/vendor-icons-BiIug1SK.js.map +1 -0
- package/dashboard/dist/assets/vendor-query-DLp59M9_.js +35 -0
- package/dashboard/dist/assets/vendor-query-DLp59M9_.js.map +1 -0
- package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js +26 -0
- package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js.map +1 -0
- package/dashboard/dist/assets/{workflows-Cc4VHcrp.js → workflows-CfLc15Wr.js} +2 -2
- package/dashboard/dist/assets/{workflows-Cc4VHcrp.js.map → workflows-CfLc15Wr.js.map} +1 -1
- package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js +2 -0
- package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js.map +1 -0
- package/dashboard/dist/index.html +5 -5
- package/docs/api/dba.md +81 -0
- package/docs/api/escalations.md +575 -0
- package/docs/api/exports.md +170 -0
- package/docs/api/maintenance.md +93 -0
- package/docs/api/mcp-runs.md +128 -0
- package/docs/api/mcp-servers.md +253 -0
- package/docs/api/namespaces.md +48 -0
- package/docs/api/roles.md +390 -0
- package/docs/api/service-accounts.md +188 -0
- package/docs/api/settings.md +33 -0
- package/docs/api/tasks.md +167 -0
- package/docs/api/users.md +180 -0
- package/docs/api/workflows.md +616 -0
- package/docs/api/yaml-workflows.md +312 -0
- package/docs/architecture.md +221 -0
- package/docs/auth.md +181 -0
- package/docs/cloud.md +272 -0
- package/docs/compilation.md +136 -0
- package/docs/contributing.md +56 -0
- package/docs/dashboard.md +145 -0
- package/docs/data.md +478 -0
- package/docs/escalation-strategies.md +263 -0
- package/docs/events.md +251 -0
- package/docs/iam.md +222 -0
- package/docs/img/01-login.png +0 -0
- package/docs/img/02-dashboard-home.png +0 -0
- package/docs/img/03-processes-list.png +0 -0
- package/docs/img/04-escalations-list.png +0 -0
- package/docs/img/05-mcp-servers.png +0 -0
- package/docs/img/06-mcp-pipelines.png +0 -0
- package/docs/img/07-workflows-list.png +0 -0
- package/docs/img/compilation/01-query-submit.png +0 -0
- package/docs/img/compilation/02-mcp-servers.png +0 -0
- package/docs/img/compilation/03-query-completed.png +0 -0
- package/docs/img/compilation/04-wizard-original.png +0 -0
- package/docs/img/compilation/05-wizard-timeline.png +0 -0
- package/docs/img/compilation/06-wizard-profile.png +0 -0
- package/docs/img/compilation/07-wizard-deploy.png +0 -0
- package/docs/img/compilation/08-wizard-test-modal.png +0 -0
- package/docs/img/compilation/09-wizard-test-compare.png +0 -0
- package/docs/img/compilation/10-wizard-verify.png +0 -0
- package/docs/logging.md +110 -0
- package/docs/maintenance.md +221 -0
- package/docs/mcp.md +985 -0
- package/docs/oauth-and-delegation.md +469 -0
- package/docs/telemetry.md +144 -0
- package/docs/workflows.md +695 -0
- package/package.json +8 -9
- package/build/services/db/index.d.ts +0 -3
- package/build/services/mcp/vision-server.d.ts +0 -15
- package/build/services/mcp/vision-server.js +0 -214
- package/build/system/mcp-servers/document-vision.js +0 -228
- package/build/system/mcp-servers/prompts.d.ts +0 -4
- package/build/system/mcp-servers/prompts.js +0 -10
- package/dashboard/dist/assets/AdminDashboard-jfacvOC7.js +0 -2
- package/dashboard/dist/assets/AdminDashboard-jfacvOC7.js.map +0 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-BglLDoT8.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-BglLDoT8.js.map +0 -1
- package/dashboard/dist/assets/BotPicker-D6FYW1Gt.js +0 -2
- package/dashboard/dist/assets/CollapsibleSection-Cxk4wvjT.js +0 -2
- package/dashboard/dist/assets/ConfirmDeleteModal-FSXyKjaB.js +0 -2
- package/dashboard/dist/assets/CopyableId-CBdxWfp8.js +0 -2
- package/dashboard/dist/assets/CredentialsPage-Ikzsot0w.js +0 -2
- package/dashboard/dist/assets/CredentialsPage-Ikzsot0w.js.map +0 -1
- package/dashboard/dist/assets/CustomDurationPicker-CAninCbl.js +0 -2
- package/dashboard/dist/assets/DataTable-BDn1WBHS.js +0 -2
- package/dashboard/dist/assets/DataTable-BDn1WBHS.js.map +0 -1
- package/dashboard/dist/assets/EmptyState-2CmV-IaS.js +0 -2
- package/dashboard/dist/assets/EscalationsOverview-GXYFPASS.js +0 -2
- package/dashboard/dist/assets/EventTable-B01oJf6Y.js +0 -2
- package/dashboard/dist/assets/Field-DuFBAYhu.js +0 -2
- package/dashboard/dist/assets/Field-DuFBAYhu.js.map +0 -1
- package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +0 -2
- package/dashboard/dist/assets/McpOverview-JkvRcX2e.js +0 -2
- package/dashboard/dist/assets/McpQueryDetailPage-CUMqhQdS.js +0 -2
- package/dashboard/dist/assets/McpQueryDetailPage-CUMqhQdS.js.map +0 -1
- package/dashboard/dist/assets/McpQueryPage-DRRhw4nN.js +0 -2
- package/dashboard/dist/assets/McpQueryPage-DRRhw4nN.js.map +0 -1
- package/dashboard/dist/assets/McpRunDetailPage-CmPs5EvE.js +0 -2
- package/dashboard/dist/assets/McpRunDetailPage-CmPs5EvE.js.map +0 -1
- package/dashboard/dist/assets/McpRunsPage-Dl5Y2u6k.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-Dl5Y2u6k.js.map +0 -1
- package/dashboard/dist/assets/Modal-B4rbIVAn.js +0 -2
- package/dashboard/dist/assets/OperatorDashboard-B56il28q.js +0 -2
- package/dashboard/dist/assets/OperatorDashboard-B56il28q.js.map +0 -1
- package/dashboard/dist/assets/PageHeader-CpWFly5S.js +0 -2
- package/dashboard/dist/assets/PageHeader-CpWFly5S.js.map +0 -1
- package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +0 -2
- package/dashboard/dist/assets/ProcessDetailPage-CMLq4M7D.js +0 -2
- package/dashboard/dist/assets/ProcessDetailPage-CMLq4M7D.js.map +0 -1
- package/dashboard/dist/assets/ProcessesListPage-CZ_HF06v.js +0 -2
- package/dashboard/dist/assets/ProcessesListPage-CZ_HF06v.js.map +0 -1
- package/dashboard/dist/assets/RolePill-BTPa8L-P.js +0 -2
- package/dashboard/dist/assets/RolesPage-9grZW7yR.js +0 -2
- package/dashboard/dist/assets/RolesPage-9grZW7yR.js.map +0 -1
- package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +0 -2
- package/dashboard/dist/assets/SimpleMarkdown-CBlvaWP4.js +0 -4
- package/dashboard/dist/assets/SimpleMarkdown-CBlvaWP4.js.map +0 -1
- package/dashboard/dist/assets/StatCard-DlgF0CJC.js +0 -2
- package/dashboard/dist/assets/StatusBadge-TlC4jiig.js +0 -2
- package/dashboard/dist/assets/StatusBadge-TlC4jiig.js.map +0 -1
- package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js +0 -2
- package/dashboard/dist/assets/SwimlaneTimeline-7SiwATsZ.js +0 -2
- package/dashboard/dist/assets/SwimlaneTimeline-7SiwATsZ.js.map +0 -1
- package/dashboard/dist/assets/TaskDetailPage-CbPVTakt.js +0 -2
- package/dashboard/dist/assets/TaskDetailPage-CbPVTakt.js.map +0 -1
- package/dashboard/dist/assets/TaskQueuePill-awmtb0qw.js +0 -2
- package/dashboard/dist/assets/TasksListPage-C_QF23c1.js +0 -2
- package/dashboard/dist/assets/TimeAgo-UPG6DoH8.js +0 -2
- package/dashboard/dist/assets/TimeAgo-UPG6DoH8.js.map +0 -1
- package/dashboard/dist/assets/TimestampCell-DoWMKg6w.js +0 -2
- package/dashboard/dist/assets/TimestampCell-DoWMKg6w.js.map +0 -1
- package/dashboard/dist/assets/UserName-DaP4YAKr.js +0 -2
- package/dashboard/dist/assets/VersionHistory-Bt7WBr6m.js +0 -5
- package/dashboard/dist/assets/VersionHistory-Bt7WBr6m.js.map +0 -1
- package/dashboard/dist/assets/WorkflowExecutionPage-DjtAQ3hy.js +0 -2
- package/dashboard/dist/assets/WorkflowExecutionPage-DjtAQ3hy.js.map +0 -1
- package/dashboard/dist/assets/WorkflowPill-CCDSVaQj.js +0 -2
- package/dashboard/dist/assets/WorkflowPill-CCDSVaQj.js.map +0 -1
- package/dashboard/dist/assets/WorkflowsDashboard-D8z9uBNB.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-D8z9uBNB.js.map +0 -1
- package/dashboard/dist/assets/WorkflowsOverview-D9OzzQqw.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowDetailPage-DrDvvP62.js +0 -3
- package/dashboard/dist/assets/YamlWorkflowDetailPage-DrDvvP62.js.map +0 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-COqiNCQK.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-COqiNCQK.js.map +0 -1
- package/dashboard/dist/assets/constants-CgaZfe5d.js +0 -2
- package/dashboard/dist/assets/constants-CgaZfe5d.js.map +0 -1
- package/dashboard/dist/assets/escalation-columns-D6aqStaY.js +0 -2
- package/dashboard/dist/assets/escalation-qalymbKB.js +0 -2
- package/dashboard/dist/assets/escalation-qalymbKB.js.map +0 -1
- package/dashboard/dist/assets/format-gXZXQ-HJ.js +0 -2
- package/dashboard/dist/assets/format-gXZXQ-HJ.js.map +0 -1
- package/dashboard/dist/assets/helpers-0gSleuzT.js +0 -2
- package/dashboard/dist/assets/helpers-0gSleuzT.js.map +0 -1
- package/dashboard/dist/assets/index-BWvMHed7.js +0 -6
- package/dashboard/dist/assets/index-BWvMHed7.js.map +0 -1
- package/dashboard/dist/assets/index-BaszoPO_.css +0 -1
- package/dashboard/dist/assets/index-Cn2jyj9A.js +0 -2
- package/dashboard/dist/assets/index-Cn2jyj9A.js.map +0 -1
- package/dashboard/dist/assets/index-D8VH6K8B.js +0 -54
- package/dashboard/dist/assets/index-D8VH6K8B.js.map +0 -1
- package/dashboard/dist/assets/index-D9SYwJsi.js +0 -3
- package/dashboard/dist/assets/index-D9SYwJsi.js.map +0 -1
- package/dashboard/dist/assets/index-DTPzZr_X.js +0 -2
- package/dashboard/dist/assets/index-D_6AB5BE.js +0 -2
- package/dashboard/dist/assets/index-D_6AB5BE.js.map +0 -1
- package/dashboard/dist/assets/index-S9Ks2Lj2.js +0 -2
- package/dashboard/dist/assets/index-S9Ks2Lj2.js.map +0 -1
- package/dashboard/dist/assets/index-X85K5bHC.js +0 -17
- package/dashboard/dist/assets/index-X85K5bHC.js.map +0 -1
- package/dashboard/dist/assets/index-rjmgHlSH.js +0 -2
- package/dashboard/dist/assets/index-rjmgHlSH.js.map +0 -1
- package/dashboard/dist/assets/mcp-blCW6IL7.js +0 -2
- package/dashboard/dist/assets/mcp-blCW6IL7.js.map +0 -1
- package/dashboard/dist/assets/mcp-query-DoAyPbjC.js +0 -2
- package/dashboard/dist/assets/mcp-query-DoAyPbjC.js.map +0 -1
- package/dashboard/dist/assets/namespaces-BgbaC3ow.js +0 -2
- package/dashboard/dist/assets/settings-eBRSE0mQ.js +0 -2
- package/dashboard/dist/assets/tasks-tRqClPns.js +0 -2
- package/dashboard/dist/assets/useNatsEvents-Xr43X1fG.js +0 -2
- package/dashboard/dist/assets/useNatsEvents-Xr43X1fG.js.map +0 -1
- package/dashboard/dist/assets/useYamlActivityEvents-BO51u8tm.js.map +0 -1
- package/dashboard/dist/assets/vendor-icons-ZTAKVwGc.js +0 -292
- package/dashboard/dist/assets/vendor-icons-ZTAKVwGc.js.map +0 -1
- package/dashboard/dist/assets/vendor-query-B2UbickB.js +0 -18
- package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +0 -1
- package/dashboard/dist/assets/vendor-react-Cw8Gy8NJ.js +0 -22
- package/dashboard/dist/assets/vendor-react-Cw8Gy8NJ.js.map +0 -1
- package/dashboard/dist/assets/yaml-workflows-BL4V5CQy.js +0 -2
- package/dashboard/dist/assets/yaml-workflows-BL4V5CQy.js.map +0 -1
- package/services/db/README.md +0 -8
- /package/build/{services → lib}/db/migrate.d.ts +0 -0
- /package/{services → build/lib}/db/schemas/002_seed.sql +0 -0
- /package/{services → build/lib}/db/schemas/003_workflow_discovery.sql +0 -0
- /package/{services → build/lib}/db/schemas/004_query_router.sql +0 -0
- /package/{services → build/lib}/db/schemas/005_triage_router.sql +0 -0
- /package/{services → build/lib}/db/schemas/006_oauth.sql +0 -0
- /package/{services → build/lib}/db/schemas/007_security.sql +0 -0
- /package/{services → build/lib}/db/schemas/008_bot_accounts.sql +0 -0
- /package/{services → build/lib}/db/schemas/009_audit_trail.sql +0 -0
- /package/{services → build/lib}/db/schemas/010_credential_providers.sql +0 -0
- /package/{services → build/lib}/db/schemas/012_drop_modality.sql +0 -0
- /package/{services → build/lib}/db/schemas/013_execute_as.sql +0 -0
- /package/{services → build/lib}/db/schemas/014_ephemeral_credentials.sql +0 -0
- /package/build/{services → lib}/events/index.d.ts +0 -0
- /package/build/{services → lib}/events/index.js +0 -0
- /package/build/{services → lib}/events/memory.d.ts +0 -0
- /package/build/{services → lib}/events/memory.js +0 -0
- /package/build/{services → lib}/events/nats.d.ts +0 -0
- /package/build/{services → lib}/events/nats.js +0 -0
- /package/build/{services → lib}/events/publish.d.ts +0 -0
- /package/build/{services → lib}/events/publish.js +0 -0
- /package/build/{services → lib}/events/socketio.d.ts +0 -0
- /package/build/{services → lib}/events/socketio.js +0 -0
- /package/build/{services → lib}/logger/index.d.ts +0 -0
- /package/build/{services → lib}/logger/index.js +0 -0
- /package/build/{services → lib}/logger/pino.d.ts +0 -0
- /package/build/{services → lib}/logger/pino.js +0 -0
- /package/build/{services → lib}/storage/index.d.ts +0 -0
- /package/build/{services → lib}/storage/index.js +0 -0
- /package/build/{services → lib}/storage/local.d.ts +0 -0
- /package/build/{services → lib}/storage/local.js +0 -0
- /package/build/{services → lib}/storage/s3.d.ts +0 -0
- /package/build/{services → lib}/storage/s3.js +0 -0
- /package/build/{services → lib}/storage/types.d.ts +0 -0
- /package/build/{services → lib}/storage/types.js +0 -0
- /package/build/{services → lib}/telemetry/index.d.ts +0 -0
- /package/build/{services → lib}/telemetry/index.js +0 -0
|
@@ -41,12 +41,14 @@ exports.connectAutoServers = connectAutoServers;
|
|
|
41
41
|
exports.disconnectAll = disconnectAll;
|
|
42
42
|
exports.listServerTools = listServerTools;
|
|
43
43
|
exports.isConnected = isConnected;
|
|
44
|
+
exports.testConnection = testConnection;
|
|
44
45
|
exports.clear = clear;
|
|
45
46
|
const index_js_1 = require("@modelcontextprotocol/sdk/client/index.js");
|
|
46
47
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/client/stdio.js");
|
|
47
48
|
const sse_js_1 = require("@modelcontextprotocol/sdk/client/sse.js");
|
|
49
|
+
const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/client/streamableHttp.js");
|
|
48
50
|
const inMemory_js_1 = require("@modelcontextprotocol/sdk/inMemory.js");
|
|
49
|
-
const logger_1 = require("
|
|
51
|
+
const logger_1 = require("../../../lib/logger");
|
|
50
52
|
const mcpDbService = __importStar(require("../db"));
|
|
51
53
|
/** In-memory map of server ID/name to active MCP client */
|
|
52
54
|
const clients = new Map();
|
|
@@ -106,13 +108,17 @@ async function connectToServer(server) {
|
|
|
106
108
|
}
|
|
107
109
|
const client = new index_js_1.Client({ name: 'long-tail', version: '1.0.0' });
|
|
108
110
|
let transport;
|
|
109
|
-
|
|
111
|
+
const ttype = server.transport_type;
|
|
112
|
+
if (ttype === 'stdio') {
|
|
110
113
|
transport = new stdio_js_1.StdioClientTransport({
|
|
111
114
|
command: server.transport_config.command,
|
|
112
115
|
args: server.transport_config.args || [],
|
|
113
116
|
env: server.transport_config.env,
|
|
114
117
|
});
|
|
115
118
|
}
|
|
119
|
+
else if (ttype === 'streamable-http') {
|
|
120
|
+
transport = new streamableHttp_js_1.StreamableHTTPClientTransport(new URL(server.transport_config.url));
|
|
121
|
+
}
|
|
116
122
|
else {
|
|
117
123
|
transport = new sse_js_1.SSEClientTransport(new URL(server.transport_config.url));
|
|
118
124
|
}
|
|
@@ -146,7 +152,7 @@ async function disconnectFromServer(serverId) {
|
|
|
146
152
|
* Returns the client or null if not found.
|
|
147
153
|
*
|
|
148
154
|
* Built-in servers are connected once under their canonical factory name.
|
|
149
|
-
* Alias lookups (e.g. '
|
|
155
|
+
* Alias lookups (e.g. 'translation' matching 'long-tail-translation') reuse
|
|
150
156
|
* the same client instance to avoid double-connecting the singleton server.
|
|
151
157
|
*/
|
|
152
158
|
async function resolveClient(serverId) {
|
|
@@ -272,6 +278,48 @@ async function listServerTools(serverId) {
|
|
|
272
278
|
function isConnected(serverId) {
|
|
273
279
|
return clients.has(serverId);
|
|
274
280
|
}
|
|
281
|
+
/**
|
|
282
|
+
* Test connectivity to an MCP server without persisting.
|
|
283
|
+
* Creates a temporary client, connects, lists tools, then disconnects.
|
|
284
|
+
*/
|
|
285
|
+
async function testConnection(transportType, transportConfig) {
|
|
286
|
+
const client = new index_js_1.Client({ name: 'long-tail-test', version: '1.0.0' });
|
|
287
|
+
const timeout = setTimeout(() => { throw new Error('Connection timed out (10s)'); }, 10_000);
|
|
288
|
+
try {
|
|
289
|
+
let transport;
|
|
290
|
+
if (transportType === 'stdio') {
|
|
291
|
+
transport = new stdio_js_1.StdioClientTransport({
|
|
292
|
+
command: transportConfig.command,
|
|
293
|
+
args: transportConfig.args || [],
|
|
294
|
+
env: transportConfig.env,
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
else if (transportType === 'streamable-http') {
|
|
298
|
+
transport = new streamableHttp_js_1.StreamableHTTPClientTransport(new URL(transportConfig.url));
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
transport = new sse_js_1.SSEClientTransport(new URL(transportConfig.url));
|
|
302
|
+
}
|
|
303
|
+
await client.connect(transport);
|
|
304
|
+
const { tools } = await client.listTools();
|
|
305
|
+
const manifest = tools.map((t) => ({
|
|
306
|
+
name: t.name,
|
|
307
|
+
description: t.description || '',
|
|
308
|
+
inputSchema: t.inputSchema || {},
|
|
309
|
+
}));
|
|
310
|
+
return { success: true, tools: manifest };
|
|
311
|
+
}
|
|
312
|
+
catch (err) {
|
|
313
|
+
return { success: false, tools: [], error: err.message };
|
|
314
|
+
}
|
|
315
|
+
finally {
|
|
316
|
+
clearTimeout(timeout);
|
|
317
|
+
try {
|
|
318
|
+
await client.close();
|
|
319
|
+
}
|
|
320
|
+
catch { /* ignore close errors */ }
|
|
321
|
+
}
|
|
322
|
+
}
|
|
275
323
|
/**
|
|
276
324
|
* Clear all state. Used in tests.
|
|
277
325
|
*/
|
|
@@ -35,7 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.callServerTool = callServerTool;
|
|
37
37
|
exports.toolActivities = toolActivities;
|
|
38
|
-
const logger_1 = require("
|
|
38
|
+
const logger_1 = require("../../../lib/logger");
|
|
39
39
|
const defaults_1 = require("../../../modules/defaults");
|
|
40
40
|
const context_1 = require("../../iam/context");
|
|
41
41
|
const mcpDbService = __importStar(require("../db"));
|
|
@@ -4,7 +4,7 @@ exports.createDbServer = createDbServer;
|
|
|
4
4
|
exports.getDbServer = getDbServer;
|
|
5
5
|
exports.stopDbServer = stopDbServer;
|
|
6
6
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
7
|
-
const logger_1 = require("
|
|
7
|
+
const logger_1 = require("../../../lib/logger");
|
|
8
8
|
const tools_1 = require("./tools");
|
|
9
9
|
let server = null;
|
|
10
10
|
/**
|
|
@@ -14,8 +14,8 @@ export declare const findTasksSchema: z.ZodObject<{
|
|
|
14
14
|
}, {
|
|
15
15
|
status?: "pending" | "in_progress" | "completed" | "needs_intervention" | "failed" | undefined;
|
|
16
16
|
workflow_type?: string | undefined;
|
|
17
|
-
limit?: number | undefined;
|
|
18
17
|
workflow_id?: string | undefined;
|
|
18
|
+
limit?: number | undefined;
|
|
19
19
|
origin_id?: string | undefined;
|
|
20
20
|
}>;
|
|
21
21
|
export declare const findEscalationsSchema: z.ZodObject<{
|
|
@@ -34,8 +34,8 @@ export declare const findEscalationsSchema: z.ZodObject<{
|
|
|
34
34
|
role?: string | undefined;
|
|
35
35
|
status?: "pending" | "resolved" | undefined;
|
|
36
36
|
type?: string | undefined;
|
|
37
|
-
priority?: number | undefined;
|
|
38
37
|
limit?: number | undefined;
|
|
38
|
+
priority?: number | undefined;
|
|
39
39
|
}>;
|
|
40
40
|
export declare const getProcessSummarySchema: z.ZodObject<{
|
|
41
41
|
workflow_type: z.ZodOptional<z.ZodString>;
|
|
@@ -34,7 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.registerDbTools = registerDbTools;
|
|
37
|
-
const db_1 = require("
|
|
37
|
+
const db_1 = require("../../../lib/db");
|
|
38
38
|
const taskService = __importStar(require("../../task"));
|
|
39
39
|
const escalationService = __importStar(require("../../escalation"));
|
|
40
40
|
const configService = __importStar(require("../../config"));
|
|
@@ -190,16 +190,22 @@ function registerDbTools(instance) {
|
|
|
190
190
|
// get_system_health
|
|
191
191
|
instance.registerTool('get_system_health', {
|
|
192
192
|
title: 'Get System Health',
|
|
193
|
-
description: '
|
|
194
|
-
'
|
|
193
|
+
description: 'Full system overview: durable workflow execution counts by type (active/completed), ' +
|
|
194
|
+
'task counts by status, escalation counts by status, recent activity window, ' +
|
|
195
|
+
'MCP servers (with tool counts and tags), compiled workflow totals, and workflow configurations.',
|
|
195
196
|
inputSchema: schemas_1.getSystemHealthSchema,
|
|
196
197
|
}, async (_args) => {
|
|
197
198
|
const pool = (0, db_1.getPool)();
|
|
198
|
-
const [taskCounts, escalationCounts, activeTypes, recentActivity] = await Promise.all([
|
|
199
|
+
const [taskCounts, escalationCounts, activeTypes, recentActivity, mcpServers, mcpServerList, compiledWorkflows, workflowConfigs, durableWorkflows,] = await Promise.all([
|
|
199
200
|
pool.query(sql_1.HEALTH_TASK_COUNTS),
|
|
200
201
|
pool.query(sql_1.HEALTH_ESCALATION_COUNTS),
|
|
201
202
|
pool.query(sql_1.HEALTH_ACTIVE_WORKFLOW_TYPES),
|
|
202
203
|
pool.query(sql_1.HEALTH_RECENT_ACTIVITY),
|
|
204
|
+
pool.query(sql_1.HEALTH_MCP_SERVERS),
|
|
205
|
+
pool.query(sql_1.HEALTH_MCP_SERVER_LIST),
|
|
206
|
+
pool.query(sql_1.HEALTH_COMPILED_WORKFLOWS),
|
|
207
|
+
pool.query(sql_1.HEALTH_WORKFLOW_CONFIGS),
|
|
208
|
+
pool.query(sql_1.HEALTH_DURABLE_WORKFLOWS),
|
|
203
209
|
]);
|
|
204
210
|
const tasksByStatus = {};
|
|
205
211
|
for (const row of taskCounts.rows) {
|
|
@@ -213,10 +219,17 @@ function registerDbTools(instance) {
|
|
|
213
219
|
content: [{
|
|
214
220
|
type: 'text',
|
|
215
221
|
text: JSON.stringify({
|
|
222
|
+
durable_workflows: durableWorkflows.rows,
|
|
216
223
|
tasks: tasksByStatus,
|
|
217
224
|
escalations: escalationsByStatus,
|
|
218
225
|
active_workflow_types: activeTypes.rows.map((r) => r.workflow_type),
|
|
219
226
|
recent_activity: recentActivity.rows[0],
|
|
227
|
+
mcp_servers: {
|
|
228
|
+
...mcpServers.rows[0],
|
|
229
|
+
servers: mcpServerList.rows,
|
|
230
|
+
},
|
|
231
|
+
compiled_workflows: compiledWorkflows.rows[0],
|
|
232
|
+
workflow_configs: workflowConfigs.rows,
|
|
220
233
|
}),
|
|
221
234
|
}],
|
|
222
235
|
};
|
|
@@ -3,7 +3,7 @@ import type { CreateMcpServerInput } from './types';
|
|
|
3
3
|
export declare function createMcpServer(input: CreateMcpServerInput): Promise<LTMcpServerRecord>;
|
|
4
4
|
export declare function getMcpServer(id: string): Promise<LTMcpServerRecord | null>;
|
|
5
5
|
export declare function getMcpServerByName(name: string): Promise<LTMcpServerRecord | null>;
|
|
6
|
-
export declare function updateMcpServer(id: string, updates: Partial<Pick<CreateMcpServerInput, 'name' | 'description' | 'transport_type' | 'transport_config' | 'auto_connect' | 'metadata' | 'tags'>>): Promise<LTMcpServerRecord | null>;
|
|
6
|
+
export declare function updateMcpServer(id: string, updates: Partial<Pick<CreateMcpServerInput, 'name' | 'description' | 'transport_type' | 'transport_config' | 'auto_connect' | 'metadata' | 'tags' | 'compile_hints' | 'credential_providers'>>): Promise<LTMcpServerRecord | null>;
|
|
7
7
|
export declare function deleteMcpServer(id: string): Promise<boolean>;
|
|
8
8
|
export declare function updateMcpServerStatus(id: string, status: LTMcpServerStatus, toolManifest?: LTMcpToolManifest[]): Promise<void>;
|
|
9
9
|
export declare function listMcpServers(filters: {
|
package/build/services/mcp/db.js
CHANGED
|
@@ -9,7 +9,7 @@ exports.updateMcpServerStatus = updateMcpServerStatus;
|
|
|
9
9
|
exports.listMcpServers = listMcpServers;
|
|
10
10
|
exports.getAutoConnectServers = getAutoConnectServers;
|
|
11
11
|
exports.findServersByTags = findServersByTags;
|
|
12
|
-
const db_1 = require("
|
|
12
|
+
const db_1 = require("../../lib/db");
|
|
13
13
|
const sql_1 = require("./sql");
|
|
14
14
|
async function createMcpServer(input) {
|
|
15
15
|
const pool = (0, db_1.getPool)();
|
|
@@ -21,6 +21,8 @@ async function createMcpServer(input) {
|
|
|
21
21
|
input.auto_connect ?? false,
|
|
22
22
|
input.metadata ? JSON.stringify(input.metadata) : null,
|
|
23
23
|
input.tags || [],
|
|
24
|
+
input.compile_hints || null,
|
|
25
|
+
input.credential_providers || [],
|
|
24
26
|
]);
|
|
25
27
|
return rows[0];
|
|
26
28
|
}
|
|
@@ -67,6 +69,14 @@ async function updateMcpServer(id, updates) {
|
|
|
67
69
|
sets.push(`tags = $${idx++}`);
|
|
68
70
|
values.push(updates.tags);
|
|
69
71
|
}
|
|
72
|
+
if (updates.compile_hints !== undefined) {
|
|
73
|
+
sets.push(`compile_hints = $${idx++}`);
|
|
74
|
+
values.push(updates.compile_hints || null);
|
|
75
|
+
}
|
|
76
|
+
if (updates.credential_providers !== undefined) {
|
|
77
|
+
sets.push(`credential_providers = $${idx++}`);
|
|
78
|
+
values.push(updates.credential_providers);
|
|
79
|
+
}
|
|
70
80
|
if (sets.length === 0)
|
|
71
81
|
return getMcpServer(id);
|
|
72
82
|
values.push(id);
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.stopPlaywrightServer = void 0;
|
|
4
4
|
exports.createPlaywrightServer = createPlaywrightServer;
|
|
5
5
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
6
|
-
const logger_1 = require("
|
|
6
|
+
const logger_1 = require("../../../lib/logger");
|
|
7
7
|
const tools_1 = require("./tools");
|
|
8
8
|
var lifecycle_1 = require("./lifecycle");
|
|
9
9
|
Object.defineProperty(exports, "stopPlaywrightServer", { enumerable: true, get: function () { return lifecycle_1.stopPlaywrightServer; } });
|
|
@@ -7,7 +7,7 @@ exports.getPage = getPage;
|
|
|
7
7
|
exports.getPageId = getPageId;
|
|
8
8
|
exports.stopPlaywrightServer = stopPlaywrightServer;
|
|
9
9
|
const playwright_1 = require("playwright");
|
|
10
|
-
const logger_1 = require("
|
|
10
|
+
const logger_1 = require("../../../lib/logger");
|
|
11
11
|
// Browser lifecycle: shared instance across tool calls within a single
|
|
12
12
|
// server lifetime. Lazy-launched on first use, cleaned up via
|
|
13
13
|
// stopPlaywrightServer().
|
|
@@ -54,12 +54,12 @@ export declare const waitForSchema: z.ZodObject<{
|
|
|
54
54
|
timeout: z.ZodOptional<z.ZodNumber>;
|
|
55
55
|
}, "strip", z.ZodTypeAny, {
|
|
56
56
|
selector: string;
|
|
57
|
-
timeout?: number | undefined;
|
|
58
57
|
page_id?: string | undefined;
|
|
58
|
+
timeout?: number | undefined;
|
|
59
59
|
}, {
|
|
60
60
|
selector: string;
|
|
61
|
-
timeout?: number | undefined;
|
|
62
61
|
page_id?: string | undefined;
|
|
62
|
+
timeout?: number | undefined;
|
|
63
63
|
}>;
|
|
64
64
|
export declare const evaluateSchema: z.ZodObject<{
|
|
65
65
|
page_id: z.ZodOptional<z.ZodString>;
|
|
@@ -36,7 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.registerTools = registerTools;
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
|
-
const logger_1 = require("
|
|
39
|
+
const logger_1 = require("../../../lib/logger");
|
|
40
40
|
const schemas_1 = require("./schemas");
|
|
41
41
|
const lifecycle_1 = require("./lifecycle");
|
|
42
42
|
// Tool-handler registration for the Playwright MCP server.
|
|
@@ -39,7 +39,7 @@ exports.stopServer = stopServer;
|
|
|
39
39
|
const crypto = __importStar(require("crypto"));
|
|
40
40
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
41
41
|
const zod_1 = require("zod");
|
|
42
|
-
const logger_1 = require("
|
|
42
|
+
const logger_1 = require("../../lib/logger");
|
|
43
43
|
const escalationService = __importStar(require("../escalation"));
|
|
44
44
|
let server = null;
|
|
45
45
|
// ── Schemas (extracted to break TS2589 deep-instantiation in registerTool generics) ──
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const CREATE_MCP_SERVER = "\n INSERT INTO lt_mcp_servers\n (name, description, transport_type, transport_config, auto_connect, metadata, tags)\n VALUES ($1, $2, $3, $4, $5, $6, $7)\n RETURNING *";
|
|
1
|
+
export declare const CREATE_MCP_SERVER = "\n INSERT INTO lt_mcp_servers\n (name, description, transport_type, transport_config, auto_connect, metadata, tags, compile_hints, credential_providers)\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)\n RETURNING *";
|
|
2
2
|
export declare const GET_MCP_SERVER = "\n SELECT * FROM lt_mcp_servers WHERE id = $1";
|
|
3
3
|
export declare const GET_MCP_SERVER_BY_NAME = "\n SELECT * FROM lt_mcp_servers WHERE name = $1";
|
|
4
4
|
export declare const DELETE_MCP_SERVER = "\n DELETE FROM lt_mcp_servers WHERE id = $1";
|
|
@@ -9,4 +9,10 @@ export declare const HEALTH_TASK_COUNTS = "\n SELECT status, COUNT(*)::int AS c
|
|
|
9
9
|
export declare const HEALTH_ESCALATION_COUNTS = "\n SELECT status, COUNT(*)::int AS count\n FROM lt_escalations GROUP BY status ORDER BY status";
|
|
10
10
|
export declare const HEALTH_ACTIVE_WORKFLOW_TYPES = "\n SELECT DISTINCT workflow_type FROM lt_tasks\n WHERE status IN ('pending', 'in_progress')\n ORDER BY workflow_type";
|
|
11
11
|
export declare const HEALTH_RECENT_ACTIVITY = "\n SELECT\n COUNT(*) FILTER (WHERE created_at > NOW() - INTERVAL '1 hour')::int AS tasks_created_1h,\n COUNT(*) FILTER (WHERE completed_at > NOW() - INTERVAL '1 hour')::int AS tasks_completed_1h,\n COUNT(*) FILTER (WHERE created_at > NOW() - INTERVAL '24 hours')::int AS tasks_created_24h,\n COUNT(*) FILTER (WHERE completed_at > NOW() - INTERVAL '24 hours')::int AS tasks_completed_24h\n FROM lt_tasks";
|
|
12
|
+
export declare const HEALTH_MCP_SERVERS = "\n SELECT\n COUNT(*)::int AS total,\n COUNT(*) FILTER (WHERE status = 'connected')::int AS connected,\n SUM(jsonb_array_length(COALESCE(tool_manifest::jsonb, '[]'::jsonb)))::int AS total_tools\n FROM lt_mcp_servers";
|
|
13
|
+
export declare const HEALTH_MCP_SERVER_LIST = "\n SELECT name, status, tags,\n jsonb_array_length(COALESCE(tool_manifest::jsonb, '[]'::jsonb))::int AS tool_count\n FROM lt_mcp_servers ORDER BY name";
|
|
14
|
+
export declare const HEALTH_COMPILED_WORKFLOWS = "\n SELECT\n COUNT(*)::int AS total,\n COUNT(*) FILTER (WHERE status = 'active')::int AS active\n FROM lt_yaml_workflows";
|
|
15
|
+
export declare const HEALTH_WORKFLOW_CONFIGS = "\n SELECT workflow_type, task_queue, description\n FROM lt_config_workflows ORDER BY workflow_type";
|
|
16
|
+
export declare const HEALTH_DURABLE_WORKFLOWS = "\n SELECT\n COALESCE(entity, '_internal') AS entity,\n COUNT(*)::int AS total,\n COUNT(*) FILTER (WHERE status = 0)::int AS active,\n COUNT(*) FILTER (WHERE status = 1)::int AS completed\n FROM durable.jobs\n WHERE entity IS NOT NULL AND entity != ''\n GROUP BY entity\n ORDER BY entity";
|
|
17
|
+
export declare const DELETE_STALE_BUILTIN_SERVERS = "\n DELETE FROM lt_mcp_servers\n WHERE (metadata->>'builtin')::boolean = true\n AND name != ALL($1)\n RETURNING name";
|
|
12
18
|
export declare const SEED_MCP_SERVER = "\n INSERT INTO lt_mcp_servers\n (name, description, transport_type, transport_config, auto_connect, status, tool_manifest, metadata, tags, compile_hints, credential_providers, last_connected_at)\n VALUES ($1, $2, $3, $4, true, 'connected', $5, $6, $7, $8, $9, NOW())\n ON CONFLICT (name) DO UPDATE SET\n tool_manifest = EXCLUDED.tool_manifest,\n metadata = EXCLUDED.metadata,\n description = EXCLUDED.description,\n tags = EXCLUDED.tags,\n compile_hints = EXCLUDED.compile_hints,\n credential_providers = EXCLUDED.credential_providers,\n status = 'connected',\n last_connected_at = NOW()";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// ─── MCP server CRUD ────────────────────────────────────────────────────────
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.SEED_MCP_SERVER = exports.HEALTH_RECENT_ACTIVITY = exports.HEALTH_ACTIVE_WORKFLOW_TYPES = exports.HEALTH_ESCALATION_COUNTS = exports.HEALTH_TASK_COUNTS = exports.GET_AUTO_CONNECT_SERVERS = exports.UPDATE_STATUS = exports.UPDATE_STATUS_CONNECTED = exports.DELETE_MCP_SERVER = exports.GET_MCP_SERVER_BY_NAME = exports.GET_MCP_SERVER = exports.CREATE_MCP_SERVER = void 0;
|
|
4
|
+
exports.SEED_MCP_SERVER = exports.DELETE_STALE_BUILTIN_SERVERS = exports.HEALTH_DURABLE_WORKFLOWS = exports.HEALTH_WORKFLOW_CONFIGS = exports.HEALTH_COMPILED_WORKFLOWS = exports.HEALTH_MCP_SERVER_LIST = exports.HEALTH_MCP_SERVERS = exports.HEALTH_RECENT_ACTIVITY = exports.HEALTH_ACTIVE_WORKFLOW_TYPES = exports.HEALTH_ESCALATION_COUNTS = exports.HEALTH_TASK_COUNTS = exports.GET_AUTO_CONNECT_SERVERS = exports.UPDATE_STATUS = exports.UPDATE_STATUS_CONNECTED = exports.DELETE_MCP_SERVER = exports.GET_MCP_SERVER_BY_NAME = exports.GET_MCP_SERVER = exports.CREATE_MCP_SERVER = void 0;
|
|
5
5
|
exports.CREATE_MCP_SERVER = `
|
|
6
6
|
INSERT INTO lt_mcp_servers
|
|
7
|
-
(name, description, transport_type, transport_config, auto_connect, metadata, tags)
|
|
8
|
-
VALUES ($1, $2, $3, $4, $5, $6, $7)
|
|
7
|
+
(name, description, transport_type, transport_config, auto_connect, metadata, tags, compile_hints, credential_providers)
|
|
8
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
|
|
9
9
|
RETURNING *`;
|
|
10
10
|
exports.GET_MCP_SERVER = `
|
|
11
11
|
SELECT * FROM lt_mcp_servers WHERE id = $1`;
|
|
@@ -43,7 +43,40 @@ exports.HEALTH_RECENT_ACTIVITY = `
|
|
|
43
43
|
COUNT(*) FILTER (WHERE created_at > NOW() - INTERVAL '24 hours')::int AS tasks_created_24h,
|
|
44
44
|
COUNT(*) FILTER (WHERE completed_at > NOW() - INTERVAL '24 hours')::int AS tasks_completed_24h
|
|
45
45
|
FROM lt_tasks`;
|
|
46
|
+
exports.HEALTH_MCP_SERVERS = `
|
|
47
|
+
SELECT
|
|
48
|
+
COUNT(*)::int AS total,
|
|
49
|
+
COUNT(*) FILTER (WHERE status = 'connected')::int AS connected,
|
|
50
|
+
SUM(jsonb_array_length(COALESCE(tool_manifest::jsonb, '[]'::jsonb)))::int AS total_tools
|
|
51
|
+
FROM lt_mcp_servers`;
|
|
52
|
+
exports.HEALTH_MCP_SERVER_LIST = `
|
|
53
|
+
SELECT name, status, tags,
|
|
54
|
+
jsonb_array_length(COALESCE(tool_manifest::jsonb, '[]'::jsonb))::int AS tool_count
|
|
55
|
+
FROM lt_mcp_servers ORDER BY name`;
|
|
56
|
+
exports.HEALTH_COMPILED_WORKFLOWS = `
|
|
57
|
+
SELECT
|
|
58
|
+
COUNT(*)::int AS total,
|
|
59
|
+
COUNT(*) FILTER (WHERE status = 'active')::int AS active
|
|
60
|
+
FROM lt_yaml_workflows`;
|
|
61
|
+
exports.HEALTH_WORKFLOW_CONFIGS = `
|
|
62
|
+
SELECT workflow_type, task_queue, description
|
|
63
|
+
FROM lt_config_workflows ORDER BY workflow_type`;
|
|
64
|
+
exports.HEALTH_DURABLE_WORKFLOWS = `
|
|
65
|
+
SELECT
|
|
66
|
+
COALESCE(entity, '_internal') AS entity,
|
|
67
|
+
COUNT(*)::int AS total,
|
|
68
|
+
COUNT(*) FILTER (WHERE status = 0)::int AS active,
|
|
69
|
+
COUNT(*) FILTER (WHERE status = 1)::int AS completed
|
|
70
|
+
FROM durable.jobs
|
|
71
|
+
WHERE entity IS NOT NULL AND entity != ''
|
|
72
|
+
GROUP BY entity
|
|
73
|
+
ORDER BY entity`;
|
|
46
74
|
// ─── Seed (used by system/seed.ts) ──────────────────────────────────────────
|
|
75
|
+
exports.DELETE_STALE_BUILTIN_SERVERS = `
|
|
76
|
+
DELETE FROM lt_mcp_servers
|
|
77
|
+
WHERE (metadata->>'builtin')::boolean = true
|
|
78
|
+
AND name != ALL($1)
|
|
79
|
+
RETURNING name`;
|
|
47
80
|
exports.SEED_MCP_SERVER = `
|
|
48
81
|
INSERT INTO lt_mcp_servers
|
|
49
82
|
(name, description, transport_type, transport_config, auto_connect, status, tool_manifest, metadata, tags, compile_hints, credential_providers, last_connected_at)
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
export interface CreateMcpServerInput {
|
|
3
3
|
name: string;
|
|
4
4
|
description?: string;
|
|
5
|
-
transport_type: 'stdio' | 'sse';
|
|
5
|
+
transport_type: 'stdio' | 'sse' | 'streamable-http';
|
|
6
6
|
transport_config: Record<string, any>;
|
|
7
7
|
auto_connect?: boolean;
|
|
8
8
|
metadata?: Record<string, any>;
|
|
9
9
|
tags?: string[];
|
|
10
|
+
compile_hints?: string;
|
|
11
|
+
credential_providers?: string[];
|
|
10
12
|
}
|
|
11
13
|
export interface BuiltInMcpAdapterOptions {
|
|
12
14
|
server?: {
|
|
@@ -38,7 +38,7 @@ exports.getWorkflowCompilerServer = getWorkflowCompilerServer;
|
|
|
38
38
|
exports.stopWorkflowCompilerServer = stopWorkflowCompilerServer;
|
|
39
39
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
40
40
|
const zod_1 = require("zod");
|
|
41
|
-
const logger_1 = require("
|
|
41
|
+
const logger_1 = require("../../lib/logger");
|
|
42
42
|
const yamlGenerator = __importStar(require("../yaml-workflow/generator"));
|
|
43
43
|
const yamlDb = __importStar(require("../yaml-workflow/db"));
|
|
44
44
|
const yamlDeployer = __importStar(require("../yaml-workflow/deployer"));
|
|
@@ -39,7 +39,7 @@ exports.stopWorkflowServer = stopWorkflowServer;
|
|
|
39
39
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
40
40
|
const zod_1 = require("zod");
|
|
41
41
|
const defaults_1 = require("../../modules/defaults");
|
|
42
|
-
const logger_1 = require("
|
|
42
|
+
const logger_1 = require("../../lib/logger");
|
|
43
43
|
const yamlDb = __importStar(require("../yaml-workflow/db"));
|
|
44
44
|
const yamlDeployer = __importStar(require("../yaml-workflow/deployer"));
|
|
45
45
|
let server = null;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildExecution = buildExecution;
|
|
4
|
-
const db_1 = require("
|
|
4
|
+
const db_1 = require("../../lib/db");
|
|
5
5
|
const hotmesh_utils_1 = require("../hotmesh-utils");
|
|
6
6
|
const enrichment_1 = require("./enrichment");
|
|
7
7
|
const events_1 = require("./events");
|
|
8
|
+
const sql_1 = require("./sql");
|
|
8
9
|
/**
|
|
9
10
|
* Build a complete execution export for a YAML engine workflow job.
|
|
10
11
|
*
|
|
@@ -34,8 +35,7 @@ async function loadJobContext(jobId, appId, schema) {
|
|
|
34
35
|
const jobKey = `hmsh:${appId}:j:${jobId}`;
|
|
35
36
|
const pool = (0, db_1.getPool)();
|
|
36
37
|
const [jobResult, symbolMap] = await Promise.all([
|
|
37
|
-
pool.query(
|
|
38
|
-
FROM ${schema}.jobs WHERE key = $1 LIMIT 1`, [jobKey]),
|
|
38
|
+
pool.query((0, sql_1.GET_JOB)(schema), [jobKey]),
|
|
39
39
|
(0, hotmesh_utils_1.loadSymbolMap)(schema, appId),
|
|
40
40
|
]);
|
|
41
41
|
if (jobResult.rows.length === 0) {
|
|
@@ -44,10 +44,12 @@ async function loadJobContext(jobId, appId, schema) {
|
|
|
44
44
|
throw err;
|
|
45
45
|
}
|
|
46
46
|
const job = jobResult.rows[0];
|
|
47
|
-
const attrRows = await pool.query(
|
|
47
|
+
const attrRows = await pool.query((0, sql_1.GET_JOB_ATTRIBUTES)(schema), [job.id]);
|
|
48
48
|
const rawAttrs = {};
|
|
49
|
-
for (const row of attrRows.rows)
|
|
50
|
-
|
|
49
|
+
for (const row of attrRows.rows) {
|
|
50
|
+
const field = row.dimension ? `${row.symbol}${row.dimension}` : row.symbol;
|
|
51
|
+
rawAttrs[field] = row.value;
|
|
52
|
+
}
|
|
51
53
|
const hierarchy = (0, hotmesh_utils_1.restoreHierarchy)((0, hotmesh_utils_1.inflateAttributes)(rawAttrs, symbolMap));
|
|
52
54
|
const meta = hierarchy['metadata'];
|
|
53
55
|
return {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.listEntities = listEntities;
|
|
4
4
|
exports.listJobs = listJobs;
|
|
5
|
-
const db_1 = require("
|
|
5
|
+
const db_1 = require("../../lib/db");
|
|
6
6
|
const hotmesh_utils_1 = require("../hotmesh-utils");
|
|
7
7
|
const sql_1 = require("./sql");
|
|
8
8
|
/**
|
|
@@ -57,7 +57,7 @@ async function listJobs(params) {
|
|
|
57
57
|
const keyPrefix = `hmsh:${appId}:j:`;
|
|
58
58
|
const [countResult, dataResult] = await Promise.all([
|
|
59
59
|
pool.query((0, sql_1.COUNT_JOBS)(schema, where), values),
|
|
60
|
-
pool.query((0, sql_1.LIST_JOBS)(schema, where, idx++, idx++), [...values, limit, offset]),
|
|
60
|
+
pool.query((0, sql_1.LIST_JOBS)(schema, appId, where, idx++, idx++), [...values, limit, offset]),
|
|
61
61
|
]);
|
|
62
62
|
const jobs = dataResult.rows.map((row) => ({
|
|
63
63
|
workflow_id: row.key.startsWith(keyPrefix) ? row.key.slice(keyPrefix.length) : row.key,
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
export declare const DISTINCT_ENTITIES_DURABLE = "\n SELECT DISTINCT entity FROM durable.jobs WHERE entity IS NOT NULL AND entity != '' ORDER BY entity";
|
|
1
2
|
export declare const DISTINCT_ENTITIES: (schema: string) => string;
|
|
2
3
|
export declare const ACTIVE_GRAPH_TOPICS = "SELECT DISTINCT graph_topic FROM lt_yaml_workflows WHERE app_id = $1 AND status IN ('active', 'deployed')";
|
|
3
4
|
export declare const COUNT_JOBS: (schema: string, where: string) => string;
|
|
4
|
-
export declare const
|
|
5
|
+
export declare const GET_JOB: (schema: string) => string;
|
|
6
|
+
export declare const GET_JOB_ATTRIBUTES: (schema: string) => string;
|
|
7
|
+
export declare const LIST_JOBS: (schema: string, appId: string, where: string, limitIdx: number, offsetIdx: number) => string;
|
|
@@ -3,14 +3,35 @@
|
|
|
3
3
|
// Schema placeholders (${schema}) are interpolated at call time
|
|
4
4
|
// because Postgres does not support parameterized schema names.
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.LIST_JOBS = exports.COUNT_JOBS = exports.ACTIVE_GRAPH_TOPICS = exports.DISTINCT_ENTITIES = void 0;
|
|
6
|
+
exports.LIST_JOBS = exports.GET_JOB_ATTRIBUTES = exports.GET_JOB = exports.COUNT_JOBS = exports.ACTIVE_GRAPH_TOPICS = exports.DISTINCT_ENTITIES = exports.DISTINCT_ENTITIES_DURABLE = void 0;
|
|
7
|
+
exports.DISTINCT_ENTITIES_DURABLE = `
|
|
8
|
+
SELECT DISTINCT entity FROM durable.jobs WHERE entity IS NOT NULL AND entity != '' ORDER BY entity`;
|
|
7
9
|
const DISTINCT_ENTITIES = (schema) => `SELECT DISTINCT entity FROM ${schema}.jobs WHERE entity IS NOT NULL AND entity != '' ORDER BY entity`;
|
|
8
10
|
exports.DISTINCT_ENTITIES = DISTINCT_ENTITIES;
|
|
9
11
|
exports.ACTIVE_GRAPH_TOPICS = `SELECT DISTINCT graph_topic FROM lt_yaml_workflows WHERE app_id = $1 AND status IN ('active', 'deployed')`;
|
|
10
12
|
const COUNT_JOBS = (schema, where) => `SELECT COUNT(*) FROM ${schema}.jobs j ${where}`;
|
|
11
13
|
exports.COUNT_JOBS = COUNT_JOBS;
|
|
12
|
-
|
|
14
|
+
// ─── Execution builder ──────────────────────────────────────────���───────────
|
|
15
|
+
const GET_JOB = (schema) => `SELECT id, key, entity, status, created_at, updated_at, expired_at, is_live
|
|
16
|
+
FROM ${schema}.jobs WHERE key = $1 LIMIT 1`;
|
|
17
|
+
exports.GET_JOB = GET_JOB;
|
|
18
|
+
const GET_JOB_ATTRIBUTES = (schema) => `SELECT symbol, dimension, value FROM ${schema}.jobs_attributes WHERE job_id = $1 ORDER BY symbol, dimension`;
|
|
19
|
+
exports.GET_JOB_ATTRIBUTES = GET_JOB_ATTRIBUTES;
|
|
20
|
+
// ─── Queries (queries.ts) ───────────────────────────────────────────────────
|
|
21
|
+
const LIST_JOBS = (schema, appId, where, limitIdx, offsetIdx) => `WITH ju_symbols AS (
|
|
22
|
+
SELECT value FROM ${schema}.symbols
|
|
23
|
+
WHERE key LIKE 'hmsh:${appId}:sym:keys:%' AND field = 'metadata/ju'
|
|
24
|
+
)
|
|
25
|
+
SELECT j.key, j.entity, j.status, j.is_live, j.created_at,
|
|
26
|
+
CASE WHEN j.updated_at != j.created_at THEN j.updated_at
|
|
27
|
+
WHEN ju.value IS NOT NULL THEN to_timestamp(ju.value, 'YYYYMMDDHH24MISS.MS')
|
|
28
|
+
ELSE j.updated_at
|
|
29
|
+
END as updated_at
|
|
13
30
|
FROM ${schema}.jobs j
|
|
31
|
+
LEFT JOIN ${schema}.jobs_attributes ju
|
|
32
|
+
ON ju.job_id = j.id
|
|
33
|
+
AND ju.symbol IN (SELECT value FROM ju_symbols)
|
|
34
|
+
AND (ju.dimension IS NULL OR ju.dimension = '')
|
|
14
35
|
${where}
|
|
15
36
|
ORDER BY (CASE WHEN j.status > 0 THEN 0 ELSE 1 END), j.created_at DESC
|
|
16
37
|
LIMIT $${limitIdx} OFFSET $${offsetIdx}`;
|
|
@@ -4,7 +4,7 @@ exports.listNamespaces = listNamespaces;
|
|
|
4
4
|
exports.getDefaultNamespace = getDefaultNamespace;
|
|
5
5
|
exports.getNamespace = getNamespace;
|
|
6
6
|
exports.registerNamespace = registerNamespace;
|
|
7
|
-
const db_1 = require("
|
|
7
|
+
const db_1 = require("../../lib/db");
|
|
8
8
|
const sql_1 = require("./sql");
|
|
9
9
|
/**
|
|
10
10
|
* List all registered namespaces, ordered by default-first then name.
|
|
@@ -6,43 +6,15 @@ exports.getFreshAccessToken = getFreshAccessToken;
|
|
|
6
6
|
exports.listOAuthConnections = listOAuthConnections;
|
|
7
7
|
exports.deleteOAuthConnection = deleteOAuthConnection;
|
|
8
8
|
exports.getUserByOAuthProvider = getUserByOAuthProvider;
|
|
9
|
-
const db_1 = require("
|
|
9
|
+
const db_1 = require("../../lib/db");
|
|
10
10
|
const crypto_1 = require("./crypto");
|
|
11
11
|
const providers_1 = require("./providers");
|
|
12
12
|
const crud_1 = require("../user/crud");
|
|
13
|
-
|
|
14
|
-
const UPSERT_TOKEN = `
|
|
15
|
-
INSERT INTO lt_oauth_tokens
|
|
16
|
-
(user_id, provider, label, access_token_enc, refresh_token_enc, token_type, scopes,
|
|
17
|
-
expires_at, provider_user_id, provider_email, metadata)
|
|
18
|
-
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)
|
|
19
|
-
ON CONFLICT (user_id, provider, label) DO UPDATE SET
|
|
20
|
-
access_token_enc = EXCLUDED.access_token_enc,
|
|
21
|
-
refresh_token_enc = COALESCE(EXCLUDED.refresh_token_enc, lt_oauth_tokens.refresh_token_enc),
|
|
22
|
-
token_type = EXCLUDED.token_type,
|
|
23
|
-
scopes = EXCLUDED.scopes,
|
|
24
|
-
expires_at = EXCLUDED.expires_at,
|
|
25
|
-
provider_user_id = EXCLUDED.provider_user_id,
|
|
26
|
-
provider_email = COALESCE(EXCLUDED.provider_email, lt_oauth_tokens.provider_email),
|
|
27
|
-
metadata = COALESCE(EXCLUDED.metadata, lt_oauth_tokens.metadata)
|
|
28
|
-
RETURNING id`;
|
|
29
|
-
const GET_TOKEN = `
|
|
30
|
-
SELECT * FROM lt_oauth_tokens WHERE user_id = $1 AND provider = $2 AND label = $3`;
|
|
31
|
-
const GET_TOKEN_DEFAULT = `
|
|
32
|
-
SELECT * FROM lt_oauth_tokens WHERE user_id = $1 AND provider = $2 AND label = 'default'`;
|
|
33
|
-
const LIST_CONNECTIONS = `
|
|
34
|
-
SELECT provider, label, provider_email, scopes, expires_at, metadata
|
|
35
|
-
FROM lt_oauth_tokens WHERE user_id = $1 ORDER BY provider, label`;
|
|
36
|
-
const DELETE_TOKEN = `
|
|
37
|
-
DELETE FROM lt_oauth_tokens WHERE user_id = $1 AND provider = $2 AND label = $3`;
|
|
38
|
-
const DELETE_TOKEN_DEFAULT = `
|
|
39
|
-
DELETE FROM lt_oauth_tokens WHERE user_id = $1 AND provider = $2 AND label = 'default'`;
|
|
40
|
-
const GET_USER_BY_OAUTH = `
|
|
41
|
-
SELECT * FROM lt_users WHERE oauth_provider = $1 AND oauth_provider_id = $2`;
|
|
13
|
+
const sql_1 = require("./sql");
|
|
42
14
|
// ── Database operations ──────────────────────────────────────────────────────
|
|
43
15
|
async function upsertOAuthToken(userId, provider, tokens, scopes, providerUserId, providerEmail, metadata, label = 'default') {
|
|
44
16
|
const pool = await (0, db_1.getPool)();
|
|
45
|
-
const result = await pool.query(UPSERT_TOKEN, [
|
|
17
|
+
const result = await pool.query(sql_1.UPSERT_TOKEN, [
|
|
46
18
|
userId,
|
|
47
19
|
provider,
|
|
48
20
|
label,
|
|
@@ -60,8 +32,8 @@ async function upsertOAuthToken(userId, provider, tokens, scopes, providerUserId
|
|
|
60
32
|
async function getOAuthToken(userId, provider, label) {
|
|
61
33
|
const pool = await (0, db_1.getPool)();
|
|
62
34
|
const { rows } = label
|
|
63
|
-
? await pool.query(GET_TOKEN, [userId, provider, label])
|
|
64
|
-
: await pool.query(GET_TOKEN_DEFAULT, [userId, provider]);
|
|
35
|
+
? await pool.query(sql_1.GET_TOKEN, [userId, provider, label])
|
|
36
|
+
: await pool.query(sql_1.GET_TOKEN_DEFAULT, [userId, provider]);
|
|
65
37
|
if (rows.length === 0)
|
|
66
38
|
return null;
|
|
67
39
|
const row = rows[0];
|
|
@@ -114,7 +86,7 @@ async function getFreshAccessToken(userId, provider, label) {
|
|
|
114
86
|
}
|
|
115
87
|
async function listOAuthConnections(userId) {
|
|
116
88
|
const pool = await (0, db_1.getPool)();
|
|
117
|
-
const { rows } = await pool.query(LIST_CONNECTIONS, [userId]);
|
|
89
|
+
const { rows } = await pool.query(sql_1.LIST_CONNECTIONS, [userId]);
|
|
118
90
|
return rows.map((r) => ({
|
|
119
91
|
provider: r.provider,
|
|
120
92
|
label: r.label,
|
|
@@ -127,13 +99,13 @@ async function listOAuthConnections(userId) {
|
|
|
127
99
|
async function deleteOAuthConnection(userId, provider, label) {
|
|
128
100
|
const pool = await (0, db_1.getPool)();
|
|
129
101
|
const result = label
|
|
130
|
-
? await pool.query(DELETE_TOKEN, [userId, provider, label])
|
|
131
|
-
: await pool.query(DELETE_TOKEN_DEFAULT, [userId, provider]);
|
|
102
|
+
? await pool.query(sql_1.DELETE_TOKEN, [userId, provider, label])
|
|
103
|
+
: await pool.query(sql_1.DELETE_TOKEN_DEFAULT, [userId, provider]);
|
|
132
104
|
return (result.rowCount ?? 0) > 0;
|
|
133
105
|
}
|
|
134
106
|
async function getUserByOAuthProvider(provider, providerUserId) {
|
|
135
107
|
const pool = await (0, db_1.getPool)();
|
|
136
|
-
const { rows } = await pool.query(GET_USER_BY_OAUTH, [provider, providerUserId]);
|
|
108
|
+
const { rows } = await pool.query(sql_1.GET_USER_BY_OAUTH, [provider, providerUserId]);
|
|
137
109
|
if (!rows[0])
|
|
138
110
|
return null;
|
|
139
111
|
return (0, crud_1.attachRoles)(rows[0]);
|
|
@@ -4,7 +4,7 @@ exports.getUserByOAuthProvider = exports.deleteOAuthConnection = exports.listOAu
|
|
|
4
4
|
exports.initializeOAuth = initializeOAuth;
|
|
5
5
|
const crypto_1 = require("./crypto");
|
|
6
6
|
const providers_1 = require("./providers");
|
|
7
|
-
const logger_1 = require("
|
|
7
|
+
const logger_1 = require("../../lib/logger");
|
|
8
8
|
var crypto_2 = require("./crypto");
|
|
9
9
|
Object.defineProperty(exports, "encrypt", { enumerable: true, get: function () { return crypto_2.encrypt; } });
|
|
10
10
|
Object.defineProperty(exports, "decrypt", { enumerable: true, get: function () { return crypto_2.decrypt; } });
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.registerProvider = registerProvider;
|
|
4
4
|
exports.getProvider = getProvider;
|
|
5
5
|
exports.listProviders = listProviders;
|
|
6
|
-
const logger_1 = require("
|
|
6
|
+
const logger_1 = require("../../../lib/logger");
|
|
7
7
|
const anthropic_1 = require("./anthropic");
|
|
8
8
|
const github_1 = require("./github");
|
|
9
9
|
const google_1 = require("./google");
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const UPSERT_TOKEN = "\n INSERT INTO lt_oauth_tokens\n (user_id, provider, label, access_token_enc, refresh_token_enc, token_type, scopes,\n expires_at, provider_user_id, provider_email, metadata)\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)\n ON CONFLICT (user_id, provider, label) DO UPDATE SET\n access_token_enc = EXCLUDED.access_token_enc,\n refresh_token_enc = COALESCE(EXCLUDED.refresh_token_enc, lt_oauth_tokens.refresh_token_enc),\n token_type = EXCLUDED.token_type,\n scopes = EXCLUDED.scopes,\n expires_at = EXCLUDED.expires_at,\n provider_user_id = EXCLUDED.provider_user_id,\n provider_email = COALESCE(EXCLUDED.provider_email, lt_oauth_tokens.provider_email),\n metadata = COALESCE(EXCLUDED.metadata, lt_oauth_tokens.metadata)\n RETURNING id";
|
|
2
|
+
export declare const GET_TOKEN = "\n SELECT * FROM lt_oauth_tokens WHERE user_id = $1 AND provider = $2 AND label = $3";
|
|
3
|
+
export declare const GET_TOKEN_DEFAULT = "\n SELECT * FROM lt_oauth_tokens WHERE user_id = $1 AND provider = $2 AND label = 'default'";
|
|
4
|
+
export declare const LIST_CONNECTIONS = "\n SELECT provider, label, provider_email, scopes, expires_at, metadata\n FROM lt_oauth_tokens WHERE user_id = $1 ORDER BY provider, label";
|
|
5
|
+
export declare const DELETE_TOKEN = "\n DELETE FROM lt_oauth_tokens WHERE user_id = $1 AND provider = $2 AND label = $3";
|
|
6
|
+
export declare const DELETE_TOKEN_DEFAULT = "\n DELETE FROM lt_oauth_tokens WHERE user_id = $1 AND provider = $2 AND label = 'default'";
|
|
7
|
+
export declare const GET_USER_BY_OAUTH = "\n SELECT * FROM lt_users WHERE oauth_provider = $1 AND oauth_provider_id = $2";
|