@ryanstark24/sfgraph-core 1.2.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 +51 -3
- package/dist/analyze/audit-graph.d.ts.map +1 -1
- package/dist/analyze/audit-graph.js +382 -14
- 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 +21 -2
- package/dist/analyze/dependencies.d.ts.map +1 -1
- package/dist/analyze/dependencies.js +102 -12
- package/dist/analyze/dependencies.js.map +1 -1
- package/dist/analyze/dependents.d.ts +116 -1
- package/dist/analyze/dependents.d.ts.map +1 -1
- package/dist/analyze/dependents.js +285 -13
- 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 +62 -0
- package/dist/analyze/edge-filters.d.ts.map +1 -0
- package/dist/analyze/edge-filters.js +127 -0
- package/dist/analyze/edge-filters.js.map +1 -0
- 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 +1 -1
- package/dist/analyze/findings.d.ts.map +1 -1
- package/dist/analyze/findings.js +15 -3
- 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 +203 -58
- 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 +17 -0
- package/dist/analyze/security.d.ts.map +1 -1
- package/dist/analyze/security.js +103 -18
- 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 -116
- 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/metadata-category.d.ts +1 -0
- package/dist/domain/metadata-category.d.ts.map +1 -1
- package/dist/domain/metadata-category.js +1 -0
- package/dist/domain/metadata-category.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 +207 -29
- 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 +40 -0
- package/dist/extractors/interfaces/metadata-source.d.ts.map +1 -1
- package/dist/extractors/live-org/bulk-retrieve.d.ts +206 -1
- package/dist/extractors/live-org/bulk-retrieve.d.ts.map +1 -1
- package/dist/extractors/live-org/bulk-retrieve.js +706 -94
- 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 +171 -75
- package/dist/extractors/live-org/extractors/apex.js.map +1 -1
- package/dist/extractors/live-org/extractors/custom-settings.d.ts +4 -0
- package/dist/extractors/live-org/extractors/custom-settings.d.ts.map +1 -0
- package/dist/extractors/live-org/extractors/custom-settings.js +76 -0
- package/dist/extractors/live-org/extractors/custom-settings.js.map +1 -0
- 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/generic-sobject.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 +95 -47
- package/dist/extractors/live-org/extractors/lwc.js.map +1 -1
- package/dist/extractors/live-org/extractors/mcd-baseline.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/mcd-baseline.js +2 -4
- package/dist/extractors/live-org/extractors/mcd-baseline.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-retrieve.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/omnistudio-retrieve.js.map +1 -1
- package/dist/extractors/live-org/extractors/omnistudio.d.ts +11 -1
- package/dist/extractors/live-org/extractors/omnistudio.d.ts.map +1 -1
- package/dist/extractors/live-org/extractors/omnistudio.js +104 -16
- 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 +48 -16
- package/dist/extractors/live-org/rate-limit.d.ts.map +1 -1
- package/dist/extractors/live-org/rate-limit.js +235 -40
- 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 +124 -72
- 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 +79 -0
- package/dist/ingest/detect-deletions-guard.d.ts.map +1 -0
- package/dist/ingest/detect-deletions-guard.js +122 -0
- package/dist/ingest/detect-deletions-guard.js.map +1 -0
- 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 +180 -0
- package/dist/ingest/live-ingest.d.ts.map +1 -1
- package/dist/ingest/live-ingest.js +1617 -625
- 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 +128 -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 +1073 -172
- 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 +100 -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 +38 -13
- 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 +81 -3
- 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 +354 -12
- 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 +54 -57
- 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 +40 -7
- 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 +6 -6
- 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 +29 -11
- 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 +6 -6
- 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 +6 -6
- 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 +14 -7
- package/dist/parsers/rules/custom-setting.yml +24 -0
- 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 +72 -1
- package/dist/parsers/vlocity/common.d.ts.map +1 -1
- package/dist/parsers/vlocity/common.js +332 -2
- 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 +148 -17
- 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/render/sarif.d.ts.map +1 -1
- package/dist/render/sarif.js +1 -3
- package/dist/render/sarif.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 +212 -1
- package/dist/storage/interfaces.d.ts.map +1 -1
- package/dist/storage/sqlite/graph-store.d.ts +366 -3
- package/dist/storage/sqlite/graph-store.d.ts.map +1 -1
- package/dist/storage/sqlite/graph-store.js +1755 -68
- 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 +245 -11
- package/dist/storage/sqlite/migrations.js.map +1 -1
- package/dist/storage/sqlite/rename-stability.d.ts +1 -1
- package/dist/storage/sqlite/rename-stability.d.ts.map +1 -1
- package/dist/storage/sqlite/rename-stability.js +2 -6
- package/dist/storage/sqlite/rename-stability.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 -122
- 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__/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 -90
- 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 -70
- 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__/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__/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 -312
- 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 -174
- 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 -75
- 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 -78
- 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__/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/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 -200
- 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.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__/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/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__/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 -44
- 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 -146
- 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 -54
- 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 -109
- 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 -146
- package/dist/parsers/apex/__tests__/ast-extractor.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 -54
- 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/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 -129
- 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 -132
- 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__/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
|
@@ -1,7 +1,46 @@
|
|
|
1
|
+
import { AsyncLocalStorage, AsyncResource } from "node:async_hooks";
|
|
1
2
|
import Bottleneck from "bottleneck";
|
|
2
3
|
import pLimit from "p-limit";
|
|
4
|
+
// Cycle-safe: retry.ts only uses rate-limit exports inside function bodies.
|
|
5
|
+
import { classifyFinalError, isDeterministicRejection, isNonRetryable, resolveRetryOptions, singleItemConfirmDelaysMs, } from "./retry.js";
|
|
3
6
|
/** Cap concurrent query invocations against a single org connection. */
|
|
4
7
|
export const queryLimit = pLimit(5);
|
|
8
|
+
/** Typed sentinel surfaced by the rate-limit wrappers when a stop-signal
|
|
9
|
+
* is observed mid-race. Distinct from a real timeout so callers (e.g. the
|
|
10
|
+
* late-drain loop in bulk-retrieve.ts) can branch on the kind of failure.
|
|
11
|
+
*
|
|
12
|
+
* This is a voluntary stop on the caller side — it is NOT a wedge, and it
|
|
13
|
+
* is NOT proof that the underlying HTTP request was cancelled (see
|
|
14
|
+
* socket-leak limitation above). */
|
|
15
|
+
export class StopWaitingError extends Error {
|
|
16
|
+
stopWaiting = true;
|
|
17
|
+
constructor(label) {
|
|
18
|
+
super(`stop-waiting: source "${label}" was instructed to stop awaiting an in-flight request`);
|
|
19
|
+
this.name = "StopWaitingError";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/** How often a wrapper polls the stop-signal flag while racing the underlying
|
|
23
|
+
* promise. 50ms gives sub-100ms median latency from flip to rejection
|
|
24
|
+
* without burning the event loop. Tests can squeeze via env if needed. */
|
|
25
|
+
const STOP_WAITING_POLL_MS = 50;
|
|
26
|
+
/**
|
|
27
|
+
* AsyncLocalStorage context channel — the merger's `failSoft` wrapper
|
|
28
|
+
* `.run()`s the body inside `stopSignalContext.run(stopSignal, ...)` so any
|
|
29
|
+
* downstream call into a rate-limit wrapper that did not receive an
|
|
30
|
+
* explicit stopSignal can still pick one up. Tradeoff: implicit, but the
|
|
31
|
+
* alternative is threading a new optional param through every extractor
|
|
32
|
+
* signature (~13 files). Documented as a deviation in the W1.5-03 SUMMARY.
|
|
33
|
+
*/
|
|
34
|
+
export const stopSignalContext = new AsyncLocalStorage();
|
|
35
|
+
/** Pick up a stop-signal from either the explicit arg or the async context.
|
|
36
|
+
* Explicit always wins. Returns `undefined` when neither is present, which
|
|
37
|
+
* keeps the existing fast path (no extra setTimeout) for callers that have
|
|
38
|
+
* not opted in. */
|
|
39
|
+
function resolveStopSignal(explicit) {
|
|
40
|
+
if (explicit)
|
|
41
|
+
return explicit;
|
|
42
|
+
return stopSignalContext.getStore();
|
|
43
|
+
}
|
|
5
44
|
/**
|
|
6
45
|
* Hard upper bound on a single jsforce call. Used to wrap metadata.list /
|
|
7
46
|
* metadata.read calls in extractors so a Salesforce-side stall can't park
|
|
@@ -9,17 +48,46 @@ export const queryLimit = pLimit(5);
|
|
|
9
48
|
* Rejects with a descriptive error after `ms`; the failSoft wrapper one
|
|
10
49
|
* level up surfaces it as a skip. The underlying jsforce HTTP request may
|
|
11
50
|
* continue until libuv tears it down — we just stop waiting.
|
|
51
|
+
*
|
|
52
|
+
* Phase 1.5 W1.5-03: accepts an optional `stopSignal` cell. When the cell's
|
|
53
|
+
* `.value` flips to `true` mid-race, the timer is cleared and the returned
|
|
54
|
+
* promise rejects with `StopWaitingError`. The underlying jsforce request
|
|
55
|
+
* is NOT cancelled — see the socket-leak limitation block at the top of
|
|
56
|
+
* this file.
|
|
12
57
|
*/
|
|
13
|
-
export function withTimeout(p, ms, label) {
|
|
58
|
+
export function withTimeout(p, ms, label, stopSignal) {
|
|
59
|
+
const signal = resolveStopSignal(stopSignal);
|
|
14
60
|
return new Promise((resolve, reject) => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
61
|
+
let settled = false;
|
|
62
|
+
const finish = (fn) => {
|
|
63
|
+
if (settled)
|
|
64
|
+
return;
|
|
65
|
+
settled = true;
|
|
66
|
+
if (timeoutTimer !== undefined)
|
|
67
|
+
clearTimeout(timeoutTimer);
|
|
68
|
+
if (pollTimer !== undefined)
|
|
69
|
+
clearInterval(pollTimer);
|
|
70
|
+
fn();
|
|
71
|
+
};
|
|
72
|
+
const timeoutTimer = setTimeout(() => finish(() => reject(new Error(`${label} timeout (${ms}ms)`))), ms);
|
|
73
|
+
// Stop-waiting poller. Only wired when a signal is in scope — otherwise
|
|
74
|
+
// we keep the original two-promise race and pay zero extra timer cost.
|
|
75
|
+
let pollTimer;
|
|
76
|
+
if (signal) {
|
|
77
|
+
// Fast-path: signal already set at entry. Reject on next tick so the
|
|
78
|
+
// returned promise is well-formed (no synchronous reject before
|
|
79
|
+
// listeners attach).
|
|
80
|
+
if (signal.value) {
|
|
81
|
+
queueMicrotask(() => finish(() => reject(new StopWaitingError(label))));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
pollTimer = setInterval(() => {
|
|
85
|
+
if (signal.value)
|
|
86
|
+
finish(() => reject(new StopWaitingError(label)));
|
|
87
|
+
}, STOP_WAITING_POLL_MS);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
p.then((v) => finish(() => resolve(v)), (e) => finish(() => reject(e)));
|
|
23
91
|
});
|
|
24
92
|
}
|
|
25
93
|
/** Per-call ceilings — kept here so all extractors apply them consistently.
|
|
@@ -47,8 +115,8 @@ export const METADATA_DESCRIBE_TIMEOUT_MS = 60_000;
|
|
|
47
115
|
* with a SOQL-flavoured withTimeout. Centralizes the timeout value so
|
|
48
116
|
* callers don't drift; centralizes the label format so failures are
|
|
49
117
|
* greppable. */
|
|
50
|
-
export function soqlWithTimeout(p, label, ms = SOQL_TIMEOUT_MS) {
|
|
51
|
-
return withTimeout(p, ms, `soql ${label}
|
|
118
|
+
export function soqlWithTimeout(p, label, ms = SOQL_TIMEOUT_MS, stopSignal) {
|
|
119
|
+
return withTimeout(p, ms, `soql ${label}`, stopSignal);
|
|
52
120
|
}
|
|
53
121
|
/**
|
|
54
122
|
* Resilient metadata.read for a batch of items, with adaptive splitting on
|
|
@@ -85,7 +153,7 @@ export const METADATA_READ_BATCH_SIZE = (() => {
|
|
|
85
153
|
const env = Number.parseInt(process.env.SFGRAPH_METADATA_READ_CHUNK_SIZE ?? "", 10);
|
|
86
154
|
return Number.isFinite(env) && env > 0 && env <= 10 ? env : 10;
|
|
87
155
|
})();
|
|
88
|
-
export async function readMetadataBatchAdaptive(conn, type, items, depth = 0) {
|
|
156
|
+
export async function readMetadataBatchAdaptive(conn, type, items, depth = 0, onFailed, singleRetried = false) {
|
|
89
157
|
if (items.length === 0)
|
|
90
158
|
return [];
|
|
91
159
|
// Pre-chunk to the platform's per-call ceiling before doing anything else.
|
|
@@ -98,29 +166,63 @@ export async function readMetadataBatchAdaptive(conn, type, items, depth = 0) {
|
|
|
98
166
|
for (let i = 0; i < items.length; i += METADATA_READ_BATCH_SIZE) {
|
|
99
167
|
chunks.push(items.slice(i, i + METADATA_READ_BATCH_SIZE));
|
|
100
168
|
}
|
|
101
|
-
const partials = await Promise.all(chunks.map((c) => readMetadataBatchAdaptive(conn, type, c, 0)));
|
|
169
|
+
const partials = await Promise.all(chunks.map((c) => readMetadataBatchAdaptive(conn, type, c, 0, onFailed)));
|
|
102
170
|
return partials.flat();
|
|
103
171
|
}
|
|
104
|
-
|
|
172
|
+
const readOnce = async () => {
|
|
105
173
|
const raw = await scheduleMetadata(() => withTimeout(conn.metadata.read(type, items.map((i) => i.fullName)), METADATA_READ_TIMEOUT_MS, `metadata.read ${type}`));
|
|
106
174
|
const arr = Array.isArray(raw) ? raw : raw ? [raw] : [];
|
|
107
175
|
const out = [];
|
|
108
176
|
for (let i = 0; i < items.length; i += 1)
|
|
109
177
|
out.push(arr[i] ?? null);
|
|
110
178
|
return out;
|
|
179
|
+
};
|
|
180
|
+
try {
|
|
181
|
+
return await readOnce();
|
|
111
182
|
}
|
|
112
183
|
catch (e) {
|
|
113
184
|
const isDebug = process.env.SFGRAPH_DEBUG_INGEST === "1";
|
|
114
185
|
const errMsg = e?.message ?? String(e);
|
|
115
|
-
// Single-item slice →
|
|
186
|
+
// Single-item slice → re-try once (a lone transient failure should not
|
|
187
|
+
// lose the record), then a genuine skip that is REPORTED via onFailed.
|
|
116
188
|
if (items.length === 1) {
|
|
189
|
+
// Same contract as withRetry (review M5): never re-try a non-retryable
|
|
190
|
+
// error (stop-waiting, read-only guard, org rejection), and back off
|
|
191
|
+
// one step first so a blip does not fail both attempts.
|
|
192
|
+
// Up to UNKNOWN_EXCEPTION_CONFIRM_ATTEMPTS reads with growing backoff
|
|
193
|
+
// (4 s + 8 s in production): a lone blip recovers, and an identical
|
|
194
|
+
// gack is only believed after it outlived a short server incident
|
|
195
|
+
// (review I1). A recognised deterministic rejection is not re-read.
|
|
196
|
+
const attempts = [e];
|
|
197
|
+
if (!singleRetried) {
|
|
198
|
+
const delays = singleItemConfirmDelaysMs(resolveRetryOptions().retryBackoffMs);
|
|
199
|
+
for (const delay of delays) {
|
|
200
|
+
const last = attempts[attempts.length - 1];
|
|
201
|
+
if (isNonRetryable(last) || isDeterministicRejection(last))
|
|
202
|
+
break;
|
|
203
|
+
if (delay > 0)
|
|
204
|
+
await new Promise((r) => setTimeout(r, delay));
|
|
205
|
+
try {
|
|
206
|
+
return await readOnce();
|
|
207
|
+
}
|
|
208
|
+
catch (e2) {
|
|
209
|
+
attempts.push(e2);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// A recognised deterministic rejection, or the same UNKNOWN_EXCEPTION
|
|
214
|
+
// on every attempt, is reported as `unreadable` (not auto-retried this
|
|
215
|
+
// run); anything else stays a retryable loss.
|
|
216
|
+
const final = classifyFinalError(attempts);
|
|
217
|
+
onFailed?.([items[0]?.fullName ?? "?"], final);
|
|
117
218
|
if (isDebug) {
|
|
118
|
-
console.warn(`metadata.read ${type}: dropping ${items[0]?.fullName ?? "?"} after single-item failure: ${errMsg}`);
|
|
219
|
+
console.warn(`metadata.read ${type}: dropping ${items[0]?.fullName ?? "?"} after single-item failure: ${final?.message ?? errMsg}`);
|
|
119
220
|
}
|
|
120
221
|
return [null];
|
|
121
222
|
}
|
|
122
223
|
// Bisect ceiling → drop the slice to bound wall-clock cost.
|
|
123
224
|
if (depth >= MAX_BISECT_DEPTH) {
|
|
225
|
+
onFailed?.(items.map((i) => i.fullName), e);
|
|
124
226
|
if (isDebug) {
|
|
125
227
|
console.warn(`metadata.read ${type}: bisect depth ceiling (${MAX_BISECT_DEPTH}) reached; dropping ${items.length} record(s): ${items.map((i) => i.fullName).join(",")} (${errMsg})`);
|
|
126
228
|
}
|
|
@@ -128,12 +230,80 @@ export async function readMetadataBatchAdaptive(conn, type, items, depth = 0) {
|
|
|
128
230
|
}
|
|
129
231
|
const mid = Math.ceil(items.length / 2);
|
|
130
232
|
const [left, right] = await Promise.all([
|
|
131
|
-
readMetadataBatchAdaptive(conn, type, items.slice(0, mid), depth + 1),
|
|
132
|
-
readMetadataBatchAdaptive(conn, type, items.slice(mid), depth + 1),
|
|
233
|
+
readMetadataBatchAdaptive(conn, type, items.slice(0, mid), depth + 1, onFailed),
|
|
234
|
+
readMetadataBatchAdaptive(conn, type, items.slice(mid), depth + 1, onFailed),
|
|
133
235
|
]);
|
|
134
236
|
return [...left, ...right];
|
|
135
237
|
}
|
|
136
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* Wrap a Bottleneck-bound factory with stop-waiting semantics.
|
|
241
|
+
*
|
|
242
|
+
* Two distinct fast paths the caller sees:
|
|
243
|
+
*
|
|
244
|
+
* (1) Signal flips while the job is still QUEUED in Bottleneck. The
|
|
245
|
+
* outer race rejects with StopWaitingError quickly; when Bottleneck
|
|
246
|
+
* eventually dequeues the wrapped factory it sees `signal.value` and
|
|
247
|
+
* returns a no-op rejected promise WITHOUT executing the user's
|
|
248
|
+
* callable. No HTTP fires. The queue slot is released cleanly.
|
|
249
|
+
*
|
|
250
|
+
* (2) Signal flips while the job is EXECUTING (HTTP in flight). The
|
|
251
|
+
* outer race rejects with StopWaitingError; the underlying jsforce
|
|
252
|
+
* request continues running until network-layer timeout. This is
|
|
253
|
+
* the documented socket leak. The caller-side Promise reference is
|
|
254
|
+
* released so the merger's `pending` Map can drop the iterator.
|
|
255
|
+
*
|
|
256
|
+
* Bottleneck 2.19.x does not expose a per-job `.cancel()` — see d.ts:602+.
|
|
257
|
+
* Implementing pool-level cancel would require either using
|
|
258
|
+
* Bottleneck.JobOptions's `expiration` (a real wall-clock timeout, not a
|
|
259
|
+
* runtime signal) or stopping the entire pool (`stop()`), neither of which
|
|
260
|
+
* is appropriate here. The pre-execution flag-check is the cleanest
|
|
261
|
+
* surface within the library's actual API.
|
|
262
|
+
*/
|
|
263
|
+
function wrapScheduled(pool, job, stopSignal, label) {
|
|
264
|
+
// Bottleneck starts a queued job from the completion callback of an
|
|
265
|
+
// earlier job, i.e. inside THAT caller's async context. Without binding,
|
|
266
|
+
// a job with no stop signal of its own picks up the earlier caller's
|
|
267
|
+
// signal via stopSignalContext.getStore() — e.g. describeGlobal queued
|
|
268
|
+
// behind a stopped EntityDefinition probe died with StopWaitingError and
|
|
269
|
+
// lost the whole `object` source. Run every job in its scheduler's context.
|
|
270
|
+
const fn = AsyncResource.bind(job);
|
|
271
|
+
if (!stopSignal)
|
|
272
|
+
return pool.schedule(fn);
|
|
273
|
+
const guarded = () => {
|
|
274
|
+
// Pre-execution gate. If the signal was flipped while we were queued,
|
|
275
|
+
// do not fire the underlying call at all. This is the clean queue-
|
|
276
|
+
// cancel path documented in the W1.5-03 plan section.
|
|
277
|
+
if (stopSignal.value)
|
|
278
|
+
return Promise.reject(new StopWaitingError(label));
|
|
279
|
+
return fn();
|
|
280
|
+
};
|
|
281
|
+
const inner = pool.schedule(guarded);
|
|
282
|
+
// Caller-side race: reject quickly when the signal flips, regardless of
|
|
283
|
+
// whether the job is queued or executing. Mirrors withTimeout's poller.
|
|
284
|
+
return new Promise((resolve, reject) => {
|
|
285
|
+
let settled = false;
|
|
286
|
+
const finish = (fn2) => {
|
|
287
|
+
if (settled)
|
|
288
|
+
return;
|
|
289
|
+
settled = true;
|
|
290
|
+
if (pollTimer !== undefined)
|
|
291
|
+
clearInterval(pollTimer);
|
|
292
|
+
fn2();
|
|
293
|
+
};
|
|
294
|
+
let pollTimer;
|
|
295
|
+
if (stopSignal.value) {
|
|
296
|
+
queueMicrotask(() => finish(() => reject(new StopWaitingError(label))));
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
pollTimer = setInterval(() => {
|
|
300
|
+
if (stopSignal.value)
|
|
301
|
+
finish(() => reject(new StopWaitingError(label)));
|
|
302
|
+
}, STOP_WAITING_POLL_MS);
|
|
303
|
+
}
|
|
304
|
+
inner.then((v) => finish(() => resolve(v)), (e) => finish(() => reject(e)));
|
|
305
|
+
});
|
|
306
|
+
}
|
|
137
307
|
function parseRetryAfter(err) {
|
|
138
308
|
if (!err || typeof err !== "object")
|
|
139
309
|
return null;
|
|
@@ -211,6 +381,23 @@ function envOverrides() {
|
|
|
211
381
|
* Concurrency resolution order: explicit `overrides` arg > `SFGRAPH_*_POOL`
|
|
212
382
|
* env vars > {@link DEFAULT_POOL_CONCURRENCY}.
|
|
213
383
|
*/
|
|
384
|
+
/** Per-pool reservoir budget and refill cadence (200 calls / 10s ≈ 20 req/s). */
|
|
385
|
+
const RESERVOIR_SIZE = 200;
|
|
386
|
+
const RESERVOIR_REFILL_MS = 10_000;
|
|
387
|
+
/**
|
|
388
|
+
* Refill a pool's reservoir to {@link RESERVOIR_SIZE} on a self-managed timer.
|
|
389
|
+
* Replaces Bottleneck's built-in `reservoirRefreshInterval`, which is
|
|
390
|
+
* permanently disarmed by any `updateSettings()` call in bottleneck@2.19.5
|
|
391
|
+
* (the cause of a full-run deadlock: reservoir stuck at 0, all API calls
|
|
392
|
+
* queued forever). Setting the absolute reservoir value mirrors refresh
|
|
393
|
+
* semantics; the timer is unref'd so it never keeps the process alive.
|
|
394
|
+
*/
|
|
395
|
+
function startReservoirRefill(pool) {
|
|
396
|
+
const timer = setInterval(() => {
|
|
397
|
+
void pool.updateSettings({ reservoir: RESERVOIR_SIZE });
|
|
398
|
+
}, RESERVOIR_REFILL_MS);
|
|
399
|
+
timer.unref?.();
|
|
400
|
+
}
|
|
214
401
|
export function createRateLimitPools(overrides = {}) {
|
|
215
402
|
const env = envOverrides();
|
|
216
403
|
const toolingConc = overrides.tooling ?? env.tooling ?? DEFAULT_POOL_CONCURRENCY.tooling;
|
|
@@ -225,41 +412,49 @@ export function createRateLimitPools(overrides = {}) {
|
|
|
225
412
|
// 200/10s = 20 req/sec aligns the reservoir with maxConcurrent + typical
|
|
226
413
|
// 0.5–2s call latency. minTime: 0 lets maxConcurrent be the sole
|
|
227
414
|
// parallelism bound (it was the binding constraint anyway).
|
|
415
|
+
//
|
|
416
|
+
// NB: we do NOT use Bottleneck's built-in `reservoirRefreshAmount/Interval`.
|
|
417
|
+
// In bottleneck@2.19.5 any later `updateSettings()` call (e.g. the
|
|
418
|
+
// maxConcurrent override applied by configureDefaultPools at ingest start)
|
|
419
|
+
// PERMANENTLY disarms the built-in refresh timer — the reservoir drains to 0
|
|
420
|
+
// and never refills, deadlocking the whole fan-out (every queued API call
|
|
421
|
+
// waits forever; sources then wedge on first-yield/inactivity). We instead
|
|
422
|
+
// refill the reservoir on our own interval (see startReservoirRefill), which
|
|
423
|
+
// is immune to updateSettings. Verified against a large live org.
|
|
228
424
|
const toolingPool = new Bottleneck({
|
|
229
425
|
maxConcurrent: toolingConc,
|
|
230
426
|
minTime: 0,
|
|
231
|
-
reservoir:
|
|
232
|
-
reservoirRefreshAmount: 200,
|
|
233
|
-
reservoirRefreshInterval: 10_000,
|
|
427
|
+
reservoir: RESERVOIR_SIZE,
|
|
234
428
|
});
|
|
235
429
|
const metadataPool = new Bottleneck({
|
|
236
430
|
maxConcurrent: metadataConc,
|
|
237
431
|
minTime: 0,
|
|
238
|
-
reservoir:
|
|
239
|
-
reservoirRefreshAmount: 200,
|
|
240
|
-
reservoirRefreshInterval: 10_000,
|
|
432
|
+
reservoir: RESERVOIR_SIZE,
|
|
241
433
|
});
|
|
242
434
|
const dataPool = new Bottleneck({
|
|
243
435
|
maxConcurrent: dataConc,
|
|
244
436
|
minTime: 0,
|
|
245
|
-
reservoir:
|
|
246
|
-
reservoirRefreshAmount: 200,
|
|
247
|
-
reservoirRefreshInterval: 10_000,
|
|
437
|
+
reservoir: RESERVOIR_SIZE,
|
|
248
438
|
});
|
|
249
|
-
for (const p of [toolingPool, metadataPool, dataPool])
|
|
439
|
+
for (const p of [toolingPool, metadataPool, dataPool]) {
|
|
250
440
|
attachRetryHandler(p);
|
|
441
|
+
startReservoirRefill(p);
|
|
442
|
+
}
|
|
251
443
|
return {
|
|
252
444
|
toolingPool,
|
|
253
445
|
metadataPool,
|
|
254
446
|
dataPool,
|
|
255
|
-
scheduleQuery(fn) {
|
|
256
|
-
|
|
447
|
+
scheduleQuery(fn, stopSignal) {
|
|
448
|
+
const sig = resolveStopSignal(stopSignal);
|
|
449
|
+
return wrapScheduled(toolingPool, () => queryLimit(fn), sig, "scheduleQuery");
|
|
257
450
|
},
|
|
258
|
-
scheduleMetadata(fn) {
|
|
259
|
-
|
|
451
|
+
scheduleMetadata(fn, stopSignal) {
|
|
452
|
+
const sig = resolveStopSignal(stopSignal);
|
|
453
|
+
return wrapScheduled(metadataPool, fn, sig, "scheduleMetadata");
|
|
260
454
|
},
|
|
261
|
-
scheduleData(fn) {
|
|
262
|
-
|
|
455
|
+
scheduleData(fn, stopSignal) {
|
|
456
|
+
const sig = resolveStopSignal(stopSignal);
|
|
457
|
+
return wrapScheduled(dataPool, fn, sig, "scheduleData");
|
|
263
458
|
},
|
|
264
459
|
};
|
|
265
460
|
}
|
|
@@ -275,16 +470,16 @@ export const dataPool = defaultPools.dataPool;
|
|
|
275
470
|
*/
|
|
276
471
|
export const limiter = toolingPool;
|
|
277
472
|
/** Helper that runs a single SOQL/Tooling callable through both gates. */
|
|
278
|
-
export function scheduleQuery(fn) {
|
|
279
|
-
return defaultPools.scheduleQuery(fn);
|
|
473
|
+
export function scheduleQuery(fn, stopSignal) {
|
|
474
|
+
return defaultPools.scheduleQuery(fn, stopSignal);
|
|
280
475
|
}
|
|
281
476
|
/** Schedule a Metadata API call (list/read/retrieve/deploy). */
|
|
282
|
-
export function scheduleMetadata(fn) {
|
|
283
|
-
return defaultPools.scheduleMetadata(fn);
|
|
477
|
+
export function scheduleMetadata(fn, stopSignal) {
|
|
478
|
+
return defaultPools.scheduleMetadata(fn, stopSignal);
|
|
284
479
|
}
|
|
285
480
|
/** Schedule a SObject SOQL / Bulk query (Vlocity, CMDT, generic records). */
|
|
286
|
-
export function scheduleData(fn) {
|
|
287
|
-
return defaultPools.scheduleData(fn);
|
|
481
|
+
export function scheduleData(fn, stopSignal) {
|
|
482
|
+
return defaultPools.scheduleData(fn, stopSignal);
|
|
288
483
|
}
|
|
289
484
|
/** Detect errors that should trigger a smaller-batch retry rather than
|
|
290
485
|
* failing the whole call. Tries the canonical jsforce error shape first
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../src/extractors/live-org/rate-limit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../src/extractors/live-org/rate-limit.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAwBA,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;8DAC0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,mEAAmE;AACnE,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B;0EAC0E;AAC1E,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAIzC;wEACwE;AACxE,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYvD;AAED,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAI9C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE9D;AA0BD,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,YAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,CAQnF;AAED;;8DAE8D;AAC9D,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAElD;AAED;qCACqC;AACrC,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;sEACsE;AACtE,wBAAsB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAW5F;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAQlD;AAsDD,mEAAmE;AACnE,eAAO,MAAM,kCAAkC,IAAI,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAElE;AAuED;sDACsD;AACtD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAIxD;AAED;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,UAAU,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAC3B,KAAK,EAAE,OAAO;CAK3B;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,oBAAoB,CAEvE;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,oBAAoB;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBACjB,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM;CAKhD;AAED;sDACsD;AACtD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;wBAEwB;AACxB,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIlE;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAK/D;AAMD,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBACZ,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE;CAcrD;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAEhF;AAQD,wEAAwE;AACxE,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1C,SAAS,CAAC,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;CACxD;AAED;;;;;GAKG;AACH,wBAAuB,cAAc,CAAC,CAAC,EACrC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACjD,IAAI,GAAE,YAAiB,GACtB,aAAa,CAAC,CAAC,CAAC,CAmClB;AAED,oDAAoD;AACpD,wBAAsB,YAAY,CAAC,CAAC,EAClC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACjD,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CAId;AAED;;;;;GAKG;AACH,wBAAuB,SAAS,CAAC,CAAC,EAChC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,EACpB,QAAQ,EAAE,YAAY,EAAE,GACvB,aAAa,CAAC,CAAC,CAAC,CAOlB"}
|