@ryanstark24/sfgraph-core 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyze/apex-platform.d.ts +23 -0
- package/dist/analyze/apex-platform.d.ts.map +1 -0
- package/dist/analyze/apex-platform.js +112 -0
- package/dist/analyze/apex-platform.js.map +1 -0
- package/dist/analyze/audit-graph.d.ts +34 -10
- package/dist/analyze/audit-graph.d.ts.map +1 -1
- package/dist/analyze/audit-graph.js +360 -39
- package/dist/analyze/audit-graph.js.map +1 -1
- package/dist/analyze/component-scope.d.ts +82 -0
- package/dist/analyze/component-scope.d.ts.map +1 -0
- package/dist/analyze/component-scope.js +207 -0
- package/dist/analyze/component-scope.js.map +1 -0
- package/dist/analyze/containment.d.ts +91 -0
- package/dist/analyze/containment.d.ts.map +1 -0
- package/dist/analyze/containment.js +175 -0
- package/dist/analyze/containment.js.map +1 -0
- package/dist/analyze/cross-org.d.ts +35 -0
- package/dist/analyze/cross-org.d.ts.map +1 -1
- package/dist/analyze/cross-org.js +102 -3
- package/dist/analyze/cross-org.js.map +1 -1
- package/dist/analyze/dead-code.d.ts +99 -3
- package/dist/analyze/dead-code.d.ts.map +1 -1
- package/dist/analyze/dead-code.js +282 -10
- package/dist/analyze/dead-code.js.map +1 -1
- package/dist/analyze/dependencies.d.ts +20 -1
- package/dist/analyze/dependencies.d.ts.map +1 -1
- package/dist/analyze/dependencies.js +96 -12
- package/dist/analyze/dependencies.js.map +1 -1
- package/dist/analyze/dependents.d.ts +111 -1
- package/dist/analyze/dependents.d.ts.map +1 -1
- package/dist/analyze/dependents.js +282 -20
- package/dist/analyze/dependents.js.map +1 -1
- package/dist/analyze/deployment-manifest/generate.d.ts +24 -0
- package/dist/analyze/deployment-manifest/generate.d.ts.map +1 -1
- package/dist/analyze/deployment-manifest/generate.js +40 -12
- package/dist/analyze/deployment-manifest/generate.js.map +1 -1
- package/dist/analyze/deployment-manifest/member-name-formatters.d.ts.map +1 -1
- package/dist/analyze/deployment-manifest/member-name-formatters.js +1 -0
- package/dist/analyze/deployment-manifest/member-name-formatters.js.map +1 -1
- package/dist/analyze/deployment-manifest/member-types.d.ts.map +1 -1
- package/dist/analyze/deployment-manifest/member-types.js +2 -0
- package/dist/analyze/deployment-manifest/member-types.js.map +1 -1
- package/dist/analyze/diff-seeds.d.ts +33 -0
- package/dist/analyze/diff-seeds.d.ts.map +1 -0
- package/dist/analyze/diff-seeds.js +299 -0
- package/dist/analyze/diff-seeds.js.map +1 -0
- package/dist/analyze/edge-filters.d.ts +25 -0
- package/dist/analyze/edge-filters.d.ts.map +1 -1
- package/dist/analyze/edge-filters.js +78 -2
- package/dist/analyze/edge-filters.js.map +1 -1
- package/dist/analyze/field-scope.d.ts +25 -0
- package/dist/analyze/field-scope.d.ts.map +1 -0
- package/dist/analyze/field-scope.js +94 -0
- package/dist/analyze/field-scope.js.map +1 -0
- package/dist/analyze/find-nodes.d.ts +48 -12
- package/dist/analyze/find-nodes.d.ts.map +1 -1
- package/dist/analyze/find-nodes.js +323 -12
- package/dist/analyze/find-nodes.js.map +1 -1
- package/dist/analyze/findings.d.ts.map +1 -1
- package/dist/analyze/findings.js +14 -0
- package/dist/analyze/findings.js.map +1 -1
- package/dist/analyze/git-diff.d.ts +27 -1
- package/dist/analyze/git-diff.d.ts.map +1 -1
- package/dist/analyze/git-diff.js +198 -26
- package/dist/analyze/git-diff.js.map +1 -1
- package/dist/analyze/governor.d.ts +25 -4
- package/dist/analyze/governor.d.ts.map +1 -1
- package/dist/analyze/governor.js +82 -18
- package/dist/analyze/governor.js.map +1 -1
- package/dist/analyze/index.d.ts +6 -0
- package/dist/analyze/index.d.ts.map +1 -1
- package/dist/analyze/index.js +6 -0
- package/dist/analyze/index.js.map +1 -1
- package/dist/analyze/path-to-qname.d.ts +9 -0
- package/dist/analyze/path-to-qname.d.ts.map +1 -1
- package/dist/analyze/path-to-qname.js +58 -15
- package/dist/analyze/path-to-qname.js.map +1 -1
- package/dist/analyze/populate.d.ts +40 -0
- package/dist/analyze/populate.d.ts.map +1 -1
- package/dist/analyze/populate.js +148 -48
- package/dist/analyze/populate.js.map +1 -1
- package/dist/analyze/pseudo-endpoints.d.ts +67 -0
- package/dist/analyze/pseudo-endpoints.d.ts.map +1 -0
- package/dist/analyze/pseudo-endpoints.js +78 -0
- package/dist/analyze/pseudo-endpoints.js.map +1 -0
- package/dist/analyze/security.d.ts +2 -0
- package/dist/analyze/security.d.ts.map +1 -1
- package/dist/analyze/security.js +44 -15
- package/dist/analyze/security.js.map +1 -1
- package/dist/analyze/test-coverage.d.ts +48 -0
- package/dist/analyze/test-coverage.d.ts.map +1 -1
- package/dist/analyze/test-coverage.js +72 -1
- package/dist/analyze/test-coverage.js.map +1 -1
- package/dist/analyze/wip-changed-files.d.ts +88 -0
- package/dist/analyze/wip-changed-files.d.ts.map +1 -0
- package/dist/analyze/wip-changed-files.js +422 -0
- package/dist/analyze/wip-changed-files.js.map +1 -0
- package/dist/analyze/wip-impact.d.ts +59 -0
- package/dist/analyze/wip-impact.d.ts.map +1 -1
- package/dist/analyze/wip-impact.js +199 -126
- package/dist/analyze/wip-impact.js.map +1 -1
- package/dist/domain/apex-platform.d.ts +10 -0
- package/dist/domain/apex-platform.d.ts.map +1 -0
- package/dist/domain/apex-platform.js +231 -0
- package/dist/domain/apex-platform.js.map +1 -0
- package/dist/domain/index.d.ts +2 -0
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +2 -0
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/rel-types.d.ts +7 -0
- package/dist/domain/rel-types.d.ts.map +1 -1
- package/dist/domain/rel-types.js +7 -0
- package/dist/domain/rel-types.js.map +1 -1
- package/dist/domain/standard-sobjects.d.ts +20 -0
- package/dist/domain/standard-sobjects.d.ts.map +1 -0
- package/dist/domain/standard-sobjects.js +183 -0
- package/dist/domain/standard-sobjects.js.map +1 -0
- package/dist/embedding/cache.d.ts +41 -0
- package/dist/embedding/cache.d.ts.map +1 -0
- package/dist/embedding/cache.js +69 -0
- package/dist/embedding/cache.js.map +1 -0
- package/dist/embedding/embed.d.ts +59 -0
- package/dist/embedding/embed.d.ts.map +1 -1
- package/dist/embedding/embed.js +193 -28
- package/dist/embedding/embed.js.map +1 -1
- package/dist/embedding/index.d.ts +7 -0
- package/dist/embedding/index.d.ts.map +1 -1
- package/dist/embedding/index.js +4 -0
- package/dist/embedding/index.js.map +1 -1
- package/dist/embedding/pool.d.ts +66 -6
- package/dist/embedding/pool.d.ts.map +1 -1
- package/dist/embedding/pool.js +156 -6
- package/dist/embedding/pool.js.map +1 -1
- package/dist/embedding/queue.d.ts +166 -9
- package/dist/embedding/queue.d.ts.map +1 -1
- package/dist/embedding/queue.js +397 -39
- package/dist/embedding/queue.js.map +1 -1
- package/dist/embedding/tokenize.d.ts +18 -0
- package/dist/embedding/tokenize.d.ts.map +1 -0
- package/dist/embedding/tokenize.js +43 -0
- package/dist/embedding/tokenize.js.map +1 -0
- package/dist/embedding/worker.d.ts +0 -5
- package/dist/embedding/worker.d.ts.map +1 -1
- package/dist/embedding/worker.js +27 -4
- package/dist/embedding/worker.js.map +1 -1
- package/dist/extractors/filesystem/index.d.ts +21 -1
- package/dist/extractors/filesystem/index.d.ts.map +1 -1
- package/dist/extractors/filesystem/index.js +195 -38
- package/dist/extractors/filesystem/index.js.map +1 -1
- package/dist/extractors/filesystem/vlocity-datapacks.d.ts +27 -0
- package/dist/extractors/filesystem/vlocity-datapacks.d.ts.map +1 -0
- package/dist/extractors/filesystem/vlocity-datapacks.js +201 -0
- package/dist/extractors/filesystem/vlocity-datapacks.js.map +1 -0
- package/dist/extractors/interfaces/metadata-source.d.ts +29 -0
- package/dist/extractors/interfaces/metadata-source.d.ts.map +1 -1
- package/dist/extractors/live-org/bulk-retrieve.d.ts +37 -1
- package/dist/extractors/live-org/bulk-retrieve.d.ts.map +1 -1
- package/dist/extractors/live-org/bulk-retrieve.js +233 -50
- package/dist/extractors/live-org/bulk-retrieve.js.map +1 -1
- package/dist/extractors/live-org/capabilities.d.ts +15 -0
- package/dist/extractors/live-org/capabilities.d.ts.map +1 -1
- package/dist/extractors/live-org/capabilities.js +54 -9
- package/dist/extractors/live-org/capabilities.js.map +1 -1
- package/dist/extractors/live-org/extractors/apex.d.ts +12 -2
- package/dist/extractors/live-org/extractors/apex.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/apex.js +151 -80
- package/dist/extractors/live-org/extractors/apex.js.map +1 -1
- package/dist/extractors/live-org/extractors/custom-settings.d.ts +2 -1
- package/dist/extractors/live-org/extractors/custom-settings.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/custom-settings.js +19 -9
- package/dist/extractors/live-org/extractors/custom-settings.js.map +1 -1
- package/dist/extractors/live-org/extractors/flow.d.ts +2 -1
- package/dist/extractors/live-org/extractors/flow.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/flow.js +12 -3
- package/dist/extractors/live-org/extractors/flow.js.map +1 -1
- package/dist/extractors/live-org/extractors/generic-metadata.d.ts +23 -3
- package/dist/extractors/live-org/extractors/generic-metadata.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/generic-metadata.js +110 -25
- package/dist/extractors/live-org/extractors/generic-metadata.js.map +1 -1
- package/dist/extractors/live-org/extractors/integration.d.ts +2 -1
- package/dist/extractors/live-org/extractors/integration.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/integration.js +14 -5
- package/dist/extractors/live-org/extractors/integration.js.map +1 -1
- package/dist/extractors/live-org/extractors/lwc.d.ts +2 -1
- package/dist/extractors/live-org/extractors/lwc.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/lwc.js +14 -6
- package/dist/extractors/live-org/extractors/lwc.js.map +1 -1
- package/dist/extractors/live-org/extractors/object.d.ts +2 -11
- package/dist/extractors/live-org/extractors/object.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/object.js +127 -226
- package/dist/extractors/live-org/extractors/object.js.map +1 -1
- package/dist/extractors/live-org/extractors/omnistudio.d.ts +3 -0
- package/dist/extractors/live-org/extractors/omnistudio.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/omnistudio.js +57 -22
- package/dist/extractors/live-org/extractors/omnistudio.js.map +1 -1
- package/dist/extractors/live-org/extractors/security.d.ts +12 -1
- package/dist/extractors/live-org/extractors/security.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/security.js +29 -7
- package/dist/extractors/live-org/extractors/security.js.map +1 -1
- package/dist/extractors/live-org/rate-limit.d.ts +7 -1
- package/dist/extractors/live-org/rate-limit.d.ts.map +1 -1
- package/dist/extractors/live-org/rate-limit.js +53 -10
- package/dist/extractors/live-org/rate-limit.js.map +1 -1
- package/dist/extractors/live-org/retry.d.ts +136 -0
- package/dist/extractors/live-org/retry.d.ts.map +1 -0
- package/dist/extractors/live-org/retry.js +416 -0
- package/dist/extractors/live-org/retry.js.map +1 -0
- package/dist/extractors/live-org/vlocity/runner.d.ts +2 -1
- package/dist/extractors/live-org/vlocity/runner.d.ts.map +1 -1
- package/dist/extractors/live-org/vlocity/runner.js +95 -67
- package/dist/extractors/live-org/vlocity/runner.js.map +1 -1
- package/dist/extractors/vlocity-shared/row.d.ts +19 -0
- package/dist/extractors/vlocity-shared/row.d.ts.map +1 -0
- package/dist/extractors/vlocity-shared/row.js +69 -0
- package/dist/extractors/vlocity-shared/row.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/ingest/delta.d.ts +70 -0
- package/dist/ingest/delta.d.ts.map +1 -0
- package/dist/ingest/delta.js +534 -0
- package/dist/ingest/delta.js.map +1 -0
- package/dist/ingest/detect-deletions-guard.d.ts +34 -0
- package/dist/ingest/detect-deletions-guard.d.ts.map +1 -1
- package/dist/ingest/detect-deletions-guard.js +59 -0
- package/dist/ingest/detect-deletions-guard.js.map +1 -1
- package/dist/ingest/index.d.ts +8 -1
- package/dist/ingest/index.d.ts.map +1 -1
- package/dist/ingest/index.js +4 -0
- package/dist/ingest/index.js.map +1 -1
- package/dist/ingest/live-ingest.d.ts +171 -7
- package/dist/ingest/live-ingest.d.ts.map +1 -1
- package/dist/ingest/live-ingest.js +1014 -249
- package/dist/ingest/live-ingest.js.map +1 -1
- package/dist/ingest/lock.d.ts +47 -0
- package/dist/ingest/lock.d.ts.map +1 -0
- package/dist/ingest/lock.js +222 -0
- package/dist/ingest/lock.js.map +1 -0
- package/dist/ingest/member-rows.d.ts +88 -0
- package/dist/ingest/member-rows.d.ts.map +1 -0
- package/dist/ingest/member-rows.js +152 -0
- package/dist/ingest/member-rows.js.map +1 -0
- package/dist/ingest/offline-org.d.ts +8 -0
- package/dist/ingest/offline-org.d.ts.map +1 -0
- package/dist/ingest/offline-org.js +41 -0
- package/dist/ingest/offline-org.js.map +1 -0
- package/dist/ingest/parse-member.d.ts +53 -0
- package/dist/ingest/parse-member.d.ts.map +1 -0
- package/dist/ingest/parse-member.js +276 -0
- package/dist/ingest/parse-member.js.map +1 -0
- package/dist/ingest/parse-pool.d.ts +139 -0
- package/dist/ingest/parse-pool.d.ts.map +1 -0
- package/dist/ingest/parse-pool.js +593 -0
- package/dist/ingest/parse-pool.js.map +1 -0
- package/dist/ingest/parse-worker.d.ts +3 -0
- package/dist/ingest/parse-worker.d.ts.map +1 -0
- package/dist/ingest/parse-worker.js +100 -0
- package/dist/ingest/parse-worker.js.map +1 -0
- package/dist/ingest/profile.d.ts +27 -0
- package/dist/ingest/profile.d.ts.map +1 -0
- package/dist/ingest/profile.js +48 -0
- package/dist/ingest/profile.js.map +1 -0
- package/dist/ingest/resolver-gates.d.ts +12 -0
- package/dist/ingest/resolver-gates.d.ts.map +1 -0
- package/dist/ingest/resolver-gates.js +53 -0
- package/dist/ingest/resolver-gates.js.map +1 -0
- package/dist/parsers/apex/arity-resolver.d.ts +16 -3
- package/dist/parsers/apex/arity-resolver.d.ts.map +1 -1
- package/dist/parsers/apex/arity-resolver.js +31 -2
- package/dist/parsers/apex/arity-resolver.js.map +1 -1
- package/dist/parsers/apex/ast-extractor.d.ts +4 -0
- package/dist/parsers/apex/ast-extractor.d.ts.map +1 -1
- package/dist/parsers/apex/ast-extractor.js +96 -29
- package/dist/parsers/apex/ast-extractor.js.map +1 -1
- package/dist/parsers/apex/class-refs.d.ts +78 -0
- package/dist/parsers/apex/class-refs.d.ts.map +1 -0
- package/dist/parsers/apex/class-refs.js +465 -0
- package/dist/parsers/apex/class-refs.js.map +1 -0
- package/dist/parsers/apex/class.d.ts +158 -0
- package/dist/parsers/apex/class.d.ts.map +1 -1
- package/dist/parsers/apex/class.js +1025 -183
- package/dist/parsers/apex/class.js.map +1 -1
- package/dist/parsers/apex/dynamic-soql.d.ts +52 -0
- package/dist/parsers/apex/dynamic-soql.d.ts.map +1 -0
- package/dist/parsers/apex/dynamic-soql.js +427 -0
- package/dist/parsers/apex/dynamic-soql.js.map +1 -0
- package/dist/parsers/apex/field-access.d.ts +65 -0
- package/dist/parsers/apex/field-access.d.ts.map +1 -0
- package/dist/parsers/apex/field-access.js +438 -0
- package/dist/parsers/apex/field-access.js.map +1 -0
- package/dist/parsers/apex/interface-ref-resolver.d.ts +32 -0
- package/dist/parsers/apex/interface-ref-resolver.d.ts.map +1 -0
- package/dist/parsers/apex/interface-ref-resolver.js +64 -0
- package/dist/parsers/apex/interface-ref-resolver.js.map +1 -0
- package/dist/parsers/apex/name-refs.d.ts +83 -0
- package/dist/parsers/apex/name-refs.d.ts.map +1 -0
- package/dist/parsers/apex/name-refs.js +465 -0
- package/dist/parsers/apex/name-refs.js.map +1 -0
- package/dist/parsers/apex/page-refs.d.ts +11 -0
- package/dist/parsers/apex/page-refs.d.ts.map +1 -0
- package/dist/parsers/apex/page-refs.js +34 -0
- package/dist/parsers/apex/page-refs.js.map +1 -0
- package/dist/parsers/apex/ref-resolver.d.ts +58 -0
- package/dist/parsers/apex/ref-resolver.d.ts.map +1 -0
- package/dist/parsers/apex/ref-resolver.js +348 -0
- package/dist/parsers/apex/ref-resolver.js.map +1 -0
- package/dist/parsers/apex/soql-fields.d.ts +75 -0
- package/dist/parsers/apex/soql-fields.d.ts.map +1 -0
- package/dist/parsers/apex/soql-fields.js +338 -0
- package/dist/parsers/apex/soql-fields.js.map +1 -0
- package/dist/parsers/apex/trigger.d.ts.map +1 -1
- package/dist/parsers/apex/trigger.js +90 -2
- package/dist/parsers/apex/trigger.js.map +1 -1
- package/dist/parsers/apex/vlocity-calls.d.ts +25 -0
- package/dist/parsers/apex/vlocity-calls.d.ts.map +1 -0
- package/dist/parsers/apex/vlocity-calls.js +225 -0
- package/dist/parsers/apex/vlocity-calls.js.map +1 -0
- package/dist/parsers/aura/bundle.d.ts +39 -0
- package/dist/parsers/aura/bundle.d.ts.map +1 -0
- package/dist/parsers/aura/bundle.js +269 -0
- package/dist/parsers/aura/bundle.js.map +1 -0
- package/dist/parsers/aura/embed-resolver.d.ts +17 -0
- package/dist/parsers/aura/embed-resolver.d.ts.map +1 -0
- package/dist/parsers/aura/embed-resolver.js +58 -0
- package/dist/parsers/aura/embed-resolver.js.map +1 -0
- package/dist/parsers/aura/index.d.ts +4 -0
- package/dist/parsers/aura/index.d.ts.map +1 -0
- package/dist/parsers/aura/index.js +6 -0
- package/dist/parsers/aura/index.js.map +1 -0
- package/dist/parsers/common.d.ts +9 -0
- package/dist/parsers/common.d.ts.map +1 -1
- package/dist/parsers/common.js +17 -0
- package/dist/parsers/common.js.map +1 -1
- package/dist/parsers/cross-flavor-resolver.js +8 -2
- package/dist/parsers/cross-flavor-resolver.js.map +1 -1
- package/dist/parsers/flow/invocable-resolver.d.ts.map +1 -1
- package/dist/parsers/flow/invocable-resolver.js +2 -0
- package/dist/parsers/flow/invocable-resolver.js.map +1 -1
- package/dist/parsers/flow/parser.d.ts +9 -0
- package/dist/parsers/flow/parser.d.ts.map +1 -1
- package/dist/parsers/flow/parser.js +327 -2
- package/dist/parsers/flow/parser.js.map +1 -1
- package/dist/parsers/flow/relationship-resolver.d.ts +34 -0
- package/dist/parsers/flow/relationship-resolver.d.ts.map +1 -0
- package/dist/parsers/flow/relationship-resolver.js +199 -0
- package/dist/parsers/flow/relationship-resolver.js.map +1 -0
- package/dist/parsers/generic/opaque-node-parser.d.ts +5 -1
- package/dist/parsers/generic/opaque-node-parser.d.ts.map +1 -1
- package/dist/parsers/generic/opaque-node-parser.js +37 -5
- package/dist/parsers/generic/opaque-node-parser.js.map +1 -1
- package/dist/parsers/generic/reflection-walker.d.ts +7 -0
- package/dist/parsers/generic/reflection-walker.d.ts.map +1 -1
- package/dist/parsers/generic/reflection-walker.js +37 -10
- package/dist/parsers/generic/reflection-walker.js.map +1 -1
- package/dist/parsers/hash-salts.d.ts +72 -0
- package/dist/parsers/hash-salts.d.ts.map +1 -0
- package/dist/parsers/hash-salts.js +91 -0
- package/dist/parsers/hash-salts.js.map +1 -0
- package/dist/parsers/index.d.ts +2 -0
- package/dist/parsers/index.d.ts.map +1 -1
- package/dist/parsers/index.js +2 -0
- package/dist/parsers/index.js.map +1 -1
- package/dist/parsers/lwc/bundle.d.ts +1 -0
- package/dist/parsers/lwc/bundle.d.ts.map +1 -1
- package/dist/parsers/lwc/bundle.js +37 -2
- package/dist/parsers/lwc/bundle.js.map +1 -1
- package/dist/parsers/lwc/field-key-resolver.d.ts +32 -0
- package/dist/parsers/lwc/field-key-resolver.d.ts.map +1 -0
- package/dist/parsers/lwc/field-key-resolver.js +92 -0
- package/dist/parsers/lwc/field-key-resolver.js.map +1 -0
- package/dist/parsers/lwc/html-visitor.d.ts +1 -1
- package/dist/parsers/lwc/html-visitor.d.ts.map +1 -1
- package/dist/parsers/lwc/html-visitor.js +78 -1
- package/dist/parsers/lwc/html-visitor.js.map +1 -1
- package/dist/parsers/lwc/js-visitor.d.ts +16 -0
- package/dist/parsers/lwc/js-visitor.d.ts.map +1 -1
- package/dist/parsers/lwc/js-visitor.js +348 -10
- package/dist/parsers/lwc/js-visitor.js.map +1 -1
- package/dist/parsers/lwc/omnidef.d.ts +10 -0
- package/dist/parsers/lwc/omnidef.d.ts.map +1 -0
- package/dist/parsers/lwc/omnidef.js +127 -0
- package/dist/parsers/lwc/omnidef.js.map +1 -0
- package/dist/parsers/lwc/xml-meta.d.ts.map +1 -1
- package/dist/parsers/lwc/xml-meta.js +16 -1
- package/dist/parsers/lwc/xml-meta.js.map +1 -1
- package/dist/parsers/object/formula-hop-resolver.d.ts +33 -0
- package/dist/parsers/object/formula-hop-resolver.d.ts.map +1 -0
- package/dist/parsers/object/formula-hop-resolver.js +60 -0
- package/dist/parsers/object/formula-hop-resolver.js.map +1 -0
- package/dist/parsers/object/formula-refs.d.ts +40 -0
- package/dist/parsers/object/formula-refs.d.ts.map +1 -0
- package/dist/parsers/object/formula-refs.js +129 -0
- package/dist/parsers/object/formula-refs.js.map +1 -0
- package/dist/parsers/object/object.d.ts +3 -0
- package/dist/parsers/object/object.d.ts.map +1 -1
- package/dist/parsers/object/object.js +53 -52
- package/dist/parsers/object/object.js.map +1 -1
- package/dist/parsers/omnistudio/data-transform.d.ts.map +1 -1
- package/dist/parsers/omnistudio/data-transform.js +2 -2
- package/dist/parsers/omnistudio/data-transform.js.map +1 -1
- package/dist/parsers/omnistudio/integration-procedure.d.ts.map +1 -1
- package/dist/parsers/omnistudio/integration-procedure.js +4 -5
- package/dist/parsers/omnistudio/integration-procedure.js.map +1 -1
- package/dist/parsers/omnistudio/overlap-detector.d.ts.map +1 -1
- package/dist/parsers/omnistudio/overlap-detector.js +27 -2
- package/dist/parsers/omnistudio/overlap-detector.js.map +1 -1
- package/dist/parsers/omnistudio/process.d.ts.map +1 -1
- package/dist/parsers/omnistudio/process.js +4 -5
- package/dist/parsers/omnistudio/process.js.map +1 -1
- package/dist/parsers/omnistudio/remote-refs.d.ts +11 -0
- package/dist/parsers/omnistudio/remote-refs.d.ts.map +1 -0
- package/dist/parsers/omnistudio/remote-refs.js +17 -0
- package/dist/parsers/omnistudio/remote-refs.js.map +1 -0
- package/dist/parsers/omnistudio/ui-card.d.ts.map +1 -1
- package/dist/parsers/omnistudio/ui-card.js +4 -5
- package/dist/parsers/omnistudio/ui-card.js.map +1 -1
- package/dist/parsers/resolver-prune.d.ts +14 -0
- package/dist/parsers/resolver-prune.d.ts.map +1 -0
- package/dist/parsers/resolver-prune.js +29 -0
- package/dist/parsers/resolver-prune.js.map +1 -0
- package/dist/parsers/rules/_engine.d.ts.map +1 -1
- package/dist/parsers/rules/_engine.js +4 -0
- package/dist/parsers/rules/_engine.js.map +1 -1
- package/dist/parsers/rules/_engine.ts +3 -0
- package/dist/parsers/rules/_loader.d.ts +8 -0
- package/dist/parsers/rules/_loader.d.ts.map +1 -1
- package/dist/parsers/rules/_loader.js +17 -0
- package/dist/parsers/rules/_loader.js.map +1 -1
- package/dist/parsers/rules/_loader.ts +19 -0
- package/dist/parsers/rules/_schema.d.ts +12 -12
- package/dist/parsers/rules/_selectors.d.ts +1 -0
- package/dist/parsers/rules/_selectors.d.ts.map +1 -1
- package/dist/parsers/rules/_selectors.js +6 -0
- package/dist/parsers/rules/_selectors.js.map +1 -1
- package/dist/parsers/rules/_selectors.ts +6 -0
- package/dist/parsers/rules/apex-component.yml +49 -4
- package/dist/parsers/rules/apex-page.yml +49 -4
- package/dist/parsers/rules/approval-process.yml +25 -5
- package/dist/parsers/rules/custom-metadata-type.yml +7 -7
- package/dist/parsers/rules/custom-tab.yml +41 -0
- package/dist/parsers/rules/lightning-page.yml +4 -2
- package/dist/parsers/rules/workflow.yml +30 -10
- package/dist/parsers/vf/refs.d.ts +39 -0
- package/dist/parsers/vf/refs.d.ts.map +1 -0
- package/dist/parsers/vf/refs.js +152 -0
- package/dist/parsers/vf/refs.js.map +1 -0
- package/dist/parsers/vlocity/apex-resolver.d.ts +21 -0
- package/dist/parsers/vlocity/apex-resolver.d.ts.map +1 -0
- package/dist/parsers/vlocity/apex-resolver.js +115 -0
- package/dist/parsers/vlocity/apex-resolver.js.map +1 -0
- package/dist/parsers/vlocity/common.d.ts +56 -1
- package/dist/parsers/vlocity/common.d.ts.map +1 -1
- package/dist/parsers/vlocity/common.js +275 -7
- package/dist/parsers/vlocity/common.js.map +1 -1
- package/dist/parsers/vlocity/data-raptor.d.ts +9 -0
- package/dist/parsers/vlocity/data-raptor.d.ts.map +1 -1
- package/dist/parsers/vlocity/data-raptor.js +133 -31
- package/dist/parsers/vlocity/data-raptor.js.map +1 -1
- package/dist/parsers/vlocity/datapack-refs.d.ts +22 -0
- package/dist/parsers/vlocity/datapack-refs.d.ts.map +1 -0
- package/dist/parsers/vlocity/datapack-refs.js +126 -0
- package/dist/parsers/vlocity/datapack-refs.js.map +1 -0
- package/dist/parsers/vlocity/dr-relationship-resolver.d.ts +26 -0
- package/dist/parsers/vlocity/dr-relationship-resolver.d.ts.map +1 -0
- package/dist/parsers/vlocity/dr-relationship-resolver.js +137 -0
- package/dist/parsers/vlocity/dr-relationship-resolver.js.map +1 -0
- package/dist/parsers/vlocity/integration-procedure.d.ts.map +1 -1
- package/dist/parsers/vlocity/integration-procedure.js +15 -48
- package/dist/parsers/vlocity/integration-procedure.js.map +1 -1
- package/dist/parsers/vlocity/name-match-resolver.d.ts +21 -0
- package/dist/parsers/vlocity/name-match-resolver.d.ts.map +1 -0
- package/dist/parsers/vlocity/name-match-resolver.js +97 -0
- package/dist/parsers/vlocity/name-match-resolver.js.map +1 -0
- package/dist/parsers/vlocity/omni-script.d.ts.map +1 -1
- package/dist/parsers/vlocity/omni-script.js +18 -32
- package/dist/parsers/vlocity/omni-script.js.map +1 -1
- package/dist/parsers/vlocity/vlocity-card.d.ts.map +1 -1
- package/dist/parsers/vlocity/vlocity-card.js +30 -36
- package/dist/parsers/vlocity/vlocity-card.js.map +1 -1
- package/dist/render/mermaid/dependency-graph.d.ts.map +1 -1
- package/dist/render/mermaid/dependency-graph.js +13 -1
- package/dist/render/mermaid/dependency-graph.js.map +1 -1
- package/dist/render/mermaid/diff.d.ts.map +1 -1
- package/dist/render/mermaid/diff.js +4 -2
- package/dist/render/mermaid/diff.js.map +1 -1
- package/dist/render/mermaid/shared.d.ts +7 -0
- package/dist/render/mermaid/shared.d.ts.map +1 -1
- package/dist/render/mermaid/shared.js +15 -6
- package/dist/render/mermaid/shared.js.map +1 -1
- package/dist/storage/index.d.ts +3 -3
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +2 -2
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/interfaces.d.ts +155 -1
- package/dist/storage/interfaces.d.ts.map +1 -1
- package/dist/storage/sqlite/graph-store.d.ts +352 -3
- package/dist/storage/sqlite/graph-store.d.ts.map +1 -1
- package/dist/storage/sqlite/graph-store.js +1683 -74
- package/dist/storage/sqlite/graph-store.js.map +1 -1
- package/dist/storage/sqlite/migrations.d.ts +11 -0
- package/dist/storage/sqlite/migrations.d.ts.map +1 -1
- package/dist/storage/sqlite/migrations.js +226 -11
- package/dist/storage/sqlite/migrations.js.map +1 -1
- package/dist/storage/sqlite/snapshot-store.d.ts +79 -3
- package/dist/storage/sqlite/snapshot-store.d.ts.map +1 -1
- package/dist/storage/sqlite/snapshot-store.js +500 -100
- package/dist/storage/sqlite/snapshot-store.js.map +1 -1
- package/dist/storage/sqlite/snapshot-versions.d.ts +51 -0
- package/dist/storage/sqlite/snapshot-versions.d.ts.map +1 -0
- package/dist/storage/sqlite/snapshot-versions.js +209 -0
- package/dist/storage/sqlite/snapshot-versions.js.map +1 -0
- package/dist/storage/sqlite/vector-store.d.ts +12 -0
- package/dist/storage/sqlite/vector-store.d.ts.map +1 -1
- package/dist/storage/sqlite/vector-store.js +57 -14
- package/dist/storage/sqlite/vector-store.js.map +1 -1
- package/dist/util/process-owner.d.ts +35 -0
- package/dist/util/process-owner.d.ts.map +1 -0
- package/dist/util/process-owner.js +87 -0
- package/dist/util/process-owner.js.map +1 -0
- package/dist/util/worker-heap-cap.d.ts +10 -0
- package/dist/util/worker-heap-cap.d.ts.map +1 -0
- package/dist/util/worker-heap-cap.js +65 -0
- package/dist/util/worker-heap-cap.js.map +1 -0
- package/package.json +6 -7
- package/dist/analyze/__tests__/audit-graph.test.d.ts +0 -2
- package/dist/analyze/__tests__/audit-graph.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/audit-graph.test.js +0 -201
- package/dist/analyze/__tests__/audit-graph.test.js.map +0 -1
- package/dist/analyze/__tests__/cross-org-two-store.test.d.ts +0 -2
- package/dist/analyze/__tests__/cross-org-two-store.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/cross-org-two-store.test.js +0 -68
- package/dist/analyze/__tests__/cross-org-two-store.test.js.map +0 -1
- package/dist/analyze/__tests__/dead-code-confidence.test.d.ts +0 -2
- package/dist/analyze/__tests__/dead-code-confidence.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/dead-code-confidence.test.js +0 -66
- package/dist/analyze/__tests__/dead-code-confidence.test.js.map +0 -1
- package/dist/analyze/__tests__/deployment-manifest.test.d.ts +0 -2
- package/dist/analyze/__tests__/deployment-manifest.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/deployment-manifest.test.js +0 -66
- package/dist/analyze/__tests__/deployment-manifest.test.js.map +0 -1
- package/dist/analyze/__tests__/edge-filters.test.d.ts +0 -2
- package/dist/analyze/__tests__/edge-filters.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/edge-filters.test.js +0 -66
- package/dist/analyze/__tests__/edge-filters.test.js.map +0 -1
- package/dist/analyze/__tests__/find-nodes.test.d.ts +0 -2
- package/dist/analyze/__tests__/find-nodes.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/find-nodes.test.js +0 -129
- package/dist/analyze/__tests__/find-nodes.test.js.map +0 -1
- package/dist/analyze/__tests__/findings.test.d.ts +0 -2
- package/dist/analyze/__tests__/findings.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/findings.test.js +0 -100
- package/dist/analyze/__tests__/findings.test.js.map +0 -1
- package/dist/analyze/__tests__/governor-risks-detection.test.d.ts +0 -2
- package/dist/analyze/__tests__/governor-risks-detection.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/governor-risks-detection.test.js +0 -160
- package/dist/analyze/__tests__/governor-risks-detection.test.js.map +0 -1
- package/dist/analyze/__tests__/populate.test.d.ts +0 -2
- package/dist/analyze/__tests__/populate.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/populate.test.js +0 -129
- package/dist/analyze/__tests__/populate.test.js.map +0 -1
- package/dist/analyze/__tests__/security-fls-filter.test.d.ts +0 -2
- package/dist/analyze/__tests__/security-fls-filter.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/security-fls-filter.test.js +0 -23
- package/dist/analyze/__tests__/security-fls-filter.test.js.map +0 -1
- package/dist/analyze/__tests__/traversal-caps.test.d.ts +0 -2
- package/dist/analyze/__tests__/traversal-caps.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/traversal-caps.test.js +0 -129
- package/dist/analyze/__tests__/traversal-caps.test.js.map +0 -1
- package/dist/analyze/__tests__/wip-impact.test.d.ts +0 -2
- package/dist/analyze/__tests__/wip-impact.test.d.ts.map +0 -1
- package/dist/analyze/__tests__/wip-impact.test.js +0 -134
- package/dist/analyze/__tests__/wip-impact.test.js.map +0 -1
- package/dist/embedding/__tests__/embed.test.d.ts +0 -2
- package/dist/embedding/__tests__/embed.test.d.ts.map +0 -1
- package/dist/embedding/__tests__/embed.test.js +0 -72
- package/dist/embedding/__tests__/embed.test.js.map +0 -1
- package/dist/embedding/__tests__/queue.test.d.ts +0 -2
- package/dist/embedding/__tests__/queue.test.d.ts.map +0 -1
- package/dist/embedding/__tests__/queue.test.js +0 -64
- package/dist/embedding/__tests__/queue.test.js.map +0 -1
- package/dist/extractors/__tests__/network-egress.test.d.ts +0 -2
- package/dist/extractors/__tests__/network-egress.test.d.ts.map +0 -1
- package/dist/extractors/__tests__/network-egress.test.js +0 -32
- package/dist/extractors/__tests__/network-egress.test.js.map +0 -1
- package/dist/extractors/filesystem/__tests__/filesystem.test.d.ts +0 -2
- package/dist/extractors/filesystem/__tests__/filesystem.test.d.ts.map +0 -1
- package/dist/extractors/filesystem/__tests__/filesystem.test.js +0 -96
- package/dist/extractors/filesystem/__tests__/filesystem.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/_jsforce-mock.d.ts +0 -38
- package/dist/extractors/live-org/__tests__/_jsforce-mock.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/_jsforce-mock.js +0 -96
- package/dist/extractors/live-org/__tests__/_jsforce-mock.js.map +0 -1
- package/dist/extractors/live-org/__tests__/auth.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/auth.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/auth.test.js +0 -85
- package/dist/extractors/live-org/__tests__/auth.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/bulk-retrieve.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/bulk-retrieve.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/bulk-retrieve.test.js +0 -150
- package/dist/extractors/live-org/__tests__/bulk-retrieve.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/capabilities.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/capabilities.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/capabilities.test.js +0 -54
- package/dist/extractors/live-org/__tests__/capabilities.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/custom-settings.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/custom-settings.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/custom-settings.test.js +0 -79
- package/dist/extractors/live-org/__tests__/custom-settings.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/discovery.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/discovery.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/discovery.test.js +0 -55
- package/dist/extractors/live-org/__tests__/discovery.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/dispatch.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/dispatch.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/dispatch.test.js +0 -68
- package/dist/extractors/live-org/__tests__/dispatch.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/extractor-enrichment.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/extractor-enrichment.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/extractor-enrichment.test.js +0 -374
- package/dist/extractors/live-org/__tests__/extractor-enrichment.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/liveness.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/liveness.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/liveness.test.js +0 -148
- package/dist/extractors/live-org/__tests__/liveness.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/mcd-baseline.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/mcd-baseline.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/mcd-baseline.test.js +0 -177
- package/dist/extractors/live-org/__tests__/mcd-baseline.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/metadata-read-batch.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/metadata-read-batch.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/metadata-read-batch.test.js +0 -75
- package/dist/extractors/live-org/__tests__/metadata-read-batch.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.js +0 -135
- package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/pools.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/pools.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/pools.test.js +0 -78
- package/dist/extractors/live-org/__tests__/pools.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/rate-limit.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/rate-limit.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/rate-limit.test.js +0 -73
- package/dist/extractors/live-org/__tests__/rate-limit.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/read-only-proxy.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/read-only-proxy.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/read-only-proxy.test.js +0 -376
- package/dist/extractors/live-org/__tests__/read-only-proxy.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/soql-rebatch.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/soql-rebatch.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/soql-rebatch.test.js +0 -118
- package/dist/extractors/live-org/__tests__/soql-rebatch.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/source-member.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/source-member.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/source-member.test.js +0 -84
- package/dist/extractors/live-org/__tests__/source-member.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/stop-waiting.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/stop-waiting.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/stop-waiting.test.js +0 -243
- package/dist/extractors/live-org/__tests__/stop-waiting.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/vlocity-runner.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/vlocity-runner.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/vlocity-runner.test.js +0 -115
- package/dist/extractors/live-org/__tests__/vlocity-runner.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/watchdog-budgets.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/watchdog-budgets.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/watchdog-budgets.test.js +0 -40
- package/dist/extractors/live-org/__tests__/watchdog-budgets.test.js.map +0 -1
- package/dist/extractors/live-org/__tests__/wedge-isolation.test.d.ts +0 -2
- package/dist/extractors/live-org/__tests__/wedge-isolation.test.d.ts.map +0 -1
- package/dist/extractors/live-org/__tests__/wedge-isolation.test.js +0 -270
- package/dist/extractors/live-org/__tests__/wedge-isolation.test.js.map +0 -1
- package/dist/extractors/live-org/extractors/__tests__/apex.test.d.ts +0 -2
- package/dist/extractors/live-org/extractors/__tests__/apex.test.d.ts.map +0 -1
- package/dist/extractors/live-org/extractors/__tests__/apex.test.js +0 -73
- package/dist/extractors/live-org/extractors/__tests__/apex.test.js.map +0 -1
- package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.d.ts +0 -2
- package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.d.ts.map +0 -1
- package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.js +0 -183
- package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.js.map +0 -1
- package/dist/ingest/__tests__/config-values.test.d.ts +0 -2
- package/dist/ingest/__tests__/config-values.test.d.ts.map +0 -1
- package/dist/ingest/__tests__/config-values.test.js +0 -65
- package/dist/ingest/__tests__/config-values.test.js.map +0 -1
- package/dist/ingest/__tests__/full-sync-deletion.test.d.ts +0 -2
- package/dist/ingest/__tests__/full-sync-deletion.test.d.ts.map +0 -1
- package/dist/ingest/__tests__/full-sync-deletion.test.js +0 -207
- package/dist/ingest/__tests__/full-sync-deletion.test.js.map +0 -1
- package/dist/ingest/__tests__/incremental-deletion.test.d.ts +0 -2
- package/dist/ingest/__tests__/incremental-deletion.test.d.ts.map +0 -1
- package/dist/ingest/__tests__/incremental-deletion.test.js +0 -92
- package/dist/ingest/__tests__/incremental-deletion.test.js.map +0 -1
- package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.d.ts +0 -10
- package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.d.ts.map +0 -1
- package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.js +0 -251
- package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.js.map +0 -1
- package/dist/ingest/__tests__/live-ingest.test.d.ts +0 -2
- package/dist/ingest/__tests__/live-ingest.test.d.ts.map +0 -1
- package/dist/ingest/__tests__/live-ingest.test.js +0 -155
- package/dist/ingest/__tests__/live-ingest.test.js.map +0 -1
- package/dist/ingest/__tests__/multi-org-orchestrator.test.d.ts +0 -2
- package/dist/ingest/__tests__/multi-org-orchestrator.test.d.ts.map +0 -1
- package/dist/ingest/__tests__/multi-org-orchestrator.test.js +0 -108
- package/dist/ingest/__tests__/multi-org-orchestrator.test.js.map +0 -1
- package/dist/ingest/__tests__/parser-dispatch.test.d.ts +0 -2
- package/dist/ingest/__tests__/parser-dispatch.test.d.ts.map +0 -1
- package/dist/ingest/__tests__/parser-dispatch.test.js +0 -55
- package/dist/ingest/__tests__/parser-dispatch.test.js.map +0 -1
- package/dist/ingest/__tests__/read-only-wrapping.test.d.ts +0 -2
- package/dist/ingest/__tests__/read-only-wrapping.test.d.ts.map +0 -1
- package/dist/ingest/__tests__/read-only-wrapping.test.js +0 -62
- package/dist/ingest/__tests__/read-only-wrapping.test.js.map +0 -1
- package/dist/ingest/__tests__/vlocity-dispatch-integration.test.d.ts +0 -2
- package/dist/ingest/__tests__/vlocity-dispatch-integration.test.d.ts.map +0 -1
- package/dist/ingest/__tests__/vlocity-dispatch-integration.test.js +0 -134
- package/dist/ingest/__tests__/vlocity-dispatch-integration.test.js.map +0 -1
- package/dist/parsers/__tests__/_harness.d.ts +0 -13
- package/dist/parsers/__tests__/_harness.d.ts.map +0 -1
- package/dist/parsers/__tests__/_harness.js +0 -84
- package/dist/parsers/__tests__/_harness.js.map +0 -1
- package/dist/parsers/__tests__/apex.golden.test.d.ts +0 -2
- package/dist/parsers/__tests__/apex.golden.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/apex.golden.test.js +0 -28
- package/dist/parsers/__tests__/apex.golden.test.js.map +0 -1
- package/dist/parsers/__tests__/cross-flavor.test.d.ts +0 -2
- package/dist/parsers/__tests__/cross-flavor.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/cross-flavor.test.js +0 -56
- package/dist/parsers/__tests__/cross-flavor.test.js.map +0 -1
- package/dist/parsers/__tests__/datatransform-structured.test.d.ts +0 -2
- package/dist/parsers/__tests__/datatransform-structured.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/datatransform-structured.test.js +0 -147
- package/dist/parsers/__tests__/datatransform-structured.test.js.map +0 -1
- package/dist/parsers/__tests__/edge-provenance.test.d.ts +0 -2
- package/dist/parsers/__tests__/edge-provenance.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/edge-provenance.test.js +0 -47
- package/dist/parsers/__tests__/edge-provenance.test.js.map +0 -1
- package/dist/parsers/__tests__/flow.golden.test.d.ts +0 -2
- package/dist/parsers/__tests__/flow.golden.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/flow.golden.test.js +0 -17
- package/dist/parsers/__tests__/flow.golden.test.js.map +0 -1
- package/dist/parsers/__tests__/integration.golden.test.d.ts +0 -2
- package/dist/parsers/__tests__/integration.golden.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/integration.golden.test.js +0 -31
- package/dist/parsers/__tests__/integration.golden.test.js.map +0 -1
- package/dist/parsers/__tests__/long-tail.golden.test.d.ts +0 -2
- package/dist/parsers/__tests__/long-tail.golden.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/long-tail.golden.test.js +0 -115
- package/dist/parsers/__tests__/long-tail.golden.test.js.map +0 -1
- package/dist/parsers/__tests__/lwc-bindings.test.d.ts +0 -2
- package/dist/parsers/__tests__/lwc-bindings.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/lwc-bindings.test.js +0 -149
- package/dist/parsers/__tests__/lwc-bindings.test.js.map +0 -1
- package/dist/parsers/__tests__/lwc.golden.test.d.ts +0 -2
- package/dist/parsers/__tests__/lwc.golden.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/lwc.golden.test.js +0 -16
- package/dist/parsers/__tests__/lwc.golden.test.js.map +0 -1
- package/dist/parsers/__tests__/mcd-gap-fills.test.d.ts +0 -2
- package/dist/parsers/__tests__/mcd-gap-fills.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/mcd-gap-fills.test.js +0 -75
- package/dist/parsers/__tests__/mcd-gap-fills.test.js.map +0 -1
- package/dist/parsers/__tests__/object-inline-fields.test.d.ts +0 -2
- package/dist/parsers/__tests__/object-inline-fields.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/object-inline-fields.test.js +0 -115
- package/dist/parsers/__tests__/object-inline-fields.test.js.map +0 -1
- package/dist/parsers/__tests__/object.golden.test.d.ts +0 -2
- package/dist/parsers/__tests__/object.golden.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/object.golden.test.js +0 -33
- package/dist/parsers/__tests__/object.golden.test.js.map +0 -1
- package/dist/parsers/__tests__/omnistudio-overlap.test.d.ts +0 -2
- package/dist/parsers/__tests__/omnistudio-overlap.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/omnistudio-overlap.test.js +0 -163
- package/dist/parsers/__tests__/omnistudio-overlap.test.js.map +0 -1
- package/dist/parsers/__tests__/omnistudio.golden.test.d.ts +0 -2
- package/dist/parsers/__tests__/omnistudio.golden.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/omnistudio.golden.test.js +0 -53
- package/dist/parsers/__tests__/omnistudio.golden.test.js.map +0 -1
- package/dist/parsers/__tests__/reflection-walker.test.d.ts +0 -2
- package/dist/parsers/__tests__/reflection-walker.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/reflection-walker.test.js +0 -162
- package/dist/parsers/__tests__/reflection-walker.test.js.map +0 -1
- package/dist/parsers/__tests__/registry.test.d.ts +0 -2
- package/dist/parsers/__tests__/registry.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/registry.test.js +0 -23
- package/dist/parsers/__tests__/registry.test.js.map +0 -1
- package/dist/parsers/__tests__/security.golden.test.d.ts +0 -2
- package/dist/parsers/__tests__/security.golden.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/security.golden.test.js +0 -31
- package/dist/parsers/__tests__/security.golden.test.js.map +0 -1
- package/dist/parsers/__tests__/vlocity.golden.test.d.ts +0 -2
- package/dist/parsers/__tests__/vlocity.golden.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/vlocity.golden.test.js +0 -105
- package/dist/parsers/__tests__/vlocity.golden.test.js.map +0 -1
- package/dist/parsers/__tests__/worker-pool.test.d.ts +0 -2
- package/dist/parsers/__tests__/worker-pool.test.d.ts.map +0 -1
- package/dist/parsers/__tests__/worker-pool.test.js +0 -48
- package/dist/parsers/__tests__/worker-pool.test.js.map +0 -1
- package/dist/parsers/apex/__tests__/arity-resolver.test.d.ts +0 -2
- package/dist/parsers/apex/__tests__/arity-resolver.test.d.ts.map +0 -1
- package/dist/parsers/apex/__tests__/arity-resolver.test.js +0 -135
- package/dist/parsers/apex/__tests__/arity-resolver.test.js.map +0 -1
- package/dist/parsers/apex/__tests__/ast-extractor.test.d.ts +0 -2
- package/dist/parsers/apex/__tests__/ast-extractor.test.d.ts.map +0 -1
- package/dist/parsers/apex/__tests__/ast-extractor.test.js +0 -206
- package/dist/parsers/apex/__tests__/ast-extractor.test.js.map +0 -1
- package/dist/parsers/apex/__tests__/empty-body.test.d.ts +0 -2
- package/dist/parsers/apex/__tests__/empty-body.test.d.ts.map +0 -1
- package/dist/parsers/apex/__tests__/empty-body.test.js +0 -40
- package/dist/parsers/apex/__tests__/empty-body.test.js.map +0 -1
- package/dist/parsers/apex/__tests__/is-test-attribute.test.d.ts +0 -2
- package/dist/parsers/apex/__tests__/is-test-attribute.test.d.ts.map +0 -1
- package/dist/parsers/apex/__tests__/is-test-attribute.test.js +0 -56
- package/dist/parsers/apex/__tests__/is-test-attribute.test.js.map +0 -1
- package/dist/parsers/apex/__tests__/regex-arg-count.test.d.ts +0 -2
- package/dist/parsers/apex/__tests__/regex-arg-count.test.d.ts.map +0 -1
- package/dist/parsers/apex/__tests__/regex-arg-count.test.js +0 -82
- package/dist/parsers/apex/__tests__/regex-arg-count.test.js.map +0 -1
- package/dist/parsers/apex/__tests__/regex-inloop.test.d.ts +0 -2
- package/dist/parsers/apex/__tests__/regex-inloop.test.d.ts.map +0 -1
- package/dist/parsers/apex/__tests__/regex-inloop.test.js +0 -70
- package/dist/parsers/apex/__tests__/regex-inloop.test.js.map +0 -1
- package/dist/parsers/flow/__tests__/invocable-resolver.test.d.ts +0 -2
- package/dist/parsers/flow/__tests__/invocable-resolver.test.d.ts.map +0 -1
- package/dist/parsers/flow/__tests__/invocable-resolver.test.js +0 -91
- package/dist/parsers/flow/__tests__/invocable-resolver.test.js.map +0 -1
- package/dist/parsers/rules/__tests__/applies-to.test.d.ts +0 -2
- package/dist/parsers/rules/__tests__/applies-to.test.d.ts.map +0 -1
- package/dist/parsers/rules/__tests__/applies-to.test.js +0 -31
- package/dist/parsers/rules/__tests__/applies-to.test.js.map +0 -1
- package/dist/parsers/rules/__tests__/applies-to.test.ts +0 -40
- package/dist/parsers/rules/__tests__/engine.test.d.ts +0 -2
- package/dist/parsers/rules/__tests__/engine.test.d.ts.map +0 -1
- package/dist/parsers/rules/__tests__/engine.test.js +0 -127
- package/dist/parsers/rules/__tests__/engine.test.js.map +0 -1
- package/dist/parsers/rules/__tests__/engine.test.ts +0 -138
- package/dist/parsers/rules/__tests__/loader.test.d.ts +0 -2
- package/dist/parsers/rules/__tests__/loader.test.d.ts.map +0 -1
- package/dist/parsers/rules/__tests__/loader.test.js +0 -31
- package/dist/parsers/rules/__tests__/loader.test.js.map +0 -1
- package/dist/parsers/rules/__tests__/loader.test.ts +0 -37
- package/dist/parsers/rules/__tests__/schema.test.d.ts +0 -2
- package/dist/parsers/rules/__tests__/schema.test.d.ts.map +0 -1
- package/dist/parsers/rules/__tests__/schema.test.js +0 -33
- package/dist/parsers/rules/__tests__/schema.test.js.map +0 -1
- package/dist/parsers/rules/__tests__/schema.test.ts +0 -37
- package/dist/parsers/rules/__tests__/selectors.test.d.ts +0 -2
- package/dist/parsers/rules/__tests__/selectors.test.d.ts.map +0 -1
- package/dist/parsers/rules/__tests__/selectors.test.js +0 -51
- package/dist/parsers/rules/__tests__/selectors.test.js.map +0 -1
- package/dist/parsers/rules/__tests__/selectors.test.ts +0 -62
- package/dist/render/__tests__/sarif.test.d.ts +0 -2
- package/dist/render/__tests__/sarif.test.d.ts.map +0 -1
- package/dist/render/__tests__/sarif.test.js +0 -126
- package/dist/render/__tests__/sarif.test.js.map +0 -1
- package/dist/render/mermaid/__tests__/mermaid.test.d.ts +0 -2
- package/dist/render/mermaid/__tests__/mermaid.test.d.ts.map +0 -1
- package/dist/render/mermaid/__tests__/mermaid.test.js +0 -74
- package/dist/render/mermaid/__tests__/mermaid.test.js.map +0 -1
- package/dist/storage/__tests__/analysis-tables-migration.test.d.ts +0 -2
- package/dist/storage/__tests__/analysis-tables-migration.test.d.ts.map +0 -1
- package/dist/storage/__tests__/analysis-tables-migration.test.js +0 -44
- package/dist/storage/__tests__/analysis-tables-migration.test.js.map +0 -1
- package/dist/storage/__tests__/graph-store.test.d.ts +0 -2
- package/dist/storage/__tests__/graph-store.test.d.ts.map +0 -1
- package/dist/storage/__tests__/graph-store.test.js +0 -145
- package/dist/storage/__tests__/graph-store.test.js.map +0 -1
- package/dist/storage/__tests__/identifier.test.d.ts +0 -2
- package/dist/storage/__tests__/identifier.test.d.ts.map +0 -1
- package/dist/storage/__tests__/identifier.test.js +0 -35
- package/dist/storage/__tests__/identifier.test.js.map +0 -1
- package/dist/storage/__tests__/load-better-sqlite3.test.d.ts +0 -2
- package/dist/storage/__tests__/load-better-sqlite3.test.d.ts.map +0 -1
- package/dist/storage/__tests__/load-better-sqlite3.test.js +0 -65
- package/dist/storage/__tests__/load-better-sqlite3.test.js.map +0 -1
- package/dist/storage/__tests__/migrations.test.d.ts +0 -2
- package/dist/storage/__tests__/migrations.test.d.ts.map +0 -1
- package/dist/storage/__tests__/migrations.test.js +0 -93
- package/dist/storage/__tests__/migrations.test.js.map +0 -1
- package/dist/storage/__tests__/perf-50k.test.d.ts +0 -2
- package/dist/storage/__tests__/perf-50k.test.d.ts.map +0 -1
- package/dist/storage/__tests__/perf-50k.test.js +0 -67
- package/dist/storage/__tests__/perf-50k.test.js.map +0 -1
- package/dist/storage/__tests__/rename-stability.test.d.ts +0 -2
- package/dist/storage/__tests__/rename-stability.test.d.ts.map +0 -1
- package/dist/storage/__tests__/rename-stability.test.js +0 -135
- package/dist/storage/__tests__/rename-stability.test.js.map +0 -1
- package/dist/storage/__tests__/snapshot-store.test.d.ts +0 -2
- package/dist/storage/__tests__/snapshot-store.test.d.ts.map +0 -1
- package/dist/storage/__tests__/snapshot-store.test.js +0 -117
- package/dist/storage/__tests__/snapshot-store.test.js.map +0 -1
- package/dist/storage/__tests__/snippets.test.d.ts +0 -2
- package/dist/storage/__tests__/snippets.test.d.ts.map +0 -1
- package/dist/storage/__tests__/snippets.test.js +0 -88
- package/dist/storage/__tests__/snippets.test.js.map +0 -1
- package/dist/storage/__tests__/sync-generation.test.d.ts +0 -2
- package/dist/storage/__tests__/sync-generation.test.d.ts.map +0 -1
- package/dist/storage/__tests__/sync-generation.test.js +0 -159
- package/dist/storage/__tests__/sync-generation.test.js.map +0 -1
- package/dist/storage/__tests__/vector-store-load-failure.test.d.ts +0 -2
- package/dist/storage/__tests__/vector-store-load-failure.test.d.ts.map +0 -1
- package/dist/storage/__tests__/vector-store-load-failure.test.js +0 -42
- package/dist/storage/__tests__/vector-store-load-failure.test.js.map +0 -1
- package/dist/storage/__tests__/vector-store.test.d.ts +0 -2
- package/dist/storage/__tests__/vector-store.test.d.ts.map +0 -1
- package/dist/storage/__tests__/vector-store.test.js +0 -87
- package/dist/storage/__tests__/vector-store.test.js.map +0 -1
- package/dist/telemetry/__tests__/event-schema.test.d.ts +0 -2
- package/dist/telemetry/__tests__/event-schema.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/event-schema.test.js +0 -56
- package/dist/telemetry/__tests__/event-schema.test.js.map +0 -1
- package/dist/telemetry/__tests__/machine-id.test.d.ts +0 -2
- package/dist/telemetry/__tests__/machine-id.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/machine-id.test.js +0 -33
- package/dist/telemetry/__tests__/machine-id.test.js.map +0 -1
- package/dist/telemetry/__tests__/pipeline.test.d.ts +0 -2
- package/dist/telemetry/__tests__/pipeline.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/pipeline.test.js +0 -68
- package/dist/telemetry/__tests__/pipeline.test.js.map +0 -1
- package/dist/telemetry/__tests__/sanitizer.test.d.ts +0 -2
- package/dist/telemetry/__tests__/sanitizer.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/sanitizer.test.js +0 -143
- package/dist/telemetry/__tests__/sanitizer.test.js.map +0 -1
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
export interface RetryOptions {
|
|
2
|
+
/** Re-tries after the first failure. Default 3 (env SFGRAPH_FETCH_RETRIES). */
|
|
3
|
+
retries?: number;
|
|
4
|
+
/** Base backoff in ms; doubles per attempt. Default 2000; see
|
|
5
|
+
* {@link resolveRetryOptions} for the override order. */
|
|
6
|
+
retryBackoffMs?: number;
|
|
7
|
+
}
|
|
8
|
+
/** Upper bound on retries, whatever the source (env or option). */
|
|
9
|
+
export declare const MAX_RETRIES = 10;
|
|
10
|
+
/** Upper bound on a single backoff sleep. Without it `base * 2^attempt`
|
|
11
|
+
* grows to hours and then overflows setTimeout (Node clamps to 1 ms). */
|
|
12
|
+
export declare const MAX_RETRY_DELAY_MS = 30000;
|
|
13
|
+
/** Strict non-negative integer env read: `"2s"` / `"1e3"` / `"-1"` are
|
|
14
|
+
* rejected (with a one-time warning) instead of parseInt-truncated. */
|
|
15
|
+
export declare function envInt(name: string): number | undefined;
|
|
16
|
+
/** Production base backoff (2 s, doubling: 2 + 4 + 8 s over 3 retries). */
|
|
17
|
+
export declare const DEFAULT_RETRY_BACKOFF_MS = 2000;
|
|
18
|
+
/**
|
|
19
|
+
* Module-level override of the base backoff for callers that can't thread
|
|
20
|
+
* {@link RetryOptions} through (e.g. tests driving the whole live ingest).
|
|
21
|
+
* Pass `undefined` to restore the default.
|
|
22
|
+
*/
|
|
23
|
+
export declare function setRetryBackoffMs(ms: number | undefined): void;
|
|
24
|
+
export declare function resolveRetryOptions(opts?: RetryOptions): Required<RetryOptions>;
|
|
25
|
+
/** Errors that must not be re-tried: the source was told to stop waiting
|
|
26
|
+
* (wedge cap-eviction), the read-only guard refused the call, or the org
|
|
27
|
+
* rejected the request outright ({@link isOrgRejection}). */
|
|
28
|
+
export declare function isNonRetryable(e: unknown): boolean;
|
|
29
|
+
/** Sleep before retry `attempt` (0-based): base doubling per attempt, capped
|
|
30
|
+
* at {@link MAX_RETRY_DELAY_MS}. */
|
|
31
|
+
export declare function retryDelayMs(baseMs: number, attempt: number): number;
|
|
32
|
+
/** Run `fn`, re-trying failures with exponential backoff. `fn` must create a
|
|
33
|
+
* fresh request per call (jsforce Query objects are single-shot). */
|
|
34
|
+
export declare function withRetry<T>(fn: () => Promise<T>, opts?: RetryOptions): Promise<T>;
|
|
35
|
+
/**
|
|
36
|
+
* The org rejected the request itself (unknown type/object/field, no access).
|
|
37
|
+
* Re-trying cannot help and the member is not fetchable at all, so callers
|
|
38
|
+
* treat it as "nothing to fetch" rather than as lost data.
|
|
39
|
+
*/
|
|
40
|
+
export declare function isOrgRejection(e: unknown): boolean;
|
|
41
|
+
/** Identical UNKNOWN_EXCEPTION attempts that confirm a refusal. */
|
|
42
|
+
export declare const UNKNOWN_EXCEPTION_CONFIRM_ATTEMPTS = 3;
|
|
43
|
+
/**
|
|
44
|
+
* Backoff before re-try 2 and 3 of a single-item read: one doubling step
|
|
45
|
+
* ahead of {@link withRetry}'s schedule (4 s then 8 s at the 2 s production
|
|
46
|
+
* base = 12 s), so a gack is only confirmed after it outlived a short
|
|
47
|
+
* server-side incident.
|
|
48
|
+
*/
|
|
49
|
+
export declare function singleItemConfirmDelaysMs(baseMs: number): number[];
|
|
50
|
+
/** True when `e` is a recognised deterministic org rejection: re-trying it
|
|
51
|
+
* cannot help, so callers stop re-trying at once. */
|
|
52
|
+
export declare function isDeterministicRejection(e: unknown): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* True when at least {@link UNKNOWN_EXCEPTION_CONFIRM_ATTEMPTS} attempts all
|
|
55
|
+
* failed with the SAME UNKNOWN_EXCEPTION (ErrorId-normalised when hashed).
|
|
56
|
+
*/
|
|
57
|
+
export declare function isSameRefusal(errors: unknown[]): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* A member (or type listing) the org refuses deterministically (see the
|
|
60
|
+
* rules above). Re-running within the same ingest cannot recover it, so the
|
|
61
|
+
* skip report files it under `unreadable`: listed with the error, not
|
|
62
|
+
* auto-retried, re-run by an explicit `--retry-skipped`. Message / errorCode
|
|
63
|
+
* are the cause's.
|
|
64
|
+
*/
|
|
65
|
+
export declare class PlatformRefusalError extends Error {
|
|
66
|
+
readonly unreadable = true;
|
|
67
|
+
readonly errorCode: string | undefined;
|
|
68
|
+
constructor(cause: unknown);
|
|
69
|
+
}
|
|
70
|
+
export declare function isPlatformRefusal(e: unknown): e is PlatformRefusalError;
|
|
71
|
+
/**
|
|
72
|
+
* A whole type the extractor stopped reading after its first
|
|
73
|
+
* {@link UNREADABLE_EARLY_STOP} members were all refused with the same
|
|
74
|
+
* signature: `unreadCount` members were never requested. Filed under
|
|
75
|
+
* `unreadable` like the per-member refusals; message / errorCode are those
|
|
76
|
+
* of the shared refusal.
|
|
77
|
+
*/
|
|
78
|
+
export declare class TypeUnreadableError extends PlatformRefusalError {
|
|
79
|
+
readonly unreadCount: number;
|
|
80
|
+
constructor(cause: unknown, unreadCount: number);
|
|
81
|
+
}
|
|
82
|
+
/** Members a type must have refused, all with one signature, before the
|
|
83
|
+
* generic extractor stops reading the rest of it. */
|
|
84
|
+
export declare const UNREADABLE_EARLY_STOP = 10;
|
|
85
|
+
/** Signature of an unreadable member's refusal (the same deterministic
|
|
86
|
+
* rejection, or the same confirmed gack), or undefined when `e` is not a
|
|
87
|
+
* platform refusal. */
|
|
88
|
+
export declare function unreadableSignature(e: unknown): string | undefined;
|
|
89
|
+
/** Wrap `e` as a {@link PlatformRefusalError} (idempotent). */
|
|
90
|
+
export declare function asPlatformRefusal(e: unknown): PlatformRefusalError;
|
|
91
|
+
/**
|
|
92
|
+
* Classify the final error of a fetch that was attempted `attempts` times:
|
|
93
|
+
* a recognised deterministic rejection, or the same UNKNOWN_EXCEPTION on
|
|
94
|
+
* every one of at least 3 attempts, becomes a {@link PlatformRefusalError};
|
|
95
|
+
* anything else is returned unchanged and stays retryable.
|
|
96
|
+
*/
|
|
97
|
+
export declare function classifyFinalError(attempts: unknown[]): unknown;
|
|
98
|
+
/** A member (or batch) a source could not fetch after retries. */
|
|
99
|
+
export interface FetchFailure {
|
|
100
|
+
name: string;
|
|
101
|
+
error: unknown;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Thrown by an extractor AFTER it yielded everything it could fetch, when
|
|
105
|
+
* some members were lost. The message names them (truncated to keep the
|
|
106
|
+
* skip line readable) and `failures` carries the full list.
|
|
107
|
+
*/
|
|
108
|
+
export declare class IncompleteSourceError extends Error {
|
|
109
|
+
readonly failures: FetchFailure[];
|
|
110
|
+
readonly source: string;
|
|
111
|
+
constructor(source: string, failures: FetchFailure[]);
|
|
112
|
+
}
|
|
113
|
+
/** Throw an {@link IncompleteSourceError} when `failures` is non-empty. */
|
|
114
|
+
export declare function throwIfIncomplete(source: string, failures: FetchFailure[]): void;
|
|
115
|
+
/** Minimal query surface shared by `conn` (REST) and `conn.tooling`. */
|
|
116
|
+
export interface SoqlApi {
|
|
117
|
+
query(soql: string): PromiseLike<unknown>;
|
|
118
|
+
queryMore?(locatorOrUrl: string): PromiseLike<unknown>;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Drain a SOQL query across ALL pages, re-trying each page fetch. Throws
|
|
122
|
+
* `"<label> drain truncated after N rows (P pages): <cause>"` when a page
|
|
123
|
+
* still fails — rows already yielded stay yielded, so callers keep what was
|
|
124
|
+
* fetched and the truncation still surfaces.
|
|
125
|
+
*/
|
|
126
|
+
export declare function drainSoqlPages<T>(api: SoqlApi, soql: string, label: string, schedule: <R>(fn: () => Promise<R>) => Promise<R>, opts?: RetryOptions): AsyncIterable<T>;
|
|
127
|
+
/** Collect {@link drainSoqlPages} into an array. */
|
|
128
|
+
export declare function querySoqlAll<T>(api: SoqlApi, soql: string, label: string, schedule: <R>(fn: () => Promise<R>) => Promise<R>, opts?: RetryOptions): Promise<T[]>;
|
|
129
|
+
/**
|
|
130
|
+
* Run `it` to completion, recording a thrown error into `failures` (as
|
|
131
|
+
* `name`) instead of propagating it. Used to wrap sub-streams fed to
|
|
132
|
+
* `mergeAsyncIterablesParallel`, which otherwise treats a rejected
|
|
133
|
+
* sub-iterator as silently "done".
|
|
134
|
+
*/
|
|
135
|
+
export declare function catchInto<T>(name: string, it: AsyncIterable<T>, failures: FetchFailure[]): AsyncIterable<T>;
|
|
136
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/extractors/live-org/retry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared retry / pagination / incomplete-source helpers for live-org
|
|
3
|
+
* extractors.
|
|
4
|
+
*
|
|
5
|
+
* Background (large live-org ingest, 2026-10): several extractors wrapped
|
|
6
|
+
* their network calls in `catch {}` / `catch { continue }` and dropped data
|
|
7
|
+
* silently, so a source that lost thousands of members still logged `✓` and
|
|
8
|
+
* the run reported `skips=0`. The contract now:
|
|
9
|
+
*
|
|
10
|
+
* 1. Every network call that fetches data is retried with backoff
|
|
11
|
+
* ({@link withRetry}). Stop-waiting (wedge cap-eviction) and read-only
|
|
12
|
+
* violations are never retried.
|
|
13
|
+
* 2. Whatever still fails after retries is collected and, once the source
|
|
14
|
+
* has yielded everything it could fetch, re-thrown as an
|
|
15
|
+
* {@link IncompleteSourceError} naming the lost members. The
|
|
16
|
+
* bulk-retrieve `failSoft` wrapper turns that into a skip entry keyed by
|
|
17
|
+
* the source label, so `--retry-skipped` re-runs the source.
|
|
18
|
+
* 3. SOQL reads drain every page ({@link drainSoqlPages}); a plain
|
|
19
|
+
* `await conn.query(soql)` in jsforce 3 returns ONLY the first batch
|
|
20
|
+
* (autoFetch defaults to false).
|
|
21
|
+
*/
|
|
22
|
+
import { ReadOnlyViolationError } from "./errors.js";
|
|
23
|
+
import { StopWaitingError, soqlWithTimeout } from "./rate-limit.js";
|
|
24
|
+
/** Upper bound on retries, whatever the source (env or option). */
|
|
25
|
+
export const MAX_RETRIES = 10;
|
|
26
|
+
/** Upper bound on a single backoff sleep. Without it `base * 2^attempt`
|
|
27
|
+
* grows to hours and then overflows setTimeout (Node clamps to 1 ms). */
|
|
28
|
+
export const MAX_RETRY_DELAY_MS = 30_000;
|
|
29
|
+
const warnedEnv = new Set();
|
|
30
|
+
/** Strict non-negative integer env read: `"2s"` / `"1e3"` / `"-1"` are
|
|
31
|
+
* rejected (with a one-time warning) instead of parseInt-truncated. */
|
|
32
|
+
export function envInt(name) {
|
|
33
|
+
const raw = process.env[name];
|
|
34
|
+
if (raw === undefined || raw === "")
|
|
35
|
+
return undefined;
|
|
36
|
+
const trimmed = raw.trim();
|
|
37
|
+
if (/^\d+$/.test(trimmed))
|
|
38
|
+
return Number(trimmed);
|
|
39
|
+
if (!warnedEnv.has(name)) {
|
|
40
|
+
warnedEnv.add(name);
|
|
41
|
+
console.warn(`sfgraph: ignoring ${name}=${JSON.stringify(raw)} (expected a non-negative integer)`);
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
/** Production base backoff (2 s, doubling: 2 + 4 + 8 s over 3 retries). */
|
|
46
|
+
export const DEFAULT_RETRY_BACKOFF_MS = 2_000;
|
|
47
|
+
let moduleBackoffMs;
|
|
48
|
+
/**
|
|
49
|
+
* Module-level override of the base backoff for callers that can't thread
|
|
50
|
+
* {@link RetryOptions} through (e.g. tests driving the whole live ingest).
|
|
51
|
+
* Pass `undefined` to restore the default.
|
|
52
|
+
*/
|
|
53
|
+
export function setRetryBackoffMs(ms) {
|
|
54
|
+
moduleBackoffMs = ms;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Base backoff resolution, first match wins:
|
|
58
|
+
* 1. explicit `retryBackoffMs` option
|
|
59
|
+
* 2. module override ({@link setRetryBackoffMs})
|
|
60
|
+
* 3. env `SFGRAPH_LIVE_RETRY_BASE_MS`, then `SFGRAPH_FETCH_RETRY_BACKOFF_MS`
|
|
61
|
+
* (valid non-negative integers only)
|
|
62
|
+
* 4. 0 — ONLY when `VITEST` is set AND none of 1-3 applies
|
|
63
|
+
* 5. {@link DEFAULT_RETRY_BACKOFF_MS}
|
|
64
|
+
*
|
|
65
|
+
* The vitest 0 exists so mocked-org suites never sleep through retries. It is
|
|
66
|
+
* deliberately the LAST override: any process that inherits `VITEST` but
|
|
67
|
+
* talks to a real org (e.g. an e2e test spawning the CLI) gets real backoff
|
|
68
|
+
* back by setting `SFGRAPH_LIVE_RETRY_BASE_MS` (e.g. to 2000) — an explicit
|
|
69
|
+
* env value always beats the vitest default (review M4).
|
|
70
|
+
*/
|
|
71
|
+
function defaultBackoffMs() {
|
|
72
|
+
return (moduleBackoffMs ??
|
|
73
|
+
envInt("SFGRAPH_LIVE_RETRY_BASE_MS") ??
|
|
74
|
+
envInt("SFGRAPH_FETCH_RETRY_BACKOFF_MS") ??
|
|
75
|
+
(process.env.VITEST ? 0 : DEFAULT_RETRY_BACKOFF_MS));
|
|
76
|
+
}
|
|
77
|
+
export function resolveRetryOptions(opts = {}) {
|
|
78
|
+
return {
|
|
79
|
+
retries: Math.min(MAX_RETRIES, Math.max(0, opts.retries ?? envInt("SFGRAPH_FETCH_RETRIES") ?? 3)),
|
|
80
|
+
retryBackoffMs: Math.max(0, opts.retryBackoffMs ?? defaultBackoffMs()),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/** Errors that must not be re-tried: the source was told to stop waiting
|
|
84
|
+
* (wedge cap-eviction), the read-only guard refused the call, or the org
|
|
85
|
+
* rejected the request outright ({@link isOrgRejection}). */
|
|
86
|
+
export function isNonRetryable(e) {
|
|
87
|
+
return e instanceof StopWaitingError || e instanceof ReadOnlyViolationError || isOrgRejection(e);
|
|
88
|
+
}
|
|
89
|
+
/** Sleep before retry `attempt` (0-based): base doubling per attempt, capped
|
|
90
|
+
* at {@link MAX_RETRY_DELAY_MS}. */
|
|
91
|
+
export function retryDelayMs(baseMs, attempt) {
|
|
92
|
+
return Math.min(MAX_RETRY_DELAY_MS, baseMs * 2 ** attempt);
|
|
93
|
+
}
|
|
94
|
+
/** Run `fn`, re-trying failures with exponential backoff. `fn` must create a
|
|
95
|
+
* fresh request per call (jsforce Query objects are single-shot). */
|
|
96
|
+
export async function withRetry(fn, opts = {}) {
|
|
97
|
+
const { retries, retryBackoffMs } = resolveRetryOptions(opts);
|
|
98
|
+
for (let attempt = 0;; attempt += 1) {
|
|
99
|
+
try {
|
|
100
|
+
return await fn();
|
|
101
|
+
}
|
|
102
|
+
catch (e) {
|
|
103
|
+
if (attempt >= retries || isNonRetryable(e))
|
|
104
|
+
throw e;
|
|
105
|
+
const delay = retryDelayMs(retryBackoffMs, attempt);
|
|
106
|
+
if (delay > 0)
|
|
107
|
+
await new Promise((r) => setTimeout(r, delay));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* The org rejected the request itself (unknown type/object/field, no access).
|
|
113
|
+
* Re-trying cannot help and the member is not fetchable at all, so callers
|
|
114
|
+
* treat it as "nothing to fetch" rather than as lost data.
|
|
115
|
+
*/
|
|
116
|
+
export function isOrgRejection(e) {
|
|
117
|
+
const msg = e instanceof Error
|
|
118
|
+
? `${e.errorCode ?? ""} ${e.name} ${e.message}`
|
|
119
|
+
: String(e);
|
|
120
|
+
return /INVALID_TYPE|INSUFFICIENT_ACCESS|INVALID_FIELD|not a valid metadata type|is not supported|UNSUPPORTED_API_VERSION/i.test(msg);
|
|
121
|
+
}
|
|
122
|
+
/*
|
|
123
|
+
* `unreadable` = "the org refuses this deterministically; do not auto-retry
|
|
124
|
+
* it within this run" (it stays in the skip report and an explicit
|
|
125
|
+
* `--retry-skipped` re-runs it). The bar is deliberately high: an error is a
|
|
126
|
+
* refusal ONLY when
|
|
127
|
+
* (a) it is a recognised deterministic org rejection (allowlist below), or
|
|
128
|
+
* (b) the SAME `UNKNOWN_EXCEPTION` came back on
|
|
129
|
+
* {@link UNKNOWN_EXCEPTION_CONFIRM_ATTEMPTS} attempts spaced by growing
|
|
130
|
+
* backoff (>= ~10 s in production, see singleItemConfirmDelaysMs).
|
|
131
|
+
* Everything else is ALWAYS transient however often it repeats: HTTP errors
|
|
132
|
+
* (jsforce `ERROR_HTTP_<status>` — 5xx / 408 / 429, html maintenance pages),
|
|
133
|
+
* any fault code not listed here, session / lock / rate-limit faults, and
|
|
134
|
+
* code-less client errors (network, timeouts). (Review C1 / I1.)
|
|
135
|
+
*/
|
|
136
|
+
/**
|
|
137
|
+
* Fault codes that mean the org rejects THIS request as malformed for it,
|
|
138
|
+
* on every call:
|
|
139
|
+
* - INVALID_TYPE: the type/sObject does not exist (or is not readable) here.
|
|
140
|
+
* - INVALID_FIELD: a field the request names does not exist.
|
|
141
|
+
* - INVALID_CROSS_REFERENCE_KEY: the member references an id that does not
|
|
142
|
+
* resolve (large live org, NetworkBranding: identical on 9 reads over 3 rounds).
|
|
143
|
+
* - UNSUPPORTED_API_VERSION: the API version cannot serve this type.
|
|
144
|
+
* INSUFFICIENT_ACCESS is deliberately absent: a permission grant fixes it, so
|
|
145
|
+
* it keeps its own `insufficient_access` skip category and remediation.
|
|
146
|
+
*/
|
|
147
|
+
const DETERMINISTIC_REJECTION_CODES = new Set([
|
|
148
|
+
"INVALID_TYPE",
|
|
149
|
+
"INVALID_FIELD",
|
|
150
|
+
"INVALID_CROSS_REFERENCE_KEY",
|
|
151
|
+
"UNSUPPORTED_API_VERSION",
|
|
152
|
+
]);
|
|
153
|
+
/**
|
|
154
|
+
* Deterministic rejections the Metadata API reports under a generic code
|
|
155
|
+
* (usually UNKNOWN_EXCEPTION), recognised by their message:
|
|
156
|
+
* - "invalid ID field": a server-side internal SOQL on a Data Cloud object
|
|
157
|
+
* (DataStreamDefinition / ObjectSourceTargetMap on a large live org).
|
|
158
|
+
* - "Invalid input. See <X> documentation.": the type cannot be listed this
|
|
159
|
+
* way (ManagedTopic; its container ManagedTopics can).
|
|
160
|
+
* - "targetObject is invalid": a QuickAction whose target cannot be resolved.
|
|
161
|
+
* - "not a valid metadata type": the type cannot be read/listed under that
|
|
162
|
+
* name (e.g. bare `Settings` — an extractor routing problem, but the org's
|
|
163
|
+
* answer will not change on retry).
|
|
164
|
+
*/
|
|
165
|
+
const DETERMINISTIC_REJECTION_MESSAGES = [
|
|
166
|
+
/\binvalid ID field\b/i,
|
|
167
|
+
/\bInvalid input\. See \w+ documentation\b/i,
|
|
168
|
+
/\btargetObject is invalid\b/i,
|
|
169
|
+
/\bnot a valid metadata type\b/i,
|
|
170
|
+
];
|
|
171
|
+
/** Identical UNKNOWN_EXCEPTION attempts that confirm a refusal. */
|
|
172
|
+
export const UNKNOWN_EXCEPTION_CONFIRM_ATTEMPTS = 3;
|
|
173
|
+
/**
|
|
174
|
+
* Backoff before re-try 2 and 3 of a single-item read: one doubling step
|
|
175
|
+
* ahead of {@link withRetry}'s schedule (4 s then 8 s at the 2 s production
|
|
176
|
+
* base = 12 s), so a gack is only confirmed after it outlived a short
|
|
177
|
+
* server-side incident.
|
|
178
|
+
*/
|
|
179
|
+
export function singleItemConfirmDelaysMs(baseMs) {
|
|
180
|
+
return [retryDelayMs(baseMs, 1), retryDelayMs(baseMs, 2)];
|
|
181
|
+
}
|
|
182
|
+
/** The fault code an error carries (`sf:UNKNOWN_EXCEPTION` →
|
|
183
|
+
* `UNKNOWN_EXCEPTION`, `ERROR_HTTP_503` as is), from jsforce's `errorCode`
|
|
184
|
+
* or a `CODE:` message prefix. Undefined for code-less client errors. */
|
|
185
|
+
function faultCode(e) {
|
|
186
|
+
if (!(e instanceof Error))
|
|
187
|
+
return undefined;
|
|
188
|
+
const raw = e.errorCode;
|
|
189
|
+
if (typeof raw === "string") {
|
|
190
|
+
const code = raw.replace(/^sf:/, "");
|
|
191
|
+
if (/^[A-Z][A-Z0-9_]+$/.test(code))
|
|
192
|
+
return code;
|
|
193
|
+
}
|
|
194
|
+
return /^([A-Z][A-Z0-9_]{2,}):/.exec(e.message)?.[1];
|
|
195
|
+
}
|
|
196
|
+
function isHttpError(code) {
|
|
197
|
+
return code !== undefined && /^ERROR_HTTP_\d+$/.test(code);
|
|
198
|
+
}
|
|
199
|
+
/** Gack messages carry a fresh ErrorId per call; with a trailing stack hash
|
|
200
|
+
* `(-?\d+)` the hash identifies the failure, so drop the id. Without a hash
|
|
201
|
+
* keep the whole message: two different gacks must not compare equal (M1). */
|
|
202
|
+
function normaliseGack(msg) {
|
|
203
|
+
return msg
|
|
204
|
+
.replace(/(ErrorId if you contact support:\s*)[\w-]+(\s*\(-?\d+\))/gi, (_m, pre, hash) => `${pre}<id>${hash}`)
|
|
205
|
+
.trim();
|
|
206
|
+
}
|
|
207
|
+
/** Session / lock / rate-limit / server-busy fault codes, and Node network
|
|
208
|
+
* error codes: always transient, whatever their message says. */
|
|
209
|
+
const TRANSIENT_CODE = /SESSION|LOCK|LIMIT_EXCEEDED|RATE_LIMIT|TOO_MANY|CONCURRENT|SERVER_UNAVAILABLE|RUNNING_TOO_LONG|TIMEOUT|TIMED_OUT|^E[A-Z]{3,}$/;
|
|
210
|
+
/** Network / timeout wording of code-less errors (jsforce, Node, our own
|
|
211
|
+
* withTimeout): always transient. */
|
|
212
|
+
const TRANSIENT_MESSAGE = /\b(ECONN\w*|ETIMEDOUT|ENOTFOUND|EAI_AGAIN|EPIPE|EHOSTUNREACH|ENETUNREACH)\b|socket hang up|network|timed? ?out\b|timeout/i;
|
|
213
|
+
/** True when the message allowlist may be consulted for this error (review
|
|
214
|
+
* N4): never for an HTTP error, a transient fault code, or a code-less
|
|
215
|
+
* network / timeout error — those stay transient even if their text
|
|
216
|
+
* happens to contain an allowlisted phrase. */
|
|
217
|
+
function messagePatternsApply(code, msg) {
|
|
218
|
+
if (code === undefined)
|
|
219
|
+
return !TRANSIENT_MESSAGE.test(msg);
|
|
220
|
+
return !isHttpError(code) && !TRANSIENT_CODE.test(code);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Signature of a recognised deterministic rejection, else undefined. The
|
|
224
|
+
* signature is the code plus the full (ErrorId-normalised) message — not
|
|
225
|
+
* the matched pattern — so ten QuickActions refused for ten DIFFERENT
|
|
226
|
+
* targets are ten signatures, not one (review N1b).
|
|
227
|
+
*/
|
|
228
|
+
function deterministicRejection(e) {
|
|
229
|
+
if (!(e instanceof Error))
|
|
230
|
+
return undefined;
|
|
231
|
+
const code = faultCode(e);
|
|
232
|
+
if (isHttpError(code))
|
|
233
|
+
return undefined;
|
|
234
|
+
const sig = `${code ?? ""}|${normaliseGack(e.message)}`;
|
|
235
|
+
if (code && DETERMINISTIC_REJECTION_CODES.has(code))
|
|
236
|
+
return sig;
|
|
237
|
+
if (!messagePatternsApply(code, e.message))
|
|
238
|
+
return undefined;
|
|
239
|
+
return DETERMINISTIC_REJECTION_MESSAGES.some((re) => re.test(e.message)) ? sig : undefined;
|
|
240
|
+
}
|
|
241
|
+
/** Signature of an UNKNOWN_EXCEPTION gack (normalised), else undefined. */
|
|
242
|
+
function gackSignature(e) {
|
|
243
|
+
if (!(e instanceof Error) || faultCode(e) !== "UNKNOWN_EXCEPTION")
|
|
244
|
+
return undefined;
|
|
245
|
+
return `UNKNOWN_EXCEPTION|${normaliseGack(e.message)}`;
|
|
246
|
+
}
|
|
247
|
+
/** True when `e` is a recognised deterministic org rejection: re-trying it
|
|
248
|
+
* cannot help, so callers stop re-trying at once. */
|
|
249
|
+
export function isDeterministicRejection(e) {
|
|
250
|
+
return deterministicRejection(e) !== undefined;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* True when at least {@link UNKNOWN_EXCEPTION_CONFIRM_ATTEMPTS} attempts all
|
|
254
|
+
* failed with the SAME UNKNOWN_EXCEPTION (ErrorId-normalised when hashed).
|
|
255
|
+
*/
|
|
256
|
+
export function isSameRefusal(errors) {
|
|
257
|
+
if (errors.length < UNKNOWN_EXCEPTION_CONFIRM_ATTEMPTS)
|
|
258
|
+
return false;
|
|
259
|
+
const first = gackSignature(errors[0]);
|
|
260
|
+
return first !== undefined && errors.every((e) => gackSignature(e) === first);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* A member (or type listing) the org refuses deterministically (see the
|
|
264
|
+
* rules above). Re-running within the same ingest cannot recover it, so the
|
|
265
|
+
* skip report files it under `unreadable`: listed with the error, not
|
|
266
|
+
* auto-retried, re-run by an explicit `--retry-skipped`. Message / errorCode
|
|
267
|
+
* are the cause's.
|
|
268
|
+
*/
|
|
269
|
+
export class PlatformRefusalError extends Error {
|
|
270
|
+
unreadable = true;
|
|
271
|
+
errorCode;
|
|
272
|
+
constructor(cause) {
|
|
273
|
+
super(errMessage(cause), { cause });
|
|
274
|
+
this.name = "PlatformRefusalError";
|
|
275
|
+
this.errorCode = cause?.errorCode;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
export function isPlatformRefusal(e) {
|
|
279
|
+
return e instanceof PlatformRefusalError;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* A whole type the extractor stopped reading after its first
|
|
283
|
+
* {@link UNREADABLE_EARLY_STOP} members were all refused with the same
|
|
284
|
+
* signature: `unreadCount` members were never requested. Filed under
|
|
285
|
+
* `unreadable` like the per-member refusals; message / errorCode are those
|
|
286
|
+
* of the shared refusal.
|
|
287
|
+
*/
|
|
288
|
+
export class TypeUnreadableError extends PlatformRefusalError {
|
|
289
|
+
unreadCount;
|
|
290
|
+
constructor(cause, unreadCount) {
|
|
291
|
+
super(cause instanceof PlatformRefusalError ? (cause.cause ?? cause) : cause);
|
|
292
|
+
this.name = "TypeUnreadableError";
|
|
293
|
+
this.unreadCount = unreadCount;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
/** Members a type must have refused, all with one signature, before the
|
|
297
|
+
* generic extractor stops reading the rest of it. */
|
|
298
|
+
export const UNREADABLE_EARLY_STOP = 10;
|
|
299
|
+
/** Signature of an unreadable member's refusal (the same deterministic
|
|
300
|
+
* rejection, or the same confirmed gack), or undefined when `e` is not a
|
|
301
|
+
* platform refusal. */
|
|
302
|
+
export function unreadableSignature(e) {
|
|
303
|
+
if (!isPlatformRefusal(e))
|
|
304
|
+
return undefined;
|
|
305
|
+
const cause = e.cause ?? e;
|
|
306
|
+
return deterministicRejection(cause) ?? gackSignature(cause);
|
|
307
|
+
}
|
|
308
|
+
/** Wrap `e` as a {@link PlatformRefusalError} (idempotent). */
|
|
309
|
+
export function asPlatformRefusal(e) {
|
|
310
|
+
return e instanceof PlatformRefusalError ? e : new PlatformRefusalError(e);
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Classify the final error of a fetch that was attempted `attempts` times:
|
|
314
|
+
* a recognised deterministic rejection, or the same UNKNOWN_EXCEPTION on
|
|
315
|
+
* every one of at least 3 attempts, becomes a {@link PlatformRefusalError};
|
|
316
|
+
* anything else is returned unchanged and stays retryable.
|
|
317
|
+
*/
|
|
318
|
+
export function classifyFinalError(attempts) {
|
|
319
|
+
const last = attempts[attempts.length - 1];
|
|
320
|
+
if (last instanceof StopWaitingError || last instanceof ReadOnlyViolationError)
|
|
321
|
+
return last;
|
|
322
|
+
if (isDeterministicRejection(last))
|
|
323
|
+
return asPlatformRefusal(last);
|
|
324
|
+
return isSameRefusal(attempts) ? asPlatformRefusal(last) : last;
|
|
325
|
+
}
|
|
326
|
+
function errMessage(e) {
|
|
327
|
+
return e instanceof Error ? e.message : String(e);
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Thrown by an extractor AFTER it yielded everything it could fetch, when
|
|
331
|
+
* some members were lost. The message names them (truncated to keep the
|
|
332
|
+
* skip line readable) and `failures` carries the full list.
|
|
333
|
+
*/
|
|
334
|
+
export class IncompleteSourceError extends Error {
|
|
335
|
+
failures;
|
|
336
|
+
source;
|
|
337
|
+
constructor(source, failures) {
|
|
338
|
+
const MAX_NAMES = 25;
|
|
339
|
+
const names = failures.map((f) => f.name);
|
|
340
|
+
const shown = names.slice(0, MAX_NAMES).join(", ");
|
|
341
|
+
const more = names.length > MAX_NAMES ? ` (+${names.length - MAX_NAMES} more)` : "";
|
|
342
|
+
const first = failures[0] ? errMessage(failures[0].error) : "";
|
|
343
|
+
super(`${source}: ${failures.length} member(s) not fetched after retries: ${shown}${more}; first error: ${first}`, { cause: failures[0]?.error });
|
|
344
|
+
this.name = "IncompleteSourceError";
|
|
345
|
+
this.failures = failures;
|
|
346
|
+
this.source = source;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
/** Throw an {@link IncompleteSourceError} when `failures` is non-empty. */
|
|
350
|
+
export function throwIfIncomplete(source, failures) {
|
|
351
|
+
if (failures.length > 0)
|
|
352
|
+
throw new IncompleteSourceError(source, failures);
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Drain a SOQL query across ALL pages, re-trying each page fetch. Throws
|
|
356
|
+
* `"<label> drain truncated after N rows (P pages): <cause>"` when a page
|
|
357
|
+
* still fails — rows already yielded stay yielded, so callers keep what was
|
|
358
|
+
* fetched and the truncation still surfaces.
|
|
359
|
+
*/
|
|
360
|
+
export async function* drainSoqlPages(api, soql, label, schedule, opts = {}) {
|
|
361
|
+
let drained = 0;
|
|
362
|
+
let pages = 0;
|
|
363
|
+
const fetchPage = (fn, pageLabel) => withRetry(() => schedule(() => soqlWithTimeout(Promise.resolve(fn()), pageLabel)), opts);
|
|
364
|
+
const fail = (e) => {
|
|
365
|
+
throw new Error(`${label} drain truncated after ${drained} rows (${pages} pages): ${errMessage(e)}`, { cause: e });
|
|
366
|
+
};
|
|
367
|
+
let page = null;
|
|
368
|
+
try {
|
|
369
|
+
page = await fetchPage(() => api.query(soql), label);
|
|
370
|
+
}
|
|
371
|
+
catch (e) {
|
|
372
|
+
fail(e);
|
|
373
|
+
}
|
|
374
|
+
while (page) {
|
|
375
|
+
pages += 1;
|
|
376
|
+
for (const r of page.records ?? []) {
|
|
377
|
+
drained += 1;
|
|
378
|
+
yield r;
|
|
379
|
+
}
|
|
380
|
+
if (page.done || !page.nextRecordsUrl || typeof api.queryMore !== "function")
|
|
381
|
+
break;
|
|
382
|
+
const url = page.nextRecordsUrl;
|
|
383
|
+
const more = api.queryMore.bind(api);
|
|
384
|
+
try {
|
|
385
|
+
page = await fetchPage(() => more(url), `${label} more`);
|
|
386
|
+
}
|
|
387
|
+
catch (e) {
|
|
388
|
+
fail(e);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
/** Collect {@link drainSoqlPages} into an array. */
|
|
393
|
+
export async function querySoqlAll(api, soql, label, schedule, opts = {}) {
|
|
394
|
+
const out = [];
|
|
395
|
+
for await (const r of drainSoqlPages(api, soql, label, schedule, opts))
|
|
396
|
+
out.push(r);
|
|
397
|
+
return out;
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Run `it` to completion, recording a thrown error into `failures` (as
|
|
401
|
+
* `name`) instead of propagating it. Used to wrap sub-streams fed to
|
|
402
|
+
* `mergeAsyncIterablesParallel`, which otherwise treats a rejected
|
|
403
|
+
* sub-iterator as silently "done".
|
|
404
|
+
*/
|
|
405
|
+
export async function* catchInto(name, it, failures) {
|
|
406
|
+
try {
|
|
407
|
+
yield* it;
|
|
408
|
+
}
|
|
409
|
+
catch (e) {
|
|
410
|
+
if (e instanceof IncompleteSourceError)
|
|
411
|
+
failures.push(...e.failures);
|
|
412
|
+
else
|
|
413
|
+
failures.push({ name, error: e });
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/extractors/live-org/retry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RawMember } from "../../interfaces/metadata-source.js";
|
|
2
2
|
import type { OrgCapabilities } from "../capabilities.js";
|
|
3
|
+
import { type RetryOptions } from "../retry.js";
|
|
3
4
|
export interface VlocityTypeDef {
|
|
4
5
|
vlocityDataPackType: string;
|
|
5
6
|
/** Raw SOQL with `%vlocity_namespace%` placeholder. */
|
|
@@ -17,5 +18,5 @@ export declare function loadVlocityRegistry(): Record<string, VlocityTypeDef>;
|
|
|
17
18
|
* emit zero edges, so Vlocity nodes exist in the graph but have no
|
|
18
19
|
* relationships.
|
|
19
20
|
*/
|
|
20
|
-
export declare function iterVlocityRecords(conn: any, caps: OrgCapabilities, orgId: string, onError?: (label: string, err: Error) => void): AsyncIterable<RawMember>;
|
|
21
|
+
export declare function iterVlocityRecords(conn: any, caps: OrgCapabilities, orgId: string, onError?: (label: string, err: Error) => void, retryOpts?: RetryOptions): AsyncIterable<RawMember>;
|
|
21
22
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../src/extractors/live-org/vlocity/runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../src/extractors/live-org/vlocity/runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAEL,KAAK,YAAY,EAIlB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,cAAc;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;CACf;AAYD,mEAAmE;AACnE,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAgBpE;AAmKD;;;;;;;;;GASG;AACH,wBAAuB,kBAAkB,CACvC,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,EAC7C,SAAS,GAAE,YAAiB,GAC3B,aAAa,CAAC,SAAS,CAAC,CAwL1B"}
|