@primmel/primmel 1.10.0 → 1.11.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 (71) hide show
  1. package/dist/src/check-rules.d.ts.map +1 -1
  2. package/dist/src/check-rules.js +11 -0
  3. package/dist/src/check-rules.js.map +1 -1
  4. package/dist/src/check.d.ts.map +1 -1
  5. package/dist/src/check.js +102 -0
  6. package/dist/src/check.js.map +1 -1
  7. package/dist/src/ser-des/config/decisionRule.d.ts +5 -0
  8. package/dist/src/ser-des/config/decisionRule.d.ts.map +1 -0
  9. package/dist/src/ser-des/config/decisionRule.js +357 -0
  10. package/dist/src/ser-des/config/decisionRule.js.map +1 -0
  11. package/dist/src/ser-des/config/declaration.d.ts +9 -0
  12. package/dist/src/ser-des/config/declaration.d.ts.map +1 -0
  13. package/dist/src/ser-des/config/declaration.js +288 -0
  14. package/dist/src/ser-des/config/declaration.js.map +1 -0
  15. package/dist/src/ser-des/config/frameworkDocument.d.ts +9 -0
  16. package/dist/src/ser-des/config/frameworkDocument.d.ts.map +1 -0
  17. package/dist/src/ser-des/config/frameworkDocument.js +254 -0
  18. package/dist/src/ser-des/config/frameworkDocument.js.map +1 -0
  19. package/dist/src/ser-des/config/governanceOrgan.d.ts +5 -0
  20. package/dist/src/ser-des/config/governanceOrgan.d.ts.map +1 -0
  21. package/dist/src/ser-des/config/governanceOrgan.js +111 -0
  22. package/dist/src/ser-des/config/governanceOrgan.js.map +1 -0
  23. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  24. package/dist/src/ser-des/config/index.js +91 -0
  25. package/dist/src/ser-des/config/index.js.map +1 -1
  26. package/dist/src/ser-des/config/participantKind.d.ts +5 -0
  27. package/dist/src/ser-des/config/participantKind.d.ts.map +1 -0
  28. package/dist/src/ser-des/config/participantKind.js +329 -0
  29. package/dist/src/ser-des/config/participantKind.js.map +1 -0
  30. package/dist/src/ser-des/config/scheme.d.ts +7 -0
  31. package/dist/src/ser-des/config/scheme.d.ts.map +1 -0
  32. package/dist/src/ser-des/config/scheme.js +434 -0
  33. package/dist/src/ser-des/config/scheme.js.map +1 -0
  34. package/dist/src/ser-des/package.d.ts +3 -0
  35. package/dist/src/ser-des/package.d.ts.map +1 -1
  36. package/dist/src/ser-des/package.js +40 -5
  37. package/dist/src/ser-des/package.js.map +1 -1
  38. package/dist/src/ser-des/parse.d.ts.map +1 -1
  39. package/dist/src/ser-des/parse.js +12 -0
  40. package/dist/src/ser-des/parse.js.map +1 -1
  41. package/dist/src/ser-des/types.d.ts +19 -0
  42. package/dist/src/ser-des/types.d.ts.map +1 -1
  43. package/dist/src/types/DecisionRule.d.ts +84 -0
  44. package/dist/src/types/DecisionRule.d.ts.map +1 -0
  45. package/dist/src/types/DecisionRule.js +17 -0
  46. package/dist/src/types/DecisionRule.js.map +1 -0
  47. package/dist/src/types/Declaration.d.ts +68 -0
  48. package/dist/src/types/Declaration.d.ts.map +1 -0
  49. package/dist/src/types/Declaration.js +22 -0
  50. package/dist/src/types/Declaration.js.map +1 -0
  51. package/dist/src/types/FrameworkDocument.d.ts +57 -0
  52. package/dist/src/types/FrameworkDocument.d.ts.map +1 -0
  53. package/dist/src/types/FrameworkDocument.js +21 -0
  54. package/dist/src/types/FrameworkDocument.js.map +1 -0
  55. package/dist/src/types/GovernanceOrgan.d.ts +23 -0
  56. package/dist/src/types/GovernanceOrgan.d.ts.map +1 -0
  57. package/dist/src/types/GovernanceOrgan.js +14 -0
  58. package/dist/src/types/GovernanceOrgan.js.map +1 -0
  59. package/dist/src/types/ParticipantKind.d.ts +82 -0
  60. package/dist/src/types/ParticipantKind.d.ts.map +1 -0
  61. package/dist/src/types/ParticipantKind.js +22 -0
  62. package/dist/src/types/ParticipantKind.js.map +1 -0
  63. package/dist/src/types/Scheme.d.ts +99 -0
  64. package/dist/src/types/Scheme.d.ts.map +1 -0
  65. package/dist/src/types/Scheme.js +24 -0
  66. package/dist/src/types/Scheme.js.map +1 -0
  67. package/dist/src/types/Standard.d.ts +19 -0
  68. package/dist/src/types/Standard.d.ts.map +1 -1
  69. package/dist-browser/index.mjs +988 -177
  70. package/dist-cli/primmel.mjs +1713 -3
  71. package/package.json +1 -1
@@ -0,0 +1,434 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The scheme-architecture constructs (smart TODO.roadmap/40; the
4
+ // packages-as-SSOT epic) — B 18:2025 3.37/3.38, §5.4, clause 15:
5
+ //
6
+ // scheme_definition scheme_a {
7
+ // label "Scheme A"
8
+ // term "3.37"
9
+ // clause "5.4.3"
10
+ // definition "Advanced level of the OIML-CS where accreditation or
11
+ // peer assessment is used as the basis for demonstrating
12
+ // compliance."
13
+ // demonstration {
14
+ // method peer_evaluation
15
+ // clause "5.4.3.1"
16
+ // basis { accreditation peer_assessment }
17
+ // note "Compliance demonstrated by peer evaluation on the basis
18
+ // of an accreditation assessment or a peer assessment …"
19
+ // }
20
+ // source { doc "urn:oiml:pub:b:18:2025" clause "3.37" }
21
+ // }
22
+ //
23
+ // scheme_lifecycle category_scheme {
24
+ // applies_to instrument_category
25
+ // initial SCHEME_B
26
+ // entry {
27
+ // action category_included
28
+ // automatic true
29
+ // clause "15.1"
30
+ // conditions_ref auto_inclusion
31
+ // description "A category of measuring instrument … is
32
+ // automatically included in the OIML-CS in Scheme B when the
33
+ // conditions of §4.2 are met (§15.1) …"
34
+ // }
35
+ // transition SCHEME_B -> SCHEME_A action transition_period_elapsed {
36
+ // clause "15.2"
37
+ // description "Two years after inclusion in the OIML-CS, the
38
+ // category automatically transitions to Scheme A (§15.2) …"
39
+ // }
40
+ // trigger two-year-transition {
41
+ // kind timer
42
+ // action transition_period_elapsed
43
+ // window { years 2 }
44
+ // clause "15.2"
45
+ // deferrable true
46
+ // deferral_note "The Management Committee may propose to the CIML
47
+ // that a category does not automatically transition …"
48
+ // description "The two-year Scheme-B window opened by the
49
+ // category's inclusion …"
50
+ // }
51
+ // source { doc "urn:oiml:pub:b:18:2025" clause "15" }
52
+ // }
53
+ //
54
+ // The transition surface deliberately mirrors the state_machine grammar
55
+ // (`transition <From> -> <To> action <Action> { … }`).
56
+ // ─────────────────────────────────────────────────────────────────────
57
+ Object.defineProperty(exports, "__esModule", { value: true });
58
+ exports.dumpSchemeLifecycle = exports.parseSchemeLifecycle = exports.dumpSchemeDefinition = exports.parseSchemeDefinition = void 0;
59
+ const tokenize_1 = require("../tokenize");
60
+ const parse_block_1 = require("../parse-block");
61
+ const field_parser_1 = require("./field-parser");
62
+ function parseDemonstration(block) {
63
+ const demonstration = {
64
+ method: '',
65
+ clause: '',
66
+ basis: [],
67
+ note: '',
68
+ };
69
+ (0, parse_block_1.forEachEntry)(block, (keyword, value) => {
70
+ if (keyword === 'method') {
71
+ demonstration.method = (0, tokenize_1.stripWrapping)(value());
72
+ }
73
+ else if (keyword === 'clause') {
74
+ demonstration.clause = (0, tokenize_1.stripWrapping)(value());
75
+ }
76
+ else if (keyword === 'basis') {
77
+ demonstration.basis = (0, tokenize_1.tokenizePackage)((0, tokenize_1.unwrapBlock)(value())).filter(s => s.length > 0);
78
+ }
79
+ else if (keyword === 'note') {
80
+ demonstration.note = (0, tokenize_1.stripWrapping)(value());
81
+ }
82
+ else {
83
+ return false;
84
+ }
85
+ return true;
86
+ }, { construct: 'scheme_definition demonstration', id: '' });
87
+ return demonstration;
88
+ }
89
+ const parseSchemeDefinition = (id, data) => {
90
+ const scheme = {
91
+ id,
92
+ label: '',
93
+ term: '',
94
+ clause: '',
95
+ definition: '',
96
+ demonstration: null,
97
+ source: { doc: '', clause: '' },
98
+ };
99
+ (0, parse_block_1.forEachEntry)(data, (keyword, value) => {
100
+ if (keyword === 'label') {
101
+ scheme.label = (0, tokenize_1.stripWrapping)(value());
102
+ }
103
+ else if (keyword === 'term') {
104
+ scheme.term = (0, tokenize_1.stripWrapping)(value());
105
+ }
106
+ else if (keyword === 'clause') {
107
+ scheme.clause = (0, tokenize_1.stripWrapping)(value());
108
+ }
109
+ else if (keyword === 'definition') {
110
+ scheme.definition = (0, tokenize_1.stripWrapping)(value());
111
+ }
112
+ else if (keyword === 'demonstration') {
113
+ scheme.demonstration = parseDemonstration((0, tokenize_1.unwrapBlock)(value()));
114
+ }
115
+ else if (keyword === 'source') {
116
+ scheme.source = (0, field_parser_1.readSource)((0, tokenize_1.unwrapBlock)(value()));
117
+ }
118
+ else {
119
+ return false;
120
+ }
121
+ return true;
122
+ }, { construct: 'scheme_definition', id });
123
+ return ctx => {
124
+ ctx.schemeDefinitions[id] = scheme;
125
+ return ctx;
126
+ };
127
+ };
128
+ exports.parseSchemeDefinition = parseSchemeDefinition;
129
+ function dumpSourceBlock(src) {
130
+ let out = ' source {\n';
131
+ if (src.doc) {
132
+ out += ' doc "' + (0, tokenize_1.escapeString)(src.doc) + '"\n';
133
+ }
134
+ if (src.clause) {
135
+ out += ' clause "' + (0, tokenize_1.escapeString)(src.clause) + '"\n';
136
+ }
137
+ out += ' }\n';
138
+ return out;
139
+ }
140
+ const dumpSchemeDefinition = function (s) {
141
+ let out = 'scheme_definition ' + s.id + ' {\n';
142
+ if (s.label) {
143
+ out += ' label "' + (0, tokenize_1.escapeString)(s.label) + '"\n';
144
+ }
145
+ if (s.term) {
146
+ out += ' term "' + (0, tokenize_1.escapeString)(s.term) + '"\n';
147
+ }
148
+ if (s.clause) {
149
+ out += ' clause "' + (0, tokenize_1.escapeString)(s.clause) + '"\n';
150
+ }
151
+ if (s.definition) {
152
+ out += ' definition "' + (0, tokenize_1.escapeString)(s.definition) + '"\n';
153
+ }
154
+ if (s.demonstration) {
155
+ const d = s.demonstration;
156
+ out += ' demonstration {\n';
157
+ if (d.method) {
158
+ out += ' method ' + (0, field_parser_1.dumpBareSafe)(d.method) + '\n';
159
+ }
160
+ if (d.clause) {
161
+ out += ' clause "' + (0, tokenize_1.escapeString)(d.clause) + '"\n';
162
+ }
163
+ if (d.basis.length > 0) {
164
+ out += ' basis { ' + d.basis.map(field_parser_1.dumpBareSafe).join(' ') + ' }\n';
165
+ }
166
+ if (d.note) {
167
+ out += ' note "' + (0, tokenize_1.escapeString)(d.note) + '"\n';
168
+ }
169
+ out += ' }\n';
170
+ }
171
+ if (s.source.doc || s.source.clause) {
172
+ out += dumpSourceBlock(s.source);
173
+ }
174
+ out += '}\n';
175
+ return out;
176
+ };
177
+ exports.dumpSchemeDefinition = dumpSchemeDefinition;
178
+ function parseEntry(block) {
179
+ const entry = {
180
+ action: '',
181
+ automatic: false,
182
+ clause: '',
183
+ conditions_ref: '',
184
+ description: '',
185
+ };
186
+ (0, parse_block_1.forEachEntry)(block, (keyword, value) => {
187
+ if (keyword === 'action') {
188
+ entry.action = (0, tokenize_1.stripWrapping)(value());
189
+ }
190
+ else if (keyword === 'automatic') {
191
+ entry.automatic = value() === 'true';
192
+ }
193
+ else if (keyword === 'clause') {
194
+ entry.clause = (0, tokenize_1.stripWrapping)(value());
195
+ }
196
+ else if (keyword === 'conditions_ref') {
197
+ entry.conditions_ref = (0, tokenize_1.stripWrapping)(value());
198
+ }
199
+ else if (keyword === 'description') {
200
+ entry.description = (0, tokenize_1.stripWrapping)(value());
201
+ }
202
+ else {
203
+ return false;
204
+ }
205
+ return true;
206
+ }, { construct: 'scheme_lifecycle entry', id: '' });
207
+ return entry;
208
+ }
209
+ function parseTransition(block) {
210
+ const facets = {
211
+ clause: '',
212
+ decided_by: '',
213
+ on_proposal_of: '',
214
+ description: '',
215
+ };
216
+ (0, parse_block_1.forEachEntry)(block, (keyword, value) => {
217
+ if (keyword === 'clause') {
218
+ facets.clause = (0, tokenize_1.stripWrapping)(value());
219
+ }
220
+ else if (keyword === 'decided_by') {
221
+ facets.decided_by = (0, tokenize_1.stripWrapping)(value());
222
+ }
223
+ else if (keyword === 'on_proposal_of') {
224
+ facets.on_proposal_of = (0, tokenize_1.stripWrapping)(value());
225
+ }
226
+ else if (keyword === 'description') {
227
+ facets.description = (0, tokenize_1.stripWrapping)(value());
228
+ }
229
+ else {
230
+ return false;
231
+ }
232
+ return true;
233
+ }, { construct: 'scheme_lifecycle transition', id: '' });
234
+ return facets;
235
+ }
236
+ function parseTrigger(id, block) {
237
+ const trigger = {
238
+ id,
239
+ kind: '',
240
+ action: '',
241
+ windowYears: 0,
242
+ windowMonths: 0,
243
+ clause: '',
244
+ deferrable: false,
245
+ deferral_note: '',
246
+ description: '',
247
+ };
248
+ (0, parse_block_1.forEachEntry)(block, (keyword, value) => {
249
+ if (keyword === 'kind') {
250
+ trigger.kind = (0, tokenize_1.stripWrapping)(value());
251
+ }
252
+ else if (keyword === 'action') {
253
+ trigger.action = (0, tokenize_1.stripWrapping)(value());
254
+ }
255
+ else if (keyword === 'window') {
256
+ const wt = (0, tokenize_1.tokenizePackage)((0, tokenize_1.unwrapBlock)(value()));
257
+ for (let i = 0; i + 1 < wt.length; i += 2) {
258
+ if (wt[i] === 'years') {
259
+ trigger.windowYears = parseInt((0, tokenize_1.stripWrapping)(wt[i + 1]), 10) || 0;
260
+ }
261
+ else if (wt[i] === 'months') {
262
+ trigger.windowMonths = parseInt((0, tokenize_1.stripWrapping)(wt[i + 1]), 10) || 0;
263
+ }
264
+ }
265
+ }
266
+ else if (keyword === 'clause') {
267
+ trigger.clause = (0, tokenize_1.stripWrapping)(value());
268
+ }
269
+ else if (keyword === 'deferrable') {
270
+ trigger.deferrable = value() === 'true';
271
+ }
272
+ else if (keyword === 'deferral_note') {
273
+ trigger.deferral_note = (0, tokenize_1.stripWrapping)(value());
274
+ }
275
+ else if (keyword === 'description') {
276
+ trigger.description = (0, tokenize_1.stripWrapping)(value());
277
+ }
278
+ else {
279
+ return false;
280
+ }
281
+ return true;
282
+ }, { construct: 'scheme_lifecycle trigger', id });
283
+ return trigger;
284
+ }
285
+ const parseSchemeLifecycle = (id, data) => {
286
+ const lifecycle = {
287
+ id,
288
+ applies_to: '',
289
+ initial: '',
290
+ entry: null,
291
+ transitions: [],
292
+ triggers: [],
293
+ source: { doc: '', clause: '' },
294
+ };
295
+ (0, parse_block_1.forEachEntry)(data, (keyword, value, peek) => {
296
+ if (keyword === 'applies_to') {
297
+ lifecycle.applies_to = (0, tokenize_1.stripWrapping)(value());
298
+ }
299
+ else if (keyword === 'initial') {
300
+ lifecycle.initial = (0, tokenize_1.stripWrapping)(value());
301
+ }
302
+ else if (keyword === 'entry') {
303
+ lifecycle.entry = parseEntry((0, tokenize_1.unwrapBlock)(value()));
304
+ }
305
+ else if (keyword === 'transition') {
306
+ // transition <From> -> <To> action <ActionName> { … } — the
307
+ // state_machine surface, with framework facets in the block.
308
+ const from = (0, tokenize_1.stripWrapping)(value());
309
+ const arrow = peek();
310
+ if (arrow === undefined || (arrow !== '->' && arrow !== '→')) {
311
+ throw new Error(`Parsing error: scheme_lifecycle. ID ${id}: transition ${from} is missing its '->'`);
312
+ }
313
+ value(); // the arrow
314
+ const to = (0, tokenize_1.stripWrapping)(value());
315
+ let action = '';
316
+ if (peek() === 'action') {
317
+ value(); // 'action'
318
+ action = (0, tokenize_1.stripWrapping)(value());
319
+ }
320
+ const head = peek();
321
+ if (head === undefined || !head.startsWith('{')) {
322
+ throw new Error(`Parsing error: scheme_lifecycle. ID ${id}: transition ${from} -> ${to} is missing its block`);
323
+ }
324
+ const facets = parseTransition((0, tokenize_1.unwrapBlock)(value()));
325
+ lifecycle.transitions.push({ from, to, action, ...facets });
326
+ }
327
+ else if (keyword === 'trigger') {
328
+ const trigId = (0, tokenize_1.stripWrapping)(value());
329
+ const head = peek();
330
+ if (head === undefined || !head.startsWith('{')) {
331
+ throw new Error(`Parsing error: scheme_lifecycle. ID ${id}: trigger ${trigId} is missing its block`);
332
+ }
333
+ lifecycle.triggers.push(parseTrigger(trigId, (0, tokenize_1.unwrapBlock)(value())));
334
+ }
335
+ else if (keyword === 'source') {
336
+ lifecycle.source = (0, field_parser_1.readSource)((0, tokenize_1.unwrapBlock)(value()));
337
+ }
338
+ else {
339
+ return false;
340
+ }
341
+ return true;
342
+ }, { construct: 'scheme_lifecycle', id });
343
+ return ctx => {
344
+ ctx.schemeLifecycles[id] = lifecycle;
345
+ return ctx;
346
+ };
347
+ };
348
+ exports.parseSchemeLifecycle = parseSchemeLifecycle;
349
+ const dumpSchemeLifecycle = function (l) {
350
+ let out = 'scheme_lifecycle ' + l.id + ' {\n';
351
+ if (l.applies_to) {
352
+ out += ' applies_to ' + (0, field_parser_1.dumpBareSafe)(l.applies_to) + '\n';
353
+ }
354
+ if (l.initial) {
355
+ out += ' initial ' + (0, field_parser_1.dumpBareSafe)(l.initial) + '\n';
356
+ }
357
+ if (l.entry) {
358
+ const e = l.entry;
359
+ out += ' entry {\n';
360
+ if (e.action) {
361
+ out += ' action ' + (0, field_parser_1.dumpBareSafe)(e.action) + '\n';
362
+ }
363
+ out += ' automatic ' + (e.automatic ? 'true' : 'false') + '\n';
364
+ if (e.clause) {
365
+ out += ' clause "' + (0, tokenize_1.escapeString)(e.clause) + '"\n';
366
+ }
367
+ if (e.conditions_ref) {
368
+ out += ' conditions_ref ' + (0, field_parser_1.dumpBareSafe)(e.conditions_ref) + '\n';
369
+ }
370
+ if (e.description) {
371
+ out += ' description "' + (0, tokenize_1.escapeString)(e.description) + '"\n';
372
+ }
373
+ out += ' }\n';
374
+ }
375
+ for (const t of l.transitions) {
376
+ out += ' transition ' + (0, field_parser_1.dumpBareSafe)(t.from) + ' -> ' + (0, field_parser_1.dumpBareSafe)(t.to);
377
+ if (t.action) {
378
+ out += ' action ' + (0, field_parser_1.dumpBareSafe)(t.action);
379
+ }
380
+ out += ' {\n';
381
+ if (t.clause) {
382
+ out += ' clause "' + (0, tokenize_1.escapeString)(t.clause) + '"\n';
383
+ }
384
+ if (t.decided_by) {
385
+ out += ' decided_by ' + (0, field_parser_1.dumpBareSafe)(t.decided_by) + '\n';
386
+ }
387
+ if (t.on_proposal_of) {
388
+ out += ' on_proposal_of ' + (0, field_parser_1.dumpBareSafe)(t.on_proposal_of) + '\n';
389
+ }
390
+ if (t.description) {
391
+ out += ' description "' + (0, tokenize_1.escapeString)(t.description) + '"\n';
392
+ }
393
+ out += ' }\n';
394
+ }
395
+ for (const tr of l.triggers) {
396
+ out += ' trigger ' + (0, field_parser_1.dumpBareSafe)(tr.id) + ' {\n';
397
+ if (tr.kind) {
398
+ out += ' kind ' + (0, field_parser_1.dumpBareSafe)(tr.kind) + '\n';
399
+ }
400
+ if (tr.action) {
401
+ out += ' action ' + (0, field_parser_1.dumpBareSafe)(tr.action) + '\n';
402
+ }
403
+ if (tr.windowYears > 0 || tr.windowMonths > 0) {
404
+ let w = ' window {';
405
+ if (tr.windowYears > 0) {
406
+ w += ' years ' + tr.windowYears;
407
+ }
408
+ if (tr.windowMonths > 0) {
409
+ w += ' months ' + tr.windowMonths;
410
+ }
411
+ out += w + ' }\n';
412
+ }
413
+ if (tr.clause) {
414
+ out += ' clause "' + (0, tokenize_1.escapeString)(tr.clause) + '"\n';
415
+ }
416
+ if (tr.deferrable) {
417
+ out += ' deferrable true\n';
418
+ }
419
+ if (tr.deferral_note) {
420
+ out += ' deferral_note "' + (0, tokenize_1.escapeString)(tr.deferral_note) + '"\n';
421
+ }
422
+ if (tr.description) {
423
+ out += ' description "' + (0, tokenize_1.escapeString)(tr.description) + '"\n';
424
+ }
425
+ out += ' }\n';
426
+ }
427
+ if (l.source.doc || l.source.clause) {
428
+ out += dumpSourceBlock(l.source);
429
+ }
430
+ out += '}\n';
431
+ return out;
432
+ };
433
+ exports.dumpSchemeLifecycle = dumpSchemeLifecycle;
434
+ //# sourceMappingURL=scheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheme.js","sourceRoot":"","sources":["../../../../src/ser-des/config/scheme.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import Standard from '../types/Standard';
2
2
  import type { LoadOptions, LoadResult } from './index';
3
3
  import type { PackageManifest } from '../types/Package';
4
+ import type { ParseContext } from './types';
4
5
  export interface PackageFile {
5
6
  path: string;
6
7
  role: 'manifest' | 'content';
@@ -118,4 +119,6 @@ export declare class CompositionError extends Error {
118
119
  * `extends` (treated as one more uses entry), first occurrence wins.
119
120
  */
120
121
  export declare function effectiveUses(manifest: PackageManifest): string[];
122
+ /** The id-keyed ParseContext collections that merge across packages. */
123
+ export declare const MERGE_FIELDS: (keyof ParseContext)[];
121
124
  //# sourceMappingURL=package.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/ser-des/package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/ser-des/package.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@
23
23
  // untouched: same joined stream, same parse, same resolution.
24
24
  // ─────────────────────────────────────────────────────────────────────
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.CompositionError = void 0;
26
+ exports.MERGE_FIELDS = exports.CompositionError = void 0;
27
27
  exports.packageFiles = packageFiles;
28
28
  exports.loadPackage = loadPackage;
29
29
  exports.groupBySourceFile = groupBySourceFile;
@@ -300,7 +300,11 @@ function extendsDeprecationIssue(m) {
300
300
  };
301
301
  }
302
302
  /** The id-keyed ParseContext collections that merge across packages. */
303
- const MERGE_FIELDS = [
303
+ // The composition contract (TODO.roadmap/05): every id-keyed
304
+ // ParseContext collection MUST appear here — a missing field is
305
+ // silently dropped from `uses` composition. test/merge-fields.test.ts
306
+ // guards the equivalence at runtime.
307
+ exports.MERGE_FIELDS = [
304
308
  'approvals',
305
309
  'roles',
306
310
  'processes',
@@ -360,6 +364,37 @@ const MERGE_FIELDS = [
360
364
  // protection.
361
365
  'formulasUsed',
362
366
  'texts',
367
+ // The certification-framework registers (smart TODO.roadmap/40; the
368
+ // packages-as-SSOT epic) — the framework package's participant kinds
369
+ // and organs compose into every scheme-side model through `uses`.
370
+ 'participantKinds',
371
+ 'governanceOrgans',
372
+ 'declarationKinds',
373
+ 'declarationStatuses',
374
+ 'declarationGates',
375
+ 'schemeDefinitions',
376
+ 'schemeLifecycles',
377
+ 'frameworkDocuments',
378
+ 'documentPrecedences',
379
+ 'autoInclusions',
380
+ 'decisionRules',
381
+ // The pre-existing drift closed (the packages-as-SSOT epic): these
382
+ // collections existed as constructs but were never merged, so `uses`
383
+ // composition silently dropped them — comments, predicates, the
384
+ // artifact registers, the activity archetypes, connector profiles,
385
+ // monitors, passports, dataspaces, policies, and the top-level
386
+ // dimensions all compose with the same no-redefine semantics now.
387
+ 'comments',
388
+ 'predicates',
389
+ 'artifactDefinitions',
390
+ 'artifactInstances',
391
+ 'activityArchetypes',
392
+ 'connectorProfiles',
393
+ 'monitors',
394
+ 'passports',
395
+ 'dataspaces',
396
+ 'policies',
397
+ 'dimensions',
363
398
  ];
364
399
  /** Parse one package's content files (manifest excluded) as a single
365
400
  * stream, keeping each file's joined-stream range for provenance. */
@@ -435,11 +470,11 @@ function composePackage(rootDir, options, rootManifest, withProvenance = false)
435
470
  pkgChunks.set(id, parsed.chunks);
436
471
  }
437
472
  const provenance = new Map();
438
- for (const field of MERGE_FIELDS) {
473
+ for (const field of exports.MERGE_FIELDS) {
439
474
  provenance.set(field, new Map());
440
475
  }
441
476
  const acc = ctxs.get(order[0]);
442
- for (const field of MERGE_FIELDS) {
477
+ for (const field of exports.MERGE_FIELDS) {
443
478
  for (const key of Object.keys(acc[field])) {
444
479
  provenance.get(field).set(key, order[0]);
445
480
  }
@@ -480,7 +515,7 @@ function composePackage(rootDir, options, rootManifest, withProvenance = false)
480
515
  for (const id of order.slice(1)) {
481
516
  const next = ctxs.get(id);
482
517
  pinGuard(id, next);
483
- for (const field of MERGE_FIELDS) {
518
+ for (const field of exports.MERGE_FIELDS) {
484
519
  const target = acc[field];
485
520
  const pm = provenance.get(field);
486
521
  for (const [key, value] of Object.entries(next[field])) {
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/ser-des/package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/ser-des/package.ts"],"names":[],"mappings":"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"}