@cleocode/lafs 2026.4.0 → 2026.4.3

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 (131) hide show
  1. package/README.md +97 -68
  2. package/dist/src/a2a/bindings/grpc.d.ts +117 -11
  3. package/dist/src/a2a/bindings/grpc.d.ts.map +1 -1
  4. package/dist/src/a2a/bindings/grpc.js +79 -8
  5. package/dist/src/a2a/bindings/grpc.js.map +1 -1
  6. package/dist/src/a2a/bindings/http.d.ts +129 -14
  7. package/dist/src/a2a/bindings/http.d.ts.map +1 -1
  8. package/dist/src/a2a/bindings/http.js +93 -12
  9. package/dist/src/a2a/bindings/http.js.map +1 -1
  10. package/dist/src/a2a/bindings/index.d.ts +80 -7
  11. package/dist/src/a2a/bindings/index.d.ts.map +1 -1
  12. package/dist/src/a2a/bindings/index.js +69 -2
  13. package/dist/src/a2a/bindings/index.js.map +1 -1
  14. package/dist/src/a2a/bindings/jsonrpc.d.ts +193 -9
  15. package/dist/src/a2a/bindings/jsonrpc.d.ts.map +1 -1
  16. package/dist/src/a2a/bindings/jsonrpc.js +152 -9
  17. package/dist/src/a2a/bindings/jsonrpc.js.map +1 -1
  18. package/dist/src/a2a/bridge.d.ts +232 -37
  19. package/dist/src/a2a/bridge.d.ts.map +1 -1
  20. package/dist/src/a2a/bridge.js +172 -24
  21. package/dist/src/a2a/bridge.js.map +1 -1
  22. package/dist/src/a2a/extensions.d.ts +221 -12
  23. package/dist/src/a2a/extensions.d.ts.map +1 -1
  24. package/dist/src/a2a/extensions.js +175 -11
  25. package/dist/src/a2a/extensions.js.map +1 -1
  26. package/dist/src/a2a/index.d.ts +2 -0
  27. package/dist/src/a2a/index.d.ts.map +1 -1
  28. package/dist/src/a2a/index.js +2 -0
  29. package/dist/src/a2a/index.js.map +1 -1
  30. package/dist/src/a2a/streaming.d.ts +274 -2
  31. package/dist/src/a2a/streaming.d.ts.map +1 -1
  32. package/dist/src/a2a/streaming.js +245 -2
  33. package/dist/src/a2a/streaming.js.map +1 -1
  34. package/dist/src/a2a/task-lifecycle.d.ts +339 -19
  35. package/dist/src/a2a/task-lifecycle.d.ts.map +1 -1
  36. package/dist/src/a2a/task-lifecycle.js +302 -19
  37. package/dist/src/a2a/task-lifecycle.js.map +1 -1
  38. package/dist/src/budgetEnforcement.d.ts +88 -14
  39. package/dist/src/budgetEnforcement.d.ts.map +1 -1
  40. package/dist/src/budgetEnforcement.js +132 -19
  41. package/dist/src/budgetEnforcement.js.map +1 -1
  42. package/dist/src/circuit-breaker/index.d.ts +254 -9
  43. package/dist/src/circuit-breaker/index.d.ts.map +1 -1
  44. package/dist/src/circuit-breaker/index.js +218 -9
  45. package/dist/src/circuit-breaker/index.js.map +1 -1
  46. package/dist/src/compliance.d.ts +176 -0
  47. package/dist/src/compliance.d.ts.map +1 -1
  48. package/dist/src/compliance.js +100 -0
  49. package/dist/src/compliance.js.map +1 -1
  50. package/dist/src/conformance.d.ts +52 -0
  51. package/dist/src/conformance.d.ts.map +1 -1
  52. package/dist/src/conformance.js +41 -0
  53. package/dist/src/conformance.js.map +1 -1
  54. package/dist/src/conformanceProfiles.d.ts +66 -0
  55. package/dist/src/conformanceProfiles.d.ts.map +1 -1
  56. package/dist/src/conformanceProfiles.js +51 -0
  57. package/dist/src/conformanceProfiles.js.map +1 -1
  58. package/dist/src/deprecationRegistry.d.ts +80 -0
  59. package/dist/src/deprecationRegistry.d.ts.map +1 -1
  60. package/dist/src/deprecationRegistry.js +50 -0
  61. package/dist/src/deprecationRegistry.js.map +1 -1
  62. package/dist/src/discovery.d.ts +344 -63
  63. package/dist/src/discovery.d.ts.map +1 -1
  64. package/dist/src/discovery.js +67 -13
  65. package/dist/src/discovery.js.map +1 -1
  66. package/dist/src/envelope.d.ts +252 -0
  67. package/dist/src/envelope.d.ts.map +1 -1
  68. package/dist/src/envelope.js +165 -0
  69. package/dist/src/envelope.js.map +1 -1
  70. package/dist/src/errorRegistry.d.ts +159 -0
  71. package/dist/src/errorRegistry.d.ts.map +1 -1
  72. package/dist/src/errorRegistry.js +115 -0
  73. package/dist/src/errorRegistry.js.map +1 -1
  74. package/dist/src/fieldExtraction.d.ts +125 -25
  75. package/dist/src/fieldExtraction.d.ts.map +1 -1
  76. package/dist/src/fieldExtraction.js +85 -16
  77. package/dist/src/fieldExtraction.js.map +1 -1
  78. package/dist/src/flagResolver.d.ts +75 -9
  79. package/dist/src/flagResolver.d.ts.map +1 -1
  80. package/dist/src/flagResolver.js +20 -4
  81. package/dist/src/flagResolver.js.map +1 -1
  82. package/dist/src/flagSemantics.d.ts +76 -1
  83. package/dist/src/flagSemantics.d.ts.map +1 -1
  84. package/dist/src/flagSemantics.js +66 -0
  85. package/dist/src/flagSemantics.js.map +1 -1
  86. package/dist/src/health/index.d.ts +87 -6
  87. package/dist/src/health/index.d.ts.map +1 -1
  88. package/dist/src/health/index.js +54 -6
  89. package/dist/src/health/index.js.map +1 -1
  90. package/dist/src/index.d.ts +12 -1
  91. package/dist/src/index.d.ts.map +1 -1
  92. package/dist/src/index.js +12 -1
  93. package/dist/src/index.js.map +1 -1
  94. package/dist/src/mviProjection.d.ts +42 -6
  95. package/dist/src/mviProjection.d.ts.map +1 -1
  96. package/dist/src/mviProjection.js +31 -5
  97. package/dist/src/mviProjection.js.map +1 -1
  98. package/dist/src/native-loader.d.ts +49 -0
  99. package/dist/src/native-loader.d.ts.map +1 -0
  100. package/dist/src/native-loader.js +56 -0
  101. package/dist/src/native-loader.js.map +1 -0
  102. package/dist/src/problemDetails.d.ts +70 -4
  103. package/dist/src/problemDetails.d.ts.map +1 -1
  104. package/dist/src/problemDetails.js +21 -3
  105. package/dist/src/problemDetails.js.map +1 -1
  106. package/dist/src/shutdown/index.d.ts +96 -7
  107. package/dist/src/shutdown/index.d.ts.map +1 -1
  108. package/dist/src/shutdown/index.js +72 -7
  109. package/dist/src/shutdown/index.js.map +1 -1
  110. package/dist/src/tokenEstimator.d.ts +97 -11
  111. package/dist/src/tokenEstimator.d.ts.map +1 -1
  112. package/dist/src/tokenEstimator.js +90 -11
  113. package/dist/src/tokenEstimator.js.map +1 -1
  114. package/dist/src/types.d.ts +467 -2
  115. package/dist/src/types.d.ts.map +1 -1
  116. package/dist/src/types.js +64 -0
  117. package/dist/src/types.js.map +1 -1
  118. package/dist/src/validateEnvelope.d.ts +59 -1
  119. package/dist/src/validateEnvelope.d.ts.map +1 -1
  120. package/dist/src/validateEnvelope.js +75 -9
  121. package/dist/src/validateEnvelope.js.map +1 -1
  122. package/dist/tsconfig.build.tsbuildinfo +1 -1
  123. package/lafs.md +3 -4
  124. package/package.json +6 -3
  125. package/dist/src/mcpAdapter.d.ts +0 -29
  126. package/dist/src/mcpAdapter.d.ts.map +0 -1
  127. package/dist/src/mcpAdapter.js +0 -286
  128. package/dist/src/mcpAdapter.js.map +0 -1
  129. package/schemas/v1/conformance-profiles.d.ts +0 -15
  130. package/schemas/v1/envelope.schema.d.ts +0 -14
  131. package/schemas/v1/error-registry.d.ts +0 -24
@@ -1,8 +1,32 @@
1
1
  import { runEnvelopeConformance, runFlagConformance } from './conformance.js';
2
2
  import { resolveOutputFormat } from './flagSemantics.js';
3
3
  import { assertEnvelope, validateEnvelope, } from './validateEnvelope.js';
4
+ /**
5
+ * Error thrown when {@link assertCompliance} or {@link withCompliance} detects failures.
6
+ *
7
+ * @remarks
8
+ * Extends `Error` with a structured `issues` array so callers can
9
+ * programmatically inspect each failure without parsing the message string.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * try {
14
+ * assertCompliance(envelope);
15
+ * } catch (err) {
16
+ * if (err instanceof ComplianceError) {
17
+ * console.log(err.issues);
18
+ * }
19
+ * }
20
+ * ```
21
+ */
4
22
  export class ComplianceError extends Error {
23
+ /** The structured list of compliance issues that caused this error. */
5
24
  issues;
25
+ /**
26
+ * Creates a new ComplianceError from a list of issues.
27
+ *
28
+ * @param issues - The compliance issues that triggered this error.
29
+ */
6
30
  constructor(issues) {
7
31
  super(`LAFS compliance failed: ${issues.map((issue) => issue.message).join('; ')}`);
8
32
  this.name = 'ComplianceError';
@@ -18,6 +42,27 @@ function conformanceIssues(report, stage) {
18
42
  detail: check.detail,
19
43
  }));
20
44
  }
45
+ /**
46
+ * Runs the full LAFS compliance pipeline against an unknown input value.
47
+ *
48
+ * @remarks
49
+ * Executes stages in order: schema validation, envelope conformance,
50
+ * flag conformance, and output-format assertion. Each stage is gated
51
+ * by the corresponding option. Schema validation always runs first;
52
+ * if it fails, later stages are skipped.
53
+ *
54
+ * @param input - The raw value to validate as a LAFS envelope.
55
+ * @param options - Controls which optional stages execute.
56
+ * @returns A {@link ComplianceResult} with the aggregate pass/fail status and per-stage reports.
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * const result = enforceCompliance(rawJson, { checkFlags: true, flags: { jsonFlag: true } });
61
+ * if (!result.ok) {
62
+ * console.error(result.issues);
63
+ * }
64
+ * ```
65
+ */
21
66
  export function enforceCompliance(input, options = {}) {
22
67
  const { checkConformance = true, checkFlags = false, flags, requireJsonOutput = false } = options;
23
68
  const issues = [];
@@ -68,6 +113,24 @@ export function enforceCompliance(input, options = {}) {
68
113
  issues,
69
114
  };
70
115
  }
116
+ /**
117
+ * Validates input and throws {@link ComplianceError} on any failure.
118
+ *
119
+ * @remarks
120
+ * Thin wrapper around {@link enforceCompliance} that converts a non-ok
121
+ * result into an exception. Useful in pipelines where compliance is a
122
+ * hard gate.
123
+ *
124
+ * @param input - The raw value to validate as a LAFS envelope.
125
+ * @param options - Controls which optional stages execute.
126
+ * @returns The validated {@link LAFSEnvelope} when all stages pass.
127
+ * @throws {@link ComplianceError} When any compliance stage fails.
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * const envelope = assertCompliance(rawJson);
132
+ * ```
133
+ */
71
134
  export function assertCompliance(input, options = {}) {
72
135
  const result = enforceCompliance(input, options);
73
136
  if (!result.ok || !result.envelope) {
@@ -75,12 +138,49 @@ export function assertCompliance(input, options = {}) {
75
138
  }
76
139
  return result.envelope;
77
140
  }
141
+ /**
142
+ * Wraps an envelope-producing function with automatic compliance enforcement.
143
+ *
144
+ * @remarks
145
+ * Returns a new async function that calls the producer, then pipes the
146
+ * result through {@link assertCompliance}. If the producer returns a
147
+ * non-compliant envelope, the wrapper throws {@link ComplianceError}.
148
+ *
149
+ * @typeParam TArgs - Argument types forwarded to the producer function.
150
+ * @typeParam TResult - The envelope subtype returned by the producer.
151
+ * @param producer - A sync or async function that produces a LAFS envelope.
152
+ * @param options - Compliance options forwarded to {@link assertCompliance}.
153
+ * @returns An async function with the same signature that enforces compliance on every call.
154
+ *
155
+ * @example
156
+ * ```ts
157
+ * const safeFetch = withCompliance(fetchEnvelope, { checkConformance: true });
158
+ * const envelope = await safeFetch('/api/data');
159
+ * ```
160
+ */
78
161
  export function withCompliance(producer, options = {}) {
79
162
  return async (...args) => {
80
163
  const envelope = await producer(...args);
81
164
  return assertCompliance(envelope, options);
82
165
  };
83
166
  }
167
+ /**
168
+ * Creates a {@link ComplianceMiddleware} that enforces LAFS compliance on the next handler's output.
169
+ *
170
+ * @remarks
171
+ * The returned middleware calls `next()`, then pipes the candidate envelope
172
+ * through {@link assertCompliance}. Non-compliant envelopes cause a
173
+ * {@link ComplianceError} to propagate.
174
+ *
175
+ * @param options - Compliance options forwarded to {@link assertCompliance}.
176
+ * @returns A middleware function that validates the downstream envelope.
177
+ *
178
+ * @example
179
+ * ```ts
180
+ * const mw = createComplianceMiddleware({ checkConformance: true });
181
+ * const result = await mw(currentEnvelope, () => produceEnvelope());
182
+ * ```
183
+ */
84
184
  export function createComplianceMiddleware(options = {}) {
85
185
  return async (_envelope, next) => {
86
186
  const candidate = await next();
@@ -1 +1 @@
1
- {"version":3,"file":"compliance.js","sourceRoot":"","sources":["../../src/compliance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compliance.js","sourceRoot":"","sources":["../../src/compliance.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,60 @@
1
1
  import { type ConformanceTier } from './conformanceProfiles.js';
2
2
  import type { ConformanceReport, FlagInput } from './types.js';
3
+ /**
4
+ * Options for configuring envelope conformance checking.
5
+ *
6
+ * @remarks
7
+ * When a tier is specified, only the checks belonging to that tier (and below)
8
+ * are included in the final report.
9
+ */
3
10
  export interface EnvelopeConformanceOptions {
11
+ /**
12
+ * The conformance tier to filter checks by.
13
+ * @defaultValue undefined
14
+ */
4
15
  tier?: ConformanceTier;
5
16
  }
17
+ /**
18
+ * Runs the full suite of LAFS envelope conformance checks.
19
+ *
20
+ * @remarks
21
+ * Validates schema, envelope invariants, error-code registration,
22
+ * agent-action validity, transport mapping consistency, context mutation
23
+ * rules, MVI level, strict-mode behavior, pagination mode consistency,
24
+ * strict-mode enforcement, and context preservation. When a
25
+ * {@link EnvelopeConformanceOptions.tier} is specified, only checks
26
+ * belonging to that tier are included in the returned report.
27
+ *
28
+ * @param envelope - The raw value to validate as a LAFS envelope.
29
+ * @param options - Optional tier filter for the conformance checks.
30
+ * @returns A {@link ConformanceReport} with individual check results and an overall pass/fail.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const report = runEnvelopeConformance(parsedJson, { tier: 'core' });
35
+ * if (!report.ok) {
36
+ * console.error(report.checks.filter(c => !c.pass));
37
+ * }
38
+ * ```
39
+ */
6
40
  export declare function runEnvelopeConformance(envelope: unknown, options?: EnvelopeConformanceOptions): ConformanceReport;
41
+ /**
42
+ * Runs LAFS flag-semantics conformance checks against a set of flag inputs.
43
+ *
44
+ * @remarks
45
+ * Verifies that conflicting flags (`--human` + `--json`) are properly rejected,
46
+ * the protocol default resolves to JSON, and project/user config overrides are
47
+ * respected. Catches {@link LAFSFlagError} with code `E_FORMAT_CONFLICT` as a
48
+ * valid conformance outcome.
49
+ *
50
+ * @param flags - The flag input to validate.
51
+ * @returns A {@link ConformanceReport} with individual check results and an overall pass/fail.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * const report = runFlagConformance({ humanFlag: true, jsonFlag: false });
56
+ * console.log(report.ok); // true
57
+ * ```
58
+ */
7
59
  export declare function runFlagConformance(flags: FlagInput): ConformanceReport;
8
60
  //# sourceMappingURL=conformance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../../src/conformance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,0BAA0B,CAAC;AAGlF,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAa/D,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,0BAA+B,GACvC,iBAAiB,CA8UnB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,iBAAiB,CA+CtE"}
1
+ {"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../../src/conformance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,0BAA0B,CAAC;AAGlF,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAa/D;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,0BAA+B,GACvC,iBAAiB,CA8UnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,iBAAiB,CA+CtE"}
@@ -6,6 +6,29 @@ import { validateEnvelope } from './validateEnvelope.js';
6
6
  function pushCheck(checks, name, pass, detail) {
7
7
  checks.push({ name, pass, ...(detail ? { detail } : {}) });
8
8
  }
9
+ /**
10
+ * Runs the full suite of LAFS envelope conformance checks.
11
+ *
12
+ * @remarks
13
+ * Validates schema, envelope invariants, error-code registration,
14
+ * agent-action validity, transport mapping consistency, context mutation
15
+ * rules, MVI level, strict-mode behavior, pagination mode consistency,
16
+ * strict-mode enforcement, and context preservation. When a
17
+ * {@link EnvelopeConformanceOptions.tier} is specified, only checks
18
+ * belonging to that tier are included in the returned report.
19
+ *
20
+ * @param envelope - The raw value to validate as a LAFS envelope.
21
+ * @param options - Optional tier filter for the conformance checks.
22
+ * @returns A {@link ConformanceReport} with individual check results and an overall pass/fail.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const report = runEnvelopeConformance(parsedJson, { tier: 'core' });
27
+ * if (!report.ok) {
28
+ * console.error(report.checks.filter(c => !c.pass));
29
+ * }
30
+ * ```
31
+ */
9
32
  export function runEnvelopeConformance(envelope, options = {}) {
10
33
  const checks = [];
11
34
  const validation = validateEnvelope(envelope);
@@ -223,6 +246,24 @@ export function runEnvelopeConformance(envelope, options = {}) {
223
246
  const tierChecks = checks.filter((check) => allowed.has(check.name));
224
247
  return { ok: tierChecks.every((check) => check.pass), checks: tierChecks };
225
248
  }
249
+ /**
250
+ * Runs LAFS flag-semantics conformance checks against a set of flag inputs.
251
+ *
252
+ * @remarks
253
+ * Verifies that conflicting flags (`--human` + `--json`) are properly rejected,
254
+ * the protocol default resolves to JSON, and project/user config overrides are
255
+ * respected. Catches {@link LAFSFlagError} with code `E_FORMAT_CONFLICT` as a
256
+ * valid conformance outcome.
257
+ *
258
+ * @param flags - The flag input to validate.
259
+ * @returns A {@link ConformanceReport} with individual check results and an overall pass/fail.
260
+ *
261
+ * @example
262
+ * ```ts
263
+ * const report = runFlagConformance({ humanFlag: true, jsonFlag: false });
264
+ * console.log(report.ok); // true
265
+ * ```
266
+ */
226
267
  export function runFlagConformance(flags) {
227
268
  const checks = [];
228
269
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/conformance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,SAAS,SAAS,CAChB,MAAmC,EACnC,IAAY,EACZ,IAAa,EACb,MAAe;IAEf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAMD,MAAM,UAAU,sBAAsB,CACpC,QAAiB,EACjB,UAAsC,EAAE;IAExC,MAAM,MAAM,GAAgC,EAAE,CAAC;IAE/C,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,SAAS,CACP,MAAM,EACN,uBAAuB,EACvB,UAAU,CAAC,KAAK,EAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5D,CAAC;IAEF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,KAAK,GAAG,QAeb,CAAC;IAEF,wEAAwE;IACxE,wDAAwD;IACxD,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO;QAC7B,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,qDAAqD;QAC3E,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,4CAA4C;IACrE,SAAS,CACP,MAAM,EACN,qBAAqB,EACrB,SAAS,EACT,SAAS;QACP,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,OAAO;YACb,CAAC,CAAC,gDAAgD;YAClD,CAAC,CAAC,sDAAsD,CAC7D,CAAC;IAEF,kGAAkG;IAClG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,SAAS,CACP,MAAM,EACN,uBAAuB,EACvB,UAAU,EACV,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAClE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,SAAS,CACP,MAAM,EACN,uBAAuB,EACvB,IAAI,EACJ,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,0FAA0F;IAC1F,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrD,SAAS,CACP,MAAM,EACN,oBAAoB,EACpB,KAAK,EACL,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAC9E,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,8BAA8B,CAAC,CAAC;IAChF,CAAC;IAED,uFAAuF;IACvF,+EAA+E;IAC/E,IACE,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;QACrC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EACvC,CAAC;QACD,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,cAAc,GAAI,aAAqD,EAAE,CAC7E,aAAa,CACQ,CAAC;QACxB,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,cAAc,CAAC;YAC3D,SAAS,CACP,MAAM,EACN,6BAA6B,EAC7B,IAAI,EAAE,gCAAgC;YACtC,OAAO;gBACL,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,WAAW,oCAAoC,cAAc,SAAS,KAAK,CAAC,KAAK,CAAC,IAAI,aAAa,CACpI,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,SAAS,CACP,MAAM,EACN,6BAA6B,EAC7B,IAAI,EACJ,qDAAqD,CACtD,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,CACP,MAAM,EACN,6BAA6B,EAC7B,IAAI,EACJ,KAAK,CAAC,KAAK;YACT,CAAC,CAAC,mDAAmD;YACrD,CAAC,CAAC,4BAA4B,CACjC,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,2EAA2E;IAC3E,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACpC,SAAS,CACP,MAAM,EACN,8BAA8B,EAC9B,IAAI,EACJ,6DAA6D,CAC9D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7E,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC;YACnC,SAAS,CACP,MAAM,EACN,8BAA8B,EAC9B,SAAS,EACT,SAAS;gBACP,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,2BAA2B,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,CACP,MAAM,EACN,8BAA8B,EAC9B,IAAI,EACJ,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,CAAC;QACC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAA4B,CAAC;QACjE,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAA4B,CAAC;QACrE,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAA4B,CAAC;QAC/D,MAAM,eAAe,GACnB,GAAG,CAAC,qBAAqB,CAAC,KAAK,IAAI;YACnC,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI;YAC/B,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;QAEtC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,SAAS,CAAC,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,uCAAuC,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,MAAM,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAE5F,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,kBAAkB,CAAC;gBAChC,SAAS,CACP,MAAM,EACN,0BAA0B,EAC1B,IAAI,EACJ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kEAAkE,CACtF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC/B,MAAM,IAAI,GAAG,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,iBAAiB,CAAC;gBACxE,SAAS,CACP,MAAM,EACN,0BAA0B,EAC1B,IAAI,EACJ,IAAI;oBACF,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,qFAAqF,MAAM,CAAC,IAAI,CAAC,EAAE,CACxG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,SAAS,CACP,MAAM,EACN,kBAAkB,EAClB,QAAQ,EACR,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CACvE,CAAC;IACF,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAElF,wEAAwE;IACxE,kFAAkF;IAClF,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,QAAmC,CAAC;QAChD,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;QACtF,MAAM,mBAAmB,GAAG,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;QAClE,MAAM,WAAW,GAAG,CAAC,oBAAoB,IAAI,CAAC,mBAAmB,CAAC;QAClE,SAAS,CACP,MAAM,EACN,sBAAsB,EACtB,WAAW,EACX,WAAW;YACT,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,wEAAwE,CAC7E,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,8DAA8D;IAC9D,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,KAAK,CAAC,IAA+B,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAuB,CAAC;QAChD,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,MAA0B,CAAC;QAE/B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;gBACjC,UAAU,GAAG,KAAK,CAAC;gBACnB,MAAM,GAAG,6CAA6C,CAAC;YACzD,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrC,UAAU,GAAG,KAAK,CAAC;gBACnB,MAAM,GAAG,iDAAiD,CAAC;YAC7D,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;YAClE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,UAAU,GAAG,KAAK,CAAC;gBACnB,MAAM,GAAG,iDAAiD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrF,CAAC;QACH,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,4BAA4B,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/F,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;IACjF,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,iEAAiE;IACjE,CAAC;QACC,MAAM,iBAAiB,GAAG,EAAE,GAAI,QAAoC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC7F,MAAM,WAAW,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,SAAS,CACP,MAAM,EACN,sBAAsB,EACtB,CAAC,WAAW,CAAC,KAAK,EAClB,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,SAAS,CACtF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,SAAS,CACP,MAAM,EACN,sBAAsB,EACtB,WAAW,CAAC,KAAK,EACjB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,SAAS,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,2EAA2E;IAC3E,CAAC;QACC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAA4B,CAAC;QACjE,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAwC,CAAC;QAE/F,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,SAAS,CAAC,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,iCAAiC,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAClC,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAClD,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAExD,MAAM,iBAAiB,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC;YACtD,MAAM,sBAAsB,GAAG,iBAAiB,IAAI,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;YAC3F,MAAM,qBAAqB,GACzB,OAAO,eAAe,KAAK,QAAQ,IAAI,CAAC,iBAAiB,IAAI,OAAO,IAAI,eAAe,CAAC,CAAC;YAC3F,MAAM,oBAAoB,GACxB,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAE1F,IAAI,IAAI,GAAG,sBAAsB,IAAI,qBAAqB,IAAI,oBAAoB,CAAC;YACnF,IAAI,MAA0B,CAAC;YAE/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,IAAI,GAAG,KAAK,CAAC;gBACb,MAAM,GAAG,wCAAwC,CAAC;YACpD,CAAC;iBAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACnC,MAAM,GAAG,oCAAoC,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACxG,CAAC;iBAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAClC,MAAM,GAAG,2CAA2C,MAAM,CAAC,eAAe,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3G,CAAC;iBAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACjC,MAAM,GAAG,4DAA4D,CAAC;YACxE,CAAC;YAED,6DAA6D;YAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;gBACvC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACpD,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM,GAAG,oDAAoD,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAClF,CAAC;gBACD,IACE,CAAC,KAAK;oBACN,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB;oBACxC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,EACtC,CAAC;oBACD,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM,GAAG,oFAAoF,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAClH,CAAC;YACH,CAAC;YAED,SAAS,CAAC,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAgB;IACjD,MAAM,MAAM,GAAgC,EAAE,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC5C,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAElF,4EAA4E;QAC5E,oDAAoD;QACpD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC;QACxD,SAAS,CACP,MAAM,EACN,uBAAuB,EACvB,CAAC,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAChD,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;YAC7C,CAAC,CAAC,wCAAwC,QAAQ,CAAC,MAAM,EAAE;YAC3D,CAAC,CAAC,SAAS,CACd,CAAC;QAEF,mEAAmE;QACnE,4DAA4D;QAC5D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC;QACtF,MAAM,gBAAgB,GACpB,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;QAC3E,SAAS,CACP,MAAM,EACN,2BAA2B,EAC3B,CAAC,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,gBAAgB,EAC1D,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,gBAAgB;YACvD,CAAC,CAAC,4BAA4B,MAAM,CAAC,gBAAgB,CAAC,SAAS,QAAQ,CAAC,MAAM,EAAE;YAChF,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACzE,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7D,CAAC;QACD,SAAS,CACP,MAAM,EACN,iBAAiB,EACjB,KAAK,EACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/conformance.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,76 @@
1
+ /**
2
+ * Named conformance tier indicating the breadth of checks applied.
3
+ *
4
+ * @remarks
5
+ * Tiers are cumulative: `core` is a subset of `standard`, which is
6
+ * a subset of `complete`.
7
+ */
1
8
  export type ConformanceTier = 'core' | 'standard' | 'complete';
9
+ /**
10
+ * Schema for the conformance-profiles JSON file.
11
+ *
12
+ * @remarks
13
+ * Maps each {@link ConformanceTier} to the set of check names it includes.
14
+ */
2
15
  export interface ConformanceProfiles {
16
+ /** Semantic version of the conformance-profiles schema. */
3
17
  version: string;
18
+ /** Mapping from tier name to the ordered list of check names in that tier. */
4
19
  tiers: Record<ConformanceTier, string[]>;
5
20
  }
21
+ /**
22
+ * Loads the conformance profiles from the bundled JSON schema.
23
+ *
24
+ * @remarks
25
+ * Returns the parsed `conformance-profiles.json` as a typed object.
26
+ * The profiles define which checks belong to each conformance tier.
27
+ *
28
+ * @returns The full {@link ConformanceProfiles} object.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const profiles = getConformanceProfiles();
33
+ * console.log(profiles.tiers.core);
34
+ * ```
35
+ */
6
36
  export declare function getConformanceProfiles(): ConformanceProfiles;
37
+ /**
38
+ * Returns the list of check names that belong to the given conformance tier.
39
+ *
40
+ * @remarks
41
+ * Retrieves the tier from the bundled profiles JSON. Returns an empty
42
+ * array when the tier key is not found (defensive fallback).
43
+ *
44
+ * @param tier - The conformance tier to retrieve checks for.
45
+ * @returns An array of check name strings for the specified tier.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const coreChecks = getChecksForTier('core');
50
+ * ```
51
+ */
7
52
  export declare function getChecksForTier(tier: ConformanceTier): string[];
53
+ /**
54
+ * Validates that the conformance profiles are internally consistent and reference only known checks.
55
+ *
56
+ * @remarks
57
+ * Verifies two invariants:
58
+ * 1. Tier superset containment: every `core` check appears in `standard`,
59
+ * and every `standard` check appears in `complete`.
60
+ * 2. Known-check coverage: every check name referenced in any tier exists
61
+ * in the provided `availableChecks` list.
62
+ *
63
+ * @param availableChecks - The full list of check names implemented by the conformance runner.
64
+ * @returns An object with `valid` (true when no errors) and an `errors` array of diagnostic strings.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * const result = validateConformanceProfiles(['envelope_schema_valid', 'envelope_invariants']);
69
+ * if (!result.valid) {
70
+ * console.error(result.errors);
71
+ * }
72
+ * ```
73
+ */
8
74
  export declare function validateConformanceProfiles(availableChecks: string[]): {
9
75
  valid: boolean;
10
76
  errors: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"conformanceProfiles.d.ts","sourceRoot":"","sources":["../../src/conformanceProfiles.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,wBAAgB,sBAAsB,IAAI,mBAAmB,CAE5D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE,CAGhE;AAED,wBAAgB,2BAA2B,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG;IACtE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAgCA"}
1
+ {"version":3,"file":"conformanceProfiles.d.ts","sourceRoot":"","sources":["../../src/conformanceProfiles.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAE5D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE,CAGhE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG;IACtE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAgCA"}
@@ -1,11 +1,62 @@
1
1
  import profilesJson from '../schemas/v1/conformance-profiles.json' with { type: 'json' };
2
+ /**
3
+ * Loads the conformance profiles from the bundled JSON schema.
4
+ *
5
+ * @remarks
6
+ * Returns the parsed `conformance-profiles.json` as a typed object.
7
+ * The profiles define which checks belong to each conformance tier.
8
+ *
9
+ * @returns The full {@link ConformanceProfiles} object.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const profiles = getConformanceProfiles();
14
+ * console.log(profiles.tiers.core);
15
+ * ```
16
+ */
2
17
  export function getConformanceProfiles() {
3
18
  return profilesJson;
4
19
  }
20
+ /**
21
+ * Returns the list of check names that belong to the given conformance tier.
22
+ *
23
+ * @remarks
24
+ * Retrieves the tier from the bundled profiles JSON. Returns an empty
25
+ * array when the tier key is not found (defensive fallback).
26
+ *
27
+ * @param tier - The conformance tier to retrieve checks for.
28
+ * @returns An array of check name strings for the specified tier.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const coreChecks = getChecksForTier('core');
33
+ * ```
34
+ */
5
35
  export function getChecksForTier(tier) {
6
36
  const profiles = getConformanceProfiles();
7
37
  return profiles.tiers[tier] ?? [];
8
38
  }
39
+ /**
40
+ * Validates that the conformance profiles are internally consistent and reference only known checks.
41
+ *
42
+ * @remarks
43
+ * Verifies two invariants:
44
+ * 1. Tier superset containment: every `core` check appears in `standard`,
45
+ * and every `standard` check appears in `complete`.
46
+ * 2. Known-check coverage: every check name referenced in any tier exists
47
+ * in the provided `availableChecks` list.
48
+ *
49
+ * @param availableChecks - The full list of check names implemented by the conformance runner.
50
+ * @returns An object with `valid` (true when no errors) and an `errors` array of diagnostic strings.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * const result = validateConformanceProfiles(['envelope_schema_valid', 'envelope_invariants']);
55
+ * if (!result.valid) {
56
+ * console.error(result.errors);
57
+ * }
58
+ * ```
59
+ */
9
60
  export function validateConformanceProfiles(availableChecks) {
10
61
  const profiles = getConformanceProfiles();
11
62
  const errors = [];
@@ -1 +1 @@
1
- {"version":3,"file":"conformanceProfiles.js","sourceRoot":"","sources":["../../src/conformanceProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,yCAAyC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AASzF,MAAM,UAAU,sBAAsB;IACpC,OAAO,YAAmC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAqB;IACpD,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,eAAyB;IAInE,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,8CAA8C,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAEzD,EAAE,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,UAAU,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"conformanceProfiles.js","sourceRoot":"","sources":["../../src/conformanceProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,yCAAyC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAwBzF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,YAAmC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAqB;IACpD,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,2BAA2B,CAAC,eAAyB;IAInE,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,8CAA8C,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAEzD,EAAE,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,UAAU,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC"}
@@ -1,14 +1,94 @@
1
1
  import type { LAFSEnvelope, Warning } from './types.js';
2
+ /**
3
+ * A single deprecation rule in the registry.
4
+ *
5
+ * @remarks
6
+ * Each entry defines a detector function that inspects an envelope for
7
+ * deprecated usage patterns, along with metadata for generating warnings.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const entry: DeprecationEntry = {
12
+ * id: "meta-mvi-boolean",
13
+ * code: "W_DEPRECATED_META_MVI_BOOLEAN",
14
+ * message: "_meta.mvi boolean values are deprecated",
15
+ * deprecated: "1.0.0",
16
+ * replacement: "Use _meta.mvi as one of: minimal|standard|full|custom",
17
+ * removeBy: "2.0.0",
18
+ * detector: (env) => typeof env._meta.mvi === "boolean",
19
+ * };
20
+ * ```
21
+ */
2
22
  export interface DeprecationEntry {
23
+ /** Unique identifier for this deprecation rule */
3
24
  id: string;
25
+ /** Warning code emitted when detected */
4
26
  code: string;
27
+ /** Human-readable deprecation message */
5
28
  message: string;
29
+ /** Version where the feature was deprecated */
6
30
  deprecated: string;
31
+ /**
32
+ * Suggested replacement or migration path.
33
+ * @defaultValue `undefined`
34
+ */
7
35
  replacement?: string;
36
+ /** Version where the deprecated feature will be removed */
8
37
  removeBy: string;
38
+ /** Predicate that returns `true` when the envelope uses the deprecated feature */
9
39
  detector: (envelope: LAFSEnvelope) => boolean;
10
40
  }
41
+ /**
42
+ * Retrieve all registered deprecation entries.
43
+ *
44
+ * @returns Array of all {@link DeprecationEntry} rules in the registry
45
+ *
46
+ * @remarks
47
+ * Returns the internal registry array by reference. Callers should not
48
+ * mutate the returned array.
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * const entries = getDeprecationRegistry();
53
+ * console.log(entries.length); // number of registered deprecations
54
+ * ```
55
+ */
11
56
  export declare function getDeprecationRegistry(): DeprecationEntry[];
57
+ /**
58
+ * Detect deprecated field usage in a LAFS envelope.
59
+ *
60
+ * @param envelope - The LAFS envelope to inspect
61
+ * @returns Array of {@link Warning} objects for each detected deprecation
62
+ *
63
+ * @remarks
64
+ * Runs all registered deprecation detectors against the envelope and returns
65
+ * warnings for each match. Returns an empty array if no deprecations are found.
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * const warnings = detectDeprecatedEnvelopeFields(envelope);
70
+ * for (const w of warnings) {
71
+ * console.warn(`${w.code}: ${w.message}`);
72
+ * }
73
+ * ```
74
+ */
12
75
  export declare function detectDeprecatedEnvelopeFields(envelope: LAFSEnvelope): Warning[];
76
+ /**
77
+ * Emit deprecation warnings by attaching them to the envelope metadata.
78
+ *
79
+ * @param envelope - The LAFS envelope to augment
80
+ * @returns A new envelope with deprecation warnings appended to `_meta.warnings`
81
+ *
82
+ * @remarks
83
+ * If no deprecations are detected, the original envelope is returned unchanged
84
+ * (no copy is made). Otherwise, a shallow copy is returned with the warnings
85
+ * array extended.
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * const enriched = emitDeprecationWarnings(envelope);
90
+ * console.log(enriched._meta.warnings); // includes any deprecation warnings
91
+ * ```
92
+ */
13
93
  export declare function emitDeprecationWarnings(envelope: LAFSEnvelope): LAFSEnvelope;
14
94
  //# sourceMappingURL=deprecationRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deprecationRegistry.d.ts","sourceRoot":"","sources":["../../src/deprecationRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,CAAC;CAC/C;AAeD,wBAAgB,sBAAsB,IAAI,gBAAgB,EAAE,CAE3D;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,EAAE,CAUhF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,CAc5E"}
1
+ {"version":3,"file":"deprecationRegistry.d.ts","sourceRoot":"","sources":["../../src/deprecationRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,CAAC;CAC/C;AAeD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,EAAE,CAE3D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,EAAE,CAUhF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,CAc5E"}
@@ -9,9 +9,42 @@ const DEPRECATION_REGISTRY = [
9
9
  detector: (envelope) => typeof envelope._meta.mvi === 'boolean',
10
10
  },
11
11
  ];
12
+ /**
13
+ * Retrieve all registered deprecation entries.
14
+ *
15
+ * @returns Array of all {@link DeprecationEntry} rules in the registry
16
+ *
17
+ * @remarks
18
+ * Returns the internal registry array by reference. Callers should not
19
+ * mutate the returned array.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const entries = getDeprecationRegistry();
24
+ * console.log(entries.length); // number of registered deprecations
25
+ * ```
26
+ */
12
27
  export function getDeprecationRegistry() {
13
28
  return DEPRECATION_REGISTRY;
14
29
  }
30
+ /**
31
+ * Detect deprecated field usage in a LAFS envelope.
32
+ *
33
+ * @param envelope - The LAFS envelope to inspect
34
+ * @returns Array of {@link Warning} objects for each detected deprecation
35
+ *
36
+ * @remarks
37
+ * Runs all registered deprecation detectors against the envelope and returns
38
+ * warnings for each match. Returns an empty array if no deprecations are found.
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const warnings = detectDeprecatedEnvelopeFields(envelope);
43
+ * for (const w of warnings) {
44
+ * console.warn(`${w.code}: ${w.message}`);
45
+ * }
46
+ * ```
47
+ */
15
48
  export function detectDeprecatedEnvelopeFields(envelope) {
16
49
  return getDeprecationRegistry()
17
50
  .filter((entry) => entry.detector(envelope))
@@ -23,6 +56,23 @@ export function detectDeprecatedEnvelopeFields(envelope) {
23
56
  removeBy: entry.removeBy,
24
57
  }));
25
58
  }
59
+ /**
60
+ * Emit deprecation warnings by attaching them to the envelope metadata.
61
+ *
62
+ * @param envelope - The LAFS envelope to augment
63
+ * @returns A new envelope with deprecation warnings appended to `_meta.warnings`
64
+ *
65
+ * @remarks
66
+ * If no deprecations are detected, the original envelope is returned unchanged
67
+ * (no copy is made). Otherwise, a shallow copy is returned with the warnings
68
+ * array extended.
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * const enriched = emitDeprecationWarnings(envelope);
73
+ * console.log(enriched._meta.warnings); // includes any deprecation warnings
74
+ * ```
75
+ */
26
76
  export function emitDeprecationWarnings(envelope) {
27
77
  const detected = detectDeprecatedEnvelopeFields(envelope);
28
78
  if (detected.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"deprecationRegistry.js","sourceRoot":"","sources":["../../src/deprecationRegistry.ts"],"names":[],"mappings":"AAYA,MAAM,oBAAoB,GAAuB;IAC/C;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,yCAAyC;QAClD,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CACrB,OAAQ,QAAwC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS;KAC3E;CACF,CAAC;AAEF,MAAM,UAAU,sBAAsB;IACpC,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,QAAsB;IACnE,OAAO,sBAAsB,EAAE;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAsB;IAC5D,MAAM,QAAQ,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvD,OAAO;QACL,GAAG,QAAQ;QACX,KAAK,EAAE;YACL,GAAG,QAAQ,CAAC,KAAK;YACjB,QAAQ,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,QAAQ,CAAC;SAC7C;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"deprecationRegistry.js","sourceRoot":"","sources":["../../src/deprecationRegistry.ts"],"names":[],"mappings":"AA0CA,MAAM,oBAAoB,GAAuB;IAC/C;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,yCAAyC;QAClD,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CACrB,OAAQ,QAAwC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS;KAC3E;CACF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,8BAA8B,CAAC,QAAsB;IACnE,OAAO,sBAAsB,EAAE;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAsB;IAC5D,MAAM,QAAQ,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvD,OAAO;QACL,GAAG,QAAQ;QACX,KAAK,EAAE;YACL,GAAG,QAAQ,CAAC,KAAK;YACjB,QAAQ,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,QAAQ,CAAC;SAC7C;KACF,CAAC;AACJ,CAAC"}