@chkit/plugin-backfill 0.1.0-beta.2 → 0.1.0-beta.21

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 (164) hide show
  1. package/README.md +170 -0
  2. package/dist/args.d.ts +109 -6
  3. package/dist/args.d.ts.map +1 -1
  4. package/dist/args.js +73 -97
  5. package/dist/args.js.map +1 -1
  6. package/dist/async-backfill.d.ts +64 -0
  7. package/dist/async-backfill.d.ts.map +1 -0
  8. package/dist/async-backfill.js +251 -0
  9. package/dist/async-backfill.js.map +1 -0
  10. package/dist/check.d.ts +9 -0
  11. package/dist/check.d.ts.map +1 -0
  12. package/dist/check.js +79 -0
  13. package/dist/check.js.map +1 -0
  14. package/dist/chunking/analyze.d.ts +8 -0
  15. package/dist/chunking/analyze.d.ts.map +1 -0
  16. package/dist/chunking/analyze.js +8 -0
  17. package/dist/chunking/analyze.js.map +1 -0
  18. package/dist/chunking/boundary-codec.d.ts +10 -0
  19. package/dist/chunking/boundary-codec.d.ts.map +1 -0
  20. package/dist/chunking/boundary-codec.js +79 -0
  21. package/dist/chunking/boundary-codec.js.map +1 -0
  22. package/dist/chunking/build.d.ts +11 -0
  23. package/dist/chunking/build.d.ts.map +1 -0
  24. package/dist/chunking/build.js +51 -0
  25. package/dist/chunking/build.js.map +1 -0
  26. package/dist/chunking/e2e/constants.d.ts +2 -0
  27. package/dist/chunking/e2e/constants.d.ts.map +1 -0
  28. package/dist/chunking/e2e/constants.js +2 -0
  29. package/dist/chunking/e2e/constants.js.map +1 -0
  30. package/dist/chunking/e2e/seed-datasets.script.d.ts +20 -0
  31. package/dist/chunking/e2e/seed-datasets.script.d.ts.map +1 -0
  32. package/dist/chunking/e2e/seed-datasets.script.js +134 -0
  33. package/dist/chunking/e2e/seed-datasets.script.js.map +1 -0
  34. package/dist/chunking/introspect.d.ts +40 -0
  35. package/dist/chunking/introspect.d.ts.map +1 -0
  36. package/dist/chunking/introspect.js +187 -0
  37. package/dist/chunking/introspect.js.map +1 -0
  38. package/dist/chunking/partition-slices.d.ts +14 -0
  39. package/dist/chunking/partition-slices.d.ts.map +1 -0
  40. package/dist/chunking/partition-slices.js +111 -0
  41. package/dist/chunking/partition-slices.js.map +1 -0
  42. package/dist/chunking/planner.d.ts +3 -0
  43. package/dist/chunking/planner.d.ts.map +1 -0
  44. package/dist/chunking/planner.js +343 -0
  45. package/dist/chunking/planner.js.map +1 -0
  46. package/dist/chunking/services/distribution-source.d.ts +11 -0
  47. package/dist/chunking/services/distribution-source.d.ts.map +1 -0
  48. package/dist/chunking/services/distribution-source.js +60 -0
  49. package/dist/chunking/services/distribution-source.js.map +1 -0
  50. package/dist/chunking/services/metadata-source.d.ts +4 -0
  51. package/dist/chunking/services/metadata-source.d.ts.map +1 -0
  52. package/dist/chunking/services/metadata-source.js +138 -0
  53. package/dist/chunking/services/metadata-source.js.map +1 -0
  54. package/dist/chunking/services/row-probe.d.ts +14 -0
  55. package/dist/chunking/services/row-probe.d.ts.map +1 -0
  56. package/dist/chunking/services/row-probe.js +62 -0
  57. package/dist/chunking/services/row-probe.js.map +1 -0
  58. package/dist/chunking/splitter.d.ts +20 -0
  59. package/dist/chunking/splitter.d.ts.map +1 -0
  60. package/dist/chunking/splitter.js +76 -0
  61. package/dist/chunking/splitter.js.map +1 -0
  62. package/dist/chunking/sql.d.ts +20 -0
  63. package/dist/chunking/sql.d.ts.map +1 -0
  64. package/dist/chunking/sql.js +304 -0
  65. package/dist/chunking/sql.js.map +1 -0
  66. package/dist/chunking/strategies/equal-width-split.d.ts +4 -0
  67. package/dist/chunking/strategies/equal-width-split.d.ts.map +1 -0
  68. package/dist/chunking/strategies/equal-width-split.js +46 -0
  69. package/dist/chunking/strategies/equal-width-split.js.map +1 -0
  70. package/dist/chunking/strategies/group-by-key-split.d.ts +3 -0
  71. package/dist/chunking/strategies/group-by-key-split.d.ts.map +1 -0
  72. package/dist/chunking/strategies/group-by-key-split.js +54 -0
  73. package/dist/chunking/strategies/group-by-key-split.js.map +1 -0
  74. package/dist/chunking/strategies/metadata-single-chunk.d.ts +3 -0
  75. package/dist/chunking/strategies/metadata-single-chunk.d.ts.map +1 -0
  76. package/dist/chunking/strategies/metadata-single-chunk.js +5 -0
  77. package/dist/chunking/strategies/metadata-single-chunk.js.map +1 -0
  78. package/dist/chunking/strategies/quantile-range-split.d.ts +5 -0
  79. package/dist/chunking/strategies/quantile-range-split.d.ts.map +1 -0
  80. package/dist/chunking/strategies/quantile-range-split.js +132 -0
  81. package/dist/chunking/strategies/quantile-range-split.js.map +1 -0
  82. package/dist/chunking/strategies/refinement.d.ts +4 -0
  83. package/dist/chunking/strategies/refinement.d.ts.map +1 -0
  84. package/dist/chunking/strategies/refinement.js +61 -0
  85. package/dist/chunking/strategies/refinement.js.map +1 -0
  86. package/dist/chunking/strategies/string-prefix-split.d.ts +4 -0
  87. package/dist/chunking/strategies/string-prefix-split.d.ts.map +1 -0
  88. package/dist/chunking/strategies/string-prefix-split.js +73 -0
  89. package/dist/chunking/strategies/string-prefix-split.js.map +1 -0
  90. package/dist/chunking/strategies/temporal-bucket-split.d.ts +4 -0
  91. package/dist/chunking/strategies/temporal-bucket-split.d.ts.map +1 -0
  92. package/dist/chunking/strategies/temporal-bucket-split.js +67 -0
  93. package/dist/chunking/strategies/temporal-bucket-split.js.map +1 -0
  94. package/dist/chunking/strategy-policy.d.ts +3 -0
  95. package/dist/chunking/strategy-policy.d.ts.map +1 -0
  96. package/dist/chunking/strategy-policy.js +4 -0
  97. package/dist/chunking/strategy-policy.js.map +1 -0
  98. package/dist/chunking/types.d.ts +139 -0
  99. package/dist/chunking/types.d.ts.map +1 -0
  100. package/dist/chunking/types.js +2 -0
  101. package/dist/chunking/types.js.map +1 -0
  102. package/dist/chunking/utils/binary-string.d.ts +8 -0
  103. package/dist/chunking/utils/binary-string.d.ts.map +1 -0
  104. package/dist/chunking/utils/binary-string.js +52 -0
  105. package/dist/chunking/utils/binary-string.js.map +1 -0
  106. package/dist/chunking/utils/ids.d.ts +4 -0
  107. package/dist/chunking/utils/ids.d.ts.map +1 -0
  108. package/dist/chunking/utils/ids.js +11 -0
  109. package/dist/chunking/utils/ids.js.map +1 -0
  110. package/dist/chunking/utils/ranges.d.ts +5 -0
  111. package/dist/chunking/utils/ranges.d.ts.map +1 -0
  112. package/dist/chunking/utils/ranges.js +19 -0
  113. package/dist/chunking/utils/ranges.js.map +1 -0
  114. package/dist/detect.d.ts +13 -0
  115. package/dist/detect.d.ts.map +1 -0
  116. package/dist/detect.js +113 -0
  117. package/dist/detect.js.map +1 -0
  118. package/dist/index.d.ts +3 -0
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +1 -0
  121. package/dist/index.js.map +1 -1
  122. package/dist/logging.d.ts +12 -0
  123. package/dist/logging.d.ts.map +1 -0
  124. package/dist/logging.js +61 -0
  125. package/dist/logging.js.map +1 -0
  126. package/dist/options.d.ts +151 -4
  127. package/dist/options.d.ts.map +1 -1
  128. package/dist/options.js +161 -109
  129. package/dist/options.js.map +1 -1
  130. package/dist/payload.d.ts +7 -17
  131. package/dist/payload.d.ts.map +1 -1
  132. package/dist/payload.js +7 -19
  133. package/dist/payload.js.map +1 -1
  134. package/dist/planner.d.ts +10 -8
  135. package/dist/planner.d.ts.map +1 -1
  136. package/dist/planner.js +76 -97
  137. package/dist/planner.js.map +1 -1
  138. package/dist/plugin.d.ts +4 -3
  139. package/dist/plugin.d.ts.map +1 -1
  140. package/dist/plugin.js +311 -215
  141. package/dist/plugin.js.map +1 -1
  142. package/dist/queries.d.ts +21 -0
  143. package/dist/queries.d.ts.map +1 -0
  144. package/dist/queries.js +113 -0
  145. package/dist/queries.js.map +1 -0
  146. package/dist/runtime.d.ts +14 -0
  147. package/dist/runtime.d.ts.map +1 -1
  148. package/dist/runtime.js +162 -83
  149. package/dist/runtime.js.map +1 -1
  150. package/dist/sdk.d.ts +12 -0
  151. package/dist/sdk.d.ts.map +1 -0
  152. package/dist/sdk.js +9 -0
  153. package/dist/sdk.js.map +1 -0
  154. package/dist/state.d.ts +16 -28
  155. package/dist/state.d.ts.map +1 -1
  156. package/dist/state.js +73 -127
  157. package/dist/state.js.map +1 -1
  158. package/dist/table-config.d.ts +9 -0
  159. package/dist/table-config.d.ts.map +1 -0
  160. package/dist/table-config.js +2 -0
  161. package/dist/table-config.js.map +1 -0
  162. package/dist/types.d.ts +49 -114
  163. package/dist/types.d.ts.map +1 -1
  164. package/package.json +31 -2
package/dist/types.d.ts CHANGED
@@ -1,86 +1,60 @@
1
1
  import type { ChxInlinePluginRegistration, ResolvedChxConfig } from '@chkit/core';
2
- export interface BackfillPluginDefaults {
3
- chunkHours?: number;
4
- maxParallelChunks?: number;
5
- maxRetriesPerChunk?: number;
6
- requireIdempotencyToken?: boolean;
7
- }
8
- export interface BackfillPluginPolicy {
9
- requireDryRunBeforeRun?: boolean;
10
- requireExplicitWindow?: boolean;
11
- blockOverlappingRuns?: boolean;
12
- failCheckOnRequiredPendingBackfill?: boolean;
13
- }
14
- export interface BackfillPluginLimits {
15
- maxWindowHours?: number;
16
- minChunkMinutes?: number;
17
- }
18
- export interface BackfillPluginOptions {
19
- stateDir?: string;
20
- defaults?: BackfillPluginDefaults;
21
- policy?: BackfillPluginPolicy;
22
- limits?: BackfillPluginLimits;
23
- }
24
- export interface NormalizedBackfillPluginOptions {
25
- stateDir?: string;
26
- defaults: Required<BackfillPluginDefaults>;
27
- policy: Required<BackfillPluginPolicy>;
28
- limits: Required<BackfillPluginLimits>;
2
+ import type { BackfillProgress } from './async-backfill.js';
3
+ import type { ChunkPlan } from './chunking/types.js';
4
+ import type { PluginConfig } from './options.js';
5
+ /** @deprecated Use {@link PluginConfig} instead. */
6
+ export type BackfillPluginOptions = PluginConfig;
7
+ export type { PluginConfig };
8
+ export interface BackfillEnvironment {
9
+ fingerprint: string;
10
+ url: string;
11
+ database: string;
29
12
  }
30
13
  export type BackfillPlanStatus = 'planned' | 'running' | 'paused' | 'completed' | 'failed' | 'cancelled';
31
- export interface BackfillChunk {
32
- id: string;
33
- from: string;
34
- to: string;
35
- status: 'pending' | 'running' | 'done' | 'failed' | 'skipped';
36
- attempts: number;
37
- idempotencyToken: string;
38
- sqlTemplate: string;
39
- lastError?: string;
14
+ export type { Chunk, ChunkDerivationStep, ChunkPlan, ChunkRange, EstimateConfidence, EstimateReason, FocusedValue, Partition, PartitionDiagnostics, SortKey, } from './chunking/types.js';
15
+ export interface BackfillExecutionPlan {
16
+ mode: 'copy' | 'mv_replay';
17
+ sourceTarget: string;
18
+ mvAsQuery?: string;
19
+ targetColumns?: string[];
20
+ requireIdempotencyToken: boolean;
40
21
  }
41
22
  export interface BackfillPlanState {
42
23
  planId: string;
43
24
  target: string;
44
25
  createdAt: string;
45
- status: BackfillPlanStatus;
26
+ environment?: BackfillEnvironment;
46
27
  from: string;
47
28
  to: string;
48
- chunks: BackfillChunk[];
29
+ chunkPlan: ChunkPlan;
30
+ execution: BackfillExecutionPlan;
49
31
  options: {
50
- chunkHours: number;
32
+ maxChunkBytes?: number;
51
33
  maxParallelChunks: number;
52
34
  maxRetriesPerChunk: number;
53
35
  requireIdempotencyToken: boolean;
36
+ sortKeyColumn?: string;
37
+ };
38
+ policy: {
39
+ requireDryRunBeforeRun: boolean;
40
+ requireExplicitWindow: boolean;
41
+ blockOverlappingRuns: boolean;
42
+ failCheckOnRequiredPendingBackfill: boolean;
43
+ };
44
+ limits: {
45
+ maxWindowHours: number;
46
+ minChunkMinutes: number;
54
47
  };
55
- policy: Required<BackfillPluginPolicy>;
56
- limits: Required<BackfillPluginLimits>;
57
- }
58
- export interface BackfillRunChunkState {
59
- id: string;
60
- from: string;
61
- to: string;
62
- status: 'pending' | 'running' | 'done' | 'failed' | 'skipped';
63
- attempts: number;
64
- idempotencyToken: string;
65
- sqlTemplate: string;
66
- startedAt?: string;
67
- completedAt?: string;
68
- lastError?: string;
69
48
  }
70
49
  export interface BackfillRunState {
71
50
  planId: string;
72
51
  target: string;
73
- status: BackfillPlanStatus;
74
- createdAt: string;
52
+ status: 'running' | 'completed' | 'failed' | 'cancelled';
75
53
  startedAt: string;
76
54
  updatedAt: string;
77
55
  completedAt?: string;
78
56
  lastError?: string;
79
- replayDone: boolean;
80
- replayFailed: boolean;
81
- compatibilityToken: string;
82
- options: BackfillPlanState['options'];
83
- chunks: BackfillRunChunkState[];
57
+ progress: BackfillProgress;
84
58
  }
85
59
  export interface BackfillStatusSummary {
86
60
  planId: string;
@@ -89,15 +63,14 @@ export interface BackfillStatusSummary {
89
63
  totals: {
90
64
  total: number;
91
65
  pending: number;
66
+ submitted: number;
92
67
  running: number;
93
68
  done: number;
94
69
  failed: number;
95
- skipped: number;
96
70
  };
97
- attempts: number;
71
+ rowsWritten: number;
98
72
  updatedAt: string;
99
73
  runPath: string;
100
- eventPath: string;
101
74
  lastError?: string;
102
75
  }
103
76
  export interface BackfillPluginCheckContext {
@@ -122,7 +95,6 @@ export interface BackfillPluginCheckResult {
122
95
  export interface BuildBackfillPlanOutput {
123
96
  plan: BackfillPlanState;
124
97
  planPath: string;
125
- existed: boolean;
126
98
  }
127
99
  export interface ReadPlanOutput {
128
100
  plan: BackfillPlanState;
@@ -133,20 +105,8 @@ export interface BackfillPathSet {
133
105
  stateDir: string;
134
106
  plansDir: string;
135
107
  runsDir: string;
136
- eventsDir: string;
137
108
  planPath: string;
138
109
  runPath: string;
139
- eventPath: string;
140
- }
141
- export interface BackfillExecutionOptions {
142
- replayDone?: boolean;
143
- replayFailed?: boolean;
144
- forceOverlap?: boolean;
145
- forceCompatibility?: boolean;
146
- simulation?: {
147
- failChunkId?: string;
148
- failCount?: number;
149
- };
150
110
  }
151
111
  export interface BackfillDoctorReport {
152
112
  planId: string;
@@ -155,14 +115,9 @@ export interface BackfillDoctorReport {
155
115
  recommendations: string[];
156
116
  failedChunkIds: string[];
157
117
  }
158
- export interface ExecuteBackfillRunOutput {
159
- run: BackfillRunState;
160
- status: BackfillStatusSummary;
161
- runPath: string;
162
- eventPath: string;
163
- }
164
118
  export interface BackfillPluginCommandContext {
165
119
  args: string[];
120
+ flags: Record<string, string | string[] | boolean | undefined>;
166
121
  jsonMode: boolean;
167
122
  options: Record<string, unknown>;
168
123
  config: ResolvedChxConfig;
@@ -178,6 +133,13 @@ export interface BackfillPlugin {
178
133
  commands: Array<{
179
134
  name: 'plan' | 'run' | 'resume' | 'status' | 'cancel' | 'doctor';
180
135
  description: string;
136
+ flags?: ReadonlyArray<{
137
+ name: string;
138
+ type: 'boolean' | 'string' | 'string[]';
139
+ description: string;
140
+ placeholder?: string;
141
+ negation?: boolean;
142
+ }>;
181
143
  run: (context: BackfillPluginCommandContext) => undefined | number | Promise<undefined | number>;
182
144
  }>;
183
145
  hooks?: {
@@ -193,37 +155,10 @@ export interface BackfillPlugin {
193
155
  }) => void | Promise<void>;
194
156
  };
195
157
  }
196
- export type BackfillPluginRegistration = ChxInlinePluginRegistration<BackfillPlugin, BackfillPluginOptions>;
197
- export interface ParsedPlanArgs {
198
- target: string;
199
- from: string;
200
- to: string;
201
- chunkHours?: number;
202
- forceLargeWindow: boolean;
203
- }
204
- export interface ParsedRunArgs {
205
- planId: string;
206
- replayDone: boolean;
207
- replayFailed: boolean;
208
- forceOverlap: boolean;
209
- forceCompatibility: boolean;
210
- simulateFailChunk?: string;
211
- simulateFailCount: number;
212
- }
213
- export interface ParsedResumeArgs {
214
- planId: string;
215
- replayDone: boolean;
216
- replayFailed: boolean;
217
- forceOverlap: boolean;
218
- forceCompatibility: boolean;
219
- }
220
- export interface ParsedStatusArgs {
221
- planId: string;
222
- }
223
- export interface ParsedCancelArgs {
224
- planId: string;
225
- }
226
- export interface ParsedDoctorArgs {
227
- planId: string;
158
+ export type BackfillPluginRegistration = ChxInlinePluginRegistration<BackfillPlugin, PluginConfig>;
159
+ export interface TimeColumnCandidate {
160
+ name: string;
161
+ type: string;
162
+ source: 'order_by' | 'column_scan' | 'schema';
228
163
  }
229
164
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,24 @@
1
1
  {
2
2
  "name": "@chkit/plugin-backfill",
3
- "version": "0.1.0-beta.2",
3
+ "version": "0.1.0-beta.21",
4
+ "description": "Time-windowed data backfill with checkpoints for chkit",
5
+ "license": "MIT",
6
+ "author": "ObsessionDB",
7
+ "keywords": [
8
+ "clickhouse",
9
+ "backfill",
10
+ "data-migration",
11
+ "chkit-plugin"
12
+ ],
13
+ "homepage": "https://chkit.obsessiondb.com",
14
+ "bugs": {
15
+ "url": "https://github.com/obsessiondb/chkit/issues"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/obsessiondb/chkit.git",
20
+ "directory": "packages/plugin-backfill"
21
+ },
4
22
  "type": "module",
5
23
  "main": "./dist/index.js",
6
24
  "types": "./dist/index.d.ts",
@@ -9,6 +27,11 @@
9
27
  "source": "./src/index.ts",
10
28
  "types": "./dist/index.d.ts",
11
29
  "default": "./dist/index.js"
30
+ },
31
+ "./sdk": {
32
+ "source": "./src/sdk.ts",
33
+ "types": "./dist/sdk.d.ts",
34
+ "default": "./dist/sdk.js"
12
35
  }
13
36
  },
14
37
  "files": [
@@ -20,9 +43,15 @@
20
43
  "typecheck": "tsc -p tsconfig.json --noEmit",
21
44
  "lint": "biome lint src",
22
45
  "test": "bun test src",
46
+ "test:env": "doppler run --project chkit --config ci -- bun test src",
47
+ "seed:env": "doppler run --project chkit --config ci -- bun run src/chunking/e2e/seed-datasets.script.ts",
23
48
  "clean": "rm -rf dist"
24
49
  },
25
50
  "dependencies": {
26
- "@chkit/core": "0.1.0-beta.1"
51
+ "@chkit/clickhouse": "0.1.0-beta.21",
52
+ "@chkit/core": "0.1.0-beta.21",
53
+ "@logtape/logtape": "^2.0.5",
54
+ "p-map": "^7.0.4",
55
+ "zod": "^4.3.6"
27
56
  }
28
57
  }