@stigmer/server 3.25.0 → 3.27.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 +4 -1
- package/dist/authorization/evaluator.d.ts.map +1 -1
- package/dist/authorization/evaluator.js +8 -0
- package/dist/authorization/evaluator.js.map +1 -1
- package/dist/authorization/model/agent.d.ts.map +1 -1
- package/dist/authorization/model/agent.js +4 -2
- package/dist/authorization/model/agent.js.map +1 -1
- package/dist/authorization/model/agent_channel.d.ts.map +1 -1
- package/dist/authorization/model/agent_channel.js +5 -4
- package/dist/authorization/model/agent_channel.js.map +1 -1
- package/dist/authorization/model/agent_instance.d.ts.map +1 -1
- package/dist/authorization/model/agent_instance.js +3 -2
- package/dist/authorization/model/agent_instance.js.map +1 -1
- package/dist/authorization/model/mcp_server.d.ts.map +1 -1
- package/dist/authorization/model/mcp_server.js +3 -2
- package/dist/authorization/model/mcp_server.js.map +1 -1
- package/dist/authorization/model/organization.d.ts.map +1 -1
- package/dist/authorization/model/organization.js +3 -0
- package/dist/authorization/model/organization.js.map +1 -1
- package/dist/authorization/model/plugin.d.ts.map +1 -1
- package/dist/authorization/model/plugin.js +4 -2
- package/dist/authorization/model/plugin.js.map +1 -1
- package/dist/authorization/model/rewrite.d.ts +25 -7
- package/dist/authorization/model/rewrite.d.ts.map +1 -1
- package/dist/authorization/model/rewrite.js +40 -1
- package/dist/authorization/model/rewrite.js.map +1 -1
- package/dist/authorization/model/schedule.d.ts.map +1 -1
- package/dist/authorization/model/schedule.js +8 -3
- package/dist/authorization/model/schedule.js.map +1 -1
- package/dist/authorization/model/skill.d.ts.map +1 -1
- package/dist/authorization/model/skill.js +3 -2
- package/dist/authorization/model/skill.js.map +1 -1
- package/dist/authorization/model/workflow.d.ts.map +1 -1
- package/dist/authorization/model/workflow.js +3 -2
- package/dist/authorization/model/workflow.js.map +1 -1
- package/dist/authorization/model/workflow_execution.d.ts.map +1 -1
- package/dist/authorization/model/workflow_execution.js +4 -3
- package/dist/authorization/model/workflow_execution.js.map +1 -1
- package/dist/authorization/model/workflow_instance.d.ts.map +1 -1
- package/dist/authorization/model/workflow_instance.js +5 -1
- package/dist/authorization/model/workflow_instance.js.map +1 -1
- package/dist/boot/compose.d.ts.map +1 -1
- package/dist/boot/compose.js +13 -8
- package/dist/boot/compose.js.map +1 -1
- package/dist/boot/list-indexes.d.ts +3 -0
- package/dist/boot/list-indexes.d.ts.map +1 -0
- package/dist/boot/list-indexes.js +24 -0
- package/dist/boot/list-indexes.js.map +1 -0
- package/dist/domain/agentexecution/controller.d.ts.map +1 -1
- package/dist/domain/agentexecution/controller.js +6 -8
- package/dist/domain/agentexecution/controller.js.map +1 -1
- package/dist/domain/agentexecution/list-index.d.ts +2 -0
- package/dist/domain/agentexecution/list-index.d.ts.map +1 -0
- package/dist/domain/agentexecution/list-index.js +23 -0
- package/dist/domain/agentexecution/list-index.js.map +1 -0
- package/dist/domain/agentexecution/steps.d.ts +17 -33
- package/dist/domain/agentexecution/steps.d.ts.map +1 -1
- package/dist/domain/agentexecution/steps.js +94 -95
- package/dist/domain/agentexecution/steps.js.map +1 -1
- package/dist/domain/agentexecution/usage.d.ts.map +1 -1
- package/dist/domain/agentexecution/usage.js +37 -14
- package/dist/domain/agentexecution/usage.js.map +1 -1
- package/dist/domain/artifact/controller.d.ts.map +1 -1
- package/dist/domain/artifact/controller.js +27 -15
- package/dist/domain/artifact/controller.js.map +1 -1
- package/dist/domain/artifact/list-index.d.ts +2 -0
- package/dist/domain/artifact/list-index.d.ts.map +1 -0
- package/dist/domain/artifact/list-index.js +21 -0
- package/dist/domain/artifact/list-index.js.map +1 -0
- package/dist/domain/iampolicy/access-lists.d.ts +5 -3
- package/dist/domain/iampolicy/access-lists.d.ts.map +1 -1
- package/dist/domain/iampolicy/access-lists.js +72 -19
- package/dist/domain/iampolicy/access-lists.js.map +1 -1
- package/dist/domain/iampolicy/constants.d.ts +32 -6
- package/dist/domain/iampolicy/constants.d.ts.map +1 -1
- package/dist/domain/iampolicy/constants.js +41 -6
- package/dist/domain/iampolicy/constants.js.map +1 -1
- package/dist/domain/iampolicy/controller.d.ts +6 -0
- package/dist/domain/iampolicy/controller.d.ts.map +1 -1
- package/dist/domain/iampolicy/controller.js +16 -7
- package/dist/domain/iampolicy/controller.js.map +1 -1
- package/dist/domain/iampolicy/resource-store.d.ts.map +1 -1
- package/dist/domain/iampolicy/resource-store.js +2 -6
- package/dist/domain/iampolicy/resource-store.js.map +1 -1
- package/dist/domain/iampolicy/steps.d.ts.map +1 -1
- package/dist/domain/iampolicy/steps.js +49 -7
- package/dist/domain/iampolicy/steps.js.map +1 -1
- package/dist/domain/session/list-index.d.ts +4 -0
- package/dist/domain/session/list-index.d.ts.map +1 -0
- package/dist/domain/session/list-index.js +26 -0
- package/dist/domain/session/list-index.js.map +1 -0
- package/dist/domain/session/steps.d.ts +7 -8
- package/dist/domain/session/steps.d.ts.map +1 -1
- package/dist/domain/session/steps.js +76 -78
- package/dist/domain/session/steps.js.map +1 -1
- package/dist/domain/workflow/registry/data/task-kind-registry.json +1 -0
- package/dist/domain/workflowexecution/controller.d.ts.map +1 -1
- package/dist/domain/workflowexecution/controller.js +53 -55
- package/dist/domain/workflowexecution/controller.js.map +1 -1
- package/dist/domain/workflowexecution/execution-filter.d.ts +4 -0
- package/dist/domain/workflowexecution/execution-filter.d.ts.map +1 -1
- package/dist/domain/workflowexecution/execution-filter.js +11 -5
- package/dist/domain/workflowexecution/execution-filter.js.map +1 -1
- package/dist/domain/workflowexecution/get-execution-summary.d.ts.map +1 -1
- package/dist/domain/workflowexecution/get-execution-summary.js +23 -17
- package/dist/domain/workflowexecution/get-execution-summary.js.map +1 -1
- package/dist/domain/workflowexecution/list-index.d.ts +2 -0
- package/dist/domain/workflowexecution/list-index.d.ts.map +1 -0
- package/dist/domain/workflowexecution/list-index.js +21 -0
- package/dist/domain/workflowexecution/list-index.js.map +1 -0
- package/dist/domain/workflowexecution/list-pending-approvals.d.ts.map +1 -1
- package/dist/domain/workflowexecution/list-pending-approvals.js +69 -32
- package/dist/domain/workflowexecution/list-pending-approvals.js.map +1 -1
- package/dist/domain/workflowexecution/queries.d.ts +30 -4
- package/dist/domain/workflowexecution/queries.d.ts.map +1 -1
- package/dist/domain/workflowexecution/queries.js +76 -22
- package/dist/domain/workflowexecution/queries.js.map +1 -1
- package/dist/extensions/drivers.d.ts +12 -0
- package/dist/extensions/drivers.d.ts.map +1 -1
- package/dist/extensions/gate-slots.d.ts +10 -1
- package/dist/extensions/gate-slots.d.ts.map +1 -1
- package/dist/extensions/gate-slots.js +1 -0
- package/dist/extensions/gate-slots.js.map +1 -1
- package/dist/extensions/list-read-scope.d.ts +9 -12
- package/dist/extensions/list-read-scope.d.ts.map +1 -1
- package/dist/extensions/list-read-scope.js.map +1 -1
- package/dist/extensions/principal-display.d.ts +34 -0
- package/dist/extensions/principal-display.d.ts.map +1 -0
- package/dist/extensions/principal-display.js +2 -0
- package/dist/extensions/principal-display.js.map +1 -0
- package/dist/extensions/registry.d.ts +6 -0
- package/dist/extensions/registry.d.ts.map +1 -1
- package/dist/extensions/registry.js +10 -0
- package/dist/extensions/registry.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/pipeline/apiresource-meta.d.ts +10 -0
- package/dist/pipeline/apiresource-meta.d.ts.map +1 -1
- package/dist/pipeline/apiresource-meta.js +16 -0
- package/dist/pipeline/apiresource-meta.js.map +1 -1
- package/dist/pipeline/steps/list-page.d.ts +63 -0
- package/dist/pipeline/steps/list-page.d.ts.map +1 -0
- package/dist/pipeline/steps/list-page.js +187 -0
- package/dist/pipeline/steps/list-page.js.map +1 -0
- package/dist/query/activity/handler.d.ts +6 -7
- package/dist/query/activity/handler.d.ts.map +1 -1
- package/dist/query/activity/handler.js +42 -59
- package/dist/query/activity/handler.js.map +1 -1
- package/dist/store/interface.d.ts +29 -0
- package/dist/store/interface.d.ts.map +1 -1
- package/dist/store/interface.js.map +1 -1
- package/dist/store/list-index.d.ts +123 -0
- package/dist/store/list-index.d.ts.map +1 -0
- package/dist/store/list-index.js +277 -0
- package/dist/store/list-index.js.map +1 -0
- package/dist/store/logger.d.ts +3 -0
- package/dist/store/logger.d.ts.map +1 -1
- package/dist/store/logger.js +5 -1
- package/dist/store/logger.js.map +1 -1
- package/dist/store/postgres/migrations.d.ts +10 -6
- package/dist/store/postgres/migrations.d.ts.map +1 -1
- package/dist/store/postgres/migrations.js +64 -6
- package/dist/store/postgres/migrations.js.map +1 -1
- package/dist/store/postgres/store.d.ts +26 -5
- package/dist/store/postgres/store.d.ts.map +1 -1
- package/dist/store/postgres/store.js +377 -22
- package/dist/store/postgres/store.js.map +1 -1
- package/dist/store/sqlite/migrations.d.ts +11 -5
- package/dist/store/sqlite/migrations.d.ts.map +1 -1
- package/dist/store/sqlite/migrations.js +50 -4
- package/dist/store/sqlite/migrations.js.map +1 -1
- package/dist/store/sqlite/store.d.ts +18 -3
- package/dist/store/sqlite/store.d.ts.map +1 -1
- package/dist/store/sqlite/store.js +321 -15
- package/dist/store/sqlite/store.js.map +1 -1
- package/package.json +6 -6
- package/src/authorization/__tests__/drivers.ts +6 -1
- package/src/authorization/__tests__/evaluator.test.ts +127 -2
- package/src/authorization/evaluator.ts +12 -1
- package/src/authorization/model/__tests__/registry.test.ts +64 -2
- package/src/authorization/model/agent.ts +4 -1
- package/src/authorization/model/agent_channel.ts +11 -3
- package/src/authorization/model/agent_instance.ts +3 -1
- package/src/authorization/model/mcp_server.ts +3 -1
- package/src/authorization/model/organization.ts +3 -0
- package/src/authorization/model/plugin.ts +4 -1
- package/src/authorization/model/rewrite.ts +65 -8
- package/src/authorization/model/schedule.ts +11 -2
- package/src/authorization/model/skill.ts +3 -1
- package/src/authorization/model/workflow.ts +3 -1
- package/src/authorization/model/workflow_execution.ts +4 -2
- package/src/authorization/model/workflow_instance.ts +5 -0
- package/src/boot/__tests__/list-indexes.test.ts +65 -0
- package/src/boot/compose.ts +25 -13
- package/src/boot/list-indexes.ts +25 -0
- package/src/domain/agentexecution/__tests__/agentexecution.test.ts +85 -3
- package/src/domain/agentexecution/controller.ts +8 -10
- package/src/domain/agentexecution/list-index.ts +24 -0
- package/src/domain/agentexecution/steps.ts +118 -115
- package/src/domain/agentexecution/usage.ts +38 -17
- package/src/domain/artifact/controller.ts +28 -18
- package/src/domain/artifact/list-index.ts +22 -0
- package/src/domain/iampolicy/__tests__/access-lists.test.ts +120 -6
- package/src/domain/iampolicy/__tests__/constants.test.ts +26 -4
- package/src/domain/iampolicy/__tests__/controller.test.ts +55 -1
- package/src/domain/iampolicy/__tests__/grant-path.test.ts +3 -3
- package/src/domain/iampolicy/__tests__/steps.test.ts +123 -1
- package/src/domain/iampolicy/access-lists.ts +98 -23
- package/src/domain/iampolicy/constants.ts +50 -6
- package/src/domain/iampolicy/controller.ts +30 -7
- package/src/domain/iampolicy/resource-store.ts +3 -6
- package/src/domain/iampolicy/steps.ts +89 -7
- package/src/domain/session/list-index.ts +28 -0
- package/src/domain/session/steps.ts +108 -123
- package/src/domain/workflow/registry/data/task-kind-registry.json +1 -0
- package/src/domain/workflowexecution/__tests__/list-read-scope-summaries.test.ts +155 -99
- package/src/domain/workflowexecution/__tests__/workflowexecution.test.ts +193 -31
- package/src/domain/workflowexecution/controller.ts +54 -82
- package/src/domain/workflowexecution/execution-filter.ts +20 -7
- package/src/domain/workflowexecution/get-execution-summary.ts +31 -24
- package/src/domain/workflowexecution/list-index.ts +22 -0
- package/src/domain/workflowexecution/list-pending-approvals.ts +82 -25
- package/src/domain/workflowexecution/queries.ts +134 -23
- package/src/extensions/__tests__/iam-policy-points.test.ts +30 -0
- package/src/extensions/__tests__/registry.test.ts +3 -0
- package/src/extensions/drivers.ts +12 -0
- package/src/extensions/gate-slots.ts +10 -0
- package/src/extensions/list-read-scope.ts +9 -12
- package/src/extensions/principal-display.ts +37 -0
- package/src/extensions/registry.ts +19 -0
- package/src/index.ts +19 -1
- package/src/pipeline/apiresource-meta.ts +21 -0
- package/src/pipeline/steps/__tests__/list-page.test.ts +186 -0
- package/src/pipeline/steps/list-page.ts +284 -0
- package/src/query/activity/handler.ts +57 -78
- package/src/store/README.md +51 -32
- package/src/store/__tests__/list-index.measure.test.ts +293 -0
- package/src/store/__tests__/list-index.test.ts +328 -0
- package/src/store/__tests__/store-contract.ts +346 -3
- package/src/store/interface.ts +39 -0
- package/src/store/list-index.ts +465 -0
- package/src/store/logger.ts +8 -1
- package/src/store/postgres/__tests__/list-index-repair.test.ts +133 -0
- package/src/store/postgres/__tests__/migrations.test.ts +27 -19
- package/src/store/postgres/__tests__/store-contract.test.ts +50 -3
- package/src/store/postgres/migrations.ts +69 -7
- package/src/store/postgres/store.ts +485 -29
- package/src/store/sqlite/__tests__/migrations.test.ts +51 -7
- package/src/store/sqlite/__tests__/store-contract.test.ts +70 -16
- package/src/store/sqlite/__tests__/support.ts +12 -3
- package/src/store/sqlite/migrations.ts +57 -6
- package/src/store/sqlite/store.ts +462 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/domain/artifact/controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/domain/artifact/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-index.d.ts","sourceRoot":"","sources":["../../../src/domain/artifact/list-index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,iBAAiB,oGAQ5B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The artifact list index (store/list-index.ts): an artifact names the
|
|
3
|
+
* execution that produced it, agent or workflow, and
|
|
4
|
+
* `listByExecution` reads the one the request names.
|
|
5
|
+
*
|
|
6
|
+
* A change to `keys` bumps `revision` (boot/__tests__/list-indexes.test.ts
|
|
7
|
+
* pins the pair).
|
|
8
|
+
*/
|
|
9
|
+
import { ArtifactSchema } from "@stigmer/protos/ai/stigmer/agentic/artifact/v1/api_pb";
|
|
10
|
+
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
11
|
+
import { declareListIndex, field } from "../../store/list-index.js";
|
|
12
|
+
export const artifactListIndex = declareListIndex({
|
|
13
|
+
kind: ApiResourceKind.artifact,
|
|
14
|
+
schema: ArtifactSchema,
|
|
15
|
+
revision: 1,
|
|
16
|
+
keys: {
|
|
17
|
+
agent_execution: field("spec.source.agent_execution_id"),
|
|
18
|
+
workflow_execution: field("spec.source.workflow_execution_id"),
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=list-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-index.js","sourceRoot":"","sources":["../../../src/domain/artifact/list-index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AAEtH,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;IAChD,IAAI,EAAE,eAAe,CAAC,QAAQ;IAC9B,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE;QACJ,eAAe,EAAE,KAAK,CAAC,gCAAgC,CAAC;QACxD,kBAAkB,EAAE,KAAK,CAAC,mCAAmC,CAAC;KAC/D;CACF,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ApiResourceRefView, PrincipalAccess } from "@stigmer/protos/ai/stigmer/iam/iampolicy/v1/io_pb";
|
|
2
|
+
import type { PrincipalDisplay } from "../../extensions/principal-display.js";
|
|
2
3
|
import type { IamPolicyStore } from "./store.js";
|
|
3
4
|
export interface HierarchyLevel {
|
|
4
5
|
readonly kind: string;
|
|
@@ -20,8 +21,9 @@ export interface PrincipalDisplayResolver {
|
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
23
|
* Groups assignable-role policies by principal in first-seen order (the
|
|
23
|
-
* Java LinkedHashMap contract), enriched where the resolver
|
|
24
|
-
* the
|
|
24
|
+
* Java LinkedHashMap contract), enriched where the resolver (people) or
|
|
25
|
+
* the composed principal display (every other kind) answers, and the Java
|
|
26
|
+
* fallback shape (name = id) everywhere else.
|
|
25
27
|
*/
|
|
26
|
-
export declare function buildPrincipalAccessList(policies: IamPolicyStore, displayResolver: PrincipalDisplayResolver, hierarchy: ReadonlyArray<HierarchyLevel>): Promise<ReadonlyArray<PrincipalAccess>>;
|
|
28
|
+
export declare function buildPrincipalAccessList(policies: IamPolicyStore, displayResolver: PrincipalDisplayResolver, principalDisplay: PrincipalDisplay | undefined, hierarchy: ReadonlyArray<HierarchyLevel>): Promise<ReadonlyArray<PrincipalAccess>>;
|
|
27
29
|
//# sourceMappingURL=access-lists.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-lists.d.ts","sourceRoot":"","sources":["../../../src/domain/iampolicy/access-lists.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"access-lists.d.ts","sourceRoot":"","sources":["../../../src/domain/iampolicy/access-lists.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EAEhB,MAAM,mDAAmD,CAAC;AAQ3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAM9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQjD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAsBxC;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,uBAAuB,CACrB,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;CACrD;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,cAAc,EACxB,eAAe,EAAE,wBAAwB,EACzC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,EAC9C,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,GACvC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAmEzC"}
|
|
@@ -17,16 +17,24 @@
|
|
|
17
17
|
*
|
|
18
18
|
* Display enrichment is a seam (`PrincipalDisplayResolver`) because the
|
|
19
19
|
* data lives in the identity-account domain; display-resolver.ts fills it
|
|
20
|
-
* over that domain's PORT. A
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
20
|
+
* over that domain's PORT. A grantee of any other kind (a team) is named by
|
|
21
|
+
* the edition's `drivers.principalDisplay` when one is composed
|
|
22
|
+
* (extensions/principal-display.ts). A principal nobody answers for — no
|
|
23
|
+
* driver, or an account or team whose row is gone — renders as kind/id
|
|
24
|
+
* with the id standing in as the display name, the Java `enrich()`
|
|
25
|
+
* fallback shape.
|
|
26
|
+
*
|
|
27
|
+
* Every entry names its grantee exactly as the rows hold it: kind, id AND
|
|
28
|
+
* the relation qualifier (`team:<id>#member`), and entries group by all
|
|
29
|
+
* three. A revoke matches the qualifier exactly (grant-path.ts
|
|
30
|
+
* `findByTriple`), so a list that dropped it would hand the console a
|
|
31
|
+
* grantee whose revoke finds no row and succeeds having deleted nothing.
|
|
24
32
|
*/
|
|
25
|
-
import { create } from "@bufbuild/protobuf";
|
|
33
|
+
import { clone, create } from "@bufbuild/protobuf";
|
|
26
34
|
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
27
35
|
import { ApiResourceRefViewSchema, PrincipalAccessSchema, RoleGrantSchema, } from "@stigmer/protos/ai/stigmer/iam/iampolicy/v1/io_pb";
|
|
28
36
|
import { ApiResourceRefSchema } from "@stigmer/protos/ai/stigmer/iam/iampolicy/v1/spec_pb";
|
|
29
|
-
import { kindEnumName } from "../../pipeline/apiresource-meta.js";
|
|
37
|
+
import { kindByEnumName, kindEnumName, } from "../../pipeline/apiresource-meta.js";
|
|
30
38
|
import { assignableRelations, roleInfoFromRelation } from "./roles.js";
|
|
31
39
|
/** The Java resolver's bounds: ≤5 steps, platform terminates the walk. */
|
|
32
40
|
const MAX_HIERARCHY_DEPTH = 5;
|
|
@@ -59,10 +67,11 @@ export async function resolveHierarchy(policies, resourceKind, resourceId, inclu
|
|
|
59
67
|
}
|
|
60
68
|
/**
|
|
61
69
|
* Groups assignable-role policies by principal in first-seen order (the
|
|
62
|
-
* Java LinkedHashMap contract), enriched where the resolver
|
|
63
|
-
* the
|
|
70
|
+
* Java LinkedHashMap contract), enriched where the resolver (people) or
|
|
71
|
+
* the composed principal display (every other kind) answers, and the Java
|
|
72
|
+
* fallback shape (name = id) everywhere else.
|
|
64
73
|
*/
|
|
65
|
-
export async function buildPrincipalAccessList(policies, displayResolver, hierarchy) {
|
|
74
|
+
export async function buildPrincipalAccessList(policies, displayResolver, principalDisplay, hierarchy) {
|
|
66
75
|
const grants = [];
|
|
67
76
|
for (const [index, level] of hierarchy.entries()) {
|
|
68
77
|
const rows = await policies.findByResourceWithRelations(level.kind, level.id, assignableRelations());
|
|
@@ -73,29 +82,28 @@ export async function buildPrincipalAccessList(policies, displayResolver, hierar
|
|
|
73
82
|
if (grants.length === 0) {
|
|
74
83
|
return [];
|
|
75
84
|
}
|
|
76
|
-
const
|
|
77
|
-
const accountIds = grants
|
|
78
|
-
.filter((g) => g.policy.spec?.principal?.kind === accountKind)
|
|
79
|
-
.map((g) => g.policy.spec?.principal?.id ?? "");
|
|
80
|
-
const enriched = await displayResolver.resolveIdentityAccounts(accountIds);
|
|
85
|
+
const enriched = await resolvePrincipalViews(grants.map((g) => g.policy), displayResolver, principalDisplay);
|
|
81
86
|
const grouped = new Map();
|
|
82
87
|
for (const grant of grants) {
|
|
83
88
|
const principal = grant.policy.spec?.principal;
|
|
84
89
|
if (principal === undefined) {
|
|
85
90
|
continue;
|
|
86
91
|
}
|
|
87
|
-
const key = `${principal.kind}:${principal.id}`;
|
|
92
|
+
const key = `${principal.kind}:${principal.id}#${principal.relation}`;
|
|
88
93
|
let entry = grouped.get(key);
|
|
89
94
|
if (entry === undefined) {
|
|
95
|
+
const view = enriched.get(`${principal.kind}:${principal.id}`);
|
|
90
96
|
entry = {
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
|
|
97
|
+
// A resolved view is shared by every qualifier of one grantee, so
|
|
98
|
+
// each entry stamps its own copy. The Java enrich() fallback shape
|
|
99
|
+
// for unresolved principals of ANY kind: kind/id with the id
|
|
100
|
+
// standing in as the display name.
|
|
101
|
+
principal: withRelation(view ??
|
|
94
102
|
create(ApiResourceRefViewSchema, {
|
|
95
103
|
kind: principal.kind,
|
|
96
104
|
id: principal.id,
|
|
97
105
|
name: principal.id,
|
|
98
|
-
}),
|
|
106
|
+
}), principal.relation),
|
|
99
107
|
roles: [],
|
|
100
108
|
};
|
|
101
109
|
grouped.set(key, entry);
|
|
@@ -107,6 +115,51 @@ export async function buildPrincipalAccessList(policies, displayResolver, hierar
|
|
|
107
115
|
roles: entry.roles,
|
|
108
116
|
}));
|
|
109
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* The display views of every distinct principal the rows name, keyed
|
|
120
|
+
* `kind:id` (the grouping key, so two kinds can never share an id's view):
|
|
121
|
+
* people through the identity-account resolver, every other kind the
|
|
122
|
+
* edition's principal display knows through it, one call per kind. A kind
|
|
123
|
+
* string that names no kind (a legacy row) and every kind with no display
|
|
124
|
+
* are simply absent, so the caller's fallback shape names them.
|
|
125
|
+
*/
|
|
126
|
+
async function resolvePrincipalViews(rows, displayResolver, principalDisplay) {
|
|
127
|
+
const accountKind = kindEnumName(ApiResourceKind.identity_account);
|
|
128
|
+
const idsByKind = new Map();
|
|
129
|
+
for (const row of rows) {
|
|
130
|
+
const principal = row.spec?.principal;
|
|
131
|
+
if (principal === undefined) {
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
const ids = idsByKind.get(principal.kind) ?? new Set();
|
|
135
|
+
ids.add(principal.id);
|
|
136
|
+
idsByKind.set(principal.kind, ids);
|
|
137
|
+
}
|
|
138
|
+
const views = new Map();
|
|
139
|
+
for (const [kindName, ids] of idsByKind) {
|
|
140
|
+
let resolved;
|
|
141
|
+
if (kindName === accountKind) {
|
|
142
|
+
resolved = await displayResolver.resolveIdentityAccounts([...ids]);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
const kind = kindByEnumName(kindName);
|
|
146
|
+
if (principalDisplay === undefined ||
|
|
147
|
+
kind === ApiResourceKind.api_resource_kind_unknown) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
resolved = await principalDisplay.resolve(kind, [...ids]);
|
|
151
|
+
}
|
|
152
|
+
for (const [id, view] of resolved) {
|
|
153
|
+
views.set(`${kindName}:${id}`, view);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return views;
|
|
157
|
+
}
|
|
158
|
+
function withRelation(view, relation) {
|
|
159
|
+
const stamped = clone(ApiResourceRefViewSchema, view);
|
|
160
|
+
stamped.relation = relation;
|
|
161
|
+
return stamped;
|
|
162
|
+
}
|
|
110
163
|
function buildGrant(policy, isInherited, level) {
|
|
111
164
|
return create(RoleGrantSchema, {
|
|
112
165
|
role: roleInfoFromRelation(policy.spec?.relation ?? ""),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-lists.js","sourceRoot":"","sources":["../../../src/domain/iampolicy/access-lists.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"access-lists.js","sourceRoot":"","sources":["../../../src/domain/iampolicy/access-lists.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,9 @@
|
|
|
36
36
|
* console and SDK show these sentences verbatim, so they are contract. The
|
|
37
37
|
* new sentences are the two edition refusals (the federation shape), the
|
|
38
38
|
* unknown permission, the unknown principal kind (the resource sentence's
|
|
39
|
-
* shape) and the
|
|
39
|
+
* shape), the malformed triple, and the four principal refusals a team
|
|
40
|
+
* grantee brought (a person's qualifier, a team's qualifier, a kind no
|
|
41
|
+
* team may be granted, a role a team may not hold).
|
|
40
42
|
*/
|
|
41
43
|
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
42
44
|
import type { IamPolicySpec } from "@stigmer/protos/ai/stigmer/iam/iampolicy/v1/spec_pb";
|
|
@@ -92,8 +94,8 @@ export declare const ROLES_RECONCILED_KEY = "membership_rules_reconciled";
|
|
|
92
94
|
/**
|
|
93
95
|
* The principal kinds a PERSON may grant a role to — the user `create`
|
|
94
96
|
* lane's grantee vocabulary (2026-09-14, session 9 ruling Q-S9-2; the
|
|
95
|
-
* security read's finding 41)
|
|
96
|
-
*
|
|
97
|
+
* security read's finding 41): a person (the identity account) and a team
|
|
98
|
+
* of people. A row whose principal is a RESOURCE
|
|
97
99
|
* (`organization:A#organization@platform_client:X`, `#managed_org`) is a
|
|
98
100
|
* structural link, and structural links are `bootstrapPolicy`'s — the
|
|
99
101
|
* platform's own lane, which skips role validation by design.
|
|
@@ -104,11 +106,22 @@ export declare const ROLES_RECONCILED_KEY = "membership_rules_reconciled";
|
|
|
104
106
|
* two cannot drift), and the hierarchy walk follows it. Without the arm, a
|
|
105
107
|
* person with `can_grant_access` on organization B could write
|
|
106
108
|
* `organization:A#member@organization:B` and B's Members page, asked for
|
|
107
|
-
* inherited access, would list A's people.
|
|
108
|
-
*
|
|
109
|
-
*
|
|
109
|
+
* inherited access, would list A's people.
|
|
110
|
+
*
|
|
111
|
+
* Each kind grants through its own list: a person the kind's
|
|
112
|
+
* `grantable_roles`, a team its `team_grantable_roles`, always as the
|
|
113
|
+
* team's members (`TEAM_MEMBERS_RELATION`). A kind that lists no team role
|
|
114
|
+
* — `organization` among them, so open source's organization-only scope —
|
|
115
|
+
* grants a team nothing.
|
|
110
116
|
*/
|
|
111
117
|
export declare const USER_GRANT_PRINCIPAL_KINDS: ReadonlyArray<ApiResourceKind>;
|
|
118
|
+
/**
|
|
119
|
+
* The one relation a team principal names: the team's members. A grant to
|
|
120
|
+
* `team:<id>#member` is a grant to every member, and membership is bounded
|
|
121
|
+
* by organization membership in the model, so leaving the organization
|
|
122
|
+
* ends the grant with no cleanup.
|
|
123
|
+
*/
|
|
124
|
+
export declare const TEAM_MEMBERS_RELATION = "member";
|
|
112
125
|
/** get on a missing policy (NOT_FOUND). */
|
|
113
126
|
export declare function policyNotFoundMessage(id: string): string;
|
|
114
127
|
/** A grant on a kind whose kind_meta lists no grantable roles (INVALID_ARGUMENT, every edition). */
|
|
@@ -141,6 +154,19 @@ export declare function unknownPrincipalKindMessage(kind: string): string;
|
|
|
141
154
|
* in the role sentence's shape: the offending kind, then the vocabulary.
|
|
142
155
|
*/
|
|
143
156
|
export declare function principalNotGrantableMessage(kind: string): string;
|
|
157
|
+
/**
|
|
158
|
+
* A person principal carrying a relation qualifier (INVALID_ARGUMENT). A
|
|
159
|
+
* person is granted a role directly; `identity_account:<id>#<relation>`
|
|
160
|
+
* names no one, and OpenFGA would refuse the tuple after the row was
|
|
161
|
+
* written.
|
|
162
|
+
*/
|
|
163
|
+
export declare function personQualifierMessage(relation: string): string;
|
|
164
|
+
/** A team principal naming a relation other than its members (INVALID_ARGUMENT). */
|
|
165
|
+
export declare function teamQualifierMessage(relation: string): string;
|
|
166
|
+
/** A team grant on a kind that lists no team role (INVALID_ARGUMENT). */
|
|
167
|
+
export declare function teamNotGrantableMessage(kind: string): string;
|
|
168
|
+
/** A team grant of a role the kind does not let a team hold (INVALID_ARGUMENT); the list in kind_meta order. */
|
|
169
|
+
export declare function teamRoleNotGrantableMessage(role: string, kind: string, grantable: ReadonlyArray<string>): string;
|
|
144
170
|
/** A triple field holding a canonical-text delimiter (INVALID_ARGUMENT; Q-S2-1). */
|
|
145
171
|
export declare function malformedTripleMessage(field: string): string;
|
|
146
172
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/domain/iampolicy/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/domain/iampolicy/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AACtH,OAAO,KAAK,EAEV,aAAa,EACd,MAAM,qDAAqD,CAAC;AAK7D,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAC1D,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAmB,CAAC;AAoBxE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAG/D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAe5E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAOvD;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,eAAe,CAO1D,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,eAAe,CAGrE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAM9C,2CAA2C;AAC3C,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,oGAAoG;AACpG,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,+FAA+F;AAC/F,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,GAC/B,MAAM,CAER;AAED,yEAAyE;AACzE,eAAO,MAAM,+BAA+B,iDACI,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/D;AAMD;;;;GAIG;AACH,eAAO,MAAM,yCAAyC,+EACwB,CAAC;AAE/E,mGAAmG;AACnG,eAAO,MAAM,2CAA2C,0EACiB,CAAC;AAE1E,0FAA0F;AAC1F,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,4FAA4F;AAC5F,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,yEAAyE;AACzE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,gHAAgH;AAChH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,GAC/B,MAAM,CAER;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D"}
|
|
@@ -36,7 +36,9 @@
|
|
|
36
36
|
* console and SDK show these sentences verbatim, so they are contract. The
|
|
37
37
|
* new sentences are the two edition refusals (the federation shape), the
|
|
38
38
|
* unknown permission, the unknown principal kind (the resource sentence's
|
|
39
|
-
* shape) and the
|
|
39
|
+
* shape), the malformed triple, and the four principal refusals a team
|
|
40
|
+
* grantee brought (a person's qualifier, a team's qualifier, a kind no
|
|
41
|
+
* team may be granted, a role a team may not hold).
|
|
40
42
|
*/
|
|
41
43
|
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
42
44
|
import { kindEnumName } from "../../pipeline/apiresource-meta.js";
|
|
@@ -135,8 +137,8 @@ export const ROLES_RECONCILED_KEY = "membership_rules_reconciled";
|
|
|
135
137
|
/**
|
|
136
138
|
* The principal kinds a PERSON may grant a role to — the user `create`
|
|
137
139
|
* lane's grantee vocabulary (2026-09-14, session 9 ruling Q-S9-2; the
|
|
138
|
-
* security read's finding 41)
|
|
139
|
-
*
|
|
140
|
+
* security read's finding 41): a person (the identity account) and a team
|
|
141
|
+
* of people. A row whose principal is a RESOURCE
|
|
140
142
|
* (`organization:A#organization@platform_client:X`, `#managed_org`) is a
|
|
141
143
|
* structural link, and structural links are `bootstrapPolicy`'s — the
|
|
142
144
|
* platform's own lane, which skips role validation by design.
|
|
@@ -147,13 +149,25 @@ export const ROLES_RECONCILED_KEY = "membership_rules_reconciled";
|
|
|
147
149
|
* two cannot drift), and the hierarchy walk follows it. Without the arm, a
|
|
148
150
|
* person with `can_grant_access` on organization B could write
|
|
149
151
|
* `organization:A#member@organization:B` and B's Members page, asked for
|
|
150
|
-
* inherited access, would list A's people.
|
|
151
|
-
*
|
|
152
|
-
*
|
|
152
|
+
* inherited access, would list A's people.
|
|
153
|
+
*
|
|
154
|
+
* Each kind grants through its own list: a person the kind's
|
|
155
|
+
* `grantable_roles`, a team its `team_grantable_roles`, always as the
|
|
156
|
+
* team's members (`TEAM_MEMBERS_RELATION`). A kind that lists no team role
|
|
157
|
+
* — `organization` among them, so open source's organization-only scope —
|
|
158
|
+
* grants a team nothing.
|
|
153
159
|
*/
|
|
154
160
|
export const USER_GRANT_PRINCIPAL_KINDS = [
|
|
155
161
|
ApiResourceKind.identity_account,
|
|
162
|
+
ApiResourceKind.team,
|
|
156
163
|
];
|
|
164
|
+
/**
|
|
165
|
+
* The one relation a team principal names: the team's members. A grant to
|
|
166
|
+
* `team:<id>#member` is a grant to every member, and membership is bounded
|
|
167
|
+
* by organization membership in the model, so leaving the organization
|
|
168
|
+
* ends the grant with no cleanup.
|
|
169
|
+
*/
|
|
170
|
+
export const TEAM_MEMBERS_RELATION = "member";
|
|
157
171
|
// ---------------------------------------------------------------------------
|
|
158
172
|
// Byte-pinned copy (the cloud handlers' sentences, moved as-is).
|
|
159
173
|
// ---------------------------------------------------------------------------
|
|
@@ -207,6 +221,27 @@ export function principalNotGrantableMessage(kind) {
|
|
|
207
221
|
const grantable = USER_GRANT_PRINCIPAL_KINDS.map((k) => kindEnumName(k));
|
|
208
222
|
return `Principal kind '${kind}' cannot be granted a role. Grantable principal kinds: [${grantable.join(", ")}]`;
|
|
209
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* A person principal carrying a relation qualifier (INVALID_ARGUMENT). A
|
|
226
|
+
* person is granted a role directly; `identity_account:<id>#<relation>`
|
|
227
|
+
* names no one, and OpenFGA would refuse the tuple after the row was
|
|
228
|
+
* written.
|
|
229
|
+
*/
|
|
230
|
+
export function personQualifierMessage(relation) {
|
|
231
|
+
return `Principal kind 'identity_account' takes no relation; got '${relation}'`;
|
|
232
|
+
}
|
|
233
|
+
/** A team principal naming a relation other than its members (INVALID_ARGUMENT). */
|
|
234
|
+
export function teamQualifierMessage(relation) {
|
|
235
|
+
return `A team principal must name the relation '${TEAM_MEMBERS_RELATION}' (the team's members); got '${relation}'`;
|
|
236
|
+
}
|
|
237
|
+
/** A team grant on a kind that lists no team role (INVALID_ARGUMENT). */
|
|
238
|
+
export function teamNotGrantableMessage(kind) {
|
|
239
|
+
return `A team cannot be granted access to resource kind '${kind}'.`;
|
|
240
|
+
}
|
|
241
|
+
/** A team grant of a role the kind does not let a team hold (INVALID_ARGUMENT); the list in kind_meta order. */
|
|
242
|
+
export function teamRoleNotGrantableMessage(role, kind, grantable) {
|
|
243
|
+
return `Role '${role}' cannot be granted to a team on resource kind '${kind}'. Roles a team can hold: [${grantable.join(", ")}]`;
|
|
244
|
+
}
|
|
210
245
|
/** A triple field holding a canonical-text delimiter (INVALID_ARGUMENT; Q-S2-1). */
|
|
211
246
|
export function malformedTripleMessage(field) {
|
|
212
247
|
return `policy ${field} must not contain ':', '#' or '@'`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/domain/iampolicy/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/domain/iampolicy/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,9 @@ import type { ServerEdition } from "@stigmer/protos/ai/stigmer/platform/v1/serve
|
|
|
3
3
|
import type { Logger } from "../../boot/logger.js";
|
|
4
4
|
import type { AuthorizationQueryEngine } from "../../extensions/authorization-queries.js";
|
|
5
5
|
import type { Authorizer } from "../../extensions/authorizer.js";
|
|
6
|
+
import type { ResolvedGateSteps } from "../../extensions/gate-slots.js";
|
|
6
7
|
import type { PolicyGrantScope } from "../../extensions/policy-grant-scope.js";
|
|
8
|
+
import type { PrincipalDisplay } from "../../extensions/principal-display.js";
|
|
7
9
|
import type { AccountsByCaller } from "../identityaccount/resolve.js";
|
|
8
10
|
import type { AccountsByIds } from "./display-resolver.js";
|
|
9
11
|
import type { IamPolicyGrantPath } from "./grant-path.js";
|
|
@@ -20,6 +22,10 @@ export interface IamPolicyControllerDeps {
|
|
|
20
22
|
readonly grantScope: PolicyGrantScope;
|
|
21
23
|
/** The composed query engine — undefined = the tuple-half RPCs refuse UNIMPLEMENTED. */
|
|
22
24
|
readonly queries: AuthorizationQueryEngine | undefined;
|
|
25
|
+
/** The composed principal display — undefined = a non-person grantee renders in the id fallback shape. */
|
|
26
|
+
readonly principalDisplay: PrincipalDisplay | undefined;
|
|
27
|
+
/** The merged gate steps; `create` splices `iam-policy-create:pre-side-effect-gate`. */
|
|
28
|
+
readonly gateSteps: ResolvedGateSteps;
|
|
23
29
|
/** The served edition — `checkMyPermission`'s first arm reads a kind's tier against it. */
|
|
24
30
|
readonly edition: ServerEdition;
|
|
25
31
|
readonly logger: Logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/domain/iampolicy/controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/domain/iampolicy/controller.ts"],"names":[],"mappings":"AAkGA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAqCzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAC;AAE3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAmB9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAStE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAe1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAcjD,iHAAiH;AACjH,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,4GAA4G;IAC5G,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,sHAAsH;IACtH,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACvD,0GAA0G;IAC1G,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxD,wFAAwF;IACxF,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,sEAAsE;AACtE,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,uBAAuB,GAC5B,IAAI,CA0CN"}
|
|
@@ -31,9 +31,11 @@
|
|
|
31
31
|
* triple — strictly safer than the cloud's silent default instance.
|
|
32
32
|
* - `create` validates the role BEFORE it writes (the cloud's order): a
|
|
33
33
|
* held row under a role the kind does not grant is refused, never
|
|
34
|
-
* answered as a duplicate. It also grants to PEOPLE only
|
|
35
|
-
* 2026-09-14):
|
|
36
|
-
*
|
|
34
|
+
* answered as a duplicate. It also grants to PEOPLE and TEAMS only
|
|
35
|
+
* (Q-S9-2, 2026-09-14): any other principal is INVALID_ARGUMENT, and a
|
|
36
|
+
* team only on the roles its kind lets a team hold (steps.ts) and,
|
|
37
|
+
* where an edition serves teams, only a team the create gate slot
|
|
38
|
+
* admits — a row naming a resource as its principal is the
|
|
37
39
|
* structural link the hierarchy walk follows, `bootstrapPolicy`'s to
|
|
38
40
|
* write, and through this lane would have let a right on one
|
|
39
41
|
* organization list another's members. The cloud's create had the
|
|
@@ -99,6 +101,7 @@ import { AuthorizedPrincipalIdsListSchema, AuthorizedResourceIdsListSchema, Chec
|
|
|
99
101
|
import { IamPolicyQueryController } from "@stigmer/protos/ai/stigmer/iam/iampolicy/v1/query_pb";
|
|
100
102
|
import { ApiResourceRefSchema, IamPolicySpecSchema, } from "@stigmer/protos/ai/stigmer/iam/iampolicy/v1/spec_pb";
|
|
101
103
|
import { IamPermission } from "@stigmer/protos/ai/stigmer/iam/v1/enum_pb";
|
|
104
|
+
import { stepsForSlot } from "../../extensions/gate-slots.js";
|
|
102
105
|
import { isPlatformPipelineCaller } from "../../extensions/identity.js";
|
|
103
106
|
import { kindByEnumName, kindEnumName, kindServedByEdition, } from "../../pipeline/apiresource-meta.js";
|
|
104
107
|
import { internalError } from "../../pipeline/errors.js";
|
|
@@ -170,15 +173,18 @@ function guardSystemRpc(method, caller) {
|
|
|
170
173
|
// ---------------------------------------------------------------------------
|
|
171
174
|
// The command chains
|
|
172
175
|
// ---------------------------------------------------------------------------
|
|
173
|
-
/**
|
|
176
|
+
/**
|
|
177
|
+
* `create`: the wire refusal, then Authorize → ValidateProto →
|
|
178
|
+
* ValidateGrantableRole → [iam-policy-create:pre-side-effect-gate] → Grant.
|
|
179
|
+
*/
|
|
174
180
|
function createPolicy(deps, spec, ctx) {
|
|
175
181
|
requireWellFormedTriple(spec);
|
|
176
182
|
return grantThroughChain(deps, IamPolicyCommandController.method.create, spec, ctx, true);
|
|
177
183
|
}
|
|
178
184
|
/**
|
|
179
185
|
* The grant chain both `create` and `bootstrapPolicy` run; only the user
|
|
180
|
-
* lane validates the role — bootstrap writes
|
|
181
|
-
* scope would admit.
|
|
186
|
+
* lane validates the role and runs the create gate slot — bootstrap writes
|
|
187
|
+
* structural relations no scope would admit and no edition gates.
|
|
182
188
|
*/
|
|
183
189
|
async function grantThroughChain(deps, method, spec, ctx, validateRole) {
|
|
184
190
|
const reqCtx = new RequestContext(IamPolicySpecSchema, spec, callerIdentityOf(ctx), kindOf(ctx));
|
|
@@ -187,6 +193,9 @@ async function grantThroughChain(deps, method, spec, ctx, validateRole) {
|
|
|
187
193
|
.addStep(newValidateProtoStep());
|
|
188
194
|
if (validateRole) {
|
|
189
195
|
pipeline.addStep(newValidateGrantableRoleStep(deps.grantScope));
|
|
196
|
+
for (const step of stepsForSlot(deps.gateSteps, "iam-policy-create:pre-side-effect-gate")) {
|
|
197
|
+
pipeline.addStep(step);
|
|
198
|
+
}
|
|
190
199
|
}
|
|
191
200
|
await pipeline.addStep(newGrantStep(deps.grantPath)).build().execute(reqCtx);
|
|
192
201
|
return policyResultOf(reqCtx, method);
|
|
@@ -340,7 +349,7 @@ async function listResourceAccessByPrincipal(deps, displayResolver, input, ctx)
|
|
|
340
349
|
await authorizeDirect(IamPolicyQueryController.method.listResourceAccessByPrincipal, deps.authorizer, callerIdentityOf(ctx), input);
|
|
341
350
|
const entries = await read(async () => {
|
|
342
351
|
const hierarchy = await resolveHierarchy(deps.policies, resource.kind, resource.id, input.includeInherited);
|
|
343
|
-
return buildPrincipalAccessList(deps.policies, displayResolver, hierarchy);
|
|
352
|
+
return buildPrincipalAccessList(deps.policies, displayResolver, deps.principalDisplay, hierarchy);
|
|
344
353
|
}, "failed to list resource access");
|
|
345
354
|
return create(ResourceAccessByPrincipalListSchema, {
|
|
346
355
|
entries: [...entries],
|