@owlmeans/client-planning 0.1.18-rc.21 → 0.1.18-rc.23
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 +13 -8
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/client-planning/SKILL.md +24 -23
- package/build/client.js +2 -2
- package/build/client.js.map +1 -1
- package/build/commits.js +4 -4
- package/build/commits.js.map +1 -1
- package/build/consts.d.ts +12 -0
- package/build/consts.d.ts.map +1 -1
- package/build/consts.js +15 -0
- package/build/consts.js.map +1 -1
- package/build/definitions.js +2 -2
- package/build/definitions.js.map +1 -1
- package/build/events/types.d.ts +29 -0
- package/build/events/types.d.ts.map +1 -0
- package/build/events/types.js.map +1 -0
- package/build/events.d.ts +9 -20
- package/build/events.d.ts.map +1 -1
- package/build/events.js +97 -103
- package/build/events.js.map +1 -1
- package/build/facade.d.ts.map +1 -1
- package/build/facade.js +10 -10
- package/build/facade.js.map +1 -1
- package/build/feed.d.ts +4 -4
- package/build/feed.d.ts.map +1 -1
- package/build/feed.js +17 -15
- package/build/feed.js.map +1 -1
- package/build/helper/types.d.ts +15 -0
- package/build/helper/types.d.ts.map +1 -0
- package/build/helper/types.js +2 -0
- package/build/helper/types.js.map +1 -0
- package/build/helper.d.ts +7 -7
- package/build/helper.d.ts.map +1 -1
- package/build/helper.js +16 -8
- package/build/helper.js.map +1 -1
- package/build/index.d.ts +4 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/stores.d.ts +3 -10
- package/build/stores.d.ts.map +1 -1
- package/build/stores.js +9 -36
- package/build/stores.js.map +1 -1
- package/build/sync/types.d.ts +18 -0
- package/build/sync/types.d.ts.map +1 -0
- package/build/sync/types.js +2 -0
- package/build/{utils → sync}/types.js.map +1 -1
- package/build/sync.d.ts +4 -0
- package/build/sync.d.ts.map +1 -0
- package/build/sync.js +26 -0
- package/build/sync.js.map +1 -0
- package/build/utils/record/types.d.ts +28 -0
- package/build/utils/record/types.d.ts.map +1 -0
- package/build/utils/record/types.js +2 -0
- package/build/utils/record/types.js.map +1 -0
- package/build/utils/record.d.ts +3 -43
- package/build/utils/record.d.ts.map +1 -1
- package/build/utils/record.js +64 -72
- package/build/utils/record.js.map +1 -1
- package/package.json +15 -15
- package/src/client.ts +2 -2
- package/src/commits.ts +4 -4
- package/src/consts.ts +23 -0
- package/src/definitions.ts +2 -2
- package/src/events/types.ts +29 -0
- package/src/events.ts +105 -103
- package/src/facade.ts +11 -12
- package/src/feed.ts +17 -15
- package/src/helper/types.ts +15 -0
- package/src/helper.ts +27 -10
- package/src/index.ts +4 -1
- package/src/stores.ts +9 -39
- package/src/sync/types.ts +18 -0
- package/src/sync.ts +40 -0
- package/src/utils/record/types.ts +27 -0
- package/src/utils/record.ts +68 -75
- package/tests/events.spec.ts +12 -8
- package/tests/stores.spec.ts +13 -11
- package/build/utils/types.d.ts +0 -3
- package/build/utils/types.d.ts.map +0 -1
- package/build/utils.d.ts +0 -13
- package/build/utils.d.ts.map +0 -1
- package/build/utils.js +0 -15
- package/build/utils.js.map +0 -1
- package/src/utils/types.ts +0 -3
- package/src/utils.ts +0 -20
- /package/build/{utils → events}/types.js +0 -0
package/build/events.js
CHANGED
|
@@ -1,109 +1,103 @@
|
|
|
1
|
+
import { memoHelper } from '@owlmeans/context';
|
|
1
2
|
import { CommitState, TransitionAction, WorkcardKind } from '@owlmeans/planning';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
3
|
+
import { syncHelper } from './sync.js';
|
|
4
|
+
import { recordUtils } from './utils/record.js';
|
|
5
|
+
export const makePlanningMirror = (stores) => {
|
|
6
|
+
const applyCommitEvent = async (event, facade) => {
|
|
7
|
+
const known = await stores.cards.load(event.card);
|
|
8
|
+
await recordUtils.putCommit(stores.commits, {
|
|
9
|
+
id: event.transition,
|
|
10
|
+
card: event.card,
|
|
11
|
+
entityId: event.entityId,
|
|
12
|
+
project: event.project,
|
|
13
|
+
kind: event.kind,
|
|
14
|
+
type: event.type,
|
|
15
|
+
seq: event.seq,
|
|
16
|
+
action: event.action,
|
|
17
|
+
state: event.state,
|
|
18
|
+
at: event.at,
|
|
19
|
+
error: event.error,
|
|
20
|
+
});
|
|
21
|
+
if (event.state === CommitState.Failed) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (event.state === CommitState.Pending) {
|
|
25
|
+
if (known != null && (known.head ?? known.seq) < event.seq) {
|
|
26
|
+
await stores.cards.save({ ...known, head: event.seq });
|
|
27
|
+
}
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (known != null && known.seq > event.seq) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (event.action === TransitionAction.Delete) {
|
|
34
|
+
await recordUtils.dropCard(stores, event.card, event.kind === WorkcardKind.Project);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const record = event.record !== undefined
|
|
38
|
+
? event.record
|
|
39
|
+
: facade != null ? await facade.cards.load(event.card) : undefined;
|
|
40
|
+
if (record === null) {
|
|
41
|
+
// Committed, and gone by the time it was read: a later delete won the race.
|
|
42
|
+
await recordUtils.dropCard(stores, event.card, event.kind === WorkcardKind.Project);
|
|
43
|
+
}
|
|
44
|
+
else if (record !== undefined) {
|
|
45
|
+
await recordUtils.putCard(stores.cards, record);
|
|
46
|
+
}
|
|
47
|
+
if (facade != null && (event.action === TransitionAction.Link || event.action === TransitionAction.Unlink)) {
|
|
48
|
+
const links = await facade.relationships.list({ from: event.card, size: 0 });
|
|
49
|
+
await syncHelper.syncLinks(stores.links, links.items, { from: event.card });
|
|
38
50
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
51
|
+
};
|
|
52
|
+
const applyReceipt = async (receipt) => {
|
|
53
|
+
const { transition } = receipt;
|
|
54
|
+
if (transition.id != null) {
|
|
55
|
+
await recordUtils.putCommit(stores.commits, {
|
|
56
|
+
id: transition.id,
|
|
57
|
+
card: transition.card,
|
|
58
|
+
entityId: transition.entityId,
|
|
59
|
+
project: transition.project,
|
|
60
|
+
kind: transition.kind,
|
|
61
|
+
type: transition.type,
|
|
62
|
+
seq: transition.seq,
|
|
63
|
+
action: transition.action,
|
|
64
|
+
state: transition.commit.state,
|
|
65
|
+
at: transition.commit.at,
|
|
66
|
+
error: transition.commit.error,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (transition.commit.state === CommitState.Failed) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (transition.commit.state === CommitState.Committed && transition.action === TransitionAction.Delete) {
|
|
73
|
+
await recordUtils.dropCard(stores, transition.card, transition.kind === WorkcardKind.Project);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (receipt.card != null) {
|
|
77
|
+
await recordUtils.putCard(stores.cards, receipt.card);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const known = await stores.cards.load(transition.card);
|
|
81
|
+
if (known != null && (known.head ?? known.seq) < transition.seq) {
|
|
82
|
+
await stores.cards.save({ ...known, head: transition.seq });
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
const applyCards = async (cards) => {
|
|
86
|
+
for (const card of cards) {
|
|
87
|
+
await recordUtils.putCard(stores.cards, card);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
return { applyCommitEvent, applyReceipt, applyCards };
|
|
62
91
|
};
|
|
92
|
+
/** The mirror of one set of stores — one per stores object. */
|
|
93
|
+
export const planningMirrorOf = memoHelper.oncePer(makePlanningMirror);
|
|
94
|
+
/** @deprecated compat:factory-refactor — use `planningMirrorOf(stores).applyCommitEvent(…)` */
|
|
95
|
+
export const applyCommitEvent = async (stores, event, facade) => await planningMirrorOf(stores).applyCommitEvent(event, facade);
|
|
96
|
+
/** @deprecated compat:factory-refactor — use `planningMirrorOf(stores).applyReceipt(…)` */
|
|
97
|
+
export const applyReceipt = async (stores, receipt) => await planningMirrorOf(stores).applyReceipt(receipt);
|
|
63
98
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* A pending transition raises the card's `head` to its `seq`, so `head > seq` — the model's
|
|
67
|
-
* `pending()` — is true before any frame arrives. A receipt that already carries the committed
|
|
68
|
-
* card writes it; a committed delete drops the row.
|
|
99
|
+
* @deprecated compat:factory-refactor — use `planningMirrorOf(stores).applyCards(…)`. Only `cards` is
|
|
100
|
+
* read, so a narrower stores object still works here.
|
|
69
101
|
*/
|
|
70
|
-
export const
|
|
71
|
-
const { transition } = receipt;
|
|
72
|
-
if (transition.id != null) {
|
|
73
|
-
await recordHelper.putCommit(stores.commits, {
|
|
74
|
-
id: transition.id,
|
|
75
|
-
card: transition.card,
|
|
76
|
-
entityId: transition.entityId,
|
|
77
|
-
project: transition.project,
|
|
78
|
-
kind: transition.kind,
|
|
79
|
-
type: transition.type,
|
|
80
|
-
seq: transition.seq,
|
|
81
|
-
action: transition.action,
|
|
82
|
-
state: transition.commit.state,
|
|
83
|
-
at: transition.commit.at,
|
|
84
|
-
error: transition.commit.error,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
if (transition.commit.state === CommitState.Failed) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
if (transition.commit.state === CommitState.Committed && transition.action === TransitionAction.Delete) {
|
|
91
|
-
await recordHelper.dropCard(stores, transition.card, transition.kind === WorkcardKind.Project);
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
if (receipt.card != null) {
|
|
95
|
-
await recordHelper.putCard(stores.cards, receipt.card);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
const known = await stores.cards.load(transition.card);
|
|
99
|
-
if (known != null && (known.head ?? known.seq) < transition.seq) {
|
|
100
|
-
await stores.cards.save({ ...known, head: transition.seq });
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
/** Write cards the caller read on its own, under the same newer-fold-wins rule as a commit. */
|
|
104
|
-
export const applyCards = async (stores, cards) => {
|
|
105
|
-
for (const card of cards) {
|
|
106
|
-
await recordHelper.putCard(stores.cards, card);
|
|
107
|
-
}
|
|
108
|
-
};
|
|
102
|
+
export const applyCards = async (stores, cards) => await planningMirrorOf(stores).applyCards(cards);
|
|
109
103
|
//# sourceMappingURL=events.js.map
|
package/build/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAoF,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/build/facade.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKlE,OAAO,KAAK,EACV,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAEjD,MAAM,oBAAoB,CAAA;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAErD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,WACtE,CAAC,aAAa,iBAAiB,SAAS,OAAO,CAAC,aAAa,CAAC,QAAQ,mBAAmB,KACjG,cAsJF,CAAA"}
|
package/build/facade.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CommitFailed, CommitState, DEFAULT_COMMIT_TIMEOUT, PlanningError, PlanningUnsupported, WorkcardKind, WorkcardNotFound,
|
|
2
|
-
import {
|
|
1
|
+
import { CommitFailed, CommitState, DEFAULT_COMMIT_TIMEOUT, modelOf, PlanningError, PlanningUnsupported, wireHelper, WorkcardKind, WorkcardNotFound, } from '@owlmeans/planning';
|
|
2
|
+
import { planningMirrorOf } from './events.js';
|
|
3
3
|
/**
|
|
4
4
|
* A {@link PlanningFacade} over the remote protocol tree — every method is one entrypoint call.
|
|
5
5
|
*
|
|
@@ -54,28 +54,28 @@ export const makeRemoteFacade = (context, protocols, scope, opts) => {
|
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
list: async (query) => await context.entrypoint(protocols.card.list).call({
|
|
57
|
-
query: encodeWorkcardQuery(query), timeout,
|
|
57
|
+
query: wireHelper.encodeWorkcardQuery(query), timeout,
|
|
58
58
|
}),
|
|
59
59
|
count: async (query) => {
|
|
60
60
|
const { page: _page, size: _size, sort: _sort, ...where } = query ?? {};
|
|
61
61
|
const answer = await context.entrypoint(protocols.card.list).call({
|
|
62
|
-
query: encodeWorkcardQuery({ ...where, page: 0, size: 1 }), timeout,
|
|
62
|
+
query: wireHelper.encodeWorkcardQuery({ ...where, page: 0, size: 1 }), timeout,
|
|
63
63
|
});
|
|
64
64
|
return answer.total;
|
|
65
65
|
},
|
|
66
66
|
summary: async (parents, query) => await context.entrypoint(protocols.card.summary).call({
|
|
67
|
-
query: encodeSummaryQuery({ ...query, parents }), timeout,
|
|
67
|
+
query: wireHelper.encodeSummaryQuery({ ...query, parents }), timeout,
|
|
68
68
|
}),
|
|
69
69
|
},
|
|
70
70
|
specifications: {
|
|
71
71
|
current: async (parent, category) => {
|
|
72
72
|
const answer = await context.entrypoint(protocols.card.specifications).call({
|
|
73
|
-
params: { id: parent }, query: encodeSpecificationQuery({ category }), timeout,
|
|
73
|
+
params: { id: parent }, query: wireHelper.encodeSpecificationQuery({ category }), timeout,
|
|
74
74
|
});
|
|
75
75
|
return answer.items[0] ?? null;
|
|
76
76
|
},
|
|
77
77
|
list: async (parent, query) => await context.entrypoint(protocols.card.specifications).call({
|
|
78
|
-
params: { id: parent }, query: encodeSpecificationQuery(query), timeout,
|
|
78
|
+
params: { id: parent }, query: wireHelper.encodeSpecificationQuery(query), timeout,
|
|
79
79
|
}),
|
|
80
80
|
get: async (id) => await context.entrypoint(protocols.spec.get).call({ params: { id }, timeout }),
|
|
81
81
|
revisions: async (id, limit) => {
|
|
@@ -87,7 +87,7 @@ export const makeRemoteFacade = (context, protocols, scope, opts) => {
|
|
|
87
87
|
},
|
|
88
88
|
relationships: {
|
|
89
89
|
list: async (query) => await context.entrypoint(protocols.link.list).call({
|
|
90
|
-
query: encodeRelationshipQuery(query), timeout,
|
|
90
|
+
query: wireHelper.encodeRelationshipQuery(query), timeout,
|
|
91
91
|
}),
|
|
92
92
|
},
|
|
93
93
|
transitions: {
|
|
@@ -100,7 +100,7 @@ export const makeRemoteFacade = (context, protocols, scope, opts) => {
|
|
|
100
100
|
throw new PlanningUnsupported('client:transitions-without-card');
|
|
101
101
|
}
|
|
102
102
|
return await context.entrypoint(protocols.card.transitions).call({
|
|
103
|
-
params: { id: query.card }, query: encodeTransitionQuery(query), timeout,
|
|
103
|
+
params: { id: query.card }, query: wireHelper.encodeTransitionQuery(query), timeout,
|
|
104
104
|
});
|
|
105
105
|
},
|
|
106
106
|
},
|
|
@@ -111,7 +111,7 @@ export const makeRemoteFacade = (context, protocols, scope, opts) => {
|
|
|
111
111
|
const view = await context.entrypoint(protocols.execute).call({ body, timeout });
|
|
112
112
|
const stores = opts.stores?.();
|
|
113
113
|
if (stores != null) {
|
|
114
|
-
await applyReceipt(
|
|
114
|
+
await planningMirrorOf(stores).applyReceipt(view);
|
|
115
115
|
}
|
|
116
116
|
const receipt = receiptOf(view);
|
|
117
117
|
if (executeOpts?.wait === true) {
|
package/build/facade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"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"}
|
package/build/feed.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ import type { PlanningFeed, PlanningFeedOptions } from './types.js';
|
|
|
5
5
|
* every frame — and, with `refresh`, re-seed on an interval as the authoritative backstop to a
|
|
6
6
|
* socket that can drop frames. React-free: a hook wraps it, a Node process uses it as it is.
|
|
7
7
|
*
|
|
8
|
-
* The seed is `syncCards` over `where` (default `criteriaOf(query)`), never
|
|
9
|
-
* holds every kind, and a board's list must not drop the projects beside it. A
|
|
10
|
-
* while the list was in flight is kept even when the list does not name it yet. A
|
|
11
|
-
* writes — a page cannot say what does not exist.
|
|
8
|
+
* The seed is `syncHelper.syncCards` over `where` (default `queryHelper.criteriaOf(query)`), never
|
|
9
|
+
* `replace()`: the store holds every kind, and a board's list must not drop the projects beside it. A
|
|
10
|
+
* card a frame wrote while the list was in flight is kept even when the list does not name it yet. A
|
|
11
|
+
* PAGED seed only writes — a page cannot say what does not exist.
|
|
12
12
|
*
|
|
13
13
|
* Without a socket opener the feed is a seed plus its refresh; `commits.wait` still long-polls.
|
|
14
14
|
*
|
package/build/feed.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAOlE,OAAO,KAAK,EAAyB,YAAY,EAAE,mBAAmB,EAAqB,MAAM,YAAY,CAAA;AAQ7G;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,WACtE,CAAC,SAAQ,mBAAmB,KACpC,YAuGF,CAAA"}
|
package/build/feed.js
CHANGED
|
@@ -1,31 +1,33 @@
|
|
|
1
1
|
import { logger } from '@owlmeans/log';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { PLANNING_SERVICE, queryHelper } from '@owlmeans/planning';
|
|
3
|
+
import { planningMirrorOf } from './events.js';
|
|
4
|
+
import { planningContextOf } from './helper.js';
|
|
5
|
+
import { syncHelper } from './sync.js';
|
|
6
|
+
import { recordUtils } from './utils/record.js';
|
|
6
7
|
const log = logger('client-planning');
|
|
7
|
-
const linkCriteriaOf = (query) =>
|
|
8
|
+
const linkCriteriaOf = (query) => recordUtils.clean({ from: query.from, to: query.to, type: query.type });
|
|
8
9
|
/**
|
|
9
10
|
* Keep the state mirror current: subscribe to commits FIRST, then seed from the list, then fold
|
|
10
11
|
* every frame — and, with `refresh`, re-seed on an interval as the authoritative backstop to a
|
|
11
12
|
* socket that can drop frames. React-free: a hook wraps it, a Node process uses it as it is.
|
|
12
13
|
*
|
|
13
|
-
* The seed is `syncCards` over `where` (default `criteriaOf(query)`), never
|
|
14
|
-
* holds every kind, and a board's list must not drop the projects beside it. A
|
|
15
|
-
* while the list was in flight is kept even when the list does not name it yet. A
|
|
16
|
-
* writes — a page cannot say what does not exist.
|
|
14
|
+
* The seed is `syncHelper.syncCards` over `where` (default `queryHelper.criteriaOf(query)`), never
|
|
15
|
+
* `replace()`: the store holds every kind, and a board's list must not drop the projects beside it. A
|
|
16
|
+
* card a frame wrote while the list was in flight is kept even when the list does not name it yet. A
|
|
17
|
+
* PAGED seed only writes — a page cannot say what does not exist.
|
|
17
18
|
*
|
|
18
19
|
* Without a socket opener the feed is a seed plus its refresh; `commits.wait` still long-polls.
|
|
19
20
|
*
|
|
20
21
|
* @throws {SyntaxError} when the context has no planning client or no planning stores
|
|
21
22
|
*/
|
|
22
23
|
export const makePlanningFeed = (context, opts = {}) => {
|
|
23
|
-
const stores =
|
|
24
|
+
const stores = planningContextOf(context).stores();
|
|
24
25
|
if (stores == null) {
|
|
25
26
|
throw new SyntaxError('Planning feed needs appendPlanningStores(context)');
|
|
26
27
|
}
|
|
27
28
|
const service = context.service(PLANNING_SERVICE);
|
|
28
29
|
const facade = service.for(opts.scope);
|
|
30
|
+
const mirror = planningMirrorOf(stores);
|
|
29
31
|
const state = { connected: false, seeded: false, error: null };
|
|
30
32
|
const report = (patch) => {
|
|
31
33
|
const next = { ...state, ...patch };
|
|
@@ -36,7 +38,7 @@ export const makePlanningFeed = (context, opts = {}) => {
|
|
|
36
38
|
opts.onChange?.({ ...state });
|
|
37
39
|
};
|
|
38
40
|
const paged = opts.query?.size != null && opts.query.size > 0;
|
|
39
|
-
const where = opts.where ?? criteriaOf(opts.query);
|
|
41
|
+
const where = opts.where ?? queryHelper.criteriaOf(opts.query);
|
|
40
42
|
const touched = new Set();
|
|
41
43
|
let seeding = 0;
|
|
42
44
|
let stopped = false;
|
|
@@ -53,15 +55,15 @@ export const makePlanningFeed = (context, opts = {}) => {
|
|
|
53
55
|
return;
|
|
54
56
|
}
|
|
55
57
|
if (paged) {
|
|
56
|
-
await applyCards(
|
|
58
|
+
await mirror.applyCards(answer.items);
|
|
57
59
|
}
|
|
58
60
|
else {
|
|
59
|
-
await syncCards(stores.cards, answer.items, where, { keep: touched });
|
|
61
|
+
await syncHelper.syncCards(stores.cards, answer.items, where, { keep: touched });
|
|
60
62
|
}
|
|
61
63
|
if (opts.links != null) {
|
|
62
64
|
const links = await facade.relationships.list({ ...opts.links, size: opts.links.size ?? 0 });
|
|
63
65
|
if (!stopped) {
|
|
64
|
-
await syncLinks(stores.links, links.items, linkCriteriaOf(opts.links));
|
|
66
|
+
await syncHelper.syncLinks(stores.links, links.items, linkCriteriaOf(opts.links));
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
report({ seeded: true, error: null });
|
|
@@ -85,7 +87,7 @@ export const makePlanningFeed = (context, opts = {}) => {
|
|
|
85
87
|
touched.add(event.card);
|
|
86
88
|
}
|
|
87
89
|
try {
|
|
88
|
-
await applyCommitEvent(
|
|
90
|
+
await mirror.applyCommitEvent(event, facade);
|
|
89
91
|
}
|
|
90
92
|
catch (e) {
|
|
91
93
|
log.warn('Planning feed apply failed', { card: event.card, error: e });
|
package/build/feed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PlanningFacade, PlanningScope, Workcard, WorkcardModel } from '@owlmeans/planning';
|
|
2
|
+
import type { PlanningStores } from '../types.js';
|
|
3
|
+
/** The planning client of one context, without the `WithPlanningClient` mixin type. */
|
|
4
|
+
export interface PlanningContextHelper {
|
|
5
|
+
/** The facade of the context's planning client — `context.planning().for(scope)`. */
|
|
6
|
+
facade: (scope?: Partial<PlanningScope>) => PlanningFacade;
|
|
7
|
+
/**
|
|
8
|
+
* The model of a card (read by id when given one), with the schema bundle loaded first so `can()` and
|
|
9
|
+
* `available()` answer from real flows. Built by `@owlmeans/planning`'s `modelOf(record, facade)`.
|
|
10
|
+
*/
|
|
11
|
+
model: <R extends Workcard = Workcard>(card: R | string, scope?: Partial<PlanningScope>) => Promise<WorkcardModel<R>>;
|
|
12
|
+
/** The stores `appendPlanningStores` registered, or `null` on a context that has none. */
|
|
13
|
+
stores: () => PlanningStores | null;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/helper/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,uFAAuF;AACvF,MAAM,WAAW,qBAAqB;IACpC,qFAAqF;IACrF,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,cAAc,CAAA;IAC1D;;;OAGG;IACH,KAAK,EAAE,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IACrH,0FAA0F;IAC1F,MAAM,EAAE,MAAM,cAAc,GAAG,IAAI,CAAA;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/helper/types.ts"],"names":[],"mappings":""}
|
package/build/helper.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type BasicConfig, type BasicContext } from '@owlmeans/context';
|
|
2
2
|
import type { PlanningFacade, PlanningScope, Workcard, WorkcardModel } from '@owlmeans/planning';
|
|
3
|
-
|
|
3
|
+
import type { PlanningContextHelper } from './helper/types.js';
|
|
4
|
+
export declare const makePlanningContextHelper: (context: BasicContext<BasicConfig>) => PlanningContextHelper;
|
|
5
|
+
/** The planning helper of a context — one per context. */
|
|
6
|
+
export declare const planningContextOf: (target: BasicContext<BasicConfig>) => PlanningContextHelper;
|
|
7
|
+
/** @deprecated compat:factory-refactor — use `planningContextOf(context).facade(…)` */
|
|
4
8
|
export declare const planningOf: <C extends BasicConfig, T extends BasicContext<C>>(context: T, scope?: Partial<PlanningScope>) => PlanningFacade;
|
|
5
|
-
/**
|
|
6
|
-
* The model of a card (read by id when given one), with the schema bundle loaded first so `can()` and
|
|
7
|
-
* `available()` answer from real flows. Named apart from `@owlmeans/planning`'s `modelOf(record,
|
|
8
|
-
* facade)`, which it calls.
|
|
9
|
-
*/
|
|
9
|
+
/** @deprecated compat:factory-refactor — use `planningContextOf(context).model(…)` */
|
|
10
10
|
export declare const planningModelOf: <R extends Workcard = Workcard, C extends BasicConfig = BasicConfig, T extends BasicContext<C> = BasicContext<C>>(context: T, card: R | string, scope?: Partial<PlanningScope>) => Promise<WorkcardModel<R>>;
|
|
11
11
|
//# sourceMappingURL=helper.d.ts.map
|
package/build/helper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEnF,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAChG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAG9D,eAAO,MAAM,yBAAyB,YAAa,YAAY,CAAC,WAAW,CAAC,KAAG,qBAe9E,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,8DAAgD,CAAA;AAE9E,uFAAuF;AACvF,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,WAChE,CAAC,UAAU,OAAO,CAAC,aAAa,CAAC,KACzC,cAA0D,CAAA;AAE7D,sFAAsF;AACtF,eAAO,MAAM,eAAe,GAAU,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,WAC1I,CAAC,QAAQ,CAAC,GAAG,MAAM,UAAU,OAAO,CAAC,aAAa,CAAC,KAC3D,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAA2D,CAAA"}
|
package/build/helper.js
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
|
+
import { memoHelper } from '@owlmeans/context';
|
|
1
2
|
import { PLANNING_SERVICE } from '@owlmeans/planning';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
export const makePlanningContextHelper = (context) => {
|
|
4
|
+
const facade = (scope) => context.service(PLANNING_SERVICE).for(scope);
|
|
5
|
+
const model = async (card, scope) => await facade(scope).model(card);
|
|
6
|
+
const stores = () => {
|
|
7
|
+
const ctx = context;
|
|
8
|
+
return typeof ctx.planningStores === 'function' ? ctx.planningStores() : null;
|
|
9
|
+
};
|
|
10
|
+
return { facade, model, stores };
|
|
11
|
+
};
|
|
12
|
+
/** The planning helper of a context — one per context. */
|
|
13
|
+
export const planningContextOf = memoHelper.oncePer(makePlanningContextHelper);
|
|
14
|
+
/** @deprecated compat:factory-refactor — use `planningContextOf(context).facade(…)` */
|
|
15
|
+
export const planningOf = (context, scope) => planningContextOf(context).facade(scope);
|
|
16
|
+
/** @deprecated compat:factory-refactor — use `planningContextOf(context).model(…)` */
|
|
17
|
+
export const planningModelOf = async (context, card, scope) => await planningContextOf(context).model(card, scope);
|
|
10
18
|
//# sourceMappingURL=helper.js.map
|
package/build/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAuC,MAAM,mBAAmB,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAKrD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAkC,EAAyB,EAAE;IACrG,MAAM,MAAM,GAAG,CAAC,KAA8B,EAAkB,EAAE,CAChE,OAAO,CAAC,OAAO,CAAwB,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAErE,MAAM,KAAK,GAAG,KAAK,EACjB,IAAgB,EAAE,KAA8B,EACrB,EAAE,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAI,IAAI,CAAC,CAAA;IAElE,MAAM,MAAM,GAAG,GAA0B,EAAE;QACzC,MAAM,GAAG,GAAG,OAAsC,CAAA;QAElD,OAAO,OAAO,GAAG,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/E,CAAC,CAAA;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAClC,CAAC,CAAA;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;AAE9E,uFAAuF;AACvF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAU,EAAE,KAA8B,EAC1B,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAE7D,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,OAAU,EAAE,IAAgB,EAAE,KAA8B,EACjC,EAAE,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAI,IAAI,EAAE,KAAK,CAAC,CAAA"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
export type * from './types.js';
|
|
2
|
+
export type * from './events/types.js';
|
|
3
|
+
export type * from './helper/types.js';
|
|
4
|
+
export type * from './sync/types.js';
|
|
2
5
|
export * from './consts.js';
|
|
3
|
-
export * from './utils.js';
|
|
4
6
|
export * from './client.js';
|
|
5
7
|
export * from './facade.js';
|
|
6
8
|
export * from './definitions.js';
|
|
7
9
|
export * from './commits.js';
|
|
8
10
|
export * from './stores.js';
|
|
11
|
+
export * from './sync.js';
|
|
9
12
|
export * from './events.js';
|
|
10
13
|
export * from './feed.js';
|
|
11
14
|
export * from './helper.js';
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,mBAAmB,CAAA;AACtC,mBAAmB,mBAAmB,CAAA;AACtC,mBAAmB,iBAAiB,CAAA;AAEpC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA"}
|
package/build/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export * from './consts.js';
|
|
2
|
-
export * from './utils.js';
|
|
3
2
|
export * from './client.js';
|
|
4
3
|
export * from './facade.js';
|
|
5
4
|
export * from './definitions.js';
|
|
6
5
|
export * from './commits.js';
|
|
7
6
|
export * from './stores.js';
|
|
7
|
+
export * from './sync.js';
|
|
8
8
|
export * from './events.js';
|
|
9
9
|
export * from './feed.js';
|
|
10
10
|
export * from './helper.js';
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA"}
|