@taico/taico 0.2.0 → 0.2.11
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 +31 -77
- package/dist/agent-runs/agent-run.entity.d.ts +0 -2
- package/dist/agent-runs/agent-run.entity.js +0 -7
- package/dist/agent-runs/agent-run.entity.js.map +1 -1
- package/dist/agent-runs/agent-runs.controller.d.ts +1 -1
- package/dist/agent-runs/agent-runs.controller.js +4 -7
- package/dist/agent-runs/agent-runs.controller.js.map +1 -1
- package/dist/agent-runs/agent-runs.scopes.d.ts +1 -1
- package/dist/agent-runs/agent-runs.service.js +1 -2
- package/dist/agent-runs/agent-runs.service.js.map +1 -1
- package/dist/agents/agent-execution-tokens.controller.d.ts +4 -1
- package/dist/agents/agent-execution-tokens.controller.js +22 -4
- package/dist/agents/agent-execution-tokens.controller.js.map +1 -1
- package/dist/agents/agent-template.catalog.d.ts +4 -0
- package/dist/agents/agent-template.catalog.js +153 -0
- package/dist/agents/agent-template.catalog.js.map +1 -0
- package/dist/agents/agent-tool-permission-scope.entity.d.ts +11 -0
- package/dist/agents/agent-tool-permission-scope.entity.js +65 -0
- package/dist/agents/agent-tool-permission-scope.entity.js.map +1 -0
- package/dist/agents/agent-tool-permission.entity.d.ts +12 -0
- package/dist/agents/agent-tool-permission.entity.js +60 -0
- package/dist/agents/agent-tool-permission.entity.js.map +1 -0
- package/dist/agents/agent-tool-permissions.controller.d.ts +11 -0
- package/dist/agents/agent-tool-permissions.controller.js +87 -0
- package/dist/agents/agent-tool-permissions.controller.js.map +1 -0
- package/dist/agents/agent-tool-permissions.service.d.ts +19 -0
- package/dist/agents/agent-tool-permissions.service.js +194 -0
- package/dist/agents/agent-tool-permissions.service.js.map +1 -0
- package/dist/agents/agent.entity.d.ts +3 -1
- package/dist/agents/agent.entity.js +6 -0
- package/dist/agents/agent.entity.js.map +1 -1
- package/dist/agents/agents.controller.d.ts +2 -0
- package/dist/agents/agents.controller.js +12 -0
- package/dist/agents/agents.controller.js.map +1 -1
- package/dist/agents/agents.module.js +13 -2
- package/dist/agents/agents.module.js.map +1 -1
- package/dist/agents/agents.scopes.d.ts +1 -1
- package/dist/agents/agents.service.d.ts +2 -0
- package/dist/agents/agents.service.js +4 -0
- package/dist/agents/agents.service.js.map +1 -1
- package/dist/agents/dto/agent-response.dto.d.ts +1 -1
- package/dist/agents/dto/agent-template-catalog-response.dto.d.ts +33 -0
- package/dist/agents/dto/agent-template-catalog-response.dto.js +205 -0
- package/dist/agents/dto/agent-template-catalog-response.dto.js.map +1 -0
- package/dist/agents/dto/agent-tool-permission-params.dto.d.ts +3 -0
- package/dist/agents/dto/agent-tool-permission-params.dto.js +27 -0
- package/dist/agents/dto/agent-tool-permission-params.dto.js.map +1 -0
- package/dist/agents/dto/agent-tool-permission-response.dto.d.ts +20 -0
- package/dist/agents/dto/agent-tool-permission-response.dto.js +119 -0
- package/dist/agents/dto/agent-tool-permission-response.dto.js.map +1 -0
- package/dist/agents/dto/create-agent.dto.d.ts +1 -1
- package/dist/agents/dto/patch-agent.dto.d.ts +1 -1
- package/dist/agents/dto/request-agent-execution-token.dto.d.ts +1 -1
- package/dist/agents/dto/request-agent-execution-token.dto.js +3 -2
- package/dist/agents/dto/request-agent-execution-token.dto.js.map +1 -1
- package/dist/agents/dto/service/agent-tool-permissions.service.types.d.ts +17 -0
- package/dist/{executions/dto/service/execution-claim.service.types.js → agents/dto/service/agent-tool-permissions.service.types.js} +1 -1
- package/dist/agents/dto/service/agent-tool-permissions.service.types.js.map +1 -0
- package/dist/agents/dto/service/agents.service.types.d.ts +1 -1
- package/dist/agents/dto/upsert-agent-tool-permission.dto.d.ts +3 -0
- package/dist/agents/dto/upsert-agent-tool-permission.dto.js +30 -0
- package/dist/agents/dto/upsert-agent-tool-permission.dto.js.map +1 -0
- package/dist/agents/errors/agents.errors.d.ts +8 -0
- package/dist/agents/errors/agents.errors.js +15 -1
- package/dist/agents/errors/agents.errors.js.map +1 -1
- package/dist/app-init/agent/claude-dev.agent.d.ts +1 -1
- package/dist/app-init/agent/claude-dev.agent.js +1 -1
- package/dist/app-init/agent/claude-dev.agent.js.map +1 -1
- package/dist/app-init/agent/code-reviewer.agent.d.ts +1 -1
- package/dist/app-init/agent/code-reviewer.agent.js +4 -1
- package/dist/app-init/agent/code-reviewer.agent.js.map +1 -1
- package/dist/app-init/agent/codex-dev.agent.d.ts +1 -1
- package/dist/app-init/agent/codex-dev.agent.js +6 -3
- package/dist/app-init/agent/codex-dev.agent.js.map +1 -1
- package/dist/app-init/agent/gemini-assistant.agent.d.ts +1 -1
- package/dist/app-init/agent/gemini-assistant.agent.js +3 -1
- package/dist/app-init/agent/gemini-assistant.agent.js.map +1 -1
- package/dist/app-init/agent/taico.agent.d.ts +1 -1
- package/dist/app-init/agent/taico.agent.js +1 -1
- package/dist/app-init/agent/taico.agent.js.map +1 -1
- package/dist/app-init/app-init.runner.d.ts +14 -14
- package/dist/app-init/app-init.runner.js +11 -11
- package/dist/app-init/app-init.runner.js.map +1 -1
- package/dist/app-init/mcp/chrome-devtools.mcp.d.ts +2 -0
- package/dist/app-init/mcp/chrome-devtools.mcp.js +14 -0
- package/dist/app-init/mcp/chrome-devtools.mcp.js.map +1 -0
- package/dist/app-init/mcp/context.mcp.d.ts +3 -3
- package/dist/app-init/mcp/context.mcp.js +12 -9
- package/dist/app-init/mcp/context.mcp.js.map +1 -1
- package/dist/app-init/mcp/elen.mcp.d.ts +1 -1
- package/dist/app-init/mcp/internal-worker-auth.mcp.d.ts +2 -2
- package/dist/app-init/mcp/internal-worker-auth.mcp.js +12 -9
- package/dist/app-init/mcp/internal-worker-auth.mcp.js.map +1 -1
- package/dist/app-init/mcp/playwright.mcp.d.ts +1 -1
- package/dist/app-init/mcp/playwright.mcp.js +1 -1
- package/dist/app-init/mcp/playwright.mcp.js.map +1 -1
- package/dist/app-init/mcp/tasks.mcp.d.ts +3 -3
- package/dist/app-init/mcp/tasks.mcp.js +12 -9
- package/dist/app-init/mcp/tasks.mcp.js.map +1 -1
- package/dist/app-init/models/models.d.ts +10 -0
- package/dist/app-init/models/models.js +29 -0
- package/dist/app-init/models/models.js.map +1 -0
- package/dist/app-init/prompts/prompts.d.ts +5 -0
- package/dist/app-init/{agent → prompts}/prompts.js +20 -4
- package/dist/app-init/prompts/prompts.js.map +1 -0
- package/dist/app-init/user/admin.user.d.ts +2 -2
- package/dist/app-init/user/dev.user.d.ts +2 -2
- package/dist/app.module.js +14 -2
- package/dist/app.module.js.map +1 -1
- package/dist/auth/core/scopes/mcp.scopes.d.ts +1 -1
- package/dist/auth/core/scopes/user.scopes.d.ts +1 -1
- package/dist/auth/core/types/access-token-claims.type.d.ts +1 -1
- package/dist/auth/guards/context/auth-context.types.d.ts +1 -1
- package/dist/auth/guards/guards/ws-access-token-guard.js +4 -1
- package/dist/auth/guards/guards/ws-access-token-guard.js.map +1 -1
- package/dist/auth-journeys/entities/auth-journey.entity.d.ts +1 -1
- package/dist/authorization-server/authorization.service.d.ts +1 -1
- package/dist/authorization-server/client-registration.service.d.ts +2 -2
- package/dist/authorization-server/dto/service/authorization.service.types.d.ts +1 -1
- package/dist/authorization-server/dto/user-response.dto.d.ts +2 -1
- package/dist/authorization-server/dto/user-response.dto.js +7 -5
- package/dist/authorization-server/dto/user-response.dto.js.map +1 -1
- package/dist/authorization-server/token-exchange.service.d.ts +1 -1
- package/dist/authorization-server/web-auth.controller.d.ts +1 -1
- package/dist/authorization-server/web-auth.controller.js +4 -4
- package/dist/authorization-server/web-auth.controller.js.map +1 -1
- package/dist/authorization-server/web-auth.service.d.ts +3 -3
- package/dist/chat-providers/chat-providers.scopes.d.ts +1 -1
- package/dist/config/cli-env.d.ts +1 -0
- package/dist/config/cli-env.js +14 -0
- package/dist/config/cli-env.js.map +1 -0
- package/dist/config/env.config.js +13 -3
- package/dist/config/env.config.js.map +1 -1
- package/dist/context/block.entity.d.ts +1 -1
- package/dist/context/context.controller.d.ts +8 -0
- package/dist/context/context.controller.js +72 -0
- package/dist/context/context.controller.js.map +1 -1
- package/dist/context/context.mcp.gateway.d.ts +4 -4
- package/dist/context/context.scopes.d.ts +1 -1
- package/dist/context/context.service.d.ts +16 -0
- package/dist/context/context.service.js +219 -1
- package/dist/context/context.service.js.map +1 -1
- package/dist/context/dto/import-blocks-response.dto.d.ts +3 -0
- package/dist/context/dto/import-blocks-response.dto.js +25 -0
- package/dist/context/dto/import-blocks-response.dto.js.map +1 -0
- package/dist/context/errors/context.errors.d.ts +8 -0
- package/dist/context/errors/context.errors.js +15 -1
- package/dist/context/errors/context.errors.js.map +1 -1
- package/dist/discovery/discovery.service.js +3 -3
- package/dist/discovery/discovery.service.js.map +1 -1
- package/dist/errors/http/error-catalog.js +12 -0
- package/dist/errors/http/error-catalog.js.map +1 -1
- package/dist/{executions-v2 → executions}/active/active-execution-context-resolver.service.js +2 -2
- package/dist/executions/active/active-execution-context-resolver.service.js.map +1 -0
- package/dist/{executions-v2 → executions}/active/active-task-execution.controller.d.ts +3 -0
- package/dist/{executions-v2 → executions}/active/active-task-execution.controller.js +63 -6
- package/dist/executions/active/active-task-execution.controller.js.map +1 -0
- package/dist/{executions-v2 → executions}/active/active-task-execution.entity.d.ts +2 -0
- package/dist/{executions-v2 → executions}/active/active-task-execution.entity.js +11 -1
- package/dist/executions/active/active-task-execution.entity.js.map +1 -0
- package/dist/{executions-v2 → executions}/active/active-task-execution.service.d.ts +12 -1
- package/dist/{executions-v2 → executions}/active/active-task-execution.service.js +77 -8
- package/dist/executions/active/active-task-execution.service.js.map +1 -0
- package/dist/{executions-v2 → executions}/active/dto/http/active-task-execution-response.dto.d.ts +2 -0
- package/dist/{executions-v2 → executions}/active/dto/http/active-task-execution-response.dto.js +20 -0
- package/dist/executions/active/dto/http/active-task-execution-response.dto.js.map +1 -0
- package/dist/executions/active/dto/http/stop-active-task-execution.dto.js.map +1 -0
- package/dist/executions/active/dto/http/update-runner-session-id.dto.d.ts +3 -0
- package/dist/executions/active/dto/http/update-runner-session-id.dto.js +29 -0
- package/dist/executions/active/dto/http/update-runner-session-id.dto.js.map +1 -0
- package/dist/executions/errors/executions.errors.d.ts +8 -16
- package/dist/executions/errors/executions.errors.js +16 -26
- package/dist/executions/errors/executions.errors.js.map +1 -1
- package/dist/{executions-v2 → executions}/events/execution-activity.events.js +1 -1
- package/dist/executions/events/execution-activity.events.js.map +1 -0
- package/dist/{executions-v2 → executions}/execution-activity.service.d.ts +10 -0
- package/dist/{executions-v2 → executions}/execution-activity.service.js +27 -5
- package/dist/executions/execution-activity.service.js.map +1 -0
- package/dist/{executions-v2/executions-v2-worker.gateway.d.ts → executions/executions-worker.gateway.d.ts} +22 -4
- package/dist/executions/executions-worker.gateway.js +288 -0
- package/dist/executions/executions-worker.gateway.js.map +1 -0
- package/dist/executions/executions.module.js +51 -35
- package/dist/executions/executions.module.js.map +1 -1
- package/dist/{executions-v2 → executions}/history/dto/http/task-execution-history-response.dto.d.ts +2 -0
- package/dist/{executions-v2 → executions}/history/dto/http/task-execution-history-response.dto.js +20 -0
- package/dist/executions/history/dto/http/task-execution-history-response.dto.js.map +1 -0
- package/dist/executions/history/task-execution-history-error-code.enum.js.map +1 -0
- package/dist/executions/history/task-execution-history-status.enum.js.map +1 -0
- package/dist/{executions-v2 → executions}/history/task-execution-history.controller.js +3 -3
- package/dist/executions/history/task-execution-history.controller.js.map +1 -0
- package/dist/{executions-v2 → executions}/history/task-execution-history.entity.d.ts +2 -0
- package/dist/{executions-v2 → executions}/history/task-execution-history.entity.js +11 -1
- package/dist/executions/history/task-execution-history.entity.js.map +1 -0
- package/dist/executions/history/task-execution-history.service.js.map +1 -0
- package/dist/executions/queue/dto/http/task-execution-queue-entry-response.dto.js.map +1 -0
- package/dist/{executions-v2 → executions}/queue/task-execution-queue.controller.js +7 -7
- package/dist/executions/queue/task-execution-queue.controller.js.map +1 -0
- package/dist/executions/queue/task-execution-queue.entity.js.map +1 -0
- package/dist/executions/queue/task-execution-queue.service.js.map +1 -0
- package/dist/{executions-v2 → executions}/readiness/readiness-candidate.repository.d.ts +1 -0
- package/dist/{executions-v2 → executions}/readiness/readiness-candidate.repository.js +22 -11
- package/dist/executions/readiness/readiness-candidate.repository.js.map +1 -0
- package/dist/executions/readiness/task-eligibility-event-source.service.js.map +1 -0
- package/dist/executions/readiness/task-eligibility-scheduler.service.js.map +1 -0
- package/dist/{executions-v2 → executions}/readiness/task-execution-queue-populator.service.js +9 -12
- package/dist/executions/readiness/task-execution-queue-populator.service.js.map +1 -0
- package/dist/{executions-v2 → executions}/staleness/stale-active-task-execution-detector.service.js +1 -1
- package/dist/executions/staleness/stale-active-task-execution-detector.service.js.map +1 -0
- package/dist/executions/staleness/stale-active-task-execution-pruner.service.js.map +1 -0
- package/dist/{executions-v2 → executions}/staleness/stale-active-task-execution-scheduler.service.js +1 -1
- package/dist/executions/staleness/stale-active-task-execution-scheduler.service.js.map +1 -0
- package/dist/executions/task-activity-projection.service.js.map +1 -0
- package/dist/executions/workers.scopes.d.ts +9 -1
- package/dist/executions/workers.scopes.js +8 -0
- package/dist/executions/workers.scopes.js.map +1 -1
- package/dist/identity-provider/enums/index.d.ts +1 -0
- package/dist/identity-provider/enums/index.js +3 -1
- package/dist/identity-provider/enums/index.js.map +1 -1
- package/dist/identity-provider/enums/onboarding-display-mode.enum.d.ts +5 -0
- package/dist/identity-provider/enums/onboarding-display-mode.enum.js +10 -0
- package/dist/identity-provider/enums/onboarding-display-mode.enum.js.map +1 -0
- package/dist/identity-provider/identity-provider.service.d.ts +1 -0
- package/dist/identity-provider/identity-provider.service.js +6 -1
- package/dist/identity-provider/identity-provider.service.js.map +1 -1
- package/dist/identity-provider/user.entity.d.ts +2 -1
- package/dist/identity-provider/user.entity.js +9 -4
- package/dist/identity-provider/user.entity.js.map +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.js +8 -4
- package/dist/main.js.map +1 -1
- package/dist/mcp-registry/entities/mcp-scope.entity.d.ts +2 -0
- package/dist/mcp-registry/entities/mcp-scope.entity.js +6 -0
- package/dist/mcp-registry/entities/mcp-scope.entity.js.map +1 -1
- package/dist/mcp-registry/entities/mcp-server.entity.d.ts +2 -0
- package/dist/mcp-registry/entities/mcp-server.entity.js +6 -0
- package/dist/mcp-registry/entities/mcp-server.entity.js.map +1 -1
- package/dist/mcp-registry/errors/mcp-registry.errors.js +1 -1
- package/dist/mcp-registry/errors/mcp-registry.errors.js.map +1 -1
- package/dist/mcp-registry/mcp-registry.scopes.d.ts +1 -1
- package/dist/mcp-registry/mcp-registry.service.d.ts +1 -1
- package/dist/mcp-registry/mcp-registry.service.js +5 -1
- package/dist/mcp-registry/mcp-registry.service.js.map +1 -1
- package/dist/meta/meta.scopes.d.ts +1 -1
- package/dist/meta/tag.entity.d.ts +1 -1
- package/dist/migrations/1742000000000-AddAgentToolPermissions.d.ts +5 -0
- package/dist/migrations/1742000000000-AddAgentToolPermissions.js +44 -0
- package/dist/migrations/1742000000000-AddAgentToolPermissions.js.map +1 -0
- package/dist/migrations/1742100000000-AddExecutionEnrichmentFieldsV2.d.ts +6 -0
- package/dist/migrations/1742100000000-AddExecutionEnrichmentFieldsV2.js +44 -0
- package/dist/migrations/1742100000000-AddExecutionEnrichmentFieldsV2.js.map +1 -0
- package/dist/migrations/1742200000000-RenameExecutionTables.d.ts +5 -0
- package/dist/migrations/1742200000000-RenameExecutionTables.js +27 -0
- package/dist/migrations/1742200000000-RenameExecutionTables.js.map +1 -0
- package/dist/migrations/1742300000000-AddWorkersTable.d.ts +5 -0
- package/dist/migrations/1742300000000-AddWorkersTable.js +34 -0
- package/dist/migrations/1742300000000-AddWorkersTable.js.map +1 -0
- package/dist/migrations/1742400000000-RenameHasSeenWalkthroughToOnboardingDisplayMode.d.ts +6 -0
- package/dist/migrations/1742400000000-RenameHasSeenWalkthroughToOnboardingDisplayMode.js +78 -0
- package/dist/migrations/1742400000000-RenameHasSeenWalkthroughToOnboardingDisplayMode.js.map +1 -0
- package/dist/public/assets/index-Bh1qbaci.css +1 -0
- package/dist/public/assets/index-D558s7Ot.js +73 -0
- package/dist/public/beta/assets/index-BaBvl20K.css +1 -0
- package/dist/public/beta/assets/index-rfhzPvbf.js +94 -0
- package/dist/public/beta/index.html +2 -2
- package/dist/public/index.html +2 -2
- package/dist/secrets/secrets.scopes.d.ts +1 -1
- package/dist/tasks/tasks.mcp.gateway.d.ts +4 -4
- package/dist/tasks/tasks.module.js +2 -2
- package/dist/tasks/tasks.module.js.map +1 -1
- package/dist/tasks/tasks.scopes.d.ts +1 -1
- package/dist/tasks/tasks.service.d.ts +2 -2
- package/dist/tasks/tasks.service.js +1 -1
- package/dist/tasks/tasks.service.js.map +1 -1
- package/dist/threads/chat.service.d.ts +4 -4
- package/dist/threads/thread-state-reconciler.service.d.ts +3 -3
- package/dist/threads/threads.scopes.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/walkthrough/dto/walkthrough-status-response.dto.d.ts +12 -0
- package/dist/walkthrough/dto/walkthrough-status-response.dto.js +66 -0
- package/dist/walkthrough/dto/walkthrough-status-response.dto.js.map +1 -0
- package/dist/walkthrough/walkthrough.controller.d.ts +11 -0
- package/dist/walkthrough/walkthrough.controller.js +76 -0
- package/dist/walkthrough/walkthrough.controller.js.map +1 -0
- package/dist/walkthrough/walkthrough.module.d.ts +2 -0
- package/dist/walkthrough/walkthrough.module.js +43 -0
- package/dist/walkthrough/walkthrough.module.js.map +1 -0
- package/dist/walkthrough/walkthrough.service.d.ts +31 -0
- package/dist/walkthrough/walkthrough.service.js +110 -0
- package/dist/walkthrough/walkthrough.service.js.map +1 -0
- package/dist/workers/dto/http/worker-response.dto.d.ts +11 -0
- package/dist/workers/dto/http/worker-response.dto.js +58 -0
- package/dist/workers/dto/http/worker-response.dto.js.map +1 -0
- package/dist/workers/dto/service/workers.service.types.d.ts +6 -0
- package/dist/{worker/auth/worker-auth.types.js → workers/dto/service/workers.service.types.js} +1 -1
- package/dist/workers/dto/service/workers.service.types.js.map +1 -0
- package/dist/workers/events/workers.events.d.ts +14 -0
- package/dist/workers/events/workers.events.js +21 -0
- package/dist/workers/events/workers.events.js.map +1 -0
- package/dist/workers/worker.entity.d.ts +12 -0
- package/dist/workers/worker.entity.js +62 -0
- package/dist/workers/worker.entity.js.map +1 -0
- package/dist/workers/workers.controller.d.ts +7 -0
- package/dist/workers/workers.controller.js +51 -0
- package/dist/workers/workers.controller.js.map +1 -0
- package/dist/workers/workers.gateway.d.ts +18 -0
- package/dist/workers/workers.gateway.js +94 -0
- package/dist/workers/workers.gateway.js.map +1 -0
- package/dist/workers/workers.module.d.ts +2 -0
- package/dist/workers/workers.module.js +31 -0
- package/dist/workers/workers.module.js.map +1 -0
- package/dist/workers/workers.service.d.ts +11 -0
- package/dist/workers/workers.service.js +67 -0
- package/dist/workers/workers.service.js.map +1 -0
- package/package.json +6 -5
- package/dist/app-init/agent/prompts.d.ts +0 -4
- package/dist/app-init/agent/prompts.js.map +0 -1
- package/dist/app-init/agent/qwen3-coder-next.d.ts +0 -2
- package/dist/app-init/agent/qwen3-coder-next.js +0 -22
- package/dist/app-init/agent/qwen3-coder-next.js.map +0 -1
- package/dist/executions/dto/http/execution-list-response.dto.d.ts +0 -8
- package/dist/executions/dto/http/execution-list-response.dto.js +0 -58
- package/dist/executions/dto/http/execution-list-response.dto.js.map +0 -1
- package/dist/executions/dto/http/execution-response.dto.d.ts +0 -24
- package/dist/executions/dto/http/execution-response.dto.js +0 -225
- package/dist/executions/dto/http/execution-response.dto.js.map +0 -1
- package/dist/executions/dto/http/list-executions-query.dto.d.ts +0 -8
- package/dist/executions/dto/http/list-executions-query.dto.js +0 -79
- package/dist/executions/dto/http/list-executions-query.dto.js.map +0 -1
- package/dist/executions/dto/service/execution-claim.service.types.d.ts +0 -27
- package/dist/executions/dto/service/execution-claim.service.types.js.map +0 -1
- package/dist/executions/dto/service/executions.service.types.d.ts +0 -35
- package/dist/executions/dto/service/executions.service.types.js +0 -3
- package/dist/executions/dto/service/executions.service.types.js.map +0 -1
- package/dist/executions/enums/index.d.ts +0 -2
- package/dist/executions/enums/index.js +0 -8
- package/dist/executions/enums/index.js.map +0 -1
- package/dist/executions/enums/task-execution-status.enum.d.ts +0 -10
- package/dist/executions/enums/task-execution-status.enum.js +0 -15
- package/dist/executions/enums/task-execution-status.enum.js.map +0 -1
- package/dist/executions/enums/worker-session-status.enum.d.ts +0 -6
- package/dist/executions/enums/worker-session-status.enum.js +0 -11
- package/dist/executions/enums/worker-session-status.enum.js.map +0 -1
- package/dist/executions/events/executions.events.d.ts +0 -25
- package/dist/executions/events/executions.events.js +0 -39
- package/dist/executions/events/executions.events.js.map +0 -1
- package/dist/executions/execution-claim.service.d.ts +0 -17
- package/dist/executions/execution-claim.service.js +0 -368
- package/dist/executions/execution-claim.service.js.map +0 -1
- package/dist/executions/execution-context-resolver.service.d.ts +0 -21
- package/dist/executions/execution-context-resolver.service.js +0 -119
- package/dist/executions/execution-context-resolver.service.js.map +0 -1
- package/dist/executions/execution-reconciler.service.d.ts +0 -24
- package/dist/executions/execution-reconciler.service.js +0 -345
- package/dist/executions/execution-reconciler.service.js.map +0 -1
- package/dist/executions/executions.controller.d.ts +0 -8
- package/dist/executions/executions.controller.js +0 -70
- package/dist/executions/executions.controller.js.map +0 -1
- package/dist/executions/executions.gateway.d.ts +0 -21
- package/dist/executions/executions.gateway.js +0 -167
- package/dist/executions/executions.gateway.js.map +0 -1
- package/dist/executions/executions.service.d.ts +0 -15
- package/dist/executions/executions.service.js +0 -119
- package/dist/executions/executions.service.js.map +0 -1
- package/dist/executions/task-execution.entity.d.ts +0 -25
- package/dist/executions/task-execution.entity.js +0 -130
- package/dist/executions/task-execution.entity.js.map +0 -1
- package/dist/executions/worker-session.entity.d.ts +0 -19
- package/dist/executions/worker-session.entity.js +0 -103
- package/dist/executions/worker-session.entity.js.map +0 -1
- package/dist/executions/worker-session.service.d.ts +0 -24
- package/dist/executions/worker-session.service.js +0 -115
- package/dist/executions/worker-session.service.js.map +0 -1
- package/dist/executions/workers.gateway.d.ts +0 -25
- package/dist/executions/workers.gateway.js +0 -355
- package/dist/executions/workers.gateway.js.map +0 -1
- package/dist/executions-v2/active/active-execution-context-resolver.service.js.map +0 -1
- package/dist/executions-v2/active/active-task-execution.controller.js.map +0 -1
- package/dist/executions-v2/active/active-task-execution.entity.js.map +0 -1
- package/dist/executions-v2/active/active-task-execution.service.js.map +0 -1
- package/dist/executions-v2/active/dto/http/active-task-execution-response.dto.js.map +0 -1
- package/dist/executions-v2/active/dto/http/stop-active-task-execution.dto.js.map +0 -1
- package/dist/executions-v2/errors/executions-v2.errors.d.ts +0 -13
- package/dist/executions-v2/errors/executions-v2.errors.js +0 -31
- package/dist/executions-v2/errors/executions-v2.errors.js.map +0 -1
- package/dist/executions-v2/events/execution-activity.events.js.map +0 -1
- package/dist/executions-v2/execution-activity.service.js.map +0 -1
- package/dist/executions-v2/executions-v2-worker.gateway.js +0 -149
- package/dist/executions-v2/executions-v2-worker.gateway.js.map +0 -1
- package/dist/executions-v2/executions-v2.module.d.ts +0 -2
- package/dist/executions-v2/executions-v2.module.js +0 -78
- package/dist/executions-v2/executions-v2.module.js.map +0 -1
- package/dist/executions-v2/history/dto/http/task-execution-history-response.dto.js.map +0 -1
- package/dist/executions-v2/history/task-execution-history-error-code.enum.js.map +0 -1
- package/dist/executions-v2/history/task-execution-history-status.enum.js.map +0 -1
- package/dist/executions-v2/history/task-execution-history.controller.js.map +0 -1
- package/dist/executions-v2/history/task-execution-history.entity.js.map +0 -1
- package/dist/executions-v2/history/task-execution-history.service.js.map +0 -1
- package/dist/executions-v2/queue/dto/http/task-execution-queue-entry-response.dto.js.map +0 -1
- package/dist/executions-v2/queue/task-execution-queue.controller.js.map +0 -1
- package/dist/executions-v2/queue/task-execution-queue.entity.js.map +0 -1
- package/dist/executions-v2/queue/task-execution-queue.service.js.map +0 -1
- package/dist/executions-v2/readiness/readiness-candidate.repository.js.map +0 -1
- package/dist/executions-v2/readiness/task-eligibility-event-source.service.js.map +0 -1
- package/dist/executions-v2/readiness/task-eligibility-scheduler.service.js.map +0 -1
- package/dist/executions-v2/readiness/task-execution-queue-populator.service.js.map +0 -1
- package/dist/executions-v2/staleness/stale-active-task-execution-detector.service.js.map +0 -1
- package/dist/executions-v2/staleness/stale-active-task-execution-pruner.service.js.map +0 -1
- package/dist/executions-v2/staleness/stale-active-task-execution-scheduler.service.js.map +0 -1
- package/dist/executions-v2/task-activity-projection.service.js.map +0 -1
- package/dist/public/assets/index-BYBolBql.css +0 -1
- package/dist/public/assets/index-Cr1iblrK.js +0 -73
- package/dist/public/beta/assets/index-DCkmROA6.js +0 -85
- package/dist/public/beta/assets/index-DIzh0pTC.css +0 -1
- package/dist/worker/auth/callback-server.d.ts +0 -6
- package/dist/worker/auth/callback-server.js +0 -50
- package/dist/worker/auth/callback-server.js.map +0 -1
- package/dist/worker/auth/credentials-store.d.ts +0 -4
- package/dist/worker/auth/credentials-store.js +0 -23
- package/dist/worker/auth/credentials-store.js.map +0 -1
- package/dist/worker/auth/oauth-client.d.ts +0 -4
- package/dist/worker/auth/oauth-client.js +0 -116
- package/dist/worker/auth/oauth-client.js.map +0 -1
- package/dist/worker/auth/worker-auth-client.d.ts +0 -9
- package/dist/worker/auth/worker-auth-client.js +0 -35
- package/dist/worker/auth/worker-auth-client.js.map +0 -1
- package/dist/worker/auth/worker-auth.types.d.ts +0 -30
- package/dist/worker/auth/worker-auth.types.js.map +0 -1
- package/dist/worker/execution-orchestrator.d.ts +0 -25
- package/dist/worker/execution-orchestrator.js +0 -186
- package/dist/worker/execution-orchestrator.js.map +0 -1
- package/dist/worker/formatters/claude-message-formatter.d.ts +0 -13
- package/dist/worker/formatters/claude-message-formatter.js +0 -90
- package/dist/worker/formatters/claude-message-formatter.js.map +0 -1
- package/dist/worker/formatters/opencode-message-formatter.d.ts +0 -6
- package/dist/worker/formatters/opencode-message-formatter.js +0 -51
- package/dist/worker/formatters/opencode-message-formatter.js.map +0 -1
- package/dist/worker/helpers/ensure-repo.d.ts +0 -1
- package/dist/worker/helpers/ensure-repo.js +0 -37
- package/dist/worker/helpers/ensure-repo.js.map +0 -1
- package/dist/worker/helpers/prepare-workspace.d.ts +0 -1
- package/dist/worker/helpers/prepare-workspace.js +0 -24
- package/dist/worker/helpers/prepare-workspace.js.map +0 -1
- package/dist/worker/helpers/session-store.d.ts +0 -2
- package/dist/worker/helpers/session-store.js +0 -47
- package/dist/worker/helpers/session-store.js.map +0 -1
- package/dist/worker/runners/agent-runner.types.d.ts +0 -28
- package/dist/worker/runners/agent-runner.types.js +0 -3
- package/dist/worker/runners/agent-runner.types.js.map +0 -1
- package/dist/worker/runners/base-agent-runner.d.ts +0 -10
- package/dist/worker/runners/base-agent-runner.js +0 -41
- package/dist/worker/runners/base-agent-runner.js.map +0 -1
- package/dist/worker/runners/claude-agent-runner.d.ts +0 -9
- package/dist/worker/runners/claude-agent-runner.js +0 -79
- package/dist/worker/runners/claude-agent-runner.js.map +0 -1
- package/dist/worker/runners/opencode-agent-runner.d.ts +0 -18
- package/dist/worker/runners/opencode-agent-runner.js +0 -170
- package/dist/worker/runners/opencode-agent-runner.js.map +0 -1
- package/dist/worker/worker-gateway-client.d.ts +0 -45
- package/dist/worker/worker-gateway-client.js +0 -332
- package/dist/worker/worker-gateway-client.js.map +0 -1
- package/dist/worker/worker-mode.d.ts +0 -6
- package/dist/worker/worker-mode.js +0 -40
- package/dist/worker/worker-mode.js.map +0 -1
- /package/dist/{executions-v2 → executions}/active/active-execution-context-resolver.service.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/active/dto/http/stop-active-task-execution.dto.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/active/dto/http/stop-active-task-execution.dto.js +0 -0
- /package/dist/{executions-v2 → executions}/events/execution-activity.events.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/history/task-execution-history-error-code.enum.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/history/task-execution-history-error-code.enum.js +0 -0
- /package/dist/{executions-v2 → executions}/history/task-execution-history-status.enum.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/history/task-execution-history-status.enum.js +0 -0
- /package/dist/{executions-v2 → executions}/history/task-execution-history.controller.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/history/task-execution-history.service.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/history/task-execution-history.service.js +0 -0
- /package/dist/{executions-v2 → executions}/queue/dto/http/task-execution-queue-entry-response.dto.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/queue/dto/http/task-execution-queue-entry-response.dto.js +0 -0
- /package/dist/{executions-v2 → executions}/queue/task-execution-queue.controller.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/queue/task-execution-queue.entity.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/queue/task-execution-queue.entity.js +0 -0
- /package/dist/{executions-v2 → executions}/queue/task-execution-queue.service.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/queue/task-execution-queue.service.js +0 -0
- /package/dist/{executions-v2 → executions}/readiness/task-eligibility-event-source.service.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/readiness/task-eligibility-event-source.service.js +0 -0
- /package/dist/{executions-v2 → executions}/readiness/task-eligibility-scheduler.service.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/readiness/task-eligibility-scheduler.service.js +0 -0
- /package/dist/{executions-v2 → executions}/readiness/task-execution-queue-populator.service.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/staleness/stale-active-task-execution-detector.service.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/staleness/stale-active-task-execution-pruner.service.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/staleness/stale-active-task-execution-pruner.service.js +0 -0
- /package/dist/{executions-v2 → executions}/staleness/stale-active-task-execution-scheduler.service.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/task-activity-projection.service.d.ts +0 -0
- /package/dist/{executions-v2 → executions}/task-activity-projection.service.js +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UpdateRunnerSessionIdDto = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
class UpdateRunnerSessionIdDto {
|
|
16
|
+
sessionId;
|
|
17
|
+
}
|
|
18
|
+
exports.UpdateRunnerSessionIdDto = UpdateRunnerSessionIdDto;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, swagger_1.ApiProperty)({
|
|
21
|
+
description: 'Agent runtime session identifier for this execution',
|
|
22
|
+
example: 'session_01JZ0SMM85FBFA8Y82M8VREY2A',
|
|
23
|
+
maxLength: 255,
|
|
24
|
+
}),
|
|
25
|
+
(0, class_validator_1.IsString)(),
|
|
26
|
+
(0, class_validator_1.MaxLength)(255),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], UpdateRunnerSessionIdDto.prototype, "sessionId", void 0);
|
|
29
|
+
//# sourceMappingURL=update-runner-session-id.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-runner-session-id.dto.js","sourceRoot":"","sources":["../../../../../src/executions/active/dto/http/update-runner-session-id.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAsD;AAEtD,MAAa,wBAAwB;IAQnC,SAAS,CAAU;CACpB;AATD,4DASC;AADC;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,qDAAqD;QAClE,OAAO,EAAE,oCAAoC;QAC7C,SAAS,EAAE,GAAG;KACf,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;2DACI"}
|
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
readonly TASK_EXECUTION_NOT_FOUND: "TASK_EXECUTION_NOT_FOUND";
|
|
3
|
-
readonly TASK_EXECUTION_NOT_CLAIMABLE: "TASK_EXECUTION_NOT_CLAIMABLE";
|
|
4
|
-
readonly TASK_EXECUTION_ALREADY_CLAIMED: "TASK_EXECUTION_ALREADY_CLAIMED";
|
|
5
|
-
};
|
|
6
|
-
type ExecutionsErrorCode = (typeof ExecutionsErrorCodes)[keyof typeof ExecutionsErrorCodes];
|
|
7
|
-
export declare abstract class ExecutionsDomainError extends Error {
|
|
8
|
-
readonly code: ExecutionsErrorCode;
|
|
1
|
+
export declare abstract class ExecutionsError extends Error {
|
|
9
2
|
readonly context?: Record<string, unknown> | undefined;
|
|
10
|
-
constructor(message: string,
|
|
3
|
+
constructor(message: string, context?: Record<string, unknown> | undefined);
|
|
11
4
|
}
|
|
12
|
-
export declare class
|
|
13
|
-
constructor(
|
|
5
|
+
export declare class TaskExecutionQueueEntryNotFoundError extends ExecutionsError {
|
|
6
|
+
constructor(taskId: string);
|
|
14
7
|
}
|
|
15
|
-
export declare class
|
|
16
|
-
constructor(
|
|
8
|
+
export declare class TaskAlreadyClaimedError extends ExecutionsError {
|
|
9
|
+
constructor(taskId: string);
|
|
17
10
|
}
|
|
18
|
-
export declare class
|
|
19
|
-
constructor(executionId: string
|
|
11
|
+
export declare class ActiveTaskExecutionNotFoundError extends ExecutionsError {
|
|
12
|
+
constructor(executionId: string);
|
|
20
13
|
}
|
|
21
|
-
export {};
|
|
@@ -1,41 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
exports.ExecutionsErrorCodes = {
|
|
6
|
-
TASK_EXECUTION_NOT_FOUND: errors_1.ErrorCodes.TASK_EXECUTION_NOT_FOUND,
|
|
7
|
-
TASK_EXECUTION_NOT_CLAIMABLE: errors_1.ErrorCodes.TASK_EXECUTION_NOT_CLAIMABLE,
|
|
8
|
-
TASK_EXECUTION_ALREADY_CLAIMED: errors_1.ErrorCodes.TASK_EXECUTION_ALREADY_CLAIMED,
|
|
9
|
-
};
|
|
10
|
-
class ExecutionsDomainError extends Error {
|
|
11
|
-
code;
|
|
3
|
+
exports.ActiveTaskExecutionNotFoundError = exports.TaskAlreadyClaimedError = exports.TaskExecutionQueueEntryNotFoundError = exports.ExecutionsError = void 0;
|
|
4
|
+
class ExecutionsError extends Error {
|
|
12
5
|
context;
|
|
13
|
-
constructor(message,
|
|
6
|
+
constructor(message, context) {
|
|
14
7
|
super(message);
|
|
15
|
-
this.code = code;
|
|
16
8
|
this.context = context;
|
|
17
9
|
this.name = this.constructor.name;
|
|
18
10
|
}
|
|
19
11
|
}
|
|
20
|
-
exports.
|
|
21
|
-
class
|
|
22
|
-
constructor(
|
|
23
|
-
super('Task
|
|
24
|
-
executionId,
|
|
25
|
-
});
|
|
12
|
+
exports.ExecutionsError = ExecutionsError;
|
|
13
|
+
class TaskExecutionQueueEntryNotFoundError extends ExecutionsError {
|
|
14
|
+
constructor(taskId) {
|
|
15
|
+
super('Task is not present in the execution queue.', { taskId });
|
|
26
16
|
}
|
|
27
17
|
}
|
|
28
|
-
exports.
|
|
29
|
-
class
|
|
30
|
-
constructor(
|
|
31
|
-
super('Task
|
|
18
|
+
exports.TaskExecutionQueueEntryNotFoundError = TaskExecutionQueueEntryNotFoundError;
|
|
19
|
+
class TaskAlreadyClaimedError extends ExecutionsError {
|
|
20
|
+
constructor(taskId) {
|
|
21
|
+
super('Task already has an active execution.', { taskId });
|
|
32
22
|
}
|
|
33
23
|
}
|
|
34
|
-
exports.
|
|
35
|
-
class
|
|
36
|
-
constructor(executionId
|
|
37
|
-
super('
|
|
24
|
+
exports.TaskAlreadyClaimedError = TaskAlreadyClaimedError;
|
|
25
|
+
class ActiveTaskExecutionNotFoundError extends ExecutionsError {
|
|
26
|
+
constructor(executionId) {
|
|
27
|
+
super('Active execution was not found.', { executionId });
|
|
38
28
|
}
|
|
39
29
|
}
|
|
40
|
-
exports.
|
|
30
|
+
exports.ActiveTaskExecutionNotFoundError = ActiveTaskExecutionNotFoundError;
|
|
41
31
|
//# sourceMappingURL=executions.errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executions.errors.js","sourceRoot":"","sources":["../../../src/executions/errors/executions.errors.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"executions.errors.js","sourceRoot":"","sources":["../../../src/executions/errors/executions.errors.ts"],"names":[],"mappings":";;;AAAA,MAAsB,eAAgB,SAAQ,KAAK;IACX;IAAtC,YAAY,OAAe,EAAW,OAAiC;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,YAAO,GAAP,OAAO,CAA0B;QAErE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AALD,0CAKC;AAED,MAAa,oCAAqC,SAAQ,eAAe;IACvE,YAAY,MAAc;QACxB,KAAK,CAAC,6CAA6C,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAJD,oFAIC;AAED,MAAa,uBAAwB,SAAQ,eAAe;IAC1D,YAAY,MAAc;QACxB,KAAK,CAAC,uCAAuC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AAJD,0DAIC;AAED,MAAa,gCAAiC,SAAQ,eAAe;IACnE,YAAY,WAAmB;QAC7B,KAAK,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF;AAJD,4EAIC"}
|
|
@@ -4,7 +4,7 @@ exports.ExecutionActivityEvent = void 0;
|
|
|
4
4
|
class ExecutionActivityEvent {
|
|
5
5
|
actor;
|
|
6
6
|
payload;
|
|
7
|
-
static INTERNAL = Symbol('executions
|
|
7
|
+
static INTERNAL = Symbol('executions.ExecutionActivityEvent');
|
|
8
8
|
occurredAt = new Date();
|
|
9
9
|
constructor(actor, payload) {
|
|
10
10
|
this.actor = actor;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-activity.events.js","sourceRoot":"","sources":["../../../src/executions/events/execution-activity.events.ts"],"names":[],"mappings":";;;AAUA,MAAa,sBAAsB;IAMf;IACA;IANlB,MAAM,CAAU,QAAQ,GAAG,MAAM,CAAC,mCAAmC,CAAC,CAAC;IAE9D,UAAU,GAAS,IAAI,IAAI,EAAE,CAAC;IAEvC,YACkB,KAAqB,EACrB,OAAiC;QADjC,UAAK,GAAL,KAAK,CAAgB;QACrB,YAAO,GAAP,OAAO,CAA0B;IAChD,CAAC;;AARN,wDASC"}
|
|
@@ -8,6 +8,14 @@ export type PublishExecutionActivityInput = {
|
|
|
8
8
|
ts?: number;
|
|
9
9
|
runnerSessionId?: string | null;
|
|
10
10
|
};
|
|
11
|
+
export type PublishSystemExecutionActivityInput = {
|
|
12
|
+
executionId: string;
|
|
13
|
+
taskId: string;
|
|
14
|
+
agentActorId: string;
|
|
15
|
+
kind: string;
|
|
16
|
+
message?: string;
|
|
17
|
+
ts?: number;
|
|
18
|
+
};
|
|
11
19
|
export type TouchExecutionHeartbeatInput = {
|
|
12
20
|
executionId: string;
|
|
13
21
|
};
|
|
@@ -16,5 +24,7 @@ export declare class ExecutionActivityService {
|
|
|
16
24
|
private readonly eventEmitter;
|
|
17
25
|
constructor(activeTaskExecutionRepository: Repository<ActiveTaskExecutionEntity>, eventEmitter: EventEmitter2);
|
|
18
26
|
publishActivity(input: PublishExecutionActivityInput): Promise<void>;
|
|
27
|
+
publishSystemActivity(input: PublishSystemExecutionActivityInput): void;
|
|
19
28
|
touchHeartbeat(input: TouchExecutionHeartbeatInput): Promise<boolean>;
|
|
29
|
+
private emitExecutionActivity;
|
|
20
30
|
}
|
|
@@ -18,7 +18,7 @@ const event_emitter_1 = require("@nestjs/event-emitter");
|
|
|
18
18
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
19
|
const typeorm_2 = require("typeorm");
|
|
20
20
|
const active_task_execution_entity_1 = require("./active/active-task-execution.entity");
|
|
21
|
-
const
|
|
21
|
+
const executions_errors_1 = require("./errors/executions.errors");
|
|
22
22
|
const execution_activity_events_1 = require("./events/execution-activity.events");
|
|
23
23
|
let ExecutionActivityService = class ExecutionActivityService {
|
|
24
24
|
activeTaskExecutionRepository;
|
|
@@ -32,17 +32,28 @@ let ExecutionActivityService = class ExecutionActivityService {
|
|
|
32
32
|
where: { id: input.executionId },
|
|
33
33
|
});
|
|
34
34
|
if (!execution) {
|
|
35
|
-
throw new
|
|
35
|
+
throw new executions_errors_1.ActiveTaskExecutionNotFoundError(input.executionId);
|
|
36
36
|
}
|
|
37
|
-
this.
|
|
37
|
+
this.emitExecutionActivity({
|
|
38
38
|
executionId: execution.id,
|
|
39
39
|
taskId: execution.taskId,
|
|
40
40
|
agentActorId: execution.agentActorId,
|
|
41
41
|
kind: input.kind ?? 'worker.activity',
|
|
42
42
|
message: input.message,
|
|
43
|
-
ts: input.ts
|
|
43
|
+
ts: input.ts,
|
|
44
44
|
runnerSessionId: input.runnerSessionId ?? null,
|
|
45
|
-
})
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
publishSystemActivity(input) {
|
|
48
|
+
this.emitExecutionActivity({
|
|
49
|
+
executionId: input.executionId,
|
|
50
|
+
taskId: input.taskId,
|
|
51
|
+
agentActorId: input.agentActorId,
|
|
52
|
+
kind: input.kind,
|
|
53
|
+
message: input.message,
|
|
54
|
+
ts: input.ts,
|
|
55
|
+
runnerSessionId: null,
|
|
56
|
+
});
|
|
46
57
|
}
|
|
47
58
|
async touchHeartbeat(input) {
|
|
48
59
|
return this.activeTaskExecutionRepository
|
|
@@ -57,6 +68,17 @@ let ExecutionActivityService = class ExecutionActivityService {
|
|
|
57
68
|
.execute()
|
|
58
69
|
.then((result) => (result.affected ?? 0) > 0);
|
|
59
70
|
}
|
|
71
|
+
emitExecutionActivity(input) {
|
|
72
|
+
this.eventEmitter.emit(execution_activity_events_1.ExecutionActivityEvent.INTERNAL, new execution_activity_events_1.ExecutionActivityEvent({ id: input.agentActorId }, {
|
|
73
|
+
executionId: input.executionId,
|
|
74
|
+
taskId: input.taskId,
|
|
75
|
+
agentActorId: input.agentActorId,
|
|
76
|
+
kind: input.kind,
|
|
77
|
+
message: input.message,
|
|
78
|
+
ts: input.ts ?? Date.now(),
|
|
79
|
+
runnerSessionId: input.runnerSessionId ?? null,
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
60
82
|
};
|
|
61
83
|
exports.ExecutionActivityService = ExecutionActivityService;
|
|
62
84
|
exports.ExecutionActivityService = ExecutionActivityService = __decorate([
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-activity.service.js","sourceRoot":"","sources":["../../src/executions/execution-activity.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { OnGatewayConnection, OnGatewayDisconnect, OnGatewayInit } from '@nestjs/websockets';
|
|
2
|
-
import { Socket } from 'socket.io';
|
|
2
|
+
import { Server, Socket } from 'socket.io';
|
|
3
3
|
import { type PostExecutionHeartbeatPayload, type PostExecutionActivityPayload } from '@taico/events';
|
|
4
4
|
import { ExecutionActivityService } from './execution-activity.service';
|
|
5
|
-
|
|
5
|
+
import { WorkersService } from '../workers/workers.service';
|
|
6
|
+
import { AccessTokenValidationService } from '../auth/guards/validation/access-token-validation.service';
|
|
7
|
+
export declare class ExecutionsWorkerGateway implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect {
|
|
6
8
|
private readonly executionActivityService;
|
|
9
|
+
private readonly workersService;
|
|
10
|
+
private readonly accessTokenValidationService;
|
|
7
11
|
private readonly logger;
|
|
8
12
|
private readonly socketExpiryTimers;
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
private readonly harnessReportRequestedSocketIds;
|
|
14
|
+
constructor(executionActivityService: ExecutionActivityService, workersService: WorkersService, accessTokenValidationService: AccessTokenValidationService);
|
|
15
|
+
afterInit(server: Server): void;
|
|
11
16
|
handleConnection(client: Socket): void;
|
|
12
17
|
handleDisconnect(client: Socket): void;
|
|
13
18
|
postExecutionActivity(client: Socket, body: PostExecutionActivityPayload): Promise<{
|
|
@@ -24,6 +29,19 @@ export declare class ExecutionsV2WorkerGateway implements OnGatewayInit, OnGatew
|
|
|
24
29
|
ok: boolean;
|
|
25
30
|
error?: undefined;
|
|
26
31
|
}>;
|
|
32
|
+
postWorkerHeartbeat(client: Socket): Promise<{
|
|
33
|
+
ok: boolean;
|
|
34
|
+
error?: undefined;
|
|
35
|
+
} | {
|
|
36
|
+
ok: boolean;
|
|
37
|
+
error: string;
|
|
38
|
+
}>;
|
|
27
39
|
private scheduleTokenExpiryDisconnect;
|
|
28
40
|
private clearTokenExpiryDisconnect;
|
|
41
|
+
private recordWorkerSeen;
|
|
42
|
+
private recordAuthenticatedWorkerSeen;
|
|
43
|
+
private getOauthClientId;
|
|
44
|
+
private requestWorkerHarnessesReport;
|
|
45
|
+
private authenticateWorkerSocket;
|
|
46
|
+
private getSocketToken;
|
|
29
47
|
}
|
|
@@ -0,0 +1,288 @@
|
|
|
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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
+
};
|
|
44
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
45
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
46
|
+
};
|
|
47
|
+
var ExecutionsWorkerGateway_1;
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.ExecutionsWorkerGateway = void 0;
|
|
50
|
+
const websockets_1 = require("@nestjs/websockets");
|
|
51
|
+
const common_1 = require("@nestjs/common");
|
|
52
|
+
const socket_io_1 = require("socket.io");
|
|
53
|
+
const cookie = __importStar(require("cookie"));
|
|
54
|
+
const events_1 = require("@taico/events");
|
|
55
|
+
const ws_access_token_guard_1 = require("../auth/guards/guards/ws-access-token-guard");
|
|
56
|
+
const ws_scopes_guard_1 = require("../auth/guards/guards/ws-scopes.guard");
|
|
57
|
+
const require_scopes_decorator_1 = require("../auth/guards/decorators/require-scopes.decorator");
|
|
58
|
+
const workers_scopes_1 = require("./workers.scopes");
|
|
59
|
+
const execution_activity_service_1 = require("./execution-activity.service");
|
|
60
|
+
const executions_errors_1 = require("./errors/executions.errors");
|
|
61
|
+
const workers_service_1 = require("../workers/workers.service");
|
|
62
|
+
const access_token_validation_service_1 = require("../auth/guards/validation/access-token-validation.service");
|
|
63
|
+
const token_header_extractor_1 = require("../auth/guards/extractors/token-header.extractor");
|
|
64
|
+
const token_cookie_extractor_1 = require("../auth/guards/extractors/token-cookie.extractor");
|
|
65
|
+
const SOCKET_AUTH_EXPIRY_SKEW_MS = 1_000;
|
|
66
|
+
let ExecutionsWorkerGateway = ExecutionsWorkerGateway_1 = class ExecutionsWorkerGateway {
|
|
67
|
+
executionActivityService;
|
|
68
|
+
workersService;
|
|
69
|
+
accessTokenValidationService;
|
|
70
|
+
logger = new common_1.Logger(ExecutionsWorkerGateway_1.name);
|
|
71
|
+
socketExpiryTimers = new Map();
|
|
72
|
+
harnessReportRequestedSocketIds = new Set();
|
|
73
|
+
constructor(executionActivityService, workersService, accessTokenValidationService) {
|
|
74
|
+
this.executionActivityService = executionActivityService;
|
|
75
|
+
this.workersService = workersService;
|
|
76
|
+
this.accessTokenValidationService = accessTokenValidationService;
|
|
77
|
+
}
|
|
78
|
+
afterInit(server) {
|
|
79
|
+
server.use((client, next) => {
|
|
80
|
+
void this.authenticateWorkerSocket(client)
|
|
81
|
+
.then(() => next())
|
|
82
|
+
.catch((error) => {
|
|
83
|
+
this.logger.warn({
|
|
84
|
+
message: 'Worker socket authentication failed',
|
|
85
|
+
socketId: client.id,
|
|
86
|
+
error: error instanceof Error ? error.message : String(error),
|
|
87
|
+
});
|
|
88
|
+
next(new Error('unauthorized'));
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
this.logger.log('Executions worker WebSocket Gateway initialized');
|
|
92
|
+
}
|
|
93
|
+
handleConnection(client) {
|
|
94
|
+
this.logger.log(`Worker client connected: ${client.id}`);
|
|
95
|
+
void this.recordAuthenticatedWorkerSeen(client).catch((error) => {
|
|
96
|
+
this.logger.warn({
|
|
97
|
+
message: 'Failed to record worker connection liveness',
|
|
98
|
+
socketId: client.id,
|
|
99
|
+
error: error instanceof Error ? error.message : String(error),
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
handleDisconnect(client) {
|
|
104
|
+
this.logger.log(`Worker client disconnected: ${client.id}`);
|
|
105
|
+
this.clearTokenExpiryDisconnect(client.id);
|
|
106
|
+
this.harnessReportRequestedSocketIds.delete(client.id);
|
|
107
|
+
}
|
|
108
|
+
async postExecutionActivity(client, body) {
|
|
109
|
+
if (!body?.executionId) {
|
|
110
|
+
return { ok: false, error: 'executionId required' };
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
await this.executionActivityService.publishActivity({
|
|
114
|
+
executionId: body.executionId,
|
|
115
|
+
kind: body.kind,
|
|
116
|
+
message: body.message,
|
|
117
|
+
ts: body.ts,
|
|
118
|
+
runnerSessionId: body.runnerSessionId,
|
|
119
|
+
});
|
|
120
|
+
return { ok: true };
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
if (error instanceof executions_errors_1.ActiveTaskExecutionNotFoundError) {
|
|
124
|
+
return { ok: false, error: error.message };
|
|
125
|
+
}
|
|
126
|
+
this.logger.error({
|
|
127
|
+
message: 'Failed to forward execution activity',
|
|
128
|
+
socketId: client.id,
|
|
129
|
+
executionId: body.executionId,
|
|
130
|
+
error: error instanceof Error ? error.message : String(error),
|
|
131
|
+
});
|
|
132
|
+
return { ok: false, error: 'internal error' };
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
async postExecutionHeartbeat(client, body) {
|
|
136
|
+
if (!body?.executionId) {
|
|
137
|
+
return { ok: false, error: 'executionId required' };
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
await this.executionActivityService.touchHeartbeat({
|
|
141
|
+
executionId: body.executionId,
|
|
142
|
+
});
|
|
143
|
+
await this.recordAuthenticatedWorkerSeen(client);
|
|
144
|
+
return { ok: true };
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
this.logger.error({
|
|
148
|
+
message: 'Failed to process execution heartbeat',
|
|
149
|
+
socketId: client.id,
|
|
150
|
+
executionId: body.executionId,
|
|
151
|
+
error: error instanceof Error ? error.message : String(error),
|
|
152
|
+
});
|
|
153
|
+
return { ok: false, error: 'internal error' };
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
async postWorkerHeartbeat(client) {
|
|
157
|
+
try {
|
|
158
|
+
await this.recordAuthenticatedWorkerSeen(client);
|
|
159
|
+
return { ok: true };
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
this.logger.error({
|
|
163
|
+
message: 'Failed to process worker heartbeat',
|
|
164
|
+
socketId: client.id,
|
|
165
|
+
error: error instanceof Error ? error.message : String(error),
|
|
166
|
+
});
|
|
167
|
+
return { ok: false, error: 'internal error' };
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
scheduleTokenExpiryDisconnect(client) {
|
|
171
|
+
this.clearTokenExpiryDisconnect(client.id);
|
|
172
|
+
const auth = client.data.auth;
|
|
173
|
+
const expSeconds = auth?.claims?.exp;
|
|
174
|
+
if (!expSeconds) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const disconnectAtMs = expSeconds * 1000 - SOCKET_AUTH_EXPIRY_SKEW_MS;
|
|
178
|
+
const delayMs = disconnectAtMs - Date.now();
|
|
179
|
+
if (delayMs <= 0) {
|
|
180
|
+
client.disconnect(true);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
const timer = setTimeout(() => {
|
|
184
|
+
this.logger.log(`Disconnecting worker socket ${client.id} because its auth token expired`);
|
|
185
|
+
client.disconnect(true);
|
|
186
|
+
}, delayMs);
|
|
187
|
+
this.socketExpiryTimers.set(client.id, timer);
|
|
188
|
+
}
|
|
189
|
+
clearTokenExpiryDisconnect(socketId) {
|
|
190
|
+
const timer = this.socketExpiryTimers.get(socketId);
|
|
191
|
+
if (!timer) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
clearTimeout(timer);
|
|
195
|
+
this.socketExpiryTimers.delete(socketId);
|
|
196
|
+
}
|
|
197
|
+
async recordWorkerSeen(client) {
|
|
198
|
+
const oauthClientId = this.getOauthClientId(client);
|
|
199
|
+
if (!oauthClientId) {
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
await this.workersService.recordWorkerSeen({ oauthClientId });
|
|
203
|
+
return true;
|
|
204
|
+
}
|
|
205
|
+
async recordAuthenticatedWorkerSeen(client) {
|
|
206
|
+
if (!(await this.recordWorkerSeen(client))) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
this.scheduleTokenExpiryDisconnect(client);
|
|
210
|
+
this.requestWorkerHarnessesReport(client);
|
|
211
|
+
}
|
|
212
|
+
getOauthClientId(client) {
|
|
213
|
+
const auth = client.data.auth;
|
|
214
|
+
const oauthClientId = auth?.claims?.client_id;
|
|
215
|
+
if (!oauthClientId) {
|
|
216
|
+
this.logger.warn(`Worker socket ${client.id} is missing client_id in auth claims`);
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
return oauthClientId;
|
|
220
|
+
}
|
|
221
|
+
requestWorkerHarnessesReport(client) {
|
|
222
|
+
if (this.harnessReportRequestedSocketIds.has(client.id)) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
this.harnessReportRequestedSocketIds.add(client.id);
|
|
226
|
+
client.emit(events_1.ExecutionWireEvents.WORKER_HARNESSES_REPORT_REQUESTED);
|
|
227
|
+
}
|
|
228
|
+
async authenticateWorkerSocket(client) {
|
|
229
|
+
const token = this.getSocketToken(client);
|
|
230
|
+
if (!token) {
|
|
231
|
+
throw new Error('missing token');
|
|
232
|
+
}
|
|
233
|
+
const claims = await this.accessTokenValidationService.validateAccessToken(token);
|
|
234
|
+
if (!claims.scope.includes(workers_scopes_1.WorkersScopes.CONNECT.id)) {
|
|
235
|
+
throw new Error(`missing required scope ${workers_scopes_1.WorkersScopes.CONNECT.id}`);
|
|
236
|
+
}
|
|
237
|
+
const authContext = {
|
|
238
|
+
token,
|
|
239
|
+
claims,
|
|
240
|
+
scopes: claims.scope,
|
|
241
|
+
subject: claims.sub,
|
|
242
|
+
};
|
|
243
|
+
client.data.auth = authContext;
|
|
244
|
+
}
|
|
245
|
+
getSocketToken(client) {
|
|
246
|
+
return (client.handshake.auth?.token ||
|
|
247
|
+
(0, token_header_extractor_1.tokenFromHeaders)(client.handshake.headers) ||
|
|
248
|
+
(0, token_cookie_extractor_1.tokenFromCookies)(cookie.parse(client.handshake.headers.cookie || '')));
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
exports.ExecutionsWorkerGateway = ExecutionsWorkerGateway;
|
|
252
|
+
__decorate([
|
|
253
|
+
(0, websockets_1.SubscribeMessage)(events_1.ExecutionWireEvents.EXECUTION_ACTIVITY_POST),
|
|
254
|
+
__param(0, (0, websockets_1.ConnectedSocket)()),
|
|
255
|
+
__param(1, (0, websockets_1.MessageBody)()),
|
|
256
|
+
__metadata("design:type", Function),
|
|
257
|
+
__metadata("design:paramtypes", [socket_io_1.Socket, Object]),
|
|
258
|
+
__metadata("design:returntype", Promise)
|
|
259
|
+
], ExecutionsWorkerGateway.prototype, "postExecutionActivity", null);
|
|
260
|
+
__decorate([
|
|
261
|
+
(0, websockets_1.SubscribeMessage)(events_1.ExecutionWireEvents.EXECUTION_HEARTBEAT_POST),
|
|
262
|
+
__param(0, (0, websockets_1.ConnectedSocket)()),
|
|
263
|
+
__param(1, (0, websockets_1.MessageBody)()),
|
|
264
|
+
__metadata("design:type", Function),
|
|
265
|
+
__metadata("design:paramtypes", [socket_io_1.Socket, Object]),
|
|
266
|
+
__metadata("design:returntype", Promise)
|
|
267
|
+
], ExecutionsWorkerGateway.prototype, "postExecutionHeartbeat", null);
|
|
268
|
+
__decorate([
|
|
269
|
+
(0, websockets_1.SubscribeMessage)(events_1.ExecutionWireEvents.WORKER_HEARTBEAT_POST),
|
|
270
|
+
__param(0, (0, websockets_1.ConnectedSocket)()),
|
|
271
|
+
__metadata("design:type", Function),
|
|
272
|
+
__metadata("design:paramtypes", [socket_io_1.Socket]),
|
|
273
|
+
__metadata("design:returntype", Promise)
|
|
274
|
+
], ExecutionsWorkerGateway.prototype, "postWorkerHeartbeat", null);
|
|
275
|
+
exports.ExecutionsWorkerGateway = ExecutionsWorkerGateway = ExecutionsWorkerGateway_1 = __decorate([
|
|
276
|
+
(0, common_1.UseGuards)(ws_access_token_guard_1.WsAccessTokenGuard, ws_scopes_guard_1.WsScopesGuard),
|
|
277
|
+
(0, require_scopes_decorator_1.RequireScopes)(workers_scopes_1.WorkersScopes.CONNECT.id),
|
|
278
|
+
(0, websockets_1.WebSocketGateway)({
|
|
279
|
+
cors: {
|
|
280
|
+
origin: '*',
|
|
281
|
+
},
|
|
282
|
+
namespace: '/executions/worker',
|
|
283
|
+
}),
|
|
284
|
+
__metadata("design:paramtypes", [execution_activity_service_1.ExecutionActivityService,
|
|
285
|
+
workers_service_1.WorkersService,
|
|
286
|
+
access_token_validation_service_1.AccessTokenValidationService])
|
|
287
|
+
], ExecutionsWorkerGateway);
|
|
288
|
+
//# sourceMappingURL=executions-worker.gateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executions-worker.gateway.js","sourceRoot":"","sources":["../../src/executions/executions-worker.gateway.ts"],"names":[],"mappings":"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"}
|