@cat-factory/server 0.30.0 → 0.32.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/app.d.ts.map +1 -1
- package/dist/app.js +2 -0
- package/dist/app.js.map +1 -1
- package/dist/config/types.d.ts +1 -15
- package/dist/config/types.d.ts.map +1 -1
- package/dist/github/FetchGitHubClient.d.ts +15 -1
- package/dist/github/FetchGitHubClient.d.ts.map +1 -1
- package/dist/github/FetchGitHubClient.js +128 -7
- package/dist/github/FetchGitHubClient.js.map +1 -1
- package/dist/github/GitHubPullRequestReviewProvider.d.ts +25 -0
- package/dist/github/GitHubPullRequestReviewProvider.d.ts.map +1 -0
- package/dist/github/GitHubPullRequestReviewProvider.js +170 -0
- package/dist/github/GitHubPullRequestReviewProvider.js.map +1 -0
- package/dist/http/errorHandler.d.ts.map +1 -1
- package/dist/http/errorHandler.js +20 -0
- package/dist/http/errorHandler.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/accounts/AccountController.d.ts +4 -0
- package/dist/modules/accounts/AccountController.d.ts.map +1 -1
- package/dist/modules/accounts/AccountController.js +78 -58
- 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 +8 -6
- package/dist/modules/agentRuns/AgentRunController.js.map +1 -1
- package/dist/modules/auth/AuthController.d.ts.map +1 -1
- package/dist/modules/auth/AuthController.js +23 -23
- package/dist/modules/auth/AuthController.js.map +1 -1
- package/dist/modules/board/BoardController.d.ts.map +1 -1
- package/dist/modules/board/BoardController.js +26 -26
- package/dist/modules/board/BoardController.js.map +1 -1
- package/dist/modules/bootstrap/BootstrapController.d.ts.map +1 -1
- package/dist/modules/bootstrap/BootstrapController.js +15 -15
- package/dist/modules/bootstrap/BootstrapController.js.map +1 -1
- package/dist/modules/brainstorm/BrainstormController.d.ts +3 -2
- package/dist/modules/brainstorm/BrainstormController.d.ts.map +1 -1
- package/dist/modules/brainstorm/BrainstormController.js +36 -52
- package/dist/modules/brainstorm/BrainstormController.js.map +1 -1
- package/dist/modules/clarity/ClarityReviewController.d.ts.map +1 -1
- package/dist/modules/clarity/ClarityReviewController.js +27 -25
- package/dist/modules/clarity/ClarityReviewController.js.map +1 -1
- package/dist/modules/consensus/ConsensusController.d.ts.map +1 -1
- package/dist/modules/consensus/ConsensusController.js +6 -4
- package/dist/modules/consensus/ConsensusController.js.map +1 -1
- package/dist/modules/documents/DocumentSourceController.d.ts.map +1 -1
- package/dist/modules/documents/DocumentSourceController.js +17 -17
- 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 +24 -24
- package/dist/modules/environments/EnvironmentController.js.map +1 -1
- package/dist/modules/execution/ExecutionController.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionController.js +57 -45
- package/dist/modules/execution/ExecutionController.js.map +1 -1
- package/dist/modules/followUp/FollowUpController.d.ts.map +1 -1
- package/dist/modules/followUp/FollowUpController.js +21 -17
- package/dist/modules/followUp/FollowUpController.js.map +1 -1
- package/dist/modules/fragmentLibrary/FragmentLibraryController.d.ts.map +1 -1
- package/dist/modules/fragmentLibrary/FragmentLibraryController.js +26 -26
- 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 +44 -44
- package/dist/modules/github/GitHubController.js.map +1 -1
- package/dist/modules/humanReview/HumanReviewController.d.ts +11 -0
- package/dist/modules/humanReview/HumanReviewController.d.ts.map +1 -0
- package/dist/modules/humanReview/HumanReviewController.js +22 -0
- package/dist/modules/humanReview/HumanReviewController.js.map +1 -0
- package/dist/modules/humanTest/HumanTestController.d.ts.map +1 -1
- package/dist/modules/humanTest/HumanTestController.js +17 -17
- package/dist/modules/humanTest/HumanTestController.js.map +1 -1
- package/dist/modules/incidentEnrichment/IncidentEnrichmentController.d.ts.map +1 -1
- package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js +7 -7
- package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js.map +1 -1
- package/dist/modules/kaizen/KaizenController.d.ts.map +1 -1
- package/dist/modules/kaizen/KaizenController.js +7 -5
- package/dist/modules/kaizen/KaizenController.js.map +1 -1
- package/dist/modules/localModels/LocalModelEndpointController.d.ts.map +1 -1
- package/dist/modules/localModels/LocalModelEndpointController.js +10 -11
- 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 -6
- package/dist/modules/localSettings/LocalSettingsController.js.map +1 -1
- package/dist/modules/merge/MergePresetController.d.ts.map +1 -1
- package/dist/modules/merge/MergePresetController.js +10 -10
- package/dist/modules/merge/MergePresetController.js.map +1 -1
- package/dist/modules/modelPresets/ModelPresetController.d.ts.map +1 -1
- package/dist/modules/modelPresets/ModelPresetController.js +10 -10
- package/dist/modules/modelPresets/ModelPresetController.js.map +1 -1
- package/dist/modules/models/ModelController.d.ts.map +1 -1
- package/dist/modules/models/ModelController.js +6 -4
- package/dist/modules/models/ModelController.js.map +1 -1
- package/dist/modules/notifications/NotificationController.d.ts.map +1 -1
- package/dist/modules/notifications/NotificationController.js +11 -9
- package/dist/modules/notifications/NotificationController.js.map +1 -1
- package/dist/modules/openrouter/OpenRouterCatalogController.d.ts.map +1 -1
- package/dist/modules/openrouter/OpenRouterCatalogController.js +9 -10
- package/dist/modules/openrouter/OpenRouterCatalogController.js.map +1 -1
- package/dist/modules/pipelines/PipelineController.d.ts.map +1 -1
- package/dist/modules/pipelines/PipelineController.js +17 -15
- package/dist/modules/pipelines/PipelineController.js.map +1 -1
- package/dist/modules/promptFragments/PromptFragmentController.d.ts.map +1 -1
- package/dist/modules/promptFragments/PromptFragmentController.js +4 -2
- package/dist/modules/promptFragments/PromptFragmentController.js.map +1 -1
- package/dist/modules/providers/ApiKeyController.d.ts.map +1 -1
- package/dist/modules/providers/ApiKeyController.js +12 -12
- 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 +7 -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 +14 -15
- 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 +7 -7
- package/dist/modules/providers/VendorCredentialController.js.map +1 -1
- package/dist/modules/providers/personalCredentialGate.d.ts +2 -2
- package/dist/modules/providers/personalCredentialGate.d.ts.map +1 -1
- package/dist/modules/providers/personalCredentialGate.js.map +1 -1
- package/dist/modules/provisioningLogs/ProvisioningLogController.d.ts.map +1 -1
- package/dist/modules/provisioningLogs/ProvisioningLogController.js +4 -3
- package/dist/modules/provisioningLogs/ProvisioningLogController.js.map +1 -1
- package/dist/modules/recurring/RecurringPipelineController.d.ts.map +1 -1
- package/dist/modules/recurring/RecurringPipelineController.js +15 -15
- 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 -6
- 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 +14 -14
- package/dist/modules/releaseHealth/ReleaseHealthController.js.map +1 -1
- package/dist/modules/requirements/RequirementReviewController.d.ts.map +1 -1
- package/dist/modules/requirements/RequirementReviewController.js +43 -38
- 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 +12 -12
- 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 +35 -26
- 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 -6
- package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.js.map +1 -1
- package/dist/modules/serviceSpec/ServiceSpecController.d.ts.map +1 -1
- package/dist/modules/serviceSpec/ServiceSpecController.js +9 -8
- package/dist/modules/serviceSpec/ServiceSpecController.js.map +1 -1
- package/dist/modules/services/ServiceMountController.d.ts.map +1 -1
- package/dist/modules/services/ServiceMountController.js +14 -14
- 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 -6
- package/dist/modules/settings/WorkspaceSettingsController.js.map +1 -1
- package/dist/modules/slack/SlackController.d.ts.map +1 -1
- package/dist/modules/slack/SlackController.js +18 -18
- 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 +19 -19
- package/dist/modules/tasks/TaskSourceController.js.map +1 -1
- package/dist/modules/workspaces/WorkspaceController.d.ts.map +1 -1
- package/dist/modules/workspaces/WorkspaceController.js +11 -11
- package/dist/modules/workspaces/WorkspaceController.js.map +1 -1
- package/package.json +11 -9
- package/dist/http/validation.d.ts +0 -21
- package/dist/http/validation.d.ts.map +0 -1
- package/dist/http/validation.js +0 -21
- package/dist/http/validation.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createScheduleContract, deleteScheduleContract, listScheduleRunsContract, listSchedulesContract, runScheduleNowContract, updateScheduleContract, } from '@cat-factory/contracts';
|
|
2
|
+
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
2
3
|
import { Hono } from 'hono';
|
|
3
4
|
import { param } from '../../http/params.js';
|
|
4
|
-
import { jsonBody } from '../../http/validation.js';
|
|
5
5
|
/** Resolve the recurring-pipeline module or send a 503, returning null when unconfigured. */
|
|
6
6
|
function requireRecurring(c) {
|
|
7
7
|
return c.get('container').recurring ?? null;
|
|
@@ -13,45 +13,45 @@ const unavailable = (c) => c.json({ error: { code: 'unavailable', message: 'Recu
|
|
|
13
13
|
*/
|
|
14
14
|
export function recurringPipelineController() {
|
|
15
15
|
const app = new Hono();
|
|
16
|
-
app
|
|
16
|
+
buildHonoRoute(app, listSchedulesContract, async (c) => {
|
|
17
17
|
const recurring = requireRecurring(c);
|
|
18
18
|
if (!recurring)
|
|
19
19
|
return unavailable(c);
|
|
20
|
-
return c.json(await recurring.service.list(param(c, 'workspaceId')));
|
|
20
|
+
return c.json(await recurring.service.list(param(c, 'workspaceId')), 200);
|
|
21
21
|
});
|
|
22
|
-
app
|
|
22
|
+
buildHonoRoute(app, createScheduleContract, async (c) => {
|
|
23
23
|
const recurring = requireRecurring(c);
|
|
24
24
|
if (!recurring)
|
|
25
25
|
return unavailable(c);
|
|
26
26
|
const schedule = await recurring.service.create(param(c, 'workspaceId'), c.req.valid('json'));
|
|
27
27
|
return c.json(schedule, 201);
|
|
28
28
|
});
|
|
29
|
-
app
|
|
29
|
+
buildHonoRoute(app, updateScheduleContract, async (c) => {
|
|
30
30
|
const recurring = requireRecurring(c);
|
|
31
31
|
if (!recurring)
|
|
32
32
|
return unavailable(c);
|
|
33
|
-
const schedule = await recurring.service.update(param(c, 'workspaceId'),
|
|
34
|
-
return c.json(schedule);
|
|
33
|
+
const schedule = await recurring.service.update(param(c, 'workspaceId'), c.req.valid('param').scheduleId, c.req.valid('json'));
|
|
34
|
+
return c.json(schedule, 200);
|
|
35
35
|
});
|
|
36
|
-
app
|
|
36
|
+
buildHonoRoute(app, deleteScheduleContract, async (c) => {
|
|
37
37
|
const recurring = requireRecurring(c);
|
|
38
38
|
if (!recurring)
|
|
39
39
|
return unavailable(c);
|
|
40
|
-
await recurring.service.remove(param(c, 'workspaceId'),
|
|
40
|
+
await recurring.service.remove(param(c, 'workspaceId'), c.req.valid('param').scheduleId);
|
|
41
41
|
return c.body(null, 204);
|
|
42
42
|
});
|
|
43
|
-
app
|
|
43
|
+
buildHonoRoute(app, listScheduleRunsContract, async (c) => {
|
|
44
44
|
const recurring = requireRecurring(c);
|
|
45
45
|
if (!recurring)
|
|
46
46
|
return unavailable(c);
|
|
47
|
-
return c.json(await recurring.service.listRuns(param(c, 'workspaceId'),
|
|
47
|
+
return c.json(await recurring.service.listRuns(param(c, 'workspaceId'), c.req.valid('param').scheduleId), 200);
|
|
48
48
|
});
|
|
49
|
-
app
|
|
49
|
+
buildHonoRoute(app, runScheduleNowContract, async (c) => {
|
|
50
50
|
const recurring = requireRecurring(c);
|
|
51
51
|
if (!recurring)
|
|
52
52
|
return unavailable(c);
|
|
53
|
-
const schedule = await recurring.service.runNow(param(c, 'workspaceId'),
|
|
54
|
-
return c.json(schedule);
|
|
53
|
+
const schedule = await recurring.service.runNow(param(c, 'workspaceId'), c.req.valid('param').scheduleId);
|
|
54
|
+
return c.json(schedule, 200);
|
|
55
55
|
});
|
|
56
56
|
return app;
|
|
57
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecurringPipelineController.js","sourceRoot":"","sources":["../../../src/modules/recurring/RecurringPipelineController.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"RecurringPipelineController.js","sourceRoot":"","sources":["../../../src/modules/recurring/RecurringPipelineController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackerSettingsController.d.ts","sourceRoot":"","sources":["../../../src/modules/recurring/TrackerSettingsController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TrackerSettingsController.d.ts","sourceRoot":"","sources":["../../../src/modules/recurring/TrackerSettingsController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAW/C;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAAC,MAAM,CAAC,CAgBxD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getTrackerSettingsContract, putTrackerSettingsContract } from '@cat-factory/contracts';
|
|
2
|
+
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
2
3
|
import { Hono } from 'hono';
|
|
3
4
|
import { param } from '../../http/params.js';
|
|
4
|
-
import { jsonBody } from '../../http/validation.js';
|
|
5
5
|
/** Resolve the tracker-settings module or send a 503, returning null when unconfigured. */
|
|
6
6
|
function requireTracker(c) {
|
|
7
7
|
return c.get('container').tracker ?? null;
|
|
@@ -13,17 +13,17 @@ const unavailable = (c) => c.json({ error: { code: 'unavailable', message: 'Issu
|
|
|
13
13
|
*/
|
|
14
14
|
export function trackerSettingsController() {
|
|
15
15
|
const app = new Hono();
|
|
16
|
-
app
|
|
16
|
+
buildHonoRoute(app, getTrackerSettingsContract, async (c) => {
|
|
17
17
|
const tracker = requireTracker(c);
|
|
18
18
|
if (!tracker)
|
|
19
19
|
return unavailable(c);
|
|
20
|
-
return c.json(await tracker.service.get(param(c, 'workspaceId')));
|
|
20
|
+
return c.json(await tracker.service.get(param(c, 'workspaceId')), 200);
|
|
21
21
|
});
|
|
22
|
-
app
|
|
22
|
+
buildHonoRoute(app, putTrackerSettingsContract, async (c) => {
|
|
23
23
|
const tracker = requireTracker(c);
|
|
24
24
|
if (!tracker)
|
|
25
25
|
return unavailable(c);
|
|
26
|
-
return c.json(await tracker.service.put(param(c, 'workspaceId'), c.req.valid('json')));
|
|
26
|
+
return c.json(await tracker.service.put(param(c, 'workspaceId'), c.req.valid('json')), 200);
|
|
27
27
|
});
|
|
28
28
|
return app;
|
|
29
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackerSettingsController.js","sourceRoot":"","sources":["../../../src/modules/recurring/TrackerSettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE5C,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,CAAmB,CAAa,EAAE,EAAE,CACtD,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,iCAAiC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;AAE7F;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,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,CAAC,CAAC,CAAC,CAAA;QACnC,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,CAAC,CAAC,CAAC,CAAA;QACnC,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":"
|
|
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,CA+CtD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { deleteObservabilityConnectionContract, deleteReleaseHealthConfigContract, getObservabilityConnectionContract, listReleaseHealthConfigsContract, setObservabilityConnectionContract, upsertReleaseHealthConfigContract, } from '@cat-factory/contracts';
|
|
2
|
+
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
2
3
|
import { Hono } from 'hono';
|
|
3
4
|
import { param } from '../../http/params.js';
|
|
4
|
-
import { jsonBody } from '../../http/validation.js';
|
|
5
5
|
/** Resolve the release-health module or send a 503, returning null when unconfigured. */
|
|
6
6
|
function requireReleaseHealth(c) {
|
|
7
7
|
return c.get('container').releaseHealth ?? null;
|
|
@@ -14,43 +14,43 @@ const unavailable = (c) => c.json({ error: { code: 'unavailable', message: 'The
|
|
|
14
14
|
*/
|
|
15
15
|
export function releaseHealthController() {
|
|
16
16
|
const app = new Hono();
|
|
17
|
-
app
|
|
17
|
+
buildHonoRoute(app, getObservabilityConnectionContract, async (c) => {
|
|
18
18
|
const rh = requireReleaseHealth(c);
|
|
19
19
|
if (!rh)
|
|
20
20
|
return unavailable(c);
|
|
21
|
-
return c.json(await rh.service.getConnection(param(c, 'workspaceId')));
|
|
21
|
+
return c.json(await rh.service.getConnection(param(c, 'workspaceId')), 200);
|
|
22
22
|
});
|
|
23
|
-
app
|
|
23
|
+
buildHonoRoute(app, setObservabilityConnectionContract, async (c) => {
|
|
24
24
|
const rh = requireReleaseHealth(c);
|
|
25
25
|
if (!rh)
|
|
26
26
|
return unavailable(c);
|
|
27
|
-
return c.json(await rh.service.setConnection(param(c, 'workspaceId'), c.req.valid('json')));
|
|
27
|
+
return c.json(await rh.service.setConnection(param(c, 'workspaceId'), c.req.valid('json')), 200);
|
|
28
28
|
});
|
|
29
|
-
app
|
|
29
|
+
buildHonoRoute(app, deleteObservabilityConnectionContract, async (c) => {
|
|
30
30
|
const rh = requireReleaseHealth(c);
|
|
31
31
|
if (!rh)
|
|
32
32
|
return unavailable(c);
|
|
33
33
|
await rh.service.deleteConnection(param(c, 'workspaceId'));
|
|
34
34
|
return c.body(null, 204);
|
|
35
35
|
});
|
|
36
|
-
app
|
|
36
|
+
buildHonoRoute(app, listReleaseHealthConfigsContract, async (c) => {
|
|
37
37
|
const rh = requireReleaseHealth(c);
|
|
38
38
|
if (!rh)
|
|
39
39
|
return unavailable(c);
|
|
40
|
-
return c.json(await rh.service.listConfigs(param(c, 'workspaceId')));
|
|
40
|
+
return c.json(await rh.service.listConfigs(param(c, 'workspaceId')), 200);
|
|
41
41
|
});
|
|
42
|
-
app
|
|
42
|
+
buildHonoRoute(app, upsertReleaseHealthConfigContract, async (c) => {
|
|
43
43
|
const rh = requireReleaseHealth(c);
|
|
44
44
|
if (!rh)
|
|
45
45
|
return unavailable(c);
|
|
46
|
-
const config = await rh.service.upsertConfig(param(c, 'workspaceId'),
|
|
47
|
-
return c.json(config);
|
|
46
|
+
const config = await rh.service.upsertConfig(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json'));
|
|
47
|
+
return c.json(config, 200);
|
|
48
48
|
});
|
|
49
|
-
app
|
|
49
|
+
buildHonoRoute(app, deleteReleaseHealthConfigContract, async (c) => {
|
|
50
50
|
const rh = requireReleaseHealth(c);
|
|
51
51
|
if (!rh)
|
|
52
52
|
return unavailable(c);
|
|
53
|
-
await rh.service.deleteConfig(param(c, 'workspaceId'),
|
|
53
|
+
await rh.service.deleteConfig(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
54
54
|
return c.body(null, 204);
|
|
55
55
|
});
|
|
56
56
|
return app;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReleaseHealthController.js","sourceRoot":"","sources":["../../../src/modules/releaseHealth/ReleaseHealthController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
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":"RequirementReviewController.d.ts","sourceRoot":"","sources":["../../../src/modules/requirements/RequirementReviewController.ts"],"names":[],"mappings":"
|
|
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;AAW/C;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAAC,MAAM,CAAC,CAgL1D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { acceptRequirementRecommendationContract, getRequirementReviewContract, incorporateRequirementsContract, proceedRequirementsContract, reRequestRequirementRecommendationContract, reReviewRequirementsContract, rejectRequirementRecommendationContract, replyRequirementItemContract, requestRequirementRecommendationsContract, resolveRequirementsExceededContract, reviewRequirementsContract, updateRequirementItemStatusContract, } from '@cat-factory/contracts';
|
|
2
|
+
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
2
3
|
import { Hono } from 'hono';
|
|
3
4
|
import { param } from '../../http/params.js';
|
|
4
|
-
import { jsonBody } from '../../http/validation.js';
|
|
5
5
|
/** Resolve the requirements module or send a 503, returning null when unconfigured. */
|
|
6
6
|
function requireRequirements(c) {
|
|
7
7
|
return c.get('container').requirements ?? null;
|
|
@@ -18,40 +18,42 @@ const unavailable = (c) => c.json({ error: { code: 'unavailable', message: 'Requ
|
|
|
18
18
|
export function requirementReviewController() {
|
|
19
19
|
const app = new Hono();
|
|
20
20
|
// The current review for a block (null when none has been run yet).
|
|
21
|
-
app
|
|
21
|
+
buildHonoRoute(app, getRequirementReviewContract, async (c) => {
|
|
22
22
|
const requirements = requireRequirements(c);
|
|
23
23
|
if (!requirements)
|
|
24
24
|
return unavailable(c);
|
|
25
|
-
const review = await requirements.service.getForBlock(param(c, 'workspaceId'),
|
|
26
|
-
return c.json(review);
|
|
25
|
+
const review = await requirements.service.getForBlock(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
26
|
+
return c.json(review, 200);
|
|
27
27
|
});
|
|
28
28
|
// Run a fresh review of the block's collected requirements (replaces any prior).
|
|
29
29
|
// Routed through the execution service so the off-path surface honours the task's
|
|
30
30
|
// merge-preset knobs (iteration budget + tolerated severity) exactly like the gate.
|
|
31
|
-
app
|
|
31
|
+
buildHonoRoute(app, reviewRequirementsContract, async (c) => {
|
|
32
32
|
const requirements = requireRequirements(c);
|
|
33
33
|
if (!requirements)
|
|
34
34
|
return unavailable(c);
|
|
35
35
|
const review = await c
|
|
36
36
|
.get('container')
|
|
37
|
-
.executionService.reviewRequirements(param(c, 'workspaceId'),
|
|
37
|
+
.executionService.reviewRequirements(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
38
38
|
return c.json(review, 201);
|
|
39
39
|
});
|
|
40
40
|
// Answer a single review item.
|
|
41
|
-
app
|
|
41
|
+
buildHonoRoute(app, replyRequirementItemContract, async (c) => {
|
|
42
42
|
const requirements = requireRequirements(c);
|
|
43
43
|
if (!requirements)
|
|
44
44
|
return unavailable(c);
|
|
45
|
-
const
|
|
46
|
-
|
|
45
|
+
const { reviewId, itemId } = c.req.valid('param');
|
|
46
|
+
const review = await requirements.service.replyToItem(param(c, 'workspaceId'), reviewId, itemId, c.req.valid('json').reply);
|
|
47
|
+
return c.json(review, 200);
|
|
47
48
|
});
|
|
48
49
|
// Set a review item's status (resolve / dismiss / reopen).
|
|
49
|
-
app
|
|
50
|
+
buildHonoRoute(app, updateRequirementItemStatusContract, async (c) => {
|
|
50
51
|
const requirements = requireRequirements(c);
|
|
51
52
|
if (!requirements)
|
|
52
53
|
return unavailable(c);
|
|
53
|
-
const
|
|
54
|
-
|
|
54
|
+
const { reviewId, itemId } = c.req.valid('param');
|
|
55
|
+
const review = await requirements.service.setItemStatus(param(c, 'workspaceId'), reviewId, itemId, c.req.valid('json').status);
|
|
56
|
+
return c.json(review, 200);
|
|
55
57
|
});
|
|
56
58
|
// Incorporate the answers ASYNCHRONOUSLY: the durable driver folds them into one
|
|
57
59
|
// standard-format document and re-reviews it in the background. Optional `feedback` is the
|
|
@@ -59,37 +61,37 @@ export function requirementReviewController() {
|
|
|
59
61
|
// once (no LLM in the request) so the SPA returns the user to the board; a notification
|
|
60
62
|
// calls them back only if the re-review needs input. Blocks scoped (the review is resolved
|
|
61
63
|
// from the block) to match the other run-driving endpoints.
|
|
62
|
-
app
|
|
64
|
+
buildHonoRoute(app, incorporateRequirementsContract, async (c) => {
|
|
63
65
|
const requirements = requireRequirements(c);
|
|
64
66
|
if (!requirements)
|
|
65
67
|
return unavailable(c);
|
|
66
68
|
const review = await c
|
|
67
69
|
.get('container')
|
|
68
|
-
.executionService.incorporateRequirements(param(c, 'workspaceId'),
|
|
69
|
-
return c.json(review);
|
|
70
|
+
.executionService.incorporateRequirements(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json').feedback);
|
|
71
|
+
return c.json(review, 200);
|
|
70
72
|
});
|
|
71
73
|
// Re-review the incorporated document (one more reviewer pass). On convergence the
|
|
72
74
|
// parked run advances; otherwise the response carries the next cycle's findings (or the
|
|
73
75
|
// iteration-cap state). Returns the updated review.
|
|
74
|
-
app
|
|
76
|
+
buildHonoRoute(app, reReviewRequirementsContract, async (c) => {
|
|
75
77
|
const requirements = requireRequirements(c);
|
|
76
78
|
if (!requirements)
|
|
77
79
|
return unavailable(c);
|
|
78
80
|
const review = await c
|
|
79
81
|
.get('container')
|
|
80
|
-
.executionService.reReviewRequirements(param(c, 'workspaceId'),
|
|
81
|
-
return c.json(review);
|
|
82
|
+
.executionService.reReviewRequirements(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
83
|
+
return c.json(review, 200);
|
|
82
84
|
});
|
|
83
85
|
// Proceed: settle the requirements (last incorporated doc wins downstream) and advance
|
|
84
86
|
// the parked run. Used when every finding is dismissed.
|
|
85
|
-
app
|
|
87
|
+
buildHonoRoute(app, proceedRequirementsContract, async (c) => {
|
|
86
88
|
const requirements = requireRequirements(c);
|
|
87
89
|
if (!requirements)
|
|
88
90
|
return unavailable(c);
|
|
89
91
|
const review = await c
|
|
90
92
|
.get('container')
|
|
91
|
-
.executionService.proceedRequirements(param(c, 'workspaceId'),
|
|
92
|
-
return c.json(review);
|
|
93
|
+
.executionService.proceedRequirements(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
94
|
+
return c.json(review, 200);
|
|
93
95
|
});
|
|
94
96
|
// Ask the Requirement Writer to recommend grounded answers for a batch of findings the human
|
|
95
97
|
// marked "recommend something". ASYNCHRONOUS: appends `pending` placeholder recommendations
|
|
@@ -98,58 +100,61 @@ export function requirementReviewController() {
|
|
|
98
100
|
// placeholders so the user goes back to the board; a notification calls them back when the
|
|
99
101
|
// batch is ready. Block-scoped (the live review is resolved from the block); a no-op when no
|
|
100
102
|
// review exists.
|
|
101
|
-
app
|
|
103
|
+
buildHonoRoute(app, requestRequirementRecommendationsContract, async (c) => {
|
|
102
104
|
const requirements = requireRequirements(c);
|
|
103
105
|
if (!requirements)
|
|
104
106
|
return unavailable(c);
|
|
105
107
|
const workspaceId = param(c, 'workspaceId');
|
|
106
|
-
const blockId =
|
|
108
|
+
const blockId = c.req.valid('param').blockId;
|
|
107
109
|
const review = await requirements.service.getForBlock(workspaceId, blockId);
|
|
108
110
|
if (!review)
|
|
109
|
-
return c.json(null);
|
|
111
|
+
return c.json(null, 200);
|
|
110
112
|
const body = c.req.valid('json');
|
|
111
113
|
const updated = await c
|
|
112
114
|
.get('container')
|
|
113
115
|
.executionService.requestRecommendations(workspaceId, blockId, body.itemIds, body.note);
|
|
114
|
-
return c.json(updated);
|
|
116
|
+
return c.json(updated, 200);
|
|
115
117
|
});
|
|
116
118
|
// Accept a recommendation (it becomes the finding's answer, folded into the next
|
|
117
119
|
// incorporation), reject it, or re-request it with a "do it differently" note.
|
|
118
|
-
app
|
|
120
|
+
buildHonoRoute(app, acceptRequirementRecommendationContract, async (c) => {
|
|
119
121
|
const requirements = requireRequirements(c);
|
|
120
122
|
if (!requirements)
|
|
121
123
|
return unavailable(c);
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
+
const { reviewId, recId } = c.req.valid('param');
|
|
125
|
+
const review = await requirements.service.acceptRecommendation(param(c, 'workspaceId'), reviewId, recId);
|
|
126
|
+
return c.json(review, 200);
|
|
124
127
|
});
|
|
125
|
-
app
|
|
128
|
+
buildHonoRoute(app, rejectRequirementRecommendationContract, async (c) => {
|
|
126
129
|
const requirements = requireRequirements(c);
|
|
127
130
|
if (!requirements)
|
|
128
131
|
return unavailable(c);
|
|
129
|
-
const
|
|
130
|
-
|
|
132
|
+
const { reviewId, recId } = c.req.valid('param');
|
|
133
|
+
const review = await requirements.service.rejectRecommendation(param(c, 'workspaceId'), reviewId, recId);
|
|
134
|
+
return c.json(review, 200);
|
|
131
135
|
});
|
|
132
136
|
// Re-request a recommendation with a "do it differently" note. ASYNCHRONOUS like the batch:
|
|
133
137
|
// resets the recommendation to `pending` and signals the driver to re-run the Writer.
|
|
134
|
-
app
|
|
138
|
+
buildHonoRoute(app, reRequestRequirementRecommendationContract, async (c) => {
|
|
135
139
|
const requirements = requireRequirements(c);
|
|
136
140
|
if (!requirements)
|
|
137
141
|
return unavailable(c);
|
|
142
|
+
const { reviewId, recId } = c.req.valid('param');
|
|
138
143
|
const review = await c
|
|
139
144
|
.get('container')
|
|
140
|
-
.executionService.reRequestRecommendation(param(c, 'workspaceId'),
|
|
141
|
-
return c.json(review);
|
|
145
|
+
.executionService.reRequestRecommendation(param(c, 'workspaceId'), reviewId, recId, c.req.valid('json').note);
|
|
146
|
+
return c.json(review, 200);
|
|
142
147
|
});
|
|
143
148
|
// Resolve a review that hit its iteration cap: one more round / proceed anyway / stop
|
|
144
149
|
// and reset the task to phase zero. Returns the updated review.
|
|
145
|
-
app
|
|
150
|
+
buildHonoRoute(app, resolveRequirementsExceededContract, async (c) => {
|
|
146
151
|
const requirements = requireRequirements(c);
|
|
147
152
|
if (!requirements)
|
|
148
153
|
return unavailable(c);
|
|
149
154
|
const review = await c
|
|
150
155
|
.get('container')
|
|
151
|
-
.executionService.resolveRequirementsExceeded(param(c, 'workspaceId'),
|
|
152
|
-
return c.json(review);
|
|
156
|
+
.executionService.resolveRequirementsExceeded(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json').choice);
|
|
157
|
+
return c.json(review, 200);
|
|
153
158
|
});
|
|
154
159
|
return app;
|
|
155
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequirementReviewController.js","sourceRoot":"","sources":["../../../src/modules/requirements/RequirementReviewController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
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":"
|
|
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,CAsDnD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { describeRunnerPoolProviderContract, getRunnerPoolConnectionContract, registerRunnerPoolContract, testRunnerPoolConnectionContract, unregisterRunnerPoolContract, updateRunnerPoolSecretsContract, } from '@cat-factory/contracts';
|
|
2
|
+
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
2
3
|
import { Hono } from 'hono';
|
|
3
4
|
import { param } from '../../http/params.js';
|
|
4
|
-
import { jsonBody } from '../../http/validation.js';
|
|
5
5
|
/** Resolve the runners module or send a 503, returning null when unconfigured. */
|
|
6
6
|
function requireRunners(c) {
|
|
7
7
|
return c.get('container').runners ?? null;
|
|
@@ -15,14 +15,14 @@ const unavailable = (c) => c.json({ error: { code: 'unavailable', message: 'Runn
|
|
|
15
15
|
*/
|
|
16
16
|
export function runnerPoolController() {
|
|
17
17
|
const app = new Hono();
|
|
18
|
-
app
|
|
18
|
+
buildHonoRoute(app, getRunnerPoolConnectionContract, async (c) => {
|
|
19
19
|
const runners = requireRunners(c);
|
|
20
20
|
if (!runners)
|
|
21
21
|
return unavailable(c);
|
|
22
22
|
const connection = await runners.connectionService.getConnection(param(c, 'workspaceId'));
|
|
23
|
-
return c.json({ connection });
|
|
23
|
+
return c.json({ connection }, 200);
|
|
24
24
|
});
|
|
25
|
-
app
|
|
25
|
+
buildHonoRoute(app, registerRunnerPoolContract, async (c) => {
|
|
26
26
|
const runners = requireRunners(c);
|
|
27
27
|
if (!runners)
|
|
28
28
|
return unavailable(c);
|
|
@@ -33,31 +33,31 @@ export function runnerPoolController() {
|
|
|
33
33
|
});
|
|
34
34
|
return c.json(connection, 201);
|
|
35
35
|
});
|
|
36
|
-
app
|
|
36
|
+
buildHonoRoute(app, updateRunnerPoolSecretsContract, async (c) => {
|
|
37
37
|
const runners = requireRunners(c);
|
|
38
38
|
if (!runners)
|
|
39
39
|
return unavailable(c);
|
|
40
40
|
const connection = await runners.connectionService.updateSecrets(param(c, 'workspaceId'), c.req.valid('json').secrets);
|
|
41
|
-
return c.json(connection);
|
|
41
|
+
return c.json(connection, 200);
|
|
42
42
|
});
|
|
43
|
-
app
|
|
43
|
+
buildHonoRoute(app, unregisterRunnerPoolContract, async (c) => {
|
|
44
44
|
const runners = requireRunners(c);
|
|
45
45
|
if (!runners)
|
|
46
46
|
return unavailable(c);
|
|
47
47
|
await runners.connectionService.unregister(param(c, 'workspaceId'));
|
|
48
48
|
return c.body(null, 204);
|
|
49
49
|
});
|
|
50
|
-
app
|
|
50
|
+
buildHonoRoute(app, describeRunnerPoolProviderContract, async (c) => {
|
|
51
51
|
const runners = requireRunners(c);
|
|
52
52
|
if (!runners)
|
|
53
53
|
return unavailable(c);
|
|
54
|
-
return c.json(await runners.connectionService.describeProvider(param(c, 'workspaceId')));
|
|
54
|
+
return c.json(await runners.connectionService.describeProvider(param(c, 'workspaceId')), 200);
|
|
55
55
|
});
|
|
56
|
-
app
|
|
56
|
+
buildHonoRoute(app, testRunnerPoolConnectionContract, async (c) => {
|
|
57
57
|
const runners = requireRunners(c);
|
|
58
58
|
if (!runners)
|
|
59
59
|
return unavailable(c);
|
|
60
|
-
return c.json(await runners.connectionService.testConnection(param(c, 'workspaceId'), c.req.valid('json')));
|
|
60
|
+
return c.json(await runners.connectionService.testConnection(param(c, 'workspaceId'), c.req.valid('json')), 200);
|
|
61
61
|
});
|
|
62
62
|
return app;
|
|
63
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunnerPoolController.js","sourceRoot":"","sources":["../../../src/modules/runners/RunnerPoolController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
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":"
|
|
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;AAW/C;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,CA8HhD"}
|