@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,1899 +0,0 @@
1
- import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
2
- import { tmpdir } from 'node:os';
3
- import { join } from 'node:path';
4
- import { beforeEach, describe, expect, it, vi } from 'vitest';
5
- import { addTouchedSlSource } from '../tools/index.js';
6
- import { IngestBundleRunner } from './ingest-bundle.runner.js';
7
- import { createMemoryFlowLiveBuffer } from './memory-flow/live-buffer.js';
8
- class TestJobContext {
9
- jobId;
10
- userId;
11
- checkCancellation;
12
- updateProgressFn;
13
- parent;
14
- start;
15
- span;
16
- currentProgress = 0;
17
- constructor(jobId, userId, checkCancellation, updateProgressFn, parent, start = 0, span = 1) {
18
- this.jobId = jobId;
19
- this.userId = userId;
20
- this.checkCancellation = checkCancellation;
21
- this.updateProgressFn = updateProgressFn;
22
- this.parent = parent;
23
- this.start = start;
24
- this.span = span;
25
- }
26
- async updateProgress(progress, message) {
27
- const local = Math.max(0, Math.min(1, progress));
28
- this.currentProgress = local;
29
- if (this.parent) {
30
- await this.parent.updateProgress(Math.max(0, Math.min(1, this.start + this.span * local)), message);
31
- return;
32
- }
33
- await this.updateProgressFn(local, message);
34
- }
35
- startPhase(fraction) {
36
- return new TestJobContext(this.jobId, this.userId, this.checkCancellation, this.updateProgressFn, this, this.currentProgress, Math.max(0, Math.min(1, fraction)));
37
- }
38
- }
39
- const deferred = () => {
40
- let resolve;
41
- const promise = new Promise((r) => {
42
- resolve = r;
43
- });
44
- return { promise, resolve };
45
- };
46
- function bundleReplayInput() {
47
- return {
48
- runId: 'pending',
49
- connectionId: 'c1',
50
- adapter: 'fake',
51
- status: 'running',
52
- sourceDir: '/tmp/stage/upload-x',
53
- syncId: 'pending',
54
- errors: [],
55
- events: [],
56
- plannedWorkUnits: [],
57
- details: { actions: [], provenance: [], transcripts: [] },
58
- };
59
- }
60
- const makeDeps = () => {
61
- const runsRepo = {
62
- create: vi.fn().mockResolvedValue({ id: 'run-1' }),
63
- findMostRecentCompleted: vi.fn().mockResolvedValue(null),
64
- markFailed: vi.fn(),
65
- markCompleted: vi.fn(),
66
- };
67
- const provenanceRepo = {
68
- insertMany: vi.fn(),
69
- findHashesBySync: vi.fn().mockResolvedValue(new Map()),
70
- findLatestArtifactsForRawPaths: vi.fn().mockResolvedValue(new Map()),
71
- };
72
- const reportsRepo = {
73
- create: vi.fn().mockResolvedValue({ id: 'report-1' }),
74
- findByJobId: vi.fn().mockResolvedValue(null),
75
- markSuperseded: vi.fn().mockResolvedValue(undefined),
76
- };
77
- const canonicalPins = {
78
- listPins: vi.fn().mockResolvedValue([]),
79
- };
80
- const adapter = {
81
- source: 'fake',
82
- skillNames: [],
83
- reconcileSkillNames: undefined,
84
- evidenceIndexing: undefined,
85
- triageSupported: undefined,
86
- detect: vi.fn().mockResolvedValue(true),
87
- listTargetConnectionIds: undefined,
88
- finalize: undefined,
89
- chunk: vi.fn().mockResolvedValue({
90
- workUnits: [{ unitKey: 'u1', rawFiles: ['a.yml'], peerFileIndex: [], dependencyPaths: [] }],
91
- }),
92
- };
93
- const registry = { get: vi.fn().mockReturnValue(adapter) };
94
- const diffSetService = {
95
- compute: vi.fn().mockResolvedValue({ added: ['a.yml'], modified: [], deleted: [], unchanged: [] }),
96
- };
97
- const contextEvidenceIndex = {
98
- indexStagedDir: vi.fn().mockResolvedValue({
99
- documentsIndexed: 1,
100
- chunksIndexed: 1,
101
- documentsDeleted: 0,
102
- embeddingFailures: 0,
103
- warnings: [],
104
- }),
105
- publishSync: vi.fn().mockResolvedValue(undefined),
106
- };
107
- const pageTriage = {
108
- triageRun: vi.fn().mockResolvedValue({
109
- enabled: true,
110
- fullRawPaths: new Set(['a.yml']),
111
- warnings: [],
112
- }),
113
- };
114
- const scopedGit = {
115
- revParseHead: vi.fn().mockResolvedValue('h'),
116
- commitFiles: vi.fn().mockResolvedValue({ created: true, commitHash: 'h' }),
117
- commitStaged: vi.fn().mockResolvedValue({ created: false, commitHash: 'h' }),
118
- resetHardTo: vi.fn(),
119
- assertWorktreeClean: vi.fn().mockResolvedValue(undefined),
120
- writeBinaryNoRenamePatch: vi.fn(async (_base, _head, patchPath) => {
121
- await writeFile(patchPath, '', 'utf-8');
122
- }),
123
- applyPatchFile3WayIndex: vi.fn(),
124
- diffNameStatus: vi.fn().mockResolvedValue([]),
125
- changedPaths: vi.fn().mockResolvedValue([]),
126
- };
127
- const sessionWorktreeService = {
128
- create: vi.fn().mockResolvedValue({
129
- chatId: 'j1',
130
- workdir: '/tmp/wt',
131
- branch: 'session/j1',
132
- baseSha: 'b',
133
- createdAt: new Date(),
134
- git: scopedGit,
135
- config: {},
136
- }),
137
- cleanup: vi.fn(),
138
- };
139
- const agentRunner = { runLoop: vi.fn().mockResolvedValue({ stopReason: 'natural' }) };
140
- const gitService = {
141
- revParseHead: vi.fn().mockResolvedValue('base'),
142
- listFilesAtHead: vi.fn().mockResolvedValue([]),
143
- getFileAtCommit: vi.fn(),
144
- squashMergeIntoMain: vi
145
- .fn()
146
- .mockResolvedValue({ ok: true, squashSha: 'sq', touchedPaths: ['raw-sources/c1/fake/s/a.yml'] }),
147
- };
148
- const lockingService = {
149
- withLock: vi.fn().mockImplementation(async (_k, fn) => fn()),
150
- };
151
- const appSettingsService = {
152
- settings: {
153
- ai: { slValidation: { probeRowCount: 1 } },
154
- llm: { memoryIngestionModel: 'test-model' },
155
- },
156
- };
157
- const skillsRegistry = {
158
- listSkills: vi.fn().mockResolvedValue([]),
159
- getSkill: vi.fn().mockResolvedValue(null),
160
- buildSkillsPrompt: vi.fn().mockReturnValue(''),
161
- stripFrontmatter: vi.fn().mockImplementation((s) => s),
162
- };
163
- const promptService = {
164
- loadPrompt: vi.fn().mockResolvedValue('base-framing'),
165
- };
166
- const wikiService = {
167
- forWorktree: vi.fn(),
168
- listPageKeys: vi.fn().mockResolvedValue([]),
169
- readPage: vi.fn().mockResolvedValue(null),
170
- syncFromCommit: vi.fn().mockResolvedValue(undefined),
171
- };
172
- wikiService.forWorktree.mockReturnValue(wikiService);
173
- const knowledgeSlRefs = {
174
- syncFromWiki: vi.fn().mockResolvedValue({ inserted: 1, deleted: 0 }),
175
- };
176
- const knowledgeIndex = {
177
- listPagesForUser: vi.fn().mockResolvedValue([]),
178
- };
179
- const semanticLayerService = {
180
- forWorktree: vi.fn(),
181
- listFilesForConnection: vi
182
- .fn()
183
- .mockImplementation((connectionId) => Promise.resolve(connectionId === 'warehouse-2' ? ['looker__orders.yaml'] : [])),
184
- loadAllSources: vi
185
- .fn()
186
- .mockImplementation((connectionId) => Promise.resolve({
187
- sources: connectionId === 'warehouse-2' ? [{ name: 'looker__orders' }] : [],
188
- loadErrors: [],
189
- })),
190
- };
191
- semanticLayerService.forWorktree.mockReturnValue(semanticLayerService);
192
- const slSearchService = {
193
- indexSources: vi.fn().mockResolvedValue(undefined),
194
- };
195
- const slSourcesRepository = {};
196
- const slValidator = { validateSingleSource: vi.fn().mockResolvedValue({ errors: [], warnings: [] }) };
197
- const toolsetFactory = {
198
- createIngestWuToolset: vi.fn().mockReturnValue({
199
- toRuntimeTools: vi.fn().mockReturnValue({}),
200
- getAllTools: vi.fn().mockReturnValue([]),
201
- getToolNames: vi.fn().mockReturnValue([]),
202
- }),
203
- };
204
- const configService = {
205
- enqueueCommitMessageJobForExternalCommit: vi.fn().mockResolvedValue(undefined),
206
- };
207
- return {
208
- runsRepo,
209
- provenanceRepo,
210
- reportsRepo,
211
- canonicalPins,
212
- adapter,
213
- registry,
214
- diffSetService,
215
- contextEvidenceIndex,
216
- pageTriage,
217
- sessionWorktreeService,
218
- agentRunner,
219
- gitService,
220
- lockingService,
221
- slValidator,
222
- appSettingsService,
223
- skillsRegistry,
224
- promptService,
225
- wikiService,
226
- knowledgeSlRefs,
227
- knowledgeIndex,
228
- semanticLayerService,
229
- slSearchService,
230
- slSourcesRepository,
231
- toolsetFactory,
232
- configService,
233
- };
234
- };
235
- const buildRunner = (deps = makeDeps(), overrides = {}) => new IngestBundleRunner({
236
- runs: deps.runsRepo,
237
- provenance: deps.provenanceRepo,
238
- registry: deps.registry,
239
- diffSetService: deps.diffSetService,
240
- contextEvidenceIndex: deps.contextEvidenceIndex,
241
- pageTriage: deps.pageTriage,
242
- sessionWorktreeService: deps.sessionWorktreeService,
243
- agentRunner: deps.agentRunner,
244
- gitService: deps.gitService,
245
- lockingService: deps.lockingService,
246
- storage: {
247
- homeDir: '/tmp/ktx-test',
248
- systemGitAuthor: { name: 'KTX Test', email: 'system@ktx.local' },
249
- resolveUploadDir: (uploadId) => `/tmp/ktx-test/ingest-uploads/${uploadId}`,
250
- resolvePullDir: (jobId) => `/tmp/ktx-test/ingest-pulls/${jobId}`,
251
- resolveTranscriptDir: (jobId) => `/tmp/ktx-test/run/wu-transcripts/${jobId}`,
252
- resolveTracePath: (jobId) => `/tmp/ktx-test/ingest-traces/${jobId}/trace.jsonl`,
253
- },
254
- settings: {
255
- probeRowCount: 1,
256
- memoryIngestionModel: 'test-model',
257
- },
258
- skillsRegistry: deps.skillsRegistry,
259
- promptService: deps.promptService,
260
- wikiService: deps.wikiService,
261
- knowledgeSlRefs: deps.knowledgeSlRefs,
262
- knowledgeIndex: deps.knowledgeIndex,
263
- semanticLayerService: deps.semanticLayerService,
264
- slSearchService: deps.slSearchService,
265
- slSourcesRepository: deps.slSourcesRepository,
266
- connections: {
267
- listEnabledConnections: vi.fn().mockResolvedValue([]),
268
- getConnectionById: vi.fn().mockResolvedValue({ id: 'c1', name: 'warehouse', connectionType: 'POSTGRES' }),
269
- executeQuery: vi.fn().mockResolvedValue({ headers: [], rows: [] }),
270
- },
271
- reports: deps.reportsRepo,
272
- canonicalPins: deps.canonicalPins,
273
- slValidator: deps.slValidator,
274
- toolsetFactory: deps.toolsetFactory,
275
- commitMessages: {
276
- enqueueForExternalCommit: deps.configService.enqueueCommitMessageJobForExternalCommit,
277
- },
278
- embedding: {
279
- maxBatchSize: 10,
280
- computeEmbedding: async () => [0],
281
- computeEmbeddingsBulk: async (texts) => texts.map(() => [0]),
282
- },
283
- ...overrides,
284
- });
285
- describe('IngestBundleRunner — FIFO-per-connection', () => {
286
- let spy;
287
- beforeEach(() => {
288
- spy = vi.fn();
289
- });
290
- it('serializes two jobs on the same connectionId', async () => {
291
- const runner = buildRunner();
292
- runner.runInner = async (job) => {
293
- spy(job.jobId);
294
- await new Promise((r) => setTimeout(r, 5));
295
- spy(`done-${job.jobId}`);
296
- return {
297
- runId: 'r',
298
- syncId: 's',
299
- diffSummary: { added: 0, modified: 0, deleted: 0, unchanged: 0 },
300
- workUnitCount: 0,
301
- failedWorkUnits: [],
302
- artifactsWritten: 0,
303
- commitSha: null,
304
- };
305
- };
306
- const p1 = runner.run({
307
- jobId: 'j1',
308
- connectionId: 'c1',
309
- sourceKey: 'fake',
310
- trigger: 'upload',
311
- bundleRef: { kind: 'upload', uploadId: 'u1' },
312
- });
313
- const p2 = runner.run({
314
- jobId: 'j2',
315
- connectionId: 'c1',
316
- sourceKey: 'fake',
317
- trigger: 'upload',
318
- bundleRef: { kind: 'upload', uploadId: 'u2' },
319
- });
320
- await Promise.all([p1, p2]);
321
- expect(spy.mock.calls.map((c) => c[0])).toEqual(['j1', 'done-j1', 'j2', 'done-j2']);
322
- });
323
- it('runs jobs on different connections in parallel', async () => {
324
- const runner = buildRunner();
325
- const d1 = deferred();
326
- const d2 = deferred();
327
- runner.runInner = async (job) => {
328
- spy(`start-${job.jobId}`);
329
- if (job.jobId === 'j1') {
330
- await d1.promise;
331
- }
332
- if (job.jobId === 'j2') {
333
- await d2.promise;
334
- }
335
- return {
336
- runId: 'r',
337
- syncId: 's',
338
- diffSummary: { added: 0, modified: 0, deleted: 0, unchanged: 0 },
339
- workUnitCount: 0,
340
- failedWorkUnits: [],
341
- artifactsWritten: 0,
342
- commitSha: null,
343
- };
344
- };
345
- const p1 = runner.run({
346
- jobId: 'j1',
347
- connectionId: 'c1',
348
- sourceKey: 'fake',
349
- trigger: 'upload',
350
- bundleRef: { kind: 'upload', uploadId: 'u1' },
351
- });
352
- const p2 = runner.run({
353
- jobId: 'j2',
354
- connectionId: 'c2',
355
- sourceKey: 'fake',
356
- trigger: 'upload',
357
- bundleRef: { kind: 'upload', uploadId: 'u2' },
358
- });
359
- await new Promise((r) => setTimeout(r, 10));
360
- expect(spy.mock.calls.map((c) => c[0]).sort()).toEqual(['start-j1', 'start-j2']);
361
- d1.resolve();
362
- d2.resolve();
363
- await Promise.all([p1, p2]);
364
- });
365
- });
366
- describe('IngestBundleRunner — Stages 1 → 7', () => {
367
- it('runs the full pipeline, creates a run row, stages files, chunks, squashes, writes provenance', async () => {
368
- const deps = makeDeps();
369
- const runner = buildRunner(deps);
370
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
371
- currentHashes: new Map([['a.yml', 'h1']]),
372
- rawDirInWorktree: 'raw-sources/c1/fake/s',
373
- });
374
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
375
- const result = await runner.run({
376
- jobId: 'j1',
377
- connectionId: 'c1',
378
- sourceKey: 'fake',
379
- trigger: 'upload',
380
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
381
- });
382
- expect(deps.runsRepo.create).toHaveBeenCalledWith(expect.objectContaining({ jobId: 'j1', connectionId: 'c1', sourceKey: 'fake', trigger: 'upload' }));
383
- expect(deps.adapter.detect).toHaveBeenCalled();
384
- expect(deps.adapter.chunk).toHaveBeenCalled();
385
- expect(result.workUnitCount).toBe(1);
386
- expect(deps.diffSetService.compute).toHaveBeenCalled();
387
- expect(deps.gitService.squashMergeIntoMain).toHaveBeenCalledWith('session/j1', expect.any(String), expect.any(String), expect.stringContaining('ingest(fake): j1'));
388
- expect(deps.provenanceRepo.insertMany).toHaveBeenCalled();
389
- expect(result.commitSha).toBe('sq');
390
- expect(deps.runsRepo.markCompleted).toHaveBeenCalledWith('run-1', expect.any(Object), 'completed');
391
- // Single touched path → path-scoped diff for the LLM commit-message note.
392
- expect(deps.configService.enqueueCommitMessageJobForExternalCommit).toHaveBeenCalledWith({ commitHash: 'sq' }, expect.stringContaining('ingest(fake): j1'), 'raw-sources/c1/fake/s/a.yml');
393
- });
394
- it('fails before squash when reconciliation leaves a touched wiki page with dangling refs', async () => {
395
- const deps = makeDeps();
396
- let currentToolSession = null;
397
- const scopedWiki = {
398
- listPageKeys: vi.fn().mockResolvedValue(['page-a']),
399
- readPage: vi.fn().mockImplementation((_scope, _scopeId, key) => {
400
- if (key === 'page-a') {
401
- return Promise.resolve({
402
- pageKey: 'page-a',
403
- frontmatter: { summary: 'Page A', usage_mode: 'auto', refs: ['missing-page'] },
404
- content: 'See [[missing-page]].',
405
- });
406
- }
407
- return Promise.resolve(null);
408
- }),
409
- };
410
- deps.wikiService.forWorktree.mockReturnValue(scopedWiki);
411
- deps.toolsetFactory.createIngestWuToolset.mockImplementation((toolSession) => {
412
- currentToolSession = toolSession;
413
- return {
414
- toRuntimeTools: vi.fn().mockReturnValue({}),
415
- getAllTools: vi.fn().mockReturnValue([]),
416
- getToolNames: vi.fn().mockReturnValue([]),
417
- };
418
- });
419
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
420
- if (params.telemetryTags.operationName === 'ingest-bundle-wu') {
421
- currentToolSession.actions.push({ target: 'sl', type: 'updated', key: 'orders', detail: 'Orders source' });
422
- }
423
- if (params.telemetryTags.operationName === 'ingest-bundle-reconcile') {
424
- currentToolSession.actions.push({ target: 'wiki', type: 'created', key: 'page-a', detail: 'Page A' });
425
- }
426
- return { stopReason: 'natural' };
427
- });
428
- const runner = buildRunner(deps);
429
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
430
- currentHashes: new Map([['a.yml', 'h1']]),
431
- rawDirInWorktree: 'raw-sources/c1/fake/s',
432
- });
433
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
434
- await expect(runner.run({
435
- jobId: 'j1',
436
- connectionId: 'c1',
437
- sourceKey: 'fake',
438
- trigger: 'upload',
439
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
440
- })).rejects.toThrow(/wiki references target missing page\(s\): page-a -> missing-page/);
441
- expect(deps.runsRepo.markFailed).toHaveBeenCalledWith('run-1');
442
- expect(deps.gitService.squashMergeIntoMain).not.toHaveBeenCalled();
443
- });
444
- it('allows reconciliation to save circular wiki refs once both pages exist', async () => {
445
- const deps = makeDeps();
446
- let currentToolSession = null;
447
- const scopedWiki = {
448
- listPageKeys: vi.fn().mockResolvedValue(['page-a', 'page-b']),
449
- readPage: vi.fn().mockImplementation((_scope, _scopeId, key) => {
450
- if (key === 'page-a') {
451
- return Promise.resolve({
452
- pageKey: 'page-a',
453
- frontmatter: { summary: 'Page A', usage_mode: 'auto', refs: ['page-b'] },
454
- content: 'See [[page-b]].',
455
- });
456
- }
457
- if (key === 'page-b') {
458
- return Promise.resolve({
459
- pageKey: 'page-b',
460
- frontmatter: { summary: 'Page B', usage_mode: 'auto', refs: ['page-a'] },
461
- content: 'See [[page-a]].',
462
- });
463
- }
464
- return Promise.resolve(null);
465
- }),
466
- };
467
- deps.wikiService.forWorktree.mockReturnValue(scopedWiki);
468
- deps.toolsetFactory.createIngestWuToolset.mockImplementation((toolSession) => {
469
- currentToolSession = toolSession;
470
- return {
471
- toRuntimeTools: vi.fn().mockReturnValue({}),
472
- getAllTools: vi.fn().mockReturnValue([]),
473
- getToolNames: vi.fn().mockReturnValue([]),
474
- };
475
- });
476
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
477
- if (params.telemetryTags.operationName === 'ingest-bundle-wu') {
478
- currentToolSession.actions.push({ target: 'sl', type: 'updated', key: 'orders', detail: 'Orders source' });
479
- }
480
- if (params.telemetryTags.operationName === 'ingest-bundle-reconcile') {
481
- currentToolSession.actions.push({ target: 'wiki', type: 'created', key: 'page-a', detail: 'Page A' }, { target: 'wiki', type: 'created', key: 'page-b', detail: 'Page B' });
482
- }
483
- return { stopReason: 'natural' };
484
- });
485
- const runner = buildRunner(deps);
486
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
487
- currentHashes: new Map([['a.yml', 'h1']]),
488
- rawDirInWorktree: 'raw-sources/c1/fake/s',
489
- });
490
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
491
- const result = await runner.run({
492
- jobId: 'j1',
493
- connectionId: 'c1',
494
- sourceKey: 'fake',
495
- trigger: 'upload',
496
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
497
- });
498
- expect(result.failedWorkUnits).toEqual([]);
499
- expect(deps.gitService.squashMergeIntoMain).toHaveBeenCalled();
500
- expect(deps.runsRepo.markFailed).not.toHaveBeenCalled();
501
- });
502
- it('threads target warehouse connection names into WorkUnit and reconcile tool sessions', async () => {
503
- const deps = makeDeps();
504
- const sessions = [];
505
- deps.adapter.listTargetConnectionIds = vi.fn().mockResolvedValue(['warehouse']);
506
- deps.toolsetFactory.createIngestWuToolset.mockImplementation((toolSession) => {
507
- sessions.push(toolSession);
508
- return {
509
- toRuntimeTools: vi.fn().mockReturnValue({}),
510
- getAllTools: vi.fn().mockReturnValue([]),
511
- getToolNames: vi.fn().mockReturnValue([]),
512
- };
513
- });
514
- deps.agentRunner.runLoop.mockResolvedValue({ stopReason: 'natural' });
515
- const runner = buildRunner(deps);
516
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
517
- currentHashes: new Map([['a.yml', 'h1']]),
518
- rawDirInWorktree: 'raw-sources/notion/fake/s',
519
- });
520
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
521
- await runner.run({
522
- jobId: 'j1',
523
- connectionId: 'notion',
524
- sourceKey: 'fake',
525
- trigger: 'upload',
526
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
527
- });
528
- expect([...sessions[0].allowedConnectionNames].sort()).toEqual(['notion', 'warehouse']);
529
- });
530
- it('reuses document evidence indexing and page triage for document WorkUnits', async () => {
531
- const deps = makeDeps();
532
- deps.adapter.source = 'notion';
533
- deps.adapter.skillNames = ['notion_synthesize'];
534
- deps.adapter.reconcileSkillNames = [];
535
- deps.adapter.evidenceIndexing = 'documents';
536
- deps.adapter.triageSupported = true;
537
- deps.adapter.chunk.mockResolvedValue({
538
- workUnits: [
539
- { unitKey: 'full', rawFiles: ['pages/full/metadata.json'], dependencyPaths: [], peerFileIndex: [] },
540
- { unitKey: 'skip', rawFiles: ['pages/skip/metadata.json'], dependencyPaths: [], peerFileIndex: [] },
541
- ],
542
- });
543
- deps.diffSetService.compute.mockResolvedValue({
544
- added: ['pages/full/metadata.json', 'pages/skip/metadata.json'],
545
- modified: [],
546
- deleted: [],
547
- unchanged: [],
548
- });
549
- deps.pageTriage.triageRun.mockResolvedValue({
550
- enabled: true,
551
- fullRawPaths: new Set(['pages/full/metadata.json']),
552
- warnings: [],
553
- });
554
- const runner = buildRunner(deps);
555
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
556
- currentHashes: new Map([
557
- ['pages/full/metadata.json', 'h-full'],
558
- ['pages/skip/metadata.json', 'h-skip'],
559
- ]),
560
- rawDirInWorktree: 'raw-sources/c1/notion/s',
561
- });
562
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
563
- const result = await runner.run({
564
- jobId: 'j1',
565
- connectionId: 'c1',
566
- sourceKey: 'notion',
567
- trigger: 'upload',
568
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
569
- });
570
- const workUnitCalls = deps.agentRunner.runLoop.mock.calls.filter(([params]) => params.telemetryTags?.operationName === 'ingest-bundle-wu');
571
- expect(deps.contextEvidenceIndex.indexStagedDir).toHaveBeenCalled();
572
- expect(deps.pageTriage.triageRun).toHaveBeenCalled();
573
- expect(workUnitCalls).toHaveLength(1);
574
- expect(workUnitCalls[0][0].telemetryTags.unitKey).toBe('full');
575
- expect(result.workUnitCount).toBe(1);
576
- });
577
- it('emits memory-flow source and planning events for bundle ingest', async () => {
578
- const deps = makeDeps();
579
- deps.adapter.chunk.mockResolvedValue({
580
- workUnits: [
581
- {
582
- unitKey: 'u1',
583
- rawFiles: ['a.yml'],
584
- peerFileIndex: ['peer.yml'],
585
- dependencyPaths: ['manifest.yml'],
586
- },
587
- ],
588
- eviction: { deletedRawPaths: ['old.yml'] },
589
- });
590
- const runner = buildRunner(deps);
591
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
592
- currentHashes: new Map([['a.yml', 'h1']]),
593
- rawDirInWorktree: 'raw-sources/c1/fake/s',
594
- });
595
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
596
- const snapshots = [];
597
- const memoryFlow = createMemoryFlowLiveBuffer(bundleReplayInput(), {
598
- onChange: (snapshot) => snapshots.push(snapshot),
599
- });
600
- const ctx = new TestJobContext('j1', null, () => Promise.resolve(), () => Promise.resolve());
601
- ctx.memoryFlow = memoryFlow;
602
- await runner.run({
603
- jobId: 'j1',
604
- connectionId: 'c1',
605
- sourceKey: 'fake',
606
- trigger: 'upload',
607
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
608
- }, ctx);
609
- expect(memoryFlow.snapshot()).toMatchObject({
610
- runId: 'run-1',
611
- connectionId: 'c1',
612
- adapter: 'fake',
613
- sourceDir: '/tmp/stage/upload-x',
614
- });
615
- expect(memoryFlow.snapshot().plannedWorkUnits).toEqual([
616
- {
617
- unitKey: 'u1',
618
- rawFiles: ['a.yml'],
619
- peerFileCount: 1,
620
- dependencyCount: 1,
621
- },
622
- ]);
623
- expect(memoryFlow.snapshot().events).toEqual(expect.arrayContaining([
624
- expect.objectContaining({ type: 'source_acquired', adapter: 'fake', trigger: 'upload', fileCount: 1 }),
625
- expect.objectContaining({ type: 'scope_detected', fingerprint: null }),
626
- expect.objectContaining({ type: 'raw_snapshot_written', rawFileCount: 1 }),
627
- expect.objectContaining({ type: 'diff_computed', added: 1, modified: 0, deleted: 0, unchanged: 0 }),
628
- expect.objectContaining({ type: 'chunks_planned', chunkCount: 1, workUnitCount: 1, evictionCount: 1 }),
629
- ]));
630
- expect(snapshots.length).toBeGreaterThan(4);
631
- expect(deps.reportsRepo.create).toHaveBeenCalledWith(expect.objectContaining({
632
- body: expect.objectContaining({
633
- memoryFlow: expect.objectContaining({
634
- metadata: expect.objectContaining({
635
- schemaVersion: 1,
636
- mode: 'full',
637
- origin: 'captured',
638
- timing: 'captured',
639
- }),
640
- events: expect.arrayContaining([
641
- expect.objectContaining({
642
- type: 'source_acquired',
643
- emittedAt: expect.stringMatching(/^\d{4}-\d{2}-\d{2}T/),
644
- }),
645
- ]),
646
- }),
647
- }),
648
- }));
649
- });
650
- it('emits memory-flow WorkUnit step, candidate action, and finish events', async () => {
651
- const deps = makeDeps();
652
- let currentToolSession = null;
653
- deps.toolsetFactory.createIngestWuToolset.mockImplementation((toolSession) => {
654
- currentToolSession = toolSession;
655
- return {
656
- toRuntimeTools: vi.fn().mockReturnValue({}),
657
- getAllTools: vi.fn().mockReturnValue([]),
658
- getToolNames: vi.fn().mockReturnValue([]),
659
- };
660
- });
661
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
662
- if (params.telemetryTags.operationName === 'ingest-bundle-wu') {
663
- await params.onStepFinish?.({ stepIndex: 1, stepBudget: params.stepBudget });
664
- currentToolSession.actions.push({
665
- target: 'wiki',
666
- type: 'created',
667
- key: 'wiki/orders.md',
668
- detail: 'captured order context',
669
- });
670
- }
671
- return { stopReason: 'natural' };
672
- });
673
- const runner = buildRunner(deps);
674
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
675
- currentHashes: new Map([['a.yml', 'h1']]),
676
- rawDirInWorktree: 'raw-sources/c1/fake/s',
677
- });
678
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
679
- const memoryFlow = createMemoryFlowLiveBuffer(bundleReplayInput());
680
- const ctx = new TestJobContext('j1', null, () => Promise.resolve(), () => Promise.resolve());
681
- ctx.memoryFlow = memoryFlow;
682
- await runner.run({
683
- jobId: 'j1',
684
- connectionId: 'c1',
685
- sourceKey: 'fake',
686
- trigger: 'upload',
687
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
688
- }, ctx);
689
- expect(memoryFlow.snapshot().events).toEqual(expect.arrayContaining([
690
- expect.objectContaining({
691
- type: 'work_unit_started',
692
- unitKey: 'u1',
693
- skills: ['ingest_triage', 'sl_capture', 'wiki_capture'],
694
- stepBudget: 40,
695
- }),
696
- expect.objectContaining({ type: 'work_unit_step', unitKey: 'u1', stepIndex: 1, stepBudget: 40 }),
697
- expect.objectContaining({
698
- type: 'candidate_action',
699
- unitKey: 'u1',
700
- target: 'wiki',
701
- action: 'created',
702
- key: 'wiki/orders.md',
703
- }),
704
- expect.objectContaining({ type: 'work_unit_finished', unitKey: 'u1', status: 'success' }),
705
- ]));
706
- });
707
- it('emits memory-flow gate, saved, provenance, and report events', async () => {
708
- const deps = makeDeps();
709
- let currentToolSession = null;
710
- deps.toolsetFactory.createIngestWuToolset.mockImplementation((toolSession) => {
711
- currentToolSession = toolSession;
712
- return {
713
- toRuntimeTools: vi.fn().mockReturnValue({}),
714
- getAllTools: vi.fn().mockReturnValue([]),
715
- getToolNames: vi.fn().mockReturnValue([]),
716
- };
717
- });
718
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
719
- if (params.telemetryTags.operationName === 'ingest-bundle-wu') {
720
- currentToolSession.actions.push({
721
- target: 'sl',
722
- type: 'updated',
723
- key: 'orders',
724
- detail: 'captured gross revenue',
725
- });
726
- }
727
- if (params.telemetryTags.operationName === 'ingest-bundle-reconcile') {
728
- await params.toolSet.record_verification_ledger.execute({
729
- summary: 'Reconciliation emits no warehouse identifiers before fallback recording.',
730
- verifiedIdentifiers: [],
731
- unverifiedIdentifiers: [],
732
- }, { toolCallId: 'ledger-1', messages: [] });
733
- await params.toolSet.emit_conflict_resolution.execute({
734
- kind: 'near_duplicate',
735
- artifactKey: 'sl:orders',
736
- detail: 'orders retained as canonical',
737
- flaggedForHuman: false,
738
- }, { toolCallId: 'conflict-1', messages: [] });
739
- await params.toolSet.emit_unmapped_fallback.execute({
740
- rawPath: 'a.yml',
741
- reason: 'parse_error',
742
- clarification: 'semantic_not_representable',
743
- fallback: 'flagged',
744
- }, { toolCallId: 'fallback-1', messages: [] });
745
- }
746
- return { stopReason: 'natural' };
747
- });
748
- const runner = buildRunner(deps);
749
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
750
- currentHashes: new Map([['a.yml', 'h1']]),
751
- rawDirInWorktree: 'raw-sources/c1/fake/s',
752
- });
753
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
754
- const memoryFlow = createMemoryFlowLiveBuffer(bundleReplayInput());
755
- const ctx = new TestJobContext('j1', null, () => Promise.resolve(), () => Promise.resolve());
756
- ctx.memoryFlow = memoryFlow;
757
- await runner.run({
758
- jobId: 'j1',
759
- connectionId: 'c1',
760
- sourceKey: 'fake',
761
- trigger: 'upload',
762
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
763
- }, ctx);
764
- expect(memoryFlow.snapshot()).toMatchObject({
765
- reportId: 'report-1',
766
- reportPath: 'report-1',
767
- });
768
- expect(memoryFlow.snapshot().events).toEqual(expect.arrayContaining([
769
- expect.objectContaining({ type: 'reconciliation_finished', conflictCount: 1, fallbackCount: 1 }),
770
- expect.objectContaining({ type: 'saved', commitSha: 'sq', wikiCount: 0, slCount: 1 }),
771
- expect.objectContaining({ type: 'provenance_recorded', rowCount: 1 }),
772
- expect.objectContaining({ type: 'report_created', runId: 'run-1', reportPath: 'report-1' }),
773
- ]));
774
- });
775
- it('finishes successful bundle memory-flow runs as done', async () => {
776
- const deps = makeDeps();
777
- const runner = buildRunner(deps);
778
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
779
- currentHashes: new Map([['a.yml', 'h1']]),
780
- rawDirInWorktree: 'raw-sources/c1/fake/s',
781
- });
782
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
783
- const memoryFlow = createMemoryFlowLiveBuffer(bundleReplayInput());
784
- const ctx = new TestJobContext('j1', null, () => Promise.resolve(), () => Promise.resolve());
785
- ctx.memoryFlow = memoryFlow;
786
- await runner.run({
787
- jobId: 'j1',
788
- connectionId: 'c1',
789
- sourceKey: 'fake',
790
- trigger: 'upload',
791
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
792
- }, ctx);
793
- expect(memoryFlow.snapshot().status).toBe('done');
794
- });
795
- it('finishes bundle memory-flow runs with sanitized errors when the runner fails', async () => {
796
- const deps = makeDeps();
797
- const sensitiveMessage = [
798
- 'failed to read postgres://user',
799
- ':password',
800
- '@localhost:5432/db?api_key=abc',
801
- ' token=',
802
- 'secret',
803
- ].join('');
804
- deps.adapter.detect.mockRejectedValue(new Error(sensitiveMessage));
805
- const runner = buildRunner(deps);
806
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
807
- currentHashes: new Map([['a.yml', 'h1']]),
808
- rawDirInWorktree: 'raw-sources/c1/fake/s',
809
- });
810
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
811
- const memoryFlow = createMemoryFlowLiveBuffer(bundleReplayInput());
812
- const ctx = new TestJobContext('j1', null, () => Promise.resolve(), () => Promise.resolve());
813
- ctx.memoryFlow = memoryFlow;
814
- await expect(runner.run({
815
- jobId: 'j1',
816
- connectionId: 'c1',
817
- sourceKey: 'fake',
818
- trigger: 'upload',
819
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
820
- }, ctx)).rejects.toThrow(/failed to read/);
821
- expect(memoryFlow.snapshot()).toMatchObject({
822
- status: 'error',
823
- errors: ['failed to read postgres://[redacted] token=[redacted]'],
824
- });
825
- expect(memoryFlow.snapshot().events).toEqual(expect.arrayContaining([
826
- expect.objectContaining({ type: 'source_acquired', adapter: 'fake', trigger: 'upload', fileCount: 1 }),
827
- ]));
828
- });
829
- it('stores memory-flow provenance and transcript summaries in the ingest report body', async () => {
830
- const deps = makeDeps();
831
- deps.toolsetFactory.createIngestWuToolset.mockReturnValue({
832
- toRuntimeTools: vi.fn().mockReturnValue({
833
- read_raw_span: {
834
- description: 'read a raw span',
835
- inputSchema: {},
836
- execute: vi.fn().mockResolvedValue('safe excerpt'),
837
- },
838
- wiki_write: {
839
- description: 'write wiki',
840
- inputSchema: {},
841
- execute: vi.fn().mockResolvedValue('written'),
842
- },
843
- }),
844
- getAllTools: vi.fn().mockReturnValue([]),
845
- getToolNames: vi.fn().mockReturnValue([]),
846
- });
847
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
848
- if (params.telemetryTags.operationName === 'ingest-bundle-wu') {
849
- await params.toolSet.read_raw_span.execute({ path: 'a.yml', startLine: 1, endLine: 2 }, { toolCallId: 'read-1', messages: [] });
850
- await params.toolSet.record_verification_ledger.execute({
851
- summary: 'Wiki write contains no warehouse identifiers.',
852
- verifiedIdentifiers: [],
853
- unverifiedIdentifiers: [],
854
- }, { toolCallId: 'ledger-1', messages: [] });
855
- await params.toolSet.wiki_write.execute({ key: 'wiki/a.md', content: 'safe summary' }, { toolCallId: 'wiki-1', messages: [] });
856
- }
857
- return { stopReason: 'natural' };
858
- });
859
- const runner = buildRunner(deps);
860
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
861
- currentHashes: new Map([['a.yml', 'h1']]),
862
- rawDirInWorktree: 'raw-sources/c1/fake/s',
863
- });
864
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
865
- await runner.run({
866
- jobId: 'j1',
867
- connectionId: 'c1',
868
- sourceKey: 'fake',
869
- trigger: 'upload',
870
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
871
- });
872
- expect(deps.reportsRepo.create).toHaveBeenCalledWith(expect.objectContaining({
873
- body: expect.objectContaining({
874
- provenanceRows: [
875
- expect.objectContaining({
876
- rawPath: 'a.yml',
877
- artifactKind: null,
878
- artifactKey: null,
879
- actionType: 'skipped',
880
- targetConnectionId: null,
881
- }),
882
- ],
883
- toolTranscripts: [
884
- {
885
- unitKey: 'u1',
886
- path: '/tmp/ktx-test/run/wu-transcripts/j1/u1.jsonl',
887
- toolCallCount: 3,
888
- errorCount: 0,
889
- toolNames: ['read_raw_span', 'record_verification_ledger', 'wiki_write'],
890
- },
891
- ],
892
- }),
893
- }));
894
- });
895
- it('persists WorkUnit unmapped fallback records in the report body', async () => {
896
- const deps = makeDeps();
897
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
898
- if (params.telemetryTags.operationName === 'ingest-bundle-wu') {
899
- await params.toolSet.record_verification_ledger.execute({
900
- summary: 'Unmapped fallback records an unsupported conversion metric without verified warehouse identifiers.',
901
- verifiedIdentifiers: [],
902
- unverifiedIdentifiers: [],
903
- }, { toolCallId: 'ledger-1', messages: [] });
904
- await params.toolSet.emit_unmapped_fallback.execute({
905
- rawPath: 'a.yml',
906
- reason: 'conversion_metric_unsupported',
907
- fallback: 'flagged',
908
- }, { toolCallId: 'fallback-1', messages: [] });
909
- }
910
- return { stopReason: 'natural' };
911
- });
912
- const runner = buildRunner(deps);
913
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
914
- currentHashes: new Map([['a.yml', 'h1']]),
915
- rawDirInWorktree: 'raw-sources/c1/fake/s',
916
- });
917
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
918
- await runner.run({
919
- jobId: 'j1',
920
- connectionId: 'c1',
921
- sourceKey: 'fake',
922
- trigger: 'upload',
923
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
924
- });
925
- expect(deps.reportsRepo.create).toHaveBeenCalledWith(expect.objectContaining({
926
- body: expect.objectContaining({
927
- unmappedFallbacks: [
928
- {
929
- rawPath: 'a.yml',
930
- reason: 'conversion_metric_unsupported',
931
- detail: expect.stringContaining('conversion metric'),
932
- fallback: 'flagged',
933
- },
934
- ],
935
- }),
936
- }));
937
- });
938
- it('persists reconciliation conflict and eviction records in the report body', async () => {
939
- const deps = makeDeps();
940
- deps.diffSetService.compute.mockResolvedValue({
941
- added: [],
942
- modified: [],
943
- deleted: ['views/old_orders.view.lkml'],
944
- unchanged: [],
945
- });
946
- deps.adapter.chunk.mockResolvedValue({
947
- workUnits: [],
948
- eviction: { deletedRawPaths: ['views/old_orders.view.lkml'] },
949
- });
950
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
951
- if (params.telemetryTags.operationName === 'ingest-bundle-reconcile') {
952
- await params.toolSet.record_verification_ledger.execute({
953
- summary: 'Reconciliation records conflict, eviction, and fallback decisions without warehouse identifiers.',
954
- verifiedIdentifiers: [],
955
- unverifiedIdentifiers: [],
956
- }, { toolCallId: 'ledger-1', messages: [] });
957
- await params.toolSet.emit_conflict_resolution.execute({
958
- kind: 'near_duplicate',
959
- artifactKey: 'sl:orders',
960
- detail: 'orders and old_orders overlapped; orders is retained as canonical',
961
- flaggedForHuman: false,
962
- }, { toolCallId: 'conflict-1', messages: [] });
963
- await params.toolSet.emit_eviction_decision.execute({
964
- rawPath: 'views/old_orders.view.lkml',
965
- artifactKind: 'sl',
966
- artifactKey: 'old_orders',
967
- action: 'removed',
968
- reason: 'raw source disappeared in this sync',
969
- }, { toolCallId: 'eviction-1', messages: [] });
970
- await params.toolSet.emit_unmapped_fallback.execute({
971
- rawPath: 'cards/untranslated.json',
972
- reason: 'parse_error',
973
- clarification: 'metabase_sql_untranslated',
974
- fallback: 'flagged',
975
- }, { toolCallId: 'fallback-1', messages: [] });
976
- }
977
- return { stopReason: 'natural' };
978
- });
979
- const runner = buildRunner(deps);
980
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
981
- currentHashes: new Map([['cards/untranslated.json', 'h-card']]),
982
- rawDirInWorktree: 'raw-sources/c1/fake/s',
983
- });
984
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
985
- await runner.run({
986
- jobId: 'j1',
987
- connectionId: 'c1',
988
- sourceKey: 'fake',
989
- trigger: 'upload',
990
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
991
- });
992
- expect(deps.reportsRepo.create).toHaveBeenCalledWith(expect.objectContaining({
993
- body: expect.objectContaining({
994
- conflictsResolved: [
995
- {
996
- kind: 'near_duplicate',
997
- artifactKey: 'sl:orders',
998
- detail: 'orders and old_orders overlapped; orders is retained as canonical',
999
- flaggedForHuman: false,
1000
- },
1001
- ],
1002
- evictionsApplied: [
1003
- {
1004
- rawPath: 'views/old_orders.view.lkml',
1005
- artifactKind: 'sl',
1006
- artifactKey: 'old_orders',
1007
- action: 'removed',
1008
- reason: 'raw source disappeared in this sync',
1009
- },
1010
- ],
1011
- unmappedFallbacks: [
1012
- {
1013
- rawPath: 'cards/untranslated.json',
1014
- reason: 'parse_error',
1015
- detail: expect.stringContaining('metabase_sql_untranslated'),
1016
- fallback: 'flagged',
1017
- },
1018
- ],
1019
- }),
1020
- }));
1021
- });
1022
- it('persists reconciliation artifact resolutions as provenance rows', async () => {
1023
- const deps = makeDeps();
1024
- deps.diffSetService.compute.mockResolvedValue({
1025
- added: [],
1026
- modified: [],
1027
- deleted: ['looks/20.json'],
1028
- unchanged: ['explores/b2b/sales_pipeline.json'],
1029
- });
1030
- deps.adapter.chunk.mockResolvedValue({
1031
- workUnits: [],
1032
- eviction: { deletedRawPaths: ['looks/20.json'] },
1033
- });
1034
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
1035
- if (params.telemetryTags.operationName === 'ingest-bundle-reconcile') {
1036
- await params.toolSet.emit_artifact_resolution.execute({
1037
- rawPath: 'explores/b2b/sales_pipeline.json',
1038
- artifactKind: 'sl',
1039
- artifactKey: 'looker__b2b__sales_pipeline',
1040
- actionType: 'subsumed',
1041
- reason: 'File adapter source b2b__sales_pipeline is canonical.',
1042
- }, { toolCallId: 'resolution-1', messages: [] });
1043
- }
1044
- return { stopReason: 'natural' };
1045
- });
1046
- const runner = buildRunner(deps);
1047
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1048
- currentHashes: new Map([['explores/b2b/sales_pipeline.json', 'h-explore']]),
1049
- rawDirInWorktree: 'raw-sources/c1/looker/s',
1050
- });
1051
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1052
- await runner.run({
1053
- jobId: 'j1',
1054
- connectionId: 'c1',
1055
- sourceKey: 'looker',
1056
- trigger: 'upload',
1057
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1058
- });
1059
- expect(deps.provenanceRepo.insertMany).toHaveBeenCalledWith(expect.arrayContaining([
1060
- expect.objectContaining({
1061
- rawPath: 'explores/b2b/sales_pipeline.json',
1062
- artifactKind: 'sl',
1063
- artifactKey: 'looker__b2b__sales_pipeline',
1064
- actionType: 'subsumed',
1065
- }),
1066
- ]));
1067
- expect(deps.reportsRepo.create).toHaveBeenCalledWith(expect.objectContaining({
1068
- body: expect.objectContaining({
1069
- artifactResolutions: [
1070
- {
1071
- rawPath: 'explores/b2b/sales_pipeline.json',
1072
- artifactKind: 'sl',
1073
- artifactKey: 'looker__b2b__sales_pipeline',
1074
- actionType: 'subsumed',
1075
- reason: 'File adapter source b2b__sales_pipeline is canonical.',
1076
- },
1077
- ],
1078
- }),
1079
- }));
1080
- });
1081
- it('runs manual override reconciliation from the prior report snapshot and marks the prior report superseded', async () => {
1082
- const tempRoot = await mkdtemp(join(tmpdir(), 'ktx-override-'));
1083
- const deps = makeDeps();
1084
- deps.reportsRepo.findByJobId.mockResolvedValue({
1085
- id: 'report-old',
1086
- runId: 'run-old',
1087
- jobId: 'job-old',
1088
- connectionId: 'c1',
1089
- sourceKey: 'fake',
1090
- createdAt: '2026-04-27T10:00:00.000Z',
1091
- body: {
1092
- syncId: '2026-04-27-100000-job-old',
1093
- diffSummary: { added: 1, modified: 0, deleted: 0, unchanged: 0 },
1094
- commitSha: 'old-sha',
1095
- workUnits: [
1096
- {
1097
- unitKey: 'wu-orders',
1098
- rawFiles: ['a.yml'],
1099
- status: 'success',
1100
- actions: [
1101
- {
1102
- target: 'sl',
1103
- type: 'updated',
1104
- key: 'orders',
1105
- detail: 'captured gross_revenue as orders.gross_revenue',
1106
- },
1107
- ],
1108
- touchedSlSources: ['orders'],
1109
- },
1110
- ],
1111
- failedWorkUnits: [],
1112
- reconciliationSkipped: false,
1113
- conflictsResolved: [
1114
- {
1115
- kind: 'definitional_contradiction',
1116
- contestedKey: 'gross_revenue',
1117
- artifactKey: 'orders.gross_revenue',
1118
- detail: 'billing and orders disagree',
1119
- flaggedForHuman: true,
1120
- },
1121
- ],
1122
- evictionsApplied: [],
1123
- unmappedFallbacks: [],
1124
- evictionInputs: [],
1125
- unresolvedCards: [],
1126
- supersededBy: null,
1127
- overrideOf: null,
1128
- },
1129
- });
1130
- deps.gitService.listFilesAtHead.mockResolvedValue(['raw-sources/c1/fake/2026-04-27-100000-job-old/a.yml']);
1131
- deps.gitService.getFileAtCommit.mockResolvedValue('name: orders\n');
1132
- deps.diffSetService.compute.mockResolvedValue({ added: [], modified: [], deleted: [], unchanged: ['a.yml'] });
1133
- deps.agentRunner.runLoop.mockImplementation(async (args) => {
1134
- await args.toolSet.emit_conflict_resolution.execute({
1135
- kind: 'definitional_contradiction',
1136
- contestedKey: 'gross_revenue',
1137
- artifactKey: 'orders.gross_revenue',
1138
- detail: 'canonical pin applied',
1139
- flaggedForHuman: false,
1140
- }, { toolCallId: 'tc-1', messages: [] });
1141
- return { stopReason: 'natural' };
1142
- });
1143
- const runner = new IngestBundleRunner({
1144
- ...buildRunner(deps).deps,
1145
- storage: {
1146
- homeDir: tempRoot,
1147
- systemGitAuthor: { name: 'KTX Test', email: 'system@ktx.local' },
1148
- resolveUploadDir: (uploadId) => join(tempRoot, 'ingest-uploads', uploadId),
1149
- resolvePullDir: (jobId) => join(tempRoot, 'ingest-pulls', jobId),
1150
- resolveTranscriptDir: (jobId) => join(tempRoot, 'run', 'wu-transcripts', jobId),
1151
- },
1152
- });
1153
- await runner.run({
1154
- jobId: 'job-new',
1155
- connectionId: 'c1',
1156
- sourceKey: 'fake',
1157
- trigger: 'manual_override',
1158
- bundleRef: { kind: 'override', priorJobId: 'job-old' },
1159
- });
1160
- await expect(readFile(join(tempRoot, 'ingest-pulls/job-new/a.yml'), 'utf-8')).resolves.toBe('name: orders\n');
1161
- expect(deps.adapter.chunk).not.toHaveBeenCalled();
1162
- expect(deps.agentRunner.runLoop).toHaveBeenCalled();
1163
- expect(deps.reportsRepo.create).toHaveBeenCalledWith(expect.objectContaining({
1164
- jobId: 'job-new',
1165
- body: expect.objectContaining({
1166
- overrideOf: 'job-old',
1167
- supersededBy: null,
1168
- conflictsResolved: [
1169
- expect.objectContaining({
1170
- contestedKey: 'gross_revenue',
1171
- flaggedForHuman: false,
1172
- }),
1173
- ],
1174
- }),
1175
- }));
1176
- expect(deps.reportsRepo.markSuperseded).toHaveBeenCalledWith('job-old', 'job-new');
1177
- await rm(tempRoot, { recursive: true, force: true });
1178
- });
1179
- it('passes connection canonical pins into each WorkUnit system prompt', async () => {
1180
- const deps = makeDeps();
1181
- deps.adapter.chunk.mockResolvedValue({
1182
- workUnits: [
1183
- {
1184
- unitKey: 'wu-orders',
1185
- rawFiles: ['cards/orders.yml'],
1186
- peerFileIndex: [],
1187
- dependencyPaths: [],
1188
- },
1189
- ],
1190
- });
1191
- deps.canonicalPins.listPins.mockResolvedValue([
1192
- {
1193
- contestedKey: 'gross_revenue',
1194
- canonicalArtifactKey: 'finance.gross_revenue',
1195
- pinnedAt: '2026-04-27T12:00:00.000Z',
1196
- pinnedBy: 'user-1',
1197
- reason: 'finance owns revenue definitions',
1198
- },
1199
- ]);
1200
- deps.agentRunner.runLoop.mockResolvedValue({ stopReason: 'natural' });
1201
- const runner = buildRunner(deps);
1202
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1203
- currentHashes: new Map([['cards/orders.yml', 'h1']]),
1204
- rawDirInWorktree: 'raw-sources/c1/fake/s',
1205
- });
1206
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1207
- await runner.run({
1208
- jobId: 'j1',
1209
- connectionId: 'c1',
1210
- sourceKey: 'fake',
1211
- trigger: 'upload',
1212
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1213
- });
1214
- const workUnitCall = deps.agentRunner.runLoop.mock.calls.find(([params]) => params.telemetryTags.operationName === 'ingest-bundle-wu');
1215
- expect(workUnitCall?.[0].systemPrompt).toContain('<canonical_pins>');
1216
- expect(workUnitCall?.[0].systemPrompt).toContain('contestedKey: gross_revenue');
1217
- expect(workUnitCall?.[0].systemPrompt).toContain('canonicalArtifactKey: finance.gross_revenue');
1218
- expect(deps.canonicalPins.listPins).toHaveBeenCalledTimes(1);
1219
- expect(deps.canonicalPins.listPins).toHaveBeenCalledWith(['c1']);
1220
- });
1221
- it('builds WorkUnit SL index and canonical pins across adapter target connections', async () => {
1222
- const deps = makeDeps();
1223
- deps.adapter.listTargetConnectionIds = vi.fn().mockResolvedValue(['warehouse-2']);
1224
- deps.adapter.chunk.mockResolvedValue({
1225
- workUnits: [
1226
- {
1227
- unitKey: 'looker-explore-b2b-orders',
1228
- rawFiles: ['explores/b2b/orders.json'],
1229
- peerFileIndex: [],
1230
- dependencyPaths: [],
1231
- },
1232
- ],
1233
- });
1234
- deps.canonicalPins.listPins.mockResolvedValue([
1235
- {
1236
- contestedKey: 'gross_revenue',
1237
- canonicalArtifactKey: 'finance.gross_revenue',
1238
- pinnedAt: '2026-05-01T12:00:00.000Z',
1239
- pinnedBy: 'user-1',
1240
- reason: 'finance owns revenue definitions',
1241
- },
1242
- ]);
1243
- const runner = buildRunner(deps);
1244
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1245
- currentHashes: new Map([['explores/b2b/orders.json', 'h1']]),
1246
- rawDirInWorktree: 'raw-sources/looker-run/fake/s',
1247
- });
1248
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1249
- await runner.run({
1250
- jobId: 'j1',
1251
- connectionId: 'looker-run',
1252
- sourceKey: 'fake',
1253
- trigger: 'upload',
1254
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1255
- });
1256
- const workUnitCall = deps.agentRunner.runLoop.mock.calls.find(([params]) => params.telemetryTags.operationName === 'ingest-bundle-wu');
1257
- expect(deps.adapter.listTargetConnectionIds).toHaveBeenCalledWith('/tmp/stage/upload-x');
1258
- expect(deps.semanticLayerService.loadAllSources).toHaveBeenCalledWith('looker-run');
1259
- expect(deps.semanticLayerService.loadAllSources).toHaveBeenCalledWith('warehouse-2');
1260
- expect(workUnitCall?.[0].userPrompt).toContain('looker__orders');
1261
- expect(deps.canonicalPins.listPins).toHaveBeenCalledWith(['looker-run', 'warehouse-2']);
1262
- });
1263
- it('syncs wiki refs, reindexes, and records provenance on SL target connections', async () => {
1264
- const deps = makeDeps();
1265
- let currentToolSession = null;
1266
- deps.adapter.listTargetConnectionIds = vi.fn().mockResolvedValue(['warehouse-2']);
1267
- deps.wikiService.readPage = vi.fn().mockResolvedValue({
1268
- frontmatter: { sl_refs: ['looker__b2b__sales_pipeline.arr'] },
1269
- });
1270
- deps.semanticLayerService.loadAllSources.mockImplementation((connectionId) => Promise.resolve({ sources: [{ name: `${connectionId}_source` }], loadErrors: [] }));
1271
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
1272
- if (params.telemetryTags.operationName === 'ingest-bundle-wu') {
1273
- currentToolSession.actions.push({
1274
- target: 'wiki',
1275
- type: 'created',
1276
- key: 'wiki/global/pipeline.md',
1277
- detail: 'Pipeline article',
1278
- }, {
1279
- target: 'sl',
1280
- type: 'created',
1281
- key: 'looker__b2b__sales_pipeline',
1282
- detail: 'Created warehouse source',
1283
- targetConnectionId: 'warehouse-2',
1284
- });
1285
- addTouchedSlSource(currentToolSession.touchedSlSources, 'warehouse-2', 'looker__b2b__sales_pipeline');
1286
- }
1287
- return { stopReason: 'natural' };
1288
- });
1289
- deps.toolsetFactory.createIngestWuToolset.mockImplementation((toolSession) => {
1290
- currentToolSession = toolSession;
1291
- return {
1292
- toRuntimeTools: vi.fn().mockReturnValue({}),
1293
- getAllTools: vi.fn().mockReturnValue([]),
1294
- getToolNames: vi.fn().mockReturnValue([]),
1295
- };
1296
- });
1297
- const runner = buildRunner(deps);
1298
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1299
- currentHashes: new Map([['a.yml', 'h1']]),
1300
- rawDirInWorktree: 'raw-sources/looker-run/fake/s',
1301
- });
1302
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1303
- await runner.run({
1304
- jobId: 'j1',
1305
- connectionId: 'looker-run',
1306
- sourceKey: 'fake',
1307
- trigger: 'upload',
1308
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1309
- });
1310
- expect(deps.knowledgeSlRefs.syncFromWiki).toHaveBeenCalledWith({
1311
- wikiPageKey: 'wiki/global/pipeline.md',
1312
- wikiScope: 'GLOBAL',
1313
- wikiScopeId: null,
1314
- refs: [{ connectionId: 'warehouse-2', sourceName: 'looker__b2b__sales_pipeline' }],
1315
- });
1316
- expect(deps.semanticLayerService.loadAllSources).toHaveBeenCalledWith('warehouse-2');
1317
- expect(deps.slSearchService.indexSources).toHaveBeenCalledWith('warehouse-2', [{ name: 'warehouse-2_source' }]);
1318
- expect(deps.provenanceRepo.insertMany).toHaveBeenCalledWith(expect.arrayContaining([
1319
- expect.objectContaining({
1320
- connectionId: 'looker-run',
1321
- targetConnectionId: 'warehouse-2',
1322
- artifactKind: 'sl',
1323
- artifactKey: 'looker__b2b__sales_pipeline',
1324
- }),
1325
- expect.objectContaining({
1326
- connectionId: 'looker-run',
1327
- targetConnectionId: null,
1328
- artifactKind: 'wiki',
1329
- artifactKey: 'wiki/global/pipeline.md',
1330
- }),
1331
- ]));
1332
- expect(deps.reportsRepo.create).toHaveBeenCalledWith(expect.objectContaining({
1333
- body: expect.objectContaining({
1334
- workUnits: [
1335
- expect.objectContaining({
1336
- touchedSlSources: [{ connectionId: 'warehouse-2', sourceName: 'looker__b2b__sales_pipeline' }],
1337
- }),
1338
- ],
1339
- provenanceRows: expect.arrayContaining([
1340
- expect.objectContaining({
1341
- artifactKind: 'sl',
1342
- artifactKey: 'looker__b2b__sales_pipeline',
1343
- targetConnectionId: 'warehouse-2',
1344
- }),
1345
- ]),
1346
- }),
1347
- }));
1348
- });
1349
- it('runs adapter finalization before squash, records the outcome, and reindexes touched sources', async () => {
1350
- const deps = makeDeps();
1351
- deps.adapter.source = 'metricflow';
1352
- deps.registry.get.mockReturnValue(deps.adapter);
1353
- deps.adapter.chunk.mockResolvedValue({
1354
- workUnits: [],
1355
- parseArtifacts: { semanticModels: [{ name: 'orders' }] },
1356
- });
1357
- deps.adapter.listTargetConnectionIds = vi.fn().mockResolvedValue(['warehouse-2']);
1358
- deps.adapter.finalize = vi.fn().mockResolvedValue({
1359
- result: { sourcesTouched: 1 },
1360
- warnings: ['kept going'],
1361
- errors: [],
1362
- touchedSources: [{ connectionId: 'warehouse-2', sourceName: 'orders' }],
1363
- changedWikiPageKeys: [],
1364
- actions: [
1365
- {
1366
- target: 'sl',
1367
- type: 'updated',
1368
- key: 'orders',
1369
- targetConnectionId: 'warehouse-2',
1370
- detail: 'Finalized orders usage',
1371
- rawPaths: ['semantic_models.yml'],
1372
- },
1373
- ],
1374
- });
1375
- deps.semanticLayerService.loadAllSources.mockImplementation((connectionId) => Promise.resolve({ sources: [{ name: `${connectionId}_source` }], loadErrors: [] }));
1376
- let head = 'pre-finalization';
1377
- const git = {
1378
- revParseHead: vi.fn(async () => head),
1379
- commitFiles: vi.fn().mockImplementation(async (paths) => {
1380
- if (paths.includes('semantic-layer/warehouse-2/orders.yaml')) {
1381
- head = 'post-finalization';
1382
- return { created: true, commitHash: 'finalization-sha' };
1383
- }
1384
- return { created: true, commitHash: head };
1385
- }),
1386
- commitStaged: vi.fn().mockResolvedValue({ created: false, commitHash: 'post-finalization' }),
1387
- resetHardTo: vi.fn(),
1388
- assertWorktreeClean: vi.fn().mockResolvedValue(undefined),
1389
- writeBinaryNoRenamePatch: vi.fn(async (_base, _head, patchPath) => {
1390
- await writeFile(patchPath, '', 'utf-8');
1391
- }),
1392
- applyPatchFile3WayIndex: vi.fn(),
1393
- diffNameStatus: vi.fn().mockImplementation(async (from, to) => from === 'pre-finalization' && to === 'post-finalization'
1394
- ? [{ status: 'M', path: 'semantic-layer/warehouse-2/orders.yaml' }]
1395
- : []),
1396
- changedPaths: vi.fn().mockResolvedValue(['semantic-layer/warehouse-2/orders.yaml']),
1397
- };
1398
- deps.sessionWorktreeService.create.mockResolvedValue({
1399
- chatId: 'j1',
1400
- workdir: '/tmp/wt',
1401
- branch: 'session/j1',
1402
- baseSha: 'b',
1403
- createdAt: new Date(),
1404
- git,
1405
- config: {},
1406
- });
1407
- const runner = buildRunner(deps);
1408
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1409
- currentHashes: new Map([['semantic_models.yml', 'h1']]),
1410
- rawDirInWorktree: 'raw-sources/c1/metricflow/s',
1411
- });
1412
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1413
- await runner.run({
1414
- jobId: 'j1',
1415
- connectionId: 'c1',
1416
- sourceKey: 'metricflow',
1417
- trigger: 'upload',
1418
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1419
- });
1420
- expect(deps.adapter.finalize).toHaveBeenCalledWith(expect.objectContaining({
1421
- connectionId: 'c1',
1422
- sourceKey: 'metricflow',
1423
- syncId: expect.any(String),
1424
- jobId: 'j1',
1425
- runId: 'run-1',
1426
- workdir: '/tmp/wt',
1427
- parseArtifacts: { semanticModels: [{ name: 'orders' }] },
1428
- }));
1429
- expect(deps.reportsRepo.create).toHaveBeenCalledWith(expect.objectContaining({
1430
- body: expect.objectContaining({
1431
- finalization: expect.objectContaining({
1432
- sourceKey: 'metricflow',
1433
- status: 'success',
1434
- commitSha: 'finalization-sha',
1435
- touchedPaths: ['semantic-layer/warehouse-2/orders.yaml'],
1436
- derivedTouchedSources: [{ connectionId: 'warehouse-2', sourceName: 'orders' }],
1437
- declaredTouchedSources: [{ connectionId: 'warehouse-2', sourceName: 'orders' }],
1438
- actions: [expect.objectContaining({ key: 'orders' })],
1439
- }),
1440
- }),
1441
- }));
1442
- expect(deps.semanticLayerService.loadAllSources).toHaveBeenCalledWith('warehouse-2');
1443
- expect(deps.slSearchService.indexSources).toHaveBeenCalledWith('warehouse-2', [{ name: 'warehouse-2_source' }]);
1444
- expect(deps.sessionWorktreeService.cleanup).toHaveBeenCalledWith(expect.any(Object), 'success');
1445
- });
1446
- it('includes finalization actions in memory-flow saved counts', async () => {
1447
- const deps = makeDeps();
1448
- deps.adapter.source = 'historic-sql';
1449
- deps.registry.get.mockReturnValue(deps.adapter);
1450
- deps.adapter.chunk.mockResolvedValue({
1451
- workUnits: [
1452
- {
1453
- unitKey: 'historic-sql-table-public-orders',
1454
- rawFiles: ['tables/public/orders.json'],
1455
- peerFileIndex: [],
1456
- dependencyPaths: [],
1457
- },
1458
- ],
1459
- });
1460
- deps.adapter.finalize = vi.fn().mockResolvedValue({
1461
- warnings: [],
1462
- errors: [],
1463
- touchedSources: [],
1464
- changedWikiPageKeys: [],
1465
- actions: [
1466
- { target: 'sl', type: 'updated', key: 'orders', detail: 'Merged usage' },
1467
- { target: 'sl', type: 'updated', key: 'customers', detail: 'Merged usage' },
1468
- { target: 'wiki', type: 'created', key: 'historic-sql-orders', detail: 'Projected pattern' },
1469
- { target: 'wiki', type: 'updated', key: 'historic-sql-customers', detail: 'Projected pattern' },
1470
- ],
1471
- });
1472
- const runner = buildRunner(deps);
1473
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1474
- currentHashes: new Map([['tables/public/orders.json', 'h1']]),
1475
- rawDirInWorktree: 'raw-sources/c1/historic-sql/s',
1476
- });
1477
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1478
- const memoryFlow = createMemoryFlowLiveBuffer(bundleReplayInput());
1479
- await runner.run({
1480
- jobId: 'j1',
1481
- connectionId: 'c1',
1482
- sourceKey: 'historic-sql',
1483
- trigger: 'upload',
1484
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1485
- }, {
1486
- jobId: 'j1',
1487
- memoryFlow,
1488
- startPhase: () => new TestJobContext('j1', null, () => Promise.resolve(), () => Promise.resolve()),
1489
- });
1490
- expect(memoryFlow.snapshot().events).toContainEqual(expect.objectContaining({
1491
- type: 'saved',
1492
- wikiCount: 2,
1493
- slCount: 2,
1494
- }));
1495
- });
1496
- it('marks finalization infrastructure failure as failed and preserves worktree cleanup state', async () => {
1497
- const deps = makeDeps();
1498
- deps.adapter.source = 'metricflow';
1499
- deps.registry.get.mockReturnValue(deps.adapter);
1500
- deps.adapter.chunk.mockResolvedValue({
1501
- workUnits: [{ unitKey: 'u1', rawFiles: ['semantic_models.yml'], peerFileIndex: [], dependencyPaths: [] }],
1502
- parseArtifacts: { semanticModels: [{ name: 'orders' }] },
1503
- });
1504
- deps.adapter.finalize = vi.fn().mockRejectedValue(new Error('worktree write failed'));
1505
- const runner = buildRunner(deps);
1506
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1507
- currentHashes: new Map([['semantic_models.yml', 'h1']]),
1508
- rawDirInWorktree: 'raw-sources/c1/metricflow/s',
1509
- });
1510
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1511
- await expect(runner.run({
1512
- jobId: 'j1',
1513
- connectionId: 'c1',
1514
- sourceKey: 'metricflow',
1515
- trigger: 'upload',
1516
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1517
- })).rejects.toThrow('worktree write failed');
1518
- expect(deps.runsRepo.markFailed).toHaveBeenCalledWith('run-1');
1519
- expect(deps.gitService.squashMergeIntoMain).not.toHaveBeenCalled();
1520
- expect(deps.sessionWorktreeService.cleanup).toHaveBeenCalledWith(expect.any(Object), 'crash');
1521
- });
1522
- it('reports finalization actions excluded from provenance when raw paths are not defensible', async () => {
1523
- const deps = makeDeps();
1524
- deps.adapter.finalize = vi.fn().mockResolvedValue({
1525
- warnings: [],
1526
- errors: [],
1527
- touchedSources: [],
1528
- changedWikiPageKeys: [],
1529
- actions: [
1530
- { target: 'wiki', type: 'updated', key: 'historic-sql-pattern', detail: 'No raw path' },
1531
- { target: 'sl', type: 'updated', key: 'orders', detail: 'Invalid raw path', rawPaths: ['missing.json'] },
1532
- ],
1533
- });
1534
- const runner = buildRunner(deps);
1535
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1536
- currentHashes: new Map([['current.json', 'h1']]),
1537
- rawDirInWorktree: 'raw-sources/c1/fake/s',
1538
- });
1539
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1540
- await runner.run({
1541
- jobId: 'j1',
1542
- connectionId: 'c1',
1543
- sourceKey: 'fake',
1544
- trigger: 'upload',
1545
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1546
- });
1547
- expect(deps.reportsRepo.create).toHaveBeenCalledWith(expect.objectContaining({
1548
- body: expect.objectContaining({
1549
- finalization: expect.objectContaining({
1550
- provenanceExclusions: [
1551
- expect.objectContaining({ reason: 'missing_raw_paths' }),
1552
- expect.objectContaining({ reason: 'raw_path_not_defensible', invalidRawPaths: ['missing.json'] }),
1553
- ],
1554
- }),
1555
- }),
1556
- }));
1557
- expect(deps.provenanceRepo.insertMany).not.toHaveBeenCalledWith(expect.arrayContaining([expect.objectContaining({ rawPath: 'missing.json' })]));
1558
- });
1559
- it('passes explicit override replay metadata and no current work unit outcomes', async () => {
1560
- const deps = makeDeps();
1561
- deps.reportsRepo.findByJobId.mockResolvedValue({
1562
- id: 'prior-report',
1563
- runId: 'prior-run',
1564
- jobId: 'prior-job',
1565
- connectionId: 'c1',
1566
- sourceKey: 'fake',
1567
- createdAt: '2026-05-18T00:00:00.000Z',
1568
- body: {
1569
- status: 'completed',
1570
- syncId: 'prior-sync',
1571
- diffSummary: { added: 0, modified: 0, deleted: 0, unchanged: 0 },
1572
- commitSha: 'prior-sha',
1573
- workUnits: [
1574
- {
1575
- unitKey: 'prior-unit',
1576
- rawFiles: ['prior.json'],
1577
- status: 'success',
1578
- actions: [{ target: 'wiki', type: 'created', key: 'prior', detail: 'prior' }],
1579
- touchedSlSources: [],
1580
- },
1581
- ],
1582
- failedWorkUnits: [],
1583
- reconciliationSkipped: false,
1584
- conflictsResolved: [],
1585
- evictionsApplied: [
1586
- {
1587
- rawPath: 'do-not-replay.json',
1588
- artifactKind: 'wiki',
1589
- artifactKey: 'old',
1590
- action: 'removed',
1591
- reason: 'prior',
1592
- },
1593
- ],
1594
- unmappedFallbacks: [],
1595
- artifactResolutions: [],
1596
- evictionInputs: ['evicted-from-prior-report.json'],
1597
- unresolvedCards: [],
1598
- supersededBy: null,
1599
- overrideOf: null,
1600
- provenanceRows: [],
1601
- toolTranscripts: [],
1602
- },
1603
- });
1604
- deps.adapter.finalize = vi.fn().mockResolvedValue({
1605
- warnings: [],
1606
- errors: [],
1607
- touchedSources: [],
1608
- changedWikiPageKeys: [],
1609
- actions: [],
1610
- });
1611
- deps.gitService.listFilesAtHead.mockResolvedValue(['raw-sources/c1/fake/prior-sync/prior.json']);
1612
- deps.gitService.getFileAtCommit.mockResolvedValue('{"id":1}\n');
1613
- const runner = buildRunner(deps);
1614
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1615
- currentHashes: new Map([['prior.json', 'h1']]),
1616
- rawDirInWorktree: 'raw-sources/c1/fake/prior-sync',
1617
- });
1618
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/prior');
1619
- await runner.run({
1620
- jobId: 'override-job',
1621
- connectionId: 'c1',
1622
- sourceKey: 'fake',
1623
- trigger: 'manual_override',
1624
- bundleRef: { kind: 'override', priorJobId: 'prior-job' },
1625
- });
1626
- expect(deps.adapter.finalize).toHaveBeenCalledWith(expect.objectContaining({
1627
- workUnitOutcomes: [],
1628
- overrideReplay: {
1629
- priorJobId: 'prior-job',
1630
- priorRunId: 'prior-run',
1631
- priorSyncId: 'prior-sync',
1632
- evictionRawPaths: ['evicted-from-prior-report.json'],
1633
- },
1634
- }));
1635
- });
1636
- it('includes existing global wiki pages in WorkUnit prompts', async () => {
1637
- const deps = makeDeps();
1638
- deps.knowledgeIndex.listPagesForUser.mockResolvedValue([
1639
- {
1640
- page_key: 'revenue-recognition',
1641
- summary: 'Recognize revenue net of refunds after fulfillment.',
1642
- scope: 'GLOBAL',
1643
- scope_id: null,
1644
- },
1645
- ]);
1646
- const runner = buildRunner(deps);
1647
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1648
- currentHashes: new Map([['cards/orders.yml', 'h1']]),
1649
- rawDirInWorktree: 'raw-sources/c1/fake/s',
1650
- });
1651
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1652
- await runner.run({
1653
- jobId: 'j1',
1654
- connectionId: 'c1',
1655
- sourceKey: 'fake',
1656
- trigger: 'upload',
1657
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1658
- });
1659
- const workUnitCall = deps.agentRunner.runLoop.mock.calls.find(([params]) => params.telemetryTags.operationName === 'ingest-bundle-wu');
1660
- expect(workUnitCall?.[0].userPrompt).toContain('## Wiki Pages');
1661
- expect(workUnitCall?.[0].userPrompt).toContain('- revenue-recognition: Recognize revenue net of refunds after fulfillment.');
1662
- expect(deps.knowledgeIndex.listPagesForUser).toHaveBeenCalledWith('system');
1663
- });
1664
- it('includes manifest-backed target sources in WorkUnit prompts', async () => {
1665
- const deps = makeDeps();
1666
- deps.adapter.listTargetConnectionIds = vi.fn().mockResolvedValue(['postgres-warehouse']);
1667
- deps.semanticLayerService.loadAllSources.mockImplementation((connectionId) => Promise.resolve({
1668
- sources: connectionId === 'postgres-warehouse' ? [{ name: 'stg_accounts' }] : [],
1669
- loadErrors: [],
1670
- }));
1671
- const runner = buildRunner(deps);
1672
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1673
- currentHashes: new Map([['models/schema.yml', 'h1']]),
1674
- rawDirInWorktree: 'raw-sources/dbt-main/dbt/s',
1675
- });
1676
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1677
- await runner.run({
1678
- jobId: 'j1',
1679
- connectionId: 'dbt-main',
1680
- sourceKey: 'fake',
1681
- trigger: 'upload',
1682
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1683
- });
1684
- const workUnitCall = deps.agentRunner.runLoop.mock.calls.find(([params]) => params.telemetryTags.operationName === 'ingest-bundle-wu');
1685
- expect(workUnitCall?.[0].userPrompt).toContain('## postgres-warehouse');
1686
- expect(workUnitCall?.[0].userPrompt).toContain('stg_accounts');
1687
- expect(deps.canonicalPins.listPins).toHaveBeenCalledWith(['dbt-main', 'postgres-warehouse']);
1688
- });
1689
- it('does not resolve qualified fallback table refs by source name alone', async () => {
1690
- const deps = makeDeps();
1691
- deps.semanticLayerService.loadAllSources.mockResolvedValue({
1692
- sources: [{ name: 'orders', table: 'sales.orders' }],
1693
- loadErrors: [],
1694
- });
1695
- const runner = buildRunner(deps);
1696
- await expect(runner.tableRefExistsInSemanticLayer(deps.semanticLayerService, ['warehouse'], 'finance.orders')).resolves.toBe(false);
1697
- await expect(runner.tableRefExistsInSemanticLayer(deps.semanticLayerService, ['warehouse'], 'sales.orders')).resolves.toBe(true);
1698
- });
1699
- it('passes relevant canonical pins into the reconciliation system prompt', async () => {
1700
- const deps = makeDeps();
1701
- deps.diffSetService.compute.mockResolvedValue({
1702
- added: [],
1703
- modified: [],
1704
- deleted: ['metrics/old.yml'],
1705
- unchanged: [],
1706
- });
1707
- deps.adapter.chunk.mockResolvedValue({
1708
- workUnits: [
1709
- {
1710
- unitKey: 'wu-billing',
1711
- rawFiles: ['metrics/churn_risk_score.yml'],
1712
- peerFileIndex: [],
1713
- dependencyPaths: [],
1714
- },
1715
- ],
1716
- eviction: { deletedRawPaths: ['metrics/old.yml'] },
1717
- });
1718
- deps.canonicalPins.listPins.mockResolvedValue([
1719
- {
1720
- contestedKey: 'churn_risk_score',
1721
- canonicalArtifactKey: 'billing.churn_risk_score',
1722
- pinnedAt: '2026-04-27T12:00:00.000Z',
1723
- pinnedBy: 'user-1',
1724
- reason: 'billing owns the contractual definition',
1725
- },
1726
- {
1727
- contestedKey: 'gross_margin',
1728
- canonicalArtifactKey: 'finance.gross_margin',
1729
- pinnedAt: '2026-04-27T12:01:00.000Z',
1730
- pinnedBy: 'user-2',
1731
- reason: null,
1732
- },
1733
- ]);
1734
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
1735
- if (params.telemetryTags.operationName === 'ingest-bundle-wu') {
1736
- return { stopReason: 'natural' };
1737
- }
1738
- return { stopReason: 'natural' };
1739
- });
1740
- const runner = buildRunner(deps);
1741
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1742
- currentHashes: new Map([
1743
- ['metrics/churn_risk_score.yml', 'h1'],
1744
- ['metrics/old.yml', 'h2'],
1745
- ]),
1746
- rawDirInWorktree: 'raw-sources/c1/fake/s',
1747
- });
1748
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1749
- await runner.run({
1750
- jobId: 'j1',
1751
- connectionId: 'c1',
1752
- sourceKey: 'fake',
1753
- trigger: 'upload',
1754
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1755
- });
1756
- const reconcileCall = deps.agentRunner.runLoop.mock.calls.find(([params]) => params.telemetryTags.operationName === 'ingest-bundle-reconcile');
1757
- expect(reconcileCall?.[0].systemPrompt).toContain('<canonical_pins>');
1758
- expect(reconcileCall?.[0].systemPrompt).toContain('contestedKey: churn_risk_score');
1759
- expect(reconcileCall?.[0].systemPrompt).not.toContain('gross_margin');
1760
- expect(deps.canonicalPins.listPins).toHaveBeenCalledWith(['c1']);
1761
- });
1762
- it('emits a monotonically non-decreasing progress sequence reaching 1.0, covering all 7 stages', async () => {
1763
- const deps = makeDeps();
1764
- // Simulate an agent that calls onStepFinish a few times so stage 3 and 4 emit per-step progress.
1765
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
1766
- if (params.onStepFinish) {
1767
- for (let i = 1; i <= 3; i++) {
1768
- await params.onStepFinish({ stepIndex: i, stepBudget: params.stepBudget });
1769
- }
1770
- }
1771
- return { stopReason: 'natural' };
1772
- });
1773
- // Trigger Stage 4 reconciliation by having at least one action.
1774
- deps.agentRunner.runLoop.mockImplementation(async (params) => {
1775
- if (params.onStepFinish) {
1776
- await params.onStepFinish({ stepIndex: 1, stepBudget: params.stepBudget });
1777
- }
1778
- return { stopReason: 'natural' };
1779
- });
1780
- const runner = buildRunner(deps);
1781
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1782
- currentHashes: new Map([['a.yml', 'h1']]),
1783
- rawDirInWorktree: 'raw-sources/c1/fake/s',
1784
- });
1785
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1786
- const observed = [];
1787
- const ctx = new TestJobContext('j1', null, () => Promise.resolve(), (p, m) => {
1788
- observed.push({ p, m });
1789
- return Promise.resolve();
1790
- });
1791
- await runner.run({
1792
- jobId: 'j1',
1793
- connectionId: 'c1',
1794
- sourceKey: 'fake',
1795
- trigger: 'upload',
1796
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1797
- }, ctx);
1798
- // Monotonic.
1799
- for (let i = 1; i < observed.length; i++) {
1800
- expect(observed[i].p).toBeGreaterThanOrEqual(observed[i - 1].p);
1801
- }
1802
- // Reaches completion.
1803
- expect(observed.at(-1)?.p).toBeCloseTo(1.0, 3);
1804
- // Every stage surfaces a user-facing message.
1805
- const phaseLabels = [
1806
- 'Fetching source files',
1807
- 'Planning updates',
1808
- 'Processing',
1809
- /Reconcil|reconcil/,
1810
- 'Saving changes',
1811
- 'Recording history',
1812
- 'Wrapping up',
1813
- ];
1814
- for (const label of phaseLabels) {
1815
- expect(observed.some((o) => (typeof label === 'string' ? o.m?.includes(label) : label.test(o.m ?? '')))).toBe(true);
1816
- }
1817
- });
1818
- it('a Stage 3 failure leaves the shared knowledge table untouched', async () => {
1819
- const deps = makeDeps();
1820
- // Agent runner returns a successful result but the adapter emits a WU whose
1821
- // outcome still produces no actions — the point is that the scoped wiki service
1822
- // must not touch indexRepository during Stage 3, and syncFromCommit is what
1823
- // drives the shared table. If we cancel the run before squash, syncFromCommit
1824
- // must not be called.
1825
- deps.gitService.squashMergeIntoMain.mockRejectedValue(new Error('simulated squash failure'));
1826
- const runner = buildRunner(deps);
1827
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1828
- currentHashes: new Map([['a.yml', 'h1']]),
1829
- rawDirInWorktree: 'raw-sources/c1/fake/s',
1830
- });
1831
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1832
- await expect(runner.run({
1833
- jobId: 'j1',
1834
- connectionId: 'c1',
1835
- sourceKey: 'fake',
1836
- trigger: 'upload',
1837
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1838
- })).rejects.toThrow(/simulated squash failure/);
1839
- expect(deps.wikiService.syncFromCommit).not.toHaveBeenCalled();
1840
- });
1841
- it('refuses to squash-merge when the session worktree has an in-progress sequencer op', async () => {
1842
- const deps = makeDeps();
1843
- const assertError = new Error('Worktree has in-progress git operation (sequencer ...); refusing to proceed');
1844
- const sessionGit = {
1845
- revParseHead: vi.fn().mockResolvedValue('h'),
1846
- commitFiles: vi.fn().mockResolvedValue({ created: true, commitHash: 'h' }),
1847
- commitStaged: vi.fn().mockResolvedValue({ created: false, commitHash: 'h' }),
1848
- resetHardTo: vi.fn(),
1849
- assertWorktreeClean: vi.fn().mockRejectedValue(assertError),
1850
- writeBinaryNoRenamePatch: vi.fn(async (_base, _head, patchPath) => {
1851
- await writeFile(patchPath, '', 'utf-8');
1852
- }),
1853
- applyPatchFile3WayIndex: vi.fn(),
1854
- diffNameStatus: vi.fn().mockResolvedValue([]),
1855
- };
1856
- deps.sessionWorktreeService.create.mockResolvedValue({
1857
- chatId: 'j1',
1858
- workdir: '/tmp/wt',
1859
- branch: 'session/j1',
1860
- baseSha: 'b',
1861
- createdAt: new Date(),
1862
- git: sessionGit,
1863
- config: {},
1864
- });
1865
- const runner = buildRunner(deps);
1866
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1867
- currentHashes: new Map([['a.yml', 'h1']]),
1868
- rawDirInWorktree: 'raw-sources/c1/fake/s',
1869
- });
1870
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1871
- await expect(runner.run({
1872
- jobId: 'j1',
1873
- connectionId: 'c1',
1874
- sourceKey: 'fake',
1875
- trigger: 'upload',
1876
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1877
- })).rejects.toThrow(/in-progress git operation/);
1878
- expect(deps.runsRepo.markFailed).toHaveBeenCalledWith('run-1');
1879
- expect(deps.gitService.squashMergeIntoMain).not.toHaveBeenCalled();
1880
- });
1881
- it('fails the run and rethrows when the adapter cannot detect the bundle', async () => {
1882
- const deps = makeDeps();
1883
- deps.adapter.detect.mockResolvedValue(false);
1884
- const runner = buildRunner(deps);
1885
- runner.stageRawFilesStage1 = vi.fn().mockResolvedValue({
1886
- currentHashes: new Map([['a.yml', 'h1']]),
1887
- rawDirInWorktree: 'raw-sources/c1/fake/s',
1888
- });
1889
- runner.resolveStagedDir = vi.fn().mockResolvedValue('/tmp/stage/upload-x');
1890
- await expect(runner.run({
1891
- jobId: 'j1',
1892
- connectionId: 'c1',
1893
- sourceKey: 'fake',
1894
- trigger: 'upload',
1895
- bundleRef: { kind: 'upload', uploadId: 'upload-x' },
1896
- })).rejects.toThrow(/did not recognize/);
1897
- expect(deps.runsRepo.markFailed).toHaveBeenCalledWith('run-1');
1898
- });
1899
- });