@primmel/primmel 1.10.0 → 1.11.1

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 +44 -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 +990 -178
  70. package/dist-cli/primmel.mjs +1715 -4
  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,31 @@ 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
- "evaluation"
8582
+ "evaluation",
8583
+ "framework"
7772
8584
  ];
7773
- function cs(e) {
8585
+ function ec(e) {
7774
8586
  let t = [];
7775
8587
  if (!(0, Y.existsSync)(e)) return t;
7776
8588
  for (let n of (0, Y.readdirSync)(e).sort()) {
7777
8589
  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);
8590
+ (0, Y.statSync)(r).isDirectory() ? t.push(...ec(r)) : (n.endsWith(".prl") || n.endsWith(".mmel")) && t.push(r);
7779
8591
  }
7780
8592
  return t;
7781
8593
  }
7782
- function ls(e) {
8594
+ function tc(e) {
7783
8595
  let t = (0, Y.resolve)(e), n = [], r = (0, Y.join)(t, "package.primmel");
7784
8596
  (0, Y.existsSync)(r) && n.push({
7785
8597
  path: r,
7786
8598
  role: "manifest"
7787
8599
  });
7788
8600
  let i = [];
7789
- for (let e of ss) i.push(...cs((0, Y.join)(t, e)));
8601
+ for (let e of $s) i.push(...ec((0, Y.join)(t, e)));
7790
8602
  for (let e of (0, Y.readdirSync)(t).sort()) {
7791
8603
  let n = (0, Y.join)(t, e);
7792
8604
  (0, Y.statSync)(n).isFile() && (e.endsWith(".prl") || e.endsWith(".mmel")) && e !== "package.primmel" && e !== ".primmel-allowlist.prl" && i.push(n);
@@ -7798,10 +8610,10 @@ function ls(e) {
7798
8610
  });
7799
8611
  return n;
7800
8612
  }
7801
- function us(e, t = {}) {
7802
- return vs(e, t).standard;
8613
+ function nc(e, t = {}) {
8614
+ return uc(e, t).standard;
7803
8615
  }
7804
- function ds(e, t) {
8616
+ function rc(e, t) {
7805
8617
  let n = /* @__PURE__ */ new Map(), r = [];
7806
8618
  for (let i of t) {
7807
8619
  let t = e.constructs[i.field]?.[i.id];
@@ -7817,37 +8629,37 @@ function ds(e, t) {
7817
8629
  unassigned: r
7818
8630
  };
7819
8631
  }
7820
- function fs(e, t = {}) {
7821
- let n = vs(e, t, !0);
8632
+ function ic(e, t = {}) {
8633
+ let n = uc(e, t, !0);
7822
8634
  if (!n.provenance) throw Error("loadPackageWithProvenance: provenance not collected");
7823
8635
  return {
7824
8636
  ...n,
7825
8637
  provenance: n.provenance
7826
8638
  };
7827
8639
  }
7828
- function ps(e) {
8640
+ function ac(e) {
7829
8641
  let t = 0;
7830
8642
  for (let n = 0; n < e.length; n++) e.charAt(n) === "\n" && t++;
7831
8643
  return t;
7832
8644
  }
7833
- function ms(e) {
8645
+ function oc(e) {
7834
8646
  let t = [], n = 0, r = 1;
7835
8647
  for (let i of e) {
7836
8648
  if (i.role !== "content") continue;
7837
- let e = $o(i.path);
8649
+ let e = Gs(i.path);
7838
8650
  t.push({
7839
8651
  path: i.path,
7840
8652
  text: e,
7841
8653
  start: n,
7842
8654
  lineStart: r
7843
- }), n += e.length + 2, r += ps(e) + 2;
8655
+ }), n += e.length + 2, r += ac(e) + 2;
7844
8656
  }
7845
8657
  return t;
7846
8658
  }
7847
- function hs(e) {
8659
+ function sc(e) {
7848
8660
  return e.map((e) => e.text).join("\n\n");
7849
8661
  }
7850
- function gs(e, t, n) {
8662
+ function cc(e, t, n) {
7851
8663
  let r = {}, i = 0;
7852
8664
  for (let a of e) {
7853
8665
  for (; i + 1 < t.length && a.start.offset >= t[i + 1].start;) i++;
@@ -7867,7 +8679,7 @@ function gs(e, t, n) {
7867
8679
  }
7868
8680
  return r;
7869
8681
  }
7870
- function _s(e) {
8682
+ function lc(e) {
7871
8683
  let t = (0, Y.join)((0, Y.resolve)(e), "package.primmel");
7872
8684
  if (!(0, Y.existsSync)(t)) throw Error(`loadPackage: no package.primmel found in ${(0, Y.resolve)(e)}`);
7873
8685
  let n = (0, Y.readFileSync)(t, "utf8"), r = { packageManifest: null };
@@ -7876,37 +8688,37 @@ function _s(e) {
7876
8688
  if (!i || !i.id) throw Error(`loadPackage: ${t} is not a valid package manifest`);
7877
8689
  return i;
7878
8690
  }
7879
- function vs(e, t = {}, n = !1) {
7880
- let r = ls(e);
8691
+ function uc(e, t = {}, n = !1) {
8692
+ let r = tc(e);
7881
8693
  if (r.length === 0) throw Error(`loadPackage: no package files found in ${(0, Y.resolve)(e)}`);
7882
8694
  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);
8695
+ r.some((e) => e.role === "manifest") && (i = lc(e));
8696
+ let a = oc(r);
8697
+ if (i && t.resolvePackage && fc(i).length > 0) return gc(e, t, i, n);
7886
8698
  let o = n ? {
7887
8699
  ...t,
7888
8700
  withProvenance: !0
7889
- } : t, s = u(hs(a), Jo, o);
8701
+ } : t, s = u(sc(a), Bs, o);
7890
8702
  if (i) {
7891
8703
  s.packageManifest = i;
7892
- let e = xs(i);
8704
+ let e = pc(i);
7893
8705
  e && s.issues.push(e);
7894
8706
  }
7895
8707
  let c = {
7896
- standard: p(s, Yo),
8708
+ standard: p(s, Vs),
7897
8709
  issues: s.issues
7898
8710
  };
7899
8711
  if (n) {
7900
8712
  let e = r.find((e) => e.role === "manifest")?.path;
7901
8713
  c.provenance = {
7902
8714
  ...e === void 0 ? {} : { manifest: e },
7903
- constructs: gs(s.constructs ?? [], a, i?.id)
8715
+ constructs: cc(s.constructs ?? [], a, i?.id)
7904
8716
  };
7905
8717
  }
7906
8718
  return c;
7907
8719
  }
7908
- function ys(e, t = {}) {
7909
- return vs(e, t);
8720
+ function dc(e, t = {}) {
8721
+ return uc(e, t);
7910
8722
  }
7911
8723
  var X = class extends Error {
7912
8724
  rule;
@@ -7914,12 +8726,12 @@ var X = class extends Error {
7914
8726
  super(t), this.rule = e, this.name = "CompositionError";
7915
8727
  }
7916
8728
  };
7917
- function bs(e) {
8729
+ function fc(e) {
7918
8730
  let t = [];
7919
8731
  for (let n of [...e.uses ?? [], ...e.extends ? [e.extends] : []]) t.includes(n) || t.push(n);
7920
8732
  return t;
7921
8733
  }
7922
- function xs(e) {
8734
+ function pc(e) {
7923
8735
  return e.extends ? {
7924
8736
  severity: "warning",
7925
8737
  code: "extends-deprecated",
@@ -7928,25 +8740,25 @@ function xs(e) {
7928
8740
  message: `package "${e.id}": 'extends ${e.extends}' is deprecated — declare 'uses { ${e.extends} }' instead (extends is treated as a single-entry uses)`
7929
8741
  } : null;
7930
8742
  }
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));
8743
+ 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(".");
8744
+ function hc(e, t) {
8745
+ let n = oc(tc(e));
7934
8746
  return {
7935
- ctx: u(hs(n), Jo, t),
8747
+ ctx: u(sc(n), Bs, t),
7936
8748
  chunks: n
7937
8749
  };
7938
8750
  }
7939
- function ws(e, t, n, r = !1) {
8751
+ function gc(e, t, n, r = !1) {
7940
8752
  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
8753
  l.set(e, 1), u.push(e);
7942
- for (let t of bs(s.get(e))) {
8754
+ for (let t of fc(s.get(e))) {
7943
8755
  let n = l.get(t) ?? 0;
7944
8756
  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
8757
  if (n !== 2) {
7946
8758
  if (!o.has(t)) {
7947
8759
  let n = i(t);
7948
8760
  if (!n) throw new X("uses-resolves", `package "${e}" uses "${t}", which the package locator cannot resolve (uses-resolves)`);
7949
- let r = _s(n);
8761
+ let r = lc(n);
7950
8762
  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
8763
  if (o.set(t, n), s.set(t, r), r.kind === "product_reference") {
7952
8764
  l.set(t, 2);
@@ -7964,13 +8776,13 @@ function ws(e, t, n, r = !1) {
7964
8776
  withProvenance: !0
7965
8777
  } : t, m = /* @__PURE__ */ new Map(), h = /* @__PURE__ */ new Map();
7966
8778
  for (let e of c) {
7967
- let t = Cs(o.get(e), f);
8779
+ let t = hc(o.get(e), f);
7968
8780
  m.set(e, t.ctx), h.set(e, t.chunks);
7969
8781
  }
7970
8782
  let g = /* @__PURE__ */ new Map();
7971
- for (let e of Ss) g.set(e, /* @__PURE__ */ new Map());
8783
+ for (let e of mc) g.set(e, /* @__PURE__ */ new Map());
7972
8784
  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]);
8785
+ for (let e of mc) for (let t of Object.keys(_[e])) g.get(e).set(t, c[0]);
7974
8786
  let v = /* @__PURE__ */ new Map(), y = (e, t) => {
7975
8787
  for (let n of Object.keys(t.requirementClasses)) v.has(n) || v.set(n, e);
7976
8788
  }, b = (e, t) => {
@@ -7983,7 +8795,7 @@ function ws(e, t, n, r = !1) {
7983
8795
  for (let e of c.slice(1)) {
7984
8796
  let t = m.get(e);
7985
8797
  b(e, t);
7986
- for (let n of Ss) {
8798
+ for (let n of mc) {
7987
8799
  let r = _[n], i = g.get(n);
7988
8800
  for (let [a, o] of Object.entries(t[n])) {
7989
8801
  let t = i.get(a);
@@ -8012,12 +8824,12 @@ function ws(e, t, n, r = !1) {
8012
8824
  }
8013
8825
  });
8014
8826
  for (let e of s.values()) {
8015
- let t = xs(e);
8827
+ let t = pc(e);
8016
8828
  t && x.push(t);
8017
8829
  }
8018
8830
  _.packageManifest = n;
8019
8831
  let S = {
8020
- standard: p(_, Yo),
8832
+ standard: p(_, Vs),
8021
8833
  issues: [..._.issues, ...x],
8022
8834
  composition: {
8023
8835
  root: a,
@@ -8027,7 +8839,7 @@ function ws(e, t, n, r = !1) {
8027
8839
  if (r) {
8028
8840
  let t = {};
8029
8841
  for (let e of c) {
8030
- let n = gs(m.get(e).constructs ?? [], h.get(e), e);
8842
+ let n = cc(m.get(e).constructs ?? [], h.get(e), e);
8031
8843
  for (let [e, r] of Object.entries(n)) {
8032
8844
  let n = t[e] ??= {};
8033
8845
  for (let [e, t] of Object.entries(r)) n[e] = t;
@@ -8042,7 +8854,7 @@ function ws(e, t, n, r = !1) {
8042
8854
  }
8043
8855
  //#endregion
8044
8856
  //#region src/ser-des/prm.ts
8045
- var Ts = /* @__PURE__ */ new Set(["MMEL_MAP", "Primmel_MAP"]), Es = /* @__PURE__ */ new Set([
8857
+ var _c = /* @__PURE__ */ new Set(["MMEL_MAP", "Primmel_MAP"]), vc = /* @__PURE__ */ new Set([
8046
8858
  "full",
8047
8859
  "minimal",
8048
8860
  "partial",
@@ -8051,7 +8863,7 @@ var Ts = /* @__PURE__ */ new Set(["MMEL_MAP", "Primmel_MAP"]), Es = /* @__PURE__
8051
8863
  function Z(e) {
8052
8864
  throw Error(`.prm parse error: ${e}`);
8053
8865
  }
8054
- function Ds(e, t) {
8866
+ function yc(e, t) {
8055
8867
  let n = {
8056
8868
  description: "",
8057
8869
  justification: "",
@@ -8060,9 +8872,9 @@ function Ds(e, t) {
8060
8872
  if (e == null) return n;
8061
8873
  (typeof e != "object" || Array.isArray(e)) && Z(`${t}: pair metadata must be an object`);
8062
8874
  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;
8875
+ 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
8876
  }
8065
- function Os(e) {
8877
+ function bc(e) {
8066
8878
  let t;
8067
8879
  try {
8068
8880
  t = JSON.parse(e);
@@ -8071,7 +8883,7 @@ function Os(e) {
8071
8883
  }
8072
8884
  (typeof t != "object" || !t || Array.isArray(t)) && Z("top level must be an object");
8073
8885
  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}")`);
8886
+ _c.has(r) || Z(`"@type" must be MMEL_MAP or Primmel_MAP (got "${r}")`);
8075
8887
  let i = {
8076
8888
  context: typeof n["@context"] == "string" ? n["@context"] : "",
8077
8889
  type: r,
@@ -8087,20 +8899,20 @@ function Os(e) {
8087
8899
  coverage: {}
8088
8900
  }, a = n.coverage ?? {};
8089
8901
  (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;
8902
+ 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
8903
  let o = n.mappings ?? {};
8092
8904
  (typeof o != "object" || !o || Array.isArray(o)) && Z(`mapSet."${e}".mappings: must be an object`);
8093
8905
  for (let [t, n] of Object.entries(o)) {
8094
8906
  (typeof n != "object" || !n || Array.isArray(n)) && Z(`mapSet."${e}".mappings."${t}": must be an object`);
8095
8907
  let i = {};
8096
- for (let [r, a] of Object.entries(n)) i[r] = Ds(a, `mapSet."${e}".mappings."${t}"."${r}"`);
8908
+ for (let [r, a] of Object.entries(n)) i[r] = yc(a, `mapSet."${e}".mappings."${t}"."${r}"`);
8097
8909
  r.mappings[t] = i;
8098
8910
  }
8099
8911
  i.mapSet[e] = r;
8100
8912
  }
8101
8913
  return i;
8102
8914
  }
8103
- function ks(e) {
8915
+ function xc(e) {
8104
8916
  let t = {};
8105
8917
  e.context && (t["@context"] = e.context), t["@type"] = e.type || "Primmel_MAP", t.id = e.id;
8106
8918
  let n = {};
@@ -8125,7 +8937,7 @@ function ks(e) {
8125
8937
  }
8126
8938
  return t.mapSet = n, JSON.stringify(t, null, 2) + "\n";
8127
8939
  }
8128
- function As(e) {
8940
+ function Sc(e) {
8129
8941
  let t = [];
8130
8942
  for (let [n, r] of Object.entries(e.mapSet)) {
8131
8943
  let e = {};
@@ -8144,7 +8956,7 @@ function As(e) {
8144
8956
  }
8145
8957
  return t;
8146
8958
  }
8147
- function js(e, t) {
8959
+ function Cc(e, t) {
8148
8960
  let n = {
8149
8961
  context: "",
8150
8962
  type: "Primmel_MAP",
@@ -8172,7 +8984,7 @@ function js(e, t) {
8172
8984
  }
8173
8985
  //#endregion
8174
8986
  //#region src/type-expr.ts
8175
- var Ms = [
8987
+ var wc = [
8176
8988
  "integer",
8177
8989
  "float",
8178
8990
  "double",
@@ -8187,8 +8999,8 @@ var Ms = [
8187
8999
  "reference",
8188
9000
  "object",
8189
9001
  "any"
8190
- ], Ns = /^[A-Za-z_][A-Za-z0-9_-]*$/;
8191
- function Ps(e) {
9002
+ ], Tc = /^[A-Za-z_][A-Za-z0-9_-]*$/;
9003
+ function Ec(e) {
8192
9004
  let t = 0;
8193
9005
  for (let n = 0; n < e.length; n++) {
8194
9006
  let r = e[n];
@@ -8198,33 +9010,33 @@ function Ps(e) {
8198
9010
  }
8199
9011
  return null;
8200
9012
  }
8201
- function Fs(e) {
9013
+ function Dc(e) {
8202
9014
  let t = e.trim();
8203
9015
  if (t === "QuantityValue") return { kind: "quantity" };
8204
- if (Ms.includes(t)) return {
9016
+ if (wc.includes(t)) return {
8205
9017
  kind: "primitive",
8206
9018
  name: t
8207
9019
  };
8208
9020
  let n = /^reference\(([^)]+)\)$/.exec(t);
8209
9021
  if (n) {
8210
9022
  let e = n[1].trim();
8211
- return Ns.test(e) ? {
9023
+ return Tc.test(e) ? {
8212
9024
  kind: "reference",
8213
9025
  target: e
8214
9026
  } : null;
8215
9027
  }
8216
9028
  if (t.startsWith("map<") && t.endsWith(">")) {
8217
- let e = Ps(t.slice(4, -1));
9029
+ let e = Ec(t.slice(4, -1));
8218
9030
  if (!e) return null;
8219
9031
  let n = e[0].trim(), r = null;
8220
9032
  n === "string" ? r = {
8221
9033
  kind: "primitive",
8222
9034
  name: "string"
8223
- } : Ns.test(n) && (r = {
9035
+ } : Tc.test(n) && (r = {
8224
9036
  kind: "reference",
8225
9037
  target: n
8226
9038
  });
8227
- let i = Fs(e[1]);
9039
+ let i = Dc(e[1]);
8228
9040
  return !r || !i ? null : {
8229
9041
  kind: "map",
8230
9042
  key: r,
@@ -8233,13 +9045,13 @@ function Fs(e) {
8233
9045
  }
8234
9046
  return null;
8235
9047
  }
8236
- function Is(e) {
8237
- let t = Fs(e);
9048
+ function Oc(e) {
9049
+ let t = Dc(e);
8238
9050
  return t !== null && t.kind === "map";
8239
9051
  }
8240
9052
  //#endregion
8241
9053
  //#region src/mapping-coverage.ts
8242
- function Ls(e, t) {
9054
+ function kc(e, t) {
8243
9055
  let n = e.indexOf("#");
8244
9056
  if (n >= 0) {
8245
9057
  let t = e.slice(0, n), r = e.slice(n + 1);
@@ -8255,12 +9067,12 @@ function Ls(e, t) {
8255
9067
  qualified: t + "#" + e
8256
9068
  };
8257
9069
  }
8258
- function Rs(e, t) {
9070
+ function Ac(e, t) {
8259
9071
  let n = [];
8260
9072
  for (let [r, i] of Object.entries(e.mappings)) for (let a of i) n.push({
8261
9073
  source: r,
8262
9074
  sourceModel: t,
8263
- target: Ls(a.target, e.namespace).qualified,
9075
+ target: kc(a.target, e.namespace).qualified,
8264
9076
  targetModel: e.namespace,
8265
9077
  description: a.description,
8266
9078
  justification: a.justification,
@@ -8268,12 +9080,12 @@ function Rs(e, t) {
8268
9080
  });
8269
9081
  return n;
8270
9082
  }
8271
- function zs(e, t = {}) {
9083
+ function jc(e, t = {}) {
8272
9084
  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));
9085
+ for (let e of i) r.push(...Sc(e));
9086
+ return r.flatMap((e) => Ac(e, n));
8275
9087
  }
8276
- function Bs(e, t = {}) {
9088
+ function Mc(e, t = {}) {
8277
9089
  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
9090
  for (let e of r) a.set(e.id, {
8279
9091
  id: e.id.slice(n.length),
@@ -8287,18 +9099,18 @@ function Bs(e, t = {}) {
8287
9099
  }
8288
9100
  return o;
8289
9101
  }
8290
- function Vs(e, t) {
9102
+ function Nc(e, t) {
8291
9103
  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
9104
  }
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();
9105
+ function Pc(e, t, n, r, i = {}) {
9106
+ let a = Array.isArray(t) ? t : Mc(t), o = n.filter((e) => e.targetModel === r), s = /* @__PURE__ */ new Map();
8295
9107
  for (let e of o) {
8296
- let t = Ls(e.target, r).id;
9108
+ let t = kc(e.target, r).id;
8297
9109
  (s.get(t) ?? s.set(t, []).get(t)).push(e.source);
8298
9110
  }
8299
9111
  let c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), u = (e, t) => {
8300
9112
  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;
9113
+ 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
9114
  };
8303
9115
  for (let e of a) u(e, null);
8304
9116
  let d = [], f = /* @__PURE__ */ new Map(), p = (e) => {
@@ -8320,7 +9132,7 @@ function Hs(e, t, n, r, i = {}) {
8320
9132
  for (let e of d) m[e.coverage]++;
8321
9133
  let h = [], g = /* @__PURE__ */ new Set();
8322
9134
  for (let e of o) {
8323
- let t = Ls(e.target, r).id;
9135
+ let t = kc(e.target, r).id;
8324
9136
  f.has(t) ? g.add(e.source) : h.push({
8325
9137
  source: e.source,
8326
9138
  target: e.target
@@ -8331,7 +9143,7 @@ function Hs(e, t, n, r, i = {}) {
8331
9143
  y.has(t) || (y.add(t), v.push(e));
8332
9144
  };
8333
9145
  for (let e of o) {
8334
- let t = Ls(e.target, r).id, n = f.get(t);
9146
+ let t = kc(e.target, r).id, n = f.get(t);
8335
9147
  if (!n) continue;
8336
9148
  let i = (e, t) => {
8337
9149
  for (let n of e.children) t.push(n), i(n, t);
@@ -8378,7 +9190,7 @@ function Hs(e, t, n, r, i = {}) {
8378
9190
  summary: m
8379
9191
  };
8380
9192
  }
8381
- function Us(e) {
9193
+ function Fc(e) {
8382
9194
  let t = [], n = /* @__PURE__ */ new Set();
8383
9195
  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
9196
  if (i.target !== `${r.modelId}#${e.source}`) continue;
@@ -8396,7 +9208,7 @@ function Us(e) {
8396
9208
  }
8397
9209
  return t;
8398
9210
  }
8399
- function Ws(e) {
9211
+ function Ic(e) {
8400
9212
  let t = /* @__PURE__ */ new Map();
8401
9213
  for (let n of e) for (let e of n.mappings) {
8402
9214
  let r = `${n.modelId}→${e.targetModel}`, i = t.get(r) ?? {
@@ -8408,14 +9220,14 @@ function Ws(e) {
8408
9220
  }
8409
9221
  return [...t.values()];
8410
9222
  }
8411
- function Gs(e) {
9223
+ function Lc(e) {
8412
9224
  if (e && typeof e == "object") {
8413
- for (let t of Object.values(e)) Gs(t);
9225
+ for (let t of Object.values(e)) Lc(t);
8414
9226
  Object.freeze(e);
8415
9227
  }
8416
9228
  return e;
8417
9229
  }
8418
- function Ks(e, t, n = null) {
9230
+ function Rc(e, t, n = null) {
8419
9231
  let r = new Set(t.visibleElements ?? []), i = r.size > 0, a = i ? [...r] : (e.processes ?? []).map((e) => e.id), o = null;
8420
9232
  if (n) {
8421
9233
  let e = n.components.filter((e) => !i || r.has(e.id) || e.mappedBy.some((e) => r.has(e))), t = {
@@ -8433,14 +9245,14 @@ function Ks(e, t, n = null) {
8433
9245
  summary: t
8434
9246
  };
8435
9247
  }
8436
- return Gs({
9248
+ return Lc({
8437
9249
  id: t.id,
8438
9250
  against: t.against ?? "",
8439
9251
  elements: a,
8440
9252
  coverage: o
8441
9253
  });
8442
9254
  }
8443
- function qs(e) {
9255
+ function zc(e) {
8444
9256
  let t = /* @__PURE__ */ new Set(), n = (e) => {
8445
9257
  for (let n of e ?? []) t.add(n.id);
8446
9258
  };
@@ -8457,13 +9269,13 @@ function qs(e) {
8457
9269
  }
8458
9270
  //#endregion
8459
9271
  //#region src/model-diff.ts
8460
- var Js = [
9272
+ var Bc = [
8461
9273
  "foundations",
8462
9274
  "primary",
8463
9275
  "secondary",
8464
9276
  "tertiary",
8465
9277
  "cross-cutting"
8466
- ], Ys = {
9278
+ ], Vc = {
8467
9279
  terms: "foundations",
8468
9280
  references: "foundations",
8469
9281
  roles: "foundations",
@@ -8526,9 +9338,9 @@ function Q(e) {
8526
9338
  };
8527
9339
  return n(e);
8528
9340
  }
8529
- var Xs = /#([^#]*)$/;
8530
- function Zs(e, t, n = "") {
8531
- let r = e ?? "", i = n ?? "", a = Xs.exec(r);
9341
+ var Hc = /#([^#]*)$/;
9342
+ function Uc(e, t, n = "") {
9343
+ let r = e ?? "", i = n ?? "", a = Hc.exec(r);
8532
9344
  a && (r = r.slice(0, a.index), i ||= a[1]);
8533
9345
  let o = r.lastIndexOf(":"), s = r, c = "";
8534
9346
  if (o >= 0) {
@@ -8542,11 +9354,11 @@ function Zs(e, t, n = "") {
8542
9354
  fragment: i
8543
9355
  };
8544
9356
  }
8545
- var Qs = [
9357
+ var Wc = [
8546
9358
  "source",
8547
9359
  "sourceRef",
8548
9360
  "sourceRefs"
8549
- ], $s = {
9361
+ ], Gc = {
8550
9362
  requirements: {
8551
9363
  statement: [
8552
9364
  "name",
@@ -8595,7 +9407,7 @@ var Qs = [
8595
9407
  "profile"
8596
9408
  ]
8597
9409
  }
8598
- }, ec = [
9410
+ }, Kc = [
8599
9411
  "name",
8600
9412
  "label",
8601
9413
  "title",
@@ -8604,16 +9416,16 @@ var Qs = [
8604
9416
  "statement",
8605
9417
  "purpose",
8606
9418
  "text"
8607
- ], tc = [
9419
+ ], qc = [
8608
9420
  "parent",
8609
9421
  "bindsTo",
8610
9422
  "targets",
8611
9423
  "conformanceProcessId",
8612
9424
  "conformanceProcessIds"
8613
9425
  ];
8614
- function nc(e) {
9426
+ function Jc(e) {
8615
9427
  let t = {}, n = (e, n) => {
8616
- n && typeof n == "object" && (n.doc || n.clause) && (t[e] ??= []).push(Zs(n.doc ?? "", n.clause ?? "", n.fragment));
9428
+ n && typeof n == "object" && (n.doc || n.clause) && (t[e] ??= []).push(Uc(n.doc ?? "", n.clause ?? "", n.fragment));
8617
9429
  };
8618
9430
  n("source", e.source), n("sourceRef", e.sourceRef);
8619
9431
  for (let t of e.sourceRefs ?? []) n("sourceRefs", t);
@@ -8625,7 +9437,7 @@ function nc(e) {
8625
9437
  let i = (e) => {
8626
9438
  let t = /* @__PURE__ */ new Set();
8627
9439
  return e.filter((e) => {
8628
- let n = rc(e);
9440
+ let n = Yc(e);
8629
9441
  return !t.has(n) && (t.add(n), !0);
8630
9442
  });
8631
9443
  };
@@ -8635,17 +9447,17 @@ function nc(e) {
8635
9447
  channels: t
8636
9448
  };
8637
9449
  }
8638
- function rc(e) {
9450
+ function Yc(e) {
8639
9451
  return Q({
8640
9452
  basis: e.basis,
8641
9453
  clause: e.clause,
8642
9454
  fragment: e.fragment
8643
9455
  });
8644
9456
  }
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);
9457
+ function Xc(e, t) {
9458
+ let n = String(t.id ?? t.entityName ?? ""), r = Vc[e] ?? "cross-cutting", { edges: i, channels: a } = Jc(t), o = new Set(Wc);
8647
9459
  typeof t.reference == "string" && t.reference.startsWith("urn:") && o.add("reference");
8648
- let s = {}, c = {}, l = $s[e], u = (e) => {
9460
+ let s = {}, c = {}, l = Gc[e], u = (e) => {
8649
9461
  let n = {};
8650
9462
  for (let r of e) t[r] !== void 0 && (n[r] = t[r], o.add(r), s[r] = t[r]);
8651
9463
  return n;
@@ -8665,9 +9477,9 @@ function ic(e, t) {
8665
9477
  c[`spelling:${t.spelling}`] = Q(e), s[`spelling:${t.spelling}`] = e;
8666
9478
  }
8667
9479
  } else {
8668
- let e = u(ec);
9480
+ let e = u(Kc);
8669
9481
  Object.keys(e).length > 0 && (c.statement = Q(e));
8670
- let t = u(tc);
9482
+ let t = u(qc);
8671
9483
  Object.keys(t).length > 0 && (c.anchor = Q(t));
8672
9484
  }
8673
9485
  if (i.length > 0) {
@@ -8694,31 +9506,31 @@ function ic(e, t) {
8694
9506
  provenance: i
8695
9507
  };
8696
9508
  }
8697
- function ac(e, t) {
9509
+ function Zc(e, t) {
8698
9510
  let n = /* @__PURE__ */ new Map();
8699
- for (let r of Object.keys(Ys)) {
9511
+ for (let r of Object.keys(Vc)) {
8700
9512
  let i = e[r];
8701
9513
  if (Array.isArray(i)) {
8702
9514
  for (let e of i) if (e && typeof e == "object" && ("id" in e || "entityName" in e)) {
8703
- let i = ic(r, e);
9515
+ let i = Xc(r, e);
8704
9516
  n.has(i.key) && t?.push(i.key), n.set(i.key, i);
8705
9517
  }
8706
9518
  }
8707
9519
  }
8708
9520
  return n;
8709
9521
  }
8710
- function oc(e, t) {
9522
+ function Qc(e, t) {
8711
9523
  return `${e}#${t}`;
8712
9524
  }
8713
9525
  function $(e) {
8714
9526
  return e?.version ?? "";
8715
9527
  }
8716
- function sc(e) {
9528
+ function $c(e) {
8717
9529
  let t = [...new Set(e)].sort();
8718
9530
  return t.filter((e) => !t.some((t) => t !== e && e.startsWith(t + ".")));
8719
9531
  }
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 = [];
9532
+ function el(e, t, n) {
9533
+ 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
9534
  for (let [e, t] of s) o.has(e) || c.push(t);
8723
9535
  for (let [e, t] of o) {
8724
9536
  let n = s.get(e);
@@ -8739,7 +9551,7 @@ function cc(e, t, n) {
8739
9551
  let o = (e) => {
8740
9552
  let t = n.references?.[a];
8741
9553
  if (t) return t;
8742
- let r = Bs(e, { idPrefix: `${a}#` });
9554
+ let r = Mc(e, { idPrefix: `${a}#` });
8743
9555
  return r.length > 0 ? r : null;
8744
9556
  }, s = o(e), c = o(t);
8745
9557
  if (!s && !c) {
@@ -8748,11 +9560,11 @@ function cc(e, t, n) {
8748
9560
  }
8749
9561
  let l = /* @__PURE__ */ new Map();
8750
9562
  if (s) {
8751
- let t = Hs(e, s, r, a);
9563
+ let t = Pc(e, s, r, a);
8752
9564
  for (let e of t.components) l.set(e.id, { from: e.coverage });
8753
9565
  }
8754
9566
  if (c) {
8755
- let e = Hs(t, c, i, a);
9567
+ let e = Pc(t, c, i, a);
8756
9568
  for (let t of e.components) {
8757
9569
  let e = l.get(t.id) ?? {};
8758
9570
  e.to = t.coverage, l.set(t.id, e);
@@ -8776,12 +9588,12 @@ function cc(e, t, n) {
8776
9588
  namespacesSkipped: p
8777
9589
  };
8778
9590
  }
8779
- function lc(e, t) {
9591
+ function tl(e, t) {
8780
9592
  let n = [];
8781
9593
  for (let [t, r] of e) {
8782
9594
  let e = /* @__PURE__ */ new Set([...t.provenance.map((e) => e.basis), ...r.provenance.map((e) => e.basis)]);
8783
9595
  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));
9596
+ 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
9597
  if (s.length === 0 && c.length === 0) continue;
8786
9598
  let l = {
8787
9599
  key: t.key,
@@ -8831,7 +9643,7 @@ function lc(e, t) {
8831
9643
  }
8832
9644
  let r = (e) => {
8833
9645
  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));
9646
+ let n = t.sentencesA.get(Qc(e.doc, e.from)), r = t.sentencesB.get(Qc(e.doc, e.to));
8835
9647
  return n === void 0 || r === void 0 ? "unavailable" : n.replace(/\s+/g, " ").trim() === r.replace(/\s+/g, " ").trim() ? "same" : "differed";
8836
9648
  }, i = /* @__PURE__ */ new Map();
8837
9649
  for (let e of n) {
@@ -8847,21 +9659,21 @@ function lc(e, t) {
8847
9659
  }
8848
9660
  return [...i.values()].sort((e, t) => `${e.doc} ${e.from} ${e.to}`.localeCompare(`${t.doc} ${t.from} ${t.to}`));
8849
9661
  }
8850
- function uc(e, t, n) {
9662
+ function nl(e, t, n) {
8851
9663
  return e.kind !== "texts" || !n.startsWith("spelling:") ? n : n in e.aspects ? n in t.aspects ? `${n} (changed)` : `${n} (removed)` : `${n} (added)`;
8852
9664
  }
8853
- var dc = (e) => typeof e == "object" && !!e && !Array.isArray(e);
8854
- function fc(e, t, n, r) {
8855
- if (dc(t) && dc(n)) {
9665
+ var rl = (e) => typeof e == "object" && !!e && !Array.isArray(e);
9666
+ function il(e, t, n, r) {
9667
+ if (rl(t) && rl(n)) {
8856
9668
  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);
9669
+ for (let a of i) il(`${e}.${a}`, t[a], n[a], r);
8858
9670
  return;
8859
9671
  }
8860
9672
  Q(t) !== Q(n) && r.push(e);
8861
9673
  }
8862
- function pc(e, t) {
9674
+ function al(e, t) {
8863
9675
  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);
9676
+ for (let i of n) il(i, e.fields[i], t.fields[i], r);
8865
9677
  let i = [
8866
9678
  "source",
8867
9679
  "sourceRef",
@@ -8874,8 +9686,8 @@ function pc(e, t) {
8874
9686
  return !a.has(r) && (a.add(r), !0);
8875
9687
  });
8876
9688
  }
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, {
9689
+ function ol(e, t, n = {}) {
9690
+ 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
9691
  added: 0,
8880
9692
  removed: 0,
8881
9693
  changed: 0,
@@ -8913,11 +9725,11 @@ function mc(e, t, n = {}) {
8913
9725
  id: t.id,
8914
9726
  kind: t.kind,
8915
9727
  tier: t.tier,
8916
- aspects: r.map((e) => uc(t, n, e)).sort(),
8917
- fields: pc(t, n)
9728
+ aspects: r.map((e) => nl(t, n, e)).sort(),
9729
+ fields: al(t, n)
8918
9730
  }), p[t.tier].changed++);
8919
9731
  }
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))];
9732
+ 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
9733
  return {
8922
9734
  aLabel: y,
8923
9735
  bLabel: b,
@@ -8936,40 +9748,40 @@ function mc(e, t, n = {}) {
8936
9748
  empty: g
8937
9749
  };
8938
9750
  }
8939
- function hc(e) {
9751
+ function sl(e) {
8940
9752
  return `[${e.tier}/${e.kind}] ${e.id}`;
8941
9753
  }
8942
- function gc(e, t) {
9754
+ function cl(e, t) {
8943
9755
  try {
8944
9756
  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
9757
  if (i.length > 0) return i;
8946
9758
  } catch {}
8947
9759
  return [`from ${e}`, `to ${t}`];
8948
9760
  }
8949
- function _c(e) {
9761
+ function ll(e) {
8950
9762
  let t = [], n = e.editionComparison ? `edition comparison — ${e.aLabel} → ${e.bLabel}` : `model diff — ${e.aLabel} → ${e.bLabel}`;
8951
9763
  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) {
9764
+ for (let n of Bc) {
8953
9765
  let r = e.byTier[n];
8954
9766
  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
9767
  }
8956
9768
  if (e.added.length > 0) {
8957
9769
  t.push("", "added:");
8958
- for (let n of e.added) t.push(` + ${hc(n)}`);
9770
+ for (let n of e.added) t.push(` + ${sl(n)}`);
8959
9771
  }
8960
9772
  if (e.removed.length > 0) {
8961
9773
  t.push("", "removed:");
8962
- for (let n of e.removed) t.push(` - ${hc(n)}`);
9774
+ for (let n of e.removed) t.push(` - ${sl(n)}`);
8963
9775
  }
8964
9776
  if (e.changed.length > 0) {
8965
9777
  t.push("", "changed:");
8966
- for (let n of e.changed) t.push(` ~ ${hc(n)} — ${n.aspects.join(", ")} (fields: ${n.fields.join(", ")})`);
9778
+ for (let n of e.changed) t.push(` ~ ${sl(n)} — ${n.aspects.join(", ")} (fields: ${n.fields.join(", ")})`);
8967
9779
  }
8968
9780
  if (e.moved.length > 0) {
8969
9781
  t.push("", "moved (re-anchored):");
8970
9782
  for (let n of e.moved) {
8971
- t.push(` > ${hc(n)}`);
8972
- for (let e of gc(n.from, n.to)) t.push(` ${e}`);
9783
+ t.push(` > ${sl(n)}`);
9784
+ for (let e of cl(n.from, n.to)) t.push(` ${e}`);
8973
9785
  }
8974
9786
  }
8975
9787
  if (e.warnings.length > 0) {
@@ -8994,27 +9806,27 @@ function _c(e) {
8994
9806
  }
8995
9807
  //#endregion
8996
9808
  //#region src/ser-des/index.ts
8997
- function vc(e, t = {}) {
8998
- return p(u(e, Jo, t), Yo);
9809
+ function ul(e, t = {}) {
9810
+ return p(u(e, Bs, t), Vs);
8999
9811
  }
9000
- function yc(e, t = {}) {
9001
- let n = u(e, Jo, t);
9812
+ function dl(e, t = {}) {
9813
+ let n = u(e, Bs, t);
9002
9814
  return {
9003
- standard: p(n, Yo),
9815
+ standard: p(n, Vs),
9004
9816
  issues: n.issues
9005
9817
  };
9006
9818
  }
9007
- function bc(e, t = {}) {
9008
- return vc($o(e), t);
9819
+ function fl(e, t = {}) {
9820
+ return ul(Gs(e), t);
9009
9821
  }
9010
- function xc(e, t = {}) {
9011
- return yc($o(e), t);
9822
+ function pl(e, t = {}) {
9823
+ return dl(Gs(e), t);
9012
9824
  }
9013
- function Sc(e) {
9014
- return Ue(e, Xo);
9825
+ function ml(e) {
9826
+ return Ue(e, Hs);
9015
9827
  }
9016
- function Cc(e) {
9017
- return es(e);
9828
+ function hl(e) {
9829
+ return Ks(e);
9018
9830
  }
9019
9831
  //#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 };
9832
+ 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 };