@owlmeans/server-planning 0.1.18-rc.2 → 0.1.18-rc.21

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 (217) hide show
  1. package/README.md +40 -12
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/server-planning/SKILL.md +193 -18
  4. package/build/actions/cards.d.ts +3 -5
  5. package/build/actions/cards.d.ts.map +1 -1
  6. package/build/actions/cards.js +1 -1
  7. package/build/actions/cards.js.map +1 -1
  8. package/build/actions/execute.d.ts +24 -3
  9. package/build/actions/execute.d.ts.map +1 -1
  10. package/build/actions/execute.js +82 -8
  11. package/build/actions/execute.js.map +1 -1
  12. package/build/actions/schemas.d.ts +27 -5
  13. package/build/actions/schemas.d.ts.map +1 -1
  14. package/build/actions/schemas.js +67 -7
  15. package/build/actions/schemas.js.map +1 -1
  16. package/build/actions/specs.d.ts +2 -4
  17. package/build/actions/specs.d.ts.map +1 -1
  18. package/build/actions/specs.js.map +1 -1
  19. package/build/actions/types.d.ts +4 -0
  20. package/build/actions/types.d.ts.map +1 -0
  21. package/build/actions/types.js +2 -0
  22. package/build/actions/types.js.map +1 -0
  23. package/build/actions/watch.d.ts.map +1 -1
  24. package/build/actions/watch.js +4 -2
  25. package/build/actions/watch.js.map +1 -1
  26. package/build/conformance/assert.d.ts +20 -0
  27. package/build/conformance/assert.d.ts.map +1 -0
  28. package/build/conformance/assert.js +54 -0
  29. package/build/conformance/assert.js.map +1 -0
  30. package/build/conformance/cases.d.ts +7 -0
  31. package/build/conformance/cases.d.ts.map +1 -0
  32. package/build/conformance/cases.js +447 -0
  33. package/build/conformance/cases.js.map +1 -0
  34. package/build/conformance/consts.d.ts +19 -0
  35. package/build/conformance/consts.d.ts.map +1 -0
  36. package/build/conformance/consts.js +42 -0
  37. package/build/conformance/consts.js.map +1 -0
  38. package/build/conformance/fixtures.d.ts +14 -0
  39. package/build/conformance/fixtures.d.ts.map +1 -0
  40. package/build/conformance/fixtures.js +109 -0
  41. package/build/conformance/fixtures.js.map +1 -0
  42. package/build/conformance/index.d.ts +12 -0
  43. package/build/conformance/index.d.ts.map +1 -0
  44. package/build/conformance/index.js +11 -0
  45. package/build/conformance/index.js.map +1 -0
  46. package/build/conformance/types.d.ts +18 -0
  47. package/build/conformance/types.d.ts.map +1 -0
  48. package/build/conformance/types.js +2 -0
  49. package/build/conformance/types.js.map +1 -0
  50. package/build/consts.d.ts +5 -0
  51. package/build/consts.d.ts.map +1 -1
  52. package/build/consts.js +5 -0
  53. package/build/consts.js.map +1 -1
  54. package/build/definitions.d.ts +17 -0
  55. package/build/definitions.d.ts.map +1 -0
  56. package/build/definitions.js +211 -0
  57. package/build/definitions.js.map +1 -0
  58. package/build/executor/changes.d.ts +2 -2
  59. package/build/executor/changes.d.ts.map +1 -1
  60. package/build/executor/changes.js.map +1 -1
  61. package/build/executor/code.d.ts +3 -3
  62. package/build/executor/code.d.ts.map +1 -1
  63. package/build/executor/code.js +1 -1
  64. package/build/executor/code.js.map +1 -1
  65. package/build/executor/consts.local.d.ts +5 -0
  66. package/build/executor/consts.local.d.ts.map +1 -0
  67. package/build/executor/consts.local.js +6 -0
  68. package/build/executor/consts.local.js.map +1 -0
  69. package/build/executor/creator.d.ts +30 -0
  70. package/build/executor/creator.d.ts.map +1 -0
  71. package/build/executor/creator.js +46 -0
  72. package/build/executor/creator.js.map +1 -0
  73. package/build/executor/resolve.d.ts +31 -23
  74. package/build/executor/resolve.d.ts.map +1 -1
  75. package/build/executor/resolve.js +74 -15
  76. package/build/executor/resolve.js.map +1 -1
  77. package/build/executor/types.d.ts +24 -0
  78. package/build/executor/types.d.ts.map +1 -0
  79. package/build/executor/types.js +2 -0
  80. package/build/executor/types.js.map +1 -0
  81. package/build/executor/validate.d.ts +6 -5
  82. package/build/executor/validate.d.ts.map +1 -1
  83. package/build/executor/validate.js +18 -15
  84. package/build/executor/validate.js.map +1 -1
  85. package/build/executor.d.ts +10 -7
  86. package/build/executor.d.ts.map +1 -1
  87. package/build/executor.js +17 -14
  88. package/build/executor.js.map +1 -1
  89. package/build/facade.d.ts +20 -2
  90. package/build/facade.d.ts.map +1 -1
  91. package/build/facade.js +128 -18
  92. package/build/facade.js.map +1 -1
  93. package/build/helper.d.ts +3 -2
  94. package/build/helper.d.ts.map +1 -1
  95. package/build/helper.js +7 -3
  96. package/build/helper.js.map +1 -1
  97. package/build/index.d.ts +1 -0
  98. package/build/index.d.ts.map +1 -1
  99. package/build/index.js +1 -0
  100. package/build/index.js.map +1 -1
  101. package/build/projection.d.ts +2 -10
  102. package/build/projection.d.ts.map +1 -1
  103. package/build/projection.js +1 -1
  104. package/build/projection.js.map +1 -1
  105. package/build/queue/consts.d.ts +5 -0
  106. package/build/queue/consts.d.ts.map +1 -0
  107. package/build/queue/consts.js +5 -0
  108. package/build/queue/consts.js.map +1 -0
  109. package/build/queue/index.d.ts +4 -16
  110. package/build/queue/index.d.ts.map +1 -1
  111. package/build/queue/index.js +2 -4
  112. package/build/queue/index.js.map +1 -1
  113. package/build/queue/types.d.ts +13 -0
  114. package/build/queue/types.d.ts.map +1 -0
  115. package/build/queue/types.js +2 -0
  116. package/build/queue/types.js.map +1 -0
  117. package/build/registry.d.ts +2 -21
  118. package/build/registry.d.ts.map +1 -1
  119. package/build/registry.js +3 -1
  120. package/build/registry.js.map +1 -1
  121. package/build/service.d.ts +3 -16
  122. package/build/service.d.ts.map +1 -1
  123. package/build/service.js +9 -0
  124. package/build/service.js.map +1 -1
  125. package/build/store/commits.d.ts.map +1 -1
  126. package/build/store/commits.js +3 -1
  127. package/build/store/commits.js.map +1 -1
  128. package/build/store/composite.d.ts +1 -0
  129. package/build/store/composite.d.ts.map +1 -1
  130. package/build/store/composite.js +3 -0
  131. package/build/store/composite.js.map +1 -1
  132. package/build/store/consts.local.d.ts +2 -0
  133. package/build/store/consts.local.d.ts.map +1 -0
  134. package/build/store/consts.local.js +2 -0
  135. package/build/store/consts.local.js.map +1 -0
  136. package/build/store/fold.d.ts +4 -3
  137. package/build/store/fold.d.ts.map +1 -1
  138. package/build/store/fold.js +14 -6
  139. package/build/store/fold.js.map +1 -1
  140. package/build/store/memory.d.ts +12 -0
  141. package/build/store/memory.d.ts.map +1 -1
  142. package/build/store/memory.js +0 -0
  143. package/build/store/memory.js.map +1 -1
  144. package/build/store/types.d.ts +15 -1
  145. package/build/store/types.d.ts.map +1 -1
  146. package/build/store/types.local.d.ts +3 -0
  147. package/build/store/types.local.d.ts.map +1 -0
  148. package/build/store/types.local.js +2 -0
  149. package/build/store/types.local.js.map +1 -0
  150. package/build/types.d.ts +111 -1
  151. package/build/types.d.ts.map +1 -1
  152. package/build/types.local.d.ts +7 -0
  153. package/build/types.local.d.ts.map +1 -0
  154. package/build/types.local.js +2 -0
  155. package/build/types.local.js.map +1 -0
  156. package/build/utils/index.d.ts +1 -0
  157. package/build/utils/index.d.ts.map +1 -1
  158. package/build/utils/scope.d.ts +39 -2
  159. package/build/utils/scope.d.ts.map +1 -1
  160. package/build/utils/scope.js +79 -15
  161. package/build/utils/scope.js.map +1 -1
  162. package/build/utils/types.d.ts +8 -0
  163. package/build/utils/types.d.ts.map +1 -0
  164. package/build/utils/types.js +2 -0
  165. package/build/utils/types.js.map +1 -0
  166. package/package.json +28 -20
  167. package/src/actions/cards.ts +2 -6
  168. package/src/actions/execute.ts +95 -12
  169. package/src/actions/schemas.ts +81 -9
  170. package/src/actions/specs.ts +1 -2
  171. package/src/actions/types.ts +4 -0
  172. package/src/actions/watch.ts +5 -2
  173. package/src/conformance/assert.ts +59 -0
  174. package/src/conformance/cases.ts +522 -0
  175. package/src/conformance/consts.ts +44 -0
  176. package/src/conformance/fixtures.ts +121 -0
  177. package/src/conformance/index.ts +11 -0
  178. package/src/conformance/types.ts +20 -0
  179. package/src/consts.ts +6 -0
  180. package/src/definitions.ts +250 -0
  181. package/src/executor/changes.ts +2 -6
  182. package/src/executor/code.ts +3 -9
  183. package/src/executor/consts.local.ts +8 -0
  184. package/src/executor/creator.ts +51 -0
  185. package/src/executor/resolve.ts +84 -40
  186. package/src/executor/types.ts +25 -0
  187. package/src/executor/validate.ts +22 -26
  188. package/src/executor.ts +21 -21
  189. package/src/facade.ts +143 -25
  190. package/src/helper.ts +7 -3
  191. package/src/index.ts +1 -0
  192. package/src/projection.ts +4 -14
  193. package/src/queue/consts.ts +5 -0
  194. package/src/queue/index.ts +6 -21
  195. package/src/queue/types.ts +14 -0
  196. package/src/registry.ts +5 -29
  197. package/src/service.ts +13 -20
  198. package/src/store/commits.ts +5 -4
  199. package/src/store/composite.ts +3 -0
  200. package/src/store/consts.local.ts +1 -0
  201. package/src/store/fold.ts +15 -12
  202. package/src/store/memory.ts +0 -0
  203. package/src/store/types.local.ts +3 -0
  204. package/src/store/types.ts +16 -1
  205. package/src/types.local.ts +7 -0
  206. package/src/types.ts +126 -4
  207. package/src/utils/index.ts +1 -0
  208. package/src/utils/scope.ts +97 -17
  209. package/src/utils/types.ts +8 -0
  210. package/tests/access.spec.ts +160 -0
  211. package/tests/conformance.spec.ts +47 -0
  212. package/tests/create-example.spec.ts +202 -0
  213. package/tests/creator.spec.ts +257 -0
  214. package/tests/entrypoints.spec.ts +5 -0
  215. package/tests/narrowing.spec.ts +94 -0
  216. package/tests/plugins.spec.ts +4 -3
  217. package/tests/writes.spec.ts +140 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"AACA,OAAO,EAAkH,KAAK,cAAc,EAAE,KAAK,cAAc,EAAyB,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAkF3P,uGAAuG;AACvG,eAAO,MAAM,yBAAyB,EAAE,cAItC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAO,CAAC,MAAM,MAAM,CAMhD,CAAA;AAED,eAAO,MAAM,YAAY,aACb,cAAc,UAAS,MAAM,UAA8B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3F,OAAO,CAAC,QAAQ,CAGM,CAAA;AAEzB,eAAO,MAAM,UAAU,aACX,cAAc,UAAU,MAAM,UAAS,MAAM,UAAoB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACjG,OAAO,CAAC,QAAQ,CAGM,CAAA;AAEzB,eAAO,MAAM,OAAO,aACR,cAAc,QAAQ,MAAM,cAAc,MAAM,UAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KACnF,OAAO,CAAC,iBAAiB,CAEV,CAAA"}
@@ -0,0 +1,109 @@
1
+ // owlmeans-structure: allow-file the conformance fixtures are one declarative data set together with the plugin that serves it
2
+ import { CodeScope, CodeStyle, IntrinsicStatus, SpecificationFormat, TransitionAction, WorkcardKind } from '@owlmeans/planning';
3
+ import { BOOK_TYPE, LIBRARY, PERIODICAL_TYPE } from './consts.js';
4
+ const flows = [
5
+ {
6
+ id: LIBRARY.circulation,
7
+ version: 1,
8
+ statuses: [
9
+ { key: 'shelved', intrinsic: IntrinsicStatus.Planned, initial: true },
10
+ { key: 'lent', intrinsic: IntrinsicStatus.InProgress },
11
+ { key: 'retired', intrinsic: IntrinsicStatus.Closed, terminal: true },
12
+ ],
13
+ transitions: [
14
+ { name: 'lend', from: ['shelved'], to: 'lent', explicit: true },
15
+ { name: 'return', from: ['lent'], to: 'shelved', explicit: true },
16
+ { name: 'retire', from: '*', to: 'retired' },
17
+ { name: 'restore', from: ['retired'], to: 'shelved' },
18
+ ],
19
+ },
20
+ {
21
+ id: LIBRARY.review,
22
+ version: 1,
23
+ statuses: [
24
+ { key: 'unreviewed', intrinsic: IntrinsicStatus.Planned, initial: true },
25
+ { key: 'reviewed', intrinsic: IntrinsicStatus.Closed },
26
+ ],
27
+ transitions: [{ name: 'review', from: ['unreviewed'], to: 'reviewed' }],
28
+ },
29
+ {
30
+ id: LIBRARY.branchLife,
31
+ version: 1,
32
+ statuses: [
33
+ { key: 'open', intrinsic: IntrinsicStatus.Planned, initial: true },
34
+ { key: 'active', intrinsic: IntrinsicStatus.InProgress },
35
+ ],
36
+ transitions: [{ name: 'activate', from: ['open'], to: 'active' }],
37
+ },
38
+ {
39
+ id: LIBRARY.pageLife,
40
+ version: 1,
41
+ statuses: [{ key: 'draft', intrinsic: IntrinsicStatus.Planned, initial: true }],
42
+ transitions: [],
43
+ },
44
+ ];
45
+ const types = [
46
+ {
47
+ type: LIBRARY.branch,
48
+ kind: WorkcardKind.Project,
49
+ version: 1,
50
+ fields: { type: 'object', additionalProperties: true },
51
+ flows: [LIBRARY.branchLife],
52
+ cardTypes: [LIBRARY.book, LIBRARY.periodical],
53
+ projectTypes: [LIBRARY.branch],
54
+ scopedCardTypes: true,
55
+ specifications: [
56
+ { category: 'charter', format: SpecificationFormat.Markdown },
57
+ { category: 'notes', format: SpecificationFormat.Markdown, multiple: true },
58
+ ],
59
+ code: { style: CodeStyle.Slug, uniqueWithin: CodeScope.Entity, mutable: true },
60
+ },
61
+ {
62
+ type: LIBRARY.room,
63
+ kind: WorkcardKind.Project,
64
+ version: 1,
65
+ fields: { type: 'object', additionalProperties: true },
66
+ flows: [LIBRARY.branchLife],
67
+ cardTypes: [LIBRARY.book],
68
+ specifications: [],
69
+ },
70
+ BOOK_TYPE,
71
+ PERIODICAL_TYPE,
72
+ {
73
+ type: LIBRARY.page,
74
+ kind: WorkcardKind.Specification,
75
+ version: 1,
76
+ fields: { type: 'object', additionalProperties: true },
77
+ flows: [LIBRARY.pageLife],
78
+ specifications: [],
79
+ },
80
+ ];
81
+ /** The types and flows every conformance case runs against — register it on the service under test. */
82
+ export const planningConformancePlugin = Object.freeze({
83
+ name: 'planning-conformance',
84
+ order: 0,
85
+ schemas: { types, flows },
86
+ });
87
+ /**
88
+ * A clock that never repeats an instant — what a conformance service is booted with, so an
89
+ * `updatedSince` or an ordering by `at` is deterministic on a fast store.
90
+ */
91
+ export const conformanceClock = () => {
92
+ let last = 0;
93
+ return () => {
94
+ last = Math.max(Date.now(), last + 1);
95
+ return new Date(last).toISOString();
96
+ };
97
+ };
98
+ export const createBranch = async (planning, title = 'Riverside branch', extra = {}) => (await planning.execute({
99
+ card: { kind: WorkcardKind.Project, type: LIBRARY.branch, title, ...extra },
100
+ action: TransitionAction.Create,
101
+ }, { wait: true })).card;
102
+ export const createBook = async (planning, branch, title = 'A book', extra = {}) => (await planning.execute({
103
+ card: { kind: WorkcardKind.Card, type: LIBRARY.book, parent: branch, title, ...extra },
104
+ action: TransitionAction.Create,
105
+ }, { wait: true })).card;
106
+ export const transit = async (planning, card, transition, extra = {}) => await planning.execute({
107
+ card, action: TransitionAction.Transit, transition, ...extra,
108
+ }, { wait: true });
109
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The planning store conformance suite — a framework-agnostic list of named cases every
3
+ * `PlanningStore` answers identically. No test runner is imported: a store's own spec file loops
4
+ * over {@link conformanceCasesFor} and hands each case a {@link ConformanceSubject}; a case throws
5
+ * `ConformanceFailure` (a plain `Error`) when an expectation does not hold.
6
+ */
7
+ export * from './assert.js';
8
+ export * from './cases.js';
9
+ export type * from './types.js';
10
+ export * from './fixtures.js';
11
+ export * from './consts.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conformance/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,mBAAmB,YAAY,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The planning store conformance suite — a framework-agnostic list of named cases every
3
+ * `PlanningStore` answers identically. No test runner is imported: a store's own spec file loops
4
+ * over {@link conformanceCasesFor} and hands each case a {@link ConformanceSubject}; a case throws
5
+ * `ConformanceFailure` (a plain `Error`) when an expectation does not hold.
6
+ */
7
+ export * from './assert.js';
8
+ export * from './cases.js';
9
+ export * from './fixtures.js';
10
+ export * from './consts.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conformance/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAE1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { PlanningFacade, PlanningService, PlanningStore } from '@owlmeans/planning';
2
+ /** What a case runs against: a planning service over the store under test. */
3
+ export interface ConformanceSubject {
4
+ /** A service with `planningConformancePlugin` registered and a strictly increasing clock. */
5
+ service: PlanningService;
6
+ /** The store under test — the service's default store. */
7
+ store: PlanningStore;
8
+ /** A facade of one organization, acting as a signed-in person. */
9
+ facade: (entityId: string) => PlanningFacade;
10
+ }
11
+ /** A capability a store may implement; a case that needs one is skipped for a store without it. */
12
+ export type ConformanceCapability = 'schemas';
13
+ export interface ConformanceCase {
14
+ name: string;
15
+ needs?: ConformanceCapability[];
16
+ run: (subject: ConformanceSubject) => Promise<void>;
17
+ }
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/conformance/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAExF,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,6FAA6F;IAC7F,OAAO,EAAE,eAAe,CAAA;IACxB,0DAA0D;IAC1D,KAAK,EAAE,aAAa,CAAA;IACpB,kEAAkE;IAClE,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAA;CAC7C;AAED,mGAAmG;AACnG,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAC/B,GAAG,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/conformance/types.ts"],"names":[],"mappings":""}
package/build/consts.d.ts CHANGED
@@ -15,4 +15,9 @@ export declare const DEFAULT_COMMIT_MEMORY = 1000;
15
15
  * ladder is what answers when it folded somewhere the hub does not.
16
16
  */
17
17
  export declare const COMMIT_POLL_LADDER: readonly number[];
18
+ /**
19
+ * How many resolved schema layers (organization, project) a service keeps. A layer is re-resolved
20
+ * whenever its organization's schema revision moves, so the cap bounds memory, never staleness.
21
+ */
22
+ export declare const DEFAULT_SCHEMA_VIEWS = 500;
18
23
  //# sourceMappingURL=consts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,eAAO,MAAM,aAAa,aAAmB,CAAA;AAE7C,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,oBAAoB,CAAA;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAA;AAEzC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAqC,CAAA"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,eAAO,MAAM,aAAa,aAAmB,CAAA;AAE7C,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,oBAAoB,CAAA;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAA;AAEzC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAqC,CAAA;AAErF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAA"}
package/build/consts.js CHANGED
@@ -16,4 +16,9 @@ export const DEFAULT_COMMIT_MEMORY = 1000;
16
16
  * ladder is what answers when it folded somewhere the hub does not.
17
17
  */
18
18
  export const COMMIT_POLL_LADDER = Object.freeze([250, 1000, 2000]);
19
+ /**
20
+ * How many resolved schema layers (organization, project) a service keeps. A layer is re-resolved
21
+ * whenever its organization's schema revision moves, so the cap bounds memory, never staleness.
22
+ */
23
+ export const DEFAULT_SCHEMA_VIEWS = 500;
19
24
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,+FAA+F;AAC/F,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAA;AAE7C,mEAAmE;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAEzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,+FAA+F;AAC/F,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAA;AAE7C,mEAAmE;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAEzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAErF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { type PlanningDefinitions, type PlanningFacade } from '@owlmeans/planning';
2
+ import type { PlanningRuntime, SchemaViews, SchemaViewsOptions } from './types.js';
3
+ /**
4
+ * The resolved layers of one planning service, cached per (organization, project) and keyed by the
5
+ * organization's schema revision and the code registry's version — a write anywhere, in any
6
+ * process, moves the revision the next lookup reads, so a cached layer is never served stale. A
7
+ * store that can `watch` evicts an organization's layers as soon as it hears of a write.
8
+ */
9
+ export declare const makeSchemaViews: (opts: SchemaViewsOptions) => SchemaViews;
10
+ /**
11
+ * The data-defined schema surface of one scoped facade. Every write checks, before anything is
12
+ * stored: the project (a project card this scope can see), the seal of the code registry, the
13
+ * declaration's closed-form checks (a type's flows must resolve in its layer, counting the flows
14
+ * written beside it) — and then writes through the port's compare-and-set.
15
+ */
16
+ export declare const makeDefinitions: (runtime: PlanningRuntime, facade: PlanningFacade) => PlanningDefinitions;
17
+ //# sourceMappingURL=definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsP,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAmP,MAAM,oBAAoB,CAAA;AAGvjB,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAKlF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,SAAU,kBAAkB,KAAG,WA0D1D,CAAA;AASD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,YAAa,eAAe,UAAU,cAAc,KAAG,mBAkKlF,CAAA"}
@@ -0,0 +1,211 @@
1
+ import { assertFlowSchema, assertOverridable, assertTypeSchema, flowInUse, isProject, PlanningSchemaKind, PlanningUnsupported, resolveScopedBundle, SchemaConflict, SchemaInUse, scopedRegistryOf, UnknownStatusFlow, UnknownWorkcardType, WorkcardNotFound } from '@owlmeans/planning';
2
+ import { DEFAULT_SCHEMA_VIEWS } from './consts.js';
3
+ import { actorOf } from './executor/changes.js';
4
+ const isoNow = () => new Date().toISOString();
5
+ /**
6
+ * The resolved layers of one planning service, cached per (organization, project) and keyed by the
7
+ * organization's schema revision and the code registry's version — a write anywhere, in any
8
+ * process, moves the revision the next lookup reads, so a cached layer is never served stale. A
9
+ * store that can `watch` evicts an organization's layers as soon as it hears of a write.
10
+ */
11
+ export const makeSchemaViews = (opts) => {
12
+ const limit = opts.limit ?? DEFAULT_SCHEMA_VIEWS;
13
+ const cache = new Map();
14
+ let watching;
15
+ const keyOf = (entityId, project) => `${entityId}\u0000${project ?? ''}`;
16
+ const evict = (entityId) => {
17
+ const prefix = `${entityId}\u0000`;
18
+ for (const key of [...cache.keys()]) {
19
+ if (key.startsWith(prefix)) {
20
+ cache.delete(key);
21
+ }
22
+ }
23
+ };
24
+ const scoped = async (entityId, project) => {
25
+ const store = opts.port();
26
+ if (store == null) {
27
+ throw new PlanningUnsupported('schemas');
28
+ }
29
+ if (store.watch != null && watching?.store !== store) {
30
+ watching?.release();
31
+ watching = { store, release: store.watch(evict) };
32
+ }
33
+ const revision = await store.revision(entityId);
34
+ const version = opts.version();
35
+ const key = keyOf(entityId, project);
36
+ const hit = cache.get(key);
37
+ if (hit != null && hit.revision === revision && hit.version === version) {
38
+ cache.delete(key);
39
+ cache.set(key, hit);
40
+ return hit.view;
41
+ }
42
+ const records = [
43
+ ...await store.list({ entityId, project: null }),
44
+ ...(project != null ? await store.list({ entityId, project }) : []),
45
+ ];
46
+ const view = scopedRegistryOf(resolveScopedBundle(opts.code().bundle(), records, { entityId, project, revision }));
47
+ cache.delete(key);
48
+ cache.set(key, { revision, version, view });
49
+ while (cache.size > limit) {
50
+ const oldest = cache.keys().next().value;
51
+ if (oldest == null) {
52
+ break;
53
+ }
54
+ cache.delete(oldest);
55
+ }
56
+ return view;
57
+ };
58
+ return {
59
+ of: async (entityId, project) => opts.port() == null ? opts.code() : await scoped(entityId, project),
60
+ scoped,
61
+ };
62
+ };
63
+ const planOf = (declarations) => [
64
+ ...(declarations.flows ?? []).map(flow => ({ kind: PlanningSchemaKind.Flow, key: flow.id, definition: flow })),
65
+ ...(declarations.types ?? []).map(type => ({ kind: PlanningSchemaKind.Type, key: type.type, definition: type })),
66
+ ];
67
+ const layerKey = (kind, key) => `${kind}:${key}`;
68
+ /**
69
+ * The data-defined schema surface of one scoped facade. Every write checks, before anything is
70
+ * stored: the project (a project card this scope can see), the seal of the code registry, the
71
+ * declaration's closed-form checks (a type's flows must resolve in its layer, counting the flows
72
+ * written beside it) — and then writes through the port's compare-and-set.
73
+ */
74
+ export const makeDefinitions = (runtime, facade) => {
75
+ const scope = facade.scope;
76
+ const entityId = scope.entityId;
77
+ const now = runtime.options.now ?? isoNow;
78
+ const port = () => {
79
+ const store = runtime.schemaStore();
80
+ if (store == null) {
81
+ throw new PlanningUnsupported('schemas');
82
+ }
83
+ return store;
84
+ };
85
+ const visible = (project) => scope.projects == null || scope.projects.includes(project);
86
+ /** @throws {WorkcardNotFound} for anything but a project card this scope can see */
87
+ const assertProject = async (project) => {
88
+ if (project == null) {
89
+ return;
90
+ }
91
+ const card = await facade.cards.load(project);
92
+ if (card == null || !isProject(card)) {
93
+ throw new WorkcardNotFound(project);
94
+ }
95
+ };
96
+ const layerOf = async (project) => new Map((await port().list({ entityId, project: project ?? null }))
97
+ .map(record => [layerKey(record.kind, record.key), record]));
98
+ /** Seal and closed-form checks for everything in the plan — nothing is written when one fails. */
99
+ const validate = async (plan, project) => {
100
+ const code = runtime.service().schemas;
101
+ const layer = await runtime.scopedSchemas(entityId, project);
102
+ const pending = new Map(plan.filter(entry => entry.kind === PlanningSchemaKind.Flow)
103
+ .map(entry => [entry.key, entry.definition]));
104
+ const flows = { flow: id => pending.get(id) ?? layer.flow(id) };
105
+ for (const entry of plan) {
106
+ assertOverridable(code, entry.kind, entry.key);
107
+ if (entry.kind === PlanningSchemaKind.Flow) {
108
+ assertFlowSchema(entry.definition);
109
+ }
110
+ else {
111
+ assertTypeSchema(entry.definition, flows);
112
+ }
113
+ }
114
+ };
115
+ const recordOf = (entry, version, project, current, retired) => {
116
+ const at = now();
117
+ const by = actorOf(scope, {});
118
+ return Object.fromEntries(Object.entries({
119
+ entityId,
120
+ project,
121
+ kind: entry.kind,
122
+ key: entry.key,
123
+ version,
124
+ definition: { ...structuredClone(entry.definition), version },
125
+ retired: retired === true ? true : undefined,
126
+ createdAt: current?.createdAt ?? at,
127
+ updatedAt: current != null ? at : undefined,
128
+ by: Object.keys(by).length > 0 ? by : undefined,
129
+ }).filter(([, value]) => value !== undefined));
130
+ };
131
+ const write = async (plan, opts, versionOf) => {
132
+ await assertProject(opts?.project);
133
+ const layer = await layerOf(opts?.project);
134
+ const todo = plan
135
+ .map(entry => ({ entry, current: layer.get(layerKey(entry.kind, entry.key)) }))
136
+ .map(item => ({ ...item, version: versionOf(item.entry, item.current) }))
137
+ .filter((item) => item.version != null);
138
+ await validate(todo.map(item => item.entry), opts?.project);
139
+ const written = [];
140
+ for (const item of todo) {
141
+ written.push(await port().put(recordOf(item.entry, item.version, opts?.project, item.current)));
142
+ }
143
+ return written;
144
+ };
145
+ const put = async (entry, opts) => (await write([entry], opts, () => entry.definition.version))[0];
146
+ const definitions = {
147
+ bundle: async (project) => {
148
+ await assertProject(project);
149
+ return (await runtime.scopedSchemas(entityId, project)).bundle();
150
+ },
151
+ registry: async (project) => {
152
+ await assertProject(project);
153
+ return await runtime.scopedSchemas(entityId, project);
154
+ },
155
+ records: async (opts) => {
156
+ if (typeof opts?.project === 'string' && !visible(opts.project)) {
157
+ return [];
158
+ }
159
+ const records = await port().list(Object.fromEntries(Object.entries({
160
+ entityId, project: opts?.project, kind: opts?.kind, retired: opts?.retired,
161
+ }).filter(([, value]) => value !== undefined)));
162
+ return records.filter(record => record.project == null || visible(record.project));
163
+ },
164
+ putType: async (type, opts) => await put({ kind: PlanningSchemaKind.Type, key: type.type, definition: type }, opts),
165
+ putFlow: async (flow, opts) => await put({ kind: PlanningSchemaKind.Flow, key: flow.id, definition: flow }, opts),
166
+ define: async (declarations, opts) => await write(planOf(declarations), opts, (_, current) => (current?.version ?? 0) + 1),
167
+ seed: async (declarations, opts) => {
168
+ const written = [];
169
+ try {
170
+ written.push(...await write(planOf(declarations), opts, (_, current) => current == null ? 1 : null));
171
+ }
172
+ catch (error) {
173
+ if (!(error instanceof SchemaConflict)) {
174
+ throw error;
175
+ }
176
+ // A concurrent seed wrote a key first; what is left is still only what the layer lacks.
177
+ written.push(...await write(planOf(declarations), opts, (_, current) => current == null ? 1 : null));
178
+ }
179
+ return written;
180
+ },
181
+ retire: async (kind, key, opts) => {
182
+ await assertProject(opts?.project);
183
+ const current = (await layerOf(opts?.project)).get(layerKey(kind, key));
184
+ if (current == null) {
185
+ throw kind === PlanningSchemaKind.Type ? new UnknownWorkcardType(key) : new UnknownStatusFlow(key);
186
+ }
187
+ if (current.retired === true) {
188
+ return current;
189
+ }
190
+ const retiring = recordOf({ kind, key, definition: current.definition }, current.version + 1, opts?.project, current, true);
191
+ if (kind === PlanningSchemaKind.Flow) {
192
+ const code = runtime.service().schemas.bundle();
193
+ const all = (await port().list({ entityId }))
194
+ .map(record => record.kind === kind && record.key === key && record.project === current.project ? retiring : record);
195
+ // The organization's layer reaches every project; a project's reaches itself alone.
196
+ const projects = opts?.project != null
197
+ ? [opts.project]
198
+ : [undefined, ...new Set(all.map(record => record.project).filter((id) => id != null))];
199
+ for (const project of projects) {
200
+ const user = flowInUse(resolveScopedBundle(code, all, { entityId, project }), key);
201
+ if (user != null) {
202
+ throw new SchemaInUse(`flow:${key}:type:${user}${project != null ? `:project:${project}` : ''}`);
203
+ }
204
+ }
205
+ }
206
+ return await port().put(retiring);
207
+ },
208
+ };
209
+ return definitions;
210
+ };
211
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { ChangeSet, PlanningSchemaRegistry, PlanningScope, Transition, TransitionActor, TransitionExecution } from '@owlmeans/planning';
2
- import type { Resolved } from './resolve.js';
1
+ import { type ChangeSet, type PlanningSchemaRegistry, type PlanningScope, type Transition, type TransitionActor, type TransitionExecution } from '@owlmeans/planning';
2
+ import type { Resolved } from './types.js';
3
3
  /**
4
4
  * Step 9: the recorded `changes`/`unset`, and whether an update wrote nothing.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../src/executor/changes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAqB,UAAU,EAAE,eAAe,EAChG,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAK5C;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAChB,mBAAmB,YAAY,QAAQ,WAAW,sBAAsB,MAAM,MAAM,KACzF;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAKlC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,UAAW,aAAa,QAAQ,mBAAmB,KAAG,eAMxE,CAAA;AAIF,gEAAgE;AAChE,eAAO,MAAM,YAAY,WAAY;IACnC,IAAI,EAAE,mBAAmB,CAAA;IACzB,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,aAAa,CAAA;IACpB,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;CACX,KAAG,UA0BH,CAAA"}
1
+ {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../src/executor/changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgE,KAAK,SAAS,EAAE,KAAK,sBAAsB,EAAE,KAAK,aAAa,EAA0B,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAsB,MAAM,oBAAoB,CAAA;AAC/Q,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAK1C;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAChB,mBAAmB,YAAY,QAAQ,WAAW,sBAAsB,MAAM,MAAM,KACzF;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAKlC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,UAAW,aAAa,QAAQ,mBAAmB,KAAG,eAMxE,CAAA;AAIF,gEAAgE;AAChE,eAAO,MAAM,YAAY,WAAY;IACnC,IAAI,EAAE,mBAAmB,CAAA;IACzB,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,aAAa,CAAA;IACpB,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;CACX,KAAG,UA0BH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/executor/changes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/executor/changes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { PlanningExecContext, PlanningPlugin, PlanningScope, TransitionExecution } from '@owlmeans/planning';
2
- import type { PluginRegistry } from '../registry.js';
3
- import type { Resolved } from './resolve.js';
1
+ import { type PlanningExecContext, type PlanningPlugin, type PlanningScope, type TransitionExecution } from '@owlmeans/planning';
2
+ import type { PluginRegistry } from '../types.js';
3
+ import type { Resolved } from './types.js';
4
4
  export declare const takenProbe: (resolved: Resolved, scope: PlanningScope, parent: string | undefined) => (code: string) => Promise<boolean>;
5
5
  /**
6
6
  * Step 8: the code a new card gets, or the check a changed code passes.
@@ -1 +1 @@
1
- {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/executor/code.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EACpF,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAW5C,eAAO,MAAM,UAAU,aAAc,QAAQ,SAAS,aAAa,UAAU,MAAM,GAAG,SAAS,YAGzE,MAAM,KAAG,OAAO,CAAC,OAAO,CAE7C,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,SACf,mBAAmB,YACf,QAAQ,SACX,aAAa,YACV,cAAc,aACb,CAAC,MAAM,EAAE,cAAc,KAAK,mBAAmB,KACzD,OAAO,CAAC,mBAAmB,CAwC7B,CAAA"}
1
+ {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/executor/code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoG,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAqC,MAAM,oBAAoB,CAAA;AAErQ,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAW1C,eAAO,MAAM,UAAU,aAAc,QAAQ,SAAS,aAAa,UAAU,MAAM,GAAG,SAAS,YAGzE,MAAM,KAAG,OAAO,CAAC,OAAO,CAE7C,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,SACf,mBAAmB,YACf,QAAQ,SACX,aAAa,YACV,cAAc,aACb,CAAC,MAAM,EAAE,cAAc,KAAK,mBAAmB,KACzD,OAAO,CAAC,mBAAmB,CAwC7B,CAAA"}
@@ -1,4 +1,4 @@
1
- import { CODE_MINT_ATTEMPTS, CodeScope, CodeStyle, CodeTaken, mintCode, TransitionAction, } from '@owlmeans/planning';
1
+ import { CODE_MINT_ATTEMPTS, CodeScope, CodeStyle, CodeTaken, mintCode, TransitionAction } from '@owlmeans/planning';
2
2
  /** The criteria a code must be unique within — the policy's scope, `parent` when there is none. */
3
3
  const scopeCriteria = (scope, type, parent, policy) => ({
4
4
  entityId: scope.entityId,
@@ -1 +1 @@
1
- {"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/executor/code.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,GAChF,MAAM,oBAAoB,CAAA;AAS3B,mGAAmG;AACnG,MAAM,aAAa,GAAG,CACpB,KAAoB,EAAE,IAAY,EAAE,MAA0B,EAAE,MAAmB,EAC/D,EAAE,CAAC,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,IAAI;IACJ,GAAG,CAAC,CAAC,MAAM,EAAE,YAAY,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACvG,CAAuB,CAAA;AAExB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAkB,EAAE,KAAoB,EAAE,MAA0B,EAAE,EAAE;IACjG,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEjF,OAAO,KAAK,EAAE,IAAY,EAAoB,EAAE,CAC9C,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAwB,CAAC,GAAG,CAAC,CAAA;AACjF,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,IAAyB,EACzB,QAAkB,EAClB,KAAoB,EACpB,QAAwB,EACxB,SAA0D,EAC5B,EAAE;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAA;IAEjC,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAA;QAC/B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,IAAI;eAC3C,MAAM,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAqB,CAAA;IACxC,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvD,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QAC5C,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAC3D,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,UAAU;YACjD,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1F,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE;YACvD,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,CAAA;AAC9C,CAAC,CAAA"}
1
+ {"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/executor/code.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** The field a create's draft writes once and nothing moves afterwards. */
2
+ export declare const CREATOR = "createdBy";
3
+ export declare const TRIMMED: readonly ['title', 'description', 'code'];
4
+ export declare const ACTIONS: Set<string>;
5
+ //# sourceMappingURL=consts.local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.local.d.ts","sourceRoot":"","sources":["../../src/executor/consts.local.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,eAAO,MAAM,OAAO,cAAc,CAAA;AAElC,eAAO,MAAM,OAAO,YAAI,OAAO,EAAE,aAAa,EAAE,MAAM,CAAU,CAAA;AAEhE,eAAO,MAAM,OAAO,aAAmD,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { TransitionAction } from '@owlmeans/planning';
2
+ /** The field a create's draft writes once and nothing moves afterwards. */
3
+ export const CREATOR = 'createdBy';
4
+ export const TRIMMED = ['title', 'description', 'code'];
5
+ export const ACTIONS = new Set(Object.values(TransitionAction));
6
+ //# sourceMappingURL=consts.local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.local.js","sourceRoot":"","sources":["../../src/executor/consts.local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAA;AAElC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAU,CAAA;AAEhE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { type PlanningScope, type TransitionExecution } from '@owlmeans/planning';
2
+ /**
3
+ * The subject a create made under `scope` is stamped with as its `createdBy`: the scope's
4
+ * `profileId`, else its `userId`, else the same two of its `actor` — the authenticated subject an
5
+ * HTTP scope carries, in the same format. `undefined` for a scope that names nobody (a service or a
6
+ * system scope).
7
+ */
8
+ export declare const creatorOf: (scope: PlanningScope) => string | undefined;
9
+ /**
10
+ * A create's draft with `createdBy` defaulted to {@link creatorOf} the scope. A `createdBy` the
11
+ * caller supplied wins; a scope that names nobody leaves the draft as it is; anything but a create
12
+ * is returned untouched. Never mutates `exec`.
13
+ *
14
+ * The executor applies it to every execution, so an in-process facade create and a wire create
15
+ * stamp the same value.
16
+ */
17
+ export declare const withCreator: (exec: TransitionExecution, scope: PlanningScope) => TransitionExecution;
18
+ /**
19
+ * Refuse an execution that names `createdBy` in `changes` or `unset`, whatever the action — a
20
+ * create included, whose owner is its draft's. After the create it never moves, so an ownership
21
+ * check (`card.createdBy === profileId`) cannot be bypassed by anyone allowed to update the card.
22
+ *
23
+ * The executor runs it with the immutables of step 6, after the `before` chain, so a wire body, an
24
+ * in-process caller and a plugin are refused alike. It is the executor's own check, whatever
25
+ * `@owlmeans/planning` build `assertMutable` comes from.
26
+ *
27
+ * @throws {PlanningError} `planning:immutable:createdBy`
28
+ */
29
+ export declare const assertCreatorFixed: (exec: TransitionExecution) => void;
30
+ //# sourceMappingURL=creator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creator.d.ts","sourceRoot":"","sources":["../../src/executor/creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAKlH;;;;;GAKG;AACH,eAAO,MAAM,SAAS,UAAW,aAAa,KAAG,MAAM,GAAG,SACgC,CAAA;AAE1F;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,SAAU,mBAAmB,SAAS,aAAa,KAAG,mBAU7E,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,SAAU,mBAAmB,KAAG,IAK9D,CAAA"}