@kaelio/ktx 0.0.0 → 0.1.0-rc.1
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 +201 -0
- package/assets/demo/orbit/demo.db +0 -0
- package/assets/demo/orbit/links/provenance.json +209 -0
- package/assets/demo/orbit/manifest.json +58 -0
- package/assets/demo/orbit/raw-sources/bi/account_retention.view.lkml +67 -0
- package/assets/demo/orbit/raw-sources/bi/arr_daily.view.lkml +28 -0
- package/assets/demo/orbit/raw-sources/bi/customer_health.view.lkml +50 -0
- package/assets/demo/orbit/raw-sources/bi/procurement_activity.view.lkml +46 -0
- package/assets/demo/orbit/raw-sources/bi/retention_exec_q1.dashboard.lookml +28 -0
- package/assets/demo/orbit/raw-sources/bi/revenue_daily.view.lkml +52 -0
- package/assets/demo/orbit/raw-sources/bi/revenue_exec.dashboard.lookml +28 -0
- package/assets/demo/orbit/raw-sources/dbt/dbt_project.yml +10 -0
- package/assets/demo/orbit/raw-sources/dbt/models/marts/mart_arr_daily.sql +5 -0
- package/assets/demo/orbit/raw-sources/dbt/models/marts/mart_customer_health.sql +10 -0
- package/assets/demo/orbit/raw-sources/dbt/models/marts/mart_revenue_daily.sql +8 -0
- package/assets/demo/orbit/raw-sources/dbt/schema.yml +455 -0
- package/assets/demo/orbit/raw-sources/dbt/sources.yml +48 -0
- package/assets/demo/orbit/raw-sources/notion/activation-policy-decision-record.md +49 -0
- package/assets/demo/orbit/raw-sources/notion/analyst-onboarding.md +35 -0
- package/assets/demo/orbit/raw-sources/notion/arr-and-contract-reporting-notes.md +64 -0
- package/assets/demo/orbit/raw-sources/notion/customer-health-playbook.md +55 -0
- package/assets/demo/orbit/raw-sources/notion/retention-and-nrr-definition-notes.md +58 -0
- package/assets/demo/orbit/raw-sources/notion/revenue-reporting-policy.md +64 -0
- package/assets/demo/orbit/raw-sources/notion/sales-ops-segmentation-guide.md +58 -0
- package/assets/demo/orbit/raw-sources/notion/support-escalation-runbook.md +38 -0
- package/assets/demo/orbit/raw-sources/warehouse/accounts.csv +211 -0
- package/assets/demo/orbit/raw-sources/warehouse/arr_movements.csv +721 -0
- package/assets/demo/orbit/raw-sources/warehouse/contracts.csv +321 -0
- package/assets/demo/orbit/raw-sources/warehouse/invoices.csv +3001 -0
- package/assets/demo/orbit/raw-sources/warehouse/plans.csv +5 -0
- package/assets/demo/orbit/raw-sources/warehouse/purchase_requests.csv +5201 -0
- package/assets/demo/orbit/raw-sources/warehouse/support_tickets.csv +521 -0
- package/assets/demo/orbit/raw-sources/warehouse/users.csv +1261 -0
- package/assets/demo/orbit/replay.memory-flow.v1.json +707 -0
- package/assets/demo/orbit/reports/seeded-demo-report.json +40 -0
- package/assets/demo/orbit/semantic-layer/.gitkeep +0 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/int_activation_policy_windows.yaml +27 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/int_active_contract_arr.yaml +24 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/int_customer_health_signals.yaml +25 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/int_parent_account_arr_movements.yaml +49 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/int_procurement_qualifying_actions.yaml +27 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/int_revenue_components.yaml +37 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/mart_account_activity.yaml +23 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/mart_account_segments.yaml +27 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/mart_arr_daily.yaml +20 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/mart_customer_health.yaml +30 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/mart_nrr_quarterly.yaml +22 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/mart_procurement_activity.yaml +24 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/mart_retention_movement_breakout.yaml +31 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/mart_revenue_daily.yaml +37 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_account_hierarchy.yaml +25 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_account_owners.yaml +33 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_accounts.yaml +25 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_activation_events.yaml +33 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_approval_events.yaml +25 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_arr_movements.yaml +29 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_contract_discount_terms.yaml +25 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_contracts.yaml +29 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_invoice_line_items.yaml +25 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_invoices.yaml +33 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_plan_segment_mapping.yaml +33 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_plans.yaml +17 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_purchase_orders.yaml +29 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_purchase_requests.yaml +29 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_refunds.yaml +29 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_sessions.yaml +25 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_subscriptions.yaml +25 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_supplier_onboarding_events.yaml +29 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_suppliers.yaml +21 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_support_tickets.yaml +29 -0
- package/assets/demo/orbit/semantic-layer/dbt-main/stg_users.yaml +21 -0
- package/assets/demo/orbit/semantic-layer/postgres-warehouse/_schema/orbit_analytics.yaml +1400 -0
- package/assets/demo/orbit/semantic-layer/postgres-warehouse/_schema/orbit_raw.yaml +989 -0
- package/assets/demo/orbit/semantic-layer/postgres-warehouse/large_contract_requesters.yaml +44 -0
- package/assets/demo/orbit/semantic-layer/postgres-warehouse/mart_account_activity.yaml +10 -0
- package/assets/demo/orbit/semantic-layer/postgres-warehouse/mart_account_segments.yaml +18 -0
- package/assets/demo/orbit/semantic-layer/postgres-warehouse/mart_arr_daily.yaml +10 -0
- package/assets/demo/orbit/semantic-layer/postgres-warehouse/mart_customer_health.yaml +27 -0
- package/assets/demo/orbit/semantic-layer/postgres-warehouse/mart_nrr_quarterly.yaml +19 -0
- package/assets/demo/orbit/semantic-layer/postgres-warehouse/mart_procurement_activity.yaml +13 -0
- package/assets/demo/orbit/semantic-layer/postgres-warehouse/mart_retention_movement_breakout.yaml +25 -0
- package/assets/demo/orbit/semantic-layer/postgres-warehouse/mart_revenue_daily.yaml +20 -0
- package/assets/demo/orbit/wiki/global/.gitkeep +0 -0
- package/assets/demo/orbit/wiki/global/customer-communication-policy.md +44 -0
- package/assets/demo/orbit/wiki/global/new-hire-onboarding-policy.md +47 -0
- package/assets/demo/orbit/wiki/global/orbit-activation-kpi-glossary.md +64 -0
- package/assets/demo/orbit/wiki/global/orbit-activation-policy-change-jan-2026.md +46 -0
- package/assets/demo/orbit/wiki/global/orbit-arr-contract-first-definition.md +39 -0
- package/assets/demo/orbit/wiki/global/orbit-company-overview.md +71 -0
- package/assets/demo/orbit/wiki/global/orbit-customer-health-risk-definition.md +46 -0
- package/assets/demo/orbit/wiki/global/orbit-customer-stakeholder-needs.md +42 -0
- package/assets/demo/orbit/wiki/global/orbit-customers-source.md +60 -0
- package/assets/demo/orbit/wiki/global/orbit-dbt-exposures.md +44 -0
- package/assets/demo/orbit/wiki/global/orbit-dbt-project-overview.md +54 -0
- package/assets/demo/orbit/wiki/global/orbit-how-we-work.md +75 -0
- package/assets/demo/orbit/wiki/global/orbit-known-product-gaps.md +47 -0
- package/assets/demo/orbit/wiki/global/orbit-mart-account-activity.md +49 -0
- package/assets/demo/orbit/wiki/global/orbit-mart-account-segments.md +55 -0
- package/assets/demo/orbit/wiki/global/orbit-mart-arr-daily.md +46 -0
- package/assets/demo/orbit/wiki/global/orbit-mart-nrr-quarterly.md +55 -0
- package/assets/demo/orbit/wiki/global/orbit-mart-procurement-activity.md +47 -0
- package/assets/demo/orbit/wiki/global/orbit-mart-retention-movement-breakout.md +55 -0
- package/assets/demo/orbit/wiki/global/orbit-mart-revenue-daily.md +56 -0
- package/assets/demo/orbit/wiki/global/orbit-metabase-sql-library-patterns.md +71 -0
- package/assets/demo/orbit/wiki/global/orbit-nrr-discount-expiration-treatment.md +47 -0
- package/assets/demo/orbit/wiki/global/orbit-plan-segment-normalization.md +49 -0
- package/assets/demo/orbit/wiki/global/orbit-procurement-qualifying-actions.md +46 -0
- package/assets/demo/orbit/wiki/global/orbit-product-design-principles.md +43 -0
- package/assets/demo/orbit/wiki/global/orbit-product-review-checklist.md +44 -0
- package/assets/demo/orbit/wiki/global/orbit-revenue-gross-to-net-reconciliation.md +50 -0
- package/assets/demo/orbit/wiki/global/sales-ops-cs-handoff-process.md +58 -0
- package/assets/python/kaelio_ktx-0.1.0-py3-none-any.whl +0 -0
- package/assets/python/manifest.json +11 -0
- package/dist/bin.d.ts +2 -0
- package/dist/bin.js +7 -0
- package/dist/clack.d.ts +26 -0
- package/dist/clack.js +45 -0
- package/dist/claude-code-prompt-caching.d.ts +4 -0
- package/dist/claude-code-prompt-caching.js +22 -0
- package/dist/cli-program.d.ts +53 -0
- package/dist/cli-program.js +372 -0
- package/dist/cli-program.test.d.ts +1 -0
- package/dist/cli-program.test.js +45 -0
- package/dist/cli-runtime.d.ts +46 -0
- package/dist/cli-runtime.js +44 -0
- package/dist/command-schemas.d.ts +34 -0
- package/dist/command-schemas.js +32 -0
- package/dist/command-tree.d.ts +10 -0
- package/dist/command-tree.js +41 -0
- package/dist/command-tree.test.d.ts +1 -0
- package/dist/command-tree.test.js +126 -0
- package/dist/commands/connection-commands.d.ts +3 -0
- package/dist/commands/connection-commands.js +46 -0
- package/dist/commands/ingest-commands.d.ts +9 -0
- package/dist/commands/ingest-commands.js +65 -0
- package/dist/commands/knowledge-commands.d.ts +3 -0
- package/dist/commands/knowledge-commands.js +57 -0
- package/dist/commands/mcp-commands.d.ts +3 -0
- package/dist/commands/mcp-commands.js +117 -0
- package/dist/commands/mcp-commands.test.d.ts +1 -0
- package/dist/commands/mcp-commands.test.js +47 -0
- package/dist/commands/runtime-commands.d.ts +3 -0
- package/dist/commands/runtime-commands.js +68 -0
- package/dist/commands/setup-commands.d.ts +3 -0
- package/dist/commands/setup-commands.js +347 -0
- package/dist/commands/sl-commands.d.ts +3 -0
- package/dist/commands/sl-commands.js +130 -0
- package/dist/commands/status-commands.d.ts +3 -0
- package/dist/commands/status-commands.js +47 -0
- package/dist/connection.d.ts +28 -0
- package/dist/connection.js +258 -0
- package/dist/connection.test.d.ts +1 -0
- package/dist/connection.test.js +405 -0
- package/dist/context-build-view.d.ts +106 -0
- package/dist/context-build-view.js +868 -0
- package/dist/context-build-view.test.d.ts +1 -0
- package/dist/context-build-view.test.js +927 -0
- package/dist/database-tree-picker.d.ts +24 -0
- package/dist/database-tree-picker.js +134 -0
- package/dist/database-tree-picker.test.d.ts +1 -0
- package/dist/database-tree-picker.test.js +135 -0
- package/dist/demo-assets.d.ts +17 -0
- package/dist/demo-assets.js +150 -0
- package/dist/demo-assets.test.d.ts +1 -0
- package/dist/demo-assets.test.js +95 -0
- package/dist/demo-metrics.d.ts +35 -0
- package/dist/demo-metrics.js +131 -0
- package/dist/demo-metrics.test.d.ts +1 -0
- package/dist/demo-metrics.test.js +108 -0
- package/dist/dev.d.ts +3 -0
- package/dist/dev.js +48 -0
- package/dist/dev.test.d.ts +1 -0
- package/dist/dev.test.js +169 -0
- package/dist/doctor.d.ts +72 -0
- package/dist/doctor.js +460 -0
- package/dist/doctor.test.d.ts +1 -0
- package/dist/doctor.test.js +604 -0
- package/dist/example-smoke.test.d.ts +1 -0
- package/dist/example-smoke.test.js +83 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +12 -0
- package/dist/index.test.d.ts +1 -0
- package/dist/index.test.js +1213 -0
- package/dist/ingest-depth.d.ts +8 -0
- package/dist/ingest-depth.js +58 -0
- package/dist/ingest-query-executor.d.ts +9 -0
- package/dist/ingest-query-executor.js +30 -0
- package/dist/ingest-query-executor.test.d.ts +1 -0
- package/dist/ingest-query-executor.test.js +71 -0
- package/dist/ingest-report-file.d.ts +2 -0
- package/dist/ingest-report-file.js +20 -0
- package/dist/ingest-report-file.test.d.ts +1 -0
- package/dist/ingest-report-file.test.js +63 -0
- package/dist/ingest-viz.test.d.ts +1 -0
- package/dist/ingest-viz.test.js +691 -0
- package/dist/ingest.d.ts +64 -0
- package/dist/ingest.js +561 -0
- package/dist/ingest.test-utils.d.ts +119 -0
- package/dist/ingest.test-utils.js +625 -0
- package/dist/ingest.test.d.ts +1 -0
- package/dist/ingest.test.js +1302 -0
- package/dist/io/logger.d.ts +11 -0
- package/dist/io/logger.js +22 -0
- package/dist/io/logger.test.d.ts +1 -0
- package/dist/io/logger.test.js +55 -0
- package/dist/io/mode.d.ts +9 -0
- package/dist/io/mode.js +28 -0
- package/dist/io/mode.test.d.ts +1 -0
- package/dist/io/mode.test.js +48 -0
- package/dist/io/print-list.d.ts +42 -0
- package/dist/io/print-list.js +192 -0
- package/dist/io/print-list.test.d.ts +1 -0
- package/dist/io/print-list.test.js +275 -0
- package/dist/io/symbols.d.ts +10 -0
- package/dist/io/symbols.js +33 -0
- package/dist/knowledge.d.ts +23 -0
- package/dist/knowledge.js +86 -0
- package/dist/knowledge.test.d.ts +1 -0
- package/dist/knowledge.test.js +113 -0
- package/dist/local-adapters.d.ts +13 -0
- package/dist/local-adapters.js +295 -0
- package/dist/local-adapters.test.d.ts +1 -0
- package/dist/local-adapters.test.js +162 -0
- package/dist/local-scan-connectors.d.ts +3 -0
- package/dist/local-scan-connectors.js +54 -0
- package/dist/local-scan-connectors.test.d.ts +1 -0
- package/dist/local-scan-connectors.test.js +92 -0
- package/dist/managed-local-embeddings.d.ts +38 -0
- package/dist/managed-local-embeddings.js +49 -0
- package/dist/managed-local-embeddings.test.d.ts +1 -0
- package/dist/managed-local-embeddings.test.js +161 -0
- package/dist/managed-mcp-daemon.d.ts +73 -0
- package/dist/managed-mcp-daemon.js +183 -0
- package/dist/managed-mcp-daemon.test.d.ts +1 -0
- package/dist/managed-mcp-daemon.test.js +104 -0
- package/dist/managed-python-command.d.ts +29 -0
- package/dist/managed-python-command.js +77 -0
- package/dist/managed-python-command.test.d.ts +1 -0
- package/dist/managed-python-command.test.js +206 -0
- package/dist/managed-python-daemon.d.ts +112 -0
- package/dist/managed-python-daemon.js +585 -0
- package/dist/managed-python-daemon.test.d.ts +1 -0
- package/dist/managed-python-daemon.test.js +340 -0
- package/dist/managed-python-http.d.ts +39 -0
- package/dist/managed-python-http.js +110 -0
- package/dist/managed-python-http.test.d.ts +1 -0
- package/dist/managed-python-http.test.js +177 -0
- package/dist/managed-python-runtime.d.ts +122 -0
- package/dist/managed-python-runtime.js +313 -0
- package/dist/managed-python-runtime.test.d.ts +1 -0
- package/dist/managed-python-runtime.test.js +396 -0
- package/dist/mcp-http-server.d.ts +43 -0
- package/dist/mcp-http-server.js +270 -0
- package/dist/mcp-http-server.test.d.ts +1 -0
- package/dist/mcp-http-server.test.js +209 -0
- package/dist/memory-flow-hud.d.ts +32 -0
- package/dist/memory-flow-hud.js +219 -0
- package/dist/memory-flow-interactive.d.ts +29 -0
- package/dist/memory-flow-interactive.js +94 -0
- package/dist/memory-flow-interactive.test.d.ts +1 -0
- package/dist/memory-flow-interactive.test.js +109 -0
- package/dist/memory-flow-tui.d.ts +76 -0
- package/dist/memory-flow-tui.js +343 -0
- package/dist/memory-flow-tui.test.d.ts +1 -0
- package/dist/memory-flow-tui.test.js +247 -0
- package/dist/next-steps.d.ts +36 -0
- package/dist/next-steps.js +67 -0
- package/dist/next-steps.test.d.ts +1 -0
- package/dist/next-steps.test.js +75 -0
- package/dist/notion-page-picker.d.ts +35 -0
- package/dist/notion-page-picker.js +208 -0
- package/dist/notion-page-picker.test.d.ts +1 -0
- package/dist/notion-page-picker.test.js +244 -0
- package/dist/print-command-tree.d.ts +4 -0
- package/dist/print-command-tree.js +31 -0
- package/dist/print-command-tree.test.d.ts +1 -0
- package/dist/print-command-tree.test.js +37 -0
- package/dist/project-dir.test.d.ts +1 -0
- package/dist/project-dir.test.js +124 -0
- package/dist/project-resolver.d.ts +7 -0
- package/dist/project-resolver.js +42 -0
- package/dist/project-resolver.test.d.ts +1 -0
- package/dist/project-resolver.test.js +49 -0
- package/dist/prompt-navigation.d.ts +6 -0
- package/dist/prompt-navigation.js +60 -0
- package/dist/prompt-navigation.test.d.ts +1 -0
- package/dist/prompt-navigation.test.js +33 -0
- package/dist/public-ingest-copy.d.ts +3 -0
- package/dist/public-ingest-copy.js +32 -0
- package/dist/public-ingest-copy.test.d.ts +1 -0
- package/dist/public-ingest-copy.test.js +24 -0
- package/dist/public-ingest.d.ts +111 -0
- package/dist/public-ingest.js +546 -0
- package/dist/public-ingest.test.d.ts +1 -0
- package/dist/public-ingest.test.js +737 -0
- package/dist/runtime.d.ts +44 -0
- package/dist/runtime.js +151 -0
- package/dist/runtime.test.d.ts +1 -0
- package/dist/runtime.test.js +380 -0
- package/dist/scan.d.ts +34 -0
- package/dist/scan.js +275 -0
- package/dist/scan.test.d.ts +1 -0
- package/dist/scan.test.js +983 -0
- package/dist/setup-agents.d.ts +87 -0
- package/dist/setup-agents.js +471 -0
- package/dist/setup-agents.test.d.ts +1 -0
- package/dist/setup-agents.test.js +352 -0
- package/dist/setup-context.d.ts +86 -0
- package/dist/setup-context.js +553 -0
- package/dist/setup-context.test.d.ts +1 -0
- package/dist/setup-context.test.js +490 -0
- package/dist/setup-database-context-depth.d.ts +22 -0
- package/dist/setup-database-context-depth.js +83 -0
- package/dist/setup-databases.d.ts +82 -0
- package/dist/setup-databases.js +1858 -0
- package/dist/setup-databases.test.d.ts +1 -0
- package/dist/setup-databases.test.js +1883 -0
- package/dist/setup-demo-tour.d.ts +33 -0
- package/dist/setup-demo-tour.js +302 -0
- package/dist/setup-demo-tour.test.d.ts +1 -0
- package/dist/setup-demo-tour.test.js +221 -0
- package/dist/setup-embeddings.d.ts +57 -0
- package/dist/setup-embeddings.js +347 -0
- package/dist/setup-embeddings.test.d.ts +1 -0
- package/dist/setup-embeddings.test.js +379 -0
- package/dist/setup-interrupt.d.ts +15 -0
- package/dist/setup-interrupt.js +71 -0
- package/dist/setup-interrupt.test.d.ts +1 -0
- package/dist/setup-interrupt.test.js +77 -0
- package/dist/setup-models.d.ts +90 -0
- package/dist/setup-models.js +760 -0
- package/dist/setup-models.test.d.ts +1 -0
- package/dist/setup-models.test.js +857 -0
- package/dist/setup-project.d.ts +45 -0
- package/dist/setup-project.js +289 -0
- package/dist/setup-project.test.d.ts +1 -0
- package/dist/setup-project.test.js +229 -0
- package/dist/setup-prompts.d.ts +54 -0
- package/dist/setup-prompts.js +88 -0
- package/dist/setup-prompts.test.d.ts +1 -0
- package/dist/setup-prompts.test.js +170 -0
- package/dist/setup-ready-menu.d.ts +18 -0
- package/dist/setup-ready-menu.js +31 -0
- package/dist/setup-ready-menu.test.d.ts +1 -0
- package/dist/setup-ready-menu.test.js +41 -0
- package/dist/setup-secrets.d.ts +7 -0
- package/dist/setup-secrets.js +15 -0
- package/dist/setup-secrets.test.d.ts +1 -0
- package/dist/setup-secrets.test.js +30 -0
- package/dist/setup-sources.d.ts +105 -0
- package/dist/setup-sources.js +1606 -0
- package/dist/setup-sources.test.d.ts +1 -0
- package/dist/setup-sources.test.js +1277 -0
- package/dist/setup.d.ts +130 -0
- package/dist/setup.js +478 -0
- package/dist/setup.test.d.ts +1 -0
- package/dist/setup.test.js +1478 -0
- package/dist/skills/research/SKILL.md +49 -0
- package/dist/sl.d.ts +60 -0
- package/dist/sl.js +167 -0
- package/dist/sl.test.d.ts +1 -0
- package/dist/sl.test.js +452 -0
- package/dist/source-mapping.d.ts +26 -0
- package/dist/source-mapping.js +151 -0
- package/dist/standalone-smoke.test.d.ts +1 -0
- package/dist/standalone-smoke.test.js +247 -0
- package/dist/startup-profile.d.ts +3 -0
- package/dist/startup-profile.js +44 -0
- package/dist/status-project.d.ts +118 -0
- package/dist/status-project.js +723 -0
- package/dist/text-ingest.d.ts +29 -0
- package/dist/text-ingest.js +270 -0
- package/dist/text-ingest.test.d.ts +1 -0
- package/dist/text-ingest.test.js +247 -0
- package/dist/tree-picker-state.d.ts +73 -0
- package/dist/tree-picker-state.js +416 -0
- package/dist/tree-picker-state.test.d.ts +1 -0
- package/dist/tree-picker-state.test.js +303 -0
- package/dist/tree-picker-tui.d.ts +78 -0
- package/dist/tree-picker-tui.js +226 -0
- package/dist/tree-picker-tui.test.d.ts +1 -0
- package/dist/tree-picker-tui.test.js +248 -0
- package/dist/viz-fallback.d.ts +28 -0
- package/dist/viz-fallback.js +51 -0
- package/dist/viz-fallback.test.d.ts +1 -0
- package/dist/viz-fallback.test.js +77 -0
- package/node_modules/@ktx/connector-bigquery/dist/connector.d.ts +141 -0
- package/node_modules/@ktx/connector-bigquery/dist/connector.js +371 -0
- package/node_modules/@ktx/connector-bigquery/dist/connector.test.d.ts +1 -0
- package/node_modules/@ktx/connector-bigquery/dist/connector.test.js +247 -0
- package/node_modules/@ktx/connector-bigquery/dist/dialect.d.ts +29 -0
- package/node_modules/@ktx/connector-bigquery/dist/dialect.js +178 -0
- package/node_modules/@ktx/connector-bigquery/dist/dialect.test.d.ts +1 -0
- package/node_modules/@ktx/connector-bigquery/dist/dialect.test.js +36 -0
- package/node_modules/@ktx/connector-bigquery/dist/index.d.ts +3 -0
- package/node_modules/@ktx/connector-bigquery/dist/index.js +3 -0
- package/node_modules/@ktx/connector-bigquery/dist/live-database-introspection.d.ts +10 -0
- package/node_modules/@ktx/connector-bigquery/dist/live-database-introspection.js +20 -0
- package/node_modules/@ktx/connector-bigquery/dist/package-exports.test.d.ts +1 -0
- package/node_modules/@ktx/connector-bigquery/dist/package-exports.test.js +10 -0
- package/node_modules/@ktx/connector-bigquery/package.json +20 -0
- package/node_modules/@ktx/connector-clickhouse/dist/connector.d.ts +113 -0
- package/node_modules/@ktx/connector-clickhouse/dist/connector.js +345 -0
- package/node_modules/@ktx/connector-clickhouse/dist/connector.test.d.ts +1 -0
- package/node_modules/@ktx/connector-clickhouse/dist/connector.test.js +228 -0
- package/node_modules/@ktx/connector-clickhouse/dist/dialect.d.ts +33 -0
- package/node_modules/@ktx/connector-clickhouse/dist/dialect.js +236 -0
- package/node_modules/@ktx/connector-clickhouse/dist/dialect.test.d.ts +1 -0
- package/node_modules/@ktx/connector-clickhouse/dist/dialect.test.js +36 -0
- package/node_modules/@ktx/connector-clickhouse/dist/index.d.ts +3 -0
- package/node_modules/@ktx/connector-clickhouse/dist/index.js +3 -0
- package/node_modules/@ktx/connector-clickhouse/dist/live-database-introspection.d.ts +11 -0
- package/node_modules/@ktx/connector-clickhouse/dist/live-database-introspection.js +21 -0
- package/node_modules/@ktx/connector-clickhouse/dist/package-exports.test.d.ts +1 -0
- package/node_modules/@ktx/connector-clickhouse/dist/package-exports.test.js +10 -0
- package/node_modules/@ktx/connector-clickhouse/package.json +20 -0
- package/node_modules/@ktx/connector-mysql/dist/connector.d.ts +116 -0
- package/node_modules/@ktx/connector-mysql/dist/connector.js +385 -0
- package/node_modules/@ktx/connector-mysql/dist/connector.test.d.ts +1 -0
- package/node_modules/@ktx/connector-mysql/dist/connector.test.js +218 -0
- package/node_modules/@ktx/connector-mysql/dist/dialect.d.ts +29 -0
- package/node_modules/@ktx/connector-mysql/dist/dialect.js +171 -0
- package/node_modules/@ktx/connector-mysql/dist/dialect.test.d.ts +1 -0
- package/node_modules/@ktx/connector-mysql/dist/dialect.test.js +36 -0
- package/node_modules/@ktx/connector-mysql/dist/index.d.ts +3 -0
- package/node_modules/@ktx/connector-mysql/dist/index.js +3 -0
- package/node_modules/@ktx/connector-mysql/dist/live-database-introspection.d.ts +11 -0
- package/node_modules/@ktx/connector-mysql/dist/live-database-introspection.js +21 -0
- package/node_modules/@ktx/connector-mysql/dist/package-exports.test.d.ts +1 -0
- package/node_modules/@ktx/connector-mysql/dist/package-exports.test.js +11 -0
- package/node_modules/@ktx/connector-mysql/package.json +20 -0
- package/node_modules/@ktx/connector-postgres/dist/connector.d.ts +140 -0
- package/node_modules/@ktx/connector-postgres/dist/connector.js +497 -0
- package/node_modules/@ktx/connector-postgres/dist/connector.test.d.ts +1 -0
- package/node_modules/@ktx/connector-postgres/dist/connector.test.js +336 -0
- package/node_modules/@ktx/connector-postgres/dist/dialect.d.ts +29 -0
- package/node_modules/@ktx/connector-postgres/dist/dialect.js +182 -0
- package/node_modules/@ktx/connector-postgres/dist/dialect.test.d.ts +1 -0
- package/node_modules/@ktx/connector-postgres/dist/dialect.test.js +37 -0
- package/node_modules/@ktx/connector-postgres/dist/historic-sql-query-client.d.ts +14 -0
- package/node_modules/@ktx/connector-postgres/dist/historic-sql-query-client.js +24 -0
- package/node_modules/@ktx/connector-postgres/dist/historic-sql-query-client.test.d.ts +1 -0
- package/node_modules/@ktx/connector-postgres/dist/historic-sql-query-client.test.js +45 -0
- package/node_modules/@ktx/connector-postgres/dist/index.d.ts +4 -0
- package/node_modules/@ktx/connector-postgres/dist/index.js +4 -0
- package/node_modules/@ktx/connector-postgres/dist/live-database-introspection.d.ts +11 -0
- package/node_modules/@ktx/connector-postgres/dist/live-database-introspection.js +21 -0
- package/node_modules/@ktx/connector-postgres/dist/package-exports.test.d.ts +1 -0
- package/node_modules/@ktx/connector-postgres/dist/package-exports.test.js +12 -0
- package/node_modules/@ktx/connector-postgres/package.json +20 -0
- package/node_modules/@ktx/connector-snowflake/dist/connector.d.ts +129 -0
- package/node_modules/@ktx/connector-snowflake/dist/connector.js +517 -0
- package/node_modules/@ktx/connector-snowflake/dist/connector.test.d.ts +1 -0
- package/node_modules/@ktx/connector-snowflake/dist/connector.test.js +210 -0
- package/node_modules/@ktx/connector-snowflake/dist/dialect.d.ts +29 -0
- package/node_modules/@ktx/connector-snowflake/dist/dialect.js +156 -0
- package/node_modules/@ktx/connector-snowflake/dist/dialect.test.d.ts +1 -0
- package/node_modules/@ktx/connector-snowflake/dist/dialect.test.js +34 -0
- package/node_modules/@ktx/connector-snowflake/dist/index.d.ts +3 -0
- package/node_modules/@ktx/connector-snowflake/dist/index.js +3 -0
- package/node_modules/@ktx/connector-snowflake/dist/live-database-introspection.d.ts +11 -0
- package/node_modules/@ktx/connector-snowflake/dist/live-database-introspection.js +21 -0
- package/node_modules/@ktx/connector-snowflake/dist/package-exports.test.d.ts +1 -0
- package/node_modules/@ktx/connector-snowflake/dist/package-exports.test.js +10 -0
- package/node_modules/@ktx/connector-snowflake/package.json +20 -0
- package/node_modules/@ktx/connector-sqlite/dist/connector.d.ts +59 -0
- package/node_modules/@ktx/connector-sqlite/dist/connector.js +251 -0
- package/node_modules/@ktx/connector-sqlite/dist/connector.test.d.ts +1 -0
- package/node_modules/@ktx/connector-sqlite/dist/connector.test.js +196 -0
- package/node_modules/@ktx/connector-sqlite/dist/dialect.d.ts +29 -0
- package/node_modules/@ktx/connector-sqlite/dist/dialect.js +146 -0
- package/node_modules/@ktx/connector-sqlite/dist/dialect.test.d.ts +1 -0
- package/node_modules/@ktx/connector-sqlite/dist/dialect.test.js +23 -0
- package/node_modules/@ktx/connector-sqlite/dist/index.d.ts +3 -0
- package/node_modules/@ktx/connector-sqlite/dist/index.js +3 -0
- package/node_modules/@ktx/connector-sqlite/dist/live-database-introspection.d.ts +8 -0
- package/node_modules/@ktx/connector-sqlite/dist/live-database-introspection.js +20 -0
- package/node_modules/@ktx/connector-sqlite/dist/package-exports.test.d.ts +1 -0
- package/node_modules/@ktx/connector-sqlite/dist/package-exports.test.js +11 -0
- package/node_modules/@ktx/connector-sqlite/package.json +20 -0
- package/node_modules/@ktx/connector-sqlserver/dist/connector.d.ts +137 -0
- package/node_modules/@ktx/connector-sqlserver/dist/connector.js +503 -0
- package/node_modules/@ktx/connector-sqlserver/dist/connector.test.d.ts +1 -0
- package/node_modules/@ktx/connector-sqlserver/dist/connector.test.js +269 -0
- package/node_modules/@ktx/connector-sqlserver/dist/dialect.d.ts +30 -0
- package/node_modules/@ktx/connector-sqlserver/dist/dialect.js +169 -0
- package/node_modules/@ktx/connector-sqlserver/dist/dialect.test.d.ts +1 -0
- package/node_modules/@ktx/connector-sqlserver/dist/dialect.test.js +36 -0
- package/node_modules/@ktx/connector-sqlserver/dist/index.d.ts +3 -0
- package/node_modules/@ktx/connector-sqlserver/dist/index.js +3 -0
- package/node_modules/@ktx/connector-sqlserver/dist/live-database-introspection.d.ts +11 -0
- package/node_modules/@ktx/connector-sqlserver/dist/live-database-introspection.js +21 -0
- package/node_modules/@ktx/connector-sqlserver/dist/package-exports.test.d.ts +1 -0
- package/node_modules/@ktx/connector-sqlserver/dist/package-exports.test.js +10 -0
- package/node_modules/@ktx/connector-sqlserver/package.json +20 -0
- package/node_modules/@ktx/context/dist/agent/agent-runner.service.d.ts +18 -0
- package/node_modules/@ktx/context/dist/agent/agent-runner.service.js +10 -0
- package/node_modules/@ktx/context/dist/agent/agent-runner.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/agent/agent-runner.service.test.js +308 -0
- package/node_modules/@ktx/context/dist/agent/index.d.ts +2 -0
- package/node_modules/@ktx/context/dist/agent/index.js +1 -0
- package/node_modules/@ktx/context/dist/connections/connection-type.d.ts +25 -0
- package/node_modules/@ktx/context/dist/connections/connection-type.js +24 -0
- package/node_modules/@ktx/context/dist/connections/dialects.d.ts +9 -0
- package/node_modules/@ktx/context/dist/connections/dialects.js +71 -0
- package/node_modules/@ktx/context/dist/connections/dialects.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/connections/dialects.test.js +24 -0
- package/node_modules/@ktx/context/dist/connections/index.d.ts +11 -0
- package/node_modules/@ktx/context/dist/connections/index.js +9 -0
- package/node_modules/@ktx/context/dist/connections/local-query-executor.d.ts +6 -0
- package/node_modules/@ktx/context/dist/connections/local-query-executor.js +21 -0
- package/node_modules/@ktx/context/dist/connections/local-query-executor.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/connections/local-query-executor.test.js +48 -0
- package/node_modules/@ktx/context/dist/connections/local-warehouse-descriptor.d.ts +20 -0
- package/node_modules/@ktx/context/dist/connections/local-warehouse-descriptor.js +72 -0
- package/node_modules/@ktx/context/dist/connections/local-warehouse-descriptor.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/connections/local-warehouse-descriptor.test.js +53 -0
- package/node_modules/@ktx/context/dist/connections/notion-config.d.ts +41 -0
- package/node_modules/@ktx/context/dist/connections/notion-config.js +132 -0
- package/node_modules/@ktx/context/dist/connections/notion-config.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/connections/notion-config.test.js +121 -0
- package/node_modules/@ktx/context/dist/connections/postgres-query-executor.d.ts +25 -0
- package/node_modules/@ktx/context/dist/connections/postgres-query-executor.js +53 -0
- package/node_modules/@ktx/context/dist/connections/postgres-query-executor.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/connections/postgres-query-executor.test.js +91 -0
- package/node_modules/@ktx/context/dist/connections/query-executor.d.ts +19 -0
- package/node_modules/@ktx/context/dist/connections/query-executor.js +3 -0
- package/node_modules/@ktx/context/dist/connections/read-only-sql.d.ts +2 -0
- package/node_modules/@ktx/context/dist/connections/read-only-sql.js +19 -0
- package/node_modules/@ktx/context/dist/connections/read-only-sql.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/connections/read-only-sql.test.js +20 -0
- package/node_modules/@ktx/context/dist/connections/sqlite-query-executor.d.ts +3 -0
- package/node_modules/@ktx/context/dist/connections/sqlite-query-executor.js +73 -0
- package/node_modules/@ktx/context/dist/connections/sqlite-query-executor.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/connections/sqlite-query-executor.test.js +113 -0
- package/node_modules/@ktx/context/dist/core/config-reference.d.ts +2 -0
- package/node_modules/@ktx/context/dist/core/config-reference.js +29 -0
- package/node_modules/@ktx/context/dist/core/config-reference.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/core/config-reference.test.js +27 -0
- package/node_modules/@ktx/context/dist/core/config.d.ts +25 -0
- package/node_modules/@ktx/context/dist/core/config.js +14 -0
- package/node_modules/@ktx/context/dist/core/embedding.d.ts +5 -0
- package/node_modules/@ktx/context/dist/core/embedding.js +1 -0
- package/node_modules/@ktx/context/dist/core/file-store.d.ts +30 -0
- package/node_modules/@ktx/context/dist/core/file-store.js +1 -0
- package/node_modules/@ktx/context/dist/core/git-env.d.ts +2 -0
- package/node_modules/@ktx/context/dist/core/git-env.js +26 -0
- package/node_modules/@ktx/context/dist/core/git.service.assert-worktree-clean.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/core/git.service.assert-worktree-clean.test.js +62 -0
- package/node_modules/@ktx/context/dist/core/git.service.d.ts +194 -0
- package/node_modules/@ktx/context/dist/core/git.service.delete-directories.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/core/git.service.delete-directories.test.js +61 -0
- package/node_modules/@ktx/context/dist/core/git.service.js +804 -0
- package/node_modules/@ktx/context/dist/core/git.service.reset-hard.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/core/git.service.reset-hard.test.js +47 -0
- package/node_modules/@ktx/context/dist/core/git.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/core/git.service.test.js +325 -0
- package/node_modules/@ktx/context/dist/core/index.d.ts +10 -0
- package/node_modules/@ktx/context/dist/core/index.js +5 -0
- package/node_modules/@ktx/context/dist/core/redaction.d.ts +4 -0
- package/node_modules/@ktx/context/dist/core/redaction.js +39 -0
- package/node_modules/@ktx/context/dist/core/session-worktree.service.d.ts +38 -0
- package/node_modules/@ktx/context/dist/core/session-worktree.service.js +65 -0
- package/node_modules/@ktx/context/dist/core/session-worktree.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/core/session-worktree.service.test.js +97 -0
- package/node_modules/@ktx/context/dist/daemon/index.d.ts +1 -0
- package/node_modules/@ktx/context/dist/daemon/index.js +1 -0
- package/node_modules/@ktx/context/dist/daemon/semantic-layer-compute.d.ts +72 -0
- package/node_modules/@ktx/context/dist/daemon/semantic-layer-compute.js +191 -0
- package/node_modules/@ktx/context/dist/daemon/semantic-layer-compute.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/daemon/semantic-layer-compute.test.js +301 -0
- package/node_modules/@ktx/context/dist/index.d.ts +21 -0
- package/node_modules/@ktx/context/dist/index.js +18 -0
- package/node_modules/@ktx/context/dist/index.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/index.test.js +10 -0
- package/node_modules/@ktx/context/dist/ingest/action-identity.d.ts +3 -0
- package/node_modules/@ktx/context/dist/ingest/action-identity.js +6 -0
- package/node_modules/@ktx/context/dist/ingest/action-identity.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/action-identity.test.js +19 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/chunk.d.ts +7 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/chunk.js +110 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/chunk.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/chunk.test.js +30 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/dbt.adapter.d.ts +18 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/dbt.adapter.js +43 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/dbt.adapter.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/dbt.adapter.test.js +43 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/detect.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/detect.js +12 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/fetch.d.ts +19 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/fetch.js +43 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/fetch.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/fetch.test.js +30 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/parse.d.ts +6 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/parse.js +23 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/parse.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt/parse.test.js +7 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/match-tables.d.ts +27 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/match-tables.js +80 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/match-tables.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/match-tables.test.js +59 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.d.ts +3 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.js +28 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.test.js +55 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/parse-schema.d.ts +65 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/parse-schema.js +432 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/parse-schema.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/parse-schema.test.js +195 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-description-updates.d.ts +13 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-description-updates.js +46 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-description-updates.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-description-updates.test.js +88 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-metadata-updates.d.ts +9 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-metadata-updates.js +57 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-metadata-updates.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-metadata-updates.test.js +68 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-relationship-updates.d.ts +12 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-relationship-updates.js +34 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-relationship-updates.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-relationship-updates.test.js +56 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-extraction-golden-parity.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/dbt-extraction-golden-parity.test.js +392 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/fake/fake.adapter.d.ts +7 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/fake/fake.adapter.js +42 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/bigquery-query-history-reader.d.ts +14 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/bigquery-query-history-reader.js +199 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/bigquery-query-history-reader.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/bigquery-query-history-reader.test.js +121 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/buckets.d.ts +6 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/buckets.js +64 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/buckets.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/buckets.test.js +49 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/chunk-unified.d.ts +3 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/chunk-unified.js +86 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/chunk-unified.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/chunk-unified.test.js +160 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/detect.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/detect.js +25 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/detect.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/detect.test.js +48 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/errors.d.ts +35 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/errors.js +32 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence-tool.d.ts +41 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence-tool.js +88 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence-tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence-tool.test.js +67 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence.d.ts +77 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence.js +32 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence.test.js +43 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/historic-sql.adapter.d.ts +14 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/historic-sql.adapter.js +33 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/historic-sql.adapter.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/historic-sql.adapter.test.js +98 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/local-ingest-acceptance.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/local-ingest-acceptance.test.js +235 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/pattern-inputs.d.ts +21 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/pattern-inputs.js +66 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/pattern-inputs.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/pattern-inputs.test.js +68 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/post-processor.d.ts +4 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/post-processor.js +38 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/post-processor.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/post-processor.test.js +63 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/postgres-pgss-reader.d.ts +5 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/postgres-pgss-reader.js +233 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/postgres-pgss-reader.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/postgres-pgss-reader.test.js +205 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/projection.d.ts +19 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/projection.js +272 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/projection.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/projection.test.js +309 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/redaction.d.ts +6 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/redaction.js +30 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/redaction.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/redaction.test.js +22 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/skill-schemas.d.ts +37 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/skill-schemas.js +24 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/skill-schemas.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/skill-schemas.test.js +62 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/snowflake-query-history-reader.d.ts +8 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/snowflake-query-history-reader.js +180 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/snowflake-query-history-reader.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/snowflake-query-history-reader.test.js +117 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/stage-unified.d.ts +13 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/stage-unified.js +269 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/stage-unified.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/stage-unified.test.js +405 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/types.d.ts +184 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/types.js +99 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/types.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/types.test.js +87 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/chunk.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/chunk.js +44 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/chunk.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/chunk.test.js +95 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/daemon-introspection.d.ts +20 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/daemon-introspection.js +187 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/daemon-introspection.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/daemon-introspection.test.js +204 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/extracted-schema.d.ts +29 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/extracted-schema.js +28 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/extracted-schema.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/extracted-schema.test.js +129 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/live-database.adapter.d.ts +11 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/live-database.adapter.js +24 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/live-database.adapter.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/live-database.adapter.test.js +55 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/manifest.d.ts +65 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/manifest.js +190 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/manifest.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/manifest.test.js +291 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/stage.d.ts +12 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/stage.js +105 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/stage.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/stage.test.js +133 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/structural-sync.d.ts +89 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/structural-sync.js +335 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/structural-sync.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/structural-sync.test.js +416 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/types.d.ts +8 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/live-database/types.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/chunk.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/chunk.js +146 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/chunk.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/chunk.test.js +142 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/client-boundary.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/client-boundary.test.js +12 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/client.d.ts +83 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/client.js +554 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/client.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/client.test.js +407 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/daemon-table-identifier-parser.d.ts +7 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/daemon-table-identifier-parser.js +57 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/daemon-table-identifier-parser.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/daemon-table-identifier-parser.test.js +40 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/detect.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/detect.js +26 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/detect.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/detect.test.js +39 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/evidence-documents.d.ts +3 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/evidence-documents.js +311 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/evidence-documents.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/evidence-documents.test.js +178 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/factory.d.ts +21 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/factory.js +22 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/factory.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/factory.test.js +55 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch-report.d.ts +3 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch-report.js +21 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch-report.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch-report.test.js +71 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch.d.ts +31 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch.js +395 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch.test.js +592 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/local-looker.adapter.d.ts +11 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/local-looker.adapter.js +45 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/local-runtime-store.d.ts +50 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/local-runtime-store.js +196 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/local-runtime-store.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/local-runtime-store.test.js +106 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/looker.adapter.d.ts +57 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/looker.adapter.js +47 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/looker.adapter.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/looker.adapter.test.js +99 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/mapping.d.ts +126 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/mapping.js +303 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/mapping.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/mapping.test.js +334 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/reconcile.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/reconcile.js +20 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/reconcile.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/reconcile.test.js +22 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/scope.d.ts +6 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/scope.js +55 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/scope.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/scope.test.js +84 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/target-connections.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/target-connections.js +38 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/target-connections.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/target-connections.test.js +71 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/tools/looker-query-to-sl.tool.d.ts +107 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/tools/looker-query-to-sl.tool.js +236 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/tools/looker-query-to-sl.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/tools/looker-query-to-sl.tool.test.js +211 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/types.d.ts +438 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/types.js +198 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/types.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/looker/types.test.js +260 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/chunk.d.ts +19 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/chunk.js +128 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/chunk.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/chunk.test.js +213 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/detect.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/detect.js +11 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/detect.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/detect.test.js +37 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch-report.d.ts +15 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch-report.js +98 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch-report.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch-report.test.js +82 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch.d.ts +15 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch.js +54 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch.test.js +121 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/graph.d.ts +16 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/graph.js +85 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/graph.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/graph.test.js +105 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/lookml.adapter.d.ts +17 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/lookml.adapter.js +44 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/lookml.adapter.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/lookml.adapter.test.js +49 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/parse.d.ts +35 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/parse.js +149 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/parse.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/parse.test.js +118 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/pull-config.d.ts +37 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/pull-config.js +26 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/pull-config.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/lookml/pull-config.test.js +128 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/card-references.d.ts +13 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/card-references.js +37 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/card-references.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/card-references.test.js +36 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/chunk.d.ts +6 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/chunk.js +208 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/chunk.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/chunk.test.js +299 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client-boundary.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client-boundary.test.js +38 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client-port.d.ts +167 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client-port.js +9 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client-port.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client-port.test.js +86 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client.d.ts +114 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client.js +671 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client.test.js +377 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/detect.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/detect.js +20 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/detect.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/detect.test.js +42 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fanout-planner.d.ts +17 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fanout-planner.js +23 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fanout-planner.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fanout-planner.test.js +44 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch-scope.d.ts +31 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch-scope.js +72 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch-scope.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch-scope.test.js +124 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch.d.ts +16 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch.js +239 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch.test.js +516 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-metabase.adapter.d.ts +13 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-metabase.adapter.js +41 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-metabase.adapter.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-metabase.adapter.test.js +56 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-source-state-store.d.ts +43 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-source-state-store.js +176 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-source-state-store.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-source-state-store.test.js +99 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/mapping.d.ts +92 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/mapping.js +220 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/mapping.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/mapping.test.js +215 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/metabase.adapter.d.ts +19 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/metabase.adapter.js +41 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/metabase.adapter.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/metabase.adapter.test.js +129 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/serialize-card.d.ts +53 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/serialize-card.js +67 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/serialize-card.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/serialize-card.test.js +205 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/source-state-port.d.ts +23 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/source-state-port.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/types.d.ts +142 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/types.js +106 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/types.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metabase/types.test.js +75 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/chunk.d.ts +19 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/chunk.js +81 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/chunk.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/chunk.test.js +114 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/deep-parse.d.ts +77 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/deep-parse.js +460 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/deep-parse.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/deep-parse.test.js +1139 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/detect.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/detect.js +34 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/detect.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/detect.test.js +43 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/fetch.d.ts +11 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/fetch.js +51 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/fetch.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/fetch.test.js +97 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/graph.d.ts +25 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/graph.js +163 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/graph.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/graph.test.js +245 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/import-semantic-models.d.ts +29 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/import-semantic-models.js +136 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/import-semantic-models.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/import-semantic-models.test.js +318 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/metricflow.adapter.d.ts +16 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/metricflow.adapter.js +44 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/metricflow.adapter.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/metricflow.adapter.test.js +97 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/parse.d.ts +42 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/parse.js +150 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/parse.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/parse.test.js +171 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/pull-config.d.ts +37 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/pull-config.js +24 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/pull-config.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/pull-config.test.js +57 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/semantic-models.d.ts +39 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/semantic-models.js +278 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/semantic-models.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/semantic-models.test.js +204 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/chunk.d.ts +4 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/chunk.js +137 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/cluster.d.ts +10 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/cluster.js +82 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/cluster.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/cluster.test.js +123 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/detect.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/detect.js +20 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/fetch.d.ts +13 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/fetch.js +517 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/fetch.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/fetch.test.js +358 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/local-state-store.d.ts +12 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/local-state-store.js +46 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/local-state-store.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/local-state-store.test.js +29 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/normalize.d.ts +10 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/normalize.js +165 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/normalize.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/normalize.test.js +64 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion-client.d.ts +74 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion-client.js +107 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion-client.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion-client.test.js +49 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion.adapter.d.ts +46 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion.adapter.js +119 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion.adapter.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion.adapter.test.js +315 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/pull-config.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/pull-config.js +4 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/types.d.ts +97 -0
- package/node_modules/@ktx/context/dist/ingest/adapters/notion/types.js +62 -0
- package/node_modules/@ktx/context/dist/ingest/canonical-pins.d.ts +10 -0
- package/node_modules/@ktx/context/dist/ingest/canonical-pins.js +43 -0
- package/node_modules/@ktx/context/dist/ingest/canonical-pins.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/canonical-pins.test.js +66 -0
- package/node_modules/@ktx/context/dist/ingest/clustering/kmeans.d.ts +11 -0
- package/node_modules/@ktx/context/dist/ingest/clustering/kmeans.js +101 -0
- package/node_modules/@ktx/context/dist/ingest/clustering/kmeans.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/clustering/kmeans.test.js +61 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/candidate-dedup.service.d.ts +27 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/candidate-dedup.service.js +234 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/candidate-dedup.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/candidate-dedup.service.test.js +216 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/context-candidate-carryforward.service.d.ts +31 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/context-candidate-carryforward.service.js +131 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/context-candidate-carryforward.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/context-candidate-carryforward.service.test.js +161 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/curator-pagination.service.d.ts +64 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/curator-pagination.service.js +240 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/curator-pagination.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/curator-pagination.service.test.js +168 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/embedding-text.d.ts +6 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/embedding-text.js +3 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/embedding-text.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/embedding-text.test.js +10 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/index.d.ts +9 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/index.js +4 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/store.d.ts +24 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/store.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/store.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/store.test.js +67 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/types.d.ts +103 -0
- package/node_modules/@ktx/context/dist/ingest/context-candidates/types.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/context-evidence-index.service.d.ts +53 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/context-evidence-index.service.js +303 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/context-evidence-index.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/context-evidence-index.service.test.js +374 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/index.d.ts +5 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/index.js +2 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/sqlite-context-evidence-store.d.ts +89 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/sqlite-context-evidence-store.js +1025 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/sqlite-context-evidence-store.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/sqlite-context-evidence-store.test.js +416 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/store.d.ts +10 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/store.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/store.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/store.test.js +55 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/types.d.ts +49 -0
- package/node_modules/@ktx/context/dist/ingest/context-evidence/types.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/dbt-shared/project-vars.d.ts +12 -0
- package/node_modules/@ktx/context/dist/ingest/dbt-shared/project-vars.js +86 -0
- package/node_modules/@ktx/context/dist/ingest/dbt-shared/project-vars.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/dbt-shared/project-vars.test.js +90 -0
- package/node_modules/@ktx/context/dist/ingest/dbt-shared/schema-files.d.ts +3 -0
- package/node_modules/@ktx/context/dist/ingest/dbt-shared/schema-files.js +62 -0
- package/node_modules/@ktx/context/dist/ingest/dbt-shared/schema-files.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/dbt-shared/schema-files.test.js +35 -0
- package/node_modules/@ktx/context/dist/ingest/diff-set.service.d.ts +8 -0
- package/node_modules/@ktx/context/dist/ingest/diff-set.service.js +41 -0
- package/node_modules/@ktx/context/dist/ingest/diff-set.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/diff-set.service.test.js +132 -0
- package/node_modules/@ktx/context/dist/ingest/git-env.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/git-env.js +33 -0
- package/node_modules/@ktx/context/dist/ingest/index.d.ts +148 -0
- package/node_modules/@ktx/context/dist/ingest/index.js +93 -0
- package/node_modules/@ktx/context/dist/ingest/ingest-bundle.runner.d.ts +38 -0
- package/node_modules/@ktx/context/dist/ingest/ingest-bundle.runner.js +1263 -0
- package/node_modules/@ktx/context/dist/ingest/ingest-bundle.runner.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/ingest-bundle.runner.test.js +1727 -0
- package/node_modules/@ktx/context/dist/ingest/ingest-prompts.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/ingest-prompts.test.js +32 -0
- package/node_modules/@ktx/context/dist/ingest/ingest-runtime-assets.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/ingest-runtime-assets.test.js +89 -0
- package/node_modules/@ktx/context/dist/ingest/local-adapters.d.ts +35 -0
- package/node_modules/@ktx/context/dist/ingest/local-adapters.js +247 -0
- package/node_modules/@ktx/context/dist/ingest/local-adapters.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/local-adapters.test.js +625 -0
- package/node_modules/@ktx/context/dist/ingest/local-bundle-ingest.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/local-bundle-ingest.test.js +768 -0
- package/node_modules/@ktx/context/dist/ingest/local-bundle-runtime.d.ts +32 -0
- package/node_modules/@ktx/context/dist/ingest/local-bundle-runtime.js +558 -0
- package/node_modules/@ktx/context/dist/ingest/local-bundle-runtime.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/local-bundle-runtime.test.js +160 -0
- package/node_modules/@ktx/context/dist/ingest/local-embedding-provider.integration.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/local-embedding-provider.integration.test.js +140 -0
- package/node_modules/@ktx/context/dist/ingest/local-ingest.d.ts +86 -0
- package/node_modules/@ktx/context/dist/ingest/local-ingest.js +302 -0
- package/node_modules/@ktx/context/dist/ingest/local-mapping-reconcile.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/local-mapping-reconcile.js +26 -0
- package/node_modules/@ktx/context/dist/ingest/local-mapping-reconcile.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/local-mapping-reconcile.test.js +61 -0
- package/node_modules/@ktx/context/dist/ingest/local-metabase-ingest.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/local-metabase-ingest.test.js +227 -0
- package/node_modules/@ktx/context/dist/ingest/local-stage-ingest.d.ts +53 -0
- package/node_modules/@ktx/context/dist/ingest/local-stage-ingest.js +280 -0
- package/node_modules/@ktx/context/dist/ingest/local-stage-ingest.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/local-stage-ingest.test.js +552 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/acceptance-fixtures.d.ts +6 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/acceptance-fixtures.js +155 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/acceptance.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/acceptance.test.js +43 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/events.d.ts +9 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/events.js +196 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/events.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/events.test.js +319 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/index.d.ts +6 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/index.js +4 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/interaction.d.ts +9 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/interaction.js +315 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/interaction.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/interaction.test.js +264 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/interactive-render.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/interactive-render.js +121 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/interactive-render.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/interactive-render.test.js +160 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/known-errors.d.ts +7 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/known-errors.js +17 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/live-buffer.d.ts +3 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/live-buffer.js +53 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/live-buffer.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/live-buffer.test.js +77 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/package-export.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/package-export.test.js +9 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/render.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/render.js +84 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/render.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/render.test.js +105 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/schema.d.ts +190 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/schema.js +155 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/schema.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/schema.test.js +146 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/summary.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/summary.js +88 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/summary.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/summary.test.js +130 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/types.d.ts +207 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/types.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/view-model.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/view-model.js +450 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/view-model.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/view-model.test.js +397 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/visuals.d.ts +20 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/visuals.js +44 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/visuals.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/memory-flow/visuals.test.js +49 -0
- package/node_modules/@ktx/context/dist/ingest/metabase-mapping.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/metabase-mapping.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/page-triage/index.d.ts +2 -0
- package/node_modules/@ktx/context/dist/ingest/page-triage/index.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/page-triage/page-triage.service.d.ts +84 -0
- package/node_modules/@ktx/context/dist/ingest/page-triage/page-triage.service.js +318 -0
- package/node_modules/@ktx/context/dist/ingest/page-triage/page-triage.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/page-triage/page-triage.service.test.js +311 -0
- package/node_modules/@ktx/context/dist/ingest/parsed-target-table.d.ts +21 -0
- package/node_modules/@ktx/context/dist/ingest/parsed-target-table.js +24 -0
- package/node_modules/@ktx/context/dist/ingest/ports.d.ts +339 -0
- package/node_modules/@ktx/context/dist/ingest/ports.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/raw-sources-paths.d.ts +4 -0
- package/node_modules/@ktx/context/dist/ingest/raw-sources-paths.js +16 -0
- package/node_modules/@ktx/context/dist/ingest/raw-sources-paths.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/raw-sources-paths.test.js +18 -0
- package/node_modules/@ktx/context/dist/ingest/repo-fetch.d.ts +34 -0
- package/node_modules/@ktx/context/dist/ingest/repo-fetch.js +132 -0
- package/node_modules/@ktx/context/dist/ingest/repo-fetch.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/repo-fetch.test.js +168 -0
- package/node_modules/@ktx/context/dist/ingest/report-snapshot.d.ts +202 -0
- package/node_modules/@ktx/context/dist/ingest/report-snapshot.js +160 -0
- package/node_modules/@ktx/context/dist/ingest/report-snapshot.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/report-snapshot.test.js +205 -0
- package/node_modules/@ktx/context/dist/ingest/reports.d.ts +79 -0
- package/node_modules/@ktx/context/dist/ingest/reports.js +54 -0
- package/node_modules/@ktx/context/dist/ingest/source-adapter-registry.d.ts +8 -0
- package/node_modules/@ktx/context/dist/ingest/source-adapter-registry.js +23 -0
- package/node_modules/@ktx/context/dist/ingest/source-adapter-registry.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/source-adapter-registry.test.js +35 -0
- package/node_modules/@ktx/context/dist/ingest/sqlite-bundle-ingest-store.d.ts +38 -0
- package/node_modules/@ktx/context/dist/ingest/sqlite-bundle-ingest-store.js +501 -0
- package/node_modules/@ktx/context/dist/ingest/sqlite-bundle-ingest-store.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/sqlite-bundle-ingest-store.test.js +517 -0
- package/node_modules/@ktx/context/dist/ingest/sqlite-local-ingest-store.d.ts +19 -0
- package/node_modules/@ktx/context/dist/ingest/sqlite-local-ingest-store.js +190 -0
- package/node_modules/@ktx/context/dist/ingest/sqlite-local-ingest-store.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/sqlite-local-ingest-store.test.js +143 -0
- package/node_modules/@ktx/context/dist/ingest/stages/build-reconcile-context.context-candidates.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/stages/build-reconcile-context.context-candidates.test.js +102 -0
- package/node_modules/@ktx/context/dist/ingest/stages/build-reconcile-context.d.ts +61 -0
- package/node_modules/@ktx/context/dist/ingest/stages/build-reconcile-context.js +122 -0
- package/node_modules/@ktx/context/dist/ingest/stages/build-reconcile-context.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/stages/build-reconcile-context.test.js +141 -0
- package/node_modules/@ktx/context/dist/ingest/stages/build-wu-context.d.ts +27 -0
- package/node_modules/@ktx/context/dist/ingest/stages/build-wu-context.js +87 -0
- package/node_modules/@ktx/context/dist/ingest/stages/build-wu-context.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/stages/build-wu-context.test.js +196 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-1-stage-raw-files.d.ts +13 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-1-stage-raw-files.js +24 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-1-stage-raw-files.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-1-stage-raw-files.test.js +54 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-3-work-units.d.ts +44 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-3-work-units.js +104 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-3-work-units.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-3-work-units.test.js +146 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-4-reconciliation.d.ts +28 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-4-reconciliation.js +17 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-4-reconciliation.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-4-reconciliation.test.js +144 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-index.types.d.ts +50 -0
- package/node_modules/@ktx/context/dist/ingest/stages/stage-index.types.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/stages/validate-wu-sources.d.ts +9 -0
- package/node_modules/@ktx/context/dist/ingest/stages/validate-wu-sources.js +14 -0
- package/node_modules/@ktx/context/dist/ingest/stages/validate-wu-sources.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/stages/validate-wu-sources.test.js +27 -0
- package/node_modules/@ktx/context/dist/ingest/tools/emit-artifact-resolution.tool.d.ts +13 -0
- package/node_modules/@ktx/context/dist/ingest/tools/emit-artifact-resolution.tool.js +40 -0
- package/node_modules/@ktx/context/dist/ingest/tools/emit-conflict-resolution.tool.d.ts +13 -0
- package/node_modules/@ktx/context/dist/ingest/tools/emit-conflict-resolution.tool.js +31 -0
- package/node_modules/@ktx/context/dist/ingest/tools/emit-eviction-decision.tool.d.ts +13 -0
- package/node_modules/@ktx/context/dist/ingest/tools/emit-eviction-decision.tool.js +38 -0
- package/node_modules/@ktx/context/dist/ingest/tools/emit-reconciliation-records.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/tools/emit-reconciliation-records.tool.test.js +237 -0
- package/node_modules/@ktx/context/dist/ingest/tools/emit-unmapped-fallback.tool.d.ts +14 -0
- package/node_modules/@ktx/context/dist/ingest/tools/emit-unmapped-fallback.tool.js +91 -0
- package/node_modules/@ktx/context/dist/ingest/tools/eviction-list.tool.d.ts +8 -0
- package/node_modules/@ktx/context/dist/ingest/tools/eviction-list.tool.js +25 -0
- package/node_modules/@ktx/context/dist/ingest/tools/eviction-list.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/tools/eviction-list.tool.test.js +44 -0
- package/node_modules/@ktx/context/dist/ingest/tools/read-raw-file.tool.d.ts +8 -0
- package/node_modules/@ktx/context/dist/ingest/tools/read-raw-file.tool.js +34 -0
- package/node_modules/@ktx/context/dist/ingest/tools/read-raw-file.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/tools/read-raw-file.tool.test.js +45 -0
- package/node_modules/@ktx/context/dist/ingest/tools/read-raw-span.tool.d.ts +10 -0
- package/node_modules/@ktx/context/dist/ingest/tools/read-raw-span.tool.js +40 -0
- package/node_modules/@ktx/context/dist/ingest/tools/read-raw-span.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/tools/read-raw-span.tool.test.js +34 -0
- package/node_modules/@ktx/context/dist/ingest/tools/stage-diff.tool.d.ts +8 -0
- package/node_modules/@ktx/context/dist/ingest/tools/stage-diff.tool.js +37 -0
- package/node_modules/@ktx/context/dist/ingest/tools/stage-diff.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/tools/stage-diff.tool.test.js +112 -0
- package/node_modules/@ktx/context/dist/ingest/tools/stage-list.tool.d.ts +5 -0
- package/node_modules/@ktx/context/dist/ingest/tools/stage-list.tool.js +32 -0
- package/node_modules/@ktx/context/dist/ingest/tools/stage-list.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/tools/stage-list.tool.test.js +58 -0
- package/node_modules/@ktx/context/dist/ingest/tools/tool-call-logger.d.ts +33 -0
- package/node_modules/@ktx/context/dist/ingest/tools/tool-call-logger.js +80 -0
- package/node_modules/@ktx/context/dist/ingest/tools/tool-transcript-summary.d.ts +13 -0
- package/node_modules/@ktx/context/dist/ingest/tools/tool-transcript-summary.js +150 -0
- package/node_modules/@ktx/context/dist/ingest/tools/tool-transcript-summary.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/tools/tool-transcript-summary.test.js +141 -0
- package/node_modules/@ktx/context/dist/ingest/tools/verification-ledger.tool.d.ts +14 -0
- package/node_modules/@ktx/context/dist/ingest/tools/verification-ledger.tool.js +71 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/discover-data.tool.d.ts +36 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/discover-data.tool.js +94 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/discover-data.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/discover-data.tool.test.js +107 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/entity-details.tool.d.ts +43 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/entity-details.tool.js +137 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/entity-details.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/entity-details.tool.test.js +146 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/index.d.ts +9 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/index.js +18 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/sql-execution.tool.d.ts +31 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/sql-execution.tool.js +84 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/sql-execution.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/sql-execution.tool.test.js +50 -0
- package/node_modules/@ktx/context/dist/ingest/types.d.ts +144 -0
- package/node_modules/@ktx/context/dist/ingest/types.js +1 -0
- package/node_modules/@ktx/context/dist/ingest/wiki-sl-ref-repair.d.ts +19 -0
- package/node_modules/@ktx/context/dist/ingest/wiki-sl-ref-repair.js +89 -0
- package/node_modules/@ktx/context/dist/ingest/wiki-sl-ref-repair.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/ingest/wiki-sl-ref-repair.test.js +81 -0
- package/node_modules/@ktx/context/dist/llm/ai-sdk-runtime.d.ts +23 -0
- package/node_modules/@ktx/context/dist/llm/ai-sdk-runtime.js +133 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-env.d.ts +2 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-env.js +21 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-env.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-env.test.js +17 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-models.d.ts +1 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-models.js +17 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-models.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-models.test.js +15 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-runtime.d.ts +36 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-runtime.js +242 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-runtime.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/llm/claude-code-runtime.test.js +384 -0
- package/node_modules/@ktx/context/dist/llm/debug-request-recorder.d.ts +44 -0
- package/node_modules/@ktx/context/dist/llm/debug-request-recorder.js +79 -0
- package/node_modules/@ktx/context/dist/llm/debug-request-recorder.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/llm/debug-request-recorder.test.js +112 -0
- package/node_modules/@ktx/context/dist/llm/embedding-port.d.ts +17 -0
- package/node_modules/@ktx/context/dist/llm/embedding-port.js +31 -0
- package/node_modules/@ktx/context/dist/llm/embedding-port.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/llm/embedding-port.test.js +34 -0
- package/node_modules/@ktx/context/dist/llm/generation.d.ts +8 -0
- package/node_modules/@ktx/context/dist/llm/generation.js +6 -0
- package/node_modules/@ktx/context/dist/llm/index.d.ts +13 -0
- package/node_modules/@ktx/context/dist/llm/index.js +10 -0
- package/node_modules/@ktx/context/dist/llm/local-config.d.ts +22 -0
- package/node_modules/@ktx/context/dist/llm/local-config.js +145 -0
- package/node_modules/@ktx/context/dist/llm/local-config.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/llm/local-config.test.js +165 -0
- package/node_modules/@ktx/context/dist/llm/runtime-local-config.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/llm/runtime-local-config.test.js +17 -0
- package/node_modules/@ktx/context/dist/llm/runtime-port.d.ts +59 -0
- package/node_modules/@ktx/context/dist/llm/runtime-port.js +9 -0
- package/node_modules/@ktx/context/dist/llm/runtime-tools.d.ts +10 -0
- package/node_modules/@ktx/context/dist/llm/runtime-tools.js +68 -0
- package/node_modules/@ktx/context/dist/llm/runtime-tools.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/llm/runtime-tools.test.js +36 -0
- package/node_modules/@ktx/context/dist/mcp/context-tools.d.ts +9 -0
- package/node_modules/@ktx/context/dist/mcp/context-tools.js +398 -0
- package/node_modules/@ktx/context/dist/mcp/index.d.ts +5 -0
- package/node_modules/@ktx/context/dist/mcp/index.js +3 -0
- package/node_modules/@ktx/context/dist/mcp/local-project-ports.d.ts +18 -0
- package/node_modules/@ktx/context/dist/mcp/local-project-ports.js +631 -0
- package/node_modules/@ktx/context/dist/mcp/local-project-ports.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/mcp/local-project-ports.test.js +1388 -0
- package/node_modules/@ktx/context/dist/mcp/server.d.ts +7 -0
- package/node_modules/@ktx/context/dist/mcp/server.js +69 -0
- package/node_modules/@ktx/context/dist/mcp/server.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/mcp/server.test.js +991 -0
- package/node_modules/@ktx/context/dist/mcp/types.d.ts +347 -0
- package/node_modules/@ktx/context/dist/mcp/types.js +1 -0
- package/node_modules/@ktx/context/dist/memory/capture-signals.d.ts +8 -0
- package/node_modules/@ktx/context/dist/memory/capture-signals.js +103 -0
- package/node_modules/@ktx/context/dist/memory/index.d.ts +6 -0
- package/node_modules/@ktx/context/dist/memory/index.js +5 -0
- package/node_modules/@ktx/context/dist/memory/local-memory-runs.d.ts +22 -0
- package/node_modules/@ktx/context/dist/memory/local-memory-runs.js +165 -0
- package/node_modules/@ktx/context/dist/memory/local-memory.d.ts +22 -0
- package/node_modules/@ktx/context/dist/memory/local-memory.js +385 -0
- package/node_modules/@ktx/context/dist/memory/local-memory.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/memory/local-memory.test.js +159 -0
- package/node_modules/@ktx/context/dist/memory/memory-agent.service.d.ts +59 -0
- package/node_modules/@ktx/context/dist/memory/memory-agent.service.ingest.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/memory/memory-agent.service.ingest.test.js +355 -0
- package/node_modules/@ktx/context/dist/memory/memory-agent.service.js +539 -0
- package/node_modules/@ktx/context/dist/memory/memory-agent.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/memory/memory-agent.service.test.js +413 -0
- package/node_modules/@ktx/context/dist/memory/memory-runs.d.ts +54 -0
- package/node_modules/@ktx/context/dist/memory/memory-runs.js +78 -0
- package/node_modules/@ktx/context/dist/memory/memory-runs.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/memory/memory-runs.test.js +158 -0
- package/node_modules/@ktx/context/dist/memory/memory-runtime-assets.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/memory/memory-runtime-assets.test.js +162 -0
- package/node_modules/@ktx/context/dist/memory/types.d.ts +133 -0
- package/node_modules/@ktx/context/dist/memory/types.js +1 -0
- package/node_modules/@ktx/context/dist/package-exports.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/package-exports.test.js +249 -0
- package/node_modules/@ktx/context/dist/project/config.d.ts +568 -0
- package/node_modules/@ktx/context/dist/project/config.js +331 -0
- package/node_modules/@ktx/context/dist/project/config.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/project/config.test.js +467 -0
- package/node_modules/@ktx/context/dist/project/driver-schemas.d.ts +98 -0
- package/node_modules/@ktx/context/dist/project/driver-schemas.js +180 -0
- package/node_modules/@ktx/context/dist/project/driver-schemas.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/project/driver-schemas.test.js +125 -0
- package/node_modules/@ktx/context/dist/project/index.d.ts +12 -0
- package/node_modules/@ktx/context/dist/project/index.js +6 -0
- package/node_modules/@ktx/context/dist/project/local-git-file-store.d.ts +23 -0
- package/node_modules/@ktx/context/dist/project/local-git-file-store.js +140 -0
- package/node_modules/@ktx/context/dist/project/local-git-file-store.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/project/local-git-file-store.test.js +71 -0
- package/node_modules/@ktx/context/dist/project/local-state-db.d.ts +2 -0
- package/node_modules/@ktx/context/dist/project/local-state-db.js +4 -0
- package/node_modules/@ktx/context/dist/project/mappings-yaml-schema.d.ts +58 -0
- package/node_modules/@ktx/context/dist/project/mappings-yaml-schema.js +109 -0
- package/node_modules/@ktx/context/dist/project/mappings-yaml-schema.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/project/mappings-yaml-schema.test.js +79 -0
- package/node_modules/@ktx/context/dist/project/project.d.ts +29 -0
- package/node_modules/@ktx/context/dist/project/project.js +93 -0
- package/node_modules/@ktx/context/dist/project/project.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/project/project.test.js +55 -0
- package/node_modules/@ktx/context/dist/project/setup-config.d.ts +12 -0
- package/node_modules/@ktx/context/dist/project/setup-config.js +70 -0
- package/node_modules/@ktx/context/dist/project/setup-config.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/project/setup-config.test.js +37 -0
- package/node_modules/@ktx/context/dist/prompts/index.d.ts +2 -0
- package/node_modules/@ktx/context/dist/prompts/index.js +1 -0
- package/node_modules/@ktx/context/dist/prompts/prompt.service.d.ts +28 -0
- package/node_modules/@ktx/context/dist/prompts/prompt.service.js +84 -0
- package/node_modules/@ktx/context/dist/prompts/prompt.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/prompts/prompt.service.test.js +43 -0
- package/node_modules/@ktx/context/dist/scan/credentials.d.ts +8 -0
- package/node_modules/@ktx/context/dist/scan/credentials.js +38 -0
- package/node_modules/@ktx/context/dist/scan/credentials.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/credentials.test.js +161 -0
- package/node_modules/@ktx/context/dist/scan/data-dictionary.d.ts +22 -0
- package/node_modules/@ktx/context/dist/scan/data-dictionary.js +66 -0
- package/node_modules/@ktx/context/dist/scan/data-dictionary.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/data-dictionary.test.js +92 -0
- package/node_modules/@ktx/context/dist/scan/description-generation.d.ts +122 -0
- package/node_modules/@ktx/context/dist/scan/description-generation.js +556 -0
- package/node_modules/@ktx/context/dist/scan/description-generation.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/description-generation.test.js +587 -0
- package/node_modules/@ktx/context/dist/scan/embedding-text.d.ts +21 -0
- package/node_modules/@ktx/context/dist/scan/embedding-text.js +23 -0
- package/node_modules/@ktx/context/dist/scan/embedding-text.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/embedding-text.test.js +36 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-state.d.ts +48 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-state.js +44 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-state.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-state.test.js +147 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-summary.d.ts +4 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-summary.js +44 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-summary.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-summary.test.js +34 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-types.d.ts +104 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-types.js +1 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-types.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/enrichment-types.test.js +141 -0
- package/node_modules/@ktx/context/dist/scan/entity-details.d.ts +57 -0
- package/node_modules/@ktx/context/dist/scan/entity-details.js +216 -0
- package/node_modules/@ktx/context/dist/scan/entity-details.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/entity-details.test.js +234 -0
- package/node_modules/@ktx/context/dist/scan/index.d.ts +72 -0
- package/node_modules/@ktx/context/dist/scan/index.js +37 -0
- package/node_modules/@ktx/context/dist/scan/local-enrichment-artifacts.d.ts +32 -0
- package/node_modules/@ktx/context/dist/scan/local-enrichment-artifacts.js +274 -0
- package/node_modules/@ktx/context/dist/scan/local-enrichment-artifacts.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/local-enrichment-artifacts.test.js +767 -0
- package/node_modules/@ktx/context/dist/scan/local-enrichment.d.ts +49 -0
- package/node_modules/@ktx/context/dist/scan/local-enrichment.js +494 -0
- package/node_modules/@ktx/context/dist/scan/local-enrichment.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/local-enrichment.test.js +757 -0
- package/node_modules/@ktx/context/dist/scan/local-scan.d.ts +68 -0
- package/node_modules/@ktx/context/dist/scan/local-scan.js +427 -0
- package/node_modules/@ktx/context/dist/scan/local-scan.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/local-scan.test.js +1399 -0
- package/node_modules/@ktx/context/dist/scan/local-structural-artifacts.d.ts +10 -0
- package/node_modules/@ktx/context/dist/scan/local-structural-artifacts.js +86 -0
- package/node_modules/@ktx/context/dist/scan/local-structural-artifacts.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/local-structural-artifacts.test.js +144 -0
- package/node_modules/@ktx/context/dist/scan/orchestrator.d.ts +44 -0
- package/node_modules/@ktx/context/dist/scan/orchestrator.js +186 -0
- package/node_modules/@ktx/context/dist/scan/orchestrator.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/orchestrator.test.js +335 -0
- package/node_modules/@ktx/context/dist/scan/relationship-artifacts.d.ts +20 -0
- package/node_modules/@ktx/context/dist/scan/relationship-artifacts.js +45 -0
- package/node_modules/@ktx/context/dist/scan/relationship-artifacts.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-artifacts.test.js +268 -0
- package/node_modules/@ktx/context/dist/scan/relationship-benchmark-report.d.ts +52 -0
- package/node_modules/@ktx/context/dist/scan/relationship-benchmark-report.js +252 -0
- package/node_modules/@ktx/context/dist/scan/relationship-benchmark-report.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-benchmark-report.test.js +389 -0
- package/node_modules/@ktx/context/dist/scan/relationship-benchmarks.d.ts +148 -0
- package/node_modules/@ktx/context/dist/scan/relationship-benchmarks.js +646 -0
- package/node_modules/@ktx/context/dist/scan/relationship-benchmarks.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-benchmarks.test.js +1072 -0
- package/node_modules/@ktx/context/dist/scan/relationship-budget.d.ts +19 -0
- package/node_modules/@ktx/context/dist/scan/relationship-budget.js +34 -0
- package/node_modules/@ktx/context/dist/scan/relationship-budget.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-budget.test.js +71 -0
- package/node_modules/@ktx/context/dist/scan/relationship-candidates.d.ts +49 -0
- package/node_modules/@ktx/context/dist/scan/relationship-candidates.js +556 -0
- package/node_modules/@ktx/context/dist/scan/relationship-candidates.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-candidates.test.js +747 -0
- package/node_modules/@ktx/context/dist/scan/relationship-composite-candidates.d.ts +66 -0
- package/node_modules/@ktx/context/dist/scan/relationship-composite-candidates.js +422 -0
- package/node_modules/@ktx/context/dist/scan/relationship-composite-candidates.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-composite-candidates.test.js +69 -0
- package/node_modules/@ktx/context/dist/scan/relationship-diagnostics.d.ts +94 -0
- package/node_modules/@ktx/context/dist/scan/relationship-diagnostics.js +224 -0
- package/node_modules/@ktx/context/dist/scan/relationship-diagnostics.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-diagnostics.test.js +333 -0
- package/node_modules/@ktx/context/dist/scan/relationship-discovery.d.ts +27 -0
- package/node_modules/@ktx/context/dist/scan/relationship-discovery.js +247 -0
- package/node_modules/@ktx/context/dist/scan/relationship-discovery.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-discovery.test.js +618 -0
- package/node_modules/@ktx/context/dist/scan/relationship-feedback-calibration.d.ts +70 -0
- package/node_modules/@ktx/context/dist/scan/relationship-feedback-calibration.js +170 -0
- package/node_modules/@ktx/context/dist/scan/relationship-feedback-calibration.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-feedback-calibration.test.js +175 -0
- package/node_modules/@ktx/context/dist/scan/relationship-feedback-export.d.ts +54 -0
- package/node_modules/@ktx/context/dist/scan/relationship-feedback-export.js +96 -0
- package/node_modules/@ktx/context/dist/scan/relationship-feedback-export.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-feedback-export.test.js +241 -0
- package/node_modules/@ktx/context/dist/scan/relationship-formal-metadata.d.ts +7 -0
- package/node_modules/@ktx/context/dist/scan/relationship-formal-metadata.js +43 -0
- package/node_modules/@ktx/context/dist/scan/relationship-formal-metadata.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-formal-metadata.test.js +125 -0
- package/node_modules/@ktx/context/dist/scan/relationship-graph-resolver.d.ts +48 -0
- package/node_modules/@ktx/context/dist/scan/relationship-graph-resolver.js +367 -0
- package/node_modules/@ktx/context/dist/scan/relationship-graph-resolver.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-graph-resolver.test.js +604 -0
- package/node_modules/@ktx/context/dist/scan/relationship-llm-proposal.d.ts +25 -0
- package/node_modules/@ktx/context/dist/scan/relationship-llm-proposal.js +193 -0
- package/node_modules/@ktx/context/dist/scan/relationship-llm-proposal.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-llm-proposal.test.js +197 -0
- package/node_modules/@ktx/context/dist/scan/relationship-locality.d.ts +15 -0
- package/node_modules/@ktx/context/dist/scan/relationship-locality.js +129 -0
- package/node_modules/@ktx/context/dist/scan/relationship-locality.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-locality.test.js +128 -0
- package/node_modules/@ktx/context/dist/scan/relationship-name-similarity.d.ts +13 -0
- package/node_modules/@ktx/context/dist/scan/relationship-name-similarity.js +123 -0
- package/node_modules/@ktx/context/dist/scan/relationship-name-similarity.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-name-similarity.test.js +68 -0
- package/node_modules/@ktx/context/dist/scan/relationship-profiling.d.ts +55 -0
- package/node_modules/@ktx/context/dist/scan/relationship-profiling.js +321 -0
- package/node_modules/@ktx/context/dist/scan/relationship-profiling.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-profiling.test.js +313 -0
- package/node_modules/@ktx/context/dist/scan/relationship-review-apply.d.ts +34 -0
- package/node_modules/@ktx/context/dist/scan/relationship-review-apply.js +152 -0
- package/node_modules/@ktx/context/dist/scan/relationship-review-apply.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-review-apply.test.js +321 -0
- package/node_modules/@ktx/context/dist/scan/relationship-review-decisions.d.ts +46 -0
- package/node_modules/@ktx/context/dist/scan/relationship-review-decisions.js +92 -0
- package/node_modules/@ktx/context/dist/scan/relationship-review-decisions.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-review-decisions.test.js +312 -0
- package/node_modules/@ktx/context/dist/scan/relationship-scoring.d.ts +29 -0
- package/node_modules/@ktx/context/dist/scan/relationship-scoring.js +95 -0
- package/node_modules/@ktx/context/dist/scan/relationship-scoring.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-scoring.test.js +86 -0
- package/node_modules/@ktx/context/dist/scan/relationship-threshold-advice.d.ts +60 -0
- package/node_modules/@ktx/context/dist/scan/relationship-threshold-advice.js +190 -0
- package/node_modules/@ktx/context/dist/scan/relationship-threshold-advice.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-threshold-advice.test.js +205 -0
- package/node_modules/@ktx/context/dist/scan/relationship-validation.d.ts +44 -0
- package/node_modules/@ktx/context/dist/scan/relationship-validation.js +240 -0
- package/node_modules/@ktx/context/dist/scan/relationship-validation.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/relationship-validation.test.js +450 -0
- package/node_modules/@ktx/context/dist/scan/sqlite-local-enrichment-state-store.d.ts +12 -0
- package/node_modules/@ktx/context/dist/scan/sqlite-local-enrichment-state-store.js +190 -0
- package/node_modules/@ktx/context/dist/scan/type-normalization.d.ts +8 -0
- package/node_modules/@ktx/context/dist/scan/type-normalization.js +23 -0
- package/node_modules/@ktx/context/dist/scan/type-normalization.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/type-normalization.test.js +21 -0
- package/node_modules/@ktx/context/dist/scan/types.d.ts +309 -0
- package/node_modules/@ktx/context/dist/scan/types.js +13 -0
- package/node_modules/@ktx/context/dist/scan/types.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/types.test.js +206 -0
- package/node_modules/@ktx/context/dist/scan/warehouse-catalog.d.ts +69 -0
- package/node_modules/@ktx/context/dist/scan/warehouse-catalog.js +311 -0
- package/node_modules/@ktx/context/dist/scan/warehouse-catalog.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/scan/warehouse-catalog.test.js +158 -0
- package/node_modules/@ktx/context/dist/search/backend-conformance.d.ts +39 -0
- package/node_modules/@ktx/context/dist/search/backend-conformance.js +88 -0
- package/node_modules/@ktx/context/dist/search/backend-conformance.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/search/backend-conformance.test.js +408 -0
- package/node_modules/@ktx/context/dist/search/discover.d.ts +30 -0
- package/node_modules/@ktx/context/dist/search/discover.js +340 -0
- package/node_modules/@ktx/context/dist/search/discover.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/search/discover.test.js +197 -0
- package/node_modules/@ktx/context/dist/search/hybrid-search-core.d.ts +4 -0
- package/node_modules/@ktx/context/dist/search/hybrid-search-core.js +106 -0
- package/node_modules/@ktx/context/dist/search/hybrid-search-core.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/search/hybrid-search-core.test.js +113 -0
- package/node_modules/@ktx/context/dist/search/index.d.ts +8 -0
- package/node_modules/@ktx/context/dist/search/index.js +5 -0
- package/node_modules/@ktx/context/dist/search/pglite-owner-process.d.ts +27 -0
- package/node_modules/@ktx/context/dist/search/pglite-owner-process.js +89 -0
- package/node_modules/@ktx/context/dist/search/pglite-owner-process.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/search/pglite-owner-process.test.js +286 -0
- package/node_modules/@ktx/context/dist/search/pglite-runtime-boundary.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/search/pglite-runtime-boundary.test.js +48 -0
- package/node_modules/@ktx/context/dist/search/pglite-spike.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/search/pglite-spike.test.js +249 -0
- package/node_modules/@ktx/context/dist/search/query.d.ts +3 -0
- package/node_modules/@ktx/context/dist/search/query.js +15 -0
- package/node_modules/@ktx/context/dist/search/query.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/search/query.test.js +23 -0
- package/node_modules/@ktx/context/dist/search/rrf.d.ts +5 -0
- package/node_modules/@ktx/context/dist/search/rrf.js +13 -0
- package/node_modules/@ktx/context/dist/search/rrf.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/search/rrf.test.js +47 -0
- package/node_modules/@ktx/context/dist/search/types.d.ts +73 -0
- package/node_modules/@ktx/context/dist/search/types.js +1 -0
- package/node_modules/@ktx/context/dist/skills/index.d.ts +2 -0
- package/node_modules/@ktx/context/dist/skills/index.js +1 -0
- package/node_modules/@ktx/context/dist/skills/skills-registry.service.d.ts +35 -0
- package/node_modules/@ktx/context/dist/skills/skills-registry.service.js +215 -0
- package/node_modules/@ktx/context/dist/skills/skills-registry.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/skills/skills-registry.service.test.js +161 -0
- package/node_modules/@ktx/context/dist/sl/description-normalization.d.ts +5 -0
- package/node_modules/@ktx/context/dist/sl/description-normalization.js +100 -0
- package/node_modules/@ktx/context/dist/sl/descriptions.d.ts +14 -0
- package/node_modules/@ktx/context/dist/sl/descriptions.js +20 -0
- package/node_modules/@ktx/context/dist/sl/dictionary-search.d.ts +42 -0
- package/node_modules/@ktx/context/dist/sl/dictionary-search.js +121 -0
- package/node_modules/@ktx/context/dist/sl/dictionary-search.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/dictionary-search.test.js +204 -0
- package/node_modules/@ktx/context/dist/sl/index.d.ts +15 -0
- package/node_modules/@ktx/context/dist/sl/index.js +10 -0
- package/node_modules/@ktx/context/dist/sl/local-query.d.ts +17 -0
- package/node_modules/@ktx/context/dist/sl/local-query.js +111 -0
- package/node_modules/@ktx/context/dist/sl/local-query.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/local-query.test.js +218 -0
- package/node_modules/@ktx/context/dist/sl/local-sl.d.ts +60 -0
- package/node_modules/@ktx/context/dist/sl/local-sl.js +484 -0
- package/node_modules/@ktx/context/dist/sl/local-sl.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/local-sl.test.js +334 -0
- package/node_modules/@ktx/context/dist/sl/pglite-sl-search-prototype.d.ts +16 -0
- package/node_modules/@ktx/context/dist/sl/pglite-sl-search-prototype.js +433 -0
- package/node_modules/@ktx/context/dist/sl/pglite-sl-search-prototype.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/pglite-sl-search-prototype.test.js +240 -0
- package/node_modules/@ktx/context/dist/sl/ports.d.ts +61 -0
- package/node_modules/@ktx/context/dist/sl/ports.js +1 -0
- package/node_modules/@ktx/context/dist/sl/schemas.contract.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/schemas.contract.test.js +62 -0
- package/node_modules/@ktx/context/dist/sl/schemas.d.ts +282 -0
- package/node_modules/@ktx/context/dist/sl/schemas.js +181 -0
- package/node_modules/@ktx/context/dist/sl/semantic-layer.service.d.ts +214 -0
- package/node_modules/@ktx/context/dist/sl/semantic-layer.service.js +1334 -0
- package/node_modules/@ktx/context/dist/sl/semantic-layer.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/semantic-layer.service.test.js +1084 -0
- package/node_modules/@ktx/context/dist/sl/sl-dictionary-profile.d.ts +9 -0
- package/node_modules/@ktx/context/dist/sl/sl-dictionary-profile.js +80 -0
- package/node_modules/@ktx/context/dist/sl/sl-dictionary-profile.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/sl-dictionary-profile.test.js +88 -0
- package/node_modules/@ktx/context/dist/sl/sl-search.service.d.ts +17 -0
- package/node_modules/@ktx/context/dist/sl/sl-search.service.js +156 -0
- package/node_modules/@ktx/context/dist/sl/sl-search.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/sl-search.service.test.js +195 -0
- package/node_modules/@ktx/context/dist/sl/sl-validator.port.d.ts +7 -0
- package/node_modules/@ktx/context/dist/sl/sl-validator.port.js +1 -0
- package/node_modules/@ktx/context/dist/sl/sqlite-sl-sources-index.d.ts +56 -0
- package/node_modules/@ktx/context/dist/sl/sqlite-sl-sources-index.js +419 -0
- package/node_modules/@ktx/context/dist/sl/sqlite-sl-sources-index.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/sqlite-sl-sources-index.test.js +151 -0
- package/node_modules/@ktx/context/dist/sl/tools/base-semantic-layer.tool.d.ts +45 -0
- package/node_modules/@ktx/context/dist/sl/tools/base-semantic-layer.tool.js +91 -0
- package/node_modules/@ktx/context/dist/sl/tools/connection-id-schema.d.ts +2 -0
- package/node_modules/@ktx/context/dist/sl/tools/connection-id-schema.js +5 -0
- package/node_modules/@ktx/context/dist/sl/tools/connection-id-schema.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/tools/connection-id-schema.test.js +14 -0
- package/node_modules/@ktx/context/dist/sl/tools/index.d.ts +11 -0
- package/node_modules/@ktx/context/dist/sl/tools/index.js +8 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-discover.tool.d.ts +52 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-discover.tool.js +260 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-discover.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-discover.tool.test.js +72 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-edit-source.tool.d.ts +33 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-edit-source.tool.js +173 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-edit-source.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-edit-source.tool.test.js +169 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-read-source.tool.d.ts +23 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-read-source.tool.js +47 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-read-source.tool.session.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-read-source.tool.session.test.js +55 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-rollback.tool.d.ts +25 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-rollback.tool.js +63 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-rollback.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-rollback.tool.test.js +57 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-validate.tool.d.ts +23 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-validate.tool.js +100 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-validate.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-validate.tool.test.js +54 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-warehouse-validation.d.ts +29 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-warehouse-validation.js +245 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-warehouse-validation.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-warehouse-validation.test.js +136 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-write-source.tool.d.ts +422 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-write-source.tool.js +315 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-write-source.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sl/tools/sl-write-source.tool.test.js +285 -0
- package/node_modules/@ktx/context/dist/sl/types.d.ts +147 -0
- package/node_modules/@ktx/context/dist/sl/types.js +1 -0
- package/node_modules/@ktx/context/dist/sql-analysis/http-sql-analysis-port.d.ts +7 -0
- package/node_modules/@ktx/context/dist/sql-analysis/http-sql-analysis-port.js +188 -0
- package/node_modules/@ktx/context/dist/sql-analysis/http-sql-analysis-port.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/sql-analysis/http-sql-analysis-port.test.js +147 -0
- package/node_modules/@ktx/context/dist/sql-analysis/index.d.ts +3 -0
- package/node_modules/@ktx/context/dist/sql-analysis/index.js +1 -0
- package/node_modules/@ktx/context/dist/sql-analysis/ports.d.ts +33 -0
- package/node_modules/@ktx/context/dist/sql-analysis/ports.js +1 -0
- package/node_modules/@ktx/context/dist/test/make-local-git-repo.d.ts +10 -0
- package/node_modules/@ktx/context/dist/test/make-local-git-repo.js +34 -0
- package/node_modules/@ktx/context/dist/tools/action-raw-paths.d.ts +10 -0
- package/node_modules/@ktx/context/dist/tools/action-raw-paths.js +18 -0
- package/node_modules/@ktx/context/dist/tools/authors.d.ts +8 -0
- package/node_modules/@ktx/context/dist/tools/authors.js +4 -0
- package/node_modules/@ktx/context/dist/tools/base-tool.d.ts +85 -0
- package/node_modules/@ktx/context/dist/tools/base-tool.js +94 -0
- package/node_modules/@ktx/context/dist/tools/context-candidate-mark.tool.d.ts +41 -0
- package/node_modules/@ktx/context/dist/tools/context-candidate-mark.tool.js +44 -0
- package/node_modules/@ktx/context/dist/tools/context-candidate-write.tool.d.ts +64 -0
- package/node_modules/@ktx/context/dist/tools/context-candidate-write.tool.js +140 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-ids.d.ts +3 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-ids.js +12 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-neighbors.tool.d.ts +48 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-neighbors.tool.js +69 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-read.tool.d.ts +37 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-read.tool.js +118 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-search.tool.d.ts +57 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-search.tool.js +92 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-tool-store.d.ts +112 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-tool-store.js +1 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-tools.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/tools/context-evidence-tools.test.js +486 -0
- package/node_modules/@ktx/context/dist/tools/context-ingest-metadata.d.ts +9 -0
- package/node_modules/@ktx/context/dist/tools/context-ingest-metadata.js +13 -0
- package/node_modules/@ktx/context/dist/tools/index.d.ts +18 -0
- package/node_modules/@ktx/context/dist/tools/index.js +11 -0
- package/node_modules/@ktx/context/dist/tools/sql-edit-replacer.d.ts +16 -0
- package/node_modules/@ktx/context/dist/tools/sql-edit-replacer.js +173 -0
- package/node_modules/@ktx/context/dist/tools/tool-session.d.ts +54 -0
- package/node_modules/@ktx/context/dist/tools/tool-session.js +1 -0
- package/node_modules/@ktx/context/dist/tools/touched-sl-sources.d.ts +12 -0
- package/node_modules/@ktx/context/dist/tools/touched-sl-sources.js +47 -0
- package/node_modules/@ktx/context/dist/tools/touched-sl-sources.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/tools/touched-sl-sources.test.js +31 -0
- package/node_modules/@ktx/context/dist/wiki/index.d.ts +9 -0
- package/node_modules/@ktx/context/dist/wiki/index.js +6 -0
- package/node_modules/@ktx/context/dist/wiki/keys.d.ts +11 -0
- package/node_modules/@ktx/context/dist/wiki/keys.js +26 -0
- package/node_modules/@ktx/context/dist/wiki/knowledge-search-text.d.ts +1 -0
- package/node_modules/@ktx/context/dist/wiki/knowledge-search-text.js +7 -0
- package/node_modules/@ktx/context/dist/wiki/knowledge-wiki.service.d.ts +76 -0
- package/node_modules/@ktx/context/dist/wiki/knowledge-wiki.service.js +346 -0
- package/node_modules/@ktx/context/dist/wiki/knowledge-wiki.service.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/wiki/knowledge-wiki.service.test.js +134 -0
- package/node_modules/@ktx/context/dist/wiki/local-knowledge.d.ts +55 -0
- package/node_modules/@ktx/context/dist/wiki/local-knowledge.js +286 -0
- package/node_modules/@ktx/context/dist/wiki/local-knowledge.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/wiki/local-knowledge.test.js +226 -0
- package/node_modules/@ktx/context/dist/wiki/ports.d.ts +70 -0
- package/node_modules/@ktx/context/dist/wiki/ports.js +1 -0
- package/node_modules/@ktx/context/dist/wiki/sqlite-knowledge-index.d.ts +43 -0
- package/node_modules/@ktx/context/dist/wiki/sqlite-knowledge-index.js +208 -0
- package/node_modules/@ktx/context/dist/wiki/sqlite-knowledge-index.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/wiki/sqlite-knowledge-index.test.js +103 -0
- package/node_modules/@ktx/context/dist/wiki/tools/index.d.ts +5 -0
- package/node_modules/@ktx/context/dist/wiki/tools/index.js +5 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-list-tags.tool.d.ts +16 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-list-tags.tool.js +34 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-list-tags.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-list-tags.tool.test.js +35 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-read.tool.d.ts +28 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-read.tool.js +59 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-read.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-read.tool.test.js +66 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-remove.tool.d.ts +28 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-remove.tool.js +85 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-remove.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-remove.tool.test.js +95 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-search.tool.d.ts +49 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-search.tool.js +51 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-search.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-search.tool.test.js +35 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-write.tool.d.ts +80 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-write.tool.js +255 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-write.tool.test.d.ts +1 -0
- package/node_modules/@ktx/context/dist/wiki/tools/wiki-write.tool.test.js +236 -0
- package/node_modules/@ktx/context/dist/wiki/types.d.ts +50 -0
- package/node_modules/@ktx/context/dist/wiki/types.js +1 -0
- package/node_modules/@ktx/context/package.json +117 -0
- package/node_modules/@ktx/context/prompts/memory_agent_backfill.md +21 -0
- package/node_modules/@ktx/context/prompts/memory_agent_bundle_ingest_reconcile.md +29 -0
- package/node_modules/@ktx/context/prompts/memory_agent_bundle_ingest_work_unit.md +32 -0
- package/node_modules/@ktx/context/prompts/memory_agent_external_ingest.md +28 -0
- package/node_modules/@ktx/context/prompts/memory_agent_research.md +30 -0
- package/node_modules/@ktx/context/prompts/skills/light_extraction.md +40 -0
- package/node_modules/@ktx/context/prompts/skills/page_triage_classifier.md +40 -0
- package/node_modules/@ktx/context/skills/_shared/identifier-verification.md +27 -0
- package/node_modules/@ktx/context/skills/dbt_ingest/SKILL.md +76 -0
- package/node_modules/@ktx/context/skills/historic_sql_patterns/SKILL.md +91 -0
- package/node_modules/@ktx/context/skills/historic_sql_table_digest/SKILL.md +89 -0
- package/node_modules/@ktx/context/skills/ingest_triage/SKILL.md +77 -0
- package/node_modules/@ktx/context/skills/live_database_ingest/SKILL.md +89 -0
- package/node_modules/@ktx/context/skills/looker_ingest/SKILL.md +248 -0
- package/node_modules/@ktx/context/skills/lookml_ingest/SKILL.md +219 -0
- package/node_modules/@ktx/context/skills/metabase_ingest/SKILL.md +253 -0
- package/node_modules/@ktx/context/skills/metricflow_ingest/SKILL.md +313 -0
- package/node_modules/@ktx/context/skills/notion_synthesize/SKILL.md +104 -0
- package/node_modules/@ktx/context/skills/sl/SKILL.md +247 -0
- package/node_modules/@ktx/context/skills/sl_capture/SKILL.md +346 -0
- package/node_modules/@ktx/context/skills/wiki_capture/SKILL.md +160 -0
- package/node_modules/@ktx/llm/dist/embedding-health.d.ts +14 -0
- package/node_modules/@ktx/llm/dist/embedding-health.js +36 -0
- package/node_modules/@ktx/llm/dist/embedding-health.test.d.ts +1 -0
- package/node_modules/@ktx/llm/dist/embedding-health.test.js +72 -0
- package/node_modules/@ktx/llm/dist/embedding-provider.d.ts +35 -0
- package/node_modules/@ktx/llm/dist/embedding-provider.js +287 -0
- package/node_modules/@ktx/llm/dist/embedding-provider.test.d.ts +1 -0
- package/node_modules/@ktx/llm/dist/embedding-provider.test.js +99 -0
- package/node_modules/@ktx/llm/dist/index.d.ts +11 -0
- package/node_modules/@ktx/llm/dist/index.js +6 -0
- package/node_modules/@ktx/llm/dist/message-builder.d.ts +45 -0
- package/node_modules/@ktx/llm/dist/message-builder.js +151 -0
- package/node_modules/@ktx/llm/dist/message-builder.test.d.ts +1 -0
- package/node_modules/@ktx/llm/dist/message-builder.test.js +127 -0
- package/node_modules/@ktx/llm/dist/model-health.d.ts +18 -0
- package/node_modules/@ktx/llm/dist/model-health.js +38 -0
- package/node_modules/@ktx/llm/dist/model-health.test.d.ts +1 -0
- package/node_modules/@ktx/llm/dist/model-health.test.js +55 -0
- package/node_modules/@ktx/llm/dist/model-provider.d.ts +22 -0
- package/node_modules/@ktx/llm/dist/model-provider.js +150 -0
- package/node_modules/@ktx/llm/dist/model-provider.test.d.ts +1 -0
- package/node_modules/@ktx/llm/dist/model-provider.test.js +246 -0
- package/node_modules/@ktx/llm/dist/package-exports.test.d.ts +1 -0
- package/node_modules/@ktx/llm/dist/package-exports.test.js +17 -0
- package/node_modules/@ktx/llm/dist/repair.d.ts +8 -0
- package/node_modules/@ktx/llm/dist/repair.js +75 -0
- package/node_modules/@ktx/llm/dist/repair.test.d.ts +1 -0
- package/node_modules/@ktx/llm/dist/repair.test.js +78 -0
- package/node_modules/@ktx/llm/dist/types.d.ts +105 -0
- package/node_modules/@ktx/llm/dist/types.js +1 -0
- package/node_modules/@ktx/llm/package.json +20 -0
- package/package.json +74 -7
- package/README.md +0 -3
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: metabase_ingest
|
|
3
|
+
description: Convert Metabase questions, models, and metrics into KTX Semantic Layer source definitions. Covers result-metadata to KSL column type mapping, FK/PK detection, near-duplicate deduplication, pre-aggregation decomposition, join-graph connectivity, and how to react to priorProvenance from earlier ingest syncs. Load when the WorkUnit contains `cards/<id>.json` files under a Metabase bundle.
|
|
4
|
+
callers: [memory_agent]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Metabase to KTX Semantic Layer
|
|
8
|
+
|
|
9
|
+
Each WorkUnit represents one Metabase collection's cards for one Metabase database (mapped to exactly one KTX connection). Every `cards/<id>.json` file carries the resolved SQL, result_metadata, card type, collection path, and referenced-card ids. The WU's `sync-config.json` tells you which sync mode is active and which selections apply. `databases/<id>.json` tells you the target KTX connection.
|
|
10
|
+
|
|
11
|
+
## Context format
|
|
12
|
+
|
|
13
|
+
Each card JSON looks like:
|
|
14
|
+
```json
|
|
15
|
+
{
|
|
16
|
+
"metabaseId": 7,
|
|
17
|
+
"name": "Daily orders",
|
|
18
|
+
"description": "Orders by day",
|
|
19
|
+
"type": "model",
|
|
20
|
+
"databaseId": 42,
|
|
21
|
+
"collectionId": 5,
|
|
22
|
+
"resolvedSql": "SELECT ...",
|
|
23
|
+
"templateTags": [{"name": "ref", "type": "card", "cardReference": 10}],
|
|
24
|
+
"resultMetadata": [
|
|
25
|
+
{"name": "day", "base_type": "type/DateTime", "semantic_type": "type/CreationTimestamp"},
|
|
26
|
+
{"name": "order_count", "base_type": "type/Integer"}
|
|
27
|
+
],
|
|
28
|
+
"collectionPath": ["Data", "Orders Team"],
|
|
29
|
+
"referencedCardIds": [10]
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Use `resultMetadata` to:
|
|
34
|
+
- Map `base_type` to KSL column type: `type/Integer`, `type/Float`, `type/Decimal`, `type/BigInteger` → `number`; `type/Text`, `type/TextLike` → `string`; `type/DateTime`, `type/Date`, `type/DateTimeWithTZ` → `time`; `type/Boolean` → `boolean`.
|
|
35
|
+
- Identify grain candidates: columns with `semantic_type: type/PK`.
|
|
36
|
+
- Identify join candidates: columns with `semantic_type: type/FK` plus `fk_target_field_id`.
|
|
37
|
+
- Identify time columns: `semantic_type: type/CreationTimestamp` or `type/UpdatedTimestamp` → set `role: time`.
|
|
38
|
+
- Use `display_name` for measure descriptions when available.
|
|
39
|
+
|
|
40
|
+
### Additional card metadata
|
|
41
|
+
|
|
42
|
+
- `parameters`: list of card-level parameters with widget types and defaults. When SQL resolution fell back to unresolved SQL, use this to drive Step A of the SQL-translation workflow (drop optional clauses): knowing each `{{ var }}` is `type: "date/range"` vs `type: "category"` tells you what kind of clause it is.
|
|
43
|
+
- `resultMetadata[i].field_ref`: Metabase's canonical reference to the source warehouse field. Shape `["field", <field_id>, <options>]`. When this is set, the column maps directly to a warehouse field, which is useful for declaring joins from FK metadata without re-parsing SQL.
|
|
44
|
+
- `lastRunAt`: ISO timestamp of the card's last execution. If null or very old, the card may be dead; prefer skipping over creating a source.
|
|
45
|
+
- `dashboardCount`: number of dashboards referencing the card. Cards with `dashboardCount: 0` and a stale `lastRunAt` are strong skip signals.
|
|
46
|
+
|
|
47
|
+
Before writing a wiki page derived from a Metabase question SQL, verify each
|
|
48
|
+
schema.table.column mentioned with entity_details.
|
|
49
|
+
|
|
50
|
+
## Identifier Verification Protocol
|
|
51
|
+
|
|
52
|
+
Before writing a wiki page or SL source on any topic:
|
|
53
|
+
|
|
54
|
+
1. `discover_data({query: "<topic>"})` - see what wikis, SL sources, and raw
|
|
55
|
+
tables already exist. Prefer updating existing pages over creating new ones.
|
|
56
|
+
|
|
57
|
+
Before emitting any `schema.table` or `schema.table.column` into a wiki body,
|
|
58
|
+
SL source, `tables:` frontmatter, `sl_refs`, or `emit_unmapped_fallback`:
|
|
59
|
+
|
|
60
|
+
2. `entity_details({connectionId, targets: [{display: "<identifier>"}]})` -
|
|
61
|
+
confirm the identifier resolves; inspect native types, FK/PK, and
|
|
62
|
+
sampleValues.
|
|
63
|
+
3. For literal values from the source, such as status codes or plan tiers,
|
|
64
|
+
check whether they appear in `entity_details` sampleValues for the relevant
|
|
65
|
+
column. If sampleValues is short or the sample may have missed real values,
|
|
66
|
+
run a `sql_execution` probe with the same warehouse connection id:
|
|
67
|
+
`sql_execution({connectionId, sql: "SELECT DISTINCT <col> FROM <ref> LIMIT 50"})`.
|
|
68
|
+
4. If the candidate identifier still does not resolve, do one of:
|
|
69
|
+
- Use `sql_execution({connectionId, sql: "SELECT 1 FROM <ref> LIMIT 0"})`.
|
|
70
|
+
If it errors, the identifier is fictional.
|
|
71
|
+
- Wrap the identifier in `[unverified - from <rawPath>]` in the wiki body,
|
|
72
|
+
citing the exact raw path that mentioned it.
|
|
73
|
+
- When recording `emit_unmapped_fallback` with `no_physical_table`, include
|
|
74
|
+
the failing probe error in `clarification`.
|
|
75
|
+
5. Never copy `<schema>.<table>` placeholder strings from these instructions
|
|
76
|
+
into output.
|
|
77
|
+
|
|
78
|
+
## Decision tree
|
|
79
|
+
|
|
80
|
+
For each card:
|
|
81
|
+
1. Analyze `resolvedSql` + `resultMetadata`: identify base tables, aggregations, joins, filters, column types.
|
|
82
|
+
2. **REQUIRED before any write**: call `sl_discover` for every candidate target source name. The response tells you whether the name is manifest-backed (`Type: table` or `Type: sql`). For manifest-backed names you MUST use the overlay shape (`name:` plus overlay fields such as `measures:`, `segments:`, `descriptions:`, `joins:`, `disable_joins:`, `column_overrides:`, and computed-only `columns:` entries with `expr` + `type`; no `sql:`, `table:`, `grain:`, or base-table `columns:`); the tool will reject a standalone write and you'll have wasted the call. If `sl_discover` returns nothing for the name, you can write a standalone source. Also call `sl_read_source` on existing sources you intend to extend so you don't duplicate measures.
|
|
83
|
+
3. Include `rawPaths: ["cards/<id>.json"]` on every `sl_write_source`, `sl_edit_source`, and `wiki_write` call. If one artifact generalizes multiple near-duplicate cards, include each contributing card path and no unrelated cards.
|
|
84
|
+
4. Decide:
|
|
85
|
+
- Simple aggregation on a table that already has a source → `sl_edit_source` to add a measure.
|
|
86
|
+
- Join between tables that should be linked in the SL graph → `sl_edit_source` to add a join.
|
|
87
|
+
- Complex derived SQL (CTEs, multi-layer aggregation, scoring models) → `sl_write_source` with `source_type: sql`. When the SQL projects/filters from a single manifest-backed base table, set `inherits_columns_from: <manifest_key>` so columns inherit type and description from the manifest - see `sl_capture` skill for the slim form. Use `sl_discover` to discover the manifest key from the table reference in the SQL (it accepts `MARTS.CONSIGNMENTS`, `ANALYTICS.MARTS.CONSIGNMENTS`, or `CONSIGNMENTS`).
|
|
88
|
+
- New base table not yet in the semantic layer → `sl_write_source` with `source_type: table`.
|
|
89
|
+
- Trivial query (`SELECT *`, simple `COUNT(*)` with no business logic) → do nothing; the runner will record this card as `action_type='skipped'`.
|
|
90
|
+
- Duplicate of an existing measure → same as trivial; do nothing for this card.
|
|
91
|
+
|
|
92
|
+
**Manifest-only names need an overlay first.** If `sl_discover` shows a source name with `Type: table` but `sl_read_source` returns "Source not found", the source lives only in the schema manifest (no standalone overlay yet). `sl_edit_source` cannot edit manifest-only names, and a full standalone `sl_write_source` for that name would shadow manifest columns and joins. Bootstrap an overlay with `sl_write_source` using the overlay shape:
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
name: <SOURCE_NAME>
|
|
96
|
+
measures:
|
|
97
|
+
- name: <measure_name>
|
|
98
|
+
expr: "<expression>"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Overlay shape: `name:` plus any of `measures:`, `segments:`, `descriptions:`, `joins:`, `disable_joins:`, `exclude_columns:`, `column_overrides:`, or computed-only `columns:` entries with `expr` + `type`. Never include `sql:`, `table:`, `grain:`, or base-table `columns:` on a manifest-backed name — those would shadow the manifest's schema and drop its joins. Use `column_overrides:` for inherited column descriptions. Overlay `joins:` are merged additively with the manifest's joins (deduped by `to` + `on`); use `disable_joins: ["<on-clause>"]` to suppress a specific manifest join. After the overlay exists, use `sl_edit_source` for further tweaks. See `sl_capture` skill for the canonical overlay rule.
|
|
102
|
+
|
|
103
|
+
**Join discovery:** When your card's SQL references warehouse tables (e.g. in `FROM` or `JOIN` clauses), call `sl_discover({ query: '<table>' })` before writing. The matching manifest entry's `name` is the value you use in `joins: [- to: <name>]` only when the card output exposes a local key that matches the target source grain (for example `account_id = mart_account_segments.account_id`). Do not declare a KTX join just because the card SQL joins that table internally. If the output only exposes display fields such as `account_name`, keep the SQL source self-contained or project the key before adding the join. Use `many_to_one` for FK-to-dimension joins, `one_to_many` for the reverse.
|
|
104
|
+
|
|
105
|
+
**Hard rule on join columns (prevents broken joins):** For every join you declare, the local column on the left of `on:` MUST be (a) present in your source's projected output and (b) a key/ID column, never a display value. If the natural FK isn't in your SELECT, add it to SELECT before declaring the join. Joining `account_name = mart_account_segments.account_id` is always wrong - names are not identifiers and the equality produces zero matches. The validator rejects this with a "display value to identifier" error; the tool will refuse to save it. Add `account_id` to your SELECT and join on `account_id = mart_account_segments.account_id`, or omit the join entirely.
|
|
106
|
+
|
|
107
|
+
## priorProvenance
|
|
108
|
+
|
|
109
|
+
If the WU prompt includes a `priorProvenance` section for a card, it tells you what happened on prior ingest syncs. Treat it as advisory:
|
|
110
|
+
- `action_type: source_created` on source X → prefer editing X with `sl_edit_source` rather than writing a new source.
|
|
111
|
+
- `action_type: measure_added` on source X → you already contributed to X; add only measures that aren't present.
|
|
112
|
+
- `action_type: subsumed` or `merged` → this card was folded into another source last time; unless its SQL has changed structurally, keep it subsumed (no new write).
|
|
113
|
+
- `action_type: skipped` → last time we decided not to ingest this card; re-read the SQL and confirm the decision still holds. If the card now has non-trivial business logic, ingest it.
|
|
114
|
+
|
|
115
|
+
## Deduplication
|
|
116
|
+
|
|
117
|
+
Before writing, scan all cards in this WU for near-duplicate groups - cards whose `resolvedSql` shares the same CTEs, base tables, joins, and aggregation structure but differs only in:
|
|
118
|
+
- Trailing filters (e.g. `date_trunc(week, date)` vs `date_trunc(month, date)`).
|
|
119
|
+
- Minor `WHERE` clause variations.
|
|
120
|
+
- Column aliases or output column subsets.
|
|
121
|
+
- Aggregation granularity (daily vs weekly vs monthly).
|
|
122
|
+
|
|
123
|
+
When you find a group of near-duplicates:
|
|
124
|
+
1. Create ONE generalized source from the most comprehensive card in the group.
|
|
125
|
+
2. Strip card-specific trailing filters from the SQL so the source covers all variants (e.g. keep daily grain instead of filtering to week/month).
|
|
126
|
+
3. If each card had a distinct measure or filter, add them as separate measures on the single source.
|
|
127
|
+
4. For all cards except the canonical one, do nothing - they'll be recorded as `action_type='skipped'` automatically by the runner.
|
|
128
|
+
|
|
129
|
+
Do NOT merge cards with fundamentally different business logic, even if they share CTEs.
|
|
130
|
+
|
|
131
|
+
## Pre-aggregation decomposition
|
|
132
|
+
|
|
133
|
+
When a card's `resolvedSql` contains `GROUP BY` with aggregation functions (`SUM`, `COUNT`, `AVG`, …):
|
|
134
|
+
|
|
135
|
+
1. **Detect**: simple aggregation on base tables/joins - `SELECT` with `GROUP BY`, no complex CTEs or window functions.
|
|
136
|
+
2. **Decompose**: strip the `GROUP BY` and aggregation functions. Keep `FROM`, `JOIN`, and `WHERE` intact.
|
|
137
|
+
3. **Expose row-level columns**: include the grouped-by columns AND the raw columns being aggregated (e.g. `money_out` instead of `SUM(money_out) AS total_money_out`).
|
|
138
|
+
4. **Define aggregations as measures**: convert each aggregation into a KSL measure (e.g. `sum(money_out)`).
|
|
139
|
+
5. **Add joins**: with FK columns now exposed, declare joins to dimension sources.
|
|
140
|
+
|
|
141
|
+
Exception: keep the pre-aggregated SQL when the query involves multi-CTE pipelines, window functions, or recursive logic where decomposition would lose business logic.
|
|
142
|
+
|
|
143
|
+
## SQL translation from raw native to KSL
|
|
144
|
+
|
|
145
|
+
Every card carries a `resolvedSql` field. Check the staged card's `resolutionStatus` first:
|
|
146
|
+
|
|
147
|
+
- `resolutionStatus: "resolved"` - `{{#N}}` references are inlined and `[[ ... ]]` optional clauses have been dropped locally. If the resolved SQL contains no other parameters the SQL is executable as-is. If the card had **required** (non-bracketed) `{{ var }}` placeholders, the SQL is prefixed with a placeholder-warning comment block listing every dummy substitution Metabase made - see "Step A" below.
|
|
148
|
+
- `resolutionStatus: "fallback"` - Metabase failed to resolve. The SQL still contains `{{#N}}`, `{{#N-name}} alias`, `{{ var }}`, and `[[ ... ]]` syntax. Do the translation steps below before writing a source.
|
|
149
|
+
|
|
150
|
+
### Step A - Handle dummy-substituted placeholders (resolved cards only)
|
|
151
|
+
|
|
152
|
+
When a card has a required `{{ var }}` outside any `[[ ]]` block, the resolver substitutes a **dummy value** purely so Metabase's parser will accept the query. The resulting SQL is prefixed with a comment like:
|
|
153
|
+
|
|
154
|
+
```sql
|
|
155
|
+
-- PLACEHOLDER_WARNING: this SQL was extracted from a Metabase card with
|
|
156
|
+
-- unbound template parameters. The placeholders below were substituted with DUMMY
|
|
157
|
+
-- values to satisfy Metabase's parser - they DO NOT represent intended filters.
|
|
158
|
+
-- Drop the corresponding clauses (or expose them as runtime SL filters) before
|
|
159
|
+
-- persisting this SQL as a semantic-layer source.
|
|
160
|
+
-- {{ auction_end }} (type=dimension, widget=date/all-options) → '2020-01-01~2020-12-31'
|
|
161
|
+
-- {{ status }} (type=text) → 'placeholder'
|
|
162
|
+
SELECT ...
|
|
163
|
+
WHERE start_date >= '2020-01-01' AND start_date < '2021-01-01' AND status = 'placeholder'
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
For each listed placeholder: locate the WHERE clause(s) in the SQL that reference the dummy literal and **drop them**, then strip the warning comment. SL chat-time filters compose narrowing predicates dynamically, so the source should represent the unfiltered dataset.
|
|
167
|
+
|
|
168
|
+
For `fallback` cards, dropping is simpler - the SQL still has the `[[ ... ]]` brackets and `{{ var }}` placeholders intact:
|
|
169
|
+
|
|
170
|
+
```sql
|
|
171
|
+
-- before:
|
|
172
|
+
WHERE 1=1
|
|
173
|
+
[[AND {{ auction_end }} ]]
|
|
174
|
+
[[AND status = {{ status }} ]]
|
|
175
|
+
|
|
176
|
+
-- after:
|
|
177
|
+
WHERE 1=1
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Step B - Inline `{{#N}}` references (fallback cards only)
|
|
181
|
+
|
|
182
|
+
Resolved cards already have `{{#N}}` inlined for you. For `fallback` cards, each `{{#N}}` (or `{{#N-some-slug}}`) in the SQL refers to another card's `resolvedSql`. The referenced card is in the WU's `rawFiles` or `dependencyPaths`. Read it with `read_raw_file`, then inline its SQL.
|
|
183
|
+
|
|
184
|
+
If the reference has an alias (`from {{#5996-listing-interactions}} tb`), the **outer** SQL probably uses that alias (`select tb.* ...`, `tb.column_name`, etc.). When you inline, you must EITHER:
|
|
185
|
+
|
|
186
|
+
1. **Pick a single base table inside the inlined SQL and rename its alias to the outer alias.** Useful when the inlined card is `SELECT * FROM listings JOIN ...` - set the LISTINGS alias to `tb` and `tb.*` keeps working in the outer query.
|
|
187
|
+
2. **Replace the outer alias references with explicit columns from the inlined SQL.** Useful when the inlined card has multiple JOINs and `tb.*` is ambiguous.
|
|
188
|
+
|
|
189
|
+
Never leave the outer alias dangling: after inlining, **grep your SQL for the outer alias name and rewrite or remove every reference**. A leftover `tb.*` with no `tb` table is the most common failure mode here.
|
|
190
|
+
|
|
191
|
+
### Step C - Inlining cleanup checklist
|
|
192
|
+
|
|
193
|
+
After Steps A and B, your SQL must:
|
|
194
|
+
|
|
195
|
+
- Contain no placeholder-warning comment, no `{{`, `}}`, `[[`, or `]]` characters anywhere.
|
|
196
|
+
- Reference no aliases that aren't defined inside the SQL itself.
|
|
197
|
+
- Be valid as a standalone subquery (the validator runs `SELECT * FROM (your_sql) LIMIT 1`).
|
|
198
|
+
|
|
199
|
+
If `resolutionStatus: "fallback"` and the SQL is still complex enough that you can't confidently translate it, **skip the card** rather than writing broken SQL. Call `emit_unmapped_fallback` with the staged card path as `rawPath`, `reason: "parse_error"`, `clarification: "metabase_sql_untranslated"`, and `fallback: "flagged"`.
|
|
200
|
+
|
|
201
|
+
## Join-graph connectivity
|
|
202
|
+
|
|
203
|
+
For `source_type: table`:
|
|
204
|
+
- Use FK columns (`semantic_type: type/FK`) to declare `many_to_one` joins to dimension sources.
|
|
205
|
+
- Match column names ending in `_id` against existing sources' grain columns.
|
|
206
|
+
|
|
207
|
+
For `source_type: sql`:
|
|
208
|
+
- The validator parses your SQL and rejects the write when a referenced manifest table has a viable projected local key but no declared `joins:` entry. Add the join only after confirming the output key and target grain match.
|
|
209
|
+
- If `sl_discover` resolves the table, it is not outside the manifest. Do not write an `unmapped-table-*` fallback for resolved `orbit_raw`, `mart`, or other manifest-backed sources just because they appear inside card SQL.
|
|
210
|
+
- If `sl_discover` cannot resolve a referenced table at all, write a single-line `wiki_write` with key `unmapped-table-<table_name>` and `rawPaths: ["cards/<id>.json"]` so the gap is documented, then call `emit_unmapped_fallback` with the staged card path as `rawPath`, `reason: "missing_target_table"`, `tableRef: "<table_name>"`, and `fallback: "wiki_only"`. Do not use this fallback if `sl_discover` resolved the table/source.
|
|
211
|
+
|
|
212
|
+
Joins on manifest-backed names compose: the manifest's joins are inherited automatically, and any overlay `joins:` are merged on top (deduped by `to` + `on`). Use `disable_joins: ["<on-clause>"]` in the overlay to suppress a specific manifest join. If `sl_discover` shows a manifest-backed source with `Joins: 0` and the warehouse FK metadata is genuinely absent, declaring application-level joins via the overlay is fair game - bootstrap with `sl_write_source` (overlay shape above), then refine via `sl_edit_source`.
|
|
213
|
+
|
|
214
|
+
## Cross-card references (`{{#N}}`)
|
|
215
|
+
|
|
216
|
+
Resolved cards (`resolutionStatus: "resolved"`) have these inlined for you. Unresolved cards (`resolutionStatus: "fallback"`) need manual handling - see "SQL translation from raw native to KSL" above.
|
|
217
|
+
|
|
218
|
+
## Provenance markers
|
|
219
|
+
|
|
220
|
+
Every SL source and wiki page you write carries HTML-comment provenance tags pointing to the `cards/<id>.json` files they derive from:
|
|
221
|
+
|
|
222
|
+
```yaml
|
|
223
|
+
# <!-- from: raw-sources/<connId>/metabase/<syncId>/cards/7.json -->
|
|
224
|
+
name: orders
|
|
225
|
+
...
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
If a source is derived from multiple cards (e.g. a generalized source for a near-duplicate group), emit one tag per contributing card.
|
|
229
|
+
|
|
230
|
+
## Quality standards
|
|
231
|
+
|
|
232
|
+
Source definitions must follow ktx-sl YAML conventions:
|
|
233
|
+
- `source_type`: `"table"` (physical table/view) or `"sql"` (arbitrary SQL / derived view).
|
|
234
|
+
- `table`: required when `source_type: "table"` (e.g. `"public.orders"`).
|
|
235
|
+
- `sql`: required when `source_type: "sql"`.
|
|
236
|
+
- `grain`: what one row represents (e.g. `[id]`, `[customer_id, product_id]`).
|
|
237
|
+
- `columns`: all columns with correct types (`string`, `number`, `time`, `boolean`).
|
|
238
|
+
- Time columns: mark with `role: time`.
|
|
239
|
+
- `joins`: use correct `relationship` types (`many_to_one` for FK→PK, `one_to_many` for reverse).
|
|
240
|
+
- `joins.on`: `local_column = TARGET_SOURCE.target_column` - the right side MUST include the target source name.
|
|
241
|
+
- `measures.expr`: aggregation expression (e.g. `"sum(amount)"`); optional `filter` for business rules; required `description`.
|
|
242
|
+
|
|
243
|
+
Measure naming: descriptive `snake_case` (e.g. `total_revenue`, `avg_order_value`).
|
|
244
|
+
|
|
245
|
+
## Rules
|
|
246
|
+
|
|
247
|
+
- Prefer adding measures to existing sources over creating new ones.
|
|
248
|
+
- Before editing, always `sl_read_source` the source to check for existing measures.
|
|
249
|
+
- Don't duplicate measures (same aggregation on the same column).
|
|
250
|
+
- If two measures differ only by a filter (e.g. `revenue` vs `paid_revenue`), they are distinct.
|
|
251
|
+
- Use the card's `name` + `description` to write meaningful measure descriptions.
|
|
252
|
+
- When multiple cards in a WU are near-duplicates, create ONE generalized source; the runner will skip the rest automatically.
|
|
253
|
+
- Process every card in the WU - don't stop early.
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: metricflow_ingest
|
|
3
|
+
description: Map a MetricFlow semantic_model or metric into KTX semantic layer sources. Covers the MetricFlow to KTX primitive table, `extends:` inheritance flattening, metric-type handling (simple / derived / ratio / cumulative / conversion), `model: ref('x')` resolution, and four worked examples. Load when the turn contains `.yml`/`.yaml` files with top-level `semantic_models:` or `metrics:`.
|
|
4
|
+
callers: [memory_agent]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# MetricFlow to KTX Semantic Layer
|
|
8
|
+
|
|
9
|
+
A MetricFlow `semantic_model` maps to an SL source; MetricFlow `measures` map to KTX measures; MetricFlow `entities` map to KTX `joins`; MetricFlow `metrics` (top-level) map to KTX measures OR to cross-model derived measures. Files in one WorkUnit are ALWAYS part of the same logical entity (a connected component, possibly spanning `extends:` + cross-model metric refs). Flatten inheritance and cross-file references at write time.
|
|
10
|
+
|
|
11
|
+
## Mapping table
|
|
12
|
+
|
|
13
|
+
| MetricFlow | KTX form | Notes |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| `semantic_model: X { model: ref('t') }` with measures + dimensions | **Overlay** at `<connId>/X.yaml` with `measures`, computed-only `columns`, `column_overrides`, `joins` | The `model:` ref resolves to a manifest table. |
|
|
16
|
+
| `semantic_model: X { model: source('s','t') }` | **Overlay** at `<connId>/X.yaml` over table `t`. | Same shape; `source()` still resolves to a physical table. |
|
|
17
|
+
| `semantic_model: X { model: <literal> }` with no manifest entry | **Standalone** with explicit `sql:`, `grain:`, `columns:` | Happens when the dbt manifest isn't available. |
|
|
18
|
+
| `semantic_model: Y { extends: X }` | **Merge** Y's measures/dimensions/entities into X's overlay, or write a single overlay named for the most-derived child (Y) containing both X's and Y's primitives | Do not emit a second overlay for X - flatten. |
|
|
19
|
+
| `measures: [{ name, agg, expr }]` | `measures: [{ name, expr: "<agg>(<expr>)" }]` | Aggregation inlined. `agg: count_distinct` → `count(distinct ...)`. |
|
|
20
|
+
| `entities: [{ name, type: primary }]` | `grain: [<entity_name-or-expr>]` on the overlay/standalone | Primary/unique entities drive grain. |
|
|
21
|
+
| `entities: [{ name, type: foreign }]` | `joins:` entry joining to the primary-entity's semantic_model | Only when a matching primary is discoverable. |
|
|
22
|
+
| `metrics: [{ type: simple, type_params: { measure: X } }]` | If the base measure is labeled/described by the metric: in-place edit to the existing measure. Otherwise leave as-is. | Same-name metrics can absorb metadata. |
|
|
23
|
+
| `metrics: [{ type: simple, filter: <jinja> }]` | **New measure** on the same source, with the filter translated to SQL and attached via `filter:` | Translate Jinja `{{ Dimension('x__y') }}` to the column name `y`. |
|
|
24
|
+
| `metrics: [{ type: derived, type_params: { expr, metrics } }]` | **Derived measure** on whichever source owns the referenced measures, with `expr:` referencing measure names | If the metric spans models, still write it once on the source owning the "primary" measure (the one the agent judges most central). Mention the cross-model chain in the description. |
|
|
25
|
+
| `metrics: [{ type: ratio, type_params: { numerator, denominator } }]` | Same as derived; `expr: "numerator / NULLIF(denominator, 0)"` if no explicit expr | Safe-division by default. |
|
|
26
|
+
| `metrics: [{ type: cumulative, type_params: { window, grain_to_date } }]` | **Standalone** source with a window-function SQL; reference the resulting column as a normal measure | KTX SL has no first-class cumulative primitive (spec Non-goals). |
|
|
27
|
+
| `metrics: [{ type: conversion }]` | **Flag for human** - do NOT write. Emit a wiki note describing the intended semantics. | No KTX equivalent in v1. |
|
|
28
|
+
| Metric not mappable | Wiki page `<metric_name>-definition.md` with the full YAML body quoted | Capture the intent even if we can't emit SL. |
|
|
29
|
+
|
|
30
|
+
Type map: MetricFlow `time` to KTX `time`; `categorical` to `string`; `number` to `number`; `boolean` to `boolean`. Follow `expr` over `name` when both differ - `expr` is the physical column.
|
|
31
|
+
|
|
32
|
+
Verify each MetricFlow model source table with entity_details before producing
|
|
33
|
+
the corresponding sl_write_source.
|
|
34
|
+
|
|
35
|
+
## Identifier Verification Protocol
|
|
36
|
+
|
|
37
|
+
Before writing a wiki page or SL source on any topic:
|
|
38
|
+
|
|
39
|
+
1. `discover_data({query: "<topic>"})` - see what wikis, SL sources, and raw
|
|
40
|
+
tables already exist. Prefer updating existing pages over creating new ones.
|
|
41
|
+
|
|
42
|
+
Before emitting any `schema.table` or `schema.table.column` into a wiki body,
|
|
43
|
+
SL source, `tables:` frontmatter, `sl_refs`, or `emit_unmapped_fallback`:
|
|
44
|
+
|
|
45
|
+
2. `entity_details({connectionId, targets: [{display: "<identifier>"}]})` -
|
|
46
|
+
confirm the identifier resolves; inspect native types, FK/PK, and
|
|
47
|
+
sampleValues.
|
|
48
|
+
3. For literal values from the source, such as status codes or plan tiers,
|
|
49
|
+
check whether they appear in `entity_details` sampleValues for the relevant
|
|
50
|
+
column. If sampleValues is short or the sample may have missed real values,
|
|
51
|
+
run a `sql_execution` probe with the same warehouse connection id:
|
|
52
|
+
`sql_execution({connectionId, sql: "SELECT DISTINCT <col> FROM <ref> LIMIT 50"})`.
|
|
53
|
+
4. If the candidate identifier still does not resolve, do one of:
|
|
54
|
+
- Use `sql_execution({connectionId, sql: "SELECT 1 FROM <ref> LIMIT 0"})`.
|
|
55
|
+
If it errors, the identifier is fictional.
|
|
56
|
+
- Wrap the identifier in `[unverified - from <rawPath>]` in the wiki body,
|
|
57
|
+
citing the exact raw path that mentioned it.
|
|
58
|
+
- When recording `emit_unmapped_fallback` with `no_physical_table`, include
|
|
59
|
+
the failing probe error in `clarification`.
|
|
60
|
+
5. Never copy `<schema>.<table>` placeholder strings from these instructions
|
|
61
|
+
into output.
|
|
62
|
+
|
|
63
|
+
## Flattening `extends:`
|
|
64
|
+
|
|
65
|
+
Within one WorkUnit, multiple semantic_models linked by `extends:` are guaranteed to be present (the chunker groups them). Resolve inheritance **before** writing:
|
|
66
|
+
|
|
67
|
+
1. Start with the most-derived child (the one that no other semantic_model extends).
|
|
68
|
+
2. Walk the `extends:` chain upward, accumulating measures, dimensions, entities.
|
|
69
|
+
3. Write ONE overlay/standalone, named for the most-derived child's SL-appropriate name (not the base).
|
|
70
|
+
4. Parents that lack their own distinctive content should NOT get a separate overlay. If a parent has unique measures a child doesn't inherit, consider whether the base is used elsewhere - if yes, write both; if no, still one overlay.
|
|
71
|
+
5. Measure/dimension name collisions: child wins, but note the overridden parent in the overlay's description or in a sibling wiki page.
|
|
72
|
+
|
|
73
|
+
The spec's worked example has `orders`, `orders_ext` (extends orders), and `metrics/orders_final.yml` (defines `revenue` referencing both). The right output is ONE overlay named `orders_ext` (or `orders` if the team's naming favors the base) containing `order_count`, `gross_amount`, `refund_amount`, and a derived `revenue` measure. Provenance tags point to all three source files.
|
|
74
|
+
|
|
75
|
+
## `model:` ref resolution
|
|
76
|
+
|
|
77
|
+
The `model:` field on a semantic_model is a string like `ref('table_name')`, `source('src','table_name')`, or a literal. Resolve:
|
|
78
|
+
|
|
79
|
+
- `ref('x')` → table name `x`. Verify via `sl_discover(x)`.
|
|
80
|
+
- `source('s','t')` → table name `t`. Verify via `sl_discover(t)`.
|
|
81
|
+
- Literal (no `ref(...)` / `source(...)`) → treat as the table name directly.
|
|
82
|
+
|
|
83
|
+
If `sl_discover` errors because no such table exists, use `discover_data` and
|
|
84
|
+
`entity_details` to find the warehouse target. If a SQL probe is still needed,
|
|
85
|
+
call `sql_execution` with the same warehouse connection id, for example:
|
|
86
|
+
`sql_execution({connectionId: "warehouse", sql: "SELECT 1 FROM analytics.orders LIMIT 0"})`.
|
|
87
|
+
**Never invent column names** - every column in computed `columns:`, `column_overrides:`, `grain:`, and
|
|
88
|
+
`sql:` must be sourced from raw files, `entity_details`, or a successful SQL
|
|
89
|
+
probe.
|
|
90
|
+
|
|
91
|
+
After every `sl_write_source`, call `sl_validate`. The warehouse will reject invented columns with `Unrecognized name: <name>` - treat as a hard failure and re-read the schema.
|
|
92
|
+
|
|
93
|
+
## Cumulative metrics - sql-standalone fallback
|
|
94
|
+
|
|
95
|
+
KTX SL has no first-class `window:` or `grain_to_date:` primitive in v1 (spec Non-goals). Translate a MetricFlow cumulative metric to a standalone SL source with a window-function SQL:
|
|
96
|
+
|
|
97
|
+
```yaml
|
|
98
|
+
# MetricFlow input:
|
|
99
|
+
metrics:
|
|
100
|
+
- name: cum_revenue_7d
|
|
101
|
+
type: cumulative
|
|
102
|
+
type_params:
|
|
103
|
+
measure: gross_amount
|
|
104
|
+
window: 7 days
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
```yaml
|
|
108
|
+
# KTX standalone output:
|
|
109
|
+
name: cum_revenue_7d
|
|
110
|
+
source_type: sql
|
|
111
|
+
sql: |
|
|
112
|
+
SELECT
|
|
113
|
+
ordered_at,
|
|
114
|
+
SUM(amount) OVER (ORDER BY ordered_at RANGE BETWEEN INTERVAL '7' DAY PRECEDING AND CURRENT ROW) AS cum_revenue_7d,
|
|
115
|
+
order_id
|
|
116
|
+
FROM analytics.orders
|
|
117
|
+
grain: [order_id]
|
|
118
|
+
columns:
|
|
119
|
+
- {name: ordered_at, type: time, role: time}
|
|
120
|
+
- {name: cum_revenue_7d, type: number}
|
|
121
|
+
- {name: order_id, type: string}
|
|
122
|
+
measures:
|
|
123
|
+
- {name: cum_revenue_7d, expr: "max(cum_revenue_7d)"}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Pick the time column based on the semantic_model's `defaults.agg_time_dimension` (e.g. `ordered_at`). If the MetricFlow config omits it, probe the base table for time-typed columns and choose the most obvious. After writing the standalone SQL source, call `emit_unmapped_fallback` with `rawPath` set to the MetricFlow file path, `reason: "cumulative_metric_unsupported"`, and `fallback: "sql_standalone"`.
|
|
127
|
+
|
|
128
|
+
## Conversion metrics - flag for human
|
|
129
|
+
|
|
130
|
+
```yaml
|
|
131
|
+
metrics:
|
|
132
|
+
- name: signup_to_first_order
|
|
133
|
+
type: conversion
|
|
134
|
+
type_params:
|
|
135
|
+
conversion_type_params:
|
|
136
|
+
entity: customer
|
|
137
|
+
base_measure: signup_count
|
|
138
|
+
conversion_measure: first_order_count
|
|
139
|
+
window: 30 days
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Do NOT emit SL for this. Instead:
|
|
143
|
+
- Write a wiki page at `wiki/global/<metric_name>-intent.md` quoting the full YAML body and a one-line explanation of the intended semantics (base event → conversion event within window).
|
|
144
|
+
- Call `emit_unmapped_fallback` with `rawPath` set to the MetricFlow file path, `reason: "conversion_metric_unsupported"`, and `fallback: "flagged"`.
|
|
145
|
+
|
|
146
|
+
When KTX SL gains conversion primitives, re-ingesting will find the prior wiki note (via `priorProvenance`) and replace it with an SL source.
|
|
147
|
+
|
|
148
|
+
## Provenance markers
|
|
149
|
+
|
|
150
|
+
Every overlay/standalone/wiki page emitted from a MetricFlow source carries HTML-comment provenance tags. When one overlay derives from multiple files (e.g. an extends chain), emit one tag per contributing file:
|
|
151
|
+
|
|
152
|
+
```yaml
|
|
153
|
+
# <!-- from: raw-sources/conn-1/metricflow/<syncId>/models/orders.yml#L1-20 -->
|
|
154
|
+
# <!-- from: raw-sources/conn-1/metricflow/<syncId>/models/orders_ext.yml#L1-12 -->
|
|
155
|
+
# <!-- from: raw-sources/conn-1/metricflow/<syncId>/metrics/orders_final.yml#L1-10 -->
|
|
156
|
+
name: orders_ext
|
|
157
|
+
...
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Line ranges (`#L<start>-<end>`) point to the exact YAML span within the file (the `semantic_models:` entry for its own `name`). Use `read_raw_span` to identify those ranges before writing.
|
|
161
|
+
|
|
162
|
+
## Example 1 - single semantic_model to overlay
|
|
163
|
+
|
|
164
|
+
```yaml
|
|
165
|
+
# MetricFlow:
|
|
166
|
+
semantic_models:
|
|
167
|
+
- name: orders
|
|
168
|
+
model: ref('orders')
|
|
169
|
+
entities:
|
|
170
|
+
- {name: order_id, type: primary}
|
|
171
|
+
measures:
|
|
172
|
+
- {name: order_count, agg: count, expr: order_id}
|
|
173
|
+
- {name: gross_amount, agg: sum, expr: amount}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
```yaml
|
|
177
|
+
# KTX overlay at <connId>/orders.yaml:
|
|
178
|
+
# <!-- from: raw-sources/.../models/orders.yml#L1-10 -->
|
|
179
|
+
name: orders
|
|
180
|
+
descriptions:
|
|
181
|
+
user: Order fact table.
|
|
182
|
+
measures:
|
|
183
|
+
- {name: order_count, expr: "count(order_id)"}
|
|
184
|
+
- {name: gross_amount, expr: "sum(amount)"}
|
|
185
|
+
grain: [order_id]
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Example 2 - extends chain → one flattened overlay
|
|
189
|
+
|
|
190
|
+
```yaml
|
|
191
|
+
# MetricFlow:
|
|
192
|
+
# models/orders.yml
|
|
193
|
+
semantic_models:
|
|
194
|
+
- name: orders
|
|
195
|
+
model: ref('orders')
|
|
196
|
+
measures:
|
|
197
|
+
- {name: order_count, agg: count, expr: order_id}
|
|
198
|
+
- {name: gross_amount, agg: sum, expr: amount}
|
|
199
|
+
|
|
200
|
+
# models/orders_ext.yml
|
|
201
|
+
semantic_models:
|
|
202
|
+
- name: orders_ext
|
|
203
|
+
model: ref('orders_ext')
|
|
204
|
+
extends: orders
|
|
205
|
+
measures:
|
|
206
|
+
- {name: refund_amount, agg: sum, expr: refund_amt}
|
|
207
|
+
|
|
208
|
+
# metrics/orders_final.yml
|
|
209
|
+
metrics:
|
|
210
|
+
- name: revenue
|
|
211
|
+
type: derived
|
|
212
|
+
type_params:
|
|
213
|
+
expr: gross_amount - refund_amount
|
|
214
|
+
metrics:
|
|
215
|
+
- {name: gross_amount}
|
|
216
|
+
- {name: refund_amount}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
```yaml
|
|
220
|
+
# KTX overlay at <connId>/orders_ext.yaml (one file; inheritance flattened):
|
|
221
|
+
# <!-- from: raw-sources/.../models/orders.yml#L1-10 -->
|
|
222
|
+
# <!-- from: raw-sources/.../models/orders_ext.yml#L1-8 -->
|
|
223
|
+
# <!-- from: raw-sources/.../metrics/orders_final.yml#L1-10 -->
|
|
224
|
+
name: orders_ext
|
|
225
|
+
descriptions:
|
|
226
|
+
user: Extended order fact including refund handling; `revenue` = gross - refund.
|
|
227
|
+
measures:
|
|
228
|
+
- {name: order_count, expr: "count(order_id)"}
|
|
229
|
+
- {name: gross_amount, expr: "sum(amount)"}
|
|
230
|
+
- {name: refund_amount, expr: "sum(refund_amt)"}
|
|
231
|
+
- {name: revenue, expr: "gross_amount - refund_amount"}
|
|
232
|
+
grain: [order_id]
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Example 3 - derived metric spanning two semantic_models
|
|
236
|
+
|
|
237
|
+
```yaml
|
|
238
|
+
# models/sales.yml
|
|
239
|
+
semantic_models:
|
|
240
|
+
- name: sales
|
|
241
|
+
model: ref('sales')
|
|
242
|
+
measures:
|
|
243
|
+
- {name: revenue, agg: sum, expr: revenue_cents}
|
|
244
|
+
# models/costs.yml
|
|
245
|
+
semantic_models:
|
|
246
|
+
- name: costs
|
|
247
|
+
model: ref('costs')
|
|
248
|
+
measures:
|
|
249
|
+
- {name: cost, agg: sum, expr: cost_cents}
|
|
250
|
+
# metrics/margin.yml
|
|
251
|
+
metrics:
|
|
252
|
+
- name: margin
|
|
253
|
+
type: derived
|
|
254
|
+
type_params:
|
|
255
|
+
expr: revenue - cost
|
|
256
|
+
metrics: [{name: revenue}, {name: cost}]
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Because the WorkUnit bundles all three files (cross-component union via the metric), write the derived measure on ONE of the two sources - pick the source whose domain "owns" the metric (here, `sales` - margin is inherently a sales metric). Cross-source references aren't native in KTX SL; treat the metric's operands as already-resolvable in the target source's query context OR emit a standalone SQL that joins the two tables:
|
|
260
|
+
|
|
261
|
+
```yaml
|
|
262
|
+
# <connId>/sales.yaml
|
|
263
|
+
# <!-- from: .../models/sales.yml#L1-8 -->
|
|
264
|
+
# <!-- from: .../models/costs.yml#L1-8 -->
|
|
265
|
+
# <!-- from: .../metrics/margin.yml#L1-8 -->
|
|
266
|
+
name: sales
|
|
267
|
+
measures:
|
|
268
|
+
- {name: revenue, expr: "sum(revenue_cents)"}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
```yaml
|
|
272
|
+
# <connId>/margin.yaml - standalone because it spans two tables
|
|
273
|
+
# <!-- from: .../models/sales.yml#L1-8 -->
|
|
274
|
+
# <!-- from: .../models/costs.yml#L1-8 -->
|
|
275
|
+
# <!-- from: .../metrics/margin.yml#L1-8 -->
|
|
276
|
+
name: margin
|
|
277
|
+
source_type: sql
|
|
278
|
+
sql: |
|
|
279
|
+
SELECT s.period_id, s.revenue_cents, COALESCE(c.cost_cents, 0) AS cost_cents
|
|
280
|
+
FROM analytics.sales s
|
|
281
|
+
LEFT JOIN analytics.costs c ON c.period_id = s.period_id
|
|
282
|
+
grain: [period_id]
|
|
283
|
+
columns:
|
|
284
|
+
- {name: period_id, type: string}
|
|
285
|
+
- {name: revenue_cents, type: number}
|
|
286
|
+
- {name: cost_cents, type: number}
|
|
287
|
+
measures:
|
|
288
|
+
- {name: revenue, expr: "sum(revenue_cents)"}
|
|
289
|
+
- {name: cost, expr: "sum(cost_cents)"}
|
|
290
|
+
- {name: margin, expr: "sum(revenue_cents) - sum(cost_cents)"}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
Also write a wiki page at `wiki/global/margin-metric.md` explaining the cross-source origin.
|
|
294
|
+
|
|
295
|
+
## Example 4 - filtered metric creates a new measure
|
|
296
|
+
|
|
297
|
+
```yaml
|
|
298
|
+
metrics:
|
|
299
|
+
- name: paid_order_count
|
|
300
|
+
type: simple
|
|
301
|
+
type_params:
|
|
302
|
+
measure: order_count
|
|
303
|
+
filter: "{{ Dimension('orders__status') }} = 'paid'"
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
```yaml
|
|
307
|
+
# <connId>/orders.yaml
|
|
308
|
+
measures:
|
|
309
|
+
- {name: order_count, expr: "count(order_id)"}
|
|
310
|
+
- {name: paid_order_count, expr: "count(order_id)", filter: "status = 'paid'"}
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
Translate `{{ Dimension('orders__status') }}` to the bare column name `status` (the table alias prefix is implicit within the SL source's scope).
|