field-redactor 1.6.1 → 1.6.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 (194) hide show
  1. package/.github/workflows/publish.yml +55 -0
  2. package/CHANGELOG.md +32 -0
  3. package/CONTRIBUTING.md +26 -3
  4. package/README.md +3 -2
  5. package/dist/api/fieldRedactor.d.ts +4 -4
  6. package/dist/api/fieldRedactor.js +8 -8
  7. package/dist/api/fieldRedactor.js.map +1 -1
  8. package/dist/api/fieldRedactorConfigBuilder.d.ts +3 -3
  9. package/dist/api/fieldRedactorConfigBuilder.d.ts.map +1 -1
  10. package/dist/api/fieldRedactorConfigBuilder.js +7 -9
  11. package/dist/api/fieldRedactorConfigBuilder.js.map +1 -1
  12. package/dist/api/fieldRedactorDeps.d.ts +2 -2
  13. package/dist/api/fieldRedactorDeps.d.ts.map +1 -1
  14. package/dist/api/fieldRedactorDeps.js +6 -6
  15. package/dist/api/fieldRedactorDeps.js.map +1 -1
  16. package/dist/config/configValidator.d.ts.map +1 -1
  17. package/dist/config/configValidator.js +16 -0
  18. package/dist/config/configValidator.js.map +1 -1
  19. package/dist/config/presets.d.ts +2 -2
  20. package/dist/config/presets.js +1 -1
  21. package/dist/config/redactionRules.d.ts +10 -5
  22. package/dist/config/redactionRules.d.ts.map +1 -1
  23. package/dist/config/redactionRules.js +16 -11
  24. package/dist/config/redactionRules.js.map +1 -1
  25. package/dist/engine/objectRedactorHelpers.js +2 -2
  26. package/dist/engine/objectRedactorHelpers.js.map +1 -1
  27. package/dist/engine/objectRedactorTraversal.d.ts +1 -0
  28. package/dist/engine/objectRedactorTraversal.d.ts.map +1 -1
  29. package/dist/engine/objectRedactorTraversal.js +1 -0
  30. package/dist/engine/objectRedactorTraversal.js.map +1 -1
  31. package/dist/rules/ruleResolver.js +2 -2
  32. package/dist/rules/ruleResolver.js.map +1 -1
  33. package/dist/rules/secretManager.d.ts +5 -5
  34. package/dist/rules/secretManager.d.ts.map +1 -1
  35. package/dist/rules/secretManager.js +13 -8
  36. package/dist/rules/secretManager.js.map +1 -1
  37. package/dist/types.d.ts +39 -21
  38. package/dist/types.d.ts.map +1 -1
  39. package/dist/types.js +4 -4
  40. package/dist/types.js.map +1 -1
  41. package/docs/guides/anti-patterns.md +1 -1
  42. package/docs/guides/metadata-redaction.md +2 -2
  43. package/docs/guides/migration-1.5-to-1.6.md +6 -4
  44. package/docs/guides/secret-key-modes.md +9 -14
  45. package/docs/reference/config.md +2 -2
  46. package/docs/release-notes/README.md +5 -1
  47. package/docs/release-notes/v1.6.2.md +26 -0
  48. package/docs/release-notes/v1.6.3.md +25 -0
  49. package/examples/README.md +14 -0
  50. package/examples/dry-run.ts +21 -0
  51. package/examples/logging-metadata.ts +18 -0
  52. package/examples/path-rules.ts +23 -0
  53. package/examples/value-patterns.ts +16 -0
  54. package/package.json +1 -1
  55. package/dist/arrayRedaction.d.ts +0 -12
  56. package/dist/arrayRedaction.d.ts.map +0 -1
  57. package/dist/arrayRedaction.js +0 -70
  58. package/dist/arrayRedaction.js.map +0 -1
  59. package/dist/configValidator.d.ts +0 -9
  60. package/dist/configValidator.d.ts.map +0 -1
  61. package/dist/configValidator.js +0 -77
  62. package/dist/configValidator.js.map +0 -1
  63. package/dist/copyOnWriteHelpers.d.ts +0 -20
  64. package/dist/copyOnWriteHelpers.d.ts.map +0 -1
  65. package/dist/copyOnWriteHelpers.js +0 -58
  66. package/dist/copyOnWriteHelpers.js.map +0 -1
  67. package/dist/customObjectFieldHandler.d.ts +0 -21
  68. package/dist/customObjectFieldHandler.d.ts.map +0 -1
  69. package/dist/customObjectFieldHandler.js +0 -159
  70. package/dist/customObjectFieldHandler.js.map +0 -1
  71. package/dist/customObjectManager.d.ts +0 -28
  72. package/dist/customObjectManager.d.ts.map +0 -1
  73. package/dist/customObjectManager.js +0 -60
  74. package/dist/customObjectManager.js.map +0 -1
  75. package/dist/customObjectSchemas.d.ts +0 -7
  76. package/dist/customObjectSchemas.d.ts.map +0 -1
  77. package/dist/customObjectSchemas.js +0 -35
  78. package/dist/customObjectSchemas.js.map +0 -1
  79. package/dist/dryRun.d.ts +0 -9
  80. package/dist/dryRun.d.ts.map +0 -1
  81. package/dist/dryRun.js +0 -75
  82. package/dist/dryRun.js.map +0 -1
  83. package/dist/dryRunAttribution.d.ts +0 -10
  84. package/dist/dryRunAttribution.d.ts.map +0 -1
  85. package/dist/dryRunAttribution.js +0 -14
  86. package/dist/dryRunAttribution.js.map +0 -1
  87. package/dist/dryrun/dryRunAttribution.d.ts +0 -10
  88. package/dist/dryrun/dryRunAttribution.d.ts.map +0 -1
  89. package/dist/dryrun/dryRunAttribution.js +0 -14
  90. package/dist/dryrun/dryRunAttribution.js.map +0 -1
  91. package/dist/engine/objectRedactor.d.ts +0 -18
  92. package/dist/engine/objectRedactor.d.ts.map +0 -1
  93. package/dist/engine/objectRedactor.js +0 -38
  94. package/dist/engine/objectRedactor.js.map +0 -1
  95. package/dist/engine/objectRedactorSync.d.ts +0 -2
  96. package/dist/engine/objectRedactorSync.d.ts.map +0 -1
  97. package/dist/engine/objectRedactorSync.js +0 -7
  98. package/dist/engine/objectRedactorSync.js.map +0 -1
  99. package/dist/fieldDisposition.d.ts +0 -3
  100. package/dist/fieldDisposition.d.ts.map +0 -1
  101. package/dist/fieldDisposition.js +0 -6
  102. package/dist/fieldDisposition.js.map +0 -1
  103. package/dist/fieldRedactor.d.ts +0 -51
  104. package/dist/fieldRedactor.d.ts.map +0 -1
  105. package/dist/fieldRedactor.js +0 -165
  106. package/dist/fieldRedactor.js.map +0 -1
  107. package/dist/fieldRedactorConfigBuilder.d.ts +0 -55
  108. package/dist/fieldRedactorConfigBuilder.d.ts.map +0 -1
  109. package/dist/fieldRedactorConfigBuilder.js +0 -111
  110. package/dist/fieldRedactorConfigBuilder.js.map +0 -1
  111. package/dist/fieldRedactorDeps.d.ts +0 -19
  112. package/dist/fieldRedactorDeps.d.ts.map +0 -1
  113. package/dist/fieldRedactorDeps.js +0 -43
  114. package/dist/fieldRedactorDeps.js.map +0 -1
  115. package/dist/jsonWalk.d.ts +0 -11
  116. package/dist/jsonWalk.d.ts.map +0 -1
  117. package/dist/jsonWalk.js +0 -55
  118. package/dist/jsonWalk.js.map +0 -1
  119. package/dist/maybeAsync.d.ts +0 -7
  120. package/dist/maybeAsync.d.ts.map +0 -1
  121. package/dist/maybeAsync.js +0 -56
  122. package/dist/maybeAsync.js.map +0 -1
  123. package/dist/objectRedactor.d.ts +0 -18
  124. package/dist/objectRedactor.d.ts.map +0 -1
  125. package/dist/objectRedactor.js +0 -38
  126. package/dist/objectRedactor.js.map +0 -1
  127. package/dist/objectRedactorCow.d.ts +0 -35
  128. package/dist/objectRedactorCow.d.ts.map +0 -1
  129. package/dist/objectRedactorCow.js +0 -300
  130. package/dist/objectRedactorCow.js.map +0 -1
  131. package/dist/objectRedactorCustomObject.d.ts +0 -28
  132. package/dist/objectRedactorCustomObject.d.ts.map +0 -1
  133. package/dist/objectRedactorCustomObject.js +0 -57
  134. package/dist/objectRedactorCustomObject.js.map +0 -1
  135. package/dist/objectRedactorHelpers.d.ts +0 -9
  136. package/dist/objectRedactorHelpers.d.ts.map +0 -1
  137. package/dist/objectRedactorHelpers.js +0 -61
  138. package/dist/objectRedactorHelpers.js.map +0 -1
  139. package/dist/objectRedactorMutation.d.ts +0 -10
  140. package/dist/objectRedactorMutation.d.ts.map +0 -1
  141. package/dist/objectRedactorMutation.js +0 -89
  142. package/dist/objectRedactorMutation.js.map +0 -1
  143. package/dist/objectRedactorSync.d.ts +0 -2
  144. package/dist/objectRedactorSync.d.ts.map +0 -1
  145. package/dist/objectRedactorSync.js +0 -7
  146. package/dist/objectRedactorSync.js.map +0 -1
  147. package/dist/objectRedactorTraversal.d.ts +0 -41
  148. package/dist/objectRedactorTraversal.d.ts.map +0 -1
  149. package/dist/objectRedactorTraversal.js +0 -201
  150. package/dist/objectRedactorTraversal.js.map +0 -1
  151. package/dist/pathParsing.d.ts +0 -11
  152. package/dist/pathParsing.d.ts.map +0 -1
  153. package/dist/pathParsing.js +0 -53
  154. package/dist/pathParsing.js.map +0 -1
  155. package/dist/pathRuleMatcher.d.ts +0 -19
  156. package/dist/pathRuleMatcher.d.ts.map +0 -1
  157. package/dist/pathRuleMatcher.js +0 -42
  158. package/dist/pathRuleMatcher.js.map +0 -1
  159. package/dist/presets.d.ts +0 -22
  160. package/dist/presets.d.ts.map +0 -1
  161. package/dist/presets.js +0 -50
  162. package/dist/presets.js.map +0 -1
  163. package/dist/primitiveRedactor.d.ts +0 -33
  164. package/dist/primitiveRedactor.d.ts.map +0 -1
  165. package/dist/primitiveRedactor.js +0 -75
  166. package/dist/primitiveRedactor.js.map +0 -1
  167. package/dist/redactionRules.d.ts +0 -22
  168. package/dist/redactionRules.d.ts.map +0 -1
  169. package/dist/redactionRules.js +0 -74
  170. package/dist/redactionRules.js.map +0 -1
  171. package/dist/regexUtils.d.ts +0 -3
  172. package/dist/regexUtils.d.ts.map +0 -1
  173. package/dist/regexUtils.js +0 -8
  174. package/dist/regexUtils.js.map +0 -1
  175. package/dist/ruleResolver.d.ts +0 -65
  176. package/dist/ruleResolver.d.ts.map +0 -1
  177. package/dist/ruleResolver.js +0 -193
  178. package/dist/ruleResolver.js.map +0 -1
  179. package/dist/rules/fieldDisposition.d.ts +0 -3
  180. package/dist/rules/fieldDisposition.d.ts.map +0 -1
  181. package/dist/rules/fieldDisposition.js +0 -6
  182. package/dist/rules/fieldDisposition.js.map +0 -1
  183. package/dist/secretManager.d.ts +0 -32
  184. package/dist/secretManager.d.ts.map +0 -1
  185. package/dist/secretManager.js +0 -85
  186. package/dist/secretManager.js.map +0 -1
  187. package/dist/traversalServices.d.ts +0 -21
  188. package/dist/traversalServices.d.ts.map +0 -1
  189. package/dist/traversalServices.js +0 -3
  190. package/dist/traversalServices.js.map +0 -1
  191. package/dist/valuePatternMatcher.d.ts +0 -15
  192. package/dist/valuePatternMatcher.d.ts.map +0 -1
  193. package/dist/valuePatternMatcher.js +0 -30
  194. package/dist/valuePatternMatcher.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ # Publish to npm when a version tag is pushed (e.g. v1.6.3).
2
+ # Uses npm Trusted Publishing (OIDC) — no NPM_TOKEN secret.
3
+ #
4
+ # One-time setup on npmjs.com → package Settings → Trusted Publisher:
5
+ # Provider: GitHub Actions
6
+ # Repository: mologna/field-redactor
7
+ # Workflow filename: publish.yml (filename only, must match exactly)
8
+ #
9
+ # Requires npm CLI ≥ 11.5.1 and Node ≥ 22.14 (ensured in this job).
10
+ # Pin npm to the 11.x line — npm@latest (12+) needs newer Node than the OIDC minimum.
11
+ name: Publish
12
+
13
+ on:
14
+ push:
15
+ tags:
16
+ - 'v*.*.*'
17
+
18
+ permissions:
19
+ contents: read
20
+ id-token: write # Required for OIDC trusted publishing
21
+
22
+ jobs:
23
+ publish:
24
+ runs-on: ubuntu-latest
25
+ timeout-minutes: 15
26
+ steps:
27
+ - name: Checkout
28
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
29
+
30
+ - name: Setup Node.js
31
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
32
+ with:
33
+ # npm docs recommend Node 24 for trusted publishing; includes a recent npm.
34
+ node-version: '24'
35
+ cache: yarn
36
+ registry-url: https://registry.npmjs.org
37
+
38
+ - name: Ensure npm supports OIDC trusted publishing
39
+ run: npm install -g npm@11
40
+
41
+ - name: Install dependencies
42
+ run: yarn install --frozen-lockfile --non-interactive
43
+
44
+ - name: Build
45
+ run: yarn build
46
+
47
+ - name: Test
48
+ run: yarn test
49
+
50
+ # Do not set NODE_AUTH_TOKEN — the CLI uses OIDC when id-token permission is present.
51
+ # setup-node may inject a placeholder; clear it so publish prefers OIDC.
52
+ - name: Publish
53
+ run: npm publish --access public
54
+ env:
55
+ NODE_AUTH_TOKEN: ''
package/CHANGELOG.md CHANGED
@@ -5,6 +5,36 @@ All notable changes to this project are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.6.3] - 2026-07-27
9
+
10
+ DX and release-hygiene patch: examples, legacy naming warnings, OIDC publish workflow, and test cleanup. See [docs/release-notes/v1.6.3.md](docs/release-notes/v1.6.3.md).
11
+
12
+ ### Added
13
+
14
+ - **Examples** — [examples/](examples/) recipes for logging metadata, path rules, value patterns, and dry-run.
15
+ - **Publish workflow** — tag-triggered `.github/workflows/publish.yml` using npm Trusted Publishing (OIDC).
16
+ - **Legacy naming warnings** — constructing with `fullSecretKeys` / `deleteSecretKeys` emits deprecation warnings (behavior unchanged).
17
+
18
+ ### Changed
19
+
20
+ - `createSafe` error text prefers Opaque/Remove field names.
21
+ - Incidental JSON/engine types marked `@internal` in JSDoc (still exported).
22
+ - Slimmed overlapping dry-run attribution tests; contract suite remains the SSOT.
23
+
24
+ ## [1.6.2] - 2026-07-22
25
+
26
+ Canonical Opaque/Remove naming internally and removal of the thin `ObjectRedactor` orchestrator. See [docs/release-notes/v1.6.2.md](docs/release-notes/v1.6.2.md).
27
+
28
+ ### Changed
29
+
30
+ - **Canonical naming** — config normalize, builder, presets, and `SecretManager` store/match on `opaqueSecretKeys` / `removeSecretKeys`; methods are `isOpaqueSecretKey` / `isRemoveSecretKey`. Legacy `fullSecretKeys` / `deleteSecretKeys` remain accepted input aliases.
31
+ - **Traversal wiring** — `FieldRedactor` depends on `ObjectRedactorTraversal` directly (no `ObjectRedactor` façade).
32
+ - **Builder** — `buildRedactor()` / `buildSafeRedactor()` use a static `FieldRedactor` import (no lazy `require()`).
33
+
34
+ ### Removed
35
+
36
+ - Internal `ObjectRedactor` class (never part of the public export surface).
37
+
8
38
  ## [1.6.1] - 2026-07-22
9
39
 
10
40
  Internal simplification and layering cleanup with no intended public API changes for typical consumers. See [docs/release-notes/v1.6.1.md](docs/release-notes/v1.6.1.md).
@@ -183,6 +213,8 @@ Development tags `2.0.0`–`2.3.1` track incremental work toward `1.3.0`. See [d
183
213
 
184
214
  - Initial public release: regex key rules, custom object schemas with sibling-key indirection, async `redact()` / `redactInPlace()`, and configurable redactor functions.
185
215
 
216
+ [1.6.3]: https://github.com/mologna/field-redactor/compare/v1.6.2...v1.6.3
217
+ [1.6.2]: https://github.com/mologna/field-redactor/compare/v1.6.1...v1.6.2
186
218
  [1.6.1]: https://github.com/mologna/field-redactor/compare/v1.6.0...v1.6.1
187
219
  [1.6.0]: https://github.com/mologna/field-redactor/compare/v1.5.0...v1.6.0
188
220
  [1.5.0]: https://github.com/mologna/field-redactor/releases/tag/v1.5.0
package/CONTRIBUTING.md CHANGED
@@ -16,7 +16,7 @@ Prefer npm version numbers in user-facing docs. Internal release notes under `do
16
16
  ```
17
17
  src/
18
18
  api/ Public facade: FieldRedactor, ConfigBuilder, DI wiring
19
- engine/ Traversal, array/custom-object handlers, PrimitiveRedactor
19
+ engine/ Traversal (`ObjectRedactorTraversal`), array/custom-object handlers, PrimitiveRedactor
20
20
  rules/ SecretManager, matchers, RuleResolver, CustomObjectManager
21
21
  dryrun/ Structural diff + rule attribution
22
22
  config/ Validation, presets, redactionRules, schema helpers
@@ -42,8 +42,10 @@ Traversal and dry-run attribution both use this module. When adding a rule type,
42
42
  |------|-------------------------|----------------|
43
43
  | Shallow | `secretKeys`, `CustomObjectMatchType.Shallow` | — |
44
44
  | Deep | `deepSecretKeys` | — |
45
- | Opaque | `opaqueSecretKeys`, `CustomObjectMatchType.Opaque` | `fullSecretKeys`, `Full` |
46
- | Remove | `removeSecretKeys`, `CustomObjectMatchType.Remove` | `deleteSecretKeys`, `Delete` |
45
+ | Opaque | `opaqueSecretKeys`, `CustomObjectMatchType.Opaque`, `isOpaqueSecretKey` | `fullSecretKeys`, `Full` (deprecated; config fields warn at construct) |
46
+ | Remove | `removeSecretKeys`, `CustomObjectMatchType.Remove`, `isRemoveSecretKey` | `deleteSecretKeys`, `Delete` (deprecated; config fields warn at construct) |
47
+
48
+ Internally, normalize + `SecretManager` store and match on the preferred field names. Legacy config keys are input-only aliases.
47
49
 
48
50
  ## Development
49
51
 
@@ -56,6 +58,27 @@ yarn test
56
58
  - Unit tests: `tests/unit/`
57
59
  - Integration / end-to-end: `tests/integration/` (keep these few and scenario-focused; prefer unit tests for rule edge cases)
58
60
  - Shared test helpers: `tests/helpers/`
61
+ - Copy-paste recipes: `examples/`
62
+
63
+ ## Publishing
64
+
65
+ CI runs on push/PR to `master` (`.github/workflows/ci.yml`).
66
+
67
+ Pushing a version tag (`v*.*.*`) runs `.github/workflows/publish.yml`: build, test, then `npm publish` via **npm Trusted Publishing (OIDC)**. No `NPM_TOKEN` secret is required.
68
+
69
+ ### One-time npm setup
70
+
71
+ 1. Open [field-redactor](https://www.npmjs.com/package/field-redactor) → **Settings → Trusted Publisher**
72
+ 2. Choose **GitHub Actions**
73
+ 3. Set:
74
+ - **Owner / repository:** `mologna/field-redactor`
75
+ - **Workflow filename:** `publish.yml` (filename only — must match exactly, including `.yml`)
76
+ 4. Save. After a successful OIDC publish, you can optionally restrict token-based publishing in **Publishing access**.
77
+
78
+ ```bash
79
+ git tag -a v1.6.3 -m "v1.6.3"
80
+ git push origin v1.6.3
81
+ ```
59
82
 
60
83
  ## Pull requests
61
84
 
package/README.md CHANGED
@@ -55,8 +55,8 @@ Do you know which JSON keys are always sensitive?
55
55
  | --- | --- |
56
56
  | Shallow | `secretKeys` |
57
57
  | Deep | `deepSecretKeys` |
58
- | Opaque | `fullSecretKeys` |
59
- | Remove | `deleteSecretKeys` |
58
+ | Opaque | `opaqueSecretKeys` (legacy: `fullSecretKeys`) |
59
+ | Remove | `removeSecretKeys` (legacy: `deleteSecretKeys`) |
60
60
  | Schema | `customObjects` |
61
61
 
62
62
  Use `FieldRedactor.createSafe({ ... })` or `FieldRedactorConfigBuilder` so you never accidentally redact every field. `new FieldRedactor()` without rules still redacts all values (legacy default).
@@ -71,6 +71,7 @@ Use `FieldRedactor.createSafe({ ... })` or `FieldRedactorConfigBuilder` so you n
71
71
  | [Value-pattern redaction](docs/guides/value-pattern-redaction.md) | Detect PII in free-text field values |
72
72
  | [Path rules & allowlists](docs/guides/path-rules.md) | Target stable JSON paths; exempt keys under deep redaction |
73
73
  | [Configuration reference](docs/reference/config.md) | Full option table, API, presets, validation |
74
+ | [Examples](examples/README.md) | Copy-paste recipes (logging, path rules, value patterns, dryRun) |
74
75
  | [Migration 1.5 → 1.6](docs/guides/migration-1.5-to-1.6.md) | Upgrade from 1.5.x (path rules, naming, exports) |
75
76
  | [Migration 1.2 → 1.5](docs/guides/migration-1.2-to-1.5.md) | Upgrade from the previous npm line |
76
77
  | [Release notes](docs/release-notes/README.md) | Per-version notes for every published tag |
@@ -1,7 +1,7 @@
1
1
  import { DryRunResult, FieldRedactorConfig, RedactableInput } from '../types';
2
2
  /**
3
3
  * FieldRedactor is a highly customizable JSON object field redactor. It conditionally redacts fields based on
4
- * the secrets, deepSecrets, fullSecrets, and custom objects provided in the configuration. Refer to the README.md
4
+ * the secret key rules, path rules, value patterns, and custom object schemas in the configuration. Refer to the README.md
5
5
  * for more details.
6
6
  *
7
7
  * Defaults: `ignoreNullOrUndefined` is `true`, `ignoreBooleans` is `false`, `cloneInput` is `true`.
@@ -13,9 +13,9 @@ export declare class FieldRedactor {
13
13
  readonly configWarnings: readonly string[];
14
14
  constructor(config?: FieldRedactorConfig);
15
15
  /**
16
- * Creates a FieldRedactor that requires at least one explicit redaction rule: Shallow (`secretKeys`),
17
- * Deep (`deepSecretKeys`), Opaque (`fullSecretKeys`), Remove (`deleteSecretKeys`), Schema (`customObjects`),
18
- * or Value-pattern (`valuePatterns`).
16
+ * Creates a FieldRedactor that requires at least one explicit redaction rule:
17
+ * `secretKeys`, `deepSecretKeys`, `opaqueSecretKeys`, `removeSecretKeys`, `customObjects`,
18
+ * `valuePatterns`, or `pathRules`.
19
19
  * Unlike `new FieldRedactor()`, omitting all rules does not default to redacting every value.
20
20
  */
21
21
  static createSafe(config: FieldRedactorConfig): FieldRedactor;
@@ -20,7 +20,7 @@ const rfdc_1 = __importDefault(require("rfdc"));
20
20
  const configValidator_1 = require("../config/configValidator");
21
21
  /**
22
22
  * FieldRedactor is a highly customizable JSON object field redactor. It conditionally redacts fields based on
23
- * the secrets, deepSecrets, fullSecrets, and custom objects provided in the configuration. Refer to the README.md
23
+ * the secret key rules, path rules, value patterns, and custom object schemas in the configuration. Refer to the README.md
24
24
  * for more details.
25
25
  *
26
26
  * Defaults: `ignoreNullOrUndefined` is `true`, `ignoreBooleans` is `false`, `cloneInput` is `true`.
@@ -36,14 +36,14 @@ class FieldRedactor {
36
36
  this.deps = (0, fieldRedactorDeps_1.buildFieldRedactorDeps)(config);
37
37
  }
38
38
  /**
39
- * Creates a FieldRedactor that requires at least one explicit redaction rule: Shallow (`secretKeys`),
40
- * Deep (`deepSecretKeys`), Opaque (`fullSecretKeys`), Remove (`deleteSecretKeys`), Schema (`customObjects`),
41
- * or Value-pattern (`valuePatterns`).
39
+ * Creates a FieldRedactor that requires at least one explicit redaction rule:
40
+ * `secretKeys`, `deepSecretKeys`, `opaqueSecretKeys`, `removeSecretKeys`, `customObjects`,
41
+ * `valuePatterns`, or `pathRules`.
42
42
  * Unlike `new FieldRedactor()`, omitting all rules does not default to redacting every value.
43
43
  */
44
44
  static createSafe(config) {
45
45
  if (!(0, configValidator_1.hasExplicitRedactionRules)(config)) {
46
- throw new errors_1.FieldRedactorConfigurationError('FieldRedactor.createSafe() requires at least one non-empty secretKeys, deepSecretKeys, fullSecretKeys, deleteSecretKeys, customObjects, valuePatterns, or pathRules entry. Without explicit rules, new FieldRedactor() redacts all values by default.');
46
+ throw new errors_1.FieldRedactorConfigurationError('FieldRedactor.createSafe() requires at least one non-empty secretKeys, deepSecretKeys, opaqueSecretKeys, removeSecretKeys, customObjects, valuePatterns, or pathRules entry. Without explicit rules, new FieldRedactor() redacts all values by default.');
47
47
  }
48
48
  return new FieldRedactor(config);
49
49
  }
@@ -115,7 +115,7 @@ class FieldRedactor {
115
115
  this.redactInPlaceSync(value);
116
116
  return value;
117
117
  }
118
- return this.deps.objectRedactor.redactCopyOnWrite(value);
118
+ return this.deps.traversal.redactCopyOnWrite(value);
119
119
  }
120
120
  /** Conditionally redacts fields in the JSON object in place based on the configuration provided in the constructor. */
121
121
  redactInPlace(value) {
@@ -124,7 +124,7 @@ class FieldRedactor {
124
124
  this.redactInPlaceSync(value);
125
125
  return;
126
126
  }
127
- yield this.runTraversableRedaction(value, () => this.deps.objectRedactor.redactInPlace(value));
127
+ yield this.runTraversableRedaction(value, () => this.deps.traversal.redactInPlaceAsync(value));
128
128
  });
129
129
  }
130
130
  /**
@@ -135,7 +135,7 @@ class FieldRedactor {
135
135
  if (this.deps.usesAsyncRedactor) {
136
136
  throw new errors_1.FieldRedactorError('redactInPlaceSync requires syncRedactor configuration or the default redactor');
137
137
  }
138
- this.runTraversableRedaction(value, () => this.deps.objectRedactor.redactInPlaceSync(value));
138
+ this.runTraversableRedaction(value, () => this.deps.traversal.redactInPlace(value));
139
139
  }
140
140
  runTraversableRedaction(value, redact) {
141
141
  if (this.isPrimitiveOrUndefined(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"fieldRedactor.js","sourceRoot":"","sources":["../../src/api/fieldRedactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fieldRedactor.js","sourceRoot":"","sources":["../../src/api/fieldRedactor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { FieldRedactor } from './fieldRedactor';
1
+ import { FieldRedactor } from './fieldRedactor';
2
2
  import { CustomObject, FieldRedactorConfig, PathRuleMode, Redactor, SyncRedactor } from '../types';
3
3
  export type SchemaOptions = {
4
4
  /** Optional label surfaced in {@link FieldRedactor.dryRun} `matchedSchemas` reports. */
@@ -15,9 +15,9 @@ export declare class FieldRedactorConfigBuilder {
15
15
  shallow(...patterns: RegExp[]): this;
16
16
  /** Deep — redact matching keys and descendants (`deepSecretKeys`). */
17
17
  deep(...patterns: RegExp[]): this;
18
- /** Opaque — stringify entire values at matching keys (`fullSecretKeys`). */
18
+ /** Opaque — stringify entire values at matching keys (`opaqueSecretKeys`). */
19
19
  opaque(...patterns: RegExp[]): this;
20
- /** Remove — delete matching keys from output (`deleteSecretKeys`). */
20
+ /** Remove — delete matching keys from output (`removeSecretKeys`). */
21
21
  remove(...patterns: RegExp[]): this;
22
22
  /** Alias for {@link FieldRedactorConfigBuilder.remove}. */
23
23
  delete(...patterns: RegExp[]): this;
@@ -1 +1 @@
1
- {"version":3,"file":"fieldRedactorConfigBuilder.d.ts","sourceRoot":"","sources":["../../src/api/fieldRedactorConfigBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQrD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEnG,MAAM,MAAM,aAAa,GAAG;IAC1B,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAA0B;IAEzC,MAAM,CAAC,MAAM,IAAI,0BAA0B;IAI3C,oEAAoE;IACpE,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpC,sEAAsE;IACtE,IAAI,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIjC,4EAA4E;IAC5E,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,sEAAsE;IACtE,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,2DAA2D;IAC3D,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,mDAAmD;IACnD,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAKjE;;;OAGG;IACH,YAAY,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKzC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IAKhD,yFAAyF;IACzF,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKpC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAKrD,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAI5B,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAIpC,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIpC,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI3C,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIhC,MAAM,CAAC,KAAK,UAAO,GAAG,IAAI;IAI1B,eAAe,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIzD,KAAK,IAAI,mBAAmB;IAI5B,gEAAgE;IAChE,aAAa,IAAI,aAAa;IAM9B,oEAAoE;IACpE,iBAAiB,IAAI,aAAa;IAKlC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,GAAG;CAIZ"}
1
+ {"version":3,"file":"fieldRedactorConfigBuilder.d.ts","sourceRoot":"","sources":["../../src/api/fieldRedactorConfigBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQhD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEnG,MAAM,MAAM,aAAa,GAAG;IAC1B,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAA0B;IAEzC,MAAM,CAAC,MAAM,IAAI,0BAA0B;IAI3C,oEAAoE;IACpE,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpC,sEAAsE;IACtE,IAAI,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIjC,8EAA8E;IAC9E,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,sEAAsE;IACtE,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,2DAA2D;IAC3D,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,mDAAmD;IACnD,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAKjE;;;OAGG;IACH,YAAY,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKzC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IAKhD,yFAAyF;IACzF,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKpC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAKrD,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAI5B,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAIpC,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIpC,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI3C,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIhC,MAAM,CAAC,KAAK,UAAO,GAAG,IAAI;IAI1B,eAAe,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIzD,KAAK,IAAI,mBAAmB;IAI5B,gEAAgE;IAChE,aAAa,IAAI,aAAa;IAI9B,oEAAoE;IACpE,iBAAiB,IAAI,aAAa;IAIlC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,GAAG;CAIZ"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FieldRedactorConfigBuilder = void 0;
4
+ const fieldRedactor_1 = require("./fieldRedactor");
4
5
  const redactionRules_1 = require("../config/redactionRules");
5
6
  /**
6
7
  * Fluent builder for {@link FieldRedactorConfig} using doc labels (Shallow, Deep, Opaque, Remove, Schema).
@@ -21,13 +22,13 @@ class FieldRedactorConfigBuilder {
21
22
  deep(...patterns) {
22
23
  return this.appendRegex('deepSecretKeys', patterns);
23
24
  }
24
- /** Opaque — stringify entire values at matching keys (`fullSecretKeys`). */
25
+ /** Opaque — stringify entire values at matching keys (`opaqueSecretKeys`). */
25
26
  opaque(...patterns) {
26
- return this.appendRegex('fullSecretKeys', patterns);
27
+ return this.appendRegex('opaqueSecretKeys', patterns);
27
28
  }
28
- /** Remove — delete matching keys from output (`deleteSecretKeys`). */
29
+ /** Remove — delete matching keys from output (`removeSecretKeys`). */
29
30
  remove(...patterns) {
30
- return this.appendRegex('deleteSecretKeys', patterns);
31
+ return this.appendRegex('removeSecretKeys', patterns);
31
32
  }
32
33
  /** Alias for {@link FieldRedactorConfigBuilder.remove}. */
33
34
  delete(...patterns) {
@@ -93,14 +94,11 @@ class FieldRedactorConfigBuilder {
93
94
  }
94
95
  /** Constructs a {@link FieldRedactor} from the built config. */
95
96
  buildRedactor() {
96
- // Lazy require avoids a module cycle: builder → FieldRedactor → deps → …
97
- const { FieldRedactor: Redactor } = require('./fieldRedactor');
98
- return new Redactor(this.build());
97
+ return new fieldRedactor_1.FieldRedactor(this.build());
99
98
  }
100
99
  /** Like {@link FieldRedactor.createSafe} using the built config. */
101
100
  buildSafeRedactor() {
102
- const { FieldRedactor: Redactor } = require('./fieldRedactor');
103
- return Redactor.createSafe(this.build());
101
+ return fieldRedactor_1.FieldRedactor.createSafe(this.build());
104
102
  }
105
103
  appendRegex(field, patterns) {
106
104
  (0, redactionRules_1.appendRegExpArray)(this.config, field, patterns);
@@ -1 +1 @@
1
- {"version":3,"file":"fieldRedactorConfigBuilder.js","sourceRoot":"","sources":["../../src/api/fieldRedactorConfigBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fieldRedactorConfigBuilder.js","sourceRoot":"","sources":["../../src/api/fieldRedactorConfigBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CustomObjectManager } from '../rules/customObjectManager';
2
- import { ObjectRedactor } from '../engine/objectRedactor';
2
+ import { ObjectRedactorTraversal } from '../engine/objectRedactorTraversal';
3
3
  import { PrimitiveRedactor } from '../engine/primitiveRedactor';
4
4
  import { SecretManager } from '../rules/secretManager';
5
5
  import { FieldRedactorConfig } from '../types';
@@ -11,7 +11,7 @@ export type FieldRedactorDeps = {
11
11
  valuePatternMatcher: ValuePatternMatcher;
12
12
  pathRuleMatcher: PathRuleMatcher;
13
13
  customObjectManager: CustomObjectManager;
14
- objectRedactor: ObjectRedactor;
14
+ traversal: ObjectRedactorTraversal;
15
15
  usesAsyncRedactor: boolean;
16
16
  cloneInput: boolean;
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fieldRedactorDeps.d.ts","sourceRoot":"","sources":["../../src/api/fieldRedactorDeps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAA2B,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAA+B,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEhG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAKF,eAAO,MAAM,sBAAsB,YAAa,mBAAmB,KAAG,iBAiDrE,CAAC"}
1
+ {"version":3,"file":"fieldRedactorDeps.d.ts","sourceRoot":"","sources":["../../src/api/fieldRedactorDeps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAA2B,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAA+B,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEhG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,SAAS,EAAE,uBAAuB,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAKF,eAAO,MAAM,sBAAsB,YAAa,mBAAmB,KAAG,iBAiDrE,CAAC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildFieldRedactorDeps = void 0;
4
4
  const customObjectManager_1 = require("../rules/customObjectManager");
5
- const objectRedactor_1 = require("../engine/objectRedactor");
5
+ const objectRedactorTraversal_1 = require("../engine/objectRedactorTraversal");
6
6
  const primitiveRedactor_1 = require("../engine/primitiveRedactor");
7
7
  const redactionRules_1 = require("../config/redactionRules");
8
8
  const secretManager_1 = require("../rules/secretManager");
@@ -12,7 +12,7 @@ const resolveBoolean = (value, defaultValue) => typeof value === 'boolean' ? val
12
12
  const buildFieldRedactorDeps = (config) => {
13
13
  var _a;
14
14
  const normalized = (_a = (0, redactionRules_1.normalizeFieldRedactorConfig)(config)) !== null && _a !== void 0 ? _a : {};
15
- const { redactor, syncRedactor, deepSecretKeys, fullSecretKeys, deleteSecretKeys, customObjects, valuePatterns, pathRules, passKeys } = normalized;
15
+ const { redactor, syncRedactor, deepSecretKeys, opaqueSecretKeys, removeSecretKeys, customObjects, valuePatterns, pathRules, passKeys } = normalized;
16
16
  const primitiveRedactor = new primitiveRedactor_1.PrimitiveRedactor({
17
17
  ignoreBooleans: resolveBoolean(normalized.ignoreBooleans, false),
18
18
  ignoreNullOrUndefined: resolveBoolean(normalized.ignoreNullOrUndefined, true),
@@ -22,21 +22,21 @@ const buildFieldRedactorDeps = (config) => {
22
22
  const secretManager = new secretManager_1.SecretManager({
23
23
  secretKeys: (0, redactionRules_1.resolveSecretKeys)(normalized),
24
24
  deepSecretKeys,
25
- fullSecretKeys,
26
- deleteSecretKeys,
25
+ opaqueSecretKeys,
26
+ removeSecretKeys,
27
27
  passKeys
28
28
  });
29
29
  const valuePatternMatcher = (valuePatterns === null || valuePatterns === void 0 ? void 0 : valuePatterns.length) ? new valuePatternMatcher_1.ValuePatternMatcher(valuePatterns) : valuePatternMatcher_1.EMPTY_VALUE_PATTERN_MATCHER;
30
30
  const pathRuleMatcher = (pathRules === null || pathRules === void 0 ? void 0 : pathRules.length) ? new pathRuleMatcher_1.PathRuleMatcher(pathRules) : pathRuleMatcher_1.EMPTY_PATH_RULE_MATCHER;
31
31
  const customObjectManager = new customObjectManager_1.CustomObjectManager(customObjects, normalized.schemaNames);
32
- const objectRedactor = new objectRedactor_1.ObjectRedactor(primitiveRedactor, secretManager, customObjectManager, valuePatternMatcher, pathRuleMatcher);
32
+ const traversal = new objectRedactorTraversal_1.ObjectRedactorTraversal(primitiveRedactor, secretManager, customObjectManager, valuePatternMatcher, pathRuleMatcher);
33
33
  return {
34
34
  primitiveRedactor,
35
35
  secretManager,
36
36
  valuePatternMatcher,
37
37
  pathRuleMatcher,
38
38
  customObjectManager,
39
- objectRedactor,
39
+ traversal,
40
40
  usesAsyncRedactor: primitiveRedactor.usesAsyncRedactor(),
41
41
  cloneInput: normalized.cloneInput !== false
42
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fieldRedactorDeps.js","sourceRoot":"","sources":["../../src/api/fieldRedactorDeps.ts"],"names":[],"mappings":";;;AAAA,sEAAmE;AACnE,6DAA0D;AAC1D,mEAAgE;AAChE,6DAA2F;AAC3F,0DAAuD;AAEvD,8DAAoF;AACpF,sEAAgG;AAahG,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,YAAqB,EAAW,EAAE,CACpF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;AAE7C,MAAM,sBAAsB,GAAG,CAAC,MAA4B,EAAqB,EAAE;;IACxF,MAAM,UAAU,GAAG,MAAA,IAAA,6CAA4B,EAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;IAC9D,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,SAAS,EACT,QAAQ,EACT,GAAG,UAAU,CAAC;IAEf,MAAM,iBAAiB,GAAG,IAAI,qCAAiB,CAAC;QAC9C,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC;QAChE,qBAAqB,EAAE,cAAc,CAAC,UAAU,CAAC,qBAAqB,EAAE,IAAI,CAAC;QAC7E,QAAQ;QACR,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC;QACtC,UAAU,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC;QACzC,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAC,CAAC,CAAC,IAAI,yCAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,iDAA2B,CAAC;IACzH,MAAM,eAAe,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,EAAC,CAAC,CAAC,IAAI,iCAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,yCAAuB,CAAC;IACrG,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3F,MAAM,cAAc,GAAG,IAAI,+BAAc,CACvC,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,CAChB,CAAC;IAEF,OAAO;QACL,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,eAAe;QACf,mBAAmB;QACnB,cAAc;QACd,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB,EAAE;QACxD,UAAU,EAAE,UAAU,CAAC,UAAU,KAAK,KAAK;KAC5C,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,sBAAsB,0BAiDjC"}
1
+ {"version":3,"file":"fieldRedactorDeps.js","sourceRoot":"","sources":["../../src/api/fieldRedactorDeps.ts"],"names":[],"mappings":";;;AAAA,sEAAmE;AACnE,+EAA4E;AAC5E,mEAAgE;AAChE,6DAA2F;AAC3F,0DAAuD;AAEvD,8DAAoF;AACpF,sEAAgG;AAahG,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,YAAqB,EAAW,EAAE,CACpF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;AAE7C,MAAM,sBAAsB,GAAG,CAAC,MAA4B,EAAqB,EAAE;;IACxF,MAAM,UAAU,GAAG,MAAA,IAAA,6CAA4B,EAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;IAC9D,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,SAAS,EACT,QAAQ,EACT,GAAG,UAAU,CAAC;IAEf,MAAM,iBAAiB,GAAG,IAAI,qCAAiB,CAAC;QAC9C,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC;QAChE,qBAAqB,EAAE,cAAc,CAAC,UAAU,CAAC,qBAAqB,EAAE,IAAI,CAAC;QAC7E,QAAQ;QACR,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC;QACtC,UAAU,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC;QACzC,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAC,CAAC,CAAC,IAAI,yCAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,iDAA2B,CAAC;IACzH,MAAM,eAAe,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,EAAC,CAAC,CAAC,IAAI,iCAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,yCAAuB,CAAC;IACrG,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,IAAI,iDAAuB,CAC3C,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,CAChB,CAAC;IAEF,OAAO;QACL,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,eAAe;QACf,mBAAmB;QACnB,SAAS;QACT,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB,EAAE;QACxD,UAAU,EAAE,UAAU,CAAC,UAAU,KAAK,KAAK;KAC5C,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,sBAAsB,0BAiDjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"configValidator.d.ts","sourceRoot":"","sources":["../../src/config/configValidator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAC;AAgE7E;;;GAGG;AACH,eAAO,MAAM,2BAA2B,YAAa,mBAAmB,KAAG,MAAM,EAiBhF,CAAC"}
1
+ {"version":3,"file":"configValidator.d.ts","sourceRoot":"","sources":["../../src/config/configValidator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAC;AAgE7E;;;GAGG;AACH,eAAO,MAAM,2BAA2B,YAAa,mBAAmB,KAAG,MAAM,EAmBhF,CAAC"}
@@ -59,9 +59,11 @@ const collectSchemaWarnings = (customObjects) => {
59
59
  */
60
60
  const validateFieldRedactorConfig = (config) => {
61
61
  var _a, _b;
62
+ const legacyNamingWarnings = collectLegacyNamingWarnings(config);
62
63
  const resolved = (_a = (0, redactionRules_1.normalizeFieldRedactorConfig)(config)) !== null && _a !== void 0 ? _a : {};
63
64
  (0, customObjectSchemas_1.assertNoIdenticalCustomObjectSchemas)(resolved.customObjects);
64
65
  const warnings = [
66
+ ...legacyNamingWarnings,
65
67
  ...(!(0, redactionRules_1.hasExplicitRedactionRules)(resolved)
66
68
  ? ['All values will be redacted. Did you mean to set `secretKeys` or use `FieldRedactor.createSafe()`?']
67
69
  : []),
@@ -74,4 +76,18 @@ const validateFieldRedactorConfig = (config) => {
74
76
  return warnings;
75
77
  };
76
78
  exports.validateFieldRedactorConfig = validateFieldRedactorConfig;
79
+ const collectLegacyNamingWarnings = (config) => {
80
+ var _a, _b;
81
+ if (!config) {
82
+ return [];
83
+ }
84
+ const warnings = [];
85
+ if ((_a = config.fullSecretKeys) === null || _a === void 0 ? void 0 : _a.length) {
86
+ warnings.push('`fullSecretKeys` is deprecated; prefer `opaqueSecretKeys` (same behavior). Legacy input remains supported in 1.x.');
87
+ }
88
+ if ((_b = config.deleteSecretKeys) === null || _b === void 0 ? void 0 : _b.length) {
89
+ warnings.push('`deleteSecretKeys` is deprecated; prefer `removeSecretKeys` (same behavior). Legacy input remains supported in 1.x.');
90
+ }
91
+ return warnings;
92
+ };
77
93
  //# sourceMappingURL=configValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/config/configValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/config/configValidator.ts"],"names":[],"mappings":";;;AAAA,sCAA4D;AAC5D,mDAAiE;AACjE,qDAA2I;AAC3I,+DAAiG;AAGjG,mDAA6D;AAApD,2HAAA,yBAAyB,OAAA;AAClC,6DAA6E;AAApE,2IAAA,oCAAoC,OAAA;AAE7C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,oCAAmB,CAAC,CAAC;AAE7D,MAAM,oBAAoB,GAAG,CAAC,MAA2B,EAAY,EAAE;IACrE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,KAAK,MAAM,KAAK,IAAI,0CAAyB,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CACX,gBAAgB,IAAA,yBAAY,EAAC,KAAK,CAAC,SAAS,KAAK,uEAAuE,CACzH,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CACX,GAAG,IAAA,yBAAY,EAAC,KAAK,CAAC,sBAAsB,KAAK,YAAY,KAAK,+CAA+C,CAClH,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClB,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,aAA6B,EAAY,EAAE;IACxE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACpF,QAAQ,CAAC,IAAI,CACX,mBAAmB,WAAW,aAAa,KAAK,MAAM,IAAI,gCAAgC,IAAI,wCAAwC,CACvI,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAA,wCAAkB,EAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,QAAQ,CAAC,IAAI,CACX,oBAAoB,CAAC,QAAQ,CAAC,0CAA0C,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAC/I,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,2BAA2B,GAAG,CAAC,MAA4B,EAAY,EAAE;;IACpF,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAA,IAAA,6CAA4B,EAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;IAC5D,IAAA,0DAAoC,EAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG;QACf,GAAG,oBAAoB;QACvB,GAAG,CAAC,CAAC,IAAA,0CAAyB,EAAC,QAAQ,CAAC;YACtC,CAAC,CAAC,CAAC,oGAAoG,CAAC;YACxG,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,oBAAoB,CAAC,QAAQ,CAAC;QACjC,GAAG,qBAAqB,CAAC,MAAA,QAAQ,CAAC,aAAa,mCAAI,EAAE,CAAC;KACvD,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,wCAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAnBW,QAAA,2BAA2B,+BAmBtC;AAEF,MAAM,2BAA2B,GAAG,CAAC,MAA4B,EAAY,EAAE;;IAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAA,MAAM,CAAC,cAAc,0CAAE,MAAM,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CACX,mHAAmH,CACpH,CAAC;IACJ,CAAC;IACD,IAAI,MAAA,MAAM,CAAC,gBAAgB,0CAAE,MAAM,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CACX,qHAAqH,CACtH,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
@@ -8,12 +8,12 @@ export declare const presets: {
8
8
  * `{ name, type, value }` metadata entries with sibling-key redaction and auth key removal.
9
9
  * Pair with your own `secretKeys` for field names that should trigger redaction.
10
10
  */
11
- loggingMetadata(): Pick<FieldRedactorConfig, "customObjects" | "deleteSecretKeys">;
11
+ loggingMetadata(): Pick<FieldRedactorConfig, "customObjects" | "removeSecretKeys">;
12
12
  /**
13
13
  * Application log preset from `realExamples.spec.ts`: common PII field patterns,
14
14
  * auth key removal, and `{ name, value }` event metadata schemas.
15
15
  */
16
- applicationLogging(): Pick<FieldRedactorConfig, "secretKeys" | "deleteSecretKeys" | "customObjects">;
16
+ applicationLogging(): Pick<FieldRedactorConfig, "secretKeys" | "removeSecretKeys" | "customObjects">;
17
17
  /**
18
18
  * `{ key, value }` shaped entries (blanket coverage small schema).
19
19
  */
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.presets = void 0;
4
4
  const types_1 = require("../types");
5
5
  const AUTH_KEY_REMOVAL = {
6
- deleteSecretKeys: [/authKey/i]
6
+ removeSecretKeys: [/authKey/i]
7
7
  };
8
8
  const NAME_VALUE_EVENT_SCHEMA = {
9
9
  name: types_1.CustomObjectMatchType.Ignore,
@@ -1,14 +1,19 @@
1
1
  import { CustomObject, FieldRedactorConfig } from '../types';
2
- export declare const SECRET_REGEX_FIELDS: readonly ["secretKeys", "deepSecretKeys", "fullSecretKeys", "deleteSecretKeys"];
3
- export declare const SECRET_REGEX_ALIAS_FIELDS: readonly ["opaqueSecretKeys", "removeSecretKeys"];
2
+ /** Canonical key-rule regex fields (preferred Opaque/Remove names). */
3
+ export declare const SECRET_REGEX_FIELDS: readonly ["secretKeys", "deepSecretKeys", "opaqueSecretKeys", "removeSecretKeys"];
4
+ /** Legacy aliases accepted on input and merged into {@link SECRET_REGEX_FIELDS}. */
5
+ export declare const SECRET_REGEX_ALIAS_FIELDS: readonly ["fullSecretKeys", "deleteSecretKeys"];
4
6
  export declare const VALUE_PATTERN_FIELDS: readonly ["valuePatterns"];
5
7
  export declare const PASS_KEY_FIELDS: readonly ["passKeys"];
6
- export declare const REGEX_ARRAY_CONFIG_FIELDS: readonly ["secretKeys", "deepSecretKeys", "fullSecretKeys", "deleteSecretKeys", "opaqueSecretKeys", "removeSecretKeys", "valuePatterns", "passKeys"];
8
+ export declare const REGEX_ARRAY_CONFIG_FIELDS: readonly ["secretKeys", "deepSecretKeys", "opaqueSecretKeys", "removeSecretKeys", "fullSecretKeys", "deleteSecretKeys", "valuePatterns", "passKeys"];
7
9
  export type SecretRegexField = (typeof SECRET_REGEX_FIELDS)[number];
8
10
  export type RegexArrayConfigField = (typeof REGEX_ARRAY_CONFIG_FIELDS)[number];
9
- export declare const RULE_LIST_FIELDS: readonly ["secretKeys", "deepSecretKeys", "fullSecretKeys", "deleteSecretKeys", "opaqueSecretKeys", "removeSecretKeys", "valuePatterns", "passKeys", "customObjects"];
11
+ export declare const RULE_LIST_FIELDS: readonly ["secretKeys", "deepSecretKeys", "opaqueSecretKeys", "removeSecretKeys", "fullSecretKeys", "deleteSecretKeys", "valuePatterns", "passKeys", "customObjects"];
10
12
  export declare const hasExplicitRedactionRules: (config?: FieldRedactorConfig) => boolean;
11
- /** Merge preferred Opaque/Remove aliases into legacy full/delete fields. */
13
+ /**
14
+ * Merge legacy `fullSecretKeys` / `deleteSecretKeys` into canonical
15
+ * `opaqueSecretKeys` / `removeSecretKeys` and drop the legacy keys.
16
+ */
12
17
  export declare const normalizeFieldRedactorConfig: (config?: FieldRedactorConfig) => FieldRedactorConfig | undefined;
13
18
  /**
14
19
  * When only value patterns / path rules are configured, shallow key matching must be disabled
@@ -1 +1 @@
1
- {"version":3,"file":"redactionRules.d.ts","sourceRoot":"","sources":["../../src/config/redactionRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE7D,eAAO,MAAM,mBAAmB,iFAAkF,CAAC;AAEnH,eAAO,MAAM,yBAAyB,mDAAoD,CAAC;AAE3F,eAAO,MAAM,oBAAoB,4BAA6B,CAAC;AAE/D,eAAO,MAAM,eAAe,uBAAwB,CAAC;AAErD,eAAO,MAAM,yBAAyB,sJAK5B,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,eAAO,MAAM,gBAAgB,uKAA2D,CAAC;AAIzF,eAAO,MAAM,yBAAyB,YAAa,mBAAmB,KAAG,OAEpC,CAAC;AAEtC,4EAA4E;AAC5E,eAAO,MAAM,4BAA4B,YAAa,mBAAmB,KAAG,mBAAmB,GAAG,SAiBjG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,YAAY,mBAAmB,KAAQ,MAAM,EAAE,GAAG,SAmB/E,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,qBAAqB,UACvD,mBAAmB,SACpB,CAAC,YACE,MAAM,EAAE,KACjB,IAEF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,yBAAyB,YAC3B,gBAAgB,EAAE,KAC1B,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,aAAa,CAS3D,CAAC;AAqBF,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,WAClB,gBAAgB,EAAE,WAClB,OAAO,CAAC,mBAAmB,CAAC,KACpC,IASF,CAAC"}
1
+ {"version":3,"file":"redactionRules.d.ts","sourceRoot":"","sources":["../../src/config/redactionRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE7D,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,mFAAoF,CAAC;AAErH,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,iDAAkD,CAAC;AAEzF,eAAO,MAAM,oBAAoB,4BAA6B,CAAC;AAE/D,eAAO,MAAM,eAAe,uBAAwB,CAAC;AAErD,eAAO,MAAM,yBAAyB,sJAK5B,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,eAAO,MAAM,gBAAgB,uKAA2D,CAAC;AAIzF,eAAO,MAAM,yBAAyB,YAAa,mBAAmB,KAAG,OAEpC,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,4BAA4B,YAAa,mBAAmB,KAAG,mBAAmB,GAAG,SAiBjG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,YAAY,mBAAmB,KAAQ,MAAM,EAAE,GAAG,SAmB/E,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,qBAAqB,UACvD,mBAAmB,SACpB,CAAC,YACE,MAAM,EAAE,KACjB,IAEF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,yBAAyB,YAC3B,gBAAgB,EAAE,KAC1B,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,aAAa,CAS3D,CAAC;AAqBF,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,WAClB,gBAAgB,EAAE,WAClB,OAAO,CAAC,mBAAmB,CAAC,KACpC,IASF,CAAC"}