@owlmeans/planning 0.1.18-rc.15 → 0.1.18-rc.16

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 @@ the executor with `@owlmeans/server-planning` and reads remotely with `@owlmeans
9
9
  ## Installation
10
10
 
11
11
  ```sh
12
- bun add @owlmeans/planning@^0.1.18-rc.15 ajv ajv-formats
12
+ bun add @owlmeans/planning@^0.1.18-rc.16 ajv ajv-formats
13
13
  ```
14
14
 
15
15
  ## Concepts
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/planning",
4
- "version": "0.1.18-rc.15",
5
- "generatedAt": "2026-10-03T11:19:50.783Z",
4
+ "version": "0.1.18-rc.16",
5
+ "generatedAt": "2026-10-03T15:33:53.021Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/planning
9
9
 
10
10
  **Layer:** Cross-cutting domain
11
- **Install:** `"@owlmeans/planning": "^0.1.18-rc.15"` in `dependencies` (`ajv` and `ajv-formats` are peers)
11
+ **Install:** `"@owlmeans/planning": "^0.1.18-rc.16"` in `dependencies` (`ajv` and `ajv-formats` are peers)
12
12
 
13
13
  The contracts of project planning: record shapes, schemas, refusals, the protocol tree, the pure
14
14
  fold and the models. No database, no fastify, no React. The executor, the plugin registry, the
@@ -268,6 +268,22 @@ A client calls `encodeWorkcardQuery(query)` before `call({ query })`; a handler
268
268
  - `actor` in an execute body is ignored on the wire: the server fills it from the request.
269
269
  - Responses carry no runtime schema (typed only), so a serializer never strips `fields`.
270
270
 
271
+ ## Mounting in a target
272
+
273
+ A generated target serves this tree as it is — no hand-written card, transition or schema routes:
274
+
275
+ - **common**: `makePlanningProtocols({ base: { alias: 'api:planning' }, guards: DEFAULT_GUARD,
276
+ definitions: true })`, beside the `PLANNING` plugin in `sources/common/src/planning.ts`.
277
+ - **api**: `servePlanningEntrypoints(tree, { access })` minus the `commit.events` socket entry; the
278
+ resolver answers `{ entityId, projects, writes, grants }` (view ids, modify ids, create/admin
279
+ grants) — `server-planning` → The access resolver.
280
+ - **web**: `appendPlanningClient({ protocols, bind: false })` + `appendPlanningStores`, long poll
281
+ only — `client-planning` → Mounting in a target.
282
+ - **Kit literals**: card types and flows are LITERAL objects inside `PLANNING.schemas.flows` /
283
+ `.types`, above the `// owlmeans: add planning flows|types above this line` sentinels (a spread
284
+ hides them from the library's registration checks); card types and flows `overridable: true`,
285
+ `fields` open (`additionalProperties: true`), the container project type `scopedCardTypes: true`.
286
+
271
287
  ## Models
272
288
 
273
289
  `makeWorkcardModel(record, facade)` (and `makeProjectModel`, `makeSpecificationModel`, `modelOf`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/planning",
3
- "version": "0.1.18-rc.15",
3
+ "version": "0.1.18-rc.16",
4
4
  "license": "MIT",
5
5
  "description": "Runtime-free project-planning contracts — the workcard super type, projects, specifications, typed relationships, status flows with three intrinsic states, the transition event and its pure fold, the schema registry, the models and the protocol tree.",
6
6
  "type": "module",