@cat-factory/server 0.31.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.
Files changed (154) hide show
  1. package/dist/config/types.d.ts +1 -15
  2. package/dist/config/types.d.ts.map +1 -1
  3. package/dist/http/errorHandler.d.ts.map +1 -1
  4. package/dist/http/errorHandler.js +20 -0
  5. package/dist/http/errorHandler.js.map +1 -1
  6. package/dist/index.d.ts +0 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +0 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/modules/accounts/AccountController.d.ts +4 -0
  11. package/dist/modules/accounts/AccountController.d.ts.map +1 -1
  12. package/dist/modules/accounts/AccountController.js +78 -58
  13. package/dist/modules/accounts/AccountController.js.map +1 -1
  14. package/dist/modules/agentRuns/AgentRunController.d.ts.map +1 -1
  15. package/dist/modules/agentRuns/AgentRunController.js +8 -6
  16. package/dist/modules/agentRuns/AgentRunController.js.map +1 -1
  17. package/dist/modules/auth/AuthController.d.ts.map +1 -1
  18. package/dist/modules/auth/AuthController.js +23 -23
  19. package/dist/modules/auth/AuthController.js.map +1 -1
  20. package/dist/modules/board/BoardController.d.ts.map +1 -1
  21. package/dist/modules/board/BoardController.js +26 -26
  22. package/dist/modules/board/BoardController.js.map +1 -1
  23. package/dist/modules/bootstrap/BootstrapController.d.ts.map +1 -1
  24. package/dist/modules/bootstrap/BootstrapController.js +15 -15
  25. package/dist/modules/bootstrap/BootstrapController.js.map +1 -1
  26. package/dist/modules/brainstorm/BrainstormController.d.ts +3 -2
  27. package/dist/modules/brainstorm/BrainstormController.d.ts.map +1 -1
  28. package/dist/modules/brainstorm/BrainstormController.js +36 -52
  29. package/dist/modules/brainstorm/BrainstormController.js.map +1 -1
  30. package/dist/modules/clarity/ClarityReviewController.d.ts.map +1 -1
  31. package/dist/modules/clarity/ClarityReviewController.js +27 -25
  32. package/dist/modules/clarity/ClarityReviewController.js.map +1 -1
  33. package/dist/modules/consensus/ConsensusController.d.ts.map +1 -1
  34. package/dist/modules/consensus/ConsensusController.js +6 -4
  35. package/dist/modules/consensus/ConsensusController.js.map +1 -1
  36. package/dist/modules/documents/DocumentSourceController.d.ts.map +1 -1
  37. package/dist/modules/documents/DocumentSourceController.js +17 -17
  38. package/dist/modules/documents/DocumentSourceController.js.map +1 -1
  39. package/dist/modules/environments/EnvironmentController.d.ts.map +1 -1
  40. package/dist/modules/environments/EnvironmentController.js +24 -24
  41. package/dist/modules/environments/EnvironmentController.js.map +1 -1
  42. package/dist/modules/execution/ExecutionController.d.ts.map +1 -1
  43. package/dist/modules/execution/ExecutionController.js +57 -45
  44. package/dist/modules/execution/ExecutionController.js.map +1 -1
  45. package/dist/modules/followUp/FollowUpController.d.ts.map +1 -1
  46. package/dist/modules/followUp/FollowUpController.js +21 -17
  47. package/dist/modules/followUp/FollowUpController.js.map +1 -1
  48. package/dist/modules/fragmentLibrary/FragmentLibraryController.d.ts.map +1 -1
  49. package/dist/modules/fragmentLibrary/FragmentLibraryController.js +26 -26
  50. package/dist/modules/fragmentLibrary/FragmentLibraryController.js.map +1 -1
  51. package/dist/modules/github/GitHubController.d.ts.map +1 -1
  52. package/dist/modules/github/GitHubController.js +44 -44
  53. package/dist/modules/github/GitHubController.js.map +1 -1
  54. package/dist/modules/humanReview/HumanReviewController.d.ts.map +1 -1
  55. package/dist/modules/humanReview/HumanReviewController.js +5 -5
  56. package/dist/modules/humanReview/HumanReviewController.js.map +1 -1
  57. package/dist/modules/humanTest/HumanTestController.d.ts.map +1 -1
  58. package/dist/modules/humanTest/HumanTestController.js +17 -17
  59. package/dist/modules/humanTest/HumanTestController.js.map +1 -1
  60. package/dist/modules/incidentEnrichment/IncidentEnrichmentController.d.ts.map +1 -1
  61. package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js +7 -7
  62. package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js.map +1 -1
  63. package/dist/modules/kaizen/KaizenController.d.ts.map +1 -1
  64. package/dist/modules/kaizen/KaizenController.js +7 -5
  65. package/dist/modules/kaizen/KaizenController.js.map +1 -1
  66. package/dist/modules/localModels/LocalModelEndpointController.d.ts.map +1 -1
  67. package/dist/modules/localModels/LocalModelEndpointController.js +10 -11
  68. package/dist/modules/localModels/LocalModelEndpointController.js.map +1 -1
  69. package/dist/modules/localSettings/LocalSettingsController.d.ts.map +1 -1
  70. package/dist/modules/localSettings/LocalSettingsController.js +6 -6
  71. package/dist/modules/localSettings/LocalSettingsController.js.map +1 -1
  72. package/dist/modules/merge/MergePresetController.d.ts.map +1 -1
  73. package/dist/modules/merge/MergePresetController.js +10 -10
  74. package/dist/modules/merge/MergePresetController.js.map +1 -1
  75. package/dist/modules/modelPresets/ModelPresetController.d.ts.map +1 -1
  76. package/dist/modules/modelPresets/ModelPresetController.js +10 -10
  77. package/dist/modules/modelPresets/ModelPresetController.js.map +1 -1
  78. package/dist/modules/models/ModelController.d.ts.map +1 -1
  79. package/dist/modules/models/ModelController.js +6 -4
  80. package/dist/modules/models/ModelController.js.map +1 -1
  81. package/dist/modules/notifications/NotificationController.d.ts.map +1 -1
  82. package/dist/modules/notifications/NotificationController.js +11 -9
  83. package/dist/modules/notifications/NotificationController.js.map +1 -1
  84. package/dist/modules/openrouter/OpenRouterCatalogController.d.ts.map +1 -1
  85. package/dist/modules/openrouter/OpenRouterCatalogController.js +9 -10
  86. package/dist/modules/openrouter/OpenRouterCatalogController.js.map +1 -1
  87. package/dist/modules/pipelines/PipelineController.d.ts.map +1 -1
  88. package/dist/modules/pipelines/PipelineController.js +17 -15
  89. package/dist/modules/pipelines/PipelineController.js.map +1 -1
  90. package/dist/modules/promptFragments/PromptFragmentController.d.ts.map +1 -1
  91. package/dist/modules/promptFragments/PromptFragmentController.js +4 -2
  92. package/dist/modules/promptFragments/PromptFragmentController.js.map +1 -1
  93. package/dist/modules/providers/ApiKeyController.d.ts.map +1 -1
  94. package/dist/modules/providers/ApiKeyController.js +12 -12
  95. package/dist/modules/providers/ApiKeyController.js.map +1 -1
  96. package/dist/modules/providers/PersonalSubscriptionController.d.ts.map +1 -1
  97. package/dist/modules/providers/PersonalSubscriptionController.js +7 -8
  98. package/dist/modules/providers/PersonalSubscriptionController.js.map +1 -1
  99. package/dist/modules/providers/UserSecretController.d.ts.map +1 -1
  100. package/dist/modules/providers/UserSecretController.js +14 -15
  101. package/dist/modules/providers/UserSecretController.js.map +1 -1
  102. package/dist/modules/providers/VendorCredentialController.d.ts.map +1 -1
  103. package/dist/modules/providers/VendorCredentialController.js +7 -7
  104. package/dist/modules/providers/VendorCredentialController.js.map +1 -1
  105. package/dist/modules/providers/personalCredentialGate.d.ts +2 -2
  106. package/dist/modules/providers/personalCredentialGate.d.ts.map +1 -1
  107. package/dist/modules/providers/personalCredentialGate.js.map +1 -1
  108. package/dist/modules/provisioningLogs/ProvisioningLogController.d.ts.map +1 -1
  109. package/dist/modules/provisioningLogs/ProvisioningLogController.js +4 -3
  110. package/dist/modules/provisioningLogs/ProvisioningLogController.js.map +1 -1
  111. package/dist/modules/recurring/RecurringPipelineController.d.ts.map +1 -1
  112. package/dist/modules/recurring/RecurringPipelineController.js +15 -15
  113. package/dist/modules/recurring/RecurringPipelineController.js.map +1 -1
  114. package/dist/modules/recurring/TrackerSettingsController.d.ts.map +1 -1
  115. package/dist/modules/recurring/TrackerSettingsController.js +6 -6
  116. package/dist/modules/recurring/TrackerSettingsController.js.map +1 -1
  117. package/dist/modules/releaseHealth/ReleaseHealthController.d.ts.map +1 -1
  118. package/dist/modules/releaseHealth/ReleaseHealthController.js +14 -14
  119. package/dist/modules/releaseHealth/ReleaseHealthController.js.map +1 -1
  120. package/dist/modules/requirements/RequirementReviewController.d.ts.map +1 -1
  121. package/dist/modules/requirements/RequirementReviewController.js +43 -38
  122. package/dist/modules/requirements/RequirementReviewController.js.map +1 -1
  123. package/dist/modules/runners/RunnerPoolController.d.ts.map +1 -1
  124. package/dist/modules/runners/RunnerPoolController.js +12 -12
  125. package/dist/modules/runners/RunnerPoolController.js.map +1 -1
  126. package/dist/modules/sandbox/SandboxController.d.ts.map +1 -1
  127. package/dist/modules/sandbox/SandboxController.js +35 -26
  128. package/dist/modules/sandbox/SandboxController.js.map +1 -1
  129. package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.d.ts.map +1 -1
  130. package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.js +6 -6
  131. package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.js.map +1 -1
  132. package/dist/modules/serviceSpec/ServiceSpecController.d.ts.map +1 -1
  133. package/dist/modules/serviceSpec/ServiceSpecController.js +9 -8
  134. package/dist/modules/serviceSpec/ServiceSpecController.js.map +1 -1
  135. package/dist/modules/services/ServiceMountController.d.ts.map +1 -1
  136. package/dist/modules/services/ServiceMountController.js +14 -14
  137. package/dist/modules/services/ServiceMountController.js.map +1 -1
  138. package/dist/modules/settings/WorkspaceSettingsController.d.ts.map +1 -1
  139. package/dist/modules/settings/WorkspaceSettingsController.js +6 -6
  140. package/dist/modules/settings/WorkspaceSettingsController.js.map +1 -1
  141. package/dist/modules/slack/SlackController.d.ts.map +1 -1
  142. package/dist/modules/slack/SlackController.js +18 -18
  143. package/dist/modules/slack/SlackController.js.map +1 -1
  144. package/dist/modules/tasks/TaskSourceController.d.ts.map +1 -1
  145. package/dist/modules/tasks/TaskSourceController.js +19 -19
  146. package/dist/modules/tasks/TaskSourceController.js.map +1 -1
  147. package/dist/modules/workspaces/WorkspaceController.d.ts.map +1 -1
  148. package/dist/modules/workspaces/WorkspaceController.js +11 -11
  149. package/dist/modules/workspaces/WorkspaceController.js.map +1 -1
  150. package/package.json +11 -9
  151. package/dist/http/validation.d.ts +0 -21
  152. package/dist/http/validation.d.ts.map +0 -1
  153. package/dist/http/validation.js +0 -21
  154. package/dist/http/validation.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { createDocumentFragmentSchema, createPromptFragmentSchema, linkFragmentSourceSchema, updatePromptFragmentSchema, } from '@cat-factory/contracts';
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.get('/prompt-fragments', async (c) => {
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.post('/prompt-fragments', jsonBody(createPromptFragmentSchema), async (c) => {
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.patch('/prompt-fragments/:fragmentId{.+}', jsonBody(updatePromptFragmentSchema), async (c) => {
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), param(c, 'fragmentId'), c.req.valid('json'));
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.delete('/prompt-fragments/:fragmentId{.+}', async (c) => {
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), param(c, 'fragmentId'));
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.post('/document-fragments', jsonBody(createDocumentFragmentSchema), async (c) => {
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.post('/prompt-fragments/:fragmentId{.+}/refresh', async (c) => {
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.query('viaWorkspaceId') ?? '');
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), param(c, 'fragmentId'), viaWorkspaceId);
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.get('/fragment-sources', async (c) => {
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.post('/fragment-sources', jsonBody(linkFragmentSourceSchema), async (c) => {
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.delete('/fragment-sources/:id', async (c) => {
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(param(c, 'id'));
129
+ await lib.sourceService.unlink(c.req.valid('param').id);
130
130
  return c.body(null, 204);
131
131
  });
132
- app.get('/fragment-sources/:id/status', async (c) => {
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(param(c, 'id')));
138
+ return c.json(await lib.sourceService.status(c.req.valid('param').id), 200);
139
139
  });
140
- app.post('/fragment-sources/:id/sync', async (c) => {
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(param(c, 'id')));
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.get('/prompt-fragments/resolved', async (c) => {
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":"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"}
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":"AAYA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAc/C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,CA+Q/C"}
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 { commentSchema, commitFilesSchema, createBranchSchema, createRepoRequestSchema, linkReposSchema, mergePullRequestSchema, openPullRequestSchema, resyncRequestSchema, setRepoMonorepoSchema, } from '@cat-factory/contracts';
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.get('/github/install-url', async (c) => {
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.get('/github/connection', async (c) => {
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.get('/github/installations', async (c) => {
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.post('/github/connect', jsonBody(connectSchema), async (c) => {
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.get('/github/available-repos', async (c) => {
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.put('/github/repos', jsonBody(linkReposSchema), async (c) => {
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.patch('/github/repos/:repoGithubId', jsonBody(setRepoMonorepoSchema), async (c) => {
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(param(c, 'repoGithubId')), c.req.valid('json').isMonorepo);
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.get('/github/repos/:repoGithubId/tree', async (c) => {
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(param(c, 'repoGithubId')), c.req.query('path') ?? ''));
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.delete('/github/connection', async (c) => {
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.post('/github/resync', jsonBody(resyncRequestSchema), async (c) => {
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.get('/github/repos', async (c) => {
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.get('/github/repos/:repoGithubId/branches', async (c) => {
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(param(c, 'repoGithubId'))));
149
+ return c.json(await github.service.listBranches(param(c, 'workspaceId'), Number(c.req.valid('param').repoGithubId)), 200);
152
150
  });
153
- app.get('/github/pulls', async (c) => {
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.get('/github/issues', async (c) => {
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.post('/github/repos', jsonBody(createRepoRequestSchema), async (c) => {
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.post('/github/repos/:repoGithubId/branches', jsonBody(createBranchSchema), async (c) => {
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(param(c, 'repoGithubId')), body.name, body.fromSha);
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.post('/github/repos/:repoGithubId/commits', jsonBody(commitFilesSchema), async (c) => {
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(param(c, 'repoGithubId')), c.req.valid('json'));
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.post('/github/repos/:repoGithubId/pulls', jsonBody(openPullRequestSchema), async (c) => {
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(param(c, 'repoGithubId')), c.req.valid('json'));
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.put('/github/repos/:repoGithubId/pulls/:number/merge', jsonBody(mergePullRequestSchema), async (c) => {
216
+ buildHonoRoute(app, mergeGitHubPullRequestContract, async (c) => {
219
217
  const github = requireGitHub(c);
220
218
  if (!github)
221
219
  return unavailable(c);
222
- await github.service.mergePullRequest(param(c, 'workspaceId'), Number(param(c, 'repoGithubId')), Number(param(c, 'number')), c.req.valid('json'));
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.post('/github/repos/:repoGithubId/issues/:number/comments', jsonBody(commentSchema), async (c) => {
224
+ buildHonoRoute(app, commentGitHubIssueContract, async (c) => {
226
225
  const github = requireGitHub(c);
227
226
  if (!github)
228
227
  return unavailable(c);
229
- await github.service.comment(param(c, 'workspaceId'), Number(param(c, 'repoGithubId')), Number(param(c, 'number')), c.req.valid('json').body);
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HumanReviewController.d.ts","sourceRoot":"","sources":["../../../src/modules/humanReview/HumanReviewController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI/C;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,CAmBpD"}
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"}
@@ -1,7 +1,7 @@
1
- import { requestHumanReviewFixSchema } from '@cat-factory/contracts';
1
+ import { requestHumanReviewFixContract } 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 endpoint for the human-review gate. The gate self-drives off the
7
7
  * PR's GitHub review state (approve → advance; review threads → fixer), but a human can ALSO
@@ -11,11 +11,11 @@ import { jsonBody } from '../../http/validation.js';
11
11
  */
12
12
  export function humanReviewController() {
13
13
  const app = new Hono();
14
- app.post('/blocks/:blockId/human-review/request-fix', jsonBody(requestHumanReviewFixSchema), async (c) => {
14
+ buildHonoRoute(app, requestHumanReviewFixContract, async (c) => {
15
15
  const instance = await c
16
16
  .get('container')
17
- .executionService.requestHumanReviewFix(param(c, 'workspaceId'), param(c, 'blockId'), c.req.valid('json').instructions);
18
- return c.json(instance);
17
+ .executionService.requestHumanReviewFix(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json').instructions);
18
+ return c.json(instance, 200);
19
19
  });
20
20
  return app;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HumanReviewController.js","sourceRoot":"","sources":["../../../src/modules/humanReview/HumanReviewController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,GAAG,CAAC,IAAI,CACN,2CAA2C,EAC3C,QAAQ,CAAC,2BAA2B,CAAC,EACrC,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,MAAM,QAAQ,GAAG,MAAM,CAAC;aACrB,GAAG,CAAC,WAAW,CAAC;aAChB,gBAAgB,CAAC,qBAAqB,CACrC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EACnB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,CACjC,CAAA;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC,CACF,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
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":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI/C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,CAqDlD"}
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 { requestHumanTestFixSchema } from '@cat-factory/contracts';
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.post('/blocks/:blockId/human-test/confirm', async (c) => {
16
+ buildHonoRoute(app, confirmHumanTestContract, async (c) => {
17
17
  const instance = await c
18
18
  .get('container')
19
- .executionService.confirmHumanTest(param(c, 'workspaceId'), param(c, 'blockId'));
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.post('/blocks/:blockId/human-test/request-fix', jsonBody(requestHumanTestFixSchema), async (c) => {
23
+ buildHonoRoute(app, requestHumanTestFixContract, async (c) => {
24
24
  const instance = await c
25
25
  .get('container')
26
- .executionService.requestHumanTestFix(param(c, 'workspaceId'), param(c, 'blockId'), c.req.valid('json').findings);
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.post('/blocks/:blockId/human-test/pull-main', async (c) => {
31
+ buildHonoRoute(app, pullMainHumanTestContract, async (c) => {
32
32
  const instance = await c
33
33
  .get('container')
34
- .executionService.pullMainHumanTest(param(c, 'workspaceId'), param(c, 'blockId'));
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.post('/blocks/:blockId/human-test/recreate-env', async (c) => {
38
+ buildHonoRoute(app, recreateHumanTestEnvContract, async (c) => {
39
39
  const instance = await c
40
40
  .get('container')
41
- .executionService.recreateHumanTestEnv(param(c, 'workspaceId'), param(c, 'blockId'));
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.post('/blocks/:blockId/human-test/destroy-env', async (c) => {
45
+ buildHonoRoute(app, destroyHumanTestEnvContract, async (c) => {
46
46
  const instance = await c
47
47
  .get('container')
48
- .executionService.destroyHumanTestEnv(param(c, 'workspaceId'), param(c, 'blockId'));
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,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,oFAAoF;IACpF,GAAG,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC;aACrB,GAAG,CAAC,WAAW,CAAC;aAChB,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;QAClF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,mFAAmF;IACnF,GAAG,CAAC,IAAI,CACN,yCAAyC,EACzC,QAAQ,CAAC,yBAAyB,CAAC,EACnC,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,MAAM,QAAQ,GAAG,MAAM,CAAC;aACrB,GAAG,CAAC,WAAW,CAAC;aAChB,gBAAgB,CAAC,mBAAmB,CACnC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EACnB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAC7B,CAAA;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC,CACF,CAAA;IAED,yFAAyF;IACzF,sFAAsF;IACtF,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC;aACrB,GAAG,CAAC,WAAW,CAAC;aAChB,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;QACnF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,+CAA+C;IAC/C,GAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC;aACrB,GAAG,CAAC,WAAW,CAAC;aAChB,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;QACtF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,sEAAsE;IACtE,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC;aACrB,GAAG,CAAC,WAAW,CAAC;aAChB,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;QACrF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"HumanTestController.js","sourceRoot":"","sources":["../../../src/modules/humanTest/HumanTestController.ts"],"names":[],"mappings":"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"}