@zbigniewsobiecki/squint 1.0.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/LICENSE +21 -0
- package/README.md +1065 -0
- package/bin/dev.js +5 -0
- package/bin/run.js +5 -0
- package/dist/commands/_shared/db-helper.d.ts +18 -0
- package/dist/commands/_shared/db-helper.d.ts.map +1 -0
- package/dist/commands/_shared/db-helper.js +72 -0
- package/dist/commands/_shared/db-helper.js.map +1 -0
- package/dist/commands/_shared/flags.d.ts +20 -0
- package/dist/commands/_shared/flags.d.ts.map +1 -0
- package/dist/commands/_shared/flags.js +38 -0
- package/dist/commands/_shared/flags.js.map +1 -0
- package/dist/commands/_shared/index.d.ts +6 -0
- package/dist/commands/_shared/index.d.ts.map +1 -0
- package/dist/commands/_shared/index.js +6 -0
- package/dist/commands/_shared/index.js.map +1 -0
- package/dist/commands/_shared/output.d.ts +22 -0
- package/dist/commands/_shared/output.d.ts.map +1 -0
- package/dist/commands/_shared/output.js +36 -0
- package/dist/commands/_shared/output.js.map +1 -0
- package/dist/commands/_shared/source-reader.d.ts +23 -0
- package/dist/commands/_shared/source-reader.d.ts.map +1 -0
- package/dist/commands/_shared/source-reader.js +45 -0
- package/dist/commands/_shared/source-reader.js.map +1 -0
- package/dist/commands/_shared/symbol-resolver.d.ts +35 -0
- package/dist/commands/_shared/symbol-resolver.d.ts.map +1 -0
- package/dist/commands/_shared/symbol-resolver.js +102 -0
- package/dist/commands/_shared/symbol-resolver.js.map +1 -0
- package/dist/commands/browse.d.ts +13 -0
- package/dist/commands/browse.d.ts.map +1 -0
- package/dist/commands/browse.js +106 -0
- package/dist/commands/browse.js.map +1 -0
- package/dist/commands/domains/create.d.ts +15 -0
- package/dist/commands/domains/create.d.ts.map +1 -0
- package/dist/commands/domains/create.js +34 -0
- package/dist/commands/domains/create.js.map +1 -0
- package/dist/commands/domains/delete.d.ts +14 -0
- package/dist/commands/domains/delete.d.ts.map +1 -0
- package/dist/commands/domains/delete.js +41 -0
- package/dist/commands/domains/delete.js.map +1 -0
- package/dist/commands/domains/index.d.ts +2 -0
- package/dist/commands/domains/index.d.ts.map +1 -0
- package/dist/commands/domains/index.js +2 -0
- package/dist/commands/domains/index.js.map +1 -0
- package/dist/commands/domains/list.d.ts +12 -0
- package/dist/commands/domains/list.d.ts.map +1 -0
- package/dist/commands/domains/list.js +67 -0
- package/dist/commands/domains/list.js.map +1 -0
- package/dist/commands/domains/merge.d.ts +14 -0
- package/dist/commands/domains/merge.d.ts.map +1 -0
- package/dist/commands/domains/merge.js +40 -0
- package/dist/commands/domains/merge.js.map +1 -0
- package/dist/commands/domains/rename.d.ts +14 -0
- package/dist/commands/domains/rename.d.ts.map +1 -0
- package/dist/commands/domains/rename.js +33 -0
- package/dist/commands/domains/rename.js.map +1 -0
- package/dist/commands/domains/show.d.ts +14 -0
- package/dist/commands/domains/show.d.ts.map +1 -0
- package/dist/commands/domains/show.js +47 -0
- package/dist/commands/domains/show.js.map +1 -0
- package/dist/commands/domains/sync.d.ts +11 -0
- package/dist/commands/domains/sync.d.ts.map +1 -0
- package/dist/commands/domains/sync.js +33 -0
- package/dist/commands/domains/sync.js.map +1 -0
- package/dist/commands/domains/update.d.ts +14 -0
- package/dist/commands/domains/update.d.ts.map +1 -0
- package/dist/commands/domains/update.js +28 -0
- package/dist/commands/domains/update.js.map +1 -0
- package/dist/commands/features/assign.d.ts +16 -0
- package/dist/commands/features/assign.d.ts.map +1 -0
- package/dist/commands/features/assign.js +51 -0
- package/dist/commands/features/assign.js.map +1 -0
- package/dist/commands/features/create.d.ts +15 -0
- package/dist/commands/features/create.d.ts.map +1 -0
- package/dist/commands/features/create.js +30 -0
- package/dist/commands/features/create.js.map +1 -0
- package/dist/commands/features/delete.d.ts +14 -0
- package/dist/commands/features/delete.d.ts.map +1 -0
- package/dist/commands/features/delete.js +37 -0
- package/dist/commands/features/delete.js.map +1 -0
- package/dist/commands/features/generate.d.ts +34 -0
- package/dist/commands/features/generate.d.ts.map +1 -0
- package/dist/commands/features/generate.js +178 -0
- package/dist/commands/features/generate.js.map +1 -0
- package/dist/commands/features/index.d.ts +2 -0
- package/dist/commands/features/index.d.ts.map +1 -0
- package/dist/commands/features/index.js +2 -0
- package/dist/commands/features/index.js.map +1 -0
- package/dist/commands/features/list.d.ts +11 -0
- package/dist/commands/features/list.d.ts.map +1 -0
- package/dist/commands/features/list.js +45 -0
- package/dist/commands/features/list.js.map +1 -0
- package/dist/commands/features/show.d.ts +15 -0
- package/dist/commands/features/show.d.ts.map +1 -0
- package/dist/commands/features/show.js +61 -0
- package/dist/commands/features/show.js.map +1 -0
- package/dist/commands/features/unassign.d.ts +16 -0
- package/dist/commands/features/unassign.d.ts.map +1 -0
- package/dist/commands/features/unassign.js +55 -0
- package/dist/commands/features/unassign.js.map +1 -0
- package/dist/commands/features/update.d.ts +16 -0
- package/dist/commands/features/update.d.ts.map +1 -0
- package/dist/commands/features/update.js +54 -0
- package/dist/commands/features/update.js.map +1 -0
- package/dist/commands/files/imported-by.d.ts +13 -0
- package/dist/commands/files/imported-by.d.ts.map +1 -0
- package/dist/commands/files/imported-by.js +40 -0
- package/dist/commands/files/imported-by.js.map +1 -0
- package/dist/commands/files/imports.d.ts +14 -0
- package/dist/commands/files/imports.d.ts.map +1 -0
- package/dist/commands/files/imports.js +48 -0
- package/dist/commands/files/imports.js.map +1 -0
- package/dist/commands/files/index.d.ts +2 -0
- package/dist/commands/files/index.d.ts.map +1 -0
- package/dist/commands/files/index.js +2 -0
- package/dist/commands/files/index.js.map +1 -0
- package/dist/commands/files/list.d.ts +11 -0
- package/dist/commands/files/list.d.ts.map +1 -0
- package/dist/commands/files/list.js +35 -0
- package/dist/commands/files/list.js.map +1 -0
- package/dist/commands/files/orphans.d.ts +12 -0
- package/dist/commands/files/orphans.d.ts.map +1 -0
- package/dist/commands/files/orphans.js +43 -0
- package/dist/commands/files/orphans.js.map +1 -0
- package/dist/commands/files/show.d.ts +14 -0
- package/dist/commands/files/show.d.ts.map +1 -0
- package/dist/commands/files/show.js +95 -0
- package/dist/commands/files/show.js.map +1 -0
- package/dist/commands/flows/add-step.d.ts +19 -0
- package/dist/commands/flows/add-step.d.ts.map +1 -0
- package/dist/commands/flows/add-step.js +46 -0
- package/dist/commands/flows/add-step.js.map +1 -0
- package/dist/commands/flows/create.d.ts +17 -0
- package/dist/commands/flows/create.d.ts.map +1 -0
- package/dist/commands/flows/create.js +39 -0
- package/dist/commands/flows/create.js.map +1 -0
- package/dist/commands/flows/delete.d.ts +14 -0
- package/dist/commands/flows/delete.d.ts.map +1 -0
- package/dist/commands/flows/delete.js +37 -0
- package/dist/commands/flows/delete.js.map +1 -0
- package/dist/commands/flows/generate.d.ts +50 -0
- package/dist/commands/flows/generate.d.ts.map +1 -0
- package/dist/commands/flows/generate.js +438 -0
- package/dist/commands/flows/generate.js.map +1 -0
- package/dist/commands/flows/index.d.ts +2 -0
- package/dist/commands/flows/index.d.ts.map +1 -0
- package/dist/commands/flows/index.js +2 -0
- package/dist/commands/flows/index.js.map +1 -0
- package/dist/commands/flows/list.d.ts +12 -0
- package/dist/commands/flows/list.d.ts.map +1 -0
- package/dist/commands/flows/list.js +98 -0
- package/dist/commands/flows/list.js.map +1 -0
- package/dist/commands/flows/remove-step.d.ts +18 -0
- package/dist/commands/flows/remove-step.d.ts.map +1 -0
- package/dist/commands/flows/remove-step.js +41 -0
- package/dist/commands/flows/remove-step.js.map +1 -0
- package/dist/commands/flows/show.d.ts +17 -0
- package/dist/commands/flows/show.d.ts.map +1 -0
- package/dist/commands/flows/show.js +136 -0
- package/dist/commands/flows/show.js.map +1 -0
- package/dist/commands/flows/trace.d.ts +22 -0
- package/dist/commands/flows/trace.d.ts.map +1 -0
- package/dist/commands/flows/trace.js +217 -0
- package/dist/commands/flows/trace.js.map +1 -0
- package/dist/commands/flows/update.d.ts +17 -0
- package/dist/commands/flows/update.d.ts.map +1 -0
- package/dist/commands/flows/update.js +60 -0
- package/dist/commands/flows/update.js.map +1 -0
- package/dist/commands/flows/verify.d.ts +21 -0
- package/dist/commands/flows/verify.d.ts.map +1 -0
- package/dist/commands/flows/verify.js +123 -0
- package/dist/commands/flows/verify.js.map +1 -0
- package/dist/commands/gaps.d.ts +14 -0
- package/dist/commands/gaps.d.ts.map +1 -0
- package/dist/commands/gaps.js +184 -0
- package/dist/commands/gaps.js.map +1 -0
- package/dist/commands/hierarchy/index.d.ts +20 -0
- package/dist/commands/hierarchy/index.d.ts.map +1 -0
- package/dist/commands/hierarchy/index.js +344 -0
- package/dist/commands/hierarchy/index.js.map +1 -0
- package/dist/commands/ingest.d.ts +23 -0
- package/dist/commands/ingest.d.ts.map +1 -0
- package/dist/commands/ingest.js +249 -0
- package/dist/commands/ingest.js.map +1 -0
- package/dist/commands/interactions/create.d.ts +16 -0
- package/dist/commands/interactions/create.d.ts.map +1 -0
- package/dist/commands/interactions/create.js +58 -0
- package/dist/commands/interactions/create.js.map +1 -0
- package/dist/commands/interactions/delete.d.ts +16 -0
- package/dist/commands/interactions/delete.d.ts.map +1 -0
- package/dist/commands/interactions/delete.js +28 -0
- package/dist/commands/interactions/delete.js.map +1 -0
- package/dist/commands/interactions/generate.d.ts +62 -0
- package/dist/commands/interactions/generate.d.ts.map +1 -0
- package/dist/commands/interactions/generate.js +870 -0
- package/dist/commands/interactions/generate.js.map +1 -0
- package/dist/commands/interactions/index.d.ts +2 -0
- package/dist/commands/interactions/index.d.ts.map +1 -0
- package/dist/commands/interactions/index.js +2 -0
- package/dist/commands/interactions/index.js.map +1 -0
- package/dist/commands/interactions/list.d.ts +15 -0
- package/dist/commands/interactions/list.d.ts.map +1 -0
- package/dist/commands/interactions/list.js +127 -0
- package/dist/commands/interactions/list.js.map +1 -0
- package/dist/commands/interactions/show.d.ts +17 -0
- package/dist/commands/interactions/show.d.ts.map +1 -0
- package/dist/commands/interactions/show.js +80 -0
- package/dist/commands/interactions/show.js.map +1 -0
- package/dist/commands/interactions/update.d.ts +20 -0
- package/dist/commands/interactions/update.d.ts.map +1 -0
- package/dist/commands/interactions/update.js +57 -0
- package/dist/commands/interactions/update.js.map +1 -0
- package/dist/commands/interactions/validate.d.ts +12 -0
- package/dist/commands/interactions/validate.d.ts.map +1 -0
- package/dist/commands/interactions/validate.js +94 -0
- package/dist/commands/interactions/validate.js.map +1 -0
- package/dist/commands/interactions/verify.d.ts +18 -0
- package/dist/commands/interactions/verify.d.ts.map +1 -0
- package/dist/commands/interactions/verify.js +127 -0
- package/dist/commands/interactions/verify.js.map +1 -0
- package/dist/commands/llm/_shared/base-llm-command.d.ts +44 -0
- package/dist/commands/llm/_shared/base-llm-command.d.ts.map +1 -0
- package/dist/commands/llm/_shared/base-llm-command.js +73 -0
- package/dist/commands/llm/_shared/base-llm-command.js.map +1 -0
- package/dist/commands/llm/_shared/coverage.d.ts +61 -0
- package/dist/commands/llm/_shared/coverage.d.ts.map +1 -0
- package/dist/commands/llm/_shared/coverage.js +161 -0
- package/dist/commands/llm/_shared/coverage.js.map +1 -0
- package/dist/commands/llm/_shared/csv-utils.d.ts +65 -0
- package/dist/commands/llm/_shared/csv-utils.d.ts.map +1 -0
- package/dist/commands/llm/_shared/csv-utils.js +231 -0
- package/dist/commands/llm/_shared/csv-utils.js.map +1 -0
- package/dist/commands/llm/_shared/csv.d.ts +44 -0
- package/dist/commands/llm/_shared/csv.d.ts.map +1 -0
- package/dist/commands/llm/_shared/csv.js +76 -0
- package/dist/commands/llm/_shared/csv.js.map +1 -0
- package/dist/commands/llm/_shared/entity-utils.d.ts +11 -0
- package/dist/commands/llm/_shared/entity-utils.d.ts.map +1 -0
- package/dist/commands/llm/_shared/entity-utils.js +87 -0
- package/dist/commands/llm/_shared/entity-utils.js.map +1 -0
- package/dist/commands/llm/_shared/flow-csv.d.ts +74 -0
- package/dist/commands/llm/_shared/flow-csv.d.ts.map +1 -0
- package/dist/commands/llm/_shared/flow-csv.js +198 -0
- package/dist/commands/llm/_shared/flow-csv.js.map +1 -0
- package/dist/commands/llm/_shared/flow-prompts.d.ts +61 -0
- package/dist/commands/llm/_shared/flow-prompts.d.ts.map +1 -0
- package/dist/commands/llm/_shared/flow-prompts.js +281 -0
- package/dist/commands/llm/_shared/flow-prompts.js.map +1 -0
- package/dist/commands/llm/_shared/flow-validation.d.ts +69 -0
- package/dist/commands/llm/_shared/flow-validation.d.ts.map +1 -0
- package/dist/commands/llm/_shared/flow-validation.js +176 -0
- package/dist/commands/llm/_shared/flow-validation.js.map +1 -0
- package/dist/commands/llm/_shared/llm-utils.d.ts +88 -0
- package/dist/commands/llm/_shared/llm-utils.d.ts.map +1 -0
- package/dist/commands/llm/_shared/llm-utils.js +256 -0
- package/dist/commands/llm/_shared/llm-utils.js.map +1 -0
- package/dist/commands/llm/_shared/module-csv.d.ts +76 -0
- package/dist/commands/llm/_shared/module-csv.d.ts.map +1 -0
- package/dist/commands/llm/_shared/module-csv.js +196 -0
- package/dist/commands/llm/_shared/module-csv.js.map +1 -0
- package/dist/commands/llm/_shared/module-prompts.d.ts +107 -0
- package/dist/commands/llm/_shared/module-prompts.d.ts.map +1 -0
- package/dist/commands/llm/_shared/module-prompts.js +395 -0
- package/dist/commands/llm/_shared/module-prompts.js.map +1 -0
- package/dist/commands/llm/_shared/process-utils.d.ts +52 -0
- package/dist/commands/llm/_shared/process-utils.d.ts.map +1 -0
- package/dist/commands/llm/_shared/process-utils.js +214 -0
- package/dist/commands/llm/_shared/process-utils.js.map +1 -0
- package/dist/commands/llm/_shared/prompts.d.ts +132 -0
- package/dist/commands/llm/_shared/prompts.d.ts.map +1 -0
- package/dist/commands/llm/_shared/prompts.js +391 -0
- package/dist/commands/llm/_shared/prompts.js.map +1 -0
- package/dist/commands/llm/_shared/pure-check.d.ts +10 -0
- package/dist/commands/llm/_shared/pure-check.d.ts.map +1 -0
- package/dist/commands/llm/_shared/pure-check.js +449 -0
- package/dist/commands/llm/_shared/pure-check.js.map +1 -0
- package/dist/commands/llm/_shared/verify/content-verifier.d.ts +40 -0
- package/dist/commands/llm/_shared/verify/content-verifier.d.ts.map +1 -0
- package/dist/commands/llm/_shared/verify/content-verifier.js +247 -0
- package/dist/commands/llm/_shared/verify/content-verifier.js.map +1 -0
- package/dist/commands/llm/_shared/verify/coverage-checker.d.ts +34 -0
- package/dist/commands/llm/_shared/verify/coverage-checker.d.ts.map +1 -0
- package/dist/commands/llm/_shared/verify/coverage-checker.js +1096 -0
- package/dist/commands/llm/_shared/verify/coverage-checker.js.map +1 -0
- package/dist/commands/llm/_shared/verify/verify-prompts.d.ts +30 -0
- package/dist/commands/llm/_shared/verify/verify-prompts.d.ts.map +1 -0
- package/dist/commands/llm/_shared/verify/verify-prompts.js +118 -0
- package/dist/commands/llm/_shared/verify/verify-prompts.js.map +1 -0
- package/dist/commands/llm/_shared/verify/verify-types.d.ts +47 -0
- package/dist/commands/llm/_shared/verify/verify-types.d.ts.map +1 -0
- package/dist/commands/llm/_shared/verify/verify-types.js +2 -0
- package/dist/commands/llm/_shared/verify/verify-types.js.map +1 -0
- package/dist/commands/llm/annotate.d.ts +7 -0
- package/dist/commands/llm/annotate.d.ts.map +1 -0
- package/dist/commands/llm/annotate.js +11 -0
- package/dist/commands/llm/annotate.js.map +1 -0
- package/dist/commands/llm/features/feature-grouper.d.ts +31 -0
- package/dist/commands/llm/features/feature-grouper.d.ts.map +1 -0
- package/dist/commands/llm/features/feature-grouper.js +223 -0
- package/dist/commands/llm/features/feature-grouper.js.map +1 -0
- package/dist/commands/llm/features/index.d.ts +6 -0
- package/dist/commands/llm/features/index.d.ts.map +1 -0
- package/dist/commands/llm/features/index.js +6 -0
- package/dist/commands/llm/features/index.js.map +1 -0
- package/dist/commands/llm/features/types.d.ts +10 -0
- package/dist/commands/llm/features/types.d.ts.map +1 -0
- package/dist/commands/llm/features/types.js +5 -0
- package/dist/commands/llm/features/types.js.map +1 -0
- package/dist/commands/llm/features.d.ts +7 -0
- package/dist/commands/llm/features.d.ts.map +1 -0
- package/dist/commands/llm/features.js +11 -0
- package/dist/commands/llm/features.js.map +1 -0
- package/dist/commands/llm/flows/atomic-flow-builder.d.ts +51 -0
- package/dist/commands/llm/flows/atomic-flow-builder.d.ts.map +1 -0
- package/dist/commands/llm/flows/atomic-flow-builder.js +247 -0
- package/dist/commands/llm/flows/atomic-flow-builder.js.map +1 -0
- package/dist/commands/llm/flows/dedup.d.ts +18 -0
- package/dist/commands/llm/flows/dedup.d.ts.map +1 -0
- package/dist/commands/llm/flows/dedup.js +76 -0
- package/dist/commands/llm/flows/dedup.js.map +1 -0
- package/dist/commands/llm/flows/entry-point-detector.d.ts +41 -0
- package/dist/commands/llm/flows/entry-point-detector.d.ts.map +1 -0
- package/dist/commands/llm/flows/entry-point-detector.js +388 -0
- package/dist/commands/llm/flows/entry-point-detector.js.map +1 -0
- package/dist/commands/llm/flows/flow-enhancer.d.ts +21 -0
- package/dist/commands/llm/flows/flow-enhancer.d.ts.map +1 -0
- package/dist/commands/llm/flows/flow-enhancer.js +166 -0
- package/dist/commands/llm/flows/flow-enhancer.js.map +1 -0
- package/dist/commands/llm/flows/flow-tracer.d.ts +50 -0
- package/dist/commands/llm/flows/flow-tracer.d.ts.map +1 -0
- package/dist/commands/llm/flows/flow-tracer.js +271 -0
- package/dist/commands/llm/flows/flow-tracer.js.map +1 -0
- package/dist/commands/llm/flows/flow-validator.d.ts +31 -0
- package/dist/commands/llm/flows/flow-validator.d.ts.map +1 -0
- package/dist/commands/llm/flows/flow-validator.js +262 -0
- package/dist/commands/llm/flows/flow-validator.js.map +1 -0
- package/dist/commands/llm/flows/gap-flow-generator.d.ts +13 -0
- package/dist/commands/llm/flows/gap-flow-generator.d.ts.map +1 -0
- package/dist/commands/llm/flows/gap-flow-generator.js +48 -0
- package/dist/commands/llm/flows/gap-flow-generator.js.map +1 -0
- package/dist/commands/llm/flows/index.d.ts +12 -0
- package/dist/commands/llm/flows/index.d.ts.map +1 -0
- package/dist/commands/llm/flows/index.js +12 -0
- package/dist/commands/llm/flows/index.js.map +1 -0
- package/dist/commands/llm/flows/types.d.ts +87 -0
- package/dist/commands/llm/flows/types.d.ts.map +1 -0
- package/dist/commands/llm/flows/types.js +5 -0
- package/dist/commands/llm/flows/types.js.map +1 -0
- package/dist/commands/llm/flows.d.ts +7 -0
- package/dist/commands/llm/flows.d.ts.map +1 -0
- package/dist/commands/llm/flows.js +11 -0
- package/dist/commands/llm/flows.js.map +1 -0
- package/dist/commands/llm/interactions.d.ts +7 -0
- package/dist/commands/llm/interactions.d.ts.map +1 -0
- package/dist/commands/llm/interactions.js +11 -0
- package/dist/commands/llm/interactions.js.map +1 -0
- package/dist/commands/llm/modules.d.ts +7 -0
- package/dist/commands/llm/modules.d.ts.map +1 -0
- package/dist/commands/llm/modules.js +11 -0
- package/dist/commands/llm/modules.js.map +1 -0
- package/dist/commands/llm/relationships.d.ts +7 -0
- package/dist/commands/llm/relationships.d.ts.map +1 -0
- package/dist/commands/llm/relationships.js +11 -0
- package/dist/commands/llm/relationships.js.map +1 -0
- package/dist/commands/modules/assign.d.ts +14 -0
- package/dist/commands/modules/assign.d.ts.map +1 -0
- package/dist/commands/modules/assign.js +54 -0
- package/dist/commands/modules/assign.js.map +1 -0
- package/dist/commands/modules/create.d.ts +16 -0
- package/dist/commands/modules/create.d.ts.map +1 -0
- package/dist/commands/modules/create.js +37 -0
- package/dist/commands/modules/create.js.map +1 -0
- package/dist/commands/modules/delete.d.ts +14 -0
- package/dist/commands/modules/delete.d.ts.map +1 -0
- package/dist/commands/modules/delete.js +54 -0
- package/dist/commands/modules/delete.js.map +1 -0
- package/dist/commands/modules/generate.d.ts +84 -0
- package/dist/commands/modules/generate.d.ts.map +1 -0
- package/dist/commands/modules/generate.js +1234 -0
- package/dist/commands/modules/generate.js.map +1 -0
- package/dist/commands/modules/index.d.ts +2 -0
- package/dist/commands/modules/index.d.ts.map +1 -0
- package/dist/commands/modules/index.js +2 -0
- package/dist/commands/modules/index.js.map +1 -0
- package/dist/commands/modules/list.d.ts +13 -0
- package/dist/commands/modules/list.d.ts.map +1 -0
- package/dist/commands/modules/list.js +92 -0
- package/dist/commands/modules/list.js.map +1 -0
- package/dist/commands/modules/prune.d.ts +10 -0
- package/dist/commands/modules/prune.d.ts.map +1 -0
- package/dist/commands/modules/prune.js +23 -0
- package/dist/commands/modules/prune.js.map +1 -0
- package/dist/commands/modules/show.d.ts +15 -0
- package/dist/commands/modules/show.d.ts.map +1 -0
- package/dist/commands/modules/show.js +95 -0
- package/dist/commands/modules/show.js.map +1 -0
- package/dist/commands/modules/unassign.d.ts +13 -0
- package/dist/commands/modules/unassign.d.ts.map +1 -0
- package/dist/commands/modules/unassign.js +49 -0
- package/dist/commands/modules/unassign.js.map +1 -0
- package/dist/commands/modules/update.d.ts +15 -0
- package/dist/commands/modules/update.d.ts.map +1 -0
- package/dist/commands/modules/update.js +50 -0
- package/dist/commands/modules/update.js.map +1 -0
- package/dist/commands/modules/verify.d.ts +18 -0
- package/dist/commands/modules/verify.d.ts.map +1 -0
- package/dist/commands/modules/verify.js +114 -0
- package/dist/commands/modules/verify.js.map +1 -0
- package/dist/commands/overview.d.ts +12 -0
- package/dist/commands/overview.d.ts.map +1 -0
- package/dist/commands/overview.js +219 -0
- package/dist/commands/overview.js.map +1 -0
- package/dist/commands/parse.d.ts +30 -0
- package/dist/commands/parse.d.ts.map +1 -0
- package/dist/commands/parse.js +211 -0
- package/dist/commands/parse.js.map +1 -0
- package/dist/commands/process-groups/index.d.ts +2 -0
- package/dist/commands/process-groups/index.d.ts.map +1 -0
- package/dist/commands/process-groups/index.js +2 -0
- package/dist/commands/process-groups/index.js.map +1 -0
- package/dist/commands/process-groups/list.d.ts +11 -0
- package/dist/commands/process-groups/list.d.ts.map +1 -0
- package/dist/commands/process-groups/list.js +98 -0
- package/dist/commands/process-groups/list.js.map +1 -0
- package/dist/commands/relationships/annotate.d.ts +27 -0
- package/dist/commands/relationships/annotate.d.ts.map +1 -0
- package/dist/commands/relationships/annotate.js +453 -0
- package/dist/commands/relationships/annotate.js.map +1 -0
- package/dist/commands/relationships/index.d.ts +2 -0
- package/dist/commands/relationships/index.d.ts.map +1 -0
- package/dist/commands/relationships/index.js +2 -0
- package/dist/commands/relationships/index.js.map +1 -0
- package/dist/commands/relationships/list.d.ts +18 -0
- package/dist/commands/relationships/list.d.ts.map +1 -0
- package/dist/commands/relationships/list.js +147 -0
- package/dist/commands/relationships/list.js.map +1 -0
- package/dist/commands/relationships/next.d.ts +17 -0
- package/dist/commands/relationships/next.d.ts.map +1 -0
- package/dist/commands/relationships/next.js +178 -0
- package/dist/commands/relationships/next.js.map +1 -0
- package/dist/commands/relationships/set.d.ts +19 -0
- package/dist/commands/relationships/set.d.ts.map +1 -0
- package/dist/commands/relationships/set.js +65 -0
- package/dist/commands/relationships/set.js.map +1 -0
- package/dist/commands/relationships/show.d.ts +13 -0
- package/dist/commands/relationships/show.d.ts.map +1 -0
- package/dist/commands/relationships/show.js +59 -0
- package/dist/commands/relationships/show.js.map +1 -0
- package/dist/commands/relationships/unset.d.ts +16 -0
- package/dist/commands/relationships/unset.d.ts.map +1 -0
- package/dist/commands/relationships/unset.js +62 -0
- package/dist/commands/relationships/unset.js.map +1 -0
- package/dist/commands/relationships/verify.d.ts +24 -0
- package/dist/commands/relationships/verify.d.ts.map +1 -0
- package/dist/commands/relationships/verify.js +328 -0
- package/dist/commands/relationships/verify.js.map +1 -0
- package/dist/commands/stats.d.ts +11 -0
- package/dist/commands/stats.d.ts.map +1 -0
- package/dist/commands/stats.js +207 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/symbols/annotate.d.ts +32 -0
- package/dist/commands/symbols/annotate.d.ts.map +1 -0
- package/dist/commands/symbols/annotate.js +862 -0
- package/dist/commands/symbols/annotate.js.map +1 -0
- package/dist/commands/symbols/deps.d.ts +18 -0
- package/dist/commands/symbols/deps.d.ts.map +1 -0
- package/dist/commands/symbols/deps.js +104 -0
- package/dist/commands/symbols/deps.js.map +1 -0
- package/dist/commands/symbols/index.d.ts +2 -0
- package/dist/commands/symbols/index.d.ts.map +1 -0
- package/dist/commands/symbols/index.js +2 -0
- package/dist/commands/symbols/index.js.map +1 -0
- package/dist/commands/symbols/list.d.ts +17 -0
- package/dist/commands/symbols/list.d.ts.map +1 -0
- package/dist/commands/symbols/list.js +136 -0
- package/dist/commands/symbols/list.js.map +1 -0
- package/dist/commands/symbols/next.d.ts +15 -0
- package/dist/commands/symbols/next.d.ts.map +1 -0
- package/dist/commands/symbols/next.js +147 -0
- package/dist/commands/symbols/next.js.map +1 -0
- package/dist/commands/symbols/prereqs.d.ts +18 -0
- package/dist/commands/symbols/prereqs.d.ts.map +1 -0
- package/dist/commands/symbols/prereqs.js +107 -0
- package/dist/commands/symbols/prereqs.js.map +1 -0
- package/dist/commands/symbols/ready.d.ts +17 -0
- package/dist/commands/symbols/ready.d.ts.map +1 -0
- package/dist/commands/symbols/ready.js +126 -0
- package/dist/commands/symbols/ready.js.map +1 -0
- package/dist/commands/symbols/set.d.ts +27 -0
- package/dist/commands/symbols/set.d.ts.map +1 -0
- package/dist/commands/symbols/set.js +241 -0
- package/dist/commands/symbols/set.js.map +1 -0
- package/dist/commands/symbols/show.d.ts +19 -0
- package/dist/commands/symbols/show.d.ts.map +1 -0
- package/dist/commands/symbols/show.js +182 -0
- package/dist/commands/symbols/show.js.map +1 -0
- package/dist/commands/symbols/understood.d.ts +15 -0
- package/dist/commands/symbols/understood.d.ts.map +1 -0
- package/dist/commands/symbols/understood.js +101 -0
- package/dist/commands/symbols/understood.js.map +1 -0
- package/dist/commands/symbols/unset.d.ts +16 -0
- package/dist/commands/symbols/unset.d.ts.map +1 -0
- package/dist/commands/symbols/unset.js +48 -0
- package/dist/commands/symbols/unset.js.map +1 -0
- package/dist/commands/symbols/verify.d.ts +25 -0
- package/dist/commands/symbols/verify.d.ts.map +1 -0
- package/dist/commands/symbols/verify.js +360 -0
- package/dist/commands/symbols/verify.js.map +1 -0
- package/dist/db/connection.d.ts +14 -0
- package/dist/db/connection.d.ts.map +1 -0
- package/dist/db/connection.js +37 -0
- package/dist/db/connection.js.map +1 -0
- package/dist/db/database-facade.d.ts +125 -0
- package/dist/db/database-facade.d.ts.map +1 -0
- package/dist/db/database-facade.js +347 -0
- package/dist/db/database-facade.js.map +1 -0
- package/dist/db/database.d.ts +9 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/database.js +11 -0
- package/dist/db/database.js.map +1 -0
- package/dist/db/index.d.ts +7 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +11 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/repositories/_shared/call-graph-query.d.ts +10 -0
- package/dist/db/repositories/_shared/call-graph-query.d.ts.map +1 -0
- package/dist/db/repositories/_shared/call-graph-query.js +59 -0
- package/dist/db/repositories/_shared/call-graph-query.js.map +1 -0
- package/dist/db/repositories/call-graph-service.d.ts +28 -0
- package/dist/db/repositories/call-graph-service.d.ts.map +1 -0
- package/dist/db/repositories/call-graph-service.js +223 -0
- package/dist/db/repositories/call-graph-service.js.map +1 -0
- package/dist/db/repositories/definition-repository.d.ts +99 -0
- package/dist/db/repositories/definition-repository.d.ts.map +1 -0
- package/dist/db/repositories/definition-repository.js +317 -0
- package/dist/db/repositories/definition-repository.js.map +1 -0
- package/dist/db/repositories/dependency-repository.d.ts +78 -0
- package/dist/db/repositories/dependency-repository.d.ts.map +1 -0
- package/dist/db/repositories/dependency-repository.js +446 -0
- package/dist/db/repositories/dependency-repository.js.map +1 -0
- package/dist/db/repositories/domain-repository.d.ts +97 -0
- package/dist/db/repositories/domain-repository.d.ts.map +1 -0
- package/dist/db/repositories/domain-repository.js +261 -0
- package/dist/db/repositories/domain-repository.js.map +1 -0
- package/dist/db/repositories/feature-repository.d.ts +64 -0
- package/dist/db/repositories/feature-repository.d.ts.map +1 -0
- package/dist/db/repositories/feature-repository.js +189 -0
- package/dist/db/repositories/feature-repository.js.map +1 -0
- package/dist/db/repositories/file-repository.d.ts +67 -0
- package/dist/db/repositories/file-repository.d.ts.map +1 -0
- package/dist/db/repositories/file-repository.js +179 -0
- package/dist/db/repositories/file-repository.js.map +1 -0
- package/dist/db/repositories/flow-repository.d.ts +172 -0
- package/dist/db/repositories/flow-repository.d.ts.map +1 -0
- package/dist/db/repositories/flow-repository.js +599 -0
- package/dist/db/repositories/flow-repository.js.map +1 -0
- package/dist/db/repositories/graph-repository.d.ts +93 -0
- package/dist/db/repositories/graph-repository.d.ts.map +1 -0
- package/dist/db/repositories/graph-repository.js +413 -0
- package/dist/db/repositories/graph-repository.js.map +1 -0
- package/dist/db/repositories/index.d.ts +20 -0
- package/dist/db/repositories/index.d.ts.map +1 -0
- package/dist/db/repositories/index.js +15 -0
- package/dist/db/repositories/index.js.map +1 -0
- package/dist/db/repositories/interaction-analysis.d.ts +78 -0
- package/dist/db/repositories/interaction-analysis.d.ts.map +1 -0
- package/dist/db/repositories/interaction-analysis.js +340 -0
- package/dist/db/repositories/interaction-analysis.js.map +1 -0
- package/dist/db/repositories/interaction-repository.d.ts +145 -0
- package/dist/db/repositories/interaction-repository.d.ts.map +1 -0
- package/dist/db/repositories/interaction-repository.js +395 -0
- package/dist/db/repositories/interaction-repository.js.map +1 -0
- package/dist/db/repositories/metadata-repository.d.ts +110 -0
- package/dist/db/repositories/metadata-repository.d.ts.map +1 -0
- package/dist/db/repositories/metadata-repository.js +294 -0
- package/dist/db/repositories/metadata-repository.js.map +1 -0
- package/dist/db/repositories/module-repository.d.ts +162 -0
- package/dist/db/repositories/module-repository.d.ts.map +1 -0
- package/dist/db/repositories/module-repository.js +519 -0
- package/dist/db/repositories/module-repository.js.map +1 -0
- package/dist/db/repositories/relationship-repository.d.ts +98 -0
- package/dist/db/repositories/relationship-repository.d.ts.map +1 -0
- package/dist/db/repositories/relationship-repository.js +421 -0
- package/dist/db/repositories/relationship-repository.js.map +1 -0
- package/dist/db/schema-manager.d.ts +31 -0
- package/dist/db/schema-manager.d.ts.map +1 -0
- package/dist/db/schema-manager.js +398 -0
- package/dist/db/schema-manager.js.map +1 -0
- package/dist/db/schema.d.ts +404 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +234 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/db/utils/tree-builder.d.ts +25 -0
- package/dist/db/utils/tree-builder.d.ts.map +1 -0
- package/dist/db/utils/tree-builder.js +38 -0
- package/dist/db/utils/tree-builder.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/ast-parser.d.ts +23 -0
- package/dist/parser/ast-parser.d.ts.map +1 -0
- package/dist/parser/ast-parser.js +65 -0
- package/dist/parser/ast-parser.js.map +1 -0
- package/dist/parser/definition-extractor.d.ts +29 -0
- package/dist/parser/definition-extractor.d.ts.map +1 -0
- package/dist/parser/definition-extractor.js +379 -0
- package/dist/parser/definition-extractor.js.map +1 -0
- package/dist/parser/reference-extractor.d.ts +72 -0
- package/dist/parser/reference-extractor.d.ts.map +1 -0
- package/dist/parser/reference-extractor.js +759 -0
- package/dist/parser/reference-extractor.js.map +1 -0
- package/dist/utils/file-scanner.d.ts +6 -0
- package/dist/utils/file-scanner.d.ts.map +1 -0
- package/dist/utils/file-scanner.js +33 -0
- package/dist/utils/file-scanner.js.map +1 -0
- package/dist/web/api-transforms.d.ts +4 -0
- package/dist/web/api-transforms.d.ts.map +1 -0
- package/dist/web/api-transforms.js +4 -0
- package/dist/web/api-transforms.js.map +1 -0
- package/dist/web/server.d.ts +16 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/server.js +229 -0
- package/dist/web/server.js.map +1 -0
- package/dist/web/server.test.d.ts +2 -0
- package/dist/web/server.test.d.ts.map +1 -0
- package/dist/web/server.test.js +505 -0
- package/dist/web/server.test.js.map +1 -0
- package/dist/web/transforms/flow-transforms.d.ts +117 -0
- package/dist/web/transforms/flow-transforms.d.ts.map +1 -0
- package/dist/web/transforms/flow-transforms.js +202 -0
- package/dist/web/transforms/flow-transforms.js.map +1 -0
- package/dist/web/transforms/index.d.ts +4 -0
- package/dist/web/transforms/index.d.ts.map +1 -0
- package/dist/web/transforms/index.js +4 -0
- package/dist/web/transforms/index.js.map +1 -0
- package/dist/web/transforms/module-transforms.d.ts +42 -0
- package/dist/web/transforms/module-transforms.d.ts.map +1 -0
- package/dist/web/transforms/module-transforms.js +64 -0
- package/dist/web/transforms/module-transforms.js.map +1 -0
- package/dist/web/transforms/symbol-transforms.d.ts +31 -0
- package/dist/web/transforms/symbol-transforms.d.ts.map +1 -0
- package/dist/web/transforms/symbol-transforms.js +95 -0
- package/dist/web/transforms/symbol-transforms.js.map +1 -0
- package/package.json +96 -0
- package/ui/dist/assets/index-DP3dRMlh.js +268 -0
- package/ui/dist/assets/index-DP3dRMlh.js.map +1 -0
- package/ui/dist/assets/index-Db204Xn1.css +1 -0
- package/ui/dist/index.html +67 -0
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
import type { Definition } from '../parser/definition-extractor.js';
|
|
2
|
+
import type { FileReference, ImportedSymbol, SymbolUsage } from '../parser/reference-extractor.js';
|
|
3
|
+
export interface FileInsert {
|
|
4
|
+
path: string;
|
|
5
|
+
language: string;
|
|
6
|
+
contentHash: string;
|
|
7
|
+
sizeBytes: number;
|
|
8
|
+
modifiedAt: string;
|
|
9
|
+
}
|
|
10
|
+
export interface CallsiteResult {
|
|
11
|
+
usageId: number;
|
|
12
|
+
symbolId: number;
|
|
13
|
+
definitionId: number | null;
|
|
14
|
+
filePath: string;
|
|
15
|
+
line: number;
|
|
16
|
+
column: number;
|
|
17
|
+
symbolName: string;
|
|
18
|
+
localName: string;
|
|
19
|
+
argumentCount: number;
|
|
20
|
+
isMethodCall: boolean;
|
|
21
|
+
isConstructorCall: boolean;
|
|
22
|
+
receiverName: string | null;
|
|
23
|
+
}
|
|
24
|
+
export interface DependencyInfo {
|
|
25
|
+
dependencyId: number;
|
|
26
|
+
name: string;
|
|
27
|
+
kind: string;
|
|
28
|
+
filePath: string;
|
|
29
|
+
line: number;
|
|
30
|
+
}
|
|
31
|
+
export interface ReadySymbolInfo {
|
|
32
|
+
id: number;
|
|
33
|
+
name: string;
|
|
34
|
+
kind: string;
|
|
35
|
+
filePath: string;
|
|
36
|
+
line: number;
|
|
37
|
+
endLine: number;
|
|
38
|
+
dependencyCount: number;
|
|
39
|
+
}
|
|
40
|
+
export interface DependencyWithMetadata {
|
|
41
|
+
id: number;
|
|
42
|
+
name: string;
|
|
43
|
+
kind: string;
|
|
44
|
+
filePath: string;
|
|
45
|
+
line: number;
|
|
46
|
+
hasAspect: boolean;
|
|
47
|
+
aspectValue: string | null;
|
|
48
|
+
}
|
|
49
|
+
export interface IncomingDependency {
|
|
50
|
+
id: number;
|
|
51
|
+
name: string;
|
|
52
|
+
kind: string;
|
|
53
|
+
filePath: string;
|
|
54
|
+
line: number;
|
|
55
|
+
}
|
|
56
|
+
export type RelationshipType = 'uses' | 'extends' | 'implements';
|
|
57
|
+
export interface RelationshipAnnotation {
|
|
58
|
+
id: number;
|
|
59
|
+
fromDefinitionId: number;
|
|
60
|
+
toDefinitionId: number;
|
|
61
|
+
relationshipType: RelationshipType;
|
|
62
|
+
semantic: string;
|
|
63
|
+
createdAt: string;
|
|
64
|
+
}
|
|
65
|
+
export interface RelationshipWithDetails {
|
|
66
|
+
id: number;
|
|
67
|
+
fromDefinitionId: number;
|
|
68
|
+
fromName: string;
|
|
69
|
+
fromKind: string;
|
|
70
|
+
fromFilePath: string;
|
|
71
|
+
fromLine: number;
|
|
72
|
+
toDefinitionId: number;
|
|
73
|
+
toName: string;
|
|
74
|
+
toKind: string;
|
|
75
|
+
toFilePath: string;
|
|
76
|
+
toLine: number;
|
|
77
|
+
relationshipType: RelationshipType;
|
|
78
|
+
semantic: string;
|
|
79
|
+
}
|
|
80
|
+
export interface Domain {
|
|
81
|
+
id: number;
|
|
82
|
+
name: string;
|
|
83
|
+
description: string | null;
|
|
84
|
+
createdAt: string;
|
|
85
|
+
}
|
|
86
|
+
export interface DomainWithCount extends Domain {
|
|
87
|
+
symbolCount: number;
|
|
88
|
+
}
|
|
89
|
+
export interface Module {
|
|
90
|
+
id: number;
|
|
91
|
+
parentId: number | null;
|
|
92
|
+
slug: string;
|
|
93
|
+
fullPath: string;
|
|
94
|
+
name: string;
|
|
95
|
+
description: string | null;
|
|
96
|
+
depth: number;
|
|
97
|
+
colorIndex: number;
|
|
98
|
+
isTest: boolean;
|
|
99
|
+
createdAt: string;
|
|
100
|
+
}
|
|
101
|
+
export interface ModuleMember {
|
|
102
|
+
moduleId: number;
|
|
103
|
+
definitionId: number;
|
|
104
|
+
assignedAt: string;
|
|
105
|
+
}
|
|
106
|
+
export interface ModuleTreeNode extends Module {
|
|
107
|
+
children: ModuleTreeNode[];
|
|
108
|
+
}
|
|
109
|
+
export interface ModuleWithMembers extends Module {
|
|
110
|
+
members: Array<{
|
|
111
|
+
definitionId: number;
|
|
112
|
+
name: string;
|
|
113
|
+
kind: string;
|
|
114
|
+
filePath: string;
|
|
115
|
+
line: number;
|
|
116
|
+
isExported: boolean;
|
|
117
|
+
}>;
|
|
118
|
+
}
|
|
119
|
+
export interface CallGraphEdge {
|
|
120
|
+
fromId: number;
|
|
121
|
+
toId: number;
|
|
122
|
+
weight: number;
|
|
123
|
+
minUsageLine: number;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Interaction source type: how the interaction was detected.
|
|
127
|
+
*/
|
|
128
|
+
export type InteractionSource = 'ast' | 'ast-import' | 'llm-inferred';
|
|
129
|
+
/**
|
|
130
|
+
* Interaction: Point-to-point module connection.
|
|
131
|
+
*
|
|
132
|
+
* Represents a uni- or bi-directional relationship between two modules,
|
|
133
|
+
* with details about which symbols are called and the pattern of usage.
|
|
134
|
+
*/
|
|
135
|
+
export interface Interaction {
|
|
136
|
+
id: number;
|
|
137
|
+
fromModuleId: number;
|
|
138
|
+
toModuleId: number;
|
|
139
|
+
direction: 'uni' | 'bi';
|
|
140
|
+
weight: number;
|
|
141
|
+
pattern: 'utility' | 'business' | 'test-internal' | null;
|
|
142
|
+
symbols: string | null;
|
|
143
|
+
semantic: string | null;
|
|
144
|
+
source: InteractionSource;
|
|
145
|
+
confidence: 'high' | 'medium' | null;
|
|
146
|
+
createdAt: string;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Enriched interaction with module path information for display
|
|
150
|
+
*/
|
|
151
|
+
export interface InteractionWithPaths extends Interaction {
|
|
152
|
+
fromModulePath: string;
|
|
153
|
+
toModulePath: string;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Symbol detail within a module call edge
|
|
157
|
+
*/
|
|
158
|
+
export interface CalledSymbolInfo {
|
|
159
|
+
name: string;
|
|
160
|
+
kind: string;
|
|
161
|
+
callCount: number;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Module call graph edge for interaction detection
|
|
165
|
+
*/
|
|
166
|
+
export interface ModuleCallEdge {
|
|
167
|
+
fromModuleId: number;
|
|
168
|
+
toModuleId: number;
|
|
169
|
+
weight: number;
|
|
170
|
+
fromModulePath: string;
|
|
171
|
+
toModulePath: string;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Enriched module call edge with symbol-level details for better interaction detection
|
|
175
|
+
*/
|
|
176
|
+
export interface EnrichedModuleCallEdge extends ModuleCallEdge {
|
|
177
|
+
calledSymbols: CalledSymbolInfo[];
|
|
178
|
+
avgCallsPerSymbol: number;
|
|
179
|
+
distinctCallers: number;
|
|
180
|
+
isHighFrequency: boolean;
|
|
181
|
+
edgePattern: 'utility' | 'business' | 'test-internal';
|
|
182
|
+
minUsageLine: number;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Stakeholder types for flows
|
|
186
|
+
*/
|
|
187
|
+
export type FlowStakeholder = 'user' | 'admin' | 'system' | 'developer' | 'external';
|
|
188
|
+
/**
|
|
189
|
+
* Flow: A user journey - sequence of interactions triggered by an entry point.
|
|
190
|
+
*
|
|
191
|
+
* Represents a complete path from trigger to outcome, documenting how
|
|
192
|
+
* a feature works end-to-end.
|
|
193
|
+
*/
|
|
194
|
+
export interface Flow {
|
|
195
|
+
id: number;
|
|
196
|
+
name: string;
|
|
197
|
+
slug: string;
|
|
198
|
+
entryPointModuleId: number | null;
|
|
199
|
+
entryPointId: number | null;
|
|
200
|
+
entryPath: string | null;
|
|
201
|
+
stakeholder: FlowStakeholder | null;
|
|
202
|
+
description: string | null;
|
|
203
|
+
actionType: string | null;
|
|
204
|
+
targetEntity: string | null;
|
|
205
|
+
tier: number;
|
|
206
|
+
createdAt: string;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Subflow step: references a child flow within a composite flow
|
|
210
|
+
*/
|
|
211
|
+
export interface FlowSubflowStep {
|
|
212
|
+
flowId: number;
|
|
213
|
+
stepOrder: number;
|
|
214
|
+
subflowId: number;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Flow step: An ordered interaction within a flow (module-level)
|
|
218
|
+
*/
|
|
219
|
+
export interface FlowStep {
|
|
220
|
+
flowId: number;
|
|
221
|
+
stepOrder: number;
|
|
222
|
+
interactionId: number;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Flow definition step: An ordered definition-level call edge within a flow
|
|
226
|
+
*/
|
|
227
|
+
export interface FlowDefinitionStep {
|
|
228
|
+
flowId: number;
|
|
229
|
+
stepOrder: number;
|
|
230
|
+
fromDefinitionId: number;
|
|
231
|
+
toDefinitionId: number;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Flow definition step with full details for display
|
|
235
|
+
*/
|
|
236
|
+
export interface FlowDefinitionStepWithDetails extends FlowDefinitionStep {
|
|
237
|
+
fromDefinitionName: string;
|
|
238
|
+
fromDefinitionKind: string;
|
|
239
|
+
fromFilePath: string;
|
|
240
|
+
fromLine: number;
|
|
241
|
+
fromModuleId: number | null;
|
|
242
|
+
fromModulePath: string | null;
|
|
243
|
+
toDefinitionName: string;
|
|
244
|
+
toDefinitionKind: string;
|
|
245
|
+
toFilePath: string;
|
|
246
|
+
toLine: number;
|
|
247
|
+
toModuleId: number | null;
|
|
248
|
+
toModulePath: string | null;
|
|
249
|
+
semantic: string | null;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Flow with its steps and interaction details for display (module-level)
|
|
253
|
+
*/
|
|
254
|
+
export interface FlowWithSteps extends Flow {
|
|
255
|
+
steps: Array<FlowStep & {
|
|
256
|
+
interaction: InteractionWithPaths;
|
|
257
|
+
}>;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Flow with its definition-level steps for display
|
|
261
|
+
*/
|
|
262
|
+
export interface FlowWithDefinitionSteps extends Flow {
|
|
263
|
+
definitionSteps: FlowDefinitionStepWithDetails[];
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Expanded flow showing flattened interactions in order
|
|
267
|
+
*/
|
|
268
|
+
export interface ExpandedFlow {
|
|
269
|
+
flow: Flow;
|
|
270
|
+
interactions: InteractionWithPaths[];
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Flow coverage statistics
|
|
274
|
+
*/
|
|
275
|
+
export interface FlowCoverageStats {
|
|
276
|
+
totalInteractions: number;
|
|
277
|
+
coveredByFlows: number;
|
|
278
|
+
percentage: number;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Relationship to interaction coverage statistics
|
|
282
|
+
*/
|
|
283
|
+
export interface RelationshipInteractionCoverage {
|
|
284
|
+
totalRelationships: number;
|
|
285
|
+
crossModuleRelationships: number;
|
|
286
|
+
relationshipsContributingToInteractions: number;
|
|
287
|
+
sameModuleCount: number;
|
|
288
|
+
orphanedCount: number;
|
|
289
|
+
coveragePercent: number;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Detailed breakdown of relationship coverage for diagnostics
|
|
293
|
+
*/
|
|
294
|
+
export interface RelationshipCoverageBreakdown {
|
|
295
|
+
covered: number;
|
|
296
|
+
sameModule: number;
|
|
297
|
+
noCallEdge: number;
|
|
298
|
+
orphaned: number;
|
|
299
|
+
byType: {
|
|
300
|
+
uses: number;
|
|
301
|
+
extends: number;
|
|
302
|
+
implements: number;
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
export interface Feature {
|
|
306
|
+
id: number;
|
|
307
|
+
name: string;
|
|
308
|
+
slug: string;
|
|
309
|
+
description: string | null;
|
|
310
|
+
createdAt: string;
|
|
311
|
+
}
|
|
312
|
+
export interface FeatureWithFlows extends Feature {
|
|
313
|
+
flows: Flow[];
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* @deprecated Use Interaction instead
|
|
317
|
+
* Module call graph edge - kept for backward compatibility
|
|
318
|
+
*/
|
|
319
|
+
export interface FlowTreeNode {
|
|
320
|
+
id: number;
|
|
321
|
+
name: string;
|
|
322
|
+
slug: string;
|
|
323
|
+
fullPath: string;
|
|
324
|
+
description: string | null;
|
|
325
|
+
fromModuleId: number | null;
|
|
326
|
+
toModuleId: number | null;
|
|
327
|
+
semantic: string | null;
|
|
328
|
+
depth: number;
|
|
329
|
+
domain: string | null;
|
|
330
|
+
parentId: number | null;
|
|
331
|
+
stepOrder: number;
|
|
332
|
+
createdAt: string;
|
|
333
|
+
children: FlowTreeNode[];
|
|
334
|
+
fromModuleName?: string;
|
|
335
|
+
toModuleName?: string;
|
|
336
|
+
}
|
|
337
|
+
export interface AnnotatedSymbolInfo {
|
|
338
|
+
id: number;
|
|
339
|
+
name: string;
|
|
340
|
+
kind: string;
|
|
341
|
+
filePath: string;
|
|
342
|
+
line: number;
|
|
343
|
+
endLine: number;
|
|
344
|
+
isExported: boolean;
|
|
345
|
+
purpose: string | null;
|
|
346
|
+
domain: string[] | null;
|
|
347
|
+
role: string | null;
|
|
348
|
+
}
|
|
349
|
+
export interface AnnotatedEdgeInfo {
|
|
350
|
+
fromId: number;
|
|
351
|
+
toId: number;
|
|
352
|
+
weight: number;
|
|
353
|
+
semantic: string | null;
|
|
354
|
+
}
|
|
355
|
+
export interface EnhancedRelationshipContext {
|
|
356
|
+
fromDefinitionId: number;
|
|
357
|
+
fromName: string;
|
|
358
|
+
fromKind: string;
|
|
359
|
+
fromFilePath: string;
|
|
360
|
+
fromLine: number;
|
|
361
|
+
fromEndLine: number;
|
|
362
|
+
toDefinitionId: number;
|
|
363
|
+
toName: string;
|
|
364
|
+
toKind: string;
|
|
365
|
+
toFilePath: string;
|
|
366
|
+
toLine: number;
|
|
367
|
+
toEndLine: number;
|
|
368
|
+
fromPurpose: string | null;
|
|
369
|
+
fromDomains: string[] | null;
|
|
370
|
+
fromRole: string | null;
|
|
371
|
+
fromPure: boolean | null;
|
|
372
|
+
toPurpose: string | null;
|
|
373
|
+
toDomains: string[] | null;
|
|
374
|
+
toRole: string | null;
|
|
375
|
+
toPure: boolean | null;
|
|
376
|
+
relationshipType: 'call' | 'import' | 'extends' | 'implements';
|
|
377
|
+
usageLine: number;
|
|
378
|
+
otherFromRelationships: string[];
|
|
379
|
+
otherToRelationships: string[];
|
|
380
|
+
sharedDomains: string[];
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Interface for database operations, enabling mocking in tests.
|
|
384
|
+
*/
|
|
385
|
+
export interface IIndexWriter {
|
|
386
|
+
initialize(): void;
|
|
387
|
+
setMetadata(key: string, value: string): void;
|
|
388
|
+
insertFile(file: FileInsert): number;
|
|
389
|
+
insertDefinition(fileId: number, def: Definition): number;
|
|
390
|
+
insertReference(fromFileId: number, toFileId: number | null, ref: FileReference): number;
|
|
391
|
+
insertSymbol(refId: number | null, defId: number | null, sym: ImportedSymbol, fileId?: number): number;
|
|
392
|
+
insertUsage(symbolId: number, usage: SymbolUsage): void;
|
|
393
|
+
getDefinitionByName(fileId: number, name: string): number | null;
|
|
394
|
+
getDefinitionCount(): number;
|
|
395
|
+
getReferenceCount(): number;
|
|
396
|
+
getUsageCount(): number;
|
|
397
|
+
getCallsites(definitionId: number): CallsiteResult[];
|
|
398
|
+
getCallsitesForFile(fileId: number): CallsiteResult[];
|
|
399
|
+
getCallsiteCount(): number;
|
|
400
|
+
close(): void;
|
|
401
|
+
}
|
|
402
|
+
export declare const SCHEMA = "\n-- Metadata about the indexing run\nCREATE TABLE metadata (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n\n-- Files indexed by this run\nCREATE TABLE files (\n id INTEGER PRIMARY KEY,\n path TEXT UNIQUE NOT NULL,\n language TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n size_bytes INTEGER NOT NULL,\n modified_at TEXT NOT NULL\n);\n\n-- All definitions (functions, classes, variables, types) in each file\nCREATE TABLE definitions (\n id INTEGER PRIMARY KEY,\n file_id INTEGER NOT NULL,\n name TEXT NOT NULL,\n kind TEXT NOT NULL,\n is_exported INTEGER NOT NULL,\n is_default INTEGER NOT NULL,\n line INTEGER NOT NULL,\n column INTEGER NOT NULL,\n end_line INTEGER NOT NULL,\n end_column INTEGER NOT NULL,\n declaration_end_line INTEGER NOT NULL,\n declaration_end_column INTEGER NOT NULL,\n extends_name TEXT, -- Parent class name (for classes)\n implements_names TEXT, -- JSON array of interface names (for classes)\n extends_interfaces TEXT, -- JSON array of parent interfaces (for interfaces)\n FOREIGN KEY (file_id) REFERENCES files(id)\n);\n\n-- Import/export relationships between files\nCREATE TABLE imports (\n id INTEGER PRIMARY KEY,\n from_file_id INTEGER NOT NULL,\n to_file_id INTEGER,\n type TEXT NOT NULL,\n source TEXT NOT NULL,\n is_external INTEGER NOT NULL,\n is_type_only INTEGER NOT NULL,\n line INTEGER NOT NULL,\n column INTEGER NOT NULL,\n FOREIGN KEY (from_file_id) REFERENCES files(id),\n FOREIGN KEY (to_file_id) REFERENCES files(id)\n);\n\n-- Symbols imported in each reference (or internal symbols within a file)\nCREATE TABLE symbols (\n id INTEGER PRIMARY KEY,\n reference_id INTEGER, -- NULL for internal symbols\n file_id INTEGER, -- Set for internal symbols (same-file references)\n definition_id INTEGER,\n name TEXT NOT NULL,\n local_name TEXT NOT NULL,\n kind TEXT NOT NULL,\n FOREIGN KEY (reference_id) REFERENCES imports(id),\n FOREIGN KEY (file_id) REFERENCES files(id),\n FOREIGN KEY (definition_id) REFERENCES definitions(id)\n);\n\n-- Where each imported symbol is used in the file\nCREATE TABLE usages (\n id INTEGER PRIMARY KEY,\n symbol_id INTEGER NOT NULL,\n line INTEGER NOT NULL,\n column INTEGER NOT NULL,\n context TEXT NOT NULL,\n argument_count INTEGER,\n is_method_call INTEGER,\n is_constructor_call INTEGER,\n receiver_name TEXT,\n FOREIGN KEY (symbol_id) REFERENCES symbols(id)\n);\n\n-- Indexes for efficient queries\nCREATE INDEX idx_files_path ON files(path);\nCREATE INDEX idx_definitions_file ON definitions(file_id);\nCREATE INDEX idx_definitions_name ON definitions(name);\nCREATE INDEX idx_definitions_extends ON definitions(extends_name);\nCREATE INDEX idx_imports_from_file ON imports(from_file_id);\nCREATE INDEX idx_imports_to_file ON imports(to_file_id);\nCREATE INDEX idx_symbols_reference ON symbols(reference_id);\nCREATE INDEX idx_symbols_definition ON symbols(definition_id);\nCREATE INDEX idx_symbols_file ON symbols(file_id);\nCREATE INDEX idx_usages_symbol ON usages(symbol_id);\nCREATE INDEX idx_usages_context ON usages(context);\n\n-- Key-value metadata for definitions\nCREATE TABLE definition_metadata (\n id INTEGER PRIMARY KEY,\n definition_id INTEGER NOT NULL,\n key TEXT NOT NULL,\n value TEXT NOT NULL,\n FOREIGN KEY (definition_id) REFERENCES definitions(id) ON DELETE CASCADE,\n UNIQUE(definition_id, key)\n);\n\nCREATE INDEX idx_definition_metadata_def ON definition_metadata(definition_id);\nCREATE INDEX idx_definition_metadata_key ON definition_metadata(key);\n\n-- Semantic annotations for relationships between definitions\nCREATE TABLE relationship_annotations (\n id INTEGER PRIMARY KEY,\n from_definition_id INTEGER NOT NULL,\n to_definition_id INTEGER NOT NULL,\n relationship_type TEXT NOT NULL DEFAULT 'uses', -- 'uses' | 'extends' | 'implements'\n semantic TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n FOREIGN KEY (from_definition_id) REFERENCES definitions(id) ON DELETE CASCADE,\n FOREIGN KEY (to_definition_id) REFERENCES definitions(id) ON DELETE CASCADE,\n UNIQUE(from_definition_id, to_definition_id)\n);\n\nCREATE INDEX idx_relationship_annotations_from ON relationship_annotations(from_definition_id);\nCREATE INDEX idx_relationship_annotations_to ON relationship_annotations(to_definition_id);\nCREATE INDEX idx_relationship_annotations_type ON relationship_annotations(relationship_type);\n\n-- Domain registry for managing business domains\nCREATE TABLE domains (\n id INTEGER PRIMARY KEY,\n name TEXT UNIQUE NOT NULL,\n description TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX idx_domains_name ON domains(name);\n\n-- Module tree structure\nCREATE TABLE modules (\n id INTEGER PRIMARY KEY,\n parent_id INTEGER REFERENCES modules(id) ON DELETE CASCADE,\n slug TEXT NOT NULL, -- e.g., \"login\" (leaf segment)\n full_path TEXT NOT NULL UNIQUE, -- e.g., \"project.packages.electron-app.screens.login\"\n name TEXT NOT NULL, -- Human-readable: \"Login Screen\"\n description TEXT, -- Free text description\n depth INTEGER NOT NULL DEFAULT 0, -- 0 for root, 1 for children, etc.\n color_index INTEGER NOT NULL DEFAULT 0,\n is_test INTEGER NOT NULL DEFAULT 0, -- 1 if module exists solely for testing\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n UNIQUE(parent_id, slug)\n);\n\nCREATE INDEX idx_modules_parent ON modules(parent_id);\nCREATE INDEX idx_modules_path ON modules(full_path);\nCREATE INDEX idx_modules_depth ON modules(depth);\n\n-- Symbol assignments (each symbol belongs to exactly one module)\nCREATE TABLE module_members (\n module_id INTEGER NOT NULL REFERENCES modules(id) ON DELETE CASCADE,\n definition_id INTEGER NOT NULL REFERENCES definitions(id) ON DELETE CASCADE,\n assigned_at TEXT NOT NULL DEFAULT (datetime('now')),\n PRIMARY KEY (definition_id)\n);\n\nCREATE INDEX idx_module_members_module ON module_members(module_id);\n\n-- Interactions: module-to-module edges (flat, not hierarchical)\nCREATE TABLE interactions (\n id INTEGER PRIMARY KEY,\n from_module_id INTEGER NOT NULL REFERENCES modules(id) ON DELETE CASCADE,\n to_module_id INTEGER NOT NULL REFERENCES modules(id) ON DELETE CASCADE,\n direction TEXT NOT NULL DEFAULT 'uni', -- 'uni' | 'bi'\n weight INTEGER NOT NULL DEFAULT 1,\n pattern TEXT, -- 'utility' | 'business'\n symbols TEXT, -- JSON array of symbol names\n semantic TEXT, -- What happens in this interaction\n source TEXT NOT NULL DEFAULT 'ast', -- 'ast' | 'llm-inferred'\n confidence TEXT, -- 'high' | 'medium' | NULL\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n UNIQUE(from_module_id, to_module_id)\n);\n\nCREATE INDEX idx_interactions_from_module ON interactions(from_module_id);\nCREATE INDEX idx_interactions_to_module ON interactions(to_module_id);\nCREATE INDEX idx_interactions_pattern ON interactions(pattern);\nCREATE INDEX idx_interactions_source ON interactions(source);\n\n-- Flows: user journeys with entry points\nCREATE TABLE flows (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n slug TEXT NOT NULL UNIQUE,\n entry_point_module_id INTEGER REFERENCES modules(id) ON DELETE SET NULL,\n entry_point_id INTEGER REFERENCES definitions(id) ON DELETE SET NULL,\n entry_path TEXT, -- e.g., \"POST /api/auth/login\"\n stakeholder TEXT, -- 'user' | 'admin' | 'system' | 'developer' | 'external'\n description TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX idx_flows_slug ON flows(slug);\nCREATE INDEX idx_flows_entry_point_module ON flows(entry_point_module_id);\nCREATE INDEX idx_flows_entry_point ON flows(entry_point_id);\nCREATE INDEX idx_flows_stakeholder ON flows(stakeholder);\n\n-- Flow steps: ordered interactions within a flow (module-level)\nCREATE TABLE flow_steps (\n flow_id INTEGER NOT NULL REFERENCES flows(id) ON DELETE CASCADE,\n step_order INTEGER NOT NULL,\n interaction_id INTEGER NOT NULL REFERENCES interactions(id) ON DELETE CASCADE,\n PRIMARY KEY (flow_id, step_order)\n);\n\nCREATE INDEX idx_flow_steps_interaction ON flow_steps(interaction_id);\n\n-- Flow definition steps: ordered definition-level call edges within a flow\nCREATE TABLE flow_definition_steps (\n flow_id INTEGER NOT NULL REFERENCES flows(id) ON DELETE CASCADE,\n step_order INTEGER NOT NULL,\n from_definition_id INTEGER NOT NULL REFERENCES definitions(id) ON DELETE CASCADE,\n to_definition_id INTEGER NOT NULL REFERENCES definitions(id) ON DELETE CASCADE,\n PRIMARY KEY (flow_id, step_order)\n);\n\nCREATE INDEX idx_flow_def_steps_from ON flow_definition_steps(from_definition_id);\nCREATE INDEX idx_flow_def_steps_to ON flow_definition_steps(to_definition_id);\n";
|
|
403
|
+
export declare function computeHash(content: string): string;
|
|
404
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
// ============================================================
|
|
3
|
+
// SQL Schema Definition
|
|
4
|
+
// ============================================================
|
|
5
|
+
export const SCHEMA = `
|
|
6
|
+
-- Metadata about the indexing run
|
|
7
|
+
CREATE TABLE metadata (
|
|
8
|
+
key TEXT PRIMARY KEY,
|
|
9
|
+
value TEXT NOT NULL
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
-- Files indexed by this run
|
|
13
|
+
CREATE TABLE files (
|
|
14
|
+
id INTEGER PRIMARY KEY,
|
|
15
|
+
path TEXT UNIQUE NOT NULL,
|
|
16
|
+
language TEXT NOT NULL,
|
|
17
|
+
content_hash TEXT NOT NULL,
|
|
18
|
+
size_bytes INTEGER NOT NULL,
|
|
19
|
+
modified_at TEXT NOT NULL
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
-- All definitions (functions, classes, variables, types) in each file
|
|
23
|
+
CREATE TABLE definitions (
|
|
24
|
+
id INTEGER PRIMARY KEY,
|
|
25
|
+
file_id INTEGER NOT NULL,
|
|
26
|
+
name TEXT NOT NULL,
|
|
27
|
+
kind TEXT NOT NULL,
|
|
28
|
+
is_exported INTEGER NOT NULL,
|
|
29
|
+
is_default INTEGER NOT NULL,
|
|
30
|
+
line INTEGER NOT NULL,
|
|
31
|
+
column INTEGER NOT NULL,
|
|
32
|
+
end_line INTEGER NOT NULL,
|
|
33
|
+
end_column INTEGER NOT NULL,
|
|
34
|
+
declaration_end_line INTEGER NOT NULL,
|
|
35
|
+
declaration_end_column INTEGER NOT NULL,
|
|
36
|
+
extends_name TEXT, -- Parent class name (for classes)
|
|
37
|
+
implements_names TEXT, -- JSON array of interface names (for classes)
|
|
38
|
+
extends_interfaces TEXT, -- JSON array of parent interfaces (for interfaces)
|
|
39
|
+
FOREIGN KEY (file_id) REFERENCES files(id)
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
-- Import/export relationships between files
|
|
43
|
+
CREATE TABLE imports (
|
|
44
|
+
id INTEGER PRIMARY KEY,
|
|
45
|
+
from_file_id INTEGER NOT NULL,
|
|
46
|
+
to_file_id INTEGER,
|
|
47
|
+
type TEXT NOT NULL,
|
|
48
|
+
source TEXT NOT NULL,
|
|
49
|
+
is_external INTEGER NOT NULL,
|
|
50
|
+
is_type_only INTEGER NOT NULL,
|
|
51
|
+
line INTEGER NOT NULL,
|
|
52
|
+
column INTEGER NOT NULL,
|
|
53
|
+
FOREIGN KEY (from_file_id) REFERENCES files(id),
|
|
54
|
+
FOREIGN KEY (to_file_id) REFERENCES files(id)
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
-- Symbols imported in each reference (or internal symbols within a file)
|
|
58
|
+
CREATE TABLE symbols (
|
|
59
|
+
id INTEGER PRIMARY KEY,
|
|
60
|
+
reference_id INTEGER, -- NULL for internal symbols
|
|
61
|
+
file_id INTEGER, -- Set for internal symbols (same-file references)
|
|
62
|
+
definition_id INTEGER,
|
|
63
|
+
name TEXT NOT NULL,
|
|
64
|
+
local_name TEXT NOT NULL,
|
|
65
|
+
kind TEXT NOT NULL,
|
|
66
|
+
FOREIGN KEY (reference_id) REFERENCES imports(id),
|
|
67
|
+
FOREIGN KEY (file_id) REFERENCES files(id),
|
|
68
|
+
FOREIGN KEY (definition_id) REFERENCES definitions(id)
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
-- Where each imported symbol is used in the file
|
|
72
|
+
CREATE TABLE usages (
|
|
73
|
+
id INTEGER PRIMARY KEY,
|
|
74
|
+
symbol_id INTEGER NOT NULL,
|
|
75
|
+
line INTEGER NOT NULL,
|
|
76
|
+
column INTEGER NOT NULL,
|
|
77
|
+
context TEXT NOT NULL,
|
|
78
|
+
argument_count INTEGER,
|
|
79
|
+
is_method_call INTEGER,
|
|
80
|
+
is_constructor_call INTEGER,
|
|
81
|
+
receiver_name TEXT,
|
|
82
|
+
FOREIGN KEY (symbol_id) REFERENCES symbols(id)
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
-- Indexes for efficient queries
|
|
86
|
+
CREATE INDEX idx_files_path ON files(path);
|
|
87
|
+
CREATE INDEX idx_definitions_file ON definitions(file_id);
|
|
88
|
+
CREATE INDEX idx_definitions_name ON definitions(name);
|
|
89
|
+
CREATE INDEX idx_definitions_extends ON definitions(extends_name);
|
|
90
|
+
CREATE INDEX idx_imports_from_file ON imports(from_file_id);
|
|
91
|
+
CREATE INDEX idx_imports_to_file ON imports(to_file_id);
|
|
92
|
+
CREATE INDEX idx_symbols_reference ON symbols(reference_id);
|
|
93
|
+
CREATE INDEX idx_symbols_definition ON symbols(definition_id);
|
|
94
|
+
CREATE INDEX idx_symbols_file ON symbols(file_id);
|
|
95
|
+
CREATE INDEX idx_usages_symbol ON usages(symbol_id);
|
|
96
|
+
CREATE INDEX idx_usages_context ON usages(context);
|
|
97
|
+
|
|
98
|
+
-- Key-value metadata for definitions
|
|
99
|
+
CREATE TABLE definition_metadata (
|
|
100
|
+
id INTEGER PRIMARY KEY,
|
|
101
|
+
definition_id INTEGER NOT NULL,
|
|
102
|
+
key TEXT NOT NULL,
|
|
103
|
+
value TEXT NOT NULL,
|
|
104
|
+
FOREIGN KEY (definition_id) REFERENCES definitions(id) ON DELETE CASCADE,
|
|
105
|
+
UNIQUE(definition_id, key)
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
CREATE INDEX idx_definition_metadata_def ON definition_metadata(definition_id);
|
|
109
|
+
CREATE INDEX idx_definition_metadata_key ON definition_metadata(key);
|
|
110
|
+
|
|
111
|
+
-- Semantic annotations for relationships between definitions
|
|
112
|
+
CREATE TABLE relationship_annotations (
|
|
113
|
+
id INTEGER PRIMARY KEY,
|
|
114
|
+
from_definition_id INTEGER NOT NULL,
|
|
115
|
+
to_definition_id INTEGER NOT NULL,
|
|
116
|
+
relationship_type TEXT NOT NULL DEFAULT 'uses', -- 'uses' | 'extends' | 'implements'
|
|
117
|
+
semantic TEXT NOT NULL,
|
|
118
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
119
|
+
FOREIGN KEY (from_definition_id) REFERENCES definitions(id) ON DELETE CASCADE,
|
|
120
|
+
FOREIGN KEY (to_definition_id) REFERENCES definitions(id) ON DELETE CASCADE,
|
|
121
|
+
UNIQUE(from_definition_id, to_definition_id)
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
CREATE INDEX idx_relationship_annotations_from ON relationship_annotations(from_definition_id);
|
|
125
|
+
CREATE INDEX idx_relationship_annotations_to ON relationship_annotations(to_definition_id);
|
|
126
|
+
CREATE INDEX idx_relationship_annotations_type ON relationship_annotations(relationship_type);
|
|
127
|
+
|
|
128
|
+
-- Domain registry for managing business domains
|
|
129
|
+
CREATE TABLE domains (
|
|
130
|
+
id INTEGER PRIMARY KEY,
|
|
131
|
+
name TEXT UNIQUE NOT NULL,
|
|
132
|
+
description TEXT,
|
|
133
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
134
|
+
);
|
|
135
|
+
|
|
136
|
+
CREATE INDEX idx_domains_name ON domains(name);
|
|
137
|
+
|
|
138
|
+
-- Module tree structure
|
|
139
|
+
CREATE TABLE modules (
|
|
140
|
+
id INTEGER PRIMARY KEY,
|
|
141
|
+
parent_id INTEGER REFERENCES modules(id) ON DELETE CASCADE,
|
|
142
|
+
slug TEXT NOT NULL, -- e.g., "login" (leaf segment)
|
|
143
|
+
full_path TEXT NOT NULL UNIQUE, -- e.g., "project.packages.electron-app.screens.login"
|
|
144
|
+
name TEXT NOT NULL, -- Human-readable: "Login Screen"
|
|
145
|
+
description TEXT, -- Free text description
|
|
146
|
+
depth INTEGER NOT NULL DEFAULT 0, -- 0 for root, 1 for children, etc.
|
|
147
|
+
color_index INTEGER NOT NULL DEFAULT 0,
|
|
148
|
+
is_test INTEGER NOT NULL DEFAULT 0, -- 1 if module exists solely for testing
|
|
149
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
150
|
+
UNIQUE(parent_id, slug)
|
|
151
|
+
);
|
|
152
|
+
|
|
153
|
+
CREATE INDEX idx_modules_parent ON modules(parent_id);
|
|
154
|
+
CREATE INDEX idx_modules_path ON modules(full_path);
|
|
155
|
+
CREATE INDEX idx_modules_depth ON modules(depth);
|
|
156
|
+
|
|
157
|
+
-- Symbol assignments (each symbol belongs to exactly one module)
|
|
158
|
+
CREATE TABLE module_members (
|
|
159
|
+
module_id INTEGER NOT NULL REFERENCES modules(id) ON DELETE CASCADE,
|
|
160
|
+
definition_id INTEGER NOT NULL REFERENCES definitions(id) ON DELETE CASCADE,
|
|
161
|
+
assigned_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
162
|
+
PRIMARY KEY (definition_id)
|
|
163
|
+
);
|
|
164
|
+
|
|
165
|
+
CREATE INDEX idx_module_members_module ON module_members(module_id);
|
|
166
|
+
|
|
167
|
+
-- Interactions: module-to-module edges (flat, not hierarchical)
|
|
168
|
+
CREATE TABLE interactions (
|
|
169
|
+
id INTEGER PRIMARY KEY,
|
|
170
|
+
from_module_id INTEGER NOT NULL REFERENCES modules(id) ON DELETE CASCADE,
|
|
171
|
+
to_module_id INTEGER NOT NULL REFERENCES modules(id) ON DELETE CASCADE,
|
|
172
|
+
direction TEXT NOT NULL DEFAULT 'uni', -- 'uni' | 'bi'
|
|
173
|
+
weight INTEGER NOT NULL DEFAULT 1,
|
|
174
|
+
pattern TEXT, -- 'utility' | 'business'
|
|
175
|
+
symbols TEXT, -- JSON array of symbol names
|
|
176
|
+
semantic TEXT, -- What happens in this interaction
|
|
177
|
+
source TEXT NOT NULL DEFAULT 'ast', -- 'ast' | 'llm-inferred'
|
|
178
|
+
confidence TEXT, -- 'high' | 'medium' | NULL
|
|
179
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
180
|
+
UNIQUE(from_module_id, to_module_id)
|
|
181
|
+
);
|
|
182
|
+
|
|
183
|
+
CREATE INDEX idx_interactions_from_module ON interactions(from_module_id);
|
|
184
|
+
CREATE INDEX idx_interactions_to_module ON interactions(to_module_id);
|
|
185
|
+
CREATE INDEX idx_interactions_pattern ON interactions(pattern);
|
|
186
|
+
CREATE INDEX idx_interactions_source ON interactions(source);
|
|
187
|
+
|
|
188
|
+
-- Flows: user journeys with entry points
|
|
189
|
+
CREATE TABLE flows (
|
|
190
|
+
id INTEGER PRIMARY KEY,
|
|
191
|
+
name TEXT NOT NULL,
|
|
192
|
+
slug TEXT NOT NULL UNIQUE,
|
|
193
|
+
entry_point_module_id INTEGER REFERENCES modules(id) ON DELETE SET NULL,
|
|
194
|
+
entry_point_id INTEGER REFERENCES definitions(id) ON DELETE SET NULL,
|
|
195
|
+
entry_path TEXT, -- e.g., "POST /api/auth/login"
|
|
196
|
+
stakeholder TEXT, -- 'user' | 'admin' | 'system' | 'developer' | 'external'
|
|
197
|
+
description TEXT,
|
|
198
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
199
|
+
);
|
|
200
|
+
|
|
201
|
+
CREATE INDEX idx_flows_slug ON flows(slug);
|
|
202
|
+
CREATE INDEX idx_flows_entry_point_module ON flows(entry_point_module_id);
|
|
203
|
+
CREATE INDEX idx_flows_entry_point ON flows(entry_point_id);
|
|
204
|
+
CREATE INDEX idx_flows_stakeholder ON flows(stakeholder);
|
|
205
|
+
|
|
206
|
+
-- Flow steps: ordered interactions within a flow (module-level)
|
|
207
|
+
CREATE TABLE flow_steps (
|
|
208
|
+
flow_id INTEGER NOT NULL REFERENCES flows(id) ON DELETE CASCADE,
|
|
209
|
+
step_order INTEGER NOT NULL,
|
|
210
|
+
interaction_id INTEGER NOT NULL REFERENCES interactions(id) ON DELETE CASCADE,
|
|
211
|
+
PRIMARY KEY (flow_id, step_order)
|
|
212
|
+
);
|
|
213
|
+
|
|
214
|
+
CREATE INDEX idx_flow_steps_interaction ON flow_steps(interaction_id);
|
|
215
|
+
|
|
216
|
+
-- Flow definition steps: ordered definition-level call edges within a flow
|
|
217
|
+
CREATE TABLE flow_definition_steps (
|
|
218
|
+
flow_id INTEGER NOT NULL REFERENCES flows(id) ON DELETE CASCADE,
|
|
219
|
+
step_order INTEGER NOT NULL,
|
|
220
|
+
from_definition_id INTEGER NOT NULL REFERENCES definitions(id) ON DELETE CASCADE,
|
|
221
|
+
to_definition_id INTEGER NOT NULL REFERENCES definitions(id) ON DELETE CASCADE,
|
|
222
|
+
PRIMARY KEY (flow_id, step_order)
|
|
223
|
+
);
|
|
224
|
+
|
|
225
|
+
CREATE INDEX idx_flow_def_steps_from ON flow_definition_steps(from_definition_id);
|
|
226
|
+
CREATE INDEX idx_flow_def_steps_to ON flow_definition_steps(to_definition_id);
|
|
227
|
+
`;
|
|
228
|
+
// ============================================================
|
|
229
|
+
// Utility Functions
|
|
230
|
+
// ============================================================
|
|
231
|
+
export function computeHash(content) {
|
|
232
|
+
return createHash('sha256').update(content).digest('hex');
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAgezC,+DAA+D;AAC/D,wBAAwB;AACxB,+DAA+D;AAE/D,MAAM,CAAC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8NrB,CAAC;AAEF,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D;AAE/D,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC"}
|