@owlmeans/server-planning 0.1.18-rc.9 → 0.1.18
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 +92 -19
- package/agent-meta/manifest.json +105 -4
- package/agent-meta/skills/server-planning/SKILL.md +89 -138
- package/agent-meta/skills/server-planning/parts/auxiliary.md +54 -0
- package/agent-meta/skills/server-planning/parts/executor.md +82 -0
- package/agent-meta/skills/server-planning/parts/schemas.md +26 -0
- package/agent-meta/skills/server-planning/parts/serving.md +88 -0
- package/agent-meta/skills/server-planning/parts/stores.md +91 -0
- package/build/actions/apply-schema-request.d.ts +8 -0
- package/build/actions/apply-schema-request.d.ts.map +1 -0
- package/build/actions/apply-schema-request.js +33 -0
- package/build/actions/apply-schema-request.js.map +1 -0
- package/build/actions/commit.d.ts +3 -3
- package/build/actions/commit.d.ts.map +1 -1
- package/build/actions/commit.js +5 -4
- package/build/actions/commit.js.map +1 -1
- package/build/actions/define-schemas.d.ts +13 -0
- package/build/actions/define-schemas.d.ts.map +1 -0
- package/build/actions/define-schemas.js +28 -0
- package/build/actions/define-schemas.js.map +1 -0
- package/build/actions/execute.d.ts +11 -10
- package/build/actions/execute.d.ts.map +1 -1
- package/build/actions/execute.js +17 -27
- package/build/actions/execute.js.map +1 -1
- package/build/actions/execution/types.d.ts +34 -0
- package/build/actions/execution/types.d.ts.map +1 -0
- package/build/actions/execution/types.js +2 -0
- package/build/actions/execution/types.js.map +1 -0
- package/build/actions/execution.d.ts +4 -0
- package/build/actions/execution.d.ts.map +1 -0
- package/build/actions/execution.js +88 -0
- package/build/actions/execution.js.map +1 -0
- package/build/actions/get-card.d.ts +6 -0
- package/build/actions/get-card.d.ts.map +1 -0
- package/build/actions/get-card.js +9 -0
- package/build/actions/get-card.js.map +1 -0
- package/build/actions/get-specification.d.ts +6 -0
- package/build/actions/get-specification.d.ts.map +1 -0
- package/build/actions/get-specification.js +9 -0
- package/build/actions/get-specification.js.map +1 -0
- package/build/actions/index.d.ts +12 -3
- package/build/actions/index.d.ts.map +1 -1
- package/build/actions/index.js +11 -3
- package/build/actions/index.js.map +1 -1
- package/build/actions/links.d.ts +3 -3
- package/build/actions/links.d.ts.map +1 -1
- package/build/actions/links.js +6 -5
- package/build/actions/links.js.map +1 -1
- package/build/actions/list-card-specifications.d.ts +6 -0
- package/build/actions/list-card-specifications.d.ts.map +1 -0
- package/build/actions/list-card-specifications.js +11 -0
- package/build/actions/list-card-specifications.js.map +1 -0
- package/build/actions/list-card-transitions.d.ts +6 -0
- package/build/actions/list-card-transitions.d.ts.map +1 -0
- package/build/actions/list-card-transitions.js +11 -0
- package/build/actions/list-card-transitions.js.map +1 -0
- package/build/actions/list-cards.d.ts +6 -0
- package/build/actions/list-cards.d.ts.map +1 -0
- package/build/actions/list-cards.js +10 -0
- package/build/actions/list-cards.js.map +1 -0
- package/build/actions/list-schemas.d.ts +13 -0
- package/build/actions/list-schemas.d.ts.map +1 -0
- package/build/actions/list-schemas.js +20 -0
- package/build/actions/list-schemas.js.map +1 -0
- package/build/actions/list-specification-revisions.d.ts +6 -0
- package/build/actions/list-specification-revisions.d.ts.map +1 -0
- package/build/actions/list-specification-revisions.js +10 -0
- package/build/actions/list-specification-revisions.js.map +1 -0
- package/build/actions/resources.d.ts +5 -0
- package/build/actions/resources.d.ts.map +1 -0
- package/build/actions/resources.js +111 -0
- package/build/actions/resources.js.map +1 -0
- package/build/actions/summarize-cards.d.ts +6 -0
- package/build/actions/summarize-cards.d.ts.map +1 -0
- package/build/actions/summarize-cards.js +11 -0
- package/build/actions/summarize-cards.js.map +1 -0
- package/build/actions/transitions.d.ts +3 -3
- package/build/actions/transitions.d.ts.map +1 -1
- package/build/actions/transitions.js +4 -3
- package/build/actions/transitions.js.map +1 -1
- package/build/actions/types.d.ts +6 -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 +2 -2
- package/build/actions/watch.d.ts.map +1 -1
- package/build/actions/watch.js +8 -6
- package/build/actions/watch.js.map +1 -1
- package/build/conformance/assert/types.d.ts +19 -0
- package/build/conformance/assert/types.d.ts.map +1 -0
- package/build/conformance/assert/types.js +2 -0
- package/build/conformance/assert/types.js.map +1 -0
- package/build/conformance/assert.d.ts +15 -0
- package/build/conformance/assert.d.ts.map +1 -0
- package/build/conformance/assert.js +52 -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 +544 -0
- package/build/conformance/cases.js.map +1 -0
- package/build/conformance/clock.d.ts +6 -0
- package/build/conformance/clock.d.ts.map +1 -0
- package/build/conformance/clock.js +12 -0
- package/build/conformance/clock.js.map +1 -0
- package/build/conformance/consts.d.ts +30 -0
- package/build/conformance/consts.d.ts.map +1 -0
- package/build/conformance/consts.js +159 -0
- package/build/conformance/consts.js.map +1 -0
- package/build/conformance/errors.d.ts +5 -0
- package/build/conformance/errors.d.ts.map +1 -0
- package/build/conformance/errors.js +8 -0
- package/build/conformance/errors.js.map +1 -0
- package/build/conformance/fixtures/types.d.ts +13 -0
- package/build/conformance/fixtures/types.d.ts.map +1 -0
- package/build/conformance/fixtures/types.js +2 -0
- package/build/conformance/fixtures/types.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 +26 -0
- package/build/conformance/fixtures.js.map +1 -0
- package/build/conformance/index.d.ts +15 -0
- package/build/conformance/index.d.ts.map +1 -0
- package/build/conformance/index.js +12 -0
- package/build/conformance/index.js.map +1 -0
- package/build/conformance/resources.d.ts +4 -0
- package/build/conformance/resources.d.ts.map +1 -0
- package/build/conformance/resources.js +228 -0
- package/build/conformance/resources.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 +18 -0
- package/build/definitions.d.ts.map +1 -0
- package/build/definitions.js +225 -0
- package/build/definitions.js.map +1 -0
- package/build/executor/changes/types.d.ts +36 -0
- package/build/executor/changes/types.d.ts.map +1 -0
- package/build/executor/changes/types.js +2 -0
- package/build/executor/changes/types.js.map +1 -0
- package/build/executor/changes.d.ts +3 -30
- package/build/executor/changes.d.ts.map +1 -1
- package/build/executor/changes.js +42 -51
- package/build/executor/changes.js.map +1 -1
- package/build/executor/code/types.d.ts +17 -0
- package/build/executor/code/types.d.ts.map +1 -0
- package/build/executor/code/types.js +2 -0
- package/build/executor/code/types.js.map +1 -0
- package/build/executor/code.d.ts +3 -14
- package/build/executor/code.d.ts.map +1 -1
- package/build/executor/code.js +50 -54
- 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/types.d.ts +33 -0
- package/build/executor/creator/types.d.ts.map +1 -0
- package/build/executor/creator/types.js +2 -0
- package/build/executor/creator/types.js.map +1 -0
- package/build/executor/creator.d.ts +11 -0
- package/build/executor/creator.d.ts.map +1 -0
- package/build/executor/creator.js +32 -0
- package/build/executor/creator.js.map +1 -0
- package/build/executor/resolve/types.d.ts +30 -0
- package/build/executor/resolve/types.d.ts.map +1 -0
- package/build/executor/resolve/types.js +2 -0
- package/build/executor/resolve/types.js.map +1 -0
- package/build/executor/resolve.d.ts +5 -34
- package/build/executor/resolve.d.ts.map +1 -1
- package/build/executor/resolve.js +169 -110
- package/build/executor/resolve.js.map +1 -1
- package/build/executor/types.d.ts +23 -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 +38 -27
- package/build/executor/validate.js.map +1 -1
- package/build/executor.d.ts +11 -7
- package/build/executor.d.ts.map +1 -1
- package/build/executor.js +27 -21
- 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 +144 -22
- package/build/facade.js.map +1 -1
- package/build/helper.d.ts +5 -9
- package/build/helper.d.ts.map +1 -1
- package/build/helper.js +12 -11
- package/build/helper.js.map +1 -1
- package/build/hierarchy/types.d.ts +20 -0
- package/build/hierarchy/types.d.ts.map +1 -0
- package/build/hierarchy/types.js +2 -0
- package/build/hierarchy/types.js.map +1 -0
- package/build/hierarchy.d.ts +5 -0
- package/build/hierarchy.d.ts.map +1 -0
- package/build/hierarchy.js +133 -0
- package/build/hierarchy.js.map +1 -0
- 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/invariants/types.d.ts +6 -0
- package/build/invariants/types.d.ts.map +1 -0
- package/build/invariants/types.js +2 -0
- package/build/invariants/types.js.map +1 -0
- package/build/invariants.d.ts +5 -0
- package/build/invariants.d.ts.map +1 -0
- package/build/invariants.js +126 -0
- package/build/invariants.js.map +1 -0
- package/build/projection.d.ts +4 -10
- package/build/projection.d.ts.map +1 -1
- package/build/projection.js +7 -5
- 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/declare.d.ts +5 -0
- package/build/queue/declare.d.ts.map +1 -0
- package/build/queue/declare.js +5 -0
- package/build/queue/declare.js.map +1 -0
- package/build/queue/index.d.ts +3 -18
- package/build/queue/index.d.ts.map +1 -1
- package/build/queue/index.js +2 -7
- 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 +5 -22
- package/build/registry.d.ts.map +1 -1
- package/build/registry.js +16 -10
- package/build/registry.js.map +1 -1
- package/build/resources.d.ts +5 -0
- package/build/resources.d.ts.map +1 -0
- package/build/resources.js +287 -0
- package/build/resources.js.map +1 -0
- package/build/service.d.ts +3 -16
- package/build/service.d.ts.map +1 -1
- package/build/service.js +12 -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 +7 -2
- 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/types.d.ts +43 -0
- package/build/store/fold/types.d.ts.map +1 -0
- package/build/store/fold/types.js +2 -0
- package/build/store/fold/types.js.map +1 -0
- package/build/store/fold.d.ts +8 -30
- package/build/store/fold.d.ts.map +1 -1
- package/build/store/fold.js +190 -198
- package/build/store/fold.js.map +1 -1
- package/build/store/index.d.ts +1 -0
- package/build/store/index.d.ts.map +1 -1
- package/build/store/index.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 +5 -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 +126 -2
- 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/access/types.d.ts +30 -0
- package/build/utils/access/types.d.ts.map +1 -0
- package/build/utils/access/types.js +2 -0
- package/build/utils/access/types.js.map +1 -0
- package/build/utils/access.d.ts +4 -0
- package/build/utils/access.d.ts.map +1 -0
- package/build/utils/access.js +28 -0
- package/build/utils/access.js.map +1 -0
- package/build/utils/guard/types.d.ts +23 -0
- package/build/utils/guard/types.d.ts.map +1 -0
- package/build/utils/guard/types.js +2 -0
- package/build/utils/guard/types.js.map +1 -0
- package/build/utils/guard.d.ts +7 -10
- package/build/utils/guard.d.ts.map +1 -1
- package/build/utils/guard.js +36 -32
- package/build/utils/guard.js.map +1 -1
- package/build/utils/handler/types.d.ts +26 -0
- package/build/utils/handler/types.d.ts.map +1 -0
- package/build/utils/handler/types.js +2 -0
- package/build/utils/handler/types.js.map +1 -0
- package/build/utils/handler.d.ts +6 -0
- package/build/utils/handler.d.ts.map +1 -0
- package/build/utils/handler.js +21 -0
- package/build/utils/handler.js.map +1 -0
- package/build/utils/index.d.ts +8 -0
- package/build/utils/index.d.ts.map +1 -1
- package/build/utils/index.js +3 -0
- package/build/utils/index.js.map +1 -1
- package/build/utils/request/types.d.ts +23 -0
- package/build/utils/request/types.d.ts.map +1 -0
- package/build/utils/request/types.js +2 -0
- package/build/utils/request/types.js.map +1 -0
- package/build/utils/request.d.ts +4 -0
- package/build/utils/request.d.ts.map +1 -0
- package/build/utils/request.js +27 -0
- package/build/utils/request.js.map +1 -0
- package/build/utils/scope.d.ts +17 -13
- package/build/utils/scope.d.ts.map +1 -1
- package/build/utils/scope.js +21 -35
- 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 +30 -22
- package/src/actions/apply-schema-request.ts +36 -0
- package/src/actions/commit.ts +7 -5
- package/src/actions/define-schemas.ts +34 -0
- package/src/actions/execute.ts +32 -34
- package/src/actions/execution/types.ts +34 -0
- package/src/actions/execution.ts +100 -0
- package/src/actions/get-card.ts +14 -0
- package/src/actions/get-specification.ts +14 -0
- package/src/actions/index.ts +13 -3
- package/src/actions/links.ts +8 -6
- package/src/actions/list-card-specifications.ts +15 -0
- package/src/actions/list-card-transitions.ts +15 -0
- package/src/actions/list-cards.ts +14 -0
- package/src/actions/list-schemas.ts +29 -0
- package/src/actions/list-specification-revisions.ts +15 -0
- package/src/actions/resources.ts +79 -0
- package/src/actions/summarize-cards.ts +15 -0
- package/src/actions/transitions.ts +6 -4
- package/src/actions/types.ts +5 -0
- package/src/actions/watch.ts +11 -7
- package/src/conformance/assert/types.ts +16 -0
- package/src/conformance/assert.ts +67 -0
- package/src/conformance/cases.ts +631 -0
- package/src/conformance/clock.ts +11 -0
- package/src/conformance/consts.ts +165 -0
- package/src/conformance/errors.ts +7 -0
- package/src/conformance/fixtures/types.ts +11 -0
- package/src/conformance/fixtures.ts +46 -0
- package/src/conformance/index.ts +14 -0
- package/src/conformance/resources.ts +227 -0
- package/src/conformance/types.ts +20 -0
- package/src/consts.ts +6 -0
- package/src/definitions.ts +264 -0
- package/src/executor/changes/types.ts +38 -0
- package/src/executor/changes.ts +49 -68
- package/src/executor/code/types.ts +23 -0
- package/src/executor/code.ts +62 -69
- package/src/executor/consts.local.ts +8 -0
- package/src/executor/creator/types.ts +33 -0
- package/src/executor/creator.ts +43 -0
- package/src/executor/resolve/types.ts +30 -0
- package/src/executor/resolve.ts +181 -139
- package/src/executor/types.ts +23 -0
- package/src/executor/validate.ts +40 -38
- package/src/executor.ts +33 -27
- package/src/facade.ts +132 -29
- package/src/helper.ts +12 -11
- package/src/hierarchy/types.ts +20 -0
- package/src/hierarchy.ts +113 -0
- package/src/index.ts +1 -0
- package/src/invariants/types.ts +6 -0
- package/src/invariants.ts +106 -0
- package/src/projection.ts +12 -18
- package/src/queue/consts.ts +5 -0
- package/src/queue/declare.ts +7 -0
- package/src/queue/index.ts +3 -25
- package/src/queue/types.ts +14 -0
- package/src/registry.ts +18 -36
- package/src/resources.ts +256 -0
- package/src/service.ts +16 -20
- package/src/store/commits.ts +5 -4
- package/src/store/composite.ts +7 -2
- package/src/store/consts.local.ts +1 -0
- package/src/store/fold/types.ts +44 -0
- package/src/store/fold.ts +214 -212
- package/src/store/index.ts +1 -0
- 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 +139 -6
- package/src/utils/access/types.ts +30 -0
- package/src/utils/access.ts +33 -0
- package/src/utils/guard/types.ts +21 -0
- package/src/utils/guard.ts +44 -31
- package/src/utils/handler/types.ts +28 -0
- package/src/utils/handler.ts +35 -0
- package/src/utils/index.ts +9 -0
- package/src/utils/request/types.ts +23 -0
- package/src/utils/request.ts +40 -0
- package/src/utils/scope.ts +39 -42
- package/src/utils/types.ts +8 -0
- package/tests/access.spec.ts +160 -0
- package/tests/app.spec.ts +112 -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/memory-store.spec.ts +52 -0
- package/tests/narrowing.spec.ts +94 -0
- package/tests/plugins.spec.ts +4 -3
- package/tests/writes.spec.ts +140 -0
- package/build/actions/cards.d.ts +0 -16
- package/build/actions/cards.d.ts.map +0 -1
- package/build/actions/cards.js +0 -32
- package/build/actions/cards.js.map +0 -1
- package/build/actions/schemas.d.ts +0 -6
- package/build/actions/schemas.d.ts.map +0 -1
- package/build/actions/schemas.js +0 -9
- package/build/actions/schemas.js.map +0 -1
- package/build/actions/specs.d.ts +0 -10
- package/build/actions/specs.d.ts.map +0 -1
- package/build/actions/specs.js +0 -14
- package/build/actions/specs.js.map +0 -1
- package/src/actions/cards.ts +0 -52
- package/src/actions/schemas.ts +0 -15
- package/src/actions/specs.ts +0 -23
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ChangeSet, PlanningSchemaRegistry, PlanningScope, Transition, TransitionActor, TransitionExecution } from '@owlmeans/planning';
|
|
2
|
+
import type { Resolved } from '../types.js';
|
|
3
|
+
/** What step 11 builds the appended transition from. */
|
|
4
|
+
export interface AppendParams {
|
|
5
|
+
exec: TransitionExecution;
|
|
6
|
+
resolved: Resolved;
|
|
7
|
+
scope: PlanningScope;
|
|
8
|
+
set: ChangeSet;
|
|
9
|
+
cardId: string;
|
|
10
|
+
seq: number;
|
|
11
|
+
project?: string;
|
|
12
|
+
at: string;
|
|
13
|
+
}
|
|
14
|
+
/** The record an execution appends: its changes, its actor and the transition itself. */
|
|
15
|
+
export interface ChangesUtils {
|
|
16
|
+
/**
|
|
17
|
+
* Step 9: the recorded `changes`/`unset`, and whether an update wrote nothing.
|
|
18
|
+
*
|
|
19
|
+
* @throws {IllegalTransition | PlanningError}
|
|
20
|
+
*/
|
|
21
|
+
changeSetOf: (exec: TransitionExecution, resolved: Resolved, schemas: PlanningSchemaRegistry, at: string) => {
|
|
22
|
+
set: ChangeSet;
|
|
23
|
+
empty: boolean;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Who wrote it — the SCOPE's identity, never the execution's.
|
|
27
|
+
*
|
|
28
|
+
* `profileId`, `userId`, `service` and `channel` come only from the scope (the server builds it
|
|
29
|
+
* from the authenticated request); the descriptive `agent`/`runId` an in-process caller passes on
|
|
30
|
+
* the execution are kept unless the scope's own actor names them.
|
|
31
|
+
*/
|
|
32
|
+
actorOf: (scope: PlanningScope, exec: TransitionExecution) => TransitionActor;
|
|
33
|
+
/** Step 11's record: the event as it is appended, `pending`. */
|
|
34
|
+
transitionOf: (params: AppendParams) => Transition;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/executor/changes/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EACnG,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,mBAAmB,CAAA;IACzB,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,aAAa,CAAA;IACpB,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;CACX;AAED,yFAAyF;AACzF,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,WAAW,EAAE,CACX,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,KACvF;QAAE,GAAG,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAA;IACvC;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,KAAK,eAAe,CAAA;IAC7E,gEAAgE;IAChE,YAAY,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,UAAU,CAAA;CACnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/executor/changes/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,31 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Step 9: the recorded `changes`/`unset`, and whether an update wrote nothing.
|
|
5
|
-
*
|
|
6
|
-
* @throws {IllegalTransition | PlanningError}
|
|
7
|
-
*/
|
|
8
|
-
export declare const changeSetOf: (exec: TransitionExecution, resolved: Resolved, schemas: PlanningSchemaRegistry, at: string) => {
|
|
9
|
-
set: ChangeSet;
|
|
10
|
-
empty: boolean;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Who wrote it — the SCOPE's identity, never the execution's.
|
|
14
|
-
*
|
|
15
|
-
* `profileId`, `userId`, `service` and `channel` come only from the scope (the server builds it
|
|
16
|
-
* from the authenticated request); the descriptive `agent`/`runId` an in-process caller passes on
|
|
17
|
-
* the execution are kept unless the scope's own actor names them.
|
|
18
|
-
*/
|
|
19
|
-
export declare const actorOf: (scope: PlanningScope, exec: TransitionExecution) => TransitionActor;
|
|
20
|
-
/** Step 11's record: the event as it is appended, `pending`. */
|
|
21
|
-
export declare const transitionOf: (params: {
|
|
22
|
-
exec: TransitionExecution;
|
|
23
|
-
resolved: Resolved;
|
|
24
|
-
scope: PlanningScope;
|
|
25
|
-
set: ChangeSet;
|
|
26
|
-
cardId: string;
|
|
27
|
-
seq: number;
|
|
28
|
-
project?: string;
|
|
29
|
-
at: string;
|
|
30
|
-
}) => Transition;
|
|
1
|
+
import type { ChangesUtils } from './changes/types.js';
|
|
2
|
+
export declare const createChangesUtils: () => ChangesUtils;
|
|
3
|
+
export declare const changesUtils: ChangesUtils;
|
|
31
4
|
//# sourceMappingURL=changes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../src/executor/changes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../src/executor/changes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,oBAAoB,CAAA;AAMpE,eAAO,MAAM,kBAAkB,QAAO,YAiDrC,CAAA;AAED,eAAO,MAAM,YAAY,cAAuB,CAAA"}
|
|
@@ -1,55 +1,46 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { changesHelper, CommitState, TransitionAction } from '@owlmeans/planning';
|
|
2
2
|
const clean = (record) => Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined));
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
*
|
|
16
|
-
* `profileId`, `userId`, `service` and `channel` come only from the scope (the server builds it
|
|
17
|
-
* from the authenticated request); the descriptive `agent`/`runId` an in-process caller passes on
|
|
18
|
-
* the execution are kept unless the scope's own actor names them.
|
|
19
|
-
*/
|
|
20
|
-
export const actorOf = (scope, exec) => clean({
|
|
21
|
-
agent: exec.actor?.agent,
|
|
22
|
-
runId: exec.actor?.runId,
|
|
23
|
-
...clean({ profileId: scope.profileId, userId: scope.userId, service: scope.service }),
|
|
24
|
-
...clean(scope.actor ?? {}),
|
|
25
|
-
channel: scope.channel ?? scope.actor?.channel,
|
|
26
|
-
});
|
|
27
|
-
const withFrom = (link, card) => ({ ...link, from: link.from ?? card });
|
|
28
|
-
/** Step 11's record: the event as it is appended, `pending`. */
|
|
29
|
-
export const transitionOf = (params) => {
|
|
30
|
-
const { exec, resolved, scope, set, cardId, seq, project, at } = params;
|
|
31
|
-
const kind = resolved.create ? exec.card.kind : resolved.card.kind;
|
|
32
|
-
return clean({
|
|
33
|
-
entityId: scope.entityId,
|
|
34
|
-
card: cardId,
|
|
35
|
-
kind,
|
|
36
|
-
type: resolved.type.type,
|
|
37
|
-
project,
|
|
38
|
-
seq,
|
|
39
|
-
action: exec.action,
|
|
40
|
-
flow: set.flow,
|
|
41
|
-
transition: exec.action === TransitionAction.Transit ? exec.transition : undefined,
|
|
42
|
-
from: set.from,
|
|
43
|
-
to: set.to,
|
|
44
|
-
changes: set.changes,
|
|
45
|
-
unset: set.unset.length > 0 ? set.unset : undefined,
|
|
46
|
-
link: exec.link != null && exec.action !== TransitionAction.Create ? withFrom(exec.link, cardId) : undefined,
|
|
47
|
-
links: resolved.create && (exec.links?.length ?? 0) > 0 ? exec.links.map(link => withFrom(link, cardId)) : undefined,
|
|
48
|
-
actor: actorOf(scope, exec),
|
|
49
|
-
cause: exec.cause,
|
|
50
|
-
key: exec.key,
|
|
51
|
-
at,
|
|
52
|
-
commit: { state: CommitState.Pending },
|
|
3
|
+
export const createChangesUtils = () => {
|
|
4
|
+
const changeSetOf = (exec, resolved, schemas, at) => {
|
|
5
|
+
const set = changesHelper.computeChanges(resolved.card, exec, resolved.type, schemas, at, { slot: resolved.slot });
|
|
6
|
+
const empty = exec.action === TransitionAction.Update && changesHelper.isEmptyChange(set);
|
|
7
|
+
return { set, empty };
|
|
8
|
+
};
|
|
9
|
+
const actorOf = (scope, exec) => clean({
|
|
10
|
+
agent: exec.actor?.agent,
|
|
11
|
+
runId: exec.actor?.runId,
|
|
12
|
+
...clean({ profileId: scope.profileId, userId: scope.userId, service: scope.service }),
|
|
13
|
+
...clean(scope.actor ?? {}),
|
|
14
|
+
channel: scope.channel ?? scope.actor?.channel,
|
|
53
15
|
});
|
|
16
|
+
const withFrom = (link, card) => ({ ...link, from: link.from ?? card });
|
|
17
|
+
const transitionOf = (params) => {
|
|
18
|
+
const { exec, resolved, scope, set, cardId, seq, project, at } = params;
|
|
19
|
+
const kind = resolved.create ? exec.card.kind : resolved.card.kind;
|
|
20
|
+
return clean({
|
|
21
|
+
entityId: scope.entityId,
|
|
22
|
+
card: cardId,
|
|
23
|
+
kind,
|
|
24
|
+
type: resolved.type.type,
|
|
25
|
+
project,
|
|
26
|
+
seq,
|
|
27
|
+
action: exec.action,
|
|
28
|
+
flow: set.flow,
|
|
29
|
+
transition: exec.action === TransitionAction.Transit ? exec.transition : undefined,
|
|
30
|
+
from: set.from,
|
|
31
|
+
to: set.to,
|
|
32
|
+
changes: set.changes,
|
|
33
|
+
unset: set.unset.length > 0 ? set.unset : undefined,
|
|
34
|
+
link: exec.link != null && exec.action !== TransitionAction.Create ? withFrom(exec.link, cardId) : undefined,
|
|
35
|
+
links: resolved.create && (exec.links?.length ?? 0) > 0 ? exec.links.map(link => withFrom(link, cardId)) : undefined,
|
|
36
|
+
actor: actorOf(scope, exec),
|
|
37
|
+
cause: exec.cause,
|
|
38
|
+
key: exec.key,
|
|
39
|
+
at,
|
|
40
|
+
commit: { state: CommitState.Pending },
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
return { changeSetOf, actorOf, transitionOf };
|
|
54
44
|
};
|
|
45
|
+
export const changesUtils = createChangesUtils();
|
|
55
46
|
//# sourceMappingURL=changes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/executor/changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/executor/changes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { PlanningExecContext, PlanningPlugin, PlanningScope, TransitionExecution } from '@owlmeans/planning';
|
|
2
|
+
import type { PluginRegistry } from '../../types.js';
|
|
3
|
+
import type { Resolved } from '../types.js';
|
|
4
|
+
/** Step 8 of the write path: the code a card gets, unique within its policy's scope. */
|
|
5
|
+
export interface CodeUtils {
|
|
6
|
+
/**
|
|
7
|
+
* Step 8: the code a new card gets, or the check a changed code passes.
|
|
8
|
+
*
|
|
9
|
+
* A caller-supplied code is checked for uniqueness; otherwise the plugins' `mintCode` chain answers
|
|
10
|
+
* (first answer wins, and is checked too); otherwise the type's policy mints one — a slug policy
|
|
11
|
+
* derives it from the title. A type with no policy and no supplied code gets none.
|
|
12
|
+
*
|
|
13
|
+
* @throws {CodeTaken}
|
|
14
|
+
*/
|
|
15
|
+
assignCode: (exec: TransitionExecution, resolved: Resolved, scope: PlanningScope, registry: PluginRegistry, contextOf: (plugin: PlanningPlugin) => PlanningExecContext) => Promise<TransitionExecution>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/executor/code/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACjH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,wFAAwF;AACxF,MAAM,WAAW,SAAS;IACxB;;;;;;;;OAQG;IACH,UAAU,EAAE,CACV,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,mBAAmB,KACvD,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/executor/code/types.ts"],"names":[],"mappings":""}
|
package/build/executor/code.d.ts
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export declare const takenProbe: (resolved: Resolved, scope: PlanningScope, parent: string | undefined) => (code: string) => Promise<boolean>;
|
|
5
|
-
/**
|
|
6
|
-
* Step 8: the code a new card gets, or the check a changed code passes.
|
|
7
|
-
*
|
|
8
|
-
* A caller-supplied code is checked for uniqueness; otherwise the plugins' `mintCode` chain answers
|
|
9
|
-
* (first answer wins, and is checked too); otherwise the type's policy mints one — a slug policy
|
|
10
|
-
* derives it from the title. A type with no policy and no supplied code gets none.
|
|
11
|
-
*
|
|
12
|
-
* @throws {CodeTaken}
|
|
13
|
-
*/
|
|
14
|
-
export declare const assignCode: (exec: TransitionExecution, resolved: Resolved, scope: PlanningScope, registry: PluginRegistry, contextOf: (plugin: PlanningPlugin) => PlanningExecContext) => Promise<TransitionExecution>;
|
|
1
|
+
import type { CodeUtils } from './code/types.js';
|
|
2
|
+
export declare const createCodeUtils: () => CodeUtils;
|
|
3
|
+
export declare const codeUtils: CodeUtils;
|
|
15
4
|
//# sourceMappingURL=code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/executor/code.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/executor/code.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,eAAO,MAAM,eAAe,QAAO,SAmElC,CAAA;AAED,eAAO,MAAM,SAAS,WAAoB,CAAA"}
|
package/build/executor/code.js
CHANGED
|
@@ -1,59 +1,55 @@
|
|
|
1
|
-
import { CODE_MINT_ATTEMPTS, CodeScope, CodeStyle, CodeTaken,
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
})
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
1
|
+
import { CODE_MINT_ATTEMPTS, codeHelper, CodeScope, CodeStyle, CodeTaken, TransitionAction } from '@owlmeans/planning';
|
|
2
|
+
export const createCodeUtils = () => {
|
|
3
|
+
/** The criteria a code must be unique within — the policy's scope, `parent` when there is none. */
|
|
4
|
+
const scopeCriteria = (scope, type, parent, policy) => ({
|
|
5
|
+
entityId: scope.entityId,
|
|
6
|
+
type,
|
|
7
|
+
...((policy?.uniqueWithin ?? CodeScope.Parent) === CodeScope.Parent ? { parent: parent ?? null } : {}),
|
|
8
|
+
});
|
|
9
|
+
/** Is a code taken within the scope the type's policy names (its parent when it names none)? */
|
|
10
|
+
const takenProbe = (resolved, scope, parent) => {
|
|
11
|
+
const base = scopeCriteria(scope, resolved.type.type, parent, resolved.type.code);
|
|
12
|
+
return async (code) => await resolved.store.cards.count({ ...base, code }) > 0;
|
|
13
|
+
};
|
|
14
|
+
const assignCode = async (exec, resolved, scope, registry, contextOf) => {
|
|
15
|
+
const policy = resolved.type.code;
|
|
16
|
+
if (exec.action !== TransitionAction.Create) {
|
|
17
|
+
const code = exec.changes?.code;
|
|
18
|
+
if (code != null && code !== resolved.card?.code
|
|
19
|
+
&& await takenProbe(resolved, scope, exec.changes?.parent ?? resolved.card?.parent)(code)) {
|
|
20
|
+
throw new CodeTaken(code);
|
|
21
|
+
}
|
|
22
|
+
return exec;
|
|
23
|
+
}
|
|
24
|
+
const draft = exec.card;
|
|
25
|
+
const taken = takenProbe(resolved, scope, draft.parent);
|
|
26
|
+
if (draft.code != null && draft.code !== '') {
|
|
27
|
+
if (await taken(draft.code)) {
|
|
28
|
+
throw new CodeTaken(draft.code);
|
|
29
|
+
}
|
|
30
|
+
return exec;
|
|
31
|
+
}
|
|
32
|
+
if (policy == null) {
|
|
33
|
+
return exec;
|
|
28
34
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (await taken(draft.code)) {
|
|
35
|
-
throw new CodeTaken(draft.code);
|
|
35
|
+
let code = await registry.mintCode(draft, taken, contextOf);
|
|
36
|
+
if (code != null) {
|
|
37
|
+
if (await taken(code)) {
|
|
38
|
+
throw new CodeTaken(code);
|
|
39
|
+
}
|
|
36
40
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
throw new CodeTaken(code);
|
|
41
|
+
else {
|
|
42
|
+
const count = policy.style === CodeStyle.Sequential
|
|
43
|
+
? await resolved.store.cards.count(scopeCriteria(scope, draft.type, draft.parent, policy))
|
|
44
|
+
: undefined;
|
|
45
|
+
code = await codeHelper.mintCode(policy, taken, CODE_MINT_ATTEMPTS, {
|
|
46
|
+
...(policy.style === CodeStyle.Slug ? { seed: draft.title } : {}),
|
|
47
|
+
...(count != null ? { count } : {}),
|
|
48
|
+
});
|
|
46
49
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
? await resolved.store.cards.count(scopeCriteria(scope, draft.type, draft.parent, policy))
|
|
51
|
-
: undefined;
|
|
52
|
-
code = await mintCode(policy, taken, CODE_MINT_ATTEMPTS, {
|
|
53
|
-
...(policy.style === CodeStyle.Slug ? { seed: draft.title } : {}),
|
|
54
|
-
...(count != null ? { count } : {}),
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
return { ...exec, card: { ...draft, code } };
|
|
50
|
+
return { ...exec, card: { ...draft, code } };
|
|
51
|
+
};
|
|
52
|
+
return { assignCode };
|
|
58
53
|
};
|
|
54
|
+
export const codeUtils = createCodeUtils();
|
|
59
55
|
//# sourceMappingURL=code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/executor/code.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/executor/code.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** The field a create's draft writes once and nothing moves afterwards. */
|
|
2
|
+
export declare const CREATOR = "createdBy";
|
|
3
|
+
export declare const TRIMMED: readonly ['title', 'description', 'code'];
|
|
4
|
+
export declare const ACTIONS: Set<string>;
|
|
5
|
+
//# sourceMappingURL=consts.local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.d.ts","sourceRoot":"","sources":["../../src/executor/consts.local.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,eAAO,MAAM,OAAO,cAAc,CAAA;AAElC,eAAO,MAAM,OAAO,YAAI,OAAO,EAAE,aAAa,EAAE,MAAM,CAAU,CAAA;AAEhE,eAAO,MAAM,OAAO,aAAmD,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TransitionAction } from '@owlmeans/planning';
|
|
2
|
+
/** The field a create's draft writes once and nothing moves afterwards. */
|
|
3
|
+
export const CREATOR = 'createdBy';
|
|
4
|
+
export const TRIMMED = ['title', 'description', 'code'];
|
|
5
|
+
export const ACTIONS = new Set(Object.values(TransitionAction));
|
|
6
|
+
//# sourceMappingURL=consts.local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.js","sourceRoot":"","sources":["../../src/executor/consts.local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAA;AAElC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAU,CAAA;AAEhE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { PlanningScope, TransitionExecution } from '@owlmeans/planning';
|
|
2
|
+
/** Who owns a card: `createdBy`, stamped from the scope on a create and fixed after it. */
|
|
3
|
+
export interface CreatorHelper {
|
|
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
|
+
creatorOf: (scope: PlanningScope) => string | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* A create's draft with `createdBy` defaulted to {@link CreatorHelper.creatorOf} the scope. A
|
|
13
|
+
* `createdBy` the caller supplied wins; a scope that names nobody leaves the draft as it is;
|
|
14
|
+
* anything but a create 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
|
+
withCreator: (exec: TransitionExecution, scope: PlanningScope) => TransitionExecution;
|
|
20
|
+
/**
|
|
21
|
+
* Refuse an execution that names `createdBy` in `changes` or `unset`, whatever the action — a
|
|
22
|
+
* create included, whose owner is its draft's. After the create it never moves, so an ownership
|
|
23
|
+
* check (`card.createdBy === profileId`) cannot be bypassed by anyone allowed to update the card.
|
|
24
|
+
*
|
|
25
|
+
* The executor runs it with the immutables of step 6, after the `before` chain, so a wire body, an
|
|
26
|
+
* in-process caller and a plugin are refused alike. It is the executor's own check, whatever
|
|
27
|
+
* `@owlmeans/planning` build `changesHelper.assertMutable` comes from.
|
|
28
|
+
*
|
|
29
|
+
* @throws {PlanningError} `planning:immutable:createdBy`
|
|
30
|
+
*/
|
|
31
|
+
assertCreatorFixed: (exec: TransitionExecution) => void;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/executor/creator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE5E,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,GAAG,SAAS,CAAA;IACvD;;;;;;;OAOG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,aAAa,KAAK,mBAAmB,CAAA;IACrF;;;;;;;;;;OAUG;IACH,kBAAkB,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAA;CACxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/executor/creator/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type PlanningScope, type TransitionExecution } from '@owlmeans/planning';
|
|
2
|
+
import type { CreatorHelper } from './creator/types.js';
|
|
3
|
+
export declare const createCreatorHelper: () => CreatorHelper;
|
|
4
|
+
export declare const creatorHelper: CreatorHelper;
|
|
5
|
+
/** @deprecated compat:factory-refactor — use `creatorHelper.creatorOf(…)` */
|
|
6
|
+
export declare const creatorOf: (scope: PlanningScope) => string | undefined;
|
|
7
|
+
/** @deprecated compat:factory-refactor — use `creatorHelper.withCreator(…)` */
|
|
8
|
+
export declare const withCreator: (exec: TransitionExecution, scope: PlanningScope) => TransitionExecution;
|
|
9
|
+
/** @deprecated compat:factory-refactor — use `creatorHelper.assertCreatorFixed(…)` */
|
|
10
|
+
export declare const assertCreatorFixed: (exec: TransitionExecution) => void;
|
|
11
|
+
//# sourceMappingURL=creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creator.d.ts","sourceRoot":"","sources":["../../src/executor/creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAElH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIvD,eAAO,MAAM,mBAAmB,QAAO,aAwBtC,CAAA;AAED,eAAO,MAAM,aAAa,eAAwB,CAAA;AAElD,6EAA6E;AAC7E,eAAO,MAAM,SAAS,UAAW,aAAa,KAAG,MAAM,GAAG,SAA2C,CAAA;AAErG,+EAA+E;AAC/E,eAAO,MAAM,WAAW,SAAU,mBAAmB,SAAS,aAAa,KAAG,mBACtC,CAAA;AAExC,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,SAAU,mBAAmB,KAAG,IAA8C,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { PlanningError, TransitionAction } from '@owlmeans/planning';
|
|
2
|
+
import { CREATOR } from './consts.local.js';
|
|
3
|
+
const named = (value) => value != null && value !== '';
|
|
4
|
+
export const createCreatorHelper = () => {
|
|
5
|
+
const creatorOf = (scope) => [scope.profileId, scope.userId, scope.actor?.profileId, scope.actor?.userId].find(named);
|
|
6
|
+
const withCreator = (exec, scope) => {
|
|
7
|
+
if (exec.action !== TransitionAction.Create || exec.card == null || typeof exec.card !== 'object') {
|
|
8
|
+
return exec;
|
|
9
|
+
}
|
|
10
|
+
const creator = named(exec.card.createdBy) ? exec.card.createdBy : creatorOf(scope);
|
|
11
|
+
return { ...exec, card: { ...exec.card,
|
|
12
|
+
...(creator != null ? { createdBy: creator } : {}),
|
|
13
|
+
...(exec.card.reporter == null && scope.assigneeId != null ? { reporter: scope.assigneeId } : {}),
|
|
14
|
+
...(exec.card.assignee == null && scope.defaultAssigneeId != null ? { assignee: scope.defaultAssigneeId } : {}),
|
|
15
|
+
} };
|
|
16
|
+
};
|
|
17
|
+
const assertCreatorFixed = (exec) => {
|
|
18
|
+
if (exec.changes?.[CREATOR] !== undefined
|
|
19
|
+
|| (exec.unset ?? []).some(path => path.split('.')[0] === CREATOR)) {
|
|
20
|
+
throw new PlanningError(`immutable:${CREATOR}`);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return { creatorOf, withCreator, assertCreatorFixed };
|
|
24
|
+
};
|
|
25
|
+
export const creatorHelper = createCreatorHelper();
|
|
26
|
+
/** @deprecated compat:factory-refactor — use `creatorHelper.creatorOf(…)` */
|
|
27
|
+
export const creatorOf = (scope) => creatorHelper.creatorOf(scope);
|
|
28
|
+
/** @deprecated compat:factory-refactor — use `creatorHelper.withCreator(…)` */
|
|
29
|
+
export const withCreator = (exec, scope) => creatorHelper.withCreator(exec, scope);
|
|
30
|
+
/** @deprecated compat:factory-refactor — use `creatorHelper.assertCreatorFixed(…)` */
|
|
31
|
+
export const assertCreatorFixed = (exec) => creatorHelper.assertCreatorFixed(exec);
|
|
32
|
+
//# sourceMappingURL=creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creator.js","sourceRoot":"","sources":["../../src/executor/creator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { PlanningFacade, PlanningSchemaRegistry, TransitionExecution, Workcard, WorkcardKind } from '@owlmeans/planning';
|
|
2
|
+
import type { Resolved } from '../types.js';
|
|
3
|
+
/** Steps 1 and 4 of the write path, over one service runtime. */
|
|
4
|
+
export interface ResolveUtils {
|
|
5
|
+
/**
|
|
6
|
+
* Step 1: a deep copy with trimmed text, `parents ∋ parent` on a draft, and no duplicate `unset`
|
|
7
|
+
* paths. The caller's object is never touched.
|
|
8
|
+
*/
|
|
9
|
+
normalizeExecution: (input: TransitionExecution) => TransitionExecution;
|
|
10
|
+
/**
|
|
11
|
+
* The parent type's rule for a child of `kind`/`type`: a project lists the `cardTypes` (and
|
|
12
|
+
* `projectTypes`) it admits, and one declaring `scopedCardTypes` also admits a card type its layer
|
|
13
|
+
* (`view`, the parent project's resolved schemas) defines as data. Project types are code's alone.
|
|
14
|
+
*
|
|
15
|
+
* @throws {CardTypeNotAllowed}
|
|
16
|
+
*/
|
|
17
|
+
assertChildAllowed: (parent: Workcard, kind: WorkcardKind, type: string, view?: PlanningSchemaRegistry) => void;
|
|
18
|
+
/** The layer a parent project admits data-defined children through — `undefined` without a schema port. */
|
|
19
|
+
childViewOf: (entityId: string, parent: Workcard) => Promise<PlanningSchemaRegistry | undefined>;
|
|
20
|
+
/**
|
|
21
|
+
* Step 4: the card, its type and flow, its parent and — for a specification — its slot.
|
|
22
|
+
*
|
|
23
|
+
* @throws {WorkcardNotFound | PlanningScopeMismatch | UnknownWorkcardType | UnknownStatusFlow}
|
|
24
|
+
* @throws {ParentNotFound | CardTypeNotAllowed | PlanningError}
|
|
25
|
+
*/
|
|
26
|
+
resolveExecution: (facade: PlanningFacade, exec: TransitionExecution) => Promise<Resolved>;
|
|
27
|
+
/** The project a transition is filed under: a project's own id, else its parent's project. */
|
|
28
|
+
projectFor: (resolved: Resolved, exec: TransitionExecution, cardId: string) => string | undefined;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/executor/resolve/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC7H,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,mBAAmB,CAAA;IACvE;;;;;;OAMG;IACH,kBAAkB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAA;IAC/G,2GAA2G;IAC3G,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAA;IAChG;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1F,8FAA8F;IAC9F,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;CAClG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/executor/resolve/types.ts"],"names":[],"mappings":""}
|