@kaelio/ktx 0.4.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2122) hide show
  1. package/assets/python/kaelio_ktx-0.6.0-py3-none-any.whl +0 -0
  2. package/assets/python/manifest.json +4 -4
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/admin-reindex.d.ts +4 -1
  5. package/dist/admin-reindex.js +6 -3
  6. package/dist/admin.js +2 -1
  7. package/dist/clack.d.ts +8 -3
  8. package/dist/clack.js +15 -1
  9. package/dist/claude-code-prompt-caching.d.ts +1 -1
  10. package/dist/cli-program.d.ts +5 -1
  11. package/dist/cli-program.js +74 -8
  12. package/dist/cli-runtime.d.ts +0 -1
  13. package/dist/cli-runtime.js +2 -2
  14. package/dist/command-schemas.d.ts +2 -2
  15. package/dist/commands/status-commands.js +10 -1
  16. package/dist/connection.d.ts +5 -2
  17. package/dist/connection.js +77 -14
  18. package/dist/connectors/bigquery/connector.d.ts +151 -0
  19. package/dist/connectors/bigquery/connector.js +420 -0
  20. package/dist/connectors/bigquery/dialect.d.ts +31 -0
  21. package/dist/connectors/bigquery/dialect.js +158 -0
  22. package/dist/connectors/bigquery/live-database-introspection.d.ts +10 -0
  23. package/dist/connectors/bigquery/live-database-introspection.js +24 -0
  24. package/dist/connectors/clickhouse/connector.d.ts +121 -0
  25. package/dist/connectors/clickhouse/connector.js +438 -0
  26. package/dist/connectors/clickhouse/dialect.d.ts +32 -0
  27. package/dist/connectors/clickhouse/dialect.js +161 -0
  28. package/dist/connectors/clickhouse/live-database-introspection.d.ts +11 -0
  29. package/dist/connectors/clickhouse/live-database-introspection.js +25 -0
  30. package/dist/connectors/mysql/connector.d.ts +125 -0
  31. package/dist/connectors/mysql/connector.js +494 -0
  32. package/dist/connectors/mysql/dialect.d.ts +31 -0
  33. package/dist/connectors/mysql/dialect.js +153 -0
  34. package/dist/connectors/mysql/live-database-introspection.d.ts +11 -0
  35. package/dist/connectors/mysql/live-database-introspection.js +25 -0
  36. package/dist/connectors/postgres/connector.d.ts +147 -0
  37. package/dist/connectors/postgres/connector.js +566 -0
  38. package/dist/connectors/postgres/dialect.d.ts +31 -0
  39. package/dist/connectors/postgres/dialect.js +173 -0
  40. package/dist/connectors/postgres/historic-sql-query-client.d.ts +14 -0
  41. package/dist/connectors/postgres/live-database-introspection.d.ts +11 -0
  42. package/dist/connectors/postgres/live-database-introspection.js +25 -0
  43. package/dist/connectors/snowflake/connector.d.ts +143 -0
  44. package/dist/connectors/snowflake/connector.js +573 -0
  45. package/dist/connectors/snowflake/dialect.d.ts +31 -0
  46. package/dist/connectors/snowflake/dialect.js +157 -0
  47. package/dist/connectors/snowflake/historic-sql-query-client.d.ts +13 -0
  48. package/dist/connectors/snowflake/historic-sql-query-client.js +20 -0
  49. package/dist/connectors/snowflake/identifiers.d.ts +2 -0
  50. package/dist/connectors/snowflake/identifiers.js +10 -0
  51. package/dist/connectors/snowflake/live-database-introspection.d.ts +12 -0
  52. package/dist/connectors/snowflake/live-database-introspection.js +26 -0
  53. package/dist/connectors/snowflake/sdk-logger.d.ts +10 -0
  54. package/dist/connectors/snowflake/sdk-logger.js +29 -0
  55. package/dist/connectors/sqlite/connector.d.ts +63 -0
  56. package/dist/connectors/sqlite/connector.js +280 -0
  57. package/dist/connectors/sqlite/dialect.d.ts +31 -0
  58. package/dist/connectors/sqlite/dialect.js +142 -0
  59. package/dist/connectors/sqlite/live-database-introspection.d.ts +8 -0
  60. package/dist/connectors/sqlite/live-database-introspection.js +24 -0
  61. package/dist/connectors/sqlserver/connector.d.ts +145 -0
  62. package/dist/connectors/sqlserver/connector.js +581 -0
  63. package/dist/connectors/sqlserver/dialect.d.ts +31 -0
  64. package/dist/connectors/sqlserver/dialect.js +153 -0
  65. package/dist/connectors/sqlserver/live-database-introspection.d.ts +11 -0
  66. package/dist/connectors/sqlserver/live-database-introspection.js +25 -0
  67. package/dist/context/connections/bigquery-identifiers.d.ts +2 -0
  68. package/dist/context/connections/bigquery-identifiers.js +15 -0
  69. package/dist/context/connections/connection-type.d.ts +25 -0
  70. package/dist/context/connections/dialect-helpers.d.ts +9 -0
  71. package/dist/context/connections/dialect-helpers.js +67 -0
  72. package/dist/context/connections/dialects.d.ts +28 -0
  73. package/dist/context/connections/dialects.js +33 -0
  74. package/dist/context/connections/drivers.d.ts +23 -0
  75. package/dist/context/connections/drivers.js +171 -0
  76. package/dist/context/connections/local-query-executor.js +39 -0
  77. package/dist/context/connections/local-warehouse-descriptor.js +70 -0
  78. package/dist/context/connections/notion-config.d.ts +44 -0
  79. package/dist/context/connections/notion-config.js +134 -0
  80. package/dist/context/connections/postgres-query-executor.js +53 -0
  81. package/dist/context/connections/query-executor.d.ts +19 -0
  82. package/dist/context/connections/sqlite-query-executor.d.ts +4 -0
  83. package/dist/context/connections/sqlite-query-executor.js +74 -0
  84. package/dist/context/core/config-reference.d.ts +3 -0
  85. package/dist/context/core/config-reference.js +30 -0
  86. package/dist/context/core/config.d.ts +26 -0
  87. package/dist/context/core/redaction.d.ts +5 -0
  88. package/dist/context/core/redaction.js +40 -0
  89. package/dist/context/core/session-worktree.service.d.ts +31 -0
  90. package/dist/context/daemon/semantic-layer-compute.d.ts +84 -0
  91. package/dist/context/daemon/semantic-layer-compute.js +194 -0
  92. package/dist/context/index-sync/reindex.d.ts +3 -0
  93. package/dist/context/index-sync/reindex.js +144 -0
  94. package/dist/context/index-sync/types.d.ts +29 -0
  95. package/dist/context/ingest/action-identity.d.ts +3 -0
  96. package/dist/context/ingest/adapters/dbt/parse.d.ts +7 -0
  97. package/dist/context/ingest/adapters/dbt/parse.js +24 -0
  98. package/dist/context/ingest/adapters/dbt-descriptions/parse-schema.d.ts +65 -0
  99. package/dist/context/ingest/adapters/dbt-descriptions/parse-schema.js +426 -0
  100. package/dist/context/ingest/adapters/historic-sql/bigquery-query-history-reader.js +187 -0
  101. package/dist/context/ingest/adapters/historic-sql/chunk-unified.js +86 -0
  102. package/dist/context/ingest/adapters/historic-sql/connection-dialect.d.ts +8 -0
  103. package/dist/context/ingest/adapters/historic-sql/connection-dialect.js +34 -0
  104. package/dist/context/ingest/adapters/historic-sql/evidence-tool.d.ts +41 -0
  105. package/dist/context/ingest/adapters/historic-sql/evidence-tool.js +91 -0
  106. package/dist/context/ingest/adapters/historic-sql/evidence.d.ts +77 -0
  107. package/dist/context/ingest/adapters/historic-sql/evidence.js +34 -0
  108. package/dist/context/ingest/adapters/historic-sql/pattern-inputs.d.ts +21 -0
  109. package/dist/context/ingest/adapters/historic-sql/pattern-inputs.js +68 -0
  110. package/dist/context/ingest/adapters/historic-sql/projection.d.ts +24 -0
  111. package/dist/context/ingest/adapters/historic-sql/projection.js +323 -0
  112. package/dist/context/ingest/adapters/historic-sql/skill-schemas.d.ts +37 -0
  113. package/dist/context/ingest/adapters/historic-sql/skill-schemas.js +25 -0
  114. package/dist/context/ingest/adapters/historic-sql/stage-unified.d.ts +13 -0
  115. package/dist/context/ingest/adapters/historic-sql/types.d.ts +183 -0
  116. package/dist/context/ingest/adapters/live-database/daemon-introspection.d.ts +21 -0
  117. package/dist/context/ingest/adapters/live-database/daemon-introspection.js +198 -0
  118. package/dist/context/ingest/adapters/live-database/live-database.adapter.js +25 -0
  119. package/dist/context/ingest/adapters/live-database/manifest.d.ts +66 -0
  120. package/dist/context/ingest/adapters/live-database/stage.d.ts +15 -0
  121. package/dist/context/ingest/adapters/live-database/stage.js +115 -0
  122. package/dist/context/ingest/adapters/live-database/types.d.ts +12 -0
  123. package/dist/context/ingest/adapters/looker/factory.d.ts +23 -0
  124. package/dist/context/ingest/adapters/looker/factory.js +23 -0
  125. package/dist/context/ingest/adapters/looker/fetch.d.ts +31 -0
  126. package/dist/context/ingest/adapters/looker/local-looker.adapter.d.ts +9 -0
  127. package/dist/context/ingest/adapters/looker/local-looker.adapter.js +35 -0
  128. package/dist/context/ingest/adapters/looker/local-runtime-store.d.ts +50 -0
  129. package/dist/context/ingest/adapters/looker/mapping.d.ts +129 -0
  130. package/dist/context/ingest/adapters/looker/mapping.js +307 -0
  131. package/dist/context/ingest/adapters/looker/reconcile.d.ts +1 -0
  132. package/dist/context/ingest/adapters/looker/reconcile.js +8 -0
  133. package/dist/context/ingest/adapters/looker/scope.d.ts +7 -0
  134. package/dist/context/ingest/adapters/looker/scope.js +57 -0
  135. package/dist/context/ingest/adapters/looker/tools/looker-query-to-sl.tool.d.ts +107 -0
  136. package/dist/context/ingest/adapters/looker/tools/looker-query-to-sl.tool.js +237 -0
  137. package/dist/context/ingest/adapters/looker/types.d.ts +439 -0
  138. package/dist/context/ingest/adapters/looker/types.js +199 -0
  139. package/dist/context/ingest/adapters/lookml/fetch-report.d.ts +17 -0
  140. package/dist/context/ingest/adapters/lookml/fetch-report.js +100 -0
  141. package/dist/context/ingest/adapters/lookml/pull-config.d.ts +38 -0
  142. package/dist/context/ingest/adapters/lookml/pull-config.js +26 -0
  143. package/dist/context/ingest/adapters/metabase/client-port.d.ts +167 -0
  144. package/dist/context/ingest/adapters/metabase/client.d.ts +116 -0
  145. package/dist/context/ingest/adapters/metabase/client.js +673 -0
  146. package/dist/context/ingest/adapters/metabase/fanout-planner.d.ts +18 -0
  147. package/dist/context/ingest/adapters/metabase/local-metabase.adapter.d.ts +14 -0
  148. package/dist/context/ingest/adapters/metabase/local-metabase.adapter.js +41 -0
  149. package/dist/context/ingest/adapters/metabase/local-source-state-store.d.ts +43 -0
  150. package/dist/context/ingest/adapters/metabase/local-source-state-store.js +176 -0
  151. package/dist/context/ingest/adapters/metabase/mapping.d.ts +102 -0
  152. package/dist/context/ingest/adapters/metabase/mapping.js +225 -0
  153. package/dist/context/ingest/adapters/metabase/serialize-card.d.ts +56 -0
  154. package/dist/context/ingest/adapters/metabase/serialize-card.js +68 -0
  155. package/dist/context/ingest/adapters/metabase/source-state-port.d.ts +24 -0
  156. package/dist/context/ingest/adapters/metabase/types.d.ts +143 -0
  157. package/dist/context/ingest/adapters/metabase/types.js +107 -0
  158. package/dist/context/ingest/adapters/metricflow/deep-parse.d.ts +78 -0
  159. package/dist/context/ingest/adapters/metricflow/deep-parse.js +461 -0
  160. package/dist/context/ingest/adapters/metricflow/import-semantic-models.d.ts +30 -0
  161. package/dist/context/ingest/adapters/metricflow/import-semantic-models.js +136 -0
  162. package/dist/context/ingest/adapters/metricflow/parse.d.ts +43 -0
  163. package/dist/context/ingest/adapters/metricflow/pull-config.d.ts +38 -0
  164. package/dist/context/ingest/adapters/metricflow/pull-config.js +24 -0
  165. package/dist/context/ingest/adapters/metricflow/semantic-models.d.ts +37 -0
  166. package/dist/context/ingest/adapters/metricflow/semantic-models.js +283 -0
  167. package/dist/context/ingest/adapters/notion/chunk.d.ts +5 -0
  168. package/dist/context/ingest/adapters/notion/chunk.js +138 -0
  169. package/dist/context/ingest/adapters/notion/cluster.d.ts +11 -0
  170. package/dist/context/ingest/adapters/notion/cluster.js +83 -0
  171. package/dist/context/ingest/adapters/notion/normalize.d.ts +11 -0
  172. package/dist/context/ingest/adapters/notion/normalize.js +166 -0
  173. package/dist/context/ingest/adapters/notion/notion-client.d.ts +75 -0
  174. package/dist/context/ingest/adapters/notion/notion-client.js +108 -0
  175. package/dist/context/ingest/artifact-gates.d.ts +26 -0
  176. package/dist/context/ingest/context-candidates/candidate-dedup.service.d.ts +27 -0
  177. package/dist/context/ingest/context-candidates/candidate-dedup.service.js +234 -0
  178. package/dist/context/ingest/context-candidates/context-candidate-carryforward.service.d.ts +31 -0
  179. package/dist/context/ingest/context-candidates/context-candidate-carryforward.service.js +131 -0
  180. package/dist/context/ingest/context-candidates/curator-pagination.service.d.ts +64 -0
  181. package/dist/context/ingest/context-candidates/curator-pagination.service.js +240 -0
  182. package/dist/context/ingest/context-candidates/types.d.ts +93 -0
  183. package/dist/context/ingest/context-evidence/context-evidence-index.service.d.ts +53 -0
  184. package/dist/context/ingest/context-evidence/context-evidence-index.service.js +303 -0
  185. package/dist/context/ingest/context-evidence/sqlite-context-evidence-store.d.ts +90 -0
  186. package/dist/context/ingest/context-evidence/sqlite-context-evidence-store.js +1025 -0
  187. package/dist/context/ingest/dbt-shared/project-vars.d.ts +14 -0
  188. package/dist/context/ingest/dbt-shared/project-vars.js +88 -0
  189. package/dist/context/ingest/dbt-shared/schema-files.d.ts +4 -0
  190. package/dist/context/ingest/dbt-shared/schema-files.js +63 -0
  191. package/dist/context/ingest/final-gate-repair.d.ts +29 -0
  192. package/dist/context/ingest/finalization-scope.d.ts +22 -0
  193. package/dist/context/ingest/historic-sql-probes/bigquery-runner.d.ts +34 -0
  194. package/dist/context/ingest/historic-sql-probes/bigquery-runner.js +99 -0
  195. package/dist/context/ingest/historic-sql-probes/postgres-runner.d.ts +26 -0
  196. package/dist/context/ingest/historic-sql-probes/postgres-runner.js +76 -0
  197. package/dist/context/ingest/historic-sql-probes/snowflake-runner.d.ts +29 -0
  198. package/dist/context/ingest/historic-sql-probes/snowflake-runner.js +62 -0
  199. package/dist/context/ingest/historic-sql-probes.d.ts +46 -0
  200. package/dist/context/ingest/historic-sql-probes.js +62 -0
  201. package/dist/context/ingest/ingest-bundle.runner.js +2247 -0
  202. package/dist/context/ingest/ingest-trace.d.ts +25 -0
  203. package/dist/context/ingest/ingest-trace.js +74 -0
  204. package/dist/context/ingest/isolated-diff/git-patch.d.ts +17 -0
  205. package/dist/context/ingest/isolated-diff/git-patch.js +79 -0
  206. package/dist/context/ingest/isolated-diff/patch-integrator.d.ts +59 -0
  207. package/dist/context/ingest/isolated-diff/textual-conflict-resolver.d.ts +23 -0
  208. package/dist/context/ingest/local-adapters.d.ts +35 -0
  209. package/dist/context/ingest/local-adapters.js +241 -0
  210. package/dist/context/ingest/local-bundle-runtime.d.ts +35 -0
  211. package/dist/context/ingest/local-bundle-runtime.js +636 -0
  212. package/dist/context/ingest/local-ingest.d.ts +82 -0
  213. package/dist/context/ingest/local-ingest.js +297 -0
  214. package/dist/context/ingest/local-mapping-reconcile.d.ts +2 -0
  215. package/dist/context/ingest/local-mapping-reconcile.js +27 -0
  216. package/dist/context/ingest/local-stage-ingest.d.ts +56 -0
  217. package/dist/context/ingest/local-stage-ingest.js +290 -0
  218. package/dist/context/ingest/memory-flow/events.d.ts +10 -0
  219. package/dist/context/ingest/memory-flow/events.js +197 -0
  220. package/dist/context/ingest/memory-flow/interaction.d.ts +11 -0
  221. package/dist/context/ingest/memory-flow/interaction.js +317 -0
  222. package/dist/context/ingest/memory-flow/schema.d.ts +18 -0
  223. package/dist/context/ingest/memory-flow/schema.js +174 -0
  224. package/dist/context/ingest/memory-flow/visuals.d.ts +25 -0
  225. package/dist/context/ingest/memory-flow/visuals.js +46 -0
  226. package/dist/context/ingest/page-triage/page-triage.service.d.ts +84 -0
  227. package/dist/context/ingest/page-triage/page-triage.service.js +318 -0
  228. package/dist/context/ingest/ports.d.ts +328 -0
  229. package/dist/context/ingest/raw-sources-paths.d.ts +6 -0
  230. package/dist/context/ingest/raw-sources-paths.js +18 -0
  231. package/dist/context/ingest/repo-fetch.d.ts +41 -0
  232. package/dist/context/ingest/repo-fetch.js +138 -0
  233. package/dist/context/ingest/report-snapshot.d.ts +2 -0
  234. package/dist/context/ingest/report-snapshot.js +212 -0
  235. package/dist/context/ingest/reports.d.ts +120 -0
  236. package/dist/context/ingest/reports.js +30 -0
  237. package/dist/context/ingest/semantic-layer-target-policy.d.ts +14 -0
  238. package/dist/context/ingest/semantic-layer-target-policy.js +28 -0
  239. package/dist/context/ingest/stages/build-reconcile-context.d.ts +61 -0
  240. package/dist/context/ingest/stages/build-wu-context.d.ts +27 -0
  241. package/dist/context/ingest/stages/build-wu-context.js +87 -0
  242. package/dist/context/ingest/stages/stage-3-work-units.d.ts +49 -0
  243. package/dist/context/ingest/stages/stage-3-work-units.js +108 -0
  244. package/dist/context/ingest/stages/stage-4-reconciliation.d.ts +28 -0
  245. package/dist/context/ingest/stages/stage-index.types.d.ts +51 -0
  246. package/dist/context/ingest/stages/validate-wu-sources.d.ts +10 -0
  247. package/dist/context/ingest/tools/tool-call-logger.d.ts +33 -0
  248. package/dist/context/ingest/tools/verification-ledger.tool.d.ts +14 -0
  249. package/dist/context/ingest/tools/warehouse-verification/create-warehouse-verification-tools.d.ts +9 -0
  250. package/dist/context/ingest/tools/warehouse-verification/discover-data.tool.d.ts +36 -0
  251. package/dist/context/ingest/tools/warehouse-verification/discover-data.tool.js +94 -0
  252. package/dist/context/ingest/tools/warehouse-verification/entity-details.tool.d.ts +43 -0
  253. package/dist/context/ingest/tools/warehouse-verification/entity-details.tool.js +137 -0
  254. package/dist/context/ingest/tools/warehouse-verification/sql-execution.tool.d.ts +31 -0
  255. package/dist/context/ingest/tools/warehouse-verification/sql-execution.tool.js +84 -0
  256. package/dist/context/ingest/types.d.ts +203 -0
  257. package/dist/context/ingest/wiki-body-refs.d.ts +26 -0
  258. package/dist/context/ingest/wiki-body-refs.js +112 -0
  259. package/dist/context/ingest/wiki-sl-ref-repair.d.ts +19 -0
  260. package/dist/context/llm/ai-sdk-runtime.d.ts +24 -0
  261. package/dist/context/llm/ai-sdk-runtime.js +133 -0
  262. package/dist/context/llm/claude-code-env.d.ts +3 -0
  263. package/dist/context/llm/claude-code-env.js +22 -0
  264. package/dist/context/llm/claude-code-runtime.d.ts +37 -0
  265. package/dist/context/llm/claude-code-runtime.js +281 -0
  266. package/dist/context/llm/debug-request-recorder.d.ts +45 -0
  267. package/dist/context/llm/debug-request-recorder.js +80 -0
  268. package/dist/context/llm/embedding-port.d.ts +17 -0
  269. package/dist/context/llm/local-config.d.ts +24 -0
  270. package/dist/context/llm/local-config.js +136 -0
  271. package/dist/context/llm/runtime-port.d.ts +60 -0
  272. package/dist/context/llm/runtime-tools.d.ts +9 -0
  273. package/dist/context/llm/runtime-tools.js +65 -0
  274. package/dist/context/mcp/context-tools.d.ts +12 -0
  275. package/dist/context/mcp/context-tools.js +565 -0
  276. package/dist/context/mcp/local-project-ports.d.ts +16 -0
  277. package/dist/context/mcp/local-project-ports.js +199 -0
  278. package/dist/context/mcp/server.d.ts +8 -0
  279. package/dist/context/mcp/server.js +29 -0
  280. package/dist/context/mcp/types.d.ts +169 -0
  281. package/dist/context/memory/capture-signals.d.ts +9 -0
  282. package/dist/context/memory/capture-signals.js +104 -0
  283. package/dist/context/memory/local-memory.d.ts +24 -0
  284. package/dist/context/memory/local-memory.js +418 -0
  285. package/dist/context/memory/memory-agent.service.d.ts +60 -0
  286. package/dist/context/memory/memory-agent.service.js +540 -0
  287. package/dist/context/memory/memory-runs.d.ts +55 -0
  288. package/dist/context/memory/types.d.ts +145 -0
  289. package/dist/context/project/config.d.ts +470 -0
  290. package/dist/context/project/config.js +325 -0
  291. package/dist/context/project/driver-schemas.d.ts +101 -0
  292. package/dist/context/project/driver-schemas.js +182 -0
  293. package/dist/context/project/local-git-file-store.d.ts +24 -0
  294. package/dist/context/project/mappings-yaml-schema.d.ts +61 -0
  295. package/dist/context/project/mappings-yaml-schema.js +111 -0
  296. package/dist/context/project/project.d.ts +30 -0
  297. package/dist/context/project/project.js +94 -0
  298. package/dist/context/project/setup-config.d.ts +13 -0
  299. package/dist/context/project/setup-config.js +80 -0
  300. package/dist/context/prompts/prompt.service.d.ts +28 -0
  301. package/dist/context/prompts/prompt.service.js +84 -0
  302. package/dist/context/scan/constraint-discovery.d.ts +19 -0
  303. package/dist/context/scan/constraint-discovery.js +23 -0
  304. package/dist/context/scan/credentials.d.ts +10 -0
  305. package/dist/context/scan/credentials.js +41 -0
  306. package/dist/context/scan/data-dictionary.d.ts +26 -0
  307. package/dist/context/scan/data-dictionary.js +67 -0
  308. package/dist/context/scan/description-generation.d.ts +148 -0
  309. package/dist/context/scan/description-generation.js +760 -0
  310. package/dist/context/scan/embedding-text.d.ts +22 -0
  311. package/dist/context/scan/enabled-tables.d.ts +15 -0
  312. package/dist/context/scan/enabled-tables.js +48 -0
  313. package/dist/context/scan/enrichment-state.d.ts +47 -0
  314. package/dist/context/scan/enrichment-state.js +44 -0
  315. package/dist/context/scan/enrichment-types.d.ts +103 -0
  316. package/dist/context/scan/entity-details.d.ts +58 -0
  317. package/dist/context/scan/entity-details.js +186 -0
  318. package/dist/context/scan/local-enrichment-artifacts.d.ts +32 -0
  319. package/dist/context/scan/local-enrichment-artifacts.js +275 -0
  320. package/dist/context/scan/local-enrichment.d.ts +46 -0
  321. package/dist/context/scan/local-enrichment.js +479 -0
  322. package/dist/context/scan/local-scan.d.ts +62 -0
  323. package/dist/context/scan/local-scan.js +450 -0
  324. package/dist/context/scan/local-structural-artifacts.d.ts +10 -0
  325. package/dist/context/scan/local-structural-artifacts.js +137 -0
  326. package/dist/context/scan/relationship-benchmarks.d.ts +148 -0
  327. package/dist/context/scan/relationship-benchmarks.js +649 -0
  328. package/dist/context/scan/relationship-budget.d.ts +21 -0
  329. package/dist/context/scan/relationship-budget.js +35 -0
  330. package/dist/context/scan/relationship-candidates.d.ts +50 -0
  331. package/dist/context/scan/relationship-candidates.js +557 -0
  332. package/dist/context/scan/relationship-composite-candidates.d.ts +68 -0
  333. package/dist/context/scan/relationship-composite-candidates.js +410 -0
  334. package/dist/context/scan/relationship-diagnostics.d.ts +96 -0
  335. package/dist/context/scan/relationship-diagnostics.js +225 -0
  336. package/dist/context/scan/relationship-discovery.d.ts +28 -0
  337. package/dist/context/scan/relationship-discovery.js +248 -0
  338. package/dist/context/scan/relationship-graph-resolver.d.ts +49 -0
  339. package/dist/context/scan/relationship-llm-proposal.d.ts +26 -0
  340. package/dist/context/scan/relationship-llm-proposal.js +191 -0
  341. package/dist/context/scan/relationship-name-similarity.d.ts +15 -0
  342. package/dist/context/scan/relationship-name-similarity.js +124 -0
  343. package/dist/context/scan/relationship-profiling.d.ts +56 -0
  344. package/dist/context/scan/relationship-profiling.js +265 -0
  345. package/dist/context/scan/relationship-scoring.d.ts +34 -0
  346. package/dist/context/scan/relationship-scoring.js +98 -0
  347. package/dist/context/scan/relationship-validation.d.ts +47 -0
  348. package/dist/context/scan/relationship-validation.js +230 -0
  349. package/dist/context/scan/table-ref.d.ts +25 -0
  350. package/dist/context/scan/table-ref.js +35 -0
  351. package/dist/context/scan/type-normalization.d.ts +10 -0
  352. package/dist/context/scan/type-normalization.js +24 -0
  353. package/dist/context/scan/types.d.ts +332 -0
  354. package/dist/context/scan/warehouse-catalog.d.ts +69 -0
  355. package/dist/context/scan/warehouse-catalog.js +294 -0
  356. package/dist/context/search/discover.d.ts +31 -0
  357. package/dist/context/search/discover.js +341 -0
  358. package/dist/context/search/pglite-owner-process.d.ts +20 -0
  359. package/dist/context/search/pglite-owner-process.js +82 -0
  360. package/dist/context/search/types.d.ts +73 -0
  361. package/dist/context/skills/skills-registry.service.d.ts +35 -0
  362. package/dist/context/skills/skills-registry.service.js +215 -0
  363. package/dist/context/sl/dictionary-search.d.ts +43 -0
  364. package/dist/context/sl/local-query.d.ts +19 -0
  365. package/dist/context/sl/local-query.js +115 -0
  366. package/dist/context/sl/local-sl.d.ts +62 -0
  367. package/dist/context/sl/local-sl.js +472 -0
  368. package/dist/context/sl/pglite-sl-search-prototype.d.ts +16 -0
  369. package/dist/context/sl/pglite-sl-search-prototype.js +433 -0
  370. package/dist/context/sl/semantic-layer.service.d.ts +220 -0
  371. package/dist/context/sl/semantic-layer.service.js +1351 -0
  372. package/dist/context/sl/sl-dictionary-profile.d.ts +9 -0
  373. package/dist/context/sl/sl-dictionary-profile.js +80 -0
  374. package/dist/context/sl/sl-search.service.d.ts +19 -0
  375. package/dist/context/sl/sl-search.service.js +158 -0
  376. package/dist/context/sl/sl-validator.port.d.ts +8 -0
  377. package/dist/context/sl/tools/base-semantic-layer.tool.d.ts +46 -0
  378. package/dist/context/sl/tools/base-semantic-layer.tool.js +91 -0
  379. package/dist/context/sl/tools/sl-discover.tool.d.ts +52 -0
  380. package/dist/context/sl/tools/sl-edit-source.tool.d.ts +33 -0
  381. package/dist/context/sl/tools/sl-edit-source.tool.js +179 -0
  382. package/dist/context/sl/tools/sl-read-source.tool.d.ts +23 -0
  383. package/dist/context/sl/tools/sl-rollback.tool.d.ts +25 -0
  384. package/dist/context/sl/tools/sl-rollback.tool.js +64 -0
  385. package/dist/context/sl/tools/sl-validate.tool.d.ts +24 -0
  386. package/dist/context/sl/tools/sl-validate.tool.js +101 -0
  387. package/dist/context/sl/tools/sl-warehouse-validation.d.ts +32 -0
  388. package/dist/context/sl/tools/sl-warehouse-validation.js +246 -0
  389. package/dist/context/sl/tools/sl-write-source.tool.d.ts +422 -0
  390. package/dist/context/sl/tools/sl-write-source.tool.js +321 -0
  391. package/dist/context/sl/types.d.ts +141 -0
  392. package/dist/context/sql-analysis/ports.d.ts +34 -0
  393. package/dist/context/tools/base-tool.d.ts +85 -0
  394. package/dist/context/tools/base-tool.js +94 -0
  395. package/dist/context/tools/context-candidate-mark.tool.d.ts +41 -0
  396. package/dist/context/tools/context-candidate-write.tool.d.ts +64 -0
  397. package/dist/context/tools/context-candidate-write.tool.js +140 -0
  398. package/dist/context/tools/context-evidence-search.tool.d.ts +57 -0
  399. package/dist/context/tools/context-evidence-search.tool.js +97 -0
  400. package/dist/context/tools/context-evidence-tool-store.d.ts +113 -0
  401. package/dist/context/tools/tool-session.d.ts +55 -0
  402. package/dist/context/tools/touched-sl-sources.d.ts +13 -0
  403. package/dist/context/tools/touched-sl-sources.js +48 -0
  404. package/dist/context/wiki/keys.d.ts +10 -0
  405. package/dist/context/wiki/keys.js +26 -0
  406. package/dist/context/wiki/knowledge-wiki.service.d.ts +79 -0
  407. package/dist/context/wiki/knowledge-wiki.service.js +370 -0
  408. package/dist/context/wiki/local-knowledge.d.ts +58 -0
  409. package/dist/context/wiki/local-knowledge.js +290 -0
  410. package/dist/context/wiki/ports.d.ts +68 -0
  411. package/dist/context/wiki/tools/wiki-list-tags.tool.d.ts +16 -0
  412. package/dist/context/wiki/tools/wiki-list-tags.tool.js +34 -0
  413. package/dist/context/wiki/tools/wiki-read.tool.d.ts +28 -0
  414. package/dist/context/wiki/tools/wiki-read.tool.js +59 -0
  415. package/dist/context/wiki/tools/wiki-remove.tool.d.ts +28 -0
  416. package/dist/context/wiki/tools/wiki-remove.tool.js +86 -0
  417. package/dist/context/wiki/tools/wiki-search.tool.d.ts +50 -0
  418. package/dist/context/wiki/tools/wiki-search.tool.js +54 -0
  419. package/dist/context/wiki/tools/wiki-write.tool.d.ts +80 -0
  420. package/dist/context/wiki/tools/wiki-write.tool.js +211 -0
  421. package/dist/context/wiki/types.d.ts +45 -0
  422. package/dist/context/wiki/wiki-ref-validation.d.ts +17 -0
  423. package/dist/context-build-view.d.ts +4 -0
  424. package/dist/context-build-view.js +8 -3
  425. package/dist/database-tree-picker.d.ts +36 -3
  426. package/dist/database-tree-picker.js +92 -10
  427. package/dist/demo-assets.d.ts +7 -0
  428. package/dist/demo-assets.js +18 -0
  429. package/dist/demo-metrics.d.ts +5 -1
  430. package/dist/demo-metrics.js +4 -0
  431. package/dist/doctor.d.ts +2 -1
  432. package/dist/doctor.js +13 -3
  433. package/dist/embedding-resolution.d.ts +3 -2
  434. package/dist/embedding-resolution.js +2 -2
  435. package/dist/error-message.d.ts +1 -0
  436. package/dist/error-message.js +29 -0
  437. package/dist/ingest-depth.d.ts +1 -1
  438. package/dist/ingest-depth.js +0 -1
  439. package/dist/ingest-query-executor.d.ts +2 -2
  440. package/dist/ingest-report-file.d.ts +1 -1
  441. package/dist/ingest-report-file.js +1 -1
  442. package/dist/ingest.d.ts +5 -3
  443. package/dist/ingest.js +15 -7
  444. package/dist/io/logger.d.ts +1 -0
  445. package/dist/io/logger.js +1 -0
  446. package/dist/knowledge.d.ts +2 -2
  447. package/dist/knowledge.js +29 -3
  448. package/dist/llm/embedding-health.js +36 -0
  449. package/dist/llm/model-health.d.ts +19 -0
  450. package/dist/llm/model-provider.d.ts +21 -0
  451. package/dist/llm/model-provider.js +150 -0
  452. package/dist/llm/types.d.ts +106 -0
  453. package/dist/local-adapters.d.ts +4 -3
  454. package/dist/local-adapters.js +43 -59
  455. package/dist/local-scan-connectors.d.ts +2 -2
  456. package/dist/local-scan-connectors.js +16 -42
  457. package/dist/managed-local-embeddings.d.ts +1 -1
  458. package/dist/managed-local-embeddings.js +2 -1
  459. package/dist/managed-mcp-daemon.d.ts +1 -0
  460. package/dist/managed-python-command.d.ts +5 -2
  461. package/dist/managed-python-command.js +7 -1
  462. package/dist/managed-python-daemon.d.ts +11 -2
  463. package/dist/managed-python-daemon.js +29 -9
  464. package/dist/managed-python-http.d.ts +8 -4
  465. package/dist/managed-python-http.js +7 -4
  466. package/dist/managed-python-runtime.d.ts +6 -2
  467. package/dist/managed-python-runtime.js +3 -0
  468. package/dist/mcp-http-server.d.ts +5 -2
  469. package/dist/mcp-http-server.js +5 -2
  470. package/dist/mcp-server-factory.d.ts +1 -1
  471. package/dist/mcp-server-factory.js +15 -7
  472. package/dist/mcp-stdio-server.d.ts +2 -2
  473. package/dist/mcp-stdio-server.js +4 -3
  474. package/dist/memory-flow-hud.d.ts +1 -1
  475. package/dist/memory-flow-interactive.d.ts +2 -1
  476. package/dist/memory-flow-interactive.js +4 -1
  477. package/dist/memory-flow-tui.d.ts +5 -2
  478. package/dist/memory-flow-tui.js +4 -1
  479. package/dist/next-steps.d.ts +2 -1
  480. package/dist/next-steps.js +3 -1
  481. package/dist/notion-page-picker.d.ts +7 -2
  482. package/dist/notion-page-picker.js +6 -2
  483. package/dist/print-command-tree.js +2 -8
  484. package/dist/prompt-navigation.d.ts +1 -0
  485. package/dist/prompt-navigation.js +1 -0
  486. package/dist/public-ingest.d.ts +2 -2
  487. package/dist/public-ingest.js +83 -21
  488. package/dist/runtime-requirements.d.ts +2 -1
  489. package/dist/runtime-requirements.js +9 -2
  490. package/dist/scan.d.ts +5 -1
  491. package/dist/scan.js +48 -5
  492. package/dist/setup-agents.d.ts +8 -4
  493. package/dist/setup-agents.js +25 -77
  494. package/dist/setup-context.d.ts +8 -4
  495. package/dist/setup-context.js +17 -9
  496. package/dist/setup-database-context-depth.d.ts +2 -1
  497. package/dist/setup-database-context-depth.js +2 -1
  498. package/dist/setup-databases.d.ts +13 -14
  499. package/dist/setup-databases.js +344 -322
  500. package/dist/setup-demo-tour.d.ts +8 -3
  501. package/dist/setup-demo-tour.js +10 -4
  502. package/dist/setup-embeddings.d.ts +3 -1
  503. package/dist/setup-embeddings.js +15 -5
  504. package/dist/setup-interrupt.d.ts +1 -0
  505. package/dist/setup-models.d.ts +12 -9
  506. package/dist/setup-models.js +16 -9
  507. package/dist/setup-project.d.ts +5 -3
  508. package/dist/setup-project.js +3 -1
  509. package/dist/setup-prompts.d.ts +16 -0
  510. package/dist/setup-prompts.js +39 -1
  511. package/dist/setup-ready-menu.d.ts +2 -1
  512. package/dist/setup-runtime.d.ts +1 -1
  513. package/dist/setup-runtime.js +4 -2
  514. package/dist/setup-sources.d.ts +9 -3
  515. package/dist/setup-sources.js +33 -8
  516. package/dist/setup.d.ts +1 -1
  517. package/dist/setup.js +66 -7
  518. package/dist/skills/historic_sql_patterns/SKILL.md +89 -0
  519. package/dist/skills/historic_sql_table_digest/SKILL.md +88 -0
  520. package/dist/skills/sl/SKILL.md +247 -0
  521. package/dist/sl.d.ts +8 -12
  522. package/dist/sl.js +75 -4
  523. package/dist/source-mapping.d.ts +3 -2
  524. package/dist/source-mapping.js +13 -3
  525. package/dist/sql.d.ts +4 -3
  526. package/dist/sql.js +60 -12
  527. package/dist/status-project.d.ts +47 -12
  528. package/dist/status-project.js +357 -140
  529. package/dist/telemetry/command-hook.d.ts +28 -0
  530. package/dist/telemetry/command-hook.js +27 -0
  531. package/dist/telemetry/demo-detect.d.ts +2 -0
  532. package/dist/telemetry/demo-detect.js +9 -0
  533. package/dist/telemetry/emitter.d.ts +20 -0
  534. package/dist/telemetry/emitter.js +74 -0
  535. package/dist/telemetry/events.d.ts +466 -0
  536. package/dist/telemetry/events.js +347 -0
  537. package/dist/telemetry/identity.d.ts +33 -0
  538. package/dist/telemetry/identity.js +105 -0
  539. package/dist/telemetry/index.d.ts +27 -0
  540. package/dist/telemetry/index.js +98 -0
  541. package/dist/telemetry/project-snapshot.d.ts +15 -0
  542. package/dist/telemetry/project-snapshot.js +55 -0
  543. package/dist/telemetry/schema-writer.d.ts +15 -0
  544. package/dist/telemetry/schema-writer.js +45 -0
  545. package/dist/telemetry/scrubber.d.ts +1 -0
  546. package/dist/telemetry/scrubber.js +22 -0
  547. package/dist/text-ingest.d.ts +4 -2
  548. package/dist/text-ingest.js +2 -2
  549. package/dist/tree-picker-state.d.ts +8 -2
  550. package/dist/tree-picker-state.js +35 -13
  551. package/dist/tree-picker-tui.d.ts +11 -1
  552. package/dist/tree-picker-tui.js +26 -32
  553. package/dist/viz-fallback.d.ts +1 -0
  554. package/dist/viz-fallback.js +1 -0
  555. package/package.json +39 -16
  556. package/assets/python/kaelio_ktx-0.4.1-py3-none-any.whl +0 -0
  557. package/dist/admin-reindex.test.js +0 -119
  558. package/dist/admin.test.js +0 -201
  559. package/dist/cli-program.test.js +0 -49
  560. package/dist/cli-project.d.ts +0 -12
  561. package/dist/cli-project.js +0 -8
  562. package/dist/cli-project.test.js +0 -22
  563. package/dist/command-tree.test.js +0 -126
  564. package/dist/commands/mcp-commands.test.js +0 -111
  565. package/dist/commands/sql-commands.test.js +0 -68
  566. package/dist/connection.test.js +0 -405
  567. package/dist/context-build-view.test.js +0 -945
  568. package/dist/database-tree-picker.test.js +0 -135
  569. package/dist/demo-assets.test.js +0 -95
  570. package/dist/demo-metrics.test.js +0 -108
  571. package/dist/doctor.test.js +0 -603
  572. package/dist/embedding-resolution.test.js +0 -132
  573. package/dist/example-smoke.test.js +0 -83
  574. package/dist/index.test.js +0 -1302
  575. package/dist/ingest-query-executor.test.js +0 -71
  576. package/dist/ingest-report-file.test.js +0 -63
  577. package/dist/ingest-viz.test.js +0 -691
  578. package/dist/ingest.test-utils.d.ts +0 -119
  579. package/dist/ingest.test-utils.js +0 -625
  580. package/dist/ingest.test.js +0 -1534
  581. package/dist/io/logger.test.js +0 -55
  582. package/dist/io/mode.test.js +0 -48
  583. package/dist/io/print-list.test.js +0 -277
  584. package/dist/knowledge.test.js +0 -184
  585. package/dist/local-adapters.test.d.ts +0 -1
  586. package/dist/local-adapters.test.js +0 -162
  587. package/dist/local-scan-connectors.test.d.ts +0 -1
  588. package/dist/local-scan-connectors.test.js +0 -92
  589. package/dist/managed-local-embeddings.test.d.ts +0 -1
  590. package/dist/managed-local-embeddings.test.js +0 -229
  591. package/dist/managed-mcp-daemon.test.d.ts +0 -1
  592. package/dist/managed-mcp-daemon.test.js +0 -187
  593. package/dist/managed-python-command.test.d.ts +0 -1
  594. package/dist/managed-python-command.test.js +0 -262
  595. package/dist/managed-python-daemon.test.d.ts +0 -1
  596. package/dist/managed-python-daemon.test.js +0 -360
  597. package/dist/managed-python-http.test.d.ts +0 -1
  598. package/dist/managed-python-http.test.js +0 -177
  599. package/dist/managed-python-runtime.test.d.ts +0 -1
  600. package/dist/managed-python-runtime.test.js +0 -426
  601. package/dist/mcp-http-server.test.d.ts +0 -1
  602. package/dist/mcp-http-server.test.js +0 -209
  603. package/dist/memory-flow-interactive.test.d.ts +0 -1
  604. package/dist/memory-flow-interactive.test.js +0 -109
  605. package/dist/memory-flow-tui.test.d.ts +0 -1
  606. package/dist/memory-flow-tui.test.js +0 -247
  607. package/dist/next-steps.test.d.ts +0 -1
  608. package/dist/next-steps.test.js +0 -77
  609. package/dist/notion-page-picker.test.d.ts +0 -1
  610. package/dist/notion-page-picker.test.js +0 -244
  611. package/dist/print-command-tree.test.d.ts +0 -1
  612. package/dist/print-command-tree.test.js +0 -37
  613. package/dist/project-dir.test.d.ts +0 -1
  614. package/dist/project-dir.test.js +0 -124
  615. package/dist/project-resolver.test.d.ts +0 -1
  616. package/dist/project-resolver.test.js +0 -49
  617. package/dist/prompt-navigation.test.d.ts +0 -1
  618. package/dist/prompt-navigation.test.js +0 -33
  619. package/dist/proxy-env.test.d.ts +0 -1
  620. package/dist/proxy-env.test.js +0 -17
  621. package/dist/public-ingest-copy.test.d.ts +0 -1
  622. package/dist/public-ingest-copy.test.js +0 -24
  623. package/dist/public-ingest.test.d.ts +0 -1
  624. package/dist/public-ingest.test.js +0 -815
  625. package/dist/runtime-requirements.test.d.ts +0 -1
  626. package/dist/runtime-requirements.test.js +0 -62
  627. package/dist/runtime.test.d.ts +0 -1
  628. package/dist/runtime.test.js +0 -381
  629. package/dist/scan.test.d.ts +0 -1
  630. package/dist/scan.test.js +0 -984
  631. package/dist/setup-agents.test.d.ts +0 -1
  632. package/dist/setup-agents.test.js +0 -1028
  633. package/dist/setup-context.test.d.ts +0 -1
  634. package/dist/setup-context.test.js +0 -490
  635. package/dist/setup-databases.test.d.ts +0 -1
  636. package/dist/setup-databases.test.js +0 -1883
  637. package/dist/setup-demo-tour.test.d.ts +0 -1
  638. package/dist/setup-demo-tour.test.js +0 -221
  639. package/dist/setup-embeddings.test.d.ts +0 -1
  640. package/dist/setup-embeddings.test.js +0 -434
  641. package/dist/setup-interrupt.test.d.ts +0 -1
  642. package/dist/setup-interrupt.test.js +0 -77
  643. package/dist/setup-models.test.d.ts +0 -1
  644. package/dist/setup-models.test.js +0 -880
  645. package/dist/setup-project.test.d.ts +0 -1
  646. package/dist/setup-project.test.js +0 -229
  647. package/dist/setup-prompts.test.d.ts +0 -1
  648. package/dist/setup-prompts.test.js +0 -170
  649. package/dist/setup-ready-menu.test.d.ts +0 -1
  650. package/dist/setup-ready-menu.test.js +0 -44
  651. package/dist/setup-runtime.test.d.ts +0 -1
  652. package/dist/setup-runtime.test.js +0 -110
  653. package/dist/setup-secrets.test.d.ts +0 -1
  654. package/dist/setup-secrets.test.js +0 -30
  655. package/dist/setup-sources-notion.test.d.ts +0 -1
  656. package/dist/setup-sources-notion.test.js +0 -107
  657. package/dist/setup-sources.test.d.ts +0 -1
  658. package/dist/setup-sources.test.js +0 -1277
  659. package/dist/setup.test.d.ts +0 -1
  660. package/dist/setup.test.js +0 -1794
  661. package/dist/sl.test.d.ts +0 -1
  662. package/dist/sl.test.js +0 -534
  663. package/dist/source-mapping.test.d.ts +0 -1
  664. package/dist/source-mapping.test.js +0 -65
  665. package/dist/sql.test.d.ts +0 -1
  666. package/dist/sql.test.js +0 -226
  667. package/dist/standalone-smoke.test.d.ts +0 -1
  668. package/dist/standalone-smoke.test.js +0 -250
  669. package/dist/text-ingest.test.d.ts +0 -1
  670. package/dist/text-ingest.test.js +0 -247
  671. package/dist/tree-picker-state.test.d.ts +0 -1
  672. package/dist/tree-picker-state.test.js +0 -303
  673. package/dist/tree-picker-tui.test.d.ts +0 -1
  674. package/dist/tree-picker-tui.test.js +0 -248
  675. package/dist/viz-fallback.test.d.ts +0 -1
  676. package/dist/viz-fallback.test.js +0 -77
  677. package/node_modules/@ktx/connector-bigquery/dist/connector.d.ts +0 -141
  678. package/node_modules/@ktx/connector-bigquery/dist/connector.js +0 -371
  679. package/node_modules/@ktx/connector-bigquery/dist/connector.test.d.ts +0 -1
  680. package/node_modules/@ktx/connector-bigquery/dist/connector.test.js +0 -247
  681. package/node_modules/@ktx/connector-bigquery/dist/dialect.d.ts +0 -29
  682. package/node_modules/@ktx/connector-bigquery/dist/dialect.js +0 -178
  683. package/node_modules/@ktx/connector-bigquery/dist/dialect.test.d.ts +0 -1
  684. package/node_modules/@ktx/connector-bigquery/dist/dialect.test.js +0 -36
  685. package/node_modules/@ktx/connector-bigquery/dist/index.d.ts +0 -3
  686. package/node_modules/@ktx/connector-bigquery/dist/index.js +0 -3
  687. package/node_modules/@ktx/connector-bigquery/dist/live-database-introspection.d.ts +0 -10
  688. package/node_modules/@ktx/connector-bigquery/dist/live-database-introspection.js +0 -20
  689. package/node_modules/@ktx/connector-bigquery/dist/package-exports.test.d.ts +0 -1
  690. package/node_modules/@ktx/connector-bigquery/dist/package-exports.test.js +0 -10
  691. package/node_modules/@ktx/connector-bigquery/package.json +0 -20
  692. package/node_modules/@ktx/connector-clickhouse/dist/connector.d.ts +0 -113
  693. package/node_modules/@ktx/connector-clickhouse/dist/connector.js +0 -345
  694. package/node_modules/@ktx/connector-clickhouse/dist/connector.test.d.ts +0 -1
  695. package/node_modules/@ktx/connector-clickhouse/dist/connector.test.js +0 -228
  696. package/node_modules/@ktx/connector-clickhouse/dist/dialect.d.ts +0 -33
  697. package/node_modules/@ktx/connector-clickhouse/dist/dialect.js +0 -236
  698. package/node_modules/@ktx/connector-clickhouse/dist/dialect.test.d.ts +0 -1
  699. package/node_modules/@ktx/connector-clickhouse/dist/dialect.test.js +0 -36
  700. package/node_modules/@ktx/connector-clickhouse/dist/index.d.ts +0 -3
  701. package/node_modules/@ktx/connector-clickhouse/dist/index.js +0 -3
  702. package/node_modules/@ktx/connector-clickhouse/dist/live-database-introspection.d.ts +0 -11
  703. package/node_modules/@ktx/connector-clickhouse/dist/live-database-introspection.js +0 -21
  704. package/node_modules/@ktx/connector-clickhouse/dist/package-exports.test.d.ts +0 -1
  705. package/node_modules/@ktx/connector-clickhouse/dist/package-exports.test.js +0 -10
  706. package/node_modules/@ktx/connector-clickhouse/package.json +0 -20
  707. package/node_modules/@ktx/connector-mysql/dist/connector.d.ts +0 -116
  708. package/node_modules/@ktx/connector-mysql/dist/connector.js +0 -385
  709. package/node_modules/@ktx/connector-mysql/dist/connector.test.d.ts +0 -1
  710. package/node_modules/@ktx/connector-mysql/dist/connector.test.js +0 -218
  711. package/node_modules/@ktx/connector-mysql/dist/dialect.d.ts +0 -29
  712. package/node_modules/@ktx/connector-mysql/dist/dialect.js +0 -171
  713. package/node_modules/@ktx/connector-mysql/dist/dialect.test.d.ts +0 -1
  714. package/node_modules/@ktx/connector-mysql/dist/dialect.test.js +0 -36
  715. package/node_modules/@ktx/connector-mysql/dist/index.d.ts +0 -3
  716. package/node_modules/@ktx/connector-mysql/dist/index.js +0 -3
  717. package/node_modules/@ktx/connector-mysql/dist/live-database-introspection.d.ts +0 -11
  718. package/node_modules/@ktx/connector-mysql/dist/live-database-introspection.js +0 -21
  719. package/node_modules/@ktx/connector-mysql/dist/package-exports.test.d.ts +0 -1
  720. package/node_modules/@ktx/connector-mysql/dist/package-exports.test.js +0 -11
  721. package/node_modules/@ktx/connector-mysql/package.json +0 -20
  722. package/node_modules/@ktx/connector-postgres/dist/connector.d.ts +0 -140
  723. package/node_modules/@ktx/connector-postgres/dist/connector.js +0 -497
  724. package/node_modules/@ktx/connector-postgres/dist/connector.test.d.ts +0 -1
  725. package/node_modules/@ktx/connector-postgres/dist/connector.test.js +0 -336
  726. package/node_modules/@ktx/connector-postgres/dist/dialect.d.ts +0 -29
  727. package/node_modules/@ktx/connector-postgres/dist/dialect.js +0 -182
  728. package/node_modules/@ktx/connector-postgres/dist/dialect.test.d.ts +0 -1
  729. package/node_modules/@ktx/connector-postgres/dist/dialect.test.js +0 -37
  730. package/node_modules/@ktx/connector-postgres/dist/historic-sql-query-client.d.ts +0 -14
  731. package/node_modules/@ktx/connector-postgres/dist/historic-sql-query-client.test.d.ts +0 -1
  732. package/node_modules/@ktx/connector-postgres/dist/historic-sql-query-client.test.js +0 -45
  733. package/node_modules/@ktx/connector-postgres/dist/index.d.ts +0 -4
  734. package/node_modules/@ktx/connector-postgres/dist/index.js +0 -4
  735. package/node_modules/@ktx/connector-postgres/dist/live-database-introspection.d.ts +0 -11
  736. package/node_modules/@ktx/connector-postgres/dist/live-database-introspection.js +0 -21
  737. package/node_modules/@ktx/connector-postgres/dist/package-exports.test.d.ts +0 -1
  738. package/node_modules/@ktx/connector-postgres/dist/package-exports.test.js +0 -12
  739. package/node_modules/@ktx/connector-postgres/package.json +0 -20
  740. package/node_modules/@ktx/connector-snowflake/dist/connector.d.ts +0 -129
  741. package/node_modules/@ktx/connector-snowflake/dist/connector.js +0 -517
  742. package/node_modules/@ktx/connector-snowflake/dist/connector.test.d.ts +0 -1
  743. package/node_modules/@ktx/connector-snowflake/dist/connector.test.js +0 -210
  744. package/node_modules/@ktx/connector-snowflake/dist/dialect.d.ts +0 -29
  745. package/node_modules/@ktx/connector-snowflake/dist/dialect.js +0 -156
  746. package/node_modules/@ktx/connector-snowflake/dist/dialect.test.d.ts +0 -1
  747. package/node_modules/@ktx/connector-snowflake/dist/dialect.test.js +0 -34
  748. package/node_modules/@ktx/connector-snowflake/dist/index.d.ts +0 -3
  749. package/node_modules/@ktx/connector-snowflake/dist/index.js +0 -3
  750. package/node_modules/@ktx/connector-snowflake/dist/live-database-introspection.d.ts +0 -11
  751. package/node_modules/@ktx/connector-snowflake/dist/live-database-introspection.js +0 -21
  752. package/node_modules/@ktx/connector-snowflake/dist/package-exports.test.d.ts +0 -1
  753. package/node_modules/@ktx/connector-snowflake/dist/package-exports.test.js +0 -10
  754. package/node_modules/@ktx/connector-snowflake/package.json +0 -20
  755. package/node_modules/@ktx/connector-sqlite/dist/connector.d.ts +0 -59
  756. package/node_modules/@ktx/connector-sqlite/dist/connector.js +0 -251
  757. package/node_modules/@ktx/connector-sqlite/dist/connector.test.d.ts +0 -1
  758. package/node_modules/@ktx/connector-sqlite/dist/connector.test.js +0 -196
  759. package/node_modules/@ktx/connector-sqlite/dist/dialect.d.ts +0 -29
  760. package/node_modules/@ktx/connector-sqlite/dist/dialect.js +0 -146
  761. package/node_modules/@ktx/connector-sqlite/dist/dialect.test.d.ts +0 -1
  762. package/node_modules/@ktx/connector-sqlite/dist/dialect.test.js +0 -23
  763. package/node_modules/@ktx/connector-sqlite/dist/index.d.ts +0 -3
  764. package/node_modules/@ktx/connector-sqlite/dist/index.js +0 -3
  765. package/node_modules/@ktx/connector-sqlite/dist/live-database-introspection.d.ts +0 -8
  766. package/node_modules/@ktx/connector-sqlite/dist/live-database-introspection.js +0 -20
  767. package/node_modules/@ktx/connector-sqlite/dist/package-exports.test.d.ts +0 -1
  768. package/node_modules/@ktx/connector-sqlite/dist/package-exports.test.js +0 -11
  769. package/node_modules/@ktx/connector-sqlite/package.json +0 -20
  770. package/node_modules/@ktx/connector-sqlserver/dist/connector.d.ts +0 -137
  771. package/node_modules/@ktx/connector-sqlserver/dist/connector.js +0 -503
  772. package/node_modules/@ktx/connector-sqlserver/dist/connector.test.d.ts +0 -1
  773. package/node_modules/@ktx/connector-sqlserver/dist/connector.test.js +0 -269
  774. package/node_modules/@ktx/connector-sqlserver/dist/dialect.d.ts +0 -30
  775. package/node_modules/@ktx/connector-sqlserver/dist/dialect.js +0 -169
  776. package/node_modules/@ktx/connector-sqlserver/dist/dialect.test.d.ts +0 -1
  777. package/node_modules/@ktx/connector-sqlserver/dist/dialect.test.js +0 -36
  778. package/node_modules/@ktx/connector-sqlserver/dist/index.d.ts +0 -3
  779. package/node_modules/@ktx/connector-sqlserver/dist/index.js +0 -3
  780. package/node_modules/@ktx/connector-sqlserver/dist/live-database-introspection.d.ts +0 -11
  781. package/node_modules/@ktx/connector-sqlserver/dist/live-database-introspection.js +0 -21
  782. package/node_modules/@ktx/connector-sqlserver/dist/package-exports.test.d.ts +0 -1
  783. package/node_modules/@ktx/connector-sqlserver/dist/package-exports.test.js +0 -10
  784. package/node_modules/@ktx/connector-sqlserver/package.json +0 -20
  785. package/node_modules/@ktx/context/dist/agent/agent-runner.service.d.ts +0 -18
  786. package/node_modules/@ktx/context/dist/agent/agent-runner.service.js +0 -10
  787. package/node_modules/@ktx/context/dist/agent/agent-runner.service.test.d.ts +0 -1
  788. package/node_modules/@ktx/context/dist/agent/agent-runner.service.test.js +0 -308
  789. package/node_modules/@ktx/context/dist/agent/index.d.ts +0 -2
  790. package/node_modules/@ktx/context/dist/agent/index.js +0 -1
  791. package/node_modules/@ktx/context/dist/connections/connection-type.d.ts +0 -25
  792. package/node_modules/@ktx/context/dist/connections/dialects.d.ts +0 -9
  793. package/node_modules/@ktx/context/dist/connections/dialects.js +0 -71
  794. package/node_modules/@ktx/context/dist/connections/dialects.test.d.ts +0 -1
  795. package/node_modules/@ktx/context/dist/connections/dialects.test.js +0 -24
  796. package/node_modules/@ktx/context/dist/connections/index.d.ts +0 -11
  797. package/node_modules/@ktx/context/dist/connections/index.js +0 -9
  798. package/node_modules/@ktx/context/dist/connections/local-query-executor.js +0 -21
  799. package/node_modules/@ktx/context/dist/connections/local-query-executor.test.d.ts +0 -1
  800. package/node_modules/@ktx/context/dist/connections/local-query-executor.test.js +0 -48
  801. package/node_modules/@ktx/context/dist/connections/local-warehouse-descriptor.js +0 -72
  802. package/node_modules/@ktx/context/dist/connections/local-warehouse-descriptor.test.d.ts +0 -1
  803. package/node_modules/@ktx/context/dist/connections/local-warehouse-descriptor.test.js +0 -53
  804. package/node_modules/@ktx/context/dist/connections/notion-config.d.ts +0 -41
  805. package/node_modules/@ktx/context/dist/connections/notion-config.js +0 -132
  806. package/node_modules/@ktx/context/dist/connections/notion-config.test.d.ts +0 -1
  807. package/node_modules/@ktx/context/dist/connections/notion-config.test.js +0 -121
  808. package/node_modules/@ktx/context/dist/connections/postgres-query-executor.js +0 -53
  809. package/node_modules/@ktx/context/dist/connections/postgres-query-executor.test.d.ts +0 -1
  810. package/node_modules/@ktx/context/dist/connections/postgres-query-executor.test.js +0 -91
  811. package/node_modules/@ktx/context/dist/connections/query-executor.d.ts +0 -19
  812. package/node_modules/@ktx/context/dist/connections/read-only-sql.test.d.ts +0 -1
  813. package/node_modules/@ktx/context/dist/connections/read-only-sql.test.js +0 -20
  814. package/node_modules/@ktx/context/dist/connections/sqlite-query-executor.d.ts +0 -3
  815. package/node_modules/@ktx/context/dist/connections/sqlite-query-executor.js +0 -73
  816. package/node_modules/@ktx/context/dist/connections/sqlite-query-executor.test.d.ts +0 -1
  817. package/node_modules/@ktx/context/dist/connections/sqlite-query-executor.test.js +0 -113
  818. package/node_modules/@ktx/context/dist/core/config-reference.d.ts +0 -2
  819. package/node_modules/@ktx/context/dist/core/config-reference.js +0 -29
  820. package/node_modules/@ktx/context/dist/core/config-reference.test.d.ts +0 -1
  821. package/node_modules/@ktx/context/dist/core/config-reference.test.js +0 -27
  822. package/node_modules/@ktx/context/dist/core/config.d.ts +0 -25
  823. package/node_modules/@ktx/context/dist/core/embedding.js +0 -1
  824. package/node_modules/@ktx/context/dist/core/file-store.js +0 -1
  825. package/node_modules/@ktx/context/dist/core/git.service.assert-worktree-clean.test.d.ts +0 -1
  826. package/node_modules/@ktx/context/dist/core/git.service.assert-worktree-clean.test.js +0 -62
  827. package/node_modules/@ktx/context/dist/core/git.service.delete-directories.test.d.ts +0 -1
  828. package/node_modules/@ktx/context/dist/core/git.service.delete-directories.test.js +0 -61
  829. package/node_modules/@ktx/context/dist/core/git.service.patch.test.d.ts +0 -1
  830. package/node_modules/@ktx/context/dist/core/git.service.patch.test.js +0 -40
  831. package/node_modules/@ktx/context/dist/core/git.service.reset-hard.test.d.ts +0 -1
  832. package/node_modules/@ktx/context/dist/core/git.service.reset-hard.test.js +0 -47
  833. package/node_modules/@ktx/context/dist/core/git.service.test.d.ts +0 -1
  834. package/node_modules/@ktx/context/dist/core/git.service.test.js +0 -357
  835. package/node_modules/@ktx/context/dist/core/index.d.ts +0 -10
  836. package/node_modules/@ktx/context/dist/core/index.js +0 -5
  837. package/node_modules/@ktx/context/dist/core/redaction.d.ts +0 -4
  838. package/node_modules/@ktx/context/dist/core/redaction.js +0 -39
  839. package/node_modules/@ktx/context/dist/core/session-worktree.service.d.ts +0 -38
  840. package/node_modules/@ktx/context/dist/core/session-worktree.service.test.d.ts +0 -1
  841. package/node_modules/@ktx/context/dist/core/session-worktree.service.test.js +0 -97
  842. package/node_modules/@ktx/context/dist/daemon/index.d.ts +0 -1
  843. package/node_modules/@ktx/context/dist/daemon/index.js +0 -1
  844. package/node_modules/@ktx/context/dist/daemon/semantic-layer-compute.d.ts +0 -80
  845. package/node_modules/@ktx/context/dist/daemon/semantic-layer-compute.js +0 -191
  846. package/node_modules/@ktx/context/dist/daemon/semantic-layer-compute.test.d.ts +0 -1
  847. package/node_modules/@ktx/context/dist/daemon/semantic-layer-compute.test.js +0 -301
  848. package/node_modules/@ktx/context/dist/index-sync/index.d.ts +0 -2
  849. package/node_modules/@ktx/context/dist/index-sync/index.js +0 -1
  850. package/node_modules/@ktx/context/dist/index-sync/reindex.d.ts +0 -20
  851. package/node_modules/@ktx/context/dist/index-sync/reindex.js +0 -141
  852. package/node_modules/@ktx/context/dist/index-sync/reindex.test.d.ts +0 -1
  853. package/node_modules/@ktx/context/dist/index-sync/reindex.test.js +0 -139
  854. package/node_modules/@ktx/context/dist/index-sync/types.d.ts +0 -29
  855. package/node_modules/@ktx/context/dist/index.d.ts +0 -22
  856. package/node_modules/@ktx/context/dist/index.js +0 -19
  857. package/node_modules/@ktx/context/dist/index.test.d.ts +0 -1
  858. package/node_modules/@ktx/context/dist/index.test.js +0 -10
  859. package/node_modules/@ktx/context/dist/ingest/action-identity.d.ts +0 -3
  860. package/node_modules/@ktx/context/dist/ingest/action-identity.test.d.ts +0 -1
  861. package/node_modules/@ktx/context/dist/ingest/action-identity.test.js +0 -19
  862. package/node_modules/@ktx/context/dist/ingest/adapters/dbt/chunk.test.d.ts +0 -1
  863. package/node_modules/@ktx/context/dist/ingest/adapters/dbt/chunk.test.js +0 -30
  864. package/node_modules/@ktx/context/dist/ingest/adapters/dbt/dbt.adapter.test.d.ts +0 -1
  865. package/node_modules/@ktx/context/dist/ingest/adapters/dbt/dbt.adapter.test.js +0 -43
  866. package/node_modules/@ktx/context/dist/ingest/adapters/dbt/fetch.test.d.ts +0 -1
  867. package/node_modules/@ktx/context/dist/ingest/adapters/dbt/fetch.test.js +0 -30
  868. package/node_modules/@ktx/context/dist/ingest/adapters/dbt/parse.d.ts +0 -6
  869. package/node_modules/@ktx/context/dist/ingest/adapters/dbt/parse.js +0 -23
  870. package/node_modules/@ktx/context/dist/ingest/adapters/dbt/parse.test.d.ts +0 -1
  871. package/node_modules/@ktx/context/dist/ingest/adapters/dbt/parse.test.js +0 -7
  872. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/match-tables.d.ts +0 -27
  873. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/match-tables.js +0 -80
  874. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/match-tables.test.d.ts +0 -1
  875. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/match-tables.test.js +0 -59
  876. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.d.ts +0 -3
  877. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.js +0 -28
  878. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.test.d.ts +0 -1
  879. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.test.js +0 -55
  880. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/parse-schema.d.ts +0 -65
  881. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/parse-schema.js +0 -432
  882. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/parse-schema.test.d.ts +0 -1
  883. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/parse-schema.test.js +0 -195
  884. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-description-updates.d.ts +0 -13
  885. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-description-updates.js +0 -46
  886. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-description-updates.test.d.ts +0 -1
  887. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-description-updates.test.js +0 -88
  888. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-metadata-updates.d.ts +0 -9
  889. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-metadata-updates.js +0 -57
  890. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-metadata-updates.test.d.ts +0 -1
  891. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-metadata-updates.test.js +0 -68
  892. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-relationship-updates.d.ts +0 -12
  893. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-relationship-updates.js +0 -34
  894. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-relationship-updates.test.d.ts +0 -1
  895. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-descriptions/to-relationship-updates.test.js +0 -56
  896. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-extraction-golden-parity.test.d.ts +0 -1
  897. package/node_modules/@ktx/context/dist/ingest/adapters/dbt-extraction-golden-parity.test.js +0 -392
  898. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/bigquery-query-history-reader.js +0 -199
  899. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/bigquery-query-history-reader.test.d.ts +0 -1
  900. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/bigquery-query-history-reader.test.js +0 -121
  901. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/buckets.test.d.ts +0 -1
  902. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/buckets.test.js +0 -49
  903. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/chunk-unified.js +0 -86
  904. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/chunk-unified.test.d.ts +0 -1
  905. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/chunk-unified.test.js +0 -160
  906. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/detect.test.d.ts +0 -1
  907. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/detect.test.js +0 -48
  908. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence-tool.d.ts +0 -41
  909. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence-tool.js +0 -88
  910. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence-tool.test.d.ts +0 -1
  911. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence-tool.test.js +0 -67
  912. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence.d.ts +0 -77
  913. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence.js +0 -32
  914. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence.test.d.ts +0 -1
  915. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/evidence.test.js +0 -43
  916. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/historic-sql.adapter.test.d.ts +0 -1
  917. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/historic-sql.adapter.test.js +0 -98
  918. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/local-ingest-acceptance.test.d.ts +0 -1
  919. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/local-ingest-acceptance.test.js +0 -235
  920. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/pattern-inputs.d.ts +0 -21
  921. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/pattern-inputs.js +0 -66
  922. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/pattern-inputs.test.d.ts +0 -1
  923. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/pattern-inputs.test.js +0 -68
  924. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/postgres-pgss-reader.test.d.ts +0 -1
  925. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/postgres-pgss-reader.test.js +0 -205
  926. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/projection.d.ts +0 -24
  927. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/projection.js +0 -320
  928. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/projection.test.d.ts +0 -1
  929. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/projection.test.js +0 -392
  930. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/redaction.test.d.ts +0 -1
  931. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/redaction.test.js +0 -22
  932. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/skill-schemas.d.ts +0 -37
  933. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/skill-schemas.js +0 -24
  934. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/skill-schemas.test.d.ts +0 -1
  935. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/skill-schemas.test.js +0 -62
  936. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/snowflake-query-history-reader.test.d.ts +0 -1
  937. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/snowflake-query-history-reader.test.js +0 -117
  938. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/stage-unified.d.ts +0 -13
  939. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/stage-unified.test.d.ts +0 -1
  940. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/stage-unified.test.js +0 -405
  941. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/types.d.ts +0 -184
  942. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/types.test.d.ts +0 -1
  943. package/node_modules/@ktx/context/dist/ingest/adapters/historic-sql/types.test.js +0 -87
  944. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/chunk.test.d.ts +0 -1
  945. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/chunk.test.js +0 -95
  946. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/daemon-introspection.d.ts +0 -20
  947. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/daemon-introspection.js +0 -190
  948. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/daemon-introspection.test.d.ts +0 -1
  949. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/daemon-introspection.test.js +0 -236
  950. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/extracted-schema.d.ts +0 -29
  951. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/extracted-schema.js +0 -28
  952. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/extracted-schema.test.d.ts +0 -1
  953. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/extracted-schema.test.js +0 -129
  954. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/live-database.adapter.js +0 -24
  955. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/live-database.adapter.test.d.ts +0 -1
  956. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/live-database.adapter.test.js +0 -55
  957. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/manifest.d.ts +0 -65
  958. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/manifest.test.d.ts +0 -1
  959. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/manifest.test.js +0 -291
  960. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/stage.d.ts +0 -12
  961. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/stage.js +0 -105
  962. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/stage.test.d.ts +0 -1
  963. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/stage.test.js +0 -133
  964. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/structural-sync.d.ts +0 -89
  965. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/structural-sync.js +0 -335
  966. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/structural-sync.test.d.ts +0 -1
  967. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/structural-sync.test.js +0 -416
  968. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/types.d.ts +0 -8
  969. package/node_modules/@ktx/context/dist/ingest/adapters/live-database/types.js +0 -1
  970. package/node_modules/@ktx/context/dist/ingest/adapters/looker/chunk.test.d.ts +0 -1
  971. package/node_modules/@ktx/context/dist/ingest/adapters/looker/chunk.test.js +0 -142
  972. package/node_modules/@ktx/context/dist/ingest/adapters/looker/client-boundary.test.d.ts +0 -1
  973. package/node_modules/@ktx/context/dist/ingest/adapters/looker/client-boundary.test.js +0 -12
  974. package/node_modules/@ktx/context/dist/ingest/adapters/looker/client.test.d.ts +0 -1
  975. package/node_modules/@ktx/context/dist/ingest/adapters/looker/client.test.js +0 -407
  976. package/node_modules/@ktx/context/dist/ingest/adapters/looker/daemon-table-identifier-parser.test.d.ts +0 -1
  977. package/node_modules/@ktx/context/dist/ingest/adapters/looker/daemon-table-identifier-parser.test.js +0 -40
  978. package/node_modules/@ktx/context/dist/ingest/adapters/looker/detect.test.d.ts +0 -1
  979. package/node_modules/@ktx/context/dist/ingest/adapters/looker/detect.test.js +0 -39
  980. package/node_modules/@ktx/context/dist/ingest/adapters/looker/evidence-documents.test.d.ts +0 -1
  981. package/node_modules/@ktx/context/dist/ingest/adapters/looker/evidence-documents.test.js +0 -178
  982. package/node_modules/@ktx/context/dist/ingest/adapters/looker/factory.d.ts +0 -21
  983. package/node_modules/@ktx/context/dist/ingest/adapters/looker/factory.js +0 -22
  984. package/node_modules/@ktx/context/dist/ingest/adapters/looker/factory.test.d.ts +0 -1
  985. package/node_modules/@ktx/context/dist/ingest/adapters/looker/factory.test.js +0 -55
  986. package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch-report.test.d.ts +0 -1
  987. package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch-report.test.js +0 -71
  988. package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch.d.ts +0 -31
  989. package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch.test.d.ts +0 -1
  990. package/node_modules/@ktx/context/dist/ingest/adapters/looker/fetch.test.js +0 -592
  991. package/node_modules/@ktx/context/dist/ingest/adapters/looker/local-looker.adapter.d.ts +0 -11
  992. package/node_modules/@ktx/context/dist/ingest/adapters/looker/local-looker.adapter.js +0 -45
  993. package/node_modules/@ktx/context/dist/ingest/adapters/looker/local-runtime-store.d.ts +0 -50
  994. package/node_modules/@ktx/context/dist/ingest/adapters/looker/local-runtime-store.test.d.ts +0 -1
  995. package/node_modules/@ktx/context/dist/ingest/adapters/looker/local-runtime-store.test.js +0 -106
  996. package/node_modules/@ktx/context/dist/ingest/adapters/looker/looker.adapter.test.d.ts +0 -1
  997. package/node_modules/@ktx/context/dist/ingest/adapters/looker/looker.adapter.test.js +0 -99
  998. package/node_modules/@ktx/context/dist/ingest/adapters/looker/mapping.d.ts +0 -126
  999. package/node_modules/@ktx/context/dist/ingest/adapters/looker/mapping.js +0 -303
  1000. package/node_modules/@ktx/context/dist/ingest/adapters/looker/mapping.test.d.ts +0 -1
  1001. package/node_modules/@ktx/context/dist/ingest/adapters/looker/mapping.test.js +0 -334
  1002. package/node_modules/@ktx/context/dist/ingest/adapters/looker/reconcile.d.ts +0 -2
  1003. package/node_modules/@ktx/context/dist/ingest/adapters/looker/reconcile.js +0 -20
  1004. package/node_modules/@ktx/context/dist/ingest/adapters/looker/reconcile.test.d.ts +0 -1
  1005. package/node_modules/@ktx/context/dist/ingest/adapters/looker/reconcile.test.js +0 -22
  1006. package/node_modules/@ktx/context/dist/ingest/adapters/looker/scope.d.ts +0 -6
  1007. package/node_modules/@ktx/context/dist/ingest/adapters/looker/scope.js +0 -55
  1008. package/node_modules/@ktx/context/dist/ingest/adapters/looker/scope.test.d.ts +0 -1
  1009. package/node_modules/@ktx/context/dist/ingest/adapters/looker/scope.test.js +0 -84
  1010. package/node_modules/@ktx/context/dist/ingest/adapters/looker/target-connections.test.d.ts +0 -1
  1011. package/node_modules/@ktx/context/dist/ingest/adapters/looker/target-connections.test.js +0 -71
  1012. package/node_modules/@ktx/context/dist/ingest/adapters/looker/tools/looker-query-to-sl.tool.d.ts +0 -107
  1013. package/node_modules/@ktx/context/dist/ingest/adapters/looker/tools/looker-query-to-sl.tool.js +0 -236
  1014. package/node_modules/@ktx/context/dist/ingest/adapters/looker/tools/looker-query-to-sl.tool.test.d.ts +0 -1
  1015. package/node_modules/@ktx/context/dist/ingest/adapters/looker/tools/looker-query-to-sl.tool.test.js +0 -211
  1016. package/node_modules/@ktx/context/dist/ingest/adapters/looker/types.d.ts +0 -438
  1017. package/node_modules/@ktx/context/dist/ingest/adapters/looker/types.js +0 -198
  1018. package/node_modules/@ktx/context/dist/ingest/adapters/looker/types.test.d.ts +0 -1
  1019. package/node_modules/@ktx/context/dist/ingest/adapters/looker/types.test.js +0 -260
  1020. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/chunk.test.d.ts +0 -1
  1021. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/chunk.test.js +0 -213
  1022. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/detect.test.d.ts +0 -1
  1023. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/detect.test.js +0 -37
  1024. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch-report.d.ts +0 -15
  1025. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch-report.js +0 -98
  1026. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch-report.test.d.ts +0 -1
  1027. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch-report.test.js +0 -82
  1028. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch.test.d.ts +0 -1
  1029. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/fetch.test.js +0 -121
  1030. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/graph.test.d.ts +0 -1
  1031. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/graph.test.js +0 -105
  1032. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/lookml.adapter.test.d.ts +0 -1
  1033. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/lookml.adapter.test.js +0 -49
  1034. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/parse.test.d.ts +0 -1
  1035. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/parse.test.js +0 -118
  1036. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/pull-config.d.ts +0 -37
  1037. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/pull-config.js +0 -26
  1038. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/pull-config.test.d.ts +0 -1
  1039. package/node_modules/@ktx/context/dist/ingest/adapters/lookml/pull-config.test.js +0 -128
  1040. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/card-references.test.d.ts +0 -1
  1041. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/card-references.test.js +0 -36
  1042. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/chunk.test.d.ts +0 -1
  1043. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/chunk.test.js +0 -299
  1044. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client-boundary.test.d.ts +0 -1
  1045. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client-boundary.test.js +0 -38
  1046. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client-port.d.ts +0 -167
  1047. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client-port.test.d.ts +0 -1
  1048. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client-port.test.js +0 -86
  1049. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client.d.ts +0 -114
  1050. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client.js +0 -671
  1051. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client.test.d.ts +0 -1
  1052. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/client.test.js +0 -377
  1053. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/detect.test.d.ts +0 -1
  1054. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/detect.test.js +0 -42
  1055. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fanout-planner.d.ts +0 -17
  1056. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fanout-planner.test.d.ts +0 -1
  1057. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fanout-planner.test.js +0 -44
  1058. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch-scope.test.d.ts +0 -1
  1059. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch-scope.test.js +0 -124
  1060. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch.test.d.ts +0 -1
  1061. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/fetch.test.js +0 -557
  1062. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-metabase.adapter.d.ts +0 -13
  1063. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-metabase.adapter.js +0 -41
  1064. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-metabase.adapter.test.d.ts +0 -1
  1065. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-metabase.adapter.test.js +0 -56
  1066. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-source-state-store.d.ts +0 -43
  1067. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-source-state-store.js +0 -176
  1068. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-source-state-store.test.d.ts +0 -1
  1069. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/local-source-state-store.test.js +0 -99
  1070. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/mapping.d.ts +0 -92
  1071. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/mapping.js +0 -220
  1072. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/mapping.test.d.ts +0 -1
  1073. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/mapping.test.js +0 -215
  1074. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/metabase.adapter.test.d.ts +0 -1
  1075. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/metabase.adapter.test.js +0 -129
  1076. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/serialize-card.d.ts +0 -53
  1077. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/serialize-card.js +0 -67
  1078. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/serialize-card.test.d.ts +0 -1
  1079. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/serialize-card.test.js +0 -205
  1080. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/source-state-port.d.ts +0 -23
  1081. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/source-state-port.js +0 -1
  1082. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/types.d.ts +0 -142
  1083. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/types.js +0 -106
  1084. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/types.test.d.ts +0 -1
  1085. package/node_modules/@ktx/context/dist/ingest/adapters/metabase/types.test.js +0 -75
  1086. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/chunk.test.d.ts +0 -1
  1087. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/chunk.test.js +0 -114
  1088. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/deep-parse.d.ts +0 -77
  1089. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/deep-parse.js +0 -460
  1090. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/deep-parse.test.d.ts +0 -1
  1091. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/deep-parse.test.js +0 -1139
  1092. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/detect.test.d.ts +0 -1
  1093. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/detect.test.js +0 -43
  1094. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/fetch.test.d.ts +0 -1
  1095. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/fetch.test.js +0 -97
  1096. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/graph.test.d.ts +0 -1
  1097. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/graph.test.js +0 -245
  1098. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/import-semantic-models.d.ts +0 -29
  1099. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/import-semantic-models.js +0 -136
  1100. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/import-semantic-models.test.d.ts +0 -1
  1101. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/import-semantic-models.test.js +0 -318
  1102. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/metricflow.adapter.test.d.ts +0 -1
  1103. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/metricflow.adapter.test.js +0 -212
  1104. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/parse.d.ts +0 -42
  1105. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/parse.test.d.ts +0 -1
  1106. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/parse.test.js +0 -171
  1107. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/pull-config.d.ts +0 -37
  1108. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/pull-config.js +0 -24
  1109. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/pull-config.test.d.ts +0 -1
  1110. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/pull-config.test.js +0 -57
  1111. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/semantic-models.d.ts +0 -39
  1112. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/semantic-models.js +0 -278
  1113. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/semantic-models.test.d.ts +0 -1
  1114. package/node_modules/@ktx/context/dist/ingest/adapters/metricflow/semantic-models.test.js +0 -204
  1115. package/node_modules/@ktx/context/dist/ingest/adapters/notion/chunk.d.ts +0 -4
  1116. package/node_modules/@ktx/context/dist/ingest/adapters/notion/chunk.js +0 -137
  1117. package/node_modules/@ktx/context/dist/ingest/adapters/notion/cluster.d.ts +0 -10
  1118. package/node_modules/@ktx/context/dist/ingest/adapters/notion/cluster.js +0 -82
  1119. package/node_modules/@ktx/context/dist/ingest/adapters/notion/cluster.test.d.ts +0 -1
  1120. package/node_modules/@ktx/context/dist/ingest/adapters/notion/cluster.test.js +0 -123
  1121. package/node_modules/@ktx/context/dist/ingest/adapters/notion/fetch.test.d.ts +0 -1
  1122. package/node_modules/@ktx/context/dist/ingest/adapters/notion/fetch.test.js +0 -358
  1123. package/node_modules/@ktx/context/dist/ingest/adapters/notion/local-state-store.test.d.ts +0 -1
  1124. package/node_modules/@ktx/context/dist/ingest/adapters/notion/local-state-store.test.js +0 -29
  1125. package/node_modules/@ktx/context/dist/ingest/adapters/notion/normalize.d.ts +0 -10
  1126. package/node_modules/@ktx/context/dist/ingest/adapters/notion/normalize.js +0 -165
  1127. package/node_modules/@ktx/context/dist/ingest/adapters/notion/normalize.test.d.ts +0 -1
  1128. package/node_modules/@ktx/context/dist/ingest/adapters/notion/normalize.test.js +0 -64
  1129. package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion-client.d.ts +0 -74
  1130. package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion-client.js +0 -107
  1131. package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion-client.test.d.ts +0 -1
  1132. package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion-client.test.js +0 -49
  1133. package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion.adapter.test.d.ts +0 -1
  1134. package/node_modules/@ktx/context/dist/ingest/adapters/notion/notion.adapter.test.js +0 -315
  1135. package/node_modules/@ktx/context/dist/ingest/artifact-gates.d.ts +0 -25
  1136. package/node_modules/@ktx/context/dist/ingest/artifact-gates.test.d.ts +0 -1
  1137. package/node_modules/@ktx/context/dist/ingest/artifact-gates.test.js +0 -167
  1138. package/node_modules/@ktx/context/dist/ingest/canonical-pins.test.d.ts +0 -1
  1139. package/node_modules/@ktx/context/dist/ingest/canonical-pins.test.js +0 -66
  1140. package/node_modules/@ktx/context/dist/ingest/clustering/kmeans.test.d.ts +0 -1
  1141. package/node_modules/@ktx/context/dist/ingest/clustering/kmeans.test.js +0 -61
  1142. package/node_modules/@ktx/context/dist/ingest/context-candidates/candidate-dedup.service.d.ts +0 -27
  1143. package/node_modules/@ktx/context/dist/ingest/context-candidates/candidate-dedup.service.js +0 -234
  1144. package/node_modules/@ktx/context/dist/ingest/context-candidates/candidate-dedup.service.test.d.ts +0 -1
  1145. package/node_modules/@ktx/context/dist/ingest/context-candidates/candidate-dedup.service.test.js +0 -216
  1146. package/node_modules/@ktx/context/dist/ingest/context-candidates/context-candidate-carryforward.service.d.ts +0 -31
  1147. package/node_modules/@ktx/context/dist/ingest/context-candidates/context-candidate-carryforward.service.js +0 -131
  1148. package/node_modules/@ktx/context/dist/ingest/context-candidates/context-candidate-carryforward.service.test.d.ts +0 -1
  1149. package/node_modules/@ktx/context/dist/ingest/context-candidates/context-candidate-carryforward.service.test.js +0 -161
  1150. package/node_modules/@ktx/context/dist/ingest/context-candidates/curator-pagination.service.d.ts +0 -64
  1151. package/node_modules/@ktx/context/dist/ingest/context-candidates/curator-pagination.service.js +0 -240
  1152. package/node_modules/@ktx/context/dist/ingest/context-candidates/curator-pagination.service.test.d.ts +0 -1
  1153. package/node_modules/@ktx/context/dist/ingest/context-candidates/curator-pagination.service.test.js +0 -168
  1154. package/node_modules/@ktx/context/dist/ingest/context-candidates/embedding-text.test.d.ts +0 -1
  1155. package/node_modules/@ktx/context/dist/ingest/context-candidates/embedding-text.test.js +0 -10
  1156. package/node_modules/@ktx/context/dist/ingest/context-candidates/index.d.ts +0 -9
  1157. package/node_modules/@ktx/context/dist/ingest/context-candidates/index.js +0 -4
  1158. package/node_modules/@ktx/context/dist/ingest/context-candidates/store.js +0 -1
  1159. package/node_modules/@ktx/context/dist/ingest/context-candidates/store.test.d.ts +0 -1
  1160. package/node_modules/@ktx/context/dist/ingest/context-candidates/store.test.js +0 -67
  1161. package/node_modules/@ktx/context/dist/ingest/context-candidates/types.d.ts +0 -103
  1162. package/node_modules/@ktx/context/dist/ingest/context-candidates/types.js +0 -1
  1163. package/node_modules/@ktx/context/dist/ingest/context-evidence/context-evidence-index.service.d.ts +0 -53
  1164. package/node_modules/@ktx/context/dist/ingest/context-evidence/context-evidence-index.service.js +0 -303
  1165. package/node_modules/@ktx/context/dist/ingest/context-evidence/context-evidence-index.service.test.d.ts +0 -1
  1166. package/node_modules/@ktx/context/dist/ingest/context-evidence/context-evidence-index.service.test.js +0 -374
  1167. package/node_modules/@ktx/context/dist/ingest/context-evidence/index.d.ts +0 -5
  1168. package/node_modules/@ktx/context/dist/ingest/context-evidence/index.js +0 -2
  1169. package/node_modules/@ktx/context/dist/ingest/context-evidence/sqlite-context-evidence-store.d.ts +0 -89
  1170. package/node_modules/@ktx/context/dist/ingest/context-evidence/sqlite-context-evidence-store.js +0 -1025
  1171. package/node_modules/@ktx/context/dist/ingest/context-evidence/sqlite-context-evidence-store.test.d.ts +0 -1
  1172. package/node_modules/@ktx/context/dist/ingest/context-evidence/sqlite-context-evidence-store.test.js +0 -416
  1173. package/node_modules/@ktx/context/dist/ingest/context-evidence/store.js +0 -1
  1174. package/node_modules/@ktx/context/dist/ingest/context-evidence/store.test.d.ts +0 -1
  1175. package/node_modules/@ktx/context/dist/ingest/context-evidence/store.test.js +0 -55
  1176. package/node_modules/@ktx/context/dist/ingest/context-evidence/types.js +0 -1
  1177. package/node_modules/@ktx/context/dist/ingest/dbt-shared/project-vars.d.ts +0 -12
  1178. package/node_modules/@ktx/context/dist/ingest/dbt-shared/project-vars.js +0 -86
  1179. package/node_modules/@ktx/context/dist/ingest/dbt-shared/project-vars.test.d.ts +0 -1
  1180. package/node_modules/@ktx/context/dist/ingest/dbt-shared/project-vars.test.js +0 -90
  1181. package/node_modules/@ktx/context/dist/ingest/dbt-shared/schema-files.d.ts +0 -3
  1182. package/node_modules/@ktx/context/dist/ingest/dbt-shared/schema-files.js +0 -62
  1183. package/node_modules/@ktx/context/dist/ingest/dbt-shared/schema-files.test.d.ts +0 -1
  1184. package/node_modules/@ktx/context/dist/ingest/dbt-shared/schema-files.test.js +0 -35
  1185. package/node_modules/@ktx/context/dist/ingest/diff-set.service.test.d.ts +0 -1
  1186. package/node_modules/@ktx/context/dist/ingest/diff-set.service.test.js +0 -132
  1187. package/node_modules/@ktx/context/dist/ingest/final-gate-repair.d.ts +0 -29
  1188. package/node_modules/@ktx/context/dist/ingest/final-gate-repair.test.d.ts +0 -1
  1189. package/node_modules/@ktx/context/dist/ingest/final-gate-repair.test.js +0 -109
  1190. package/node_modules/@ktx/context/dist/ingest/finalization-scope.d.ts +0 -22
  1191. package/node_modules/@ktx/context/dist/ingest/finalization-scope.test.d.ts +0 -1
  1192. package/node_modules/@ktx/context/dist/ingest/finalization-scope.test.js +0 -114
  1193. package/node_modules/@ktx/context/dist/ingest/index.d.ts +0 -154
  1194. package/node_modules/@ktx/context/dist/ingest/index.js +0 -99
  1195. package/node_modules/@ktx/context/dist/ingest/ingest-bundle.runner.isolated-diff.test.d.ts +0 -1
  1196. package/node_modules/@ktx/context/dist/ingest/ingest-bundle.runner.isolated-diff.test.js +0 -1927
  1197. package/node_modules/@ktx/context/dist/ingest/ingest-bundle.runner.js +0 -2247
  1198. package/node_modules/@ktx/context/dist/ingest/ingest-bundle.runner.test.d.ts +0 -1
  1199. package/node_modules/@ktx/context/dist/ingest/ingest-bundle.runner.test.js +0 -1899
  1200. package/node_modules/@ktx/context/dist/ingest/ingest-prompts.test.d.ts +0 -1
  1201. package/node_modules/@ktx/context/dist/ingest/ingest-prompts.test.js +0 -32
  1202. package/node_modules/@ktx/context/dist/ingest/ingest-runtime-assets.test.d.ts +0 -1
  1203. package/node_modules/@ktx/context/dist/ingest/ingest-runtime-assets.test.js +0 -89
  1204. package/node_modules/@ktx/context/dist/ingest/ingest-trace.d.ts +0 -50
  1205. package/node_modules/@ktx/context/dist/ingest/ingest-trace.js +0 -88
  1206. package/node_modules/@ktx/context/dist/ingest/ingest-trace.test.d.ts +0 -1
  1207. package/node_modules/@ktx/context/dist/ingest/ingest-trace.test.js +0 -76
  1208. package/node_modules/@ktx/context/dist/ingest/isolated-diff/git-patch.d.ts +0 -16
  1209. package/node_modules/@ktx/context/dist/ingest/isolated-diff/git-patch.js +0 -78
  1210. package/node_modules/@ktx/context/dist/ingest/isolated-diff/git-patch.test.d.ts +0 -1
  1211. package/node_modules/@ktx/context/dist/ingest/isolated-diff/git-patch.test.js +0 -76
  1212. package/node_modules/@ktx/context/dist/ingest/isolated-diff/patch-integrator.d.ts +0 -58
  1213. package/node_modules/@ktx/context/dist/ingest/isolated-diff/patch-integrator.test.d.ts +0 -1
  1214. package/node_modules/@ktx/context/dist/ingest/isolated-diff/patch-integrator.test.js +0 -369
  1215. package/node_modules/@ktx/context/dist/ingest/isolated-diff/textual-conflict-resolver.d.ts +0 -23
  1216. package/node_modules/@ktx/context/dist/ingest/isolated-diff/textual-conflict-resolver.test.d.ts +0 -1
  1217. package/node_modules/@ktx/context/dist/ingest/isolated-diff/textual-conflict-resolver.test.js +0 -101
  1218. package/node_modules/@ktx/context/dist/ingest/isolated-diff/work-unit-executor.test.d.ts +0 -1
  1219. package/node_modules/@ktx/context/dist/ingest/isolated-diff/work-unit-executor.test.js +0 -137
  1220. package/node_modules/@ktx/context/dist/ingest/local-adapters.d.ts +0 -35
  1221. package/node_modules/@ktx/context/dist/ingest/local-adapters.js +0 -247
  1222. package/node_modules/@ktx/context/dist/ingest/local-adapters.test.d.ts +0 -1
  1223. package/node_modules/@ktx/context/dist/ingest/local-adapters.test.js +0 -625
  1224. package/node_modules/@ktx/context/dist/ingest/local-bundle-ingest.test.d.ts +0 -1
  1225. package/node_modules/@ktx/context/dist/ingest/local-bundle-ingest.test.js +0 -794
  1226. package/node_modules/@ktx/context/dist/ingest/local-bundle-runtime.d.ts +0 -34
  1227. package/node_modules/@ktx/context/dist/ingest/local-bundle-runtime.js +0 -601
  1228. package/node_modules/@ktx/context/dist/ingest/local-bundle-runtime.test.d.ts +0 -1
  1229. package/node_modules/@ktx/context/dist/ingest/local-bundle-runtime.test.js +0 -225
  1230. package/node_modules/@ktx/context/dist/ingest/local-embedding-provider.integration.test.d.ts +0 -1
  1231. package/node_modules/@ktx/context/dist/ingest/local-embedding-provider.integration.test.js +0 -139
  1232. package/node_modules/@ktx/context/dist/ingest/local-ingest.d.ts +0 -87
  1233. package/node_modules/@ktx/context/dist/ingest/local-ingest.js +0 -297
  1234. package/node_modules/@ktx/context/dist/ingest/local-mapping-reconcile.d.ts +0 -2
  1235. package/node_modules/@ktx/context/dist/ingest/local-mapping-reconcile.js +0 -26
  1236. package/node_modules/@ktx/context/dist/ingest/local-mapping-reconcile.test.d.ts +0 -1
  1237. package/node_modules/@ktx/context/dist/ingest/local-mapping-reconcile.test.js +0 -61
  1238. package/node_modules/@ktx/context/dist/ingest/local-metabase-ingest.test.d.ts +0 -1
  1239. package/node_modules/@ktx/context/dist/ingest/local-metabase-ingest.test.js +0 -227
  1240. package/node_modules/@ktx/context/dist/ingest/local-stage-ingest.d.ts +0 -53
  1241. package/node_modules/@ktx/context/dist/ingest/local-stage-ingest.js +0 -290
  1242. package/node_modules/@ktx/context/dist/ingest/local-stage-ingest.test.d.ts +0 -1
  1243. package/node_modules/@ktx/context/dist/ingest/local-stage-ingest.test.js +0 -581
  1244. package/node_modules/@ktx/context/dist/ingest/memory-flow/acceptance-fixtures.d.ts +0 -6
  1245. package/node_modules/@ktx/context/dist/ingest/memory-flow/acceptance-fixtures.js +0 -155
  1246. package/node_modules/@ktx/context/dist/ingest/memory-flow/acceptance.test.d.ts +0 -1
  1247. package/node_modules/@ktx/context/dist/ingest/memory-flow/acceptance.test.js +0 -43
  1248. package/node_modules/@ktx/context/dist/ingest/memory-flow/events.d.ts +0 -9
  1249. package/node_modules/@ktx/context/dist/ingest/memory-flow/events.js +0 -196
  1250. package/node_modules/@ktx/context/dist/ingest/memory-flow/events.test.d.ts +0 -1
  1251. package/node_modules/@ktx/context/dist/ingest/memory-flow/events.test.js +0 -319
  1252. package/node_modules/@ktx/context/dist/ingest/memory-flow/index.d.ts +0 -6
  1253. package/node_modules/@ktx/context/dist/ingest/memory-flow/index.js +0 -4
  1254. package/node_modules/@ktx/context/dist/ingest/memory-flow/interaction.d.ts +0 -9
  1255. package/node_modules/@ktx/context/dist/ingest/memory-flow/interaction.js +0 -315
  1256. package/node_modules/@ktx/context/dist/ingest/memory-flow/interaction.test.d.ts +0 -1
  1257. package/node_modules/@ktx/context/dist/ingest/memory-flow/interaction.test.js +0 -264
  1258. package/node_modules/@ktx/context/dist/ingest/memory-flow/interactive-render.test.d.ts +0 -1
  1259. package/node_modules/@ktx/context/dist/ingest/memory-flow/interactive-render.test.js +0 -160
  1260. package/node_modules/@ktx/context/dist/ingest/memory-flow/live-buffer.test.d.ts +0 -1
  1261. package/node_modules/@ktx/context/dist/ingest/memory-flow/live-buffer.test.js +0 -77
  1262. package/node_modules/@ktx/context/dist/ingest/memory-flow/package-export.test.d.ts +0 -1
  1263. package/node_modules/@ktx/context/dist/ingest/memory-flow/package-export.test.js +0 -9
  1264. package/node_modules/@ktx/context/dist/ingest/memory-flow/render.test.d.ts +0 -1
  1265. package/node_modules/@ktx/context/dist/ingest/memory-flow/render.test.js +0 -105
  1266. package/node_modules/@ktx/context/dist/ingest/memory-flow/schema.d.ts +0 -208
  1267. package/node_modules/@ktx/context/dist/ingest/memory-flow/schema.js +0 -172
  1268. package/node_modules/@ktx/context/dist/ingest/memory-flow/schema.test.d.ts +0 -1
  1269. package/node_modules/@ktx/context/dist/ingest/memory-flow/schema.test.js +0 -147
  1270. package/node_modules/@ktx/context/dist/ingest/memory-flow/summary.test.d.ts +0 -1
  1271. package/node_modules/@ktx/context/dist/ingest/memory-flow/summary.test.js +0 -130
  1272. package/node_modules/@ktx/context/dist/ingest/memory-flow/types.js +0 -1
  1273. package/node_modules/@ktx/context/dist/ingest/memory-flow/view-model.test.d.ts +0 -1
  1274. package/node_modules/@ktx/context/dist/ingest/memory-flow/view-model.test.js +0 -397
  1275. package/node_modules/@ktx/context/dist/ingest/memory-flow/visuals.d.ts +0 -20
  1276. package/node_modules/@ktx/context/dist/ingest/memory-flow/visuals.js +0 -44
  1277. package/node_modules/@ktx/context/dist/ingest/memory-flow/visuals.test.d.ts +0 -1
  1278. package/node_modules/@ktx/context/dist/ingest/memory-flow/visuals.test.js +0 -49
  1279. package/node_modules/@ktx/context/dist/ingest/metabase-mapping.d.ts +0 -2
  1280. package/node_modules/@ktx/context/dist/ingest/metabase-mapping.js +0 -1
  1281. package/node_modules/@ktx/context/dist/ingest/page-triage/index.d.ts +0 -2
  1282. package/node_modules/@ktx/context/dist/ingest/page-triage/index.js +0 -1
  1283. package/node_modules/@ktx/context/dist/ingest/page-triage/page-triage.service.d.ts +0 -84
  1284. package/node_modules/@ktx/context/dist/ingest/page-triage/page-triage.service.js +0 -318
  1285. package/node_modules/@ktx/context/dist/ingest/page-triage/page-triage.service.test.d.ts +0 -1
  1286. package/node_modules/@ktx/context/dist/ingest/page-triage/page-triage.service.test.js +0 -311
  1287. package/node_modules/@ktx/context/dist/ingest/ports.d.ts +0 -323
  1288. package/node_modules/@ktx/context/dist/ingest/ports.js +0 -1
  1289. package/node_modules/@ktx/context/dist/ingest/raw-sources-paths.d.ts +0 -4
  1290. package/node_modules/@ktx/context/dist/ingest/raw-sources-paths.js +0 -16
  1291. package/node_modules/@ktx/context/dist/ingest/raw-sources-paths.test.d.ts +0 -1
  1292. package/node_modules/@ktx/context/dist/ingest/raw-sources-paths.test.js +0 -18
  1293. package/node_modules/@ktx/context/dist/ingest/repo-fetch.d.ts +0 -34
  1294. package/node_modules/@ktx/context/dist/ingest/repo-fetch.js +0 -132
  1295. package/node_modules/@ktx/context/dist/ingest/repo-fetch.test.d.ts +0 -1
  1296. package/node_modules/@ktx/context/dist/ingest/repo-fetch.test.js +0 -168
  1297. package/node_modules/@ktx/context/dist/ingest/report-snapshot.d.ts +0 -298
  1298. package/node_modules/@ktx/context/dist/ingest/report-snapshot.js +0 -212
  1299. package/node_modules/@ktx/context/dist/ingest/report-snapshot.test.d.ts +0 -1
  1300. package/node_modules/@ktx/context/dist/ingest/report-snapshot.test.js +0 -329
  1301. package/node_modules/@ktx/context/dist/ingest/reports.d.ts +0 -120
  1302. package/node_modules/@ktx/context/dist/ingest/reports.js +0 -37
  1303. package/node_modules/@ktx/context/dist/ingest/semantic-layer-target-policy.d.ts +0 -11
  1304. package/node_modules/@ktx/context/dist/ingest/semantic-layer-target-policy.js +0 -26
  1305. package/node_modules/@ktx/context/dist/ingest/semantic-layer-target-policy.test.d.ts +0 -1
  1306. package/node_modules/@ktx/context/dist/ingest/semantic-layer-target-policy.test.js +0 -25
  1307. package/node_modules/@ktx/context/dist/ingest/source-adapter-registry.test.d.ts +0 -1
  1308. package/node_modules/@ktx/context/dist/ingest/source-adapter-registry.test.js +0 -35
  1309. package/node_modules/@ktx/context/dist/ingest/sqlite-bundle-ingest-store.test.d.ts +0 -1
  1310. package/node_modules/@ktx/context/dist/ingest/sqlite-bundle-ingest-store.test.js +0 -517
  1311. package/node_modules/@ktx/context/dist/ingest/sqlite-local-ingest-store.test.d.ts +0 -1
  1312. package/node_modules/@ktx/context/dist/ingest/sqlite-local-ingest-store.test.js +0 -143
  1313. package/node_modules/@ktx/context/dist/ingest/stages/build-reconcile-context.context-candidates.test.d.ts +0 -1
  1314. package/node_modules/@ktx/context/dist/ingest/stages/build-reconcile-context.context-candidates.test.js +0 -102
  1315. package/node_modules/@ktx/context/dist/ingest/stages/build-reconcile-context.d.ts +0 -61
  1316. package/node_modules/@ktx/context/dist/ingest/stages/build-reconcile-context.test.d.ts +0 -1
  1317. package/node_modules/@ktx/context/dist/ingest/stages/build-reconcile-context.test.js +0 -141
  1318. package/node_modules/@ktx/context/dist/ingest/stages/build-wu-context.d.ts +0 -27
  1319. package/node_modules/@ktx/context/dist/ingest/stages/build-wu-context.js +0 -87
  1320. package/node_modules/@ktx/context/dist/ingest/stages/build-wu-context.test.d.ts +0 -1
  1321. package/node_modules/@ktx/context/dist/ingest/stages/build-wu-context.test.js +0 -196
  1322. package/node_modules/@ktx/context/dist/ingest/stages/stage-1-stage-raw-files.test.d.ts +0 -1
  1323. package/node_modules/@ktx/context/dist/ingest/stages/stage-1-stage-raw-files.test.js +0 -54
  1324. package/node_modules/@ktx/context/dist/ingest/stages/stage-3-work-units.d.ts +0 -48
  1325. package/node_modules/@ktx/context/dist/ingest/stages/stage-3-work-units.js +0 -108
  1326. package/node_modules/@ktx/context/dist/ingest/stages/stage-3-work-units.test.d.ts +0 -1
  1327. package/node_modules/@ktx/context/dist/ingest/stages/stage-3-work-units.test.js +0 -175
  1328. package/node_modules/@ktx/context/dist/ingest/stages/stage-4-reconciliation.d.ts +0 -28
  1329. package/node_modules/@ktx/context/dist/ingest/stages/stage-4-reconciliation.test.d.ts +0 -1
  1330. package/node_modules/@ktx/context/dist/ingest/stages/stage-4-reconciliation.test.js +0 -144
  1331. package/node_modules/@ktx/context/dist/ingest/stages/stage-index.types.d.ts +0 -50
  1332. package/node_modules/@ktx/context/dist/ingest/stages/stage-index.types.js +0 -1
  1333. package/node_modules/@ktx/context/dist/ingest/stages/validate-wu-sources.d.ts +0 -9
  1334. package/node_modules/@ktx/context/dist/ingest/stages/validate-wu-sources.test.d.ts +0 -1
  1335. package/node_modules/@ktx/context/dist/ingest/stages/validate-wu-sources.test.js +0 -27
  1336. package/node_modules/@ktx/context/dist/ingest/tools/emit-reconciliation-records.tool.test.d.ts +0 -1
  1337. package/node_modules/@ktx/context/dist/ingest/tools/emit-reconciliation-records.tool.test.js +0 -237
  1338. package/node_modules/@ktx/context/dist/ingest/tools/eviction-list.tool.test.d.ts +0 -1
  1339. package/node_modules/@ktx/context/dist/ingest/tools/eviction-list.tool.test.js +0 -44
  1340. package/node_modules/@ktx/context/dist/ingest/tools/read-raw-file.tool.test.d.ts +0 -1
  1341. package/node_modules/@ktx/context/dist/ingest/tools/read-raw-file.tool.test.js +0 -45
  1342. package/node_modules/@ktx/context/dist/ingest/tools/read-raw-span.tool.test.d.ts +0 -1
  1343. package/node_modules/@ktx/context/dist/ingest/tools/read-raw-span.tool.test.js +0 -34
  1344. package/node_modules/@ktx/context/dist/ingest/tools/stage-diff.tool.test.d.ts +0 -1
  1345. package/node_modules/@ktx/context/dist/ingest/tools/stage-diff.tool.test.js +0 -112
  1346. package/node_modules/@ktx/context/dist/ingest/tools/stage-list.tool.test.d.ts +0 -1
  1347. package/node_modules/@ktx/context/dist/ingest/tools/stage-list.tool.test.js +0 -58
  1348. package/node_modules/@ktx/context/dist/ingest/tools/tool-call-logger.d.ts +0 -33
  1349. package/node_modules/@ktx/context/dist/ingest/tools/tool-transcript-summary.test.d.ts +0 -1
  1350. package/node_modules/@ktx/context/dist/ingest/tools/tool-transcript-summary.test.js +0 -141
  1351. package/node_modules/@ktx/context/dist/ingest/tools/verification-ledger.tool.d.ts +0 -14
  1352. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/discover-data.tool.d.ts +0 -36
  1353. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/discover-data.tool.js +0 -94
  1354. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/discover-data.tool.test.d.ts +0 -1
  1355. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/discover-data.tool.test.js +0 -107
  1356. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/entity-details.tool.d.ts +0 -43
  1357. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/entity-details.tool.js +0 -137
  1358. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/entity-details.tool.test.d.ts +0 -1
  1359. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/entity-details.tool.test.js +0 -146
  1360. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/index.d.ts +0 -9
  1361. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/sql-execution.tool.d.ts +0 -31
  1362. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/sql-execution.tool.js +0 -84
  1363. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/sql-execution.tool.test.d.ts +0 -1
  1364. package/node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/sql-execution.tool.test.js +0 -50
  1365. package/node_modules/@ktx/context/dist/ingest/types.d.ts +0 -201
  1366. package/node_modules/@ktx/context/dist/ingest/types.js +0 -1
  1367. package/node_modules/@ktx/context/dist/ingest/wiki-body-refs.d.ts +0 -24
  1368. package/node_modules/@ktx/context/dist/ingest/wiki-body-refs.js +0 -111
  1369. package/node_modules/@ktx/context/dist/ingest/wiki-body-refs.test.d.ts +0 -1
  1370. package/node_modules/@ktx/context/dist/ingest/wiki-body-refs.test.js +0 -138
  1371. package/node_modules/@ktx/context/dist/ingest/wiki-sl-ref-repair.d.ts +0 -19
  1372. package/node_modules/@ktx/context/dist/ingest/wiki-sl-ref-repair.test.d.ts +0 -1
  1373. package/node_modules/@ktx/context/dist/ingest/wiki-sl-ref-repair.test.js +0 -81
  1374. package/node_modules/@ktx/context/dist/llm/ai-sdk-runtime.d.ts +0 -23
  1375. package/node_modules/@ktx/context/dist/llm/ai-sdk-runtime.js +0 -133
  1376. package/node_modules/@ktx/context/dist/llm/claude-code-env.d.ts +0 -2
  1377. package/node_modules/@ktx/context/dist/llm/claude-code-env.js +0 -21
  1378. package/node_modules/@ktx/context/dist/llm/claude-code-env.test.d.ts +0 -1
  1379. package/node_modules/@ktx/context/dist/llm/claude-code-env.test.js +0 -17
  1380. package/node_modules/@ktx/context/dist/llm/claude-code-models.test.d.ts +0 -1
  1381. package/node_modules/@ktx/context/dist/llm/claude-code-models.test.js +0 -15
  1382. package/node_modules/@ktx/context/dist/llm/claude-code-runtime.d.ts +0 -36
  1383. package/node_modules/@ktx/context/dist/llm/claude-code-runtime.js +0 -269
  1384. package/node_modules/@ktx/context/dist/llm/claude-code-runtime.test.d.ts +0 -1
  1385. package/node_modules/@ktx/context/dist/llm/claude-code-runtime.test.js +0 -428
  1386. package/node_modules/@ktx/context/dist/llm/debug-request-recorder.d.ts +0 -44
  1387. package/node_modules/@ktx/context/dist/llm/debug-request-recorder.js +0 -79
  1388. package/node_modules/@ktx/context/dist/llm/debug-request-recorder.test.d.ts +0 -1
  1389. package/node_modules/@ktx/context/dist/llm/debug-request-recorder.test.js +0 -112
  1390. package/node_modules/@ktx/context/dist/llm/embedding-port.d.ts +0 -17
  1391. package/node_modules/@ktx/context/dist/llm/embedding-port.test.d.ts +0 -1
  1392. package/node_modules/@ktx/context/dist/llm/embedding-port.test.js +0 -34
  1393. package/node_modules/@ktx/context/dist/llm/generation.d.ts +0 -8
  1394. package/node_modules/@ktx/context/dist/llm/generation.js +0 -6
  1395. package/node_modules/@ktx/context/dist/llm/index.d.ts +0 -13
  1396. package/node_modules/@ktx/context/dist/llm/index.js +0 -10
  1397. package/node_modules/@ktx/context/dist/llm/local-config.d.ts +0 -20
  1398. package/node_modules/@ktx/context/dist/llm/local-config.js +0 -133
  1399. package/node_modules/@ktx/context/dist/llm/local-config.test.d.ts +0 -1
  1400. package/node_modules/@ktx/context/dist/llm/local-config.test.js +0 -164
  1401. package/node_modules/@ktx/context/dist/llm/runtime-local-config.test.d.ts +0 -1
  1402. package/node_modules/@ktx/context/dist/llm/runtime-local-config.test.js +0 -17
  1403. package/node_modules/@ktx/context/dist/llm/runtime-port.d.ts +0 -59
  1404. package/node_modules/@ktx/context/dist/llm/runtime-tools.d.ts +0 -10
  1405. package/node_modules/@ktx/context/dist/llm/runtime-tools.js +0 -68
  1406. package/node_modules/@ktx/context/dist/llm/runtime-tools.test.d.ts +0 -1
  1407. package/node_modules/@ktx/context/dist/llm/runtime-tools.test.js +0 -36
  1408. package/node_modules/@ktx/context/dist/mcp/context-tools.d.ts +0 -9
  1409. package/node_modules/@ktx/context/dist/mcp/context-tools.js +0 -553
  1410. package/node_modules/@ktx/context/dist/mcp/index.d.ts +0 -5
  1411. package/node_modules/@ktx/context/dist/mcp/index.js +0 -3
  1412. package/node_modules/@ktx/context/dist/mcp/local-project-ports.d.ts +0 -16
  1413. package/node_modules/@ktx/context/dist/mcp/local-project-ports.js +0 -201
  1414. package/node_modules/@ktx/context/dist/mcp/local-project-ports.test.d.ts +0 -1
  1415. package/node_modules/@ktx/context/dist/mcp/local-project-ports.test.js +0 -689
  1416. package/node_modules/@ktx/context/dist/mcp/server.d.ts +0 -7
  1417. package/node_modules/@ktx/context/dist/mcp/server.js +0 -24
  1418. package/node_modules/@ktx/context/dist/mcp/server.test.d.ts +0 -1
  1419. package/node_modules/@ktx/context/dist/mcp/server.test.js +0 -858
  1420. package/node_modules/@ktx/context/dist/mcp/types.d.ts +0 -158
  1421. package/node_modules/@ktx/context/dist/mcp/types.js +0 -1
  1422. package/node_modules/@ktx/context/dist/memory/capture-signals.d.ts +0 -8
  1423. package/node_modules/@ktx/context/dist/memory/capture-signals.js +0 -103
  1424. package/node_modules/@ktx/context/dist/memory/index.d.ts +0 -6
  1425. package/node_modules/@ktx/context/dist/memory/index.js +0 -5
  1426. package/node_modules/@ktx/context/dist/memory/local-memory.d.ts +0 -22
  1427. package/node_modules/@ktx/context/dist/memory/local-memory.js +0 -391
  1428. package/node_modules/@ktx/context/dist/memory/local-memory.test.d.ts +0 -1
  1429. package/node_modules/@ktx/context/dist/memory/local-memory.test.js +0 -159
  1430. package/node_modules/@ktx/context/dist/memory/memory-agent.service.d.ts +0 -59
  1431. package/node_modules/@ktx/context/dist/memory/memory-agent.service.ingest.test.d.ts +0 -1
  1432. package/node_modules/@ktx/context/dist/memory/memory-agent.service.ingest.test.js +0 -355
  1433. package/node_modules/@ktx/context/dist/memory/memory-agent.service.js +0 -539
  1434. package/node_modules/@ktx/context/dist/memory/memory-agent.service.test.d.ts +0 -1
  1435. package/node_modules/@ktx/context/dist/memory/memory-agent.service.test.js +0 -413
  1436. package/node_modules/@ktx/context/dist/memory/memory-runs.d.ts +0 -54
  1437. package/node_modules/@ktx/context/dist/memory/memory-runs.test.d.ts +0 -1
  1438. package/node_modules/@ktx/context/dist/memory/memory-runs.test.js +0 -158
  1439. package/node_modules/@ktx/context/dist/memory/memory-runtime-assets.test.d.ts +0 -1
  1440. package/node_modules/@ktx/context/dist/memory/memory-runtime-assets.test.js +0 -162
  1441. package/node_modules/@ktx/context/dist/memory/types.d.ts +0 -133
  1442. package/node_modules/@ktx/context/dist/memory/types.js +0 -1
  1443. package/node_modules/@ktx/context/dist/package-exports.test.d.ts +0 -1
  1444. package/node_modules/@ktx/context/dist/package-exports.test.js +0 -248
  1445. package/node_modules/@ktx/context/dist/project/config.d.ts +0 -579
  1446. package/node_modules/@ktx/context/dist/project/config.js +0 -331
  1447. package/node_modules/@ktx/context/dist/project/config.test.d.ts +0 -1
  1448. package/node_modules/@ktx/context/dist/project/config.test.js +0 -464
  1449. package/node_modules/@ktx/context/dist/project/driver-schemas.d.ts +0 -106
  1450. package/node_modules/@ktx/context/dist/project/driver-schemas.js +0 -184
  1451. package/node_modules/@ktx/context/dist/project/driver-schemas.test.d.ts +0 -1
  1452. package/node_modules/@ktx/context/dist/project/driver-schemas.test.js +0 -125
  1453. package/node_modules/@ktx/context/dist/project/index.d.ts +0 -12
  1454. package/node_modules/@ktx/context/dist/project/index.js +0 -6
  1455. package/node_modules/@ktx/context/dist/project/local-git-file-store.d.ts +0 -23
  1456. package/node_modules/@ktx/context/dist/project/local-git-file-store.test.d.ts +0 -1
  1457. package/node_modules/@ktx/context/dist/project/local-git-file-store.test.js +0 -71
  1458. package/node_modules/@ktx/context/dist/project/mappings-yaml-schema.d.ts +0 -58
  1459. package/node_modules/@ktx/context/dist/project/mappings-yaml-schema.js +0 -109
  1460. package/node_modules/@ktx/context/dist/project/mappings-yaml-schema.test.d.ts +0 -1
  1461. package/node_modules/@ktx/context/dist/project/mappings-yaml-schema.test.js +0 -79
  1462. package/node_modules/@ktx/context/dist/project/project.d.ts +0 -29
  1463. package/node_modules/@ktx/context/dist/project/project.js +0 -93
  1464. package/node_modules/@ktx/context/dist/project/project.test.d.ts +0 -1
  1465. package/node_modules/@ktx/context/dist/project/project.test.js +0 -55
  1466. package/node_modules/@ktx/context/dist/project/setup-config.d.ts +0 -12
  1467. package/node_modules/@ktx/context/dist/project/setup-config.js +0 -79
  1468. package/node_modules/@ktx/context/dist/project/setup-config.test.d.ts +0 -1
  1469. package/node_modules/@ktx/context/dist/project/setup-config.test.js +0 -38
  1470. package/node_modules/@ktx/context/dist/prompts/index.d.ts +0 -2
  1471. package/node_modules/@ktx/context/dist/prompts/index.js +0 -1
  1472. package/node_modules/@ktx/context/dist/prompts/prompt.service.d.ts +0 -28
  1473. package/node_modules/@ktx/context/dist/prompts/prompt.service.js +0 -84
  1474. package/node_modules/@ktx/context/dist/prompts/prompt.service.test.d.ts +0 -1
  1475. package/node_modules/@ktx/context/dist/prompts/prompt.service.test.js +0 -43
  1476. package/node_modules/@ktx/context/dist/scan/credentials.d.ts +0 -8
  1477. package/node_modules/@ktx/context/dist/scan/credentials.js +0 -38
  1478. package/node_modules/@ktx/context/dist/scan/credentials.test.d.ts +0 -1
  1479. package/node_modules/@ktx/context/dist/scan/credentials.test.js +0 -161
  1480. package/node_modules/@ktx/context/dist/scan/data-dictionary.d.ts +0 -22
  1481. package/node_modules/@ktx/context/dist/scan/data-dictionary.js +0 -66
  1482. package/node_modules/@ktx/context/dist/scan/data-dictionary.test.d.ts +0 -1
  1483. package/node_modules/@ktx/context/dist/scan/data-dictionary.test.js +0 -92
  1484. package/node_modules/@ktx/context/dist/scan/description-generation.d.ts +0 -122
  1485. package/node_modules/@ktx/context/dist/scan/description-generation.js +0 -556
  1486. package/node_modules/@ktx/context/dist/scan/description-generation.test.d.ts +0 -1
  1487. package/node_modules/@ktx/context/dist/scan/description-generation.test.js +0 -587
  1488. package/node_modules/@ktx/context/dist/scan/embedding-text.d.ts +0 -21
  1489. package/node_modules/@ktx/context/dist/scan/embedding-text.test.d.ts +0 -1
  1490. package/node_modules/@ktx/context/dist/scan/embedding-text.test.js +0 -36
  1491. package/node_modules/@ktx/context/dist/scan/enabled-tables.d.ts +0 -3
  1492. package/node_modules/@ktx/context/dist/scan/enabled-tables.js +0 -15
  1493. package/node_modules/@ktx/context/dist/scan/enrichment-state.d.ts +0 -48
  1494. package/node_modules/@ktx/context/dist/scan/enrichment-state.js +0 -44
  1495. package/node_modules/@ktx/context/dist/scan/enrichment-state.test.d.ts +0 -1
  1496. package/node_modules/@ktx/context/dist/scan/enrichment-state.test.js +0 -147
  1497. package/node_modules/@ktx/context/dist/scan/enrichment-summary.test.d.ts +0 -1
  1498. package/node_modules/@ktx/context/dist/scan/enrichment-summary.test.js +0 -34
  1499. package/node_modules/@ktx/context/dist/scan/enrichment-types.d.ts +0 -104
  1500. package/node_modules/@ktx/context/dist/scan/enrichment-types.js +0 -1
  1501. package/node_modules/@ktx/context/dist/scan/enrichment-types.test.d.ts +0 -1
  1502. package/node_modules/@ktx/context/dist/scan/enrichment-types.test.js +0 -141
  1503. package/node_modules/@ktx/context/dist/scan/entity-details.d.ts +0 -57
  1504. package/node_modules/@ktx/context/dist/scan/entity-details.js +0 -216
  1505. package/node_modules/@ktx/context/dist/scan/entity-details.test.d.ts +0 -1
  1506. package/node_modules/@ktx/context/dist/scan/entity-details.test.js +0 -234
  1507. package/node_modules/@ktx/context/dist/scan/index.d.ts +0 -72
  1508. package/node_modules/@ktx/context/dist/scan/index.js +0 -37
  1509. package/node_modules/@ktx/context/dist/scan/local-enrichment-artifacts.d.ts +0 -32
  1510. package/node_modules/@ktx/context/dist/scan/local-enrichment-artifacts.js +0 -274
  1511. package/node_modules/@ktx/context/dist/scan/local-enrichment-artifacts.test.d.ts +0 -1
  1512. package/node_modules/@ktx/context/dist/scan/local-enrichment-artifacts.test.js +0 -767
  1513. package/node_modules/@ktx/context/dist/scan/local-enrichment.d.ts +0 -45
  1514. package/node_modules/@ktx/context/dist/scan/local-enrichment.js +0 -478
  1515. package/node_modules/@ktx/context/dist/scan/local-enrichment.test.d.ts +0 -1
  1516. package/node_modules/@ktx/context/dist/scan/local-enrichment.test.js +0 -773
  1517. package/node_modules/@ktx/context/dist/scan/local-scan.d.ts +0 -68
  1518. package/node_modules/@ktx/context/dist/scan/local-scan.js +0 -415
  1519. package/node_modules/@ktx/context/dist/scan/local-scan.test.d.ts +0 -1
  1520. package/node_modules/@ktx/context/dist/scan/local-scan.test.js +0 -1398
  1521. package/node_modules/@ktx/context/dist/scan/local-structural-artifacts.d.ts +0 -10
  1522. package/node_modules/@ktx/context/dist/scan/local-structural-artifacts.js +0 -86
  1523. package/node_modules/@ktx/context/dist/scan/local-structural-artifacts.test.d.ts +0 -1
  1524. package/node_modules/@ktx/context/dist/scan/local-structural-artifacts.test.js +0 -144
  1525. package/node_modules/@ktx/context/dist/scan/orchestrator.d.ts +0 -44
  1526. package/node_modules/@ktx/context/dist/scan/orchestrator.js +0 -186
  1527. package/node_modules/@ktx/context/dist/scan/orchestrator.test.d.ts +0 -1
  1528. package/node_modules/@ktx/context/dist/scan/orchestrator.test.js +0 -335
  1529. package/node_modules/@ktx/context/dist/scan/relationship-artifacts.d.ts +0 -20
  1530. package/node_modules/@ktx/context/dist/scan/relationship-artifacts.js +0 -45
  1531. package/node_modules/@ktx/context/dist/scan/relationship-artifacts.test.d.ts +0 -1
  1532. package/node_modules/@ktx/context/dist/scan/relationship-artifacts.test.js +0 -268
  1533. package/node_modules/@ktx/context/dist/scan/relationship-benchmark-report.test.d.ts +0 -1
  1534. package/node_modules/@ktx/context/dist/scan/relationship-benchmark-report.test.js +0 -389
  1535. package/node_modules/@ktx/context/dist/scan/relationship-benchmarks.d.ts +0 -148
  1536. package/node_modules/@ktx/context/dist/scan/relationship-benchmarks.js +0 -646
  1537. package/node_modules/@ktx/context/dist/scan/relationship-benchmarks.test.d.ts +0 -1
  1538. package/node_modules/@ktx/context/dist/scan/relationship-benchmarks.test.js +0 -1072
  1539. package/node_modules/@ktx/context/dist/scan/relationship-budget.d.ts +0 -19
  1540. package/node_modules/@ktx/context/dist/scan/relationship-budget.js +0 -34
  1541. package/node_modules/@ktx/context/dist/scan/relationship-budget.test.d.ts +0 -1
  1542. package/node_modules/@ktx/context/dist/scan/relationship-budget.test.js +0 -71
  1543. package/node_modules/@ktx/context/dist/scan/relationship-candidates.d.ts +0 -49
  1544. package/node_modules/@ktx/context/dist/scan/relationship-candidates.js +0 -556
  1545. package/node_modules/@ktx/context/dist/scan/relationship-candidates.test.d.ts +0 -1
  1546. package/node_modules/@ktx/context/dist/scan/relationship-candidates.test.js +0 -747
  1547. package/node_modules/@ktx/context/dist/scan/relationship-composite-candidates.d.ts +0 -66
  1548. package/node_modules/@ktx/context/dist/scan/relationship-composite-candidates.js +0 -422
  1549. package/node_modules/@ktx/context/dist/scan/relationship-composite-candidates.test.d.ts +0 -1
  1550. package/node_modules/@ktx/context/dist/scan/relationship-composite-candidates.test.js +0 -69
  1551. package/node_modules/@ktx/context/dist/scan/relationship-diagnostics.d.ts +0 -94
  1552. package/node_modules/@ktx/context/dist/scan/relationship-diagnostics.js +0 -224
  1553. package/node_modules/@ktx/context/dist/scan/relationship-diagnostics.test.d.ts +0 -1
  1554. package/node_modules/@ktx/context/dist/scan/relationship-diagnostics.test.js +0 -333
  1555. package/node_modules/@ktx/context/dist/scan/relationship-discovery.d.ts +0 -27
  1556. package/node_modules/@ktx/context/dist/scan/relationship-discovery.js +0 -247
  1557. package/node_modules/@ktx/context/dist/scan/relationship-discovery.test.d.ts +0 -1
  1558. package/node_modules/@ktx/context/dist/scan/relationship-discovery.test.js +0 -618
  1559. package/node_modules/@ktx/context/dist/scan/relationship-feedback-calibration.d.ts +0 -70
  1560. package/node_modules/@ktx/context/dist/scan/relationship-feedback-calibration.js +0 -170
  1561. package/node_modules/@ktx/context/dist/scan/relationship-feedback-calibration.test.d.ts +0 -1
  1562. package/node_modules/@ktx/context/dist/scan/relationship-feedback-calibration.test.js +0 -175
  1563. package/node_modules/@ktx/context/dist/scan/relationship-feedback-export.d.ts +0 -54
  1564. package/node_modules/@ktx/context/dist/scan/relationship-feedback-export.js +0 -96
  1565. package/node_modules/@ktx/context/dist/scan/relationship-feedback-export.test.d.ts +0 -1
  1566. package/node_modules/@ktx/context/dist/scan/relationship-feedback-export.test.js +0 -241
  1567. package/node_modules/@ktx/context/dist/scan/relationship-formal-metadata.test.d.ts +0 -1
  1568. package/node_modules/@ktx/context/dist/scan/relationship-formal-metadata.test.js +0 -125
  1569. package/node_modules/@ktx/context/dist/scan/relationship-graph-resolver.d.ts +0 -48
  1570. package/node_modules/@ktx/context/dist/scan/relationship-graph-resolver.test.d.ts +0 -1
  1571. package/node_modules/@ktx/context/dist/scan/relationship-graph-resolver.test.js +0 -604
  1572. package/node_modules/@ktx/context/dist/scan/relationship-llm-proposal.d.ts +0 -25
  1573. package/node_modules/@ktx/context/dist/scan/relationship-llm-proposal.js +0 -193
  1574. package/node_modules/@ktx/context/dist/scan/relationship-llm-proposal.test.d.ts +0 -1
  1575. package/node_modules/@ktx/context/dist/scan/relationship-llm-proposal.test.js +0 -197
  1576. package/node_modules/@ktx/context/dist/scan/relationship-locality.test.d.ts +0 -1
  1577. package/node_modules/@ktx/context/dist/scan/relationship-locality.test.js +0 -128
  1578. package/node_modules/@ktx/context/dist/scan/relationship-name-similarity.d.ts +0 -13
  1579. package/node_modules/@ktx/context/dist/scan/relationship-name-similarity.js +0 -123
  1580. package/node_modules/@ktx/context/dist/scan/relationship-name-similarity.test.d.ts +0 -1
  1581. package/node_modules/@ktx/context/dist/scan/relationship-name-similarity.test.js +0 -68
  1582. package/node_modules/@ktx/context/dist/scan/relationship-profiling.d.ts +0 -55
  1583. package/node_modules/@ktx/context/dist/scan/relationship-profiling.js +0 -321
  1584. package/node_modules/@ktx/context/dist/scan/relationship-profiling.test.d.ts +0 -1
  1585. package/node_modules/@ktx/context/dist/scan/relationship-profiling.test.js +0 -313
  1586. package/node_modules/@ktx/context/dist/scan/relationship-review-apply.d.ts +0 -34
  1587. package/node_modules/@ktx/context/dist/scan/relationship-review-apply.js +0 -152
  1588. package/node_modules/@ktx/context/dist/scan/relationship-review-apply.test.d.ts +0 -1
  1589. package/node_modules/@ktx/context/dist/scan/relationship-review-apply.test.js +0 -321
  1590. package/node_modules/@ktx/context/dist/scan/relationship-review-decisions.d.ts +0 -46
  1591. package/node_modules/@ktx/context/dist/scan/relationship-review-decisions.js +0 -92
  1592. package/node_modules/@ktx/context/dist/scan/relationship-review-decisions.test.d.ts +0 -1
  1593. package/node_modules/@ktx/context/dist/scan/relationship-review-decisions.test.js +0 -312
  1594. package/node_modules/@ktx/context/dist/scan/relationship-scoring.d.ts +0 -29
  1595. package/node_modules/@ktx/context/dist/scan/relationship-scoring.js +0 -95
  1596. package/node_modules/@ktx/context/dist/scan/relationship-scoring.test.d.ts +0 -1
  1597. package/node_modules/@ktx/context/dist/scan/relationship-scoring.test.js +0 -86
  1598. package/node_modules/@ktx/context/dist/scan/relationship-threshold-advice.d.ts +0 -60
  1599. package/node_modules/@ktx/context/dist/scan/relationship-threshold-advice.js +0 -190
  1600. package/node_modules/@ktx/context/dist/scan/relationship-threshold-advice.test.d.ts +0 -1
  1601. package/node_modules/@ktx/context/dist/scan/relationship-threshold-advice.test.js +0 -205
  1602. package/node_modules/@ktx/context/dist/scan/relationship-validation.d.ts +0 -44
  1603. package/node_modules/@ktx/context/dist/scan/relationship-validation.js +0 -240
  1604. package/node_modules/@ktx/context/dist/scan/relationship-validation.test.d.ts +0 -1
  1605. package/node_modules/@ktx/context/dist/scan/relationship-validation.test.js +0 -450
  1606. package/node_modules/@ktx/context/dist/scan/type-normalization.d.ts +0 -8
  1607. package/node_modules/@ktx/context/dist/scan/type-normalization.js +0 -23
  1608. package/node_modules/@ktx/context/dist/scan/type-normalization.test.d.ts +0 -1
  1609. package/node_modules/@ktx/context/dist/scan/type-normalization.test.js +0 -21
  1610. package/node_modules/@ktx/context/dist/scan/types.d.ts +0 -309
  1611. package/node_modules/@ktx/context/dist/scan/types.test.d.ts +0 -1
  1612. package/node_modules/@ktx/context/dist/scan/types.test.js +0 -206
  1613. package/node_modules/@ktx/context/dist/scan/warehouse-catalog.d.ts +0 -69
  1614. package/node_modules/@ktx/context/dist/scan/warehouse-catalog.js +0 -311
  1615. package/node_modules/@ktx/context/dist/scan/warehouse-catalog.test.d.ts +0 -1
  1616. package/node_modules/@ktx/context/dist/scan/warehouse-catalog.test.js +0 -158
  1617. package/node_modules/@ktx/context/dist/search/backend-conformance.d.ts +0 -39
  1618. package/node_modules/@ktx/context/dist/search/backend-conformance.js +0 -88
  1619. package/node_modules/@ktx/context/dist/search/backend-conformance.test.d.ts +0 -1
  1620. package/node_modules/@ktx/context/dist/search/backend-conformance.test.js +0 -408
  1621. package/node_modules/@ktx/context/dist/search/discover.d.ts +0 -30
  1622. package/node_modules/@ktx/context/dist/search/discover.js +0 -340
  1623. package/node_modules/@ktx/context/dist/search/discover.test.d.ts +0 -1
  1624. package/node_modules/@ktx/context/dist/search/discover.test.js +0 -197
  1625. package/node_modules/@ktx/context/dist/search/hybrid-search-core.test.d.ts +0 -1
  1626. package/node_modules/@ktx/context/dist/search/hybrid-search-core.test.js +0 -113
  1627. package/node_modules/@ktx/context/dist/search/index.d.ts +0 -8
  1628. package/node_modules/@ktx/context/dist/search/index.js +0 -5
  1629. package/node_modules/@ktx/context/dist/search/pglite-owner-process.d.ts +0 -27
  1630. package/node_modules/@ktx/context/dist/search/pglite-owner-process.js +0 -89
  1631. package/node_modules/@ktx/context/dist/search/pglite-owner-process.test.d.ts +0 -1
  1632. package/node_modules/@ktx/context/dist/search/pglite-owner-process.test.js +0 -286
  1633. package/node_modules/@ktx/context/dist/search/pglite-runtime-boundary.test.d.ts +0 -1
  1634. package/node_modules/@ktx/context/dist/search/pglite-runtime-boundary.test.js +0 -48
  1635. package/node_modules/@ktx/context/dist/search/pglite-spike.test.d.ts +0 -1
  1636. package/node_modules/@ktx/context/dist/search/pglite-spike.test.js +0 -249
  1637. package/node_modules/@ktx/context/dist/search/query.test.d.ts +0 -1
  1638. package/node_modules/@ktx/context/dist/search/query.test.js +0 -23
  1639. package/node_modules/@ktx/context/dist/search/rrf.test.d.ts +0 -1
  1640. package/node_modules/@ktx/context/dist/search/rrf.test.js +0 -47
  1641. package/node_modules/@ktx/context/dist/search/types.d.ts +0 -73
  1642. package/node_modules/@ktx/context/dist/search/types.js +0 -1
  1643. package/node_modules/@ktx/context/dist/skills/index.d.ts +0 -2
  1644. package/node_modules/@ktx/context/dist/skills/index.js +0 -1
  1645. package/node_modules/@ktx/context/dist/skills/skills-registry.service.d.ts +0 -35
  1646. package/node_modules/@ktx/context/dist/skills/skills-registry.service.js +0 -215
  1647. package/node_modules/@ktx/context/dist/skills/skills-registry.service.test.d.ts +0 -1
  1648. package/node_modules/@ktx/context/dist/skills/skills-registry.service.test.js +0 -161
  1649. package/node_modules/@ktx/context/dist/sl/dictionary-search.d.ts +0 -42
  1650. package/node_modules/@ktx/context/dist/sl/dictionary-search.test.d.ts +0 -1
  1651. package/node_modules/@ktx/context/dist/sl/dictionary-search.test.js +0 -204
  1652. package/node_modules/@ktx/context/dist/sl/index.d.ts +0 -15
  1653. package/node_modules/@ktx/context/dist/sl/index.js +0 -10
  1654. package/node_modules/@ktx/context/dist/sl/local-query.d.ts +0 -19
  1655. package/node_modules/@ktx/context/dist/sl/local-query.js +0 -118
  1656. package/node_modules/@ktx/context/dist/sl/local-query.test.d.ts +0 -1
  1657. package/node_modules/@ktx/context/dist/sl/local-query.test.js +0 -283
  1658. package/node_modules/@ktx/context/dist/sl/local-sl.d.ts +0 -60
  1659. package/node_modules/@ktx/context/dist/sl/local-sl.js +0 -484
  1660. package/node_modules/@ktx/context/dist/sl/local-sl.test.d.ts +0 -1
  1661. package/node_modules/@ktx/context/dist/sl/local-sl.test.js +0 -334
  1662. package/node_modules/@ktx/context/dist/sl/pglite-sl-search-prototype.d.ts +0 -16
  1663. package/node_modules/@ktx/context/dist/sl/pglite-sl-search-prototype.js +0 -433
  1664. package/node_modules/@ktx/context/dist/sl/pglite-sl-search-prototype.test.d.ts +0 -1
  1665. package/node_modules/@ktx/context/dist/sl/pglite-sl-search-prototype.test.js +0 -240
  1666. package/node_modules/@ktx/context/dist/sl/ports.js +0 -1
  1667. package/node_modules/@ktx/context/dist/sl/schemas.contract.test.d.ts +0 -1
  1668. package/node_modules/@ktx/context/dist/sl/schemas.contract.test.js +0 -62
  1669. package/node_modules/@ktx/context/dist/sl/semantic-layer.service.d.ts +0 -214
  1670. package/node_modules/@ktx/context/dist/sl/semantic-layer.service.js +0 -1334
  1671. package/node_modules/@ktx/context/dist/sl/semantic-layer.service.test.d.ts +0 -1
  1672. package/node_modules/@ktx/context/dist/sl/semantic-layer.service.test.js +0 -1084
  1673. package/node_modules/@ktx/context/dist/sl/sl-dictionary-profile.d.ts +0 -9
  1674. package/node_modules/@ktx/context/dist/sl/sl-dictionary-profile.js +0 -80
  1675. package/node_modules/@ktx/context/dist/sl/sl-dictionary-profile.test.d.ts +0 -1
  1676. package/node_modules/@ktx/context/dist/sl/sl-dictionary-profile.test.js +0 -88
  1677. package/node_modules/@ktx/context/dist/sl/sl-search.service.d.ts +0 -18
  1678. package/node_modules/@ktx/context/dist/sl/sl-search.service.js +0 -158
  1679. package/node_modules/@ktx/context/dist/sl/sl-search.service.test.d.ts +0 -1
  1680. package/node_modules/@ktx/context/dist/sl/sl-search.service.test.js +0 -256
  1681. package/node_modules/@ktx/context/dist/sl/sl-validator.port.d.ts +0 -7
  1682. package/node_modules/@ktx/context/dist/sl/sl-validator.port.js +0 -1
  1683. package/node_modules/@ktx/context/dist/sl/sqlite-sl-sources-index.test.d.ts +0 -1
  1684. package/node_modules/@ktx/context/dist/sl/sqlite-sl-sources-index.test.js +0 -175
  1685. package/node_modules/@ktx/context/dist/sl/tools/base-semantic-layer.tool.d.ts +0 -45
  1686. package/node_modules/@ktx/context/dist/sl/tools/base-semantic-layer.tool.js +0 -91
  1687. package/node_modules/@ktx/context/dist/sl/tools/connection-id-schema.test.d.ts +0 -1
  1688. package/node_modules/@ktx/context/dist/sl/tools/connection-id-schema.test.js +0 -14
  1689. package/node_modules/@ktx/context/dist/sl/tools/index.d.ts +0 -11
  1690. package/node_modules/@ktx/context/dist/sl/tools/index.js +0 -8
  1691. package/node_modules/@ktx/context/dist/sl/tools/sl-discover.tool.d.ts +0 -52
  1692. package/node_modules/@ktx/context/dist/sl/tools/sl-discover.tool.test.d.ts +0 -1
  1693. package/node_modules/@ktx/context/dist/sl/tools/sl-discover.tool.test.js +0 -72
  1694. package/node_modules/@ktx/context/dist/sl/tools/sl-edit-source.tool.d.ts +0 -33
  1695. package/node_modules/@ktx/context/dist/sl/tools/sl-edit-source.tool.js +0 -177
  1696. package/node_modules/@ktx/context/dist/sl/tools/sl-edit-source.tool.test.d.ts +0 -1
  1697. package/node_modules/@ktx/context/dist/sl/tools/sl-edit-source.tool.test.js +0 -184
  1698. package/node_modules/@ktx/context/dist/sl/tools/sl-read-source.tool.d.ts +0 -23
  1699. package/node_modules/@ktx/context/dist/sl/tools/sl-read-source.tool.session.test.d.ts +0 -1
  1700. package/node_modules/@ktx/context/dist/sl/tools/sl-read-source.tool.session.test.js +0 -55
  1701. package/node_modules/@ktx/context/dist/sl/tools/sl-rollback.tool.d.ts +0 -25
  1702. package/node_modules/@ktx/context/dist/sl/tools/sl-rollback.tool.js +0 -63
  1703. package/node_modules/@ktx/context/dist/sl/tools/sl-rollback.tool.test.d.ts +0 -1
  1704. package/node_modules/@ktx/context/dist/sl/tools/sl-rollback.tool.test.js +0 -57
  1705. package/node_modules/@ktx/context/dist/sl/tools/sl-validate.tool.d.ts +0 -23
  1706. package/node_modules/@ktx/context/dist/sl/tools/sl-validate.tool.js +0 -100
  1707. package/node_modules/@ktx/context/dist/sl/tools/sl-validate.tool.test.d.ts +0 -1
  1708. package/node_modules/@ktx/context/dist/sl/tools/sl-validate.tool.test.js +0 -54
  1709. package/node_modules/@ktx/context/dist/sl/tools/sl-warehouse-validation.d.ts +0 -29
  1710. package/node_modules/@ktx/context/dist/sl/tools/sl-warehouse-validation.js +0 -245
  1711. package/node_modules/@ktx/context/dist/sl/tools/sl-warehouse-validation.test.d.ts +0 -1
  1712. package/node_modules/@ktx/context/dist/sl/tools/sl-warehouse-validation.test.js +0 -136
  1713. package/node_modules/@ktx/context/dist/sl/tools/sl-write-source.tool.d.ts +0 -422
  1714. package/node_modules/@ktx/context/dist/sl/tools/sl-write-source.tool.js +0 -319
  1715. package/node_modules/@ktx/context/dist/sl/tools/sl-write-source.tool.test.d.ts +0 -1
  1716. package/node_modules/@ktx/context/dist/sl/tools/sl-write-source.tool.test.js +0 -307
  1717. package/node_modules/@ktx/context/dist/sl/types.d.ts +0 -147
  1718. package/node_modules/@ktx/context/dist/sl/types.js +0 -1
  1719. package/node_modules/@ktx/context/dist/sql-analysis/http-sql-analysis-port.test.d.ts +0 -1
  1720. package/node_modules/@ktx/context/dist/sql-analysis/http-sql-analysis-port.test.js +0 -147
  1721. package/node_modules/@ktx/context/dist/sql-analysis/index.d.ts +0 -3
  1722. package/node_modules/@ktx/context/dist/sql-analysis/index.js +0 -1
  1723. package/node_modules/@ktx/context/dist/sql-analysis/ports.d.ts +0 -33
  1724. package/node_modules/@ktx/context/dist/sql-analysis/ports.js +0 -1
  1725. package/node_modules/@ktx/context/dist/test/make-local-git-repo.d.ts +0 -10
  1726. package/node_modules/@ktx/context/dist/test/make-local-git-repo.js +0 -34
  1727. package/node_modules/@ktx/context/dist/tools/base-tool.d.ts +0 -85
  1728. package/node_modules/@ktx/context/dist/tools/base-tool.js +0 -94
  1729. package/node_modules/@ktx/context/dist/tools/context-candidate-mark.tool.d.ts +0 -41
  1730. package/node_modules/@ktx/context/dist/tools/context-candidate-write.tool.d.ts +0 -64
  1731. package/node_modules/@ktx/context/dist/tools/context-candidate-write.tool.js +0 -140
  1732. package/node_modules/@ktx/context/dist/tools/context-evidence-search.tool.d.ts +0 -57
  1733. package/node_modules/@ktx/context/dist/tools/context-evidence-search.tool.js +0 -92
  1734. package/node_modules/@ktx/context/dist/tools/context-evidence-tool-store.d.ts +0 -112
  1735. package/node_modules/@ktx/context/dist/tools/context-evidence-tool-store.js +0 -1
  1736. package/node_modules/@ktx/context/dist/tools/context-evidence-tools.test.d.ts +0 -1
  1737. package/node_modules/@ktx/context/dist/tools/context-evidence-tools.test.js +0 -486
  1738. package/node_modules/@ktx/context/dist/tools/index.d.ts +0 -19
  1739. package/node_modules/@ktx/context/dist/tools/index.js +0 -12
  1740. package/node_modules/@ktx/context/dist/tools/tool-session.d.ts +0 -54
  1741. package/node_modules/@ktx/context/dist/tools/tool-session.js +0 -1
  1742. package/node_modules/@ktx/context/dist/tools/touched-sl-sources.d.ts +0 -12
  1743. package/node_modules/@ktx/context/dist/tools/touched-sl-sources.js +0 -47
  1744. package/node_modules/@ktx/context/dist/tools/touched-sl-sources.test.d.ts +0 -1
  1745. package/node_modules/@ktx/context/dist/tools/touched-sl-sources.test.js +0 -31
  1746. package/node_modules/@ktx/context/dist/wiki/index.d.ts +0 -9
  1747. package/node_modules/@ktx/context/dist/wiki/index.js +0 -6
  1748. package/node_modules/@ktx/context/dist/wiki/keys.d.ts +0 -11
  1749. package/node_modules/@ktx/context/dist/wiki/keys.js +0 -26
  1750. package/node_modules/@ktx/context/dist/wiki/knowledge-wiki.service.d.ts +0 -77
  1751. package/node_modules/@ktx/context/dist/wiki/knowledge-wiki.service.js +0 -357
  1752. package/node_modules/@ktx/context/dist/wiki/knowledge-wiki.service.test.d.ts +0 -1
  1753. package/node_modules/@ktx/context/dist/wiki/knowledge-wiki.service.test.js +0 -190
  1754. package/node_modules/@ktx/context/dist/wiki/local-knowledge.d.ts +0 -55
  1755. package/node_modules/@ktx/context/dist/wiki/local-knowledge.js +0 -289
  1756. package/node_modules/@ktx/context/dist/wiki/local-knowledge.test.d.ts +0 -1
  1757. package/node_modules/@ktx/context/dist/wiki/local-knowledge.test.js +0 -270
  1758. package/node_modules/@ktx/context/dist/wiki/ports.d.ts +0 -70
  1759. package/node_modules/@ktx/context/dist/wiki/ports.js +0 -1
  1760. package/node_modules/@ktx/context/dist/wiki/sqlite-knowledge-index.test.d.ts +0 -1
  1761. package/node_modules/@ktx/context/dist/wiki/sqlite-knowledge-index.test.js +0 -129
  1762. package/node_modules/@ktx/context/dist/wiki/tools/index.d.ts +0 -5
  1763. package/node_modules/@ktx/context/dist/wiki/tools/index.js +0 -5
  1764. package/node_modules/@ktx/context/dist/wiki/tools/wiki-list-tags.tool.d.ts +0 -16
  1765. package/node_modules/@ktx/context/dist/wiki/tools/wiki-list-tags.tool.js +0 -34
  1766. package/node_modules/@ktx/context/dist/wiki/tools/wiki-list-tags.tool.test.d.ts +0 -1
  1767. package/node_modules/@ktx/context/dist/wiki/tools/wiki-list-tags.tool.test.js +0 -35
  1768. package/node_modules/@ktx/context/dist/wiki/tools/wiki-read.tool.d.ts +0 -28
  1769. package/node_modules/@ktx/context/dist/wiki/tools/wiki-read.tool.js +0 -59
  1770. package/node_modules/@ktx/context/dist/wiki/tools/wiki-read.tool.test.d.ts +0 -1
  1771. package/node_modules/@ktx/context/dist/wiki/tools/wiki-read.tool.test.js +0 -66
  1772. package/node_modules/@ktx/context/dist/wiki/tools/wiki-remove.tool.d.ts +0 -28
  1773. package/node_modules/@ktx/context/dist/wiki/tools/wiki-remove.tool.js +0 -85
  1774. package/node_modules/@ktx/context/dist/wiki/tools/wiki-remove.tool.test.d.ts +0 -1
  1775. package/node_modules/@ktx/context/dist/wiki/tools/wiki-remove.tool.test.js +0 -95
  1776. package/node_modules/@ktx/context/dist/wiki/tools/wiki-search.tool.d.ts +0 -49
  1777. package/node_modules/@ktx/context/dist/wiki/tools/wiki-search.tool.js +0 -51
  1778. package/node_modules/@ktx/context/dist/wiki/tools/wiki-search.tool.test.d.ts +0 -1
  1779. package/node_modules/@ktx/context/dist/wiki/tools/wiki-search.tool.test.js +0 -35
  1780. package/node_modules/@ktx/context/dist/wiki/tools/wiki-write.tool.d.ts +0 -80
  1781. package/node_modules/@ktx/context/dist/wiki/tools/wiki-write.tool.js +0 -210
  1782. package/node_modules/@ktx/context/dist/wiki/tools/wiki-write.tool.test.d.ts +0 -1
  1783. package/node_modules/@ktx/context/dist/wiki/tools/wiki-write.tool.test.js +0 -264
  1784. package/node_modules/@ktx/context/dist/wiki/types.d.ts +0 -50
  1785. package/node_modules/@ktx/context/dist/wiki/types.js +0 -1
  1786. package/node_modules/@ktx/context/dist/wiki/wiki-ref-validation.d.ts +0 -17
  1787. package/node_modules/@ktx/context/dist/wiki/wiki-ref-validation.test.d.ts +0 -1
  1788. package/node_modules/@ktx/context/dist/wiki/wiki-ref-validation.test.js +0 -64
  1789. package/node_modules/@ktx/context/package.json +0 -122
  1790. package/node_modules/@ktx/context/skills/historic_sql_patterns/SKILL.md +0 -91
  1791. package/node_modules/@ktx/context/skills/historic_sql_table_digest/SKILL.md +0 -89
  1792. package/node_modules/@ktx/context/skills/sl/SKILL.md +0 -247
  1793. package/node_modules/@ktx/llm/dist/embedding-health.js +0 -36
  1794. package/node_modules/@ktx/llm/dist/embedding-health.test.d.ts +0 -1
  1795. package/node_modules/@ktx/llm/dist/embedding-health.test.js +0 -72
  1796. package/node_modules/@ktx/llm/dist/embedding-provider.test.d.ts +0 -1
  1797. package/node_modules/@ktx/llm/dist/embedding-provider.test.js +0 -84
  1798. package/node_modules/@ktx/llm/dist/index.d.ts +0 -11
  1799. package/node_modules/@ktx/llm/dist/index.js +0 -6
  1800. package/node_modules/@ktx/llm/dist/message-builder.test.d.ts +0 -1
  1801. package/node_modules/@ktx/llm/dist/message-builder.test.js +0 -127
  1802. package/node_modules/@ktx/llm/dist/model-health.d.ts +0 -18
  1803. package/node_modules/@ktx/llm/dist/model-health.test.d.ts +0 -1
  1804. package/node_modules/@ktx/llm/dist/model-health.test.js +0 -55
  1805. package/node_modules/@ktx/llm/dist/model-provider.d.ts +0 -22
  1806. package/node_modules/@ktx/llm/dist/model-provider.js +0 -150
  1807. package/node_modules/@ktx/llm/dist/model-provider.test.d.ts +0 -1
  1808. package/node_modules/@ktx/llm/dist/model-provider.test.js +0 -246
  1809. package/node_modules/@ktx/llm/dist/package-exports.test.d.ts +0 -1
  1810. package/node_modules/@ktx/llm/dist/package-exports.test.js +0 -17
  1811. package/node_modules/@ktx/llm/dist/repair.test.d.ts +0 -1
  1812. package/node_modules/@ktx/llm/dist/repair.test.js +0 -78
  1813. package/node_modules/@ktx/llm/dist/types.d.ts +0 -105
  1814. package/node_modules/@ktx/llm/package.json +0 -20
  1815. /package/{node_modules/@ktx/connector-postgres/dist → dist/connectors/postgres}/historic-sql-query-client.js +0 -0
  1816. /package/{node_modules/@ktx/context/dist → dist/context}/connections/connection-type.js +0 -0
  1817. /package/{node_modules/@ktx/context/dist → dist/context}/connections/local-query-executor.d.ts +0 -0
  1818. /package/{node_modules/@ktx/context/dist → dist/context}/connections/local-warehouse-descriptor.d.ts +0 -0
  1819. /package/{node_modules/@ktx/context/dist → dist/context}/connections/postgres-query-executor.d.ts +0 -0
  1820. /package/{node_modules/@ktx/context/dist → dist/context}/connections/query-executor.js +0 -0
  1821. /package/{node_modules/@ktx/context/dist → dist/context}/connections/read-only-sql.d.ts +0 -0
  1822. /package/{node_modules/@ktx/context/dist → dist/context}/connections/read-only-sql.js +0 -0
  1823. /package/{node_modules/@ktx/context/dist → dist/context}/core/config.js +0 -0
  1824. /package/{node_modules/@ktx/context/dist → dist/context}/core/embedding.d.ts +0 -0
  1825. /package/dist/{admin-reindex.test.d.ts → context/core/embedding.js} +0 -0
  1826. /package/{node_modules/@ktx/context/dist → dist/context}/core/file-store.d.ts +0 -0
  1827. /package/dist/{admin.test.d.ts → context/core/file-store.js} +0 -0
  1828. /package/{node_modules/@ktx/context/dist → dist/context}/core/git-env.d.ts +0 -0
  1829. /package/{node_modules/@ktx/context/dist → dist/context}/core/git-env.js +0 -0
  1830. /package/{node_modules/@ktx/context/dist → dist/context}/core/git.service.d.ts +0 -0
  1831. /package/{node_modules/@ktx/context/dist → dist/context}/core/git.service.js +0 -0
  1832. /package/{node_modules/@ktx/context/dist → dist/context}/core/session-worktree.service.js +0 -0
  1833. /package/dist/{cli-program.test.d.ts → context/index-sync/types.js} +0 -0
  1834. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/action-identity.js +0 -0
  1835. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/dbt/chunk.d.ts +0 -0
  1836. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/dbt/chunk.js +0 -0
  1837. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/dbt/dbt.adapter.d.ts +0 -0
  1838. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/dbt/dbt.adapter.js +0 -0
  1839. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/dbt/detect.d.ts +0 -0
  1840. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/dbt/detect.js +0 -0
  1841. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/dbt/fetch.d.ts +0 -0
  1842. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/dbt/fetch.js +0 -0
  1843. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/fake/fake.adapter.d.ts +0 -0
  1844. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/fake/fake.adapter.js +0 -0
  1845. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/bigquery-query-history-reader.d.ts +0 -0
  1846. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/buckets.d.ts +0 -0
  1847. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/buckets.js +0 -0
  1848. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/chunk-unified.d.ts +0 -0
  1849. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/detect.d.ts +0 -0
  1850. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/detect.js +0 -0
  1851. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/errors.d.ts +0 -0
  1852. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/errors.js +0 -0
  1853. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/historic-sql.adapter.d.ts +0 -0
  1854. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/historic-sql.adapter.js +0 -0
  1855. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/postgres-pgss-reader.d.ts +0 -0
  1856. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/postgres-pgss-reader.js +0 -0
  1857. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/redaction.d.ts +0 -0
  1858. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/redaction.js +0 -0
  1859. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/snowflake-query-history-reader.d.ts +0 -0
  1860. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/snowflake-query-history-reader.js +0 -0
  1861. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/stage-unified.js +0 -0
  1862. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/historic-sql/types.js +0 -0
  1863. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/live-database/chunk.d.ts +0 -0
  1864. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/live-database/chunk.js +0 -0
  1865. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/live-database/live-database.adapter.d.ts +0 -0
  1866. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/live-database/manifest.js +0 -0
  1867. /package/dist/{cli-project.test.d.ts → context/ingest/adapters/live-database/types.js} +0 -0
  1868. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/chunk.d.ts +0 -0
  1869. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/chunk.js +0 -0
  1870. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/client.d.ts +0 -0
  1871. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/client.js +0 -0
  1872. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/daemon-table-identifier-parser.d.ts +0 -0
  1873. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/daemon-table-identifier-parser.js +0 -0
  1874. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/detect.d.ts +0 -0
  1875. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/detect.js +0 -0
  1876. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/evidence-documents.d.ts +0 -0
  1877. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/evidence-documents.js +0 -0
  1878. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/fetch-report.d.ts +0 -0
  1879. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/fetch-report.js +0 -0
  1880. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/fetch.js +0 -0
  1881. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/local-runtime-store.js +0 -0
  1882. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/looker.adapter.d.ts +0 -0
  1883. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/looker.adapter.js +0 -0
  1884. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/target-connections.d.ts +0 -0
  1885. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/looker/target-connections.js +0 -0
  1886. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/chunk.d.ts +0 -0
  1887. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/chunk.js +0 -0
  1888. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/detect.d.ts +0 -0
  1889. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/detect.js +0 -0
  1890. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/fetch.d.ts +0 -0
  1891. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/fetch.js +0 -0
  1892. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/graph.d.ts +0 -0
  1893. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/graph.js +0 -0
  1894. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/lookml.adapter.d.ts +0 -0
  1895. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/lookml.adapter.js +0 -0
  1896. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/parse.d.ts +0 -0
  1897. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/lookml/parse.js +0 -0
  1898. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/card-references.d.ts +0 -0
  1899. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/card-references.js +0 -0
  1900. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/chunk.d.ts +0 -0
  1901. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/chunk.js +0 -0
  1902. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/client-port.js +0 -0
  1903. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/detect.d.ts +0 -0
  1904. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/detect.js +0 -0
  1905. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/fanout-planner.js +0 -0
  1906. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/fetch-scope.d.ts +0 -0
  1907. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/fetch-scope.js +0 -0
  1908. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/fetch.d.ts +0 -0
  1909. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/fetch.js +0 -0
  1910. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/metabase.adapter.d.ts +0 -0
  1911. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metabase/metabase.adapter.js +0 -0
  1912. /package/dist/{command-tree.test.d.ts → context/ingest/adapters/metabase/source-state-port.js} +0 -0
  1913. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/chunk.d.ts +0 -0
  1914. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/chunk.js +0 -0
  1915. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/detect.d.ts +0 -0
  1916. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/detect.js +0 -0
  1917. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/fetch.d.ts +0 -0
  1918. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/fetch.js +0 -0
  1919. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/graph.d.ts +0 -0
  1920. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/graph.js +0 -0
  1921. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/metricflow.adapter.d.ts +0 -0
  1922. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/metricflow.adapter.js +0 -0
  1923. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/parse.js +0 -0
  1924. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/projection-config.d.ts +0 -0
  1925. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/metricflow/projection-config.js +0 -0
  1926. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/detect.d.ts +0 -0
  1927. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/detect.js +0 -0
  1928. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/fetch.d.ts +0 -0
  1929. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/fetch.js +0 -0
  1930. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/local-state-store.d.ts +0 -0
  1931. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/local-state-store.js +0 -0
  1932. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/notion.adapter.d.ts +0 -0
  1933. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/notion.adapter.js +0 -0
  1934. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/pull-config.d.ts +0 -0
  1935. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/pull-config.js +0 -0
  1936. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/types.d.ts +0 -0
  1937. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/adapters/notion/types.js +0 -0
  1938. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/artifact-gates.js +0 -0
  1939. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/canonical-pins.d.ts +0 -0
  1940. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/canonical-pins.js +0 -0
  1941. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/clustering/kmeans.d.ts +0 -0
  1942. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/clustering/kmeans.js +0 -0
  1943. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/context-candidates/embedding-text.d.ts +0 -0
  1944. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/context-candidates/embedding-text.js +0 -0
  1945. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/context-candidates/store.d.ts +0 -0
  1946. /package/dist/{commands/mcp-commands.test.d.ts → context/ingest/context-candidates/store.js} +0 -0
  1947. /package/dist/{commands/sql-commands.test.d.ts → context/ingest/context-candidates/types.js} +0 -0
  1948. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/context-evidence/store.d.ts +0 -0
  1949. /package/dist/{connection.test.d.ts → context/ingest/context-evidence/store.js} +0 -0
  1950. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/context-evidence/types.d.ts +0 -0
  1951. /package/dist/{context-build-view.test.d.ts → context/ingest/context-evidence/types.js} +0 -0
  1952. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/diff-set.service.d.ts +0 -0
  1953. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/diff-set.service.js +0 -0
  1954. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/final-gate-repair.js +0 -0
  1955. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/finalization-scope.js +0 -0
  1956. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/git-env.d.ts +0 -0
  1957. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/git-env.js +0 -0
  1958. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/ingest-bundle.runner.d.ts +0 -0
  1959. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/isolated-diff/patch-integrator.js +0 -0
  1960. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/isolated-diff/textual-conflict-resolver.js +0 -0
  1961. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/isolated-diff/work-unit-executor.d.ts +0 -0
  1962. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/isolated-diff/work-unit-executor.js +0 -0
  1963. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/interactive-render.d.ts +0 -0
  1964. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/interactive-render.js +0 -0
  1965. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/known-errors.d.ts +0 -0
  1966. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/known-errors.js +0 -0
  1967. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/live-buffer.d.ts +0 -0
  1968. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/live-buffer.js +0 -0
  1969. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/render.d.ts +0 -0
  1970. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/render.js +0 -0
  1971. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/summary.d.ts +0 -0
  1972. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/summary.js +0 -0
  1973. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/types.d.ts +0 -0
  1974. /package/dist/{database-tree-picker.test.d.ts → context/ingest/memory-flow/types.js} +0 -0
  1975. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/view-model.d.ts +0 -0
  1976. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/memory-flow/view-model.js +0 -0
  1977. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/parsed-target-table.d.ts +0 -0
  1978. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/parsed-target-table.js +0 -0
  1979. /package/dist/{demo-assets.test.d.ts → context/ingest/ports.js} +0 -0
  1980. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/source-adapter-registry.d.ts +0 -0
  1981. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/source-adapter-registry.js +0 -0
  1982. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/sqlite-bundle-ingest-store.d.ts +0 -0
  1983. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/sqlite-bundle-ingest-store.js +0 -0
  1984. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/sqlite-local-ingest-store.d.ts +0 -0
  1985. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/sqlite-local-ingest-store.js +0 -0
  1986. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/stages/build-reconcile-context.js +0 -0
  1987. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/stages/stage-1-stage-raw-files.d.ts +0 -0
  1988. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/stages/stage-1-stage-raw-files.js +0 -0
  1989. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/stages/stage-4-reconciliation.js +0 -0
  1990. /package/dist/{demo-metrics.test.d.ts → context/ingest/stages/stage-index.types.js} +0 -0
  1991. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/stages/validate-wu-sources.js +0 -0
  1992. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/emit-artifact-resolution.tool.d.ts +0 -0
  1993. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/emit-artifact-resolution.tool.js +0 -0
  1994. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/emit-conflict-resolution.tool.d.ts +0 -0
  1995. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/emit-conflict-resolution.tool.js +0 -0
  1996. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/emit-eviction-decision.tool.d.ts +0 -0
  1997. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/emit-eviction-decision.tool.js +0 -0
  1998. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/emit-unmapped-fallback.tool.d.ts +0 -0
  1999. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/emit-unmapped-fallback.tool.js +0 -0
  2000. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/eviction-list.tool.d.ts +0 -0
  2001. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/eviction-list.tool.js +0 -0
  2002. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/read-raw-file.tool.d.ts +0 -0
  2003. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/read-raw-file.tool.js +0 -0
  2004. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/read-raw-span.tool.d.ts +0 -0
  2005. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/read-raw-span.tool.js +0 -0
  2006. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/stage-diff.tool.d.ts +0 -0
  2007. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/stage-diff.tool.js +0 -0
  2008. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/stage-list.tool.d.ts +0 -0
  2009. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/stage-list.tool.js +0 -0
  2010. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/tool-call-logger.js +0 -0
  2011. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/tool-transcript-summary.d.ts +0 -0
  2012. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/tool-transcript-summary.js +0 -0
  2013. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/tools/verification-ledger.tool.js +0 -0
  2014. /package/{node_modules/@ktx/context/dist/ingest/tools/warehouse-verification/index.js → dist/context/ingest/tools/warehouse-verification/create-warehouse-verification-tools.js} +0 -0
  2015. /package/{node_modules/@ktx/context/dist/index-sync → dist/context/ingest}/types.js +0 -0
  2016. /package/{node_modules/@ktx/context/dist → dist/context}/ingest/wiki-sl-ref-repair.js +0 -0
  2017. /package/{node_modules/@ktx/context/dist → dist/context}/llm/claude-code-models.d.ts +0 -0
  2018. /package/{node_modules/@ktx/context/dist → dist/context}/llm/claude-code-models.js +0 -0
  2019. /package/{node_modules/@ktx/context/dist → dist/context}/llm/embedding-port.js +0 -0
  2020. /package/{node_modules/@ktx/context/dist → dist/context}/llm/runtime-port.js +0 -0
  2021. /package/dist/{doctor.test.d.ts → context/mcp/types.js} +0 -0
  2022. /package/{node_modules/@ktx/context/dist → dist/context}/memory/local-memory-runs.d.ts +0 -0
  2023. /package/{node_modules/@ktx/context/dist → dist/context}/memory/local-memory-runs.js +0 -0
  2024. /package/{node_modules/@ktx/context/dist → dist/context}/memory/memory-runs.js +0 -0
  2025. /package/dist/{embedding-resolution.test.d.ts → context/memory/types.js} +0 -0
  2026. /package/{node_modules/@ktx/context/dist → dist/context}/project/local-git-file-store.js +0 -0
  2027. /package/{node_modules/@ktx/context/dist → dist/context}/project/local-state-db.d.ts +0 -0
  2028. /package/{node_modules/@ktx/context/dist → dist/context}/project/local-state-db.js +0 -0
  2029. /package/{node_modules/@ktx/context/dist → dist/context}/scan/embedding-text.js +0 -0
  2030. /package/{node_modules/@ktx/context/dist → dist/context}/scan/enrichment-summary.d.ts +0 -0
  2031. /package/{node_modules/@ktx/context/dist → dist/context}/scan/enrichment-summary.js +0 -0
  2032. /package/dist/{example-smoke.test.d.ts → context/scan/enrichment-types.js} +0 -0
  2033. /package/{node_modules/@ktx/context/dist → dist/context}/scan/relationship-benchmark-report.d.ts +0 -0
  2034. /package/{node_modules/@ktx/context/dist → dist/context}/scan/relationship-benchmark-report.js +0 -0
  2035. /package/{node_modules/@ktx/context/dist → dist/context}/scan/relationship-formal-metadata.d.ts +0 -0
  2036. /package/{node_modules/@ktx/context/dist → dist/context}/scan/relationship-formal-metadata.js +0 -0
  2037. /package/{node_modules/@ktx/context/dist → dist/context}/scan/relationship-graph-resolver.js +0 -0
  2038. /package/{node_modules/@ktx/context/dist → dist/context}/scan/relationship-locality.d.ts +0 -0
  2039. /package/{node_modules/@ktx/context/dist → dist/context}/scan/relationship-locality.js +0 -0
  2040. /package/{node_modules/@ktx/context/dist → dist/context}/scan/sqlite-local-enrichment-state-store.d.ts +0 -0
  2041. /package/{node_modules/@ktx/context/dist → dist/context}/scan/sqlite-local-enrichment-state-store.js +0 -0
  2042. /package/{node_modules/@ktx/context/dist → dist/context}/scan/types.js +0 -0
  2043. /package/{node_modules/@ktx/context/dist → dist/context}/search/hybrid-search-core.d.ts +0 -0
  2044. /package/{node_modules/@ktx/context/dist → dist/context}/search/hybrid-search-core.js +0 -0
  2045. /package/{node_modules/@ktx/context/dist → dist/context}/search/query.d.ts +0 -0
  2046. /package/{node_modules/@ktx/context/dist → dist/context}/search/query.js +0 -0
  2047. /package/{node_modules/@ktx/context/dist → dist/context}/search/rrf.d.ts +0 -0
  2048. /package/{node_modules/@ktx/context/dist → dist/context}/search/rrf.js +0 -0
  2049. /package/dist/{index.test.d.ts → context/search/types.js} +0 -0
  2050. /package/{node_modules/@ktx/context/dist → dist/context}/sl/description-normalization.d.ts +0 -0
  2051. /package/{node_modules/@ktx/context/dist → dist/context}/sl/description-normalization.js +0 -0
  2052. /package/{node_modules/@ktx/context/dist → dist/context}/sl/descriptions.d.ts +0 -0
  2053. /package/{node_modules/@ktx/context/dist → dist/context}/sl/descriptions.js +0 -0
  2054. /package/{node_modules/@ktx/context/dist → dist/context}/sl/dictionary-search.js +0 -0
  2055. /package/{node_modules/@ktx/context/dist → dist/context}/sl/ports.d.ts +0 -0
  2056. /package/dist/{ingest-query-executor.test.d.ts → context/sl/ports.js} +0 -0
  2057. /package/{node_modules/@ktx/context/dist → dist/context}/sl/schemas.d.ts +0 -0
  2058. /package/{node_modules/@ktx/context/dist → dist/context}/sl/schemas.js +0 -0
  2059. /package/dist/{ingest-report-file.test.d.ts → context/sl/sl-validator.port.js} +0 -0
  2060. /package/{node_modules/@ktx/context/dist → dist/context}/sl/sqlite-sl-sources-index.d.ts +0 -0
  2061. /package/{node_modules/@ktx/context/dist → dist/context}/sl/sqlite-sl-sources-index.js +0 -0
  2062. /package/{node_modules/@ktx/context/dist → dist/context}/sl/tools/connection-id-schema.d.ts +0 -0
  2063. /package/{node_modules/@ktx/context/dist → dist/context}/sl/tools/connection-id-schema.js +0 -0
  2064. /package/{node_modules/@ktx/context/dist → dist/context}/sl/tools/sl-discover.tool.js +0 -0
  2065. /package/{node_modules/@ktx/context/dist → dist/context}/sl/tools/sl-read-source.tool.js +0 -0
  2066. /package/dist/{ingest-viz.test.d.ts → context/sl/types.js} +0 -0
  2067. /package/{node_modules/@ktx/context/dist → dist/context}/sql-analysis/http-sql-analysis-port.d.ts +0 -0
  2068. /package/{node_modules/@ktx/context/dist → dist/context}/sql-analysis/http-sql-analysis-port.js +0 -0
  2069. /package/dist/{ingest.test.d.ts → context/sql-analysis/ports.js} +0 -0
  2070. /package/{node_modules/@ktx/context/dist → dist/context}/tools/action-raw-paths.d.ts +0 -0
  2071. /package/{node_modules/@ktx/context/dist → dist/context}/tools/action-raw-paths.js +0 -0
  2072. /package/{node_modules/@ktx/context/dist → dist/context}/tools/action-target-connection.d.ts +0 -0
  2073. /package/{node_modules/@ktx/context/dist → dist/context}/tools/action-target-connection.js +0 -0
  2074. /package/{node_modules/@ktx/context/dist → dist/context}/tools/authors.d.ts +0 -0
  2075. /package/{node_modules/@ktx/context/dist → dist/context}/tools/authors.js +0 -0
  2076. /package/{node_modules/@ktx/context/dist → dist/context}/tools/context-candidate-mark.tool.js +0 -0
  2077. /package/{node_modules/@ktx/context/dist → dist/context}/tools/context-evidence-ids.d.ts +0 -0
  2078. /package/{node_modules/@ktx/context/dist → dist/context}/tools/context-evidence-ids.js +0 -0
  2079. /package/{node_modules/@ktx/context/dist → dist/context}/tools/context-evidence-neighbors.tool.d.ts +0 -0
  2080. /package/{node_modules/@ktx/context/dist → dist/context}/tools/context-evidence-neighbors.tool.js +0 -0
  2081. /package/{node_modules/@ktx/context/dist → dist/context}/tools/context-evidence-read.tool.d.ts +0 -0
  2082. /package/{node_modules/@ktx/context/dist → dist/context}/tools/context-evidence-read.tool.js +0 -0
  2083. /package/dist/{io/logger.test.d.ts → context/tools/context-evidence-tool-store.js} +0 -0
  2084. /package/{node_modules/@ktx/context/dist → dist/context}/tools/context-ingest-metadata.d.ts +0 -0
  2085. /package/{node_modules/@ktx/context/dist → dist/context}/tools/context-ingest-metadata.js +0 -0
  2086. /package/{node_modules/@ktx/context/dist → dist/context}/tools/sql-edit-replacer.d.ts +0 -0
  2087. /package/{node_modules/@ktx/context/dist → dist/context}/tools/sql-edit-replacer.js +0 -0
  2088. /package/dist/{io/mode.test.d.ts → context/tools/tool-session.js} +0 -0
  2089. /package/{node_modules/@ktx/context/dist → dist/context}/wiki/knowledge-search-text.d.ts +0 -0
  2090. /package/{node_modules/@ktx/context/dist → dist/context}/wiki/knowledge-search-text.js +0 -0
  2091. /package/dist/{io/print-list.test.d.ts → context/wiki/ports.js} +0 -0
  2092. /package/{node_modules/@ktx/context/dist → dist/context}/wiki/sqlite-knowledge-index.d.ts +0 -0
  2093. /package/{node_modules/@ktx/context/dist → dist/context}/wiki/sqlite-knowledge-index.js +0 -0
  2094. /package/dist/{knowledge.test.d.ts → context/wiki/types.js} +0 -0
  2095. /package/{node_modules/@ktx/context/dist → dist/context}/wiki/wiki-ref-validation.js +0 -0
  2096. /package/{node_modules/@ktx/llm/dist → dist/llm}/embedding-health.d.ts +0 -0
  2097. /package/{node_modules/@ktx/llm/dist → dist/llm}/embedding-provider.d.ts +0 -0
  2098. /package/{node_modules/@ktx/llm/dist → dist/llm}/embedding-provider.js +0 -0
  2099. /package/{node_modules/@ktx/llm/dist → dist/llm}/message-builder.d.ts +0 -0
  2100. /package/{node_modules/@ktx/llm/dist → dist/llm}/message-builder.js +0 -0
  2101. /package/{node_modules/@ktx/llm/dist → dist/llm}/model-health.js +0 -0
  2102. /package/{node_modules/@ktx/llm/dist → dist/llm}/repair.d.ts +0 -0
  2103. /package/{node_modules/@ktx/llm/dist → dist/llm}/repair.js +0 -0
  2104. /package/{node_modules/@ktx/llm/dist → dist/llm}/types.js +0 -0
  2105. /package/{node_modules/@ktx/context → dist}/prompts/memory_agent_backfill.md +0 -0
  2106. /package/{node_modules/@ktx/context → dist}/prompts/memory_agent_bundle_ingest_reconcile.md +0 -0
  2107. /package/{node_modules/@ktx/context → dist}/prompts/memory_agent_bundle_ingest_work_unit.md +0 -0
  2108. /package/{node_modules/@ktx/context → dist}/prompts/memory_agent_external_ingest.md +0 -0
  2109. /package/{node_modules/@ktx/context → dist}/prompts/memory_agent_research.md +0 -0
  2110. /package/{node_modules/@ktx/context → dist}/prompts/skills/light_extraction.md +0 -0
  2111. /package/{node_modules/@ktx/context → dist}/prompts/skills/page_triage_classifier.md +0 -0
  2112. /package/{node_modules/@ktx/context → dist}/skills/_shared/identifier-verification.md +0 -0
  2113. /package/{node_modules/@ktx/context → dist}/skills/dbt_ingest/SKILL.md +0 -0
  2114. /package/{node_modules/@ktx/context → dist}/skills/ingest_triage/SKILL.md +0 -0
  2115. /package/{node_modules/@ktx/context → dist}/skills/live_database_ingest/SKILL.md +0 -0
  2116. /package/{node_modules/@ktx/context → dist}/skills/looker_ingest/SKILL.md +0 -0
  2117. /package/{node_modules/@ktx/context → dist}/skills/lookml_ingest/SKILL.md +0 -0
  2118. /package/{node_modules/@ktx/context → dist}/skills/metabase_ingest/SKILL.md +0 -0
  2119. /package/{node_modules/@ktx/context → dist}/skills/metricflow_ingest/SKILL.md +0 -0
  2120. /package/{node_modules/@ktx/context → dist}/skills/notion_synthesize/SKILL.md +0 -0
  2121. /package/{node_modules/@ktx/context → dist}/skills/sl_capture/SKILL.md +0 -0
  2122. /package/{node_modules/@ktx/context → dist}/skills/wiki_capture/SKILL.md +0 -0
@@ -1,1883 +0,0 @@
1
- import { mkdtemp, readFile, rm, stat, writeFile } from 'node:fs/promises';
2
- import { tmpdir } from 'node:os';
3
- import { join, resolve } from 'node:path';
4
- import { initKtxProject, parseKtxProjectConfig, readKtxSetupState, writeKtxSetupState } from '@ktx/context/project';
5
- import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
6
- import { runKtxSetupDatabasesStep, } from './setup-databases.js';
7
- function makeIo() {
8
- let stdout = '';
9
- let stderr = '';
10
- return {
11
- io: {
12
- stdout: {
13
- isTTY: true,
14
- write: (chunk) => {
15
- stdout += chunk;
16
- },
17
- },
18
- stderr: {
19
- write: (chunk) => {
20
- stderr += chunk;
21
- },
22
- },
23
- },
24
- stdout: () => stdout,
25
- stderr: () => stderr,
26
- };
27
- }
28
- function makePickerStubs(options = {}) {
29
- const queue = [...(options.scopes ?? [])];
30
- const scopeCalls = [];
31
- return {
32
- scopeCalls,
33
- pickDatabaseScope: vi.fn(async (args) => {
34
- scopeCalls.push(args);
35
- const next = queue.shift();
36
- if (next === undefined || next === 'enable-all') {
37
- const enabledTables = args.discovered.map((t) => `${t.schema}.${t.name}`);
38
- const activeSchemas = args.supportsSchemaScope
39
- ? Array.from(new Set(args.discovered.map((t) => t.schema)))
40
- : [];
41
- return { kind: 'selected', activeSchemas, enabledTables };
42
- }
43
- if (next === 'back') {
44
- return { kind: 'back' };
45
- }
46
- return {
47
- kind: 'selected',
48
- activeSchemas: args.supportsSchemaScope ? next.schemas : [],
49
- enabledTables: next.tables,
50
- };
51
- }),
52
- };
53
- }
54
- function makePromptAdapter(options) {
55
- const multiselectValues = [...(options.multiselectValues ?? [])];
56
- const selectValues = [...(options.selectValues ?? [])];
57
- const textValues = [...(options.textValues ?? [])];
58
- const passwordValues = [...(options.passwordValues ?? [])];
59
- return {
60
- multiselect: vi.fn(async () => multiselectValues.shift() ?? ['postgres']),
61
- select: vi.fn(async ({ message }) => {
62
- if (message.includes('How much database context should KTX build?')) {
63
- const nextValue = selectValues[0];
64
- return nextValue === 'fast' || nextValue === 'deep' || nextValue === 'back'
65
- ? (selectValues.shift() ?? 'fast')
66
- : 'fast';
67
- }
68
- return selectValues.shift() ?? 'finish';
69
- }),
70
- text: vi.fn(async () => (textValues.length > 0 ? textValues.shift() : '')),
71
- password: vi.fn(async () => (passwordValues.length > 0 ? passwordValues.shift() : '')),
72
- cancel: vi.fn(),
73
- };
74
- }
75
- function connectionNamePrompt(label) {
76
- return `Name this ${label} connection\nKTX will use this short name in commands and config. You can rename it now.`;
77
- }
78
- function textInputPrompt(message) {
79
- const normalized = message.replace(/\n+$/, '');
80
- if (!normalized.includes('\n')) {
81
- return `${normalized}\n│ Press Escape to go back.\n│`;
82
- }
83
- const [title, ...bodyLines] = normalized.split('\n');
84
- return `${title}\n│\n│ ${bodyLines.join('\n│ ')}\n│ Press Escape to go back.\n│`;
85
- }
86
- describe('setup databases step', () => {
87
- let tempDir;
88
- beforeEach(async () => {
89
- tempDir = await mkdtemp(join(tmpdir(), 'ktx-setup-databases-'));
90
- await initKtxProject({ projectDir: tempDir });
91
- });
92
- afterEach(async () => {
93
- await rm(tempDir, { recursive: true, force: true });
94
- });
95
- it('shows every supported database in the interactive checklist', async () => {
96
- const prompts = makePromptAdapter({ multiselectValues: [['back']] });
97
- const result = await runKtxSetupDatabasesStep({ projectDir: tempDir, inputMode: 'auto', skipDatabases: false, databaseSchemas: [] }, makeIo().io, { prompts });
98
- expect(result.status).toBe('back');
99
- expect(prompts.multiselect).toHaveBeenCalledWith({
100
- message: 'Which databases should KTX connect to?\n' +
101
- 'Use Up/Down to move, Space to select or unselect, Enter to confirm, Escape to go back, or Ctrl+C to exit.',
102
- options: [
103
- { value: 'sqlite', label: 'SQLite' },
104
- { value: 'postgres', label: 'PostgreSQL' },
105
- { value: 'mysql', label: 'MySQL' },
106
- { value: 'clickhouse', label: 'ClickHouse' },
107
- { value: 'sqlserver', label: 'SQL Server' },
108
- { value: 'bigquery', label: 'BigQuery' },
109
- { value: 'snowflake', label: 'Snowflake' },
110
- ],
111
- required: true,
112
- });
113
- });
114
- it('lets Back from connection method selection return to database selection when adding a new driver', async () => {
115
- const prompts = makePromptAdapter({
116
- multiselectValues: [['postgres'], ['back']],
117
- selectValues: ['back'],
118
- });
119
- const result = await runKtxSetupDatabasesStep({ projectDir: tempDir, inputMode: 'auto', skipDatabases: false, databaseSchemas: [] }, makeIo().io, { prompts });
120
- expect(result.status).toBe('back');
121
- expect(prompts.select).toHaveBeenCalledWith({
122
- message: 'How do you want to connect to PostgreSQL?',
123
- options: [
124
- { value: 'url', label: 'Paste a connection URL' },
125
- { value: 'fields', label: 'Enter connection details (host, port, database, user)' },
126
- { value: 'back', label: 'Back' },
127
- ],
128
- });
129
- expect(prompts.multiselect).toHaveBeenCalledTimes(2);
130
- expect(vi.mocked(prompts.multiselect).mock.calls[1]?.[0].message).toBe('Which databases should KTX connect to?\n' +
131
- 'Use Up/Down to move, Space to select or unselect, Enter to confirm, Escape to go back, or Ctrl+C to exit.');
132
- });
133
- it('offers connection URL paste first for URL-capable databases', async () => {
134
- const cases = [
135
- { driver: 'postgres', label: 'PostgreSQL' },
136
- { driver: 'mysql', label: 'MySQL' },
137
- { driver: 'clickhouse', label: 'ClickHouse' },
138
- { driver: 'sqlserver', label: 'SQL Server' },
139
- ];
140
- for (const testCase of cases) {
141
- const prompts = makePromptAdapter({
142
- selectValues: ['back'],
143
- });
144
- const result = await runKtxSetupDatabasesStep({
145
- projectDir: tempDir,
146
- inputMode: 'auto',
147
- databaseDrivers: [testCase.driver],
148
- skipDatabases: false,
149
- databaseSchemas: [],
150
- }, makeIo().io, { prompts });
151
- expect(result.status).toBe('back');
152
- expect(prompts.select).toHaveBeenCalledWith({
153
- message: `How do you want to connect to ${testCase.label}?`,
154
- options: [
155
- { value: 'url', label: 'Paste a connection URL' },
156
- { value: 'fields', label: 'Enter connection details (host, port, database, user)' },
157
- { value: 'back', label: 'Back' },
158
- ],
159
- });
160
- }
161
- });
162
- it('lets Back leave database setup when the driver came from flags', async () => {
163
- const prompts = makePromptAdapter({ selectValues: ['back'] });
164
- const result = await runKtxSetupDatabasesStep({
165
- projectDir: tempDir,
166
- inputMode: 'auto',
167
- databaseDrivers: ['postgres'],
168
- skipDatabases: false,
169
- databaseSchemas: [],
170
- }, makeIo().io, { prompts });
171
- expect(result.status).toBe('back');
172
- expect(prompts.multiselect).not.toHaveBeenCalled();
173
- expect(prompts.select).toHaveBeenCalledTimes(1);
174
- });
175
- it('labels existing database connections with the database type', async () => {
176
- await writeFile(join(tempDir, 'ktx.yaml'), [
177
- 'connections:',
178
- ' warehouse:',
179
- ' driver: postgres',
180
- ' url: env:DATABASE_URL',
181
- '',
182
- ].join('\n'), 'utf-8');
183
- const prompts = makePromptAdapter({ selectValues: ['back'] });
184
- const result = await runKtxSetupDatabasesStep({
185
- projectDir: tempDir,
186
- inputMode: 'auto',
187
- databaseDrivers: ['postgres'],
188
- skipDatabases: false,
189
- databaseSchemas: [],
190
- }, makeIo().io, { prompts });
191
- expect(result.status).toBe('back');
192
- expect(prompts.select).toHaveBeenCalledWith({
193
- message: 'Configure PostgreSQL',
194
- options: [
195
- { value: 'existing:warehouse', label: 'Keep existing PostgreSQL connection: warehouse' },
196
- { value: 'edit:warehouse', label: 'Edit PostgreSQL connection: warehouse' },
197
- { value: 'new', label: 'Add another PostgreSQL connection' },
198
- { value: 'back', label: 'Back' },
199
- ],
200
- });
201
- });
202
- it('uses a database-specific editable connection name for new interactive connections', async () => {
203
- const io = makeIo();
204
- const prompts = makePromptAdapter({
205
- selectValues: ['url'],
206
- textValues: ['', 'env:DATABASE_URL'],
207
- });
208
- const testConnection = vi.fn(async () => 0);
209
- const scanConnection = vi.fn(async () => 0);
210
- const result = await runKtxSetupDatabasesStep({
211
- projectDir: tempDir,
212
- inputMode: 'auto',
213
- databaseDrivers: ['postgres'],
214
- databaseSchemas: [],
215
- skipDatabases: false,
216
- }, io.io, { prompts, testConnection, scanConnection });
217
- expect(result.status).toBe('ready');
218
- expect(prompts.text).toHaveBeenNthCalledWith(1, {
219
- message: textInputPrompt(connectionNamePrompt('PostgreSQL')),
220
- placeholder: 'postgres-warehouse',
221
- initialValue: 'postgres-warehouse',
222
- });
223
- expect(testConnection).toHaveBeenCalledWith(tempDir, 'postgres-warehouse', expect.anything());
224
- expect(scanConnection).toHaveBeenCalledWith(tempDir, 'postgres-warehouse', expect.anything());
225
- const configText = await readFile(join(tempDir, 'ktx.yaml'), 'utf-8');
226
- const config = parseKtxProjectConfig(configText);
227
- expect(config.connections['postgres-warehouse']).toEqual({
228
- driver: 'postgres',
229
- url: 'env:DATABASE_URL',
230
- context: { depth: 'fast' },
231
- });
232
- });
233
- it('tells users Escape goes back in free-text connection prompts', async () => {
234
- const prompts = makePromptAdapter({
235
- selectValues: ['url'],
236
- textValues: ['', 'env:DATABASE_URL'],
237
- });
238
- const result = await runKtxSetupDatabasesStep({
239
- projectDir: tempDir,
240
- inputMode: 'auto',
241
- databaseDrivers: ['postgres'],
242
- databaseSchemas: [],
243
- skipDatabases: false,
244
- }, makeIo().io, {
245
- prompts,
246
- testConnection: vi.fn(async () => 0),
247
- scanConnection: vi.fn(async () => 0),
248
- });
249
- expect(result.status).toBe('ready');
250
- expect(prompts.text).toHaveBeenNthCalledWith(1, {
251
- message: textInputPrompt(connectionNamePrompt('PostgreSQL')),
252
- placeholder: 'postgres-warehouse',
253
- initialValue: 'postgres-warehouse',
254
- });
255
- expect(prompts.text).toHaveBeenNthCalledWith(2, {
256
- message: textInputPrompt('PostgreSQL connection URL'),
257
- });
258
- });
259
- it('uses clear setup prompts for every new database connection type', async () => {
260
- const cases = [
261
- {
262
- driver: 'sqlite',
263
- textValues: ['', './warehouse.sqlite'],
264
- expectedTextPrompts: [
265
- {
266
- message: connectionNamePrompt('SQLite'),
267
- placeholder: 'sqlite-local',
268
- initialValue: 'sqlite-local',
269
- },
270
- {
271
- message: 'SQLite database file\nEnter a relative or absolute path, for example ./warehouse.sqlite.',
272
- },
273
- ],
274
- },
275
- {
276
- driver: 'postgres',
277
- selectValues: ['url'],
278
- textValues: ['', 'env:DATABASE_URL'],
279
- expectedTextPrompts: [
280
- {
281
- message: connectionNamePrompt('PostgreSQL'),
282
- placeholder: 'postgres-warehouse',
283
- initialValue: 'postgres-warehouse',
284
- },
285
- {
286
- message: 'PostgreSQL connection URL',
287
- },
288
- ],
289
- },
290
- {
291
- driver: 'mysql',
292
- selectValues: ['url'],
293
- textValues: ['', 'env:MYSQL_DATABASE_URL'],
294
- expectedTextPrompts: [
295
- {
296
- message: connectionNamePrompt('MySQL'),
297
- placeholder: 'mysql-warehouse',
298
- initialValue: 'mysql-warehouse',
299
- },
300
- {
301
- message: 'MySQL connection URL',
302
- },
303
- ],
304
- },
305
- {
306
- driver: 'clickhouse',
307
- selectValues: ['url'],
308
- textValues: ['', 'env:CLICKHOUSE_URL'],
309
- expectedTextPrompts: [
310
- {
311
- message: connectionNamePrompt('ClickHouse'),
312
- placeholder: 'clickhouse-warehouse',
313
- initialValue: 'clickhouse-warehouse',
314
- },
315
- {
316
- message: 'ClickHouse connection URL',
317
- },
318
- ],
319
- },
320
- {
321
- driver: 'sqlserver',
322
- selectValues: ['url'],
323
- textValues: ['', 'env:SQLSERVER_DATABASE_URL'],
324
- expectedTextPrompts: [
325
- {
326
- message: connectionNamePrompt('SQL Server'),
327
- placeholder: 'sqlserver-warehouse',
328
- initialValue: 'sqlserver-warehouse',
329
- },
330
- {
331
- message: 'SQL Server connection URL',
332
- },
333
- ],
334
- },
335
- {
336
- driver: 'bigquery',
337
- selectValues: ['no'],
338
- textValues: ['', 'analytics', '/path/to/service-account.json', ''],
339
- expectedTextPrompts: [
340
- {
341
- message: connectionNamePrompt('BigQuery'),
342
- placeholder: 'bigquery-warehouse',
343
- initialValue: 'bigquery-warehouse',
344
- },
345
- {
346
- message: 'BigQuery dataset\nFor example analytics.',
347
- },
348
- {
349
- message: 'Path to service account JSON file',
350
- },
351
- {
352
- message: 'BigQuery location\nPress Enter for US, or enter a location like EU.',
353
- placeholder: 'US',
354
- initialValue: 'US',
355
- },
356
- ],
357
- },
358
- {
359
- driver: 'snowflake',
360
- selectValues: ['no'],
361
- textValues: ['', 'env:SNOWFLAKE_ACCOUNT', 'ANALYTICS_WH', 'ANALYTICS', '', 'env:SNOWFLAKE_USER', ''],
362
- passwordValues: ['env:SNOWFLAKE_PASSWORD'],
363
- expectedTextPrompts: [
364
- {
365
- message: connectionNamePrompt('Snowflake'),
366
- placeholder: 'snowflake-warehouse',
367
- initialValue: 'snowflake-warehouse',
368
- },
369
- {
370
- message: 'Snowflake account identifier',
371
- },
372
- {
373
- message: 'Snowflake warehouse\nFor example ANALYTICS_WH.',
374
- },
375
- {
376
- message: 'Snowflake database name',
377
- },
378
- {
379
- message: 'Snowflake schema\nPress Enter for PUBLIC, or enter a schema name.',
380
- placeholder: 'PUBLIC',
381
- initialValue: 'PUBLIC',
382
- },
383
- {
384
- message: 'Snowflake username',
385
- },
386
- {
387
- message: 'Snowflake role (optional)\nPress Enter to skip.',
388
- },
389
- ],
390
- expectedPasswordPrompts: [
391
- {
392
- message: 'Snowflake password',
393
- },
394
- ],
395
- },
396
- ];
397
- for (const testCase of cases) {
398
- const prompts = makePromptAdapter({
399
- selectValues: testCase.selectValues ?? ['new'],
400
- textValues: testCase.textValues,
401
- passwordValues: testCase.passwordValues,
402
- });
403
- const result = await runKtxSetupDatabasesStep({
404
- projectDir: tempDir,
405
- inputMode: 'auto',
406
- databaseDrivers: [testCase.driver],
407
- databaseSchemas: [],
408
- skipDatabases: false,
409
- }, makeIo().io, {
410
- prompts,
411
- testConnection: vi.fn(async () => 0),
412
- scanConnection: vi.fn(async () => 0),
413
- });
414
- expect(result.status).toBe('ready');
415
- expect(vi.mocked(prompts.text).mock.calls.map(([options]) => options)).toEqual(testCase.expectedTextPrompts.map((expectedPrompt) => ({
416
- ...expectedPrompt,
417
- message: textInputPrompt(expectedPrompt.message),
418
- })));
419
- if (testCase.expectedPasswordPrompts) {
420
- expect(vi.mocked(prompts.password).mock.calls.map(([options]) => options)).toEqual(testCase.expectedPasswordPrompts.map((expectedPrompt) => ({
421
- ...expectedPrompt,
422
- message: textInputPrompt(expectedPrompt.message),
423
- })));
424
- }
425
- }
426
- });
427
- it('lets Back from connection method selection return to database selection', async () => {
428
- const prompts = makePromptAdapter({
429
- multiselectValues: [['postgres'], ['back']],
430
- selectValues: ['back'],
431
- textValues: [''],
432
- });
433
- const testConnection = vi.fn(async () => 0);
434
- const scanConnection = vi.fn(async () => 0);
435
- const listSchemas = vi.fn(async () => []);
436
- const listTables = vi.fn(async () => []);
437
- const result = await runKtxSetupDatabasesStep({
438
- projectDir: tempDir,
439
- inputMode: 'auto',
440
- skipDatabases: false,
441
- databaseSchemas: [],
442
- disableQueryHistory: true,
443
- }, makeIo().io, { prompts, testConnection, scanConnection, listSchemas, listTables });
444
- expect(result.status).toBe('back');
445
- expect(prompts.select).toHaveBeenNthCalledWith(1, {
446
- message: 'How do you want to connect to PostgreSQL?',
447
- options: [
448
- { value: 'url', label: 'Paste a connection URL' },
449
- { value: 'fields', label: 'Enter connection details (host, port, database, user)' },
450
- { value: 'back', label: 'Back' },
451
- ],
452
- });
453
- expect(prompts.multiselect).toHaveBeenCalledTimes(2);
454
- expect(testConnection).not.toHaveBeenCalled();
455
- expect(scanConnection).not.toHaveBeenCalled();
456
- });
457
- it('shows a configured database menu instead of the type checklist when a database exists', async () => {
458
- await writeFile(join(tempDir, 'ktx.yaml'), [
459
- 'connections:',
460
- ' warehouse:',
461
- ' driver: postgres',
462
- ' url: env:DATABASE_URL',
463
- 'setup:',
464
- ' database_connection_ids:',
465
- ' - warehouse',
466
- '',
467
- ].join('\n'), 'utf-8');
468
- await writeKtxSetupState(tempDir, { completed_steps: ['databases'] });
469
- const prompts = makePromptAdapter({ multiselectValues: [['back']], selectValues: ['continue'] });
470
- const testConnection = vi.fn(async () => 0);
471
- const scanConnection = vi.fn(async () => 0);
472
- const result = await runKtxSetupDatabasesStep({
473
- projectDir: tempDir,
474
- inputMode: 'auto',
475
- skipDatabases: false,
476
- databaseSchemas: [],
477
- disableQueryHistory: true,
478
- }, makeIo().io, { prompts, testConnection, scanConnection });
479
- expect(result).toEqual({ status: 'ready', projectDir: tempDir, connectionIds: ['warehouse'] });
480
- expect(prompts.multiselect).not.toHaveBeenCalled();
481
- expect(prompts.select).toHaveBeenCalledWith({
482
- message: 'Databases configured: warehouse\nWhat would you like to do?',
483
- options: [
484
- { value: 'continue', label: 'Continue to context sources' },
485
- { value: 'edit', label: 'Edit an existing database' },
486
- { value: 'add', label: 'Add another database' },
487
- ],
488
- });
489
- expect(testConnection).not.toHaveBeenCalled();
490
- expect(scanConnection).not.toHaveBeenCalled();
491
- });
492
- it('preserves existing database ids when adding another database from the configured menu', async () => {
493
- await writeFile(join(tempDir, 'ktx.yaml'), [
494
- 'connections:',
495
- ' warehouse:',
496
- ' driver: postgres',
497
- ' url: env:DATABASE_URL',
498
- 'setup:',
499
- ' database_connection_ids:',
500
- ' - warehouse',
501
- '',
502
- ].join('\n'), 'utf-8');
503
- await writeKtxSetupState(tempDir, { completed_steps: ['databases'] });
504
- const prompts = makePromptAdapter({
505
- selectValues: ['add', 'url', 'continue'],
506
- multiselectValues: [['mysql']],
507
- textValues: ['', 'env:MYSQL_DATABASE_URL'],
508
- });
509
- const testConnection = vi.fn(async () => 0);
510
- const scanConnection = vi.fn(async () => 0);
511
- const result = await runKtxSetupDatabasesStep({
512
- projectDir: tempDir,
513
- inputMode: 'auto',
514
- skipDatabases: false,
515
- databaseSchemas: [],
516
- disableQueryHistory: true,
517
- }, makeIo().io, { prompts, testConnection, scanConnection });
518
- expect(result).toEqual({
519
- status: 'ready',
520
- projectDir: tempDir,
521
- connectionIds: ['warehouse', 'mysql-warehouse'],
522
- });
523
- expect(prompts.multiselect).toHaveBeenCalledTimes(1);
524
- expect(prompts.multiselect).toHaveBeenCalledWith(expect.objectContaining({
525
- initialValues: ['postgres'],
526
- required: true,
527
- }));
528
- expect(prompts.select).toHaveBeenCalledWith({
529
- message: 'Databases configured: warehouse\nWhat would you like to do?',
530
- options: [
531
- { value: 'continue', label: 'Continue to context sources' },
532
- { value: 'edit', label: 'Edit an existing database' },
533
- { value: 'add', label: 'Add another database' },
534
- ],
535
- });
536
- expect(testConnection).toHaveBeenCalledTimes(1);
537
- expect(testConnection).toHaveBeenCalledWith(tempDir, 'mysql-warehouse', expect.anything());
538
- const configText = await readFile(join(tempDir, 'ktx.yaml'), 'utf-8');
539
- const config = parseKtxProjectConfig(configText);
540
- expect(config.setup?.database_connection_ids).toEqual(['warehouse', 'mysql-warehouse']);
541
- });
542
- it('lets users add another database after completing the first one', async () => {
543
- const prompts = makePromptAdapter({
544
- multiselectValues: [['postgres'], ['mysql']],
545
- selectValues: ['url', 'add', 'url', 'continue'],
546
- textValues: ['', 'env:DATABASE_URL', '', 'env:MYSQL_DATABASE_URL'],
547
- });
548
- const testConnection = vi.fn(async () => 0);
549
- const scanConnection = vi.fn(async () => 0);
550
- const result = await runKtxSetupDatabasesStep({
551
- projectDir: tempDir,
552
- inputMode: 'auto',
553
- skipDatabases: false,
554
- databaseSchemas: [],
555
- disableQueryHistory: true,
556
- }, makeIo().io, { prompts, testConnection, scanConnection });
557
- expect(result).toEqual({
558
- status: 'ready',
559
- projectDir: tempDir,
560
- connectionIds: ['postgres-warehouse', 'mysql-warehouse'],
561
- });
562
- expect(prompts.multiselect).toHaveBeenCalledTimes(2);
563
- expect(prompts.multiselect).toHaveBeenNthCalledWith(2, expect.objectContaining({
564
- initialValues: ['postgres'],
565
- required: true,
566
- }));
567
- expect(prompts.select).toHaveBeenCalledWith({
568
- message: 'Databases configured: postgres-warehouse\nWhat would you like to do?',
569
- options: [
570
- { value: 'continue', label: 'Continue to context sources' },
571
- { value: 'edit', label: 'Edit an existing database' },
572
- { value: 'add', label: 'Add another database' },
573
- ],
574
- });
575
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
576
- expect(config.setup?.database_connection_ids).toEqual(['postgres-warehouse', 'mysql-warehouse']);
577
- });
578
- it('returns to configured primary menu when pressing back on driver selection after adding a source', async () => {
579
- const io = makeIo();
580
- const prompts = makePromptAdapter({
581
- multiselectValues: [['postgres'], ['back']],
582
- selectValues: ['url', 'add', 'continue'],
583
- textValues: ['', 'env:DATABASE_URL'],
584
- });
585
- const testConnection = vi.fn(async () => 0);
586
- const scanConnection = vi.fn(async () => 0);
587
- const result = await runKtxSetupDatabasesStep({
588
- projectDir: tempDir,
589
- inputMode: 'auto',
590
- skipDatabases: false,
591
- databaseSchemas: [],
592
- disableQueryHistory: true,
593
- }, io.io, { prompts, testConnection, scanConnection });
594
- expect(result).toEqual({
595
- status: 'ready',
596
- projectDir: tempDir,
597
- connectionIds: ['postgres-warehouse'],
598
- });
599
- expect(prompts.multiselect).toHaveBeenCalledTimes(2);
600
- expect(prompts.multiselect).toHaveBeenNthCalledWith(2, expect.objectContaining({
601
- initialValues: ['postgres'],
602
- required: true,
603
- }));
604
- expect(io.stdout()).not.toContain('KTX cannot work without at least one database');
605
- expect(prompts.select).toHaveBeenNthCalledWith(3, {
606
- message: 'Databases configured: postgres-warehouse\nWhat would you like to do?',
607
- options: [
608
- { value: 'continue', label: 'Continue to context sources' },
609
- { value: 'edit', label: 'Edit an existing database' },
610
- { value: 'add', label: 'Add another database' },
611
- ],
612
- });
613
- });
614
- it('returns to configured primary menu when pressing back on driver selection with pre-existing source', async () => {
615
- await writeFile(join(tempDir, 'ktx.yaml'), [
616
- 'connections:',
617
- ' warehouse:',
618
- ' driver: postgres',
619
- ' url: env:DATABASE_URL',
620
- 'setup:',
621
- ' database_connection_ids:',
622
- ' - warehouse',
623
- '',
624
- ].join('\n'), 'utf-8');
625
- await writeKtxSetupState(tempDir, { completed_steps: ['databases'] });
626
- const io = makeIo();
627
- const prompts = makePromptAdapter({
628
- multiselectValues: [['back']],
629
- selectValues: ['add', 'continue'],
630
- });
631
- const result = await runKtxSetupDatabasesStep({ projectDir: tempDir, inputMode: 'auto', skipDatabases: false, databaseSchemas: [] }, io.io, { prompts });
632
- expect(result).toEqual({ status: 'ready', projectDir: tempDir, connectionIds: ['warehouse'] });
633
- expect(prompts.multiselect).toHaveBeenCalledWith(expect.objectContaining({
634
- initialValues: ['postgres'],
635
- required: true,
636
- }));
637
- expect(io.stdout()).not.toContain('KTX cannot work without at least one database');
638
- expect(prompts.select).toHaveBeenNthCalledWith(2, {
639
- message: 'Databases configured: warehouse\nWhat would you like to do?',
640
- options: [
641
- { value: 'continue', label: 'Continue to context sources' },
642
- { value: 'edit', label: 'Edit an existing database' },
643
- { value: 'add', label: 'Add another database' },
644
- ],
645
- });
646
- });
647
- it('returns from database edit selection back to the configured source menu', async () => {
648
- await writeFile(join(tempDir, 'ktx.yaml'), [
649
- 'connections:',
650
- ' warehouse:',
651
- ' driver: postgres',
652
- ' url: env:DATABASE_URL',
653
- 'setup:',
654
- ' database_connection_ids:',
655
- ' - warehouse',
656
- '',
657
- ].join('\n'), 'utf-8');
658
- await writeKtxSetupState(tempDir, { completed_steps: ['databases'] });
659
- const prompts = makePromptAdapter({
660
- selectValues: ['edit', 'back', 'continue'],
661
- });
662
- const testConnection = vi.fn(async () => 0);
663
- const scanConnection = vi.fn(async () => 0);
664
- const result = await runKtxSetupDatabasesStep({ projectDir: tempDir, inputMode: 'auto', skipDatabases: false, databaseSchemas: [] }, makeIo().io, { prompts, testConnection, scanConnection });
665
- expect(result).toEqual({ status: 'ready', projectDir: tempDir, connectionIds: ['warehouse'] });
666
- expect(prompts.select).toHaveBeenNthCalledWith(2, {
667
- message: 'Database to edit',
668
- options: [
669
- { value: 'warehouse', label: 'warehouse (PostgreSQL)' },
670
- { value: 'back', label: 'Back' },
671
- ],
672
- });
673
- expect(prompts.select).toHaveBeenNthCalledWith(3, {
674
- message: 'Databases configured: warehouse\nWhat would you like to do?',
675
- options: [
676
- { value: 'continue', label: 'Continue to context sources' },
677
- { value: 'edit', label: 'Edit an existing database' },
678
- { value: 'add', label: 'Add another database' },
679
- ],
680
- });
681
- expect(testConnection).not.toHaveBeenCalled();
682
- expect(scanConnection).not.toHaveBeenCalled();
683
- });
684
- it('reruns table selection after editing schema scope so stale enabled tables are removed', async () => {
685
- await writeFile(join(tempDir, 'ktx.yaml'), [
686
- 'connections:',
687
- ' warehouse:',
688
- ' driver: postgres',
689
- ' url: env:DATABASE_URL',
690
- ' schemas:',
691
- ' - public',
692
- ' enabled_tables:',
693
- ' - public.orders',
694
- 'setup:',
695
- ' database_connection_ids:',
696
- ' - warehouse',
697
- '',
698
- ].join('\n'), 'utf-8');
699
- await writeKtxSetupState(tempDir, { completed_steps: ['databases'] });
700
- const prompts = makePromptAdapter({
701
- textValues: ['env:DATABASE_URL'],
702
- });
703
- let primaryMenuCount = 0;
704
- vi.mocked(prompts.select).mockImplementation(async (options) => {
705
- if (options.message === 'Databases configured: warehouse\nWhat would you like to do?') {
706
- primaryMenuCount += 1;
707
- return primaryMenuCount === 1 ? 'edit' : 'continue';
708
- }
709
- if (options.message === 'Database to edit')
710
- return 'warehouse';
711
- if (options.message === 'How do you want to connect to PostgreSQL?')
712
- return 'url';
713
- if (options.message.startsWith('Enable query-history ingest'))
714
- return 'no';
715
- return 'back';
716
- });
717
- const testConnection = vi.fn(async () => 0);
718
- const scanConnection = vi.fn(async () => 0);
719
- const listSchemas = vi.fn(async () => ['analytics', 'public']);
720
- const listTables = vi.fn(async () => [{ schema: 'analytics', name: 'customers', kind: 'table' }]);
721
- const pickers = makePickerStubs({
722
- scopes: [{ schemas: ['analytics'], tables: ['analytics.customers'] }],
723
- });
724
- const result = await runKtxSetupDatabasesStep({ projectDir: tempDir, inputMode: 'auto', skipDatabases: false, databaseSchemas: [] }, makeIo().io, {
725
- prompts,
726
- testConnection,
727
- scanConnection,
728
- listSchemas,
729
- listTables,
730
- pickDatabaseScope: pickers.pickDatabaseScope,
731
- });
732
- expect(result).toEqual({ status: 'ready', projectDir: tempDir, connectionIds: ['warehouse'] });
733
- expect(prompts.text).toHaveBeenCalledWith({
734
- message: textInputPrompt('PostgreSQL connection URL'),
735
- placeholder: 'env:DATABASE_URL',
736
- initialValue: 'env:DATABASE_URL',
737
- });
738
- expect(listTables).toHaveBeenCalledWith(tempDir, 'warehouse', ['analytics', 'public']);
739
- expect(testConnection).toHaveBeenCalledWith(tempDir, 'warehouse', expect.anything());
740
- expect(scanConnection).toHaveBeenCalledWith(tempDir, 'warehouse', expect.anything());
741
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
742
- expect(config.connections.warehouse).toMatchObject({
743
- schemas: ['analytics'],
744
- enabled_tables: ['analytics.customers'],
745
- });
746
- });
747
- it('preselects existing schema and table choices when editing a database', async () => {
748
- await writeFile(join(tempDir, 'ktx.yaml'), [
749
- 'connections:',
750
- ' warehouse:',
751
- ' driver: postgres',
752
- ' url: env:DATABASE_URL',
753
- ' schemas:',
754
- ' - public',
755
- ' enabled_tables:',
756
- ' - public.customers',
757
- ' - public.orders',
758
- 'setup:',
759
- ' database_connection_ids:',
760
- ' - warehouse',
761
- '',
762
- ].join('\n'), 'utf-8');
763
- await writeKtxSetupState(tempDir, { completed_steps: ['databases'] });
764
- const prompts = makePromptAdapter({
765
- textValues: ['env:DATABASE_URL'],
766
- });
767
- let primaryMenuCount = 0;
768
- vi.mocked(prompts.select).mockImplementation(async (options) => {
769
- if (options.message === 'Databases configured: warehouse\nWhat would you like to do?') {
770
- primaryMenuCount += 1;
771
- return primaryMenuCount === 1 ? 'edit' : 'continue';
772
- }
773
- if (options.message === 'Database to edit')
774
- return 'warehouse';
775
- if (options.message === 'How do you want to connect to PostgreSQL?')
776
- return 'url';
777
- if (options.message.startsWith('Enable query-history ingest'))
778
- return 'no';
779
- return 'back';
780
- });
781
- const listSchemas = vi.fn(async () => ['orbit_analytics', 'orbit_raw', 'public']);
782
- const listTables = vi.fn(async () => [
783
- { schema: 'public', name: 'customers', kind: 'table' },
784
- { schema: 'public', name: 'orders', kind: 'table' },
785
- { schema: 'public', name: 'products', kind: 'table' },
786
- ]);
787
- const pickers = makePickerStubs({
788
- scopes: [{ schemas: ['public'], tables: ['public.customers', 'public.orders'] }],
789
- });
790
- const result = await runKtxSetupDatabasesStep({ projectDir: tempDir, inputMode: 'auto', skipDatabases: false, databaseSchemas: [] }, makeIo().io, {
791
- prompts,
792
- testConnection: vi.fn(async () => 0),
793
- scanConnection: vi.fn(async () => 0),
794
- listSchemas,
795
- listTables,
796
- pickDatabaseScope: pickers.pickDatabaseScope,
797
- });
798
- expect(result).toEqual({ status: 'ready', projectDir: tempDir, connectionIds: ['warehouse'] });
799
- expect(pickers.scopeCalls).toHaveLength(1);
800
- expect(pickers.scopeCalls[0]).toMatchObject({
801
- connectionId: 'warehouse',
802
- schemaNoun: 'schema',
803
- supportsSchemaScope: true,
804
- existing: { enabledTables: ['public.customers', 'public.orders'] },
805
- });
806
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
807
- expect(config.connections.warehouse).toMatchObject({
808
- schemas: ['public'],
809
- enabled_tables: ['public.customers', 'public.orders'],
810
- });
811
- });
812
- it('returns to the configured primary menu when backing out of schema review during edit', async () => {
813
- await writeFile(join(tempDir, 'ktx.yaml'), [
814
- 'connections:',
815
- ' warehouse:',
816
- ' driver: postgres',
817
- ' url: env:DATABASE_URL',
818
- ' schemas:',
819
- ' - public',
820
- ' enabled_tables:',
821
- ' - public.orders',
822
- 'setup:',
823
- ' database_connection_ids:',
824
- ' - warehouse',
825
- '',
826
- ].join('\n'), 'utf-8');
827
- await writeKtxSetupState(tempDir, { completed_steps: ['databases'] });
828
- const prompts = makePromptAdapter({
829
- textValues: ['env:DATABASE_URL'],
830
- });
831
- let primaryMenuCount = 0;
832
- vi.mocked(prompts.select).mockImplementation(async (options) => {
833
- if (options.message === 'Databases configured: warehouse\nWhat would you like to do?') {
834
- primaryMenuCount += 1;
835
- return primaryMenuCount === 1 ? 'edit' : 'continue';
836
- }
837
- if (options.message === 'Database to edit')
838
- return 'warehouse';
839
- if (options.message === 'How do you want to connect to PostgreSQL?')
840
- return 'url';
841
- if (options.message.startsWith('Enable query-history ingest'))
842
- return 'no';
843
- return 'back';
844
- });
845
- const testConnection = vi.fn(async () => 0);
846
- const scanConnection = vi.fn(async () => 0);
847
- const listSchemas = vi.fn(async () => ['analytics', 'public']);
848
- const listTables = vi.fn(async () => [
849
- { schema: 'analytics', name: 'customers', kind: 'table' },
850
- { schema: 'public', name: 'orders', kind: 'table' },
851
- ]);
852
- const pickers = makePickerStubs({ scopes: ['back'] });
853
- const result = await runKtxSetupDatabasesStep({ projectDir: tempDir, inputMode: 'auto', skipDatabases: false, databaseSchemas: [] }, makeIo().io, {
854
- prompts,
855
- testConnection,
856
- scanConnection,
857
- listSchemas,
858
- listTables,
859
- pickDatabaseScope: pickers.pickDatabaseScope,
860
- });
861
- expect(result).toEqual({ status: 'ready', projectDir: tempDir, connectionIds: ['warehouse'] });
862
- expect(primaryMenuCount).toBe(2);
863
- expect(testConnection).toHaveBeenCalledWith(tempDir, 'warehouse', expect.anything());
864
- expect(scanConnection).not.toHaveBeenCalled();
865
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
866
- expect(config.connections.warehouse).toMatchObject({
867
- url: 'env:DATABASE_URL',
868
- schemas: ['public'],
869
- enabled_tables: ['public.orders'],
870
- });
871
- });
872
- it('returns to the configured primary menu when backing out of table review during edit', async () => {
873
- await writeFile(join(tempDir, 'ktx.yaml'), [
874
- 'connections:',
875
- ' warehouse:',
876
- ' driver: postgres',
877
- ' url: env:DATABASE_URL',
878
- ' schemas:',
879
- ' - public',
880
- ' enabled_tables:',
881
- ' - public.orders',
882
- 'setup:',
883
- ' database_connection_ids:',
884
- ' - warehouse',
885
- '',
886
- ].join('\n'), 'utf-8');
887
- await writeKtxSetupState(tempDir, { completed_steps: ['databases'] });
888
- const prompts = makePromptAdapter({ textValues: ['env:DATABASE_URL'] });
889
- let primaryMenuCount = 0;
890
- vi.mocked(prompts.select).mockImplementation(async (options) => {
891
- if (options.message === 'Databases configured: warehouse\nWhat would you like to do?') {
892
- primaryMenuCount += 1;
893
- return primaryMenuCount === 1 ? 'edit' : 'continue';
894
- }
895
- if (options.message === 'Database to edit')
896
- return 'warehouse';
897
- if (options.message === 'How do you want to connect to PostgreSQL?')
898
- return 'url';
899
- if (options.message.startsWith('Enable query-history ingest'))
900
- return 'no';
901
- return 'back';
902
- });
903
- const testConnection = vi.fn(async () => 0);
904
- const scanConnection = vi.fn(async () => 0);
905
- const listSchemas = vi.fn(async () => ['public']);
906
- const listTables = vi.fn(async () => [
907
- { schema: 'public', name: 'customers', kind: 'table' },
908
- { schema: 'public', name: 'orders', kind: 'table' },
909
- ]);
910
- const pickers = makePickerStubs({ scopes: ['back'] });
911
- const result = await runKtxSetupDatabasesStep({ projectDir: tempDir, inputMode: 'auto', skipDatabases: false, databaseSchemas: [] }, makeIo().io, {
912
- prompts,
913
- testConnection,
914
- scanConnection,
915
- listSchemas,
916
- listTables,
917
- pickDatabaseScope: pickers.pickDatabaseScope,
918
- });
919
- expect(result).toEqual({ status: 'ready', projectDir: tempDir, connectionIds: ['warehouse'] });
920
- expect(primaryMenuCount).toBe(2);
921
- expect(listTables).toHaveBeenCalledWith(tempDir, 'warehouse', ['public']);
922
- expect(scanConnection).not.toHaveBeenCalled();
923
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
924
- expect(config.connections.warehouse).toMatchObject({
925
- url: 'env:DATABASE_URL',
926
- schemas: ['public'],
927
- enabled_tables: ['public.orders'],
928
- });
929
- });
930
- it('restores an existing database edit when the follow-up scan fails', async () => {
931
- await writeFile(join(tempDir, 'ktx.yaml'), [
932
- 'connections:',
933
- ' warehouse:',
934
- ' driver: postgres',
935
- ' url: env:DATABASE_URL',
936
- ' schemas:',
937
- ' - public',
938
- ' enabled_tables:',
939
- ' - public.orders',
940
- 'setup:',
941
- ' database_connection_ids:',
942
- ' - warehouse',
943
- '',
944
- ].join('\n'), 'utf-8');
945
- await writeKtxSetupState(tempDir, { completed_steps: ['databases'] });
946
- const prompts = makePromptAdapter({
947
- textValues: ['env:DATABASE_URL'],
948
- });
949
- vi.mocked(prompts.select).mockImplementation(async (options) => {
950
- if (options.message === 'Databases configured: warehouse\nWhat would you like to do?')
951
- return 'edit';
952
- if (options.message === 'Database to edit')
953
- return 'warehouse';
954
- if (options.message === 'How do you want to connect to PostgreSQL?')
955
- return 'url';
956
- if (options.message.startsWith('Enable query-history ingest'))
957
- return 'no';
958
- return 'back';
959
- });
960
- const listTables = vi.fn(async () => [
961
- { schema: 'public', name: 'customers', kind: 'table' },
962
- { schema: 'public', name: 'orders', kind: 'table' },
963
- ]);
964
- const pickers = makePickerStubs({ scopes: ['enable-all'] });
965
- const result = await runKtxSetupDatabasesStep({ projectDir: tempDir, inputMode: 'auto', skipDatabases: false, databaseSchemas: [] }, makeIo().io, {
966
- prompts,
967
- testConnection: vi.fn(async () => 0),
968
- scanConnection: vi.fn(async () => 1),
969
- listTables,
970
- pickDatabaseScope: pickers.pickDatabaseScope,
971
- });
972
- expect(result).toEqual({ status: 'failed', projectDir: tempDir });
973
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
974
- expect(config.connections.warehouse).toMatchObject({
975
- enabled_tables: ['public.orders'],
976
- });
977
- });
978
- it('lets Escape from connection fields return to connection method selection', async () => {
979
- const prompts = makePromptAdapter({
980
- selectValues: ['fields', 'url'],
981
- textValues: ['', undefined, 'env:DATABASE_URL'],
982
- });
983
- const testConnection = vi.fn(async () => 0);
984
- const scanConnection = vi.fn(async () => 0);
985
- const result = await runKtxSetupDatabasesStep({
986
- projectDir: tempDir,
987
- inputMode: 'auto',
988
- databaseDrivers: ['postgres'],
989
- databaseSchemas: [],
990
- skipDatabases: false,
991
- disableQueryHistory: true,
992
- }, makeIo().io, { prompts, testConnection, scanConnection });
993
- expect(result.status).toBe('ready');
994
- const selectMessages = vi.mocked(prompts.select).mock.calls.map(([options]) => options.message);
995
- expect(selectMessages.filter((message) => message === 'How do you want to connect to PostgreSQL?')).toHaveLength(2);
996
- expect(testConnection).toHaveBeenCalledWith(tempDir, 'postgres-warehouse', expect.anything());
997
- });
998
- it('explains where Back goes after missing PostgreSQL field input', async () => {
999
- const prompts = makePromptAdapter({
1000
- multiselectValues: [['postgres'], ['back']],
1001
- selectValues: ['fields', 'back'],
1002
- textValues: ['', 'db.example.com', '5432', ''],
1003
- });
1004
- const result = await runKtxSetupDatabasesStep({ projectDir: tempDir, inputMode: 'auto', skipDatabases: false, databaseSchemas: [] }, makeIo().io, {
1005
- prompts,
1006
- testConnection: vi.fn(async () => 0),
1007
- scanConnection: vi.fn(async () => 0),
1008
- });
1009
- expect(result.status).toBe('back');
1010
- expect(prompts.select).toHaveBeenNthCalledWith(2, {
1011
- message: 'Some PostgreSQL connection details are missing.\n' +
1012
- 'Continue entering details, or go back to database selection.',
1013
- options: [
1014
- { value: 'retry', label: 'Continue entering PostgreSQL details' },
1015
- { value: 'back', label: 'Back to database selection' },
1016
- ],
1017
- });
1018
- });
1019
- it('lets Escape from connection name return to database selection', async () => {
1020
- const prompts = makePromptAdapter({
1021
- multiselectValues: [['postgres'], ['back']],
1022
- textValues: [undefined],
1023
- });
1024
- const testConnection = vi.fn(async () => 0);
1025
- const scanConnection = vi.fn(async () => 0);
1026
- const result = await runKtxSetupDatabasesStep({
1027
- projectDir: tempDir,
1028
- inputMode: 'auto',
1029
- databaseSchemas: [],
1030
- skipDatabases: false,
1031
- }, makeIo().io, { prompts, testConnection, scanConnection });
1032
- expect(result.status).toBe('back');
1033
- expect(prompts.multiselect).toHaveBeenCalledTimes(2);
1034
- expect(prompts.select).not.toHaveBeenCalled();
1035
- expect(testConnection).not.toHaveBeenCalled();
1036
- expect(scanConnection).not.toHaveBeenCalled();
1037
- });
1038
- it('builds a Postgres connection from individual fields and stores password in .ktx/secrets', async () => {
1039
- const io = makeIo();
1040
- const prompts = makePromptAdapter({
1041
- selectValues: ['fields'],
1042
- textValues: ['', 'db.example.com', '', 'analytics', 'readonly'],
1043
- passwordValues: ['s3cret'],
1044
- });
1045
- const testConnection = vi.fn(async () => 0);
1046
- const scanConnection = vi.fn(async () => 0);
1047
- const result = await runKtxSetupDatabasesStep({
1048
- projectDir: tempDir,
1049
- inputMode: 'auto',
1050
- databaseDrivers: ['postgres'],
1051
- databaseSchemas: [],
1052
- skipDatabases: false,
1053
- }, io.io, { prompts, testConnection, scanConnection });
1054
- expect(result.status).toBe('ready');
1055
- const configText = await readFile(join(tempDir, 'ktx.yaml'), 'utf-8');
1056
- const config = parseKtxProjectConfig(configText);
1057
- const connection = config.connections['postgres-warehouse'];
1058
- expect(connection).toMatchObject({
1059
- driver: 'postgres',
1060
- host: 'db.example.com',
1061
- port: 5432,
1062
- database: 'analytics',
1063
- username: 'readonly',
1064
- });
1065
- expect(connection.password).toMatch(/^file:/);
1066
- const secretPath = join(tempDir, '.ktx/secrets/postgres-warehouse-password');
1067
- await expect(readFile(secretPath, 'utf-8')).resolves.toBe('s3cret\n');
1068
- if (process.platform !== 'win32') {
1069
- expect((await stat(secretPath)).mode & 0o777).toBe(0o600);
1070
- }
1071
- });
1072
- it('stores credential-bearing pasted URLs in .ktx/secrets automatically', async () => {
1073
- const io = makeIo();
1074
- const prompts = makePromptAdapter({
1075
- selectValues: ['url'],
1076
- textValues: ['', 'postgresql://myuser:s3cret@db.example.com:5432/analytics'], // pragma: allowlist secret
1077
- });
1078
- const testConnection = vi.fn(async () => 0);
1079
- const scanConnection = vi.fn(async () => 0);
1080
- const result = await runKtxSetupDatabasesStep({
1081
- projectDir: tempDir,
1082
- inputMode: 'auto',
1083
- databaseDrivers: ['postgres'],
1084
- databaseSchemas: [],
1085
- skipDatabases: false,
1086
- }, io.io, { prompts, testConnection, scanConnection });
1087
- expect(result.status).toBe('ready');
1088
- const configText = await readFile(join(tempDir, 'ktx.yaml'), 'utf-8');
1089
- const config = parseKtxProjectConfig(configText);
1090
- const connection = config.connections['postgres-warehouse'];
1091
- expect(connection.url).toBe(`file:${resolve(tempDir, '.ktx/secrets/postgres-warehouse-url')}`);
1092
- expect(connection.driver).toBe('postgres');
1093
- const secretContent = await readFile(join(tempDir, '.ktx/secrets/postgres-warehouse-url'), 'utf-8');
1094
- expect(secretContent).toBe('postgresql://myuser:s3cret@db.example.com:5432/analytics\n'); // pragma: allowlist secret
1095
- });
1096
- it('summarizes connection test and structural scan output during setup', async () => {
1097
- const io = makeIo();
1098
- const prompts = makePromptAdapter({
1099
- selectValues: ['url'],
1100
- textValues: ['', 'env:DATABASE_URL'],
1101
- });
1102
- const testConnection = vi.fn(async (_projectDir, _connectionId, commandIo) => {
1103
- commandIo.stdout.write('Connection test passed: postgres-warehouse\n');
1104
- commandIo.stdout.write('Driver: postgres\n');
1105
- commandIo.stdout.write('Status: ok\n');
1106
- return 0;
1107
- });
1108
- const scanConnection = vi.fn(async (_projectDir, _connectionId, commandIo) => {
1109
- commandIo.stdout.write('Scanning postgres-warehouse for context. Large databases can take a while.\n');
1110
- commandIo.stdout.write('[5%] Preparing scan\n');
1111
- commandIo.stdout.write('[15%] Inspecting database schema\n');
1112
- commandIo.stdout.write('[55%] Semantic layer comparison found 2 changes across 2 tables\n');
1113
- commandIo.stdout.write('[70%] Writing schema artifacts\n');
1114
- commandIo.stdout.write('[100%] Scan completed\n');
1115
- commandIo.stdout.write('✓ KTX scan completed\n');
1116
- commandIo.stdout.write('Status: done\n');
1117
- commandIo.stdout.write('Run: local-moywh3ky\n');
1118
- commandIo.stdout.write('Connection: postgres-warehouse\n');
1119
- commandIo.stdout.write('Mode: structural\n');
1120
- commandIo.stdout.write('Sync: 2026-05-09-221301-local-moywh3ky\n');
1121
- commandIo.stdout.write('Dry run: no\n\n');
1122
- commandIo.stdout.write('What changed\n');
1123
- commandIo.stdout.write(' Semantic layer comparison found 2 changes across 2 tables\n');
1124
- commandIo.stdout.write(' New tables: 2\n');
1125
- commandIo.stdout.write(' Changed tables: 0\n');
1126
- commandIo.stdout.write(' Removed tables: 0\n');
1127
- commandIo.stdout.write(' Unchanged tables: 0\n\n');
1128
- commandIo.stdout.write('Needs attention\n');
1129
- commandIo.stdout.write(' None\n\n');
1130
- commandIo.stdout.write('Artifacts\n');
1131
- commandIo.stdout.write(' Report: raw-sources/postgres-warehouse/live-database/2026-05-09-221301-local-moywh3ky/scan-report.json\n');
1132
- commandIo.stdout.write(' Raw sources: raw-sources/postgres-warehouse/live-database/2026-05-09-221301-local-moywh3ky\n');
1133
- commandIo.stdout.write(' Schema shards: 1\n\n');
1134
- commandIo.stdout.write('Next:\n');
1135
- commandIo.stdout.write(` ktx status --project-dir ${tempDir} local-moywh3ky\n`);
1136
- return 0;
1137
- });
1138
- const result = await runKtxSetupDatabasesStep({
1139
- projectDir: tempDir,
1140
- inputMode: 'auto',
1141
- databaseDrivers: ['postgres'],
1142
- databaseSchemas: [],
1143
- skipDatabases: false,
1144
- }, io.io, { prompts, testConnection, scanConnection });
1145
- expect(result.status).toBe('ready');
1146
- expect(io.stdout()).toContain([
1147
- '◇ Testing postgres-warehouse',
1148
- '│ ✓ Connection test passed',
1149
- '│ Driver: PostgreSQL',
1150
- '│',
1151
- ].join('\n'));
1152
- expect(io.stdout()).not.toContain('Tables: 2');
1153
- expect(io.stdout()).toContain('◇ Building schema context for postgres-warehouse');
1154
- expect(io.stdout()).toContain('│ Running fast database ingest…');
1155
- expect(io.stdout()).toContain('◇ Schema context complete for postgres-warehouse');
1156
- expect(io.stdout()).toContain('│ Changes: 2 new tables');
1157
- expect(io.stdout()).toContain('◇ Database ready');
1158
- expect(io.stdout()).not.toContain(['Primary source', 'ready'].join(' '));
1159
- expect(io.stdout()).toContain('│ postgres-warehouse · PostgreSQL · schema context complete');
1160
- expect(io.stdout()).not.toContain('Scanning postgres-warehouse');
1161
- expect(io.stdout()).not.toContain('Scan complete for postgres-warehouse');
1162
- expect(io.stdout()).not.toContain('structural scan complete');
1163
- expect(io.stdout()).not.toContain('Report: raw-sources');
1164
- expect(io.stdout()).not.toContain('live-database');
1165
- expect(io.stdout()).not.toContain('[5%] Preparing scan');
1166
- expect(io.stdout()).not.toContain('What changed');
1167
- expect(io.stdout()).not.toContain('Next:');
1168
- });
1169
- it('normalizes $ENV_VAR syntax to env: references in pasted URLs', async () => {
1170
- const io = makeIo();
1171
- const prompts = makePromptAdapter({
1172
- selectValues: ['url'],
1173
- textValues: ['', '$DATABASE_URL'],
1174
- });
1175
- const testConnection = vi.fn(async () => 0);
1176
- const scanConnection = vi.fn(async () => 0);
1177
- const result = await runKtxSetupDatabasesStep({
1178
- projectDir: tempDir,
1179
- inputMode: 'auto',
1180
- databaseDrivers: ['postgres'],
1181
- databaseSchemas: [],
1182
- skipDatabases: false,
1183
- }, io.io, { prompts, testConnection, scanConnection });
1184
- expect(result.status).toBe('ready');
1185
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
1186
- expect(config.connections['postgres-warehouse']).toMatchObject({
1187
- driver: 'postgres',
1188
- url: 'env:DATABASE_URL',
1189
- });
1190
- });
1191
- it('prompts for discovered Postgres schemas before the first scan', async () => {
1192
- const io = makeIo();
1193
- const prompts = makePromptAdapter({
1194
- selectValues: ['url'],
1195
- textValues: ['', 'env:DATABASE_URL'],
1196
- });
1197
- const testConnection = vi.fn(async () => 0);
1198
- const scanConnection = vi.fn(async (asyncScanProjectDir) => {
1199
- const config = parseKtxProjectConfig(await readFile(join(asyncScanProjectDir, 'ktx.yaml'), 'utf-8'));
1200
- expect(config.connections['postgres-warehouse']).toMatchObject({
1201
- schemas: ['orbit_analytics', 'orbit_raw'],
1202
- });
1203
- return 0;
1204
- });
1205
- const listSchemas = vi.fn(async () => ['orbit_analytics', 'orbit_raw', 'public']);
1206
- const listTables = vi.fn(async () => [
1207
- { schema: 'orbit_analytics', name: 'events', kind: 'table' },
1208
- { schema: 'orbit_raw', name: 'inputs', kind: 'table' },
1209
- { schema: 'public', name: 'misc', kind: 'table' },
1210
- ]);
1211
- const pickers = makePickerStubs({
1212
- scopes: [
1213
- {
1214
- schemas: ['orbit_analytics', 'orbit_raw'],
1215
- tables: ['orbit_analytics.events', 'orbit_raw.inputs'],
1216
- },
1217
- ],
1218
- });
1219
- const result = await runKtxSetupDatabasesStep({
1220
- projectDir: tempDir,
1221
- inputMode: 'auto',
1222
- databaseDrivers: ['postgres'],
1223
- databaseSchemas: [],
1224
- skipDatabases: false,
1225
- }, io.io, {
1226
- prompts,
1227
- testConnection,
1228
- scanConnection,
1229
- listSchemas,
1230
- listTables,
1231
- pickDatabaseScope: pickers.pickDatabaseScope,
1232
- });
1233
- expect(result.status).toBe('ready');
1234
- expect(listSchemas).toHaveBeenCalledWith(tempDir, 'postgres-warehouse');
1235
- expect(pickers.scopeCalls).toHaveLength(1);
1236
- expect(pickers.scopeCalls[0]).toMatchObject({
1237
- connectionId: 'postgres-warehouse',
1238
- schemaNoun: 'schema',
1239
- schemaNounPlural: 'schemas',
1240
- defaultSchemas: ['orbit_analytics', 'orbit_raw'],
1241
- });
1242
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
1243
- expect(config.connections['postgres-warehouse']).toMatchObject({
1244
- schemas: ['orbit_analytics', 'orbit_raw'],
1245
- });
1246
- expect(io.stdout()).toContain('✓ orbit_analytics, orbit_raw');
1247
- });
1248
- it('auto-selects all discovered Postgres schemas in non-interactive setup', async () => {
1249
- const io = makeIo();
1250
- const prompts = makePromptAdapter({});
1251
- const testConnection = vi.fn(async () => 0);
1252
- const scanConnection = vi.fn(async (asyncScanProjectDir) => {
1253
- const config = parseKtxProjectConfig(await readFile(join(asyncScanProjectDir, 'ktx.yaml'), 'utf-8'));
1254
- expect(config.connections.warehouse).toMatchObject({
1255
- schemas: ['orbit_analytics', 'orbit_raw', 'public'],
1256
- });
1257
- return 0;
1258
- });
1259
- const listSchemas = vi.fn(async () => ['orbit_analytics', 'orbit_raw', 'public']);
1260
- const result = await runKtxSetupDatabasesStep({
1261
- projectDir: tempDir,
1262
- inputMode: 'disabled',
1263
- databaseDrivers: ['postgres'],
1264
- databaseConnectionId: 'warehouse',
1265
- databaseUrl: 'env:DATABASE_URL',
1266
- databaseSchemas: [],
1267
- skipDatabases: false,
1268
- }, io.io, { prompts, testConnection, scanConnection, listSchemas });
1269
- expect(result.status).toBe('ready');
1270
- expect(prompts.multiselect).not.toHaveBeenCalled();
1271
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
1272
- expect(config.connections.warehouse).toMatchObject({
1273
- schemas: ['orbit_analytics', 'orbit_raw', 'public'],
1274
- });
1275
- expect(io.stdout()).toContain('✓ orbit_analytics, orbit_raw, public');
1276
- });
1277
- it('adds one non-interactive Postgres URL connection, tests it, scans it, and marks databases complete', async () => {
1278
- const io = makeIo();
1279
- const testConnection = vi.fn(async () => 0);
1280
- const scanConnection = vi.fn(async () => 0);
1281
- const listSchemas = vi.fn(async () => ['orbit_analytics', 'orbit_raw', 'public']);
1282
- const result = await runKtxSetupDatabasesStep({
1283
- projectDir: tempDir,
1284
- inputMode: 'auto',
1285
- databaseDrivers: ['postgres'],
1286
- databaseConnectionId: 'warehouse',
1287
- databaseUrl: 'env:DATABASE_URL',
1288
- databaseSchemas: ['public'],
1289
- skipDatabases: false,
1290
- disableQueryHistory: true,
1291
- }, io.io, { testConnection, scanConnection, listSchemas });
1292
- expect(result.status).toBe('ready');
1293
- expect(listSchemas).not.toHaveBeenCalled();
1294
- expect(testConnection).toHaveBeenCalledWith(tempDir, 'warehouse', expect.anything());
1295
- expect(scanConnection).toHaveBeenCalledWith(tempDir, 'warehouse', expect.anything());
1296
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
1297
- expect(config.connections.warehouse).toEqual({
1298
- driver: 'postgres',
1299
- url: 'env:DATABASE_URL',
1300
- schemas: ['public'],
1301
- context: { queryHistory: { enabled: false }, depth: 'fast' },
1302
- });
1303
- expect(config.setup).toEqual({
1304
- database_connection_ids: ['warehouse'],
1305
- });
1306
- expect((await readKtxSetupState(tempDir)).completed_steps).toContain('databases');
1307
- expect(io.stdout()).toContain('Database ready');
1308
- expect(io.stdout()).not.toContain(['Primary source', 'ready'].join(' '));
1309
- expect(io.stdout()).not.toContain('DATABASE_URL=');
1310
- });
1311
- it('adds one non-interactive SQLite connection from --database-url without prompting', async () => {
1312
- const io = makeIo();
1313
- const prompts = makePromptAdapter({});
1314
- const testConnection = vi.fn(async () => 0);
1315
- const scanConnection = vi.fn(async () => 0);
1316
- const result = await runKtxSetupDatabasesStep({
1317
- projectDir: tempDir,
1318
- inputMode: 'disabled',
1319
- databaseDrivers: ['sqlite'],
1320
- databaseConnectionId: 'warehouse',
1321
- databaseUrl: './warehouse.sqlite',
1322
- databaseSchemas: [],
1323
- skipDatabases: false,
1324
- }, io.io, { prompts, testConnection, scanConnection });
1325
- expect(result.status).toBe('ready');
1326
- expect(prompts.text).not.toHaveBeenCalled();
1327
- expect(testConnection).toHaveBeenCalledWith(tempDir, 'warehouse', expect.anything());
1328
- expect(scanConnection).toHaveBeenCalledWith(tempDir, 'warehouse', expect.anything());
1329
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
1330
- expect(config.connections.warehouse).toEqual({
1331
- driver: 'sqlite',
1332
- path: './warehouse.sqlite',
1333
- context: { depth: 'fast' },
1334
- });
1335
- expect(config.setup).toEqual({
1336
- database_connection_ids: ['warehouse'],
1337
- });
1338
- expect((await readKtxSetupState(tempDir)).completed_steps).toContain('databases');
1339
- });
1340
- it('selects multiple existing connections and validates each before recording setup ids', async () => {
1341
- await writeFile(join(tempDir, 'ktx.yaml'), [
1342
- 'connections:',
1343
- ' warehouse:',
1344
- ' driver: postgres',
1345
- ' url: env:DATABASE_URL',
1346
- ' analytics:',
1347
- ' driver: snowflake',
1348
- ' authMethod: password',
1349
- ' account: env:SNOWFLAKE_ACCOUNT',
1350
- ' warehouse: WH',
1351
- ' database: ANALYTICS',
1352
- ' schema_name: PUBLIC',
1353
- ' username: reader',
1354
- ' password: env:SNOWFLAKE_PASSWORD',
1355
- '',
1356
- ].join('\n'), 'utf-8');
1357
- const io = makeIo();
1358
- const testConnection = vi.fn(async () => 0);
1359
- const scanConnection = vi.fn(async () => 0);
1360
- const result = await runKtxSetupDatabasesStep({
1361
- projectDir: tempDir,
1362
- inputMode: 'disabled',
1363
- databaseConnectionIds: ['warehouse', 'analytics'],
1364
- databaseSchemas: [],
1365
- skipDatabases: false,
1366
- }, io.io, { testConnection, scanConnection });
1367
- expect(result.status).toBe('ready');
1368
- expect(testConnection).toHaveBeenCalledTimes(2);
1369
- expect(scanConnection).toHaveBeenCalledTimes(2);
1370
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
1371
- expect(config.setup?.database_connection_ids).toEqual(['warehouse', 'analytics']);
1372
- expect(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8')).not.toContain('completed_steps:');
1373
- expect((await readKtxSetupState(tempDir)).completed_steps).toContain('databases');
1374
- });
1375
- it('keeps the connection config but does not mark databases complete when scanning fails', async () => {
1376
- const io = makeIo();
1377
- const result = await runKtxSetupDatabasesStep({
1378
- projectDir: tempDir,
1379
- inputMode: 'disabled',
1380
- databaseDrivers: ['postgres'],
1381
- databaseConnectionId: 'warehouse',
1382
- databaseUrl: 'env:DATABASE_URL',
1383
- databaseSchemas: [],
1384
- skipDatabases: false,
1385
- }, io.io, {
1386
- testConnection: vi.fn(async () => 0),
1387
- scanConnection: vi.fn(async () => 1),
1388
- });
1389
- expect(result.status).toBe('failed');
1390
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
1391
- expect(config.connections.warehouse).toMatchObject({ driver: 'postgres', url: 'env:DATABASE_URL' });
1392
- expect(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8')).not.toContain('completed_steps:');
1393
- expect(io.stderr()).toContain('Fast database ingest failed for warehouse.');
1394
- expect(io.stderr()).toContain('│ Fast database ingest failed for warehouse.');
1395
- expect(io.stderr()).toContain(`Debug command: ktx ingest warehouse --project-dir ${tempDir} --fast --debug`);
1396
- expect(io.stderr()).not.toContain('Structural scan failed for warehouse.');
1397
- expect(io.stderr()).not.toMatch(/^Fast database ingest failed for warehouse\./m);
1398
- });
1399
- it('prints the native SQLite rebuild command when scanning hits a Node ABI mismatch', async () => {
1400
- const io = makeIo();
1401
- const result = await runKtxSetupDatabasesStep({
1402
- projectDir: tempDir,
1403
- inputMode: 'disabled',
1404
- databaseDrivers: ['postgres'],
1405
- databaseConnectionId: 'warehouse',
1406
- databaseUrl: 'env:DATABASE_URL',
1407
- databaseSchemas: [],
1408
- skipDatabases: false,
1409
- }, io.io, {
1410
- testConnection: vi.fn(async () => 0),
1411
- rebuildNativeSqlite: vi.fn(async () => 1),
1412
- scanConnection: vi.fn(async (_projectDir, _connectionId, commandIo) => {
1413
- commandIo.stderr.write([
1414
- "The module '/workspace/node_modules/better-sqlite3/build/Release/better_sqlite3.node'",
1415
- 'was compiled against a different Node.js version using',
1416
- 'NODE_MODULE_VERSION 147. This version of Node.js requires',
1417
- 'NODE_MODULE_VERSION 137. Please try re-compiling or re-installing',
1418
- 'the module (for instance, using `npm rebuild` or `npm install`).',
1419
- '',
1420
- ].join('\n'));
1421
- return 1;
1422
- }),
1423
- });
1424
- expect(result.status).toBe('failed');
1425
- expect(io.stderr()).toContain('Native SQLite is built for a different Node.js ABI.');
1426
- expect(io.stderr()).toContain('│ Native SQLite is built for a different Node.js ABI.');
1427
- expect(io.stderr()).toContain('Fix: pnpm run native:rebuild');
1428
- expect(io.stderr()).toContain(`Retry: ktx ingest warehouse --project-dir ${tempDir} --fast`);
1429
- expect(io.stderr()).not.toContain('ktx scan');
1430
- expect(io.stderr()).not.toContain('npm rebuild');
1431
- expect(io.stderr()).not.toMatch(/^Native SQLite is built for a different Node.js ABI\./m);
1432
- });
1433
- it('rebuilds native SQLite once and retries setup scanning after a Node ABI mismatch', async () => {
1434
- const io = makeIo();
1435
- const scanConnection = vi.fn(async (_projectDir, _connectionId, commandIo) => {
1436
- if (scanConnection.mock.calls.length === 1) {
1437
- commandIo.stderr.write([
1438
- "The module '/workspace/node_modules/better-sqlite3/build/Release/better_sqlite3.node'",
1439
- 'was compiled against a different Node.js version using',
1440
- 'NODE_MODULE_VERSION 147. This version of Node.js requires',
1441
- 'NODE_MODULE_VERSION 137. Please try re-compiling or re-installing',
1442
- 'the module (for instance, using `npm rebuild` or `npm install`).',
1443
- '',
1444
- ].join('\n'));
1445
- return 1;
1446
- }
1447
- commandIo.stdout.write('What changed\n');
1448
- commandIo.stdout.write(' Semantic layer comparison found 0 changes across 56 tables\n');
1449
- commandIo.stdout.write(' New tables: 0\n');
1450
- commandIo.stdout.write(' Changed tables: 0\n');
1451
- commandIo.stdout.write(' Removed tables: 0\n');
1452
- commandIo.stdout.write(' Unchanged tables: 56\n');
1453
- return 0;
1454
- });
1455
- const rebuildNativeSqlite = vi.fn(async () => 0);
1456
- const result = await runKtxSetupDatabasesStep({
1457
- projectDir: tempDir,
1458
- inputMode: 'disabled',
1459
- databaseDrivers: ['postgres'],
1460
- databaseConnectionId: 'warehouse',
1461
- databaseUrl: 'env:DATABASE_URL',
1462
- databaseSchemas: [],
1463
- skipDatabases: false,
1464
- }, io.io, {
1465
- testConnection: vi.fn(async () => 0),
1466
- scanConnection,
1467
- rebuildNativeSqlite,
1468
- });
1469
- expect(result.status).toBe('ready');
1470
- expect(rebuildNativeSqlite).toHaveBeenCalledOnce();
1471
- expect(rebuildNativeSqlite).toHaveBeenCalledWith(expect.anything());
1472
- expect(scanConnection).toHaveBeenCalledTimes(2);
1473
- expect(io.stderr()).toContain('Native SQLite is built for a different Node.js ABI.');
1474
- expect(io.stderr()).toContain('Rebuilding Native SQLite with pnpm run native:rebuild…');
1475
- expect(io.stdout()).toContain('◇ Schema context complete for warehouse');
1476
- expect(io.stdout()).toContain('│ Changes: 0 changes across 56 tables');
1477
- });
1478
- it('writes query history config for supported Snowflake databases after validation succeeds', async () => {
1479
- const io = makeIo();
1480
- const result = await runKtxSetupDatabasesStep({
1481
- projectDir: tempDir,
1482
- inputMode: 'disabled',
1483
- databaseDrivers: ['snowflake'],
1484
- databaseConnectionId: 'snowflake',
1485
- databaseSchemas: [],
1486
- enableQueryHistory: true,
1487
- queryHistoryWindowDays: 30,
1488
- queryHistoryServiceAccountPatterns: ['^svc_'],
1489
- queryHistoryRedactionPatterns: ['(?i)secret'],
1490
- skipDatabases: false,
1491
- }, io.io, {
1492
- testConnection: vi.fn(async () => 0),
1493
- scanConnection: vi.fn(async () => 0),
1494
- prompts: makePromptAdapter({
1495
- textValues: ['env:SNOWFLAKE_ACCOUNT', 'WH', 'ANALYTICS', 'PUBLIC', 'reader', ''],
1496
- passwordValues: ['env:SNOWFLAKE_PASSWORD'],
1497
- }),
1498
- });
1499
- expect(result.status).toBe('ready');
1500
- const configText = await readFile(join(tempDir, 'ktx.yaml'), 'utf-8');
1501
- const config = parseKtxProjectConfig(configText);
1502
- expect(config.connections.snowflake).toMatchObject({
1503
- driver: 'snowflake',
1504
- authMethod: 'password',
1505
- context: {
1506
- queryHistory: {
1507
- enabled: true,
1508
- windowDays: 30,
1509
- filters: {
1510
- dropTrivialProbes: true,
1511
- serviceAccounts: {
1512
- patterns: ['^svc_'],
1513
- mode: 'exclude',
1514
- },
1515
- },
1516
- redactionPatterns: ['(?i)secret'],
1517
- },
1518
- },
1519
- });
1520
- expect(config.connections.snowflake.historicSql).toBeUndefined();
1521
- expect(configText).not.toContain('live-database');
1522
- expect(configText).not.toContain('historic-sql');
1523
- expect(configText).not.toMatch(/^\s+adapters:/m);
1524
- expect(config.ingest.adapters).toEqual([]);
1525
- });
1526
- it('writes Postgres query history config with minExecutions and ignores window/redaction output', async () => {
1527
- const io = makeIo();
1528
- const result = await runKtxSetupDatabasesStep({
1529
- projectDir: tempDir,
1530
- inputMode: 'disabled',
1531
- databaseDrivers: ['postgres'],
1532
- databaseConnectionId: 'warehouse',
1533
- databaseUrl: 'env:DATABASE_URL',
1534
- databaseSchemas: ['public'],
1535
- enableQueryHistory: true,
1536
- queryHistoryWindowDays: 30,
1537
- queryHistoryMinExecutions: 12,
1538
- queryHistoryServiceAccountPatterns: ['^svc_'],
1539
- queryHistoryRedactionPatterns: ['(?i)secret'],
1540
- skipDatabases: false,
1541
- }, io.io, {
1542
- testConnection: vi.fn(async () => 0),
1543
- scanConnection: vi.fn(async () => 0),
1544
- historicSqlProbe: vi.fn(async () => ({ ok: true, lines: [' OK pg_stat_statements ready (PostgreSQL 16.4)'] })),
1545
- });
1546
- expect(result.status).toBe('ready');
1547
- const configText = await readFile(join(tempDir, 'ktx.yaml'), 'utf-8');
1548
- const config = parseKtxProjectConfig(configText);
1549
- expect(config.connections.warehouse).toMatchObject({
1550
- driver: 'postgres',
1551
- url: 'env:DATABASE_URL',
1552
- schemas: ['public'],
1553
- context: {
1554
- queryHistory: {
1555
- enabled: true,
1556
- minExecutions: 12,
1557
- filters: {
1558
- dropTrivialProbes: true,
1559
- serviceAccounts: {
1560
- patterns: ['^svc_'],
1561
- mode: 'exclude',
1562
- },
1563
- },
1564
- },
1565
- },
1566
- });
1567
- expect(config.connections.warehouse.historicSql).toBeUndefined();
1568
- const warehouseContext = config.connections.warehouse.context &&
1569
- typeof config.connections.warehouse.context === 'object' &&
1570
- !Array.isArray(config.connections.warehouse.context)
1571
- ? config.connections.warehouse.context
1572
- : {};
1573
- expect(warehouseContext.queryHistory).not.toHaveProperty('windowDays');
1574
- expect(warehouseContext.queryHistory).not.toHaveProperty('redactionPatterns');
1575
- expect(configText).not.toContain('live-database');
1576
- expect(configText).not.toContain('historic-sql');
1577
- expect(configText).not.toMatch(/^\s+adapters:/m);
1578
- expect(config.ingest.adapters).toEqual([]);
1579
- expect(config.ingest.workUnits.maxConcurrency).toBe(6);
1580
- expect(io.stdout()).toContain('Query history probe...');
1581
- expect(io.stdout()).not.toContain('Historic SQL probe...');
1582
- expect(io.stdout()).toContain('pg_stat_statements ready');
1583
- });
1584
- it('asks interactive Postgres setup whether to enable query history', async () => {
1585
- await writeFile(join(tempDir, 'ktx.yaml'), [
1586
- 'connections:',
1587
- ' warehouse:',
1588
- ' driver: postgres',
1589
- ' url: env:DATABASE_URL',
1590
- ' readonly: true',
1591
- 'llm:',
1592
- ' provider:',
1593
- ' backend: anthropic',
1594
- ' models:',
1595
- ' default: claude-sonnet-4-6',
1596
- 'scan:',
1597
- ' enrichment:',
1598
- ' mode: llm',
1599
- ' embeddings:',
1600
- ' backend: openai',
1601
- ' model: text-embedding-3-small',
1602
- ' dimensions: 1536',
1603
- '',
1604
- ].join('\n'), 'utf-8');
1605
- const io = makeIo();
1606
- const prompts = makePromptAdapter({ selectValues: ['yes', 'deep'] });
1607
- const historicSqlProbe = vi.fn(async () => ({ ok: true, lines: [] }));
1608
- const result = await runKtxSetupDatabasesStep({
1609
- projectDir: tempDir,
1610
- inputMode: 'auto',
1611
- databaseConnectionIds: ['warehouse'],
1612
- databaseSchemas: [],
1613
- skipDatabases: false,
1614
- }, io.io, {
1615
- prompts,
1616
- testConnection: vi.fn(async () => 0),
1617
- scanConnection: vi.fn(async () => 0),
1618
- historicSqlProbe,
1619
- });
1620
- expect(result.status).toBe('ready');
1621
- expect(prompts.select).toHaveBeenCalledWith({
1622
- message: 'Enable query-history ingest for this PostgreSQL connection?',
1623
- options: [
1624
- { value: 'yes', label: 'Enable query history (recommended)' },
1625
- { value: 'no', label: 'Do not enable query history' },
1626
- { value: 'back', label: 'Back' },
1627
- ],
1628
- });
1629
- expect(prompts.select).toHaveBeenNthCalledWith(2, expect.objectContaining({
1630
- message: expect.stringContaining('How much database context should KTX build?'),
1631
- }));
1632
- expect(historicSqlProbe).toHaveBeenCalledWith({
1633
- projectDir: tempDir,
1634
- connectionId: 'warehouse',
1635
- dialect: 'postgres',
1636
- });
1637
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
1638
- expect(config.connections.warehouse).toMatchObject({
1639
- context: {
1640
- queryHistory: {
1641
- enabled: true,
1642
- minExecutions: 5,
1643
- filters: { dropTrivialProbes: true },
1644
- },
1645
- depth: 'deep',
1646
- },
1647
- });
1648
- });
1649
- it('writes query history config for supported existing database connections', async () => {
1650
- await writeFile(join(tempDir, 'ktx.yaml'), [
1651
- 'connections:',
1652
- ' analytics:',
1653
- ' driver: bigquery',
1654
- ' dataset_id: analytics',
1655
- ' credentials_json: env:BIGQUERY_CREDENTIALS_JSON',
1656
- '',
1657
- ].join('\n'), 'utf-8');
1658
- const io = makeIo();
1659
- const result = await runKtxSetupDatabasesStep({
1660
- projectDir: tempDir,
1661
- inputMode: 'disabled',
1662
- databaseConnectionIds: ['analytics'],
1663
- databaseSchemas: [],
1664
- enableQueryHistory: true,
1665
- queryHistoryWindowDays: 45,
1666
- skipDatabases: false,
1667
- }, io.io, {
1668
- testConnection: vi.fn(async () => 0),
1669
- scanConnection: vi.fn(async () => 0),
1670
- });
1671
- expect(result.status).toBe('ready');
1672
- const configText = await readFile(join(tempDir, 'ktx.yaml'), 'utf-8');
1673
- const config = parseKtxProjectConfig(configText);
1674
- expect(config.connections.analytics).toMatchObject({
1675
- context: {
1676
- queryHistory: {
1677
- enabled: true,
1678
- windowDays: 45,
1679
- filters: {
1680
- dropTrivialProbes: true,
1681
- },
1682
- redactionPatterns: [],
1683
- },
1684
- },
1685
- });
1686
- expect(config.connections.analytics.historicSql).toBeUndefined();
1687
- expect(configText).not.toContain('live-database');
1688
- expect(configText).not.toContain('historic-sql');
1689
- expect(configText).not.toMatch(/^\s+adapters:/m);
1690
- expect(config.ingest.adapters).toEqual([]);
1691
- });
1692
- it('enables query history on an existing Postgres connection', async () => {
1693
- await writeFile(join(tempDir, 'ktx.yaml'), [
1694
- 'connections:',
1695
- ' warehouse:',
1696
- ' driver: postgres',
1697
- ' url: env:DATABASE_URL',
1698
- '',
1699
- ].join('\n'), 'utf-8');
1700
- const io = makeIo();
1701
- const result = await runKtxSetupDatabasesStep({
1702
- projectDir: tempDir,
1703
- inputMode: 'disabled',
1704
- databaseConnectionIds: ['warehouse'],
1705
- databaseSchemas: [],
1706
- enableQueryHistory: true,
1707
- queryHistoryMinExecutions: 8,
1708
- skipDatabases: false,
1709
- }, io.io, {
1710
- testConnection: vi.fn(async () => 0),
1711
- scanConnection: vi.fn(async () => 0),
1712
- historicSqlProbe: vi.fn(async () => ({ ok: true, lines: [' OK pg_stat_statements ready (PostgreSQL 16.4)'] })),
1713
- });
1714
- expect(result.status).toBe('ready');
1715
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
1716
- expect(config.connections.warehouse).toMatchObject({
1717
- context: {
1718
- queryHistory: {
1719
- enabled: true,
1720
- minExecutions: 8,
1721
- filters: {
1722
- dropTrivialProbes: true,
1723
- },
1724
- },
1725
- },
1726
- });
1727
- expect(config.connections.warehouse.historicSql).toBeUndefined();
1728
- });
1729
- it('migrates legacy historicSql to context.queryHistory during database setup', async () => {
1730
- await writeFile(join(tempDir, 'ktx.yaml'), [
1731
- 'connections:',
1732
- ' warehouse:',
1733
- ' driver: postgres',
1734
- ' readonly: true',
1735
- ' historicSql:',
1736
- ' enabled: true',
1737
- ' dialect: postgres',
1738
- ' windowDays: 45',
1739
- ' minExecutions: 9',
1740
- ' concurrency: 3',
1741
- ' staleArchiveAfterDays: 120',
1742
- ' filters:',
1743
- ' dropTrivialProbes: true',
1744
- ' serviceAccounts:',
1745
- ' mode: exclude',
1746
- ' patterns:',
1747
- " - '^svc_'",
1748
- ' orchestrators:',
1749
- ' mode: exclude',
1750
- ' patterns:',
1751
- ' - airflow',
1752
- ' dropFailedBelow: 2',
1753
- ' redactionPatterns:',
1754
- " - '(?i)secret'",
1755
- '',
1756
- ].join('\n'), 'utf-8');
1757
- const io = makeIo();
1758
- await expect(runKtxSetupDatabasesStep({
1759
- projectDir: tempDir,
1760
- inputMode: 'disabled',
1761
- databaseConnectionIds: ['warehouse'],
1762
- databaseSchemas: [],
1763
- skipDatabases: false,
1764
- }, io.io, {
1765
- testConnection: vi.fn(async () => 0),
1766
- scanConnection: vi.fn(async () => 0),
1767
- historicSqlProbe: vi.fn(async () => ({ ok: true, lines: [] })),
1768
- })).resolves.toMatchObject({ status: 'ready' });
1769
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
1770
- expect(config.connections.warehouse.historicSql).toBeUndefined();
1771
- expect(config.connections.warehouse.context).toMatchObject({
1772
- queryHistory: {
1773
- enabled: true,
1774
- windowDays: 45,
1775
- minExecutions: 9,
1776
- concurrency: 3,
1777
- staleArchiveAfterDays: 120,
1778
- filters: {
1779
- dropTrivialProbes: true,
1780
- serviceAccounts: { mode: 'exclude', patterns: ['^svc_'] },
1781
- orchestrators: { mode: 'exclude', patterns: ['airflow'] },
1782
- dropFailedBelow: 2,
1783
- },
1784
- redactionPatterns: ['(?i)secret'],
1785
- },
1786
- });
1787
- });
1788
- it('prints a non-blocking Postgres query history probe failure after connection test succeeds', async () => {
1789
- const io = makeIo();
1790
- const historicSqlProbe = vi.fn(async () => ({
1791
- ok: false,
1792
- lines: [
1793
- ' FAIL pg_stat_statements extension is not installed in the connection database',
1794
- ' Fix: Run (against this database): CREATE EXTENSION pg_stat_statements;',
1795
- " Fix: Ensure shared_preload_libraries includes 'pg_stat_statements'.",
1796
- ],
1797
- }));
1798
- const result = await runKtxSetupDatabasesStep({
1799
- projectDir: tempDir,
1800
- inputMode: 'disabled',
1801
- databaseDrivers: ['postgres'],
1802
- databaseConnectionId: 'warehouse',
1803
- databaseUrl: 'env:DATABASE_URL',
1804
- databaseSchemas: [],
1805
- enableQueryHistory: true,
1806
- skipDatabases: false,
1807
- }, io.io, {
1808
- testConnection: vi.fn(async () => 0),
1809
- scanConnection: vi.fn(async () => 0),
1810
- historicSqlProbe,
1811
- });
1812
- expect(result.status).toBe('ready');
1813
- expect(historicSqlProbe).toHaveBeenCalledWith(expect.objectContaining({
1814
- projectDir: tempDir,
1815
- connectionId: 'warehouse',
1816
- dialect: 'postgres',
1817
- }));
1818
- expect(io.stdout()).toContain('Query history probe...');
1819
- expect(io.stdout()).not.toContain('Historic SQL probe...');
1820
- expect(io.stdout()).toContain('pg_stat_statements extension is not installed');
1821
- expect(io.stdout()).toContain('Setup written; first ingest run will fail until fixed.');
1822
- });
1823
- it('does not run the query history probe when the regular connection test fails', async () => {
1824
- const io = makeIo();
1825
- const historicSqlProbe = vi.fn(async () => ({ ok: true, lines: [] }));
1826
- const result = await runKtxSetupDatabasesStep({
1827
- projectDir: tempDir,
1828
- inputMode: 'disabled',
1829
- databaseDrivers: ['postgres'],
1830
- databaseConnectionId: 'warehouse',
1831
- databaseUrl: 'env:DATABASE_URL',
1832
- databaseSchemas: [],
1833
- enableQueryHistory: true,
1834
- skipDatabases: false,
1835
- }, io.io, {
1836
- testConnection: vi.fn(async () => 1),
1837
- scanConnection: vi.fn(async () => 0),
1838
- historicSqlProbe,
1839
- });
1840
- expect(result.status).toBe('failed');
1841
- expect(historicSqlProbe).not.toHaveBeenCalled();
1842
- });
1843
- it('returns missing input when non-interactive database flags are incomplete', async () => {
1844
- const io = makeIo();
1845
- const result = await runKtxSetupDatabasesStep({
1846
- projectDir: tempDir,
1847
- inputMode: 'disabled',
1848
- databaseDrivers: ['postgres'],
1849
- databaseSchemas: [],
1850
- skipDatabases: false,
1851
- }, io.io);
1852
- expect(result.status).toBe('missing-input');
1853
- expect(io.stderr()).toContain('Missing database connection id');
1854
- });
1855
- it('accepts former ingest subcommand names as non-interactive database connection ids', async () => {
1856
- const io = makeIo();
1857
- const result = await runKtxSetupDatabasesStep({
1858
- projectDir: tempDir,
1859
- inputMode: 'disabled',
1860
- databaseDrivers: ['postgres'],
1861
- databaseConnectionId: 'replay',
1862
- databaseUrl: 'env:DATABASE_URL',
1863
- databaseSchemas: [],
1864
- skipDatabases: false,
1865
- }, io.io, {
1866
- testConnection: vi.fn(async () => 0),
1867
- scanConnection: vi.fn(async () => 0),
1868
- });
1869
- expect(result.status).toBe('ready');
1870
- const config = parseKtxProjectConfig(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8'));
1871
- expect(config.connections.replay).toMatchObject({
1872
- driver: 'postgres',
1873
- url: 'env:DATABASE_URL',
1874
- });
1875
- });
1876
- it('leaves setup incomplete when databases are skipped', async () => {
1877
- const io = makeIo();
1878
- const result = await runKtxSetupDatabasesStep({ projectDir: tempDir, inputMode: 'disabled', databaseSchemas: [], skipDatabases: true }, io.io);
1879
- expect(result.status).toBe('skipped');
1880
- expect(io.stdout()).toContain('KTX cannot work until you add a database.');
1881
- expect(await readFile(join(tempDir, 'ktx.yaml'), 'utf-8')).not.toContain('completed_steps:');
1882
- });
1883
- });