@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-store.js","sourceRoot":"","sources":["../../../src/storage/sqlite/snapshot-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snapshot-store.js","sourceRoot":"","sources":["../../../src/storage/sqlite/snapshot-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { BetterSqlite3Database } from "../interfaces.js";
|
|
2
|
+
/**
|
|
3
|
+
* The snapshot edge version indexes (the one definition: created by
|
|
4
|
+
* {@link SNAPSHOT_VERSION_DDL}, reshaped by {@link ensureSnapshotEdgeIndexes}).
|
|
5
|
+
* Covering for the edge-diff anti-joins (schema v15, T14 batch L): the key
|
|
6
|
+
* index ends in `from_seq`, so a probe "is key K visible at seq S" never reads
|
|
7
|
+
* the version row; the rel index adds `from_seq, src_qname, dst_qname`, so
|
|
8
|
+
* scanning one rel type's versions visible at S (to probe the live table)
|
|
9
|
+
* reads the index only. Before v15 they were (org_id, src_qname, dst_qname,
|
|
10
|
+
* rel_type, to_seq) and (org_id, rel_type, to_seq): the same prefixes, so
|
|
11
|
+
* every plan that used them still applies.
|
|
12
|
+
*/
|
|
13
|
+
export declare const SNAP_EDGE_INDEXES: Readonly<Record<string, readonly string[]>>;
|
|
14
|
+
/** Tables and indexes of the versioned snapshot storage. */
|
|
15
|
+
export declare const SNAPSHOT_VERSION_DDL: string;
|
|
16
|
+
/**
|
|
17
|
+
* Give each snapshot edge index the shape in {@link SNAP_EDGE_INDEXES},
|
|
18
|
+
* rebuilding only an index whose columns differ (or that is missing).
|
|
19
|
+
*/
|
|
20
|
+
export declare function ensureSnapshotEdgeIndexes(db: BetterSqlite3Database): void;
|
|
21
|
+
/** Read-only views with the old full-copy table names and columns. */
|
|
22
|
+
export declare const SNAPSHOT_COMPAT_VIEWS_DDL = "\n CREATE VIEW IF NOT EXISTS _sfgraph_node_snapshots AS\n SELECT s.id AS snapshot_id, v.org_id, v.qualified_name, v.label, v.attributes,\n v.source_hash, v.first_seen_at, v.last_seen_at, v.last_modified_at\n FROM _sfgraph_snapshots s\n JOIN _sfgraph_snap_nodes v\n ON v.org_id = s.org_id AND v.from_seq <= s.seq AND (v.to_seq IS NULL OR v.to_seq > s.seq);\n CREATE VIEW IF NOT EXISTS _sfgraph_edge_snapshots AS\n SELECT s.id AS snapshot_id, v.org_id, v.src_qname, v.dst_qname, v.rel_type, v.attributes,\n v.first_seen_at, v.last_seen_at\n FROM _sfgraph_snapshots s\n JOIN _sfgraph_snap_edges v\n ON v.org_id = s.org_id AND v.from_seq <= s.seq AND (v.to_seq IS NULL OR v.to_seq > s.seq);\n";
|
|
23
|
+
/** SQL predicate: version alias `a` is visible at the seq bound to `@<param>`. */
|
|
24
|
+
export declare function visibleAt(a: string, param: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Advance the org's open versions to seq `@seq` from one source of node rows:
|
|
27
|
+
* close open rows (of `labelFilter`) with no identical source row, then open
|
|
28
|
+
* a version for each source row with no open row. `src` is a table/subquery
|
|
29
|
+
* aliased `c` exposing the node columns (and `label` when `labelExpr` is
|
|
30
|
+
* `c.label`); `srcWhere` restricts it.
|
|
31
|
+
*/
|
|
32
|
+
export declare function advanceNodes(db: BetterSqlite3Database, p: {
|
|
33
|
+
src: string;
|
|
34
|
+
srcWhere: string;
|
|
35
|
+
labelExpr: string;
|
|
36
|
+
labelFilter: string;
|
|
37
|
+
}, params: Record<string, unknown>): void;
|
|
38
|
+
/** Edge counterpart of {@link advanceNodes}; `relExpr` is the source's rel type. */
|
|
39
|
+
export declare function advanceEdges(db: BetterSqlite3Database, p: {
|
|
40
|
+
src: string;
|
|
41
|
+
srcWhere: string;
|
|
42
|
+
relExpr: string;
|
|
43
|
+
relFilter: string;
|
|
44
|
+
}, params: Record<string, unknown>): void;
|
|
45
|
+
/**
|
|
46
|
+
* Migration body: number existing snapshots, convert their full copies into
|
|
47
|
+
* versions (oldest first, same algorithm as createSnapshot), then replace the
|
|
48
|
+
* old tables with compatibility views.
|
|
49
|
+
*/
|
|
50
|
+
export declare function migrateFullCopySnapshots(db: BetterSqlite3Database): void;
|
|
51
|
+
//# sourceMappingURL=snapshot-versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-versions.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/snapshot-versions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AA4D9D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAGzE,CAAC;AAKF,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB,QAIhC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,qBAAqB,GAAG,IAAI,CAWzE;AAED,sEAAsE;AACtE,eAAO,MAAM,yBAAyB,mvBAarC,CAAC;AAEF,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAUD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,qBAAqB,EACzB,CAAC,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,EACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAoBN;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAC1B,EAAE,EAAE,qBAAqB,EACzB,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACxE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAoBN;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,qBAAqB,GAAG,IAAI,CAoDxE"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* audit perf-02/03: snapshots are stored as row *versions* with a validity
|
|
3
|
+
* interval over snapshot sequence numbers instead of one full copy per
|
|
4
|
+
* snapshot. A version row is visible in the snapshot with sequence `s` when
|
|
5
|
+
* `from_seq <= s AND (to_seq IS NULL OR to_seq > s)`. Open rows
|
|
6
|
+
* (`to_seq IS NULL`) are the state recorded by the org's latest snapshot, so a
|
|
7
|
+
* new snapshot only closes rows that changed and inserts their replacements:
|
|
8
|
+
* an unchanged graph costs zero rows.
|
|
9
|
+
*
|
|
10
|
+
* A row is a new version when anything but `last_seen_at` changed. Every
|
|
11
|
+
* ingest bumps `last_seen_at` on every node it re-merges, so including it
|
|
12
|
+
* would copy the whole graph per snapshot again; a snapshot's `last_seen_at`
|
|
13
|
+
* is therefore the value when that version was first recorded.
|
|
14
|
+
*
|
|
15
|
+
* Semantic change (review I6, schema v14): before v14 each snapshot stored the
|
|
16
|
+
* `last_seen_at` its ingest wrote, so snapshot N could report a later value
|
|
17
|
+
* than snapshot N-1 for an otherwise identical row. From v14, a node or edge
|
|
18
|
+
* that did not change keeps the `last_seen_at` of the snapshot that first
|
|
19
|
+
* recorded its current version, in diffs (NodeFact.lastSeenAt) and in the
|
|
20
|
+
* `_sfgraph_node_snapshots` / `_sfgraph_edge_snapshots` views. The v14
|
|
21
|
+
* migration applies the same rule to existing snapshots. Every other column
|
|
22
|
+
* is preserved, and a change to `last_seen_at` alone was never reported as a
|
|
23
|
+
* diff, so added / removed / changed sets are unaffected.
|
|
24
|
+
*
|
|
25
|
+
* Qualified names are compared BINARY here (as the old full-copy tables and
|
|
26
|
+
* the old JS diff did); the live tables are NOCASE.
|
|
27
|
+
*/
|
|
28
|
+
const SNAPSHOT_VERSION_TABLES_DDL = `
|
|
29
|
+
CREATE TABLE IF NOT EXISTS _sfgraph_snap_nodes (
|
|
30
|
+
org_id TEXT NOT NULL,
|
|
31
|
+
qualified_name TEXT NOT NULL,
|
|
32
|
+
label TEXT NOT NULL,
|
|
33
|
+
attributes TEXT NOT NULL,
|
|
34
|
+
source_hash TEXT NOT NULL,
|
|
35
|
+
first_seen_at INTEGER NOT NULL,
|
|
36
|
+
last_seen_at INTEGER NOT NULL,
|
|
37
|
+
last_modified_at INTEGER NOT NULL,
|
|
38
|
+
from_seq INTEGER NOT NULL,
|
|
39
|
+
to_seq INTEGER
|
|
40
|
+
);
|
|
41
|
+
CREATE INDEX IF NOT EXISTS _sfgraph_snap_nodes_key
|
|
42
|
+
ON _sfgraph_snap_nodes(org_id, qualified_name, label, to_seq);
|
|
43
|
+
CREATE INDEX IF NOT EXISTS _sfgraph_snap_nodes_label
|
|
44
|
+
ON _sfgraph_snap_nodes(org_id, label, to_seq);
|
|
45
|
+
CREATE TABLE IF NOT EXISTS _sfgraph_snap_edges (
|
|
46
|
+
org_id TEXT NOT NULL,
|
|
47
|
+
src_qname TEXT NOT NULL,
|
|
48
|
+
dst_qname TEXT NOT NULL,
|
|
49
|
+
rel_type TEXT NOT NULL,
|
|
50
|
+
attributes TEXT NOT NULL,
|
|
51
|
+
first_seen_at INTEGER NOT NULL,
|
|
52
|
+
last_seen_at INTEGER NOT NULL,
|
|
53
|
+
from_seq INTEGER NOT NULL,
|
|
54
|
+
to_seq INTEGER
|
|
55
|
+
);
|
|
56
|
+
`;
|
|
57
|
+
/**
|
|
58
|
+
* The snapshot edge version indexes (the one definition: created by
|
|
59
|
+
* {@link SNAPSHOT_VERSION_DDL}, reshaped by {@link ensureSnapshotEdgeIndexes}).
|
|
60
|
+
* Covering for the edge-diff anti-joins (schema v15, T14 batch L): the key
|
|
61
|
+
* index ends in `from_seq`, so a probe "is key K visible at seq S" never reads
|
|
62
|
+
* the version row; the rel index adds `from_seq, src_qname, dst_qname`, so
|
|
63
|
+
* scanning one rel type's versions visible at S (to probe the live table)
|
|
64
|
+
* reads the index only. Before v15 they were (org_id, src_qname, dst_qname,
|
|
65
|
+
* rel_type, to_seq) and (org_id, rel_type, to_seq): the same prefixes, so
|
|
66
|
+
* every plan that used them still applies.
|
|
67
|
+
*/
|
|
68
|
+
export const SNAP_EDGE_INDEXES = {
|
|
69
|
+
_sfgraph_snap_edges_key: ["org_id", "src_qname", "dst_qname", "rel_type", "to_seq", "from_seq"],
|
|
70
|
+
_sfgraph_snap_edges_rel: ["org_id", "rel_type", "to_seq", "from_seq", "src_qname", "dst_qname"],
|
|
71
|
+
};
|
|
72
|
+
const createEdgeIndex = (name, cols) => `CREATE INDEX IF NOT EXISTS ${name} ON _sfgraph_snap_edges(${cols.join(", ")});`;
|
|
73
|
+
/** Tables and indexes of the versioned snapshot storage. */
|
|
74
|
+
export const SNAPSHOT_VERSION_DDL = `${SNAPSHOT_VERSION_TABLES_DDL}
|
|
75
|
+
${Object.entries(SNAP_EDGE_INDEXES)
|
|
76
|
+
.map(([name, cols]) => createEdgeIndex(name, cols))
|
|
77
|
+
.join("\n ")}
|
|
78
|
+
`;
|
|
79
|
+
/**
|
|
80
|
+
* Give each snapshot edge index the shape in {@link SNAP_EDGE_INDEXES},
|
|
81
|
+
* rebuilding only an index whose columns differ (or that is missing).
|
|
82
|
+
*/
|
|
83
|
+
export function ensureSnapshotEdgeIndexes(db) {
|
|
84
|
+
for (const [name, cols] of Object.entries(SNAP_EDGE_INDEXES)) {
|
|
85
|
+
const have = db.prepare(`PRAGMA index_info(${name})`).all()
|
|
86
|
+
.sort((x, y) => x.seqno - y.seqno)
|
|
87
|
+
.map((r) => r.name);
|
|
88
|
+
if (have.join(",") === cols.join(","))
|
|
89
|
+
continue;
|
|
90
|
+
db.exec(`DROP INDEX IF EXISTS ${name}`);
|
|
91
|
+
db.exec(createEdgeIndex(name, cols));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** Read-only views with the old full-copy table names and columns. */
|
|
95
|
+
export const SNAPSHOT_COMPAT_VIEWS_DDL = `
|
|
96
|
+
CREATE VIEW IF NOT EXISTS _sfgraph_node_snapshots AS
|
|
97
|
+
SELECT s.id AS snapshot_id, v.org_id, v.qualified_name, v.label, v.attributes,
|
|
98
|
+
v.source_hash, v.first_seen_at, v.last_seen_at, v.last_modified_at
|
|
99
|
+
FROM _sfgraph_snapshots s
|
|
100
|
+
JOIN _sfgraph_snap_nodes v
|
|
101
|
+
ON v.org_id = s.org_id AND v.from_seq <= s.seq AND (v.to_seq IS NULL OR v.to_seq > s.seq);
|
|
102
|
+
CREATE VIEW IF NOT EXISTS _sfgraph_edge_snapshots AS
|
|
103
|
+
SELECT s.id AS snapshot_id, v.org_id, v.src_qname, v.dst_qname, v.rel_type, v.attributes,
|
|
104
|
+
v.first_seen_at, v.last_seen_at
|
|
105
|
+
FROM _sfgraph_snapshots s
|
|
106
|
+
JOIN _sfgraph_snap_edges v
|
|
107
|
+
ON v.org_id = s.org_id AND v.from_seq <= s.seq AND (v.to_seq IS NULL OR v.to_seq > s.seq);
|
|
108
|
+
`;
|
|
109
|
+
/** SQL predicate: version alias `a` is visible at the seq bound to `@<param>`. */
|
|
110
|
+
export function visibleAt(a, param) {
|
|
111
|
+
return `(${a}.from_seq <= @${param} AND (${a}.to_seq IS NULL OR ${a}.to_seq > @${param}))`;
|
|
112
|
+
}
|
|
113
|
+
const NODE_MATCH = (a, b) => `${a}.qualified_name = ${b}.qualified_name COLLATE BINARY
|
|
114
|
+
AND ${a}.attributes = ${b}.attributes AND ${a}.source_hash = ${b}.source_hash
|
|
115
|
+
AND ${a}.first_seen_at = ${b}.first_seen_at AND ${a}.last_modified_at = ${b}.last_modified_at`;
|
|
116
|
+
const EDGE_MATCH = (a, b) => `${a}.src_qname = ${b}.src_qname COLLATE BINARY AND ${a}.dst_qname = ${b}.dst_qname COLLATE BINARY
|
|
117
|
+
AND ${a}.attributes = ${b}.attributes AND ${a}.first_seen_at = ${b}.first_seen_at`;
|
|
118
|
+
/**
|
|
119
|
+
* Advance the org's open versions to seq `@seq` from one source of node rows:
|
|
120
|
+
* close open rows (of `labelFilter`) with no identical source row, then open
|
|
121
|
+
* a version for each source row with no open row. `src` is a table/subquery
|
|
122
|
+
* aliased `c` exposing the node columns (and `label` when `labelExpr` is
|
|
123
|
+
* `c.label`); `srcWhere` restricts it.
|
|
124
|
+
*/
|
|
125
|
+
export function advanceNodes(db, p, params) {
|
|
126
|
+
// `c.qualified_name = v.qualified_name` takes c's collation, so it uses the
|
|
127
|
+
// live table's NOCASE key index; NODE_MATCH then requires a BINARY match.
|
|
128
|
+
db.prepare(`UPDATE _sfgraph_snap_nodes AS v SET to_seq = @seq
|
|
129
|
+
WHERE v.org_id = @org AND v.to_seq IS NULL AND ${p.labelFilter}
|
|
130
|
+
AND NOT EXISTS (SELECT 1 FROM ${p.src} WHERE ${p.srcWhere} AND c.org_id = v.org_id
|
|
131
|
+
AND c.qualified_name = v.qualified_name AND ${p.labelExpr} = v.label AND ${NODE_MATCH("c", "v")})`).run(params);
|
|
132
|
+
db.prepare(`INSERT INTO _sfgraph_snap_nodes(org_id, qualified_name, label, attributes, source_hash,
|
|
133
|
+
first_seen_at, last_seen_at, last_modified_at, from_seq, to_seq)
|
|
134
|
+
SELECT c.org_id, c.qualified_name, ${p.labelExpr}, c.attributes, c.source_hash,
|
|
135
|
+
c.first_seen_at, c.last_seen_at, c.last_modified_at, @seq, NULL
|
|
136
|
+
FROM ${p.src}
|
|
137
|
+
WHERE ${p.srcWhere}
|
|
138
|
+
AND NOT EXISTS (SELECT 1 FROM _sfgraph_snap_nodes w
|
|
139
|
+
WHERE w.org_id = c.org_id AND w.qualified_name = c.qualified_name
|
|
140
|
+
AND w.label = ${p.labelExpr} AND w.to_seq IS NULL)`).run(params);
|
|
141
|
+
}
|
|
142
|
+
/** Edge counterpart of {@link advanceNodes}; `relExpr` is the source's rel type. */
|
|
143
|
+
export function advanceEdges(db, p, params) {
|
|
144
|
+
db.prepare(`UPDATE _sfgraph_snap_edges AS v SET to_seq = @seq
|
|
145
|
+
WHERE v.org_id = @org AND v.to_seq IS NULL AND ${p.relFilter}
|
|
146
|
+
AND NOT EXISTS (SELECT 1 FROM ${p.src} WHERE ${p.srcWhere} AND c.org_id = v.org_id
|
|
147
|
+
AND c.src_qname = v.src_qname AND c.dst_qname = v.dst_qname
|
|
148
|
+
AND ${p.relExpr} = v.rel_type AND ${EDGE_MATCH("c", "v")})`).run(params);
|
|
149
|
+
db.prepare(`INSERT INTO _sfgraph_snap_edges(org_id, src_qname, dst_qname, rel_type, attributes,
|
|
150
|
+
first_seen_at, last_seen_at, from_seq, to_seq)
|
|
151
|
+
SELECT c.org_id, c.src_qname, c.dst_qname, ${p.relExpr}, c.attributes,
|
|
152
|
+
c.first_seen_at, c.last_seen_at, @seq, NULL
|
|
153
|
+
FROM ${p.src}
|
|
154
|
+
WHERE ${p.srcWhere}
|
|
155
|
+
AND NOT EXISTS (SELECT 1 FROM _sfgraph_snap_edges w
|
|
156
|
+
WHERE w.org_id = c.org_id AND w.src_qname = c.src_qname
|
|
157
|
+
AND w.dst_qname = c.dst_qname AND w.rel_type = ${p.relExpr}
|
|
158
|
+
AND w.to_seq IS NULL)`).run(params);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Migration body: number existing snapshots, convert their full copies into
|
|
162
|
+
* versions (oldest first, same algorithm as createSnapshot), then replace the
|
|
163
|
+
* old tables with compatibility views.
|
|
164
|
+
*/
|
|
165
|
+
export function migrateFullCopySnapshots(db) {
|
|
166
|
+
db.exec("ALTER TABLE _sfgraph_snapshots ADD COLUMN seq INTEGER");
|
|
167
|
+
const snaps = db
|
|
168
|
+
.prepare("SELECT id, org_id FROM _sfgraph_snapshots ORDER BY created_at, id")
|
|
169
|
+
.all();
|
|
170
|
+
const setSeq = db.prepare("UPDATE _sfgraph_snapshots SET seq = ? WHERE id = ?");
|
|
171
|
+
snaps.forEach((s, i) => setSeq.run(i + 1, s.id));
|
|
172
|
+
db.exec("CREATE UNIQUE INDEX IF NOT EXISTS _sfgraph_snapshots_seq ON _sfgraph_snapshots(seq)");
|
|
173
|
+
db.exec(SNAPSHOT_VERSION_DDL);
|
|
174
|
+
const isTable = (name) => db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get(name) != null;
|
|
175
|
+
const hasNodes = isTable("_sfgraph_node_snapshots");
|
|
176
|
+
const hasEdges = isTable("_sfgraph_edge_snapshots");
|
|
177
|
+
// review I1: progress goes to stderr only (stdout is the MCP stdio channel).
|
|
178
|
+
const t0 = Date.now();
|
|
179
|
+
const log = (msg) => process.stderr.write(`sfgraph: ${msg}\n`);
|
|
180
|
+
if (snaps.length > 0) {
|
|
181
|
+
log(`schema v14: converting ${snaps.length} snapshot(s) to versioned storage...`);
|
|
182
|
+
}
|
|
183
|
+
snaps.forEach((s, i) => {
|
|
184
|
+
const params = { org: s.org_id, seq: i + 1, sid: s.id };
|
|
185
|
+
if (hasNodes) {
|
|
186
|
+
advanceNodes(db, {
|
|
187
|
+
src: "_sfgraph_node_snapshots c",
|
|
188
|
+
srcWhere: "c.snapshot_id = @sid AND c.org_id = @org",
|
|
189
|
+
labelExpr: "c.label",
|
|
190
|
+
labelFilter: "1",
|
|
191
|
+
}, params);
|
|
192
|
+
}
|
|
193
|
+
if (hasEdges) {
|
|
194
|
+
advanceEdges(db, {
|
|
195
|
+
src: "_sfgraph_edge_snapshots c",
|
|
196
|
+
srcWhere: "c.snapshot_id = @sid AND c.org_id = @org",
|
|
197
|
+
relExpr: "c.rel_type",
|
|
198
|
+
relFilter: "1",
|
|
199
|
+
}, params);
|
|
200
|
+
}
|
|
201
|
+
if (snaps.length > 1)
|
|
202
|
+
log(`schema v14: snapshot ${i + 1}/${snaps.length} converted`);
|
|
203
|
+
});
|
|
204
|
+
if (snaps.length > 0)
|
|
205
|
+
log(`schema v14: done in ${((Date.now() - t0) / 1000).toFixed(1)} s`);
|
|
206
|
+
db.exec("DROP TABLE IF EXISTS _sfgraph_node_snapshots; DROP TABLE IF EXISTS _sfgraph_edge_snapshots;");
|
|
207
|
+
db.exec(SNAPSHOT_COMPAT_VIEWS_DDL);
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=snapshot-versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-versions.js","sourceRoot":"","sources":["../../../src/storage/sqlite/snapshot-versions.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,20 +13,32 @@ export declare class SqliteVectorStore implements VectorStore {
|
|
|
13
13
|
private readonly ownsDb;
|
|
14
14
|
private readonly opts;
|
|
15
15
|
private initialized;
|
|
16
|
+
/** Hot-path statements, prepared once per connection. */
|
|
17
|
+
private readonly stmts;
|
|
16
18
|
constructor(opts: SqliteVectorStoreOptions);
|
|
17
19
|
init(): Promise<void>;
|
|
18
20
|
close(): Promise<void>;
|
|
21
|
+
private stmt;
|
|
22
|
+
/**
|
|
23
|
+
* Run `fn` in one transaction (a savepoint when one is already open). The
|
|
24
|
+
* embedding queue writes each batch through this, so a batch costs one
|
|
25
|
+
* commit instead of one per vector.
|
|
26
|
+
*/
|
|
27
|
+
transaction<T>(fn: () => T): T;
|
|
28
|
+
get inTransaction(): boolean;
|
|
19
29
|
private toBlob;
|
|
20
30
|
upsertNodeVector(orgId: OrgId, qname: QualifiedName, label: string, vector: Float32Array, contentHash: Sha256): VectorUpsertResult;
|
|
21
31
|
upsertBundleVector(orgId: OrgId, bundleId: string, vector: Float32Array, contentHash: Sha256): VectorUpsertResult;
|
|
22
32
|
searchNodes(orgId: OrgId, query: Float32Array, k: number, opts?: {
|
|
23
33
|
label?: string;
|
|
24
34
|
}): NodeSearchHit[];
|
|
35
|
+
getContentHash(orgId: OrgId, qname: QualifiedName): Sha256 | null;
|
|
25
36
|
searchBundles(orgId: OrgId, query: Float32Array, k: number): BundleSearchHit[];
|
|
26
37
|
countNodeVectors(orgId: OrgId): number;
|
|
27
38
|
/** Fetch a stored node embedding by (orgId, qname). The vec0 virtual
|
|
28
39
|
* table stores embeddings as BLOBs; the meta table maps to vec_rowid.
|
|
29
40
|
* We do the JOIN here so callers don't have to know the schema. */
|
|
30
41
|
getNodeVector(orgId: OrgId, qname: QualifiedName): Float32Array | null;
|
|
42
|
+
deleteNodeVector(orgId: OrgId, qname: QualifiedName): boolean;
|
|
31
43
|
}
|
|
32
44
|
//# sourceMappingURL=vector-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/vector-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/vector-store.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAIhF,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,WAAW,EACX,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAI1B,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,EAAE,CAAC,EAAE,qBAAqB,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,EAAE,EAAE,qBAAqB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA2B;IAChD,OAAO,CAAC,WAAW,CAAS;IAC5B,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;gBAEnD,IAAI,EAAE,wBAAwB;IAqBpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyCrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,IAAI;IASZ;;;;OAIG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI9B,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,OAAO,CAAC,MAAM;IAId,gBAAgB,CACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,GAClB,kBAAkB;IA2BrB,kBAAkB,CAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,GAClB,kBAAkB;IA8BrB,WAAW,CACT,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,YAAY,EACnB,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACxB,aAAa,EAAE;IA+BlB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI;IAOjE,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE;IAe9E,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAQtC;;wEAEoE;IACpE,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI;IAiBtE,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO;CAgB9D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mkdirSync } from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { ErrorCode, SfgraphError, StorageError, asQualifiedName, } from "@ryanstark24/sfgraph-shared";
|
|
3
|
+
import { ErrorCode, SfgraphError, StorageError, asQualifiedName, asSha256, } from "@ryanstark24/sfgraph-shared";
|
|
4
4
|
import Database from "better-sqlite3";
|
|
5
5
|
import * as sqliteVec from "sqlite-vec";
|
|
6
6
|
import { validateLabel } from "../identifier.js";
|
|
@@ -11,6 +11,8 @@ export class SqliteVectorStore {
|
|
|
11
11
|
ownsDb;
|
|
12
12
|
opts;
|
|
13
13
|
initialized = false;
|
|
14
|
+
/** Hot-path statements, prepared once per connection. */
|
|
15
|
+
stmts = new Map();
|
|
14
16
|
constructor(opts) {
|
|
15
17
|
this.opts = opts;
|
|
16
18
|
if (opts.db) {
|
|
@@ -64,6 +66,10 @@ export class SqliteVectorStore {
|
|
|
64
66
|
// vec0 virtual tables won't work and the store would lie about being
|
|
65
67
|
// initialized — surface that as E_VECTOR_EXTENSION so callers know.
|
|
66
68
|
if (!/already/i.test(msg)) {
|
|
69
|
+
// Release a connection we opened: the caller gets no usable store, and
|
|
70
|
+
// an open handle keeps the file locked on Windows.
|
|
71
|
+
if (this.ownsDb)
|
|
72
|
+
this.db.close();
|
|
67
73
|
throw new SfgraphError(ErrorCode.E_VECTOR_EXTENSION, `failed to load sqlite-vec extension: ${msg}`, { cause: err instanceof Error ? err : undefined });
|
|
68
74
|
}
|
|
69
75
|
}
|
|
@@ -73,31 +79,44 @@ export class SqliteVectorStore {
|
|
|
73
79
|
if (this.ownsDb)
|
|
74
80
|
this.db.close();
|
|
75
81
|
}
|
|
82
|
+
stmt(sql) {
|
|
83
|
+
let st = this.stmts.get(sql);
|
|
84
|
+
if (!st) {
|
|
85
|
+
st = this.db.prepare(sql);
|
|
86
|
+
this.stmts.set(sql, st);
|
|
87
|
+
}
|
|
88
|
+
return st;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Run `fn` in one transaction (a savepoint when one is already open). The
|
|
92
|
+
* embedding queue writes each batch through this, so a batch costs one
|
|
93
|
+
* commit instead of one per vector.
|
|
94
|
+
*/
|
|
95
|
+
transaction(fn) {
|
|
96
|
+
return this.db.transaction(fn)();
|
|
97
|
+
}
|
|
98
|
+
get inTransaction() {
|
|
99
|
+
return this.db.inTransaction;
|
|
100
|
+
}
|
|
76
101
|
toBlob(vec) {
|
|
77
102
|
return Buffer.from(vec.buffer, vec.byteOffset, vec.byteLength);
|
|
78
103
|
}
|
|
79
104
|
upsertNodeVector(orgId, qname, label, vector, contentHash) {
|
|
80
105
|
validateLabel(label);
|
|
81
|
-
const meta = this.
|
|
82
|
-
.prepare("SELECT content_hash, vec_rowid FROM _sfgraph_node_vector_meta WHERE org_id = ? AND qualified_name = ?")
|
|
83
|
-
.get(orgId, qname);
|
|
106
|
+
const meta = this.stmt("SELECT content_hash, vec_rowid FROM _sfgraph_node_vector_meta WHERE org_id = ? AND qualified_name = ?").get(orgId, qname);
|
|
84
107
|
if (meta && meta.content_hash === contentHash) {
|
|
85
108
|
return { inserted: false, deduped: true };
|
|
86
109
|
}
|
|
87
110
|
const blob = this.toBlob(vector);
|
|
88
111
|
const apply = this.db.transaction(() => {
|
|
89
112
|
if (meta) {
|
|
90
|
-
this.
|
|
113
|
+
this.stmt("DELETE FROM _sfgraph_node_vectors WHERE rowid = ?").run(meta.vec_rowid);
|
|
91
114
|
}
|
|
92
|
-
const info = this.
|
|
93
|
-
.prepare("INSERT INTO _sfgraph_node_vectors(org_id, embedding) VALUES (?, ?)")
|
|
94
|
-
.run(orgId, blob);
|
|
115
|
+
const info = this.stmt("INSERT INTO _sfgraph_node_vectors(org_id, embedding) VALUES (?, ?)").run(orgId, blob);
|
|
95
116
|
const newRowid = Number(info.lastInsertRowid);
|
|
96
|
-
this.
|
|
97
|
-
.prepare(`INSERT INTO _sfgraph_node_vector_meta(org_id, qualified_name, content_hash, label, vec_rowid)
|
|
117
|
+
this.stmt(`INSERT INTO _sfgraph_node_vector_meta(org_id, qualified_name, content_hash, label, vec_rowid)
|
|
98
118
|
VALUES (?, ?, ?, ?, ?)
|
|
99
|
-
ON CONFLICT(org_id, qualified_name) DO UPDATE SET content_hash=excluded.content_hash, label=excluded.label, vec_rowid=excluded.vec_rowid`)
|
|
100
|
-
.run(orgId, qname, contentHash, label, newRowid);
|
|
119
|
+
ON CONFLICT(org_id, qualified_name) DO UPDATE SET content_hash=excluded.content_hash, label=excluded.label, vec_rowid=excluded.vec_rowid`).run(orgId, qname, contentHash, label, newRowid);
|
|
101
120
|
});
|
|
102
121
|
apply();
|
|
103
122
|
return { inserted: true, deduped: false };
|
|
@@ -131,11 +150,16 @@ export class SqliteVectorStore {
|
|
|
131
150
|
if (k <= 0)
|
|
132
151
|
return [];
|
|
133
152
|
const blob = this.toBlob(query);
|
|
153
|
+
// vec0 requires an explicit KNN bound (`k = ?`). A label filter is applied
|
|
154
|
+
// to the JOINed meta rows AFTER that bound, so fetching exactly k then
|
|
155
|
+
// filtering returns far fewer than k (often 0) when the nearest neighbours
|
|
156
|
+
// are other labels. Over-fetch when filtering, then slice back to k.
|
|
157
|
+
const fetchK = opts?.label ? Math.min(k * 10, 1000) : k;
|
|
134
158
|
let sql = `SELECT meta.qualified_name AS qname, meta.label AS label, vec.distance AS distance
|
|
135
159
|
FROM _sfgraph_node_vectors AS vec
|
|
136
160
|
JOIN _sfgraph_node_vector_meta AS meta ON meta.vec_rowid = vec.rowid
|
|
137
161
|
WHERE vec.org_id = ? AND vec.embedding MATCH ? AND k = ?`;
|
|
138
|
-
const params = [orgId, blob,
|
|
162
|
+
const params = [orgId, blob, fetchK];
|
|
139
163
|
if (opts?.label) {
|
|
140
164
|
validateLabel(opts.label);
|
|
141
165
|
sql += " AND meta.label = ?";
|
|
@@ -143,12 +167,16 @@ export class SqliteVectorStore {
|
|
|
143
167
|
}
|
|
144
168
|
sql += " ORDER BY vec.distance";
|
|
145
169
|
const rows = this.db.prepare(sql).all(...params);
|
|
146
|
-
return rows.map((r) => ({
|
|
170
|
+
return rows.slice(0, k).map((r) => ({
|
|
147
171
|
qname: asQualifiedName(r.qname),
|
|
148
172
|
label: r.label,
|
|
149
173
|
distance: r.distance,
|
|
150
174
|
}));
|
|
151
175
|
}
|
|
176
|
+
getContentHash(orgId, qname) {
|
|
177
|
+
const row = this.stmt("SELECT content_hash FROM _sfgraph_node_vector_meta WHERE org_id = ? AND qualified_name = ?").get(orgId, qname);
|
|
178
|
+
return row ? asSha256(row.content_hash) : null;
|
|
179
|
+
}
|
|
152
180
|
searchBundles(orgId, query, k) {
|
|
153
181
|
if (k <= 0)
|
|
154
182
|
return [];
|
|
@@ -188,5 +216,20 @@ export class SqliteVectorStore {
|
|
|
188
216
|
const buf = row.blob instanceof Buffer ? row.blob : Buffer.from(row.blob);
|
|
189
217
|
return new Float32Array(buf.buffer, buf.byteOffset, buf.byteLength / 4);
|
|
190
218
|
}
|
|
219
|
+
deleteNodeVector(orgId, qname) {
|
|
220
|
+
const meta = this.db
|
|
221
|
+
.prepare("SELECT vec_rowid FROM _sfgraph_node_vector_meta WHERE org_id = ? AND qualified_name = ?")
|
|
222
|
+
.get(orgId, qname);
|
|
223
|
+
if (!meta)
|
|
224
|
+
return false;
|
|
225
|
+
const apply = this.db.transaction(() => {
|
|
226
|
+
this.db.prepare("DELETE FROM _sfgraph_node_vectors WHERE rowid = ?").run(meta.vec_rowid);
|
|
227
|
+
this.db
|
|
228
|
+
.prepare("DELETE FROM _sfgraph_node_vector_meta WHERE org_id = ? AND qualified_name = ?")
|
|
229
|
+
.run(orgId, qname);
|
|
230
|
+
});
|
|
231
|
+
apply();
|
|
232
|
+
return true;
|
|
233
|
+
}
|
|
191
234
|
}
|
|
192
235
|
//# sourceMappingURL=vector-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../../src/storage/sqlite/vector-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,eAAe,
|
|
1
|
+
{"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../../src/storage/sqlite/vector-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ownership checks shared by the ingest lock file and the graph store's
|
|
3
|
+
* bulk-window marker. Both record `{pid, host}` (and a start time) of the
|
|
4
|
+
* process that took them. A pid can only be probed on its own host, so an
|
|
5
|
+
* owner is stale only when it is on THIS host and its pid is dead, or alive
|
|
6
|
+
* but a different process (the pid was reused: it started after the owner
|
|
7
|
+
* recorded itself). An owner on another host (a data dir on a shared or
|
|
8
|
+
* synced volume) is never treated as stale.
|
|
9
|
+
*/
|
|
10
|
+
/** True when `pid` is a running process here (EPERM: exists but not ours). */
|
|
11
|
+
export declare function pidAlive(pid: number): boolean;
|
|
12
|
+
export declare function thisHost(): string;
|
|
13
|
+
/** A missing host (a marker written before hosts were recorded) is this host. */
|
|
14
|
+
export declare function isThisHost(host: string | null | undefined): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* This process's start time as `pidStartMs` reads it (N-1: the recorded
|
|
17
|
+
* value and the later check use the same clock and truncation), or null.
|
|
18
|
+
*/
|
|
19
|
+
export declare function ownStartMs(): number | null;
|
|
20
|
+
/**
|
|
21
|
+
* Start time (epoch ms, 1 s resolution) of a running process, or null when
|
|
22
|
+
* it cannot be read (no `ps`, Windows, gone, unparseable).
|
|
23
|
+
*/
|
|
24
|
+
export declare function pidStartMs(pid: number): number | null;
|
|
25
|
+
export interface ProcessOwner {
|
|
26
|
+
pid: number;
|
|
27
|
+
host?: string | null;
|
|
28
|
+
/** The owner's process start time, when recorded. */
|
|
29
|
+
procStartMs?: number | null;
|
|
30
|
+
/** When the owner took the lock / marker (its process started before this). */
|
|
31
|
+
takenAtMs?: number | null;
|
|
32
|
+
}
|
|
33
|
+
/** The owner is on this host and its process is gone (dead, or the pid reused). */
|
|
34
|
+
export declare function ownerIsStale(owner: ProcessOwner): boolean;
|
|
35
|
+
//# sourceMappingURL=process-owner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-owner.d.ts","sourceRoot":"","sources":["../../src/util/process-owner.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ7C;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEnE;AAGD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAG1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcrD;AASD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAWzD"}
|