@cat-factory/server 0.167.0 → 0.169.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/modelProviderResolver.d.ts +9 -1
- package/dist/agents/modelProviderResolver.d.ts.map +1 -1
- package/dist/agents/modelProviderResolver.js +1 -0
- package/dist/agents/modelProviderResolver.js.map +1 -1
- package/dist/agents/storeAgentContextGate.d.ts +36 -0
- package/dist/agents/storeAgentContextGate.d.ts.map +1 -0
- package/dist/agents/storeAgentContextGate.js +36 -0
- package/dist/agents/storeAgentContextGate.js.map +1 -0
- package/dist/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js +2 -1
- package/dist/auth/middleware.js.map +1 -1
- package/dist/http/errorHandler.d.ts.map +1 -1
- package/dist/http/errorHandler.js +6 -0
- package/dist/http/errorHandler.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/accounts/AccountController.d.ts.map +1 -1
- package/dist/modules/accounts/AccountController.js +37 -31
- package/dist/modules/accounts/AccountController.js.map +1 -1
- package/dist/modules/agentRuns/AgentRunController.d.ts.map +1 -1
- package/dist/modules/agentRuns/AgentRunController.js +9 -6
- package/dist/modules/agentRuns/AgentRunController.js.map +1 -1
- package/dist/modules/artifacts/ArtifactController.d.ts.map +1 -1
- package/dist/modules/artifacts/ArtifactController.js +8 -5
- package/dist/modules/artifacts/ArtifactController.js.map +1 -1
- package/dist/modules/artifacts/HarnessArtifactController.d.ts.map +1 -1
- package/dist/modules/artifacts/HarnessArtifactController.js +5 -4
- package/dist/modules/artifacts/HarnessArtifactController.js.map +1 -1
- package/dist/modules/auth/AuthController.d.ts.map +1 -1
- package/dist/modules/auth/AuthController.js +48 -50
- package/dist/modules/auth/AuthController.js.map +1 -1
- package/dist/modules/bootstrap/BootstrapController.d.ts.map +1 -1
- package/dist/modules/bootstrap/BootstrapController.js +12 -9
- package/dist/modules/bootstrap/BootstrapController.js.map +1 -1
- package/dist/modules/brainstorm/BrainstormController.d.ts.map +1 -1
- package/dist/modules/brainstorm/BrainstormController.js +12 -9
- package/dist/modules/brainstorm/BrainstormController.js.map +1 -1
- package/dist/modules/bugHunt/BugHuntController.d.ts.map +1 -1
- package/dist/modules/bugHunt/BugHuntController.js +7 -5
- package/dist/modules/bugHunt/BugHuntController.js.map +1 -1
- package/dist/modules/clarity/ClarityReviewController.d.ts.map +1 -1
- package/dist/modules/clarity/ClarityReviewController.js +12 -9
- package/dist/modules/clarity/ClarityReviewController.js.map +1 -1
- package/dist/modules/docInterview/DocInterviewController.d.ts.map +1 -1
- package/dist/modules/docInterview/DocInterviewController.js +8 -5
- package/dist/modules/docInterview/DocInterviewController.js.map +1 -1
- package/dist/modules/documents/DocumentSourceController.d.ts.map +1 -1
- package/dist/modules/documents/DocumentSourceController.js +17 -15
- package/dist/modules/documents/DocumentSourceController.js.map +1 -1
- package/dist/modules/environments/EnvironmentController.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentController.js +33 -33
- package/dist/modules/environments/EnvironmentController.js.map +1 -1
- package/dist/modules/environments/EnvironmentUserHandlerController.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentUserHandlerController.js +13 -9
- package/dist/modules/environments/EnvironmentUserHandlerController.js.map +1 -1
- package/dist/modules/fragmentLibrary/FragmentLibraryController.d.ts.map +1 -1
- package/dist/modules/fragmentLibrary/FragmentLibraryController.js +32 -41
- package/dist/modules/fragmentLibrary/FragmentLibraryController.js.map +1 -1
- package/dist/modules/github/GitHubController.d.ts.map +1 -1
- package/dist/modules/github/GitHubController.js +26 -23
- package/dist/modules/github/GitHubController.js.map +1 -1
- package/dist/modules/github/GitHubWebhookController.d.ts.map +1 -1
- package/dist/modules/github/GitHubWebhookController.js +5 -4
- package/dist/modules/github/GitHubWebhookController.js.map +1 -1
- package/dist/modules/gitlab/GitLabController.d.ts.map +1 -1
- package/dist/modules/gitlab/GitLabController.js +7 -4
- package/dist/modules/gitlab/GitLabController.js.map +1 -1
- package/dist/modules/incidentEnrichment/IncidentEnrichmentController.d.ts.map +1 -1
- package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js +7 -9
- package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js.map +1 -1
- package/dist/modules/initiatives/InitiativeController.d.ts.map +1 -1
- package/dist/modules/initiatives/InitiativeController.js +20 -17
- package/dist/modules/initiatives/InitiativeController.js.map +1 -1
- package/dist/modules/kaizen/KaizenController.d.ts.map +1 -1
- package/dist/modules/kaizen/KaizenController.js +6 -3
- package/dist/modules/kaizen/KaizenController.js.map +1 -1
- package/dist/modules/llmProxy/LlmProxyController.d.ts.map +1 -1
- package/dist/modules/llmProxy/LlmProxyController.js +41 -12
- package/dist/modules/llmProxy/LlmProxyController.js.map +1 -1
- package/dist/modules/localModels/LocalModelEndpointController.d.ts.map +1 -1
- package/dist/modules/localModels/LocalModelEndpointController.js +15 -10
- package/dist/modules/localModels/LocalModelEndpointController.js.map +1 -1
- package/dist/modules/localSettings/LocalSettingsController.d.ts.map +1 -1
- package/dist/modules/localSettings/LocalSettingsController.js +6 -8
- package/dist/modules/localSettings/LocalSettingsController.js.map +1 -1
- package/dist/modules/localSettings/MothershipConnectController.d.ts.map +1 -1
- package/dist/modules/localSettings/MothershipConnectController.js +2 -6
- package/dist/modules/localSettings/MothershipConnectController.js.map +1 -1
- package/dist/modules/merge/MergeTrackRecordController.d.ts.map +1 -1
- package/dist/modules/merge/MergeTrackRecordController.js +6 -3
- package/dist/modules/merge/MergeTrackRecordController.js.map +1 -1
- package/dist/modules/merge/RiskPolicyController.d.ts.map +1 -1
- package/dist/modules/merge/RiskPolicyController.js +9 -6
- package/dist/modules/merge/RiskPolicyController.js.map +1 -1
- package/dist/modules/modelPresets/ModelPresetController.d.ts.map +1 -1
- package/dist/modules/modelPresets/ModelPresetController.js +9 -6
- package/dist/modules/modelPresets/ModelPresetController.js.map +1 -1
- package/dist/modules/notificationWebhook/NotificationWebhookController.d.ts.map +1 -1
- package/dist/modules/notificationWebhook/NotificationWebhookController.js +7 -4
- package/dist/modules/notificationWebhook/NotificationWebhookController.js.map +1 -1
- package/dist/modules/notifications/NotificationController.d.ts.map +1 -1
- package/dist/modules/notifications/NotificationController.js +7 -4
- package/dist/modules/notifications/NotificationController.js.map +1 -1
- package/dist/modules/observability/PlatformObservabilityController.d.ts.map +1 -1
- package/dist/modules/observability/PlatformObservabilityController.js +6 -8
- package/dist/modules/observability/PlatformObservabilityController.js.map +1 -1
- package/dist/modules/openrouter/OpenRouterCatalogController.d.ts.map +1 -1
- package/dist/modules/openrouter/OpenRouterCatalogController.js +13 -8
- package/dist/modules/openrouter/OpenRouterCatalogController.js.map +1 -1
- package/dist/modules/packageRegistries/PackageRegistriesController.d.ts.map +1 -1
- package/dist/modules/packageRegistries/PackageRegistriesController.js +7 -9
- package/dist/modules/packageRegistries/PackageRegistriesController.js.map +1 -1
- package/dist/modules/persistence/GitHubDelegationController.d.ts.map +1 -1
- package/dist/modules/persistence/GitHubDelegationController.js +3 -7
- package/dist/modules/persistence/GitHubDelegationController.js.map +1 -1
- package/dist/modules/preflight/PreflightController.d.ts.map +1 -1
- package/dist/modules/preflight/PreflightController.js +5 -7
- package/dist/modules/preflight/PreflightController.js.map +1 -1
- package/dist/modules/preview/PreviewController.d.ts.map +1 -1
- package/dist/modules/preview/PreviewController.js +7 -9
- package/dist/modules/preview/PreviewController.js.map +1 -1
- package/dist/modules/providers/ApiKeyController.d.ts.map +1 -1
- package/dist/modules/providers/ApiKeyController.js +19 -14
- package/dist/modules/providers/ApiKeyController.js.map +1 -1
- package/dist/modules/providers/PersonalSubscriptionController.d.ts.map +1 -1
- package/dist/modules/providers/PersonalSubscriptionController.js +13 -8
- package/dist/modules/providers/PersonalSubscriptionController.js.map +1 -1
- package/dist/modules/providers/UserSecretController.d.ts.map +1 -1
- package/dist/modules/providers/UserSecretController.js +17 -12
- package/dist/modules/providers/UserSecretController.js.map +1 -1
- package/dist/modules/providers/VendorCredentialController.d.ts.map +1 -1
- package/dist/modules/providers/VendorCredentialController.js +8 -10
- package/dist/modules/providers/VendorCredentialController.js.map +1 -1
- package/dist/modules/provisioningLogs/ProvisioningLogController.d.ts.map +1 -1
- package/dist/modules/provisioningLogs/ProvisioningLogController.js +5 -2
- package/dist/modules/provisioningLogs/ProvisioningLogController.js.map +1 -1
- package/dist/modules/publicApi/PublicApiController.js +4 -4
- package/dist/modules/publicApi/PublicApiController.js.map +1 -1
- package/dist/modules/publicApi/PublicApiKeyController.d.ts.map +1 -1
- package/dist/modules/publicApi/PublicApiKeyController.js +7 -4
- package/dist/modules/publicApi/PublicApiKeyController.js.map +1 -1
- package/dist/modules/recurring/RecurringPipelineController.d.ts.map +1 -1
- package/dist/modules/recurring/RecurringPipelineController.js +10 -7
- package/dist/modules/recurring/RecurringPipelineController.js.map +1 -1
- package/dist/modules/recurring/TrackerSettingsController.d.ts.map +1 -1
- package/dist/modules/recurring/TrackerSettingsController.js +6 -3
- package/dist/modules/recurring/TrackerSettingsController.js.map +1 -1
- package/dist/modules/releaseHealth/ReleaseHealthController.d.ts.map +1 -1
- package/dist/modules/releaseHealth/ReleaseHealthController.js +10 -7
- package/dist/modules/releaseHealth/ReleaseHealthController.js.map +1 -1
- package/dist/modules/reports/ReportsController.d.ts.map +1 -1
- package/dist/modules/reports/ReportsController.js +6 -3
- package/dist/modules/reports/ReportsController.js.map +1 -1
- package/dist/modules/requirements/RequirementReviewController.d.ts.map +1 -1
- package/dist/modules/requirements/RequirementReviewController.js +16 -13
- package/dist/modules/requirements/RequirementReviewController.js.map +1 -1
- package/dist/modules/runners/RunnerPoolController.d.ts.map +1 -1
- package/dist/modules/runners/RunnerPoolController.js +10 -7
- package/dist/modules/runners/RunnerPoolController.js.map +1 -1
- package/dist/modules/sandbox/SandboxController.d.ts.map +1 -1
- package/dist/modules/sandbox/SandboxController.js +17 -14
- package/dist/modules/sandbox/SandboxController.js.map +1 -1
- package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.d.ts.map +1 -1
- package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.js +6 -3
- package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.js.map +1 -1
- package/dist/modules/services/ServiceMountController.d.ts.map +1 -1
- package/dist/modules/services/ServiceMountController.js +9 -6
- package/dist/modules/services/ServiceMountController.js.map +1 -1
- package/dist/modules/settings/WorkspaceSettingsController.d.ts.map +1 -1
- package/dist/modules/settings/WorkspaceSettingsController.js +6 -3
- package/dist/modules/settings/WorkspaceSettingsController.js.map +1 -1
- package/dist/modules/sharedStack/SharedStackController.d.ts.map +1 -1
- package/dist/modules/sharedStack/SharedStackController.js +11 -8
- package/dist/modules/sharedStack/SharedStackController.js.map +1 -1
- package/dist/modules/skillLibrary/SkillLibraryController.d.ts.map +1 -1
- package/dist/modules/skillLibrary/SkillLibraryController.js +19 -19
- package/dist/modules/skillLibrary/SkillLibraryController.js.map +1 -1
- package/dist/modules/slack/SlackController.d.ts.map +1 -1
- package/dist/modules/slack/SlackController.js +16 -13
- package/dist/modules/slack/SlackController.js.map +1 -1
- package/dist/modules/tasks/TaskSourceController.d.ts.map +1 -1
- package/dist/modules/tasks/TaskSourceController.js +26 -24
- package/dist/modules/tasks/TaskSourceController.js.map +1 -1
- package/dist/modules/tasks/TaskWebhookController.d.ts.map +1 -1
- package/dist/modules/tasks/TaskWebhookController.js +4 -4
- package/dist/modules/tasks/TaskWebhookController.js.map +1 -1
- package/dist/modules/testSecrets/TestSecretsController.d.ts.map +1 -1
- package/dist/modules/testSecrets/TestSecretsController.js +7 -9
- package/dist/modules/testSecrets/TestSecretsController.js.map +1 -1
- package/dist/modules/userSettings/UserSettingsController.d.ts.map +1 -1
- package/dist/modules/userSettings/UserSettingsController.js +11 -6
- package/dist/modules/userSettings/UserSettingsController.js.map +1 -1
- package/dist/modules/validation/ValidationConfigController.d.ts.map +1 -1
- package/dist/modules/validation/ValidationConfigController.js +52 -11
- package/dist/modules/validation/ValidationConfigController.js.map +1 -1
- package/dist/modules/vcs/VcsWebhookController.d.ts.map +1 -1
- package/dist/modules/vcs/VcsWebhookController.js +5 -5
- package/dist/modules/vcs/VcsWebhookController.js.map +1 -1
- package/dist/modules/webSearch/WebSearchProxyController.d.ts.map +1 -1
- package/dist/modules/webSearch/WebSearchProxyController.js +3 -3
- package/dist/modules/webSearch/WebSearchProxyController.js.map +1 -1
- package/dist/modules/workspaces/WorkspaceMemberController.d.ts.map +1 -1
- package/dist/modules/workspaces/WorkspaceMemberController.js +9 -6
- package/dist/modules/workspaces/WorkspaceMemberController.js.map +1 -1
- package/dist/persistence/rpc-allowlist.d.ts.map +1 -1
- package/dist/persistence/rpc-allowlist.js +6 -0
- package/dist/persistence/rpc-allowlist.js.map +1 -1
- package/dist/persistence/rpc.d.ts.map +1 -1
- package/dist/persistence/rpc.js +3 -0
- package/dist/persistence/rpc.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskSourceController.js","sourceRoot":"","sources":["../../../src/modules/tasks/TaskSourceController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EAClC,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACpB,+BAA+B,GAGhC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,eAAe,EAA4B,MAAM,qBAAqB,CAAA;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE5C,gFAAgF;AAChF,SAAS,YAAY,CAAmB,CAAa;IACnD,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,IAAI,CAAA;AACzC,CAAC;AAED,MAAM,WAAW,GAAG,CAAmB,CAAa,EAAE,EAAE,CACtD,CAAC,CAAC,IAAI,CACJ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,2CAA2C,EAAE,EAAE,EACxF,GAAG,CACJ,CAAA;AAEH,uEAAuE;AACvE,SAAS,WAAW,CAAmB,CAAa;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,eAAe,CAAC,wBAAwB,MAAM,GAAG,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,kBAAkB,CAC/B,CAAa,EACb,MAAsB,EACtB,OAAe;IAEf,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACpC,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAA;IACpD,IAAI,MAAM,GAAqD,IAAI,CAAA;IACnE,IAAI,CAAC;QACH,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sFAAsF;QACtF,gFAAgF;QAChF,kFAAkF;QAClF,iFAAiF;QACjF,IAAI,CAAC,CAAC,GAAG,YAAY,eAAe,CAAC;YAAE,MAAM,GAAG,CAAA;QAChD,MAAM,GAAG,IAAI,CAAA;IACf,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,wFAAwF;QACxF,0DAA0D;QAC1D,MAAM,IAAI,eAAe,CACvB,yGAAyG,EACzG,EAAE,MAAM,EAAE,iBAAgD,EAAE,CAC7D,CAAA;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;AACnD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB,CAC7B,CAAa,EACb,OAA2B;IAE3B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAA;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAA;QAC9D,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,oFAAoF;QACpF,mFAAmF;QACnF,IAAI,CAAC,CAAC,GAAG,YAAY,eAAe,CAAC;YAAE,MAAM,GAAG,CAAA;QAChD,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,0BAA0B,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAE/D,4EAA4E;IAE5E,6EAA6E;IAC7E,iFAAiF;IACjF,gEAAgE;IAChE,cAAc,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;QACvF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,6EAA6E;IAC7E,6EAA6E;IAC7E,gFAAgF;IAChF,wDAAwD;IACxD,cAAc,CAAC,GAAG,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,KAAK,CAAC,iBAAiB,CAAC,UAAU,CACtC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,WAAW,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAC5B,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAE5E,cAAc,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;QAC1F,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,OAAO,CACtD,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,WAAW,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,CAChC,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;QACjF,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,gFAAgF;IAChF,iFAAiF;IACjF,kFAAkF;IAClF,8EAA8E;IAC9E,+DAA+D;IAC/D,cAAc,CAAC,GAAG,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CACvD,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,WAAW,CAAC,CAAC,CAAC,CACf,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAC5E,EAAE;IACF,gGAAgG;IAChG,iGAAiG;IACjG,mFAAmF;IAEnF,oFAAoF;IACpF,cAAc,CAAC,GAAG,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,eAAe,CACzD,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,WAAW,CAAC,CAAC,CAAC,CACf,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,iGAAiG;IACjG,0DAA0D;IAC1D,cAAc,CAAC,GAAG,EAAE,kCAAkC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClE,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAC5D,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,WAAW,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACpB,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,2FAA2F;IAC3F,gFAAgF;IAChF,cAAc,CAAC,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,CACjE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,WAAW,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,CAC/B,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,6FAA6F;IAC7F,kCAAkC;IAClC,cAAc,CAAC,GAAG,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;QACzF,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAE5E,gFAAgF;IAChF,+EAA+E;IAC/E,cAAc,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;QACpF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,sFAAsF;IACtF,kFAAkF;IAClF,0EAA0E;IAC1E,cAAc,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;QAC3C,uFAAuF;QACvF,0FAA0F;QAC1F,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAA;QACjF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gCAAgC,EAAE,EAAE,EAC7E,GAAG,CACJ,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC5E,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC9B,WAAW;YACX,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,IAAI;YACjC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;SACjC,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;QAC1D,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAE5E,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;QACrE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;IACzF,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,CAC3C,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,WAAW,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CACxB,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,6CAA6C;IAC7C,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAC/F,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAE5E,8DAA8D;IAC9D,cAAc,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC3D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,WAAW,CAC9C,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,OAAO,EACP,MAAM,EACN,UAAU,CACX,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,gFAAgF;IAChF,6EAA6E;IAC7E,cAAc,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,mBAAmB,CACxD,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,WAAW,EACX,MAAM,EACN,UAAU,EACV,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,IAAI,CAC1B,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,uFAAuF;IACvF,sFAAsF;IACtF,sFAAsF;IACtF,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,SAAS,CAC9C,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,WAAW,CAAC,CAAC,CAAC,EACd,GAAG,EACH,WAAW,EACX,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,IAAI,EACzB,QAAQ,CACT,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QAEjC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAChF,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACnE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAA;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC9F,CAAC;QAED,oFAAoF;QACpF,yFAAyF;QACzF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACvF,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,WAAW,CAAC;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;QACxC,MAAM,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAC7E,gFAAgF;QAChF,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"TaskSourceController.js","sourceRoot":"","sources":["../../../src/modules/tasks/TaskSourceController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskWebhookController.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/TaskWebhookController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"TaskWebhookController.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/TaskWebhookController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAU3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,CAuEpD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
|
-
import { isTaskSourceKind, trackerWebhookSecret } from '@cat-factory/kernel';
|
|
2
|
+
import { isTaskSourceKind, trackerWebhookSecret, UnavailableError, UnauthorizedError, } from '@cat-factory/kernel';
|
|
3
3
|
import { webhookBodyLimit } from '../../webhooks/bodyLimit.js';
|
|
4
4
|
import { logger } from '../../observability/logger.js';
|
|
5
5
|
/**
|
|
@@ -30,7 +30,7 @@ export function taskWebhookController() {
|
|
|
30
30
|
const tasks = container.tasks;
|
|
31
31
|
const trackerWebhook = container.trackerWebhook;
|
|
32
32
|
if (!tasks || !trackerWebhook) {
|
|
33
|
-
|
|
33
|
+
throw new UnavailableError('Task sources are not configured');
|
|
34
34
|
}
|
|
35
35
|
// A provider with no webhook capability 404s rather than 503s: unlike an unconfigured
|
|
36
36
|
// deployment this will never start working, so an operator who pasted the wrong URL should
|
|
@@ -46,7 +46,7 @@ export function taskWebhookController() {
|
|
|
46
46
|
// Fail CLOSED on an unconfigured secret: an empty HMAC key is one an attacker also has, so
|
|
47
47
|
// this must never degrade to "accept anything". 503 (not 401) because the remedy is the
|
|
48
48
|
// operator's — mint a secret on the connection — not the caller's.
|
|
49
|
-
|
|
49
|
+
throw new UnavailableError('No webhook secret configured');
|
|
50
50
|
}
|
|
51
51
|
// Verify against the RAW bytes before parsing. Hono's `header()` (no arg) returns every header
|
|
52
52
|
// with lower-cased keys, which is what the adapters' scheme names assume.
|
|
@@ -66,7 +66,7 @@ export function taskWebhookController() {
|
|
|
66
66
|
`workspace's ${sourceParam} connection differ — re-mint the secret via ` +
|
|
67
67
|
`POST /workspaces/${workspaceId}/task-sources/${sourceParam}/webhook and paste the ` +
|
|
68
68
|
`returned value into the tracker.`, { event: 'tracker_webhook_signature_rejected', source: sourceParam, workspaceId });
|
|
69
|
-
|
|
69
|
+
throw new UnauthorizedError('Invalid signature');
|
|
70
70
|
}
|
|
71
71
|
// Verified but unrecognised ⇒ ack. Trackers send far more event kinds than we consume, and
|
|
72
72
|
// retrying a shape we will never act on just makes the vendor redeliver it forever.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskWebhookController.js","sourceRoot":"","sources":["../../../src/modules/tasks/TaskWebhookController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"TaskWebhookController.js","sourceRoot":"","sources":["../../../src/modules/tasks/TaskWebhookController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestSecretsController.d.ts","sourceRoot":"","sources":["../../../src/modules/testSecrets/TestSecretsController.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"TestSecretsController.d.ts","sourceRoot":"","sources":["../../../src/modules/testSecrets/TestSecretsController.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAgB/C;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,CA6BpD"}
|
|
@@ -3,16 +3,14 @@ import { buildHonoRoute } from '@toad-contracts/hono';
|
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
4
|
import { requireWorkspacePermission } from '../../http/workspaceAccess.js';
|
|
5
5
|
import { param } from '../../http/params.js';
|
|
6
|
+
import { UnavailableError } from '@cat-factory/kernel';
|
|
6
7
|
/** Resolve the test-secrets service or send a 503, returning null when unconfigured. */
|
|
7
8
|
function requireTestSecrets(c) {
|
|
8
9
|
return c.get('container').testSecrets ?? null;
|
|
9
10
|
}
|
|
10
|
-
const unavailable = (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
message: 'The sensitive test-credential store is not configured (needs ENCRYPTION_KEY)',
|
|
14
|
-
},
|
|
15
|
-
}, 503);
|
|
11
|
+
const unavailable = () => {
|
|
12
|
+
throw new UnavailableError('The sensitive test-credential store is not configured (needs ENCRYPTION_KEY)');
|
|
13
|
+
};
|
|
16
14
|
/**
|
|
17
15
|
* The SENSITIVE per-service test-credential store: sealed at rest, delivered to the Tester
|
|
18
16
|
* out of band (never in a prompt or the telemetry snapshot). Values are write-only — the view
|
|
@@ -25,20 +23,20 @@ export function testSecretsController() {
|
|
|
25
23
|
buildHonoRoute(app, getServiceTestSecretsContract, async (c) => {
|
|
26
24
|
const svc = requireTestSecrets(c);
|
|
27
25
|
if (!svc)
|
|
28
|
-
return unavailable(
|
|
26
|
+
return unavailable();
|
|
29
27
|
return c.json(await svc.getView(param(c, 'workspaceId'), c.req.valid('param').blockId), 200);
|
|
30
28
|
});
|
|
31
29
|
buildHonoRoute(app, setServiceTestSecretsContract, async (c) => {
|
|
32
30
|
const svc = requireTestSecrets(c);
|
|
33
31
|
if (!svc)
|
|
34
|
-
return unavailable(
|
|
32
|
+
return unavailable();
|
|
35
33
|
const view = await svc.set(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json'));
|
|
36
34
|
return c.json(view, 200);
|
|
37
35
|
});
|
|
38
36
|
buildHonoRoute(app, deleteServiceTestSecretsContract, async (c) => {
|
|
39
37
|
const svc = requireTestSecrets(c);
|
|
40
38
|
if (!svc)
|
|
41
|
-
return unavailable(
|
|
39
|
+
return unavailable();
|
|
42
40
|
await svc.deleteFor(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
43
41
|
return c.body(null, 204);
|
|
44
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestSecretsController.js","sourceRoot":"","sources":["../../../src/modules/testSecrets/TestSecretsController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"TestSecretsController.js","sourceRoot":"","sources":["../../../src/modules/testSecrets/TestSecretsController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,wFAAwF;AACxF,SAAS,kBAAkB,CAAmB,CAAa;IACzD,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,IAAI,IAAI,CAAA;AAC/C,CAAC;AAED,MAAM,WAAW,GAAG,GAAU,EAAE;IAC9B,MAAM,IAAI,gBAAgB,CACxB,8EAA8E,CAC/E,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAE1D,cAAc,CAAC,GAAG,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7D,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,WAAW,EAAE,CAAA;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9F,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7D,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,WAAW,EAAE,CAAA;QAC9B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACxB,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAC5B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACpB,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,gCAAgC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAChE,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,WAAW,EAAE,CAAA;QAC9B,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;QAC1E,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserSettingsController.d.ts","sourceRoot":"","sources":["../../../src/modules/userSettings/UserSettingsController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"UserSettingsController.d.ts","sourceRoot":"","sources":["../../../src/modules/userSettings/UserSettingsController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAe/C,wBAAgB,sBAAsB,IAAI,IAAI,CAAC,MAAM,CAAC,CAoBrD"}
|
|
@@ -1,29 +1,34 @@
|
|
|
1
1
|
import { getUserSettingsContract, updateUserSettingsContract } from '@cat-factory/contracts';
|
|
2
2
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
|
+
import { UnavailableError, UnauthorizedError } from '@cat-factory/kernel';
|
|
4
5
|
// Per-USER settings (today: the user-tier spend budget). Scoped to the signed-in user
|
|
5
6
|
// (not a workspace), mounted at the root, like personal subscriptions + local model
|
|
6
7
|
// runners. Absent user-settings persistence ⇒ 503 (unconfigured facade / tests).
|
|
7
|
-
const signInRequired = (
|
|
8
|
-
|
|
8
|
+
const signInRequired = () => {
|
|
9
|
+
throw new UnauthorizedError('Sign in to manage your settings');
|
|
10
|
+
};
|
|
11
|
+
const unavailable = () => {
|
|
12
|
+
throw new UnavailableError('User settings storage is not configured');
|
|
13
|
+
};
|
|
9
14
|
export function userSettingsController() {
|
|
10
15
|
const app = new Hono();
|
|
11
16
|
buildHonoRoute(app, getUserSettingsContract, async (c) => {
|
|
12
17
|
const settings = c.get('container').userSettings;
|
|
13
18
|
if (!settings)
|
|
14
|
-
return unavailable(
|
|
19
|
+
return unavailable();
|
|
15
20
|
const user = c.get('user');
|
|
16
21
|
if (!user)
|
|
17
|
-
return signInRequired(
|
|
22
|
+
return signInRequired();
|
|
18
23
|
return c.json(await settings.service.get(user.id), 200);
|
|
19
24
|
});
|
|
20
25
|
buildHonoRoute(app, updateUserSettingsContract, async (c) => {
|
|
21
26
|
const settings = c.get('container').userSettings;
|
|
22
27
|
if (!settings)
|
|
23
|
-
return unavailable(
|
|
28
|
+
return unavailable();
|
|
24
29
|
const user = c.get('user');
|
|
25
30
|
if (!user)
|
|
26
|
-
return signInRequired(
|
|
31
|
+
return signInRequired();
|
|
27
32
|
return c.json(await settings.service.update(user.id, c.req.valid('json')), 200);
|
|
28
33
|
});
|
|
29
34
|
return app;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserSettingsController.js","sourceRoot":"","sources":["../../../src/modules/userSettings/UserSettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"UserSettingsController.js","sourceRoot":"","sources":["../../../src/modules/userSettings/UserSettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEzE,sFAAsF;AACtF,oFAAoF;AACpF,iFAAiF;AAEjF,MAAM,cAAc,GAAG,GAAU,EAAE;IACjC,MAAM,IAAI,iBAAiB,CAAC,iCAAiC,CAAC,CAAA;AAChE,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,GAAU,EAAE;IAC9B,MAAM,IAAI,gBAAgB,CAAC,yCAAyC,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,cAAc,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvD,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,CAAA;QAChD,IAAI,CAAC,QAAQ;YAAE,OAAO,WAAW,EAAE,CAAA;QACnC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC1B,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,EAAE,CAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,CAAA;QAChD,IAAI,CAAC,QAAQ;YAAE,OAAO,WAAW,EAAE,CAAA;QACnC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC1B,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,EAAE,CAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationConfigController.d.ts","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ValidationConfigController.d.ts","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAc/C;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAAC,MAAM,CAAC,CA2EzD"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { deleteServiceValidationConfigContract, getServiceValidationConfigContract, listServiceValidationConfigsContract, setServiceValidationConfigContract, } from '@cat-factory/contracts';
|
|
1
|
+
import { deleteServiceValidationConfigContract, detectServiceValidationChecksContract, getServiceValidationConfigContract, listServiceValidationConfigsContract, setServiceValidationConfigContract, } from '@cat-factory/contracts';
|
|
2
2
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
|
+
import { detectValidationChecksFromRepo } from '@cat-factory/integrations';
|
|
5
|
+
import { describeError } from '@cat-factory/kernel';
|
|
4
6
|
import { requireWorkspacePermission } from '../../http/workspaceAccess.js';
|
|
5
7
|
import { param } from '../../http/params.js';
|
|
8
|
+
import { UnavailableError } from '@cat-factory/kernel';
|
|
6
9
|
/** Resolve the validation-config service or send a 503, returning null when unconfigured. */
|
|
7
10
|
function requireValidationConfig(c) {
|
|
8
11
|
return c.get('container').validationConfig ?? null;
|
|
9
12
|
}
|
|
10
|
-
const unavailable = (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
message: 'The validation-check store is not configured',
|
|
14
|
-
},
|
|
15
|
-
}, 503);
|
|
13
|
+
const unavailable = () => {
|
|
14
|
+
throw new UnavailableError('The validation-check store is not configured');
|
|
15
|
+
};
|
|
16
16
|
/**
|
|
17
17
|
* Per-service PRE-PR VALIDATION CHECKS: the shell commands the executor-harness runs against
|
|
18
18
|
* the checkout after the coding agent settles and BEFORE the PR opens (see
|
|
@@ -26,26 +26,67 @@ export function validationConfigController() {
|
|
|
26
26
|
buildHonoRoute(app, listServiceValidationConfigsContract, async (c) => {
|
|
27
27
|
const svc = requireValidationConfig(c);
|
|
28
28
|
if (!svc)
|
|
29
|
-
return unavailable(
|
|
29
|
+
return unavailable();
|
|
30
30
|
return c.json(await svc.list(param(c, 'workspaceId')), 200);
|
|
31
31
|
});
|
|
32
32
|
buildHonoRoute(app, getServiceValidationConfigContract, async (c) => {
|
|
33
33
|
const svc = requireValidationConfig(c);
|
|
34
34
|
if (!svc)
|
|
35
|
-
return unavailable(
|
|
35
|
+
return unavailable();
|
|
36
36
|
return c.json(await svc.getView(param(c, 'workspaceId'), c.req.valid('param').blockId), 200);
|
|
37
37
|
});
|
|
38
38
|
buildHonoRoute(app, setServiceValidationConfigContract, async (c) => {
|
|
39
39
|
const svc = requireValidationConfig(c);
|
|
40
40
|
if (!svc)
|
|
41
|
-
return unavailable(
|
|
41
|
+
return unavailable();
|
|
42
42
|
const view = await svc.set(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json'));
|
|
43
43
|
return c.json(view, 200);
|
|
44
44
|
});
|
|
45
|
+
// Suggest checks from the service repo's own manifests (the panel's "Detect" button).
|
|
46
|
+
// A pure READ that writes nothing: it fills the operator's rows, and they save as usual.
|
|
47
|
+
//
|
|
48
|
+
// Deliberately independent of the config STORE (`requireValidationConfig`) — detection
|
|
49
|
+
// reads the repo, not the table, so a facade that wired no store would still answer here.
|
|
50
|
+
// The store's absence hides the whole panel client-side, so this never strands a control.
|
|
51
|
+
buildHonoRoute(app, detectServiceValidationChecksContract, async (c) => {
|
|
52
|
+
const container = c.get('container');
|
|
53
|
+
const resolve = container.resolveRunRepoContext;
|
|
54
|
+
// The three outcomes are REPORTED, never collapsed into an empty list: "no repo linked"
|
|
55
|
+
// and "GitHub read failed" send an operator to completely different places than "we read
|
|
56
|
+
// your repo and recognised nothing".
|
|
57
|
+
const empty = (status) => ({
|
|
58
|
+
status,
|
|
59
|
+
ecosystems: [],
|
|
60
|
+
checks: [],
|
|
61
|
+
truncated: false,
|
|
62
|
+
});
|
|
63
|
+
if (!resolve)
|
|
64
|
+
return c.json(empty('repo_unavailable'), 200);
|
|
65
|
+
const workspaceId = param(c, 'workspaceId');
|
|
66
|
+
const blockId = c.req.valid('param').blockId;
|
|
67
|
+
try {
|
|
68
|
+
const ctx = await resolve(workspaceId, blockId);
|
|
69
|
+
if (!ctx)
|
|
70
|
+
return c.json(empty('repo_unavailable'), 200);
|
|
71
|
+
const detected = await detectValidationChecksFromRepo(ctx.repo, ctx.baseBranch);
|
|
72
|
+
return c.json({ status: 'ok', ...detected }, 200);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
// A block with no linked service throws in the resolver, and a revoked token / rate
|
|
76
|
+
// limit throws in the read. Both are a FAILED detection the panel states plainly —
|
|
77
|
+
// never a 500 on an assistive button, and never a silent empty result.
|
|
78
|
+
container.logger.warn('pre-PR validation autodetect failed', {
|
|
79
|
+
workspaceId,
|
|
80
|
+
blockId,
|
|
81
|
+
...describeError(error),
|
|
82
|
+
});
|
|
83
|
+
return c.json(empty('failed'), 200);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
45
86
|
buildHonoRoute(app, deleteServiceValidationConfigContract, async (c) => {
|
|
46
87
|
const svc = requireValidationConfig(c);
|
|
47
88
|
if (!svc)
|
|
48
|
-
return unavailable(
|
|
89
|
+
return unavailable();
|
|
49
90
|
await svc.deleteFor(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
50
91
|
return c.body(null, 204);
|
|
51
92
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationConfigController.js","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qCAAqC,EACrC,kCAAkC,EAClC,oCAAoC,EACpC,kCAAkC,GACnC,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"ValidationConfigController.js","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VcsWebhookController.d.ts","sourceRoot":"","sources":["../../../src/modules/vcs/VcsWebhookController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"VcsWebhookController.d.ts","sourceRoot":"","sources":["../../../src/modules/vcs/VcsWebhookController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,CA4DnD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
|
-
import { isVcsProvider } from '@cat-factory/kernel';
|
|
2
|
+
import { isVcsProvider, UnavailableError, UnauthorizedError } from '@cat-factory/kernel';
|
|
3
3
|
import { webhookBodyLimit } from '../../webhooks/bodyLimit.js';
|
|
4
4
|
import { logWebhookSignatureRejection } from '../../webhooks/signatureLog.js';
|
|
5
5
|
/**
|
|
@@ -24,18 +24,18 @@ export function vcsWebhookController() {
|
|
|
24
24
|
}
|
|
25
25
|
const bundle = c.get('container').vcsRegistry.get(providerParam);
|
|
26
26
|
if (!bundle) {
|
|
27
|
-
|
|
27
|
+
throw new UnavailableError(`${providerParam} is not configured`);
|
|
28
28
|
}
|
|
29
29
|
const connection = resolveConnection(c.get('container').config, providerParam);
|
|
30
30
|
if (!connection) {
|
|
31
|
-
|
|
31
|
+
throw new UnavailableError(`${providerParam} connection not configured`);
|
|
32
32
|
}
|
|
33
33
|
// Verify against the RAW bytes before parsing. Each provider keys off a different
|
|
34
34
|
// header — GitLab's caller-chosen `X-Gitlab-Token`, GitHub's HMAC `X-Hub-Signature-256`.
|
|
35
35
|
const raw = await c.req.arrayBuffer();
|
|
36
36
|
const signatureHeader = c.req.header('x-gitlab-token') ?? c.req.header('x-hub-signature-256') ?? null;
|
|
37
37
|
if (!bundle.webhookVerifier) {
|
|
38
|
-
|
|
38
|
+
throw new UnavailableError('Webhook verification not configured');
|
|
39
39
|
}
|
|
40
40
|
if (!(await bundle.webhookVerifier.verify(raw, signatureHeader))) {
|
|
41
41
|
// Response stays terse (external caller); log the operator-facing setup remedy. NOTE: a
|
|
@@ -47,7 +47,7 @@ export function vcsWebhookController() {
|
|
|
47
47
|
secretConfigured: connectionSecret(c.get('container').config, providerParam) !== '',
|
|
48
48
|
signaturePresent: !!signatureHeader,
|
|
49
49
|
});
|
|
50
|
-
|
|
50
|
+
throw new UnauthorizedError('Invalid signature');
|
|
51
51
|
}
|
|
52
52
|
let payload;
|
|
53
53
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VcsWebhookController.js","sourceRoot":"","sources":["../../../src/modules/vcs/VcsWebhookController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"VcsWebhookController.js","sourceRoot":"","sources":["../../../src/modules/vcs/VcsWebhookController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSearchProxyController.d.ts","sourceRoot":"","sources":["../../../src/modules/webSearch/WebSearchProxyController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAuB/C,wBAAgB,wBAAwB,IAAI,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"WebSearchProxyController.d.ts","sourceRoot":"","sources":["../../../src/modules/webSearch/WebSearchProxyController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAuB/C,wBAAgB,wBAAwB,IAAI,IAAI,CAAC,MAAM,CAAC,CAkIvD"}
|
|
@@ -30,7 +30,7 @@ export function webSearchProxyController() {
|
|
|
30
30
|
const secret = config.auth.sessionSecret;
|
|
31
31
|
if (!secret) {
|
|
32
32
|
logger.error('web-search proxy: session secret not configured', { scope: 'webSearchProxy' });
|
|
33
|
-
return c.json({ error: { message: 'Web search proxy is not configured' } }, 503);
|
|
33
|
+
return c.json({ error: { code: 'unavailable', message: 'Web search proxy is not configured' } }, 503);
|
|
34
34
|
}
|
|
35
35
|
// Same model-locked container token the LLM proxy verifies: only our own per-run
|
|
36
36
|
// containers can reach the search upstream, and only while their token is valid.
|
|
@@ -38,7 +38,7 @@ export function webSearchProxyController() {
|
|
|
38
38
|
const session = await sessions.verify(bearer(c.req.header('authorization')));
|
|
39
39
|
if (!session) {
|
|
40
40
|
logger.warn('web-search proxy: invalid or expired session token', { scope: 'webSearchProxy' });
|
|
41
|
-
return c.json({ error: { message: 'Invalid or expired session token' } }, 401);
|
|
41
|
+
return c.json({ error: { code: 'unauthorized', message: 'Invalid or expired session token' } }, 401);
|
|
42
42
|
}
|
|
43
43
|
// Resolve the search upstream from the run's account settings (web-search keys live in
|
|
44
44
|
// the per-account store); the account URL is untrusted, so it stays SSRF-guarded. When the
|
|
@@ -64,7 +64,7 @@ export function webSearchProxyController() {
|
|
|
64
64
|
scope: 'webSearchProxy',
|
|
65
65
|
workspaceId: session.workspaceId,
|
|
66
66
|
});
|
|
67
|
-
return c.json({ error: { message: 'Spend budget exhausted' } }, 402);
|
|
67
|
+
return c.json({ error: { code: 'spend_exhausted', message: 'Spend budget exhausted' } }, 402);
|
|
68
68
|
}
|
|
69
69
|
const query = (c.req.query('q') ?? '').trim();
|
|
70
70
|
// SearXNG returns an empty result set (not an error) for a blank query.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSearchProxyController.js","sourceRoot":"","sources":["../../../src/modules/webSearch/WebSearchProxyController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAExD,oFAAoF;AACpF,uFAAuF;AACvF,oFAAoF;AACpF,mFAAmF;AACnF,oFAAoF;AACpF,uCAAuC;AACvC,EAAE;AACF,kFAAkF;AAClF,sFAAsF;AACtF,mFAAmF;AAEnF,0FAA0F;AAC1F,SAAS,MAAM,CAAC,MAA0B;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IACpD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,iFAAiF;IACjF,iFAAiF;IACjF,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,EACJ,MAAM,EACN,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,wBAAwB,GACzB,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAEtB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAA;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;YAC5F,OAAO,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"WebSearchProxyController.js","sourceRoot":"","sources":["../../../src/modules/webSearch/WebSearchProxyController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceMemberController.d.ts","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceMemberController.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"WorkspaceMemberController.d.ts","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceMemberController.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAqB/C,wBAAgB,yBAAyB,IAAI,IAAI,CAAC,MAAM,CAAC,CAsDxD"}
|
|
@@ -3,6 +3,7 @@ import { buildHonoRoute } from '@toad-contracts/hono';
|
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
4
|
import { param } from '../../http/params.js';
|
|
5
5
|
import { requirePermission } from '../../http/workspaceAccess.js';
|
|
6
|
+
import { UnavailableError } from '@cat-factory/kernel';
|
|
6
7
|
// ---------------------------------------------------------------------------
|
|
7
8
|
// Workspace-membership management (workspace-rbac initiative, slice 5). All routes are
|
|
8
9
|
// mounted under `/workspaces/:workspaceId`, so the shared `mountAuthGate` has already
|
|
@@ -14,20 +15,22 @@ import { requirePermission } from '../../http/workspaceAccess.js';
|
|
|
14
15
|
// The service is present only when the facade wired the workspace-member repository (both
|
|
15
16
|
// do); absent ⇒ every route reports 503 rather than 500-ing on an undefined service.
|
|
16
17
|
// ---------------------------------------------------------------------------
|
|
17
|
-
const unavailable = (
|
|
18
|
+
const unavailable = () => {
|
|
19
|
+
throw new UnavailableError('Workspace membership is not configured');
|
|
20
|
+
};
|
|
18
21
|
export function workspaceMemberController() {
|
|
19
22
|
const app = new Hono();
|
|
20
23
|
// Roster — any resolved role may read it (gate resolution already guaranteed ≥ viewer).
|
|
21
24
|
buildHonoRoute(app, listWorkspaceMembersContract, async (c) => {
|
|
22
25
|
const service = c.get('container').workspaceMemberService;
|
|
23
26
|
if (!service)
|
|
24
|
-
return unavailable(
|
|
27
|
+
return unavailable();
|
|
25
28
|
return c.json(await service.list(param(c, 'workspaceId')), 200);
|
|
26
29
|
});
|
|
27
30
|
buildHonoRoute(app, addWorkspaceMemberContract, async (c) => {
|
|
28
31
|
const service = c.get('container').workspaceMemberService;
|
|
29
32
|
if (!service)
|
|
30
|
-
return unavailable(
|
|
33
|
+
return unavailable();
|
|
31
34
|
requirePermission(c, 'members.manage');
|
|
32
35
|
const body = c.req.valid('json');
|
|
33
36
|
const member = await service.add(param(c, 'workspaceId'), body.userId, body.role, c.get('user')?.id ?? null);
|
|
@@ -36,7 +39,7 @@ export function workspaceMemberController() {
|
|
|
36
39
|
buildHonoRoute(app, setWorkspaceMemberRoleContract, async (c) => {
|
|
37
40
|
const service = c.get('container').workspaceMemberService;
|
|
38
41
|
if (!service)
|
|
39
|
-
return unavailable(
|
|
42
|
+
return unavailable();
|
|
40
43
|
requirePermission(c, 'members.manage');
|
|
41
44
|
const { workspaceId, userId } = c.req.valid('param');
|
|
42
45
|
const member = await service.setRole(workspaceId, userId, c.req.valid('json').role);
|
|
@@ -45,7 +48,7 @@ export function workspaceMemberController() {
|
|
|
45
48
|
buildHonoRoute(app, removeWorkspaceMemberContract, async (c) => {
|
|
46
49
|
const service = c.get('container').workspaceMemberService;
|
|
47
50
|
if (!service)
|
|
48
|
-
return unavailable(
|
|
51
|
+
return unavailable();
|
|
49
52
|
requirePermission(c, 'members.manage');
|
|
50
53
|
const { workspaceId, userId } = c.req.valid('param');
|
|
51
54
|
await service.remove(workspaceId, userId);
|
|
@@ -54,7 +57,7 @@ export function workspaceMemberController() {
|
|
|
54
57
|
buildHonoRoute(app, setWorkspaceAccessModeContract, async (c) => {
|
|
55
58
|
const service = c.get('container').workspaceMemberService;
|
|
56
59
|
if (!service)
|
|
57
|
-
return unavailable(
|
|
60
|
+
return unavailable();
|
|
58
61
|
requirePermission(c, 'members.manage');
|
|
59
62
|
const workspace = await service.setAccessMode(param(c, 'workspaceId'), c.req.valid('json').accessMode);
|
|
60
63
|
return c.json(workspace, 200);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceMemberController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceMemberController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"WorkspaceMemberController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceMemberController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-allowlist.d.ts","sourceRoot":"","sources":["../../src/persistence/rpc-allowlist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAgBtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,0BAA0B,EAAE,
|
|
1
|
+
{"version":3,"file":"rpc-allowlist.d.ts","sourceRoot":"","sources":["../../src/persistence/rpc-allowlist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAgBtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,0BAA0B,EAAE,sBAi3BxC,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oCAAoC,YAC/C,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,EAC5B,2BAA2B,EAC3B,kCAAkC,CAC1B,CAAA;AAEV,yEAAyE;AACzE,MAAM,MAAM,+BAA+B,GAAG,CAAC,OAAO,oCAAoC,CAAC,CAAC,MAAM,CAAC,CAAA"}
|
|
@@ -95,6 +95,12 @@ export const REMOTE_PERSISTENCE_METHODS = {
|
|
|
95
95
|
listByWorkspace: { scope: { kind: 'workspace', arg: 0 } },
|
|
96
96
|
// Lean live-run projection backing the dispatch guard + resumePaused (workspace-scoped read).
|
|
97
97
|
listLive: { scope: { kind: 'workspace', arg: 0 } },
|
|
98
|
+
// Run admission control's capacity read: a workspace-scoped SQL COUNT returning a NUMBER, so
|
|
99
|
+
// no row content crosses the wire (the same shape as `blockRepository.countActiveInternal`).
|
|
100
|
+
// It sits on the run-START path, which is precisely why it must be remote from the first
|
|
101
|
+
// slice: an unrouted method here would not fail at build or review, it would throw the moment
|
|
102
|
+
// a mothership-mode node — which has no `db` — tried to start a run.
|
|
103
|
+
countActiveByWorkspace: { scope: { kind: 'workspace', arg: 0 } },
|
|
98
104
|
get: { scope: { kind: 'workspace', arg: 0 } },
|
|
99
105
|
getByBlock: { scope: { kind: 'workspace', arg: 0 } },
|
|
100
106
|
upsert: { scope: { kind: 'workspace', arg: 0 }, revWriteBack: 1 },
|