@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
package/build/queue/index.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { declareQueue } from '@owlmeans/queue';
|
|
2
|
-
|
|
3
|
-
export const PLANNING_PROJECTION_QUEUE = 'planning-projection';
|
|
4
|
-
/** The processor name accepted by the planning projection queue. */
|
|
5
|
-
export const PLANNING_PROJECT_JOB = 'planning:project';
|
|
2
|
+
import { PLANNING_PROJECT_JOB, PLANNING_PROJECTION_QUEUE } from './consts.js';
|
|
6
3
|
/** Declare the shared projection address; each process separately chooses whether to listen. */
|
|
7
4
|
export const declarePlanningQueue = (cfg, opts) => declareQueue(cfg, PLANNING_PROJECTION_QUEUE, [PLANNING_PROJECT_JOB], opts);
|
|
5
|
+
export { PLANNING_PROJECTION_QUEUE, PLANNING_PROJECT_JOB } from './consts.js';
|
|
8
6
|
//# sourceMappingURL=index.js.map
|
package/build/queue/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAG7E,gGAAgG;AAChG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAmB,GAAM,EAAE,IAA2B,EAAK,EAAE,CAC/F,YAAY,CAAC,GAAG,EAAE,yBAAyB,EAAE,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAA;AAE5E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { JobOptions, QueueWorkerOptions } from '@owlmeans/queue';
|
|
2
|
+
/** What one projection job folds. */
|
|
3
|
+
export interface ProjectionRequest {
|
|
4
|
+
cardId: string;
|
|
5
|
+
entityId: string;
|
|
6
|
+
/** The transition that requested projection; it is a hint rather than a fold bound. */
|
|
7
|
+
transition?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface PlanningQueueOptions {
|
|
10
|
+
worker?: QueueWorkerOptions;
|
|
11
|
+
defaults?: JobOptions;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/queue/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAErE,qCAAqC;AACrC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,QAAQ,CAAC,EAAE,UAAU,CAAA;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/queue/types.ts"],"names":[],"mappings":""}
|
package/build/registry.d.ts
CHANGED
|
@@ -1,24 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type {
|
|
3
|
-
import type { StoreRoute } from './store/types.js';
|
|
4
|
-
export interface PluginRegistry {
|
|
5
|
-
/** Register, or replace the plugin of the same `name`. Its schemas are contributed now. */
|
|
6
|
-
use: (plugin: PlanningPlugin) => void;
|
|
7
|
-
/** Every plugin, `order` ascending (registration order among equals). */
|
|
8
|
-
plugins: () => PlanningPlugin[];
|
|
9
|
-
/** The owning plugins that supply a store, in plugin order, each store resolved once. */
|
|
10
|
-
routes: (ctx?: BasicContext<BasicConfig>) => StoreRoute[];
|
|
11
|
-
/** The first owning plugin's store for a type, else `fallback`. */
|
|
12
|
-
storeFor: (type: string | undefined, fallback: PlanningStore, ctx?: BasicContext<BasicConfig>) => PlanningStore;
|
|
13
|
-
/** The first plugin answering a code wins. */
|
|
14
|
-
mintCode: (draft: WorkcardDraft, taken: (code: string) => Promise<boolean>, contextOf: (plugin: PlanningPlugin) => PlanningExecContext) => Promise<string | undefined>;
|
|
15
|
-
/** The `before` chain; answers the execution the chain left. */
|
|
16
|
-
before: (exec: TransitionExecution, contextOf: (plugin: PlanningPlugin) => PlanningExecContext) => Promise<TransitionExecution>;
|
|
17
|
-
/** The `after` chain; a failing hook is logged and the chain goes on. */
|
|
18
|
-
after: (event: CommitEvent, contextOf: (plugin: PlanningPlugin) => PlanningHookContext) => Promise<void>;
|
|
19
|
-
/** Bumps on every `use` — what a cached composite store is keyed by. */
|
|
20
|
-
version: () => number;
|
|
21
|
-
}
|
|
1
|
+
import { type PlanningSchemaRegistry, type PlanningStore } from '@owlmeans/planning';
|
|
2
|
+
import type { PluginRegistry } from './types.js';
|
|
22
3
|
/**
|
|
23
4
|
* The plugin chain of one planning service.
|
|
24
5
|
*
|
package/build/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAA8D,KAAK,sBAAsB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAChJ,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAMhD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,YACpB,sBAAsB,YAAY,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,KACxE,cAmGF,CAAA"}
|
package/build/registry.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ResilientError } from '@owlmeans/error';
|
|
2
|
+
import { logger } from '@owlmeans/log';
|
|
2
3
|
import { DEFAULT_PLUGIN_ORDER, PlanningRefused } from '@owlmeans/planning';
|
|
4
|
+
const log = logger('planning');
|
|
3
5
|
const messageOf = (error) => error instanceof Error ? error.message : `${error}`;
|
|
4
6
|
/**
|
|
5
7
|
* The plugin chain of one planning service.
|
|
@@ -92,7 +94,7 @@ export const makePluginRegistry = (schemas, onStore) => {
|
|
|
92
94
|
await plugin.after(event, contextOf(plugin));
|
|
93
95
|
}
|
|
94
96
|
catch (error) {
|
|
95
|
-
|
|
97
|
+
log.error('Planning after hook failed', { plugin: plugin.name, transition: event.transition, error });
|
|
96
98
|
}
|
|
97
99
|
}
|
|
98
100
|
},
|
package/build/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/build/service.d.ts
CHANGED
|
@@ -1,19 +1,6 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
3
|
-
import type {
|
|
4
|
-
import type { PlanningHostService, PlanningServiceOptions } from './types.js';
|
|
5
|
-
export type PlanningServiceApi = Pick<PlanningService, 'use' | 'plugins' | 'schemas' | 'store' | 'for' | 'committed'>;
|
|
6
|
-
/** What the facade and the executor reach the service through. */
|
|
7
|
-
export interface PlanningRuntime {
|
|
8
|
-
service: () => PlanningService;
|
|
9
|
-
registry: PluginRegistry;
|
|
10
|
-
options: PlanningServiceOptions;
|
|
11
|
-
context: () => BasicContext<BasicConfig> | undefined;
|
|
12
|
-
/** The composite store reads and commits go through. */
|
|
13
|
-
reader: () => PlanningStore;
|
|
14
|
-
/** Every distinct store: the default one first, then each plugin's. */
|
|
15
|
-
stores: () => PlanningStore[];
|
|
16
|
-
}
|
|
1
|
+
import { type BasicConfig, type BasicContext } from '@owlmeans/context';
|
|
2
|
+
import { type PlanningService, type WithPlanningService } from '@owlmeans/planning';
|
|
3
|
+
import type { PlanningHostService, PlanningServiceOptions, PlanningRuntime, PlanningServiceApi } from './types.js';
|
|
17
4
|
/**
|
|
18
5
|
* The service body, without context registration — spread it into a specialised service; `self`
|
|
19
6
|
* is late-bound for exactly that case.
|
package/build/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC1F,OAAO,EAAqC,KAAK,eAAe,EAAuC,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAQ3J,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAKlH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,YACpB,sBAAsB,QAAQ,MAAM,eAAe,KAC3D,kBAAkB,GAAG;IAAE,OAAO,EAAE,eAAe,CAAA;CAmFjD,CAAA;AAED,eAAO,MAAM,mBAAmB,aACrB,sBAAsB,UAAc,MAAM,KAClD,mBAMF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,OAC/E,CAAC,YAAW,sBAAsB,UAAc,MAAM,KAC1D,CAAC,GAAG,mBAON,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAC3B,YAAY,CAAC,GAAG,CAAC,UAAS,MAAM,KACpC,eAQF,CAAA"}
|
package/build/service.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createLazyService } from '@owlmeans/context';
|
|
2
2
|
import { makeSchemaRegistry, PlanningError } from '@owlmeans/planning';
|
|
3
3
|
import { DEFAULT_ALIAS } from './consts.js';
|
|
4
|
+
import { makeSchemaViews } from './definitions.js';
|
|
4
5
|
import { makeStoreFacade } from './facade.js';
|
|
5
6
|
import { makePluginRegistry } from './registry.js';
|
|
6
7
|
import { makeCompositeStore } from './store/composite.js';
|
|
@@ -27,6 +28,11 @@ export const planningServiceApi = (options, self) => {
|
|
|
27
28
|
const fallback = options.store ?? makeMemoryPlanningStore({ ids: options.ids, now: options.now });
|
|
28
29
|
bind(fallback);
|
|
29
30
|
let reader;
|
|
31
|
+
const views = makeSchemaViews({
|
|
32
|
+
code: () => schemas,
|
|
33
|
+
version: () => registry.version(),
|
|
34
|
+
port: () => fallback.schemas,
|
|
35
|
+
});
|
|
30
36
|
const runtime = {
|
|
31
37
|
service: self,
|
|
32
38
|
registry,
|
|
@@ -39,6 +45,9 @@ export const planningServiceApi = (options, self) => {
|
|
|
39
45
|
return reader.store;
|
|
40
46
|
},
|
|
41
47
|
stores: () => [...new Set([fallback, ...registry.routes(runtime.context()).map(route => route.store)])],
|
|
48
|
+
schemaStore: () => fallback.schemas,
|
|
49
|
+
schemasFor: views.of,
|
|
50
|
+
scopedSchemas: views.scoped,
|
|
42
51
|
};
|
|
43
52
|
options.plugins?.forEach(registry.use);
|
|
44
53
|
return {
|
package/build/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commits.d.ts","sourceRoot":"","sources":["../../src/store/commits.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"commits.d.ts","sourceRoot":"","sources":["../../src/store/commits.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAkB7D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,YAAa,gBAAgB,KAAG,SA6IzD,CAAA"}
|
package/build/store/commits.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { logger } from '@owlmeans/log';
|
|
1
2
|
import { CommitFailed, CommitState, CommitTimeout, DEFAULT_COMMIT_TIMEOUT, WorkcardNotFound } from '@owlmeans/planning';
|
|
2
3
|
import { COMMIT_POLL_LADDER, DEFAULT_COMMIT_MEMORY } from '../consts.js';
|
|
4
|
+
const log = logger('planning:store');
|
|
3
5
|
const matches = (event, filter) => filter == null || ((filter.entityId == null || filter.entityId === event.entityId)
|
|
4
6
|
&& (filter.project == null || filter.project === event.project)
|
|
5
7
|
&& (filter.card == null || filter.card === event.card)
|
|
@@ -44,7 +46,7 @@ export const makeCommitHub = (options) => {
|
|
|
44
46
|
const results = await Promise.allSettled(targets.map(async (entry) => await entry.listener(event)));
|
|
45
47
|
results.forEach(result => {
|
|
46
48
|
if (result.status === 'rejected') {
|
|
47
|
-
|
|
49
|
+
log.error('Planning commit listener failed', { transition: event.transition, error: result.reason });
|
|
48
50
|
}
|
|
49
51
|
});
|
|
50
52
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commits.js","sourceRoot":"","sources":["../../src/store/commits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAsB,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"commits.js","sourceRoot":"","sources":["../../src/store/commits.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import type { StoreRoute } from './types.js';
|
|
|
7
7
|
* then each owner; a list whose criteria names one owned type (or several owned by one store) goes
|
|
8
8
|
* there, and every other list is the default store's — a cross-type query is answered by the
|
|
9
9
|
* default store alone, never merged. Relationship lists and commit subscriptions span every store.
|
|
10
|
+
* The data-defined schema port is the default store's.
|
|
10
11
|
*/
|
|
11
12
|
export declare const makeCompositeStore: (routes: StoreRoute[], fallback: PlanningStore) => PlanningStore;
|
|
12
13
|
//# sourceMappingURL=composite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composite.d.ts","sourceRoot":"","sources":["../../src/store/composite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACI,aAAa,EAE5B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,YAAY,CAAA;AAiBvD
|
|
1
|
+
{"version":3,"file":"composite.d.ts","sourceRoot":"","sources":["../../src/store/composite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACI,aAAa,EAE5B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,YAAY,CAAA;AAiBvD;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,WAAY,UAAU,EAAE,YAAY,aAAa,KAAG,aA4IlF,CAAA"}
|
package/build/store/composite.js
CHANGED
|
@@ -17,6 +17,7 @@ const sum = async (stores, run) => (await Promise.all(stores.map(run))).reduce((
|
|
|
17
17
|
* then each owner; a list whose criteria names one owned type (or several owned by one store) goes
|
|
18
18
|
* there, and every other list is the default store's — a cross-type query is answered by the
|
|
19
19
|
* default store alone, never merged. Relationship lists and commit subscriptions span every store.
|
|
20
|
+
* The data-defined schema port is the default store's.
|
|
20
21
|
*/
|
|
21
22
|
export const makeCompositeStore = (routes, fallback) => {
|
|
22
23
|
const all = [...new Set([fallback, ...routes.map(route => route.store)])];
|
|
@@ -145,6 +146,8 @@ export const makeCompositeStore = (routes, fallback) => {
|
|
|
145
146
|
...(specs != null ? { specs } : {}),
|
|
146
147
|
...(links != null ? { links } : {}),
|
|
147
148
|
...(commits != null ? { commits } : {}),
|
|
149
|
+
// Data-defined schemas are the default store's alone: a layer describes the whole organization.
|
|
150
|
+
...(fallback.schemas != null ? { schemas: fallback.schemas } : {}),
|
|
148
151
|
};
|
|
149
152
|
};
|
|
150
153
|
//# sourceMappingURL=composite.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composite.js","sourceRoot":"","sources":["../../src/store/composite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAKrD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAI/C,MAAM,OAAO,GAAG,KAAK,EACnB,MAAW,EAAE,IAA6D,EACvD,EAAE;IACrB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,GAAG,GAAG,KAAK,EAAK,MAAW,EAAE,GAAkC,EAAmB,EAAE,CACxF,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;AAEjF
|
|
1
|
+
{"version":3,"file":"composite.js","sourceRoot":"","sources":["../../src/store/composite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.d.ts","sourceRoot":"","sources":["../../src/store/consts.local.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,YAAI,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.js","sourceRoot":"","sources":["../../src/store/consts.local.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAA"}
|
package/build/store/fold.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { CommitState } from '@owlmeans/planning';
|
|
2
|
-
import type { CommitEvent, PlanningStore, SpecificationRevision, Transition, Workcard } from '@owlmeans/planning';
|
|
1
|
+
import { CommitState, type CommitEvent, type PlanningStore, type SpecificationRevision, type Transition, type Workcard } from '@owlmeans/planning';
|
|
3
2
|
import type { FoldOptions, FoldResult } from './types.js';
|
|
4
3
|
/** The event a settled transition publishes. `record` is in-process only — strip it before a bus. */
|
|
5
4
|
export declare const commitEventOf: (transition: Transition, state: CommitState, at: string, extra?: {
|
|
@@ -20,7 +19,9 @@ export declare const commitEventOf: (transition: Transition, state: CommitState,
|
|
|
20
19
|
* to advance, so what follows it fails too; a store that refuses the advancing write itself stops
|
|
21
20
|
* the fold there and reports `followUp`, leaving the rest pending for a retry.
|
|
22
21
|
*
|
|
23
|
-
* The caller owns single flight: two folds of one card running at once would both publish.
|
|
22
|
+
* The caller owns single flight: two folds of one card running at once would both publish. A
|
|
23
|
+
* transactional store passes `unit`, which wraps each transition's writes (a savepoint), so a write
|
|
24
|
+
* the database refuses is undone whole before the fold marks the transition failed.
|
|
24
25
|
*
|
|
25
26
|
* @throws {PlanningUnsupported} for a store without a transition log
|
|
26
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fold.d.ts","sourceRoot":"","sources":["../../src/store/fold.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fold.d.ts","sourceRoot":"","sources":["../../src/store/fold.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,WAAW,EAAoD,KAAK,WAAW,EAAE,KAAK,aAAa,EAAqB,KAAK,qBAAqB,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC3P,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAqBzD,qGAAqG;AACrG,eAAO,MAAM,aAAa,eACZ,UAAU,SAAS,WAAW,MAAM,MAAM,UAAU;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;CAAE,KAC3G,WAaD,CAAA;AAqDF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,WAAW,UACf,aAAa,UAAU,MAAM,YAAY,MAAM,SAAQ,WAAW,KACxE,OAAO,CAAC,UAAU,CAqEpB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,UACf,aAAa,UAAU,MAAM,YAAY,MAAM,UAAU,MAAM,SAChE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,KAAK,CAAC,KACzC,OAAO,CAAC,MAAM,CAiBhB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAS,UAAU,EAAE,UAAU,MAAM,KAAG,qBAAqB,EA2CzF,CAAA"}
|
package/build/store/fold.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { logger } from '@owlmeans/log';
|
|
2
|
+
import { applyRelationship, applyTransition, CommitState, isProject, PlanningUnsupported, TransitionAction } from '@owlmeans/planning';
|
|
3
|
+
import { CONTENT_KEYS } from './consts.local.js';
|
|
4
|
+
const log = logger('planning:store');
|
|
2
5
|
const isoNow = () => new Date().toISOString();
|
|
3
6
|
const clean = (record) => Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined));
|
|
4
7
|
const errorText = (error) => error instanceof Error ? error.message : `${error}`;
|
|
@@ -7,7 +10,7 @@ const safely = async (label, run) => {
|
|
|
7
10
|
await run();
|
|
8
11
|
}
|
|
9
12
|
catch (error) {
|
|
10
|
-
|
|
13
|
+
log.error('Planning store step failed', { step: label, error });
|
|
11
14
|
}
|
|
12
15
|
};
|
|
13
16
|
/** The event a settled transition publishes. `record` is in-process only — strip it before a bus. */
|
|
@@ -83,7 +86,9 @@ const writeFold = async (store, before, after, transition) => {
|
|
|
83
86
|
* to advance, so what follows it fails too; a store that refuses the advancing write itself stops
|
|
84
87
|
* the fold there and reports `followUp`, leaving the rest pending for a retry.
|
|
85
88
|
*
|
|
86
|
-
* The caller owns single flight: two folds of one card running at once would both publish.
|
|
89
|
+
* The caller owns single flight: two folds of one card running at once would both publish. A
|
|
90
|
+
* transactional store passes `unit`, which wraps each transition's writes (a savepoint), so a write
|
|
91
|
+
* the database refuses is undone whole before the fold marks the transition failed.
|
|
87
92
|
*
|
|
88
93
|
* @throws {PlanningUnsupported} for a store without a transition log
|
|
89
94
|
*/
|
|
@@ -110,7 +115,11 @@ export const foldPending = async (store, cardId, entityId, opts = {}) => {
|
|
|
110
115
|
// Already applied by another folder, which owns its commit and its event.
|
|
111
116
|
continue;
|
|
112
117
|
}
|
|
113
|
-
|
|
118
|
+
const before = card;
|
|
119
|
+
const after = next;
|
|
120
|
+
await (opts.unit != null
|
|
121
|
+
? opts.unit(async () => { await writeFold(store, before, after, transition); })
|
|
122
|
+
: writeFold(store, before, after, transition));
|
|
114
123
|
}
|
|
115
124
|
catch (error) {
|
|
116
125
|
failed++;
|
|
@@ -127,7 +136,7 @@ export const foldPending = async (store, cardId, entityId, opts = {}) => {
|
|
|
127
136
|
catch (advance) {
|
|
128
137
|
// The store itself refuses writes: leave the rest pending for a retry rather than
|
|
129
138
|
// failing every later transition as out of order.
|
|
130
|
-
|
|
139
|
+
log.error('Planning cannot advance a card past a failed transition', { cardId, seq: transition.seq, error: advance });
|
|
131
140
|
await safely('commit failure', () => transitions.commit(transition.id, { state: CommitState.Failed, at, error: message }));
|
|
132
141
|
await safely('publish', () => opts.publish?.(commitEventOf(transition, CommitState.Failed, at, { error: message })));
|
|
133
142
|
return { card, folded, failed, followUp: true };
|
|
@@ -168,7 +177,6 @@ export const failPending = async (store, cardId, entityId, reason, opts = {}) =>
|
|
|
168
177
|
}
|
|
169
178
|
return pending.items.length;
|
|
170
179
|
};
|
|
171
|
-
const CONTENT_KEYS = ['body', 'ref', 'format', 'version'];
|
|
172
180
|
/**
|
|
173
181
|
* A specification's history, replayed from its log: one entry per create and per committed
|
|
174
182
|
* content change, newest first. The fold is `applyTransition` itself, so an entry's `body` is the
|
package/build/store/fold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fold.js","sourceRoot":"","sources":["../../src/store/fold.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"fold.js","sourceRoot":"","sources":["../../src/store/fold.ts"],"names":[],"mappings":"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"}
|
package/build/store/memory.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
import type { Workcard } from '@owlmeans/planning';
|
|
2
|
+
import type { Criteria } from '@owlmeans/resource';
|
|
1
3
|
import type { MemoryPlanningStore, MemoryPlanningStoreOptions } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Does a card criteria ask for specifications? A card list leaves them out unless the criteria
|
|
6
|
+
* names `kind: specification` (alone, in a list, or under `$in`/`$eq`) or a `category` — the rule
|
|
7
|
+
* every store routes a list by, whether specifications live apart or in the cards' own table.
|
|
8
|
+
*/
|
|
9
|
+
export declare const wantsSpecifications: (where?: Criteria<Workcard>) => boolean;
|
|
2
10
|
/**
|
|
3
11
|
* The reference `PlanningStore`, entirely in process memory.
|
|
4
12
|
*
|
|
@@ -12,6 +20,10 @@ import type { MemoryPlanningStore, MemoryPlanningStoreOptions } from './types.js
|
|
|
12
20
|
* The service binds `committed` through `bind`, which REPLACES `onCommitted`: one listener per
|
|
13
21
|
* store, so a commit runs the `after` chain once.
|
|
14
22
|
*
|
|
23
|
+
* `schemas: true` adds the data-defined schema port: records keyed by layer, a revision per
|
|
24
|
+
* organization bumped on every write, and `watch` listeners called synchronously. A purged project
|
|
25
|
+
* takes its schema layer with it.
|
|
26
|
+
*
|
|
15
27
|
* It is wrong for anything with more than one process or a restart: the log, the cards and the
|
|
16
28
|
* commit feed are all this process's heap.
|
|
17
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/store/memory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/store/memory.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGoB,QAAQ,EACvC,MAAM,oBAAoB,CAAA;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAIlD,OAAO,KAAK,EAAkB,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AASjG;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,WAAY,QAAQ,CAAC,QAAQ,CAAC,KAAG,OAgBhE,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB,UAAU,0BAA0B,KAAQ,mBAgd/E,CAAA"}
|
package/build/store/memory.js
CHANGED
|
Binary file
|