chkit 0.1.2-beta.7 → 0.2.0-beta.12

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 (322) hide show
  1. package/README.md +69 -56
  2. package/dist/bin/chkit.js +82 -31
  3. package/dist/bin/chkit.js.map +1 -1
  4. package/dist/commands/check/output.js +1 -1
  5. package/dist/commands/check/output.js.map +1 -1
  6. package/dist/commands/drift/command.d.ts.map +1 -1
  7. package/dist/commands/drift/command.js +9 -0
  8. package/dist/commands/drift/command.js.map +1 -1
  9. package/dist/commands/drift/compare.d.ts +52 -4
  10. package/dist/commands/drift/compare.d.ts.map +1 -1
  11. package/dist/commands/drift/compare.js +258 -49
  12. package/dist/commands/drift/compare.js.map +1 -1
  13. package/dist/commands/drift/payload.d.ts +1 -0
  14. package/dist/commands/drift/payload.d.ts.map +1 -1
  15. package/dist/commands/drift/payload.js +59 -10
  16. package/dist/commands/drift/payload.js.map +1 -1
  17. package/dist/commands/generate/command.d.ts.map +1 -1
  18. package/dist/commands/generate/command.js +73 -33
  19. package/dist/commands/generate/command.js.map +1 -1
  20. package/dist/commands/generate/cutover.d.ts +56 -0
  21. package/dist/commands/generate/cutover.d.ts.map +1 -0
  22. package/dist/commands/generate/cutover.js +138 -0
  23. package/dist/commands/generate/cutover.js.map +1 -0
  24. package/dist/commands/generate/output.d.ts +3 -2
  25. package/dist/commands/generate/output.d.ts.map +1 -1
  26. package/dist/commands/generate/output.js +17 -2
  27. package/dist/commands/generate/output.js.map +1 -1
  28. package/dist/commands/generate/plan-pipeline.d.ts.map +1 -1
  29. package/dist/commands/generate/plan-pipeline.js +35 -36
  30. package/dist/commands/generate/plan-pipeline.js.map +1 -1
  31. package/dist/commands/init.d.ts +2 -0
  32. package/dist/commands/init.d.ts.map +1 -1
  33. package/dist/commands/init.js +21 -4
  34. package/dist/commands/init.js.map +1 -1
  35. package/dist/commands/migrate/abandon.d.ts +39 -0
  36. package/dist/commands/migrate/abandon.d.ts.map +1 -0
  37. package/dist/commands/migrate/abandon.js +76 -0
  38. package/dist/commands/migrate/abandon.js.map +1 -0
  39. package/dist/commands/migrate/apply.d.ts +10 -1
  40. package/dist/commands/migrate/apply.d.ts.map +1 -1
  41. package/dist/commands/migrate/apply.js +108 -10
  42. package/dist/commands/migrate/apply.js.map +1 -1
  43. package/dist/commands/migrate/async-apply.d.ts +11 -3
  44. package/dist/commands/migrate/async-apply.d.ts.map +1 -1
  45. package/dist/commands/migrate/async-apply.js +113 -27
  46. package/dist/commands/migrate/async-apply.js.map +1 -1
  47. package/dist/commands/migrate/command.d.ts +46 -1
  48. package/dist/commands/migrate/command.d.ts.map +1 -1
  49. package/dist/commands/migrate/command.js +159 -35
  50. package/dist/commands/migrate/command.js.map +1 -1
  51. package/dist/commands/migrate/empty.d.ts +8 -0
  52. package/dist/commands/migrate/empty.d.ts.map +1 -0
  53. package/dist/commands/migrate/empty.js +17 -0
  54. package/dist/commands/migrate/empty.js.map +1 -0
  55. package/dist/commands/migrate/errors.d.ts +22 -0
  56. package/dist/commands/migrate/errors.d.ts.map +1 -0
  57. package/dist/commands/migrate/errors.js +31 -0
  58. package/dist/commands/migrate/errors.js.map +1 -0
  59. package/dist/commands/migrate/output.d.ts +31 -0
  60. package/dist/commands/migrate/output.d.ts.map +1 -1
  61. package/dist/commands/migrate/output.js +120 -9
  62. package/dist/commands/migrate/output.js.map +1 -1
  63. package/dist/commands/migrate/prompts.d.ts +1 -0
  64. package/dist/commands/migrate/prompts.d.ts.map +1 -1
  65. package/dist/commands/migrate/prompts.js +3 -0
  66. package/dist/commands/migrate/prompts.js.map +1 -1
  67. package/dist/commands/migrate/recovery.d.ts +90 -0
  68. package/dist/commands/migrate/recovery.d.ts.map +1 -0
  69. package/dist/commands/migrate/recovery.js +163 -0
  70. package/dist/commands/migrate/recovery.js.map +1 -0
  71. package/dist/commands/migrate/retry.d.ts +37 -0
  72. package/dist/commands/migrate/retry.d.ts.map +1 -0
  73. package/dist/commands/migrate/retry.js +46 -0
  74. package/dist/commands/migrate/retry.js.map +1 -0
  75. package/dist/commands/migrate/settings.d.ts +8 -0
  76. package/dist/commands/migrate/settings.d.ts.map +1 -0
  77. package/dist/commands/migrate/settings.js +40 -0
  78. package/dist/commands/migrate/settings.js.map +1 -0
  79. package/dist/commands/plugin.d.ts.map +1 -1
  80. package/dist/commands/plugin.js +28 -4
  81. package/dist/commands/plugin.js.map +1 -1
  82. package/dist/commands/query.d.ts.map +1 -1
  83. package/dist/commands/query.js +11 -15
  84. package/dist/commands/query.js.map +1 -1
  85. package/dist/commands/registry.d.ts +2 -0
  86. package/dist/commands/registry.d.ts.map +1 -0
  87. package/dist/commands/registry.js +228 -0
  88. package/dist/commands/registry.js.map +1 -0
  89. package/dist/commands/snapshot/command.d.ts +3 -0
  90. package/dist/commands/snapshot/command.d.ts.map +1 -0
  91. package/dist/commands/snapshot/command.js +32 -0
  92. package/dist/commands/snapshot/command.js.map +1 -0
  93. package/dist/commands/snapshot/output.d.ts +24 -0
  94. package/dist/commands/snapshot/output.d.ts.map +1 -0
  95. package/dist/commands/snapshot/output.js +86 -0
  96. package/dist/commands/snapshot/output.js.map +1 -0
  97. package/dist/commands/snapshot/rebuild.d.ts +19 -0
  98. package/dist/commands/snapshot/rebuild.d.ts.map +1 -0
  99. package/dist/commands/snapshot/rebuild.js +94 -0
  100. package/dist/commands/snapshot/rebuild.js.map +1 -0
  101. package/dist/internal-plugins/core/plugin.d.ts.map +1 -1
  102. package/dist/internal-plugins/core/plugin.js +2 -0
  103. package/dist/internal-plugins/core/plugin.js.map +1 -1
  104. package/dist/registry/build.d.ts +17 -0
  105. package/dist/registry/build.d.ts.map +1 -0
  106. package/dist/registry/build.js +94 -0
  107. package/dist/registry/build.js.map +1 -0
  108. package/dist/registry/dependencies.d.ts +19 -0
  109. package/dist/registry/dependencies.d.ts.map +1 -0
  110. package/dist/registry/dependencies.js +105 -0
  111. package/dist/registry/dependencies.js.map +1 -0
  112. package/dist/registry/files.d.ts +4 -0
  113. package/dist/registry/files.d.ts.map +1 -0
  114. package/dist/registry/files.js +33 -0
  115. package/dist/registry/files.js.map +1 -0
  116. package/dist/registry/install.d.ts +55 -0
  117. package/dist/registry/install.d.ts.map +1 -0
  118. package/dist/registry/install.js +175 -0
  119. package/dist/registry/install.js.map +1 -0
  120. package/dist/registry/model.d.ts +172 -0
  121. package/dist/registry/model.d.ts.map +1 -0
  122. package/dist/registry/model.js +161 -0
  123. package/dist/registry/model.js.map +1 -0
  124. package/dist/registry/project-config.d.ts +18 -0
  125. package/dist/registry/project-config.d.ts.map +1 -0
  126. package/dist/registry/project-config.js +337 -0
  127. package/dist/registry/project-config.js.map +1 -0
  128. package/dist/registry/resolve.d.ts +7 -0
  129. package/dist/registry/resolve.d.ts.map +1 -0
  130. package/dist/registry/resolve.js +136 -0
  131. package/dist/registry/resolve.js.map +1 -0
  132. package/dist/runtime/argv.d.ts +3 -0
  133. package/dist/runtime/argv.d.ts.map +1 -0
  134. package/dist/runtime/argv.js +29 -0
  135. package/dist/runtime/argv.js.map +1 -0
  136. package/dist/runtime/command-dispatch.d.ts +2 -1
  137. package/dist/runtime/command-dispatch.d.ts.map +1 -1
  138. package/dist/runtime/command-dispatch.js +15 -7
  139. package/dist/runtime/command-dispatch.js.map +1 -1
  140. package/dist/runtime/config-merge.d.ts.map +1 -1
  141. package/dist/runtime/config-merge.js +2 -1
  142. package/dist/runtime/config-merge.js.map +1 -1
  143. package/dist/runtime/config.d.ts.map +1 -1
  144. package/dist/runtime/config.js +2 -1
  145. package/dist/runtime/config.js.map +1 -1
  146. package/dist/runtime/global-flags.d.ts +4 -0
  147. package/dist/runtime/global-flags.d.ts.map +1 -1
  148. package/dist/runtime/global-flags.js +1 -0
  149. package/dist/runtime/global-flags.js.map +1 -1
  150. package/dist/runtime/help.d.ts +1 -1
  151. package/dist/runtime/help.d.ts.map +1 -1
  152. package/dist/runtime/help.js +13 -4
  153. package/dist/runtime/help.js.map +1 -1
  154. package/dist/runtime/journal-store.d.ts.map +1 -1
  155. package/dist/runtime/journal-store.js +178 -42
  156. package/dist/runtime/journal-store.js.map +1 -1
  157. package/dist/runtime/json-output.d.ts +15 -1
  158. package/dist/runtime/json-output.d.ts.map +1 -1
  159. package/dist/runtime/json-output.js +43 -2
  160. package/dist/runtime/json-output.js.map +1 -1
  161. package/dist/runtime/migration-store.d.ts +1 -1
  162. package/dist/runtime/migration-store.d.ts.map +1 -1
  163. package/dist/runtime/migration-store.js +17 -16
  164. package/dist/runtime/migration-store.js.map +1 -1
  165. package/dist/runtime/plugin-runtime/executor-debug.d.ts.map +1 -1
  166. package/dist/runtime/plugin-runtime/executor-debug.js +10 -8
  167. package/dist/runtime/plugin-runtime/executor-debug.js.map +1 -1
  168. package/dist/runtime/plugin-runtime/loader.js +1 -1
  169. package/dist/runtime/plugin-runtime/loader.js.map +1 -1
  170. package/dist/runtime/safety-markers.d.ts +4 -2
  171. package/dist/runtime/safety-markers.d.ts.map +1 -1
  172. package/dist/runtime/safety-markers.js +4 -2
  173. package/dist/runtime/safety-markers.js.map +1 -1
  174. package/dist/runtime/schema-loader.d.ts +20 -1
  175. package/dist/runtime/schema-loader.d.ts.map +1 -1
  176. package/dist/runtime/schema-loader.js +26 -0
  177. package/dist/runtime/schema-loader.js.map +1 -1
  178. package/dist/runtime/snapshot-document.d.ts +33 -0
  179. package/dist/runtime/snapshot-document.d.ts.map +1 -0
  180. package/dist/runtime/snapshot-document.js +65 -0
  181. package/dist/runtime/snapshot-document.js.map +1 -0
  182. package/package.json +20 -7
  183. package/dist/bin/clickhouse-resource.d.ts +0 -4
  184. package/dist/bin/clickhouse-resource.d.ts.map +0 -1
  185. package/dist/bin/clickhouse-resource.js +0 -11
  186. package/dist/bin/clickhouse-resource.js.map +0 -1
  187. package/dist/bin/command-dispatch.d.ts +0 -13
  188. package/dist/bin/command-dispatch.d.ts.map +0 -1
  189. package/dist/bin/command-dispatch.js +0 -186
  190. package/dist/bin/command-dispatch.js.map +0 -1
  191. package/dist/bin/command-registry.d.ts +0 -34
  192. package/dist/bin/command-registry.d.ts.map +0 -1
  193. package/dist/bin/command-registry.js +0 -87
  194. package/dist/bin/command-registry.js.map +0 -1
  195. package/dist/bin/commands/check.d.ts +0 -3
  196. package/dist/bin/commands/check.d.ts.map +0 -1
  197. package/dist/bin/commands/check.js +0 -181
  198. package/dist/bin/commands/check.js.map +0 -1
  199. package/dist/bin/commands/codegen.d.ts +0 -2
  200. package/dist/bin/commands/codegen.d.ts.map +0 -1
  201. package/dist/bin/commands/codegen.js +0 -25
  202. package/dist/bin/commands/codegen.js.map +0 -1
  203. package/dist/bin/commands/drift.d.ts +0 -27
  204. package/dist/bin/commands/drift.d.ts.map +0 -1
  205. package/dist/bin/commands/drift.js +0 -220
  206. package/dist/bin/commands/drift.js.map +0 -1
  207. package/dist/bin/commands/generate/output.d.ts +0 -8
  208. package/dist/bin/commands/generate/output.d.ts.map +0 -1
  209. package/dist/bin/commands/generate/output.js +0 -58
  210. package/dist/bin/commands/generate/output.js.map +0 -1
  211. package/dist/bin/commands/generate/plan-pipeline.d.ts +0 -7
  212. package/dist/bin/commands/generate/plan-pipeline.d.ts.map +0 -1
  213. package/dist/bin/commands/generate/plan-pipeline.js +0 -143
  214. package/dist/bin/commands/generate/plan-pipeline.js.map +0 -1
  215. package/dist/bin/commands/generate/rename-mappings.d.ts +0 -29
  216. package/dist/bin/commands/generate/rename-mappings.d.ts.map +0 -1
  217. package/dist/bin/commands/generate/rename-mappings.js +0 -195
  218. package/dist/bin/commands/generate/rename-mappings.js.map +0 -1
  219. package/dist/bin/commands/generate.d.ts +0 -3
  220. package/dist/bin/commands/generate.d.ts.map +0 -1
  221. package/dist/bin/commands/generate.js +0 -158
  222. package/dist/bin/commands/generate.js.map +0 -1
  223. package/dist/bin/commands/init.d.ts +0 -2
  224. package/dist/bin/commands/init.d.ts.map +0 -1
  225. package/dist/bin/commands/init.js +0 -12
  226. package/dist/bin/commands/init.js.map +0 -1
  227. package/dist/bin/commands/migrate.d.ts +0 -3
  228. package/dist/bin/commands/migrate.d.ts.map +0 -1
  229. package/dist/bin/commands/migrate.js +0 -288
  230. package/dist/bin/commands/migrate.js.map +0 -1
  231. package/dist/bin/commands/plugin-like.d.ts +0 -38
  232. package/dist/bin/commands/plugin-like.d.ts.map +0 -1
  233. package/dist/bin/commands/plugin-like.js +0 -101
  234. package/dist/bin/commands/plugin-like.js.map +0 -1
  235. package/dist/bin/commands/plugin.d.ts +0 -3
  236. package/dist/bin/commands/plugin.d.ts.map +0 -1
  237. package/dist/bin/commands/plugin.js +0 -148
  238. package/dist/bin/commands/plugin.js.map +0 -1
  239. package/dist/bin/commands/pull.d.ts +0 -2
  240. package/dist/bin/commands/pull.d.ts.map +0 -1
  241. package/dist/bin/commands/pull.js +0 -25
  242. package/dist/bin/commands/pull.js.map +0 -1
  243. package/dist/bin/commands/status.d.ts +0 -3
  244. package/dist/bin/commands/status.d.ts.map +0 -1
  245. package/dist/bin/commands/status.js +0 -63
  246. package/dist/bin/commands/status.js.map +0 -1
  247. package/dist/bin/commands/typegen.d.ts +0 -2
  248. package/dist/bin/commands/typegen.d.ts.map +0 -1
  249. package/dist/bin/commands/typegen.js +0 -25
  250. package/dist/bin/commands/typegen.js.map +0 -1
  251. package/dist/bin/config.d.ts +0 -13
  252. package/dist/bin/config.d.ts.map +0 -1
  253. package/dist/bin/config.js +0 -48
  254. package/dist/bin/config.js.map +0 -1
  255. package/dist/bin/debug.d.ts +0 -3
  256. package/dist/bin/debug.d.ts.map +0 -1
  257. package/dist/bin/debug.js +0 -14
  258. package/dist/bin/debug.js.map +0 -1
  259. package/dist/bin/global-flags.d.ts +0 -16
  260. package/dist/bin/global-flags.d.ts.map +0 -1
  261. package/dist/bin/global-flags.js +0 -7
  262. package/dist/bin/global-flags.js.map +0 -1
  263. package/dist/bin/help.d.ts +0 -5
  264. package/dist/bin/help.d.ts.map +0 -1
  265. package/dist/bin/help.js +0 -84
  266. package/dist/bin/help.js.map +0 -1
  267. package/dist/bin/internal-plugins/index.d.ts +0 -3
  268. package/dist/bin/internal-plugins/index.d.ts.map +0 -1
  269. package/dist/bin/internal-plugins/index.js +0 -5
  270. package/dist/bin/internal-plugins/index.js.map +0 -1
  271. package/dist/bin/internal-plugins/skill-hint.d.ts +0 -31
  272. package/dist/bin/internal-plugins/skill-hint.d.ts.map +0 -1
  273. package/dist/bin/internal-plugins/skill-hint.js +0 -172
  274. package/dist/bin/internal-plugins/skill-hint.js.map +0 -1
  275. package/dist/bin/journal-store.d.ts +0 -10
  276. package/dist/bin/journal-store.d.ts.map +0 -1
  277. package/dist/bin/journal-store.js +0 -137
  278. package/dist/bin/journal-store.js.map +0 -1
  279. package/dist/bin/json-output.d.ts +0 -5
  280. package/dist/bin/json-output.d.ts.map +0 -1
  281. package/dist/bin/json-output.js +0 -21
  282. package/dist/bin/json-output.js.map +0 -1
  283. package/dist/bin/lib.d.ts +0 -5
  284. package/dist/bin/lib.d.ts.map +0 -1
  285. package/dist/bin/lib.js +0 -5
  286. package/dist/bin/lib.js.map +0 -1
  287. package/dist/bin/logging.d.ts +0 -3
  288. package/dist/bin/logging.d.ts.map +0 -1
  289. package/dist/bin/logging.js +0 -31
  290. package/dist/bin/logging.js.map +0 -1
  291. package/dist/bin/migration-store.d.ts +0 -22
  292. package/dist/bin/migration-store.d.ts.map +0 -1
  293. package/dist/bin/migration-store.js +0 -60
  294. package/dist/bin/migration-store.js.map +0 -1
  295. package/dist/bin/plugin-runtime.d.ts +0 -45
  296. package/dist/bin/plugin-runtime.d.ts.map +0 -1
  297. package/dist/bin/plugin-runtime.js +0 -513
  298. package/dist/bin/plugin-runtime.js.map +0 -1
  299. package/dist/bin/safety-markers.d.ts +0 -23
  300. package/dist/bin/safety-markers.d.ts.map +0 -1
  301. package/dist/bin/safety-markers.js +0 -85
  302. package/dist/bin/safety-markers.js.map +0 -1
  303. package/dist/bin/schema-loader.d.ts +0 -3
  304. package/dist/bin/schema-loader.d.ts.map +0 -1
  305. package/dist/bin/schema-loader.js +0 -11
  306. package/dist/bin/schema-loader.js.map +0 -1
  307. package/dist/bin/table-scope.d.ts +0 -38
  308. package/dist/bin/table-scope.d.ts.map +0 -1
  309. package/dist/bin/table-scope.js +0 -167
  310. package/dist/bin/table-scope.js.map +0 -1
  311. package/dist/bin/version.d.ts +0 -2
  312. package/dist/bin/version.d.ts.map +0 -1
  313. package/dist/bin/version.js +0 -5
  314. package/dist/bin/version.js.map +0 -1
  315. package/dist/drift-diff.d.ts +0 -8
  316. package/dist/drift-diff.d.ts.map +0 -1
  317. package/dist/drift-diff.js +0 -46
  318. package/dist/drift-diff.js.map +0 -1
  319. package/dist/drift.d.ts +0 -66
  320. package/dist/drift.d.ts.map +0 -1
  321. package/dist/drift.js +0 -220
  322. package/dist/drift.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import type { ClickHouseExecutor } from '@chkit/clickhouse';
2
- import type { JournalStore, MigrationRowState, OperationState } from '../../runtime/journal-store.js';
1
+ import type { ClickHouseExecutor, ClickHouseSettings } from '@chkit/clickhouse';
2
+ import { type JournalStore, type MigrationRowState, type OperationState } from '../../runtime/journal-store.js';
3
3
  export interface AsyncApplyInput {
4
4
  db: ClickHouseExecutor;
5
5
  journalStore: JournalStore;
@@ -10,6 +10,8 @@ export interface AsyncApplyInput {
10
10
  operationType: string;
11
11
  operationKey: string;
12
12
  beforeRetry: string | null;
13
+ /** --setting values, sent with the submitted statement and its before-retry SQL. */
14
+ settings?: ClickHouseSettings;
13
15
  log: (line: string) => void;
14
16
  pollIntervalMs?: number;
15
17
  sleep?: (ms: number) => Promise<void>;
@@ -25,6 +27,12 @@ export type AsyncApplyResult = {
25
27
  export declare function applyAsyncStatement(input: AsyncApplyInput): Promise<AsyncApplyResult>;
26
28
  export declare function upsertOperation(state: MigrationRowState, op: OperationState, now: () => number): MigrationRowState;
27
29
  export declare function freshMigrationState(migrationName: string, checksum: string): MigrationRowState;
28
- export declare function makeDeterministicQueryId(migrationName: string, statementIndex: number): string;
30
+ /**
31
+ * The id of an async statement's query. It names the database and journal
32
+ * table too, so runs of one migration file against other databases, or by
33
+ * other projects in the same database, never share it (#463), while a re-run
34
+ * against the same target gets the same id and attaches to its attempt.
35
+ */
36
+ export declare function makeDeterministicQueryId(database: string, journalTable: string, migrationName: string, statementIndex: number): string;
29
37
  export declare function isoWithoutZone(date: Date): string;
30
38
  //# sourceMappingURL=async-apply.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"async-apply.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/async-apply.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,mBAAmB,CAAA;AAGxE,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACf,MAAM,gCAAgC,CAAA;AAYvC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,kBAAkB,CAAA;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,cAAc,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,cAAc,CAAA;CAAE,CAAA;AAElD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2I3F;AAoJD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,iBAAiB,EACxB,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,MAAM,MAAM,GAChB,iBAAiB,CAcnB;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,iBAAiB,CASnB;AAED,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,MAAM,CAWR;AA2BD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEjD"}
1
+ {"version":3,"file":"async-apply.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/async-apply.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAe,MAAM,mBAAmB,CAAA;AAG5F,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAEpB,MAAM,gCAAgC,CAAA;AA4BvC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,kBAAkB,CAAA;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,cAAc,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,cAAc,CAAA;CAAE,CAAA;AAElD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6I3F;AAmOD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,iBAAiB,EACxB,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,MAAM,MAAM,GAChB,iBAAiB,CAcnB;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,iBAAiB,CASnB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,MAAM,CAWR;AA2BD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEjD"}
@@ -1,6 +1,24 @@
1
1
  import { createHash } from 'node:crypto';
2
+ import { setTimeout as defaultSleep } from 'node:timers/promises';
2
3
  import { debug } from '../../runtime/debug.js';
4
+ import { resolveJournalTableName, } from '../../runtime/journal-store.js';
5
+ import { inProgressChecksumMismatchError } from './errors.js';
6
+ import { hasStatementProgress } from './recovery.js';
3
7
  const POLL_INTERVAL_MS = 5_000;
8
+ // The query id is deterministic, so system.query_log can still hold entries of
9
+ // an earlier attempt of the same statement (one that was abandoned, or retried
10
+ // after an edit). A new submission only trusts entries of queries that started
11
+ // after it, and an attach only those of queries that started no earlier than
12
+ // the attempt it attaches to: query_log is flushed on a timer, so right after
13
+ // that attempt ends the newest flushed entry can still be an earlier
14
+ // attempt's. The bound comes from the server clock, which also stamps
15
+ // query_log, minus a margin for clock skew between replicas. queryStatus
16
+ // compares whole seconds, so the margin stays more than a second below
17
+ // POLL_INTERVAL_MS: an earlier attempt that a previous run polled to its end
18
+ // started at least one poll interval ago and always falls before the bound.
19
+ const QUERY_LOG_SKEW_MARGIN_MS = 2_000;
20
+ // queryStatus's own default: every query_log entry for the id counts.
21
+ const UNBOUNDED_POLL_AFTER_TIME = '1970-01-01 00:00:00';
4
22
  // A poll request can fail transiently (gateway 504/524, network blip) while the
5
23
  // server-side async query keeps running. Tolerate a bounded number of these so a
6
24
  // momentary timeout doesn't abort a long-running load; only give up after the budget.
@@ -9,23 +27,25 @@ function describeError(error) {
9
27
  return error instanceof Error ? error.message : String(error);
10
28
  }
11
29
  export async function applyAsyncStatement(input) {
12
- const { db, journalStore, sql, migrationName, migrationChecksum, statementIndex, operationType, operationKey, beforeRetry, log, pollIntervalMs = POLL_INTERVAL_MS, sleep = defaultSleep, now = Date.now, } = input;
13
- const queryId = makeDeterministicQueryId(migrationName, statementIndex);
14
- debug('migrate:async', `${migrationName}#${statementIndex} query_id=${queryId} type=${operationType}`);
15
- const initialMigrationState = await journalStore.readMigrationState(migrationName);
16
- if (initialMigrationState !== null &&
17
- !initialMigrationState.migrationCompleted &&
18
- initialMigrationState.checksum !== migrationChecksum) {
19
- throw new Error(`Migration ${migrationName} has in-progress async journal state for checksum ${initialMigrationState.checksum}, but the current file checksum is ${migrationChecksum}. Restore the original migration file or clear the in-progress journal state before retrying.`);
20
- }
30
+ const { db, journalStore, sql, migrationName, migrationChecksum, statementIndex, operationType, operationKey, beforeRetry, settings, log, pollIntervalMs = POLL_INTERVAL_MS, sleep = defaultSleep, now = Date.now, } = input;
31
+ const initialMigrationState = acceptChangedChecksum(await journalStore.readMigrationState(migrationName), migrationName, migrationChecksum);
21
32
  const priorOpState = initialMigrationState?.operations.find((op) => op.operationIndex === statementIndex);
22
33
  // 1. Already completed → skip entirely
23
34
  if (priorOpState?.status === 'completed') {
24
- log(` ${operationType}: query_id=${queryId} already completed in prior run — skipping`);
35
+ log(` ${operationType}: query_id=${priorOpState.queryId} already completed in prior run — skipping`);
25
36
  return { kind: 'skipped', operation: priorOpState };
26
37
  }
27
- // 2. Currently in flight on the server → attach
28
- const inFlight = await db.queryStatus(queryId);
38
+ // 2. Currently in flight on the server → attach. The server clock is read
39
+ // before the check, so the start derived from it and the attempt's elapsed
40
+ // time never falls after the start that query_log records for the attempt.
41
+ const { nowMs: serverNowMs, database } = await readServerState(db);
42
+ // A statement the journal already tracks keeps the id it was submitted
43
+ // with, which an older chkit derived from the migration alone (#463): a
44
+ // new id would miss that attempt while it still runs.
45
+ const queryId = priorOpState?.queryId ||
46
+ makeDeterministicQueryId(database, resolveJournalTableName(), migrationName, statementIndex);
47
+ debug('migrate:async', `${migrationName}#${statementIndex} query_id=${queryId} type=${operationType}`);
48
+ const inFlight = await checkInFlight(db, queryId, operationType);
29
49
  if (inFlight.status === 'running') {
30
50
  log(` ${operationType}: query_id=${queryId} already running on server — attaching to in-flight query`);
31
51
  return await pollUntilTerminal({
@@ -38,7 +58,7 @@ export async function applyAsyncStatement(input) {
38
58
  operationType,
39
59
  operationKey,
40
60
  queryId,
41
- pollAfterTime: '1970-01-01 00:00:00',
61
+ pollAfterTime: attachLowerBound(serverNowMs, inFlight.elapsedMs),
42
62
  log,
43
63
  pollIntervalMs,
44
64
  sleep,
@@ -49,8 +69,8 @@ export async function applyAsyncStatement(input) {
49
69
  startedAt: priorOpState?.startedAt ?? isoWithoutZone(new Date(now())),
50
70
  });
51
71
  }
52
- // 3. Prior in-progress row exists but query is not in system.processes →
53
- // RETRY. Run before-retry compensation, then resubmit forward.
72
+ // 3. Prior in-progress row exists but no replica runs the query → RETRY.
73
+ // Run before-retry compensation, then resubmit forward.
54
74
  // 4. No prior row → FIRST attempt. Skip compensation, submit forward.
55
75
  // (priorOpState.status === 'completed' was already returned above.)
56
76
  if (priorOpState !== undefined) {
@@ -60,13 +80,12 @@ export async function applyAsyncStatement(input) {
60
80
  log(` ${operationType}: previous attempt of query_id=${queryId} is no longer running (status=${priorOpState.status}${errorTail}) — running before-retry then resubmitting`);
61
81
  if (beforeRetry !== null) {
62
82
  log(` ${operationType}: running before-retry SQL`);
63
- await db.command(beforeRetry);
83
+ await db.command(beforeRetry, settings);
64
84
  }
65
85
  }
66
86
  else {
67
87
  log(` ${operationType}: submitting async (query_id=${queryId})`);
68
88
  }
69
- const submitAfterTime = priorOpState === undefined ? undefined : isoWithoutZone(new Date(now() - 60_000));
70
89
  const startedAt = isoWithoutZone(new Date(now()));
71
90
  // Persist the "started" intent BEFORE submitting, so a crash between here
72
91
  // and the next event still leaves chkit able to detect "this op was tried."
@@ -83,7 +102,8 @@ export async function applyAsyncStatement(input) {
83
102
  // Re-read so we have the row's actual stored applied_at (matters for
84
103
  // subsequent ReplacingMergeTree writes during polling).
85
104
  const stateAfterStart = await journalStore.readMigrationState(migrationName);
86
- const submitPromise = db.submit(sql, queryId);
105
+ const pollAfterTime = await readSubmissionLowerBound(db);
106
+ const submitPromise = db.submit(sql, queryId, settings);
87
107
  return await pollUntilTerminal({
88
108
  db,
89
109
  journalStore,
@@ -94,7 +114,7 @@ export async function applyAsyncStatement(input) {
94
114
  operationType,
95
115
  operationKey,
96
116
  queryId,
97
- pollAfterTime: submitAfterTime,
117
+ pollAfterTime,
98
118
  log,
99
119
  pollIntervalMs,
100
120
  sleep,
@@ -120,7 +140,7 @@ async function pollUntilTerminal(input) {
120
140
  await sleep(pollIntervalMs);
121
141
  let status;
122
142
  try {
123
- status = await db.queryStatus(queryId, pollAfterTime === undefined ? undefined : { afterTime: pollAfterTime });
143
+ status = await db.queryStatus(queryId, { afterTime: pollAfterTime });
124
144
  transientPollErrors = 0;
125
145
  }
126
146
  catch (pollError) {
@@ -174,9 +194,21 @@ async function pollUntilTerminal(input) {
174
194
  }
175
195
  // status === 'unknown'
176
196
  // If submit has already rejected, the query never made it server-side
177
- // (e.g. SQL parse error) — surface that error. Otherwise it's a
178
- // transient gap (just-submitted or just-finished); loop.
197
+ // (e.g. SQL parse error) — record the attempt as failed and surface that
198
+ // error. Otherwise it's a transient gap (just-submitted or just-finished); loop.
179
199
  if (submitError) {
200
+ const failedOp = {
201
+ operationIndex: statementIndex,
202
+ operationKey,
203
+ operationType,
204
+ queryId,
205
+ status: 'failed',
206
+ startedAt,
207
+ finishedAt: isoWithoutZone(new Date(now())),
208
+ lastError: describeError(submitError),
209
+ };
210
+ const baseState = migrationState ?? freshMigrationState(migrationName, migrationChecksum);
211
+ await journalStore.writeMigrationState(upsertOperation(baseState, failedOp, now));
180
212
  throw submitError;
181
213
  }
182
214
  log(` ${operationType}: status unknown — still polling (elapsed ${elapsedSec}s)`);
@@ -188,6 +220,57 @@ async function pollUntilTerminal(input) {
188
220
  }
189
221
  }
190
222
  }
223
+ // applyMigration re-keys an edited in-progress state before any statement
224
+ // runs; this is defense in depth. A state whose checksum still differs is
225
+ // accepted only when no statement is recorded as completed or started (#233),
226
+ // and the writes that follow carry the new checksum.
227
+ function acceptChangedChecksum(state, migrationName, migrationChecksum) {
228
+ if (state === null || state.migrationCompleted || state.checksum === migrationChecksum)
229
+ return state;
230
+ if (hasStatementProgress(state)) {
231
+ throw inProgressChecksumMismatchError({
232
+ migration: migrationName,
233
+ journalChecksum: state.checksum,
234
+ fileChecksum: migrationChecksum,
235
+ async: true,
236
+ });
237
+ }
238
+ return { ...state, checksum: migrationChecksum };
239
+ }
240
+ // The retry path that follows a 'not running' answer runs before-retry SQL
241
+ // (e.g. a TRUNCATE) and resubmits, so the answer must cover every replica: the
242
+ // attempt runs on the replica that received it (#246). A replica that cannot be
243
+ // read fails the check instead of being skipped, and a failed check stops here,
244
+ // before anything is compensated or resubmitted.
245
+ async function checkInFlight(db, queryId, operationType) {
246
+ try {
247
+ return await db.queryStatus(queryId, { everyReplica: true });
248
+ }
249
+ catch (error) {
250
+ throw new Error(`Async migration step ${operationType} (query_id ${queryId}): could not check whether a previous attempt is still running (${describeError(error)}). Nothing was resubmitted and no before-retry SQL ran — re-run \`chkit migrate --apply\`.`, { cause: error });
251
+ }
252
+ }
253
+ // Read just before a submission, as an ISO UTC string for queryStatus.
254
+ async function readSubmissionLowerBound(db) {
255
+ return queryLogLowerBound((await readServerState(db)).nowMs, 0);
256
+ }
257
+ // The attached attempt had run for elapsedMs when the in-flight check, which
258
+ // followed the serverNowMs reading, saw it. Without an elapsed time its start
259
+ // is unknown, and only the unbounded lookup still finds its entry.
260
+ function attachLowerBound(serverNowMs, elapsedMs) {
261
+ return elapsedMs === undefined ? UNBOUNDED_POLL_AFTER_TIME : queryLogLowerBound(serverNowMs, elapsedMs);
262
+ }
263
+ function queryLogLowerBound(serverNowMs, startedMsAgo) {
264
+ return new Date(serverNowMs - startedMsAgo - QUERY_LOG_SKEW_MARGIN_MS).toISOString();
265
+ }
266
+ async function readServerState(db) {
267
+ const [row] = await db.query('SELECT toUnixTimestamp64Milli(now64(3)) AS now_ms, currentDatabase() AS database');
268
+ const nowMs = Number(row?.now_ms);
269
+ if (!Number.isFinite(nowMs) || typeof row?.database !== 'string' || row.database === '') {
270
+ throw new Error('Could not read the ClickHouse server time and database for an async statement.');
271
+ }
272
+ return { nowMs, database: row.database };
273
+ }
191
274
  export function upsertOperation(state, op, now) {
192
275
  const others = state.operations.filter((existing) => existing.operationIndex !== op.operationIndex);
193
276
  const operations = [...others, op].sort((a, b) => a.operationIndex - b.operationIndex);
@@ -209,9 +292,15 @@ export function freshMigrationState(migrationName, checksum) {
209
292
  operations: [],
210
293
  };
211
294
  }
212
- export function makeDeterministicQueryId(migrationName, statementIndex) {
295
+ /**
296
+ * The id of an async statement's query. It names the database and journal
297
+ * table too, so runs of one migration file against other databases, or by
298
+ * other projects in the same database, never share it (#463), while a re-run
299
+ * against the same target gets the same id and attaches to its attempt.
300
+ */
301
+ export function makeDeterministicQueryId(database, journalTable, migrationName, statementIndex) {
213
302
  const hex = createHash('sha256')
214
- .update(`chkit:${migrationName}:${statementIndex}`)
303
+ .update(`chkit:${database}:${journalTable}:${migrationName}:${statementIndex}`)
215
304
  .digest('hex');
216
305
  return [
217
306
  hex.slice(0, 8),
@@ -252,7 +341,4 @@ export function isoWithoutZone(date) {
252
341
  function firstLine(value) {
253
342
  return value.split('\n')[0] ?? value;
254
343
  }
255
- function defaultSleep(ms) {
256
- return new Promise((resolve) => setTimeout(resolve, ms));
257
- }
258
344
  //# sourceMappingURL=async-apply.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"async-apply.js","sourceRoot":"","sources":["../../../src/commands/migrate/async-apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async-apply.js","sourceRoot":"","sources":["../../../src/commands/migrate/async-apply.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,48 @@
1
- import { type ChxPluginCommand } from '../../plugins.js';
1
+ import type { ClickHouseExecutor, ClickHouseSettings } from '@chkit/clickhouse';
2
+ import type { ResolvedChxConfig } from '@chkit/core';
3
+ import { type ChxPluginCommand, type ParsedFlags, type PluginRuntime, type TableScope } from '../../plugins.js';
4
+ import { createJournalStore } from '../../runtime/journal-store.js';
5
+ import { type MigrationJournal } from '../../runtime/migration-store.js';
6
+ import { type MigrateMode } from './output.js';
2
7
  export declare const migrateCommand: ChxPluginCommand;
8
+ type JournalStore = ReturnType<typeof createJournalStore>;
9
+ /** Shared state resolved once by prepareMigration and threaded through the phases. */
10
+ interface MigrateContext {
11
+ jsonMode: boolean;
12
+ executeRequested: boolean;
13
+ allowDestructive: boolean;
14
+ /** --setting values, sent with every migration statement. */
15
+ settings: ClickHouseSettings | undefined;
16
+ mode: MigrateMode;
17
+ migrationsDir: string;
18
+ metaDir: string;
19
+ db: ClickHouseExecutor;
20
+ journalStore: JournalStore;
21
+ config: ResolvedChxConfig;
22
+ flags: ParsedFlags;
23
+ pluginRuntime: PluginRuntime;
24
+ tableScope: TableScope;
25
+ journal: MigrationJournal;
26
+ files: string[];
27
+ appliedNames: ReadonlySet<string>;
28
+ pendingAll: string[];
29
+ retryTarget: string | undefined;
30
+ abandonTarget: string | undefined;
31
+ }
32
+ /** The parts of the migrate context that --abandon reads. */
33
+ type AbandonContext = Pick<MigrateContext, 'jsonMode' | 'executeRequested' | 'journalStore' | 'tableScope' | 'appliedNames' | 'files' | 'metaDir'>;
34
+ /** How --abandon asks before it changes the journal without --apply. */
35
+ interface AbandonPrompt {
36
+ /** Whether someone can answer a prompt: a TTY outside CI. */
37
+ isInteractive: () => boolean;
38
+ confirm: (migration: string) => Promise<boolean>;
39
+ }
40
+ /**
41
+ * --abandon <migration>: reset the journal state of a failed migration so the
42
+ * next apply runs it from statement 1. Without --apply it only previews, like
43
+ * the rest of migrate, or asks first in an interactive terminal. Runs before
44
+ * every other gate and applies nothing.
45
+ */
46
+ export declare function runAbandon(ctx: AbandonContext, migration: string, prompt?: AbandonPrompt): Promise<number>;
47
+ export {};
3
48
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/command.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,gBAAgB,EAKtB,MAAM,kBAAkB,CAAA;AA4CzB,eAAO,MAAM,cAAc,EAAE,gBAK5B,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/command.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,OAAO,EAGL,KAAK,gBAAgB,EAErB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAIL,KAAK,gBAAgB,EAEtB,MAAM,kCAAkC,CAAA;AAQzC,OAAO,EAgBL,KAAK,WAAW,EACjB,MAAM,aAAa,CAAA;AAqCpB,eAAO,MAAM,cAAc,EAAE,gBAK5B,CAAA;AAED,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEzD,sFAAsF;AACtF,UAAU,cAAc;IACtB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;IACzB,6DAA6D;IAC7D,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACxC,IAAI,EAAE,WAAW,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,EAAE,EAAE,kBAAkB,CAAA;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,iBAAiB,CAAA;IACzB,KAAK,EAAE,WAAW,CAAA;IAClB,aAAa,EAAE,aAAa,CAAA;IAC5B,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,gBAAgB,CAAA;IACzB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACjC,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC;AAeD,6DAA6D;AAC7D,KAAK,cAAc,GAAG,IAAI,CACxB,cAAc,EACd,UAAU,GAAG,kBAAkB,GAAG,cAAc,GAAG,YAAY,GAAG,cAAc,GAAG,OAAO,GAAG,SAAS,CACvG,CAAA;AAED,wEAAwE;AACxE,UAAU,aAAa;IACrB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,OAAO,CAAA;IAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACjD;AAyGD;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,aAA+B,GACtC,OAAO,CAAC,MAAM,CAAC,CAmCjB"}