@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,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createDocumentFragmentContract, createPromptFragmentContract, deletePromptFragmentContract, fragmentSourceStatusContract, linkFragmentSourceContract, listFragmentSourcesContract, listPromptFragmentsContract, refreshPromptFragmentContract, resolvedFragmentsContract, syncFragmentSourceContract, unlinkFragmentSourceContract, updatePromptFragmentContract, } from '@cat-factory/contracts';
|
|
2
2
|
import { ValidationError } from '@cat-factory/kernel';
|
|
3
|
+
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
4
|
import { Hono } from 'hono';
|
|
4
5
|
import { param } from '../../http/params.js';
|
|
5
|
-
import { jsonBody } from '../../http/validation.js';
|
|
6
6
|
/** Resolve the fragment-library module or send a 503 when unconfigured. */
|
|
7
7
|
function requireLibrary(c) {
|
|
8
8
|
return c.get('container').fragmentLibrary ?? null;
|
|
@@ -42,31 +42,31 @@ export function fragmentLibraryController(scope) {
|
|
|
42
42
|
app.use('/fragment-sources/*', accountGuard);
|
|
43
43
|
}
|
|
44
44
|
// ---- fragments (this tier, raw — not merged) ----------------------------
|
|
45
|
-
app
|
|
45
|
+
buildHonoRoute(app, listPromptFragmentsContract, async (c) => {
|
|
46
46
|
const lib = requireLibrary(c);
|
|
47
47
|
if (!lib)
|
|
48
48
|
return unavailable(c);
|
|
49
|
-
return c.json(await lib.libraryService.listTier(ownerKind, ownerId(c)));
|
|
49
|
+
return c.json(await lib.libraryService.listTier(ownerKind, ownerId(c)), 200);
|
|
50
50
|
});
|
|
51
|
-
app
|
|
51
|
+
buildHonoRoute(app, createPromptFragmentContract, async (c) => {
|
|
52
52
|
const lib = requireLibrary(c);
|
|
53
53
|
if (!lib)
|
|
54
54
|
return unavailable(c);
|
|
55
55
|
const fragment = await lib.libraryService.create(ownerKind, ownerId(c), c.req.valid('json'));
|
|
56
56
|
return c.json(fragment, 201);
|
|
57
57
|
});
|
|
58
|
-
app
|
|
58
|
+
buildHonoRoute(app, updatePromptFragmentContract, async (c) => {
|
|
59
59
|
const lib = requireLibrary(c);
|
|
60
60
|
if (!lib)
|
|
61
61
|
return unavailable(c);
|
|
62
|
-
const fragment = await lib.libraryService.update(ownerKind, ownerId(c),
|
|
63
|
-
return c.json(fragment);
|
|
62
|
+
const fragment = await lib.libraryService.update(ownerKind, ownerId(c), c.req.valid('param').fragmentId, c.req.valid('json'));
|
|
63
|
+
return c.json(fragment, 200);
|
|
64
64
|
});
|
|
65
|
-
app
|
|
65
|
+
buildHonoRoute(app, deletePromptFragmentContract, async (c) => {
|
|
66
66
|
const lib = requireLibrary(c);
|
|
67
67
|
if (!lib)
|
|
68
68
|
return unavailable(c);
|
|
69
|
-
await lib.libraryService.remove(ownerKind, ownerId(c),
|
|
69
|
+
await lib.libraryService.remove(ownerKind, ownerId(c), c.req.valid('param').fragmentId);
|
|
70
70
|
return c.body(null, 204);
|
|
71
71
|
});
|
|
72
72
|
// ---- document-backed fragments (living source of truth) -----------------
|
|
@@ -74,7 +74,7 @@ export function fragmentLibraryController(scope) {
|
|
|
74
74
|
// fragment whose body is re-resolved from the source at run time. The fetch
|
|
75
75
|
// uses the addressed workspace's connection at the workspace scope, or the
|
|
76
76
|
// body's `viaWorkspaceId` at the account scope (credentials are per-workspace).
|
|
77
|
-
app
|
|
77
|
+
buildHonoRoute(app, createDocumentFragmentContract, async (c) => {
|
|
78
78
|
const lib = requireLibrary(c);
|
|
79
79
|
if (!lib)
|
|
80
80
|
return unavailable(c);
|
|
@@ -89,29 +89,29 @@ export function fragmentLibraryController(scope) {
|
|
|
89
89
|
return c.json(fragment, 201);
|
|
90
90
|
});
|
|
91
91
|
// Force an immediate live re-resolve of a document-backed fragment.
|
|
92
|
-
app
|
|
92
|
+
buildHonoRoute(app, refreshPromptFragmentContract, async (c) => {
|
|
93
93
|
const lib = requireLibrary(c);
|
|
94
94
|
if (!lib)
|
|
95
95
|
return unavailable(c);
|
|
96
96
|
if (!c.get('container').documents)
|
|
97
97
|
return documentsUnavailable(c);
|
|
98
|
-
const viaWorkspaceId = scope === 'workspace' ? param(c, 'workspaceId') : (c.req.
|
|
98
|
+
const viaWorkspaceId = scope === 'workspace' ? param(c, 'workspaceId') : (c.req.valid('query').viaWorkspaceId ?? '');
|
|
99
99
|
if (!viaWorkspaceId) {
|
|
100
100
|
throw new ValidationError('An account-tier refresh needs a `viaWorkspaceId` query param (the workspace whose connection to fetch through)');
|
|
101
101
|
}
|
|
102
|
-
const fragment = await lib.libraryService.refresh(ownerKind, ownerId(c),
|
|
103
|
-
return c.json(fragment);
|
|
102
|
+
const fragment = await lib.libraryService.refresh(ownerKind, ownerId(c), c.req.valid('param').fragmentId, viaWorkspaceId);
|
|
103
|
+
return c.json(fragment, 200);
|
|
104
104
|
});
|
|
105
105
|
// ---- repo sources -------------------------------------------------------
|
|
106
|
-
app
|
|
106
|
+
buildHonoRoute(app, listFragmentSourcesContract, async (c) => {
|
|
107
107
|
const lib = requireLibrary(c);
|
|
108
108
|
if (!lib)
|
|
109
109
|
return unavailable(c);
|
|
110
110
|
if (!lib.sourceService)
|
|
111
111
|
return sourcesUnavailable(c);
|
|
112
|
-
return c.json(await lib.sourceService.list(ownerKind, ownerId(c)));
|
|
112
|
+
return c.json(await lib.sourceService.list(ownerKind, ownerId(c)), 200);
|
|
113
113
|
});
|
|
114
|
-
app
|
|
114
|
+
buildHonoRoute(app, linkFragmentSourceContract, async (c) => {
|
|
115
115
|
const lib = requireLibrary(c);
|
|
116
116
|
if (!lib)
|
|
117
117
|
return unavailable(c);
|
|
@@ -120,38 +120,38 @@ export function fragmentLibraryController(scope) {
|
|
|
120
120
|
const source = await lib.sourceService.link(ownerKind, ownerId(c), c.req.valid('json'));
|
|
121
121
|
return c.json(source, 201);
|
|
122
122
|
});
|
|
123
|
-
app
|
|
123
|
+
buildHonoRoute(app, unlinkFragmentSourceContract, async (c) => {
|
|
124
124
|
const lib = requireLibrary(c);
|
|
125
125
|
if (!lib)
|
|
126
126
|
return unavailable(c);
|
|
127
127
|
if (!lib.sourceService)
|
|
128
128
|
return sourcesUnavailable(c);
|
|
129
|
-
await lib.sourceService.unlink(
|
|
129
|
+
await lib.sourceService.unlink(c.req.valid('param').id);
|
|
130
130
|
return c.body(null, 204);
|
|
131
131
|
});
|
|
132
|
-
app
|
|
132
|
+
buildHonoRoute(app, fragmentSourceStatusContract, async (c) => {
|
|
133
133
|
const lib = requireLibrary(c);
|
|
134
134
|
if (!lib)
|
|
135
135
|
return unavailable(c);
|
|
136
136
|
if (!lib.sourceService)
|
|
137
137
|
return sourcesUnavailable(c);
|
|
138
|
-
return c.json(await lib.sourceService.status(
|
|
138
|
+
return c.json(await lib.sourceService.status(c.req.valid('param').id), 200);
|
|
139
139
|
});
|
|
140
|
-
app
|
|
140
|
+
buildHonoRoute(app, syncFragmentSourceContract, async (c) => {
|
|
141
141
|
const lib = requireLibrary(c);
|
|
142
142
|
if (!lib)
|
|
143
143
|
return unavailable(c);
|
|
144
144
|
if (!lib.sourceService)
|
|
145
145
|
return sourcesUnavailable(c);
|
|
146
|
-
return c.json(await lib.sourceService.sync(
|
|
146
|
+
return c.json(await lib.sourceService.sync(c.req.valid('param').id), 200);
|
|
147
147
|
});
|
|
148
148
|
// ---- resolved (workspace only) — the merged catalog an agent sees -------
|
|
149
149
|
if (scope === 'workspace') {
|
|
150
|
-
app
|
|
150
|
+
buildHonoRoute(app, resolvedFragmentsContract, async (c) => {
|
|
151
151
|
const lib = requireLibrary(c);
|
|
152
152
|
if (!lib)
|
|
153
153
|
return unavailable(c);
|
|
154
|
-
return c.json(await lib.libraryService.resolvedCatalog(param(c, 'workspaceId')));
|
|
154
|
+
return c.json(await lib.libraryService.resolvedCatalog(param(c, 'workspaceId')), 200);
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
157
|
return app;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentLibraryController.js","sourceRoot":"","sources":["../../../src/modules/fragmentLibrary/FragmentLibraryController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,
|
|
1
|
+
{"version":3,"file":"FragmentLibraryController.js","sourceRoot":"","sources":["../../../src/modules/fragmentLibrary/FragmentLibraryController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubController.d.ts","sourceRoot":"","sources":["../../../src/modules/github/GitHubController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GitHubController.d.ts","sourceRoot":"","sources":["../../../src/modules/github/GitHubController.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAW/C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,CA8Q/C"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { commentGitHubIssueContract, commitGitHubFilesContract, connectGitHubContract, createGitHubBranchContract, createGitHubRepoContract, disconnectGitHubContract, getGitHubConnectionContract, getGitHubInstallUrlContract, listGitHubAvailableReposContract, listGitHubBranchesContract, listGitHubInstallationsContract, listGitHubIssuesContract, listGitHubPullsContract, listGitHubReposContract, listGitHubRepoTreeContract, mergeGitHubPullRequestContract, openGitHubPullRequestContract, resyncGitHubContract, setGitHubLinkedReposContract, setGitHubRepoMonorepoContract, } from '@cat-factory/contracts';
|
|
2
|
+
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
2
3
|
import { Hono } from 'hono';
|
|
3
|
-
import * as v from 'valibot';
|
|
4
4
|
import { StateSigner } from '../../github/state.js';
|
|
5
5
|
import { param } from '../../http/params.js';
|
|
6
|
-
import { jsonBody } from '../../http/validation.js';
|
|
7
|
-
const connectSchema = v.object({ installationId: v.number() });
|
|
8
6
|
/** Resolve the GitHub module or send a 503, returning null when unconfigured. */
|
|
9
7
|
function requireGitHub(c) {
|
|
10
8
|
return c.get('container').github ?? null;
|
|
@@ -23,7 +21,7 @@ export function githubController() {
|
|
|
23
21
|
// ---- connection ---------------------------------------------------------
|
|
24
22
|
// The URL the frontend should redirect to so a workspace owner can install
|
|
25
23
|
// the App; carries an HMAC-signed `state` binding the install to this workspace.
|
|
26
|
-
app
|
|
24
|
+
buildHonoRoute(app, getGitHubInstallUrlContract, async (c) => {
|
|
27
25
|
const github = requireGitHub(c);
|
|
28
26
|
if (!github)
|
|
29
27
|
return unavailable(c);
|
|
@@ -38,29 +36,29 @@ export function githubController() {
|
|
|
38
36
|
exp: Date.now() + 10 * 60 * 1000,
|
|
39
37
|
});
|
|
40
38
|
const url = `https://github.com/apps/${config.appSlug}/installations/new?state=${encodeURIComponent(state)}`;
|
|
41
|
-
return c.json({ url });
|
|
39
|
+
return c.json({ url }, 200);
|
|
42
40
|
});
|
|
43
|
-
app
|
|
41
|
+
buildHonoRoute(app, getGitHubConnectionContract, async (c) => {
|
|
44
42
|
const github = requireGitHub(c);
|
|
45
43
|
if (!github)
|
|
46
44
|
return unavailable(c);
|
|
47
45
|
const connection = await github.installationService.getConnection(param(c, 'workspaceId'));
|
|
48
|
-
return c.json({ connection });
|
|
46
|
+
return c.json({ connection }, 200);
|
|
49
47
|
});
|
|
50
48
|
// Discover the App's installations so the UI can offer a pick instead of a
|
|
51
49
|
// manually typed installation id (the caller already owns :workspaceId).
|
|
52
|
-
app
|
|
50
|
+
buildHonoRoute(app, listGitHubInstallationsContract, async (c) => {
|
|
53
51
|
const github = requireGitHub(c);
|
|
54
52
|
if (!github)
|
|
55
53
|
return unavailable(c);
|
|
56
54
|
const installations = await github.installationService.listAvailableInstallations(param(c, 'workspaceId'));
|
|
57
|
-
return c.json({ installations });
|
|
55
|
+
return c.json({ installations }, 200);
|
|
58
56
|
});
|
|
59
57
|
// Programmatic bind (the browser flow uses /github/setup/callback instead).
|
|
60
58
|
// Used by the "discover & link" picker and connect-by-id. Binds the installation
|
|
61
59
|
// to the workspace's account; repos are then linked explicitly (see below), so
|
|
62
60
|
// there is no whole-installation backfill on connect.
|
|
63
|
-
app
|
|
61
|
+
buildHonoRoute(app, connectGitHubContract, async (c) => {
|
|
64
62
|
const github = requireGitHub(c);
|
|
65
63
|
if (!github)
|
|
66
64
|
return unavailable(c);
|
|
@@ -71,39 +69,39 @@ export function githubController() {
|
|
|
71
69
|
});
|
|
72
70
|
// The repos the connected installation can access, annotated with whether this
|
|
73
71
|
// workspace links each. Drives the per-workspace repo picker.
|
|
74
|
-
app
|
|
72
|
+
buildHonoRoute(app, listGitHubAvailableReposContract, async (c) => {
|
|
75
73
|
const github = requireGitHub(c);
|
|
76
74
|
if (!github)
|
|
77
75
|
return unavailable(c);
|
|
78
|
-
return c.json(await github.syncService.listAvailableRepos(param(c, 'workspaceId')));
|
|
76
|
+
return c.json(await github.syncService.listAvailableRepos(param(c, 'workspaceId')), 200);
|
|
79
77
|
});
|
|
80
78
|
// Set the exact set of repos this workspace links. Projects the selection,
|
|
81
79
|
// tombstones the rest, and deep-syncs the linked repos.
|
|
82
|
-
app
|
|
80
|
+
buildHonoRoute(app, setGitHubLinkedReposContract, async (c) => {
|
|
83
81
|
const github = requireGitHub(c);
|
|
84
82
|
if (!github)
|
|
85
83
|
return unavailable(c);
|
|
86
84
|
const repos = await github.syncService.setLinkedRepos(param(c, 'workspaceId'), c.req.valid('json').repoGithubIds);
|
|
87
|
-
return c.json(repos);
|
|
85
|
+
return c.json(repos, 200);
|
|
88
86
|
});
|
|
89
87
|
// Flag (or unflag) a linked repo as a monorepo: the board then lets several service
|
|
90
88
|
// frames target the same repo, each pinned to a subdirectory (the picker below).
|
|
91
|
-
app
|
|
89
|
+
buildHonoRoute(app, setGitHubRepoMonorepoContract, async (c) => {
|
|
92
90
|
const github = requireGitHub(c);
|
|
93
91
|
if (!github)
|
|
94
92
|
return unavailable(c);
|
|
95
|
-
const repo = await github.syncService.setRepoMonorepo(param(c, 'workspaceId'), Number(
|
|
96
|
-
return c.json(repo);
|
|
93
|
+
const repo = await github.syncService.setRepoMonorepo(param(c, 'workspaceId'), Number(c.req.valid('param').repoGithubId), c.req.valid('json').isMonorepo);
|
|
94
|
+
return c.json(repo, 200);
|
|
97
95
|
});
|
|
98
96
|
// Browse one level of a (monorepo) repo's tree so the service picker can pin a
|
|
99
97
|
// service to a subdirectory. `path` ('' = root) is the directory to list.
|
|
100
|
-
app
|
|
98
|
+
buildHonoRoute(app, listGitHubRepoTreeContract, async (c) => {
|
|
101
99
|
const github = requireGitHub(c);
|
|
102
100
|
if (!github)
|
|
103
101
|
return unavailable(c);
|
|
104
|
-
return c.json(await github.syncService.listRepoDirectory(param(c, 'workspaceId'), Number(
|
|
102
|
+
return c.json(await github.syncService.listRepoDirectory(param(c, 'workspaceId'), Number(c.req.valid('param').repoGithubId), c.req.valid('query').path ?? ''), 200);
|
|
105
103
|
});
|
|
106
|
-
app
|
|
104
|
+
buildHonoRoute(app, disconnectGitHubContract, async (c) => {
|
|
107
105
|
const github = requireGitHub(c);
|
|
108
106
|
if (!github)
|
|
109
107
|
return unavailable(c);
|
|
@@ -111,7 +109,7 @@ export function githubController() {
|
|
|
111
109
|
return c.body(null, 204);
|
|
112
110
|
});
|
|
113
111
|
// ---- resync -------------------------------------------------------------
|
|
114
|
-
app
|
|
112
|
+
buildHonoRoute(app, resyncGitHubContract, async (c) => {
|
|
115
113
|
const github = requireGitHub(c);
|
|
116
114
|
if (!github)
|
|
117
115
|
return unavailable(c);
|
|
@@ -124,7 +122,7 @@ export function githubController() {
|
|
|
124
122
|
if (scheduled)
|
|
125
123
|
return c.json({ status: 'backfill_started' }, 202);
|
|
126
124
|
await github.syncService.backfillInstallation(installation.installationId);
|
|
127
|
-
return c.json({ status: 'backfilled' });
|
|
125
|
+
return c.json({ status: 'backfilled' }, 200);
|
|
128
126
|
}
|
|
129
127
|
// Incremental: a single repo (optionally out of band) or the whole workspace.
|
|
130
128
|
if (repoGithubId !== undefined) {
|
|
@@ -132,41 +130,41 @@ export function githubController() {
|
|
|
132
130
|
if (queued)
|
|
133
131
|
return c.json({ status: 'queued' }, 202);
|
|
134
132
|
await github.syncService.syncRepoById(workspaceId, repoGithubId);
|
|
135
|
-
return c.json({ status: 'synced' });
|
|
133
|
+
return c.json({ status: 'synced' }, 200);
|
|
136
134
|
}
|
|
137
135
|
await github.syncService.resyncWorkspace(workspaceId);
|
|
138
|
-
return c.json({ status: 'synced' });
|
|
136
|
+
return c.json({ status: 'synced' }, 200);
|
|
139
137
|
});
|
|
140
138
|
// ---- projection reads ---------------------------------------------------
|
|
141
|
-
app
|
|
139
|
+
buildHonoRoute(app, listGitHubReposContract, async (c) => {
|
|
142
140
|
const github = requireGitHub(c);
|
|
143
141
|
if (!github)
|
|
144
142
|
return unavailable(c);
|
|
145
|
-
return c.json(await github.service.listRepos(param(c, 'workspaceId')));
|
|
143
|
+
return c.json(await github.service.listRepos(param(c, 'workspaceId')), 200);
|
|
146
144
|
});
|
|
147
|
-
app
|
|
145
|
+
buildHonoRoute(app, listGitHubBranchesContract, async (c) => {
|
|
148
146
|
const github = requireGitHub(c);
|
|
149
147
|
if (!github)
|
|
150
148
|
return unavailable(c);
|
|
151
|
-
return c.json(await github.service.listBranches(param(c, 'workspaceId'), Number(
|
|
149
|
+
return c.json(await github.service.listBranches(param(c, 'workspaceId'), Number(c.req.valid('param').repoGithubId)), 200);
|
|
152
150
|
});
|
|
153
|
-
app
|
|
151
|
+
buildHonoRoute(app, listGitHubPullsContract, async (c) => {
|
|
154
152
|
const github = requireGitHub(c);
|
|
155
153
|
if (!github)
|
|
156
154
|
return unavailable(c);
|
|
157
|
-
return c.json(await github.service.listPullRequests(param(c, 'workspaceId')));
|
|
155
|
+
return c.json(await github.service.listPullRequests(param(c, 'workspaceId')), 200);
|
|
158
156
|
});
|
|
159
|
-
app
|
|
157
|
+
buildHonoRoute(app, listGitHubIssuesContract, async (c) => {
|
|
160
158
|
const github = requireGitHub(c);
|
|
161
159
|
if (!github)
|
|
162
160
|
return unavailable(c);
|
|
163
|
-
return c.json(await github.service.listIssues(param(c, 'workspaceId')));
|
|
161
|
+
return c.json(await github.service.listIssues(param(c, 'workspaceId')), 200);
|
|
164
162
|
});
|
|
165
163
|
// ---- writes -------------------------------------------------------------
|
|
166
164
|
// Programmatically create a repository under the connected account (privileged
|
|
167
165
|
// App tier, ADR 0005). 503 when no privileged App is configured; 409 when the
|
|
168
166
|
// account isn't actually privileged, so the caller can fall back.
|
|
169
|
-
app
|
|
167
|
+
buildHonoRoute(app, createGitHubRepoContract, async (c) => {
|
|
170
168
|
const github = requireGitHub(c);
|
|
171
169
|
if (!github)
|
|
172
170
|
return unavailable(c);
|
|
@@ -193,40 +191,42 @@ export function githubController() {
|
|
|
193
191
|
}
|
|
194
192
|
return c.json(result.repo, 201);
|
|
195
193
|
});
|
|
196
|
-
app
|
|
194
|
+
buildHonoRoute(app, createGitHubBranchContract, async (c) => {
|
|
197
195
|
const github = requireGitHub(c);
|
|
198
196
|
if (!github)
|
|
199
197
|
return unavailable(c);
|
|
200
198
|
const body = c.req.valid('json');
|
|
201
|
-
const branch = await github.service.createBranch(param(c, 'workspaceId'), Number(
|
|
199
|
+
const branch = await github.service.createBranch(param(c, 'workspaceId'), Number(c.req.valid('param').repoGithubId), body.name, body.fromSha);
|
|
202
200
|
return c.json(branch, 201);
|
|
203
201
|
});
|
|
204
|
-
app
|
|
202
|
+
buildHonoRoute(app, commitGitHubFilesContract, async (c) => {
|
|
205
203
|
const github = requireGitHub(c);
|
|
206
204
|
if (!github)
|
|
207
205
|
return unavailable(c);
|
|
208
|
-
const result = await github.service.commitFiles(param(c, 'workspaceId'), Number(
|
|
206
|
+
const result = await github.service.commitFiles(param(c, 'workspaceId'), Number(c.req.valid('param').repoGithubId), c.req.valid('json'));
|
|
209
207
|
return c.json(result, 201);
|
|
210
208
|
});
|
|
211
|
-
app
|
|
209
|
+
buildHonoRoute(app, openGitHubPullRequestContract, async (c) => {
|
|
212
210
|
const github = requireGitHub(c);
|
|
213
211
|
if (!github)
|
|
214
212
|
return unavailable(c);
|
|
215
|
-
const pr = await github.service.openPullRequest(param(c, 'workspaceId'), Number(
|
|
213
|
+
const pr = await github.service.openPullRequest(param(c, 'workspaceId'), Number(c.req.valid('param').repoGithubId), c.req.valid('json'));
|
|
216
214
|
return c.json(pr, 201);
|
|
217
215
|
});
|
|
218
|
-
app
|
|
216
|
+
buildHonoRoute(app, mergeGitHubPullRequestContract, async (c) => {
|
|
219
217
|
const github = requireGitHub(c);
|
|
220
218
|
if (!github)
|
|
221
219
|
return unavailable(c);
|
|
222
|
-
|
|
220
|
+
const params = c.req.valid('param');
|
|
221
|
+
await github.service.mergePullRequest(param(c, 'workspaceId'), Number(params.repoGithubId), Number(params.number), c.req.valid('json'));
|
|
223
222
|
return c.body(null, 204);
|
|
224
223
|
});
|
|
225
|
-
app
|
|
224
|
+
buildHonoRoute(app, commentGitHubIssueContract, async (c) => {
|
|
226
225
|
const github = requireGitHub(c);
|
|
227
226
|
if (!github)
|
|
228
227
|
return unavailable(c);
|
|
229
|
-
|
|
228
|
+
const params = c.req.valid('param');
|
|
229
|
+
await github.service.comment(param(c, 'workspaceId'), Number(params.repoGithubId), Number(params.number), c.req.valid('json').body);
|
|
230
230
|
return c.body(null, 204);
|
|
231
231
|
});
|
|
232
232
|
return app;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubController.js","sourceRoot":"","sources":["../../../src/modules/github/GitHubController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GitHubController.js","sourceRoot":"","sources":["../../../src/modules/github/GitHubController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Hono } from 'hono';
|
|
2
|
+
import type { AppEnv } from '../../http/env.js';
|
|
3
|
+
/**
|
|
4
|
+
* Workspace-scoped run-driving endpoint for the human-review gate. The gate self-drives off the
|
|
5
|
+
* PR's GitHub review state (approve → advance; review threads → fixer), but a human can ALSO
|
|
6
|
+
* request a freeform fix at any time — dispatched to the `fixer` immediately, bypassing the grace
|
|
7
|
+
* window. Acts on the block's parked `human-review` step via the execution service and returns the
|
|
8
|
+
* updated execution instance. Mounted under `/workspaces/:workspaceId`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function humanReviewController(): Hono<AppEnv>;
|
|
11
|
+
//# sourceMappingURL=HumanReviewController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HumanReviewController.d.ts","sourceRoot":"","sources":["../../../src/modules/humanReview/HumanReviewController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG/C;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,CAepD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { requestHumanReviewFixContract } from '@cat-factory/contracts';
|
|
2
|
+
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
|
+
import { Hono } from 'hono';
|
|
4
|
+
import { param } from '../../http/params.js';
|
|
5
|
+
/**
|
|
6
|
+
* Workspace-scoped run-driving endpoint for the human-review gate. The gate self-drives off the
|
|
7
|
+
* PR's GitHub review state (approve → advance; review threads → fixer), but a human can ALSO
|
|
8
|
+
* request a freeform fix at any time — dispatched to the `fixer` immediately, bypassing the grace
|
|
9
|
+
* window. Acts on the block's parked `human-review` step via the execution service and returns the
|
|
10
|
+
* updated execution instance. Mounted under `/workspaces/:workspaceId`.
|
|
11
|
+
*/
|
|
12
|
+
export function humanReviewController() {
|
|
13
|
+
const app = new Hono();
|
|
14
|
+
buildHonoRoute(app, requestHumanReviewFixContract, async (c) => {
|
|
15
|
+
const instance = await c
|
|
16
|
+
.get('container')
|
|
17
|
+
.executionService.requestHumanReviewFix(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json').instructions);
|
|
18
|
+
return c.json(instance, 200);
|
|
19
|
+
});
|
|
20
|
+
return app;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=HumanReviewController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HumanReviewController.js","sourceRoot":"","sources":["../../../src/modules/humanReview/HumanReviewController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,cAAc,CAAC,GAAG,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC;aACrB,GAAG,CAAC,WAAW,CAAC;aAChB,gBAAgB,CAAC,qBAAqB,CACrC,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,CAAC,YAAY,CACjC,CAAA;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HumanTestController.d.ts","sourceRoot":"","sources":["../../../src/modules/humanTest/HumanTestController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HumanTestController.d.ts","sourceRoot":"","sources":["../../../src/modules/humanTest/HumanTestController.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG/C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,CAiDlD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { confirmHumanTestContract, destroyHumanTestEnvContract, pullMainHumanTestContract, recreateHumanTestEnvContract, requestHumanTestFixContract, } 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
|
/**
|
|
6
6
|
* Workspace-scoped run-driving endpoints for the human-testing gate. Each acts on the block's
|
|
7
7
|
* parked `human-test` step via the execution service: confirm (tear the env down + advance),
|
|
@@ -13,40 +13,40 @@ import { jsonBody } from '../../http/validation.js';
|
|
|
13
13
|
export function humanTestController() {
|
|
14
14
|
const app = new Hono();
|
|
15
15
|
// The human validated the change in the env: tear it down and advance the pipeline.
|
|
16
|
-
app
|
|
16
|
+
buildHonoRoute(app, confirmHumanTestContract, async (c) => {
|
|
17
17
|
const instance = await c
|
|
18
18
|
.get('container')
|
|
19
|
-
.executionService.confirmHumanTest(param(c, 'workspaceId'),
|
|
20
|
-
return c.json(instance);
|
|
19
|
+
.executionService.confirmHumanTest(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
20
|
+
return c.json(instance, 200);
|
|
21
21
|
});
|
|
22
22
|
// Submit findings and request a fix: dispatch the fixer, rebuild the env, re-park.
|
|
23
|
-
app
|
|
23
|
+
buildHonoRoute(app, requestHumanTestFixContract, async (c) => {
|
|
24
24
|
const instance = await c
|
|
25
25
|
.get('container')
|
|
26
|
-
.executionService.requestHumanTestFix(param(c, 'workspaceId'),
|
|
27
|
-
return c.json(instance);
|
|
26
|
+
.executionService.requestHumanTestFix(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json').findings);
|
|
27
|
+
return c.json(instance, 200);
|
|
28
28
|
});
|
|
29
29
|
// Pull the repo default branch into the PR branch + redeploy. A clean merge rebuilds the
|
|
30
30
|
// env; a conflict dispatches the conflict-resolver (then rebuilds on its completion).
|
|
31
|
-
app
|
|
31
|
+
buildHonoRoute(app, pullMainHumanTestContract, async (c) => {
|
|
32
32
|
const instance = await c
|
|
33
33
|
.get('container')
|
|
34
|
-
.executionService.pullMainHumanTest(param(c, 'workspaceId'),
|
|
35
|
-
return c.json(instance);
|
|
34
|
+
.executionService.pullMainHumanTest(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
35
|
+
return c.json(instance, 200);
|
|
36
36
|
});
|
|
37
37
|
// Rebuild the ephemeral environment on demand.
|
|
38
|
-
app
|
|
38
|
+
buildHonoRoute(app, recreateHumanTestEnvContract, async (c) => {
|
|
39
39
|
const instance = await c
|
|
40
40
|
.get('container')
|
|
41
|
-
.executionService.recreateHumanTestEnv(param(c, 'workspaceId'),
|
|
42
|
-
return c.json(instance);
|
|
41
|
+
.executionService.recreateHumanTestEnv(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
42
|
+
return c.json(instance, 200);
|
|
43
43
|
});
|
|
44
44
|
// Destroy the ephemeral environment on demand (the run stays parked).
|
|
45
|
-
app
|
|
45
|
+
buildHonoRoute(app, destroyHumanTestEnvContract, async (c) => {
|
|
46
46
|
const instance = await c
|
|
47
47
|
.get('container')
|
|
48
|
-
.executionService.destroyHumanTestEnv(param(c, 'workspaceId'),
|
|
49
|
-
return c.json(instance);
|
|
48
|
+
.executionService.destroyHumanTestEnv(param(c, 'workspaceId'), c.req.valid('param').blockId);
|
|
49
|
+
return c.json(instance, 200);
|
|
50
50
|
});
|
|
51
51
|
return app;
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HumanTestController.js","sourceRoot":"","sources":["../../../src/modules/humanTest/HumanTestController.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"HumanTestController.js","sourceRoot":"","sources":["../../../src/modules/humanTest/HumanTestController.ts"],"names":[],"mappings":"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"}
|