@xyne/workflow-sdk 3.2.15 → 3.2.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/agent-step.d.ts.map +1 -1
- package/dist/agents/agent-step.js +3 -1
- package/dist/agents/agent-step.js.map +1 -1
- package/dist/authz/attributes.d.ts +41 -0
- package/dist/authz/attributes.d.ts.map +1 -0
- package/dist/authz/attributes.js +2 -0
- package/dist/authz/attributes.js.map +1 -0
- package/dist/authz/default.d.ts +31 -0
- package/dist/authz/default.d.ts.map +1 -0
- package/dist/authz/default.js +47 -0
- package/dist/authz/default.js.map +1 -0
- package/dist/authz/id-scope.d.ts +27 -0
- package/dist/authz/id-scope.d.ts.map +1 -0
- package/dist/authz/id-scope.js +24 -0
- package/dist/authz/id-scope.js.map +1 -0
- package/dist/authz/principal-field.d.ts +23 -0
- package/dist/authz/principal-field.d.ts.map +1 -0
- package/dist/authz/principal-field.js +34 -0
- package/dist/authz/principal-field.js.map +1 -0
- package/dist/authz/types.d.ts +129 -0
- package/dist/authz/types.d.ts.map +1 -0
- package/dist/authz/types.js +74 -0
- package/dist/authz/types.js.map +1 -0
- package/dist/client/types.d.ts +26 -1
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/workflow-client.d.ts.map +1 -1
- package/dist/client/workflow-client.js +21 -2
- package/dist/client/workflow-client.js.map +1 -1
- package/dist/engine/workflow-executor.d.ts +1 -1
- package/dist/engine/workflow-executor.d.ts.map +1 -1
- package/dist/engine/workflow-executor.js +13 -2
- package/dist/engine/workflow-executor.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/persistence/in-memory-adapter.d.ts +40 -20
- package/dist/persistence/in-memory-adapter.d.ts.map +1 -1
- package/dist/persistence/in-memory-adapter.js +108 -38
- package/dist/persistence/in-memory-adapter.js.map +1 -1
- package/dist/persistence/types.d.ts +117 -20
- package/dist/persistence/types.d.ts.map +1 -1
- package/dist/router/types.d.ts +11 -8
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/workflow-router.d.ts +2 -2
- package/dist/router/workflow-router.d.ts.map +1 -1
- package/dist/router/workflow-router.js +179 -62
- package/dist/router/workflow-router.js.map +1 -1
- package/dist/runtime/types.d.ts +22 -2
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/workflow-runtime.d.ts +137 -43
- package/dist/runtime/workflow-runtime.d.ts.map +1 -1
- package/dist/runtime/workflow-runtime.js +288 -98
- package/dist/runtime/workflow-runtime.js.map +1 -1
- package/dist/steps/base-step.d.ts +19 -2
- package/dist/steps/base-step.d.ts.map +1 -1
- package/dist/steps/base-step.js.map +1 -1
- package/dist/storage/types.d.ts +14 -4
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/testing/authz-conformance.d.ts +90 -0
- package/dist/testing/authz-conformance.d.ts.map +1 -0
- package/dist/testing/authz-conformance.js +250 -0
- package/dist/testing/authz-conformance.js.map +1 -0
- package/dist/testing/index.d.ts +7 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +6 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/mock-context.d.ts +4 -0
- package/dist/testing/mock-context.d.ts.map +1 -1
- package/dist/testing/mock-context.js +4 -1
- package/dist/testing/mock-context.js.map +1 -1
- package/dist/testing/mock-step-context.d.ts.map +1 -1
- package/dist/testing/mock-step-context.js +1 -0
- package/dist/testing/mock-step-context.js.map +1 -1
- package/dist/types/context.d.ts +22 -3
- package/dist/types/context.d.ts.map +1 -1
- package/package.json +9 -3
- package/dist/common/principal.d.ts +0 -45
- package/dist/common/principal.d.ts.map +0 -1
- package/dist/common/principal.js +0 -9
- package/dist/common/principal.js.map +0 -1
- package/dist/steps/builtin/transform.step.d.ts +0 -247
- package/dist/steps/builtin/transform.step.d.ts.map +0 -1
- package/dist/steps/builtin/transform.step.js +0 -135
- package/dist/steps/builtin/transform.step.js.map +0 -1
- package/dist/types/attachment.d.ts +0 -23
- package/dist/types/attachment.d.ts.map +0 -1
- package/dist/types/attachment.js +0 -2
- package/dist/types/attachment.js.map +0 -1
- package/dist/types/resume-payload.d.ts +0 -34
- package/dist/types/resume-payload.d.ts.map +0 -1
- package/dist/types/resume-payload.js +0 -12
- package/dist/types/resume-payload.js.map +0 -1
- package/dist/util/executable-check.d.ts +0 -42
- package/dist/util/executable-check.d.ts.map +0 -1
- package/dist/util/executable-check.js +0 -115
- package/dist/util/executable-check.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-step.d.ts","sourceRoot":"","sources":["../../src/agents/agent-step.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAmB5D,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAgFpE,qBAAa,SAAU,SAAQ,cAAc,CAC3C,OAAO,qBAAqB,EAC5B,WAAW,CACZ;IASG,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAT/B,SAAkB,IAAI,EAAE,QAAQ,CAAe;IAC/C,SAAkB,IAAI,eAAe;IACrC,SAAkB,WAAW,qCAAqC;IAClE,SAAkB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAyB;IACvD,SAAkB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAqB;IACnD,SAAkB,QAAQ,EAAE,YAAY,CAAQ;gBAG7B,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,iBAAiB;IAKzC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA8BlF,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA8B3E,OAAO,CACpB,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,WAAW,CAAC;IA0CvB;;;;;;;OAOG;YACW,oBAAoB;IA0DnB,QAAQ,CACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,WAAW,CAAC;IAwDvB,OAAO,CAAC,YAAY;IAgCpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,UAAU;YAgBJ,aAAa;IA8H3B,OAAO,CAAC,WAAW;IAsBnB;;;;;;OAMG;IACH;;;;OAIG;IACH,OAAO,CAAC,eAAe;YA8BT,eAAe;
|
|
1
|
+
{"version":3,"file":"agent-step.d.ts","sourceRoot":"","sources":["../../src/agents/agent-step.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAmB5D,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAgFpE,qBAAa,SAAU,SAAQ,cAAc,CAC3C,OAAO,qBAAqB,EAC5B,WAAW,CACZ;IASG,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAT/B,SAAkB,IAAI,EAAE,QAAQ,CAAe;IAC/C,SAAkB,IAAI,eAAe;IACrC,SAAkB,WAAW,qCAAqC;IAClE,SAAkB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAyB;IACvD,SAAkB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAqB;IACnD,SAAkB,QAAQ,EAAE,YAAY,CAAQ;gBAG7B,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,iBAAiB;IAKzC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA8BlF,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA8B3E,OAAO,CACpB,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,WAAW,CAAC;IA0CvB;;;;;;;OAOG;YACW,oBAAoB;IA0DnB,QAAQ,CACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,WAAW,CAAC;IAwDvB,OAAO,CAAC,YAAY;IAgCpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,UAAU;YAgBJ,aAAa;IA8H3B,OAAO,CAAC,WAAW;IAsBnB;;;;;;OAMG;IACH;;;;OAIG;IACH,OAAO,CAAC,eAAe;YA8BT,eAAe;IAuE7B;;;;OAIG;IACH,OAAO,CAAC,cAAc;CAavB"}
|
|
@@ -509,7 +509,9 @@ export class AgentStep extends BaseActionStep {
|
|
|
509
509
|
async openToolRuntime(config, ctx) {
|
|
510
510
|
const collected = [];
|
|
511
511
|
const mountedFiles = [];
|
|
512
|
-
|
|
512
|
+
// The workflow's typed scope — NOT the metadata bag, which also carries
|
|
513
|
+
// `signal` / `resumePayload` / `pauseRequest` and was being cast wholesale.
|
|
514
|
+
const scope = ctx.runtime.attributes;
|
|
513
515
|
const storage = ctx.storage;
|
|
514
516
|
const addArtifact = storage
|
|
515
517
|
? async (file) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-step.js","sourceRoot":"","sources":["../../src/agents/agent-step.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-step.js","sourceRoot":"","sources":["../../src/agents/agent-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed resource attributes via declaration merging (the "Register" pattern).
|
|
3
|
+
*
|
|
4
|
+
* A product attaches its own scoping data — a folder's department, a workflow's
|
|
5
|
+
* team — to resources at creation. The framework carries and stores it
|
|
6
|
+
* **opaquely** (it never reads it); the product reads it, **typed**, in its
|
|
7
|
+
* authorizer and UI.
|
|
8
|
+
*
|
|
9
|
+
* To type it, augment `Register` once, anywhere in the app:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* declare module '@xyne/workflow-sdk' {
|
|
13
|
+
* interface Register {
|
|
14
|
+
* attributes: {
|
|
15
|
+
* folder: { department: string };
|
|
16
|
+
* workflow: { team: string };
|
|
17
|
+
* };
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* Every touchpoint — create inputs, the stored record, the authorizer's
|
|
23
|
+
* `ref.record.attributes`, the client, and the UI attribute-field slots — then
|
|
24
|
+
* resolves to your shape from that single declaration, with **no generics**
|
|
25
|
+
* threaded through the framework's signatures. Un-augmented, attributes are
|
|
26
|
+
* `unknown`, so nothing changes until a product opts in.
|
|
27
|
+
*
|
|
28
|
+
* This mirrors how TanStack Router (`Register`) and Express (`Request`
|
|
29
|
+
* augmentation) let consumers extend framework types without generics.
|
|
30
|
+
*/
|
|
31
|
+
export interface Register {
|
|
32
|
+
}
|
|
33
|
+
type ResolvedAttributes = Register extends {
|
|
34
|
+
attributes: infer A;
|
|
35
|
+
} ? A : Record<string, unknown>;
|
|
36
|
+
/** The product's attribute shape for a resource kind — `unknown` if unaugmented. */
|
|
37
|
+
export type ResourceAttributes<K extends string> = K extends keyof ResolvedAttributes ? ResolvedAttributes[K] : unknown;
|
|
38
|
+
/** Resource kinds that carry product attributes at creation. */
|
|
39
|
+
export type AttributedResource = 'folder' | 'workflow' | 'credential';
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=attributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../src/authz/attributes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,QAAQ;CAAG;AAE5B,KAAK,kBAAkB,GAAG,QAAQ,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC,CAAA;CAAE,GAC9D,CAAC,GACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,oFAAoF;AACpF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,kBAAkB,GACjF,kBAAkB,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC;AAEZ,gEAAgE;AAChE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../src/authz/attributes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default authorization implementations.
|
|
3
|
+
*/
|
|
4
|
+
import type { WorkflowAuthorizer, ResourceRef, ResourceType, Action } from './types.js';
|
|
5
|
+
import type { IdScope } from './id-scope.js';
|
|
6
|
+
/**
|
|
7
|
+
* Grants everything, sees everything. The default when no `authorizer` is
|
|
8
|
+
* configured, so the SDK runs zero-config (tests, local dev, single-tenant).
|
|
9
|
+
*
|
|
10
|
+
* Production deployments MUST supply their own {@link WorkflowAuthorizer}.
|
|
11
|
+
*/
|
|
12
|
+
export declare class AllowAllAuthorizer<TCtx> implements WorkflowAuthorizer<TCtx, IdScope> {
|
|
13
|
+
permissions(_ctx: TCtx, _ref: ResourceRef): Promise<readonly Action[]>;
|
|
14
|
+
visibleFilter(_ctx: TCtx, _type: ResourceType): Promise<IdScope>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Thrown by the runtime when `permissions` does not include the attempted
|
|
18
|
+
* action. The router maps this to a 403 response.
|
|
19
|
+
*/
|
|
20
|
+
export declare class AccessDeniedError extends Error {
|
|
21
|
+
readonly action: Action;
|
|
22
|
+
readonly ref: ResourceRef;
|
|
23
|
+
constructor(action: Action, ref: ResourceRef);
|
|
24
|
+
}
|
|
25
|
+
/** Thrown when a resource the caller asked for does not exist. */
|
|
26
|
+
export declare class ResourceNotFoundError extends Error {
|
|
27
|
+
readonly type: string;
|
|
28
|
+
readonly id: string;
|
|
29
|
+
constructor(type: string, id: string);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=default.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/authz/default.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAExF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;GAKG;AACH,qBAAa,kBAAkB,CAAC,IAAI,CAAE,YAAW,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC;IAC1E,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC;IAOtE,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,MAAM,EAAE,MAAM;aACd,GAAG,EAAE,WAAW;gBADhB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW;CAKnC;AAED,kEAAkE;AAClE,qBAAa,qBAAsB,SAAQ,KAAK;aAE5B,IAAI,EAAE,MAAM;aACZ,EAAE,EAAE,MAAM;gBADV,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM;CAK7B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default authorization implementations.
|
|
3
|
+
*/
|
|
4
|
+
import { ALL_ACTIONS, refLabel } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Grants everything, sees everything. The default when no `authorizer` is
|
|
7
|
+
* configured, so the SDK runs zero-config (tests, local dev, single-tenant).
|
|
8
|
+
*
|
|
9
|
+
* Production deployments MUST supply their own {@link WorkflowAuthorizer}.
|
|
10
|
+
*/
|
|
11
|
+
export class AllowAllAuthorizer {
|
|
12
|
+
async permissions(_ctx, _ref) {
|
|
13
|
+
return ALL_ACTIONS;
|
|
14
|
+
}
|
|
15
|
+
// Parameters spelled out even though both are ignored: this class is the
|
|
16
|
+
// reference a host copies to start their own authorizer, so it should show
|
|
17
|
+
// the arguments a real decision is made from.
|
|
18
|
+
async visibleFilter(_ctx, _type) {
|
|
19
|
+
return { kind: 'all' };
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Thrown by the runtime when `permissions` does not include the attempted
|
|
24
|
+
* action. The router maps this to a 403 response.
|
|
25
|
+
*/
|
|
26
|
+
export class AccessDeniedError extends Error {
|
|
27
|
+
action;
|
|
28
|
+
ref;
|
|
29
|
+
constructor(action, ref) {
|
|
30
|
+
super(`Access denied: ${action} on ${refLabel(ref)}`);
|
|
31
|
+
this.action = action;
|
|
32
|
+
this.ref = ref;
|
|
33
|
+
this.name = 'AccessDeniedError';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** Thrown when a resource the caller asked for does not exist. */
|
|
37
|
+
export class ResourceNotFoundError extends Error {
|
|
38
|
+
type;
|
|
39
|
+
id;
|
|
40
|
+
constructor(type, id) {
|
|
41
|
+
super(`${type} ${id} not found`);
|
|
42
|
+
this.type = type;
|
|
43
|
+
this.id = id;
|
|
44
|
+
this.name = 'ResourceNotFoundError';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=default.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/authz/default.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGnD;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAC7B,KAAK,CAAC,WAAW,CAAC,IAAU,EAAE,IAAiB;QAC7C,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,8CAA8C;IAC9C,KAAK,CAAC,aAAa,CAAC,IAAU,EAAE,KAAmB;QACjD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAExB;IACA;IAFlB,YACkB,MAAc,EACd,GAAgB;QAEhC,KAAK,CAAC,kBAAkB,MAAM,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAHtC,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAa;QAGhC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,kEAAkE;AAClE,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAE5B;IACA;IAFlB,YACkB,IAAY,EACZ,EAAU;QAE1B,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,YAAY,CAAC,CAAC;QAHjB,SAAI,GAAJ,IAAI,CAAQ;QACZ,OAAE,GAAF,EAAE,CAAQ;QAG1B,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `IdScope` — the batteries-included default `TFilter`.
|
|
3
|
+
*
|
|
4
|
+
* A host that doesn't want to design its own list predicate can use this: the
|
|
5
|
+
* authorizer returns `all` / `none` / an explicit id set, and the adapter applies
|
|
6
|
+
* it as a plain filter. The in-memory adapter speaks exactly this, so the SDK
|
|
7
|
+
* works zero-config out of the box.
|
|
8
|
+
*
|
|
9
|
+
* NOTE: id-enumeration does not scale — it materialises every visible id and
|
|
10
|
+
* defeats pagination. It is fine for tests, small tenants, and getting started.
|
|
11
|
+
* A production host should define its own `TFilter` (a tenant key, a principal,
|
|
12
|
+
* a query fragment) and push it into a single indexed query. That is the whole
|
|
13
|
+
* point of `TFilter` being opaque to the SDK.
|
|
14
|
+
*/
|
|
15
|
+
export type IdScope = {
|
|
16
|
+
kind: 'all';
|
|
17
|
+
} | {
|
|
18
|
+
kind: 'none';
|
|
19
|
+
} | {
|
|
20
|
+
kind: 'ids';
|
|
21
|
+
ids: string[];
|
|
22
|
+
};
|
|
23
|
+
/** Apply an {@link IdScope} to an in-memory collection. */
|
|
24
|
+
export declare function applyIdScope<T extends {
|
|
25
|
+
id: string;
|
|
26
|
+
}>(items: T[], scope: IdScope): T[];
|
|
27
|
+
//# sourceMappingURL=id-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-scope.d.ts","sourceRoot":"","sources":["../../src/authz/id-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEnC,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,CAKtF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `IdScope` — the batteries-included default `TFilter`.
|
|
3
|
+
*
|
|
4
|
+
* A host that doesn't want to design its own list predicate can use this: the
|
|
5
|
+
* authorizer returns `all` / `none` / an explicit id set, and the adapter applies
|
|
6
|
+
* it as a plain filter. The in-memory adapter speaks exactly this, so the SDK
|
|
7
|
+
* works zero-config out of the box.
|
|
8
|
+
*
|
|
9
|
+
* NOTE: id-enumeration does not scale — it materialises every visible id and
|
|
10
|
+
* defeats pagination. It is fine for tests, small tenants, and getting started.
|
|
11
|
+
* A production host should define its own `TFilter` (a tenant key, a principal,
|
|
12
|
+
* a query fragment) and push it into a single indexed query. That is the whole
|
|
13
|
+
* point of `TFilter` being opaque to the SDK.
|
|
14
|
+
*/
|
|
15
|
+
/** Apply an {@link IdScope} to an in-memory collection. */
|
|
16
|
+
export function applyIdScope(items, scope) {
|
|
17
|
+
if (scope.kind === 'all')
|
|
18
|
+
return items;
|
|
19
|
+
if (scope.kind === 'none')
|
|
20
|
+
return [];
|
|
21
|
+
const allowed = new Set(scope.ids);
|
|
22
|
+
return items.filter((i) => allowed.has(i.id));
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=id-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-scope.js","sourceRoot":"","sources":["../../src/authz/id-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,2DAA2D;AAC3D,MAAM,UAAU,YAAY,CAA2B,KAAU,EAAE,KAAc;IAC/E,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-authoring helpers for principal-reference fields (approval `assignee`,
|
|
3
|
+
* access grants). A field marked with one of these formats is rendered by the
|
|
4
|
+
* UI's host-supplied `PrincipalPicker` slot; the stored value is an opaque
|
|
5
|
+
* `{ kind, id }` reference the authorizer resolves. The SDK never interprets it.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* JSON Schema `format` marker for a principal reference. Whether the field holds
|
|
9
|
+
* one principal or a list is the field's own `type` (`object` vs `array`) — the
|
|
10
|
+
* builder derives multi-select from that, so a single format marker suffices.
|
|
11
|
+
*/
|
|
12
|
+
export declare const PRINCIPAL_FORMAT = "principal";
|
|
13
|
+
/**
|
|
14
|
+
* Stamp `format: 'principal'` onto the named properties of a config JSON Schema,
|
|
15
|
+
* so the builder renders the host's `PrincipalPicker` for them. Works for both
|
|
16
|
+
* single (`type: 'object'`) and list (`type: 'array'`) fields — the author
|
|
17
|
+
* declares the type; this only adds the marker.
|
|
18
|
+
*
|
|
19
|
+
* Mirrors {@link markAttachmentFields}. Use it in a step's
|
|
20
|
+
* `decorateConfigSchema` for its `assignee`-style fields.
|
|
21
|
+
*/
|
|
22
|
+
export declare function markPrincipalFields(jsonSchema: Record<string, unknown>, fields: readonly string[]): Record<string, unknown>;
|
|
23
|
+
//# sourceMappingURL=principal-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"principal-field.d.ts","sourceRoot":"","sources":["../../src/authz/principal-field.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAE5C;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-authoring helpers for principal-reference fields (approval `assignee`,
|
|
3
|
+
* access grants). A field marked with one of these formats is rendered by the
|
|
4
|
+
* UI's host-supplied `PrincipalPicker` slot; the stored value is an opaque
|
|
5
|
+
* `{ kind, id }` reference the authorizer resolves. The SDK never interprets it.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* JSON Schema `format` marker for a principal reference. Whether the field holds
|
|
9
|
+
* one principal or a list is the field's own `type` (`object` vs `array`) — the
|
|
10
|
+
* builder derives multi-select from that, so a single format marker suffices.
|
|
11
|
+
*/
|
|
12
|
+
export const PRINCIPAL_FORMAT = 'principal';
|
|
13
|
+
/**
|
|
14
|
+
* Stamp `format: 'principal'` onto the named properties of a config JSON Schema,
|
|
15
|
+
* so the builder renders the host's `PrincipalPicker` for them. Works for both
|
|
16
|
+
* single (`type: 'object'`) and list (`type: 'array'`) fields — the author
|
|
17
|
+
* declares the type; this only adds the marker.
|
|
18
|
+
*
|
|
19
|
+
* Mirrors {@link markAttachmentFields}. Use it in a step's
|
|
20
|
+
* `decorateConfigSchema` for its `assignee`-style fields.
|
|
21
|
+
*/
|
|
22
|
+
export function markPrincipalFields(jsonSchema, fields) {
|
|
23
|
+
const props = jsonSchema['properties'];
|
|
24
|
+
if (!props)
|
|
25
|
+
return jsonSchema;
|
|
26
|
+
for (const field of fields) {
|
|
27
|
+
const prop = props[field];
|
|
28
|
+
if (!prop)
|
|
29
|
+
continue;
|
|
30
|
+
props[field] = { ...prop, format: PRINCIPAL_FORMAT };
|
|
31
|
+
}
|
|
32
|
+
return jsonSchema;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=principal-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"principal-field.js","sourceRoot":"","sources":["../../src/authz/principal-field.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAmC,EACnC,MAAyB;IAEzB,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAExB,CAAC;IACd,IAAI,CAAC,KAAK;QAAE,OAAO,UAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authorization port — the single, host-implemented surface for access control.
|
|
3
|
+
*
|
|
4
|
+
* Authorization asks three genuinely different questions, so the port has three
|
|
5
|
+
* answers:
|
|
6
|
+
*
|
|
7
|
+
* 1. **INSTANCE** — {@link WorkflowAuthorizer.permissions}: what may this caller
|
|
8
|
+
* do to THIS resource? It guards point operations AND is the projection the
|
|
9
|
+
* UI gates on. One computation, two uses — so "what we show" and "what we
|
|
10
|
+
* enforce" cannot drift apart.
|
|
11
|
+
*
|
|
12
|
+
* 2. **LIST** — {@link WorkflowAuthorizer.visibleFilter}: an opaque, host-defined
|
|
13
|
+
* predicate the persistence adapter pushes INTO its query. The SDK never
|
|
14
|
+
* interprets it; it only guarantees the filter comes from the authorizer and
|
|
15
|
+
* reaches the adapter. Listing stays a single paginated query instead of
|
|
16
|
+
* materialising every visible id.
|
|
17
|
+
*
|
|
18
|
+
* 3. **CREATE** — an action on the CONTAINER: `permissions(ctx, folderRef)` /
|
|
19
|
+
* `permissions(ctx, { type: 'root' })` includes `workflow:create` /
|
|
20
|
+
* `folder:create`. A resource that does not exist yet cannot be pointed at,
|
|
21
|
+
* but its container can — and the container is the only thing a client can
|
|
22
|
+
* ask about *before* rendering a "New…" button.
|
|
23
|
+
*
|
|
24
|
+
* Both `TCtx` (the caller) and `TFilter` (the list predicate) are **opaque**: the
|
|
25
|
+
* SDK never reads a field off either. The host owns its identity model and its
|
|
26
|
+
* query language; the SDK owns only *where* decisions are enforced.
|
|
27
|
+
*
|
|
28
|
+
* Invariants a host must uphold (see the conformance kit):
|
|
29
|
+
* - `list ⊆ readable` — anything `visibleFilter` admits must have `read` in `permissions`.
|
|
30
|
+
* - `display ⇔ enforce` — if `permissions` grants an action, performing it must succeed.
|
|
31
|
+
*/
|
|
32
|
+
import type { WorkflowRecord, ExecutionRecord, FolderRecord, CredentialRecord } from '../persistence/types.js';
|
|
33
|
+
/** Actions on an existing workflow. `workflow:create` is a CONTAINER action. */
|
|
34
|
+
export declare const WORKFLOW_ACTIONS: readonly ["workflow:read", "workflow:update", "workflow:delete", "workflow:activate", "workflow:run", "workflow:share"];
|
|
35
|
+
/** Actions on an existing folder. `folder:create` is a CONTAINER action. */
|
|
36
|
+
export declare const FOLDER_ACTIONS: readonly ["folder:read", "folder:update", "folder:delete", "folder:share"];
|
|
37
|
+
/**
|
|
38
|
+
* Actions on a CONTAINER — a `folder` ref, or the `root` ref for top level.
|
|
39
|
+
* "May I add this kind of thing here?" These are what make create projectable:
|
|
40
|
+
* a folder's `permittedActions` tells the client whether to show "New workflow".
|
|
41
|
+
*/
|
|
42
|
+
export declare const CONTAINER_ACTIONS: readonly ["workflow:create", "folder:create"];
|
|
43
|
+
export declare const EXECUTION_ACTIONS: readonly ["execution:read", "execution:approve", "execution:rerun", "execution:cancel"];
|
|
44
|
+
export declare const CREDENTIAL_ACTIONS: readonly ["credential:read", "credential:manage"];
|
|
45
|
+
/** The fixed action vocabulary. These are the SDK's own verbs; the UI gates on them. */
|
|
46
|
+
export type Action = (typeof WORKFLOW_ACTIONS)[number] | (typeof FOLDER_ACTIONS)[number] | (typeof CONTAINER_ACTIONS)[number] | (typeof EXECUTION_ACTIONS)[number] | (typeof CREDENTIAL_ACTIONS)[number];
|
|
47
|
+
/** Every known action — the default grant used by `AllowAllAuthorizer`. */
|
|
48
|
+
export declare const ALL_ACTIONS: readonly Action[];
|
|
49
|
+
/**
|
|
50
|
+
* The list anchors — what `visibleFilter` is asked about. Executions, analytics
|
|
51
|
+
* and counts are NOT anchors: they derive from `workflow` visibility.
|
|
52
|
+
*/
|
|
53
|
+
export type ResourceType = 'workflow' | 'folder' | 'credential' | 'approval';
|
|
54
|
+
/**
|
|
55
|
+
* The record handed to the authorizer for an approval/pause step. Carries the
|
|
56
|
+
* denormalized ancestry so the authorizer can reach the workflow anchor, plus
|
|
57
|
+
* the opaque host-authored `assignee` the workflow's author declared.
|
|
58
|
+
*/
|
|
59
|
+
export interface ApprovalStepRecord {
|
|
60
|
+
stepId: string;
|
|
61
|
+
executionId: string;
|
|
62
|
+
workflowId: string;
|
|
63
|
+
folderId: string;
|
|
64
|
+
/** Opaque host-authored assignee (e.g. `{ kind: 'team', id: 'finance' }`). */
|
|
65
|
+
assignee?: unknown;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Identity (`type` + `id`) plus the full record the runtime already fetched. The
|
|
69
|
+
* authorizer reads whatever it needs off `record` — including the typed
|
|
70
|
+
* `record.attributes` (the product's per-resource scoping data, resolved from
|
|
71
|
+
* `Register`). `execution` and `approvalStep` carry no attributes of their own;
|
|
72
|
+
* navigate to the workflow anchor via `record.workflowId`.
|
|
73
|
+
*
|
|
74
|
+
* Every ref denotes something that **exists**:
|
|
75
|
+
* - `root` — the workspace/top level. A container with no instance; used to ask
|
|
76
|
+
* "may I create at the top level?" (and for credentials, which live nowhere else).
|
|
77
|
+
* - `folder` — both an *instance* (rename/delete/share it) and a *container*
|
|
78
|
+
* (may I add workflows/subfolders to it?). Its action set spans both.
|
|
79
|
+
*/
|
|
80
|
+
export type ResourceRef = {
|
|
81
|
+
type: 'root';
|
|
82
|
+
} | {
|
|
83
|
+
type: 'workflow';
|
|
84
|
+
id: string;
|
|
85
|
+
record: WorkflowRecord;
|
|
86
|
+
} | {
|
|
87
|
+
type: 'folder';
|
|
88
|
+
id: string;
|
|
89
|
+
record: FolderRecord;
|
|
90
|
+
} | {
|
|
91
|
+
type: 'execution';
|
|
92
|
+
id: string;
|
|
93
|
+
record: ExecutionRecord;
|
|
94
|
+
} | {
|
|
95
|
+
type: 'credential';
|
|
96
|
+
id: string;
|
|
97
|
+
record: CredentialRecord;
|
|
98
|
+
} | {
|
|
99
|
+
type: 'approvalStep';
|
|
100
|
+
id: string;
|
|
101
|
+
record: ApprovalStepRecord;
|
|
102
|
+
};
|
|
103
|
+
/** Human-readable label for errors/logs. `root` has no id. */
|
|
104
|
+
export declare function refLabel(ref: ResourceRef): string;
|
|
105
|
+
export interface WorkflowAuthorizer<TCtx, TFilter> {
|
|
106
|
+
/**
|
|
107
|
+
* INSTANCE + CONTAINER decision. What may `ctx` do to this resource? Used both
|
|
108
|
+
* to guard an operation (does the set include the attempted action?) and,
|
|
109
|
+
* unchanged, as the resource's `permittedActions` for the UI.
|
|
110
|
+
*
|
|
111
|
+
* For a `folder` or `root` ref, include {@link CONTAINER_ACTIONS} to allow (and
|
|
112
|
+
* advertise) creation inside it.
|
|
113
|
+
*/
|
|
114
|
+
permissions(ctx: TCtx, ref: ResourceRef): Promise<readonly Action[]>;
|
|
115
|
+
/**
|
|
116
|
+
* Batch form of {@link permissions} — one action array per ref, in order. The
|
|
117
|
+
* runtime uses it to populate per-row `permittedActions` on list results in a
|
|
118
|
+
* single round-trip. Optional; defaults to mapping {@link permissions}.
|
|
119
|
+
*/
|
|
120
|
+
permissionsBatch?(ctx: TCtx, refs: readonly ResourceRef[]): Promise<ReadonlyArray<readonly Action[]>>;
|
|
121
|
+
/**
|
|
122
|
+
* LIST decision, as a predicate — NOT a set of ids. Returns whatever your
|
|
123
|
+
* persistence adapter needs to filter its query (a tenant key, a principal, a
|
|
124
|
+
* query fragment…). The SDK passes it to the adapter verbatim and never looks
|
|
125
|
+
* inside, so listing stays one indexed, paginated query.
|
|
126
|
+
*/
|
|
127
|
+
visibleFilter(ctx: TCtx, type: ResourceType): Promise<TFilter>;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/authz/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAIjC,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,yHAOnB,CAAC;AAEX,4EAA4E;AAC5E,eAAO,MAAM,cAAc,4EAKjB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,+CAAgD,CAAC;AAE/E,eAAO,MAAM,iBAAiB,yFAKpB,CAAC;AAEX,eAAO,MAAM,kBAAkB,mDAAoD,CAAC;AAEpF,wFAAwF;AACxF,MAAM,MAAM,MAAM,GACd,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,GACjC,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,GAC/B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,GAClC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,GAClC,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExC,2EAA2E;AAC3E,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAMxC,CAAC;AAIF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;AAE7E;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAErE,8DAA8D;AAC9D,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAEjD;AAID,MAAM,WAAW,kBAAkB,CAAC,IAAI,EAAE,OAAO;IAC/C;;;;;;;OAOG;IACH,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAErE;;;;OAIG;IACH,gBAAgB,CAAC,CACf,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,SAAS,WAAW,EAAE,GAC3B,OAAO,CAAC,aAAa,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authorization port — the single, host-implemented surface for access control.
|
|
3
|
+
*
|
|
4
|
+
* Authorization asks three genuinely different questions, so the port has three
|
|
5
|
+
* answers:
|
|
6
|
+
*
|
|
7
|
+
* 1. **INSTANCE** — {@link WorkflowAuthorizer.permissions}: what may this caller
|
|
8
|
+
* do to THIS resource? It guards point operations AND is the projection the
|
|
9
|
+
* UI gates on. One computation, two uses — so "what we show" and "what we
|
|
10
|
+
* enforce" cannot drift apart.
|
|
11
|
+
*
|
|
12
|
+
* 2. **LIST** — {@link WorkflowAuthorizer.visibleFilter}: an opaque, host-defined
|
|
13
|
+
* predicate the persistence adapter pushes INTO its query. The SDK never
|
|
14
|
+
* interprets it; it only guarantees the filter comes from the authorizer and
|
|
15
|
+
* reaches the adapter. Listing stays a single paginated query instead of
|
|
16
|
+
* materialising every visible id.
|
|
17
|
+
*
|
|
18
|
+
* 3. **CREATE** — an action on the CONTAINER: `permissions(ctx, folderRef)` /
|
|
19
|
+
* `permissions(ctx, { type: 'root' })` includes `workflow:create` /
|
|
20
|
+
* `folder:create`. A resource that does not exist yet cannot be pointed at,
|
|
21
|
+
* but its container can — and the container is the only thing a client can
|
|
22
|
+
* ask about *before* rendering a "New…" button.
|
|
23
|
+
*
|
|
24
|
+
* Both `TCtx` (the caller) and `TFilter` (the list predicate) are **opaque**: the
|
|
25
|
+
* SDK never reads a field off either. The host owns its identity model and its
|
|
26
|
+
* query language; the SDK owns only *where* decisions are enforced.
|
|
27
|
+
*
|
|
28
|
+
* Invariants a host must uphold (see the conformance kit):
|
|
29
|
+
* - `list ⊆ readable` — anything `visibleFilter` admits must have `read` in `permissions`.
|
|
30
|
+
* - `display ⇔ enforce` — if `permissions` grants an action, performing it must succeed.
|
|
31
|
+
*/
|
|
32
|
+
// ─── Actions ───
|
|
33
|
+
/** Actions on an existing workflow. `workflow:create` is a CONTAINER action. */
|
|
34
|
+
export const WORKFLOW_ACTIONS = [
|
|
35
|
+
'workflow:read',
|
|
36
|
+
'workflow:update',
|
|
37
|
+
'workflow:delete',
|
|
38
|
+
'workflow:activate',
|
|
39
|
+
'workflow:run',
|
|
40
|
+
'workflow:share',
|
|
41
|
+
];
|
|
42
|
+
/** Actions on an existing folder. `folder:create` is a CONTAINER action. */
|
|
43
|
+
export const FOLDER_ACTIONS = [
|
|
44
|
+
'folder:read',
|
|
45
|
+
'folder:update',
|
|
46
|
+
'folder:delete',
|
|
47
|
+
'folder:share',
|
|
48
|
+
];
|
|
49
|
+
/**
|
|
50
|
+
* Actions on a CONTAINER — a `folder` ref, or the `root` ref for top level.
|
|
51
|
+
* "May I add this kind of thing here?" These are what make create projectable:
|
|
52
|
+
* a folder's `permittedActions` tells the client whether to show "New workflow".
|
|
53
|
+
*/
|
|
54
|
+
export const CONTAINER_ACTIONS = ['workflow:create', 'folder:create'];
|
|
55
|
+
export const EXECUTION_ACTIONS = [
|
|
56
|
+
'execution:read',
|
|
57
|
+
'execution:approve',
|
|
58
|
+
'execution:rerun',
|
|
59
|
+
'execution:cancel',
|
|
60
|
+
];
|
|
61
|
+
export const CREDENTIAL_ACTIONS = ['credential:read', 'credential:manage'];
|
|
62
|
+
/** Every known action — the default grant used by `AllowAllAuthorizer`. */
|
|
63
|
+
export const ALL_ACTIONS = [
|
|
64
|
+
...WORKFLOW_ACTIONS,
|
|
65
|
+
...FOLDER_ACTIONS,
|
|
66
|
+
...CONTAINER_ACTIONS,
|
|
67
|
+
...EXECUTION_ACTIONS,
|
|
68
|
+
...CREDENTIAL_ACTIONS,
|
|
69
|
+
];
|
|
70
|
+
/** Human-readable label for errors/logs. `root` has no id. */
|
|
71
|
+
export function refLabel(ref) {
|
|
72
|
+
return ref.type === 'root' ? 'root' : `${ref.type}:${ref.id}`;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/authz/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AASH,kBAAkB;AAElB,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,gBAAgB;CACR,CAAC;AAEX,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,aAAa;IACb,eAAe;IACf,eAAe;IACf,cAAc;CACN,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAU,CAAC;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;CACV,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,CAAU,CAAC;AAUpF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,GAAG,gBAAgB;IACnB,GAAG,cAAc;IACjB,GAAG,iBAAiB;IACpB,GAAG,iBAAiB;IACpB,GAAG,kBAAkB;CACtB,CAAC;AA6CF,8DAA8D;AAC9D,MAAM,UAAU,QAAQ,CAAC,GAAgB;IACvC,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;AAChE,CAAC"}
|