fhir-runtime 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CHANGELOG.md +211 -0
  2. package/LICENSE +21 -0
  3. package/README.md +261 -0
  4. package/dist/cjs/index.cjs +7368 -0
  5. package/dist/cjs/index.cjs.map +7 -0
  6. package/dist/cjs/index.d.ts +4224 -0
  7. package/dist/cjs/package.json +5 -0
  8. package/dist/esm/index.d.ts +4224 -0
  9. package/dist/esm/index.mjs +7250 -0
  10. package/dist/esm/index.mjs.map +7 -0
  11. package/dist/esm/package.json +5 -0
  12. package/dist/index.d.ts +4224 -0
  13. package/dist/lib/context/bundle-loader.d.ts +124 -0
  14. package/dist/lib/context/bundle-loader.d.ts.map +1 -0
  15. package/dist/lib/context/core-definitions/index.d.ts +72 -0
  16. package/dist/lib/context/core-definitions/index.d.ts.map +1 -0
  17. package/dist/lib/context/errors.d.ts +114 -0
  18. package/dist/lib/context/errors.d.ts.map +1 -0
  19. package/dist/lib/context/fhir-context.d.ts +72 -0
  20. package/dist/lib/context/fhir-context.d.ts.map +1 -0
  21. package/dist/lib/context/index.d.ts +21 -0
  22. package/dist/lib/context/index.d.ts.map +1 -0
  23. package/dist/lib/context/inheritance-resolver.d.ts +98 -0
  24. package/dist/lib/context/inheritance-resolver.d.ts.map +1 -0
  25. package/dist/lib/context/inner-type-extractor.d.ts +80 -0
  26. package/dist/lib/context/inner-type-extractor.d.ts.map +1 -0
  27. package/dist/lib/context/loaders/composite-loader.d.ts +47 -0
  28. package/dist/lib/context/loaders/composite-loader.d.ts.map +1 -0
  29. package/dist/lib/context/loaders/file-loader.d.ts +47 -0
  30. package/dist/lib/context/loaders/file-loader.d.ts.map +1 -0
  31. package/dist/lib/context/loaders/index.d.ts +11 -0
  32. package/dist/lib/context/loaders/index.d.ts.map +1 -0
  33. package/dist/lib/context/loaders/memory-loader.d.ts +42 -0
  34. package/dist/lib/context/loaders/memory-loader.d.ts.map +1 -0
  35. package/dist/lib/context/registry.d.ts +116 -0
  36. package/dist/lib/context/registry.d.ts.map +1 -0
  37. package/dist/lib/context/types.d.ts +266 -0
  38. package/dist/lib/context/types.d.ts.map +1 -0
  39. package/dist/lib/fhirpath/atoms.d.ts +228 -0
  40. package/dist/lib/fhirpath/atoms.d.ts.map +1 -0
  41. package/dist/lib/fhirpath/cache.d.ts +79 -0
  42. package/dist/lib/fhirpath/cache.d.ts.map +1 -0
  43. package/dist/lib/fhirpath/date.d.ts +17 -0
  44. package/dist/lib/fhirpath/date.d.ts.map +1 -0
  45. package/dist/lib/fhirpath/functions.d.ts +28 -0
  46. package/dist/lib/fhirpath/functions.d.ts.map +1 -0
  47. package/dist/lib/fhirpath/index.d.ts +20 -0
  48. package/dist/lib/fhirpath/index.d.ts.map +1 -0
  49. package/dist/lib/fhirpath/lexer/parse.d.ts +100 -0
  50. package/dist/lib/fhirpath/lexer/parse.d.ts.map +1 -0
  51. package/dist/lib/fhirpath/lexer/tokenize.d.ts +80 -0
  52. package/dist/lib/fhirpath/lexer/tokenize.d.ts.map +1 -0
  53. package/dist/lib/fhirpath/parse.d.ts +101 -0
  54. package/dist/lib/fhirpath/parse.d.ts.map +1 -0
  55. package/dist/lib/fhirpath/tokenize.d.ts +20 -0
  56. package/dist/lib/fhirpath/tokenize.d.ts.map +1 -0
  57. package/dist/lib/fhirpath/types.d.ts +111 -0
  58. package/dist/lib/fhirpath/types.d.ts.map +1 -0
  59. package/dist/lib/fhirpath/utils.d.ts +81 -0
  60. package/dist/lib/fhirpath/utils.d.ts.map +1 -0
  61. package/dist/lib/index.d.ts +24 -0
  62. package/dist/lib/index.d.ts.map +1 -0
  63. package/dist/lib/model/canonical-profile.d.ts +381 -0
  64. package/dist/lib/model/canonical-profile.d.ts.map +1 -0
  65. package/dist/lib/model/element-definition.d.ts +503 -0
  66. package/dist/lib/model/element-definition.d.ts.map +1 -0
  67. package/dist/lib/model/index.d.ts +14 -0
  68. package/dist/lib/model/index.d.ts.map +1 -0
  69. package/dist/lib/model/primitives.d.ts +464 -0
  70. package/dist/lib/model/primitives.d.ts.map +1 -0
  71. package/dist/lib/model/structure-definition.d.ts +263 -0
  72. package/dist/lib/model/structure-definition.d.ts.map +1 -0
  73. package/dist/lib/parser/choice-type-parser.d.ts +182 -0
  74. package/dist/lib/parser/choice-type-parser.d.ts.map +1 -0
  75. package/dist/lib/parser/index.d.ts +16 -0
  76. package/dist/lib/parser/index.d.ts.map +1 -0
  77. package/dist/lib/parser/json-parser.d.ts +171 -0
  78. package/dist/lib/parser/json-parser.d.ts.map +1 -0
  79. package/dist/lib/parser/parse-error.d.ts +146 -0
  80. package/dist/lib/parser/parse-error.d.ts.map +1 -0
  81. package/dist/lib/parser/primitive-parser.d.ts +136 -0
  82. package/dist/lib/parser/primitive-parser.d.ts.map +1 -0
  83. package/dist/lib/parser/serializer.d.ts +64 -0
  84. package/dist/lib/parser/serializer.d.ts.map +1 -0
  85. package/dist/lib/parser/structure-definition-parser.d.ts +63 -0
  86. package/dist/lib/parser/structure-definition-parser.d.ts.map +1 -0
  87. package/dist/lib/profile/canonical-builder.d.ts +87 -0
  88. package/dist/lib/profile/canonical-builder.d.ts.map +1 -0
  89. package/dist/lib/profile/constraint-merger.d.ts +100 -0
  90. package/dist/lib/profile/constraint-merger.d.ts.map +1 -0
  91. package/dist/lib/profile/element-merger.d.ts +80 -0
  92. package/dist/lib/profile/element-merger.d.ts.map +1 -0
  93. package/dist/lib/profile/element-sorter.d.ts +81 -0
  94. package/dist/lib/profile/element-sorter.d.ts.map +1 -0
  95. package/dist/lib/profile/errors.d.ts +150 -0
  96. package/dist/lib/profile/errors.d.ts.map +1 -0
  97. package/dist/lib/profile/index.d.ts +27 -0
  98. package/dist/lib/profile/index.d.ts.map +1 -0
  99. package/dist/lib/profile/path-utils.d.ts +180 -0
  100. package/dist/lib/profile/path-utils.d.ts.map +1 -0
  101. package/dist/lib/profile/slicing-handler.d.ts +121 -0
  102. package/dist/lib/profile/slicing-handler.d.ts.map +1 -0
  103. package/dist/lib/profile/snapshot-generator.d.ts +73 -0
  104. package/dist/lib/profile/snapshot-generator.d.ts.map +1 -0
  105. package/dist/lib/profile/types.d.ts +220 -0
  106. package/dist/lib/profile/types.d.ts.map +1 -0
  107. package/dist/lib/validator/errors.d.ts +83 -0
  108. package/dist/lib/validator/errors.d.ts.map +1 -0
  109. package/dist/lib/validator/index.d.ts +23 -0
  110. package/dist/lib/validator/index.d.ts.map +1 -0
  111. package/dist/lib/validator/invariant-validator.d.ts +62 -0
  112. package/dist/lib/validator/invariant-validator.d.ts.map +1 -0
  113. package/dist/lib/validator/path-extractor.d.ts +123 -0
  114. package/dist/lib/validator/path-extractor.d.ts.map +1 -0
  115. package/dist/lib/validator/slicing-validator.d.ts +119 -0
  116. package/dist/lib/validator/slicing-validator.d.ts.map +1 -0
  117. package/dist/lib/validator/structure-validator.d.ts +74 -0
  118. package/dist/lib/validator/structure-validator.d.ts.map +1 -0
  119. package/dist/lib/validator/types.d.ts +288 -0
  120. package/dist/lib/validator/types.d.ts.map +1 -0
  121. package/dist/lib/validator/validation-rules.d.ts +198 -0
  122. package/dist/lib/validator/validation-rules.d.ts.map +1 -0
  123. package/dist/tsdoc-metadata.json +11 -0
  124. package/package.json +76 -0
@@ -0,0 +1,198 @@
1
+ /**
2
+ * fhir-validator — Validation Rules: Cardinality, Type, Fixed/Pattern & Reference
3
+ *
4
+ * Implements the core structural validation rules:
5
+ * - {@link validateCardinality} — min/max cardinality checks
6
+ * - {@link validateType} — FHIR type constraint checks
7
+ * - {@link inferFhirType} — heuristic FHIR type inference from JS values
8
+ * - {@link validateRequired} — required element (min≥1) presence check
9
+ * - {@link validateFixed} — fixed value exact-match checks
10
+ * - {@link validatePattern} — pattern value partial-match checks
11
+ * - {@link matchesPattern} — recursive partial object matching
12
+ * - {@link deepEqual} — recursive deep equality comparison
13
+ * - {@link validateReference} — reference target profile checks
14
+ * - {@link extractReferenceType} — extract resource type from reference string
15
+ *
16
+ * These functions operate on individual {@link CanonicalElement} definitions
17
+ * and produce {@link ValidationIssue} entries when violations are found.
18
+ *
19
+ * @module fhir-validator
20
+ */
21
+ import type { CanonicalElement } from '../model/canonical-profile.js';
22
+ import type { ValidationIssue } from './types.js';
23
+ /**
24
+ * Validate cardinality (min/max) for an element.
25
+ *
26
+ * Checks that the number of values found for an element falls within
27
+ * the allowed range defined by `element.min` and `element.max`.
28
+ *
29
+ * @param element - The canonical element definition with min/max constraints.
30
+ * @param values - The extracted values for this element.
31
+ * @param issues - Mutable array to push validation issues into.
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * // element: min=1, max=1
36
+ * validateCardinality(element, [], issues);
37
+ * // → issues: [{ code: 'CARDINALITY_MIN_VIOLATION', ... }]
38
+ * ```
39
+ */
40
+ export declare function validateCardinality(element: CanonicalElement, values: unknown[], issues: ValidationIssue[]): void;
41
+ /**
42
+ * Validate that a required element (min ≥ 1) is present.
43
+ *
44
+ * This is a convenience wrapper that checks element presence without
45
+ * needing to extract values first. It only checks the `exists` flag.
46
+ *
47
+ * @param element - The canonical element definition.
48
+ * @param exists - Whether the element exists in the resource.
49
+ * @param issues - Mutable array to push validation issues into.
50
+ */
51
+ export declare function validateRequired(element: CanonicalElement, exists: boolean, issues: ValidationIssue[]): void;
52
+ /**
53
+ * Infer the FHIR type from a JavaScript value.
54
+ *
55
+ * Uses heuristics to determine the most likely FHIR type based on
56
+ * the JavaScript runtime type and object shape. This is inherently
57
+ * imperfect — for example, a JS `string` could be any of the FHIR
58
+ * string-like primitives. The inference returns the broadest matching
59
+ * category.
60
+ *
61
+ * **Type mapping:**
62
+ *
63
+ * | JS type | Inferred FHIR type |
64
+ * |---------|-------------------|
65
+ * | `string` | `'string'` |
66
+ * | `boolean` | `'boolean'` |
67
+ * | `number` (integer) | `'integer'` |
68
+ * | `number` (decimal) | `'decimal'` |
69
+ * | `object` with `system`+`code` | `'Coding'` |
70
+ * | `object` with `coding` array | `'CodeableConcept'` |
71
+ * | `object` with `value`+`unit` or `value`+`system` | `'Quantity'` |
72
+ * | `object` with `reference` | `'Reference'` |
73
+ * | `object` with `start` or `end` | `'Period'` |
74
+ * | `object` with `numerator`+`denominator` | `'Ratio'` |
75
+ * | `object` with `line`+`city` or `city`+`state` | `'Address'` |
76
+ * | `object` with `family` or `given` | `'HumanName'` |
77
+ * | `object` with `system`+`value` (no `code`) | `'Identifier'` |
78
+ * | `object` with `contentType` or `data` | `'Attachment'` |
79
+ * | `object` with `url`+`value[x]` shape | `'Extension'` |
80
+ * | other `object` | `'BackboneElement'` |
81
+ * | `null`/`undefined` | `'null'` |
82
+ *
83
+ * @param value - The JavaScript value to infer type from.
84
+ * @returns The inferred FHIR type name.
85
+ */
86
+ export declare function inferFhirType(value: unknown): string;
87
+ /**
88
+ * Validate type constraints for an element value.
89
+ *
90
+ * Checks that the inferred FHIR type of a value matches at least one
91
+ * of the allowed types defined in the element's type constraints.
92
+ *
93
+ * If the element has no type constraints (backbone element), validation
94
+ * is skipped. If the element allows multiple types (choice type), the
95
+ * value must match at least one.
96
+ *
97
+ * @param element - The canonical element definition with type constraints.
98
+ * @param value - The actual value to validate.
99
+ * @param issues - Mutable array to push validation issues into.
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * // element.types = [{ code: 'string' }]
104
+ * validateType(element, 42, issues);
105
+ * // → issues: [{ code: 'TYPE_MISMATCH', ... }]
106
+ * ```
107
+ */
108
+ export declare function validateType(element: CanonicalElement, value: unknown, issues: ValidationIssue[]): void;
109
+ /**
110
+ * Validate that a choice type element uses an allowed type suffix.
111
+ *
112
+ * For elements like `Observation.value[x]`, checks that the concrete
113
+ * property name (e.g., `valueQuantity`) uses a type suffix that matches
114
+ * one of the allowed types in the element definition.
115
+ *
116
+ * @param element - The canonical element definition (must be a choice type).
117
+ * @param concreteFieldSuffix - The type suffix from the concrete property
118
+ * (e.g., `'Quantity'` from `valueQuantity`).
119
+ * @param issues - Mutable array to push validation issues into.
120
+ */
121
+ export declare function validateChoiceType(element: CanonicalElement, concreteFieldSuffix: string, issues: ValidationIssue[]): void;
122
+ /**
123
+ * Perform a recursive deep equality comparison between two values.
124
+ *
125
+ * Handles primitives, `null`, `undefined`, arrays (order-sensitive),
126
+ * and plain objects. Does NOT handle `Date`, `RegExp`, `Map`, `Set`,
127
+ * or other special JS types — those are not relevant for FHIR JSON.
128
+ *
129
+ * @param a - First value.
130
+ * @param b - Second value.
131
+ * @returns `true` if the values are deeply equal.
132
+ */
133
+ export declare function deepEqual(a: unknown, b: unknown): boolean;
134
+ /**
135
+ * Validate a fixed value constraint on an element.
136
+ *
137
+ * When `element.fixed` is defined, the actual value MUST be deeply equal
138
+ * to the fixed value. This is an exact-match constraint — no additional
139
+ * or missing fields are allowed.
140
+ *
141
+ * @param element - The canonical element definition (may have `fixed`).
142
+ * @param value - The actual value to validate.
143
+ * @param issues - Mutable array to push validation issues into.
144
+ */
145
+ export declare function validateFixed(element: CanonicalElement, value: unknown, issues: ValidationIssue[]): void;
146
+ /**
147
+ * Check if a value matches a pattern (partial/subset match).
148
+ *
149
+ * A pattern match means: every field present in the `pattern` must also
150
+ * be present in `value` with the same value. However, `value` may contain
151
+ * additional fields not in the pattern.
152
+ *
153
+ * For primitives and arrays, this falls back to deep equality.
154
+ * For objects, it performs recursive subset matching.
155
+ *
156
+ * @param value - The actual value to check.
157
+ * @param pattern - The pattern to match against.
158
+ * @returns `true` if the value matches the pattern.
159
+ */
160
+ export declare function matchesPattern(value: unknown, pattern: unknown): boolean;
161
+ /**
162
+ * Validate a pattern value constraint on an element.
163
+ *
164
+ * When `element.pattern` is defined, the actual value must be a superset
165
+ * of the pattern — all fields in the pattern must exist in the value with
166
+ * matching values, but the value may contain additional fields.
167
+ *
168
+ * @param element - The canonical element definition (may have `pattern`).
169
+ * @param value - The actual value to validate.
170
+ * @param issues - Mutable array to push validation issues into.
171
+ */
172
+ export declare function validatePattern(element: CanonicalElement, value: unknown, issues: ValidationIssue[]): void;
173
+ /**
174
+ * Extract the resource type from a FHIR reference string.
175
+ *
176
+ * Handles the following reference formats:
177
+ * - Relative: `"Patient/123"` → `"Patient"`
178
+ * - Absolute: `"http://example.org/fhir/Patient/123"` → `"Patient"`
179
+ * - URN: `"urn:uuid:abc-123"` → `undefined` (cannot determine type)
180
+ * - Fragment: `"#contained-1"` → `undefined`
181
+ *
182
+ * @param reference - The reference string to parse.
183
+ * @returns The resource type, or `undefined` if it cannot be determined.
184
+ */
185
+ export declare function extractReferenceType(reference: string | undefined): string | undefined;
186
+ /**
187
+ * Validate reference target profile constraints.
188
+ *
189
+ * Checks that a Reference value's target resource type matches at least
190
+ * one of the allowed target profiles defined in the element's type
191
+ * constraints.
192
+ *
193
+ * @param element - The canonical element definition with Reference type constraints.
194
+ * @param value - The actual value (expected to be a Reference object).
195
+ * @param issues - Mutable array to push validation issues into.
196
+ */
197
+ export declare function validateReference(element: CanonicalElement, value: unknown, issues: ValidationIssue[]): void;
198
+ //# sourceMappingURL=validation-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-rules.d.ts","sourceRoot":"","sources":["../../../src/validator/validation-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAOlD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,OAAO,EAAE,EACjB,MAAM,EAAE,eAAe,EAAE,GACxB,IAAI,CA4BN;AAMD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,eAAe,EAAE,GACxB,IAAI,CAWN;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA2BpD;AA2KD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,eAAe,EAAE,GACxB,IAAI,CA8BN;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,eAAe,EAAE,GACxB,IAAI,CAoBN;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CA4CzD;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,eAAe,EAAE,GACxB,IAAI,CAuBN;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAmCxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,eAAe,EAAE,GACxB,IAAI,CAuBN;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAkCtF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,eAAe,EAAE,GACxB,IAAI,CA+DN"}
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.56.1"
9
+ }
10
+ ]
11
+ }
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "fhir-runtime",
3
+ "version": "0.2.0",
4
+ "description": "FHIR R4 Core Library - TypeScript implementation with parser, validator, context, and profile support",
5
+ "homepage": "https://medxai.com.cn",
6
+ "license": "MIT",
7
+ "author": "Fangjun <fangjun20208@gmail.com>",
8
+ "keywords": [
9
+ "fhir",
10
+ "fhir-r4",
11
+ "healthcare",
12
+ "hl7",
13
+ "typescript",
14
+ "parser",
15
+ "validator",
16
+ "medical",
17
+ "interoperability"
18
+ ],
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/medxaidev/medxai.git",
22
+ "directory": "packages/fhir-core"
23
+ },
24
+ "bugs": {
25
+ "url": "https://github.com/medxaidev/medxai/issues"
26
+ },
27
+ "publishConfig": {
28
+ "access": "public",
29
+ "registry": "https://registry.npmjs.org/"
30
+ },
31
+ "sideEffects": false,
32
+ "type": "module",
33
+ "main": "./dist/cjs/index.cjs",
34
+ "module": "./dist/esm/index.mjs",
35
+ "types": "./dist/index.d.ts",
36
+ "exports": {
37
+ ".": {
38
+ "import": {
39
+ "types": "./dist/esm/index.d.ts",
40
+ "default": "./dist/esm/index.mjs"
41
+ },
42
+ "require": {
43
+ "types": "./dist/cjs/index.d.ts",
44
+ "default": "./dist/cjs/index.cjs"
45
+ }
46
+ },
47
+ "./package.json": "./package.json"
48
+ },
49
+ "files": [
50
+ "dist",
51
+ "README.md",
52
+ "LICENSE",
53
+ "CHANGELOG.md"
54
+ ],
55
+ "scripts": {
56
+ "clean": "rimraf dist",
57
+ "build": "npm run clean && tsc && node ./scripts/esbuild.mjs",
58
+ "test": "vitest run",
59
+ "prepublishOnly": "npm run test && npm run build"
60
+ },
61
+ "dependencies": {},
62
+ "devDependencies": {
63
+ "typescript": "5.9.3",
64
+ "@types/node": "25.2.0",
65
+ "rimraf": "6.1.2",
66
+ "esbuild": "0.27.2",
67
+ "@microsoft/api-extractor": "7.56.1",
68
+ "vitest": "4.0.18",
69
+ "tsx": "4.21.0"
70
+ },
71
+ "peerDependencies": {},
72
+ "engines": {
73
+ "node": ">=18.0.0",
74
+ "npm": ">=9.0.0"
75
+ }
76
+ }