@cat-factory/server 0.226.0 → 0.228.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/resolveRepoTarget.d.ts.map +1 -1
- package/dist/agents/resolveRepoTarget.js +20 -10
- package/dist/agents/resolveRepoTarget.js.map +1 -1
- package/dist/app.d.ts +29 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +131 -88
- package/dist/app.js.map +1 -1
- package/dist/github/GitHubPrReportPublisher.d.ts +63 -11
- package/dist/github/GitHubPrReportPublisher.d.ts.map +1 -1
- package/dist/github/GitHubPrReportPublisher.js +137 -35
- package/dist/github/GitHubPrReportPublisher.js.map +1 -1
- package/dist/http/workspaceAccess.d.ts +65 -40
- package/dist/http/workspaceAccess.d.ts.map +1 -1
- package/dist/http/workspaceAccess.js +84 -44
- package/dist/http/workspaceAccess.js.map +1 -1
- package/dist/modules/agentPrompts/AgentPromptController.js +2 -2
- package/dist/modules/agentPrompts/AgentPromptController.js.map +1 -1
- package/dist/modules/agentSettings/WorkspaceAgentSettingsController.js +2 -2
- package/dist/modules/agentSettings/WorkspaceAgentSettingsController.js.map +1 -1
- package/dist/modules/bootstrap/BootstrapController.js +2 -2
- package/dist/modules/bootstrap/BootstrapController.js.map +1 -1
- package/dist/modules/capabilityCredentials/CapabilityCredentialsController.d.ts +2 -2
- package/dist/modules/capabilityCredentials/CapabilityCredentialsController.d.ts.map +1 -1
- package/dist/modules/capabilityCredentials/CapabilityCredentialsController.js +4 -11
- package/dist/modules/capabilityCredentials/CapabilityCredentialsController.js.map +1 -1
- package/dist/modules/consensus/ConsensusGroupController.js +2 -2
- package/dist/modules/consensus/ConsensusGroupController.js.map +1 -1
- package/dist/modules/documents/DocumentSourceController.d.ts +10 -0
- package/dist/modules/documents/DocumentSourceController.d.ts.map +1 -1
- package/dist/modules/documents/DocumentSourceController.js +37 -4
- 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 +6 -2
- package/dist/modules/environments/EnvironmentController.js.map +1 -1
- package/dist/modules/foundationalServices/FoundationalServiceController.d.ts.map +1 -1
- package/dist/modules/foundationalServices/FoundationalServiceController.js +14 -13
- package/dist/modules/foundationalServices/FoundationalServiceController.js.map +1 -1
- package/dist/modules/fragmentLibrary/FragmentLibraryController.d.ts.map +1 -1
- package/dist/modules/fragmentLibrary/FragmentLibraryController.js +17 -11
- package/dist/modules/fragmentLibrary/FragmentLibraryController.js.map +1 -1
- package/dist/modules/github/GitHubController.js +3 -3
- package/dist/modules/github/GitHubController.js.map +1 -1
- package/dist/modules/gitlab/GitLabController.js +2 -2
- package/dist/modules/gitlab/GitLabController.js.map +1 -1
- package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js +2 -2
- package/dist/modules/incidentEnrichment/IncidentEnrichmentController.js.map +1 -1
- package/dist/modules/merge/RiskPolicyController.js +2 -2
- package/dist/modules/merge/RiskPolicyController.js.map +1 -1
- package/dist/modules/modelPresets/ModelPresetController.js +2 -2
- package/dist/modules/modelPresets/ModelPresetController.js.map +1 -1
- package/dist/modules/notificationWebhook/NotificationWebhookController.js +2 -2
- package/dist/modules/notificationWebhook/NotificationWebhookController.js.map +1 -1
- package/dist/modules/packageRegistries/PackageRegistriesController.js +2 -2
- package/dist/modules/packageRegistries/PackageRegistriesController.js.map +1 -1
- package/dist/modules/preview/PreviewController.js +2 -2
- package/dist/modules/preview/PreviewController.js.map +1 -1
- package/dist/modules/providers/ApiKeyController.js +2 -2
- package/dist/modules/providers/ApiKeyController.js.map +1 -1
- package/dist/modules/providers/VendorCredentialController.js +2 -2
- package/dist/modules/providers/VendorCredentialController.js.map +1 -1
- package/dist/modules/publicApi/PublicApiKeyController.js +2 -2
- package/dist/modules/publicApi/PublicApiKeyController.js.map +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.d.ts +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.d.ts.map +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.js +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.js.map +1 -1
- package/dist/modules/recurring/TrackerSettingsController.js +2 -2
- package/dist/modules/recurring/TrackerSettingsController.js.map +1 -1
- package/dist/modules/releaseHealth/ReleaseHealthController.js +2 -2
- package/dist/modules/releaseHealth/ReleaseHealthController.js.map +1 -1
- package/dist/modules/runners/RunnerPoolController.js +2 -2
- package/dist/modules/runners/RunnerPoolController.js.map +1 -1
- package/dist/modules/sandbox/SandboxController.js +2 -2
- package/dist/modules/sandbox/SandboxController.js.map +1 -1
- package/dist/modules/settings/WorkspaceSettingsController.js +2 -2
- package/dist/modules/settings/WorkspaceSettingsController.js.map +1 -1
- package/dist/modules/sharedStack/SharedStackController.js +2 -2
- package/dist/modules/sharedStack/SharedStackController.js.map +1 -1
- package/dist/modules/slack/SlackController.js +2 -2
- package/dist/modules/slack/SlackController.js.map +1 -1
- package/dist/modules/tasks/TaskSourceController.js +2 -2
- package/dist/modules/tasks/TaskSourceController.js.map +1 -1
- package/dist/modules/testSecrets/TestSecretsController.js +2 -2
- package/dist/modules/testSecrets/TestSecretsController.js.map +1 -1
- package/dist/modules/toolServers/ToolServerController.d.ts +1 -1
- package/dist/modules/toolServers/ToolServerController.d.ts.map +1 -1
- package/dist/modules/toolServers/ToolServerController.js +3 -9
- package/dist/modules/toolServers/ToolServerController.js.map +1 -1
- package/dist/modules/tutorial/TutorialController.js +1 -1
- package/dist/modules/tutorial/TutorialController.js.map +1 -1
- package/dist/modules/validation/ValidationConfigController.d.ts.map +1 -1
- package/dist/modules/validation/ValidationConfigController.js +5 -2
- package/dist/modules/validation/ValidationConfigController.js.map +1 -1
- package/dist/modules/vcs/VcsConnectController.d.ts +9 -1
- package/dist/modules/vcs/VcsConnectController.d.ts.map +1 -1
- package/dist/modules/vcs/VcsConnectController.js +11 -3
- package/dist/modules/vcs/VcsConnectController.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentPromptController.js","sourceRoot":"","sources":["../../../src/modules/agentPrompts/AgentPromptController.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"AgentPromptController.js","sourceRoot":"","sources":["../../../src/modules/agentPrompts/AgentPromptController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { listWorkspaceAgentSettingsContract, updateWorkspaceAgentSettingsContract, } from '@cat-factory/contracts';
|
|
2
2
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
|
-
import {
|
|
4
|
+
import { mountWorkspacePermission } from '../../http/workspaceAccess.js';
|
|
5
5
|
import { param } from '../../http/params.js';
|
|
6
6
|
import { requireCapability } from '../../http/guards.js';
|
|
7
7
|
/** Resolve the agent-settings module, or refuse with a 503 naming what isn't wired. */
|
|
@@ -20,7 +20,7 @@ function requireAgentSettings(c) {
|
|
|
20
20
|
*/
|
|
21
21
|
export function workspaceAgentSettingsController() {
|
|
22
22
|
const app = new Hono();
|
|
23
|
-
app
|
|
23
|
+
mountWorkspacePermission(app, 'settings.manage', ['/agent-settings']);
|
|
24
24
|
buildHonoRoute(app, listWorkspaceAgentSettingsContract, async (c) => {
|
|
25
25
|
const settings = requireAgentSettings(c);
|
|
26
26
|
return c.json(await settings.service.list(param(c, 'workspaceId')), 200);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceAgentSettingsController.js","sourceRoot":"","sources":["../../../src/modules/agentSettings/WorkspaceAgentSettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,oCAAoC,GACrC,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"WorkspaceAgentSettingsController.js","sourceRoot":"","sources":["../../../src/modules/agentSettings/WorkspaceAgentSettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,oCAAoC,GACrC,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,uFAAuF;AACvF,SAAS,oBAAoB,CAAmB,CAAa;IAC3D,OAAO,iBAAiB,CACtB,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,sBAAsB,EACzC,mCAAmC,CACpC,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gCAAgC;IAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAC9B,wBAAwB,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAErE,cAAc,CAAC,GAAG,EAAE,kCAAkC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;QACxC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,oCAAoC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACpE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC1C,2FAA2F;QAC3F,0FAA0F;QAC1F,+CAA+C;QAC/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAC3C,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,SAAS,EACT,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACpB,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createReferenceArchitectureContract, deleteReferenceArchitectureContract, getBootstrapJobContract, listBootstrapJobsContract, listReferenceArchitecturesContract, startBootstrapJobContract, updateReferenceArchitectureContract, } from '@cat-factory/contracts';
|
|
2
2
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
|
-
import {
|
|
4
|
+
import { mountWorkspacePermission } from '../../http/workspaceAccess.js';
|
|
5
5
|
import { param } from '../../http/params.js';
|
|
6
6
|
import { UnavailableError } from '@cat-factory/kernel';
|
|
7
7
|
import { requireCapability } from '../../http/guards.js';
|
|
@@ -17,7 +17,7 @@ function requireBootstrap(c) {
|
|
|
17
17
|
*/
|
|
18
18
|
export function bootstrapController() {
|
|
19
19
|
const app = new Hono();
|
|
20
|
-
app
|
|
20
|
+
mountWorkspacePermission(app, 'integrations.manage', ['/bootstrap']);
|
|
21
21
|
// ---- reference architectures -------------------------------------------
|
|
22
22
|
buildHonoRoute(app, listReferenceArchitecturesContract, async (c) => {
|
|
23
23
|
const bootstrap = requireBootstrap(c);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BootstrapController.js","sourceRoot":"","sources":["../../../src/modules/bootstrap/BootstrapController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,EACnC,mCAAmC,EACnC,uBAAuB,EACvB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,EACzB,mCAAmC,GACpC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BootstrapController.js","sourceRoot":"","sources":["../../../src/modules/bootstrap/BootstrapController.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,8 @@ import type { AppEnv } from '../../http/env.js';
|
|
|
14
14
|
* learning which environment variables the deployment sets"). Moving the value into a row does
|
|
15
15
|
* not change that judgement.
|
|
16
16
|
*
|
|
17
|
-
* Which is why the mount is `
|
|
18
|
-
* `
|
|
17
|
+
* Which is why the mount is `mountWorkspacePermissionIncludingReads` and not the usual
|
|
18
|
+
* `mountWorkspacePermission`: that one passes GET/HEAD straight through, so for a release this
|
|
19
19
|
* controller documented a gated read (here, in the SPA's tab gate, and in the store's 403 branch)
|
|
20
20
|
* while every member's GET was answered in full.
|
|
21
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapabilityCredentialsController.d.ts","sourceRoot":"","sources":["../../../src/modules/capabilityCredentials/CapabilityCredentialsController.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAiD/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"CapabilityCredentialsController.d.ts","sourceRoot":"","sources":["../../../src/modules/capabilityCredentials/CapabilityCredentialsController.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAiD/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAAC,MAAM,CAAC,CAoC9D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { deleteCapabilityCredentialContract, getCapabilityCredentialsContract, setCapabilityCredentialContract, setCapabilityCredentialsContract, } from '@cat-factory/contracts';
|
|
2
2
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
|
-
import {
|
|
4
|
+
import { mountWorkspacePermissionIncludingReads } from '../../http/workspaceAccess.js';
|
|
5
5
|
import { param } from '../../http/params.js';
|
|
6
6
|
import { requireCapability } from '../../http/guards.js';
|
|
7
7
|
import { buildCapabilityCredentialsView, collectDeclaredCapabilityCredentials, } from './declaredCredentials.js';
|
|
@@ -47,21 +47,14 @@ async function viewFor(container, stored) {
|
|
|
47
47
|
* learning which environment variables the deployment sets"). Moving the value into a row does
|
|
48
48
|
* not change that judgement.
|
|
49
49
|
*
|
|
50
|
-
* Which is why the mount is `
|
|
51
|
-
* `
|
|
50
|
+
* Which is why the mount is `mountWorkspacePermissionIncludingReads` and not the usual
|
|
51
|
+
* `mountWorkspacePermission`: that one passes GET/HEAD straight through, so for a release this
|
|
52
52
|
* controller documented a gated read (here, in the SPA's tab gate, and in the store's 403 branch)
|
|
53
53
|
* while every member's GET was answered in full.
|
|
54
54
|
*/
|
|
55
55
|
export function capabilityCredentialsController() {
|
|
56
56
|
const app = new Hono();
|
|
57
|
-
|
|
58
|
-
// does not match the bare prefix). A `'*'` mount becomes `ALL /workspaces/:workspaceId/*` on the
|
|
59
|
-
// shared app, so it would refuse a SIBLING controller's routes too: harmless while the gate let
|
|
60
|
-
// GETs through, and an outage for every member-readable GET registered after this one once it
|
|
61
|
-
// stopped.
|
|
62
|
-
const gate = requireWorkspacePermissionIncludingReads('secrets.manage');
|
|
63
|
-
app.use('/capability-credentials', gate);
|
|
64
|
-
app.use('/capability-credentials/*', gate);
|
|
57
|
+
mountWorkspacePermissionIncludingReads(app, 'secrets.manage', ['/capability-credentials']);
|
|
65
58
|
buildHonoRoute(app, getCapabilityCredentialsContract, async (c) => {
|
|
66
59
|
const svc = requireCapabilityCredentials(c);
|
|
67
60
|
const stored = await svc.listStored(param(c, 'workspaceId'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapabilityCredentialsController.js","sourceRoot":"","sources":["../../../src/modules/capabilityCredentials/CapabilityCredentialsController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,gCAAgC,EAChC,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CapabilityCredentialsController.js","sourceRoot":"","sources":["../../../src/modules/capabilityCredentials/CapabilityCredentialsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createConsensusGroupContract, deleteConsensusGroupContract, listConsensusGroupsContract, updateConsensusGroupContract, } from '@cat-factory/contracts';
|
|
2
2
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
|
-
import {
|
|
4
|
+
import { mountWorkspacePermission } from '../../http/workspaceAccess.js';
|
|
5
5
|
import { param } from '../../http/params.js';
|
|
6
6
|
import { requireCapability } from '../../http/guards.js';
|
|
7
7
|
/** Resolve the consensus-group module, or refuse with a 503 naming what isn't wired. */
|
|
@@ -18,7 +18,7 @@ function requireConsensusGroups(c) {
|
|
|
18
18
|
*/
|
|
19
19
|
export function consensusGroupController() {
|
|
20
20
|
const app = new Hono();
|
|
21
|
-
app
|
|
21
|
+
mountWorkspacePermission(app, 'settings.manage', ['/consensus-groups']);
|
|
22
22
|
buildHonoRoute(app, listConsensusGroupsContract, async (c) => {
|
|
23
23
|
const groups = requireConsensusGroups(c);
|
|
24
24
|
return c.json(await groups.service.list(param(c, 'workspaceId')), 200);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsensusGroupController.js","sourceRoot":"","sources":["../../../src/modules/consensus/ConsensusGroupController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ConsensusGroupController.js","sourceRoot":"","sources":["../../../src/modules/consensus/ConsensusGroupController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,wFAAwF;AACxF,SAAS,sBAAsB,CAAmB,CAAa;IAC7D,OAAO,iBAAiB,CACtB,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,eAAe,EAClC,+CAA+C,CAChD,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAC9B,wBAAwB,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAEvE,cAAc,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;QACxC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACvF,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CACvC,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,KAAK,EAAE,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;QAClF,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -5,6 +5,16 @@ import type { AppEnv } from '../../http/env.js';
|
|
|
5
5
|
* connection management, page import, document listing, structure
|
|
6
6
|
* planning/spawning, and linking a page to a block as agent context. Mounted
|
|
7
7
|
* under `/workspaces/:workspaceId`.
|
|
8
|
+
*
|
|
9
|
+
* **This controller MIXES tiers, and which half a route lands in is the whole point.**
|
|
10
|
+
* Storing a credential is integration management; reaching for a page and putting it on a task is
|
|
11
|
+
* board AUTHORING, done by whoever authors the task. Holding the whole controller at
|
|
12
|
+
* `integrations.manage` made every write admin-only, so the persona the feature exists for (someone
|
|
13
|
+
* who links the spec or the design their task is about, and is not an operator) could not attach
|
|
14
|
+
* anything at all: the Add-task picker imports-then-links, so it failed on its first write. Import,
|
|
15
|
+
* search, plan, spawn and link therefore sit at the MEMBER tier the auth gate's write floor already
|
|
16
|
+
* enforces, exactly as `boardController`'s writes do, and only the two credential routes plus the
|
|
17
|
+
* workspace-wide role tags keep the admin gate below.
|
|
8
18
|
*/
|
|
9
19
|
export declare function documentSourceController(): Hono<AppEnv>;
|
|
10
20
|
//# sourceMappingURL=DocumentSourceController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentSourceController.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/DocumentSourceController.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAsB/C
|
|
1
|
+
{"version":3,"file":"DocumentSourceController.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/DocumentSourceController.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAsB/C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAAC,MAAM,CAAC,CAsKvD"}
|
|
@@ -3,7 +3,7 @@ import * as v from 'valibot';
|
|
|
3
3
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
4
4
|
import { Hono } from 'hono';
|
|
5
5
|
import { ValidationError } from '@cat-factory/kernel';
|
|
6
|
-
import { blockEditActor,
|
|
6
|
+
import { blockEditActor, mountWorkspacePermission } from '../../http/workspaceAccess.js';
|
|
7
7
|
import { param } from '../../http/params.js';
|
|
8
8
|
import { requireCapability } from '../../http/guards.js';
|
|
9
9
|
/** Resolve the documents module, or refuse with a 503 naming what isn't wired. */
|
|
@@ -23,10 +23,37 @@ function sourceParam(c) {
|
|
|
23
23
|
* connection management, page import, document listing, structure
|
|
24
24
|
* planning/spawning, and linking a page to a block as agent context. Mounted
|
|
25
25
|
* under `/workspaces/:workspaceId`.
|
|
26
|
+
*
|
|
27
|
+
* **This controller MIXES tiers, and which half a route lands in is the whole point.**
|
|
28
|
+
* Storing a credential is integration management; reaching for a page and putting it on a task is
|
|
29
|
+
* board AUTHORING, done by whoever authors the task. Holding the whole controller at
|
|
30
|
+
* `integrations.manage` made every write admin-only, so the persona the feature exists for (someone
|
|
31
|
+
* who links the spec or the design their task is about, and is not an operator) could not attach
|
|
32
|
+
* anything at all: the Add-task picker imports-then-links, so it failed on its first write. Import,
|
|
33
|
+
* search, plan, spawn and link therefore sit at the MEMBER tier the auth gate's write floor already
|
|
34
|
+
* enforces, exactly as `boardController`'s writes do, and only the two credential routes plus the
|
|
35
|
+
* workspace-wide role tags keep the admin gate below.
|
|
26
36
|
*/
|
|
27
37
|
export function documentSourceController() {
|
|
28
38
|
const app = new Hono();
|
|
29
|
-
|
|
39
|
+
// The admin-tier half, named path by path rather than as a whole-controller mount:
|
|
40
|
+
//
|
|
41
|
+
// - connect/disconnect write and clear the per-workspace source CREDENTIAL, which is integration
|
|
42
|
+
// management by definition. Gating at the mount rather than per-handler keeps the refusal ahead
|
|
43
|
+
// of body validation, so a member is refused whether or not their payload is well-formed and
|
|
44
|
+
// never learns which sources this deployment configured;
|
|
45
|
+
// - the per-DocKind template / exemplar tags are workspace-wide authoring CONFIG, not one task's
|
|
46
|
+
// context. One tag decides what EVERY doc run in the board writes from, the same blast radius
|
|
47
|
+
// that keeps the fragment library and the agent-prompt overrides at the admin tier. The
|
|
48
|
+
// writes-only gate leaves the GET open, so the management panel still renders for anyone who
|
|
49
|
+
// can read the board.
|
|
50
|
+
//
|
|
51
|
+
// Everything else this controller serves is the member half, and mounts nothing.
|
|
52
|
+
mountWorkspacePermission(app, 'integrations.manage', [
|
|
53
|
+
'/document-sources/:source/connect',
|
|
54
|
+
'/document-sources/:source/connection',
|
|
55
|
+
'/document-role-links',
|
|
56
|
+
]);
|
|
30
57
|
// ---- source discovery ---------------------------------------------------
|
|
31
58
|
// The configured sources + their connect/import metadata (drives the UI). A
|
|
32
59
|
// 503 here is how the frontend learns the integration is off.
|
|
@@ -55,6 +82,9 @@ export function documentSourceController() {
|
|
|
55
82
|
const documents = requireDocuments(c);
|
|
56
83
|
return c.json(await documents.importService.listDocuments(param(c, 'workspaceId')), 200);
|
|
57
84
|
});
|
|
85
|
+
// Member tier. It does spend an outbound call against the source under the workspace's stored
|
|
86
|
+
// credential, which is the reason the tool-server probe is gated: the difference is that here the
|
|
87
|
+
// call IS the feature, and the same credential is spent by every run a member may already start.
|
|
58
88
|
buildHonoRoute(app, importDocumentContract, async (c) => {
|
|
59
89
|
const documents = requireDocuments(c);
|
|
60
90
|
const document = await documents.importService.import(param(c, 'workspaceId'), sourceParam(c), c.req.valid('json').ref);
|
|
@@ -68,7 +98,9 @@ export function documentSourceController() {
|
|
|
68
98
|
return c.json({ results }, 200);
|
|
69
99
|
});
|
|
70
100
|
// ---- planning / spawning ------------------------------------------------
|
|
71
|
-
// Preview the board structure a page would expand into (no writes).
|
|
101
|
+
// Preview the board structure a page would expand into (no writes). Member tier because the
|
|
102
|
+
// spawn it previews is a board write; in `llm` planner mode it also spends one model call, a
|
|
103
|
+
// smaller spend than the run the same member may start on what it produces.
|
|
72
104
|
buildHonoRoute(app, planDocumentContract, async (c) => {
|
|
73
105
|
const documents = requireDocuments(c);
|
|
74
106
|
const workspaceId = param(c, 'workspaceId');
|
|
@@ -88,7 +120,8 @@ export function documentSourceController() {
|
|
|
88
120
|
return c.json({ plan, result }, 201);
|
|
89
121
|
});
|
|
90
122
|
// ---- context links ------------------------------------------------------
|
|
91
|
-
// Attach an imported page to a block as extra agent context.
|
|
123
|
+
// Attach an imported page to a block as extra agent context. Member tier: this is the write the
|
|
124
|
+
// designer/author flow ends on, and it edits one block's context, nothing workspace-wide.
|
|
92
125
|
buildHonoRoute(app, linkDocumentContract, async (c) => {
|
|
93
126
|
const documents = requireDocuments(c);
|
|
94
127
|
const { source, externalId, blockId } = c.req.valid('json');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentSourceController.js","sourceRoot":"","sources":["../../../src/modules/documents/DocumentSourceController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,+BAA+B,EAC/B,6BAA6B,EAC7B,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,GAE9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"DocumentSourceController.js","sourceRoot":"","sources":["../../../src/modules/documents/DocumentSourceController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentController.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentController.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AA6B/C;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"EnvironmentController.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentController.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AA6B/C;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,CA0MpD"}
|
|
@@ -2,7 +2,7 @@ import { bootstrapEnvironmentRepoContract, describeEnvironmentProviderContract,
|
|
|
2
2
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
3
|
import * as v from 'valibot';
|
|
4
4
|
import { Hono } from 'hono';
|
|
5
|
-
import {
|
|
5
|
+
import { mountWorkspacePermission } from '../../http/workspaceAccess.js';
|
|
6
6
|
import { param } from '../../http/params.js';
|
|
7
7
|
import { requireCapability } from '../../http/guards.js';
|
|
8
8
|
/** Resolve the environment module, or refuse with a 503 naming what isn't wired. */
|
|
@@ -27,7 +27,11 @@ const notFound = (c) => c.json({ error: { code: 'not_found', message: 'Environme
|
|
|
27
27
|
*/
|
|
28
28
|
export function environmentController() {
|
|
29
29
|
const app = new Hono();
|
|
30
|
-
app
|
|
30
|
+
mountWorkspacePermission(app, 'integrations.manage', [
|
|
31
|
+
'/environments',
|
|
32
|
+
'/environment-tests',
|
|
33
|
+
'/blocks/:blockId/environment-test',
|
|
34
|
+
]);
|
|
31
35
|
// ---- provider connection ------------------------------------------------
|
|
32
36
|
buildHonoRoute(app, getEnvironmentConnectionContract, async (c) => {
|
|
33
37
|
const env = requireEnvironments(c);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentController.js","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EnvironmentController.js","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FoundationalServiceController.d.ts","sourceRoot":"","sources":["../../../src/modules/foundationalServices/FoundationalServiceController.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK/C,KAAK,KAAK,GAAG,SAAS,GAAG,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"FoundationalServiceController.d.ts","sourceRoot":"","sources":["../../../src/modules/foundationalServices/FoundationalServiceController.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK/C,KAAK,KAAK,GAAG,SAAS,GAAG,WAAW,CAAA;AA6CpC;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAuHxE"}
|
|
@@ -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 { requireCapability, requireUser } from '../../http/guards.js';
|
|
6
|
-
import {
|
|
6
|
+
import { mountWorkspacePermission } from '../../http/workspaceAccess.js';
|
|
7
7
|
/** Resolve the foundational-services module or send a 503 when unconfigured. */
|
|
8
8
|
function requireCatalog(c) {
|
|
9
9
|
return requireCapability(c.get('container').foundationalServices, 'The foundational-services catalog is not configured');
|
|
@@ -17,22 +17,23 @@ function requireSources(c) {
|
|
|
17
17
|
return requireCapability(requireCatalog(c).sourceService, 'Repo-sourced foundational services require the GitHub integration to be configured');
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Every TOP-LEVEL path this controller serves at
|
|
21
|
-
*
|
|
22
|
-
* hangs off rather than by someone remembering to add a `use` line beside
|
|
20
|
+
* Every TOP-LEVEL path this controller serves, at BOTH scopes: `accountGuard` is mounted on each of
|
|
21
|
+
* them at the account tier and `settings.manage` at the workspace tier, so a route is authorized by
|
|
22
|
+
* virtue of the resource it hangs off rather than by someone remembering to add a `use` line beside
|
|
23
|
+
* it. One list for both, so neither mount can name a subset the other doesn't.
|
|
23
24
|
*
|
|
24
|
-
* It is a list rather than a `use('*', …)` because this controller shares
|
|
25
|
-
*
|
|
26
|
-
* `/accounts/:
|
|
27
|
-
*
|
|
25
|
+
* It is a list rather than a `use('*', …)` because this controller shares its mount with its
|
|
26
|
+
* siblings: Hono registers a sub-app's `use('*')` as `<prefix>/*` on the parent, so it would also
|
|
27
|
+
* run against `/accounts/:id/reports` and every other route on that prefix, which is a different
|
|
28
|
+
* controller's authorization to own.
|
|
28
29
|
*
|
|
29
30
|
* The pairing of `resource` with `resource/*` is what the enumeration existed to get right and
|
|
30
31
|
* did not — `/foundational-service-suppressions` had no entry at all, leaving the account-tier
|
|
31
32
|
* opt-out LIST reachable by any signed-in user for any account id. `foundationalServiceAccountGuard.spec.ts`
|
|
32
33
|
* drives every route this controller registers and fails on an unguarded one, so a new resource
|
|
33
|
-
* cannot repeat it.
|
|
34
|
+
* cannot repeat it; `mountWorkspacePermission` pairs them for you on the workspace side.
|
|
34
35
|
*/
|
|
35
|
-
const
|
|
36
|
+
const GUARDED_RESOURCES = [
|
|
36
37
|
'/foundational-services',
|
|
37
38
|
'/foundational-service-suppressions',
|
|
38
39
|
'/foundational-service-sources',
|
|
@@ -54,13 +55,13 @@ export function foundationalServiceController(scope) {
|
|
|
54
55
|
const ownerId = (c) => scope === 'account' ? param(c, 'accountId') : param(c, 'workspaceId');
|
|
55
56
|
const ownerKind = scope;
|
|
56
57
|
if (scope === 'account') {
|
|
57
|
-
for (const resource of
|
|
58
|
+
for (const resource of GUARDED_RESOURCES) {
|
|
58
59
|
app.use(resource, accountGuard);
|
|
59
60
|
app.use(`${resource}/*`, accountGuard);
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
|
-
|
|
63
|
-
app
|
|
63
|
+
else {
|
|
64
|
+
mountWorkspacePermission(app, 'settings.manage', GUARDED_RESOURCES);
|
|
64
65
|
}
|
|
65
66
|
// ---- services (this tier, raw — not merged) -----------------------------
|
|
66
67
|
buildHonoRoute(app, listFoundationalServicesContract, async (c) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FoundationalServiceController.js","sourceRoot":"","sources":["../../../src/modules/foundationalServices/FoundationalServiceController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,iCAAiC,EACjC,uCAAuC,EACvC,uCAAuC,EACvC,qCAAqC,EACrC,sCAAsC,EACtC,2CAA2C,EAC3C,gCAAgC,EAChC,oCAAoC,EACpC,kCAAkC,EAClC,mCAAmC,EACnC,qCAAqC,EACrC,uCAAuC,EACvC,iCAAiC,GAClC,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FoundationalServiceController.js","sourceRoot":"","sources":["../../../src/modules/foundationalServices/FoundationalServiceController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentLibraryController.d.ts","sourceRoot":"","sources":["../../../src/modules/fragmentLibrary/FragmentLibraryController.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAA;AAKhE,KAAK,KAAK,GAAG,SAAS,GAAG,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"FragmentLibraryController.d.ts","sourceRoot":"","sources":["../../../src/modules/fragmentLibrary/FragmentLibraryController.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAA;AAKhE,KAAK,KAAK,GAAG,SAAS,GAAG,WAAW,CAAA;AAiCpC;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CA+LpE"}
|
|
@@ -3,7 +3,7 @@ import { NotFoundError, ValidationError, UnavailableError, UnauthorizedError, }
|
|
|
3
3
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
4
4
|
import { Hono } from 'hono';
|
|
5
5
|
import { param } from '../../http/params.js';
|
|
6
|
-
import { loadWorkspaceAccess,
|
|
6
|
+
import { loadWorkspaceAccess, mountWorkspacePermission } from '../../http/workspaceAccess.js';
|
|
7
7
|
import { assertCapability, requireCapability } from '../../http/guards.js';
|
|
8
8
|
/** Resolve the fragment-library module or send a 503 when unconfigured. */
|
|
9
9
|
function requireLibrary(c) {
|
|
@@ -21,6 +21,8 @@ function requireSources(c) {
|
|
|
21
21
|
function assertDocumentsWired(c) {
|
|
22
22
|
assertCapability(c.get('container').documents, 'Document-backed fragments require the document-source integration to be configured');
|
|
23
23
|
}
|
|
24
|
+
/** Every TOP-LEVEL path this controller serves, gated at whichever tier owns the scope. */
|
|
25
|
+
const GUARDED_RESOURCES = ['/prompt-fragments', '/document-fragments', '/fragment-sources'];
|
|
24
26
|
/**
|
|
25
27
|
* The prompt-fragment library API (ADR 0006 §8), mounted twice — once under
|
|
26
28
|
* `/accounts/:accountId` and once under `/workspaces/:workspaceId` — so a tier's
|
|
@@ -35,18 +37,22 @@ export function fragmentLibraryController(scope) {
|
|
|
35
37
|
const ownerKind = scope;
|
|
36
38
|
// Account-scoped routes are an authenticated concept: require sign-in and
|
|
37
39
|
// membership in the addressed account (404 hides existence, mirroring boards).
|
|
38
|
-
|
|
39
|
-
app.use('/prompt-fragments', accountGuard);
|
|
40
|
-
app.use('/prompt-fragments/*', accountGuard);
|
|
41
|
-
app.use('/document-fragments', accountGuard);
|
|
42
|
-
app.use('/fragment-sources', accountGuard);
|
|
43
|
-
app.use('/fragment-sources/*', accountGuard);
|
|
44
|
-
}
|
|
40
|
+
//
|
|
45
41
|
// Workspace-scoped fragment WRITES are an admin-tier action (`settings.manage` — the
|
|
46
42
|
// prompt-fragment library is workspace configuration); reads stay open to any resolved role.
|
|
47
|
-
// The global gate already resolved the caller's access
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
// The global gate already resolved the caller's access.
|
|
44
|
+
//
|
|
45
|
+
// Both mounts name this controller's OWN paths, from one list so neither can name a subset the
|
|
46
|
+
// other doesn't: each shared mount prefix carries sibling controllers, and a `use('*')` inside a
|
|
47
|
+
// sub-app lands on `<prefix>/*` and would authorize their routes too.
|
|
48
|
+
if (scope === 'account') {
|
|
49
|
+
for (const resource of GUARDED_RESOURCES) {
|
|
50
|
+
app.use(resource, accountGuard);
|
|
51
|
+
app.use(`${resource}/*`, accountGuard);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
mountWorkspacePermission(app, 'settings.manage', GUARDED_RESOURCES);
|
|
50
56
|
}
|
|
51
57
|
// ---- fragments (this tier, raw — not merged) ----------------------------
|
|
52
58
|
buildHonoRoute(app, listPromptFragmentsContract, async (c) => {
|