@owlmeans/client-planning 0.1.18-rc.18 → 0.1.18-rc.19

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 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.18
12
+ bun add @owlmeans/client-planning@^0.1.18-rc.19
13
13
  ```
14
14
 
15
15
  ## Concepts
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/client-planning",
4
- "version": "0.1.18-rc.18",
5
- "generatedAt": "2026-10-03T11:19:50.787Z",
4
+ "version": "0.1.18-rc.19",
5
+ "generatedAt": "2026-10-03T15:33:53.022Z",
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.18"` in `dependencies`
11
+ **Install:** `"@owlmeans/client-planning": "^0.1.18-rc.19"` 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
@@ -87,6 +87,23 @@ whole cache — an organization-wide write reaches every project's layer — and
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
  `parent`); a specification's type is always code's. A tree without `definitions` has none of this.
89
89
 
90
+ ## Mounting in a target
91
+
92
+ A generated target's web reads the STOCK tree its api serves (`server-planning` → Mounting in a
93
+ target) — the one `makePlanningProtocols({ base: { alias: 'api:planning' }, guards: DEFAULT_GUARD,
94
+ definitions: true })` declared in the target's common package.
95
+
96
+ - `appendPlanningClient(context, { protocols, bind: false })` — the target binds its common tree
97
+ itself — plus `appendPlanningStores(context)`. No `socket`: the target api serves no commit
98
+ socket, so `commits.wait` long-polls.
99
+ - Screens read the mirror with `useStoreList` / `useStoreModel` (`@owlmeans/client`), never a
100
+ fetched array kept in component state.
101
+ - Lists reach the store through `syncCards` or `makePlanningFeed` (with `refresh`), NEVER
102
+ `replace()` — the one card store holds every kind.
103
+ - Every write is `facade.execute(...)` with a `key` (a retried click or a double submit answers
104
+ the first receipt) and `{ wait: true }` where the screen shows the result.
105
+ - Never call a route with an empty id; a picker offers no archived parent (`intrinsic: closed`).
106
+
90
107
  ## Reading
91
108
 
92
109
  ```typescript
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/client-planning",
3
- "version": "0.1.18-rc.18",
3
+ "version": "0.1.18-rc.19",
4
4
  "license": "MIT",
5
5
  "description": "The client half of OwlMeans planning — the remote planning facade, the state mirror and its commit fold, and the subscribe-then-poll commit wait. React-free: it runs in a browser and in a Node client alike.",
6
6
  "type": "module",
@@ -29,7 +29,7 @@
29
29
  "@owlmeans/context": "^0.1.18-rc.32",
30
30
  "@owlmeans/entrypoint": "^0.1.18-rc.39",
31
31
  "@owlmeans/error": "^0.1.18-rc.36",
32
- "@owlmeans/planning": "^0.1.18-rc.15",
32
+ "@owlmeans/planning": "^0.1.18-rc.16",
33
33
  "@owlmeans/resource": "^0.1.18-rc.37",
34
34
  "@owlmeans/route": "^0.1.18-rc.33",
35
35
  "@owlmeans/socket": "^0.1.18-rc.37",
@@ -41,7 +41,7 @@
41
41
  },
42
42
  "devDependencies": {
43
43
  "@owlmeans/dep-config": "workspace:*",
44
- "@owlmeans/server-planning": "^0.1.18-rc.18",
44
+ "@owlmeans/server-planning": "^0.1.18-rc.19",
45
45
  "@owlmeans/test": "^0.1.18-rc.33",
46
46
  "@types/bun": "^1.4.0",
47
47
  "ajv": "^8.17.1",