@cat-factory/server 0.170.0 → 0.171.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 (183) hide show
  1. package/dist/http/guards.d.ts +46 -0
  2. package/dist/http/guards.d.ts.map +1 -0
  3. package/dist/http/guards.js +57 -0
  4. package/dist/http/guards.js.map +1 -0
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/modules/accounts/AccountController.d.ts +0 -10
  10. package/dist/modules/accounts/AccountController.d.ts.map +1 -1
  11. package/dist/modules/accounts/AccountController.js +56 -101
  12. package/dist/modules/accounts/AccountController.js.map +1 -1
  13. package/dist/modules/agentRuns/AgentRunController.d.ts +0 -6
  14. package/dist/modules/agentRuns/AgentRunController.d.ts.map +1 -1
  15. package/dist/modules/agentRuns/AgentRunController.js +19 -16
  16. package/dist/modules/agentRuns/AgentRunController.js.map +1 -1
  17. package/dist/modules/artifacts/ArtifactController.d.ts.map +1 -1
  18. package/dist/modules/artifacts/ArtifactController.js +4 -15
  19. package/dist/modules/artifacts/ArtifactController.js.map +1 -1
  20. package/dist/modules/auth/AuthController.d.ts.map +1 -1
  21. package/dist/modules/auth/AuthController.js +14 -9
  22. package/dist/modules/auth/AuthController.js.map +1 -1
  23. package/dist/modules/bootstrap/BootstrapController.d.ts.map +1 -1
  24. package/dist/modules/bootstrap/BootstrapController.js +6 -20
  25. package/dist/modules/bootstrap/BootstrapController.js.map +1 -1
  26. package/dist/modules/brainstorm/BrainstormController.d.ts.map +1 -1
  27. package/dist/modules/brainstorm/BrainstormController.js +17 -27
  28. package/dist/modules/brainstorm/BrainstormController.js.map +1 -1
  29. package/dist/modules/bugHunt/BugHuntController.d.ts.map +1 -1
  30. package/dist/modules/bugHunt/BugHuntController.js +4 -12
  31. package/dist/modules/bugHunt/BugHuntController.js.map +1 -1
  32. package/dist/modules/clarity/ClarityReviewController.d.ts.map +1 -1
  33. package/dist/modules/clarity/ClarityReviewController.js +18 -27
  34. package/dist/modules/clarity/ClarityReviewController.js.map +1 -1
  35. package/dist/modules/docInterview/DocInterviewController.d.ts.map +1 -1
  36. package/dist/modules/docInterview/DocInterviewController.js +6 -17
  37. package/dist/modules/docInterview/DocInterviewController.js.map +1 -1
  38. package/dist/modules/documents/DocumentSourceController.d.ts.map +1 -1
  39. package/dist/modules/documents/DocumentSourceController.js +4 -32
  40. package/dist/modules/documents/DocumentSourceController.js.map +1 -1
  41. package/dist/modules/environments/EnvironmentController.d.ts.map +1 -1
  42. package/dist/modules/environments/EnvironmentController.js +10 -63
  43. package/dist/modules/environments/EnvironmentController.js.map +1 -1
  44. package/dist/modules/environments/EnvironmentUserHandlerController.d.ts.map +1 -1
  45. package/dist/modules/environments/EnvironmentUserHandlerController.js +16 -25
  46. package/dist/modules/environments/EnvironmentUserHandlerController.js.map +1 -1
  47. package/dist/modules/fragmentLibrary/FragmentLibraryController.d.ts.map +1 -1
  48. package/dist/modules/fragmentLibrary/FragmentLibraryController.js +26 -60
  49. package/dist/modules/fragmentLibrary/FragmentLibraryController.js.map +1 -1
  50. package/dist/modules/github/GitHubController.d.ts.map +1 -1
  51. package/dist/modules/github/GitHubController.js +14 -48
  52. package/dist/modules/github/GitHubController.js.map +1 -1
  53. package/dist/modules/gitlab/GitLabController.d.ts.map +1 -1
  54. package/dist/modules/gitlab/GitLabController.js +3 -12
  55. package/dist/modules/gitlab/GitLabController.js.map +1 -1
  56. package/dist/modules/incidentEnrichment/IncidentEnrichmentController.d.ts.map +1 -1
  57. package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js +3 -12
  58. package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js.map +1 -1
  59. package/dist/modules/initiatives/InitiativeController.d.ts.map +1 -1
  60. package/dist/modules/initiatives/InitiativeController.js +4 -39
  61. package/dist/modules/initiatives/InitiativeController.js.map +1 -1
  62. package/dist/modules/kaizen/KaizenController.d.ts.map +1 -1
  63. package/dist/modules/kaizen/KaizenController.js +3 -10
  64. package/dist/modules/kaizen/KaizenController.js.map +1 -1
  65. package/dist/modules/localModels/LocalModelEndpointController.d.ts.map +1 -1
  66. package/dist/modules/localModels/LocalModelEndpointController.js +21 -31
  67. package/dist/modules/localModels/LocalModelEndpointController.js.map +1 -1
  68. package/dist/modules/localSettings/LocalSettingsController.d.ts +0 -9
  69. package/dist/modules/localSettings/LocalSettingsController.d.ts.map +1 -1
  70. package/dist/modules/localSettings/LocalSettingsController.js +9 -12
  71. package/dist/modules/localSettings/LocalSettingsController.js.map +1 -1
  72. package/dist/modules/merge/MergeTrackRecordController.d.ts.map +1 -1
  73. package/dist/modules/merge/MergeTrackRecordController.js +3 -10
  74. package/dist/modules/merge/MergeTrackRecordController.js.map +1 -1
  75. package/dist/modules/merge/RiskPolicyController.d.ts.map +1 -1
  76. package/dist/modules/merge/RiskPolicyController.js +3 -16
  77. package/dist/modules/merge/RiskPolicyController.js.map +1 -1
  78. package/dist/modules/modelPresets/ModelPresetController.d.ts.map +1 -1
  79. package/dist/modules/modelPresets/ModelPresetController.js +3 -16
  80. package/dist/modules/modelPresets/ModelPresetController.js.map +1 -1
  81. package/dist/modules/notificationWebhook/NotificationWebhookController.d.ts.map +1 -1
  82. package/dist/modules/notificationWebhook/NotificationWebhookController.js +3 -12
  83. package/dist/modules/notificationWebhook/NotificationWebhookController.js.map +1 -1
  84. package/dist/modules/notifications/NotificationController.d.ts.map +1 -1
  85. package/dist/modules/notifications/NotificationController.js +3 -12
  86. package/dist/modules/notifications/NotificationController.js.map +1 -1
  87. package/dist/modules/observability/PlatformObservabilityController.d.ts.map +1 -1
  88. package/dist/modules/observability/PlatformObservabilityController.js +7 -11
  89. package/dist/modules/observability/PlatformObservabilityController.js.map +1 -1
  90. package/dist/modules/openrouter/OpenRouterCatalogController.d.ts.map +1 -1
  91. package/dist/modules/openrouter/OpenRouterCatalogController.js +19 -23
  92. package/dist/modules/openrouter/OpenRouterCatalogController.js.map +1 -1
  93. package/dist/modules/packageRegistries/PackageRegistriesController.d.ts.map +1 -1
  94. package/dist/modules/packageRegistries/PackageRegistriesController.js +3 -12
  95. package/dist/modules/packageRegistries/PackageRegistriesController.js.map +1 -1
  96. package/dist/modules/preflight/PreflightController.d.ts.map +1 -1
  97. package/dist/modules/preflight/PreflightController.js +3 -8
  98. package/dist/modules/preflight/PreflightController.js.map +1 -1
  99. package/dist/modules/preview/PreviewController.d.ts.map +1 -1
  100. package/dist/modules/preview/PreviewController.js +4 -14
  101. package/dist/modules/preview/PreviewController.js.map +1 -1
  102. package/dist/modules/providers/ApiKeyController.d.ts +0 -1
  103. package/dist/modules/providers/ApiKeyController.d.ts.map +1 -1
  104. package/dist/modules/providers/ApiKeyController.js +21 -43
  105. package/dist/modules/providers/ApiKeyController.js.map +1 -1
  106. package/dist/modules/providers/PersonalSubscriptionController.d.ts.map +1 -1
  107. package/dist/modules/providers/PersonalSubscriptionController.js +15 -25
  108. package/dist/modules/providers/PersonalSubscriptionController.js.map +1 -1
  109. package/dist/modules/providers/UserSecretController.d.ts.map +1 -1
  110. package/dist/modules/providers/UserSecretController.js +23 -37
  111. package/dist/modules/providers/UserSecretController.js.map +1 -1
  112. package/dist/modules/providers/VendorCredentialController.d.ts.map +1 -1
  113. package/dist/modules/providers/VendorCredentialController.js +9 -16
  114. package/dist/modules/providers/VendorCredentialController.js.map +1 -1
  115. package/dist/modules/provisioningLogs/ProvisioningLogController.d.ts.map +1 -1
  116. package/dist/modules/provisioningLogs/ProvisioningLogController.js +3 -8
  117. package/dist/modules/provisioningLogs/ProvisioningLogController.js.map +1 -1
  118. package/dist/modules/publicApi/PublicApiKeyController.d.ts +0 -1
  119. package/dist/modules/publicApi/PublicApiKeyController.d.ts.map +1 -1
  120. package/dist/modules/publicApi/PublicApiKeyController.js +8 -13
  121. package/dist/modules/publicApi/PublicApiKeyController.js.map +1 -1
  122. package/dist/modules/recurring/RecurringPipelineController.d.ts.map +1 -1
  123. package/dist/modules/recurring/RecurringPipelineController.js +3 -18
  124. package/dist/modules/recurring/RecurringPipelineController.js.map +1 -1
  125. package/dist/modules/recurring/TrackerSettingsController.d.ts.map +1 -1
  126. package/dist/modules/recurring/TrackerSettingsController.js +3 -10
  127. package/dist/modules/recurring/TrackerSettingsController.js.map +1 -1
  128. package/dist/modules/releaseHealth/ReleaseHealthController.d.ts.map +1 -1
  129. package/dist/modules/releaseHealth/ReleaseHealthController.js +3 -18
  130. package/dist/modules/releaseHealth/ReleaseHealthController.js.map +1 -1
  131. package/dist/modules/reports/ReportsController.d.ts.map +1 -1
  132. package/dist/modules/reports/ReportsController.js +7 -11
  133. package/dist/modules/reports/ReportsController.js.map +1 -1
  134. package/dist/modules/requirements/RequirementReviewController.d.ts.map +1 -1
  135. package/dist/modules/requirements/RequirementReviewController.js +18 -36
  136. package/dist/modules/requirements/RequirementReviewController.js.map +1 -1
  137. package/dist/modules/runners/RunnerPoolController.d.ts.map +1 -1
  138. package/dist/modules/runners/RunnerPoolController.js +3 -18
  139. package/dist/modules/runners/RunnerPoolController.js.map +1 -1
  140. package/dist/modules/sandbox/SandboxController.d.ts.map +1 -1
  141. package/dist/modules/sandbox/SandboxController.js +3 -32
  142. package/dist/modules/sandbox/SandboxController.js.map +1 -1
  143. package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.d.ts.map +1 -1
  144. package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.js +3 -10
  145. package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.js.map +1 -1
  146. package/dist/modules/services/ServiceMountController.d.ts.map +1 -1
  147. package/dist/modules/services/ServiceMountController.js +3 -16
  148. package/dist/modules/services/ServiceMountController.js.map +1 -1
  149. package/dist/modules/settings/WorkspaceSettingsController.d.ts.map +1 -1
  150. package/dist/modules/settings/WorkspaceSettingsController.js +3 -10
  151. package/dist/modules/settings/WorkspaceSettingsController.js.map +1 -1
  152. package/dist/modules/sharedStack/SharedStackController.d.ts.map +1 -1
  153. package/dist/modules/sharedStack/SharedStackController.js +3 -20
  154. package/dist/modules/sharedStack/SharedStackController.js.map +1 -1
  155. package/dist/modules/skillLibrary/SkillLibraryController.d.ts.map +1 -1
  156. package/dist/modules/skillLibrary/SkillLibraryController.js +21 -44
  157. package/dist/modules/skillLibrary/SkillLibraryController.js.map +1 -1
  158. package/dist/modules/slack/SlackController.d.ts.map +1 -1
  159. package/dist/modules/slack/SlackController.js +4 -26
  160. package/dist/modules/slack/SlackController.js.map +1 -1
  161. package/dist/modules/tasks/TaskSourceController.d.ts.map +1 -1
  162. package/dist/modules/tasks/TaskSourceController.js +5 -47
  163. package/dist/modules/tasks/TaskSourceController.js.map +1 -1
  164. package/dist/modules/testSecrets/TestSecretsController.d.ts.map +1 -1
  165. package/dist/modules/testSecrets/TestSecretsController.js +3 -12
  166. package/dist/modules/testSecrets/TestSecretsController.js.map +1 -1
  167. package/dist/modules/userSettings/UserSettingsController.d.ts.map +1 -1
  168. package/dist/modules/userSettings/UserSettingsController.js +13 -19
  169. package/dist/modules/userSettings/UserSettingsController.js.map +1 -1
  170. package/dist/modules/validation/ValidationConfigController.d.ts.map +1 -1
  171. package/dist/modules/validation/ValidationConfigController.js +3 -14
  172. package/dist/modules/validation/ValidationConfigController.js.map +1 -1
  173. package/dist/modules/workspaces/WorkspaceController.d.ts.map +1 -1
  174. package/dist/modules/workspaces/WorkspaceController.js +9 -4
  175. package/dist/modules/workspaces/WorkspaceController.js.map +1 -1
  176. package/dist/modules/workspaces/WorkspaceMemberController.d.ts.map +1 -1
  177. package/dist/modules/workspaces/WorkspaceMemberController.js +10 -19
  178. package/dist/modules/workspaces/WorkspaceMemberController.js.map +1 -1
  179. package/package.json +8 -8
  180. package/dist/agents/storeAgentContextGate.d.ts +0 -36
  181. package/dist/agents/storeAgentContextGate.d.ts.map +0 -1
  182. package/dist/agents/storeAgentContextGate.js +0 -36
  183. package/dist/agents/storeAgentContextGate.js.map +0 -1
@@ -3,14 +3,11 @@ import { buildHonoRoute } from '@toad-contracts/hono';
3
3
  import { Hono } from 'hono';
4
4
  import { requireWorkspacePermission } from '../../http/workspaceAccess.js';
5
5
  import { param } from '../../http/params.js';
6
- import { UnavailableError } from '@cat-factory/kernel';
7
- /** Resolve the test-secrets service or send a 503, returning null when unconfigured. */
6
+ import { requireCapability } from '../../http/guards.js';
7
+ /** Resolve the test-secrets service, or refuse with a 503 naming what isn't wired. */
8
8
  function requireTestSecrets(c) {
9
- return c.get('container').testSecrets ?? null;
9
+ return requireCapability(c.get('container').testSecrets, 'The sensitive test-credential store is not configured (needs ENCRYPTION_KEY)');
10
10
  }
11
- const unavailable = () => {
12
- throw new UnavailableError('The sensitive test-credential store is not configured (needs ENCRYPTION_KEY)');
13
- };
14
11
  /**
15
12
  * The SENSITIVE per-service test-credential store: sealed at rest, delivered to the Tester
16
13
  * out of band (never in a prompt or the telemetry snapshot). Values are write-only — the view
@@ -22,21 +19,15 @@ export function testSecretsController() {
22
19
  app.use('*', requireWorkspacePermission('secrets.manage'));
23
20
  buildHonoRoute(app, getServiceTestSecretsContract, async (c) => {
24
21
  const svc = requireTestSecrets(c);
25
- if (!svc)
26
- return unavailable();
27
22
  return c.json(await svc.getView(param(c, 'workspaceId'), c.req.valid('param').blockId), 200);
28
23
  });
29
24
  buildHonoRoute(app, setServiceTestSecretsContract, async (c) => {
30
25
  const svc = requireTestSecrets(c);
31
- if (!svc)
32
- return unavailable();
33
26
  const view = await svc.set(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json'));
34
27
  return c.json(view, 200);
35
28
  });
36
29
  buildHonoRoute(app, deleteServiceTestSecretsContract, async (c) => {
37
30
  const svc = requireTestSecrets(c);
38
- if (!svc)
39
- return unavailable();
40
31
  await svc.deleteFor(param(c, 'workspaceId'), c.req.valid('param').blockId);
41
32
  return c.body(null, 204);
42
33
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TestSecretsController.js","sourceRoot":"","sources":["../../../src/modules/testSecrets/TestSecretsController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,wFAAwF;AACxF,SAAS,kBAAkB,CAAmB,CAAa;IACzD,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,IAAI,IAAI,CAAA;AAC/C,CAAC;AAED,MAAM,WAAW,GAAG,GAAU,EAAE;IAC9B,MAAM,IAAI,gBAAgB,CACxB,8EAA8E,CAC/E,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAE1D,cAAc,CAAC,GAAG,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7D,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,WAAW,EAAE,CAAA;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9F,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7D,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,WAAW,EAAE,CAAA;QAC9B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACxB,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAC5B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACpB,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,gCAAgC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAChE,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,WAAW,EAAE,CAAA;QAC9B,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;QAC1E,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"TestSecretsController.js","sourceRoot":"","sources":["../../../src/modules/testSecrets/TestSecretsController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,sFAAsF;AACtF,SAAS,kBAAkB,CAAmB,CAAa;IACzD,OAAO,iBAAiB,CACtB,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,EAC9B,8EAA8E,CAC/E,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAE1D,cAAc,CAAC,GAAG,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7D,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9F,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7D,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACxB,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAC5B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACpB,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,gCAAgC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAChE,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;QAC1E,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UserSettingsController.d.ts","sourceRoot":"","sources":["../../../src/modules/userSettings/UserSettingsController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAe/C,wBAAgB,sBAAsB,IAAI,IAAI,CAAC,MAAM,CAAC,CAoBrD"}
1
+ {"version":3,"file":"UserSettingsController.d.ts","sourceRoot":"","sources":["../../../src/modules/userSettings/UserSettingsController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAoB/C,wBAAgB,sBAAsB,IAAI,IAAI,CAAC,MAAM,CAAC,CAgBrD"}
@@ -1,34 +1,28 @@
1
1
  import { getUserSettingsContract, updateUserSettingsContract } from '@cat-factory/contracts';
2
2
  import { buildHonoRoute } from '@toad-contracts/hono';
3
3
  import { Hono } from 'hono';
4
- import { UnavailableError, UnauthorizedError } from '@cat-factory/kernel';
4
+ import { requireCapability, requireUser } from '../../http/guards.js';
5
5
  // Per-USER settings (today: the user-tier spend budget). Scoped to the signed-in user
6
6
  // (not a workspace), mounted at the root, like personal subscriptions + local model
7
7
  // runners. Absent user-settings persistence ⇒ 503 (unconfigured facade / tests).
8
- const signInRequired = () => {
9
- throw new UnauthorizedError('Sign in to manage your settings');
10
- };
11
- const unavailable = () => {
12
- throw new UnavailableError('User settings storage is not configured');
13
- };
8
+ /** Resolve the per-user settings store, or refuse with a 503 naming what isn't wired. */
9
+ function requireUserSettings(c) {
10
+ return requireCapability(c.get('container').userSettings, 'User settings storage is not configured');
11
+ }
12
+ /** The signed-in caller, or a 401 wording the prompt for what this controller manages. */
13
+ function requireSignedIn(c) {
14
+ return requireUser(c, 'Sign in to manage your settings');
15
+ }
14
16
  export function userSettingsController() {
15
17
  const app = new Hono();
16
18
  buildHonoRoute(app, getUserSettingsContract, async (c) => {
17
- const settings = c.get('container').userSettings;
18
- if (!settings)
19
- return unavailable();
20
- const user = c.get('user');
21
- if (!user)
22
- return signInRequired();
19
+ const settings = requireUserSettings(c);
20
+ const user = requireSignedIn(c);
23
21
  return c.json(await settings.service.get(user.id), 200);
24
22
  });
25
23
  buildHonoRoute(app, updateUserSettingsContract, async (c) => {
26
- const settings = c.get('container').userSettings;
27
- if (!settings)
28
- return unavailable();
29
- const user = c.get('user');
30
- if (!user)
31
- return signInRequired();
24
+ const settings = requireUserSettings(c);
25
+ const user = requireSignedIn(c);
32
26
  return c.json(await settings.service.update(user.id, c.req.valid('json')), 200);
33
27
  });
34
28
  return app;
@@ -1 +1 @@
1
- {"version":3,"file":"UserSettingsController.js","sourceRoot":"","sources":["../../../src/modules/userSettings/UserSettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEzE,sFAAsF;AACtF,oFAAoF;AACpF,iFAAiF;AAEjF,MAAM,cAAc,GAAG,GAAU,EAAE;IACjC,MAAM,IAAI,iBAAiB,CAAC,iCAAiC,CAAC,CAAA;AAChE,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,GAAU,EAAE;IAC9B,MAAM,IAAI,gBAAgB,CAAC,yCAAyC,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,cAAc,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvD,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,CAAA;QAChD,IAAI,CAAC,QAAQ;YAAE,OAAO,WAAW,EAAE,CAAA;QACnC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC1B,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,EAAE,CAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,CAAA;QAChD,IAAI,CAAC,QAAQ;YAAE,OAAO,WAAW,EAAE,CAAA;QACnC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC1B,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,EAAE,CAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"UserSettingsController.js","sourceRoot":"","sources":["../../../src/modules/userSettings/UserSettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAErE,sFAAsF;AACtF,oFAAoF;AACpF,iFAAiF;AAEjF,yFAAyF;AACzF,SAAS,mBAAmB,CAAmB,CAAa;IAC1D,OAAO,iBAAiB,CACtB,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,EAC/B,yCAAyC,CAC1C,CAAA;AACH,CAAC;AAED,0FAA0F;AAC1F,SAAS,eAAe,CAAmB,CAAa;IACtD,OAAO,WAAW,CAAC,CAAC,EAAE,iCAAiC,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,cAAc,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;QAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;QAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationConfigController.d.ts","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAc/C;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAAC,MAAM,CAAC,CA2EzD"}
1
+ {"version":3,"file":"ValidationConfigController.d.ts","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAa/C;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAAC,MAAM,CAAC,CAuEzD"}
@@ -5,14 +5,11 @@ import { detectValidationChecksFromRepo } from '@cat-factory/integrations';
5
5
  import { describeError } from '@cat-factory/kernel';
6
6
  import { requireWorkspacePermission } from '../../http/workspaceAccess.js';
7
7
  import { param } from '../../http/params.js';
8
- import { UnavailableError } from '@cat-factory/kernel';
9
- /** Resolve the validation-config service or send a 503, returning null when unconfigured. */
8
+ import { requireCapability } from '../../http/guards.js';
9
+ /** Resolve the validation-config service, or refuse with a 503 naming what isn't wired. */
10
10
  function requireValidationConfig(c) {
11
- return c.get('container').validationConfig ?? null;
11
+ return requireCapability(c.get('container').validationConfig, 'The validation-check store is not configured');
12
12
  }
13
- const unavailable = () => {
14
- throw new UnavailableError('The validation-check store is not configured');
15
- };
16
13
  /**
17
14
  * Per-service PRE-PR VALIDATION CHECKS: the shell commands the executor-harness runs against
18
15
  * the checkout after the coding agent settles and BEFORE the PR opens (see
@@ -25,20 +22,14 @@ export function validationConfigController() {
25
22
  app.use('*', requireWorkspacePermission('settings.manage'));
26
23
  buildHonoRoute(app, listServiceValidationConfigsContract, async (c) => {
27
24
  const svc = requireValidationConfig(c);
28
- if (!svc)
29
- return unavailable();
30
25
  return c.json(await svc.list(param(c, 'workspaceId')), 200);
31
26
  });
32
27
  buildHonoRoute(app, getServiceValidationConfigContract, async (c) => {
33
28
  const svc = requireValidationConfig(c);
34
- if (!svc)
35
- return unavailable();
36
29
  return c.json(await svc.getView(param(c, 'workspaceId'), c.req.valid('param').blockId), 200);
37
30
  });
38
31
  buildHonoRoute(app, setServiceValidationConfigContract, async (c) => {
39
32
  const svc = requireValidationConfig(c);
40
- if (!svc)
41
- return unavailable();
42
33
  const view = await svc.set(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json'));
43
34
  return c.json(view, 200);
44
35
  });
@@ -85,8 +76,6 @@ export function validationConfigController() {
85
76
  });
86
77
  buildHonoRoute(app, deleteServiceValidationConfigContract, async (c) => {
87
78
  const svc = requireValidationConfig(c);
88
- if (!svc)
89
- return unavailable();
90
79
  await svc.deleteFor(param(c, 'workspaceId'), c.req.valid('param').blockId);
91
80
  return c.body(null, 204);
92
81
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationConfigController.js","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValidationConfigController.js","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceController.d.ts","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAKV,UAAU,EAKX,MAAM,wBAAwB,CAAA;AAG/B,OAAO,KAAK,EAEV,MAAM,EAIP,MAAM,qBAAqB,CAAA;AA+M5B,wBAAsB,UAAU,CAC9B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC5B,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChE,OAAO,CAAC,gBAAgB,GAAG,aAAa,GAAG,YAAY,CAAC,CAwB1D;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE;QAAE,iBAAiB,EAAE;YAAE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;IACrF,OAAO,CAAC,EAAE;QAAE,iBAAiB,EAAE;YAAE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;IAChF;;;;;;;;OAQG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC;;;;;;;;OAQG;IACH,oCAAoC,CAAC,EAAE,OAAO,CAAA;IAC9C,0BAA0B,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9D;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,iBAAiB,EAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,MAAqB,GAC5B,OAAO,CAAC,UAAU,CAAC,CAmBrB;AAcD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AA4D/C,+DAA+D;AAC/D,wBAAgB,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,CAsSlD"}
1
+ {"version":3,"file":"WorkspaceController.d.ts","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAKV,UAAU,EAKX,MAAM,wBAAwB,CAAA;AAG/B,OAAO,KAAK,EAEV,MAAM,EAIP,MAAM,qBAAqB,CAAA;AA+M5B,wBAAsB,UAAU,CAC9B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC5B,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChE,OAAO,CAAC,gBAAgB,GAAG,aAAa,GAAG,YAAY,CAAC,CAwB1D;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE;QAAE,iBAAiB,EAAE;YAAE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;IACrF,OAAO,CAAC,EAAE;QAAE,iBAAiB,EAAE;YAAE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;IAChF;;;;;;;;OAQG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC;;;;;;;;OAQG;IACH,oCAAoC,CAAC,EAAE,OAAO,CAAA;IAC9C,0BAA0B,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9D;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,iBAAiB,EAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,MAAqB,GAC5B,OAAO,CAAC,UAAU,CAAC,CAmBrB;AAcD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAiE/C,+DAA+D;AAC/D,wBAAgB,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,CAsSlD"}
@@ -223,8 +223,13 @@ function deploymentModelDefaults(routing) {
223
223
  import { param } from '../../http/params.js';
224
224
  import { loadWorkspaceAccess, requirePermission } from '../../http/workspaceAccess.js';
225
225
  import { redactBoard, resolveDeniedFrameIds } from './redactFrames.js';
226
- /** The signed-in user, narrowed to what the tenancy layer needs. */
227
- function accountUser(c) {
226
+ /**
227
+ * The signed-in user, narrowed to what the tenancy layer needs, or `null` when there is none.
228
+ * Deliberately NOT the `requireAccountUser` of the account-scoped controllers: both routes here
229
+ * answer for an anonymous caller (dev-open runs with auth disabled — board listing falls back to
230
+ * the unscoped list, board creation to an unscoped board), so a 401 would break that mode.
231
+ */
232
+ function optionalAccountUser(c) {
228
233
  const user = c.get('user');
229
234
  return user ? { id: user.id, login: user.login, name: user.name } : null;
230
235
  }
@@ -284,7 +289,7 @@ export function workspaceController() {
284
289
  // one batched member-row read combined with the in-memory account-scope map.
285
290
  buildHonoRoute(app, listWorkspacesContract, async (c) => {
286
291
  const container = c.get('container');
287
- const user = accountUser(c);
292
+ const user = optionalAccountUser(c);
288
293
  if (!user)
289
294
  return c.json(await container.workspaceService.list(null), 200);
290
295
  await container.accountService.ensurePersonalAccount(user);
@@ -310,7 +315,7 @@ export function workspaceController() {
310
315
  });
311
316
  buildHonoRoute(app, createWorkspaceContract, async (c) => {
312
317
  const container = c.get('container');
313
- const user = accountUser(c);
318
+ const user = optionalAccountUser(c);
314
319
  const body = c.req.valid('json');
315
320
  // Resolve the owning account: an explicit one the caller belongs to, else the
316
321
  // caller's personal account; unscoped when there's no signed-in user (dev).
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkspaceController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceMemberController.d.ts","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceMemberController.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAqB/C,wBAAgB,yBAAyB,IAAI,IAAI,CAAC,MAAM,CAAC,CAsDxD"}
1
+ {"version":3,"file":"WorkspaceMemberController.d.ts","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceMemberController.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAyB/C,wBAAgB,yBAAyB,IAAI,IAAI,CAAC,MAAM,CAAC,CAiDxD"}
@@ -3,7 +3,7 @@ import { buildHonoRoute } from '@toad-contracts/hono';
3
3
  import { Hono } from 'hono';
4
4
  import { param } from '../../http/params.js';
5
5
  import { requirePermission } from '../../http/workspaceAccess.js';
6
- import { UnavailableError } from '@cat-factory/kernel';
6
+ import { requireCapability } from '../../http/guards.js';
7
7
  // ---------------------------------------------------------------------------
8
8
  // Workspace-membership management (workspace-rbac initiative, slice 5). All routes are
9
9
  // mounted under `/workspaces/:workspaceId`, so the shared `mountAuthGate` has already
@@ -15,49 +15,40 @@ import { UnavailableError } from '@cat-factory/kernel';
15
15
  // The service is present only when the facade wired the workspace-member repository (both
16
16
  // do); absent ⇒ every route reports 503 rather than 500-ing on an undefined service.
17
17
  // ---------------------------------------------------------------------------
18
- const unavailable = () => {
19
- throw new UnavailableError('Workspace membership is not configured');
20
- };
18
+ /** Resolve the workspace-membership service, or refuse with a 503 naming what isn't wired. */
19
+ function requireMemberService(c) {
20
+ return requireCapability(c.get('container').workspaceMemberService, 'Workspace membership is not configured');
21
+ }
21
22
  export function workspaceMemberController() {
22
23
  const app = new Hono();
23
24
  // Roster — any resolved role may read it (gate resolution already guaranteed ≥ viewer).
24
25
  buildHonoRoute(app, listWorkspaceMembersContract, async (c) => {
25
- const service = c.get('container').workspaceMemberService;
26
- if (!service)
27
- return unavailable();
26
+ const service = requireMemberService(c);
28
27
  return c.json(await service.list(param(c, 'workspaceId')), 200);
29
28
  });
30
29
  buildHonoRoute(app, addWorkspaceMemberContract, async (c) => {
31
- const service = c.get('container').workspaceMemberService;
32
- if (!service)
33
- return unavailable();
30
+ const service = requireMemberService(c);
34
31
  requirePermission(c, 'members.manage');
35
32
  const body = c.req.valid('json');
36
33
  const member = await service.add(param(c, 'workspaceId'), body.userId, body.role, c.get('user')?.id ?? null);
37
34
  return c.json(member, 201);
38
35
  });
39
36
  buildHonoRoute(app, setWorkspaceMemberRoleContract, async (c) => {
40
- const service = c.get('container').workspaceMemberService;
41
- if (!service)
42
- return unavailable();
37
+ const service = requireMemberService(c);
43
38
  requirePermission(c, 'members.manage');
44
39
  const { workspaceId, userId } = c.req.valid('param');
45
40
  const member = await service.setRole(workspaceId, userId, c.req.valid('json').role);
46
41
  return c.json(member, 200);
47
42
  });
48
43
  buildHonoRoute(app, removeWorkspaceMemberContract, async (c) => {
49
- const service = c.get('container').workspaceMemberService;
50
- if (!service)
51
- return unavailable();
44
+ const service = requireMemberService(c);
52
45
  requirePermission(c, 'members.manage');
53
46
  const { workspaceId, userId } = c.req.valid('param');
54
47
  await service.remove(workspaceId, userId);
55
48
  return c.body(null, 204);
56
49
  });
57
50
  buildHonoRoute(app, setWorkspaceAccessModeContract, async (c) => {
58
- const service = c.get('container').workspaceMemberService;
59
- if (!service)
60
- return unavailable();
51
+ const service = requireMemberService(c);
61
52
  requirePermission(c, 'members.manage');
62
53
  const workspace = await service.setAccessMode(param(c, 'workspaceId'), c.req.valid('json').accessMode);
63
54
  return c.json(workspace, 200);
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceMemberController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceMemberController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkspaceMemberController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceMemberController.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/server",
3
- "version": "0.170.0",
3
+ "version": "0.171.0",
4
4
  "description": "Runtime-neutral HTTP layer for the Agent Architecture Board: the Hono controllers, middleware (auth/authz/CORS/error), request helpers and the gateway seams shared by every deployment facade (Cloudflare Worker, Node service).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,13 +30,13 @@
30
30
  "hono": "^4.12.32",
31
31
  "pino": "^10.3.1",
32
32
  "valibot": "^1.4.2",
33
- "@cat-factory/agents": "0.82.2",
34
- "@cat-factory/contracts": "0.188.0",
35
- "@cat-factory/integrations": "0.109.1",
36
- "@cat-factory/kernel": "0.182.0",
37
- "@cat-factory/orchestration": "0.160.0",
38
- "@cat-factory/prompt-fragments": "0.15.11",
39
- "@cat-factory/spend": "0.12.111"
33
+ "@cat-factory/agents": "0.82.4",
34
+ "@cat-factory/contracts": "0.189.0",
35
+ "@cat-factory/integrations": "0.109.3",
36
+ "@cat-factory/kernel": "0.184.0",
37
+ "@cat-factory/orchestration": "0.162.0",
38
+ "@cat-factory/prompt-fragments": "0.15.12",
39
+ "@cat-factory/spend": "0.12.113"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^26.1.1",
@@ -1,36 +0,0 @@
1
- import type { WorkspaceBodiesGate } from '@cat-factory/agents';
2
- import { type GroupCacheHandle, type WorkspaceSettingsCacheValue, type WorkspaceSettingsRepository } from '@cat-factory/kernel';
3
- /**
4
- * Build the per-workspace `storeAgentContext` gate the INLINE LLM path applies to
5
- * prompt/response bodies before they reach a trace sink.
6
- *
7
- * This is deliberately the same rule the proxied path already runs
8
- * (`LlmObservabilityService.bodiesEnabled`), expressed once so the two cannot drift: the
9
- * inline path having no gate at all — while the proxy path had one — is what let an
10
- * opted-out workspace keep shipping its inline bodies to Langfuse/OTel
11
- * (observability-logging-gaps.md, C2). It lives in the shared server layer because that is
12
- * where BOTH facades assemble the scoped model provider, so wiring it is symmetric by
13
- * construction rather than a per-runtime obligation to remember.
14
- *
15
- * Two `true` answers are deliberate, not lenient defaults:
16
- * - **No settings source wired** — defer to the deployment's own `LLM_RECORD_PROMPTS`
17
- * switch, exactly as the proxy path does. There is no stored opt-out to honour.
18
- * - **No workspace on the call** — an untagged inline call has no workspace whose opt-out
19
- * could apply, so the deployment switch alone governs it.
20
- *
21
- * A read that THROWS is not handled here: the caller fails closed on it (see
22
- * `InstrumentedModelProvider.bodiesAllowed`), because an unreadable settings row is not
23
- * consent.
24
- */
25
- export declare function createStoreAgentContextGate(deps: {
26
- repository?: WorkspaceSettingsRepository;
27
- /**
28
- * The shared `AppCaches.workspaceSettings` slice, when the facade has one to hand. Absent
29
- * ⇒ a direct repository read per call. That is the Worker's situation and it costs
30
- * nothing: `workspaceSettings` is `enabled: false` in the isolate-safe profile (our own
31
- * mutable state, with no cross-isolate invalidation bus), so the slice would be a
32
- * pass-through there anyway.
33
- */
34
- cache?: GroupCacheHandle<WorkspaceSettingsCacheValue>;
35
- }): WorkspaceBodiesGate;
36
- //# sourceMappingURL=storeAgentContextGate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storeAgentContextGate.d.ts","sourceRoot":"","sources":["../../src/agents/storeAgentContextGate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EACjC,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,UAAU,CAAC,EAAE,2BAA2B,CAAA;IACxC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,2BAA2B,CAAC,CAAA;CACtD,GAAG,mBAAmB,CAUtB"}
@@ -1,36 +0,0 @@
1
- import { DEFAULT_WORKSPACE_SETTINGS, readCachedWorkspaceSettings, } from '@cat-factory/kernel';
2
- /**
3
- * Build the per-workspace `storeAgentContext` gate the INLINE LLM path applies to
4
- * prompt/response bodies before they reach a trace sink.
5
- *
6
- * This is deliberately the same rule the proxied path already runs
7
- * (`LlmObservabilityService.bodiesEnabled`), expressed once so the two cannot drift: the
8
- * inline path having no gate at all — while the proxy path had one — is what let an
9
- * opted-out workspace keep shipping its inline bodies to Langfuse/OTel
10
- * (observability-logging-gaps.md, C2). It lives in the shared server layer because that is
11
- * where BOTH facades assemble the scoped model provider, so wiring it is symmetric by
12
- * construction rather than a per-runtime obligation to remember.
13
- *
14
- * Two `true` answers are deliberate, not lenient defaults:
15
- * - **No settings source wired** — defer to the deployment's own `LLM_RECORD_PROMPTS`
16
- * switch, exactly as the proxy path does. There is no stored opt-out to honour.
17
- * - **No workspace on the call** — an untagged inline call has no workspace whose opt-out
18
- * could apply, so the deployment switch alone governs it.
19
- *
20
- * A read that THROWS is not handled here: the caller fails closed on it (see
21
- * `InstrumentedModelProvider.bodiesAllowed`), because an unreadable settings row is not
22
- * consent.
23
- */
24
- export function createStoreAgentContextGate(deps) {
25
- const { repository, cache } = deps;
26
- if (!repository)
27
- return () => Promise.resolve(true);
28
- return async (workspaceId) => {
29
- if (!workspaceId)
30
- return true;
31
- const settings = (await readCachedWorkspaceSettings(cache, repository, workspaceId)) ??
32
- DEFAULT_WORKSPACE_SETTINGS;
33
- return settings.storeAgentContext;
34
- };
35
- }
36
- //# sourceMappingURL=storeAgentContextGate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storeAgentContextGate.js","sourceRoot":"","sources":["../../src/agents/storeAgentContextGate.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAI5B,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAU3C;IACC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAClC,IAAI,CAAC,UAAU;QAAE,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,OAAO,KAAK,EAAE,WAA0B,EAAoB,EAAE;QAC5D,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAA;QAC7B,MAAM,QAAQ,GACZ,CAAC,MAAM,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACnE,0BAA0B,CAAA;QAC5B,OAAO,QAAQ,CAAC,iBAAiB,CAAA;IACnC,CAAC,CAAA;AACH,CAAC"}