@cat-factory/server 0.166.2 → 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/ContainerAgentExecutor.d.ts.map +1 -1
- package/dist/agents/ContainerAgentExecutor.js +15 -1
- package/dist/agents/ContainerAgentExecutor.js.map +1 -1
- package/dist/agents/ContainerEnvConfigRepairer.d.ts.map +1 -1
- package/dist/agents/ContainerEnvConfigRepairer.js +3 -0
- package/dist/agents/ContainerEnvConfigRepairer.js.map +1 -1
- package/dist/agents/ContainerRepoBootstrapper.d.ts.map +1 -1
- package/dist/agents/ContainerRepoBootstrapper.js +3 -0
- package/dist/agents/ContainerRepoBootstrapper.js.map +1 -1
- 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 +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -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 +309 -222
- 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/remoteRepositories.d.ts +9 -1
- package/dist/persistence/remoteRepositories.d.ts.map +1 -1
- package/dist/persistence/remoteRepositories.js +13 -1
- package/dist/persistence/remoteRepositories.js.map +1 -1
- package/dist/persistence/rpc-allowlist.d.ts +23 -0
- package/dist/persistence/rpc-allowlist.d.ts.map +1 -1
- package/dist/persistence/rpc-allowlist.js +56 -10
- package/dist/persistence/rpc-allowlist.js.map +1 -1
- package/dist/persistence/rpc-scope.logic.d.ts +15 -0
- package/dist/persistence/rpc-scope.logic.d.ts.map +1 -1
- package/dist/persistence/rpc-scope.logic.js +29 -0
- package/dist/persistence/rpc-scope.logic.js.map +1 -1
- package/dist/persistence/rpc.d.ts +11 -0
- package/dist/persistence/rpc.d.ts.map +1 -1
- package/dist/persistence/rpc.js +10 -1
- package/dist/persistence/rpc.js.map +1 -1
- package/package.json +8 -8
|
@@ -3,11 +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 tracker-settings module or send a 503, returning null when unconfigured. */
|
|
7
8
|
function requireTracker(c) {
|
|
8
9
|
return c.get('container').tracker ?? null;
|
|
9
10
|
}
|
|
10
|
-
const unavailable = (
|
|
11
|
+
const unavailable = () => {
|
|
12
|
+
throw new UnavailableError('Issue tracker is not configured');
|
|
13
|
+
};
|
|
11
14
|
/**
|
|
12
15
|
* Read/write a workspace's issue-tracker selection (GitHub Issues or Jira). Mounted
|
|
13
16
|
* under `/workspaces/:workspaceId`.
|
|
@@ -18,13 +21,13 @@ export function trackerSettingsController() {
|
|
|
18
21
|
buildHonoRoute(app, getTrackerSettingsContract, async (c) => {
|
|
19
22
|
const tracker = requireTracker(c);
|
|
20
23
|
if (!tracker)
|
|
21
|
-
return unavailable(
|
|
24
|
+
return unavailable();
|
|
22
25
|
return c.json(await tracker.service.get(param(c, 'workspaceId')), 200);
|
|
23
26
|
});
|
|
24
27
|
buildHonoRoute(app, putTrackerSettingsContract, async (c) => {
|
|
25
28
|
const tracker = requireTracker(c);
|
|
26
29
|
if (!tracker)
|
|
27
|
-
return unavailable(
|
|
30
|
+
return unavailable();
|
|
28
31
|
return c.json(await tracker.service.put(param(c, 'workspaceId'), c.req.valid('json')), 200);
|
|
29
32
|
});
|
|
30
33
|
return app;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackerSettingsController.js","sourceRoot":"","sources":["../../../src/modules/recurring/TrackerSettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAE/F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"TrackerSettingsController.js","sourceRoot":"","sources":["../../../src/modules/recurring/TrackerSettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAE/F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,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,2FAA2F;AAC3F,SAAS,cAAc,CAAmB,CAAa;IACrD,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,IAAI,IAAI,CAAA;AAC3C,CAAC;AAED,MAAM,WAAW,GAAG,GAAU,EAAE;IAC9B,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAE3D,cAAc,CAAC,GAAG,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,OAAO;YAAE,OAAO,WAAW,EAAE,CAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,OAAO;YAAE,OAAO,WAAW,EAAE,CAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC7F,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReleaseHealthController.d.ts","sourceRoot":"","sources":["../../../src/modules/releaseHealth/ReleaseHealthController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"ReleaseHealthController.d.ts","sourceRoot":"","sources":["../../../src/modules/releaseHealth/ReleaseHealthController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAc/C;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAAC,MAAM,CAAC,CAgDtD"}
|
|
@@ -3,11 +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 release-health module or send a 503, returning null when unconfigured. */
|
|
7
8
|
function requireReleaseHealth(c) {
|
|
8
9
|
return c.get('container').releaseHealth ?? null;
|
|
9
10
|
}
|
|
10
|
-
const unavailable = (
|
|
11
|
+
const unavailable = () => {
|
|
12
|
+
throw new UnavailableError('The observability integration is not configured');
|
|
13
|
+
};
|
|
11
14
|
/**
|
|
12
15
|
* Per-workspace settings for the post-release-health gate: the (single) observability
|
|
13
16
|
* connection (provider + credentials, write-only, never read back) and the per-block
|
|
@@ -19,39 +22,39 @@ export function releaseHealthController() {
|
|
|
19
22
|
buildHonoRoute(app, getObservabilityConnectionContract, async (c) => {
|
|
20
23
|
const rh = requireReleaseHealth(c);
|
|
21
24
|
if (!rh)
|
|
22
|
-
return unavailable(
|
|
25
|
+
return unavailable();
|
|
23
26
|
return c.json(await rh.service.getConnection(param(c, 'workspaceId')), 200);
|
|
24
27
|
});
|
|
25
28
|
buildHonoRoute(app, setObservabilityConnectionContract, async (c) => {
|
|
26
29
|
const rh = requireReleaseHealth(c);
|
|
27
30
|
if (!rh)
|
|
28
|
-
return unavailable(
|
|
31
|
+
return unavailable();
|
|
29
32
|
return c.json(await rh.service.setConnection(param(c, 'workspaceId'), c.req.valid('json')), 200);
|
|
30
33
|
});
|
|
31
34
|
buildHonoRoute(app, deleteObservabilityConnectionContract, async (c) => {
|
|
32
35
|
const rh = requireReleaseHealth(c);
|
|
33
36
|
if (!rh)
|
|
34
|
-
return unavailable(
|
|
37
|
+
return unavailable();
|
|
35
38
|
await rh.service.deleteConnection(param(c, 'workspaceId'));
|
|
36
39
|
return c.body(null, 204);
|
|
37
40
|
});
|
|
38
41
|
buildHonoRoute(app, listReleaseHealthConfigsContract, async (c) => {
|
|
39
42
|
const rh = requireReleaseHealth(c);
|
|
40
43
|
if (!rh)
|
|
41
|
-
return unavailable(
|
|
44
|
+
return unavailable();
|
|
42
45
|
return c.json(await rh.service.listConfigs(param(c, 'workspaceId')), 200);
|
|
43
46
|
});
|
|
44
47
|
buildHonoRoute(app, upsertReleaseHealthConfigContract, async (c) => {
|
|
45
48
|
const rh = requireReleaseHealth(c);
|
|
46
49
|
if (!rh)
|
|
47
|
-
return unavailable(
|
|
50
|
+
return unavailable();
|
|
48
51
|
const config = await rh.service.upsertConfig(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json'));
|
|
49
52
|
return c.json(config, 200);
|
|
50
53
|
});
|
|
51
54
|
buildHonoRoute(app, deleteReleaseHealthConfigContract, async (c) => {
|
|
52
55
|
const rh = requireReleaseHealth(c);
|
|
53
56
|
if (!rh)
|
|
54
|
-
return unavailable(
|
|
57
|
+
return unavailable();
|
|
55
58
|
await rh.service.deleteConfig(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
56
59
|
return c.body(null, 204);
|
|
57
60
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReleaseHealthController.js","sourceRoot":"","sources":["../../../src/modules/releaseHealth/ReleaseHealthController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qCAAqC,EACrC,iCAAiC,EACjC,kCAAkC,EAClC,gCAAgC,EAChC,kCAAkC,EAClC,iCAAiC,GAClC,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":"ReleaseHealthController.js","sourceRoot":"","sources":["../../../src/modules/releaseHealth/ReleaseHealthController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReportsController.d.ts","sourceRoot":"","sources":["../../../src/modules/reports/ReportsController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"ReportsController.d.ts","sourceRoot":"","sources":["../../../src/modules/reports/ReportsController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAa/C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,CAoBhD"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { getReportsContract } 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
|
/** The signed-in user, or null. Generic over the (contract-typed) env, like AccountController. */
|
|
5
6
|
function accountUser(c) {
|
|
6
7
|
const user = c.get('user');
|
|
7
8
|
return user ? { id: user.id, login: user.login, name: user.name } : null;
|
|
8
9
|
}
|
|
9
|
-
const signInRequired = (
|
|
10
|
+
const signInRequired = () => {
|
|
11
|
+
throw new UnauthorizedError('Sign in to view reports');
|
|
12
|
+
};
|
|
10
13
|
/**
|
|
11
14
|
* Reports: `GET /accounts/:accountId/reports` — cross-cutting usage analytics for an
|
|
12
15
|
* account over a time window (spend per model / agent kind, and spend + run activity per
|
|
@@ -28,10 +31,10 @@ export function reportsController() {
|
|
|
28
31
|
buildHonoRoute(app, getReportsContract, async (c) => {
|
|
29
32
|
const user = accountUser(c);
|
|
30
33
|
if (!user)
|
|
31
|
-
return signInRequired(
|
|
34
|
+
return signInRequired();
|
|
32
35
|
const container = c.get('container');
|
|
33
36
|
if (!container.reports) {
|
|
34
|
-
|
|
37
|
+
throw new UnavailableError('Reports are not available on this deployment');
|
|
35
38
|
}
|
|
36
39
|
const { accountId } = c.req.valid('param');
|
|
37
40
|
await container.accountService.requireAdmin(accountId, user.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReportsController.js","sourceRoot":"","sources":["../../../src/modules/reports/ReportsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"ReportsController.js","sourceRoot":"","sources":["../../../src/modules/reports/ReportsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEzE,kGAAkG;AAClG,SAAS,WAAW,CAAmB,CAAa;IAClD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1E,CAAC;AAED,MAAM,cAAc,GAAG,GAAU,EAAE;IACjC,MAAM,IAAI,iBAAiB,CAAC,yBAAyB,CAAC,CAAA;AACxD,CAAC,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,EAAE,CAAA;QAClC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,gBAAgB,CAAC,8CAA8C,CAAC,CAAA;QAC5E,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/D,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CACX,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,EAC7F,GAAG,CACJ,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequirementReviewController.d.ts","sourceRoot":"","sources":["../../../src/modules/requirements/RequirementReviewController.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"RequirementReviewController.d.ts","sourceRoot":"","sources":["../../../src/modules/requirements/RequirementReviewController.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAa/C;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAAC,MAAM,CAAC,CAyL1D"}
|
|
@@ -2,11 +2,14 @@ import { acceptRequirementRecommendationContract, getRequirementReviewContract,
|
|
|
2
2
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
4
|
import { param } from '../../http/params.js';
|
|
5
|
+
import { UnavailableError } from '@cat-factory/kernel';
|
|
5
6
|
/** Resolve the requirements module or send a 503, returning null when unconfigured. */
|
|
6
7
|
function requireRequirements(c) {
|
|
7
8
|
return c.get('container').requirements ?? null;
|
|
8
9
|
}
|
|
9
|
-
const unavailable = (
|
|
10
|
+
const unavailable = () => {
|
|
11
|
+
throw new UnavailableError('Requirements review is not configured');
|
|
12
|
+
};
|
|
10
13
|
/**
|
|
11
14
|
* Workspace-scoped requirements-review endpoints. The initial review runs an LLM inline and
|
|
12
15
|
* returns the entity. Incorporation, by contrast, is ASYNCHRONOUS: it records the human's
|
|
@@ -21,7 +24,7 @@ export function requirementReviewController() {
|
|
|
21
24
|
buildHonoRoute(app, getRequirementReviewContract, async (c) => {
|
|
22
25
|
const requirements = requireRequirements(c);
|
|
23
26
|
if (!requirements)
|
|
24
|
-
return unavailable(
|
|
27
|
+
return unavailable();
|
|
25
28
|
const review = await requirements.service.getForBlock(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
26
29
|
return c.json(review, 200);
|
|
27
30
|
});
|
|
@@ -31,7 +34,7 @@ export function requirementReviewController() {
|
|
|
31
34
|
buildHonoRoute(app, reviewRequirementsContract, async (c) => {
|
|
32
35
|
const requirements = requireRequirements(c);
|
|
33
36
|
if (!requirements)
|
|
34
|
-
return unavailable(
|
|
37
|
+
return unavailable();
|
|
35
38
|
const review = await c
|
|
36
39
|
.get('container')
|
|
37
40
|
.executionService.requirementsReview.review(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
@@ -41,7 +44,7 @@ export function requirementReviewController() {
|
|
|
41
44
|
buildHonoRoute(app, replyRequirementItemContract, async (c) => {
|
|
42
45
|
const requirements = requireRequirements(c);
|
|
43
46
|
if (!requirements)
|
|
44
|
-
return unavailable(
|
|
47
|
+
return unavailable();
|
|
45
48
|
const { reviewId, itemId } = c.req.valid('param');
|
|
46
49
|
const review = await requirements.service.replyToItem(param(c, 'workspaceId'), reviewId, itemId, c.req.valid('json').reply);
|
|
47
50
|
return c.json(review, 200);
|
|
@@ -50,7 +53,7 @@ export function requirementReviewController() {
|
|
|
50
53
|
buildHonoRoute(app, updateRequirementItemStatusContract, async (c) => {
|
|
51
54
|
const requirements = requireRequirements(c);
|
|
52
55
|
if (!requirements)
|
|
53
|
-
return unavailable(
|
|
56
|
+
return unavailable();
|
|
54
57
|
const { reviewId, itemId } = c.req.valid('param');
|
|
55
58
|
const review = await requirements.service.setItemStatus(param(c, 'workspaceId'), reviewId, itemId, c.req.valid('json').status);
|
|
56
59
|
return c.json(review, 200);
|
|
@@ -64,7 +67,7 @@ export function requirementReviewController() {
|
|
|
64
67
|
buildHonoRoute(app, incorporateRequirementsContract, async (c) => {
|
|
65
68
|
const requirements = requireRequirements(c);
|
|
66
69
|
if (!requirements)
|
|
67
|
-
return unavailable(
|
|
70
|
+
return unavailable();
|
|
68
71
|
const review = await c
|
|
69
72
|
.get('container')
|
|
70
73
|
.executionService.requirementsReview.incorporate(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json').feedback);
|
|
@@ -76,7 +79,7 @@ export function requirementReviewController() {
|
|
|
76
79
|
buildHonoRoute(app, reReviewRequirementsContract, async (c) => {
|
|
77
80
|
const requirements = requireRequirements(c);
|
|
78
81
|
if (!requirements)
|
|
79
|
-
return unavailable(
|
|
82
|
+
return unavailable();
|
|
80
83
|
const review = await c
|
|
81
84
|
.get('container')
|
|
82
85
|
.executionService.requirementsReview.reReview(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
@@ -87,7 +90,7 @@ export function requirementReviewController() {
|
|
|
87
90
|
buildHonoRoute(app, proceedRequirementsContract, async (c) => {
|
|
88
91
|
const requirements = requireRequirements(c);
|
|
89
92
|
if (!requirements)
|
|
90
|
-
return unavailable(
|
|
93
|
+
return unavailable();
|
|
91
94
|
const review = await c
|
|
92
95
|
.get('container')
|
|
93
96
|
.executionService.requirementsReview.proceed(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
@@ -103,7 +106,7 @@ export function requirementReviewController() {
|
|
|
103
106
|
buildHonoRoute(app, requestRequirementRecommendationsContract, async (c) => {
|
|
104
107
|
const requirements = requireRequirements(c);
|
|
105
108
|
if (!requirements)
|
|
106
|
-
return unavailable(
|
|
109
|
+
return unavailable();
|
|
107
110
|
const workspaceId = param(c, 'workspaceId');
|
|
108
111
|
const blockId = c.req.valid('param').blockId;
|
|
109
112
|
const review = await requirements.service.getForBlock(workspaceId, blockId);
|
|
@@ -120,7 +123,7 @@ export function requirementReviewController() {
|
|
|
120
123
|
buildHonoRoute(app, acceptRequirementRecommendationContract, async (c) => {
|
|
121
124
|
const requirements = requireRequirements(c);
|
|
122
125
|
if (!requirements)
|
|
123
|
-
return unavailable(
|
|
126
|
+
return unavailable();
|
|
124
127
|
const { reviewId, recId } = c.req.valid('param');
|
|
125
128
|
const review = await requirements.service.acceptRecommendation(param(c, 'workspaceId'), reviewId, recId);
|
|
126
129
|
return c.json(review, 200);
|
|
@@ -128,7 +131,7 @@ export function requirementReviewController() {
|
|
|
128
131
|
buildHonoRoute(app, rejectRequirementRecommendationContract, async (c) => {
|
|
129
132
|
const requirements = requireRequirements(c);
|
|
130
133
|
if (!requirements)
|
|
131
|
-
return unavailable(
|
|
134
|
+
return unavailable();
|
|
132
135
|
const { reviewId, recId } = c.req.valid('param');
|
|
133
136
|
const review = await requirements.service.rejectRecommendation(param(c, 'workspaceId'), reviewId, recId);
|
|
134
137
|
return c.json(review, 200);
|
|
@@ -138,7 +141,7 @@ export function requirementReviewController() {
|
|
|
138
141
|
buildHonoRoute(app, reRequestRequirementRecommendationContract, async (c) => {
|
|
139
142
|
const requirements = requireRequirements(c);
|
|
140
143
|
if (!requirements)
|
|
141
|
-
return unavailable(
|
|
144
|
+
return unavailable();
|
|
142
145
|
const { reviewId, recId } = c.req.valid('param');
|
|
143
146
|
const review = await c
|
|
144
147
|
.get('container')
|
|
@@ -150,7 +153,7 @@ export function requirementReviewController() {
|
|
|
150
153
|
buildHonoRoute(app, resolveRequirementsExceededContract, async (c) => {
|
|
151
154
|
const requirements = requireRequirements(c);
|
|
152
155
|
if (!requirements)
|
|
153
|
-
return unavailable(
|
|
156
|
+
return unavailable();
|
|
154
157
|
const review = await c
|
|
155
158
|
.get('container')
|
|
156
159
|
.executionService.requirementsReview.resolveExceeded(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json').choice);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequirementReviewController.js","sourceRoot":"","sources":["../../../src/modules/requirements/RequirementReviewController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uCAAuC,EACvC,4BAA4B,EAC5B,+BAA+B,EAC/B,2BAA2B,EAC3B,0CAA0C,EAC1C,4BAA4B,EAC5B,uCAAuC,EACvC,4BAA4B,EAC5B,yCAAyC,EACzC,mCAAmC,EACnC,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"RequirementReviewController.js","sourceRoot":"","sources":["../../../src/modules/requirements/RequirementReviewController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunnerPoolController.d.ts","sourceRoot":"","sources":["../../../src/modules/runners/RunnerPoolController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"RunnerPoolController.d.ts","sourceRoot":"","sources":["../../../src/modules/runners/RunnerPoolController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAc/C;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,CA6DnD"}
|
|
@@ -3,11 +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 runners module or send a 503, returning null when unconfigured. */
|
|
7
8
|
function requireRunners(c) {
|
|
8
9
|
return c.get('container').runners ?? null;
|
|
9
10
|
}
|
|
10
|
-
const unavailable = (
|
|
11
|
+
const unavailable = () => {
|
|
12
|
+
throw new UnavailableError('Runner pool integration is not configured');
|
|
13
|
+
};
|
|
11
14
|
/**
|
|
12
15
|
* Workspace-scoped runner-pool endpoints: registering the pool scheduler manifest
|
|
13
16
|
* plus its encrypted secret bundle, rotating the secrets, and unregistering. The
|
|
@@ -20,14 +23,14 @@ export function runnerPoolController() {
|
|
|
20
23
|
buildHonoRoute(app, getRunnerPoolConnectionContract, async (c) => {
|
|
21
24
|
const runners = requireRunners(c);
|
|
22
25
|
if (!runners)
|
|
23
|
-
return unavailable(
|
|
26
|
+
return unavailable();
|
|
24
27
|
const connection = await runners.connectionService.getConnection(param(c, 'workspaceId'));
|
|
25
28
|
return c.json({ connection }, 200);
|
|
26
29
|
});
|
|
27
30
|
buildHonoRoute(app, registerRunnerPoolContract, async (c) => {
|
|
28
31
|
const runners = requireRunners(c);
|
|
29
32
|
if (!runners)
|
|
30
|
-
return unavailable(
|
|
33
|
+
return unavailable();
|
|
31
34
|
const { config, secrets } = c.req.valid('json');
|
|
32
35
|
const connection = await runners.connectionService.register(param(c, 'workspaceId'), {
|
|
33
36
|
config,
|
|
@@ -38,27 +41,27 @@ export function runnerPoolController() {
|
|
|
38
41
|
buildHonoRoute(app, updateRunnerPoolSecretsContract, async (c) => {
|
|
39
42
|
const runners = requireRunners(c);
|
|
40
43
|
if (!runners)
|
|
41
|
-
return unavailable(
|
|
44
|
+
return unavailable();
|
|
42
45
|
const connection = await runners.connectionService.updateSecrets(param(c, 'workspaceId'), c.req.valid('json').secrets);
|
|
43
46
|
return c.json(connection, 200);
|
|
44
47
|
});
|
|
45
48
|
buildHonoRoute(app, unregisterRunnerPoolContract, async (c) => {
|
|
46
49
|
const runners = requireRunners(c);
|
|
47
50
|
if (!runners)
|
|
48
|
-
return unavailable(
|
|
51
|
+
return unavailable();
|
|
49
52
|
await runners.connectionService.unregister(param(c, 'workspaceId'));
|
|
50
53
|
return c.body(null, 204);
|
|
51
54
|
});
|
|
52
55
|
buildHonoRoute(app, describeRunnerPoolProviderContract, async (c) => {
|
|
53
56
|
const runners = requireRunners(c);
|
|
54
57
|
if (!runners)
|
|
55
|
-
return unavailable(
|
|
58
|
+
return unavailable();
|
|
56
59
|
return c.json(await runners.connectionService.describeProvider(param(c, 'workspaceId'), c.req.query('kind')), 200);
|
|
57
60
|
});
|
|
58
61
|
buildHonoRoute(app, testRunnerPoolConnectionContract, async (c) => {
|
|
59
62
|
const runners = requireRunners(c);
|
|
60
63
|
if (!runners)
|
|
61
|
-
return unavailable(
|
|
64
|
+
return unavailable();
|
|
62
65
|
return c.json(await runners.connectionService.testConnection(param(c, 'workspaceId'), c.req.valid('json')), 200);
|
|
63
66
|
});
|
|
64
67
|
return app;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunnerPoolController.js","sourceRoot":"","sources":["../../../src/modules/runners/RunnerPoolController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,+BAA+B,EAC/B,0BAA0B,EAC1B,gCAAgC,EAChC,4BAA4B,EAC5B,+BAA+B,GAChC,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":"RunnerPoolController.js","sourceRoot":"","sources":["../../../src/modules/runners/RunnerPoolController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxController.d.ts","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxController.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"SandboxController.d.ts","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxController.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAc/C;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,CA+HhD"}
|
|
@@ -3,11 +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 Sandbox module or send a 503, returning null when unconfigured. */
|
|
7
8
|
function requireSandbox(c) {
|
|
8
9
|
return c.get('container').sandbox ?? null;
|
|
9
10
|
}
|
|
10
|
-
const unavailable = (
|
|
11
|
+
const unavailable = () => {
|
|
12
|
+
throw new UnavailableError('The Sandbox is not configured');
|
|
13
|
+
};
|
|
11
14
|
/**
|
|
12
15
|
* The Sandbox API (the parallel prompt/model testing surface): manage versioned prompt
|
|
13
16
|
* candidates + the fixture library, define experiments (prompt × model × fixture), and
|
|
@@ -21,7 +24,7 @@ export function sandboxController() {
|
|
|
21
24
|
buildHonoRoute(app, sandboxOverviewContract, async (c) => {
|
|
22
25
|
const sandbox = requireSandbox(c);
|
|
23
26
|
if (!sandbox)
|
|
24
|
-
return unavailable(
|
|
27
|
+
return unavailable();
|
|
25
28
|
const overview = await sandbox.service.overview(param(c, 'workspaceId'));
|
|
26
29
|
// The catalog is exposed as `readonly` arrays; clone into the mutable shape the
|
|
27
30
|
// contract response schema infers (the readonly-ness is a source-side detail only).
|
|
@@ -37,35 +40,35 @@ export function sandboxController() {
|
|
|
37
40
|
buildHonoRoute(app, listSandboxPromptsContract, async (c) => {
|
|
38
41
|
const sandbox = requireSandbox(c);
|
|
39
42
|
if (!sandbox)
|
|
40
|
-
return unavailable(
|
|
43
|
+
return unavailable();
|
|
41
44
|
const agentKind = c.req.valid('query').agentKind;
|
|
42
45
|
return c.json(await sandbox.service.listPrompts(param(c, 'workspaceId'), agentKind), 200);
|
|
43
46
|
});
|
|
44
47
|
buildHonoRoute(app, cloneSandboxPromptContract, async (c) => {
|
|
45
48
|
const sandbox = requireSandbox(c);
|
|
46
49
|
if (!sandbox)
|
|
47
|
-
return unavailable(
|
|
50
|
+
return unavailable();
|
|
48
51
|
const version = await sandbox.service.clonePrompt(param(c, 'workspaceId'), c.req.valid('json'));
|
|
49
52
|
return c.json(version, 201);
|
|
50
53
|
});
|
|
51
54
|
buildHonoRoute(app, saveSandboxPromptContract, async (c) => {
|
|
52
55
|
const sandbox = requireSandbox(c);
|
|
53
56
|
if (!sandbox)
|
|
54
|
-
return unavailable(
|
|
57
|
+
return unavailable();
|
|
55
58
|
const version = await sandbox.service.saveVersion(param(c, 'workspaceId'), c.req.valid('json'));
|
|
56
59
|
return c.json(version, 201);
|
|
57
60
|
});
|
|
58
61
|
buildHonoRoute(app, setSandboxPromptLabelsContract, async (c) => {
|
|
59
62
|
const sandbox = requireSandbox(c);
|
|
60
63
|
if (!sandbox)
|
|
61
|
-
return unavailable(
|
|
64
|
+
return unavailable();
|
|
62
65
|
const version = await sandbox.service.setLabels(param(c, 'workspaceId'), c.req.valid('param').promptId, c.req.valid('json'));
|
|
63
66
|
return c.json(version, 200);
|
|
64
67
|
});
|
|
65
68
|
buildHonoRoute(app, archiveSandboxPromptContract, async (c) => {
|
|
66
69
|
const sandbox = requireSandbox(c);
|
|
67
70
|
if (!sandbox)
|
|
68
|
-
return unavailable(
|
|
71
|
+
return unavailable();
|
|
69
72
|
await sandbox.service.archivePrompt(param(c, 'workspaceId'), c.req.valid('param').promptId);
|
|
70
73
|
return c.body(null, 204);
|
|
71
74
|
});
|
|
@@ -73,20 +76,20 @@ export function sandboxController() {
|
|
|
73
76
|
buildHonoRoute(app, listSandboxFixturesContract, async (c) => {
|
|
74
77
|
const sandbox = requireSandbox(c);
|
|
75
78
|
if (!sandbox)
|
|
76
|
-
return unavailable(
|
|
79
|
+
return unavailable();
|
|
77
80
|
return c.json(await sandbox.service.listFixtures(param(c, 'workspaceId')), 200);
|
|
78
81
|
});
|
|
79
82
|
buildHonoRoute(app, createSandboxFixtureContract, async (c) => {
|
|
80
83
|
const sandbox = requireSandbox(c);
|
|
81
84
|
if (!sandbox)
|
|
82
|
-
return unavailable(
|
|
85
|
+
return unavailable();
|
|
83
86
|
const fixture = await sandbox.service.createFixture(param(c, 'workspaceId'), c.req.valid('json'));
|
|
84
87
|
return c.json(fixture, 201);
|
|
85
88
|
});
|
|
86
89
|
buildHonoRoute(app, removeSandboxFixtureContract, async (c) => {
|
|
87
90
|
const sandbox = requireSandbox(c);
|
|
88
91
|
if (!sandbox)
|
|
89
|
-
return unavailable(
|
|
92
|
+
return unavailable();
|
|
90
93
|
await sandbox.service.removeFixture(param(c, 'workspaceId'), c.req.valid('param').fixtureId);
|
|
91
94
|
return c.body(null, 204);
|
|
92
95
|
});
|
|
@@ -94,27 +97,27 @@ export function sandboxController() {
|
|
|
94
97
|
buildHonoRoute(app, listSandboxExperimentsContract, async (c) => {
|
|
95
98
|
const sandbox = requireSandbox(c);
|
|
96
99
|
if (!sandbox)
|
|
97
|
-
return unavailable(
|
|
100
|
+
return unavailable();
|
|
98
101
|
return c.json(await sandbox.service.listExperiments(param(c, 'workspaceId')), 200);
|
|
99
102
|
});
|
|
100
103
|
buildHonoRoute(app, createSandboxExperimentContract, async (c) => {
|
|
101
104
|
const sandbox = requireSandbox(c);
|
|
102
105
|
if (!sandbox)
|
|
103
|
-
return unavailable(
|
|
106
|
+
return unavailable();
|
|
104
107
|
const experiment = await sandbox.service.createExperiment(param(c, 'workspaceId'), c.req.valid('json'));
|
|
105
108
|
return c.json(experiment, 201);
|
|
106
109
|
});
|
|
107
110
|
buildHonoRoute(app, getSandboxExperimentContract, async (c) => {
|
|
108
111
|
const sandbox = requireSandbox(c);
|
|
109
112
|
if (!sandbox)
|
|
110
|
-
return unavailable(
|
|
113
|
+
return unavailable();
|
|
111
114
|
return c.json(await sandbox.service.getExperiment(param(c, 'workspaceId'), c.req.valid('param').experimentId), 200);
|
|
112
115
|
});
|
|
113
116
|
// Run + grade every cell of the experiment, then return the full result grid.
|
|
114
117
|
buildHonoRoute(app, launchSandboxExperimentContract, async (c) => {
|
|
115
118
|
const sandbox = requireSandbox(c);
|
|
116
119
|
if (!sandbox)
|
|
117
|
-
return unavailable(
|
|
120
|
+
return unavailable();
|
|
118
121
|
return c.json(await sandbox.runService.launch(param(c, 'workspaceId'), c.req.valid('param').experimentId), 200);
|
|
119
122
|
});
|
|
120
123
|
return app;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxController.js","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,+BAA+B,EAC/B,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC9B,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"SandboxController.js","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceFragmentDefaultsController.d.ts","sourceRoot":"","sources":["../../../src/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"ServiceFragmentDefaultsController.d.ts","sourceRoot":"","sources":["../../../src/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAa/C;;;;GAIG;AACH,wBAAgB,iCAAiC,IAAI,IAAI,CAAC,MAAM,CAAC,CAiBhE"}
|