@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
@@ -158,6 +158,17 @@ function u(e, n, r = {}) {
158
158
  quantityRegisters: {},
159
159
  duals: {},
160
160
  activityArchetypes: {},
161
+ participantKinds: {},
162
+ governanceOrgans: {},
163
+ declarationKinds: {},
164
+ declarationStatuses: {},
165
+ declarationGates: {},
166
+ schemeDefinitions: {},
167
+ schemeLifecycles: {},
168
+ frameworkDocuments: {},
169
+ documentPrecedences: {},
170
+ autoInclusions: {},
171
+ decisionRules: {},
161
172
  connectorProfiles: {},
162
173
  monitors: {},
163
174
  passports: {},
@@ -7305,11 +7316,734 @@ var Ro = {
7305
7316
  return e.label && (t += " label \"" + s(e.label) + "\"\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.definition && (t += " definition \"" + s(e.definition) + "\"\n"), e.parent && (t += " parent " + N(e.parent) + "\n"), t += "}\n", t;
7306
7317
  };
7307
7318
  //#endregion
7319
+ //#region src/ser-des/config/participantKind.ts
7320
+ function Wo(e) {
7321
+ let t = {
7322
+ delegates_to: "",
7323
+ clause: "",
7324
+ note: ""
7325
+ };
7326
+ return v(e, (e, n) => {
7327
+ if (e === "delegates_to") t.delegates_to = a(n());
7328
+ else if (e === "clause") t.clause = a(n());
7329
+ else if (e === "note") t.note = a(n());
7330
+ else return !1;
7331
+ return !0;
7332
+ }, {
7333
+ construct: "participant_kind competence",
7334
+ id: ""
7335
+ }), t;
7336
+ }
7337
+ function Go(e) {
7338
+ let t = {
7339
+ decided_by: "",
7340
+ on_recommendation_of: "",
7341
+ procedure: "",
7342
+ clause: ""
7343
+ };
7344
+ return v(e, (e, n) => {
7345
+ if (e === "decided_by") t.decided_by = a(n());
7346
+ else if (e === "on_recommendation_of") t.on_recommendation_of = a(n());
7347
+ else if (e === "procedure") t.procedure = a(n());
7348
+ else if (e === "clause") t.clause = a(n());
7349
+ else return !1;
7350
+ return !0;
7351
+ }, {
7352
+ construct: "participant_kind approval",
7353
+ id: ""
7354
+ }), t;
7355
+ }
7356
+ function Ko(e, t) {
7357
+ let n = {
7358
+ id: e,
7359
+ label: "",
7360
+ term: "",
7361
+ definition: "",
7362
+ data_flag: "",
7363
+ acceptance: "",
7364
+ acceptance_note: ""
7365
+ };
7366
+ return v(t, (e, t) => {
7367
+ if (e === "label") n.label = a(t());
7368
+ else if (e === "term") n.term = a(t());
7369
+ else if (e === "definition") n.definition = a(t());
7370
+ else if (e === "data_flag") n.data_flag = a(t());
7371
+ else if (e === "acceptance") n.acceptance = a(t());
7372
+ else if (e === "acceptance_note") n.acceptance_note = a(t());
7373
+ else return !1;
7374
+ return !0;
7375
+ }, {
7376
+ construct: "participant_kind subkind",
7377
+ id: e
7378
+ }), n;
7379
+ }
7380
+ var qo = (e, t) => {
7381
+ let n = {
7382
+ id: e,
7383
+ label: "",
7384
+ term: "",
7385
+ clause: "",
7386
+ definition: "",
7387
+ member: "",
7388
+ competence: null,
7389
+ approval: null,
7390
+ approved_by: "",
7391
+ designated_by: "",
7392
+ declaration: "",
7393
+ admission: "",
7394
+ becomes: "",
7395
+ procedure: "",
7396
+ subkinds: [],
7397
+ source: {
7398
+ doc: "",
7399
+ clause: ""
7400
+ }
7401
+ };
7402
+ return v(t, (t, r, o) => {
7403
+ if (t === "label") n.label = a(r());
7404
+ else if (t === "term") n.term = a(r());
7405
+ else if (t === "clause") n.clause = a(r());
7406
+ else if (t === "definition") n.definition = a(r());
7407
+ else if (t === "member") n.member = a(r());
7408
+ else if (t === "competence") n.competence = Wo(i(r()));
7409
+ else if (t === "approval") n.approval = Go(i(r()));
7410
+ else if (t === "approved_by") n.approved_by = a(r());
7411
+ else if (t === "designated_by") n.designated_by = a(r());
7412
+ else if (t === "declaration") n.declaration = a(r());
7413
+ else if (t === "admission") n.admission = a(r());
7414
+ else if (t === "becomes") n.becomes = a(r());
7415
+ else if (t === "procedure") n.procedure = a(r());
7416
+ else if (t === "subkind") {
7417
+ let t = a(r()), s = o();
7418
+ if (s === void 0 || !s.startsWith("{")) throw Error(`Parsing error: participant_kind. ID ${e}: subkind ${t} is missing its block`);
7419
+ n.subkinds.push(Ko(t, i(r())));
7420
+ } else if (t === "source") n.source = I(i(r()));
7421
+ else return !1;
7422
+ return !0;
7423
+ }, {
7424
+ construct: "participant_kind",
7425
+ id: e
7426
+ }), (t) => (t.participantKinds[e] = n, t);
7427
+ };
7428
+ function Jo(e) {
7429
+ let t = " competence {\n";
7430
+ return e.delegates_to && (t += " delegates_to " + N(e.delegates_to) + "\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.note && (t += " note \"" + s(e.note) + "\"\n"), t += " }\n", t;
7431
+ }
7432
+ function Yo(e) {
7433
+ let t = " approval {\n";
7434
+ return e.decided_by && (t += " decided_by " + N(e.decided_by) + "\n"), e.on_recommendation_of && (t += " on_recommendation_of " + N(e.on_recommendation_of) + "\n"), e.procedure && (t += " procedure \"" + s(e.procedure) + "\"\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), t += " }\n", t;
7435
+ }
7436
+ function Xo(e) {
7437
+ let t = " subkind " + N(e.id) + " {\n";
7438
+ return e.label && (t += " label \"" + s(e.label) + "\"\n"), e.term && (t += " term \"" + s(e.term) + "\"\n"), e.definition && (t += " definition \"" + s(e.definition) + "\"\n"), e.data_flag && (t += " data_flag \"" + s(e.data_flag) + "\"\n"), e.acceptance && (t += " acceptance " + N(e.acceptance) + "\n"), e.acceptance_note && (t += " acceptance_note \"" + s(e.acceptance_note) + "\"\n"), t += " }\n", t;
7439
+ }
7440
+ var Zo = function(e) {
7441
+ let t = "participant_kind " + e.id + " {\n";
7442
+ e.label && (t += " label \"" + s(e.label) + "\"\n"), e.term && (t += " term \"" + s(e.term) + "\"\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.definition && (t += " definition \"" + s(e.definition) + "\"\n"), e.member && (t += " member " + N(e.member) + "\n"), e.competence && (t += Jo(e.competence)), e.approval && (t += Yo(e.approval)), e.approved_by && (t += " approved_by " + N(e.approved_by) + "\n"), e.designated_by && (t += " designated_by " + N(e.designated_by) + "\n"), e.declaration && (t += " declaration " + N(e.declaration) + "\n"), e.admission && (t += " admission \"" + s(e.admission) + "\"\n"), e.becomes && (t += " becomes " + N(e.becomes) + "\n"), e.procedure && (t += " procedure \"" + s(e.procedure) + "\"\n");
7443
+ for (let n of e.subkinds) t += Xo(n);
7444
+ return (e.source.doc || e.source.clause) && (t += " source {\n", e.source.doc && (t += " doc \"" + s(e.source.doc) + "\"\n"), e.source.clause && (t += " clause \"" + s(e.source.clause) + "\"\n"), t += " }\n"), t += "}\n", t;
7445
+ }, Qo = (e, t) => {
7446
+ let n = {
7447
+ id: e,
7448
+ label: "",
7449
+ term: "",
7450
+ clause: "",
7451
+ mandate: "",
7452
+ sub_committee_of: "",
7453
+ independent_of: "",
7454
+ source: {
7455
+ doc: "",
7456
+ clause: ""
7457
+ }
7458
+ };
7459
+ return v(t, (e, t) => {
7460
+ if (e === "label") n.label = a(t());
7461
+ else if (e === "term") n.term = a(t());
7462
+ else if (e === "clause") n.clause = a(t());
7463
+ else if (e === "mandate") n.mandate = a(t());
7464
+ else if (e === "sub_committee_of") n.sub_committee_of = a(t());
7465
+ else if (e === "independent_of") n.independent_of = a(t());
7466
+ else if (e === "source") n.source = I(i(t()));
7467
+ else return !1;
7468
+ return !0;
7469
+ }, {
7470
+ construct: "governance_organ",
7471
+ id: e
7472
+ }), (t) => (t.governanceOrgans[e] = n, t);
7473
+ }, $o = function(e) {
7474
+ let t = "governance_organ " + e.id + " {\n";
7475
+ return e.label && (t += " label \"" + s(e.label) + "\"\n"), e.term && (t += " term \"" + s(e.term) + "\"\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.mandate && (t += " mandate \"" + s(e.mandate) + "\"\n"), e.sub_committee_of && (t += " sub_committee_of " + N(e.sub_committee_of) + "\n"), e.independent_of && (t += " independent_of " + N(e.independent_of) + "\n"), (e.source.doc || e.source.clause) && (t += " source {\n", e.source.doc && (t += " doc \"" + s(e.source.doc) + "\"\n"), e.source.clause && (t += " clause \"" + s(e.source.clause) + "\"\n"), t += " }\n"), t += "}\n", t;
7476
+ };
7477
+ //#endregion
7478
+ //#region src/ser-des/config/declaration.ts
7479
+ function es(e, t) {
7480
+ let n = {
7481
+ id: e,
7482
+ clause: "",
7483
+ description: ""
7484
+ };
7485
+ return v(t, (e, t) => {
7486
+ if (e === "clause") n.clause = a(t());
7487
+ else if (e === "description") n.description = a(t());
7488
+ else return !1;
7489
+ return !0;
7490
+ }, {
7491
+ construct: "declaration_kind content",
7492
+ id: e
7493
+ }), n;
7494
+ }
7495
+ var ts = (e, t) => {
7496
+ let n = {
7497
+ id: e,
7498
+ label: "",
7499
+ holder: "",
7500
+ clause: "",
7501
+ procedure: "",
7502
+ definition: "",
7503
+ scope_model: "",
7504
+ scheme_a_obligation: "",
7505
+ content: [],
7506
+ source: {
7507
+ doc: "",
7508
+ clause: ""
7509
+ }
7510
+ };
7511
+ return v(t, (t, r, o) => {
7512
+ if (t === "label") n.label = a(r());
7513
+ else if (t === "holder") n.holder = a(r());
7514
+ else if (t === "clause") n.clause = a(r());
7515
+ else if (t === "procedure") n.procedure = a(r());
7516
+ else if (t === "definition") n.definition = a(r());
7517
+ else if (t === "scope_model") n.scope_model = a(r());
7518
+ else if (t === "scheme_a_obligation") n.scheme_a_obligation = a(r());
7519
+ else if (t === "content") {
7520
+ let t = a(r()), s = o();
7521
+ if (s === void 0 || !s.startsWith("{")) throw Error(`Parsing error: declaration_kind. ID ${e}: content ${t} is missing its block`);
7522
+ n.content.push(es(t, i(r())));
7523
+ } else if (t === "source") n.source = I(i(r()));
7524
+ else return !1;
7525
+ return !0;
7526
+ }, {
7527
+ construct: "declaration_kind",
7528
+ id: e
7529
+ }), (t) => (t.declarationKinds[e] = n, t);
7530
+ };
7531
+ function ns(e) {
7532
+ let t = " content " + N(e.id) + " {\n";
7533
+ return e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.description && (t += " description \"" + s(e.description) + "\"\n"), t += " }\n", t;
7534
+ }
7535
+ function rs(e) {
7536
+ let t = " source {\n";
7537
+ return e.doc && (t += " doc \"" + s(e.doc) + "\"\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), t += " }\n", t;
7538
+ }
7539
+ var is = function(e) {
7540
+ let t = "declaration_kind " + e.id + " {\n";
7541
+ e.label && (t += " label \"" + s(e.label) + "\"\n"), e.holder && (t += " holder " + N(e.holder) + "\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.procedure && (t += " procedure \"" + s(e.procedure) + "\"\n"), e.definition && (t += " definition \"" + s(e.definition) + "\"\n"), e.scope_model && (t += " scope_model " + N(e.scope_model) + "\n"), e.scheme_a_obligation && (t += " scheme_a_obligation \"" + s(e.scheme_a_obligation) + "\"\n");
7542
+ for (let n of e.content) t += ns(n);
7543
+ return (e.source.doc || e.source.clause) && (t += rs(e.source)), t += "}\n", t;
7544
+ }, as = (e, t) => {
7545
+ let n = {
7546
+ id: e,
7547
+ description: ""
7548
+ };
7549
+ return v(t, (e, t) => {
7550
+ if (e === "description") n.description = a(t());
7551
+ else return !1;
7552
+ return !0;
7553
+ }, {
7554
+ construct: "declaration_status",
7555
+ id: e
7556
+ }), (t) => (t.declarationStatuses[e] = n, t);
7557
+ }, os = function(e) {
7558
+ let t = "declaration_status " + e.id + " {\n";
7559
+ return e.description && (t += " description \"" + s(e.description) + "\"\n"), t += "}\n", t;
7560
+ }, ss = (e, t) => {
7561
+ let n = {
7562
+ id: e,
7563
+ clause: "",
7564
+ statement: "",
7565
+ holder: "",
7566
+ declaration: "",
7567
+ blocks: [],
7568
+ blocks_note: "",
7569
+ scope_checked: [],
7570
+ source: {
7571
+ doc: "",
7572
+ clause: ""
7573
+ }
7574
+ };
7575
+ return v(t, (e, t) => {
7576
+ if (e === "clause") n.clause = a(t());
7577
+ else if (e === "statement") n.statement = a(t());
7578
+ else if (e === "holder") n.holder = a(t());
7579
+ else if (e === "declaration") n.declaration = a(t());
7580
+ else if (e === "blocks") n.blocks = r(i(t())).filter((e) => e.length > 0);
7581
+ else if (e === "blocks_note") n.blocks_note = a(t());
7582
+ else if (e === "scope_checked") n.scope_checked = r(i(t())).filter((e) => e.length > 0);
7583
+ else if (e === "source") n.source = I(i(t()));
7584
+ else return !1;
7585
+ return !0;
7586
+ }, {
7587
+ construct: "declaration_gate",
7588
+ id: e
7589
+ }), (t) => (t.declarationGates[e] = n, t);
7590
+ }, cs = function(e) {
7591
+ let t = "declaration_gate " + e.id + " {\n";
7592
+ return e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.statement && (t += " statement \"" + s(e.statement) + "\"\n"), e.holder && (t += " holder " + N(e.holder) + "\n"), e.declaration && (t += " declaration " + N(e.declaration) + "\n"), e.blocks.length > 0 && (t += " blocks { " + e.blocks.map(N).join(" ") + " }\n"), e.blocks_note && (t += " blocks_note \"" + s(e.blocks_note) + "\"\n"), e.scope_checked.length > 0 && (t += " scope_checked { " + e.scope_checked.map(N).join(" ") + " }\n"), (e.source.doc || e.source.clause) && (t += rs(e.source)), t += "}\n", t;
7593
+ };
7594
+ //#endregion
7595
+ //#region src/ser-des/config/scheme.ts
7596
+ function ls(e) {
7597
+ let t = {
7598
+ method: "",
7599
+ clause: "",
7600
+ basis: [],
7601
+ note: ""
7602
+ };
7603
+ return v(e, (e, n) => {
7604
+ if (e === "method") t.method = a(n());
7605
+ else if (e === "clause") t.clause = a(n());
7606
+ else if (e === "basis") t.basis = r(i(n())).filter((e) => e.length > 0);
7607
+ else if (e === "note") t.note = a(n());
7608
+ else return !1;
7609
+ return !0;
7610
+ }, {
7611
+ construct: "scheme_definition demonstration",
7612
+ id: ""
7613
+ }), t;
7614
+ }
7615
+ var us = (e, t) => {
7616
+ let n = {
7617
+ id: e,
7618
+ label: "",
7619
+ term: "",
7620
+ clause: "",
7621
+ definition: "",
7622
+ demonstration: null,
7623
+ source: {
7624
+ doc: "",
7625
+ clause: ""
7626
+ }
7627
+ };
7628
+ return v(t, (e, t) => {
7629
+ if (e === "label") n.label = a(t());
7630
+ else if (e === "term") n.term = a(t());
7631
+ else if (e === "clause") n.clause = a(t());
7632
+ else if (e === "definition") n.definition = a(t());
7633
+ else if (e === "demonstration") n.demonstration = ls(i(t()));
7634
+ else if (e === "source") n.source = I(i(t()));
7635
+ else return !1;
7636
+ return !0;
7637
+ }, {
7638
+ construct: "scheme_definition",
7639
+ id: e
7640
+ }), (t) => (t.schemeDefinitions[e] = n, t);
7641
+ };
7642
+ function ds(e) {
7643
+ let t = " source {\n";
7644
+ return e.doc && (t += " doc \"" + s(e.doc) + "\"\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), t += " }\n", t;
7645
+ }
7646
+ var fs = function(e) {
7647
+ let t = "scheme_definition " + e.id + " {\n";
7648
+ if (e.label && (t += " label \"" + s(e.label) + "\"\n"), e.term && (t += " term \"" + s(e.term) + "\"\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.definition && (t += " definition \"" + s(e.definition) + "\"\n"), e.demonstration) {
7649
+ let n = e.demonstration;
7650
+ t += " demonstration {\n", n.method && (t += " method " + N(n.method) + "\n"), n.clause && (t += " clause \"" + s(n.clause) + "\"\n"), n.basis.length > 0 && (t += " basis { " + n.basis.map(N).join(" ") + " }\n"), n.note && (t += " note \"" + s(n.note) + "\"\n"), t += " }\n";
7651
+ }
7652
+ return (e.source.doc || e.source.clause) && (t += ds(e.source)), t += "}\n", t;
7653
+ };
7654
+ function ps(e) {
7655
+ let t = {
7656
+ action: "",
7657
+ automatic: !1,
7658
+ clause: "",
7659
+ conditions_ref: "",
7660
+ description: ""
7661
+ };
7662
+ return v(e, (e, n) => {
7663
+ if (e === "action") t.action = a(n());
7664
+ else if (e === "automatic") t.automatic = n() === "true";
7665
+ else if (e === "clause") t.clause = a(n());
7666
+ else if (e === "conditions_ref") t.conditions_ref = a(n());
7667
+ else if (e === "description") t.description = a(n());
7668
+ else return !1;
7669
+ return !0;
7670
+ }, {
7671
+ construct: "scheme_lifecycle entry",
7672
+ id: ""
7673
+ }), t;
7674
+ }
7675
+ function ms(e) {
7676
+ let t = {
7677
+ clause: "",
7678
+ decided_by: "",
7679
+ on_proposal_of: "",
7680
+ description: ""
7681
+ };
7682
+ return v(e, (e, n) => {
7683
+ if (e === "clause") t.clause = a(n());
7684
+ else if (e === "decided_by") t.decided_by = a(n());
7685
+ else if (e === "on_proposal_of") t.on_proposal_of = a(n());
7686
+ else if (e === "description") t.description = a(n());
7687
+ else return !1;
7688
+ return !0;
7689
+ }, {
7690
+ construct: "scheme_lifecycle transition",
7691
+ id: ""
7692
+ }), t;
7693
+ }
7694
+ function hs(e, t) {
7695
+ let n = {
7696
+ id: e,
7697
+ kind: "",
7698
+ action: "",
7699
+ windowYears: 0,
7700
+ windowMonths: 0,
7701
+ clause: "",
7702
+ deferrable: !1,
7703
+ deferral_note: "",
7704
+ description: ""
7705
+ };
7706
+ return v(t, (e, t) => {
7707
+ if (e === "kind") n.kind = a(t());
7708
+ else if (e === "action") n.action = a(t());
7709
+ else if (e === "window") {
7710
+ let e = r(i(t()));
7711
+ for (let t = 0; t + 1 < e.length; t += 2) e[t] === "years" ? n.windowYears = parseInt(a(e[t + 1]), 10) || 0 : e[t] === "months" && (n.windowMonths = parseInt(a(e[t + 1]), 10) || 0);
7712
+ } else if (e === "clause") n.clause = a(t());
7713
+ else if (e === "deferrable") n.deferrable = t() === "true";
7714
+ else if (e === "deferral_note") n.deferral_note = a(t());
7715
+ else if (e === "description") n.description = a(t());
7716
+ else return !1;
7717
+ return !0;
7718
+ }, {
7719
+ construct: "scheme_lifecycle trigger",
7720
+ id: e
7721
+ }), n;
7722
+ }
7723
+ var gs = (e, t) => {
7724
+ let n = {
7725
+ id: e,
7726
+ applies_to: "",
7727
+ initial: "",
7728
+ entry: null,
7729
+ transitions: [],
7730
+ triggers: [],
7731
+ source: {
7732
+ doc: "",
7733
+ clause: ""
7734
+ }
7735
+ };
7736
+ return v(t, (t, r, o) => {
7737
+ if (t === "applies_to") n.applies_to = a(r());
7738
+ else if (t === "initial") n.initial = a(r());
7739
+ else if (t === "entry") n.entry = ps(i(r()));
7740
+ else if (t === "transition") {
7741
+ let t = a(r()), s = o();
7742
+ if (s === void 0 || s !== "->" && s !== "→") throw Error(`Parsing error: scheme_lifecycle. ID ${e}: transition ${t} is missing its '->'`);
7743
+ r();
7744
+ let c = a(r()), l = "";
7745
+ o() === "action" && (r(), l = a(r()));
7746
+ let u = o();
7747
+ if (u === void 0 || !u.startsWith("{")) throw Error(`Parsing error: scheme_lifecycle. ID ${e}: transition ${t} -> ${c} is missing its block`);
7748
+ let d = ms(i(r()));
7749
+ n.transitions.push({
7750
+ from: t,
7751
+ to: c,
7752
+ action: l,
7753
+ ...d
7754
+ });
7755
+ } else if (t === "trigger") {
7756
+ let t = a(r()), s = o();
7757
+ if (s === void 0 || !s.startsWith("{")) throw Error(`Parsing error: scheme_lifecycle. ID ${e}: trigger ${t} is missing its block`);
7758
+ n.triggers.push(hs(t, i(r())));
7759
+ } else if (t === "source") n.source = I(i(r()));
7760
+ else return !1;
7761
+ return !0;
7762
+ }, {
7763
+ construct: "scheme_lifecycle",
7764
+ id: e
7765
+ }), (t) => (t.schemeLifecycles[e] = n, t);
7766
+ }, _s = function(e) {
7767
+ let t = "scheme_lifecycle " + e.id + " {\n";
7768
+ if (e.applies_to && (t += " applies_to " + N(e.applies_to) + "\n"), e.initial && (t += " initial " + N(e.initial) + "\n"), e.entry) {
7769
+ let n = e.entry;
7770
+ t += " entry {\n", n.action && (t += " action " + N(n.action) + "\n"), t += " automatic " + (n.automatic ? "true" : "false") + "\n", n.clause && (t += " clause \"" + s(n.clause) + "\"\n"), n.conditions_ref && (t += " conditions_ref " + N(n.conditions_ref) + "\n"), n.description && (t += " description \"" + s(n.description) + "\"\n"), t += " }\n";
7771
+ }
7772
+ for (let n of e.transitions) t += " transition " + N(n.from) + " -> " + N(n.to), n.action && (t += " action " + N(n.action)), t += " {\n", n.clause && (t += " clause \"" + s(n.clause) + "\"\n"), n.decided_by && (t += " decided_by " + N(n.decided_by) + "\n"), n.on_proposal_of && (t += " on_proposal_of " + N(n.on_proposal_of) + "\n"), n.description && (t += " description \"" + s(n.description) + "\"\n"), t += " }\n";
7773
+ for (let n of e.triggers) {
7774
+ if (t += " trigger " + N(n.id) + " {\n", n.kind && (t += " kind " + N(n.kind) + "\n"), n.action && (t += " action " + N(n.action) + "\n"), n.windowYears > 0 || n.windowMonths > 0) {
7775
+ let e = " window {";
7776
+ n.windowYears > 0 && (e += " years " + n.windowYears), n.windowMonths > 0 && (e += " months " + n.windowMonths), t += e + " }\n";
7777
+ }
7778
+ n.clause && (t += " clause \"" + s(n.clause) + "\"\n"), n.deferrable && (t += " deferrable true\n"), n.deferral_note && (t += " deferral_note \"" + s(n.deferral_note) + "\"\n"), n.description && (t += " description \"" + s(n.description) + "\"\n"), t += " }\n";
7779
+ }
7780
+ return (e.source.doc || e.source.clause) && (t += ds(e.source)), t += "}\n", t;
7781
+ };
7782
+ //#endregion
7783
+ //#region src/ser-des/config/frameworkDocument.ts
7784
+ function vs(e) {
7785
+ let t = " source {\n";
7786
+ return e.doc && (t += " doc \"" + s(e.doc) + "\"\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), t += " }\n", t;
7787
+ }
7788
+ var ys = (e, t) => {
7789
+ let n = {
7790
+ id: e,
7791
+ rank: 0,
7792
+ doc: "",
7793
+ title: "",
7794
+ approved_by: "",
7795
+ clause: "",
7796
+ note: "",
7797
+ source: {
7798
+ doc: "",
7799
+ clause: ""
7800
+ }
7801
+ };
7802
+ return v(t, (e, t) => {
7803
+ if (e === "rank") n.rank = parseInt(a(t()), 10) || 0;
7804
+ else if (e === "doc") n.doc = a(t());
7805
+ else if (e === "title") n.title = a(t());
7806
+ else if (e === "approved_by") n.approved_by = a(t());
7807
+ else if (e === "clause") n.clause = a(t());
7808
+ else if (e === "note") n.note = a(t());
7809
+ else if (e === "source") n.source = I(i(t()));
7810
+ else return !1;
7811
+ return !0;
7812
+ }, {
7813
+ construct: "framework_document",
7814
+ id: e
7815
+ }), (t) => (t.frameworkDocuments[e] = n, t);
7816
+ }, bs = function(e) {
7817
+ let t = "framework_document " + e.id + " {\n";
7818
+ return e.rank > 0 && (t += " rank " + e.rank + "\n"), e.doc && (t += " doc \"" + s(e.doc) + "\"\n"), e.title && (t += " title \"" + s(e.title) + "\"\n"), e.approved_by && (t += " approved_by " + N(e.approved_by) + "\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.note && (t += " note \"" + s(e.note) + "\"\n"), (e.source.doc || e.source.clause) && (t += vs(e.source)), t += "}\n", t;
7819
+ }, xs = (e, t) => {
7820
+ let n = {
7821
+ id: e,
7822
+ clause: "",
7823
+ statement: "",
7824
+ source: {
7825
+ doc: "",
7826
+ clause: ""
7827
+ }
7828
+ };
7829
+ return v(t, (e, t) => {
7830
+ if (e === "clause") n.clause = a(t());
7831
+ else if (e === "statement") n.statement = a(t());
7832
+ else if (e === "source") n.source = I(i(t()));
7833
+ else return !1;
7834
+ return !0;
7835
+ }, {
7836
+ construct: "document_precedence",
7837
+ id: e
7838
+ }), (t) => (t.documentPrecedences[e] = n, t);
7839
+ }, Ss = function(e) {
7840
+ let t = "document_precedence " + e.id + " {\n";
7841
+ return e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.statement && (t += " statement \"" + s(e.statement) + "\"\n"), (e.source.doc || e.source.clause) && (t += vs(e.source)), t += "}\n", t;
7842
+ };
7843
+ function Cs(e, t) {
7844
+ let n = {
7845
+ id: e,
7846
+ clause: "",
7847
+ description: ""
7848
+ };
7849
+ return v(t, (e, t) => {
7850
+ if (e === "clause") n.clause = a(t());
7851
+ else if (e === "description") n.description = a(t());
7852
+ else return !1;
7853
+ return !0;
7854
+ }, {
7855
+ construct: "auto_inclusion condition",
7856
+ id: e
7857
+ }), n;
7858
+ }
7859
+ var ws = (e, t) => {
7860
+ let n = {
7861
+ id: e,
7862
+ clause: "",
7863
+ statement: "",
7864
+ conditions: [],
7865
+ note: "",
7866
+ source: {
7867
+ doc: "",
7868
+ clause: ""
7869
+ }
7870
+ };
7871
+ return v(t, (t, r, o) => {
7872
+ if (t === "clause") n.clause = a(r());
7873
+ else if (t === "statement") n.statement = a(r());
7874
+ else if (t === "condition") {
7875
+ let t = a(r()), s = o();
7876
+ if (s === void 0 || !s.startsWith("{")) throw Error(`Parsing error: auto_inclusion. ID ${e}: condition ${t} is missing its block`);
7877
+ n.conditions.push(Cs(t, i(r())));
7878
+ } else if (t === "note") n.note = a(r());
7879
+ else if (t === "source") n.source = I(i(r()));
7880
+ else return !1;
7881
+ return !0;
7882
+ }, {
7883
+ construct: "auto_inclusion",
7884
+ id: e
7885
+ }), (t) => (t.autoInclusions[e] = n, t);
7886
+ }, Ts = function(e) {
7887
+ let t = "auto_inclusion " + e.id + " {\n";
7888
+ e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.statement && (t += " statement \"" + s(e.statement) + "\"\n");
7889
+ for (let n of e.conditions) t += " condition " + N(n.id) + " {\n", n.clause && (t += " clause \"" + s(n.clause) + "\"\n"), n.description && (t += " description \"" + s(n.description) + "\"\n"), t += " }\n";
7890
+ return e.note && (t += " note \"" + s(e.note) + "\"\n"), (e.source.doc || e.source.clause) && (t += vs(e.source)), t += "}\n", t;
7891
+ };
7892
+ //#endregion
7893
+ //#region src/ser-des/config/decisionRule.ts
7894
+ function Es(e) {
7895
+ let t = {
7896
+ threshold: 0,
7897
+ base: "",
7898
+ clause: "",
7899
+ description: ""
7900
+ };
7901
+ return v(e, (e, n) => {
7902
+ if (e === "threshold") t.threshold = parseFloat(a(n())) || 0;
7903
+ else if (e === "base") t.base = a(n());
7904
+ else if (e === "clause") t.clause = a(n());
7905
+ else if (e === "description") t.description = a(n());
7906
+ else return !1;
7907
+ return !0;
7908
+ }, {
7909
+ construct: "decision_rule voting rule",
7910
+ id: ""
7911
+ }), t;
7912
+ }
7913
+ function Ds(e) {
7914
+ let t = {
7915
+ in_meeting: 0,
7916
+ by_correspondence: "",
7917
+ description: ""
7918
+ };
7919
+ return v(e, (e, n) => {
7920
+ if (e === "in_meeting") t.in_meeting = parseFloat(a(n())) || 0;
7921
+ else if (e === "by_correspondence") t.by_correspondence = a(n());
7922
+ else if (e === "description") t.description = a(n());
7923
+ else return !1;
7924
+ return !0;
7925
+ }, {
7926
+ construct: "decision_rule other_proposals",
7927
+ id: ""
7928
+ }), t;
7929
+ }
7930
+ function Os(e) {
7931
+ let t = {
7932
+ in_meeting: null,
7933
+ by_correspondence: null,
7934
+ other_proposals: null,
7935
+ proxies_max: 0,
7936
+ abstentions: "",
7937
+ reason_on_against_or_abstain: !1
7938
+ };
7939
+ return v(e, (e, n) => {
7940
+ if (e === "in_meeting") t.in_meeting = Es(i(n()));
7941
+ else if (e === "by_correspondence") t.by_correspondence = Es(i(n()));
7942
+ else if (e === "other_proposals") t.other_proposals = Ds(i(n()));
7943
+ else if (e === "proxies_max") t.proxies_max = parseInt(a(n()), 10) || 0;
7944
+ else if (e === "abstentions") t.abstentions = a(n());
7945
+ else if (e === "reason_on_against_or_abstain") t.reason_on_against_or_abstain = n() === "true";
7946
+ else return !1;
7947
+ return !0;
7948
+ }, {
7949
+ construct: "decision_rule voting",
7950
+ id: ""
7951
+ }), t;
7952
+ }
7953
+ function ks(e, t) {
7954
+ let n = {
7955
+ id: e,
7956
+ clause: "",
7957
+ description: ""
7958
+ };
7959
+ return v(t, (e, t) => {
7960
+ if (e === "clause") n.clause = a(t());
7961
+ else if (e === "description") n.description = a(t());
7962
+ else return !1;
7963
+ return !0;
7964
+ }, {
7965
+ construct: "decision_rule legacy_kind",
7966
+ id: e
7967
+ }), n;
7968
+ }
7969
+ function As(e) {
7970
+ return r(i(e)).filter((e) => e.length > 0);
7971
+ }
7972
+ var js = (e, t) => {
7973
+ let n = {
7974
+ id: e,
7975
+ organ: "",
7976
+ kind: "",
7977
+ clause: "",
7978
+ description: "",
7979
+ on_recommendation_of: "",
7980
+ independent_of: "",
7981
+ decides: [],
7982
+ voting: null,
7983
+ tasks: [],
7984
+ scope: [],
7985
+ principle: "",
7986
+ legacy_kinds: [],
7987
+ income: "",
7988
+ no_entrance_fees_for: [],
7989
+ source: {
7990
+ doc: "",
7991
+ clause: ""
7992
+ }
7993
+ };
7994
+ return v(t, (t, r, o) => {
7995
+ if (t === "organ") n.organ = a(r());
7996
+ else if (t === "kind") n.kind = a(r());
7997
+ else if (t === "clause") n.clause = a(r());
7998
+ else if (t === "description") n.description = a(r());
7999
+ else if (t === "on_recommendation_of") n.on_recommendation_of = a(r());
8000
+ else if (t === "independent_of") n.independent_of = a(r());
8001
+ else if (t === "decides") n.decides = As(r());
8002
+ else if (t === "voting") n.voting = Os(i(r()));
8003
+ else if (t === "tasks") n.tasks = As(r());
8004
+ else if (t === "scope") n.scope = As(r());
8005
+ else if (t === "principle") n.principle = a(r());
8006
+ else if (t === "legacy_kind") {
8007
+ let t = a(r()), s = o();
8008
+ if (s === void 0 || !s.startsWith("{")) throw Error(`Parsing error: decision_rule. ID ${e}: legacy_kind ${t} is missing its block`);
8009
+ n.legacy_kinds.push(ks(t, i(r())));
8010
+ } else if (t === "income") n.income = a(r());
8011
+ else if (t === "no_entrance_fees_for") n.no_entrance_fees_for = As(r());
8012
+ else if (t === "source") n.source = I(i(r()));
8013
+ else return !1;
8014
+ return !0;
8015
+ }, {
8016
+ construct: "decision_rule",
8017
+ id: e
8018
+ }), (t) => (t.decisionRules[e] = n, t);
8019
+ };
8020
+ function Ms(e, t) {
8021
+ let n = " " + e + " {\n";
8022
+ return t.threshold > 0 && (n += " threshold " + t.threshold + "\n"), t.base && (n += " base " + N(t.base) + "\n"), t.clause && (n += " clause \"" + s(t.clause) + "\"\n"), t.description && (n += " description \"" + s(t.description) + "\"\n"), n += " }\n", n;
8023
+ }
8024
+ function Ns(e) {
8025
+ let t = " voting {\n";
8026
+ if (e.in_meeting && (t += Ms("in_meeting", e.in_meeting)), e.by_correspondence && (t += Ms("by_correspondence", e.by_correspondence)), e.other_proposals) {
8027
+ let n = e.other_proposals;
8028
+ t += " other_proposals {\n", n.in_meeting > 0 && (t += " in_meeting " + n.in_meeting + "\n"), n.by_correspondence && (t += " by_correspondence " + N(n.by_correspondence) + "\n"), n.description && (t += " description \"" + s(n.description) + "\"\n"), t += " }\n";
8029
+ }
8030
+ return e.proxies_max > 0 && (t += " proxies_max " + e.proxies_max + "\n"), e.abstentions && (t += " abstentions " + N(e.abstentions) + "\n"), e.reason_on_against_or_abstain && (t += " reason_on_against_or_abstain true\n"), t += " }\n", t;
8031
+ }
8032
+ function Ps(e, t, n) {
8033
+ return n + e + " { " + t.map(N).join(" ") + " }\n";
8034
+ }
8035
+ var Fs = function(e) {
8036
+ let t = "decision_rule " + e.id + " {\n";
8037
+ e.organ && (t += " organ " + N(e.organ) + "\n"), e.kind && (t += " kind " + N(e.kind) + "\n"), e.clause && (t += " clause \"" + s(e.clause) + "\"\n"), e.description && (t += " description \"" + s(e.description) + "\"\n"), e.on_recommendation_of && (t += " on_recommendation_of " + N(e.on_recommendation_of) + "\n"), e.independent_of && (t += " independent_of " + N(e.independent_of) + "\n"), e.decides.length > 0 && (t += Ps("decides", e.decides, " ")), e.voting && (t += Ns(e.voting)), e.tasks.length > 0 && (t += Ps("tasks", e.tasks, " ")), e.scope.length > 0 && (t += Ps("scope", e.scope, " ")), e.principle && (t += " principle " + N(e.principle) + "\n");
8038
+ for (let n of e.legacy_kinds) t += " legacy_kind " + N(n.id) + " {\n", n.clause && (t += " clause \"" + s(n.clause) + "\"\n"), n.description && (t += " description \"" + s(n.description) + "\"\n"), t += " }\n";
8039
+ return e.income && (t += " income " + N(e.income) + "\n"), e.no_entrance_fees_for.length > 0 && (t += Ps("no_entrance_fees_for", e.no_entrance_fees_for, " ")), (e.source.doc || e.source.clause) && (t += " source {\n", e.source.doc && (t += " doc \"" + s(e.source.doc) + "\"\n"), e.source.clause && (t += " clause \"" + s(e.source.clause) + "\"\n"), t += " }\n"), t += "}\n", t;
8040
+ };
8041
+ //#endregion
7308
8042
  //#region src/ser-des/config/index.ts
7309
8043
  function J(e) {
7310
8044
  return e;
7311
8045
  }
7312
- var Wo = [
8046
+ var Is = [
7313
8047
  J({
7314
8048
  keyword: "role",
7315
8049
  field: "roles",
@@ -7606,6 +8340,83 @@ var Wo = [
7606
8340
  parse: Ho,
7607
8341
  dump: Uo
7608
8342
  }),
8343
+ J({
8344
+ keyword: "participant_kind",
8345
+ field: "participantKinds",
8346
+ takesID: !0,
8347
+ parse: qo,
8348
+ dump: Zo
8349
+ }),
8350
+ J({
8351
+ keyword: "governance_organ",
8352
+ field: "governanceOrgans",
8353
+ takesID: !0,
8354
+ parse: Qo,
8355
+ dump: $o
8356
+ }),
8357
+ J({
8358
+ keyword: "declaration_kind",
8359
+ field: "declarationKinds",
8360
+ takesID: !0,
8361
+ parse: ts,
8362
+ dump: is
8363
+ }),
8364
+ J({
8365
+ keyword: "declaration_status",
8366
+ field: "declarationStatuses",
8367
+ takesID: !0,
8368
+ parse: as,
8369
+ dump: os
8370
+ }),
8371
+ J({
8372
+ keyword: "declaration_gate",
8373
+ field: "declarationGates",
8374
+ takesID: !0,
8375
+ parse: ss,
8376
+ dump: cs
8377
+ }),
8378
+ J({
8379
+ keyword: "scheme_definition",
8380
+ field: "schemeDefinitions",
8381
+ takesID: !0,
8382
+ parse: us,
8383
+ dump: fs
8384
+ }),
8385
+ J({
8386
+ keyword: "scheme_lifecycle",
8387
+ field: "schemeLifecycles",
8388
+ takesID: !0,
8389
+ parse: gs,
8390
+ dump: _s
8391
+ }),
8392
+ J({
8393
+ keyword: "framework_document",
8394
+ field: "frameworkDocuments",
8395
+ takesID: !0,
8396
+ parse: ys,
8397
+ dump: bs
8398
+ }),
8399
+ J({
8400
+ keyword: "document_precedence",
8401
+ field: "documentPrecedences",
8402
+ takesID: !0,
8403
+ parse: xs,
8404
+ dump: Ss
8405
+ }),
8406
+ J({
8407
+ keyword: "auto_inclusion",
8408
+ field: "autoInclusions",
8409
+ takesID: !0,
8410
+ parse: ws,
8411
+ dump: Ts
8412
+ }),
8413
+ J({
8414
+ keyword: "decision_rule",
8415
+ field: "decisionRules",
8416
+ takesID: !0,
8417
+ parse: js,
8418
+ dump: Fs
8419
+ }),
7609
8420
  Oi,
7610
8421
  po,
7611
8422
  bo,
@@ -7623,7 +8434,7 @@ var Wo = [
7623
8434
  Bo,
7624
8435
  Vo
7625
8436
  ];
7626
- function Go(e) {
8437
+ function Ls(e) {
7627
8438
  let t = {};
7628
8439
  for (let n of e) {
7629
8440
  if (!n.field) continue;
@@ -7637,61 +8448,61 @@ function Go(e) {
7637
8448
  }
7638
8449
  return t;
7639
8450
  }
7640
- function Ko(e) {
8451
+ function Rs(e) {
7641
8452
  let t = {};
7642
8453
  for (let n of e) n.field && (t[n.field] = { resolve: n.resolve ?? ((e, t) => t) });
7643
8454
  return t;
7644
8455
  }
7645
- function qo(e) {
8456
+ function zs(e) {
7646
8457
  let t = {};
7647
8458
  for (let n of e) n.field && (t[n.field] = n.dump);
7648
8459
  return t;
7649
8460
  }
7650
- var Jo = {
8461
+ var Bs = {
7651
8462
  package: { parse: mi },
7652
8463
  root: { parse: (e) => (t) => (t.root = e.trim(), t) },
7653
8464
  metadata: { parse: m },
7654
8465
  version: { parse: () => (e) => e },
7655
- ...Go(Wo)
7656
- }, Yo = Ko(Wo), Xo = qo(Wo), Y = (/* @__PURE__ */ e(((e, t) => {
8466
+ ...Ls(Is)
8467
+ }, Vs = Rs(Is), Hs = zs(Is), Y = (/* @__PURE__ */ e(((e, t) => {
7657
8468
  t.exports = {};
7658
- })))(), Zo = /^include\s+"([^"]+)"/gm, Qo = /^[ \t]*(#|\/\/)/;
7659
- function $o(e, t = /* @__PURE__ */ new Set()) {
8469
+ })))(), Us = /^include\s+"([^"]+)"/gm, Ws = /^[ \t]*(#|\/\/)/;
8470
+ function Gs(e, t = /* @__PURE__ */ new Set()) {
7660
8471
  let n = (0, Y.resolve)(e);
7661
8472
  if (t.has(n)) throw Error(`Include cycle detected: ${n} (chain: ${[...t, n].map((e) => e.split("/").pop()).join(" → ")})`);
7662
8473
  if (t.add(n), !(0, Y.existsSync)(n)) throw Error(`Include file not found: ${n}`);
7663
8474
  let r = (0, Y.readFileSync)(n, "utf8"), i = (0, Y.dirname)(n);
7664
- return r.replace(Zo, (e, n, a) => {
8475
+ return r.replace(Us, (e, n, a) => {
7665
8476
  let o = r.lastIndexOf("\n", a) + 1, s = r.slice(o, a);
7666
- if (Qo.test(s)) return e;
8477
+ if (Ws.test(s)) return e;
7667
8478
  let c = (0, Y.isAbsolute)(n) ? n : (0, Y.resolve)(i, n);
7668
- return $o(c.endsWith(".prl") || c.endsWith(".mmel") ? c : (0, Y.existsSync)(`${c}.prl`) ? `${c}.prl` : `${c}.mmel`, new Set(t));
8479
+ return Gs(c.endsWith(".prl") || c.endsWith(".mmel") ? c : (0, Y.existsSync)(`${c}.prl`) ? `${c}.prl` : `${c}.mmel`, new Set(t));
7669
8480
  });
7670
8481
  }
7671
8482
  //#endregion
7672
8483
  //#region src/validate.ts
7673
- function es(e) {
8484
+ function Ks(e) {
7674
8485
  let t = [];
7675
- for (let n of ts) t.push(...n.check(e));
8486
+ for (let n of qs) t.push(...n.check(e));
7676
8487
  return t;
7677
8488
  }
7678
- var ts = [
8489
+ var qs = [
7679
8490
  {
7680
8491
  name: "empty-ids",
7681
- check: ns
8492
+ check: Js
7682
8493
  },
7683
8494
  {
7684
8495
  name: "form-references",
7685
- check: rs
8496
+ check: Ys
7686
8497
  },
7687
8498
  {
7688
8499
  name: "state-machine-cascades",
7689
- check: is
8500
+ check: Xs
7690
8501
  }
7691
8502
  ];
7692
- function ns(e) {
8503
+ function Js(e) {
7693
8504
  let t = [];
7694
- for (let [n, r] of as(e)) for (let e of r) (!e.id || e.id.trim() === "") && t.push({
8505
+ for (let [n, r] of Zs(e)) for (let e of r) (!e.id || e.id.trim() === "") && t.push({
7695
8506
  severity: "error",
7696
8507
  code: "empty-id",
7697
8508
  construct: n,
@@ -7699,7 +8510,7 @@ function ns(e) {
7699
8510
  });
7700
8511
  return t;
7701
8512
  }
7702
- function rs(e) {
8513
+ function Ys(e) {
7703
8514
  let t = [], n = new Set(e.calculations.map((e) => e.id)), r = new Set(e.processes.map((e) => e.id));
7704
8515
  for (let t of e.conformanceTests ?? []) r.add(t.id);
7705
8516
  let i = new Set(e.subforms.map((e) => e.id));
@@ -7711,7 +8522,7 @@ function rs(e) {
7711
8522
  message: `Form "${a.id}" references conformance process "${a.conformanceProcessId}" which does not exist`,
7712
8523
  id: a.id
7713
8524
  });
7714
- for (let e of os(a)) {
8525
+ for (let e of Qs(a)) {
7715
8526
  let r = e.calculationId;
7716
8527
  r && !r.startsWith("ocl{") && !n.has(r) && t.push({
7717
8528
  severity: "error",
@@ -7730,7 +8541,7 @@ function rs(e) {
7730
8541
  }
7731
8542
  return t;
7732
8543
  }
7733
- function is(e) {
8544
+ function Xs(e) {
7734
8545
  let t = [];
7735
8546
  for (let n of e.stateMachines) {
7736
8547
  let e = new Set(n.states.map((e) => e.name));
@@ -7751,10 +8562,10 @@ function is(e) {
7751
8562
  }
7752
8563
  return t;
7753
8564
  }
7754
- function* as(e) {
8565
+ function* Zs(e) {
7755
8566
  for (let [t, n] of Object.entries(e)) Array.isArray(n) && n.length > 0 && typeof n[0]?.id == "string" && (yield [t, n]);
7756
8567
  }
7757
- function* os(e) {
8568
+ function* Qs(e) {
7758
8569
  let t = [...e.fields];
7759
8570
  for (; t.length > 0;) {
7760
8571
  let e = t.pop();
@@ -7763,30 +8574,30 @@ function* os(e) {
7763
8574
  }
7764
8575
  //#endregion
7765
8576
  //#region src/ser-des/package.ts
7766
- var ss = [
8577
+ var $s = [
7767
8578
  "model",
7768
8579
  "entities",
7769
8580
  "specification",
7770
8581
  "execution",
7771
8582
  "evaluation"
7772
8583
  ];
7773
- function cs(e) {
8584
+ function ec(e) {
7774
8585
  let t = [];
7775
8586
  if (!(0, Y.existsSync)(e)) return t;
7776
8587
  for (let n of (0, Y.readdirSync)(e).sort()) {
7777
8588
  let r = (0, Y.join)(e, n);
7778
- (0, Y.statSync)(r).isDirectory() ? t.push(...cs(r)) : (n.endsWith(".prl") || n.endsWith(".mmel")) && t.push(r);
8589
+ (0, Y.statSync)(r).isDirectory() ? t.push(...ec(r)) : (n.endsWith(".prl") || n.endsWith(".mmel")) && t.push(r);
7779
8590
  }
7780
8591
  return t;
7781
8592
  }
7782
- function ls(e) {
8593
+ function tc(e) {
7783
8594
  let t = (0, Y.resolve)(e), n = [], r = (0, Y.join)(t, "package.primmel");
7784
8595
  (0, Y.existsSync)(r) && n.push({
7785
8596
  path: r,
7786
8597
  role: "manifest"
7787
8598
  });
7788
8599
  let i = [];
7789
- for (let e of ss) i.push(...cs((0, Y.join)(t, e)));
8600
+ for (let e of $s) i.push(...ec((0, Y.join)(t, e)));
7790
8601
  for (let e of (0, Y.readdirSync)(t).sort()) {
7791
8602
  let n = (0, Y.join)(t, e);
7792
8603
  (0, Y.statSync)(n).isFile() && (e.endsWith(".prl") || e.endsWith(".mmel")) && e !== "package.primmel" && e !== ".primmel-allowlist.prl" && i.push(n);
@@ -7798,10 +8609,10 @@ function ls(e) {
7798
8609
  });
7799
8610
  return n;
7800
8611
  }
7801
- function us(e, t = {}) {
7802
- return vs(e, t).standard;
8612
+ function nc(e, t = {}) {
8613
+ return uc(e, t).standard;
7803
8614
  }
7804
- function ds(e, t) {
8615
+ function rc(e, t) {
7805
8616
  let n = /* @__PURE__ */ new Map(), r = [];
7806
8617
  for (let i of t) {
7807
8618
  let t = e.constructs[i.field]?.[i.id];
@@ -7817,37 +8628,37 @@ function ds(e, t) {
7817
8628
  unassigned: r
7818
8629
  };
7819
8630
  }
7820
- function fs(e, t = {}) {
7821
- let n = vs(e, t, !0);
8631
+ function ic(e, t = {}) {
8632
+ let n = uc(e, t, !0);
7822
8633
  if (!n.provenance) throw Error("loadPackageWithProvenance: provenance not collected");
7823
8634
  return {
7824
8635
  ...n,
7825
8636
  provenance: n.provenance
7826
8637
  };
7827
8638
  }
7828
- function ps(e) {
8639
+ function ac(e) {
7829
8640
  let t = 0;
7830
8641
  for (let n = 0; n < e.length; n++) e.charAt(n) === "\n" && t++;
7831
8642
  return t;
7832
8643
  }
7833
- function ms(e) {
8644
+ function oc(e) {
7834
8645
  let t = [], n = 0, r = 1;
7835
8646
  for (let i of e) {
7836
8647
  if (i.role !== "content") continue;
7837
- let e = $o(i.path);
8648
+ let e = Gs(i.path);
7838
8649
  t.push({
7839
8650
  path: i.path,
7840
8651
  text: e,
7841
8652
  start: n,
7842
8653
  lineStart: r
7843
- }), n += e.length + 2, r += ps(e) + 2;
8654
+ }), n += e.length + 2, r += ac(e) + 2;
7844
8655
  }
7845
8656
  return t;
7846
8657
  }
7847
- function hs(e) {
8658
+ function sc(e) {
7848
8659
  return e.map((e) => e.text).join("\n\n");
7849
8660
  }
7850
- function gs(e, t, n) {
8661
+ function cc(e, t, n) {
7851
8662
  let r = {}, i = 0;
7852
8663
  for (let a of e) {
7853
8664
  for (; i + 1 < t.length && a.start.offset >= t[i + 1].start;) i++;
@@ -7867,7 +8678,7 @@ function gs(e, t, n) {
7867
8678
  }
7868
8679
  return r;
7869
8680
  }
7870
- function _s(e) {
8681
+ function lc(e) {
7871
8682
  let t = (0, Y.join)((0, Y.resolve)(e), "package.primmel");
7872
8683
  if (!(0, Y.existsSync)(t)) throw Error(`loadPackage: no package.primmel found in ${(0, Y.resolve)(e)}`);
7873
8684
  let n = (0, Y.readFileSync)(t, "utf8"), r = { packageManifest: null };
@@ -7876,37 +8687,37 @@ function _s(e) {
7876
8687
  if (!i || !i.id) throw Error(`loadPackage: ${t} is not a valid package manifest`);
7877
8688
  return i;
7878
8689
  }
7879
- function vs(e, t = {}, n = !1) {
7880
- let r = ls(e);
8690
+ function uc(e, t = {}, n = !1) {
8691
+ let r = tc(e);
7881
8692
  if (r.length === 0) throw Error(`loadPackage: no package files found in ${(0, Y.resolve)(e)}`);
7882
8693
  let i = null;
7883
- r.some((e) => e.role === "manifest") && (i = _s(e));
7884
- let a = ms(r);
7885
- if (i && t.resolvePackage && bs(i).length > 0) return ws(e, t, i, n);
8694
+ r.some((e) => e.role === "manifest") && (i = lc(e));
8695
+ let a = oc(r);
8696
+ if (i && t.resolvePackage && fc(i).length > 0) return gc(e, t, i, n);
7886
8697
  let o = n ? {
7887
8698
  ...t,
7888
8699
  withProvenance: !0
7889
- } : t, s = u(hs(a), Jo, o);
8700
+ } : t, s = u(sc(a), Bs, o);
7890
8701
  if (i) {
7891
8702
  s.packageManifest = i;
7892
- let e = xs(i);
8703
+ let e = pc(i);
7893
8704
  e && s.issues.push(e);
7894
8705
  }
7895
8706
  let c = {
7896
- standard: p(s, Yo),
8707
+ standard: p(s, Vs),
7897
8708
  issues: s.issues
7898
8709
  };
7899
8710
  if (n) {
7900
8711
  let e = r.find((e) => e.role === "manifest")?.path;
7901
8712
  c.provenance = {
7902
8713
  ...e === void 0 ? {} : { manifest: e },
7903
- constructs: gs(s.constructs ?? [], a, i?.id)
8714
+ constructs: cc(s.constructs ?? [], a, i?.id)
7904
8715
  };
7905
8716
  }
7906
8717
  return c;
7907
8718
  }
7908
- function ys(e, t = {}) {
7909
- return vs(e, t);
8719
+ function dc(e, t = {}) {
8720
+ return uc(e, t);
7910
8721
  }
7911
8722
  var X = class extends Error {
7912
8723
  rule;
@@ -7914,12 +8725,12 @@ var X = class extends Error {
7914
8725
  super(t), this.rule = e, this.name = "CompositionError";
7915
8726
  }
7916
8727
  };
7917
- function bs(e) {
8728
+ function fc(e) {
7918
8729
  let t = [];
7919
8730
  for (let n of [...e.uses ?? [], ...e.extends ? [e.extends] : []]) t.includes(n) || t.push(n);
7920
8731
  return t;
7921
8732
  }
7922
- function xs(e) {
8733
+ function pc(e) {
7923
8734
  return e.extends ? {
7924
8735
  severity: "warning",
7925
8736
  code: "extends-deprecated",
@@ -7928,25 +8739,25 @@ function xs(e) {
7928
8739
  message: `package "${e.id}": 'extends ${e.extends}' is deprecated — declare 'uses { ${e.extends} }' instead (extends is treated as a single-entry uses)`
7929
8740
  } : null;
7930
8741
  }
7931
- var Ss = /* @__PURE__ */ "approvals.roles.processes.pages.gateways.regs.references.provisions.dataclasses.events.enums.variables.notes.tables.figures.links.mapProfiles.viewProfiles.terms.forms.subforms.symbols.calculations.verdicts.referenceMaterials.testPointSets.competenceKinds.constraints.discrepancyRecords.stateMachines.conformanceTests.conformanceClasses.requirements.requirementClasses.instruments.attributeDefinitions.capabilities.behaviors.conditionSets.subjects.instances.quantityRegisters.duals.invariants.testSequences.formulasUsed.texts".split(".");
7932
- function Cs(e, t) {
7933
- let n = ms(ls(e));
8742
+ var mc = /* @__PURE__ */ "approvals.roles.processes.pages.gateways.regs.references.provisions.dataclasses.events.enums.variables.notes.tables.figures.links.mapProfiles.viewProfiles.terms.forms.subforms.symbols.calculations.verdicts.referenceMaterials.testPointSets.competenceKinds.constraints.discrepancyRecords.stateMachines.conformanceTests.conformanceClasses.requirements.requirementClasses.instruments.attributeDefinitions.capabilities.behaviors.conditionSets.subjects.instances.quantityRegisters.duals.invariants.testSequences.formulasUsed.texts.participantKinds.governanceOrgans.declarationKinds.declarationStatuses.declarationGates.schemeDefinitions.schemeLifecycles.frameworkDocuments.documentPrecedences.autoInclusions.decisionRules.comments.predicates.artifactDefinitions.artifactInstances.activityArchetypes.connectorProfiles.monitors.passports.dataspaces.policies.dimensions".split(".");
8743
+ function hc(e, t) {
8744
+ let n = oc(tc(e));
7934
8745
  return {
7935
- ctx: u(hs(n), Jo, t),
8746
+ ctx: u(sc(n), Bs, t),
7936
8747
  chunks: n
7937
8748
  };
7938
8749
  }
7939
- function ws(e, t, n, r = !1) {
8750
+ function gc(e, t, n, r = !1) {
7940
8751
  let i = t.resolvePackage, a = n.id, o = /* @__PURE__ */ new Map([[a, (0, Y.resolve)(e)]]), s = /* @__PURE__ */ new Map([[a, n]]), c = [], l = /* @__PURE__ */ new Map(), u = [], d = (e) => {
7941
8752
  l.set(e, 1), u.push(e);
7942
- for (let t of bs(s.get(e))) {
8753
+ for (let t of fc(s.get(e))) {
7943
8754
  let n = l.get(t) ?? 0;
7944
8755
  if (n === 1) throw new X("uses-cycle", `uses cycle: ${[...u.slice(u.indexOf(t)), t].join(" → ")} — package composition must be acyclic (uses-cycle)`);
7945
8756
  if (n !== 2) {
7946
8757
  if (!o.has(t)) {
7947
8758
  let n = i(t);
7948
8759
  if (!n) throw new X("uses-resolves", `package "${e}" uses "${t}", which the package locator cannot resolve (uses-resolves)`);
7949
- let r = _s(n);
8760
+ let r = lc(n);
7950
8761
  if (r.id !== t) throw new X("uses-resolves", `package "${e}" uses "${t}", but the located package (${(0, Y.resolve)(n)}) declares id "${r.id}" (uses-resolves)`);
7951
8762
  if (o.set(t, n), s.set(t, r), r.kind === "product_reference") {
7952
8763
  l.set(t, 2);
@@ -7964,13 +8775,13 @@ function ws(e, t, n, r = !1) {
7964
8775
  withProvenance: !0
7965
8776
  } : t, m = /* @__PURE__ */ new Map(), h = /* @__PURE__ */ new Map();
7966
8777
  for (let e of c) {
7967
- let t = Cs(o.get(e), f);
8778
+ let t = hc(o.get(e), f);
7968
8779
  m.set(e, t.ctx), h.set(e, t.chunks);
7969
8780
  }
7970
8781
  let g = /* @__PURE__ */ new Map();
7971
- for (let e of Ss) g.set(e, /* @__PURE__ */ new Map());
8782
+ for (let e of mc) g.set(e, /* @__PURE__ */ new Map());
7972
8783
  let _ = m.get(c[0]);
7973
- for (let e of Ss) for (let t of Object.keys(_[e])) g.get(e).set(t, c[0]);
8784
+ for (let e of mc) for (let t of Object.keys(_[e])) g.get(e).set(t, c[0]);
7974
8785
  let v = /* @__PURE__ */ new Map(), y = (e, t) => {
7975
8786
  for (let n of Object.keys(t.requirementClasses)) v.has(n) || v.set(n, e);
7976
8787
  }, b = (e, t) => {
@@ -7983,7 +8794,7 @@ function ws(e, t, n, r = !1) {
7983
8794
  for (let e of c.slice(1)) {
7984
8795
  let t = m.get(e);
7985
8796
  b(e, t);
7986
- for (let n of Ss) {
8797
+ for (let n of mc) {
7987
8798
  let r = _[n], i = g.get(n);
7988
8799
  for (let [a, o] of Object.entries(t[n])) {
7989
8800
  let t = i.get(a);
@@ -8012,12 +8823,12 @@ function ws(e, t, n, r = !1) {
8012
8823
  }
8013
8824
  });
8014
8825
  for (let e of s.values()) {
8015
- let t = xs(e);
8826
+ let t = pc(e);
8016
8827
  t && x.push(t);
8017
8828
  }
8018
8829
  _.packageManifest = n;
8019
8830
  let S = {
8020
- standard: p(_, Yo),
8831
+ standard: p(_, Vs),
8021
8832
  issues: [..._.issues, ...x],
8022
8833
  composition: {
8023
8834
  root: a,
@@ -8027,7 +8838,7 @@ function ws(e, t, n, r = !1) {
8027
8838
  if (r) {
8028
8839
  let t = {};
8029
8840
  for (let e of c) {
8030
- let n = gs(m.get(e).constructs ?? [], h.get(e), e);
8841
+ let n = cc(m.get(e).constructs ?? [], h.get(e), e);
8031
8842
  for (let [e, r] of Object.entries(n)) {
8032
8843
  let n = t[e] ??= {};
8033
8844
  for (let [e, t] of Object.entries(r)) n[e] = t;
@@ -8042,7 +8853,7 @@ function ws(e, t, n, r = !1) {
8042
8853
  }
8043
8854
  //#endregion
8044
8855
  //#region src/ser-des/prm.ts
8045
- var Ts = /* @__PURE__ */ new Set(["MMEL_MAP", "Primmel_MAP"]), Es = /* @__PURE__ */ new Set([
8856
+ var _c = /* @__PURE__ */ new Set(["MMEL_MAP", "Primmel_MAP"]), vc = /* @__PURE__ */ new Set([
8046
8857
  "full",
8047
8858
  "minimal",
8048
8859
  "partial",
@@ -8051,7 +8862,7 @@ var Ts = /* @__PURE__ */ new Set(["MMEL_MAP", "Primmel_MAP"]), Es = /* @__PURE__
8051
8862
  function Z(e) {
8052
8863
  throw Error(`.prm parse error: ${e}`);
8053
8864
  }
8054
- function Ds(e, t) {
8865
+ function yc(e, t) {
8055
8866
  let n = {
8056
8867
  description: "",
8057
8868
  justification: "",
@@ -8060,9 +8871,9 @@ function Ds(e, t) {
8060
8871
  if (e == null) return n;
8061
8872
  (typeof e != "object" || Array.isArray(e)) && Z(`${t}: pair metadata must be an object`);
8062
8873
  let r = e;
8063
- return r.description !== void 0 && (typeof r.description != "string" && Z(`${t}: "description" must be a string`), n.description = r.description), r.justification !== void 0 && (typeof r.justification != "string" && Z(`${t}: "justification" must be a string`), n.justification = r.justification), r.coverage !== void 0 && ((typeof r.coverage != "string" || !Es.has(r.coverage)) && Z(`${t}: "coverage" must be one of full | minimal | partial | none`), n.coverage = r.coverage), n;
8874
+ return r.description !== void 0 && (typeof r.description != "string" && Z(`${t}: "description" must be a string`), n.description = r.description), r.justification !== void 0 && (typeof r.justification != "string" && Z(`${t}: "justification" must be a string`), n.justification = r.justification), r.coverage !== void 0 && ((typeof r.coverage != "string" || !vc.has(r.coverage)) && Z(`${t}: "coverage" must be one of full | minimal | partial | none`), n.coverage = r.coverage), n;
8064
8875
  }
8065
- function Os(e) {
8876
+ function bc(e) {
8066
8877
  let t;
8067
8878
  try {
8068
8879
  t = JSON.parse(e);
@@ -8071,7 +8882,7 @@ function Os(e) {
8071
8882
  }
8072
8883
  (typeof t != "object" || !t || Array.isArray(t)) && Z("top level must be an object");
8073
8884
  let n = t, r = typeof n["@type"] == "string" ? n["@type"] : "";
8074
- Ts.has(r) || Z(`"@type" must be MMEL_MAP or Primmel_MAP (got "${r}")`);
8885
+ _c.has(r) || Z(`"@type" must be MMEL_MAP or Primmel_MAP (got "${r}")`);
8075
8886
  let i = {
8076
8887
  context: typeof n["@context"] == "string" ? n["@context"] : "",
8077
8888
  type: r,
@@ -8087,20 +8898,20 @@ function Os(e) {
8087
8898
  coverage: {}
8088
8899
  }, a = n.coverage ?? {};
8089
8900
  (typeof a != "object" || !a || Array.isArray(a)) && Z(`mapSet."${e}".coverage: must be an object`);
8090
- for (let [t, n] of Object.entries(a)) (typeof n != "string" || !Es.has(n)) && Z(`mapSet."${e}".coverage."${t}": must be one of full | minimal | partial | none`), r.coverage[t] = n;
8901
+ for (let [t, n] of Object.entries(a)) (typeof n != "string" || !vc.has(n)) && Z(`mapSet."${e}".coverage."${t}": must be one of full | minimal | partial | none`), r.coverage[t] = n;
8091
8902
  let o = n.mappings ?? {};
8092
8903
  (typeof o != "object" || !o || Array.isArray(o)) && Z(`mapSet."${e}".mappings: must be an object`);
8093
8904
  for (let [t, n] of Object.entries(o)) {
8094
8905
  (typeof n != "object" || !n || Array.isArray(n)) && Z(`mapSet."${e}".mappings."${t}": must be an object`);
8095
8906
  let i = {};
8096
- for (let [r, a] of Object.entries(n)) i[r] = Ds(a, `mapSet."${e}".mappings."${t}"."${r}"`);
8907
+ for (let [r, a] of Object.entries(n)) i[r] = yc(a, `mapSet."${e}".mappings."${t}"."${r}"`);
8097
8908
  r.mappings[t] = i;
8098
8909
  }
8099
8910
  i.mapSet[e] = r;
8100
8911
  }
8101
8912
  return i;
8102
8913
  }
8103
- function ks(e) {
8914
+ function xc(e) {
8104
8915
  let t = {};
8105
8916
  e.context && (t["@context"] = e.context), t["@type"] = e.type || "Primmel_MAP", t.id = e.id;
8106
8917
  let n = {};
@@ -8125,7 +8936,7 @@ function ks(e) {
8125
8936
  }
8126
8937
  return t.mapSet = n, JSON.stringify(t, null, 2) + "\n";
8127
8938
  }
8128
- function As(e) {
8939
+ function Sc(e) {
8129
8940
  let t = [];
8130
8941
  for (let [n, r] of Object.entries(e.mapSet)) {
8131
8942
  let e = {};
@@ -8144,7 +8955,7 @@ function As(e) {
8144
8955
  }
8145
8956
  return t;
8146
8957
  }
8147
- function js(e, t) {
8958
+ function Cc(e, t) {
8148
8959
  let n = {
8149
8960
  context: "",
8150
8961
  type: "Primmel_MAP",
@@ -8172,7 +8983,7 @@ function js(e, t) {
8172
8983
  }
8173
8984
  //#endregion
8174
8985
  //#region src/type-expr.ts
8175
- var Ms = [
8986
+ var wc = [
8176
8987
  "integer",
8177
8988
  "float",
8178
8989
  "double",
@@ -8187,8 +8998,8 @@ var Ms = [
8187
8998
  "reference",
8188
8999
  "object",
8189
9000
  "any"
8190
- ], Ns = /^[A-Za-z_][A-Za-z0-9_-]*$/;
8191
- function Ps(e) {
9001
+ ], Tc = /^[A-Za-z_][A-Za-z0-9_-]*$/;
9002
+ function Ec(e) {
8192
9003
  let t = 0;
8193
9004
  for (let n = 0; n < e.length; n++) {
8194
9005
  let r = e[n];
@@ -8198,33 +9009,33 @@ function Ps(e) {
8198
9009
  }
8199
9010
  return null;
8200
9011
  }
8201
- function Fs(e) {
9012
+ function Dc(e) {
8202
9013
  let t = e.trim();
8203
9014
  if (t === "QuantityValue") return { kind: "quantity" };
8204
- if (Ms.includes(t)) return {
9015
+ if (wc.includes(t)) return {
8205
9016
  kind: "primitive",
8206
9017
  name: t
8207
9018
  };
8208
9019
  let n = /^reference\(([^)]+)\)$/.exec(t);
8209
9020
  if (n) {
8210
9021
  let e = n[1].trim();
8211
- return Ns.test(e) ? {
9022
+ return Tc.test(e) ? {
8212
9023
  kind: "reference",
8213
9024
  target: e
8214
9025
  } : null;
8215
9026
  }
8216
9027
  if (t.startsWith("map<") && t.endsWith(">")) {
8217
- let e = Ps(t.slice(4, -1));
9028
+ let e = Ec(t.slice(4, -1));
8218
9029
  if (!e) return null;
8219
9030
  let n = e[0].trim(), r = null;
8220
9031
  n === "string" ? r = {
8221
9032
  kind: "primitive",
8222
9033
  name: "string"
8223
- } : Ns.test(n) && (r = {
9034
+ } : Tc.test(n) && (r = {
8224
9035
  kind: "reference",
8225
9036
  target: n
8226
9037
  });
8227
- let i = Fs(e[1]);
9038
+ let i = Dc(e[1]);
8228
9039
  return !r || !i ? null : {
8229
9040
  kind: "map",
8230
9041
  key: r,
@@ -8233,13 +9044,13 @@ function Fs(e) {
8233
9044
  }
8234
9045
  return null;
8235
9046
  }
8236
- function Is(e) {
8237
- let t = Fs(e);
9047
+ function Oc(e) {
9048
+ let t = Dc(e);
8238
9049
  return t !== null && t.kind === "map";
8239
9050
  }
8240
9051
  //#endregion
8241
9052
  //#region src/mapping-coverage.ts
8242
- function Ls(e, t) {
9053
+ function kc(e, t) {
8243
9054
  let n = e.indexOf("#");
8244
9055
  if (n >= 0) {
8245
9056
  let t = e.slice(0, n), r = e.slice(n + 1);
@@ -8255,12 +9066,12 @@ function Ls(e, t) {
8255
9066
  qualified: t + "#" + e
8256
9067
  };
8257
9068
  }
8258
- function Rs(e, t) {
9069
+ function Ac(e, t) {
8259
9070
  let n = [];
8260
9071
  for (let [r, i] of Object.entries(e.mappings)) for (let a of i) n.push({
8261
9072
  source: r,
8262
9073
  sourceModel: t,
8263
- target: Ls(a.target, e.namespace).qualified,
9074
+ target: kc(a.target, e.namespace).qualified,
8264
9075
  targetModel: e.namespace,
8265
9076
  description: a.description,
8266
9077
  justification: a.justification,
@@ -8268,12 +9079,12 @@ function Rs(e, t) {
8268
9079
  });
8269
9080
  return n;
8270
9081
  }
8271
- function zs(e, t = {}) {
9082
+ function jc(e, t = {}) {
8272
9083
  let n = t.modelId ?? e.packageManifest?.id ?? e.meta?.namespace ?? "", r = [...e.mapProfiles ?? []], i = t.prm ? Array.isArray(t.prm) ? t.prm : [t.prm] : [];
8273
- for (let e of i) r.push(...As(e));
8274
- return r.flatMap((e) => Rs(e, n));
9084
+ for (let e of i) r.push(...Sc(e));
9085
+ return r.flatMap((e) => Ac(e, n));
8275
9086
  }
8276
- function Bs(e, t = {}) {
9087
+ function Mc(e, t = {}) {
8277
9088
  let n = t.idPrefix ?? "", r = (e.processes ?? []).filter((e) => !n || e.id.startsWith(n)), i = new Set(r.map((e) => e.id)), a = /* @__PURE__ */ new Map();
8278
9089
  for (let e of r) a.set(e.id, {
8279
9090
  id: e.id.slice(n.length),
@@ -8287,18 +9098,18 @@ function Bs(e, t = {}) {
8287
9098
  }
8288
9099
  return o;
8289
9100
  }
8290
- function Vs(e, t) {
9101
+ function Nc(e, t) {
8291
9102
  return t.length === 0 ? "none" : t.every((e) => e === "full") ? "full" : e === "gateway" && t.some((e) => e === "full" || e === "minimal") ? "minimal" : t.some((e) => e !== "none") ? "partial" : "none";
8292
9103
  }
8293
- function Hs(e, t, n, r, i = {}) {
8294
- let a = Array.isArray(t) ? t : Bs(t), o = n.filter((e) => e.targetModel === r), s = /* @__PURE__ */ new Map();
9104
+ function Pc(e, t, n, r, i = {}) {
9105
+ let a = Array.isArray(t) ? t : Mc(t), o = n.filter((e) => e.targetModel === r), s = /* @__PURE__ */ new Map();
8295
9106
  for (let e of o) {
8296
- let t = Ls(e.target, r).id;
9107
+ let t = kc(e.target, r).id;
8297
9108
  (s.get(t) ?? s.set(t, []).get(t)).push(e.source);
8298
9109
  }
8299
9110
  let c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), u = (e, t) => {
8300
9111
  let n = s.has(e.id), r = n ? e.id : t, i = e.children.map((e) => u(e, r)), a;
8301
- return r === null ? a = e.children.length === 0 ? "none" : Vs(e.composition, i) : (a = "full", !n && t !== null && l.set(e.id, t)), c.set(e.id, a), a;
9112
+ return r === null ? a = e.children.length === 0 ? "none" : Nc(e.composition, i) : (a = "full", !n && t !== null && l.set(e.id, t)), c.set(e.id, a), a;
8302
9113
  };
8303
9114
  for (let e of a) u(e, null);
8304
9115
  let d = [], f = /* @__PURE__ */ new Map(), p = (e) => {
@@ -8320,7 +9131,7 @@ function Hs(e, t, n, r, i = {}) {
8320
9131
  for (let e of d) m[e.coverage]++;
8321
9132
  let h = [], g = /* @__PURE__ */ new Set();
8322
9133
  for (let e of o) {
8323
- let t = Ls(e.target, r).id;
9134
+ let t = kc(e.target, r).id;
8324
9135
  f.has(t) ? g.add(e.source) : h.push({
8325
9136
  source: e.source,
8326
9137
  target: e.target
@@ -8331,7 +9142,7 @@ function Hs(e, t, n, r, i = {}) {
8331
9142
  y.has(t) || (y.add(t), v.push(e));
8332
9143
  };
8333
9144
  for (let e of o) {
8334
- let t = Ls(e.target, r).id, n = f.get(t);
9145
+ let t = kc(e.target, r).id, n = f.get(t);
8335
9146
  if (!n) continue;
8336
9147
  let i = (e, t) => {
8337
9148
  for (let n of e.children) t.push(n), i(n, t);
@@ -8378,7 +9189,7 @@ function Hs(e, t, n, r, i = {}) {
8378
9189
  summary: m
8379
9190
  };
8380
9191
  }
8381
- function Us(e) {
9192
+ function Fc(e) {
8382
9193
  let t = [], n = /* @__PURE__ */ new Set();
8383
9194
  for (let r of e) for (let i of r.mappings) for (let r of e) if (r.modelId === i.targetModel) for (let e of r.mappings) {
8384
9195
  if (i.target !== `${r.modelId}#${e.source}`) continue;
@@ -8396,7 +9207,7 @@ function Us(e) {
8396
9207
  }
8397
9208
  return t;
8398
9209
  }
8399
- function Ws(e) {
9210
+ function Ic(e) {
8400
9211
  let t = /* @__PURE__ */ new Map();
8401
9212
  for (let n of e) for (let e of n.mappings) {
8402
9213
  let r = `${n.modelId}→${e.targetModel}`, i = t.get(r) ?? {
@@ -8408,14 +9219,14 @@ function Ws(e) {
8408
9219
  }
8409
9220
  return [...t.values()];
8410
9221
  }
8411
- function Gs(e) {
9222
+ function Lc(e) {
8412
9223
  if (e && typeof e == "object") {
8413
- for (let t of Object.values(e)) Gs(t);
9224
+ for (let t of Object.values(e)) Lc(t);
8414
9225
  Object.freeze(e);
8415
9226
  }
8416
9227
  return e;
8417
9228
  }
8418
- function Ks(e, t, n = null) {
9229
+ function Rc(e, t, n = null) {
8419
9230
  let r = new Set(t.visibleElements ?? []), i = r.size > 0, a = i ? [...r] : (e.processes ?? []).map((e) => e.id), o = null;
8420
9231
  if (n) {
8421
9232
  let e = n.components.filter((e) => !i || r.has(e.id) || e.mappedBy.some((e) => r.has(e))), t = {
@@ -8433,14 +9244,14 @@ function Ks(e, t, n = null) {
8433
9244
  summary: t
8434
9245
  };
8435
9246
  }
8436
- return Gs({
9247
+ return Lc({
8437
9248
  id: t.id,
8438
9249
  against: t.against ?? "",
8439
9250
  elements: a,
8440
9251
  coverage: o
8441
9252
  });
8442
9253
  }
8443
- function qs(e) {
9254
+ function zc(e) {
8444
9255
  let t = /* @__PURE__ */ new Set(), n = (e) => {
8445
9256
  for (let n of e ?? []) t.add(n.id);
8446
9257
  };
@@ -8457,13 +9268,13 @@ function qs(e) {
8457
9268
  }
8458
9269
  //#endregion
8459
9270
  //#region src/model-diff.ts
8460
- var Js = [
9271
+ var Bc = [
8461
9272
  "foundations",
8462
9273
  "primary",
8463
9274
  "secondary",
8464
9275
  "tertiary",
8465
9276
  "cross-cutting"
8466
- ], Ys = {
9277
+ ], Vc = {
8467
9278
  terms: "foundations",
8468
9279
  references: "foundations",
8469
9280
  roles: "foundations",
@@ -8526,9 +9337,9 @@ function Q(e) {
8526
9337
  };
8527
9338
  return n(e);
8528
9339
  }
8529
- var Xs = /#([^#]*)$/;
8530
- function Zs(e, t, n = "") {
8531
- let r = e ?? "", i = n ?? "", a = Xs.exec(r);
9340
+ var Hc = /#([^#]*)$/;
9341
+ function Uc(e, t, n = "") {
9342
+ let r = e ?? "", i = n ?? "", a = Hc.exec(r);
8532
9343
  a && (r = r.slice(0, a.index), i ||= a[1]);
8533
9344
  let o = r.lastIndexOf(":"), s = r, c = "";
8534
9345
  if (o >= 0) {
@@ -8542,11 +9353,11 @@ function Zs(e, t, n = "") {
8542
9353
  fragment: i
8543
9354
  };
8544
9355
  }
8545
- var Qs = [
9356
+ var Wc = [
8546
9357
  "source",
8547
9358
  "sourceRef",
8548
9359
  "sourceRefs"
8549
- ], $s = {
9360
+ ], Gc = {
8550
9361
  requirements: {
8551
9362
  statement: [
8552
9363
  "name",
@@ -8595,7 +9406,7 @@ var Qs = [
8595
9406
  "profile"
8596
9407
  ]
8597
9408
  }
8598
- }, ec = [
9409
+ }, Kc = [
8599
9410
  "name",
8600
9411
  "label",
8601
9412
  "title",
@@ -8604,16 +9415,16 @@ var Qs = [
8604
9415
  "statement",
8605
9416
  "purpose",
8606
9417
  "text"
8607
- ], tc = [
9418
+ ], qc = [
8608
9419
  "parent",
8609
9420
  "bindsTo",
8610
9421
  "targets",
8611
9422
  "conformanceProcessId",
8612
9423
  "conformanceProcessIds"
8613
9424
  ];
8614
- function nc(e) {
9425
+ function Jc(e) {
8615
9426
  let t = {}, n = (e, n) => {
8616
- n && typeof n == "object" && (n.doc || n.clause) && (t[e] ??= []).push(Zs(n.doc ?? "", n.clause ?? "", n.fragment));
9427
+ n && typeof n == "object" && (n.doc || n.clause) && (t[e] ??= []).push(Uc(n.doc ?? "", n.clause ?? "", n.fragment));
8617
9428
  };
8618
9429
  n("source", e.source), n("sourceRef", e.sourceRef);
8619
9430
  for (let t of e.sourceRefs ?? []) n("sourceRefs", t);
@@ -8625,7 +9436,7 @@ function nc(e) {
8625
9436
  let i = (e) => {
8626
9437
  let t = /* @__PURE__ */ new Set();
8627
9438
  return e.filter((e) => {
8628
- let n = rc(e);
9439
+ let n = Yc(e);
8629
9440
  return !t.has(n) && (t.add(n), !0);
8630
9441
  });
8631
9442
  };
@@ -8635,17 +9446,17 @@ function nc(e) {
8635
9446
  channels: t
8636
9447
  };
8637
9448
  }
8638
- function rc(e) {
9449
+ function Yc(e) {
8639
9450
  return Q({
8640
9451
  basis: e.basis,
8641
9452
  clause: e.clause,
8642
9453
  fragment: e.fragment
8643
9454
  });
8644
9455
  }
8645
- function ic(e, t) {
8646
- let n = String(t.id ?? t.entityName ?? ""), r = Ys[e] ?? "cross-cutting", { edges: i, channels: a } = nc(t), o = new Set(Qs);
9456
+ function Xc(e, t) {
9457
+ let n = String(t.id ?? t.entityName ?? ""), r = Vc[e] ?? "cross-cutting", { edges: i, channels: a } = Jc(t), o = new Set(Wc);
8647
9458
  typeof t.reference == "string" && t.reference.startsWith("urn:") && o.add("reference");
8648
- let s = {}, c = {}, l = $s[e], u = (e) => {
9459
+ let s = {}, c = {}, l = Gc[e], u = (e) => {
8649
9460
  let n = {};
8650
9461
  for (let r of e) t[r] !== void 0 && (n[r] = t[r], o.add(r), s[r] = t[r]);
8651
9462
  return n;
@@ -8665,9 +9476,9 @@ function ic(e, t) {
8665
9476
  c[`spelling:${t.spelling}`] = Q(e), s[`spelling:${t.spelling}`] = e;
8666
9477
  }
8667
9478
  } else {
8668
- let e = u(ec);
9479
+ let e = u(Kc);
8669
9480
  Object.keys(e).length > 0 && (c.statement = Q(e));
8670
- let t = u(tc);
9481
+ let t = u(qc);
8671
9482
  Object.keys(t).length > 0 && (c.anchor = Q(t));
8672
9483
  }
8673
9484
  if (i.length > 0) {
@@ -8694,31 +9505,31 @@ function ic(e, t) {
8694
9505
  provenance: i
8695
9506
  };
8696
9507
  }
8697
- function ac(e, t) {
9508
+ function Zc(e, t) {
8698
9509
  let n = /* @__PURE__ */ new Map();
8699
- for (let r of Object.keys(Ys)) {
9510
+ for (let r of Object.keys(Vc)) {
8700
9511
  let i = e[r];
8701
9512
  if (Array.isArray(i)) {
8702
9513
  for (let e of i) if (e && typeof e == "object" && ("id" in e || "entityName" in e)) {
8703
- let i = ic(r, e);
9514
+ let i = Xc(r, e);
8704
9515
  n.has(i.key) && t?.push(i.key), n.set(i.key, i);
8705
9516
  }
8706
9517
  }
8707
9518
  }
8708
9519
  return n;
8709
9520
  }
8710
- function oc(e, t) {
9521
+ function Qc(e, t) {
8711
9522
  return `${e}#${t}`;
8712
9523
  }
8713
9524
  function $(e) {
8714
9525
  return e?.version ?? "";
8715
9526
  }
8716
- function sc(e) {
9527
+ function $c(e) {
8717
9528
  let t = [...new Set(e)].sort();
8718
9529
  return t.filter((e) => !t.some((t) => t !== e && e.startsWith(t + ".")));
8719
9530
  }
8720
- function cc(e, t, n) {
8721
- let r = n.mappingsA ?? zs(e), i = n.mappingsB ?? zs(t), a = (e) => `${e.sourceModel}#${e.source}⇒${e.target}`, o = new Map(r.map((e) => [a(e), e])), s = new Map(i.map((e) => [a(e), e])), c = [], l = [], u = [];
9531
+ function el(e, t, n) {
9532
+ let r = n.mappingsA ?? jc(e), i = n.mappingsB ?? jc(t), a = (e) => `${e.sourceModel}#${e.source}⇒${e.target}`, o = new Map(r.map((e) => [a(e), e])), s = new Map(i.map((e) => [a(e), e])), c = [], l = [], u = [];
8722
9533
  for (let [e, t] of s) o.has(e) || c.push(t);
8723
9534
  for (let [e, t] of o) {
8724
9535
  let n = s.get(e);
@@ -8739,7 +9550,7 @@ function cc(e, t, n) {
8739
9550
  let o = (e) => {
8740
9551
  let t = n.references?.[a];
8741
9552
  if (t) return t;
8742
- let r = Bs(e, { idPrefix: `${a}#` });
9553
+ let r = Mc(e, { idPrefix: `${a}#` });
8743
9554
  return r.length > 0 ? r : null;
8744
9555
  }, s = o(e), c = o(t);
8745
9556
  if (!s && !c) {
@@ -8748,11 +9559,11 @@ function cc(e, t, n) {
8748
9559
  }
8749
9560
  let l = /* @__PURE__ */ new Map();
8750
9561
  if (s) {
8751
- let t = Hs(e, s, r, a);
9562
+ let t = Pc(e, s, r, a);
8752
9563
  for (let e of t.components) l.set(e.id, { from: e.coverage });
8753
9564
  }
8754
9565
  if (c) {
8755
- let e = Hs(t, c, i, a);
9566
+ let e = Pc(t, c, i, a);
8756
9567
  for (let t of e.components) {
8757
9568
  let e = l.get(t.id) ?? {};
8758
9569
  e.to = t.coverage, l.set(t.id, e);
@@ -8776,12 +9587,12 @@ function cc(e, t, n) {
8776
9587
  namespacesSkipped: p
8777
9588
  };
8778
9589
  }
8779
- function lc(e, t) {
9590
+ function tl(e, t) {
8780
9591
  let n = [];
8781
9592
  for (let [t, r] of e) {
8782
9593
  let e = /* @__PURE__ */ new Set([...t.provenance.map((e) => e.basis), ...r.provenance.map((e) => e.basis)]);
8783
9594
  for (let i of [...e].sort()) {
8784
- let e = (e) => sc(e.provenance.filter((e) => e.basis === i).map((e) => e.clause)).filter((e) => e.length > 0), a = e(t), o = e(r), s = a.filter((e) => !o.includes(e)), c = o.filter((e) => !a.includes(e));
9595
+ let e = (e) => $c(e.provenance.filter((e) => e.basis === i).map((e) => e.clause)).filter((e) => e.length > 0), a = e(t), o = e(r), s = a.filter((e) => !o.includes(e)), c = o.filter((e) => !a.includes(e));
8785
9596
  if (s.length === 0 && c.length === 0) continue;
8786
9597
  let l = {
8787
9598
  key: t.key,
@@ -8831,7 +9642,7 @@ function lc(e, t) {
8831
9642
  }
8832
9643
  let r = (e) => {
8833
9644
  if (e.kind !== "renumbered" || !t.sentencesA || !t.sentencesB) return "unavailable";
8834
- let n = t.sentencesA.get(oc(e.doc, e.from)), r = t.sentencesB.get(oc(e.doc, e.to));
9645
+ let n = t.sentencesA.get(Qc(e.doc, e.from)), r = t.sentencesB.get(Qc(e.doc, e.to));
8835
9646
  return n === void 0 || r === void 0 ? "unavailable" : n.replace(/\s+/g, " ").trim() === r.replace(/\s+/g, " ").trim() ? "same" : "differed";
8836
9647
  }, i = /* @__PURE__ */ new Map();
8837
9648
  for (let e of n) {
@@ -8847,21 +9658,21 @@ function lc(e, t) {
8847
9658
  }
8848
9659
  return [...i.values()].sort((e, t) => `${e.doc} ${e.from} ${e.to}`.localeCompare(`${t.doc} ${t.from} ${t.to}`));
8849
9660
  }
8850
- function uc(e, t, n) {
9661
+ function nl(e, t, n) {
8851
9662
  return e.kind !== "texts" || !n.startsWith("spelling:") ? n : n in e.aspects ? n in t.aspects ? `${n} (changed)` : `${n} (removed)` : `${n} (added)`;
8852
9663
  }
8853
- var dc = (e) => typeof e == "object" && !!e && !Array.isArray(e);
8854
- function fc(e, t, n, r) {
8855
- if (dc(t) && dc(n)) {
9664
+ var rl = (e) => typeof e == "object" && !!e && !Array.isArray(e);
9665
+ function il(e, t, n, r) {
9666
+ if (rl(t) && rl(n)) {
8856
9667
  let i = [.../* @__PURE__ */ new Set([...Object.keys(t), ...Object.keys(n)])].sort();
8857
- for (let a of i) fc(`${e}.${a}`, t[a], n[a], r);
9668
+ for (let a of i) il(`${e}.${a}`, t[a], n[a], r);
8858
9669
  return;
8859
9670
  }
8860
9671
  Q(t) !== Q(n) && r.push(e);
8861
9672
  }
8862
- function pc(e, t) {
9673
+ function al(e, t) {
8863
9674
  let n = [.../* @__PURE__ */ new Set([...Object.keys(e.fields), ...Object.keys(t.fields)])].sort(), r = [];
8864
- for (let i of n) fc(i, e.fields[i], t.fields[i], r);
9675
+ for (let i of n) il(i, e.fields[i], t.fields[i], r);
8865
9676
  let i = [
8866
9677
  "source",
8867
9678
  "sourceRef",
@@ -8874,8 +9685,8 @@ function pc(e, t) {
8874
9685
  return !a.has(r) && (a.add(r), !0);
8875
9686
  });
8876
9687
  }
8877
- function mc(e, t, n = {}) {
8878
- let r = [], i = [], a = ac(e, r), o = ac(t, i), s = [], c = [], l = [], u = [], d = [], f = 0, p = Object.fromEntries(Js.map((e) => [e, {
9688
+ function ol(e, t, n = {}) {
9689
+ let r = [], i = [], a = Zc(e, r), o = Zc(t, i), s = [], c = [], l = [], u = [], d = [], f = 0, p = Object.fromEntries(Bc.map((e) => [e, {
8879
9690
  added: 0,
8880
9691
  removed: 0,
8881
9692
  changed: 0,
@@ -8913,11 +9724,11 @@ function mc(e, t, n = {}) {
8913
9724
  id: t.id,
8914
9725
  kind: t.kind,
8915
9726
  tier: t.tier,
8916
- aspects: r.map((e) => uc(t, n, e)).sort(),
8917
- fields: pc(t, n)
9727
+ aspects: r.map((e) => nl(t, n, e)).sort(),
9728
+ fields: al(t, n)
8918
9729
  }), p[t.tier].changed++);
8919
9730
  }
8920
- let m = cc(e, t, n), h = lc(d, n), g = s.length === 0 && c.length === 0 && l.length === 0 && u.length === 0 && m.added.length === 0 && m.removed.length === 0 && m.changed.length === 0 && m.coverageDelta.length === 0 && h.length === 0, _ = e.packageManifest, v = t.packageManifest, y = n.aLabel ?? (_?.id ? `${_.id}@${$(_) || "?"}` : "a"), b = n.bLabel ?? (v?.id ? `${v.id}@${$(v) || "?"}` : "b"), x = !!_?.id && _.id === v?.id && $(_) !== $(v), S = (e, t) => `${e}: duplicate element ${t} — the last declaration wins (a data error the duplicate-id linter owns); this side under-reports`, C = [...r.map((e) => S(y, e)), ...i.map((e) => S(b, e))];
9731
+ let m = el(e, t, n), h = tl(d, n), g = s.length === 0 && c.length === 0 && l.length === 0 && u.length === 0 && m.added.length === 0 && m.removed.length === 0 && m.changed.length === 0 && m.coverageDelta.length === 0 && h.length === 0, _ = e.packageManifest, v = t.packageManifest, y = n.aLabel ?? (_?.id ? `${_.id}@${$(_) || "?"}` : "a"), b = n.bLabel ?? (v?.id ? `${v.id}@${$(v) || "?"}` : "b"), x = !!_?.id && _.id === v?.id && $(_) !== $(v), S = (e, t) => `${e}: duplicate element ${t} — the last declaration wins (a data error the duplicate-id linter owns); this side under-reports`, C = [...r.map((e) => S(y, e)), ...i.map((e) => S(b, e))];
8921
9732
  return {
8922
9733
  aLabel: y,
8923
9734
  bLabel: b,
@@ -8936,40 +9747,40 @@ function mc(e, t, n = {}) {
8936
9747
  empty: g
8937
9748
  };
8938
9749
  }
8939
- function hc(e) {
9750
+ function sl(e) {
8940
9751
  return `[${e.tier}/${e.kind}] ${e.id}`;
8941
9752
  }
8942
- function gc(e, t) {
9753
+ function cl(e, t) {
8943
9754
  try {
8944
9755
  let n = e ? JSON.parse(e) : {}, r = t ? JSON.parse(t) : {}, i = [.../* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(r)])].sort().filter((e) => Q(n[e]) !== Q(r[e])).map((e) => `${e}: ${Q(n[e])} → ${Q(r[e])}`);
8945
9756
  if (i.length > 0) return i;
8946
9757
  } catch {}
8947
9758
  return [`from ${e}`, `to ${t}`];
8948
9759
  }
8949
- function _c(e) {
9760
+ function ll(e) {
8950
9761
  let t = [], n = e.editionComparison ? `edition comparison — ${e.aLabel} → ${e.bLabel}` : `model diff — ${e.aLabel} → ${e.bLabel}`;
8951
9762
  t.push(`primmel diff: ${n}`), t.push(""), t.push(`elements: +${e.added.length} -${e.removed.length} ~${e.changed.length} >${e.moved.length} (${e.unchanged} unchanged)`), t.push(""), t.push("by tier: added removed changed moved unchanged");
8952
- for (let n of Js) {
9763
+ for (let n of Bc) {
8953
9764
  let r = e.byTier[n];
8954
9765
  t.push(` ${n.padEnd(13)} ${String(r.added).padStart(5)} ${String(r.removed).padStart(8)} ${String(r.changed).padStart(8)} ${String(r.moved).padStart(6)} ${String(r.unchanged).padStart(9)}`);
8955
9766
  }
8956
9767
  if (e.added.length > 0) {
8957
9768
  t.push("", "added:");
8958
- for (let n of e.added) t.push(` + ${hc(n)}`);
9769
+ for (let n of e.added) t.push(` + ${sl(n)}`);
8959
9770
  }
8960
9771
  if (e.removed.length > 0) {
8961
9772
  t.push("", "removed:");
8962
- for (let n of e.removed) t.push(` - ${hc(n)}`);
9773
+ for (let n of e.removed) t.push(` - ${sl(n)}`);
8963
9774
  }
8964
9775
  if (e.changed.length > 0) {
8965
9776
  t.push("", "changed:");
8966
- for (let n of e.changed) t.push(` ~ ${hc(n)} — ${n.aspects.join(", ")} (fields: ${n.fields.join(", ")})`);
9777
+ for (let n of e.changed) t.push(` ~ ${sl(n)} — ${n.aspects.join(", ")} (fields: ${n.fields.join(", ")})`);
8967
9778
  }
8968
9779
  if (e.moved.length > 0) {
8969
9780
  t.push("", "moved (re-anchored):");
8970
9781
  for (let n of e.moved) {
8971
- t.push(` > ${hc(n)}`);
8972
- for (let e of gc(n.from, n.to)) t.push(` ${e}`);
9782
+ t.push(` > ${sl(n)}`);
9783
+ for (let e of cl(n.from, n.to)) t.push(` ${e}`);
8973
9784
  }
8974
9785
  }
8975
9786
  if (e.warnings.length > 0) {
@@ -8994,27 +9805,27 @@ function _c(e) {
8994
9805
  }
8995
9806
  //#endregion
8996
9807
  //#region src/ser-des/index.ts
8997
- function vc(e, t = {}) {
8998
- return p(u(e, Jo, t), Yo);
9808
+ function ul(e, t = {}) {
9809
+ return p(u(e, Bs, t), Vs);
8999
9810
  }
9000
- function yc(e, t = {}) {
9001
- let n = u(e, Jo, t);
9811
+ function dl(e, t = {}) {
9812
+ let n = u(e, Bs, t);
9002
9813
  return {
9003
- standard: p(n, Yo),
9814
+ standard: p(n, Vs),
9004
9815
  issues: n.issues
9005
9816
  };
9006
9817
  }
9007
- function bc(e, t = {}) {
9008
- return vc($o(e), t);
9818
+ function fl(e, t = {}) {
9819
+ return ul(Gs(e), t);
9009
9820
  }
9010
- function xc(e, t = {}) {
9011
- return yc($o(e), t);
9821
+ function pl(e, t = {}) {
9822
+ return dl(Gs(e), t);
9012
9823
  }
9013
- function Sc(e) {
9014
- return Ue(e, Xo);
9824
+ function ml(e) {
9825
+ return Ue(e, Hs);
9015
9826
  }
9016
- function Cc(e) {
9017
- return es(e);
9827
+ function hl(e) {
9828
+ return Ks(e);
9018
9829
  }
9019
9830
  //#endregion
9020
- export { X as CompositionError, vi as ENDPOINT_ACCESS_SCOPES, _i as ENDPOINT_OPERATION_KINDS, ho as PASSPORT_ACCESS_CLASSES, mo as PASSPORT_CONTENT_CLASSES, go as PASSPORT_UPI_LEVELS, Ms as PRIMITIVE_TYPES, Ys as TIER_BY_FIELD, Js as TIER_ORDER, Ks as applyView, Bs as buildProcessTree, Q as canonical, oc as clauseTextKey, zs as collectMappings, qs as componentIds, Hs as computeCoverage, mc as diffStandards, Us as discoverTransitive, Sc as dump, hi as dumpPackage, ks as dumpPrm, bs as effectiveUses, ac as elementIndex, _c as formatDiffReport, ds as groupBySourceFile, Is as isWellFormedMapType, vc as load, bc as loadFile, xc as loadFileWithIssues, us as loadPackage, ys as loadPackageWithIssues, fs as loadPackageWithProvenance, Os as loadPrm, yc as loadWithIssues, js as mapProfilesToPrm, Rs as mappingsFromProfile, Zs as normalizeSourceRef, ls as packageFiles, Ls as parseTargetRef, Fs as parseTypeExpression, As as prmToMapProfiles, _s as readPackageManifest, Ws as repoMap, Cc as validate };
9831
+ export { X as CompositionError, vi as ENDPOINT_ACCESS_SCOPES, _i as ENDPOINT_OPERATION_KINDS, ho as PASSPORT_ACCESS_CLASSES, mo as PASSPORT_CONTENT_CLASSES, go as PASSPORT_UPI_LEVELS, wc as PRIMITIVE_TYPES, Vc as TIER_BY_FIELD, Bc as TIER_ORDER, Rc as applyView, Mc as buildProcessTree, Q as canonical, Qc as clauseTextKey, jc as collectMappings, zc as componentIds, Pc as computeCoverage, ol as diffStandards, Fc as discoverTransitive, ml as dump, hi as dumpPackage, xc as dumpPrm, fc as effectiveUses, Zc as elementIndex, ll as formatDiffReport, rc as groupBySourceFile, Oc as isWellFormedMapType, ul as load, fl as loadFile, pl as loadFileWithIssues, nc as loadPackage, dc as loadPackageWithIssues, ic as loadPackageWithProvenance, bc as loadPrm, dl as loadWithIssues, Cc as mapProfilesToPrm, Ac as mappingsFromProfile, Uc as normalizeSourceRef, tc as packageFiles, kc as parseTargetRef, Dc as parseTypeExpression, Sc as prmToMapProfiles, lc as readPackageManifest, Ic as repoMap, hl as validate };