@bett3r-dev/blueprint-schema 1.7.0 → 1.8.0

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 (105) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/build/cjs/apply-design.d.ts +1 -1
  3. package/build/cjs/apply-design.d.ts.map +1 -1
  4. package/build/cjs/apply-design.js +11 -4
  5. package/build/cjs/apply-design.js.map +1 -1
  6. package/build/cjs/apply-overrides.d.ts.map +1 -1
  7. package/build/cjs/apply-overrides.js +2 -1
  8. package/build/cjs/apply-overrides.js.map +1 -1
  9. package/build/cjs/design.d.ts +12 -0
  10. package/build/cjs/design.d.ts.map +1 -1
  11. package/build/cjs/design.js +16 -1
  12. package/build/cjs/design.js.map +1 -1
  13. package/build/cjs/edge-endpoints.d.ts +33 -0
  14. package/build/cjs/edge-endpoints.d.ts.map +1 -0
  15. package/build/cjs/edge-endpoints.js +83 -0
  16. package/build/cjs/edge-endpoints.js.map +1 -0
  17. package/build/cjs/effective-design.d.ts +21 -0
  18. package/build/cjs/effective-design.d.ts.map +1 -0
  19. package/build/cjs/effective-design.js +172 -0
  20. package/build/cjs/effective-design.js.map +1 -0
  21. package/build/cjs/graph.d.ts +25 -0
  22. package/build/cjs/graph.d.ts.map +1 -1
  23. package/build/cjs/graph.js +36 -0
  24. package/build/cjs/graph.js.map +1 -1
  25. package/build/cjs/index.d.ts +4 -0
  26. package/build/cjs/index.d.ts.map +1 -1
  27. package/build/cjs/index.js +4 -0
  28. package/build/cjs/index.js.map +1 -1
  29. package/build/cjs/map-structure.d.ts +1 -1
  30. package/build/cjs/map-structure.d.ts.map +1 -1
  31. package/build/cjs/map-structure.js.map +1 -1
  32. package/build/cjs/reachability.js +1 -1
  33. package/build/cjs/reachability.js.map +1 -1
  34. package/build/cjs/reality-check.d.ts +1 -1
  35. package/build/cjs/reality-check.d.ts.map +1 -1
  36. package/build/cjs/reality-check.js +43 -9
  37. package/build/cjs/reality-check.js.map +1 -1
  38. package/build/cjs/session-phase.d.ts +80 -0
  39. package/build/cjs/session-phase.d.ts.map +1 -0
  40. package/build/cjs/session-phase.js +97 -0
  41. package/build/cjs/session-phase.js.map +1 -0
  42. package/build/cjs/spec.d.ts +3 -0
  43. package/build/cjs/spec.d.ts.map +1 -1
  44. package/build/cjs/spec.js +58 -6
  45. package/build/cjs/spec.js.map +1 -1
  46. package/build/cjs/unproduced-events.d.ts +10 -0
  47. package/build/cjs/unproduced-events.d.ts.map +1 -0
  48. package/build/cjs/unproduced-events.js +37 -0
  49. package/build/cjs/unproduced-events.js.map +1 -0
  50. package/build/cjs/validate-design.d.ts.map +1 -1
  51. package/build/cjs/validate-design.js +6 -3
  52. package/build/cjs/validate-design.js.map +1 -1
  53. package/build/esm/apply-design.d.ts +1 -1
  54. package/build/esm/apply-design.d.ts.map +1 -1
  55. package/build/esm/apply-design.js +11 -4
  56. package/build/esm/apply-design.js.map +1 -1
  57. package/build/esm/apply-overrides.d.ts.map +1 -1
  58. package/build/esm/apply-overrides.js +2 -1
  59. package/build/esm/apply-overrides.js.map +1 -1
  60. package/build/esm/design.d.ts +12 -0
  61. package/build/esm/design.d.ts.map +1 -1
  62. package/build/esm/design.js +13 -0
  63. package/build/esm/design.js.map +1 -1
  64. package/build/esm/edge-endpoints.d.ts +33 -0
  65. package/build/esm/edge-endpoints.d.ts.map +1 -0
  66. package/build/esm/edge-endpoints.js +77 -0
  67. package/build/esm/edge-endpoints.js.map +1 -0
  68. package/build/esm/effective-design.d.ts +21 -0
  69. package/build/esm/effective-design.d.ts.map +1 -0
  70. package/build/esm/effective-design.js +169 -0
  71. package/build/esm/effective-design.js.map +1 -0
  72. package/build/esm/graph.d.ts +25 -0
  73. package/build/esm/graph.d.ts.map +1 -1
  74. package/build/esm/graph.js +33 -0
  75. package/build/esm/graph.js.map +1 -1
  76. package/build/esm/index.d.ts +4 -0
  77. package/build/esm/index.d.ts.map +1 -1
  78. package/build/esm/index.js +4 -0
  79. package/build/esm/index.js.map +1 -1
  80. package/build/esm/map-structure.d.ts +1 -1
  81. package/build/esm/map-structure.d.ts.map +1 -1
  82. package/build/esm/map-structure.js.map +1 -1
  83. package/build/esm/reachability.js +1 -1
  84. package/build/esm/reachability.js.map +1 -1
  85. package/build/esm/reality-check.d.ts +1 -1
  86. package/build/esm/reality-check.d.ts.map +1 -1
  87. package/build/esm/reality-check.js +44 -10
  88. package/build/esm/reality-check.js.map +1 -1
  89. package/build/esm/session-phase.d.ts +80 -0
  90. package/build/esm/session-phase.d.ts.map +1 -0
  91. package/build/esm/session-phase.js +93 -0
  92. package/build/esm/session-phase.js.map +1 -0
  93. package/build/esm/spec.d.ts +3 -0
  94. package/build/esm/spec.d.ts.map +1 -1
  95. package/build/esm/spec.js +60 -8
  96. package/build/esm/spec.js.map +1 -1
  97. package/build/esm/unproduced-events.d.ts +10 -0
  98. package/build/esm/unproduced-events.d.ts.map +1 -0
  99. package/build/esm/unproduced-events.js +32 -0
  100. package/build/esm/unproduced-events.js.map +1 -0
  101. package/build/esm/validate-design.d.ts.map +1 -1
  102. package/build/esm/validate-design.js +6 -3
  103. package/build/esm/validate-design.js.map +1 -1
  104. package/build/tsconfig.tsbuildinfo +1 -1
  105. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"apply-design.d.ts","sourceRoot":"","sources":["../../src/apply-design.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EACV,UAAU,EAGV,YAAY,EAEb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,cAAc,EAAU,MAAM,YAAY,CAAC;AAGzD,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEhF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,sBAAsB,EAAE,kBAAkB,EAAE,CAAC;IAC7C,iBAAiB,EAAE,eAAe,CAAC;IACnC,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAMF,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,GAC3D,MAAM,CAER;AAwKD,wBAAgB,WAAW,CACzB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,UAAU,GAAG,SAAS,GAC7B,iBAAiB,CAiDnB"}
1
+ {"version":3,"file":"apply-design.d.ts","sourceRoot":"","sources":["../../src/apply-design.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,KAAK,UAAU,EAGf,KAAK,YAAY,EAGlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,cAAc,EAAU,MAAM,YAAY,CAAC;AAGzD,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEhF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,sBAAsB,EAAE,kBAAkB,EAAE,CAAC;IAC7C,iBAAiB,EAAE,eAAe,CAAC;IACnC,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAMF,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,GAC3D,MAAM,CAER;AA6KD,wBAAgB,WAAW,CACzB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,UAAU,GAAG,SAAS,GAC7B,iBAAiB,CAkDnB"}
@@ -1,3 +1,4 @@
1
+ import { joinedNote } from './design.js';
1
2
  import { nodeId } from './graph.js';
2
3
  import { buildHandlerScopeIndex, resolveHandlerScope } from './handler-scope.js';
3
4
  import { findStrandedProposals } from './reachability.js';
@@ -79,7 +80,11 @@ function applyModifyEntry(entry, byId, skipped) {
79
80
  return;
80
81
  }
81
82
  const { label, subdomain, resourceKey, queries, rule, errorCodes, generic } = entry.set ?? {};
82
- const modified = { ...current, status: 'modified', origin: entry.author };
83
+ // A modify of a node an earlier entry of this design already touched keeps that entry's note beside its own.
84
+ const touched = current.status === 'proposed' || current.status === 'modified';
85
+ // A node this design proposes stays new however often the design reshapes it.
86
+ const status = current.status === 'proposed' ? 'proposed' : 'modified';
87
+ const modified = { ...current, status, origin: entry.author };
83
88
  if (label !== undefined) {
84
89
  if (label !== current.label && modified.previousLabel === undefined) {
85
90
  modified.previousLabel = current.label;
@@ -98,8 +103,9 @@ function applyModifyEntry(entry, byId, skipped) {
98
103
  modified.errorCodes = [...errorCodes];
99
104
  if (generic !== undefined)
100
105
  modified.generic = generic;
101
- if (entry.note !== undefined)
102
- modified.note = entry.note;
106
+ const note = touched ? joinedNote(current.note, entry.note) : entry.note ?? current.note;
107
+ if (note !== undefined)
108
+ modified.note = note;
103
109
  byId.set(entry.id, modified);
104
110
  }
105
111
  function applyRemoveEntry(entry, byId, edges, skipped) {
@@ -199,7 +205,8 @@ export function applyDesign(graph, design) {
199
205
  schemaVersion: graph.schemaVersion,
200
206
  subdomains: [...new Set(nodes.map(node => node.subdomain))].sort(),
201
207
  nodes,
202
- edges
208
+ edges,
209
+ ...(graph.typeWords !== undefined ? { typeWords: graph.typeWords } : {})
203
210
  };
204
211
  return {
205
212
  graph: mergedGraph,
@@ -1 +1 @@
1
- {"version":3,"file":"apply-design.js","sourceRoot":"","sources":["../../src/apply-design.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-design.js","sourceRoot":"","sources":["../../src/apply-design.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"apply-overrides.d.ts","sourceRoot":"","sources":["../../src/apply-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,YAAY,CAAC;AAGrE,OAAO,KAAK,EACV,kBAAkB,EAElB,UAAU,EAGX,MAAM,gBAAgB,CAAC;AAGxB,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAMF,wBAAgB,YAAY,CAAE,MAAM,EAAE,UAAU,GAAI,MAAM,CAEzD;AA4ND,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,kBAAkB,GAAG,SAAS,GACxC,oBAAoB,CAmDtB;AAED,wBAAgB,cAAc,CAC5B,SAAS,EAAE,cAAc,GAAG,SAAS,EACrC,SAAS,EAAE,kBAAkB,GAAG,SAAS,GACxC,cAAc,CAEhB"}
1
+ {"version":3,"file":"apply-overrides.d.ts","sourceRoot":"","sources":["../../src/apply-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,YAAY,CAAC;AAGrE,OAAO,KAAK,EACV,kBAAkB,EAElB,UAAU,EAGX,MAAM,gBAAgB,CAAC;AAGxB,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAMF,wBAAgB,YAAY,CAAE,MAAM,EAAE,UAAU,GAAI,MAAM,CAEzD;AA4ND,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,kBAAkB,GAAG,SAAS,GACxC,oBAAoB,CAoDtB;AAED,wBAAgB,cAAc,CAC5B,SAAS,EAAE,cAAc,GAAG,SAAS,EACrC,SAAS,EAAE,kBAAkB,GAAG,SAAS,GACxC,cAAc,CAEhB"}
@@ -227,7 +227,8 @@ export function applyOverrides(graph, diagnostics, overrides) {
227
227
  schemaVersion: graph.schemaVersion,
228
228
  subdomains: [...new Set(nodes.map(node => node.subdomain))].sort(),
229
229
  nodes,
230
- edges
230
+ edges,
231
+ ...(graph.typeWords !== undefined ? { typeWords: graph.typeWords } : {})
231
232
  },
232
233
  diagnostics: merged
233
234
  };
@@ -1 +1 @@
1
- {"version":3,"file":"apply-overrides.js","sourceRoot":"","sources":["../../src/apply-overrides.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-overrides.js","sourceRoot":"","sources":["../../src/apply-overrides.ts"],"names":[],"mappings":"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"}
@@ -36,10 +36,22 @@ export type ModifiableNodeFields = {
36
36
  generic: boolean;
37
37
  };
38
38
  export declare const MODIFIABLE_NODE_FIELDS: readonly (keyof ModifiableNodeFields)[];
39
+ /**
40
+ * A change the design makes to an element that already exists. `set` overwrites the listed fields; a modify whose
41
+ * `set` is empty marks the element edited for a change no field holds (a command's data schema, an aggregate's logic,
42
+ * a policy, an event's payload), and its `note` describes that change — validateDesign refuses one with neither.
43
+ */
39
44
  export type ModifyEntry = DesignAttribution & {
40
45
  id: string;
41
46
  set: Partial<ModifiableNodeFields>;
42
47
  };
48
+ /** Whether a modify changes none of the fields, so it only declares the change its note describes. */
49
+ export declare const isNoteOnlyModify: (entry: Pick<ModifyEntry, "set">) => boolean;
50
+ /**
51
+ * The note an element carries once a further entry's note lands on it: both, one line each, so a second modify of
52
+ * the same element never loses the first's description; a note it already carries is not repeated.
53
+ */
54
+ export declare function joinedNote(prior: string | undefined, next: string | undefined): string | undefined;
43
55
  export type RemoveEntry = DesignAttribution & ({
44
56
  kind: 'node';
45
57
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../src/design.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../src/design.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,19 @@ export const MODIFIABLE_NODE_FIELDS = [
8
8
  'errorCodes',
9
9
  'generic'
10
10
  ];
11
+ /** Whether a modify changes none of the fields, so it only declares the change its note describes. */
12
+ export const isNoteOnlyModify = (entry) => Object.keys(entry.set ?? {}).length === 0;
13
+ /**
14
+ * The note an element carries once a further entry's note lands on it: both, one line each, so a second modify of
15
+ * the same element never loses the first's description; a note it already carries is not repeated.
16
+ */
17
+ export function joinedNote(prior, next) {
18
+ if (next === undefined || next.trim() === '')
19
+ return prior;
20
+ if (prior === undefined || prior.trim() === '')
21
+ return next;
22
+ return prior.split('\n').includes(next) ? prior : `${prior}\n${next}`;
23
+ }
11
24
  /**
12
25
  * The impact map's own general channel. `null` stays the eventstorming board's (and every pre-split
13
26
  * board-wide comment's) general channel; a board-wide remark made on the map is anchored here instead,
@@ -1 +1 @@
1
- {"version":3,"file":"design.js","sourceRoot":"","sources":["../../src/design.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design.js","sourceRoot":"","sources":["../../src/design.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /** The id a `<subdomain>:<type>:<slug>` reference names, when it is one of `known`; otherwise undefined. */
2
+ export declare function canonicalEndpoint(endpoint: string, known: ReadonlySet<string>): string | undefined;
3
+ type EndpointField = 'from' | 'to' | 'handlers';
4
+ /** An endpoint that names no node: which edge, which field, and the proposed ids closest to it. */
5
+ export type UnresolvedEndpoint = {
6
+ edge: number;
7
+ field: EndpointField;
8
+ endpoint: string;
9
+ closest: string[];
10
+ };
11
+ /** Up to `count` of `ids`, nearest `endpoint` first. */
12
+ export declare function closestIds(endpoint: string, ids: Iterable<string>, count?: number): string[];
13
+ /**
14
+ * Judges each edge's endpoints (from, to and handlers) at the door. An endpoint stands when it is a proposed id or a
15
+ * node of `graph`; a reference to one is rewritten to its id. With no graph, an endpoint shaped as a node id stands as a
16
+ * reference to code, as before. Anything else is unresolved, with the proposed ids closest to it. A non-string endpoint
17
+ * is left to the design's own validation.
18
+ */
19
+ export declare function resolveEdgeEndpoints<Edge extends {
20
+ from?: unknown;
21
+ to?: unknown;
22
+ handlers?: unknown;
23
+ }>(edges: readonly Edge[], { proposed, graph }: {
24
+ proposed: ReadonlySet<string>;
25
+ graph?: ReadonlySet<string>;
26
+ }): {
27
+ edges: Edge[];
28
+ unresolved: UnresolvedEndpoint[];
29
+ };
30
+ /** The refusal message for unresolved endpoints, naming each and the proposed ids closest to it. */
31
+ export declare function unresolvedEndpointsMessage(unresolved: readonly UnresolvedEndpoint[]): string;
32
+ export {};
33
+ //# sourceMappingURL=edge-endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge-endpoints.d.ts","sourceRoot":"","sources":["../../src/edge-endpoints.ts"],"names":[],"mappings":"AAYA,4GAA4G;AAC5G,wBAAgB,iBAAiB,CAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAI,MAAM,GAAG,SAAS,CAQpG;AAED,KAAK,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC;AAEhD,mGAAmG;AACnG,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAa7G,wDAAwD;AACxD,wBAAgB,UAAU,CAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,SAAI,GAAI,MAAM,EAAE,CAOzF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,SAAS;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACpG,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,GAClF;IAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAAC,UAAU,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAoBrD;AAED,oGAAoG;AACpG,wBAAgB,0BAA0B,CAAE,UAAU,EAAE,SAAS,kBAAkB,EAAE,GAAI,MAAM,CAM9F"}
@@ -0,0 +1,77 @@
1
+ import { nodeId, parseNodeId } from './graph.js';
2
+ import { NODE_TYPE_BY_ABBREV, NODE_TYPES } from './nodes.js';
3
+ /**
4
+ * Edge endpoints are node ids (`<subdomain>_<abbrev>_<slug>`, as `proposedNodeId` derives them). A design agent can
5
+ * instead write a reference, `<subdomain>:<type>:<slug>`, which names the same node but matches no id, so the edge
6
+ * dangles. These resolve such a reference to the id it names, and judge an endpoint at the door.
7
+ */
8
+ const typeOf = (segment) => NODE_TYPES.includes(segment) ? segment : NODE_TYPE_BY_ABBREV[segment];
9
+ /** The id a `<subdomain>:<type>:<slug>` reference names, when it is one of `known`; otherwise undefined. */
10
+ export function canonicalEndpoint(endpoint, known) {
11
+ const segments = endpoint.split(':');
12
+ if (segments.length !== 3)
13
+ return undefined;
14
+ const [subdomain, segment, slug] = segments;
15
+ const type = typeOf(segment.trim().toLowerCase());
16
+ if (type === undefined || subdomain.trim() === '' || slug.trim() === '')
17
+ return undefined;
18
+ const id = nodeId(subdomain, type, slug);
19
+ return known.has(id) ? id : undefined;
20
+ }
21
+ const distance = (a, b) => {
22
+ let previous = Array.from({ length: b.length + 1 }, (_value, index) => index);
23
+ for (let i = 1; i <= a.length; i++) {
24
+ const row = [i];
25
+ for (let j = 1; j <= b.length; j++)
26
+ row[j] = Math.min(previous[j] + 1, row[j - 1] + 1, previous[j - 1] + (a[i - 1] === b[j - 1] ? 0 : 1));
27
+ previous = row;
28
+ }
29
+ return previous[b.length];
30
+ };
31
+ /** Up to `count` of `ids`, nearest `endpoint` first. */
32
+ export function closestIds(endpoint, ids, count = 3) {
33
+ const probe = endpoint.toLowerCase().replace(/:/g, '_');
34
+ return [...ids]
35
+ .map(id => ({ id, at: distance(probe, id) }))
36
+ .sort((a, b) => a.at - b.at || a.id.localeCompare(b.id))
37
+ .slice(0, count)
38
+ .map(entry => entry.id);
39
+ }
40
+ /**
41
+ * Judges each edge's endpoints (from, to and handlers) at the door. An endpoint stands when it is a proposed id or a
42
+ * node of `graph`; a reference to one is rewritten to its id. With no graph, an endpoint shaped as a node id stands as a
43
+ * reference to code, as before. Anything else is unresolved, with the proposed ids closest to it. A non-string endpoint
44
+ * is left to the design's own validation.
45
+ */
46
+ export function resolveEdgeEndpoints(edges, { proposed, graph }) {
47
+ const known = graph === undefined ? proposed : new Set([...proposed, ...graph]);
48
+ const unresolved = [];
49
+ const resolved = edges.map((edge, index) => {
50
+ const judge = (endpoint, field) => {
51
+ if (typeof endpoint !== 'string' || known.has(endpoint))
52
+ return endpoint;
53
+ const id = canonicalEndpoint(endpoint, known);
54
+ if (id !== undefined)
55
+ return id;
56
+ if (graph === undefined && parseNodeId(endpoint) !== undefined)
57
+ return endpoint;
58
+ unresolved.push({ edge: index, field, endpoint, closest: closestIds(endpoint, proposed) });
59
+ return endpoint;
60
+ };
61
+ return {
62
+ ...edge,
63
+ ...('from' in edge ? { from: judge(edge.from, 'from') } : {}),
64
+ ...('to' in edge ? { to: judge(edge.to, 'to') } : {}),
65
+ ...(Array.isArray(edge.handlers) ? { handlers: edge.handlers.map(handler => judge(handler, 'handlers')) } : {})
66
+ };
67
+ });
68
+ return { edges: resolved, unresolved };
69
+ }
70
+ /** The refusal message for unresolved endpoints, naming each and the proposed ids closest to it. */
71
+ export function unresolvedEndpointsMessage(unresolved) {
72
+ const each = unresolved.map(({ edge, field, endpoint, closest }) => `edges[${edge}].${field} ${JSON.stringify(endpoint)}`
73
+ + (closest.length > 0 ? ` (closest proposed: ${closest.join(', ')})` : ''));
74
+ return `refusing the whole propose batch: ${each.join('; ')} names no node. An edge endpoint is a node id, `
75
+ + '`<subdomain>_<abbrev>_<slug>` as the propose call returns it in nodeIds, of a node this design proposes or of the code graph.';
76
+ }
77
+ //# sourceMappingURL=edge-endpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge-endpoints.js","sourceRoot":"","sources":["../../src/edge-endpoints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { DesignFile } from './design.js';
2
+ import type { MapFile } from './map-structure.js';
3
+ /**
4
+ * The effective design: the design as its consumers read it, with every modify and removal that targets one of the
5
+ * design's own proposals folded into the proposals. A modify of a proposed node edits the proposal, and when it sets the
6
+ * label or subdomain the proposal's derived id moves with it, so every edge, handler scope, comment anchor and map
7
+ * reference to the old id follows. A removal of a proposed node or edge drops it, with every proposed edge touching a
8
+ * dropped node. An edge endpoint written as a `<subdomain>:<type>:<slug>` reference to a proposal is read as that
9
+ * proposal's id; an endpoint naming nothing stays as it is. Modifies and removals of code (graph) elements stay as they are. The session's op history is never
10
+ * folded: this is an export, for the bundle's design.json and map.json and for blueprint.md.
11
+ */
12
+ export type EffectiveDesign = {
13
+ design: DesignFile;
14
+ map: MapFile;
15
+ /** Each proposed node id a modify moved, to the id it ends at. */
16
+ renamed: ReadonlyMap<string, string>;
17
+ /** Each proposed node id a removal dropped, as it read when dropped. */
18
+ dropped: ReadonlySet<string>;
19
+ };
20
+ export declare function effectiveDesignOf(design: DesignFile, map: MapFile): EffectiveDesign;
21
+ //# sourceMappingURL=effective-design.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effective-design.d.ts","sourceRoot":"","sources":["../../src/effective-design.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,UAAU,EAMX,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAgB,OAAO,EAAkB,MAAM,oBAAoB,CAAC;AAEhF;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,kEAAkE;IAClE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,wEAAwE;IACxE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9B,CAAC;AAuDF,wBAAgB,iBAAiB,CAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,GAAI,eAAe,CAqGrF"}
@@ -0,0 +1,169 @@
1
+ import { isCommentIdAnchor, joinedNote } from './design.js';
2
+ import { proposedNodeId } from './apply-design.js';
3
+ import { canonicalEndpoint } from './edge-endpoints.js';
4
+ const edgeKey = (edge) => `${edge.from}|${edge.to}|${edge.kind}`;
5
+ // A modify's note folds in beside the proposal's own, so a note-only modify of a proposal is never lost.
6
+ function withSet(node, set, note) {
7
+ const next = { ...node };
8
+ const joined = joinedNote(node.note, note);
9
+ if (joined !== undefined)
10
+ next.note = joined;
11
+ if (set.label !== undefined)
12
+ next.label = set.label;
13
+ if (set.subdomain !== undefined)
14
+ next.subdomain = set.subdomain;
15
+ if (set.resourceKey !== undefined)
16
+ next.resourceKey = set.resourceKey;
17
+ if (set.queries !== undefined)
18
+ next.queries = set.queries;
19
+ if (set.rule !== undefined)
20
+ next.rule = set.rule;
21
+ if (set.errorCodes !== undefined)
22
+ next.errorCodes = [...set.errorCodes];
23
+ if (set.generic !== undefined)
24
+ next.generic = set.generic;
25
+ return next;
26
+ }
27
+ function anchorOf(anchor, idOf) {
28
+ if (anchor === null || anchor === undefined || isCommentIdAnchor(anchor))
29
+ return anchor;
30
+ if (typeof anchor === 'string')
31
+ return idOf(anchor);
32
+ return { ...anchor, from: idOf(anchor.from), to: idOf(anchor.to) };
33
+ }
34
+ function kpiOf(kpi, idOf) {
35
+ if (kpi.mode !== 'define' || kpi.definition.source.kind !== 'events')
36
+ return kpi;
37
+ const side = (events) => ({
38
+ ...events, esIds: events.esIds.flatMap(id => idOf(id) ?? [])
39
+ });
40
+ const { numerator, denominator } = kpi.definition.source;
41
+ return {
42
+ ...kpi,
43
+ definition: {
44
+ ...kpi.definition,
45
+ source: { ...kpi.definition.source, numerator: side(numerator), ...(denominator === undefined ? {} : { denominator: side(denominator) }) }
46
+ }
47
+ };
48
+ }
49
+ /** The map with each element id rewritten by `idOf`, and each reference to an element `idOf` drops (undefined) left out. */
50
+ function mapOf(map, idOf) {
51
+ const linked = (entries) => entries.flatMap(entry => {
52
+ const esId = idOf(entry.esId);
53
+ return esId === undefined ? [] : [{ ...entry, esId }];
54
+ });
55
+ return {
56
+ ...map,
57
+ links: linked(map.links),
58
+ coverage: linked(map.coverage),
59
+ observations: map.observations.map(observation => ({ ...observation, kpi: kpiOf(observation.kpi, idOf) })),
60
+ ...(map.review === undefined ? {} : { review: linked(map.review) })
61
+ };
62
+ }
63
+ export function effectiveDesignOf(design, map) {
64
+ const nodes = (design.propose?.nodes ?? []).map(node => ({ ...node }));
65
+ // Each live proposal's current id, to its index in `nodes`; the first proposal of an id is the one applyDesign keeps.
66
+ const live = new Map();
67
+ nodes.forEach((node, index) => {
68
+ const id = proposedNodeId(node);
69
+ if (!live.has(id))
70
+ live.set(id, index);
71
+ });
72
+ const proposedIds = new Set(live.keys());
73
+ const renamed = new Map();
74
+ const resolve = (id) => renamed.get(id) ?? id;
75
+ // An endpoint is resolved from the id it names as written, so a reference first becomes the id it was proposed as.
76
+ const endpoint = (id) => resolve(canonicalEndpoint(id, proposedIds) ?? id);
77
+ const modify = [];
78
+ for (const entry of design.modify ?? []) {
79
+ const id = resolve(entry.id);
80
+ const index = live.get(id);
81
+ if (index === undefined) {
82
+ modify.push(entry);
83
+ continue;
84
+ }
85
+ nodes[index] = withSet(nodes[index], entry.set ?? {}, entry.note);
86
+ const next = proposedNodeId(nodes[index]);
87
+ if (next === id)
88
+ continue;
89
+ live.delete(id);
90
+ if (!live.has(next))
91
+ live.set(next, index);
92
+ for (const [from, to] of renamed)
93
+ if (to === id)
94
+ renamed.set(from, next);
95
+ renamed.set(id, next);
96
+ }
97
+ const droppedNodes = new Set();
98
+ const dropped = new Set();
99
+ const writtenEdges = design.propose?.edges ?? [];
100
+ const proposedEdges = writtenEdges.map(edge => ({
101
+ ...edge,
102
+ from: endpoint(edge.from),
103
+ to: endpoint(edge.to),
104
+ ...(edge.handlers === undefined ? {} : { handlers: edge.handlers.map(endpoint) })
105
+ }));
106
+ // A removal drops the proposals it names as written; only when none is written so does it drop by the resolved
107
+ // endpoints. So removing a reference-form edge never also drops its correctly written twin.
108
+ const writtenKeys = writtenEdges.map(edge => edgeKey({ from: resolve(edge.from), to: resolve(edge.to), kind: edge.kind }));
109
+ const resolvedKeys = proposedEdges.map(edgeKey);
110
+ const droppedEdges = new Set();
111
+ const remove = [];
112
+ for (const entry of design.remove ?? []) {
113
+ if (entry.kind === 'node') {
114
+ const id = resolve(entry.id);
115
+ const index = live.get(id);
116
+ if (index === undefined) {
117
+ remove.push(entry);
118
+ continue;
119
+ }
120
+ live.delete(id);
121
+ droppedNodes.add(index);
122
+ dropped.add(id);
123
+ continue;
124
+ }
125
+ const written = edgeKey({ from: resolve(entry.from), to: resolve(entry.to), kind: entry.edgeKind });
126
+ const resolved = edgeKey({ from: endpoint(entry.from), to: endpoint(entry.to), kind: entry.edgeKind });
127
+ const asWritten = writtenKeys.flatMap((key, index) => key === written ? [index] : []);
128
+ const matched = asWritten.length > 0 ? asWritten : resolvedKeys.flatMap((key, index) => key === resolved ? [index] : []);
129
+ if (matched.length > 0)
130
+ matched.forEach(index => droppedEdges.add(index));
131
+ else
132
+ remove.push(entry);
133
+ }
134
+ const kept = new Set();
135
+ const edges = proposedEdges.flatMap((edge, index) => {
136
+ const key = edgeKey(edge);
137
+ if (droppedEdges.has(index) || dropped.has(edge.from) || dropped.has(edge.to) || kept.has(key))
138
+ return [];
139
+ kept.add(key);
140
+ if (edge.handlers === undefined)
141
+ return [edge];
142
+ const { handlers, ...artifactWide } = edge;
143
+ const scoped = handlers.filter(handler => !dropped.has(handler));
144
+ return [scoped.length > 0 ? { ...artifactWide, handlers: scoped } : artifactWide];
145
+ });
146
+ const proposedNodes = nodes.filter((_node, index) => !droppedNodes.has(index));
147
+ const comments = design.comments?.map(comment => ({ ...comment, anchor: anchorOf(comment.anchor, resolve) }));
148
+ const folds = {
149
+ propose: {
150
+ ...(design.propose?.nodes === undefined ? {} : { nodes: proposedNodes }),
151
+ ...(design.propose?.edges === undefined ? {} : { edges })
152
+ },
153
+ modify,
154
+ remove,
155
+ comments
156
+ };
157
+ // Each key where the design holds it, in its order, so the exported file differs from the replay only where it folds.
158
+ const folded = Object.fromEntries(Object.entries(design).map(([key, value]) => [key, key in folds ? folds[key] : value]));
159
+ return {
160
+ design: folded,
161
+ map: mapOf(map, id => {
162
+ const at = resolve(id);
163
+ return dropped.has(at) ? undefined : at;
164
+ }),
165
+ renamed,
166
+ dropped
167
+ };
168
+ }
169
+ //# sourceMappingURL=effective-design.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effective-design.js","sourceRoot":"","sources":["../../src/effective-design.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,40 @@
1
1
  import type { BlueprintEdge } from './edges.js';
2
2
  import { type BlueprintNode, type NodeType } from './nodes.js';
3
3
  export type SchemaVersion = 1;
4
+ /**
5
+ * The type words a repository's code names end in, by node type, as the repository declares them
6
+ * (`{ "aggregate": "Aggregate" }`). They are the repository's convention, never Blueprint's: its
7
+ * extractor writes them on the graph, and Blueprint tolerates exactly those. A label carries no type
8
+ * word by guarantee, so a node proposed as `Greeter` is realized by the code named `GreeterAggregate`
9
+ * ({@link codeNodeId}).
10
+ */
11
+ export type TypeWords = Partial<Record<NodeType, string>>;
4
12
  export type BlueprintGraph = {
5
13
  schemaVersion: SchemaVersion;
6
14
  subdomains: string[];
7
15
  nodes: BlueprintNode[];
8
16
  edges: BlueprintEdge[];
17
+ typeWords?: TypeWords;
9
18
  };
10
19
  export declare function emptyGraph(): BlueprintGraph;
11
20
  export declare function slugify(label: string): string;
12
21
  export declare function nodeId(subdomain: string, type: NodeType, label: string): string;
22
+ /** The type words a graph carries, each a string with a letter or digit; anything else in the field is ignored. */
23
+ export declare function typeWordsOf(graph: Pick<BlueprintGraph, 'typeWords'>): TypeWords | undefined;
24
+ /**
25
+ * The name the code of a node labelled `label` carries when its type's word is `word`: the label
26
+ * without the word it may end in, in PascalCase, then the word once. `Greeter` and `Greeter
27
+ * Aggregate` are both `GreeterAggregate`. The label ends in the word when its last letters and
28
+ * digits spell it, case and anything between them aside (`Orders Read Model` ends in `Readmodel`);
29
+ * a label that is nothing but the word keeps it.
30
+ */
31
+ export declare function codeName(label: string, word: string): string;
32
+ /**
33
+ * The id the code of a node proposed as (`subdomain`, `type`, `label`) extracts to when the
34
+ * repository declares a type word for `type`: the id of its {@link codeName}. `undefined` when the
35
+ * repository declares none for the type, so a proposal is realized by its own id alone.
36
+ */
37
+ export declare function codeNodeId(subdomain: string, type: NodeType, label: string, typeWords: TypeWords | undefined): string | undefined;
13
38
  export type ParsedNodeId = {
14
39
  subdomain: string;
15
40
  type: NodeType;