@stigmer/server 3.20.0 → 3.22.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/authorization/evaluator.d.ts +7 -1
- package/dist/authorization/evaluator.d.ts.map +1 -1
- package/dist/authorization/evaluator.js.map +1 -1
- package/dist/authorization/list-read-scope.d.ts.map +1 -1
- package/dist/authorization/list-read-scope.js +19 -11
- package/dist/authorization/list-read-scope.js.map +1 -1
- package/dist/authorization/model/organization.d.ts.map +1 -1
- package/dist/authorization/model/organization.js +2 -0
- package/dist/authorization/model/organization.js.map +1 -1
- package/dist/boot/compose.d.ts.map +1 -1
- package/dist/boot/compose.js +0 -1
- package/dist/boot/compose.js.map +1 -1
- package/dist/boot/inprocess.d.ts +0 -2
- package/dist/boot/inprocess.d.ts.map +1 -1
- package/dist/boot/inprocess.js +0 -6
- package/dist/boot/inprocess.js.map +1 -1
- package/dist/domain/agent/controller.d.ts +2 -2
- package/dist/domain/agent/controller.d.ts.map +1 -1
- package/dist/domain/agent/controller.js +3 -17
- package/dist/domain/agent/controller.js.map +1 -1
- package/dist/domain/agent/steps.d.ts +0 -1
- package/dist/domain/agent/steps.d.ts.map +1 -1
- package/dist/domain/agent/steps.js +1 -40
- package/dist/domain/agent/steps.js.map +1 -1
- package/dist/domain/agentchannel/controller.d.ts.map +1 -1
- package/dist/domain/agentchannel/controller.js +6 -1
- package/dist/domain/agentchannel/controller.js.map +1 -1
- package/dist/domain/agentchannel/steps.d.ts +19 -0
- package/dist/domain/agentchannel/steps.d.ts.map +1 -1
- package/dist/domain/agentchannel/steps.js +32 -0
- package/dist/domain/agentchannel/steps.js.map +1 -1
- package/dist/domain/agentexecution/controller.d.ts.map +1 -1
- package/dist/domain/agentexecution/controller.js +7 -9
- package/dist/domain/agentexecution/controller.js.map +1 -1
- package/dist/domain/agentexecution/create-execution-context-step.d.ts +0 -2
- package/dist/domain/agentexecution/create-execution-context-step.d.ts.map +1 -1
- package/dist/domain/agentexecution/create-execution-context-step.js +179 -60
- package/dist/domain/agentexecution/create-execution-context-step.js.map +1 -1
- package/dist/domain/agentexecution/create-steps.d.ts +16 -31
- package/dist/domain/agentexecution/create-steps.d.ts.map +1 -1
- package/dist/domain/agentexecution/create-steps.js +36 -102
- package/dist/domain/agentexecution/create-steps.js.map +1 -1
- package/dist/domain/agentexecution/run-target.d.ts +7 -3
- package/dist/domain/agentexecution/run-target.d.ts.map +1 -1
- package/dist/domain/agentexecution/run-target.js.map +1 -1
- package/dist/domain/agentinstance/controller.d.ts +5 -5
- package/dist/domain/agentinstance/controller.d.ts.map +1 -1
- package/dist/domain/agentinstance/controller.js +6 -1
- package/dist/domain/agentinstance/controller.js.map +1 -1
- package/dist/domain/agentinstance/steps.d.ts +43 -8
- package/dist/domain/agentinstance/steps.d.ts.map +1 -1
- package/dist/domain/agentinstance/steps.js +71 -8
- package/dist/domain/agentinstance/steps.js.map +1 -1
- package/dist/domain/agentshare/controller.d.ts.map +1 -1
- package/dist/domain/agentshare/controller.js +7 -1
- package/dist/domain/agentshare/controller.js.map +1 -1
- package/dist/domain/agentshare/steps.d.ts +58 -0
- package/dist/domain/agentshare/steps.d.ts.map +1 -1
- package/dist/domain/agentshare/steps.js +109 -4
- package/dist/domain/agentshare/steps.js.map +1 -1
- package/dist/domain/artifact/controller.js +21 -25
- package/dist/domain/artifact/controller.js.map +1 -1
- package/dist/domain/channelapp/controller.d.ts.map +1 -1
- package/dist/domain/channelapp/controller.js +2 -0
- package/dist/domain/channelapp/controller.js.map +1 -1
- package/dist/domain/environment/controller.d.ts.map +1 -1
- package/dist/domain/environment/controller.js +2 -0
- package/dist/domain/environment/controller.js.map +1 -1
- package/dist/domain/environment/personal.d.ts +42 -0
- package/dist/domain/environment/personal.d.ts.map +1 -0
- package/dist/domain/environment/personal.js +96 -0
- package/dist/domain/environment/personal.js.map +1 -0
- package/dist/domain/executioncontext/controller.d.ts.map +1 -1
- package/dist/domain/executioncontext/controller.js +2 -0
- package/dist/domain/executioncontext/controller.js.map +1 -1
- package/dist/domain/executioncontext/steps.d.ts.map +1 -1
- package/dist/domain/executioncontext/steps.js +2 -1
- package/dist/domain/executioncontext/steps.js.map +1 -1
- package/dist/domain/mcpserver/connect.d.ts +0 -2
- package/dist/domain/mcpserver/connect.d.ts.map +1 -1
- package/dist/domain/mcpserver/connect.js +24 -79
- package/dist/domain/mcpserver/connect.js.map +1 -1
- package/dist/domain/mcpserver/controller.d.ts.map +1 -1
- package/dist/domain/mcpserver/controller.js +2 -0
- package/dist/domain/mcpserver/controller.js.map +1 -1
- package/dist/domain/mcpserver/start-connect.d.ts.map +1 -1
- package/dist/domain/mcpserver/start-connect.js +8 -7
- package/dist/domain/mcpserver/start-connect.js.map +1 -1
- package/dist/domain/memory/controller.d.ts.map +1 -1
- package/dist/domain/memory/controller.js +6 -1
- package/dist/domain/memory/controller.js.map +1 -1
- package/dist/domain/memory/steps.d.ts +23 -0
- package/dist/domain/memory/steps.d.ts.map +1 -1
- package/dist/domain/memory/steps.js +35 -0
- package/dist/domain/memory/steps.js.map +1 -1
- package/dist/domain/oauthapp/controller.d.ts.map +1 -1
- package/dist/domain/oauthapp/controller.js +2 -0
- package/dist/domain/oauthapp/controller.js.map +1 -1
- package/dist/domain/plugin/controller.d.ts.map +1 -1
- package/dist/domain/plugin/controller.js +5 -24
- package/dist/domain/plugin/controller.js.map +1 -1
- package/dist/domain/plugin/overlay/sanitize.js +2 -2
- package/dist/domain/schedule/controller.d.ts.map +1 -1
- package/dist/domain/schedule/controller.js +7 -1
- package/dist/domain/schedule/controller.js.map +1 -1
- package/dist/domain/schedule/steps.d.ts +19 -0
- package/dist/domain/schedule/steps.d.ts.map +1 -1
- package/dist/domain/schedule/steps.js +32 -0
- package/dist/domain/schedule/steps.js.map +1 -1
- package/dist/domain/session/controller.d.ts +0 -7
- package/dist/domain/session/controller.d.ts.map +1 -1
- package/dist/domain/session/controller.js +11 -16
- package/dist/domain/session/controller.js.map +1 -1
- package/dist/domain/session/run-target.d.ts +9 -8
- package/dist/domain/session/run-target.d.ts.map +1 -1
- package/dist/domain/session/run-target.js.map +1 -1
- package/dist/domain/session/steps.d.ts +8 -36
- package/dist/domain/session/steps.d.ts.map +1 -1
- package/dist/domain/session/steps.js +27 -172
- package/dist/domain/session/steps.js.map +1 -1
- package/dist/domain/skill/controller.d.ts.map +1 -1
- package/dist/domain/skill/controller.js +8 -17
- package/dist/domain/skill/controller.js.map +1 -1
- package/dist/domain/workflow/controller.d.ts.map +1 -1
- package/dist/domain/workflow/controller.js +30 -107
- package/dist/domain/workflow/controller.js.map +1 -1
- package/dist/domain/workflow/version-resolution.d.ts +5 -0
- package/dist/domain/workflow/version-resolution.d.ts.map +1 -0
- package/dist/domain/workflow/version-resolution.js +113 -0
- package/dist/domain/workflow/version-resolution.js.map +1 -0
- package/dist/domain/workflowexecution/create-steps.d.ts +4 -3
- package/dist/domain/workflowexecution/create-steps.d.ts.map +1 -1
- package/dist/domain/workflowexecution/create-steps.js +4 -3
- package/dist/domain/workflowexecution/create-steps.js.map +1 -1
- package/dist/domain/workflowinstance/controller.d.ts.map +1 -1
- package/dist/domain/workflowinstance/controller.js +6 -1
- package/dist/domain/workflowinstance/controller.js.map +1 -1
- package/dist/domain/workflowinstance/steps.d.ts +20 -0
- package/dist/domain/workflowinstance/steps.d.ts.map +1 -1
- package/dist/domain/workflowinstance/steps.js +39 -0
- package/dist/domain/workflowinstance/steps.js.map +1 -1
- package/dist/extensions/identity.d.ts +19 -0
- package/dist/extensions/identity.d.ts.map +1 -1
- package/dist/extensions/identity.js +22 -3
- package/dist/extensions/identity.js.map +1 -1
- package/dist/extensions/list-read-scope.d.ts +41 -7
- package/dist/extensions/list-read-scope.d.ts.map +1 -1
- package/dist/extensions/list-read-scope.js +13 -2
- package/dist/extensions/list-read-scope.js.map +1 -1
- package/dist/pipeline/apiresource-labels.d.ts +2 -2
- package/dist/pipeline/apiresource-labels.js +2 -2
- package/dist/pipeline/errors.d.ts +2 -2
- package/dist/pipeline/errors.js +2 -2
- package/dist/pipeline/steps/authorize-resolved-target.d.ts +88 -0
- package/dist/pipeline/steps/authorize-resolved-target.d.ts.map +1 -0
- package/dist/pipeline/steps/authorize-resolved-target.js +36 -0
- package/dist/pipeline/steps/authorize-resolved-target.js.map +1 -0
- package/dist/pipeline/steps/authorize.d.ts +27 -0
- package/dist/pipeline/steps/authorize.d.ts.map +1 -1
- package/dist/pipeline/steps/authorize.js +49 -10
- package/dist/pipeline/steps/authorize.js.map +1 -1
- package/dist/pipeline/steps/guard-memory-capture.d.ts.map +1 -1
- package/dist/pipeline/steps/guard-memory-capture.js +2 -1
- package/dist/pipeline/steps/guard-memory-capture.js.map +1 -1
- package/dist/pipeline/steps/guard-reserved-labels.d.ts.map +1 -1
- package/dist/pipeline/steps/guard-reserved-labels.js +12 -12
- package/dist/pipeline/steps/guard-reserved-labels.js.map +1 -1
- package/dist/pipeline/steps/helpers.d.ts +9 -5
- package/dist/pipeline/steps/helpers.d.ts.map +1 -1
- package/dist/pipeline/steps/helpers.js +11 -15
- package/dist/pipeline/steps/helpers.js.map +1 -1
- package/dist/pipeline/steps/version-history.d.ts +11 -0
- package/dist/pipeline/steps/version-history.d.ts.map +1 -1
- package/dist/pipeline/steps/version-history.js +26 -0
- package/dist/pipeline/steps/version-history.js.map +1 -1
- package/package.json +6 -6
- package/src/authorization/__tests__/list-read-scope.test.ts +23 -12
- package/src/authorization/__tests__/skip-lane-inventory.test.ts +160 -0
- package/src/authorization/__tests__/wire-permissions.test.ts +5 -5
- package/src/authorization/evaluator.ts +7 -0
- package/src/authorization/list-read-scope.ts +22 -11
- package/src/authorization/model/__tests__/registry.test.ts +2 -0
- package/src/authorization/model/organization.ts +2 -0
- package/src/boot/compose.ts +0 -1
- package/src/boot/inprocess.ts +0 -9
- package/src/domain/agent/__tests__/agent.test.ts +0 -68
- package/src/domain/agent/controller.ts +11 -36
- package/src/domain/agent/steps.ts +1 -60
- package/src/domain/agentchannel/__tests__/create-authorization.test.ts +58 -0
- package/src/domain/agentchannel/controller.ts +19 -0
- package/src/domain/agentchannel/steps.ts +40 -0
- package/src/domain/agentexecution/__tests__/create-execution-context-step.test.ts +216 -0
- package/src/domain/agentexecution/__tests__/create-steps.test.ts +70 -145
- package/src/domain/agentexecution/controller.ts +6 -10
- package/src/domain/agentexecution/create-execution-context-step.ts +271 -83
- package/src/domain/agentexecution/create-steps.ts +38 -138
- package/src/domain/agentexecution/run-target.ts +7 -3
- package/src/domain/agentinstance/__tests__/create-authorization.composed.test.ts +243 -0
- package/src/domain/agentinstance/__tests__/create-authorization.test.ts +144 -0
- package/src/domain/agentinstance/controller.ts +24 -5
- package/src/domain/agentinstance/steps.ts +82 -8
- package/src/domain/agentshare/__tests__/create-authorization.test.ts +86 -0
- package/src/domain/agentshare/__tests__/member-audience.test.ts +113 -0
- package/src/domain/agentshare/controller.ts +21 -0
- package/src/domain/agentshare/steps.ts +181 -15
- package/src/domain/artifact/controller.ts +18 -22
- package/src/domain/channelapp/controller.ts +10 -0
- package/src/domain/environment/__tests__/personal.test.ts +143 -0
- package/src/domain/environment/controller.ts +10 -0
- package/src/domain/environment/personal.ts +141 -0
- package/src/domain/executioncontext/__tests__/executioncontext.test.ts +1 -0
- package/src/domain/executioncontext/controller.ts +10 -0
- package/src/domain/executioncontext/steps.ts +2 -1
- package/src/domain/mcpserver/connect.ts +32 -92
- package/src/domain/mcpserver/controller.ts +13 -1
- package/src/domain/mcpserver/start-connect.ts +17 -11
- package/src/domain/memory/__tests__/create-authorization.test.ts +59 -0
- package/src/domain/memory/controller.ts +11 -0
- package/src/domain/memory/steps.ts +41 -0
- package/src/domain/oauthapp/controller.ts +10 -0
- package/src/domain/plugin/controller.ts +22 -36
- package/src/domain/plugin/overlay/sanitize.ts +2 -2
- package/src/domain/schedule/__tests__/create-authorization.test.ts +58 -0
- package/src/domain/schedule/controller.ts +20 -0
- package/src/domain/schedule/steps.ts +45 -2
- package/src/domain/session/__tests__/run-gate.test.ts +19 -52
- package/src/domain/session/__tests__/session.test.ts +27 -203
- package/src/domain/session/controller.ts +10 -30
- package/src/domain/session/run-target.ts +9 -8
- package/src/domain/session/steps.ts +33 -267
- package/src/domain/skill/controller.ts +24 -23
- package/src/domain/workflow/controller.ts +58 -145
- package/src/domain/workflow/version-resolution.ts +166 -0
- package/src/domain/workflowexecution/create-steps.ts +4 -3
- package/src/domain/workflowinstance/__tests__/create-authorization.test.ts +109 -0
- package/src/domain/workflowinstance/controller.ts +19 -0
- package/src/domain/workflowinstance/steps.ts +49 -1
- package/src/extensions/__tests__/composed-support.ts +38 -4
- package/src/extensions/__tests__/identity.test.ts +44 -1
- package/src/extensions/__tests__/list-read-scope-composed.test.ts +87 -1
- package/src/extensions/__tests__/list-read-scope.test.ts +63 -0
- package/src/extensions/identity.ts +23 -5
- package/src/extensions/list-read-scope.ts +47 -7
- package/src/pipeline/apiresource-labels.ts +2 -2
- package/src/pipeline/errors.ts +2 -2
- package/src/pipeline/steps/__tests__/authorize-resolved-target.test.ts +285 -0
- package/src/pipeline/steps/authorize-resolved-target.ts +129 -0
- package/src/pipeline/steps/authorize.ts +70 -13
- package/src/pipeline/steps/guard-memory-capture.ts +2 -1
- package/src/pipeline/steps/guard-reserved-labels.ts +12 -14
- package/src/pipeline/steps/helpers.ts +11 -15
- package/src/pipeline/steps/version-history.ts +34 -0
- package/dist/domain/agent/defaultagent.d.ts +0 -37
- package/dist/domain/agent/defaultagent.d.ts.map +0 -1
- package/dist/domain/agent/defaultagent.js +0 -104
- package/dist/domain/agent/defaultagent.js.map +0 -1
- package/src/domain/agent/defaultagent.ts +0 -135
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/domain/workflowinstance/controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAwBzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/domain/workflowinstance/controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAwBzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AA4DjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAStD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kHAAkH;IAClH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,qFAAqF;IACrF,QAAQ,CAAC,sBAAsB,EAAE,8BAA8B,GAAG,SAAS,CAAC;IAC5E;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;IAC5D,oHAAoH;IACpH,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;CACnD;AAED,6EAA6E;AAC7E,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,8BAA8B,GACnC,IAAI,CAeN"}
|
|
@@ -12,6 +12,7 @@ import { newPipeline } from "../../pipeline/pipeline.js";
|
|
|
12
12
|
import { callerIdentityOf } from "../../pipeline/interceptors/auth.js";
|
|
13
13
|
import { RequestContext } from "../../pipeline/request-context.js";
|
|
14
14
|
import { newAuthorizeStep } from "../../pipeline/steps/authorize.js";
|
|
15
|
+
import { loadedTargetAsMethod, newAuthorizeResolvedTargetStep, } from "../../pipeline/steps/authorize-resolved-target.js";
|
|
15
16
|
import { newGuardReservedLabelsStep } from "../../pipeline/steps/guard-reserved-labels.js";
|
|
16
17
|
import { newAuthorizeVisibilityTransitionStep, newGuardPublicVisibilityStep, } from "../../pipeline/steps/visibility-gates.js";
|
|
17
18
|
import { newBuildNewStateStep, setAuditFieldsForUpdate, } from "../../pipeline/steps/defaults.js";
|
|
@@ -30,7 +31,7 @@ import { newResolveSlugStep } from "../../pipeline/steps/slug.js";
|
|
|
30
31
|
import { newValidateProtoStep } from "../../pipeline/steps/validation.js";
|
|
31
32
|
import { newValidateVisibilityStep, newValidateVisibilityUpdateStep, } from "../../pipeline/steps/validate-visibility.js";
|
|
32
33
|
import { workflowInstanceSearchExtractor } from "./search-extractor.js";
|
|
33
|
-
import { newLoadParentWorkflowStep, newRejectDefaultWorkflowInstanceVisibilityUpdateStep, newValidateInstanceUpdateStep, newValidateSameOrgBusinessRuleStep, } from "./steps.js";
|
|
34
|
+
import { newLoadParentWorkflowStep, newRejectDefaultWorkflowInstanceVisibilityUpdateStep, newValidateInstanceUpdateStep, newValidateSameOrgBusinessRuleStep, resolveWorkflowInstanceCreateTargets, } from "./steps.js";
|
|
34
35
|
/** Registers both workflowinstance services on the router (routes stage). */
|
|
35
36
|
export function registerWorkflowInstanceServices(router, deps) {
|
|
36
37
|
router.service(WorkflowInstanceCommandController, {
|
|
@@ -62,6 +63,9 @@ async function createInstance(deps, instance, ctx) {
|
|
|
62
63
|
.addStep(newValidateVisibilityStep())
|
|
63
64
|
.addStep(newResolveSlugStep())
|
|
64
65
|
.addStep(newLoadParentWorkflowStep(deps.parentWorkflowLoader, deps.logger))
|
|
66
|
+
// Before the same-org rule, whose refusal names the parent's organization
|
|
67
|
+
// (steps.ts, resolveWorkflowInstanceCreateTargets).
|
|
68
|
+
.addStep(newAuthorizeResolvedTargetStep(deps.authorizer, resolveWorkflowInstanceCreateTargets))
|
|
65
69
|
.addStep(newValidateSameOrgBusinessRuleStep(deps.logger))
|
|
66
70
|
.addStep(newCheckDuplicateStep(deps.store))
|
|
67
71
|
.addStep(newBuildNewStateStep())
|
|
@@ -306,6 +310,7 @@ async function getByReference(deps, ref, ctx) {
|
|
|
306
310
|
.addStep(newAuthorizeStep(WorkflowInstanceQueryController.method.getByReference, deps.authorizer))
|
|
307
311
|
.addStep(newValidateProtoStep())
|
|
308
312
|
.addStep(newLoadByReferenceStep(deps.store, WorkflowInstanceSchema))
|
|
313
|
+
.addStep(newAuthorizeResolvedTargetStep(deps.authorizer, loadedTargetAsMethod(WorkflowInstanceQueryController.method.get)))
|
|
309
314
|
.build()
|
|
310
315
|
.execute(reqCtx);
|
|
311
316
|
return reqCtx.get(TARGET_RESOURCE_KEY);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/domain/workflowinstance/controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/domain/workflowinstance/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ import type { Workflow } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/ap
|
|
|
3
3
|
import { WorkflowInstanceSchema } from "@stigmer/protos/ai/stigmer/agentic/workflowinstance/v1/api_pb";
|
|
4
4
|
import type { Logger } from "../../boot/logger.js";
|
|
5
5
|
import type { PipelineStep } from "../../pipeline/pipeline.js";
|
|
6
|
+
import type { RequestContext } from "../../pipeline/request-context.js";
|
|
7
|
+
import type { AuthorizationTarget } from "../../pipeline/steps/authorize.js";
|
|
6
8
|
import type { Store } from "../../store/interface.js";
|
|
7
9
|
type InstanceDesc = typeof WorkflowInstanceSchema;
|
|
8
10
|
/** Context key for the loaded parent workflow (Go ParentWorkflowKey). */
|
|
@@ -19,6 +21,24 @@ export type ParentWorkflowLoaderProvider = () => ParentWorkflowLoader;
|
|
|
19
21
|
* (capital-W copy is the wire contract).
|
|
20
22
|
*/
|
|
21
23
|
export declare function newLoadParentWorkflowStep(loaderProvider: ParentWorkflowLoaderProvider, logger: Logger): PipelineStep<InstanceDesc>;
|
|
24
|
+
/** The deny copy of the parent's bar, the Java WorkflowInstanceCreateHandler's. */
|
|
25
|
+
export declare const WORKFLOW_INSTANCE_PARENT_DENIED_MESSAGE = "You don't have permission to create instances of this workflow";
|
|
26
|
+
/**
|
|
27
|
+
* The create lane's authorization question, for AuthorizeResolvedTarget
|
|
28
|
+
* after LoadParentWorkflow and BEFORE ValidateSameOrgBusinessRule (whose
|
|
29
|
+
* refusal names the parent's organization, which a refused caller should
|
|
30
|
+
* not learn). The RPC is is_skip_authorization because its target is the
|
|
31
|
+
* PARENT, loaded from spec.workflow_id, not a request field.
|
|
32
|
+
*
|
|
33
|
+
* One question: may the caller run this workflow (can_execute on the
|
|
34
|
+
* parent, the relation the run gate asks; the same-org rule already binds
|
|
35
|
+
* the instance's organization to the workflow's, so there is no separate
|
|
36
|
+
* organization bar). A DEFAULT instance asks nothing, for the reason its
|
|
37
|
+
* agent twin gives (agentinstance/steps.ts): it is the workflow's row,
|
|
38
|
+
* composed by the server for the run's human, keyed on the in-process
|
|
39
|
+
* origin, the reserved label and the parent's organization together.
|
|
40
|
+
*/
|
|
41
|
+
export declare function resolveWorkflowInstanceCreateTargets(ctx: RequestContext<InstanceDesc>): ReadonlyArray<AuthorizationTarget>;
|
|
22
42
|
/**
|
|
23
43
|
* ValidateSameOrgBusinessRule — create.go: instances must live in the same
|
|
24
44
|
* organization as the parent workflow; cross-org instances could leak
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../../src/domain/workflowinstance/steps.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uDAAuD,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+DAA+D,CAAC;
|
|
1
|
+
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../../src/domain/workflowinstance/steps.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uDAAuD,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+DAA+D,CAAC;AAKvG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAI7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,KAAK,YAAY,GAAG,OAAO,sBAAsB,CAAC;AAElD,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAQrD,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC5C;AAED,wDAAwD;AACxD,MAAM,MAAM,4BAA4B,GAAG,MAAM,oBAAoB,CAAC;AAEtE;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,4BAA4B,EAC5C,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,YAAY,CAAC,CAuB5B;AAED,mFAAmF;AACnF,eAAO,MAAM,uCAAuC,mEACc,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,cAAc,CAAC,YAAY,CAAC,GAChC,aAAa,CAAC,mBAAmB,CAAC,CAqBpC;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,YAAY,CAAC,CA4B5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,6BAA6B,IAAI,YAAY,CAAC,YAAY,CAAC,CAqB1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,oDAAoD,CAClE,IAAI,SAAS,WAAW,EACxB,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAmCvD"}
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
import { ConnectError } from "@connectrpc/connect";
|
|
12
12
|
import { WorkflowSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/api_pb";
|
|
13
13
|
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
14
|
+
import { IamPermission } from "@stigmer/protos/ai/stigmer/iam/v1/enum_pb";
|
|
15
|
+
import { isServerComposedRequest } from "../../extensions/identity.js";
|
|
14
16
|
import { isDefaultInstance } from "../../pipeline/apiresource-labels.js";
|
|
15
17
|
import { failedPreconditionError, internalError, invalidArgumentError, notFoundError, } from "../../pipeline/errors.js";
|
|
16
18
|
import { EXISTING_RESOURCE_KEY } from "../../pipeline/steps/load-existing.js";
|
|
@@ -45,6 +47,43 @@ export function newLoadParentWorkflowStep(loaderProvider, logger) {
|
|
|
45
47
|
},
|
|
46
48
|
};
|
|
47
49
|
}
|
|
50
|
+
/** The deny copy of the parent's bar, the Java WorkflowInstanceCreateHandler's. */
|
|
51
|
+
export const WORKFLOW_INSTANCE_PARENT_DENIED_MESSAGE = "You don't have permission to create instances of this workflow";
|
|
52
|
+
/**
|
|
53
|
+
* The create lane's authorization question, for AuthorizeResolvedTarget
|
|
54
|
+
* after LoadParentWorkflow and BEFORE ValidateSameOrgBusinessRule (whose
|
|
55
|
+
* refusal names the parent's organization, which a refused caller should
|
|
56
|
+
* not learn). The RPC is is_skip_authorization because its target is the
|
|
57
|
+
* PARENT, loaded from spec.workflow_id, not a request field.
|
|
58
|
+
*
|
|
59
|
+
* One question: may the caller run this workflow (can_execute on the
|
|
60
|
+
* parent, the relation the run gate asks; the same-org rule already binds
|
|
61
|
+
* the instance's organization to the workflow's, so there is no separate
|
|
62
|
+
* organization bar). A DEFAULT instance asks nothing, for the reason its
|
|
63
|
+
* agent twin gives (agentinstance/steps.ts): it is the workflow's row,
|
|
64
|
+
* composed by the server for the run's human, keyed on the in-process
|
|
65
|
+
* origin, the reserved label and the parent's organization together.
|
|
66
|
+
*/
|
|
67
|
+
export function resolveWorkflowInstanceCreateTargets(ctx) {
|
|
68
|
+
const parent = ctx.get(PARENT_WORKFLOW_KEY);
|
|
69
|
+
if (parent === undefined) {
|
|
70
|
+
throw new Error("parent workflow not found in context");
|
|
71
|
+
}
|
|
72
|
+
const metadata = ctx.newState.metadata;
|
|
73
|
+
if (isDefaultInstance(metadata) &&
|
|
74
|
+
isServerComposedRequest(ctx.callerIdentity) &&
|
|
75
|
+
(metadata?.org ?? "") === (parent.metadata?.org ?? "")) {
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
return [
|
|
79
|
+
{
|
|
80
|
+
permission: IamPermission.can_execute,
|
|
81
|
+
resourceKind: ApiResourceKind.workflow,
|
|
82
|
+
resourceId: parent.metadata?.id ?? "",
|
|
83
|
+
deniedMessage: WORKFLOW_INSTANCE_PARENT_DENIED_MESSAGE,
|
|
84
|
+
},
|
|
85
|
+
];
|
|
86
|
+
}
|
|
48
87
|
/**
|
|
49
88
|
* ValidateSameOrgBusinessRule — create.go: instances must live in the same
|
|
50
89
|
* organization as the parent workflow; cross-org instances could leak
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../../src/domain/workflowinstance/steps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAIvF,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;
|
|
1
|
+
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../../src/domain/workflowinstance/steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,4 +102,23 @@ export interface IdentityVerifier {
|
|
|
102
102
|
* rule is load-bearing in open source.
|
|
103
103
|
*/
|
|
104
104
|
export declare function isPlatformPipelineCaller(caller: CallerIdentity): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Whether the request `caller` arrived on was composed by the server's own
|
|
107
|
+
* code rather than presented on the wire: the `internal` class (the server
|
|
108
|
+
* acting as itself) or ANY identity that entered through the in-process
|
|
109
|
+
* transport (a propagated person the server is building a request for,
|
|
110
|
+
* such as the default-instance self-heal that creates as the run's human
|
|
111
|
+
* for attribution). The serving chassis strips the propagation header, so
|
|
112
|
+
* the wire cannot claim this.
|
|
113
|
+
*
|
|
114
|
+
* This is the trust arm the label guard, the memory-capture gate and the
|
|
115
|
+
* execution-context create check share: what a server-composed request
|
|
116
|
+
* carries was decided by the service code that built it, and the
|
|
117
|
+
* entry-point request already passed its own gate. It is NARROWER than
|
|
118
|
+
* `isPlatformPipelineCaller`: a wire `machine` account is one of the
|
|
119
|
+
* platform's pipelines but its request is still the wire's, so a step
|
|
120
|
+
* that trusts server-composed state (a reserved label, a default
|
|
121
|
+
* instance's provenance) must key on this predicate and never on that one.
|
|
122
|
+
*/
|
|
123
|
+
export declare function isServerComposedRequest(caller: CallerIdentity): boolean;
|
|
105
124
|
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/extensions/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,SAAS,GACT,QAAQ,GACR,UAAU,GACV,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/extensions/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,SAAS,GACT,QAAQ,GACR,UAAU,GACV,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAExE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEvE"}
|
|
@@ -26,8 +26,27 @@
|
|
|
26
26
|
* rule is load-bearing in open source.
|
|
27
27
|
*/
|
|
28
28
|
export function isPlatformPipelineCaller(caller) {
|
|
29
|
-
return
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
return caller.callerClass === "machine" || isServerComposedRequest(caller);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Whether the request `caller` arrived on was composed by the server's own
|
|
33
|
+
* code rather than presented on the wire: the `internal` class (the server
|
|
34
|
+
* acting as itself) or ANY identity that entered through the in-process
|
|
35
|
+
* transport (a propagated person the server is building a request for,
|
|
36
|
+
* such as the default-instance self-heal that creates as the run's human
|
|
37
|
+
* for attribution). The serving chassis strips the propagation header, so
|
|
38
|
+
* the wire cannot claim this.
|
|
39
|
+
*
|
|
40
|
+
* This is the trust arm the label guard, the memory-capture gate and the
|
|
41
|
+
* execution-context create check share: what a server-composed request
|
|
42
|
+
* carries was decided by the service code that built it, and the
|
|
43
|
+
* entry-point request already passed its own gate. It is NARROWER than
|
|
44
|
+
* `isPlatformPipelineCaller`: a wire `machine` account is one of the
|
|
45
|
+
* platform's pipelines but its request is still the wire's, so a step
|
|
46
|
+
* that trusts server-composed state (a reserved label, a default
|
|
47
|
+
* instance's provenance) must key on this predicate and never on that one.
|
|
48
|
+
*/
|
|
49
|
+
export function isServerComposedRequest(caller) {
|
|
50
|
+
return caller.callerClass === "internal" || caller.origin === "in-process";
|
|
32
51
|
}
|
|
33
52
|
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/extensions/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAuFH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAsB;IAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/extensions/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAuFH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAsB;IAC7D,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAsB;IAC5D,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC;AAC7E,CAAC"}
|
|
@@ -48,11 +48,27 @@
|
|
|
48
48
|
* authorization-backend outage surfaces as the pipeline's sanitized
|
|
49
49
|
* INTERNAL, exactly the Java baseline (DD-007: unavailable is never
|
|
50
50
|
* softened).
|
|
51
|
-
* -
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
51
|
+
* - THE `internal` CLASS IS ANSWERED HERE, NEVER OFFERED TO
|
|
52
|
+
* `restrictListEntries`. The server acting as itself over the
|
|
53
|
+
* in-process transport (boot/inprocess.ts mints the class; nothing
|
|
54
|
+
* else can) is the server's own trust domain, on list lanes exactly
|
|
55
|
+
* as on the Authorize step, which returns for the class before any
|
|
56
|
+
* Authorizer is asked (pipeline/steps/authorize.ts). The helper
|
|
57
|
+
* below returns the org-narrowed rows for that class before the
|
|
58
|
+
* scope is consulted. The rule is class-only, like the step's: a
|
|
59
|
+
* caller PROPAGATED through the in-process header keeps its own
|
|
60
|
+
* class and stays scoped. Why here and not in a driver: a driver
|
|
61
|
+
* answering "every offered id" for the class must be written once
|
|
62
|
+
* per edition and is a silent short list the day one edition
|
|
63
|
+
* forgets (stigmer#1207: a composed driver scoped the class and
|
|
64
|
+
* every server-internal list read came back empty — the
|
|
65
|
+
* personal-environment reads at execution-context creation and MCP
|
|
66
|
+
* connect in this repository, and a composition's own in-process
|
|
67
|
+
* readers of a session's executions).
|
|
68
|
+
* The enumeration verb is a wire caller's verb: no in-process edge
|
|
69
|
+
* reaches `authorizedResourceIds`, and only a scanning driver can
|
|
70
|
+
* say "all", so that verb's internal arm stays the driver's and is
|
|
71
|
+
* stated in its doc below.
|
|
56
72
|
* - THE SCOPE IS THE LAST PER-ROW PREDICATE IN A LANE (stigmer-cloud
|
|
57
73
|
* 20260913.04 T02, Q-LB-11). Every request predicate a lane applies
|
|
58
74
|
* — the request's org, a phase, labels, a parent id, filter criteria
|
|
@@ -143,6 +159,13 @@ export interface ListReadScope {
|
|
|
143
159
|
* answer — consumers map it to their lane's empty shape without
|
|
144
160
|
* touching the store. A scope may throw on a kind it was never ruled
|
|
145
161
|
* to serve (a consumer bug by contract).
|
|
162
|
+
*
|
|
163
|
+
* The `internal` class CAN reach this verb (no helper stands between a
|
|
164
|
+
* consumer and it), and the driver owns that arm: a scanning driver
|
|
165
|
+
* answers every id of the kind, an engine-backed one answers what its
|
|
166
|
+
* engine holds for the class. No in-process edge reaches an
|
|
167
|
+
* enumeration lane today, so the two answers have never met a caller;
|
|
168
|
+
* a consumer that adds one reads this line first.
|
|
146
169
|
*/
|
|
147
170
|
authorizedResourceIds(caller: CallerIdentity, kind: ApiResourceKind): Promise<ReadonlySet<string>>;
|
|
148
171
|
/**
|
|
@@ -150,6 +173,12 @@ export interface ListReadScope {
|
|
|
150
173
|
* baseline: the authorized-ids intersection plus the guest
|
|
151
174
|
* cookie-label rule where the lane carries it). The result must be a
|
|
152
175
|
* subset of the offered ids — a scope only narrows.
|
|
176
|
+
*
|
|
177
|
+
* `caller` is never the `internal` class: `restrictListByReadScope`,
|
|
178
|
+
* the one consumption idiom, answers that class before any driver is
|
|
179
|
+
* asked (the header's contract line). A driver that is offered it has
|
|
180
|
+
* been reached around the idiom and should refuse loudly rather than
|
|
181
|
+
* evaluate the server as a person (the built-in driver does).
|
|
153
182
|
*/
|
|
154
183
|
restrictListEntries(caller: CallerIdentity, kind: ApiResourceKind, entries: ReadonlyArray<ListEntryMeta>): Promise<ReadonlySet<string>>;
|
|
155
184
|
}
|
|
@@ -187,8 +216,13 @@ export interface ScopedListResource {
|
|
|
187
216
|
* permission-bounded across orgs, verified per lane in the entry's
|
|
188
217
|
* census — lanes Java does not org-narrow pass ""), then to the kept
|
|
189
218
|
* ids. The same set either way (both are per-row predicates); the
|
|
190
|
-
* order is the header's
|
|
191
|
-
*
|
|
219
|
+
* order is the header's contract line: the scope sees the org's
|
|
220
|
+
* rows, not the kind's;
|
|
221
|
+
* - scope composed, caller `internal` → the org-narrowed rows, the
|
|
222
|
+
* scope never asked and no candidate built (the header's contract
|
|
223
|
+
* line). The org predicate is the REQUEST's, not the caller's, so
|
|
224
|
+
* the server's own read of a cross-org lane still honours the org
|
|
225
|
+
* it asked for; only the caller predicate is skipped;
|
|
192
226
|
* - every candidate carries the row's authorization facts, and the
|
|
193
227
|
* candidates of a kind whose authorization is its parent's name that
|
|
194
228
|
* parent again as `authorizationParent` — one of the facts' parent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-read-scope.d.ts","sourceRoot":"","sources":["../../src/extensions/list-read-scope.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"list-read-scope.d.ts","sourceRoot":"","sources":["../../src/extensions/list-read-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8HG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AAC3H,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0DAA0D,CAAC;AAUjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,WAAW,aAAc,SAAQ,qBAAqB;IAC1D,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD;;;;;;;;;OASG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;CACnD;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;;;;OAaG;IACH,qBAAqB,CACnB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAEhC;;;;;;;;;;;OAWG;IACH,mBAAmB,CACjB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,GACpC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE;QACT,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,UAAU,CAAC,EAAE,qBAAqB,CAAC;KACpC,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,kBAAkB,EACxE,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,EAAE,CAAC,CA2Bd"}
|
|
@@ -19,8 +19,13 @@ import { rowAuthorizationFactsOf } from "../pipeline/steps/authorization-facts.j
|
|
|
19
19
|
* permission-bounded across orgs, verified per lane in the entry's
|
|
20
20
|
* census — lanes Java does not org-narrow pass ""), then to the kept
|
|
21
21
|
* ids. The same set either way (both are per-row predicates); the
|
|
22
|
-
* order is the header's
|
|
23
|
-
*
|
|
22
|
+
* order is the header's contract line: the scope sees the org's
|
|
23
|
+
* rows, not the kind's;
|
|
24
|
+
* - scope composed, caller `internal` → the org-narrowed rows, the
|
|
25
|
+
* scope never asked and no candidate built (the header's contract
|
|
26
|
+
* line). The org predicate is the REQUEST's, not the caller's, so
|
|
27
|
+
* the server's own read of a cross-org lane still honours the org
|
|
28
|
+
* it asked for; only the caller predicate is skipped;
|
|
24
29
|
* - every candidate carries the row's authorization facts, and the
|
|
25
30
|
* candidates of a kind whose authorization is its parent's name that
|
|
26
31
|
* parent again as `authorizationParent` — one of the facts' parent
|
|
@@ -34,6 +39,12 @@ export async function restrictListByReadScope(scope, caller, kind, resources, re
|
|
|
34
39
|
const offered = requestOrg === ""
|
|
35
40
|
? resources
|
|
36
41
|
: resources.filter((resource) => resource.metadata?.org === requestOrg);
|
|
42
|
+
// The server acting as itself: the trust-domain rule of the Authorize
|
|
43
|
+
// step, applied to a list answer — the caller predicate is skipped, the
|
|
44
|
+
// request's org predicate above is not (the header's contract line).
|
|
45
|
+
if (caller.callerClass === "internal") {
|
|
46
|
+
return [...offered];
|
|
47
|
+
}
|
|
37
48
|
const parentOf = authorizationParentReader(kind);
|
|
38
49
|
const entries = offered.map((resource) => {
|
|
39
50
|
const entry = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-read-scope.js","sourceRoot":"","sources":["../../src/extensions/list-read-scope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list-read-scope.js","sourceRoot":"","sources":["../../src/extensions/list-read-scope.ts"],"names":[],"mappings":"AAmIA,sEAAsE;AACtE,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,sBAAsB;AACtB,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAyFnF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAgC,EAChC,MAAsB,EACtB,IAAqB,EACrB,SAA2B,EAC3B,UAAkB;IAElB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,OAAO,GACX,UAAU,KAAK,EAAE;QACf,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,KAAK,UAAU,CAAC,CAAC;IAC5E,sEAAsE;IACtE,wEAAwE;IACxE,qEAAqE;IACrE,IAAI,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAoB,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACxD,MAAM,KAAK,GAAkB;YAC3B,GAAG,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC1C,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE;SACxC,CAAC;QACF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxD,OAAO,mBAAmB,KAAK,SAAS;YACtC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACvE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,yBAAyB,CAChC,IAAqB;IAIrB,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IACD,OAAO,CAAC,WAAW,EAAE,EAAE,CACrB,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
import type { ApiResourceMetadata } from "@stigmer/protos/ai/stigmer/commons/apiresource/metadata_pb";
|
|
23
23
|
/**
|
|
24
24
|
* The platform-reserved label key namespace. Keys under this prefix carry
|
|
25
|
-
* platform semantics (
|
|
26
|
-
*
|
|
25
|
+
* platform semantics (personal-environment uniqueness, default-instance
|
|
26
|
+
* marking, plugin membership and lineage) and are written by the server —
|
|
27
27
|
* never introduced by ordinary client requests on the cloud edition.
|
|
28
28
|
*/
|
|
29
29
|
export declare const RESERVED_LABEL_PREFIX = "stigmer.ai/";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The platform-reserved label key namespace. Keys under this prefix carry
|
|
3
|
-
* platform semantics (
|
|
4
|
-
*
|
|
3
|
+
* platform semantics (personal-environment uniqueness, default-instance
|
|
4
|
+
* marking, plugin membership and lineage) and are written by the server —
|
|
5
5
|
* never introduced by ordinary client requests on the cloud edition.
|
|
6
6
|
*/
|
|
7
7
|
export const RESERVED_LABEL_PREFIX = "stigmer.ai/";
|
|
@@ -47,8 +47,8 @@ export declare function grpcCodeName(code: Code): string;
|
|
|
47
47
|
* errors.As branch keeps the INNER code but rewrites the message to the
|
|
48
48
|
* full wrapped text — and the inner client error's Error() renders as
|
|
49
49
|
* `rpc error: code = <CodeName> desc = <message>`. Byte-parity with Go on
|
|
50
|
-
* the
|
|
51
|
-
*
|
|
50
|
+
* the arms that hit this (agent create's CreateDefaultInstance, agent
|
|
51
|
+
* execution create's default-instance and session bootstrap). The transport-formatting
|
|
52
52
|
* leak is filed as stigmer/stigmer#852 for a both-editions post-cutover
|
|
53
53
|
* fix; until then this shim IS the wire contract.
|
|
54
54
|
*
|
package/dist/pipeline/errors.js
CHANGED
|
@@ -87,8 +87,8 @@ export function grpcCodeName(code) {
|
|
|
87
87
|
* errors.As branch keeps the INNER code but rewrites the message to the
|
|
88
88
|
* full wrapped text — and the inner client error's Error() renders as
|
|
89
89
|
* `rpc error: code = <CodeName> desc = <message>`. Byte-parity with Go on
|
|
90
|
-
* the
|
|
91
|
-
*
|
|
90
|
+
* the arms that hit this (agent create's CreateDefaultInstance, agent
|
|
91
|
+
* execution create's default-instance and session bootstrap). The transport-formatting
|
|
92
92
|
* leak is filed as stigmer/stigmer#852 for a both-editions post-cutover
|
|
93
93
|
* fix; until then this shim IS the wire contract.
|
|
94
94
|
*
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AuthorizeResolvedTarget — the ONE mid-chain authorization step: the
|
|
3
|
+
* question a lane can only ask once its chain has loaded something the
|
|
4
|
+
* position-1 annotation could not key on.
|
|
5
|
+
*
|
|
6
|
+
* The `Authorize` step resolves its target from the REQUEST (a field path
|
|
7
|
+
* over the input), so it cannot serve two shapes of lane, and both are
|
|
8
|
+
* `is_skip_authorization` on the wire for that reason alone:
|
|
9
|
+
*
|
|
10
|
+
* - a read by reference: the request carries an org and a slug, the
|
|
11
|
+
* target is the row the loader finds, and the question is exactly the
|
|
12
|
+
* one the kind's `get` asks by id — `can_view` on that row, with the
|
|
13
|
+
* `get` annotation's byte-pinned copy. `loadedTargetAsMethod(get)` is
|
|
14
|
+
* that resolver: it reads the row under TARGET_RESOURCE_KEY and asks the
|
|
15
|
+
* sibling `get` descriptor's annotation about its id, so the two lanes
|
|
16
|
+
* cannot drift (one annotation owns the permission and the copy; a
|
|
17
|
+
* `get` that is itself a skip makes the reference read a skip too).
|
|
18
|
+
* - a parent-gated create: the request names a parent (an agent to
|
|
19
|
+
* schedule, share, channel-bind or instantiate; a workflow to
|
|
20
|
+
* instantiate), the domain's resolve step loads and stashes it, and the
|
|
21
|
+
* question is the caller's standing on that parent (or on the row's
|
|
22
|
+
* organization), with the copy the lane has always answered.
|
|
23
|
+
*
|
|
24
|
+
* The step owns nothing but the position and the evaluation: a PURE
|
|
25
|
+
* resolver over the request context names the questions (kind, id,
|
|
26
|
+
* permission, copy), in the order the lane asks them; the first refusal
|
|
27
|
+
* answers. The evaluation is `authorizeTarget` (authorize.ts): allow
|
|
28
|
+
* proceeds, deny is PERMISSION_DENIED with the copy, not-found is NOT_FOUND
|
|
29
|
+
* as the load-first chain would answer, unavailable is INTERNAL, and the
|
|
30
|
+
* `internal` class alone is exempt — the annotation's skip arms do not
|
|
31
|
+
* apply, because the caller IS the enforcement the annotation opted out of.
|
|
32
|
+
*
|
|
33
|
+
* Two contracts a resolver keeps. It returns an EMPTY list only for an arm
|
|
34
|
+
* the lane has modelled as "nothing to ask" (a default instance the server
|
|
35
|
+
* composed for the run's human, whose access already follows the parent);
|
|
36
|
+
* an absent stash, a parent the chain guaranteed and did not deliver, is a
|
|
37
|
+
* chain invariant broken and the resolver THROWS, so a mis-ordered chain
|
|
38
|
+
* fails loudly instead of silently reopening the lane. And it names the
|
|
39
|
+
* questions in the anti-probing order: the organization's bar before the
|
|
40
|
+
* parent's where both are asked, so an outsider learns nothing about the
|
|
41
|
+
* parent's grants from which copy came back.
|
|
42
|
+
*
|
|
43
|
+
* Position: immediately after the step that loads what the resolver reads,
|
|
44
|
+
* before the duplicate check, before any engine or store side effect, and
|
|
45
|
+
* before any step whose refusal would reveal the loaded row (a same-org
|
|
46
|
+
* rule that names the parent's organization, an enrichment that reads the
|
|
47
|
+
* row's connections).
|
|
48
|
+
*
|
|
49
|
+
* The step's name is the shared vocabulary for every NEW lane. The lanes
|
|
50
|
+
* that carried a hand-written copy of this body before it existed keep
|
|
51
|
+
* their frozen names through `stepName` — the version ladder's own
|
|
52
|
+
* precedent (LoadSkillByReference and LoadPluginByReference are one
|
|
53
|
+
* factory) — because a step name is never renamed.
|
|
54
|
+
*
|
|
55
|
+
* Sibling: `AuthorizeRunTarget` runs the same evaluation over the record
|
|
56
|
+
* being built (`ctx.newState`) and carries the run-gate doctrine an
|
|
57
|
+
* edition's lane admission keys on; this step reads what the chain LOADED
|
|
58
|
+
* and carries no doctrine of its own.
|
|
59
|
+
*/
|
|
60
|
+
import type { DescMessage, DescMethod } from "@bufbuild/protobuf";
|
|
61
|
+
import type { ApiResourceReferenceSchema } from "@stigmer/protos/ai/stigmer/commons/apiresource/io_pb";
|
|
62
|
+
import type { Authorizer } from "../../extensions/authorizer.js";
|
|
63
|
+
import type { PipelineStep } from "../pipeline.js";
|
|
64
|
+
import type { RequestContext } from "../request-context.js";
|
|
65
|
+
import { type AuthorizationTarget } from "./authorize.js";
|
|
66
|
+
/** The step's shared name; a folded lane passes its own frozen name instead. */
|
|
67
|
+
export declare const AUTHORIZE_RESOLVED_TARGET_STEP = "AuthorizeResolvedTarget";
|
|
68
|
+
/**
|
|
69
|
+
* Names the questions a lane asks, in order, over the request context after
|
|
70
|
+
* its chain has loaded the target. Pure: no store, no clock, no side effect.
|
|
71
|
+
* Empty means the lane has nothing to ask on this request; an invariant the
|
|
72
|
+
* chain broke (an absent stash) is a throw, never an empty list.
|
|
73
|
+
*/
|
|
74
|
+
export type ResolvedTargetResolver<Desc extends DescMessage> = (ctx: RequestContext<Desc>) => ReadonlyArray<AuthorizationTarget>;
|
|
75
|
+
export declare function newAuthorizeResolvedTargetStep<Desc extends DescMessage>(authorizer: Authorizer, resolve: ResolvedTargetResolver<Desc>, stepName?: string): PipelineStep<Desc>;
|
|
76
|
+
/** The request shape every `getByReference` lane runs on. */
|
|
77
|
+
export type GetByReferenceDesc = typeof ApiResourceReferenceSchema;
|
|
78
|
+
/**
|
|
79
|
+
* The reads' resolver: the row the loader stashed under TARGET_RESOURCE_KEY,
|
|
80
|
+
* authorized exactly as `get` would authorize it by id. The `get`
|
|
81
|
+
* descriptor's annotation supplies the kind, the permission and the copy;
|
|
82
|
+
* the loaded row's id is the target override (a reference has no `value`
|
|
83
|
+
* field for the annotation's path to read). A `get` that is public, skip
|
|
84
|
+
* or unannotated makes this a no-op — the reference read is never stricter
|
|
85
|
+
* than the read by id, and never laxer.
|
|
86
|
+
*/
|
|
87
|
+
export declare function loadedTargetAsMethod(get: DescMethod): ResolvedTargetResolver<GetByReferenceDesc>;
|
|
88
|
+
//# sourceMappingURL=authorize-resolved-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorize-resolved-target.d.ts","sourceRoot":"","sources":["../../../src/pipeline/steps/authorize-resolved-target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAW,MAAM,oBAAoB,CAAC;AAE3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAEvG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,gBAAgB,CAAC;AAExB,gFAAgF;AAChF,eAAO,MAAM,8BAA8B,4BAA4B,CAAC;AAExE;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,CAAC,IAAI,SAAS,WAAW,IAAI,CAC7D,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,KACtB,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAExC,wBAAgB,8BAA8B,CAAC,IAAI,SAAS,WAAW,EACrE,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,EACrC,QAAQ,GAAE,MAAuC,GAChD,YAAY,CAAC,IAAI,CAAC,CASpB;AAED,6DAA6D;AAC7D,MAAM,MAAM,kBAAkB,GAAG,OAAO,0BAA0B,CAAC;AAEnE;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,UAAU,GACd,sBAAsB,CAAC,kBAAkB,CAAC,CAY5C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { metadataOf } from "./shapes.js";
|
|
2
|
+
import { TARGET_RESOURCE_KEY } from "./load-target.js";
|
|
3
|
+
import { authorizeTarget, resolveAnnotatedCheck, } from "./authorize.js";
|
|
4
|
+
/** The step's shared name; a folded lane passes its own frozen name instead. */
|
|
5
|
+
export const AUTHORIZE_RESOLVED_TARGET_STEP = "AuthorizeResolvedTarget";
|
|
6
|
+
export function newAuthorizeResolvedTargetStep(authorizer, resolve, stepName = AUTHORIZE_RESOLVED_TARGET_STEP) {
|
|
7
|
+
return {
|
|
8
|
+
name: stepName,
|
|
9
|
+
async execute(ctx) {
|
|
10
|
+
for (const target of resolve(ctx)) {
|
|
11
|
+
await authorizeTarget(authorizer, ctx.callerIdentity, target);
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The reads' resolver: the row the loader stashed under TARGET_RESOURCE_KEY,
|
|
18
|
+
* authorized exactly as `get` would authorize it by id. The `get`
|
|
19
|
+
* descriptor's annotation supplies the kind, the permission and the copy;
|
|
20
|
+
* the loaded row's id is the target override (a reference has no `value`
|
|
21
|
+
* field for the annotation's path to read). A `get` that is public, skip
|
|
22
|
+
* or unannotated makes this a no-op — the reference read is never stricter
|
|
23
|
+
* than the read by id, and never laxer.
|
|
24
|
+
*/
|
|
25
|
+
export function loadedTargetAsMethod(get) {
|
|
26
|
+
return (ctx) => {
|
|
27
|
+
const loaded = ctx.get(TARGET_RESOURCE_KEY);
|
|
28
|
+
const id = loaded === undefined ? undefined : metadataOf(loaded)?.id;
|
|
29
|
+
if (id === undefined) {
|
|
30
|
+
throw new Error(`${AUTHORIZE_RESOLVED_TARGET_STEP}: no loaded target with metadata under ${TARGET_RESOURCE_KEY}; the loader must run first`);
|
|
31
|
+
}
|
|
32
|
+
const target = resolveAnnotatedCheck(get, ctx.input, { resourceId: id });
|
|
33
|
+
return target === undefined ? [] : [target];
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=authorize-resolved-target.js.map
|