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