@proposit/proposit-core 0.11.2 → 0.12.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 (142) hide show
  1. package/README.md +119 -57
  2. package/dist/cli/commands/arguments.d.ts.map +1 -1
  3. package/dist/cli/commands/arguments.js +13 -16
  4. package/dist/cli/commands/arguments.js.map +1 -1
  5. package/dist/cli/commands/axioms.d.ts +3 -0
  6. package/dist/cli/commands/axioms.d.ts.map +1 -0
  7. package/dist/cli/commands/axioms.js +91 -0
  8. package/dist/cli/commands/axioms.js.map +1 -0
  9. package/dist/cli/commands/citations.d.ts.map +1 -1
  10. package/dist/cli/commands/citations.js +27 -25
  11. package/dist/cli/commands/citations.js.map +1 -1
  12. package/dist/cli/commands/claims.d.ts.map +1 -1
  13. package/dist/cli/commands/claims.js +35 -5
  14. package/dist/cli/commands/claims.js.map +1 -1
  15. package/dist/cli/commands/parse.d.ts.map +1 -1
  16. package/dist/cli/commands/parse.js +3 -4
  17. package/dist/cli/commands/parse.js.map +1 -1
  18. package/dist/cli/commands/premises.d.ts.map +1 -1
  19. package/dist/cli/commands/premises.js +8 -7
  20. package/dist/cli/commands/premises.js.map +1 -1
  21. package/dist/cli/commands/render.d.ts.map +1 -1
  22. package/dist/cli/commands/render.js +43 -18
  23. package/dist/cli/commands/render.js.map +1 -1
  24. package/dist/cli/engine.d.ts.map +1 -1
  25. package/dist/cli/engine.js +11 -4
  26. package/dist/cli/engine.js.map +1 -1
  27. package/dist/cli/import.d.ts.map +1 -1
  28. package/dist/cli/import.js +27 -3
  29. package/dist/cli/import.js.map +1 -1
  30. package/dist/cli/router.d.ts.map +1 -1
  31. package/dist/cli/router.js +1 -0
  32. package/dist/cli/router.js.map +1 -1
  33. package/dist/cli/schemata.d.ts +30 -0
  34. package/dist/cli/schemata.d.ts.map +1 -1
  35. package/dist/cli/schemata.js +37 -0
  36. package/dist/cli/schemata.js.map +1 -1
  37. package/dist/cli/storage/libraries.d.ts +7 -2
  38. package/dist/cli/storage/libraries.d.ts.map +1 -1
  39. package/dist/cli/storage/libraries.js +25 -6
  40. package/dist/cli/storage/libraries.js.map +1 -1
  41. package/dist/cli/storage/migrate-v0.10.js +3 -3
  42. package/dist/cli/storage/migrate-v0.10.js.map +1 -1
  43. package/dist/cli/storage/migrate-v0.12.d.ts +24 -0
  44. package/dist/cli/storage/migrate-v0.12.d.ts.map +1 -0
  45. package/dist/cli/storage/migrate-v0.12.js +148 -0
  46. package/dist/cli/storage/migrate-v0.12.js.map +1 -0
  47. package/dist/cli.js +2 -0
  48. package/dist/cli.js.map +1 -1
  49. package/dist/extensions/basics/schemata.d.ts +1 -1
  50. package/dist/extensions/ieee/citation-claim.d.ts +1 -1
  51. package/dist/lib/consts.d.ts.map +1 -1
  52. package/dist/lib/consts.js +13 -4
  53. package/dist/lib/consts.js.map +1 -1
  54. package/dist/lib/core/argument-engine.d.ts +28 -7
  55. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  56. package/dist/lib/core/argument-engine.js +83 -10
  57. package/dist/lib/core/argument-engine.js.map +1 -1
  58. package/dist/lib/core/argument-library.d.ts +11 -13
  59. package/dist/lib/core/argument-library.d.ts.map +1 -1
  60. package/dist/lib/core/argument-library.js +7 -23
  61. package/dist/lib/core/argument-library.js.map +1 -1
  62. package/dist/lib/core/claim-axiom-library.d.ts +38 -0
  63. package/dist/lib/core/claim-axiom-library.d.ts.map +1 -0
  64. package/dist/lib/core/claim-axiom-library.js +243 -0
  65. package/dist/lib/core/claim-axiom-library.js.map +1 -0
  66. package/dist/lib/core/claim-citation-library.d.ts +11 -12
  67. package/dist/lib/core/claim-citation-library.d.ts.map +1 -1
  68. package/dist/lib/core/claim-citation-library.js +119 -108
  69. package/dist/lib/core/claim-citation-library.js.map +1 -1
  70. package/dist/lib/core/claim-library.d.ts +1 -1
  71. package/dist/lib/core/evaluation/argument-evaluation.d.ts +13 -0
  72. package/dist/lib/core/evaluation/argument-evaluation.d.ts.map +1 -1
  73. package/dist/lib/core/evaluation/argument-evaluation.js +25 -1
  74. package/dist/lib/core/evaluation/argument-evaluation.js.map +1 -1
  75. package/dist/lib/core/fork.d.ts +4 -6
  76. package/dist/lib/core/fork.d.ts.map +1 -1
  77. package/dist/lib/core/fork.js +3 -8
  78. package/dist/lib/core/fork.js.map +1 -1
  79. package/dist/lib/core/interfaces/index.d.ts +1 -1
  80. package/dist/lib/core/interfaces/index.d.ts.map +1 -1
  81. package/dist/lib/core/interfaces/library.interfaces.d.ts +65 -60
  82. package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
  83. package/dist/lib/core/managed-derivation-premise-engine.d.ts +34 -18
  84. package/dist/lib/core/managed-derivation-premise-engine.d.ts.map +1 -1
  85. package/dist/lib/core/managed-derivation-premise-engine.js +76 -39
  86. package/dist/lib/core/managed-derivation-premise-engine.js.map +1 -1
  87. package/dist/lib/core/proposit-core.d.ts +19 -14
  88. package/dist/lib/core/proposit-core.d.ts.map +1 -1
  89. package/dist/lib/core/proposit-core.js +95 -39
  90. package/dist/lib/core/proposit-core.js.map +1 -1
  91. package/dist/lib/index.d.ts +2 -1
  92. package/dist/lib/index.d.ts.map +1 -1
  93. package/dist/lib/index.js +2 -1
  94. package/dist/lib/index.js.map +1 -1
  95. package/dist/lib/parsing/argument-parser.d.ts +2 -2
  96. package/dist/lib/parsing/argument-parser.d.ts.map +1 -1
  97. package/dist/lib/parsing/argument-parser.js +6 -6
  98. package/dist/lib/parsing/argument-parser.js.map +1 -1
  99. package/dist/lib/parsing/prompt-builder.d.ts.map +1 -1
  100. package/dist/lib/parsing/prompt-builder.js +7 -5
  101. package/dist/lib/parsing/prompt-builder.js.map +1 -1
  102. package/dist/lib/parsing/schemata.d.ts +4 -4
  103. package/dist/lib/parsing/schemata.d.ts.map +1 -1
  104. package/dist/lib/parsing/schemata.js +1 -0
  105. package/dist/lib/parsing/schemata.js.map +1 -1
  106. package/dist/lib/schemata/claim-axiom.d.ts +11 -0
  107. package/dist/lib/schemata/claim-axiom.d.ts.map +1 -0
  108. package/dist/lib/schemata/claim-axiom.js +9 -0
  109. package/dist/lib/schemata/claim-axiom.js.map +1 -0
  110. package/dist/lib/schemata/claim-citation.d.ts +4 -4
  111. package/dist/lib/schemata/claim-citation.d.ts.map +1 -1
  112. package/dist/lib/schemata/claim-citation.js +3 -19
  113. package/dist/lib/schemata/claim-citation.js.map +1 -1
  114. package/dist/lib/schemata/claim-connection.d.ts +11 -0
  115. package/dist/lib/schemata/claim-connection.d.ts.map +1 -0
  116. package/dist/lib/schemata/claim-connection.js +25 -0
  117. package/dist/lib/schemata/claim-connection.js.map +1 -0
  118. package/dist/lib/schemata/claim.d.ts +1 -1
  119. package/dist/lib/schemata/claim.d.ts.map +1 -1
  120. package/dist/lib/schemata/claim.js +6 -2
  121. package/dist/lib/schemata/claim.js.map +1 -1
  122. package/dist/lib/schemata/import.d.ts +2 -2
  123. package/dist/lib/schemata/import.d.ts.map +1 -1
  124. package/dist/lib/schemata/import.js +5 -1
  125. package/dist/lib/schemata/import.js.map +1 -1
  126. package/dist/lib/schemata/index.d.ts +2 -0
  127. package/dist/lib/schemata/index.d.ts.map +1 -1
  128. package/dist/lib/schemata/index.js +2 -0
  129. package/dist/lib/schemata/index.js.map +1 -1
  130. package/dist/lib/types/checksum.d.ts +3 -1
  131. package/dist/lib/types/checksum.d.ts.map +1 -1
  132. package/dist/lib/types/evaluation.d.ts +12 -0
  133. package/dist/lib/types/evaluation.d.ts.map +1 -1
  134. package/dist/lib/types/validation.d.ts +15 -4
  135. package/dist/lib/types/validation.d.ts.map +1 -1
  136. package/dist/lib/types/validation.js +17 -3
  137. package/dist/lib/types/validation.js.map +1 -1
  138. package/dist/lib/utils/lookup.d.ts +10 -4
  139. package/dist/lib/utils/lookup.d.ts.map +1 -1
  140. package/dist/lib/utils/lookup.js +13 -7
  141. package/dist/lib/utils/lookup.js.map +1 -1
  142. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"argument-library.d.ts","sourceRoot":"","sources":["../../../src/lib/core/argument-library.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAClF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAExE,MAAM,MAAM,yBAAyB,CACjC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,SAAS,SAAS,kBAAkB,GAAG,kBAAkB,IACzD;IACA,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;IAClC,oBAAoB,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAA;CACxD,CAAA;AAED;;;GAGG;AACH,qBAAa,eAAe,CACxB,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GAAG,4BAA4B,EACzE,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EACpE,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,SAAS,SAAS,kBAAkB,GAAG,kBAAkB;IAEzD,OAAO,CAAC,OAAO,CAId;IACD,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,OAAO,CAAC,CAAqB;gBAGjC,SAAS,EAAE,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,EACvD,OAAO,CAAC,EAAE,mBAAmB;IAOjC;;;;;;;OAOG;IACI,MAAM,CACT,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAElC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;IAmB9C;;;;;;OAMG;IACI,QAAQ,CAEX,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,GACpD,IAAI;IAQP;;;;;;OAMG;IACI,GAAG,CACN,UAAU,EAAE,MAAM,GAEnB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,SAAS;IAI1D;;;;OAIG;IAEI,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;IAI9D;;;;;;OAMG;IACI,MAAM,CACT,UAAU,EAAE,MAAM,GAEnB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;IAW9C;;;;OAIG;IACI,QAAQ,IAAI,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;IAQxE;;;;OAIG;IACI,QAAQ,IAAI,0BAA0B;IAS7C;;;;;;;;OAQG;WACW,YAAY,CACtB,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GACtC,4BAA4B,EAChC,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EACpE,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,SAAS,SAAS,kBAAkB,GAAG,kBAAkB,EAEzD,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/D,SAAS,EAAE,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,EACvD,OAAO,CAAC,EAAE,mBAAmB,GAC9B,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;CA8BrE"}
1
+ {"version":3,"file":"argument-library.d.ts","sourceRoot":"","sources":["../../../src/lib/core/argument-library.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EACb,UAAU,EACV,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAClF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAExE,MAAM,MAAM,yBAAyB,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IACxE;IACI,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;CACrC,CAAA;AAEL;;;GAGG;AACH,qBAAa,eAAe,CACxB,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GAAG,4BAA4B,EACzE,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EACpE,MAAM,SAAS,UAAU,GAAG,UAAU;IAEtC,OAAO,CAAC,OAAO,CAGd;IACD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,OAAO,CAAC,CAAqB;gBAGjC,SAAS,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAC5C,OAAO,CAAC,EAAE,mBAAmB;IAOjC;;;;;;;OAOG;IACI,MAAM,CACT,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAClC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;IAetD;;;;;;OAMG;IACI,QAAQ,CACX,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,GAC5D,IAAI;IAQP;;;;;;OAMG;IACI,GAAG,CACN,UAAU,EAAE,MAAM,GACnB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,SAAS;IAIlE;;;;OAIG;IACI,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;IAItE;;;;;;OAMG;IACI,MAAM,CACT,UAAU,EAAE,MAAM,GACnB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;IAWtD;;;;OAIG;IACI,QAAQ,IAAI,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;IAQxE;;;;OAIG;IACI,QAAQ,IAAI,0BAA0B;IAS7C;;;;;;;;OAQG;WACW,YAAY,CACtB,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GACtC,4BAA4B,EAChC,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EACpE,MAAM,SAAS,UAAU,GAAG,UAAU,EAEtC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/D,SAAS,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAC5C,OAAO,CAAC,EAAE,mBAAmB,GAC9B,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;CAuB1D"}
@@ -1,6 +1,5 @@
1
1
  import { ArgumentEngine } from "./argument-engine.js";
2
2
  import { ClaimLibrary } from "./claim-library.js";
3
- import { ClaimCitationLibrary } from "./claim-citation-library.js";
4
3
  /**
5
4
  * Engine registry with lifecycle management. Stores `ArgumentEngine` instances
6
5
  * keyed by argument ID.
@@ -22,16 +21,11 @@ export class ArgumentLibrary {
22
21
  * @returns The newly created engine.
23
22
  * @throws If an engine with the same argument ID already exists.
24
23
  */
25
- create(argument
26
- // TODO Phase 7: drop TSource/TAssoc generics from ArgumentEngine.
27
- ) {
24
+ create(argument) {
28
25
  if (this.engines.has(argument.id)) {
29
26
  throw new Error(`ArgumentLibrary: argument "${argument.id}" already exists.`);
30
27
  }
31
- // TODO Phase 7: ArgumentEngine constructor will take
32
- // (argument, claimLibrary, claimCitationLibrary, options) once its
33
- // generics are reduced to drop TSource/TAssoc.
34
- const engine = new ArgumentEngine(argument, this.libraries.claimLibrary, this.libraries.claimCitationLibrary, this.options);
28
+ const engine = new ArgumentEngine(argument, this.libraries.claimLibrary, this.options);
35
29
  this.engines.set(argument.id, engine);
36
30
  return engine;
37
31
  }
@@ -42,9 +36,7 @@ export class ArgumentLibrary {
42
36
  * @param engine - The engine to register.
43
37
  * @throws If an engine with the same argument ID already exists.
44
38
  */
45
- register(
46
- // TODO Phase 7: drop TSource/TAssoc generics from ArgumentEngine.
47
- engine) {
39
+ register(engine) {
48
40
  const id = engine.getArgument().id;
49
41
  if (this.engines.has(id)) {
50
42
  throw new Error(`ArgumentLibrary: argument "${id}" already exists.`);
@@ -58,9 +50,7 @@ export class ArgumentLibrary {
58
50
  * @param argumentId - The argument ID to look up.
59
51
  * @returns The engine, or `undefined`.
60
52
  */
61
- get(argumentId
62
- // TODO Phase 7: drop TSource/TAssoc generics from ArgumentEngine.
63
- ) {
53
+ get(argumentId) {
64
54
  return this.engines.get(argumentId);
65
55
  }
66
56
  /**
@@ -68,7 +58,6 @@ export class ArgumentLibrary {
68
58
  *
69
59
  * @returns An array of all managed engines.
70
60
  */
71
- // TODO Phase 7: drop TSource/TAssoc generics from ArgumentEngine.
72
61
  getAll() {
73
62
  return Array.from(this.engines.values());
74
63
  }
@@ -79,9 +68,7 @@ export class ArgumentLibrary {
79
68
  * @returns The removed engine.
80
69
  * @throws If no engine with the given ID exists.
81
70
  */
82
- remove(argumentId
83
- // TODO Phase 7: drop TSource/TAssoc generics from ArgumentEngine.
84
- ) {
71
+ remove(argumentId) {
85
72
  const engine = this.engines.get(argumentId);
86
73
  if (engine === undefined) {
87
74
  throw new Error(`ArgumentLibrary: argument "${argumentId}" not found.`);
@@ -117,17 +104,14 @@ export class ArgumentLibrary {
117
104
  * `ArgumentEngine.fromSnapshot()` for each engine snapshot.
118
105
  *
119
106
  * @param snapshot - The serialized library snapshot.
120
- * @param libraries - The shared library instances (claim, claim-citation).
107
+ * @param libraries - The shared library instances (claim).
121
108
  * @param options - Optional engine construction options.
122
109
  * @returns A fully restored `ArgumentLibrary`.
123
110
  */
124
111
  static fromSnapshot(snapshot, libraries, options) {
125
112
  const lib = new ArgumentLibrary(libraries, options);
126
113
  for (const engineSnap of snapshot.arguments) {
127
- // TODO Phase 7: ArgumentEngine.fromSnapshot will take
128
- // (snapshot, claimLibrary, claimCitationLibrary, ...) once its
129
- // generics are reduced to drop TSource/TAssoc.
130
- const engine = ArgumentEngine.fromSnapshot(engineSnap, libraries.claimLibrary, libraries.claimCitationLibrary, undefined, "ignore", options?.generateId);
114
+ const engine = ArgumentEngine.fromSnapshot(engineSnap, libraries.claimLibrary, undefined, "ignore", options?.generateId);
131
115
  lib.engines.set(engine.getArgument().id, engine);
132
116
  }
133
117
  return lib;
@@ -1 +1 @@
1
- {"version":3,"file":"argument-library.js","sourceRoot":"","sources":["../../../src/lib/core/argument-library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"argument-library.js","sourceRoot":"","sources":["../../../src/lib/core/argument-library.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { TCoreClaimAxiom } from "../schemata/claim-axiom.js";
2
+ import type { TCoreChecksumConfig } from "../types/checksum.js";
3
+ import type { TClaimLookup, TClaimConnectionLibraryManagement, TClaimConnectionLibrarySnapshot } from "./interfaces/library.interfaces.js";
4
+ import type { TInvariantValidationResult } from "../types/validation.js";
5
+ /**
6
+ * Manages axiom-invocation edges between claims. Each connection goes from a
7
+ * dependent `claimId` (which must be a `'normal'` claim) to a supporting
8
+ * `supportingClaimId` (which must be an `'axiomatic'` claim).
9
+ *
10
+ * Cycle detection is omitted because axiomatic claims cannot appear on the
11
+ * supported (`claimId`) side — `AXIOM_CLAIM_NOT_NORMAL_TYPE` blocks that —
12
+ * so cycles are structurally impossible.
13
+ */
14
+ export declare class ClaimAxiomLibrary<TConnection extends TCoreClaimAxiom = TCoreClaimAxiom> implements TClaimConnectionLibraryManagement<TConnection> {
15
+ private axioms;
16
+ private claimToConnections;
17
+ private claimLookup;
18
+ private checksumConfig?;
19
+ constructor(claimLookup: TClaimLookup, options?: {
20
+ checksumConfig?: TCoreChecksumConfig;
21
+ });
22
+ private restoreFromSnapshot;
23
+ private withValidation;
24
+ add(axiom: Omit<TConnection, "checksum">): TConnection;
25
+ remove(id: string): TConnection;
26
+ getConnectionsForClaim(claimId: string): TConnection[];
27
+ get(id: string): TConnection | undefined;
28
+ getAll(): TConnection[];
29
+ filter(predicate: (c: TConnection) => boolean): TConnection[];
30
+ snapshot(): TClaimConnectionLibrarySnapshot<TConnection>;
31
+ /** Restores a claim-axiom library from a snapshot, re-indexing all axioms. */
32
+ static fromSnapshot<TConnection extends TCoreClaimAxiom = TCoreClaimAxiom>(snapshot: TClaimConnectionLibrarySnapshot<TConnection>, claimLookup: TClaimLookup, options?: {
33
+ checksumConfig?: TCoreChecksumConfig;
34
+ }): ClaimAxiomLibrary<TConnection>;
35
+ validate(): TInvariantValidationResult;
36
+ private computeChecksum;
37
+ }
38
+ //# sourceMappingURL=claim-axiom-library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-axiom-library.d.ts","sourceRoot":"","sources":["../../../src/lib/core/claim-axiom-library.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG/D,OAAO,KAAK,EACR,YAAY,EACZ,iCAAiC,EACjC,+BAA+B,EAClC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EACR,0BAA0B,EAE7B,MAAM,wBAAwB,CAAA;AAY/B;;;;;;;;GAQG;AACH,qBAAa,iBAAiB,CAC1B,WAAW,SAAS,eAAe,GAAG,eAAe,CACvD,YAAW,iCAAiC,CAAC,WAAW,CAAC;IACvD,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAC,CAAqB;gBAGxC,WAAW,EAAE,YAAY,EACzB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE;IAQtD,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,cAAc;IAkBf,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,WAAW;IA+EtD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAyB/B,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE;IAQtD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIxC,MAAM,IAAI,WAAW,EAAE;IAIvB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,OAAO,GAAG,WAAW,EAAE;IAI7D,QAAQ,IAAI,+BAA+B,CAAC,WAAW,CAAC;IAI/D,8EAA8E;WAChE,YAAY,CACtB,WAAW,SAAS,eAAe,GAAG,eAAe,EAErD,QAAQ,EAAE,+BAA+B,CAAC,WAAW,CAAC,EACtD,WAAW,EAAE,YAAY,EACzB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE,GACnD,iBAAiB,CAAC,WAAW,CAAC;IAe1B,QAAQ,IAAI,0BAA0B;IAuE7C,OAAO,CAAC,eAAe;CAU1B"}
@@ -0,0 +1,243 @@
1
+ import { Value } from "typebox/value";
2
+ import { CoreClaimAxiomSchema } from "../schemata/claim-axiom.js";
3
+ import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
4
+ import { entityChecksum } from "./checksum.js";
5
+ import { AXIOM_SCHEMA_INVALID, AXIOM_DUPLICATE_ID, AXIOM_NOT_FOUND, AXIOM_CLAIM_REF_NOT_FOUND, AXIOM_SUPPORTING_REF_NOT_FOUND, AXIOM_SUPPORTING_NOT_AXIOMATIC_TYPE, AXIOM_CLAIM_NOT_NORMAL_TYPE, } from "../types/validation.js";
6
+ import { InvariantViolationError } from "./invariant-violation-error.js";
7
+ /**
8
+ * Manages axiom-invocation edges between claims. Each connection goes from a
9
+ * dependent `claimId` (which must be a `'normal'` claim) to a supporting
10
+ * `supportingClaimId` (which must be an `'axiomatic'` claim).
11
+ *
12
+ * Cycle detection is omitted because axiomatic claims cannot appear on the
13
+ * supported (`claimId`) side — `AXIOM_CLAIM_NOT_NORMAL_TYPE` blocks that —
14
+ * so cycles are structurally impossible.
15
+ */
16
+ export class ClaimAxiomLibrary {
17
+ axioms;
18
+ claimToConnections;
19
+ claimLookup;
20
+ checksumConfig;
21
+ constructor(claimLookup, options) {
22
+ this.axioms = new Map();
23
+ this.claimToConnections = new Map();
24
+ this.claimLookup = claimLookup;
25
+ this.checksumConfig = options?.checksumConfig;
26
+ }
27
+ restoreFromSnapshot(snap) {
28
+ this.axioms = new Map();
29
+ this.claimToConnections = new Map();
30
+ for (const axiom of snap.connections) {
31
+ this.axioms.set(axiom.id, axiom);
32
+ }
33
+ for (const [id, axiom] of this.axioms) {
34
+ const claimKey = axiom.claimId;
35
+ if (!this.claimToConnections.has(claimKey)) {
36
+ this.claimToConnections.set(claimKey, new Set());
37
+ }
38
+ this.claimToConnections.get(claimKey).add(id);
39
+ }
40
+ }
41
+ withValidation(fn) {
42
+ const snap = this.snapshot();
43
+ try {
44
+ const result = fn();
45
+ const validation = this.validate();
46
+ if (!validation.ok) {
47
+ this.restoreFromSnapshot(snap);
48
+ throw new InvariantViolationError(validation.violations);
49
+ }
50
+ return result;
51
+ }
52
+ catch (e) {
53
+ if (!(e instanceof InvariantViolationError)) {
54
+ this.restoreFromSnapshot(snap);
55
+ }
56
+ throw e;
57
+ }
58
+ }
59
+ add(axiom) {
60
+ return this.withValidation(() => {
61
+ if (this.axioms.has(axiom.id)) {
62
+ throw new InvariantViolationError([
63
+ {
64
+ code: AXIOM_DUPLICATE_ID,
65
+ message: `${AXIOM_DUPLICATE_ID}: axiom with id ${axiom.id} already exists`,
66
+ entityType: "axiom",
67
+ entityId: axiom.id,
68
+ },
69
+ ]);
70
+ }
71
+ const dependentClaim = this.claimLookup.get(axiom.claimId, axiom.claimVersion);
72
+ if (!dependentClaim) {
73
+ throw new InvariantViolationError([
74
+ {
75
+ code: AXIOM_CLAIM_REF_NOT_FOUND,
76
+ message: `${AXIOM_CLAIM_REF_NOT_FOUND}: axiom references unknown dependent claim ${axiom.claimId}@${axiom.claimVersion}`,
77
+ entityType: "axiom",
78
+ entityId: axiom.id,
79
+ },
80
+ ]);
81
+ }
82
+ if (dependentClaim.type !== "normal") {
83
+ throw new InvariantViolationError([
84
+ {
85
+ code: AXIOM_CLAIM_NOT_NORMAL_TYPE,
86
+ message: `${AXIOM_CLAIM_NOT_NORMAL_TYPE}: axiom dependent claim ${axiom.claimId} has type='${dependentClaim.type}'; only 'normal' is permitted on the dependent side`,
87
+ entityType: "axiom",
88
+ entityId: axiom.id,
89
+ },
90
+ ]);
91
+ }
92
+ const supportingClaim = this.claimLookup.get(axiom.supportingClaimId, axiom.supportingClaimVersion);
93
+ if (!supportingClaim) {
94
+ throw new InvariantViolationError([
95
+ {
96
+ code: AXIOM_SUPPORTING_REF_NOT_FOUND,
97
+ message: `${AXIOM_SUPPORTING_REF_NOT_FOUND}: axiom references unknown supporting claim ${axiom.supportingClaimId}@${axiom.supportingClaimVersion}`,
98
+ entityType: "axiom",
99
+ entityId: axiom.id,
100
+ },
101
+ ]);
102
+ }
103
+ if (supportingClaim.type !== "axiomatic") {
104
+ throw new InvariantViolationError([
105
+ {
106
+ code: AXIOM_SUPPORTING_NOT_AXIOMATIC_TYPE,
107
+ message: `${AXIOM_SUPPORTING_NOT_AXIOMATIC_TYPE}: axiom supporting claim ${axiom.supportingClaimId} has type='${supportingClaim.type}'; only 'axiomatic' is permitted on the supporting side`,
108
+ entityType: "axiom",
109
+ entityId: axiom.id,
110
+ },
111
+ ]);
112
+ }
113
+ const full = { ...axiom, checksum: "" };
114
+ full.checksum = this.computeChecksum(full);
115
+ this.axioms.set(full.id, full);
116
+ let claimSet = this.claimToConnections.get(full.claimId);
117
+ if (!claimSet) {
118
+ claimSet = new Set();
119
+ this.claimToConnections.set(full.claimId, claimSet);
120
+ }
121
+ claimSet.add(full.id);
122
+ return full;
123
+ });
124
+ }
125
+ remove(id) {
126
+ return this.withValidation(() => {
127
+ const axiom = this.axioms.get(id);
128
+ if (!axiom) {
129
+ throw new InvariantViolationError([
130
+ {
131
+ code: AXIOM_NOT_FOUND,
132
+ message: `${AXIOM_NOT_FOUND}: axiom with id "${id}" not found`,
133
+ entityType: "axiom",
134
+ entityId: id,
135
+ },
136
+ ]);
137
+ }
138
+ this.axioms.delete(id);
139
+ const claimSet = this.claimToConnections.get(axiom.claimId);
140
+ if (claimSet) {
141
+ claimSet.delete(id);
142
+ }
143
+ return axiom;
144
+ });
145
+ }
146
+ getConnectionsForClaim(claimId) {
147
+ const ids = this.claimToConnections.get(claimId);
148
+ if (!ids)
149
+ return [];
150
+ return Array.from(ids)
151
+ .map((id) => this.axioms.get(id))
152
+ .filter(Boolean);
153
+ }
154
+ get(id) {
155
+ return this.axioms.get(id);
156
+ }
157
+ getAll() {
158
+ return Array.from(this.axioms.values());
159
+ }
160
+ filter(predicate) {
161
+ return this.getAll().filter(predicate);
162
+ }
163
+ snapshot() {
164
+ return { connections: this.getAll() };
165
+ }
166
+ /** Restores a claim-axiom library from a snapshot, re-indexing all axioms. */
167
+ static fromSnapshot(snapshot, claimLookup, options) {
168
+ const lib = new ClaimAxiomLibrary(claimLookup, options);
169
+ for (const axiom of snapshot.connections) {
170
+ lib.axioms.set(axiom.id, axiom);
171
+ let claimSet = lib.claimToConnections.get(axiom.claimId);
172
+ if (!claimSet) {
173
+ claimSet = new Set();
174
+ lib.claimToConnections.set(axiom.claimId, claimSet);
175
+ }
176
+ claimSet.add(axiom.id);
177
+ }
178
+ return lib;
179
+ }
180
+ validate() {
181
+ const violations = [];
182
+ for (const [id, axiom] of this.axioms) {
183
+ if (!Value.Check(CoreClaimAxiomSchema, axiom)) {
184
+ violations.push({
185
+ code: AXIOM_SCHEMA_INVALID,
186
+ message: `${AXIOM_SCHEMA_INVALID}: axiom "${id}" does not conform to schema`,
187
+ entityType: "axiom",
188
+ entityId: id,
189
+ });
190
+ }
191
+ if (!this.claimLookup.get(axiom.claimId, axiom.claimVersion)) {
192
+ violations.push({
193
+ code: AXIOM_CLAIM_REF_NOT_FOUND,
194
+ message: `${AXIOM_CLAIM_REF_NOT_FOUND}: axiom "${id}" references non-existent dependent claim "${axiom.claimId}" version ${axiom.claimVersion}`,
195
+ entityType: "axiom",
196
+ entityId: id,
197
+ });
198
+ }
199
+ if (!this.claimLookup.get(axiom.supportingClaimId, axiom.supportingClaimVersion)) {
200
+ violations.push({
201
+ code: AXIOM_SUPPORTING_REF_NOT_FOUND,
202
+ message: `${AXIOM_SUPPORTING_REF_NOT_FOUND}: axiom "${id}" references non-existent supporting claim "${axiom.supportingClaimId}" version ${axiom.supportingClaimVersion}`,
203
+ entityType: "axiom",
204
+ entityId: id,
205
+ });
206
+ }
207
+ }
208
+ // Strict supporting-side type: every axiom's supporting claim must have
209
+ // type='axiomatic'. Catches tampered snapshots loaded via fromSnapshot.
210
+ for (const axiom of this.axioms.values()) {
211
+ const supportingClaim = this.claimLookup.get(axiom.supportingClaimId, axiom.supportingClaimVersion);
212
+ if (supportingClaim && supportingClaim.type !== "axiomatic") {
213
+ violations.push({
214
+ code: AXIOM_SUPPORTING_NOT_AXIOMATIC_TYPE,
215
+ message: `${AXIOM_SUPPORTING_NOT_AXIOMATIC_TYPE}: axiom ${axiom.id} supporting claim ${axiom.supportingClaimId} has type='${supportingClaim.type}'; only 'axiomatic' is permitted on the supporting side`,
216
+ entityType: "axiom",
217
+ entityId: axiom.id,
218
+ });
219
+ }
220
+ }
221
+ // Strict dependent-side type: every axiom's dependent claim must have
222
+ // type='normal'. Catches tampered snapshots loaded via fromSnapshot.
223
+ for (const axiom of this.axioms.values()) {
224
+ const dependentClaim = this.claimLookup.get(axiom.claimId, axiom.claimVersion);
225
+ if (dependentClaim && dependentClaim.type !== "normal") {
226
+ violations.push({
227
+ code: AXIOM_CLAIM_NOT_NORMAL_TYPE,
228
+ message: `${AXIOM_CLAIM_NOT_NORMAL_TYPE}: axiom ${axiom.id} dependent claim ${axiom.claimId} has type='${dependentClaim.type}'; only 'normal' is permitted on the dependent side`,
229
+ entityType: "axiom",
230
+ entityId: axiom.id,
231
+ });
232
+ }
233
+ }
234
+ return { ok: violations.length === 0, violations };
235
+ }
236
+ computeChecksum(axiom) {
237
+ const fields = this.checksumConfig?.claimAxiomFields ??
238
+ DEFAULT_CHECKSUM_CONFIG.claimAxiomFields ??
239
+ DEFAULT_CHECKSUM_CONFIG.claimCitationFields;
240
+ return entityChecksum(axiom, fields);
241
+ }
242
+ }
243
+ //# sourceMappingURL=claim-axiom-library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-axiom-library.js","sourceRoot":"","sources":["../../../src/lib/core/claim-axiom-library.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import type { TCoreClaimCitation } from "../schemata/claim-citation.js";
2
2
  import type { TCoreChecksumConfig } from "../types/checksum.js";
3
- import type { TClaimLookup, TClaimCitationLibraryManagement, TClaimCitationLibrarySnapshot } from "./interfaces/library.interfaces.js";
3
+ import type { TClaimLookup, TClaimConnectionLibraryManagement, TClaimConnectionLibrarySnapshot } from "./interfaces/library.interfaces.js";
4
4
  import type { TInvariantValidationResult } from "../types/validation.js";
5
- export declare class ClaimCitationLibrary<TCitation extends TCoreClaimCitation = TCoreClaimCitation> implements TClaimCitationLibraryManagement<TCitation> {
5
+ export declare class ClaimCitationLibrary<TCitation extends TCoreClaimCitation = TCoreClaimCitation> implements TClaimConnectionLibraryManagement<TCitation> {
6
6
  private citations;
7
- private citingClaimToCitations;
8
- private sourceClaimToCitations;
7
+ private claimToConnections;
9
8
  private claimLookup;
10
9
  private checksumConfig?;
11
10
  constructor(claimLookup: TClaimLookup, options?: {
@@ -15,14 +14,13 @@ export declare class ClaimCitationLibrary<TCitation extends TCoreClaimCitation =
15
14
  private withValidation;
16
15
  add(citation: Omit<TCitation, "checksum">): TCitation;
17
16
  remove(id: string): TCitation;
18
- getCitationsForCitingClaim(citingClaimId: string): TCitation[];
19
- getCitationsForSourceClaim(sourceClaimId: string): TCitation[];
17
+ getConnectionsForClaim(claimId: string): TCitation[];
20
18
  get(id: string): TCitation | undefined;
21
19
  getAll(): TCitation[];
22
20
  filter(predicate: (c: TCitation) => boolean): TCitation[];
23
- snapshot(): TClaimCitationLibrarySnapshot<TCitation>;
21
+ snapshot(): TClaimConnectionLibrarySnapshot<TCitation>;
24
22
  /** Restores a claim-citation library from a snapshot, re-indexing all citations. */
25
- static fromSnapshot<TCitation extends TCoreClaimCitation = TCoreClaimCitation>(snapshot: TClaimCitationLibrarySnapshot<TCitation>, claimLookup: TClaimLookup, options?: {
23
+ static fromSnapshot<TCitation extends TCoreClaimCitation = TCoreClaimCitation>(snapshot: TClaimConnectionLibrarySnapshot<TCitation>, claimLookup: TClaimLookup, options?: {
26
24
  checksumConfig?: TCoreChecksumConfig;
27
25
  }): ClaimCitationLibrary<TCitation>;
28
26
  validate(): TInvariantValidationResult;
@@ -33,10 +31,11 @@ export declare class ClaimCitationLibrary<TCitation extends TCoreClaimCitation =
33
31
  */
34
32
  private detectAllCycles;
35
33
  /**
36
- * Returns true if adding an edge from `citingClaimId` to `sourceClaimId`
37
- * would create a cycle in the claim-citation graph. Edges go from citing
38
- * to source; a cycle exists when the citing claim is reachable from the
39
- * proposed source claim by following outgoing source edges.
34
+ * Returns true if adding an edge from `claimId` to `supportingClaimId`
35
+ * would create a cycle in the claim-citation graph. Edges go from the
36
+ * dependent claim to the supporting claim; a cycle exists when the
37
+ * dependent claim is reachable from the proposed supporting claim by
38
+ * following outgoing edges.
40
39
  */
41
40
  private wouldCreateCycle;
42
41
  private computeChecksum;
@@ -1 +1 @@
1
- {"version":3,"file":"claim-citation-library.d.ts","sourceRoot":"","sources":["../../../src/lib/core/claim-citation-library.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG/D,OAAO,KAAK,EACR,YAAY,EACZ,+BAA+B,EAC/B,6BAA6B,EAChC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EACR,0BAA0B,EAE7B,MAAM,wBAAwB,CAAA;AAW/B,qBAAa,oBAAoB,CAC7B,SAAS,SAAS,kBAAkB,GAAG,kBAAkB,CAC3D,YAAW,+BAA+B,CAAC,SAAS,CAAC;IACnD,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAC,CAAqB;gBAGxC,WAAW,EAAE,YAAY,EACzB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE;IAStD,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,cAAc;IAkBf,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,SAAS;IA4FrD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;IA2B7B,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE;IAQ9D,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE;IAQ9D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAItC,MAAM,IAAI,SAAS,EAAE;IAIrB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,EAAE;IAIzD,QAAQ,IAAI,6BAA6B,CAAC,SAAS,CAAC;IAI3D,oFAAoF;WACtE,YAAY,CACtB,SAAS,SAAS,kBAAkB,GAAG,kBAAkB,EAEzD,QAAQ,EAAE,6BAA6B,CAAC,SAAS,CAAC,EAClD,WAAW,EAAE,YAAY,EACzB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE,GACnD,oBAAoB,CAAC,SAAS,CAAC;IAgC3B,QAAQ,IAAI,0BAA0B;IAgE7C;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA+CvB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,eAAe;CAS1B"}
1
+ {"version":3,"file":"claim-citation-library.d.ts","sourceRoot":"","sources":["../../../src/lib/core/claim-citation-library.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG/D,OAAO,KAAK,EACR,YAAY,EACZ,iCAAiC,EACjC,+BAA+B,EAClC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EACR,0BAA0B,EAE7B,MAAM,wBAAwB,CAAA;AAa/B,qBAAa,oBAAoB,CAC7B,SAAS,SAAS,kBAAkB,GAAG,kBAAkB,CAC3D,YAAW,iCAAiC,CAAC,SAAS,CAAC;IACrD,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAC,CAAqB;gBAGxC,WAAW,EAAE,YAAY,EACzB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE;IAQtD,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,cAAc;IAkBf,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,SAAS;IAqFrD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;IAyB7B,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE;IAQpD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAItC,MAAM,IAAI,SAAS,EAAE;IAIrB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,EAAE;IAIzD,QAAQ,IAAI,+BAA+B,CAAC,SAAS,CAAC;IAI7D,oFAAoF;WACtE,YAAY,CACtB,SAAS,SAAS,kBAAkB,GAAG,kBAAkB,EAEzD,QAAQ,EAAE,+BAA+B,CAAC,SAAS,CAAC,EACpD,WAAW,EAAE,YAAY,EACzB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE,GACnD,oBAAoB,CAAC,SAAS,CAAC;IAwD3B,QAAQ,IAAI,0BAA0B;IA6D7C;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA+CvB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,eAAe;CAS1B"}