@owlmeans/server-planning 0.1.18-rc.36 → 0.1.18-rc.38
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 +2 -2
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/server-planning/SKILL.md +1 -1
- package/agent-meta/skills/server-planning/parts/auxiliary.md +4 -2
- package/agent-meta/skills/server-planning/parts/stores.md +7 -0
- package/build/conformance/cases.d.ts.map +1 -1
- package/build/conformance/cases.js +33 -0
- package/build/conformance/cases.js.map +1 -1
- package/build/hierarchy/types.d.ts +10 -0
- package/build/hierarchy/types.d.ts.map +1 -1
- package/build/hierarchy.d.ts.map +1 -1
- package/build/hierarchy.js +21 -1
- package/build/hierarchy.js.map +1 -1
- package/build/invariants.d.ts.map +1 -1
- package/build/invariants.js +3 -1
- package/build/invariants.js.map +1 -1
- package/build/store/fold/types.d.ts +1 -1
- package/build/store/memory.d.ts +1 -1
- package/build/store/memory.d.ts.map +1 -1
- package/build/store/memory.js +45 -11
- package/build/store/memory.js.map +1 -1
- package/package.json +9 -9
- package/src/conformance/cases.ts +37 -0
- package/src/hierarchy/types.ts +10 -0
- package/src/hierarchy.ts +21 -1
- package/src/invariants.ts +3 -1
- package/src/store/fold/types.ts +1 -1
- package/src/store/memory.ts +43 -7
- package/tests/memory-store.spec.ts +52 -0
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ the `@owlmeans/server-planning/store` subpath.
|
|
|
10
10
|
## Installation
|
|
11
11
|
|
|
12
12
|
```sh
|
|
13
|
-
bun add @owlmeans/server-planning@^0.1.18-rc.
|
|
13
|
+
bun add @owlmeans/server-planning@^0.1.18-rc.38 @owlmeans/planning@^0.1.18-rc.31 ajv
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Concepts
|
|
@@ -214,7 +214,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
|
|
|
214
214
|
your project's skill store (`.agents/skills/`):
|
|
215
215
|
|
|
216
216
|
```sh
|
|
217
|
-
npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
217
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.59
|
|
218
218
|
```
|
|
219
219
|
|
|
220
220
|
The embedded files are version-matched to this package release. Do not edit them
|
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 3,
|
|
3
3
|
"package": "@owlmeans/server-planning",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-10-
|
|
4
|
+
"version": "0.1.18-rc.38",
|
|
5
|
+
"generatedAt": "2026-10-26T22:23:53.827Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -8,7 +8,7 @@ user-invocable: false
|
|
|
8
8
|
# @owlmeans/server-planning
|
|
9
9
|
|
|
10
10
|
**Layer:** Server
|
|
11
|
-
**Install:** `"@owlmeans/server-planning": "^0.1.18-rc.
|
|
11
|
+
**Install:** `"@owlmeans/server-planning": "^0.1.18-rc.38"` in `dependencies` (`ajv` is a peer)
|
|
12
12
|
|
|
13
13
|
The general implementation of `@owlmeans/planning`: the planning service (a plugin host), the
|
|
14
14
|
scoped facade, the executor every write goes through, the in-memory reference store, the commit
|
|
@@ -39,8 +39,10 @@ nested receipts. Keep business fields and schema definitions unchanged when proj
|
|
|
39
39
|
Admission and native projection recheck hierarchy, schema fields and endpoint types. Recursive
|
|
40
40
|
visibility follows every project ancestor and filters before paging. Definition record reads
|
|
41
41
|
use the same recursive visibility as cards. Reparenting validates all
|
|
42
|
-
descendants under the prospective schema layer. Ordinary
|
|
43
|
-
|
|
42
|
+
descendants under the prospective schema layer. Ordinary deletion refuses a card with child cards
|
|
43
|
+
(`hierarchy:parent-in-use`, from `makePlanningHierarchy().validate(card, true)`); the card's own
|
|
44
|
+
documents (`hierarchy.documents`) never refuse it — the delete's fold drops them with it, and the
|
|
45
|
+
incoming field-reference check counts them among what goes. Project purge removes its descendants, comments, mentions, scoped schemas and links,
|
|
44
46
|
while retaining organization assignees and reusable teams. Field-backed edges are reconciled in
|
|
45
47
|
the persistence unit; named inverse edges are derived read views, never duplicate persisted rows.
|
|
46
48
|
|
|
@@ -25,6 +25,9 @@ metadata:
|
|
|
25
25
|
commit to stay pending.
|
|
26
26
|
- A project `delete` purges the project, everything whose `parents` reach it, their specifications,
|
|
27
27
|
links and log; the commit hub remembers the settled event so the waiter still gets its answer.
|
|
28
|
+
- Any other `delete` folds as `cards.drop`: the card, its comments and mentions, and its own
|
|
29
|
+
documents (specifications whose primary parent is it, transitively) with their links, comments,
|
|
30
|
+
mentions and log. The card's own log stays — its delete row is the tombstone.
|
|
28
31
|
- **It is wrong for more than one process or a restart** — the log, the cards and the commit feed
|
|
29
32
|
are this process's heap. Use it for tests, tools and single-process demos.
|
|
30
33
|
|
|
@@ -51,6 +54,10 @@ metadata:
|
|
|
51
54
|
failed at the cursor, or a gap in the seqs, is the store's to step over before calling it
|
|
52
55
|
(`planning-postgres` does it in a prelude).
|
|
53
56
|
- `foldHelper.failPending` is what a dead projection job must do, or waiters hang to their timeout.
|
|
57
|
+
- `cards.drop(id, entityId)` is the fold of a non-project `delete` and takes the record's own
|
|
58
|
+
documents with it (the `ProjectionStore.drop` contract): the executor admits a delete whose only
|
|
59
|
+
descendants are those documents, so a store that leaves them behind orphans them. The
|
|
60
|
+
conformance case `deletes a card with its own documents and refuses one with a child card` pins it.
|
|
54
61
|
- The data-defined schema port (`schemas`) is optional; `makeCompositeStore` passes the default
|
|
55
62
|
store's through. A store that has it must purge a project's layer with the project.
|
|
56
63
|
- **Run the conformance suite.** `@owlmeans/server-planning/conformance` exports
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cases.d.ts","sourceRoot":"","sources":["../../src/conformance/cases.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqW,KAAK,aAAa,EAAkJ,MAAM,oBAAoB,CAAA;AAK1iB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"cases.d.ts","sourceRoot":"","sources":["../../src/conformance/cases.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqW,KAAK,aAAa,EAAkJ,MAAM,oBAAoB,CAAA;AAK1iB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA0mBjD,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EAAsD,CAAA;AAEhH,kGAAkG;AAClG,eAAO,MAAM,mBAAmB,UAAW,aAAa,KAAG,eAAe,EAC+I,CAAA"}
|
|
@@ -312,6 +312,39 @@ const cases = [
|
|
|
312
312
|
same((await planning.cards.list({ within: kept.id })).total, 1, 'with its card');
|
|
313
313
|
},
|
|
314
314
|
},
|
|
315
|
+
{
|
|
316
|
+
name: 'deletes a card with its own documents and refuses one with a child card',
|
|
317
|
+
run: async ({ facade, store }) => {
|
|
318
|
+
const entityId = organization();
|
|
319
|
+
const planning = facade(entityId);
|
|
320
|
+
const fixtures = conformanceFixturesOf(planning);
|
|
321
|
+
const branch = await fixtures.createBranch();
|
|
322
|
+
const book = await fixtures.createBook(branch.id, 'Documented');
|
|
323
|
+
const neighbour = await fixtures.createBook(branch.id, 'Neighbour');
|
|
324
|
+
const summary = (await (await planning.model(book)).write('summary', '{"lines":["first"]}', { wait: true })).card;
|
|
325
|
+
await (await planning.model(book.id)).write('summary', '{"lines":["second"]}', { wait: true });
|
|
326
|
+
await execute(planning, { card: neighbour.id, action: TransitionAction.Link, link: { type: 'shelved-near', to: book.id } });
|
|
327
|
+
const deleted = await planning.execute({ card: book.id, action: TransitionAction.Delete }, { wait: true });
|
|
328
|
+
same((await planning.commits.status(deleted.transition.id)).state, CommitState.Committed, 'the delete commits');
|
|
329
|
+
same(await planning.cards.load(book.id), null, 'the card is gone');
|
|
330
|
+
same(await planning.cards.load(summary.id), null, 'its document is gone');
|
|
331
|
+
same(await store.specs.current(book.id, 'summary', entityId), null, 'no current document');
|
|
332
|
+
same((await planning.cards.list({ kind: WorkcardKind.Specification })).total, 0, 'no listed document');
|
|
333
|
+
same((await store.transitions.list({ entityId, card: summary.id }, { size: 0 })).total, 0, 'the document\'s log goes with it');
|
|
334
|
+
check((await store.transitions.list({ entityId, card: book.id }, { size: 0 })).items.some(row => row.action === TransitionAction.Delete), 'the card keeps its own delete');
|
|
335
|
+
same((await planning.relationships.list({ from: neighbour.id })).total, 0, 'edges into the card dropped');
|
|
336
|
+
check(await planning.cards.load(neighbour.id) != null, 'a sibling survives');
|
|
337
|
+
const shelf = (await planning.execute({
|
|
338
|
+
card: { kind: WorkcardKind.Card, type: LIBRARY.section, parent: branch.id, title: 'Shelf' }, action: TransitionAction.Create,
|
|
339
|
+
}, { wait: true })).card;
|
|
340
|
+
const shelved = await fixtures.createBook(shelf.id, 'Shelved');
|
|
341
|
+
await (await planning.model(shelved)).write('summary', '{"lines":["kept"]}', { wait: true });
|
|
342
|
+
const refusal = await rejects(planning.execute({ card: shelf.id, action: TransitionAction.Delete }), PlanningError, 'a card with a child card');
|
|
343
|
+
check(refusal.message.includes('hierarchy:parent-in-use'), `the refusal names the hierarchy: ${refusal.message}`);
|
|
344
|
+
same((await planning.cards.get(shelved.id)).parent, shelf.id, 'the child card stays');
|
|
345
|
+
same((await planning.specifications.current(shelved.id, 'summary'))?.body, '{"lines":["kept"]}', 'with its document');
|
|
346
|
+
},
|
|
347
|
+
},
|
|
315
348
|
{
|
|
316
349
|
name: 'settles a transition that cannot fold in order and folds past it',
|
|
317
350
|
run: async ({ facade, store }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cases.js","sourceRoot":"","sources":["../../src/conformance/cases.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cases.js","sourceRoot":"","sources":["../../src/conformance/cases.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,16 @@ export interface PlanningHierarchy {
|
|
|
5
5
|
projects: (card: Workcard) => Promise<string[]>;
|
|
6
6
|
visible: (card: Workcard, projects?: readonly string[]) => Promise<boolean>;
|
|
7
7
|
descendants: (id: string, entityId: string) => Promise<Workcard[]>;
|
|
8
|
+
/**
|
|
9
|
+
* A card's own documents: the specifications whose primary parent is the card, and theirs in
|
|
10
|
+
* turn. They never block the card's delete — its fold removes them with it.
|
|
11
|
+
*/
|
|
12
|
+
documents: (id: string, entityId: string) => Promise<Workcard[]>;
|
|
13
|
+
/**
|
|
14
|
+
* The card's own shape against its schemas — or, `deleting`, whether it may go: a project always
|
|
15
|
+
* (its delete purges what is under it); any other card only when everything under it is one of
|
|
16
|
+
* its own `documents` (`hierarchy:parent-in-use` otherwise).
|
|
17
|
+
*/
|
|
8
18
|
validate: (card: Workcard, deleting?: boolean) => Promise<void>;
|
|
9
19
|
}
|
|
10
20
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hierarchy/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3F,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACrG,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC/C,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3E,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAClE,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChE"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hierarchy/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3F,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACrG,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC/C,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3E,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAClE;;;OAGG;IACH,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAChE;;;;OAIG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChE"}
|
package/build/hierarchy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,sGAAsG;AACtG,eAAO,MAAM,qBAAqB,YAAa,eAAe,KAAG,
|
|
1
|
+
{"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,sGAAsG;AACtG,eAAO,MAAM,qBAAqB,YAAa,eAAe,KAAG,iBAwGhE,CAAA"}
|
package/build/hierarchy.js
CHANGED
|
@@ -55,6 +55,23 @@ export const makePlanningHierarchy = (runtime) => {
|
|
|
55
55
|
}
|
|
56
56
|
return [...found.values()];
|
|
57
57
|
};
|
|
58
|
+
/** The specifications among `below` whose primary parent is `id` or one already owned. */
|
|
59
|
+
const ownedOf = (id, below) => {
|
|
60
|
+
const owners = new Set([id]);
|
|
61
|
+
const owned = [];
|
|
62
|
+
let grown = true;
|
|
63
|
+
while (grown) {
|
|
64
|
+
grown = false;
|
|
65
|
+
for (const card of below) {
|
|
66
|
+
if (card.kind === WorkcardKind.Specification && card.parent != null && owners.has(card.parent) && !owners.has(card.id)) {
|
|
67
|
+
owners.add(card.id);
|
|
68
|
+
owned.push(card);
|
|
69
|
+
grown = true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return owned;
|
|
74
|
+
};
|
|
58
75
|
const assertPair = (parent, card, schemas) => {
|
|
59
76
|
if (card.kind === WorkcardKind.Specification)
|
|
60
77
|
return;
|
|
@@ -79,13 +96,16 @@ export const makePlanningHierarchy = (runtime) => {
|
|
|
79
96
|
ancestors,
|
|
80
97
|
project,
|
|
81
98
|
descendants,
|
|
99
|
+
documents: async (id, entityId) => ownedOf(id, await descendants(id, entityId)),
|
|
82
100
|
projects: async (card) => [...new Set([...(card.kind === WorkcardKind.Project ? [card.id] : []), ...(await ancestors(card)).filter(parent => parent.kind === WorkcardKind.Project).map(parent => parent.id)])],
|
|
83
101
|
visible: async (card, projects) => projects == null || (await hierarchy.projects(card)).some(id => projects.includes(id)),
|
|
84
102
|
validate: async (card, deleting = false) => {
|
|
85
103
|
if (deleting) {
|
|
86
104
|
if (card.kind === WorkcardKind.Project)
|
|
87
105
|
return;
|
|
88
|
-
|
|
106
|
+
// The card's own documents go with it; anything else under it keeps it alive.
|
|
107
|
+
const below = await descendants(card.id, card.entityId);
|
|
108
|
+
if (below.length > ownedOf(card.id, below).length)
|
|
89
109
|
throw new PlanningError(`hierarchy:parent-in-use:${card.id}`);
|
|
90
110
|
return;
|
|
91
111
|
}
|
package/build/hierarchy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../src/invariants.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,YAAa,eAAe,KAAG,
|
|
1
|
+
{"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../src/invariants.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,YAAa,eAAe,KAAG,kBAgGjE,CAAA"}
|
package/build/invariants.js
CHANGED
|
@@ -47,7 +47,9 @@ export const makePlanningInvariants = (runtime) => {
|
|
|
47
47
|
if (after == null) {
|
|
48
48
|
if (before != null) {
|
|
49
49
|
await hierarchy.validate(before, true);
|
|
50
|
-
|
|
50
|
+
// What the delete's fold removes: a project's whole subtree, any other card's own documents.
|
|
51
|
+
const removed = before.kind === WorkcardKind.Project ? await hierarchy.descendants(before.id, before.entityId) : await hierarchy.documents(before.id, before.entityId);
|
|
52
|
+
const doomed = new Set([before.id, ...removed.map(card => card.id)]);
|
|
51
53
|
const incoming = await runtime.reader().links?.list({ entityId: before.entityId, to: [...doomed], toKind: PlanningResourceKind.Workcard }, { size: 0 });
|
|
52
54
|
for (const edge of incoming?.items ?? []) {
|
|
53
55
|
if (doomed.has(edge.from) || (edge.fromKind ?? PlanningResourceKind.Workcard) !== PlanningResourceKind.Workcard)
|
package/build/invariants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invariants.js","sourceRoot":"","sources":["../src/invariants.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EACtF,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,GACpE,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAItD,qGAAqG;AACrG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAwB,EAAsB,EAAE;IACrF,MAAM,WAAW,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IACzI,MAAM,YAAY,GAAG,KAAK,EAAE,IAAc,EAAgC,EAAE;QAC1E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,IAAI,GAAwB,EAAE,CAAA;QACpC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3H,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3H,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;gBAAE,SAAQ;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACrC,IAAI,KAAK,IAAI,IAAI;gBAAE,SAAQ;YAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,MAAM,IAAI,aAAa,CAAC,sBAAsB,IAAI,CAAC,KAAK,SAAS,CAAC,CAAA;YAC3H,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC;gBAAE,MAAM,IAAI,aAAa,CAAC,sBAAsB,IAAI,CAAC,KAAK,WAAW,CAAC,CAAA;YACvK,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAA;QACjK,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IACD,MAAM,eAAe,GAAG,KAAK,EAAE,IAAc,EAAE,GAAsB,EAAE,QAAiB,EAAiB,EAAE;QACzG,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,IAAI,oBAAoB,CAAC,QAAQ,CAAA;QACxD,MAAM,MAAM,GAAG,IAAI,KAAK,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;YACxG,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;gBACnF,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACnG,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,mBAAmB,CAAC,aAAa,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QACrH,MAAM,IAAI,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1G,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7H,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5I,IAAI,IAAI,KAAK,oBAAoB,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,mBAAmB,CAAC,oBAAoB,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;IAC/J,CAAC,CAAA;IACD,MAAM,UAAU,GAAuB;QACrC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC5C,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;YAChD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;oBACtC,
|
|
1
|
+
{"version":3,"file":"invariants.js","sourceRoot":"","sources":["../src/invariants.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export interface FoldHelper {
|
|
|
12
12
|
*
|
|
13
13
|
* Transitions are read in `seq` order past the card's own `seq`, and only `pending` ones are
|
|
14
14
|
* applied, each with `applyHelper.applyTransition` and nothing else. Per transition: write the
|
|
15
|
-
* record (a `delete` drops it, a project `delete` purges everything under it), fold its
|
|
15
|
+
* record (a `delete` drops it with its own documents, a project `delete` purges everything under it), fold its
|
|
16
16
|
* relationships, mark it `committed`, `publish` the event, then run `onCommitted` — so the `after`
|
|
17
17
|
* chain runs in THIS process, exactly once per committed transition. A transition that cannot be
|
|
18
18
|
* folded is marked `failed` with the reason and a failed event is published, and the fold goes PAST
|
package/build/store/memory.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export declare const wantsSpecifications: (where?: Criteria<Workcard>) => boolea
|
|
|
22
22
|
*
|
|
23
23
|
* `schemas: true` adds the data-defined schema port: records keyed by layer, a revision per
|
|
24
24
|
* organization bumped on every write, and `watch` listeners called synchronously. A purged project
|
|
25
|
-
* takes its schema layer with it.
|
|
25
|
+
* takes its schema layer with it. A dropped card takes its own documents with it.
|
|
26
26
|
*
|
|
27
27
|
* It is wrong for anything with more than one process or a restart: the log, the cards and the
|
|
28
28
|
* commit feed are all this process's heap.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/store/memory.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAIoB,QAAQ,EACvC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAIlD,OAAO,KAAK,EAAkB,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAWjG;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,WAAY,QAAQ,CAAC,QAAQ,CAAC,KAAG,OAgBhE,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB,UAAU,0BAA0B,KAAQ,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/store/memory.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAIoB,QAAQ,EACvC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAIlD,OAAO,KAAK,EAAkB,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAWjG;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,WAAY,QAAQ,CAAC,QAAQ,CAAC,KAAG,OAgBhE,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB,UAAU,0BAA0B,KAAQ,mBA8hB/E,CAAA"}
|
package/build/store/memory.js
CHANGED
|
@@ -44,7 +44,7 @@ export const wantsSpecifications = (where) => {
|
|
|
44
44
|
*
|
|
45
45
|
* `schemas: true` adds the data-defined schema port: records keyed by layer, a revision per
|
|
46
46
|
* organization bumped on every write, and `watch` listeners called synchronously. A purged project
|
|
47
|
-
* takes its schema layer with it.
|
|
47
|
+
* takes its schema layer with it. A dropped card takes its own documents with it.
|
|
48
48
|
*
|
|
49
49
|
* It is wrong for anything with more than one process or a restart: the log, the cards and the
|
|
50
50
|
* commit feed are all this process's heap.
|
|
@@ -96,6 +96,22 @@ export const makeMemoryPlanningStore = (opts = {}) => {
|
|
|
96
96
|
return result;
|
|
97
97
|
};
|
|
98
98
|
const recordOf = (id) => cards.get(id) ?? specs.get(id);
|
|
99
|
+
/** A record's own documents: the specifications whose primary parent is it, and theirs in turn. */
|
|
100
|
+
const documentsOf = (id, entityId) => {
|
|
101
|
+
const owners = new Set([id]);
|
|
102
|
+
let grown = true;
|
|
103
|
+
while (grown) {
|
|
104
|
+
grown = false;
|
|
105
|
+
for (const spec of specs.values()) {
|
|
106
|
+
if (spec.entityId === entityId && spec.parent != null && owners.has(spec.parent) && !owners.has(spec.id)) {
|
|
107
|
+
owners.add(spec.id);
|
|
108
|
+
grown = true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
owners.delete(id);
|
|
113
|
+
return owners;
|
|
114
|
+
};
|
|
99
115
|
const logOf = (card) => (byCard.get(card) ?? [])
|
|
100
116
|
.map(id => log.get(id))
|
|
101
117
|
.filter((transition) => transition != null);
|
|
@@ -334,17 +350,35 @@ export const makeMemoryPlanningStore = (opts = {}) => {
|
|
|
334
350
|
}
|
|
335
351
|
},
|
|
336
352
|
drop: async (id, entityId) => {
|
|
337
|
-
if (recordOf(id)?.entityId
|
|
338
|
-
|
|
339
|
-
specs.delete(id);
|
|
340
|
-
for (const row of [...comments.values()])
|
|
341
|
-
if (row.entityId === entityId && row.card === id) {
|
|
342
|
-
for (const mention of [...mentions.values()])
|
|
343
|
-
if (mention.entityId === entityId && mention.comment === row.id)
|
|
344
|
-
mentions.delete(mention.id);
|
|
345
|
-
comments.delete(row.id);
|
|
346
|
-
}
|
|
353
|
+
if (recordOf(id)?.entityId !== entityId) {
|
|
354
|
+
return;
|
|
347
355
|
}
|
|
356
|
+
// The record's own documents go with it, the way everything under a project goes with the
|
|
357
|
+
// project: their edges and log too. The record's own log stays — its delete is the tombstone.
|
|
358
|
+
const documents = documentsOf(id, entityId);
|
|
359
|
+
for (const link of [...links.values()]) {
|
|
360
|
+
if (link.entityId === entityId && (((link.fromKind ?? PlanningResourceKind.Workcard) === PlanningResourceKind.Workcard && documents.has(link.from))
|
|
361
|
+
|| ((link.toKind ?? PlanningResourceKind.Workcard) === PlanningResourceKind.Workcard && documents.has(link.to)))) {
|
|
362
|
+
links.delete(link.id);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
for (const transition of [...log.values()]) {
|
|
366
|
+
if (transition.entityId === entityId && documents.has(transition.card)) {
|
|
367
|
+
forget(transition.id);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
const doomed = new Set([id, ...documents]);
|
|
371
|
+
for (const target of doomed) {
|
|
372
|
+
cards.delete(target);
|
|
373
|
+
specs.delete(target);
|
|
374
|
+
}
|
|
375
|
+
for (const row of [...comments.values()])
|
|
376
|
+
if (row.entityId === entityId && doomed.has(row.card)) {
|
|
377
|
+
for (const mention of [...mentions.values()])
|
|
378
|
+
if (mention.entityId === entityId && mention.comment === row.id)
|
|
379
|
+
mentions.delete(mention.id);
|
|
380
|
+
comments.delete(row.id);
|
|
381
|
+
}
|
|
348
382
|
},
|
|
349
383
|
project: async (card) => {
|
|
350
384
|
if (sync) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/store/memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/store/memory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/server-planning",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.38",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "The general planning implementation — the planning service and its plugin/middleware registry, the transition executor, the in-memory store, the protocol handlers and the commit feed.",
|
|
6
6
|
"type": "module",
|
|
@@ -45,21 +45,21 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@owlmeans/auth": "^0.1.18-rc.42",
|
|
48
|
-
"@owlmeans/auth-common": "^0.1.18-rc.
|
|
49
|
-
"@owlmeans/basic-ids": "^0.1.18-rc.
|
|
48
|
+
"@owlmeans/auth-common": "^0.1.18-rc.54",
|
|
49
|
+
"@owlmeans/basic-ids": "^0.1.18-rc.42",
|
|
50
50
|
"@owlmeans/context": "^0.1.18-rc.35",
|
|
51
51
|
"@owlmeans/entrypoint": "^0.1.18-rc.42",
|
|
52
52
|
"@owlmeans/error": "^0.1.18-rc.39",
|
|
53
|
-
"@owlmeans/planning": "^0.1.18-rc.
|
|
54
|
-
"@owlmeans/queue": "^0.1.18-rc.
|
|
53
|
+
"@owlmeans/planning": "^0.1.18-rc.31",
|
|
54
|
+
"@owlmeans/queue": "^0.1.18-rc.49",
|
|
55
55
|
"@owlmeans/resource": "^0.1.18-rc.41",
|
|
56
56
|
"@owlmeans/log": "^0.1.18-rc.4",
|
|
57
57
|
"@owlmeans/route": "^0.1.18-rc.36",
|
|
58
|
-
"@owlmeans/server-api": "^0.1.18-rc.
|
|
58
|
+
"@owlmeans/server-api": "^0.1.18-rc.58",
|
|
59
59
|
"@owlmeans/server-context": "^0.1.18-rc.45",
|
|
60
60
|
"@owlmeans/server-entrypoint": "^0.1.18-rc.41",
|
|
61
|
-
"@owlmeans/server-socket": "^0.1.18-rc.
|
|
62
|
-
"@owlmeans/socket": "^0.1.18-rc.
|
|
61
|
+
"@owlmeans/server-socket": "^0.1.18-rc.62",
|
|
62
|
+
"@owlmeans/socket": "^0.1.18-rc.46"
|
|
63
63
|
},
|
|
64
64
|
"peerDependencies": {
|
|
65
65
|
"ajv": "*",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@owlmeans/dep-config": "workspace:*",
|
|
70
|
-
"@owlmeans/test": "^0.1.18-rc.
|
|
70
|
+
"@owlmeans/test": "^0.1.18-rc.39",
|
|
71
71
|
"@types/bun": "^1.4.2",
|
|
72
72
|
"@types/node": "^26.6.4",
|
|
73
73
|
"ajv": "^8.20.0",
|
package/src/conformance/cases.ts
CHANGED
|
@@ -365,6 +365,43 @@ const cases: ConformanceCase[] = [
|
|
|
365
365
|
},
|
|
366
366
|
},
|
|
367
367
|
|
|
368
|
+
{
|
|
369
|
+
name: 'deletes a card with its own documents and refuses one with a child card',
|
|
370
|
+
run: async ({ facade, store }) => {
|
|
371
|
+
const entityId = organization()
|
|
372
|
+
const planning = facade(entityId)
|
|
373
|
+
const fixtures = conformanceFixturesOf(planning)
|
|
374
|
+
const branch = await fixtures.createBranch()
|
|
375
|
+
const book = await fixtures.createBook(branch.id!, 'Documented')
|
|
376
|
+
const neighbour = await fixtures.createBook(branch.id!, 'Neighbour')
|
|
377
|
+
const summary = (await (await planning.model(book)).write('summary', '{"lines":["first"]}', { wait: true })).card!
|
|
378
|
+
await (await planning.model(book.id!)).write('summary', '{"lines":["second"]}', { wait: true })
|
|
379
|
+
await execute(planning, { card: neighbour.id!, action: TransitionAction.Link, link: { type: 'shelved-near', to: book.id! } })
|
|
380
|
+
|
|
381
|
+
const deleted = await planning.execute({ card: book.id!, action: TransitionAction.Delete }, { wait: true })
|
|
382
|
+
|
|
383
|
+
same((await planning.commits.status(deleted.transition.id!)).state, CommitState.Committed, 'the delete commits')
|
|
384
|
+
same(await planning.cards.load(book.id!), null, 'the card is gone')
|
|
385
|
+
same(await planning.cards.load(summary.id!), null, 'its document is gone')
|
|
386
|
+
same(await store.specs!.current(book.id!, 'summary', entityId), null, 'no current document')
|
|
387
|
+
same((await planning.cards.list({ kind: WorkcardKind.Specification })).total, 0, 'no listed document')
|
|
388
|
+
same((await store.transitions!.list({ entityId, card: summary.id! }, { size: 0 })).total, 0, 'the document\'s log goes with it')
|
|
389
|
+
check((await store.transitions!.list({ entityId, card: book.id! }, { size: 0 })).items.some(row => row.action === TransitionAction.Delete), 'the card keeps its own delete')
|
|
390
|
+
same((await planning.relationships.list({ from: neighbour.id })).total, 0, 'edges into the card dropped')
|
|
391
|
+
check(await planning.cards.load(neighbour.id!) != null, 'a sibling survives')
|
|
392
|
+
|
|
393
|
+
const shelf = (await planning.execute({
|
|
394
|
+
card: { kind: WorkcardKind.Card, type: LIBRARY.section, parent: branch.id!, title: 'Shelf' }, action: TransitionAction.Create,
|
|
395
|
+
}, { wait: true })).card!
|
|
396
|
+
const shelved = await fixtures.createBook(shelf.id!, 'Shelved')
|
|
397
|
+
await (await planning.model(shelved)).write('summary', '{"lines":["kept"]}', { wait: true })
|
|
398
|
+
const refusal = await rejects(planning.execute({ card: shelf.id!, action: TransitionAction.Delete }), PlanningError, 'a card with a child card')
|
|
399
|
+
check(refusal.message.includes('hierarchy:parent-in-use'), `the refusal names the hierarchy: ${refusal.message}`)
|
|
400
|
+
same((await planning.cards.get(shelved.id!)).parent, shelf.id, 'the child card stays')
|
|
401
|
+
same((await planning.specifications.current(shelved.id!, 'summary'))?.body, '{"lines":["kept"]}', 'with its document')
|
|
402
|
+
},
|
|
403
|
+
},
|
|
404
|
+
|
|
368
405
|
{
|
|
369
406
|
name: 'settles a transition that cannot fold in order and folds past it',
|
|
370
407
|
run: async ({ facade, store }) => {
|
package/src/hierarchy/types.ts
CHANGED
|
@@ -6,5 +6,15 @@ export interface PlanningHierarchy {
|
|
|
6
6
|
projects: (card: Workcard) => Promise<string[]>
|
|
7
7
|
visible: (card: Workcard, projects?: readonly string[]) => Promise<boolean>
|
|
8
8
|
descendants: (id: string, entityId: string) => Promise<Workcard[]>
|
|
9
|
+
/**
|
|
10
|
+
* A card's own documents: the specifications whose primary parent is the card, and theirs in
|
|
11
|
+
* turn. They never block the card's delete — its fold removes them with it.
|
|
12
|
+
*/
|
|
13
|
+
documents: (id: string, entityId: string) => Promise<Workcard[]>
|
|
14
|
+
/**
|
|
15
|
+
* The card's own shape against its schemas — or, `deleting`, whether it may go: a project always
|
|
16
|
+
* (its delete purges what is under it); any other card only when everything under it is one of
|
|
17
|
+
* its own `documents` (`hierarchy:parent-in-use` otherwise).
|
|
18
|
+
*/
|
|
9
19
|
validate: (card: Workcard, deleting?: boolean) => Promise<void>
|
|
10
20
|
}
|
package/src/hierarchy.ts
CHANGED
|
@@ -48,6 +48,23 @@ export const makePlanningHierarchy = (runtime: PlanningRuntime): PlanningHierarc
|
|
|
48
48
|
}
|
|
49
49
|
return [...found.values()]
|
|
50
50
|
}
|
|
51
|
+
/** The specifications among `below` whose primary parent is `id` or one already owned. */
|
|
52
|
+
const ownedOf = (id: string, below: Workcard[]): Workcard[] => {
|
|
53
|
+
const owners = new Set([id])
|
|
54
|
+
const owned: Workcard[] = []
|
|
55
|
+
let grown = true
|
|
56
|
+
while (grown) {
|
|
57
|
+
grown = false
|
|
58
|
+
for (const card of below) {
|
|
59
|
+
if (card.kind === WorkcardKind.Specification && card.parent != null && owners.has(card.parent) && !owners.has(card.id!)) {
|
|
60
|
+
owners.add(card.id!)
|
|
61
|
+
owned.push(card)
|
|
62
|
+
grown = true
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return owned
|
|
67
|
+
}
|
|
51
68
|
const assertPair = (parent: Workcard, card: Workcard, schemas: PlanningSchemaRegistry): void => {
|
|
52
69
|
if (card.kind === WorkcardKind.Specification) return
|
|
53
70
|
const childType = schemas.type(card.type)
|
|
@@ -67,12 +84,15 @@ export const makePlanningHierarchy = (runtime: PlanningRuntime): PlanningHierarc
|
|
|
67
84
|
ancestors,
|
|
68
85
|
project,
|
|
69
86
|
descendants,
|
|
87
|
+
documents: async (id, entityId) => ownedOf(id, await descendants(id, entityId)),
|
|
70
88
|
projects: async card => [...new Set([...(card.kind === WorkcardKind.Project ? [card.id!] : []), ...(await ancestors(card)).filter(parent => parent.kind === WorkcardKind.Project).map(parent => parent.id!)])],
|
|
71
89
|
visible: async (card, projects) => projects == null || (await hierarchy.projects(card)).some(id => projects.includes(id)),
|
|
72
90
|
validate: async (card, deleting = false) => {
|
|
73
91
|
if (deleting) {
|
|
74
92
|
if (card.kind === WorkcardKind.Project) return
|
|
75
|
-
|
|
93
|
+
// The card's own documents go with it; anything else under it keeps it alive.
|
|
94
|
+
const below = await descendants(card.id!, card.entityId)
|
|
95
|
+
if (below.length > ownedOf(card.id!, below).length) throw new PlanningError(`hierarchy:parent-in-use:${card.id}`)
|
|
76
96
|
return
|
|
77
97
|
}
|
|
78
98
|
const schemas = await runtime.schemasFor(card.entityId, await project(card))
|
package/src/invariants.ts
CHANGED
|
@@ -42,7 +42,9 @@ export const makePlanningInvariants = (runtime: PlanningRuntime): PlanningInvari
|
|
|
42
42
|
if (after == null) {
|
|
43
43
|
if (before != null) {
|
|
44
44
|
await hierarchy.validate(before, true)
|
|
45
|
-
|
|
45
|
+
// What the delete's fold removes: a project's whole subtree, any other card's own documents.
|
|
46
|
+
const removed = before.kind === WorkcardKind.Project ? await hierarchy.descendants(before.id!, before.entityId) : await hierarchy.documents(before.id!, before.entityId)
|
|
47
|
+
const doomed = new Set([before.id!, ...removed.map(card => card.id!)])
|
|
46
48
|
const incoming = await runtime.reader().links?.list({ entityId: before.entityId, to: [...doomed], toKind: PlanningResourceKind.Workcard }, { size: 0 })
|
|
47
49
|
for (const edge of incoming?.items ?? []) {
|
|
48
50
|
if (doomed.has(edge.from) || (edge.fromKind ?? PlanningResourceKind.Workcard) !== PlanningResourceKind.Workcard) continue
|
package/src/store/fold/types.ts
CHANGED
|
@@ -12,7 +12,7 @@ export interface FoldHelper {
|
|
|
12
12
|
*
|
|
13
13
|
* Transitions are read in `seq` order past the card's own `seq`, and only `pending` ones are
|
|
14
14
|
* applied, each with `applyHelper.applyTransition` and nothing else. Per transition: write the
|
|
15
|
-
* record (a `delete` drops it, a project `delete` purges everything under it), fold its
|
|
15
|
+
* record (a `delete` drops it with its own documents, a project `delete` purges everything under it), fold its
|
|
16
16
|
* relationships, mark it `committed`, `publish` the event, then run `onCommitted` — so the `after`
|
|
17
17
|
* chain runs in THIS process, exactly once per committed transition. A transition that cannot be
|
|
18
18
|
* folded is marked `failed` with the reason and a failed event is published, and the fold goes PAST
|
package/src/store/memory.ts
CHANGED
|
@@ -63,7 +63,7 @@ export const wantsSpecifications = (where?: Criteria<Workcard>): boolean => {
|
|
|
63
63
|
*
|
|
64
64
|
* `schemas: true` adds the data-defined schema port: records keyed by layer, a revision per
|
|
65
65
|
* organization bumped on every write, and `watch` listeners called synchronously. A purged project
|
|
66
|
-
* takes its schema layer with it.
|
|
66
|
+
* takes its schema layer with it. A dropped card takes its own documents with it.
|
|
67
67
|
*
|
|
68
68
|
* It is wrong for anything with more than one process or a restart: the log, the cards and the
|
|
69
69
|
* commit feed are all this process's heap.
|
|
@@ -118,6 +118,24 @@ export const makeMemoryPlanningStore = (opts: MemoryPlanningStoreOptions = {}):
|
|
|
118
118
|
|
|
119
119
|
const recordOf = (id: string): Workcard | undefined => cards.get(id) ?? specs.get(id)
|
|
120
120
|
|
|
121
|
+
/** A record's own documents: the specifications whose primary parent is it, and theirs in turn. */
|
|
122
|
+
const documentsOf = (id: string, entityId: string): Set<string> => {
|
|
123
|
+
const owners = new Set([id])
|
|
124
|
+
let grown = true
|
|
125
|
+
while (grown) {
|
|
126
|
+
grown = false
|
|
127
|
+
for (const spec of specs.values()) {
|
|
128
|
+
if (spec.entityId === entityId && spec.parent != null && owners.has(spec.parent) && !owners.has(spec.id!)) {
|
|
129
|
+
owners.add(spec.id!)
|
|
130
|
+
grown = true
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
owners.delete(id)
|
|
135
|
+
|
|
136
|
+
return owners
|
|
137
|
+
}
|
|
138
|
+
|
|
121
139
|
const logOf = (card: string): Transition[] => (byCard.get(card) ?? [])
|
|
122
140
|
.map(id => log.get(id))
|
|
123
141
|
.filter((transition): transition is Transition => transition != null)
|
|
@@ -390,14 +408,32 @@ export const makeMemoryPlanningStore = (opts: MemoryPlanningStoreOptions = {}):
|
|
|
390
408
|
},
|
|
391
409
|
|
|
392
410
|
drop: async (id, entityId) => {
|
|
393
|
-
if (recordOf(id)?.entityId
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
411
|
+
if (recordOf(id)?.entityId !== entityId) {
|
|
412
|
+
return
|
|
413
|
+
}
|
|
414
|
+
// The record's own documents go with it, the way everything under a project goes with the
|
|
415
|
+
// project: their edges and log too. The record's own log stays — its delete is the tombstone.
|
|
416
|
+
const documents = documentsOf(id, entityId)
|
|
417
|
+
for (const link of [...links.values()]) {
|
|
418
|
+
if (link.entityId === entityId && (((link.fromKind ?? PlanningResourceKind.Workcard) === PlanningResourceKind.Workcard && documents.has(link.from))
|
|
419
|
+
|| ((link.toKind ?? PlanningResourceKind.Workcard) === PlanningResourceKind.Workcard && documents.has(link.to)))) {
|
|
420
|
+
links.delete(link.id!)
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
for (const transition of [...log.values()]) {
|
|
424
|
+
if (transition.entityId === entityId && documents.has(transition.card)) {
|
|
425
|
+
forget(transition.id!)
|
|
399
426
|
}
|
|
400
427
|
}
|
|
428
|
+
const doomed = new Set([id, ...documents])
|
|
429
|
+
for (const target of doomed) {
|
|
430
|
+
cards.delete(target)
|
|
431
|
+
specs.delete(target)
|
|
432
|
+
}
|
|
433
|
+
for (const row of [...comments.values()]) if (row.entityId === entityId && doomed.has(row.card)) {
|
|
434
|
+
for (const mention of [...mentions.values()]) if (mention.entityId === entityId && mention.comment === row.id) mentions.delete(mention.id!)
|
|
435
|
+
comments.delete(row.id!)
|
|
436
|
+
}
|
|
401
437
|
},
|
|
402
438
|
|
|
403
439
|
project: async card => {
|
|
@@ -52,6 +52,58 @@ describe('@owlmeans/server-planning — the memory store', () => {
|
|
|
52
52
|
expect(await store.cards.purge(kept.id!, ENTITY)).toBe(4)
|
|
53
53
|
})
|
|
54
54
|
|
|
55
|
+
test('deleting a card takes its own documents with their log, edges and comments, and keeps its own delete', async () => {
|
|
56
|
+
const { facade, store } = await makeTestPlanning()
|
|
57
|
+
const planning = facade()
|
|
58
|
+
const project = await createProject(planning)
|
|
59
|
+
const task = (await createTask(planning, project.id!, 'Documented')).card!
|
|
60
|
+
const other = (await createTask(planning, project.id!, 'Other')).card!
|
|
61
|
+
const design = (await planning.execute({
|
|
62
|
+
card: { kind: WorkcardKind.Specification, type: SPEC, parent: task.id!, title: 'design', category: 'design', format: SpecificationFormat.Json, body: '{}' },
|
|
63
|
+
action: TransitionAction.Create,
|
|
64
|
+
}, { wait: true })).card!
|
|
65
|
+
// A document of the document, an edge into it and a comment with its mention — no fixture
|
|
66
|
+
// type declares them, so they are written to the store directly.
|
|
67
|
+
const at = new Date().toISOString()
|
|
68
|
+
await store.cards.put({ ...design, id: 'nested-document', parent: design.id!, parents: [design.id!], title: 'nested' })
|
|
69
|
+
await store.links.put({ entityId: ENTITY, type: 'blocks', from: other.id!, to: design.id!, createdAt: at })
|
|
70
|
+
const comment = await store.comments!.put({ entityId: ENTITY, card: design.id!, author: 'author-1', body: 'Looks right', version: 1, createdAt: at })
|
|
71
|
+
const mention = await store.mentions!.put({ entityId: ENTITY, comment: comment.id!, card: design.id!, assignee: 'author-1', revision: 1, version: 1, createdAt: at })
|
|
72
|
+
|
|
73
|
+
const deleted = await planning.execute({ card: task.id!, action: TransitionAction.Delete }, { wait: true })
|
|
74
|
+
|
|
75
|
+
expect((await planning.commits.status(deleted.transition.id!)).state).toBe(CommitState.Committed)
|
|
76
|
+
for (const id of [task.id!, design.id!, 'nested-document']) {
|
|
77
|
+
expect(await planning.cards.load(id)).toBeNull()
|
|
78
|
+
}
|
|
79
|
+
expect((await planning.cards.list({ kind: WorkcardKind.Specification })).total).toBe(0)
|
|
80
|
+
expect((await store.transitions.list({ entityId: ENTITY, card: design.id! })).total).toBe(0)
|
|
81
|
+
expect((await store.transitions.list({ entityId: ENTITY, card: task.id! })).items.map(row => row.action))
|
|
82
|
+
.toEqual([TransitionAction.Create, TransitionAction.Delete])
|
|
83
|
+
expect((await store.links.list({ entityId: ENTITY, to: design.id! })).total).toBe(0)
|
|
84
|
+
expect(await store.comments!.get(comment.id!, ENTITY)).toBeNull()
|
|
85
|
+
expect(await store.mentions!.get(mention.id!, ENTITY)).toBeNull()
|
|
86
|
+
expect(await planning.cards.load(other.id!)).not.toBeNull()
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
test('a card with a child card is refused its delete, documents or not', async () => {
|
|
90
|
+
const { facade, store } = await makeTestPlanning()
|
|
91
|
+
const planning = facade()
|
|
92
|
+
const project = await createProject(planning)
|
|
93
|
+
const task = (await createTask(planning, project.id!, 'Parent')).card!
|
|
94
|
+
await planning.execute({
|
|
95
|
+
card: { kind: WorkcardKind.Specification, type: SPEC, parent: task.id!, title: 'design', category: 'design', format: SpecificationFormat.Json, body: '{}' },
|
|
96
|
+
action: TransitionAction.Create,
|
|
97
|
+
}, { wait: true })
|
|
98
|
+
// No fixture type admits a child card under a task, so the child is written to the store directly.
|
|
99
|
+
await store.cards.put({ ...task, id: 'child-card', code: undefined, parent: task.id!, parents: [task.id!], title: 'Child' })
|
|
100
|
+
|
|
101
|
+
await expect(planning.execute({ card: task.id!, action: TransitionAction.Delete }, { wait: true }))
|
|
102
|
+
.rejects.toThrow(`hierarchy:parent-in-use:${task.id}`)
|
|
103
|
+
expect(await planning.cards.load(task.id!)).not.toBeNull()
|
|
104
|
+
expect((await planning.specifications.current(task.id!, 'design'))?.body).toBe('{}')
|
|
105
|
+
})
|
|
106
|
+
|
|
55
107
|
test('byKey answers the first transition under that key, within its entity only', async () => {
|
|
56
108
|
const { facade, store } = await makeTestPlanning()
|
|
57
109
|
const planning = facade()
|