@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.
- package/dist/agents/ContainerAgentExecutor.d.ts +0 -8
- package/dist/agents/ContainerAgentExecutor.d.ts.map +1 -1
- package/dist/agents/ContainerAgentExecutor.js +51 -129
- package/dist/agents/ContainerAgentExecutor.js.map +1 -1
- package/dist/agents/ContainerEnvConfigRepairer.d.ts.map +1 -1
- package/dist/agents/ContainerEnvConfigRepairer.js +6 -0
- package/dist/agents/ContainerEnvConfigRepairer.js.map +1 -1
- package/dist/agents/ContainerRepoBootstrapper.d.ts.map +1 -1
- package/dist/agents/ContainerRepoBootstrapper.js +8 -0
- package/dist/agents/ContainerRepoBootstrapper.js.map +1 -1
- package/dist/agents/agentContextRecord.d.ts +31 -0
- package/dist/agents/agentContextRecord.d.ts.map +1 -0
- package/dist/agents/agentContextRecord.js +113 -0
- package/dist/agents/agentContextRecord.js.map +1 -0
- package/dist/agents/containerAgentBody.d.ts.map +1 -1
- package/dist/agents/containerAgentBody.js +8 -0
- package/dist/agents/containerAgentBody.js.map +1 -1
- package/dist/agents/containerAgentLogging.d.ts +44 -0
- package/dist/agents/containerAgentLogging.d.ts.map +1 -0
- package/dist/agents/containerAgentLogging.js +28 -0
- package/dist/agents/containerAgentLogging.js.map +1 -0
- package/dist/config/misconfiguredApp.d.ts +2 -1
- package/dist/config/misconfiguredApp.d.ts.map +1 -1
- package/dist/config/misconfiguredApp.js +11 -2
- package/dist/config/misconfiguredApp.js.map +1 -1
- package/dist/http/cors.d.ts +10 -0
- package/dist/http/cors.d.ts.map +1 -1
- package/dist/http/cors.js +11 -0
- package/dist/http/cors.js.map +1 -1
- package/dist/http/env.d.ts +19 -1
- package/dist/http/env.d.ts.map +1 -1
- package/dist/http/errorHandler.d.ts +10 -2
- package/dist/http/errorHandler.d.ts.map +1 -1
- package/dist/http/errorHandler.js +28 -12
- package/dist/http/errorHandler.js.map +1 -1
- package/dist/http/guards.d.ts +46 -0
- package/dist/http/guards.d.ts.map +1 -0
- package/dist/http/guards.js +57 -0
- package/dist/http/guards.js.map +1 -0
- package/dist/http/requestLogging.d.ts +32 -0
- package/dist/http/requestLogging.d.ts.map +1 -0
- package/dist/http/requestLogging.js +117 -0
- package/dist/http/requestLogging.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/modules/accounts/AccountController.d.ts +0 -10
- package/dist/modules/accounts/AccountController.d.ts.map +1 -1
- package/dist/modules/accounts/AccountController.js +56 -101
- package/dist/modules/accounts/AccountController.js.map +1 -1
- package/dist/modules/agentRuns/AgentRunController.d.ts +0 -6
- package/dist/modules/agentRuns/AgentRunController.d.ts.map +1 -1
- package/dist/modules/agentRuns/AgentRunController.js +19 -16
- package/dist/modules/agentRuns/AgentRunController.js.map +1 -1
- package/dist/modules/artifacts/ArtifactController.d.ts.map +1 -1
- package/dist/modules/artifacts/ArtifactController.js +4 -15
- package/dist/modules/artifacts/ArtifactController.js.map +1 -1
- package/dist/modules/auth/AuthController.d.ts.map +1 -1
- package/dist/modules/auth/AuthController.js +14 -9
- package/dist/modules/auth/AuthController.js.map +1 -1
- package/dist/modules/bootstrap/BootstrapController.d.ts.map +1 -1
- package/dist/modules/bootstrap/BootstrapController.js +6 -20
- package/dist/modules/bootstrap/BootstrapController.js.map +1 -1
- package/dist/modules/brainstorm/BrainstormController.d.ts.map +1 -1
- package/dist/modules/brainstorm/BrainstormController.js +17 -27
- package/dist/modules/brainstorm/BrainstormController.js.map +1 -1
- package/dist/modules/bugHunt/BugHuntController.d.ts.map +1 -1
- package/dist/modules/bugHunt/BugHuntController.js +4 -12
- package/dist/modules/bugHunt/BugHuntController.js.map +1 -1
- package/dist/modules/clarity/ClarityReviewController.d.ts.map +1 -1
- package/dist/modules/clarity/ClarityReviewController.js +18 -27
- package/dist/modules/clarity/ClarityReviewController.js.map +1 -1
- package/dist/modules/docInterview/DocInterviewController.d.ts.map +1 -1
- package/dist/modules/docInterview/DocInterviewController.js +6 -17
- package/dist/modules/docInterview/DocInterviewController.js.map +1 -1
- package/dist/modules/documents/DocumentSourceController.d.ts.map +1 -1
- package/dist/modules/documents/DocumentSourceController.js +4 -32
- package/dist/modules/documents/DocumentSourceController.js.map +1 -1
- package/dist/modules/environments/EnvironmentController.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentController.js +10 -63
- package/dist/modules/environments/EnvironmentController.js.map +1 -1
- package/dist/modules/environments/EnvironmentUserHandlerController.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentUserHandlerController.js +16 -25
- package/dist/modules/environments/EnvironmentUserHandlerController.js.map +1 -1
- package/dist/modules/fragmentLibrary/FragmentLibraryController.d.ts.map +1 -1
- package/dist/modules/fragmentLibrary/FragmentLibraryController.js +26 -60
- package/dist/modules/fragmentLibrary/FragmentLibraryController.js.map +1 -1
- package/dist/modules/github/GitHubController.d.ts.map +1 -1
- package/dist/modules/github/GitHubController.js +14 -48
- package/dist/modules/github/GitHubController.js.map +1 -1
- package/dist/modules/gitlab/GitLabController.d.ts.map +1 -1
- package/dist/modules/gitlab/GitLabController.js +3 -12
- package/dist/modules/gitlab/GitLabController.js.map +1 -1
- package/dist/modules/incidentEnrichment/IncidentEnrichmentController.d.ts.map +1 -1
- package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js +3 -12
- package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js.map +1 -1
- package/dist/modules/initiatives/InitiativeController.d.ts.map +1 -1
- package/dist/modules/initiatives/InitiativeController.js +4 -39
- package/dist/modules/initiatives/InitiativeController.js.map +1 -1
- package/dist/modules/kaizen/KaizenController.d.ts.map +1 -1
- package/dist/modules/kaizen/KaizenController.js +3 -10
- package/dist/modules/kaizen/KaizenController.js.map +1 -1
- package/dist/modules/localModels/LocalModelEndpointController.d.ts.map +1 -1
- package/dist/modules/localModels/LocalModelEndpointController.js +21 -31
- package/dist/modules/localModels/LocalModelEndpointController.js.map +1 -1
- package/dist/modules/localSettings/LocalSettingsController.d.ts +0 -9
- package/dist/modules/localSettings/LocalSettingsController.d.ts.map +1 -1
- package/dist/modules/localSettings/LocalSettingsController.js +9 -12
- package/dist/modules/localSettings/LocalSettingsController.js.map +1 -1
- package/dist/modules/merge/MergeTrackRecordController.d.ts.map +1 -1
- package/dist/modules/merge/MergeTrackRecordController.js +3 -10
- package/dist/modules/merge/MergeTrackRecordController.js.map +1 -1
- package/dist/modules/merge/RiskPolicyController.d.ts.map +1 -1
- package/dist/modules/merge/RiskPolicyController.js +3 -16
- package/dist/modules/merge/RiskPolicyController.js.map +1 -1
- package/dist/modules/modelPresets/ModelPresetController.d.ts.map +1 -1
- package/dist/modules/modelPresets/ModelPresetController.js +3 -16
- package/dist/modules/modelPresets/ModelPresetController.js.map +1 -1
- package/dist/modules/notificationWebhook/NotificationWebhookController.d.ts.map +1 -1
- package/dist/modules/notificationWebhook/NotificationWebhookController.js +3 -12
- package/dist/modules/notificationWebhook/NotificationWebhookController.js.map +1 -1
- package/dist/modules/notifications/NotificationController.d.ts.map +1 -1
- package/dist/modules/notifications/NotificationController.js +3 -12
- package/dist/modules/notifications/NotificationController.js.map +1 -1
- package/dist/modules/observability/PlatformObservabilityController.d.ts.map +1 -1
- package/dist/modules/observability/PlatformObservabilityController.js +7 -11
- package/dist/modules/observability/PlatformObservabilityController.js.map +1 -1
- package/dist/modules/openrouter/OpenRouterCatalogController.d.ts.map +1 -1
- package/dist/modules/openrouter/OpenRouterCatalogController.js +19 -23
- package/dist/modules/openrouter/OpenRouterCatalogController.js.map +1 -1
- package/dist/modules/packageRegistries/PackageRegistriesController.d.ts.map +1 -1
- package/dist/modules/packageRegistries/PackageRegistriesController.js +3 -12
- package/dist/modules/packageRegistries/PackageRegistriesController.js.map +1 -1
- package/dist/modules/preflight/PreflightController.d.ts.map +1 -1
- package/dist/modules/preflight/PreflightController.js +3 -8
- package/dist/modules/preflight/PreflightController.js.map +1 -1
- package/dist/modules/preview/PreviewController.d.ts.map +1 -1
- package/dist/modules/preview/PreviewController.js +4 -14
- package/dist/modules/preview/PreviewController.js.map +1 -1
- package/dist/modules/providers/ApiKeyController.d.ts +0 -1
- package/dist/modules/providers/ApiKeyController.d.ts.map +1 -1
- package/dist/modules/providers/ApiKeyController.js +21 -43
- package/dist/modules/providers/ApiKeyController.js.map +1 -1
- package/dist/modules/providers/PersonalSubscriptionController.d.ts.map +1 -1
- package/dist/modules/providers/PersonalSubscriptionController.js +15 -25
- package/dist/modules/providers/PersonalSubscriptionController.js.map +1 -1
- package/dist/modules/providers/UserSecretController.d.ts.map +1 -1
- package/dist/modules/providers/UserSecretController.js +23 -37
- package/dist/modules/providers/UserSecretController.js.map +1 -1
- package/dist/modules/providers/VendorCredentialController.d.ts.map +1 -1
- package/dist/modules/providers/VendorCredentialController.js +9 -16
- package/dist/modules/providers/VendorCredentialController.js.map +1 -1
- package/dist/modules/provisioningLogs/ProvisioningLogController.d.ts.map +1 -1
- package/dist/modules/provisioningLogs/ProvisioningLogController.js +3 -8
- package/dist/modules/provisioningLogs/ProvisioningLogController.js.map +1 -1
- package/dist/modules/publicApi/PublicApiKeyController.d.ts +0 -1
- package/dist/modules/publicApi/PublicApiKeyController.d.ts.map +1 -1
- package/dist/modules/publicApi/PublicApiKeyController.js +8 -13
- package/dist/modules/publicApi/PublicApiKeyController.js.map +1 -1
- package/dist/modules/recurring/RecurringPipelineController.d.ts.map +1 -1
- package/dist/modules/recurring/RecurringPipelineController.js +3 -18
- package/dist/modules/recurring/RecurringPipelineController.js.map +1 -1
- package/dist/modules/recurring/TrackerSettingsController.d.ts.map +1 -1
- package/dist/modules/recurring/TrackerSettingsController.js +3 -10
- package/dist/modules/recurring/TrackerSettingsController.js.map +1 -1
- package/dist/modules/releaseHealth/ReleaseHealthController.d.ts.map +1 -1
- package/dist/modules/releaseHealth/ReleaseHealthController.js +3 -18
- package/dist/modules/releaseHealth/ReleaseHealthController.js.map +1 -1
- package/dist/modules/reports/ReportsController.d.ts.map +1 -1
- package/dist/modules/reports/ReportsController.js +7 -11
- package/dist/modules/reports/ReportsController.js.map +1 -1
- package/dist/modules/requirements/RequirementReviewController.d.ts.map +1 -1
- package/dist/modules/requirements/RequirementReviewController.js +18 -36
- package/dist/modules/requirements/RequirementReviewController.js.map +1 -1
- package/dist/modules/runners/RunnerPoolController.d.ts.map +1 -1
- package/dist/modules/runners/RunnerPoolController.js +3 -18
- package/dist/modules/runners/RunnerPoolController.js.map +1 -1
- package/dist/modules/sandbox/SandboxController.d.ts.map +1 -1
- package/dist/modules/sandbox/SandboxController.js +3 -32
- package/dist/modules/sandbox/SandboxController.js.map +1 -1
- package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.d.ts.map +1 -1
- package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.js +3 -10
- package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsController.js.map +1 -1
- package/dist/modules/services/ServiceMountController.d.ts.map +1 -1
- package/dist/modules/services/ServiceMountController.js +3 -16
- package/dist/modules/services/ServiceMountController.js.map +1 -1
- package/dist/modules/settings/WorkspaceSettingsController.d.ts.map +1 -1
- package/dist/modules/settings/WorkspaceSettingsController.js +3 -10
- package/dist/modules/settings/WorkspaceSettingsController.js.map +1 -1
- package/dist/modules/sharedStack/SharedStackController.d.ts.map +1 -1
- package/dist/modules/sharedStack/SharedStackController.js +3 -20
- package/dist/modules/sharedStack/SharedStackController.js.map +1 -1
- package/dist/modules/skillLibrary/SkillLibraryController.d.ts.map +1 -1
- package/dist/modules/skillLibrary/SkillLibraryController.js +21 -44
- package/dist/modules/skillLibrary/SkillLibraryController.js.map +1 -1
- package/dist/modules/slack/SlackController.d.ts.map +1 -1
- package/dist/modules/slack/SlackController.js +4 -26
- package/dist/modules/slack/SlackController.js.map +1 -1
- package/dist/modules/tasks/TaskSourceController.d.ts.map +1 -1
- package/dist/modules/tasks/TaskSourceController.js +5 -47
- package/dist/modules/tasks/TaskSourceController.js.map +1 -1
- package/dist/modules/testSecrets/TestSecretsController.d.ts.map +1 -1
- package/dist/modules/testSecrets/TestSecretsController.js +3 -12
- package/dist/modules/testSecrets/TestSecretsController.js.map +1 -1
- package/dist/modules/userSettings/UserSettingsController.d.ts.map +1 -1
- package/dist/modules/userSettings/UserSettingsController.js +13 -19
- package/dist/modules/userSettings/UserSettingsController.js.map +1 -1
- package/dist/modules/validation/ValidationConfigController.d.ts.map +1 -1
- package/dist/modules/validation/ValidationConfigController.js +3 -14
- package/dist/modules/validation/ValidationConfigController.js.map +1 -1
- package/dist/modules/workspaces/WorkspaceController.d.ts.map +1 -1
- package/dist/modules/workspaces/WorkspaceController.js +9 -4
- package/dist/modules/workspaces/WorkspaceController.js.map +1 -1
- package/dist/modules/workspaces/WorkspaceMemberController.d.ts.map +1 -1
- package/dist/modules/workspaces/WorkspaceMemberController.js +10 -19
- package/dist/modules/workspaces/WorkspaceMemberController.js.map +1 -1
- package/package.json +6 -6
- package/dist/agents/storeAgentContextGate.d.ts +0 -36
- package/dist/agents/storeAgentContextGate.d.ts.map +0 -1
- package/dist/agents/storeAgentContextGate.js +0 -36
- 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 {
|
|
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
|
-
|
|
19
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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":"AAAA,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
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.
|
|
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.
|
|
33
|
+
"@cat-factory/agents": "0.82.4",
|
|
34
34
|
"@cat-factory/contracts": "0.189.0",
|
|
35
|
-
"@cat-factory/integrations": "0.109.
|
|
36
|
-
"@cat-factory/kernel": "0.
|
|
37
|
-
"@cat-factory/orchestration": "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.
|
|
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"}
|