@cat-factory/server 0.170.1 → 0.172.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 (222) hide show
  1. package/dist/agents/ContainerAgentExecutor.d.ts +0 -8
  2. package/dist/agents/ContainerAgentExecutor.d.ts.map +1 -1
  3. package/dist/agents/ContainerAgentExecutor.js +51 -129
  4. package/dist/agents/ContainerAgentExecutor.js.map +1 -1
  5. package/dist/agents/ContainerEnvConfigRepairer.d.ts.map +1 -1
  6. package/dist/agents/ContainerEnvConfigRepairer.js +6 -0
  7. package/dist/agents/ContainerEnvConfigRepairer.js.map +1 -1
  8. package/dist/agents/ContainerRepoBootstrapper.d.ts.map +1 -1
  9. package/dist/agents/ContainerRepoBootstrapper.js +8 -0
  10. package/dist/agents/ContainerRepoBootstrapper.js.map +1 -1
  11. package/dist/agents/agentContextRecord.d.ts +31 -0
  12. package/dist/agents/agentContextRecord.d.ts.map +1 -0
  13. package/dist/agents/agentContextRecord.js +113 -0
  14. package/dist/agents/agentContextRecord.js.map +1 -0
  15. package/dist/agents/containerAgentBody.d.ts.map +1 -1
  16. package/dist/agents/containerAgentBody.js +8 -0
  17. package/dist/agents/containerAgentBody.js.map +1 -1
  18. package/dist/agents/containerAgentLogging.d.ts +44 -0
  19. package/dist/agents/containerAgentLogging.d.ts.map +1 -0
  20. package/dist/agents/containerAgentLogging.js +28 -0
  21. package/dist/agents/containerAgentLogging.js.map +1 -0
  22. package/dist/config/misconfiguredApp.d.ts +2 -1
  23. package/dist/config/misconfiguredApp.d.ts.map +1 -1
  24. package/dist/config/misconfiguredApp.js +11 -2
  25. package/dist/config/misconfiguredApp.js.map +1 -1
  26. package/dist/http/cors.d.ts +10 -0
  27. package/dist/http/cors.d.ts.map +1 -1
  28. package/dist/http/cors.js +11 -0
  29. package/dist/http/cors.js.map +1 -1
  30. package/dist/http/env.d.ts +19 -1
  31. package/dist/http/env.d.ts.map +1 -1
  32. package/dist/http/errorHandler.d.ts +10 -2
  33. package/dist/http/errorHandler.d.ts.map +1 -1
  34. package/dist/http/errorHandler.js +28 -12
  35. package/dist/http/errorHandler.js.map +1 -1
  36. package/dist/http/guards.d.ts +46 -0
  37. package/dist/http/guards.d.ts.map +1 -0
  38. package/dist/http/guards.js +57 -0
  39. package/dist/http/guards.js.map +1 -0
  40. package/dist/http/requestLogging.d.ts +32 -0
  41. package/dist/http/requestLogging.d.ts.map +1 -0
  42. package/dist/http/requestLogging.js +117 -0
  43. package/dist/http/requestLogging.js.map +1 -0
  44. package/dist/index.d.ts +3 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +3 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/modules/accounts/AccountController.d.ts +0 -10
  49. package/dist/modules/accounts/AccountController.d.ts.map +1 -1
  50. package/dist/modules/accounts/AccountController.js +56 -101
  51. package/dist/modules/accounts/AccountController.js.map +1 -1
  52. package/dist/modules/agentRuns/AgentRunController.d.ts +0 -6
  53. package/dist/modules/agentRuns/AgentRunController.d.ts.map +1 -1
  54. package/dist/modules/agentRuns/AgentRunController.js +19 -16
  55. package/dist/modules/agentRuns/AgentRunController.js.map +1 -1
  56. package/dist/modules/artifacts/ArtifactController.d.ts.map +1 -1
  57. package/dist/modules/artifacts/ArtifactController.js +4 -15
  58. package/dist/modules/artifacts/ArtifactController.js.map +1 -1
  59. package/dist/modules/auth/AuthController.d.ts.map +1 -1
  60. package/dist/modules/auth/AuthController.js +14 -9
  61. package/dist/modules/auth/AuthController.js.map +1 -1
  62. package/dist/modules/bootstrap/BootstrapController.d.ts.map +1 -1
  63. package/dist/modules/bootstrap/BootstrapController.js +6 -20
  64. package/dist/modules/bootstrap/BootstrapController.js.map +1 -1
  65. package/dist/modules/brainstorm/BrainstormController.d.ts.map +1 -1
  66. package/dist/modules/brainstorm/BrainstormController.js +17 -27
  67. package/dist/modules/brainstorm/BrainstormController.js.map +1 -1
  68. package/dist/modules/bugHunt/BugHuntController.d.ts.map +1 -1
  69. package/dist/modules/bugHunt/BugHuntController.js +4 -12
  70. package/dist/modules/bugHunt/BugHuntController.js.map +1 -1
  71. package/dist/modules/clarity/ClarityReviewController.d.ts.map +1 -1
  72. package/dist/modules/clarity/ClarityReviewController.js +18 -27
  73. package/dist/modules/clarity/ClarityReviewController.js.map +1 -1
  74. package/dist/modules/docInterview/DocInterviewController.d.ts.map +1 -1
  75. package/dist/modules/docInterview/DocInterviewController.js +6 -17
  76. package/dist/modules/docInterview/DocInterviewController.js.map +1 -1
  77. package/dist/modules/documents/DocumentSourceController.d.ts.map +1 -1
  78. package/dist/modules/documents/DocumentSourceController.js +4 -32
  79. package/dist/modules/documents/DocumentSourceController.js.map +1 -1
  80. package/dist/modules/environments/EnvironmentController.d.ts.map +1 -1
  81. package/dist/modules/environments/EnvironmentController.js +10 -63
  82. package/dist/modules/environments/EnvironmentController.js.map +1 -1
  83. package/dist/modules/environments/EnvironmentUserHandlerController.d.ts.map +1 -1
  84. package/dist/modules/environments/EnvironmentUserHandlerController.js +16 -25
  85. package/dist/modules/environments/EnvironmentUserHandlerController.js.map +1 -1
  86. package/dist/modules/fragmentLibrary/FragmentLibraryController.d.ts.map +1 -1
  87. package/dist/modules/fragmentLibrary/FragmentLibraryController.js +26 -60
  88. package/dist/modules/fragmentLibrary/FragmentLibraryController.js.map +1 -1
  89. package/dist/modules/github/GitHubController.d.ts.map +1 -1
  90. package/dist/modules/github/GitHubController.js +14 -48
  91. package/dist/modules/github/GitHubController.js.map +1 -1
  92. package/dist/modules/gitlab/GitLabController.d.ts.map +1 -1
  93. package/dist/modules/gitlab/GitLabController.js +3 -12
  94. package/dist/modules/gitlab/GitLabController.js.map +1 -1
  95. package/dist/modules/incidentEnrichment/IncidentEnrichmentController.d.ts.map +1 -1
  96. package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js +3 -12
  97. package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js.map +1 -1
  98. package/dist/modules/initiatives/InitiativeController.d.ts.map +1 -1
  99. package/dist/modules/initiatives/InitiativeController.js +4 -39
  100. package/dist/modules/initiatives/InitiativeController.js.map +1 -1
  101. package/dist/modules/kaizen/KaizenController.d.ts.map +1 -1
  102. package/dist/modules/kaizen/KaizenController.js +3 -10
  103. package/dist/modules/kaizen/KaizenController.js.map +1 -1
  104. package/dist/modules/localModels/LocalModelEndpointController.d.ts.map +1 -1
  105. package/dist/modules/localModels/LocalModelEndpointController.js +21 -31
  106. package/dist/modules/localModels/LocalModelEndpointController.js.map +1 -1
  107. package/dist/modules/localSettings/LocalSettingsController.d.ts +0 -9
  108. package/dist/modules/localSettings/LocalSettingsController.d.ts.map +1 -1
  109. package/dist/modules/localSettings/LocalSettingsController.js +9 -12
  110. package/dist/modules/localSettings/LocalSettingsController.js.map +1 -1
  111. package/dist/modules/merge/MergeTrackRecordController.d.ts.map +1 -1
  112. package/dist/modules/merge/MergeTrackRecordController.js +3 -10
  113. package/dist/modules/merge/MergeTrackRecordController.js.map +1 -1
  114. package/dist/modules/merge/RiskPolicyController.d.ts.map +1 -1
  115. package/dist/modules/merge/RiskPolicyController.js +3 -16
  116. package/dist/modules/merge/RiskPolicyController.js.map +1 -1
  117. package/dist/modules/modelPresets/ModelPresetController.d.ts.map +1 -1
  118. package/dist/modules/modelPresets/ModelPresetController.js +3 -16
  119. package/dist/modules/modelPresets/ModelPresetController.js.map +1 -1
  120. package/dist/modules/notificationWebhook/NotificationWebhookController.d.ts.map +1 -1
  121. package/dist/modules/notificationWebhook/NotificationWebhookController.js +3 -12
  122. package/dist/modules/notificationWebhook/NotificationWebhookController.js.map +1 -1
  123. package/dist/modules/notifications/NotificationController.d.ts.map +1 -1
  124. package/dist/modules/notifications/NotificationController.js +3 -12
  125. package/dist/modules/notifications/NotificationController.js.map +1 -1
  126. package/dist/modules/observability/PlatformObservabilityController.d.ts.map +1 -1
  127. package/dist/modules/observability/PlatformObservabilityController.js +7 -11
  128. package/dist/modules/observability/PlatformObservabilityController.js.map +1 -1
  129. package/dist/modules/openrouter/OpenRouterCatalogController.d.ts.map +1 -1
  130. package/dist/modules/openrouter/OpenRouterCatalogController.js +19 -23
  131. package/dist/modules/openrouter/OpenRouterCatalogController.js.map +1 -1
  132. package/dist/modules/packageRegistries/PackageRegistriesController.d.ts.map +1 -1
  133. package/dist/modules/packageRegistries/PackageRegistriesController.js +3 -12
  134. package/dist/modules/packageRegistries/PackageRegistriesController.js.map +1 -1
  135. package/dist/modules/preflight/PreflightController.d.ts.map +1 -1
  136. package/dist/modules/preflight/PreflightController.js +3 -8
  137. package/dist/modules/preflight/PreflightController.js.map +1 -1
  138. package/dist/modules/preview/PreviewController.d.ts.map +1 -1
  139. package/dist/modules/preview/PreviewController.js +4 -14
  140. package/dist/modules/preview/PreviewController.js.map +1 -1
  141. package/dist/modules/providers/ApiKeyController.d.ts +0 -1
  142. package/dist/modules/providers/ApiKeyController.d.ts.map +1 -1
  143. package/dist/modules/providers/ApiKeyController.js +21 -43
  144. package/dist/modules/providers/ApiKeyController.js.map +1 -1
  145. package/dist/modules/providers/PersonalSubscriptionController.d.ts.map +1 -1
  146. package/dist/modules/providers/PersonalSubscriptionController.js +15 -25
  147. package/dist/modules/providers/PersonalSubscriptionController.js.map +1 -1
  148. package/dist/modules/providers/UserSecretController.d.ts.map +1 -1
  149. package/dist/modules/providers/UserSecretController.js +23 -37
  150. package/dist/modules/providers/UserSecretController.js.map +1 -1
  151. package/dist/modules/providers/VendorCredentialController.d.ts.map +1 -1
  152. package/dist/modules/providers/VendorCredentialController.js +9 -16
  153. package/dist/modules/providers/VendorCredentialController.js.map +1 -1
  154. package/dist/modules/provisioningLogs/ProvisioningLogController.d.ts.map +1 -1
  155. package/dist/modules/provisioningLogs/ProvisioningLogController.js +3 -8
  156. package/dist/modules/provisioningLogs/ProvisioningLogController.js.map +1 -1
  157. package/dist/modules/publicApi/PublicApiKeyController.d.ts +0 -1
  158. package/dist/modules/publicApi/PublicApiKeyController.d.ts.map +1 -1
  159. package/dist/modules/publicApi/PublicApiKeyController.js +8 -13
  160. package/dist/modules/publicApi/PublicApiKeyController.js.map +1 -1
  161. package/dist/modules/recurring/RecurringPipelineController.d.ts.map +1 -1
  162. package/dist/modules/recurring/RecurringPipelineController.js +3 -18
  163. package/dist/modules/recurring/RecurringPipelineController.js.map +1 -1
  164. package/dist/modules/recurring/TrackerSettingsController.d.ts.map +1 -1
  165. package/dist/modules/recurring/TrackerSettingsController.js +3 -10
  166. package/dist/modules/recurring/TrackerSettingsController.js.map +1 -1
  167. package/dist/modules/releaseHealth/ReleaseHealthController.d.ts.map +1 -1
  168. package/dist/modules/releaseHealth/ReleaseHealthController.js +3 -18
  169. package/dist/modules/releaseHealth/ReleaseHealthController.js.map +1 -1
  170. package/dist/modules/reports/ReportsController.d.ts.map +1 -1
  171. package/dist/modules/reports/ReportsController.js +7 -11
  172. package/dist/modules/reports/ReportsController.js.map +1 -1
  173. package/dist/modules/requirements/RequirementReviewController.d.ts.map +1 -1
  174. package/dist/modules/requirements/RequirementReviewController.js +18 -36
  175. package/dist/modules/requirements/RequirementReviewController.js.map +1 -1
  176. package/dist/modules/runners/RunnerPoolController.d.ts.map +1 -1
  177. package/dist/modules/runners/RunnerPoolController.js +3 -18
  178. package/dist/modules/runners/RunnerPoolController.js.map +1 -1
  179. package/dist/modules/sandbox/SandboxController.d.ts.map +1 -1
  180. package/dist/modules/sandbox/SandboxController.js +3 -32
  181. package/dist/modules/sandbox/SandboxController.js.map +1 -1
  182. package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.d.ts.map +1 -1
  183. package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.js +3 -10
  184. package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.js.map +1 -1
  185. package/dist/modules/services/ServiceMountController.d.ts.map +1 -1
  186. package/dist/modules/services/ServiceMountController.js +3 -16
  187. package/dist/modules/services/ServiceMountController.js.map +1 -1
  188. package/dist/modules/settings/WorkspaceSettingsController.d.ts.map +1 -1
  189. package/dist/modules/settings/WorkspaceSettingsController.js +3 -10
  190. package/dist/modules/settings/WorkspaceSettingsController.js.map +1 -1
  191. package/dist/modules/sharedStack/SharedStackController.d.ts.map +1 -1
  192. package/dist/modules/sharedStack/SharedStackController.js +3 -20
  193. package/dist/modules/sharedStack/SharedStackController.js.map +1 -1
  194. package/dist/modules/skillLibrary/SkillLibraryController.d.ts.map +1 -1
  195. package/dist/modules/skillLibrary/SkillLibraryController.js +21 -44
  196. package/dist/modules/skillLibrary/SkillLibraryController.js.map +1 -1
  197. package/dist/modules/slack/SlackController.d.ts.map +1 -1
  198. package/dist/modules/slack/SlackController.js +4 -26
  199. package/dist/modules/slack/SlackController.js.map +1 -1
  200. package/dist/modules/tasks/TaskSourceController.d.ts.map +1 -1
  201. package/dist/modules/tasks/TaskSourceController.js +5 -47
  202. package/dist/modules/tasks/TaskSourceController.js.map +1 -1
  203. package/dist/modules/testSecrets/TestSecretsController.d.ts.map +1 -1
  204. package/dist/modules/testSecrets/TestSecretsController.js +3 -12
  205. package/dist/modules/testSecrets/TestSecretsController.js.map +1 -1
  206. package/dist/modules/userSettings/UserSettingsController.d.ts.map +1 -1
  207. package/dist/modules/userSettings/UserSettingsController.js +13 -19
  208. package/dist/modules/userSettings/UserSettingsController.js.map +1 -1
  209. package/dist/modules/validation/ValidationConfigController.d.ts.map +1 -1
  210. package/dist/modules/validation/ValidationConfigController.js +3 -14
  211. package/dist/modules/validation/ValidationConfigController.js.map +1 -1
  212. package/dist/modules/workspaces/WorkspaceController.d.ts.map +1 -1
  213. package/dist/modules/workspaces/WorkspaceController.js +9 -4
  214. package/dist/modules/workspaces/WorkspaceController.js.map +1 -1
  215. package/dist/modules/workspaces/WorkspaceMemberController.d.ts.map +1 -1
  216. package/dist/modules/workspaces/WorkspaceMemberController.js +10 -19
  217. package/dist/modules/workspaces/WorkspaceMemberController.js.map +1 -1
  218. package/package.json +6 -6
  219. package/dist/agents/storeAgentContextGate.d.ts +0 -36
  220. package/dist/agents/storeAgentContextGate.d.ts.map +0 -1
  221. package/dist/agents/storeAgentContextGate.js +0 -36
  222. package/dist/agents/storeAgentContextGate.js.map +0 -1
@@ -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.1",
3
+ "version": "0.172.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.3",
33
+ "@cat-factory/agents": "0.82.4",
34
34
  "@cat-factory/contracts": "0.189.0",
35
- "@cat-factory/integrations": "0.109.2",
36
- "@cat-factory/kernel": "0.183.0",
37
- "@cat-factory/orchestration": "0.161.0",
35
+ "@cat-factory/integrations": "0.109.3",
36
+ "@cat-factory/kernel": "0.184.0",
37
+ "@cat-factory/orchestration": "0.162.0",
38
38
  "@cat-factory/prompt-fragments": "0.15.12",
39
- "@cat-factory/spend": "0.12.112"
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"}