@owlmeans/client-planning 0.1.18-rc.24 → 0.1.18-rc.26
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/client-planning/SKILL.md +26 -2
- package/build/client.d.ts.map +1 -1
- package/build/client.js +37 -4
- package/build/client.js.map +1 -1
- package/build/consts.d.ts +4 -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.map +1 -1
- package/build/definitions.js +10 -5
- package/build/definitions.js.map +1 -1
- package/build/facade.d.ts.map +1 -1
- package/build/facade.js +46 -24
- package/build/facade.js.map +1 -1
- package/build/feed.d.ts.map +1 -1
- package/build/feed.js +13 -7
- package/build/feed.js.map +1 -1
- package/build/index.d.ts +2 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/resource-feed.d.ts +5 -0
- package/build/resource-feed.d.ts.map +1 -0
- package/build/resource-feed.js +88 -0
- package/build/resource-feed.js.map +1 -0
- package/build/resources.d.ts +6 -0
- package/build/resources.d.ts.map +1 -0
- package/build/resources.js +98 -0
- package/build/resources.js.map +1 -0
- package/build/stores.d.ts.map +1 -1
- package/build/stores.js +3 -0
- package/build/stores.js.map +1 -1
- package/build/types.d.ts +23 -0
- package/build/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/client.ts +26 -4
- package/src/consts.ts +6 -0
- package/src/definitions.ts +9 -5
- package/src/facade.ts +43 -25
- package/src/feed.ts +13 -7
- package/src/index.ts +3 -0
- package/src/resource-feed.ts +70 -0
- package/src/resources.ts +86 -0
- package/src/stores.ts +2 -0
- package/src/types.ts +24 -0
- package/tests/context.ts +16 -8
- package/tests/definitions.spec.ts +18 -0
- package/tests/resources.spec.ts +90 -0
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ planning service runs in-process.
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
bun add @owlmeans/client-planning@^0.1.18-rc.
|
|
12
|
+
bun add @owlmeans/client-planning@^0.1.18-rc.26
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Concepts
|
|
@@ -124,7 +124,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
|
|
|
124
124
|
your project's skill store (`.agents/skills/`):
|
|
125
125
|
|
|
126
126
|
```sh
|
|
127
|
-
npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
127
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.53
|
|
128
128
|
```
|
|
129
129
|
|
|
130
130
|
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": 2,
|
|
3
3
|
"package": "@owlmeans/client-planning",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-10-
|
|
4
|
+
"version": "0.1.18-rc.26",
|
|
5
|
+
"generatedAt": "2026-10-09T11:42:55.769Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -8,7 +8,7 @@ user-invocable: false
|
|
|
8
8
|
# @owlmeans/client-planning
|
|
9
9
|
|
|
10
10
|
**Layer:** Client
|
|
11
|
-
**Install:** `"@owlmeans/client-planning": "^0.1.18-rc.
|
|
11
|
+
**Install:** `"@owlmeans/client-planning": "^0.1.18-rc.26"` in `dependencies`
|
|
12
12
|
|
|
13
13
|
The client half of OwlMeans planning. It answers the `PlanningFacade` interface of
|
|
14
14
|
`@owlmeans/planning` over the protocol tree a server mounted with `@owlmeans/server-planning`, keeps
|
|
@@ -85,7 +85,7 @@ declaration's `version`), `define`, `seed` and `retire` go through `schema.defin
|
|
|
85
85
|
whole cache — an organization-wide write reaches every project's layer — and make the next
|
|
86
86
|
`model()` reload the service's own bundle. `records` is the server's alone (`PlanningUnsupported`).
|
|
87
87
|
`model(card)` of a card resolves its type in its project's layer (a project's own id, a card's
|
|
88
|
-
|
|
88
|
+
nearest primary project ancestor); a specification's type is always code's. A tree without `definitions` has none of this.
|
|
89
89
|
|
|
90
90
|
## Mounting in a target
|
|
91
91
|
|
|
@@ -228,6 +228,30 @@ clear the marker. A model's `expectSeq` default and its `WorkcardConflict` are `
|
|
|
228
228
|
- `@owlmeans/client-entrypoint` — `bindAll`, the typed `call()`
|
|
229
229
|
- `@owlmeans/state` — the mirror; `@owlmeans/socket` — `Connection`
|
|
230
230
|
|
|
231
|
+
## Auxiliary mirrors and authenticated scope lifecycle
|
|
232
|
+
|
|
233
|
+
With `resources: true` in the shared protocol tree, every remote facade exposes the complete
|
|
234
|
+
assignee/team/comment/mention API, including versioned writes, team membership and project
|
|
235
|
+
attachment. `appendPlanningStores` registers separate stock typed mirrors for all four resources.
|
|
236
|
+
`makePlanningResourceFeed` seeds and polls selected resource queries; use it with the stock stores
|
|
237
|
+
and `useStoreList` / `useStoreModel`. Auxiliary writes update the mirror only after success.
|
|
238
|
+
Comments use trusted server authors; mentions are read-only derived cache commands.
|
|
239
|
+
|
|
240
|
+
Supply `PlanningClientOptions.scopeKey` from authenticated organization entity slug, profile/user
|
|
241
|
+
id, session id and authorization revision; return undefined when signed out. Before switching
|
|
242
|
+
organization or signing out, call `service.close()`: it invalidates in-flight work, stops every
|
|
243
|
+
registered feed, closes the shared socket, clears all stock mirrors and invalidates schema caches.
|
|
244
|
+
Reload schemas and create fresh feeds after adopting the new credential. Never publish a delayed
|
|
245
|
+
old-organization result into a new mirror; remote calls reject it with `client:scope-changed`.
|
|
246
|
+
Feed query scope alone is insufficient for this lifecycle.
|
|
247
|
+
|
|
248
|
+
Resource feed reconciliation snapshots mirror versions before requesting a list. Only unchanged
|
|
249
|
+
snapshot rows absent from that response are removed, so a new local write or a newer version
|
|
250
|
+
survives an older in-flight poll. Stopped feeds cannot publish. Track custom feeds through
|
|
251
|
+
`registerFeed` when their lifecycle must end with the planning service. Card feeds use the same
|
|
252
|
+
identity fence and stop registration; component cleanup calls `stop()`.
|
|
253
|
+
|
|
254
|
+
|
|
231
255
|
## Related
|
|
232
256
|
|
|
233
257
|
- `planning` — records, flows, the fold, the models
|
package/build/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,kBAAkB,EAClF,MAAM,YAAY,CAAA;AAEnB;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,WACrE,CAAC,WAAW,qBAAqB,KACzC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,kBAAkB,EAClF,MAAM,YAAY,CAAA;AAEnB;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,WACrE,CAAC,WAAW,qBAAqB,KACzC,qBAkHF,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,WAChE,CAAC,WAAW,qBAAqB,KACzC,CAAC,GAAG,kBA0BN,CAAA"}
|
package/build/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { bindAll } from '@owlmeans/client-entrypoint';
|
|
2
2
|
import { createLazyService, MiddlewareStage, MiddlewareType } from '@owlmeans/context';
|
|
3
|
-
import { DEFAULT_PLUGIN_ORDER, makeSchemaRegistry, PLANNING_SERVICE, PlanningUnsupported, } from '@owlmeans/planning';
|
|
3
|
+
import { DEFAULT_PLUGIN_ORDER, makeSchemaRegistry, PLANNING_SERVICE, PlanningError, PlanningUnsupported, } from '@owlmeans/planning';
|
|
4
4
|
import { makeRemoteCommitSource } from './commits.js';
|
|
5
5
|
import { makeRemoteDefinitions } from './definitions.js';
|
|
6
6
|
import { makeRemoteFacade } from './facade.js';
|
|
@@ -15,6 +15,9 @@ import { planningContextOf } from './helper.js';
|
|
|
15
15
|
* bundle.
|
|
16
16
|
*/
|
|
17
17
|
export const makePlanningClientService = (context, options) => {
|
|
18
|
+
let epoch = 0;
|
|
19
|
+
const scopeKey = () => `${epoch}:${options.scopeKey?.() ?? ''}`;
|
|
20
|
+
const feeds = new Set();
|
|
18
21
|
const registry = makeSchemaRegistry();
|
|
19
22
|
const plugins = [];
|
|
20
23
|
const stores = () => planningContextOf(context).stores();
|
|
@@ -22,18 +25,29 @@ export const makePlanningClientService = (context, options) => {
|
|
|
22
25
|
socket: options.socket, poll: options.poll, timeout: options.timeout, stores,
|
|
23
26
|
});
|
|
24
27
|
const layerPlugins = () => plugins.forEach(plugin => {
|
|
28
|
+
plugin.schemas?.assigneeTypes?.forEach(registry.registerAssigneeType);
|
|
25
29
|
plugin.schemas?.flows?.forEach(registry.registerFlow);
|
|
26
30
|
plugin.schemas?.types?.forEach(registry.registerType);
|
|
27
31
|
});
|
|
32
|
+
let loadedKey = scopeKey();
|
|
28
33
|
let loaded = false;
|
|
29
34
|
let loading = null;
|
|
30
35
|
const loadSchemas = async (opts) => {
|
|
36
|
+
const key = scopeKey();
|
|
37
|
+
if (loadedKey !== key) {
|
|
38
|
+
loaded = false;
|
|
39
|
+
loading = null;
|
|
40
|
+
definitions?.invalidate();
|
|
41
|
+
loadedKey = key;
|
|
42
|
+
}
|
|
31
43
|
if (loaded && opts?.force !== true) {
|
|
32
44
|
return registry;
|
|
33
45
|
}
|
|
34
46
|
if (loading == null || opts?.force === true) {
|
|
35
47
|
const attempt = (async () => {
|
|
36
48
|
const bundle = await context.entrypoint(options.protocols.schema.list).call({ timeout: options.timeout });
|
|
49
|
+
if (scopeKey() !== key)
|
|
50
|
+
throw new PlanningError('client:scope-changed');
|
|
37
51
|
registry.load(bundle);
|
|
38
52
|
layerPlugins();
|
|
39
53
|
loaded = true;
|
|
@@ -52,15 +66,17 @@ export const makePlanningClientService = (context, options) => {
|
|
|
52
66
|
// A write of data-defined schemas moves the organization's bundle too: the next `model()` reloads it.
|
|
53
67
|
const definitions = options.protocols.schema.define == null
|
|
54
68
|
? undefined
|
|
55
|
-
: makeRemoteDefinitions(context, options.protocols, { timeout: options.timeout, onWrite: () => { loaded = false; loading = null; } });
|
|
69
|
+
: makeRemoteDefinitions(context, options.protocols, { scopeKey, timeout: options.timeout, onWrite: () => { loaded = false; loading = null; } });
|
|
56
70
|
const facadeFor = (scope) => makeRemoteFacade(context, options.protocols, { ...options.scope, ...scope }, {
|
|
57
|
-
commits, schemas: registry, loadSchemas, timeout: options.timeout, stores,
|
|
71
|
+
commits, schemas: registry, loadSchemas, scopeKey, timeout: options.timeout, stores,
|
|
58
72
|
...(definitions != null ? { definitions } : {}),
|
|
59
73
|
});
|
|
60
74
|
let fallback = null;
|
|
61
75
|
// Lazy, like the server's host: `context.planning()` answers before the context initializes.
|
|
62
76
|
return createLazyService(PLANNING_SERVICE, {
|
|
63
77
|
schemas: registry,
|
|
78
|
+
scopeKey,
|
|
79
|
+
registerFeed: feed => { feeds.add(feed); return () => { feeds.delete(feed); }; },
|
|
64
80
|
commits,
|
|
65
81
|
loadSchemas,
|
|
66
82
|
use: plugin => {
|
|
@@ -83,7 +99,24 @@ export const makePlanningClientService = (context, options) => {
|
|
|
83
99
|
committed: async () => {
|
|
84
100
|
throw new PlanningUnsupported('client:committed');
|
|
85
101
|
},
|
|
86
|
-
close: async () =>
|
|
102
|
+
close: async () => {
|
|
103
|
+
epoch++;
|
|
104
|
+
await Promise.all([...feeds].map(async (feed) => await feed.stop()));
|
|
105
|
+
feeds.clear();
|
|
106
|
+
await commits.close();
|
|
107
|
+
loaded = false;
|
|
108
|
+
loading = null;
|
|
109
|
+
definitions?.invalidate();
|
|
110
|
+
registry.load({ version: 1, types: [], flows: [] });
|
|
111
|
+
layerPlugins();
|
|
112
|
+
const mirrors = stores();
|
|
113
|
+
if (mirrors != null)
|
|
114
|
+
for (const resource of Object.values(mirrors)) {
|
|
115
|
+
const rows = await resource.list({}, { size: 0 });
|
|
116
|
+
for (const row of rows.items)
|
|
117
|
+
await resource.delete(row.id);
|
|
118
|
+
}
|
|
119
|
+
},
|
|
87
120
|
...(definitions != null ? { definitions } : {}),
|
|
88
121
|
});
|
|
89
122
|
};
|
package/build/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEtF,OAAO,EACL,oBAAoB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEtF,OAAO,EACL,oBAAoB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,GAC/F,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAK/C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,OAAU,EAAE,OAA8B,EACnB,EAAE;IACzB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,QAAQ,GAAG,GAAW,EAAE,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,CAAA;IACvE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqC,CAAA;IAC1D,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,OAAO,GAAqB,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IAExD,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE;QACjE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM;KAC7E,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,GAAS,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACxD,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;QACrE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACrD,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAA;IAC1B,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,OAAO,GAA2C,IAAI,CAAA;IAE1D,MAAM,WAAW,GAAyC,KAAK,EAAC,IAAI,EAAC,EAAE;QACrE,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAA;QACtB,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAAC,MAAM,GAAG,KAAK,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;YAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAAC,SAAS,GAAG,GAAG,CAAA;QAAC,CAAC;QACrG,IAAI,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC1B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;gBACzG,IAAI,QAAQ,EAAE,KAAK,GAAG;oBAAE,MAAM,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAAA;gBACvE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACrB,YAAY,EAAE,CAAA;gBACd,MAAM,GAAG,IAAI,CAAA;gBAEb,OAAO,QAAQ,CAAA;YACjB,CAAC,CAAC,EAAE,CAAA;YACJ,OAAO,GAAG,OAAO,CAAA;YACjB,6FAA6F;YAC7F,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;gBACjB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACxB,OAAO,GAAG,IAAI,CAAA;gBAChB,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,MAAM,OAAO,CAAA;IACtB,CAAC,CAAA;IAED,sGAAsG;IACtG,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI;QACzD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAA,CAAC,CAAC,EAAE,CAAC,CAAA;IAEhJ,MAAM,SAAS,GAAG,CAAC,KAAkD,EAAkB,EAAE,CACvF,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE;QAC3E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM;QACnF,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC,CAAA;IAEJ,IAAI,QAAQ,GAA0B,IAAI,CAAA;IAE1C,6FAA6F;IAC7F,OAAO,iBAAiB,CAAwB,gBAAgB,EAAE;QAChE,OAAO,EAAE,QAAQ;QACjB,QAAQ;QACR,YAAY,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAA,CAAC,CAAC;QAE9E,OAAO;QAEP,WAAW;QAEX,GAAG,EAAE,MAAM,CAAC,EAAE;YACZ,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrG,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YAC/D,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAA;YAC/E,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YAC7B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC,CAAA;YAC3G,YAAY,EAAE,CAAA;QAChB,CAAC;QAED,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;QAE3B,KAAK,EAAE,GAAG,EAAE;YACV,MAAM,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAA;QAC/C,CAAC;QAED,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QAE7E,SAAS,EAAE,KAAK,IAAI,EAAE;YACpB,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;QACnD,CAAC;QAED,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,KAAK,EAAE,CAAA;YACP,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAClE,KAAK,CAAC,KAAK,EAAE,CAAA;YACb,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;YACrB,MAAM,GAAG,KAAK,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;YAAC,WAAW,EAAE,UAAU,EAAE,CAAA;YACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAAC,YAAY,EAAE,CAAA;YACnE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAA;YACxB,IAAI,OAAO,IAAI,IAAI;gBAAE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;oBACjD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK;wBAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAG,CAAC,CAAA;gBAC9D,CAAC;QACH,CAAC;QAED,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAU,EAAE,OAA8B,EAClB,EAAE;IAC1B,MAAM,GAAG,GAAG,OAAiC,CAAA;IAE7C,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC3B,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,SAAsC,CAAC,CAAC,CAAA;IAClF,CAAC;IAED,MAAM,OAAO,GAAG,yBAAyB,CAAO,OAAO,EAAE,OAAO,CAAC,CAAA;IACjE,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAC5B,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAwB,gBAAgB,CAAC,CAAA;IAEzE,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,GAAG,CAAC,kBAAkB,CAAC;YACrB,IAAI,EAAE,cAAc,CAAC,OAAO;YAC5B,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,WAAW,EAAE,CAAA;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,qCAAqC;gBACvC,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
|
package/build/consts.d.ts
CHANGED
|
@@ -9,6 +9,10 @@ export declare const CARDS: StateAlias<Workcard>;
|
|
|
9
9
|
export declare const LINKS: StateAlias<Relationship>;
|
|
10
10
|
/** What the client has learned about each transition it wrote or saw, keyed by transition id. */
|
|
11
11
|
export declare const COMMITS: StateAlias<PlanningCommitRecord>;
|
|
12
|
+
export declare const ASSIGNEES: StateAlias<import('@owlmeans/planning').Assignee>;
|
|
13
|
+
export declare const TEAMS: StateAlias<import('@owlmeans/planning').Team>;
|
|
14
|
+
export declare const COMMENTS: StateAlias<import('@owlmeans/planning').Comment>;
|
|
15
|
+
export declare const MENTIONS: StateAlias<import('@owlmeans/planning').CommentMention>;
|
|
12
16
|
export declare const DEFAULT_STORE_ALIASES: Readonly<PlanningStoreAliases>;
|
|
13
17
|
/**
|
|
14
18
|
* How much longer than its own `wait` a long poll's HTTP deadline is, in milliseconds — a held
|
package/build/consts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAK5E;;;GAGG;AACH,eAAO,MAAM,KAAK,EAA4B,UAAU,CAAC,QAAQ,CAAC,CAAA;AAElE,eAAO,MAAM,KAAK,EAA4B,UAAU,CAAC,YAAY,CAAC,CAAA;AAEtE,iGAAiG;AACjG,eAAO,MAAM,OAAO,EAA8B,UAAU,CAAC,oBAAoB,CAAC,CAAA;AAElF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAK5E;;;GAGG;AACH,eAAO,MAAM,KAAK,EAA4B,UAAU,CAAC,QAAQ,CAAC,CAAA;AAElE,eAAO,MAAM,KAAK,EAA4B,UAAU,CAAC,YAAY,CAAC,CAAA;AAEtE,iGAAiG;AACjG,eAAO,MAAM,OAAO,EAA8B,UAAU,CAAC,oBAAoB,CAAC,CAAA;AAElF,eAAO,MAAM,SAAS,EAAgC,UAAU,CAAC,OAAO,oBAAoB,EAAE,QAAQ,CAAC,CAAA;AACvG,eAAO,MAAM,KAAK,EAA4B,UAAU,CAAC,OAAO,oBAAoB,EAAE,IAAI,CAAC,CAAA;AAC3F,eAAO,MAAM,QAAQ,EAA+B,UAAU,CAAC,OAAO,oBAAoB,EAAE,OAAO,CAAC,CAAA;AACpG,eAAO,MAAM,QAAQ,EAA+B,UAAU,CAAC,OAAO,oBAAoB,EAAE,cAAc,CAAC,CAAA;AAE3G,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,oBAAoB,CAK/D,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAS,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAuC,CAAA;AAEtF,0DAA0D;AAC1D,eAAO,MAAM,aAAa,MAAM,CAAA"}
|
package/build/consts.js
CHANGED
|
@@ -8,7 +8,12 @@ export const CARDS = 'planning-card-state';
|
|
|
8
8
|
export const LINKS = 'planning-link-state';
|
|
9
9
|
/** What the client has learned about each transition it wrote or saw, keyed by transition id. */
|
|
10
10
|
export const COMMITS = 'planning-commit-state';
|
|
11
|
+
export const ASSIGNEES = 'planning-assignee-state';
|
|
12
|
+
export const TEAMS = 'planning-team-state';
|
|
13
|
+
export const COMMENTS = 'planning-comment-state';
|
|
14
|
+
export const MENTIONS = 'planning-mention-state';
|
|
11
15
|
export const DEFAULT_STORE_ALIASES = Object.freeze({
|
|
16
|
+
assignees: ASSIGNEES, teams: TEAMS, comments: COMMENTS, mentions: MENTIONS,
|
|
12
17
|
cards: CARDS,
|
|
13
18
|
links: LINKS,
|
|
14
19
|
commits: COMMITS,
|
package/build/consts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAIA,mGAAmG;AACnG,iDAAiD;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,qBAA6C,CAAA;AAElE,MAAM,CAAC,MAAM,KAAK,GAAG,qBAAiD,CAAA;AAEtE,iGAAiG;AACjG,MAAM,CAAC,MAAM,OAAO,GAAG,uBAA2D,CAAA;AAElF,MAAM,CAAC,MAAM,qBAAqB,GAAmC,MAAM,CAAC,MAAM,CAAC;IACjF,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,OAAO;CACjB,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAA;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;AAEtF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA"}
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAIA,mGAAmG;AACnG,iDAAiD;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,qBAA6C,CAAA;AAElE,MAAM,CAAC,MAAM,KAAK,GAAG,qBAAiD,CAAA;AAEtE,iGAAiG;AACjG,MAAM,CAAC,MAAM,OAAO,GAAG,uBAA2D,CAAA;AAElF,MAAM,CAAC,MAAM,SAAS,GAAG,yBAA8E,CAAA;AACvG,MAAM,CAAC,MAAM,KAAK,GAAG,qBAAsE,CAAA;AAC3F,MAAM,CAAC,MAAM,QAAQ,GAAG,wBAA4E,CAAA;AACpG,MAAM,CAAC,MAAM,QAAQ,GAAG,wBAAmF,CAAA;AAE3G,MAAM,CAAC,MAAM,qBAAqB,GAAmC,MAAM,CAAC,MAAM,CAAC;IACjF,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IAC1E,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,OAAO;CACjB,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAA;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;AAEtF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,KAAK,EACV,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAK7E;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,WAC3E,CAAC,aAAa,iBAAiB,SAAQ,wBAAwB,KACvE,
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,KAAK,EACV,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAK7E;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,WAC3E,CAAC,aAAa,iBAAiB,SAAQ,wBAAwB,KACvE,iBAuEF,CAAA"}
|
package/build/definitions.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PlanningUnsupported, SchemaWriteMode, scopedSchemaHelper } from '@owlmeans/planning';
|
|
1
|
+
import { PlanningError, PlanningUnsupported, SchemaWriteMode, scopedSchemaHelper } from '@owlmeans/planning';
|
|
2
2
|
const clean = (record) => Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined));
|
|
3
3
|
/**
|
|
4
4
|
* Data-defined types and flows over a tree declared with `definitions: true`: a layer's registry is
|
|
@@ -19,12 +19,16 @@ export const makeRemoteDefinitions = (context, protocols, opts = {}) => {
|
|
|
19
19
|
opts.onWrite?.();
|
|
20
20
|
};
|
|
21
21
|
const registry = (project) => {
|
|
22
|
-
const
|
|
22
|
+
const identity = opts.scopeKey?.() ?? '';
|
|
23
|
+
const key = `${identity}\u0000${project ?? ''}`;
|
|
23
24
|
let entry = cache.get(key);
|
|
24
25
|
if (entry == null) {
|
|
25
|
-
const loading = (async () =>
|
|
26
|
-
query: project != null ? { project } : {}, timeout: opts.timeout
|
|
27
|
-
|
|
26
|
+
const loading = (async () => {
|
|
27
|
+
const bundle = await context.entrypoint(protocols.schema.list).call({ query: project != null ? { project } : {}, timeout: opts.timeout });
|
|
28
|
+
if ((opts.scopeKey?.() ?? '') !== identity)
|
|
29
|
+
throw new PlanningError('client:scope-changed');
|
|
30
|
+
return scopedSchemaHelper.scopedRegistryOf(bundle);
|
|
31
|
+
})();
|
|
28
32
|
entry = loading;
|
|
29
33
|
cache.set(key, loading);
|
|
30
34
|
// A failed read is forgotten, so the next caller asks again instead of inheriting the error.
|
|
@@ -50,6 +54,7 @@ export const makeRemoteDefinitions = (context, protocols, opts = {}) => {
|
|
|
50
54
|
records: async () => {
|
|
51
55
|
throw new PlanningUnsupported('client:definitions:records');
|
|
52
56
|
},
|
|
57
|
+
putAssigneeType: async (schema) => (await write({ assigneeTypes: [schema], mode: SchemaWriteMode.Put })).records[0],
|
|
53
58
|
putType: async (type, layer) => (await write({ project: layer?.project, mode: SchemaWriteMode.Put, types: [type] })).records[0],
|
|
54
59
|
putFlow: async (flow, layer) => (await write({ project: layer?.project, mode: SchemaWriteMode.Put, flows: [flow] })).records[0],
|
|
55
60
|
define: async (declarations, layer) => (await write({ project: layer?.project, mode: SchemaWriteMode.Define, ...declarations })).records,
|
package/build/definitions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.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;AAKlE,OAAO,KAAK,EACV,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAEjD,MAAM,oBAAoB,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;AAG3B,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,cAuKF,CAAA"}
|
package/build/facade.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CommitFailed, CommitState, DEFAULT_COMMIT_TIMEOUT, modelOf, PlanningError, PlanningUnsupported, wireHelper, WorkcardKind, WorkcardNotFound, } from '@owlmeans/planning';
|
|
2
|
+
import { makeRemoteResourceFacade } from './resources.js';
|
|
2
3
|
import { planningMirrorOf } from './events.js';
|
|
3
4
|
/**
|
|
4
5
|
* A {@link PlanningFacade} over the remote protocol tree — every method is one entrypoint call.
|
|
@@ -17,6 +18,13 @@ import { planningMirrorOf } from './events.js';
|
|
|
17
18
|
export const makeRemoteFacade = (context, protocols, scope, opts) => {
|
|
18
19
|
const timeout = opts.timeout;
|
|
19
20
|
const { commits } = opts;
|
|
21
|
+
const scopedCall = async (run) => {
|
|
22
|
+
const key = opts.scopeKey?.();
|
|
23
|
+
const reply = await run();
|
|
24
|
+
if (opts.scopeKey?.() !== key)
|
|
25
|
+
throw new PlanningError('client:scope-changed');
|
|
26
|
+
return reply;
|
|
27
|
+
};
|
|
20
28
|
const receiptOf = (view) => {
|
|
21
29
|
const id = view.transition.id;
|
|
22
30
|
if (id == null) {
|
|
@@ -38,10 +46,11 @@ export const makeRemoteFacade = (context, protocols, scope, opts) => {
|
|
|
38
46
|
};
|
|
39
47
|
};
|
|
40
48
|
const facade = {
|
|
49
|
+
...makeRemoteResourceFacade(context, protocols, opts),
|
|
41
50
|
scope: { ...scope, entityId: scope.entityId ?? '' },
|
|
42
51
|
schemas: opts.schemas,
|
|
43
52
|
cards: {
|
|
44
|
-
get: async (id) => await context.entrypoint(protocols.card.get).call({ params: { id }, timeout }),
|
|
53
|
+
get: async (id) => await scopedCall(() => context.entrypoint(protocols.card.get).call({ params: { id }, timeout })),
|
|
45
54
|
load: async (id) => {
|
|
46
55
|
try {
|
|
47
56
|
return await facade.cards.get(id);
|
|
@@ -53,62 +62,62 @@ export const makeRemoteFacade = (context, protocols, scope, opts) => {
|
|
|
53
62
|
throw e;
|
|
54
63
|
}
|
|
55
64
|
},
|
|
56
|
-
list: async (query) => await context.entrypoint(protocols.card.list).call({
|
|
65
|
+
list: async (query) => await scopedCall(() => context.entrypoint(protocols.card.list).call({
|
|
57
66
|
query: wireHelper.encodeWorkcardQuery(query), timeout,
|
|
58
|
-
}),
|
|
67
|
+
})),
|
|
59
68
|
count: async (query) => {
|
|
60
69
|
const { page: _page, size: _size, sort: _sort, ...where } = query ?? {};
|
|
61
|
-
const answer = await context.entrypoint(protocols.card.list).call({
|
|
70
|
+
const answer = await scopedCall(() => context.entrypoint(protocols.card.list).call({
|
|
62
71
|
query: wireHelper.encodeWorkcardQuery({ ...where, page: 0, size: 1 }), timeout,
|
|
63
|
-
});
|
|
72
|
+
}));
|
|
64
73
|
return answer.total;
|
|
65
74
|
},
|
|
66
|
-
summary: async (parents, query) => await context.entrypoint(protocols.card.summary).call({
|
|
75
|
+
summary: async (parents, query) => await scopedCall(() => context.entrypoint(protocols.card.summary).call({
|
|
67
76
|
query: wireHelper.encodeSummaryQuery({ ...query, parents }), timeout,
|
|
68
|
-
}),
|
|
77
|
+
})),
|
|
69
78
|
},
|
|
70
79
|
specifications: {
|
|
71
80
|
current: async (parent, category) => {
|
|
72
|
-
const answer = await context.entrypoint(protocols.card.specifications).call({
|
|
81
|
+
const answer = await scopedCall(() => context.entrypoint(protocols.card.specifications).call({
|
|
73
82
|
params: { id: parent }, query: wireHelper.encodeSpecificationQuery({ category }), timeout,
|
|
74
|
-
});
|
|
83
|
+
}));
|
|
75
84
|
return answer.items[0] ?? null;
|
|
76
85
|
},
|
|
77
|
-
list: async (parent, query) => await context.entrypoint(protocols.card.specifications).call({
|
|
86
|
+
list: async (parent, query) => await scopedCall(() => context.entrypoint(protocols.card.specifications).call({
|
|
78
87
|
params: { id: parent }, query: wireHelper.encodeSpecificationQuery(query), timeout,
|
|
79
|
-
}),
|
|
80
|
-
get: async (id) => await context.entrypoint(protocols.spec.get).call({ params: { id }, timeout }),
|
|
88
|
+
})),
|
|
89
|
+
get: async (id) => await scopedCall(() => context.entrypoint(protocols.spec.get).call({ params: { id }, timeout })),
|
|
81
90
|
revisions: async (id, limit) => {
|
|
82
|
-
const answer = await context.entrypoint(protocols.spec.revisions).call({
|
|
91
|
+
const answer = await scopedCall(() => context.entrypoint(protocols.spec.revisions).call({
|
|
83
92
|
params: { id }, query: limit != null ? { limit } : {}, timeout,
|
|
84
|
-
});
|
|
93
|
+
}));
|
|
85
94
|
return answer.items;
|
|
86
95
|
},
|
|
87
96
|
},
|
|
88
97
|
relationships: {
|
|
89
|
-
list: async (query) => await context.entrypoint(protocols.link.list).call({
|
|
98
|
+
list: async (query) => await scopedCall(() => context.entrypoint(protocols.link.list).call({
|
|
90
99
|
query: wireHelper.encodeRelationshipQuery(query), timeout,
|
|
91
|
-
}),
|
|
100
|
+
})),
|
|
92
101
|
},
|
|
93
102
|
transitions: {
|
|
94
|
-
get: async (id) => await context.entrypoint(protocols.transition.get).call({
|
|
103
|
+
get: async (id) => await scopedCall(() => context.entrypoint(protocols.transition.get).call({
|
|
95
104
|
params: { transition: id }, timeout,
|
|
96
|
-
}),
|
|
105
|
+
})),
|
|
97
106
|
list: async (query) => {
|
|
98
107
|
// The tree reads the log through ONE card; a project-wide read has no route to travel.
|
|
99
108
|
if (query.card == null) {
|
|
100
109
|
throw new PlanningUnsupported('client:transitions-without-card');
|
|
101
110
|
}
|
|
102
|
-
return await context.entrypoint(protocols.card.transitions).call({
|
|
111
|
+
return await scopedCall(() => context.entrypoint(protocols.card.transitions).call({
|
|
103
112
|
params: { id: query.card }, query: wireHelper.encodeTransitionQuery(query), timeout,
|
|
104
|
-
});
|
|
113
|
+
}));
|
|
105
114
|
},
|
|
106
115
|
},
|
|
107
116
|
commits,
|
|
108
117
|
execute: async (exec, executeOpts) => {
|
|
109
118
|
// Neither the actor nor a hold travels: the server decides who wrote, and the wait is ours.
|
|
110
119
|
const { actor: _actor, ...body } = exec;
|
|
111
|
-
const view = await context.entrypoint(protocols.execute).call({ body, timeout });
|
|
120
|
+
const view = await scopedCall(() => context.entrypoint(protocols.execute).call({ body, timeout }));
|
|
112
121
|
const stores = opts.stores?.();
|
|
113
122
|
if (stores != null) {
|
|
114
123
|
await planningMirrorOf(stores).applyReceipt(view);
|
|
@@ -124,9 +133,22 @@ export const makeRemoteFacade = (context, protocols, scope, opts) => {
|
|
|
124
133
|
const record = typeof card === 'string' ? await facade.cards.get(card) : card;
|
|
125
134
|
// A card of a project resolves its types in that project's layer; the organization's layer
|
|
126
135
|
// is the service's own bundle, and a specification's type is always code's.
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
136
|
+
let project = opts.definitions == null ? undefined : record.kind === WorkcardKind.Project ? record.id : undefined;
|
|
137
|
+
if (opts.definitions != null && record.kind === WorkcardKind.Card) {
|
|
138
|
+
let parent = record.parent;
|
|
139
|
+
const seen = new Set(record.id != null ? [record.id] : []);
|
|
140
|
+
while (parent != null) {
|
|
141
|
+
if (seen.has(parent))
|
|
142
|
+
throw new PlanningError('hierarchy:cycle');
|
|
143
|
+
seen.add(parent);
|
|
144
|
+
const ancestor = await facade.cards.get(parent);
|
|
145
|
+
if (ancestor.kind === WorkcardKind.Project) {
|
|
146
|
+
project = ancestor.id;
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
parent = ancestor.parent;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
130
152
|
if (project == null) {
|
|
131
153
|
return modelOf(record, facade);
|
|
132
154
|
}
|
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,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,UAAU,EAC1G,YAAY,EAAE,gBAAgB,GAC/B,MAAM,oBAAoB,CAAA;AAK3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG9C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAU,EAAE,SAA4B,EAAE,KAA6B,EAAE,IAAyB,EAClF,EAAE;IAClB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAExB,MAAM,SAAS,GAAG,CAAC,IAA2B,EAAqB,EAAE;QACnE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAA;QAC7B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CAAC,sCAAsC,CAAC,CAAA;QACjE,CAAC;QAED,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,SAAS,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE;gBAC1B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;gBAC/C,IAAI,KAAK,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;oBACjC,MAAM,IAAI,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;gBACrC,CAAC;gBACD,IAAI,KAAK,KAAK,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/D,OAAO,IAAI,CAAC,IAAI,CAAA;gBAClB,CAAC;gBAED,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,sBAAsB,EAAE,CAAC,CAAA;YACzF,CAAC;SACF,CAAA;IACH,CAAC,CAAA;IAED,MAAM,MAAM,GAAmB;QAC7B,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE;QAEnD,OAAO,EAAE,IAAI,CAAC,OAAO;QAErB,KAAK,EAAE;YACL,GAAG,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"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"}
|
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;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,
|
|
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,YA6GF,CAAA"}
|
package/build/feed.js
CHANGED
|
@@ -42,16 +42,18 @@ export const makePlanningFeed = (context, opts = {}) => {
|
|
|
42
42
|
const touched = new Set();
|
|
43
43
|
let seeding = 0;
|
|
44
44
|
let stopped = false;
|
|
45
|
+
const identity = service.scopeKey();
|
|
46
|
+
const active = () => !stopped && service.scopeKey() === identity;
|
|
45
47
|
let unsubscribe = null;
|
|
46
48
|
let timer;
|
|
47
49
|
const seed = async () => {
|
|
48
|
-
if (
|
|
50
|
+
if (!active()) {
|
|
49
51
|
return;
|
|
50
52
|
}
|
|
51
53
|
seeding += 1;
|
|
52
54
|
try {
|
|
53
55
|
const answer = await facade.cards.list(paged ? opts.query : { ...opts.query, size: 0 });
|
|
54
|
-
if (
|
|
56
|
+
if (!active()) {
|
|
55
57
|
return;
|
|
56
58
|
}
|
|
57
59
|
if (paged) {
|
|
@@ -62,14 +64,14 @@ export const makePlanningFeed = (context, opts = {}) => {
|
|
|
62
64
|
}
|
|
63
65
|
if (opts.links != null) {
|
|
64
66
|
const links = await facade.relationships.list({ ...opts.links, size: opts.links.size ?? 0 });
|
|
65
|
-
if (
|
|
67
|
+
if (active()) {
|
|
66
68
|
await syncHelper.syncLinks(stores.links, links.items, linkCriteriaOf(opts.links));
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
report({ seeded: true, error: null });
|
|
70
72
|
}
|
|
71
73
|
catch (e) {
|
|
72
|
-
if (
|
|
74
|
+
if (active()) {
|
|
73
75
|
report({ error: e });
|
|
74
76
|
}
|
|
75
77
|
}
|
|
@@ -93,7 +95,7 @@ export const makePlanningFeed = (context, opts = {}) => {
|
|
|
93
95
|
log.warn('Planning feed apply failed', { card: event.card, error: e });
|
|
94
96
|
}
|
|
95
97
|
}, opts.filter);
|
|
96
|
-
if (
|
|
98
|
+
if (!active()) {
|
|
97
99
|
stop();
|
|
98
100
|
return;
|
|
99
101
|
}
|
|
@@ -104,11 +106,12 @@ export const makePlanningFeed = (context, opts = {}) => {
|
|
|
104
106
|
report({ error: e });
|
|
105
107
|
}
|
|
106
108
|
await seed();
|
|
107
|
-
if (
|
|
109
|
+
if (active() && opts.refresh != null && opts.refresh > 0) {
|
|
108
110
|
timer = setInterval(() => { void seed(); }, opts.refresh);
|
|
109
111
|
}
|
|
110
112
|
})();
|
|
111
|
-
|
|
113
|
+
let unregister;
|
|
114
|
+
const feed = {
|
|
112
115
|
get connected() { return state.connected; },
|
|
113
116
|
get seeded() { return state.seeded; },
|
|
114
117
|
get error() { return state.error; },
|
|
@@ -116,6 +119,7 @@ export const makePlanningFeed = (context, opts = {}) => {
|
|
|
116
119
|
refresh: seed,
|
|
117
120
|
stop: async () => {
|
|
118
121
|
stopped = true;
|
|
122
|
+
unregister?.();
|
|
119
123
|
if (timer != null) {
|
|
120
124
|
clearInterval(timer);
|
|
121
125
|
}
|
|
@@ -123,5 +127,7 @@ export const makePlanningFeed = (context, opts = {}) => {
|
|
|
123
127
|
unsubscribe = null;
|
|
124
128
|
},
|
|
125
129
|
};
|
|
130
|
+
unregister = service.registerFeed(feed);
|
|
131
|
+
return feed;
|
|
126
132
|
};
|
|
127
133
|
//# sourceMappingURL=feed.js.map
|
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,gBAAgB,EAAE,WAAW,EAA+D,MAAM,oBAAoB,CAAA;AAE/H,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,cAAc,GAAG,CAAC,KAAwB,EAA0B,EAAE,CAC1E,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAA2B,CAAA;AAEnG;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAU,EAAE,IAAI,GAAwB,EAAE,EAC5B,EAAE;IAChB,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IAClD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,WAAW,CAAC,mDAAmD,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAwB,gBAAgB,CAAC,CAAA;IACxE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAEvC,MAAM,KAAK,GAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACjF,MAAM,MAAM,GAAG,CAAC,KAAiC,EAAQ,EAAE;QACzD,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,CAAA;QACnC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;YACrG,OAAM;QACR,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,WAAW,GAAuB,IAAI,CAAA;IAC1C,IAAI,KAAiD,CAAA;IAErD,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,IAAI,
|
|
1
|
+
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
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;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"}
|
|
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;AAE3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA"}
|