@owlmeans/server-planning 0.1.18-rc.2 → 0.1.18-rc.21
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/README.md +40 -12
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/server-planning/SKILL.md +193 -18
- package/build/actions/cards.d.ts +3 -5
- package/build/actions/cards.d.ts.map +1 -1
- package/build/actions/cards.js +1 -1
- package/build/actions/cards.js.map +1 -1
- package/build/actions/execute.d.ts +24 -3
- package/build/actions/execute.d.ts.map +1 -1
- package/build/actions/execute.js +82 -8
- package/build/actions/execute.js.map +1 -1
- package/build/actions/schemas.d.ts +27 -5
- package/build/actions/schemas.d.ts.map +1 -1
- package/build/actions/schemas.js +67 -7
- package/build/actions/schemas.js.map +1 -1
- package/build/actions/specs.d.ts +2 -4
- package/build/actions/specs.d.ts.map +1 -1
- package/build/actions/specs.js.map +1 -1
- package/build/actions/types.d.ts +4 -0
- package/build/actions/types.d.ts.map +1 -0
- package/build/actions/types.js +2 -0
- package/build/actions/types.js.map +1 -0
- package/build/actions/watch.d.ts.map +1 -1
- package/build/actions/watch.js +4 -2
- package/build/actions/watch.js.map +1 -1
- package/build/conformance/assert.d.ts +20 -0
- package/build/conformance/assert.d.ts.map +1 -0
- package/build/conformance/assert.js +54 -0
- package/build/conformance/assert.js.map +1 -0
- package/build/conformance/cases.d.ts +7 -0
- package/build/conformance/cases.d.ts.map +1 -0
- package/build/conformance/cases.js +447 -0
- package/build/conformance/cases.js.map +1 -0
- package/build/conformance/consts.d.ts +19 -0
- package/build/conformance/consts.d.ts.map +1 -0
- package/build/conformance/consts.js +42 -0
- package/build/conformance/consts.js.map +1 -0
- package/build/conformance/fixtures.d.ts +14 -0
- package/build/conformance/fixtures.d.ts.map +1 -0
- package/build/conformance/fixtures.js +109 -0
- package/build/conformance/fixtures.js.map +1 -0
- package/build/conformance/index.d.ts +12 -0
- package/build/conformance/index.d.ts.map +1 -0
- package/build/conformance/index.js +11 -0
- package/build/conformance/index.js.map +1 -0
- package/build/conformance/types.d.ts +18 -0
- package/build/conformance/types.d.ts.map +1 -0
- package/build/conformance/types.js +2 -0
- package/build/conformance/types.js.map +1 -0
- package/build/consts.d.ts +5 -0
- package/build/consts.d.ts.map +1 -1
- package/build/consts.js +5 -0
- package/build/consts.js.map +1 -1
- package/build/definitions.d.ts +17 -0
- package/build/definitions.d.ts.map +1 -0
- package/build/definitions.js +211 -0
- package/build/definitions.js.map +1 -0
- package/build/executor/changes.d.ts +2 -2
- package/build/executor/changes.d.ts.map +1 -1
- package/build/executor/changes.js.map +1 -1
- package/build/executor/code.d.ts +3 -3
- package/build/executor/code.d.ts.map +1 -1
- package/build/executor/code.js +1 -1
- package/build/executor/code.js.map +1 -1
- package/build/executor/consts.local.d.ts +5 -0
- package/build/executor/consts.local.d.ts.map +1 -0
- package/build/executor/consts.local.js +6 -0
- package/build/executor/consts.local.js.map +1 -0
- package/build/executor/creator.d.ts +30 -0
- package/build/executor/creator.d.ts.map +1 -0
- package/build/executor/creator.js +46 -0
- package/build/executor/creator.js.map +1 -0
- package/build/executor/resolve.d.ts +31 -23
- package/build/executor/resolve.d.ts.map +1 -1
- package/build/executor/resolve.js +74 -15
- package/build/executor/resolve.js.map +1 -1
- package/build/executor/types.d.ts +24 -0
- package/build/executor/types.d.ts.map +1 -0
- package/build/executor/types.js +2 -0
- package/build/executor/types.js.map +1 -0
- package/build/executor/validate.d.ts +6 -5
- package/build/executor/validate.d.ts.map +1 -1
- package/build/executor/validate.js +18 -15
- package/build/executor/validate.js.map +1 -1
- package/build/executor.d.ts +10 -7
- package/build/executor.d.ts.map +1 -1
- package/build/executor.js +17 -14
- package/build/executor.js.map +1 -1
- package/build/facade.d.ts +20 -2
- package/build/facade.d.ts.map +1 -1
- package/build/facade.js +128 -18
- package/build/facade.js.map +1 -1
- package/build/helper.d.ts +3 -2
- package/build/helper.d.ts.map +1 -1
- package/build/helper.js +7 -3
- package/build/helper.js.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/projection.d.ts +2 -10
- package/build/projection.d.ts.map +1 -1
- package/build/projection.js +1 -1
- package/build/projection.js.map +1 -1
- package/build/queue/consts.d.ts +5 -0
- package/build/queue/consts.d.ts.map +1 -0
- package/build/queue/consts.js +5 -0
- package/build/queue/consts.js.map +1 -0
- package/build/queue/index.d.ts +4 -16
- package/build/queue/index.d.ts.map +1 -1
- package/build/queue/index.js +2 -4
- package/build/queue/index.js.map +1 -1
- package/build/queue/types.d.ts +13 -0
- package/build/queue/types.d.ts.map +1 -0
- package/build/queue/types.js +2 -0
- package/build/queue/types.js.map +1 -0
- package/build/registry.d.ts +2 -21
- package/build/registry.d.ts.map +1 -1
- package/build/registry.js +3 -1
- package/build/registry.js.map +1 -1
- package/build/service.d.ts +3 -16
- package/build/service.d.ts.map +1 -1
- package/build/service.js +9 -0
- package/build/service.js.map +1 -1
- package/build/store/commits.d.ts.map +1 -1
- package/build/store/commits.js +3 -1
- package/build/store/commits.js.map +1 -1
- package/build/store/composite.d.ts +1 -0
- package/build/store/composite.d.ts.map +1 -1
- package/build/store/composite.js +3 -0
- package/build/store/composite.js.map +1 -1
- package/build/store/consts.local.d.ts +2 -0
- package/build/store/consts.local.d.ts.map +1 -0
- package/build/store/consts.local.js +2 -0
- package/build/store/consts.local.js.map +1 -0
- package/build/store/fold.d.ts +4 -3
- package/build/store/fold.d.ts.map +1 -1
- package/build/store/fold.js +14 -6
- package/build/store/fold.js.map +1 -1
- package/build/store/memory.d.ts +12 -0
- package/build/store/memory.d.ts.map +1 -1
- package/build/store/memory.js +0 -0
- package/build/store/memory.js.map +1 -1
- package/build/store/types.d.ts +15 -1
- package/build/store/types.d.ts.map +1 -1
- package/build/store/types.local.d.ts +3 -0
- package/build/store/types.local.d.ts.map +1 -0
- package/build/store/types.local.js +2 -0
- package/build/store/types.local.js.map +1 -0
- package/build/types.d.ts +111 -1
- package/build/types.d.ts.map +1 -1
- package/build/types.local.d.ts +7 -0
- package/build/types.local.d.ts.map +1 -0
- package/build/types.local.js +2 -0
- package/build/types.local.js.map +1 -0
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.d.ts.map +1 -1
- package/build/utils/scope.d.ts +39 -2
- package/build/utils/scope.d.ts.map +1 -1
- package/build/utils/scope.js +79 -15
- package/build/utils/scope.js.map +1 -1
- package/build/utils/types.d.ts +8 -0
- package/build/utils/types.d.ts.map +1 -0
- package/build/utils/types.js +2 -0
- package/build/utils/types.js.map +1 -0
- package/package.json +28 -20
- package/src/actions/cards.ts +2 -6
- package/src/actions/execute.ts +95 -12
- package/src/actions/schemas.ts +81 -9
- package/src/actions/specs.ts +1 -2
- package/src/actions/types.ts +4 -0
- package/src/actions/watch.ts +5 -2
- package/src/conformance/assert.ts +59 -0
- package/src/conformance/cases.ts +522 -0
- package/src/conformance/consts.ts +44 -0
- package/src/conformance/fixtures.ts +121 -0
- package/src/conformance/index.ts +11 -0
- package/src/conformance/types.ts +20 -0
- package/src/consts.ts +6 -0
- package/src/definitions.ts +250 -0
- package/src/executor/changes.ts +2 -6
- package/src/executor/code.ts +3 -9
- package/src/executor/consts.local.ts +8 -0
- package/src/executor/creator.ts +51 -0
- package/src/executor/resolve.ts +84 -40
- package/src/executor/types.ts +25 -0
- package/src/executor/validate.ts +22 -26
- package/src/executor.ts +21 -21
- package/src/facade.ts +143 -25
- package/src/helper.ts +7 -3
- package/src/index.ts +1 -0
- package/src/projection.ts +4 -14
- package/src/queue/consts.ts +5 -0
- package/src/queue/index.ts +6 -21
- package/src/queue/types.ts +14 -0
- package/src/registry.ts +5 -29
- package/src/service.ts +13 -20
- package/src/store/commits.ts +5 -4
- package/src/store/composite.ts +3 -0
- package/src/store/consts.local.ts +1 -0
- package/src/store/fold.ts +15 -12
- package/src/store/memory.ts +0 -0
- package/src/store/types.local.ts +3 -0
- package/src/store/types.ts +16 -1
- package/src/types.local.ts +7 -0
- package/src/types.ts +126 -4
- package/src/utils/index.ts +1 -0
- package/src/utils/scope.ts +97 -17
- package/src/utils/types.ts +8 -0
- package/tests/access.spec.ts +160 -0
- package/tests/conformance.spec.ts +47 -0
- package/tests/create-example.spec.ts +202 -0
- package/tests/creator.spec.ts +257 -0
- package/tests/entrypoints.spec.ts +5 -0
- package/tests/narrowing.spec.ts +94 -0
- package/tests/plugins.spec.ts +4 -3
- package/tests/writes.spec.ts +140 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { PlanningError, TransitionAction } from '@owlmeans/planning';
|
|
2
|
+
import { CREATOR } from './consts.local.js';
|
|
3
|
+
const named = (value) => value != null && value !== '';
|
|
4
|
+
/**
|
|
5
|
+
* The subject a create made under `scope` is stamped with as its `createdBy`: the scope's
|
|
6
|
+
* `profileId`, else its `userId`, else the same two of its `actor` — the authenticated subject an
|
|
7
|
+
* HTTP scope carries, in the same format. `undefined` for a scope that names nobody (a service or a
|
|
8
|
+
* system scope).
|
|
9
|
+
*/
|
|
10
|
+
export const creatorOf = (scope) => [scope.profileId, scope.userId, scope.actor?.profileId, scope.actor?.userId].find(named);
|
|
11
|
+
/**
|
|
12
|
+
* A create's draft with `createdBy` defaulted to {@link creatorOf} the scope. A `createdBy` the
|
|
13
|
+
* caller supplied wins; a scope that names nobody leaves the draft as it is; anything but a create
|
|
14
|
+
* is returned untouched. Never mutates `exec`.
|
|
15
|
+
*
|
|
16
|
+
* The executor applies it to every execution, so an in-process facade create and a wire create
|
|
17
|
+
* stamp the same value.
|
|
18
|
+
*/
|
|
19
|
+
export const withCreator = (exec, scope) => {
|
|
20
|
+
if (exec.action !== TransitionAction.Create || exec.card == null || typeof exec.card !== 'object') {
|
|
21
|
+
return exec;
|
|
22
|
+
}
|
|
23
|
+
if (named(exec.card.createdBy)) {
|
|
24
|
+
return exec;
|
|
25
|
+
}
|
|
26
|
+
const creator = creatorOf(scope);
|
|
27
|
+
return creator == null ? exec : { ...exec, card: { ...exec.card, createdBy: creator } };
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Refuse an execution that names `createdBy` in `changes` or `unset`, whatever the action — a
|
|
31
|
+
* create included, whose owner is its draft's. After the create it never moves, so an ownership
|
|
32
|
+
* check (`card.createdBy === profileId`) cannot be bypassed by anyone allowed to update the card.
|
|
33
|
+
*
|
|
34
|
+
* The executor runs it with the immutables of step 6, after the `before` chain, so a wire body, an
|
|
35
|
+
* in-process caller and a plugin are refused alike. It is the executor's own check, whatever
|
|
36
|
+
* `@owlmeans/planning` build `assertMutable` comes from.
|
|
37
|
+
*
|
|
38
|
+
* @throws {PlanningError} `planning:immutable:createdBy`
|
|
39
|
+
*/
|
|
40
|
+
export const assertCreatorFixed = (exec) => {
|
|
41
|
+
if (exec.changes?.[CREATOR] !== undefined
|
|
42
|
+
|| (exec.unset ?? []).some(path => path.split('.')[0] === CREATOR)) {
|
|
43
|
+
throw new PlanningError(`immutable:${CREATOR}`);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creator.js","sourceRoot":"","sources":["../../src/executor/creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAgD,MAAM,oBAAoB,CAAA;AAClH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE3C,MAAM,KAAK,GAAG,CAAC,KAAqB,EAAmB,EAAE,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAA;AAEvF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAsB,EAAE,CACpE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAE1F;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAyB,EAAE,KAAoB,EAAuB,EAAE;IAClG,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClG,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAEhC,OAAO,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAA;AACzF,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAyB,EAAQ,EAAE;IACpE,IAAK,IAAI,CAAC,OAA+C,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS;WAC7E,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,aAAa,CAAC,aAAa,OAAO,EAAE,CAAC,CAAA;IACjD,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1,35 +1,43 @@
|
|
|
1
|
-
import { WorkcardKind } from '@owlmeans/planning';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
/** Everything the steps after resolution read about an execution. */
|
|
5
|
-
export interface Resolved {
|
|
6
|
-
create: boolean;
|
|
7
|
-
/** The existing card (not a create). */
|
|
8
|
-
card?: Workcard;
|
|
9
|
-
type: AnyTypeSchema;
|
|
10
|
-
flowId: string;
|
|
11
|
-
flow: StatusFlowSchema;
|
|
12
|
-
/** The primary parent, when it resolves. */
|
|
13
|
-
parent?: Workcard;
|
|
14
|
-
/** The slot a specification belongs to. */
|
|
15
|
-
slot?: SpecificationSlot;
|
|
16
|
-
/** The store the type is written to. */
|
|
17
|
-
store: PlanningStore;
|
|
18
|
-
}
|
|
1
|
+
import { WorkcardKind, type PlanningFacade, type PlanningSchemaRegistry, type TransitionExecution, type Workcard } from '@owlmeans/planning';
|
|
2
|
+
import type { PlanningRuntime } from '../types.js';
|
|
3
|
+
import type { Resolved } from './types.js';
|
|
19
4
|
/**
|
|
20
5
|
* Step 1: a deep copy with trimmed text, `parents ∋ parent` on a draft, and no duplicate `unset`
|
|
21
6
|
* paths. The caller's object is never touched.
|
|
22
7
|
*/
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
|
|
8
|
+
declare const normalizeExecution: (input: TransitionExecution) => TransitionExecution;
|
|
9
|
+
/**
|
|
10
|
+
* The parent type's rule for a child of `kind`/`type`: a project lists the `cardTypes` (and
|
|
11
|
+
* `projectTypes`) it admits, and one declaring `scopedCardTypes` also admits a card type its layer
|
|
12
|
+
* (`view`, the parent project's resolved schemas) defines as data. Project types are code's alone.
|
|
13
|
+
*
|
|
14
|
+
* @throws {CardTypeNotAllowed}
|
|
15
|
+
*/
|
|
16
|
+
declare const assertChildAllowed: (runtime: PlanningRuntime, parent: Workcard, kind: WorkcardKind, type: string, view?: PlanningSchemaRegistry) => void;
|
|
17
|
+
/** The layer a parent project admits data-defined children through — `undefined` without a schema port. */
|
|
18
|
+
declare const childViewOf: (runtime: PlanningRuntime, entityId: string, parent: Workcard) => Promise<PlanningSchemaRegistry | undefined>;
|
|
26
19
|
/**
|
|
27
20
|
* Step 4: the card, its type and flow, its parent and — for a specification — its slot.
|
|
28
21
|
*
|
|
29
22
|
* @throws {WorkcardNotFound | PlanningScopeMismatch | UnknownWorkcardType | UnknownStatusFlow}
|
|
30
23
|
* @throws {ParentNotFound | CardTypeNotAllowed | PlanningError}
|
|
31
24
|
*/
|
|
32
|
-
|
|
25
|
+
declare const resolveExecution: (runtime: PlanningRuntime, facade: PlanningFacade, exec: TransitionExecution) => Promise<Resolved>;
|
|
33
26
|
/** The project a transition is filed under: a project's own id, else its parent's project. */
|
|
34
|
-
|
|
27
|
+
declare const projectFor: (resolved: Resolved, exec: TransitionExecution, cardId: string) => string | undefined;
|
|
28
|
+
export declare const createResolveHelper: () => {
|
|
29
|
+
normalizeExecution: typeof normalizeExecution;
|
|
30
|
+
assertChildAllowed: typeof assertChildAllowed;
|
|
31
|
+
childViewOf: typeof childViewOf;
|
|
32
|
+
resolveExecution: typeof resolveExecution;
|
|
33
|
+
projectFor: typeof projectFor;
|
|
34
|
+
};
|
|
35
|
+
export declare const resolveHelper: {
|
|
36
|
+
normalizeExecution: typeof normalizeExecution;
|
|
37
|
+
assertChildAllowed: typeof assertChildAllowed;
|
|
38
|
+
childViewOf: typeof childViewOf;
|
|
39
|
+
resolveExecution: typeof resolveExecution;
|
|
40
|
+
projectFor: typeof projectFor;
|
|
41
|
+
};
|
|
42
|
+
export {};
|
|
35
43
|
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/executor/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/executor/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuO,YAAY,EAAwC,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAyE,KAAK,mBAAmB,EAAE,KAAK,QAAQ,EAAsB,MAAM,oBAAoB,CAAA;AAClf,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AA6B1C;;;GAGG;AACH,QAAA,MAAM,kBAAkB,UAAW,mBAAmB,KAAG,mBAcxD,CAAA;AAED;;;;;;GAMG;AACH,QAAA,MAAM,kBAAkB,YACb,eAAe,UAAU,QAAQ,QAAQ,YAAY,QAAQ,MAAM,SAAS,sBAAsB,KAC1G,IAgBF,CAAA;AAED,2GAA2G;AAC3G,QAAA,MAAM,WAAW,YACN,eAAe,YAAY,MAAM,UAAU,QAAQ,KAC3D,OAAO,CAAC,sBAAsB,GAAG,SAAS,CACoE,CAAA;AAEjH;;;;;GAKG;AACH,QAAA,MAAM,gBAAgB,YACX,eAAe,UAAU,cAAc,QAAQ,mBAAmB,KAC1E,OAAO,CAAC,QAAQ,CA4GlB,CAAA;AAED,8FAA8F;AAC9F,QAAA,MAAM,UAAU,aAAc,QAAQ,QAAQ,mBAAmB,UAAU,MAAM,KAAG,MAAM,GAAG,SAS5F,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;CAAgG,CAAA;AAEhI,eAAO,MAAM,aAAa;;;;;;CAAwB,CAAA"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
import { CardTypeNotAllowed, isProject, normalizeParents, ParentNotFound, PlanningError, PlanningScopeMismatch, primaryFlowOf, projectOf, slotOf, TransitionAction, UnknownStatusFlow, WorkcardKind, WorkcardNotFound
|
|
1
|
+
import { CardTypeNotAllowed, isProject, normalizeParents, ParentNotFound, PlanningError, PlanningSchemaKind, PlanningScopeMismatch, primaryFlowOf, projectOf, SchemaOrigin, slotOf, TransitionAction, UnknownStatusFlow, UnknownWorkcardType, WorkcardKind, WorkcardNotFound } from '@owlmeans/planning';
|
|
2
|
+
import { TRIMMED } from './consts.local.js';
|
|
3
|
+
const isScoped = (schemas) => typeof schemas.originOf === 'function';
|
|
4
|
+
/** A type the layer resolves from a data-defined record rather than from code. */
|
|
5
|
+
const dataDefined = (schemas, type) => {
|
|
6
|
+
if (schemas == null || !isScoped(schemas) || !schemas.has(type)) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const origin = schemas.originOf(PlanningSchemaKind.Type, type);
|
|
10
|
+
return origin === SchemaOrigin.Entity || origin === SchemaOrigin.Project;
|
|
11
|
+
};
|
|
2
12
|
const trimmed = (value) => typeof value === 'string' ? value.trim() : value;
|
|
3
|
-
const TRIMMED = ['title', 'description', 'code'];
|
|
4
13
|
const trim = (record) => {
|
|
5
14
|
if (record == null) {
|
|
6
15
|
return record;
|
|
@@ -17,7 +26,7 @@ const trim = (record) => {
|
|
|
17
26
|
* Step 1: a deep copy with trimmed text, `parents ∋ parent` on a draft, and no duplicate `unset`
|
|
18
27
|
* paths. The caller's object is never touched.
|
|
19
28
|
*/
|
|
20
|
-
|
|
29
|
+
const normalizeExecution = (input) => {
|
|
21
30
|
const exec = structuredClone(input);
|
|
22
31
|
if (exec.card != null && typeof exec.card === 'object') {
|
|
23
32
|
const draft = trim(exec.card);
|
|
@@ -32,8 +41,14 @@ export const normalizeExecution = (input) => {
|
|
|
32
41
|
}
|
|
33
42
|
return exec;
|
|
34
43
|
};
|
|
35
|
-
/**
|
|
36
|
-
|
|
44
|
+
/**
|
|
45
|
+
* The parent type's rule for a child of `kind`/`type`: a project lists the `cardTypes` (and
|
|
46
|
+
* `projectTypes`) it admits, and one declaring `scopedCardTypes` also admits a card type its layer
|
|
47
|
+
* (`view`, the parent project's resolved schemas) defines as data. Project types are code's alone.
|
|
48
|
+
*
|
|
49
|
+
* @throws {CardTypeNotAllowed}
|
|
50
|
+
*/
|
|
51
|
+
const assertChildAllowed = (runtime, parent, kind, type, view) => {
|
|
37
52
|
if (kind === WorkcardKind.Specification) {
|
|
38
53
|
return;
|
|
39
54
|
}
|
|
@@ -42,21 +57,30 @@ export const assertChildAllowed = (runtime, parent, kind, type) => {
|
|
|
42
57
|
}
|
|
43
58
|
const parentType = runtime.service().schemas.type(parent.type);
|
|
44
59
|
const allowed = kind === WorkcardKind.Project ? parentType.projectTypes ?? [] : parentType.cardTypes ?? [];
|
|
45
|
-
if (
|
|
46
|
-
|
|
60
|
+
if (allowed.includes(type)) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (kind === WorkcardKind.Card && parentType.scopedCardTypes === true && dataDefined(view, type)) {
|
|
64
|
+
return;
|
|
47
65
|
}
|
|
66
|
+
throw new CardTypeNotAllowed(`${parent.type}:${type}`);
|
|
48
67
|
};
|
|
68
|
+
/** The layer a parent project admits data-defined children through — `undefined` without a schema port. */
|
|
69
|
+
const childViewOf = async (runtime, entityId, parent) => runtime.schemaStore() == null || !isProject(parent) ? undefined : await runtime.schemasFor(entityId, parent.id);
|
|
49
70
|
/**
|
|
50
71
|
* Step 4: the card, its type and flow, its parent and — for a specification — its slot.
|
|
51
72
|
*
|
|
52
73
|
* @throws {WorkcardNotFound | PlanningScopeMismatch | UnknownWorkcardType | UnknownStatusFlow}
|
|
53
74
|
* @throws {ParentNotFound | CardTypeNotAllowed | PlanningError}
|
|
54
75
|
*/
|
|
55
|
-
|
|
76
|
+
const resolveExecution = async (runtime, facade, exec) => {
|
|
56
77
|
const service = runtime.service();
|
|
57
|
-
const schemas = service.schemas;
|
|
58
78
|
const entityId = facade.scope.entityId;
|
|
59
79
|
const create = exec.action === TransitionAction.Create;
|
|
80
|
+
// Without a schema port every step reads the code registry itself, in today's order; with one,
|
|
81
|
+
// the card's project is found first and the step reads that project's resolved layer.
|
|
82
|
+
const layered = runtime.schemaStore() != null;
|
|
83
|
+
let schemas = service.schemas;
|
|
60
84
|
let card;
|
|
61
85
|
let type;
|
|
62
86
|
let parent;
|
|
@@ -65,14 +89,34 @@ export const resolveExecution = async (runtime, facade, exec) => {
|
|
|
65
89
|
throw new PlanningError('malformed:create-without-draft');
|
|
66
90
|
}
|
|
67
91
|
const draft = exec.card;
|
|
92
|
+
const parents = normalizeParents(draft.parent, draft.parents);
|
|
93
|
+
const loaded = new Map();
|
|
94
|
+
if (layered) {
|
|
95
|
+
// Loaded through the facade, so a parent this scope cannot see is absent here too.
|
|
96
|
+
const primary = parents[0] != null ? await facade.cards.load(parents[0]) : null;
|
|
97
|
+
if (parents[0] != null && primary == null) {
|
|
98
|
+
throw new ParentNotFound(parents[0]);
|
|
99
|
+
}
|
|
100
|
+
if (primary != null) {
|
|
101
|
+
loaded.set(parents[0], primary);
|
|
102
|
+
}
|
|
103
|
+
const project = draft.kind === WorkcardKind.Project || primary == null
|
|
104
|
+
? undefined
|
|
105
|
+
: projectOf({ kind: draft.kind, parent: parents[0], parents }, primary);
|
|
106
|
+
schemas = await runtime.schemasFor(entityId, project);
|
|
107
|
+
}
|
|
68
108
|
type = schemas.type(draft.type);
|
|
69
109
|
if (type.kind !== draft.kind) {
|
|
70
110
|
throw new PlanningError(`malformed:kind:${draft.type}:${draft.kind}`);
|
|
71
111
|
}
|
|
112
|
+
if (layered && isScoped(schemas) && schemas.isRetired(PlanningSchemaKind.Type, draft.type)) {
|
|
113
|
+
// Existing cards keep resolving a retired type; nothing new is made of it.
|
|
114
|
+
throw new UnknownWorkcardType(`retired:${draft.type}`);
|
|
115
|
+
}
|
|
72
116
|
// Normalized: the primary parent is first. It must accept the child; so must every project
|
|
73
117
|
// among the secondary parents.
|
|
74
|
-
for (const [index, id] of
|
|
75
|
-
const found = await facade.cards.load(id);
|
|
118
|
+
for (const [index, id] of parents.entries()) {
|
|
119
|
+
const found = loaded.get(id) ?? await facade.cards.load(id);
|
|
76
120
|
if (found == null) {
|
|
77
121
|
throw new ParentNotFound(id);
|
|
78
122
|
}
|
|
@@ -80,7 +124,8 @@ export const resolveExecution = async (runtime, facade, exec) => {
|
|
|
80
124
|
parent = found;
|
|
81
125
|
}
|
|
82
126
|
if (index === 0 || isProject(found)) {
|
|
83
|
-
|
|
127
|
+
const view = !layered ? undefined : index === 0 && isProject(found) ? schemas : await childViewOf(runtime, entityId, found);
|
|
128
|
+
assertChildAllowed(runtime, found, draft.kind, draft.type, view);
|
|
84
129
|
}
|
|
85
130
|
}
|
|
86
131
|
if (draft.kind === WorkcardKind.Specification && parent == null) {
|
|
@@ -98,9 +143,20 @@ export const resolveExecution = async (runtime, facade, exec) => {
|
|
|
98
143
|
if (found.entityId !== entityId) {
|
|
99
144
|
throw new PlanningScopeMismatch(exec.card);
|
|
100
145
|
}
|
|
146
|
+
if (facade.scope.projects != null && await facade.cards.load(exec.card) == null) {
|
|
147
|
+
// Outside the scope's projects: absent, exactly like another entity's card.
|
|
148
|
+
throw new WorkcardNotFound(exec.card);
|
|
149
|
+
}
|
|
101
150
|
card = found;
|
|
102
|
-
|
|
103
|
-
|
|
151
|
+
if (layered) {
|
|
152
|
+
parent = card.parent != null ? await facade.cards.load(card.parent) ?? undefined : undefined;
|
|
153
|
+
schemas = await runtime.schemasFor(entityId, projectOf(card, parent));
|
|
154
|
+
type = schemas.type(card.type);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
type = schemas.type(card.type);
|
|
158
|
+
parent = card.parent != null ? await facade.cards.load(card.parent) ?? undefined : undefined;
|
|
159
|
+
}
|
|
104
160
|
}
|
|
105
161
|
const flowId = exec.flow ?? primaryFlowOf(type);
|
|
106
162
|
if (!type.flows.includes(flowId)) {
|
|
@@ -120,10 +176,11 @@ export const resolveExecution = async (runtime, facade, exec) => {
|
|
|
120
176
|
...(parent != null ? { parent } : {}),
|
|
121
177
|
...(slot != null ? { slot } : {}),
|
|
122
178
|
store: service.store(type.type),
|
|
179
|
+
schemas,
|
|
123
180
|
};
|
|
124
181
|
};
|
|
125
182
|
/** The project a transition is filed under: a project's own id, else its parent's project. */
|
|
126
|
-
|
|
183
|
+
const projectFor = (resolved, exec, cardId) => {
|
|
127
184
|
if (resolved.card != null) {
|
|
128
185
|
return isProject(resolved.card) ? resolved.card.id : projectOf(resolved.card, resolved.parent);
|
|
129
186
|
}
|
|
@@ -133,4 +190,6 @@ export const projectFor = (resolved, exec, cardId) => {
|
|
|
133
190
|
}
|
|
134
191
|
return projectOf({ kind: draft.kind, parent: draft.parent, parents: draft.parents ?? [] }, resolved.parent);
|
|
135
192
|
};
|
|
193
|
+
export const createResolveHelper = () => ({ normalizeExecution, assertChildAllowed, childViewOf, resolveExecution, projectFor });
|
|
194
|
+
export const resolveHelper = createResolveHelper();
|
|
136
195
|
//# sourceMappingURL=resolve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/executor/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/executor/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { AnyTypeSchema, PlanningSchemaRegistry, PlanningStore, SpecificationSlot, StatusFlowSchema, Workcard } from '@owlmeans/planning';
|
|
2
|
+
import type { createResolveHelper } from './resolve.js';
|
|
3
|
+
/** Everything the steps after resolution read about an execution. */
|
|
4
|
+
export interface Resolved {
|
|
5
|
+
create: boolean;
|
|
6
|
+
/** The existing card (not a create). */
|
|
7
|
+
card?: Workcard;
|
|
8
|
+
type: AnyTypeSchema;
|
|
9
|
+
flowId: string;
|
|
10
|
+
flow: StatusFlowSchema;
|
|
11
|
+
/** The primary parent, when it resolves. */
|
|
12
|
+
parent?: Workcard;
|
|
13
|
+
/** The slot a specification belongs to. */
|
|
14
|
+
slot?: SpecificationSlot;
|
|
15
|
+
/** The store the type is written to. */
|
|
16
|
+
store: PlanningStore;
|
|
17
|
+
/**
|
|
18
|
+
* The registry every later step reads: the service's code registry itself, or — where the store
|
|
19
|
+
* holds data-defined schemas — the resolved layer of the card's project.
|
|
20
|
+
*/
|
|
21
|
+
schemas: PlanningSchemaRegistry;
|
|
22
|
+
}
|
|
23
|
+
export type ResolveHelper = ReturnType<typeof createResolveHelper>;
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/executor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7I,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,qEAAqE;AACrE,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,OAAO,CAAA;IACf,wCAAwC;IACxC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,gBAAgB,CAAA;IACtB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,wCAAwC;IACxC,KAAK,EAAE,aAAa,CAAA;IACpB;;;OAGG;IACH,OAAO,EAAE,sBAAsB,CAAA;CAChC;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/executor/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { PlanningRuntime } from '../
|
|
3
|
-
import type { Resolved } from './
|
|
1
|
+
import { type PlanningFacade, type TransitionExecution } from '@owlmeans/planning';
|
|
2
|
+
import type { PlanningRuntime } from '../types.js';
|
|
3
|
+
import type { Resolved } from './types.js';
|
|
4
4
|
/**
|
|
5
|
-
* Step 6: shape, flow rule, immutables
|
|
6
|
-
*
|
|
5
|
+
* Step 6: shape, flow rule, immutables (`createdBy` among them, {@link assertCreatorFixed}),
|
|
6
|
+
* `fields`, labels, parent moves, the specification slot and relationships — in that order.
|
|
7
|
+
* Nothing is written by a refusal here.
|
|
7
8
|
*
|
|
8
9
|
* @throws {PlanningError} `malformed:*` / `immutable:*`
|
|
9
10
|
* @throws {IllegalTransition | FieldsInvalid | LabelNotAllowed | ParentNotFound | CardTypeNotAllowed}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/executor/validate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/executor/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiX,KAAK,cAAc,EAA8C,KAAK,mBAAmB,EAAsB,MAAM,oBAAoB,CAAA;AACjgB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAgO1C;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,YACnB,eAAe,UAAU,cAAc,QAAQ,mBAAmB,YAAY,QAAQ,KAC9F,OAAO,CAAC,IAAI,CAUd,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { applyUnset, assertMutable, BODY_MAX, CODE_MAX, DESCRIPTION_MAX, IllegalTransition, LabelNotAllowed, MAX_LABELS, MAX_PARENTS, mergeFields, normalizeParents, ParentNotFound, PlanningError, RelationshipRefused, ruleOf, SpecificationRevisionConflict, SpecificationSlotUnknown, slotOf, TITLE_MAX, TransitionAction, validateFields, validateSpecificationBody, WorkcardKind
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { applyUnset, assertMutable, BODY_MAX, CODE_MAX, DESCRIPTION_MAX, IllegalTransition, LabelNotAllowed, MAX_LABELS, MAX_PARENTS, mergeFields, normalizeParents, ParentNotFound, PlanningError, RelationshipRefused, ruleOf, SpecificationRevisionConflict, SpecificationSlotUnknown, slotOf, TITLE_MAX, TransitionAction, validateFields, validateSpecificationBody, WorkcardKind } from '@owlmeans/planning';
|
|
2
|
+
import { assertCreatorFixed } from './creator.js';
|
|
3
|
+
import { ACTIONS } from './consts.local.js';
|
|
4
|
+
import { resolveHelper } from './resolve.js';
|
|
4
5
|
const malformed = (what) => new PlanningError(`malformed:${what}`);
|
|
5
6
|
const assertText = (name, value, max, required) => {
|
|
6
7
|
if (value === undefined || value === null) {
|
|
@@ -43,10 +44,10 @@ const assertShape = (exec, resolved) => {
|
|
|
43
44
|
assertText('description', changes.description ?? undefined, DESCRIPTION_MAX, false);
|
|
44
45
|
assertText('code', changes.code ?? undefined, CODE_MAX, false);
|
|
45
46
|
};
|
|
46
|
-
const assertFlow = (exec, resolved
|
|
47
|
+
const assertFlow = (exec, resolved) => {
|
|
47
48
|
if (resolved.create) {
|
|
48
49
|
const status = exec.card.status;
|
|
49
|
-
const primary =
|
|
50
|
+
const primary = resolved.schemas.primaryFlow(resolved.type.type);
|
|
50
51
|
if (status != null && !primary.statuses.some(definition => definition.key === status)) {
|
|
51
52
|
throw new IllegalTransition(`${primary.id}:create:${status}`);
|
|
52
53
|
}
|
|
@@ -61,8 +62,8 @@ const assertFlow = (exec, resolved, runtime) => {
|
|
|
61
62
|
throw new IllegalTransition(`${resolved.flowId}:${exec.transition}:${from}`);
|
|
62
63
|
}
|
|
63
64
|
};
|
|
64
|
-
const assertFields = (exec, resolved
|
|
65
|
-
const schemas =
|
|
65
|
+
const assertFields = (exec, resolved) => {
|
|
66
|
+
const schemas = resolved.schemas;
|
|
66
67
|
if (resolved.create) {
|
|
67
68
|
const draft = exec.card;
|
|
68
69
|
validateFields(schemas, resolved.type.type, mergeFields(draft.fields, exec.changes?.fields));
|
|
@@ -107,15 +108,15 @@ const assertParentMove = async (exec, resolved, runtime, facade) => {
|
|
|
107
108
|
if (found == null) {
|
|
108
109
|
throw new ParentNotFound(id);
|
|
109
110
|
}
|
|
110
|
-
assertChildAllowed(runtime, found, resolved.card.kind, resolved.card.type);
|
|
111
|
+
resolveHelper.assertChildAllowed(runtime, found, resolved.card.kind, resolved.card.type, await resolveHelper.childViewOf(runtime, facade.scope.entityId, found));
|
|
111
112
|
}
|
|
112
113
|
};
|
|
113
|
-
const assertSpecification = async (exec, resolved,
|
|
114
|
+
const assertSpecification = async (exec, resolved, facade) => {
|
|
114
115
|
const kind = resolved.create ? exec.card.kind : resolved.card.kind;
|
|
115
116
|
if (kind !== WorkcardKind.Specification) {
|
|
116
117
|
return;
|
|
117
118
|
}
|
|
118
|
-
const schemas =
|
|
119
|
+
const schemas = resolved.schemas;
|
|
119
120
|
if (resolved.create) {
|
|
120
121
|
const draft = exec.card;
|
|
121
122
|
const parent = resolved.parent;
|
|
@@ -202,8 +203,9 @@ const assertRelationships = async (exec, resolved, facade) => {
|
|
|
202
203
|
}
|
|
203
204
|
};
|
|
204
205
|
/**
|
|
205
|
-
* Step 6: shape, flow rule, immutables
|
|
206
|
-
*
|
|
206
|
+
* Step 6: shape, flow rule, immutables (`createdBy` among them, {@link assertCreatorFixed}),
|
|
207
|
+
* `fields`, labels, parent moves, the specification slot and relationships — in that order.
|
|
208
|
+
* Nothing is written by a refusal here.
|
|
207
209
|
*
|
|
208
210
|
* @throws {PlanningError} `malformed:*` / `immutable:*`
|
|
209
211
|
* @throws {IllegalTransition | FieldsInvalid | LabelNotAllowed | ParentNotFound | CardTypeNotAllowed}
|
|
@@ -211,12 +213,13 @@ const assertRelationships = async (exec, resolved, facade) => {
|
|
|
211
213
|
*/
|
|
212
214
|
export const validateExecution = async (runtime, facade, exec, resolved) => {
|
|
213
215
|
assertShape(exec, resolved);
|
|
214
|
-
assertFlow(exec, resolved
|
|
216
|
+
assertFlow(exec, resolved);
|
|
215
217
|
assertMutable(exec, resolved.type);
|
|
216
|
-
|
|
218
|
+
assertCreatorFixed(exec);
|
|
219
|
+
assertFields(exec, resolved);
|
|
217
220
|
assertLabels(exec, resolved);
|
|
218
221
|
await assertParentMove(exec, resolved, runtime, facade);
|
|
219
|
-
await assertSpecification(exec, resolved,
|
|
222
|
+
await assertSpecification(exec, resolved, facade);
|
|
220
223
|
await assertRelationships(exec, resolved, facade);
|
|
221
224
|
};
|
|
222
225
|
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/executor/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/executor/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,yBAAyB,EAAE,YAAY,EAAiH,MAAM,oBAAoB,CAAA;AAEjgB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,SAAS,GAAG,CAAC,IAAY,EAAiB,EAAE,CAAC,IAAI,aAAa,CAAC,aAAa,IAAI,EAAE,CAAC,CAAA;AAEzF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,KAAc,EAAE,GAAW,EAAE,QAAiB,EAAQ,EAAE;IACxF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QACD,OAAM;IACR,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAClF,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,IAAyB,EAAE,QAAkB,EAAQ,EAAE;IAC1E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,SAAS,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAClE,MAAM,SAAS,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,CAAC;QACpG,MAAM,SAAS,CAAC,4BAA4B,CAAC,CAAA;IAC/C,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC;WACjF,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;QACvG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,eAAe,CAAC,CAAA;IAChD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAqB,CAAA;QACxC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;QACjD,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;QACpE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC;YAC/C,MAAM,SAAS,CAAC,SAAS,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;IAClC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;IACD,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;IACnF,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;AAChE,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,IAAyB,EAAE,QAAkB,EAAQ,EAAE;IACzE,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,MAAM,GAAI,IAAI,CAAC,IAAsB,CAAC,MAAM,CAAA;QAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChE,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,iBAAiB,CAAC,GAAG,OAAO,CAAC,EAAE,WAAW,MAAM,EAAE,CAAC,CAAA;QAC/D,CAAC;QACD,OAAM;IACR,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC7C,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAK,CAAA;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAA;IACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAW,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAI,iBAAiB,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC,CAAA;IAC9E,CAAC;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,IAAyB,EAAE,QAAkB,EAAQ,EAAE;IAC3E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;IAChC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAqB,CAAA;QACxC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;QAC5F,OAAM;IACR,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5E,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAM;IACR,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACvG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,IAAyB,EAAE,QAAkB,EAAQ,EAAE;IAC3E,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,IAAsB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;KAChC,CAAA;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,eAAe,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAA;IACpC,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5F,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;AACH,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,KAAK,EAC5B,IAAyB,EAAE,QAAkB,EAAE,OAAwB,EAAE,MAAsB,EAChF,EAAE;IACjB,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;IAClC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;SAC1E,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IACrF,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAK,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,SAAS,CAAC,aAAa,CAAC,CAAA;QAChC,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,EAAE,CAAC,CAAA;QAC9B,CAAC;QACD,aAAa,CAAC,kBAAkB,CAC9B,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAK,CAAC,IAAI,EAAE,MAAM,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CACjI,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAyB,EAAE,QAAkB,EAAE,MAAsB,EACtD,EAAE;IACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,IAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAK,CAAC,IAAI,CAAA;IACtF,IAAI,IAAI,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC;QACxC,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;IAEhC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAqB,CAAA;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAO,CAAA;QAC/B,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;YACpD,MAAM,SAAS,CAAC,gCAAgC,CAAC,CAAA;QACnD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC9D,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,wBAAwB,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QACxE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,SAAS,CAAC,UAAU,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QAC7D,CAAC;QACD,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC/C,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YACtG,MAAM,IAAI,6BAA6B,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAqB,CAAA;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;IAClC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzE,MAAM,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAA;IAC/C,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IAC1B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7D,MAAM,SAAS,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9D,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QACzB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QACjD,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAyB,EAAE,QAAkB,EAAE,MAAsB,EACtD,EAAE;IACjB,MAAM,MAAM,GAAwB,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM;QACzE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QAClB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACxG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAA;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9D,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,mBAAmB,CAAC,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,mBAAmB,CAAC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YAClG,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,mBAAmB,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;YACnE,CAAC;YACD,SAAQ;QACV,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAChD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;QACjD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,mBAAmB,CAAC,aAAa,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAChF,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,mBAAmB,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,IAAI;gBAC7B,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK;qBAC1E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAA;YAChD,IAAI,KAAK,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,mBAAmB,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,OAAwB,EAAE,MAAsB,EAAE,IAAyB,EAAE,QAAkB,EAChF,EAAE;IACjB,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC3B,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC1B,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAClC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACxB,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC5B,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC5B,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACvD,MAAM,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IACjD,MAAM,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AACnD,CAAC,CAAA"}
|
package/build/executor.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { PlanningRuntime } from './
|
|
1
|
+
import { type ExecuteOptions, type PlanningFacade, type TransitionExecution, type TransitionReceipt } from '@owlmeans/planning';
|
|
2
|
+
import type { PlanningRuntime } from './types.js';
|
|
3
|
+
export { assertCreatorFixed, creatorOf, withCreator } from './executor/creator.js';
|
|
3
4
|
/**
|
|
4
5
|
* THE write path. Nothing is appended before step 11, so every refusal leaves the log untouched.
|
|
5
6
|
*
|
|
6
|
-
* 1 normalize
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* 1 normalize (a create's `createdBy` defaults to the scope's subject — {@link withCreator}) →
|
|
8
|
+
* 2 scope → 3 idempotency (a known `key` answers its first receipt, before any validation) →
|
|
9
|
+
* 4 resolve → 5 the plugins' `before` chain (re-resolved once when it moved the type or the parent)
|
|
10
|
+
* → 6 validate (a `createdBy` in `changes`/`unset` is refused — {@link assertCreatorFixed}) →
|
|
11
|
+
* 7 allocate the card id → 8 code → 9 changes (an update changing nothing answers
|
|
12
|
+
* the current receipt and appends nothing) → 10 seq, a CAS against the head → 11 append →
|
|
13
|
+
* 12 request the projection → 13 receipt → 14 `wait`.
|
|
11
14
|
*
|
|
12
15
|
* `after` hooks are NOT run here — the process that folds runs them, once per commit.
|
|
13
16
|
*/
|
package/build/executor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwD,KAAK,cAAc,EAA4B,KAAK,cAAc,EAA4D,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAOzQ,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAkDlF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,YACnB,eAAe,UAAU,cAAc,SAAS,mBAAmB,SAAS,cAAc,KAClG,OAAO,CAAC,iBAAiB,CAuE3B,CAAA"}
|