@owlmeans/planning 0.1.18-rc.17 → 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.
Files changed (201) hide show
  1. package/README.md +37 -24
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/planning/SKILL.md +39 -38
  4. package/build/aliases/types.d.ts +49 -0
  5. package/build/aliases/types.d.ts.map +1 -0
  6. package/build/aliases/types.js +2 -0
  7. package/build/aliases/types.js.map +1 -0
  8. package/build/aliases.d.ts +4 -0
  9. package/build/aliases.d.ts.map +1 -0
  10. package/build/aliases.js +27 -0
  11. package/build/aliases.js.map +1 -0
  12. package/build/consts.d.ts +0 -41
  13. package/build/consts.d.ts.map +1 -1
  14. package/build/consts.js +0 -32
  15. package/build/consts.js.map +1 -1
  16. package/build/entrypoints/types.d.ts +96 -0
  17. package/build/entrypoints/types.d.ts.map +1 -0
  18. package/build/entrypoints/types.js +2 -0
  19. package/build/entrypoints/types.js.map +1 -0
  20. package/build/entrypoints.d.ts +1 -1
  21. package/build/entrypoints.d.ts.map +1 -1
  22. package/build/entrypoints.js +4 -3
  23. package/build/entrypoints.js.map +1 -1
  24. package/build/helpers/apply/consts.local.d.ts +7 -0
  25. package/build/helpers/apply/consts.local.d.ts.map +1 -0
  26. package/build/helpers/apply/consts.local.js +9 -0
  27. package/build/helpers/apply/consts.local.js.map +1 -0
  28. package/build/helpers/apply/types.d.ts +32 -0
  29. package/build/helpers/apply/types.d.ts.map +1 -0
  30. package/build/helpers/apply/types.js +2 -0
  31. package/build/helpers/apply/types.js.map +1 -0
  32. package/build/helpers/apply.d.ts +5 -25
  33. package/build/helpers/apply.d.ts.map +1 -1
  34. package/build/helpers/apply.js +121 -145
  35. package/build/helpers/apply.js.map +1 -1
  36. package/build/helpers/card/types.d.ts +20 -0
  37. package/build/helpers/card/types.d.ts.map +1 -0
  38. package/build/helpers/card/types.js +2 -0
  39. package/build/helpers/card/types.js.map +1 -0
  40. package/build/helpers/card.d.ts +11 -7
  41. package/build/helpers/card.d.ts.map +1 -1
  42. package/build/helpers/card.js +41 -28
  43. package/build/helpers/card.js.map +1 -1
  44. package/build/helpers/changes/consts.local.d.ts +13 -0
  45. package/build/helpers/changes/consts.local.d.ts.map +1 -0
  46. package/build/helpers/changes/consts.local.js +13 -0
  47. package/build/helpers/changes/consts.local.js.map +1 -0
  48. package/build/helpers/changes/types.d.ts +58 -0
  49. package/build/helpers/changes/types.d.ts.map +1 -0
  50. package/build/helpers/changes/types.js +2 -0
  51. package/build/helpers/changes/types.js.map +1 -0
  52. package/build/helpers/changes.d.ts +11 -47
  53. package/build/helpers/changes.d.ts.map +1 -1
  54. package/build/helpers/changes.js +233 -264
  55. package/build/helpers/changes.js.map +1 -1
  56. package/build/helpers/code/types.d.ts +27 -0
  57. package/build/helpers/code/types.d.ts.map +1 -0
  58. package/build/helpers/code/types.js +2 -0
  59. package/build/helpers/code/types.js.map +1 -0
  60. package/build/helpers/code.d.ts +6 -17
  61. package/build/helpers/code.d.ts.map +1 -1
  62. package/build/helpers/code.js +39 -40
  63. package/build/helpers/code.js.map +1 -1
  64. package/build/helpers/index.d.ts +11 -0
  65. package/build/helpers/index.d.ts.map +1 -1
  66. package/build/helpers/index.js +1 -0
  67. package/build/helpers/index.js.map +1 -1
  68. package/build/helpers/query/types.d.ts +23 -0
  69. package/build/helpers/query/types.d.ts.map +1 -0
  70. package/build/helpers/query/types.js +2 -0
  71. package/build/helpers/query/types.js.map +1 -0
  72. package/build/helpers/query.d.ts +25 -17
  73. package/build/helpers/query.d.ts.map +1 -1
  74. package/build/helpers/query.js +108 -280
  75. package/build/helpers/query.js.map +1 -1
  76. package/build/helpers/scoped/types.d.ts +59 -0
  77. package/build/helpers/scoped/types.d.ts.map +1 -0
  78. package/build/helpers/scoped/types.js +2 -0
  79. package/build/helpers/scoped/types.js.map +1 -0
  80. package/build/helpers/scoped.d.ts +11 -43
  81. package/build/helpers/scoped.d.ts.map +1 -1
  82. package/build/helpers/scoped.js +172 -192
  83. package/build/helpers/scoped.js.map +1 -1
  84. package/build/helpers/specification/types.d.ts +24 -0
  85. package/build/helpers/specification/types.d.ts.map +1 -0
  86. package/build/helpers/specification/types.js +2 -0
  87. package/build/helpers/specification/types.js.map +1 -0
  88. package/build/helpers/specification.d.ts +9 -13
  89. package/build/helpers/specification.d.ts.map +1 -1
  90. package/build/helpers/specification.js +47 -44
  91. package/build/helpers/specification.js.map +1 -1
  92. package/build/helpers/status/types.d.ts +48 -0
  93. package/build/helpers/status/types.d.ts.map +1 -0
  94. package/build/helpers/status/types.js +2 -0
  95. package/build/helpers/status/types.js.map +1 -0
  96. package/build/helpers/status.d.ts +16 -31
  97. package/build/helpers/status.d.ts.map +1 -1
  98. package/build/helpers/status.js +77 -76
  99. package/build/helpers/status.js.map +1 -1
  100. package/build/helpers/types.local.d.ts +17 -0
  101. package/build/helpers/types.local.d.ts.map +1 -0
  102. package/build/helpers/types.local.js +2 -0
  103. package/build/helpers/types.local.js.map +1 -0
  104. package/build/helpers/validate/types.d.ts +30 -0
  105. package/build/helpers/validate/types.d.ts.map +1 -0
  106. package/build/helpers/validate/types.js +2 -0
  107. package/build/helpers/validate/types.js.map +1 -0
  108. package/build/helpers/validate.d.ts +8 -19
  109. package/build/helpers/validate.d.ts.map +1 -1
  110. package/build/helpers/validate.js +74 -79
  111. package/build/helpers/validate.js.map +1 -1
  112. package/build/helpers/wire/types.d.ts +28 -0
  113. package/build/helpers/wire/types.d.ts.map +1 -0
  114. package/build/helpers/wire/types.js +2 -0
  115. package/build/helpers/wire/types.js.map +1 -0
  116. package/build/helpers/wire.d.ts +4 -0
  117. package/build/helpers/wire.d.ts.map +1 -0
  118. package/build/helpers/wire.js +215 -0
  119. package/build/helpers/wire.js.map +1 -0
  120. package/build/i18n.js +3 -3
  121. package/build/i18n.js.map +1 -1
  122. package/build/index.d.ts +4 -0
  123. package/build/index.d.ts.map +1 -1
  124. package/build/index.js +2 -0
  125. package/build/index.js.map +1 -1
  126. package/build/models/index.d.ts +2 -3
  127. package/build/models/index.d.ts.map +1 -1
  128. package/build/models/index.js +1 -15
  129. package/build/models/index.js.map +1 -1
  130. package/build/models/model.d.ts +5 -0
  131. package/build/models/model.d.ts.map +1 -0
  132. package/build/models/model.js +16 -0
  133. package/build/models/model.js.map +1 -0
  134. package/build/models/project.d.ts +2 -1
  135. package/build/models/project.d.ts.map +1 -1
  136. package/build/models/project.js.map +1 -1
  137. package/build/models/specification.d.ts +2 -1
  138. package/build/models/specification.d.ts.map +1 -1
  139. package/build/models/specification.js.map +1 -1
  140. package/build/models/types.d.ts +69 -0
  141. package/build/models/types.d.ts.map +1 -0
  142. package/build/models/types.js +2 -0
  143. package/build/models/types.js.map +1 -0
  144. package/build/models/workcard.d.ts +2 -1
  145. package/build/models/workcard.d.ts.map +1 -1
  146. package/build/models/workcard.js +12 -12
  147. package/build/models/workcard.js.map +1 -1
  148. package/build/types.d.ts +6 -159
  149. package/build/types.d.ts.map +1 -1
  150. package/build/utils.d.ts +6 -0
  151. package/build/utils.d.ts.map +1 -0
  152. package/build/utils.js +6 -0
  153. package/build/utils.js.map +1 -0
  154. package/package.json +11 -11
  155. package/src/aliases/types.ts +38 -0
  156. package/src/aliases.ts +31 -0
  157. package/src/consts.ts +0 -33
  158. package/src/entrypoints/types.ts +68 -0
  159. package/src/entrypoints.ts +8 -7
  160. package/src/helpers/apply/consts.local.ts +10 -0
  161. package/src/helpers/apply/types.ts +32 -0
  162. package/src/helpers/apply.ts +135 -154
  163. package/src/helpers/card/types.ts +20 -0
  164. package/src/helpers/card.ts +59 -33
  165. package/src/helpers/changes/consts.local.ts +17 -0
  166. package/src/helpers/changes/types.ts +66 -0
  167. package/src/helpers/changes.ts +266 -293
  168. package/src/helpers/code/types.ts +31 -0
  169. package/src/helpers/code.ts +52 -48
  170. package/src/helpers/index.ts +12 -0
  171. package/src/helpers/query/types.ts +26 -0
  172. package/src/helpers/query.ts +144 -314
  173. package/src/helpers/scoped/types.ts +64 -0
  174. package/src/helpers/scoped.ts +211 -225
  175. package/src/helpers/specification/types.ts +26 -0
  176. package/src/helpers/specification.ts +69 -51
  177. package/src/helpers/status/types.ts +46 -0
  178. package/src/helpers/status.ts +117 -96
  179. package/src/helpers/types.local.ts +18 -0
  180. package/src/helpers/validate/types.ts +30 -0
  181. package/src/helpers/validate.ts +84 -77
  182. package/src/helpers/wire/types.ts +31 -0
  183. package/src/helpers/wire.ts +251 -0
  184. package/src/i18n.ts +4 -3
  185. package/src/index.ts +4 -0
  186. package/src/models/index.ts +2 -17
  187. package/src/models/model.ts +18 -0
  188. package/src/models/project.ts +2 -1
  189. package/src/models/specification.ts +2 -1
  190. package/src/models/types.ts +70 -0
  191. package/src/models/workcard.ts +14 -16
  192. package/src/types.ts +3 -132
  193. package/src/utils.ts +9 -0
  194. package/tests/apply.spec.ts +44 -44
  195. package/tests/code.spec.ts +9 -9
  196. package/tests/entrypoints.spec.ts +4 -3
  197. package/tests/models.spec.ts +16 -15
  198. package/tests/query.spec.ts +13 -15
  199. package/tests/schemas.spec.ts +8 -8
  200. package/tests/scoped.spec.ts +25 -27
  201. package/tests/status.spec.ts +26 -28
package/README.md CHANGED
@@ -9,20 +9,21 @@ 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.17 ajv ajv-formats
12
+ bun add @owlmeans/planning@^0.1.18-rc.19 ajv ajv-formats
13
13
  ```
14
14
 
15
15
  ## Concepts
16
16
 
17
17
  - **Transition** — the only way a record changes: an append-only event; a card is the fold of its
18
- transitions in `seq` order (`applyTransition`).
18
+ transitions in `seq` order (`applyHelper.applyTransition`).
19
19
  - **Workcard** — base fields at the top level (`title`, `status`, `parent`, `parents`, `labels`,
20
20
  `order`); a type's own fields under `fields`, validated by the type's schema.
21
21
  - **Status flow** — shareable data declaring statuses (each mapped to `planned`, `in-progress` or
22
22
  `closed`) and named transitions; a type may run several flows.
23
23
  - **Specification** — a document workcard held in a slot the parent type declares; a revisioned
24
24
  slot revises one record in place.
25
- - **Wire query** — the scalar form a query travels in over HTTP (`encode*Query` / `decode*Query`).
25
+ - **Wire query** — the scalar form a query travels in over HTTP (`wireHelper.encode*Query` /
26
+ `wireHelper.decode*Query`).
26
27
 
27
28
  ## Usage
28
29
 
@@ -69,13 +70,13 @@ export const planningProtocols = makePlanningProtocols({
69
70
  Encode a query on the client, decode it in a handler:
70
71
 
71
72
  ```ts
72
- import { criteriaOf, decodeWorkcardQuery, encodeWorkcardQuery } from '@owlmeans/planning'
73
+ import { queryHelper, wireHelper } from '@owlmeans/planning'
73
74
 
74
- const query = encodeWorkcardQuery({ parent: projectId, status: ['todo', 'doing'], sort: ['order'] })
75
+ const query = wireHelper.encodeWorkcardQuery({ parent: projectId, status: ['todo', 'doing'], sort: ['order'] })
75
76
  const page = await context.entrypoint(planningProtocols.card.list).call({ query })
76
77
 
77
78
  // server side
78
- const where = criteriaOf(decodeWorkcardQuery(req.query), { entityId })
79
+ const where = queryHelper.criteriaOf(wireHelper.decodeWorkcardQuery(req.query), { entityId })
79
80
  ```
80
81
 
81
82
  Create a card and read it back through a facade — in process the one of `@owlmeans/server-planning`
@@ -107,10 +108,10 @@ await task.update({ title: 'Renamed' }) // expectSeq defaults to the record's he
107
108
  Fold transitions yourself (a mirror, a test, a store):
108
109
 
109
110
  ```ts
110
- import { applyRelationship, applyTransition } from '@owlmeans/planning'
111
+ import { applyHelper } from '@owlmeans/planning'
111
112
 
112
- const card = transitions.reduce((current, transition) => applyTransition(current, transition), undefined)
113
- const links = transitions.reduce(applyRelationship, [])
113
+ const card = transitions.reduce((current, transition) => applyHelper.applyTransition(current, transition), undefined)
114
+ const links = transitions.reduce(applyHelper.applyRelationship, [])
114
115
  ```
115
116
 
116
117
  ## API
@@ -125,23 +126,35 @@ const links = transitions.reduce(applyRelationship, [])
125
126
  `PlanningService`, `PlanningDefinitions`.
126
127
  - Data-defined types and flows: `ScopedSchemaRecord`, `ScopedSchemaWhere`, `ScopedSchemaBundle`,
127
128
  `ScopedSchemaRegistry`, `SchemaDeclarations`, `SchemaWriteOptions`, `SchemaDefineRequest`,
128
- `SchemaDefineReply`, `resolveScopedBundle`, `scopedRegistryOf`, `assertTypeSchema`,
129
- `assertFlowSchema`, `assertOverridable`, `flowInUse`.
129
+ `SchemaDefineReply`, and `scopedSchemaHelper` (`resolveScopedBundle`, `scopedRegistryOf`,
130
+ `assertTypeSchema`, `assertFlowSchema`, `assertOverridable`, `flowInUse`, `schemaRecordKey`,
131
+ `schemaKeyOf`).
130
132
  - Enums and constants: `WorkcardKind`, `IntrinsicStatus`, `IntrinsicPolicy`, `TransitionAction`,
131
133
  `CommitState`, `SpecificationFormat`, `CodeStyle`, `CodeScope`, `PlanningSchemaKind`,
132
134
  `SchemaOrigin`, `SchemaWriteMode`, `PLANNING_SERVICE`, `PLANNING_PATH`, `PLANNING_COMMIT_EVENT`,
133
- `planningAliases`, `planningDefinitionAliases`, limits (`TITLE_MAX`, …).
134
- - Fold and changes: `applyTransition`, `applyRelationship`, `computeChanges`, `isEmptyChange`,
135
- `assertMutable`, `mergeFields`, `applyUnset`.
136
- - Status: `intrinsicOf`, `initialStatusOf`, `ruleOf`, `canTransit`, `transitionsFrom`,
137
- `initialFlowsOf`, `resolveIntrinsic`, `primaryFlowOf`, `isTerminal`.
138
- - Query: `criteriaOf`, `listOptionsOf`, `specCriteriaOf`, `linkWhereOf`, `transitionWhereOf`,
139
- `summaryOf`, `encode/decodeWorkcardQuery`, `encode/decodeSummaryQuery`,
140
- `encode/decodeTransitionQuery`, `encode/decodeSpecificationQuery`,
141
- `encode/decodeRelationshipQuery`.
142
- - Codes, specifications, validation: `mintCode`, `codeScopeOf`, `slotOf`, `currentSpecification`,
143
- `nextRevision`, `specificationTypeOf`, `makeAjv`, `validateFields`, `validateCard`,
144
- `validateSpecificationBody`.
135
+ limits (`TITLE_MAX`, …); `planningAliasHelper` (`planningAliases`, `planningDefinitionAliases`).
136
+ - Helpers — each a ready object (`xxxHelper`) built by its `createXxxHelper()`, its interface
137
+ exported beside it:
138
+ - `applyHelper` — the fold: `applyTransition`, `applyRelationship`.
139
+ - `changesHelper` — `computeChanges`, `isEmptyChange`, `assertMutable`, `mergeFields`,
140
+ `applyUnset`, `sameValue`.
141
+ - `cardHelper` — `isProject`, `isCard`, `isSpecification`, `normalizeParents`, `cardDefaults`,
142
+ `isPending`, `parentOf`, `projectOf`.
143
+ - `statusHelper` — `intrinsicOf`, `initialStatusOf`, `ruleOf`, `canTransit`, `transitionsFrom`,
144
+ `initialFlowsOf`, `resolveIntrinsic`, `primaryFlowOf`, `flowIdsOf`, `statusDefinitionOf`,
145
+ `isTerminal`.
146
+ - `queryHelper` — `criteriaOf`, `listOptionsOf`, `specCriteriaOf`, `linkWhereOf`,
147
+ `transitionWhereOf`, `summaryOf`.
148
+ - `wireHelper` — `encode/decodeWorkcardQuery`, `encode/decodeSummaryQuery`,
149
+ `encode/decodeTransitionQuery`, `encode/decodeSpecificationQuery`,
150
+ `encode/decodeRelationshipQuery`, `encode/decodeList`, `encode/decodeSort`.
151
+ - `codeHelper` — `mintCode`, `codeScopeOf`, `slugOf`.
152
+ - `specificationHelper` — `slotOf`, `currentSpecification`, `nextRevision`, `isRevisioned`,
153
+ `bodyCharsOf`, `specificationTypeOf`.
154
+ - `validateHelper` — `validateFields`, `validateCard`, `validateSpecificationBody`,
155
+ `invalidFieldKeys`, `ajvErrorText`; and `makeAjv`.
156
+ - The former plain functions (`applyTransition`, `criteriaOf`, `encodeWorkcardQuery`, …) remain as
157
+ deprecated delegates to these helpers.
145
158
  - Registry, protocols, models: `makeSchemaRegistry`, `makePlanningProtocols`, `makeWorkcardModel`,
146
159
  `makeProjectModel`, `makeSpecificationModel`, `modelOf`.
147
160
  - Errors: `PlanningError`, `WorkcardNotFound`, `UnknownWorkcardType`, `UnknownStatusFlow`,
@@ -188,7 +201,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
188
201
  your project's skill store (`.agents/skills/`):
189
202
 
190
203
  ```sh
191
- npx @owlmeans/agent-skills@^0.1.18-rc.46
204
+ npx @owlmeans/agent-skills@^0.1.18-rc.49
192
205
  ```
193
206
 
194
207
  The embedded files are version-matched to this package release. Do not edit them
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/planning",
4
- "version": "0.1.18-rc.17",
5
- "generatedAt": "2026-10-04T01:01:54.402Z",
4
+ "version": "0.1.18-rc.19",
5
+ "generatedAt": "2026-10-05T21:03:06.394Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: planning
3
- description: How to use @owlmeans/planning — the runtime-free workcard model (cards, projects, specifications), typed relationships, shareable status flows with three intrinsic states, the Transition event and its pure fold, the schema registry, the query language and its wire encoding, the protocol tree, and the models that work identically on a server and in a browser. Auto-invoked when importing a Workcard type, a status flow, applyTransition, computeChanges, criteriaOf, encodeWorkcardQuery, makePlanningProtocols or a planning model.
3
+ description: How to use @owlmeans/planning — the runtime-free workcard model (cards, projects, specifications), typed relationships, shareable status flows with three intrinsic states, the Transition event and its pure fold, the schema registry, the query language and its wire encoding, the protocol tree, and the models that work identically on a server and in a browser. Auto-invoked when importing a Workcard type, a status flow, applyHelper, changesHelper, queryHelper, wireHelper, makePlanningProtocols or a planning model.
4
4
  user-invocable: false
5
5
  ---
6
6
  <!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
@@ -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.17"` in `dependencies` (`ajv` and `ajv-formats` are peers)
11
+ **Install:** `"@owlmeans/planning": "^0.1.18-rc.19"` 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
@@ -19,7 +19,7 @@ mirror are `@owlmeans/client-planning`; a durable store implements the ports dec
19
19
 
20
20
  Every change is a **transition** — an append-only event — and a card IS the fold of its
21
21
  transitions in `seq` order. There is one write path (`facade.execute(exec)`), one fold
22
- (`applyTransition`) and one query translation (`criteriaOf`), shared by every store and both sides
22
+ (`applyHelper.applyTransition`) and one query translation (`queryHelper.criteriaOf`), shared by every store and both sides
23
23
  of the wire, so one log always means one card.
24
24
 
25
25
  ## The write call
@@ -51,18 +51,18 @@ forms generated code keeps writing are `server-planning` → Creating and readin
51
51
  | `PlanningPlugin`, `PlanningScope`, `PlanningFacade`, `PlanningService`, `PlanningDefinitions` | The plugin seam and the facade, typed here so a plugin and a client can name them |
52
52
  | `ScopedSchemaRecord`, `ScopedSchemaWhere`, `ScopedSchemaBundle`, `ScopedSchemaRegistry`, `SchemaDeclarations`, `SchemaWriteOptions`, `SchemaScope`, `SchemaKey`, `SchemaListQuery`, `SchemaDefineRequest`, `SchemaDefineReply` | Data-defined types and flows |
53
53
  | `WorkcardKind`, `IntrinsicStatus`, `IntrinsicPolicy`, `TransitionAction`, `CommitState`, `SpecificationFormat`, `CodeStyle`, `CodeScope`, `PlanningSchemaKind`, `SchemaOrigin`, `SchemaWriteMode` | Enums |
54
- | `PLANNING_SERVICE` (`'planning'`), `PLANNING_PATH`, `PLANNING_COMMIT_EVENT` (`'planning-commit'`), `planningAliases(base)`, `planningDefinitionAliases(base)` | Names both sides share |
54
+ | `PLANNING_SERVICE` (`'planning'`), `PLANNING_PATH`, `PLANNING_COMMIT_EVENT` (`'planning-commit'`), `planningAliasHelper.planningAliases(base)`, `planningAliasHelper.planningDefinitionAliases(base)` | Names both sides share |
55
55
  | `TITLE_MAX` 2048, `DESCRIPTION_MAX` 16384, `CODE_MAX` 64, `BODY_MAX` 1048576, `MAX_LABELS` 32, `MAX_PARENTS` 32, `DEFAULT_COMMIT_TIMEOUT` 30 s, `DEFAULT_COMMIT_POLL` 20 s, `MAX_COMMIT_POLL` 55 s, `CODE_MINT_ATTEMPTS` 8 | Limits |
56
- | `applyTransition`, `applyRelationship` | The fold |
57
- | `computeChanges`, `isEmptyChange`, `assertMutable`, `mergeFields`, `applyUnset`, `sameValue` | What a transition records |
58
- | `intrinsicOf`, `initialStatusOf`, `ruleOf`, `canTransit`, `transitionsFrom`, `initialFlowsOf`, `resolveIntrinsic`, `primaryFlowOf`, `isTerminal` | Status helpers |
59
- | `criteriaOf`, `listOptionsOf`, `specCriteriaOf`, `linkWhereOf`, `transitionWhereOf`, `summaryOf` | Querying |
60
- | `encode*Query` / `decode*Query` (Workcard, Summary, Transition, Specification, Relationship), `encodeSort`, `decodeSort`, `encodeList`, `decodeList` | The wire form of a query |
61
- | `mintCode`, `codeScopeOf`, `slugOf` | Codes |
62
- | `slotOf`, `currentSpecification`, `nextRevision`, `specificationTypeOf`, `bodyCharsOf` | Specifications |
63
- | `makeAjv`, `validateFields`, `validateCard`, `validateSpecificationBody`, `invalidFieldKeys`, `ajvErrorText` | Validation |
56
+ | `applyHelper` — `applyTransition`, `applyRelationship` | The fold |
57
+ | `changesHelper` — `computeChanges`, `isEmptyChange`, `assertMutable`, `mergeFields`, `applyUnset`, `sameValue` | What a transition records |
58
+ | `statusHelper` — `intrinsicOf`, `initialStatusOf`, `ruleOf`, `canTransit`, `transitionsFrom`, `initialFlowsOf`, `resolveIntrinsic`, `primaryFlowOf`, `isTerminal` | Status helpers |
59
+ | `queryHelper` — `criteriaOf`, `listOptionsOf`, `specCriteriaOf`, `linkWhereOf`, `transitionWhereOf`, `summaryOf` | Querying |
60
+ | `wireHelper` — `encode*Query` / `decode*Query` (Workcard, Summary, Transition, Specification, Relationship), `encodeSort`, `decodeSort`, `encodeList`, `decodeList` | The wire form of a query |
61
+ | `codeHelper` — `mintCode`, `codeScopeOf`, `slugOf` | Codes |
62
+ | `specificationHelper` — `slotOf`, `currentSpecification`, `nextRevision`, `specificationTypeOf`, `bodyCharsOf` | Specifications |
63
+ | `makeAjv`, `validateHelper` — `validateFields`, `validateCard`, `validateSpecificationBody`, `invalidFieldKeys`, `ajvErrorText` | Validation |
64
64
  | `makeSchemaRegistry(bundle?)` | Types, flows, cached field validators; `bundle()` / `load()` |
65
- | `resolveScopedBundle`, `scopedRegistryOf`, `assertTypeSchema`, `assertFlowSchema`, `assertOverridable`, `flowInUse`, `schemaRecordKey`, `schemaKeyOf` | Data-defined layers: resolution, the read-only view, the closed-form checks |
65
+ | `scopedSchemaHelper` — `resolveScopedBundle`, `scopedRegistryOf`, `assertTypeSchema`, `assertFlowSchema`, `assertOverridable`, `flowInUse`, `schemaRecordKey`, `schemaKeyOf` | Data-defined layers: resolution, the read-only view, the closed-form checks |
66
66
  | `makePlanningProtocols(opts)` | The protocol tree |
67
67
  | `makeWorkcardModel`, `makeProjectModel`, `makeSpecificationModel`, `modelOf`, `executeFor` | Models |
68
68
  | `*Schema` | AJV schemas of every record, declaration, request and view |
@@ -72,7 +72,7 @@ forms generated code keeps writing are `server-planning` → Creating and readin
72
72
  - **Base fields at the top level, provider fields under `fields`.** `title`, `description`, `code`,
73
73
  `status`, `labels`, `order`, `parent` are generic and indexable; everything a type adds lives in
74
74
  `fields` and is validated by the type's `fields` JSON schema. Generic code reads only the top.
75
- A `fields` key never holds `.` or `$` at any depth (`invalidFieldKeys`).
75
+ A `fields` key never holds `.` or `$` at any depth (`validateHelper.invalidFieldKeys`).
76
76
  - **`entityId` is the organization's stable record id** — never the wire `entitySlug`, never a body
77
77
  value. Every read is scoped by it; where a request's comes from is `server-planning` → Scope and
78
78
  security.
@@ -88,7 +88,8 @@ forms generated code keeps writing are `server-planning` → Creating and readin
88
88
  (`card.createdBy === profileId`) can trust it. A card that changes hands keeps that in a field of
89
89
  its own type (`fields.assignee`); who made each later write is the transition's `actor`.
90
90
  - **`seq` is the last folded transition, `head` the highest allocated.** `head > seq` means a write
91
- is in flight (`isPending`); optimistic concurrency (`expectSeq`) compares against the head.
91
+ is in flight (`cardHelper.isPending`); optimistic concurrency (`expectSeq`) compares against the
92
+ head.
92
93
  - `order` is a double: a card may sit between two others (`3.5`).
93
94
  - Timestamps are ISO-8601 UTC strings (`toISOString()`), so lexicographic order is chronological.
94
95
 
@@ -99,12 +100,12 @@ forms generated code keeps writing are `server-planning` → Creating and readin
99
100
  - A flow is shareable across types, and a type may run several (`flows[0]` is primary).
100
101
  `flows` on the record is authoritative for every flow; `status`/`intrinsic` mirror the primary.
101
102
  - A rule name may repeat with different `from` sets (`start` from `planned`, `start` from
102
- `failed`). `ruleOf` picks the rule naming the current status; a `'*'` rule of that name answers
103
+ `failed`). `statusHelper.ruleOf` picks the rule naming the current status; a `'*'` rule of that name answers
103
104
  only when none does, wherever it is declared. `'*'` includes the target status itself, so
104
105
  `reset` from `planned` is legal. A status the flow does NOT declare (a card whose flow changed
105
106
  under it) matches every rule of the name, the first declared answering — such a card can always
106
107
  move back onto the flow it now runs.
107
- - `transitionsFrom(flow, status)` answers one rule per name in declaration order;
108
+ - `statusHelper.transitionsFrom(flow, status)` answers one rule per name in declaration order;
108
109
  `{ explicit: true }` keeps the ones offered to a person.
109
110
  - `IntrinsicPolicy.Primary` (default) reads the primary flow; `IntrinsicPolicy.All` takes the least
110
111
  advanced flow — closed only when every flow is closed. A status a flow does not declare reads as
@@ -131,7 +132,7 @@ excess-property check catches it — keep the literal typed.
131
132
 
132
133
  - `fields` — the AJV schema of `fields`; the registry compiles and caches it (`validator(type)`).
133
134
  - `specifications` — the slots this type's cards carry as children. A slot may name its
134
- specification `type`; otherwise `specificationTypeOf` takes the only registered specification
135
+ specification `type`; otherwise `specificationHelper.specificationTypeOf` takes the only registered specification
135
136
  type, then the one sharing the parent type's prefix (`viable:project` → `viable:spec`).
136
137
  - `code` — `CodePolicy { prefix?, style: random|sequential|slug, length?, uppercase?, uniqueWithin:
137
138
  parent|entity, mutable? }`. A code is fixed once minted unless `mutable`.
@@ -150,20 +151,20 @@ optional `PlanningStore.schemas` port — layered **code → entity → project*
150
151
  (`project` absent), `project` a record of one project card. A project record overrides an
151
152
  organization one of the same key.
152
153
  - **Only card types and flows are data.** A code key is sealed unless its declaration says
153
- `overridable: true`; project and specification types are always code's (`assertOverridable` →
154
+ `overridable: true`; project and specification types are always code's (`scopedSchemaHelper.assertOverridable` →
154
155
  `SchemaSealed`).
155
156
  - A record's `version` is its compare-and-set token and is written into the declaration's own
156
157
  `version`: a write lands only at its layer's next version, 1 for a new key (`SchemaConflict`).
157
- - The closed-form checks are shared by every store: `assertFlowSchema` (the declaration's schema,
158
+ - The closed-form checks are shared by every store: `scopedSchemaHelper.assertFlowSchema` (the declaration's schema,
158
159
  unique status keys, every `to` declared, `from` `'*'` or declared statuses) and
159
- `assertTypeSchema` (the `card` kind, a compiling `fields` schema, unique flows that resolve) —
160
+ `scopedSchemaHelper.assertTypeSchema` (the `card` kind, a compiling `fields` schema, unique flows that resolve) —
160
161
  `SchemaInvalid`.
161
162
  - **Retired** means offered for nothing new, still resolved for what uses it: a retired record
162
163
  gives way to a live declaration below it, and a key retired in every layer resolves retired —
163
164
  present in the bundle's `types`/`flows`, listed in `retired`. A flow cannot be retired while a
164
- live type of an affected layer still runs it (`flowInUse` → `SchemaInUse`).
165
- - `resolveScopedBundle(code, records, scope)` is the ONE resolution (pure); `scopedRegistryOf` is
166
- its read-only registry (`originOf`, `isRetired`; `register*`/`load` refuse). A
165
+ live type of an affected layer still runs it (`scopedSchemaHelper.flowInUse` → `SchemaInUse`).
166
+ - `scopedSchemaHelper.resolveScopedBundle(code, records, scope)` is the ONE resolution (pure);
167
+ `scopedRegistryOf` is its read-only registry (`originOf`, `isRetired`; `register*`/`load` refuse). A
167
168
  `ScopedSchemaBundle` extends the plain bundle with `scope`, `revision`, `origins`, `retired`, so a
168
169
  reader of the plain bundle is unaffected.
169
170
  - `SchemaStore`: `list(where)`, `put(record)` (the CAS), `purge({ entityId, project })`,
@@ -178,7 +179,7 @@ optional `PlanningStore.schemas` port — layered **code → entity → project*
178
179
 
179
180
  ## The fold
180
181
 
181
- `applyTransition(card | undefined, transition)` is pure and total:
182
+ `applyHelper.applyTransition(card | undefined, transition)` is pure and total:
182
183
 
183
184
  - an already-applied seq (`seq <= card.seq`) returns the same card — re-folding is safe;
184
185
  - anything but `card.seq + 1` (or seq 1 for a create with no card) throws
@@ -190,13 +191,13 @@ optional `PlanningStore.schemas` port — layered **code → entity → project*
190
191
  - `link`/`unlink` move only `seq`/`head`/`updatedAt`; `delete` answers `null`;
191
192
  - every result carries `seq = transition.seq`, `head = max(head, seq)`, `updatedAt = transition.at`;
192
193
  - the log is replayed AS WRITTEN: a stored row admission would refuse (an update naming
193
- `createdBy`) still folds. Guards live at admission (`assertMutable`, the executor), never in the
194
+ `createdBy`) still folds. Guards live at admission (`changesHelper.assertMutable`, the executor), never in the
194
195
  fold, so a stored log never stops projecting.
195
196
 
196
- `applyRelationship(links, transition)` folds the edges: a create's `links`, `link`, `unlink`, and a
197
+ `applyHelper.applyRelationship(links, transition)` folds the edges: a create's `links`, `link`, `unlink`, and a
197
198
  `delete` dropping every edge touching the card. An existing edge is kept, so re-folding adds nothing.
198
199
 
199
- `computeChanges(card, exec, type, registry, at, { slot? })` is what the executor records:
200
+ `changesHelper.computeChanges(card, exec, type, registry, at, { slot? })` is what the executor records:
200
201
 
201
202
  - create — the whole initial record: normalized `parents`, every flow at its initial status (the
202
203
  draft's `status` for the primary), mirrored `status`/`intrinsic`, `closedAt` when it starts
@@ -204,25 +205,25 @@ optional `PlanningStore.schemas` port — layered **code → entity → project*
204
205
  The code must already be on the draft (the executor mints first);
205
206
  - update — only differing values; `null` or `exec.unset` clears a field that has one; a moved
206
207
  `parent` replaces the old one in `parents`; changed content of a revisioned document sets
207
- `revision + 1`. An update that changes nothing is `isEmptyChange` and must append nothing;
208
+ `revision + 1`. An update that changes nothing is `changesHelper.isEmptyChange` and must append nothing;
208
209
  - transit — `flows[flow] = rule.to`, `status` on the primary flow, `intrinsic` when it moves,
209
210
  `closedAt` set on entering closed and cleared on leaving; throws `IllegalTransition`;
210
211
  - link/unlink/delete — nothing.
211
212
 
212
- `assertMutable(exec, type)` refuses (`planning:immutable:<field>`) identity keys (`createdAt`
213
+ `changesHelper.assertMutable(exec, type)` refuses (`planning:immutable:<field>`) identity keys (`createdAt`
213
214
  among them), `createdBy` in `changes` or `unset` on any action (a create included),
214
215
  `revision` / `bodyChars`, `status`/`intrinsic`/`flows`/`closedAt` outside a create (they move only
215
216
  through `transit`), `category`, a fixed `code`, and clearing a required field.
216
217
 
217
218
  ## Querying
218
219
 
219
- `criteriaOf(query, scope)` is the ONE translation from `WorkcardQuery` to `Criteria<Workcard>`:
220
+ `queryHelper.criteriaOf(query, scope)` is the ONE translation from `WorkcardQuery` to `Criteria<Workcard>`:
220
221
  bare values and arrays pass through (`kind`, `type`, `status`, `intrinsic`, `code`, `category`),
221
222
  `parent` is direct children, `within` → `parents: { $contains }`, `labels` → `$overlaps`, `ids` →
222
223
  `id: { $in }`, `flow` → `flows.<id>`, `fields` → `fields.<key>` equality, `q` → `$or` of title /
223
224
  description `$ilike` (wildcards escaped) and code `$startsWith`, `updatedSince` → `updatedAt: {
224
225
  $gte }`. `entityId` always comes from the scope; `undefined` is omitted. Paging and sort are
225
- `listOptionsOf` (`size: 0` = no limit). `summaryOf(cards, parents)` counts DIRECT children by
226
+ `queryHelper.listOptionsOf` (`size: 0` = no limit). `queryHelper.summaryOf(cards, parents)` counts DIRECT children by
226
227
  intrinsic state and gives no key to a parent with none. A scope naming `projects` is narrowed by
227
228
  the SERVER facade on top of this translation (`server-planning` → The access resolver);
228
229
  `TransitionWhere.project` and `RelationshipWhere.project` take one id or a list.
@@ -231,9 +232,9 @@ the SERVER facade on top of this translation (`server-planning` → The access r
231
232
  objects in a query string (the client writes `key[]=`, the server reads that key literally), so
232
233
  the list, summary, transitions, specifications and links protocols take `*QueryWire` shapes: lists
233
234
  comma-joined (a JSON array when an entry holds a comma), objects as JSON, sort as `field,-field`.
234
- A client calls `encodeWorkcardQuery(query)` before `call({ query })`; a handler calls
235
- `decodeWorkcardQuery(req.query)` — tolerant of arrays and of the rich form — and then
236
- `criteriaOf`. A value that does not decode throws `PlanningError('malformed:query:<key>')`.
235
+ A client calls `wireHelper.encodeWorkcardQuery(query)` before `call({ query })`; a handler calls
236
+ `wireHelper.decodeWorkcardQuery(req.query)` — tolerant of arrays and of the rich form — and then
237
+ `queryHelper.criteriaOf`. A value that does not decode throws `PlanningError('malformed:query:<key>')`.
237
238
 
238
239
  ## The protocol tree and mounting
239
240
 
@@ -255,9 +256,9 @@ A client calls `encodeWorkcardQuery(query)` before `call({ query })`; a handler
255
256
  | `commit.events` | SOCKET `/commits` | query `CommitFeedQuery` → `CommitEvent` frames |
256
257
  | `schema.define` (with `definitions: true`) | POST `/schemas` | body `SchemaDefineRequest { project?, mode?, types?, flows?, retire? }` → `SchemaDefineReply { records, bundle }` |
257
258
 
258
- - Aliases derive from the base alias (`planningAliases(base)` → `<base>:card:list`, …); two mounts
259
+ - Aliases derive from the base alias (`planningAliasHelper.planningAliases(base)` → `<base>:card:list`, …); two mounts
259
260
  are two base aliases. `definitions: true` adds `schema.define` (its alias from
260
- `planningDefinitionAliases(base)`, kept apart so a tree without it names no undeclared alias)
261
+ `planningAliasHelper.planningDefinitionAliases(base)`, kept apart so a tree without it names no undeclared alias)
261
262
  and gives `schema.list` a `SchemaListQuery { project? }` answered with that layer's scoped bundle.
262
263
  Without it the tree declares exactly the other leaves.
263
264
  - The guards and the gate sit on the base alone; every HTTP leaf inherits them. `path` defaults to
@@ -362,5 +363,5 @@ is part of the package's own tests.
362
363
 
363
364
  - [[server-planning]] — the executor, the plugin registry, the memory store, the handlers
364
365
  - [[client-planning]] — the remote facade, the state mirror, waiting for a commit
365
- - [[resource]] — the criteria language `criteriaOf` targets
366
+ - [[resource]] — the criteria language `queryHelper.criteriaOf` targets
366
367
  - [[planning-postgres]] — a durable store implementing every port, the schema port included
@@ -0,0 +1,49 @@
1
+ /** The aliases one planning tree answers under — every one derived from the mount's base alias. */
2
+ export interface PlanningAliases {
3
+ readonly base: string;
4
+ readonly schema: {
5
+ readonly list: string;
6
+ };
7
+ readonly card: {
8
+ readonly list: string;
9
+ readonly summary: string;
10
+ readonly get: string;
11
+ readonly transitions: string;
12
+ readonly specifications: string;
13
+ };
14
+ readonly spec: {
15
+ readonly get: string;
16
+ readonly revisions: string;
17
+ };
18
+ readonly link: {
19
+ readonly list: string;
20
+ };
21
+ readonly transition: {
22
+ readonly get: string;
23
+ };
24
+ readonly execute: string;
25
+ readonly commit: {
26
+ readonly get: string;
27
+ readonly events: string;
28
+ };
29
+ }
30
+ /** The aliases of the leaves a tree gains with `definitions: true`. */
31
+ export interface PlanningDefinitionAliases {
32
+ readonly define: string;
33
+ }
34
+ export interface PlanningAliasHelper {
35
+ /**
36
+ * The aliases one planning tree answers under, derived from the mount's base alias.
37
+ *
38
+ * Two mounts of the tree in one deployment are two base aliases, never two copies of this table —
39
+ * which is why nothing here is a global constant.
40
+ */
41
+ planningAliases: (base: string) => PlanningAliases;
42
+ /**
43
+ * The aliases of the leaves a tree gains with `definitions: true` — kept apart from
44
+ * {@link PlanningAliasHelper.planningAliases} so a tree declared without them names no alias it
45
+ * does not declare.
46
+ */
47
+ planningDefinitionAliases: (base: string) => PlanningDefinitionAliases;
48
+ }
49
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/aliases/types.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;KAChC,CAAA;IACD,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACnE,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CACnE;AAED,uEAAuE;AACvE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,CAAA;IAClD;;;;OAIG;IACH,yBAAyB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,yBAAyB,CAAA;CACvE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/aliases/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { PlanningAliasHelper } from './aliases/types.js';
2
+ export declare const createPlanningAliasHelper: () => PlanningAliasHelper;
3
+ export declare const planningAliasHelper: PlanningAliasHelper;
4
+ //# sourceMappingURL=aliases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../src/aliases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,mBAAmB,EAA6B,MAAM,oBAAoB,CAAA;AAEzG,eAAO,MAAM,yBAAyB,QAAO,mBA0B5C,CAAA;AAED,eAAO,MAAM,mBAAmB,qBAA8B,CAAA"}
@@ -0,0 +1,27 @@
1
+ export const createPlanningAliasHelper = () => {
2
+ const planningAliases = (base) => Object.freeze({
3
+ base,
4
+ schema: Object.freeze({ list: `${base}:schema:list` }),
5
+ card: Object.freeze({
6
+ list: `${base}:card:list`,
7
+ summary: `${base}:card:summary`,
8
+ get: `${base}:card:get`,
9
+ transitions: `${base}:card:transitions`,
10
+ specifications: `${base}:card:specifications`,
11
+ }),
12
+ spec: Object.freeze({
13
+ get: `${base}:specification:get`,
14
+ revisions: `${base}:specification:revisions`,
15
+ }),
16
+ link: Object.freeze({ list: `${base}:link:list` }),
17
+ transition: Object.freeze({ get: `${base}:transition:get` }),
18
+ execute: `${base}:execute`,
19
+ commit: Object.freeze({ get: `${base}:commit:get`, events: `${base}:commit:events` }),
20
+ });
21
+ const planningDefinitionAliases = (base) => Object.freeze({
22
+ define: `${base}:schema:define`,
23
+ });
24
+ return { planningAliases, planningDefinitionAliases };
25
+ };
26
+ export const planningAliasHelper = createPlanningAliasHelper();
27
+ //# sourceMappingURL=aliases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliases.js","sourceRoot":"","sources":["../src/aliases.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAwB,EAAE;IACjE,MAAM,eAAe,GAAG,CAAC,IAAY,EAAmB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QACvE,IAAI;QACJ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,cAAc,EAAE,CAAC;QACtD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG,IAAI,YAAY;YACzB,OAAO,EAAE,GAAG,IAAI,eAAe;YAC/B,GAAG,EAAE,GAAG,IAAI,WAAW;YACvB,WAAW,EAAE,GAAG,IAAI,mBAAmB;YACvC,cAAc,EAAE,GAAG,IAAI,sBAAsB;SAC9C,CAAC;QACF,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;YAClB,GAAG,EAAE,GAAG,IAAI,oBAAoB;YAChC,SAAS,EAAE,GAAG,IAAI,0BAA0B;SAC7C,CAAC;QACF,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,YAAY,EAAE,CAAC;QAClD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC5D,OAAO,EAAE,GAAG,IAAI,UAAU;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,gBAAgB,EAAE,CAAC;KACtF,CAAC,CAAA;IAEF,MAAM,yBAAyB,GAAG,CAAC,IAAY,EAA6B,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3F,MAAM,EAAE,GAAG,IAAI,gBAAgB;KAChC,CAAC,CAAA;IAEF,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAA;AACvD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,EAAE,CAAA"}
package/build/consts.d.ts CHANGED
@@ -112,45 +112,4 @@ export declare const REF_MAX = 1024;
112
112
  export declare const QUERY_TEXT_MAX = 256;
113
113
  /** The longest list a wire query carries in one value (ids, parents). */
114
114
  export declare const MAX_QUERY_LIST = 500;
115
- /**
116
- * The aliases one planning tree answers under, derived from the mount's base alias.
117
- *
118
- * Two mounts of the tree in one deployment are two base aliases, never two copies of this table —
119
- * which is why nothing here is a global constant.
120
- */
121
- export declare const planningAliases: (base: string) => Readonly<{
122
- base: string;
123
- schema: Readonly<{
124
- list: `${string}:schema:list`;
125
- }>;
126
- card: Readonly<{
127
- list: `${string}:card:list`;
128
- summary: `${string}:card:summary`;
129
- get: `${string}:card:get`;
130
- transitions: `${string}:card:transitions`;
131
- specifications: `${string}:card:specifications`;
132
- }>;
133
- spec: Readonly<{
134
- get: `${string}:specification:get`;
135
- revisions: `${string}:specification:revisions`;
136
- }>;
137
- link: Readonly<{
138
- list: `${string}:link:list`;
139
- }>;
140
- transition: Readonly<{
141
- get: `${string}:transition:get`;
142
- }>;
143
- execute: `${string}:execute`;
144
- commit: Readonly<{
145
- get: `${string}:commit:get`;
146
- events: `${string}:commit:events`;
147
- }>;
148
- }>;
149
- /**
150
- * The aliases of the leaves a tree gains with `definitions: true` — kept apart from
151
- * {@link planningAliases} so a tree declared without them names no alias it does not declare.
152
- */
153
- export declare const planningDefinitionAliases: (base: string) => Readonly<{
154
- define: `${string}:schema:define`;
155
- }>;
156
115
  //# sourceMappingURL=consts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,aAAa,kBAAkB;CAChC;AAED;;;;;GAKG;AACH,oBAAY,eAAe;IACzB,OAAO,YAAY;IACnB,UAAU,gBAAgB;IAC1B,MAAM,WAAW;CAClB;AAED,kGAAkG;AAClG,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAIpE,CAAA;AAEF,yEAAyE;AACzE,oBAAY,eAAe;IACzB,yCAAyC;IACzC,OAAO,YAAY;IACnB,+EAA+E;IAC/E,GAAG,QAAQ;CACZ;AAED,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,oBAAY,mBAAmB;IAC7B,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,IAAI,SAAS;CACd;AAED,0CAA0C;AAC1C,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,gFAAgF;AAChF,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED;;;GAGG;AACH,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,6DAA6D;AAC7D,oBAAY,eAAe;IACzB,0DAA0D;IAC1D,MAAM,WAAW;IACjB,sFAAsF;IACtF,GAAG,QAAQ;IACX,2DAA2D;IAC3D,IAAI,SAAS;CACd;AAED,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAE1C,kFAAkF;AAClF,eAAO,MAAM,aAAa,cAAc,CAAA;AAExC,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AAEtD,sFAAsF;AACtF,eAAO,MAAM,aAAa,aAAa,CAAA;AAEvC,sDAAsD;AACtD,eAAO,MAAM,UAAU,MAAM,CAAA;AAE7B,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,QAAS,CAAA;AAC5C,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,KAAK,CAAA;AACrC,gEAAgE;AAChE,eAAO,MAAM,eAAe,KAAK,CAAA;AACjC,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,IAAI,CAAA;AACnC,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,IAAI,CAAA;AACpC,eAAO,MAAM,oBAAoB,KAAK,CAAA;AACtC,eAAO,MAAM,iBAAiB,MAAM,CAAA;AACpC,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC,eAAO,MAAM,SAAS,OAAO,CAAA;AAC7B,eAAO,MAAM,eAAe,QAAQ,CAAA;AACpC,eAAO,MAAM,QAAQ,KAAK,CAAA;AAC1B,eAAO,MAAM,QAAQ,MAAM,CAAA;AAC3B,eAAO,MAAM,SAAS,KAAK,CAAA;AAC3B,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,WAAW,KAAK,CAAA;AAC7B,eAAO,MAAM,QAAQ,UAAY,CAAA;AACjC,eAAO,MAAM,SAAS,MAAM,CAAA;AAC5B,eAAO,MAAM,OAAO,MAAM,CAAA;AAC1B,eAAO,MAAM,OAAO,OAAO,CAAA;AAC3B,eAAO,MAAM,cAAc,MAAM,CAAA;AACjC,yEAAyE;AACzE,eAAO,MAAM,cAAc,MAAM,CAAA"}
package/build/consts.js CHANGED
@@ -127,36 +127,4 @@ export const REF_MAX = 1024;
127
127
  export const QUERY_TEXT_MAX = 256;
128
128
  /** The longest list a wire query carries in one value (ids, parents). */
129
129
  export const MAX_QUERY_LIST = 500;
130
- /**
131
- * The aliases one planning tree answers under, derived from the mount's base alias.
132
- *
133
- * Two mounts of the tree in one deployment are two base aliases, never two copies of this table —
134
- * which is why nothing here is a global constant.
135
- */
136
- export const planningAliases = (base) => Object.freeze({
137
- base,
138
- schema: Object.freeze({ list: `${base}:schema:list` }),
139
- card: Object.freeze({
140
- list: `${base}:card:list`,
141
- summary: `${base}:card:summary`,
142
- get: `${base}:card:get`,
143
- transitions: `${base}:card:transitions`,
144
- specifications: `${base}:card:specifications`,
145
- }),
146
- spec: Object.freeze({
147
- get: `${base}:specification:get`,
148
- revisions: `${base}:specification:revisions`,
149
- }),
150
- link: Object.freeze({ list: `${base}:link:list` }),
151
- transition: Object.freeze({ get: `${base}:transition:get` }),
152
- execute: `${base}:execute`,
153
- commit: Object.freeze({ get: `${base}:commit:get`, events: `${base}:commit:events` }),
154
- });
155
- /**
156
- * The aliases of the leaves a tree gains with `definitions: true` — kept apart from
157
- * {@link planningAliases} so a tree declared without them names no alias it does not declare.
158
- */
159
- export const planningDefinitionAliases = (base) => Object.freeze({
160
- define: `${base}:schema:define`,
161
- });
162
130
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"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"}