@chkit/plugin-backfill 0.1.0-beta.20 → 0.1.0-beta.22

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 (133) hide show
  1. package/README.md +130 -0
  2. package/dist/async-backfill.d.ts +4 -4
  3. package/dist/async-backfill.d.ts.map +1 -1
  4. package/dist/async-backfill.js +2 -2
  5. package/dist/async-backfill.js.map +1 -1
  6. package/dist/chunking/analyze.d.ts +5 -35
  7. package/dist/chunking/analyze.d.ts.map +1 -1
  8. package/dist/chunking/analyze.js +3 -71
  9. package/dist/chunking/analyze.js.map +1 -1
  10. package/dist/chunking/boundary-codec.d.ts +4 -0
  11. package/dist/chunking/boundary-codec.d.ts.map +1 -0
  12. package/dist/chunking/boundary-codec.js +79 -0
  13. package/dist/chunking/boundary-codec.js.map +1 -0
  14. package/dist/chunking/e2e/constants.d.ts +2 -0
  15. package/dist/chunking/e2e/constants.d.ts.map +1 -0
  16. package/dist/chunking/e2e/constants.js +2 -0
  17. package/dist/chunking/e2e/constants.js.map +1 -0
  18. package/dist/chunking/e2e/seed-datasets.script.d.ts +20 -0
  19. package/dist/chunking/e2e/seed-datasets.script.d.ts.map +1 -0
  20. package/dist/chunking/e2e/seed-datasets.script.js +134 -0
  21. package/dist/chunking/e2e/seed-datasets.script.js.map +1 -0
  22. package/dist/chunking/introspect.d.ts +6 -0
  23. package/dist/chunking/introspect.d.ts.map +1 -1
  24. package/dist/chunking/introspect.js +113 -22
  25. package/dist/chunking/introspect.js.map +1 -1
  26. package/dist/chunking/partition-slices.d.ts +14 -0
  27. package/dist/chunking/partition-slices.d.ts.map +1 -0
  28. package/dist/chunking/partition-slices.js +111 -0
  29. package/dist/chunking/partition-slices.js.map +1 -0
  30. package/dist/chunking/planner.d.ts +3 -0
  31. package/dist/chunking/planner.d.ts.map +1 -0
  32. package/dist/chunking/planner.js +343 -0
  33. package/dist/chunking/planner.js.map +1 -0
  34. package/dist/chunking/services/distribution-source.d.ts +11 -0
  35. package/dist/chunking/services/distribution-source.d.ts.map +1 -0
  36. package/dist/chunking/services/distribution-source.js +60 -0
  37. package/dist/chunking/services/distribution-source.js.map +1 -0
  38. package/dist/chunking/services/metadata-source.d.ts +4 -0
  39. package/dist/chunking/services/metadata-source.d.ts.map +1 -0
  40. package/dist/chunking/services/metadata-source.js +138 -0
  41. package/dist/chunking/services/metadata-source.js.map +1 -0
  42. package/dist/chunking/services/row-probe.d.ts +12 -0
  43. package/dist/chunking/services/row-probe.d.ts.map +1 -0
  44. package/dist/chunking/services/row-probe.js +49 -0
  45. package/dist/chunking/services/row-probe.js.map +1 -0
  46. package/dist/chunking/sql.d.ts +11 -5
  47. package/dist/chunking/sql.d.ts.map +1 -1
  48. package/dist/chunking/sql.js +190 -107
  49. package/dist/chunking/sql.js.map +1 -1
  50. package/dist/chunking/strategies/equal-width-split.d.ts +3 -0
  51. package/dist/chunking/strategies/equal-width-split.d.ts.map +1 -0
  52. package/dist/chunking/strategies/equal-width-split.js +46 -0
  53. package/dist/chunking/strategies/equal-width-split.js.map +1 -0
  54. package/dist/chunking/strategies/group-by-key-split.d.ts +3 -0
  55. package/dist/chunking/strategies/group-by-key-split.d.ts.map +1 -0
  56. package/dist/chunking/strategies/group-by-key-split.js +54 -0
  57. package/dist/chunking/strategies/group-by-key-split.js.map +1 -0
  58. package/dist/chunking/strategies/metadata-single-chunk.d.ts +3 -0
  59. package/dist/chunking/strategies/metadata-single-chunk.d.ts.map +1 -0
  60. package/dist/chunking/strategies/metadata-single-chunk.js +5 -0
  61. package/dist/chunking/strategies/metadata-single-chunk.js.map +1 -0
  62. package/dist/chunking/strategies/quantile-range-split.d.ts +5 -0
  63. package/dist/chunking/strategies/quantile-range-split.d.ts.map +1 -0
  64. package/dist/chunking/strategies/quantile-range-split.js +132 -0
  65. package/dist/chunking/strategies/quantile-range-split.js.map +1 -0
  66. package/dist/chunking/strategies/refinement.d.ts +3 -0
  67. package/dist/chunking/strategies/refinement.d.ts.map +1 -0
  68. package/dist/chunking/strategies/refinement.js +61 -0
  69. package/dist/chunking/strategies/refinement.js.map +1 -0
  70. package/dist/chunking/strategies/string-prefix-split.d.ts +4 -0
  71. package/dist/chunking/strategies/string-prefix-split.d.ts.map +1 -0
  72. package/dist/chunking/strategies/string-prefix-split.js +73 -0
  73. package/dist/chunking/strategies/string-prefix-split.js.map +1 -0
  74. package/dist/chunking/strategies/temporal-bucket-split.d.ts +3 -0
  75. package/dist/chunking/strategies/temporal-bucket-split.d.ts.map +1 -0
  76. package/dist/chunking/strategies/temporal-bucket-split.js +67 -0
  77. package/dist/chunking/strategies/temporal-bucket-split.js.map +1 -0
  78. package/dist/chunking/strategy-policy.d.ts +3 -0
  79. package/dist/chunking/strategy-policy.d.ts.map +1 -0
  80. package/dist/chunking/strategy-policy.js +4 -0
  81. package/dist/chunking/strategy-policy.js.map +1 -0
  82. package/dist/chunking/types.d.ts +126 -18
  83. package/dist/chunking/types.d.ts.map +1 -1
  84. package/dist/chunking/utils/binary-string.d.ts +8 -0
  85. package/dist/chunking/utils/binary-string.d.ts.map +1 -0
  86. package/dist/chunking/utils/binary-string.js +52 -0
  87. package/dist/chunking/utils/binary-string.js.map +1 -0
  88. package/dist/chunking/utils/ids.d.ts +4 -0
  89. package/dist/chunking/utils/ids.d.ts.map +1 -0
  90. package/dist/chunking/utils/ids.js +11 -0
  91. package/dist/chunking/utils/ids.js.map +1 -0
  92. package/dist/chunking/utils/ranges.d.ts +5 -0
  93. package/dist/chunking/utils/ranges.d.ts.map +1 -0
  94. package/dist/chunking/utils/ranges.js +19 -0
  95. package/dist/chunking/utils/ranges.js.map +1 -0
  96. package/dist/detect.d.ts +0 -5
  97. package/dist/detect.d.ts.map +1 -1
  98. package/dist/detect.js +0 -41
  99. package/dist/detect.js.map +1 -1
  100. package/dist/index.d.ts +0 -5
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +0 -2
  103. package/dist/index.js.map +1 -1
  104. package/dist/logging.d.ts +12 -0
  105. package/dist/logging.d.ts.map +1 -0
  106. package/dist/logging.js +61 -0
  107. package/dist/logging.js.map +1 -0
  108. package/dist/options.d.ts +6 -15
  109. package/dist/options.d.ts.map +1 -1
  110. package/dist/options.js +1 -3
  111. package/dist/options.js.map +1 -1
  112. package/dist/payload.d.ts.map +1 -1
  113. package/dist/payload.js +4 -6
  114. package/dist/payload.js.map +1 -1
  115. package/dist/planner.d.ts +2 -1
  116. package/dist/planner.d.ts.map +1 -1
  117. package/dist/planner.js +31 -52
  118. package/dist/planner.js.map +1 -1
  119. package/dist/plugin.d.ts.map +1 -1
  120. package/dist/plugin.js +27 -11
  121. package/dist/plugin.js.map +1 -1
  122. package/dist/queries.js +3 -3
  123. package/dist/queries.js.map +1 -1
  124. package/dist/sdk.d.ts +12 -0
  125. package/dist/sdk.d.ts.map +1 -0
  126. package/dist/sdk.js +9 -0
  127. package/dist/sdk.js.map +1 -0
  128. package/dist/state.d.ts.map +1 -1
  129. package/dist/state.js +16 -5
  130. package/dist/state.js.map +1 -1
  131. package/dist/types.d.ts +12 -25
  132. package/dist/types.d.ts.map +1 -1
  133. package/package.json +11 -3
@@ -1,29 +1,137 @@
1
- export interface PartitionInfo {
1
+ export type RowProbeStrategy = 'explain-estimate' | 'count';
2
+ export type SortKeyCategory = 'numeric' | 'datetime' | 'string';
3
+ type SortKeyBoundaryEncoding = 'literal' | 'hex-latin1';
4
+ export type EstimateConfidence = 'high' | 'low' | 'exact';
5
+ export type EstimateReason = 'partition-metadata' | 'quantile-estimate' | 'string-prefix-distribution' | 'group-by-key-distribution' | 'temporal-distribution' | 'equal-width-distribution' | 'exact-count';
6
+ export interface SortKey {
7
+ name: string;
8
+ type: string;
9
+ category: SortKeyCategory;
10
+ boundaryEncoding: SortKeyBoundaryEncoding;
11
+ }
12
+ export interface ChunkRange {
13
+ dimensionIndex: number;
14
+ from?: string;
15
+ to?: string;
16
+ }
17
+ export interface ChunkDerivationStep {
18
+ strategyId: string;
19
+ dimensionIndex?: number;
20
+ reason: string;
21
+ }
22
+ export interface ChunkEstimate {
23
+ rows: number;
24
+ bytesCompressed: number;
25
+ bytesUncompressed: number;
26
+ confidence: EstimateConfidence;
27
+ reason: EstimateReason;
28
+ }
29
+ export interface FocusedValue {
30
+ dimensionIndex: number;
31
+ value: string;
32
+ }
33
+ interface ChunkAnalysis {
34
+ focusedValue?: FocusedValue;
35
+ lineage: ChunkDerivationStep[];
36
+ }
37
+ export interface Chunk {
38
+ id: string;
39
+ partitionId: string;
40
+ ranges: ChunkRange[];
41
+ estimate: ChunkEstimate;
42
+ analysis: ChunkAnalysis;
43
+ }
44
+ export interface PartitionDiagnostics {
45
+ estimatedRowSum: number;
46
+ exactPartitionRows: number;
47
+ estimateToExactRatio: number;
48
+ suspiciousEstimate: boolean;
49
+ lowConfidenceChunkCount: number;
50
+ usedDistributionFallback: boolean;
51
+ usedLowConfidenceChunkRefinement: boolean;
52
+ usedExactCountFallback: boolean;
53
+ }
54
+ export interface Partition {
2
55
  partitionId: string;
3
56
  rows: number;
4
- bytesOnDisk: number;
57
+ bytesCompressed: number;
58
+ bytesUncompressed: number;
5
59
  minTime: string;
6
60
  maxTime: string;
61
+ diagnostics?: PartitionDiagnostics;
7
62
  }
8
- export interface SortKeyInfo {
9
- column: string;
10
- type: string;
11
- category: 'numeric' | 'datetime' | 'string';
63
+ export interface TableProfile {
64
+ database: string;
65
+ table: string;
66
+ sortKeys: SortKey[];
67
+ }
68
+ interface ChunkPlanStats {
69
+ totalPartitions: number;
70
+ oversizedPartitions: number;
71
+ focusedChunks: number;
72
+ totalChunks: number;
73
+ avgChunkBytes: number;
74
+ maxChunkBytes: number;
75
+ minChunkBytes: number;
76
+ }
77
+ export interface ChunkPlan {
78
+ planId: string;
79
+ generatedAt: string;
80
+ rowProbeStrategy: RowProbeStrategy;
81
+ targetChunkBytes: number;
82
+ table: TableProfile;
83
+ partitions: Partition[];
84
+ chunks: Chunk[];
85
+ totalRows: number;
86
+ totalBytesCompressed: number;
87
+ totalBytesUncompressed: number;
88
+ stats: ChunkPlanStats;
89
+ }
90
+ export type PlannerQuery = <T>(sql: string, settings?: Record<string, string | number | boolean | undefined>) => Promise<T[]>;
91
+ export interface PlannerContext {
92
+ database: string;
93
+ table: string;
94
+ from?: string;
95
+ to?: string;
96
+ targetChunkBytes: number;
97
+ query: PlannerQuery;
98
+ querySettings?: Record<string, string | number | boolean | undefined>;
99
+ rowProbeStrategy: RowProbeStrategy;
12
100
  }
13
- export interface ChunkBoundary {
101
+ export interface EstimateFilter {
14
102
  partitionId: string;
15
- sortKeyFrom?: string;
16
- sortKeyTo?: string;
17
- estimatedBytes: number;
103
+ ranges: ChunkRange[];
104
+ exactDimensionIndex?: number;
105
+ exactValue?: string;
18
106
  }
19
- export interface PlannedChunk {
20
- id: string;
107
+ export interface StringPrefixBucket {
108
+ value: string;
109
+ rowCount: number;
110
+ isExactValue: boolean;
111
+ }
112
+ export interface TemporalBucket {
113
+ start: string;
114
+ rowCount: number;
115
+ }
116
+ export interface PartitionSlice {
21
117
  partitionId: string;
22
- sortKeyFrom?: string;
23
- sortKeyTo?: string;
24
- estimatedBytes: number;
25
- idempotencyToken: string;
26
- from: string;
27
- to: string;
118
+ ranges: ChunkRange[];
119
+ estimate: ChunkEstimate;
120
+ analysis: ChunkAnalysis;
121
+ }
122
+ export interface PartitionBuildResult {
123
+ slices: PartitionSlice[];
124
+ diagnostics: PartitionDiagnostics;
125
+ }
126
+ export interface GenerateChunkPlanInput {
127
+ database: string;
128
+ table: string;
129
+ from?: string;
130
+ to?: string;
131
+ targetChunkBytes: number;
132
+ query: PlannerQuery;
133
+ querySettings?: Record<string, string | number | boolean | undefined>;
134
+ rowProbeStrategy?: RowProbeStrategy;
28
135
  }
136
+ export {};
29
137
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chunking/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAA;CAC5C;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chunking/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare function compareBinaryStrings(left: string, right: string): number;
2
+ export declare function minBinaryString(left: string, right: string): string;
3
+ export declare function maxBinaryString(left: string, right: string): string;
4
+ export declare function nextPrefixValue(prefix: string): string | undefined;
5
+ export declare function buildObservedStringUpperBound(maxValue: string): string;
6
+ export declare function strToBigInt(value: string, padTo: number): bigint;
7
+ export declare function bigIntToStr(value: bigint, length: number, minLength?: number): string;
8
+ //# sourceMappingURL=binary-string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-string.d.ts","sourceRoot":"","sources":["../../../src/chunking/utils/binary-string.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAclE;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUhE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,MAAM,CAiBhF"}
@@ -0,0 +1,52 @@
1
+ export function compareBinaryStrings(left, right) {
2
+ return Buffer.from(left, 'latin1').compare(Buffer.from(right, 'latin1'));
3
+ }
4
+ export function minBinaryString(left, right) {
5
+ return compareBinaryStrings(left, right) <= 0 ? left : right;
6
+ }
7
+ export function maxBinaryString(left, right) {
8
+ return compareBinaryStrings(left, right) >= 0 ? left : right;
9
+ }
10
+ export function nextPrefixValue(prefix) {
11
+ if (prefix.length === 0)
12
+ return undefined;
13
+ const buffer = Buffer.from(prefix, 'latin1');
14
+ for (let index = buffer.length - 1; index >= 0; index--) {
15
+ const byte = buffer[index];
16
+ if (byte === undefined || byte === 0xff)
17
+ continue;
18
+ const next = Buffer.from(buffer.subarray(0, index + 1));
19
+ next[index] = byte + 1;
20
+ return next.toString('latin1');
21
+ }
22
+ return undefined;
23
+ }
24
+ export function buildObservedStringUpperBound(maxValue) {
25
+ return `${maxValue}\0`;
26
+ }
27
+ export function strToBigInt(value, padTo) {
28
+ const buffer = Buffer.from(value, 'latin1');
29
+ let result = 0n;
30
+ for (let index = 0; index < padTo; index++) {
31
+ const byte = index < buffer.length ? (buffer[index] ?? 0) : 0;
32
+ result = (result << 8n) | BigInt(byte);
33
+ }
34
+ return result;
35
+ }
36
+ export function bigIntToStr(value, length, minLength = 0) {
37
+ const buffer = Buffer.alloc(length);
38
+ let remaining = value;
39
+ for (let index = length - 1; index >= 0; index--) {
40
+ buffer[index] = Number(remaining & 0xffn);
41
+ remaining >>= 8n;
42
+ }
43
+ // Strip trailing null bytes so boundaries match real string values
44
+ // in ClickHouse comparisons (where "abc" < "abc\0"), but preserve
45
+ // at least minLength bytes to avoid losing meaningful trailing nulls
46
+ // (e.g. from buildObservedStringUpperBound which appends "\0").
47
+ let end = length;
48
+ while (end > minLength && buffer[end - 1] === 0)
49
+ end--;
50
+ return buffer.subarray(0, end).toString('latin1');
51
+ }
52
+ //# sourceMappingURL=binary-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-string.js","sourceRoot":"","sources":["../../../src/chunking/utils/binary-string.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function generatePlanId(): string;
2
+ export declare function generateChunkId(planId: string, partitionId: string, index: number): string;
3
+ export declare function generateIdempotencyToken(planId: string, chunkId: string): string;
4
+ //# sourceMappingURL=ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../../src/chunking/utils/ids.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhF"}
@@ -0,0 +1,11 @@
1
+ import { hashId, randomPlanId } from '../../state.js';
2
+ export function generatePlanId() {
3
+ return randomPlanId();
4
+ }
5
+ export function generateChunkId(planId, partitionId, index) {
6
+ return hashId(`chunk:${planId}:${partitionId}:${index}`).slice(0, 16);
7
+ }
8
+ export function generateIdempotencyToken(planId, chunkId) {
9
+ return hashId(`token:${planId}:${chunkId}`);
10
+ }
11
+ //# sourceMappingURL=ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/chunking/utils/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAErD,MAAM,UAAU,cAAc;IAC5B,OAAO,YAAY,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,WAAmB,EACnB,KAAa;IAEb,OAAO,MAAM,CAAC,SAAS,MAAM,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,OAAe;IACtE,OAAO,MAAM,CAAC,SAAS,MAAM,IAAI,OAAO,EAAE,CAAC,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ChunkRange, PartitionSlice } from '../types.js';
2
+ export declare function getChunkRange(slice: Pick<PartitionSlice, 'ranges'>, dimensionIndex: number): ChunkRange;
3
+ export declare function replaceChunkRange(slice: Pick<PartitionSlice, 'ranges'>, dimensionIndex: number, from: string | undefined, to: string | undefined): ChunkRange[];
4
+ export declare function isExactChunkRange(range: Pick<ChunkRange, 'from' | 'to'>): boolean;
5
+ //# sourceMappingURL=ranges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ranges.d.ts","sourceRoot":"","sources":["../../../src/chunking/utils/ranges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE7D,wBAAgB,aAAa,CAC3B,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EACrC,cAAc,EAAE,MAAM,GACrB,UAAU,CAQZ;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EACrC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,UAAU,EAAE,CAKd;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,OAAO,CAGjF"}
@@ -0,0 +1,19 @@
1
+ export function getChunkRange(slice, dimensionIndex) {
2
+ return (slice.ranges.find((range) => range.dimensionIndex === dimensionIndex) ?? {
3
+ dimensionIndex,
4
+ from: undefined,
5
+ to: undefined,
6
+ });
7
+ }
8
+ export function replaceChunkRange(slice, dimensionIndex, from, to) {
9
+ return slice.ranges
10
+ .filter((range) => range.dimensionIndex !== dimensionIndex)
11
+ .concat([{ dimensionIndex, from, to }])
12
+ .sort((left, right) => left.dimensionIndex - right.dimensionIndex);
13
+ }
14
+ export function isExactChunkRange(range) {
15
+ if (range.from === undefined || range.to === undefined)
16
+ return false;
17
+ return range.to === `${range.from}\0`;
18
+ }
19
+ //# sourceMappingURL=ranges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ranges.js","sourceRoot":"","sources":["../../../src/chunking/utils/ranges.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAC3B,KAAqC,EACrC,cAAsB;IAEtB,OAAO,CACL,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,cAAc,CAAC,IAAI;QACvE,cAAc;QACd,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,SAAS;KACd,CACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAqC,EACrC,cAAsB,EACtB,IAAwB,EACxB,EAAsB;IAEtB,OAAO,KAAK,CAAC,MAAM;SAChB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,cAAc,CAAC;SAC1D,MAAM,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;SACtC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAsC;IACtE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACpE,OAAO,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,IAAI,IAAI,CAAA;AACvC,CAAC"}
package/dist/detect.d.ts CHANGED
@@ -5,9 +5,4 @@ export declare function findMvForTarget(definitions: SchemaDefinition[], databas
5
5
  export declare function findTableForTarget(definitions: SchemaDefinition[], database: string, table: string): TableDefinition | undefined;
6
6
  export declare function detectCandidatesFromTable(table: TableDefinition): TimeColumnCandidate[];
7
7
  export declare function extractSchemaTimeColumn(table: TableDefinition): string | undefined;
8
- export declare function loadTimeColumnInfo(target: string, schemaGlobs: string | string[], configPath: string): Promise<{
9
- schemaTimeColumn: string | undefined;
10
- candidates: TimeColumnCandidate[];
11
- }>;
12
- export declare function detectTimeColumnCandidates(target: string, schemaGlobs: string | string[], configPath: string): Promise<TimeColumnCandidate[]>;
13
8
  //# sourceMappingURL=detect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEhG,OAAO,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAoBrD,wBAAgB,eAAe,CAC7B,WAAW,EAAE,gBAAgB,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,0BAA0B,GAAG,SAAS,CAWxC;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,gBAAgB,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,eAAe,GAAG,SAAS,CAsB7B;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,eAAe,GAAG,mBAAmB,EAAE,CAqBvF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAElF;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,UAAU,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAAC,CAoBtF;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAiBhC"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEhG,OAAO,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAoBrD,wBAAgB,eAAe,CAC7B,WAAW,EAAE,gBAAgB,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,0BAA0B,GAAG,SAAS,CAWxC;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,gBAAgB,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,eAAe,GAAG,SAAS,CAsB7B;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,eAAe,GAAG,mBAAmB,EAAE,CAqBvF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAElF"}
package/dist/detect.js CHANGED
@@ -1,5 +1,3 @@
1
- import { dirname } from 'node:path';
2
- import { loadSchemaDefinitions } from '@chkit/core/schema-loader';
3
1
  import './table-config.js';
4
2
  const DATETIME_TYPES = new Set(['DateTime', 'DateTime64']);
5
3
  const COMMON_TIME_COLUMN_NAMES = new Set([
@@ -71,43 +69,4 @@ export function detectCandidatesFromTable(table) {
71
69
  export function extractSchemaTimeColumn(table) {
72
70
  return table.plugins?.backfill?.timeColumn;
73
71
  }
74
- export async function loadTimeColumnInfo(target, schemaGlobs, configPath) {
75
- let definitions;
76
- try {
77
- definitions = await loadSchemaDefinitions(schemaGlobs, {
78
- cwd: dirname(configPath),
79
- });
80
- }
81
- catch {
82
- return { schemaTimeColumn: undefined, candidates: [] };
83
- }
84
- const [database, table] = target.split('.');
85
- if (!database || !table)
86
- return { schemaTimeColumn: undefined, candidates: [] };
87
- const resolved = findTableForTarget(definitions, database, table);
88
- if (!resolved)
89
- return { schemaTimeColumn: undefined, candidates: [] };
90
- return {
91
- schemaTimeColumn: extractSchemaTimeColumn(resolved),
92
- candidates: detectCandidatesFromTable(resolved),
93
- };
94
- }
95
- export async function detectTimeColumnCandidates(target, schemaGlobs, configPath) {
96
- let definitions;
97
- try {
98
- definitions = await loadSchemaDefinitions(schemaGlobs, {
99
- cwd: dirname(configPath),
100
- });
101
- }
102
- catch {
103
- return [];
104
- }
105
- const [database, table] = target.split('.');
106
- if (!database || !table)
107
- return [];
108
- const resolved = findTableForTarget(definitions, database, table);
109
- if (!resolved)
110
- return [];
111
- return detectCandidatesFromTable(resolved);
112
- }
113
72
  //# sourceMappingURL=detect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,6 @@
1
1
  import './table-config.js';
2
2
  export { backfill, createBackfillPlugin } from './plugin.js';
3
- export { executeBackfill, syncProgress } from './async-backfill.js';
4
- export { analyzeAndChunk } from './chunking/analyze.js';
5
- export type { BackfillOptions, BackfillChunkState, BackfillProgress, BackfillResult, } from './async-backfill.js';
6
3
  export type { BackfillPlugin, BackfillPluginOptions, BackfillPluginRegistration } from './types.js';
7
4
  export type { PluginConfig } from './options.js';
8
5
  export type { BackfillTableConfig } from './table-config.js';
9
- export type { AnalyzeAndChunkInput, AnalyzeAndChunkResult } from './chunking/analyze.js';
10
- export type { PlannedChunk, PartitionInfo, SortKeyInfo } from './chunking/types.js';
11
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GACf,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AACnG,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACxF,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC5D,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AACnG,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA"}
package/dist/index.js CHANGED
@@ -1,5 +1,3 @@
1
1
  import './table-config.js';
2
2
  export { backfill, createBackfillPlugin } from './plugin.js';
3
- export { executeBackfill, syncProgress } from './async-backfill.js';
4
- export { analyzeAndChunk } from './chunking/analyze.js';
5
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { type Logger } from '@logtape/logtape';
2
+ export declare const CHKIT_LOGGER_CATEGORY: readonly ["chkit"];
3
+ export declare const CHKIT_BACKFILL_LOGGER_CATEGORY: readonly ["chkit", "backfill"];
4
+ export declare const SLOW_CLICKHOUSE_QUERY_MS = 5000;
5
+ export declare const SLOW_CLICKHOUSE_QUERY_REPEAT_INITIAL_MS = 5000;
6
+ export declare const SLOW_CLICKHOUSE_QUERY_REPEAT_MAX_MS = 30000;
7
+ export declare function getBackfillLogger(...segments: string[]): Logger;
8
+ export declare function formatBytes(bytes: number): string;
9
+ export declare function summarizeSql(sql: string, maxLength?: number): string;
10
+ export declare function describeSqlOperation(sql: string): string;
11
+ export declare function describeSqlContext(sql: string): string | undefined;
12
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzD,eAAO,MAAM,qBAAqB,oBAAqB,CAAA;AACvD,eAAO,MAAM,8BAA8B,gCAAkD,CAAA;AAC7F,eAAO,MAAM,wBAAwB,OAAO,CAAA;AAC5C,eAAO,MAAM,uCAAuC,OAAO,CAAA;AAC3D,eAAO,MAAM,mCAAmC,QAAQ,CAAA;AAExD,wBAAgB,iBAAiB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAIjE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBxD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMlE"}
@@ -0,0 +1,61 @@
1
+ import { getLogger } from '@logtape/logtape';
2
+ export const CHKIT_LOGGER_CATEGORY = ['chkit'];
3
+ export const CHKIT_BACKFILL_LOGGER_CATEGORY = [...CHKIT_LOGGER_CATEGORY, 'backfill'];
4
+ export const SLOW_CLICKHOUSE_QUERY_MS = 5000;
5
+ export const SLOW_CLICKHOUSE_QUERY_REPEAT_INITIAL_MS = 5000;
6
+ export const SLOW_CLICKHOUSE_QUERY_REPEAT_MAX_MS = 30000;
7
+ export function getBackfillLogger(...segments) {
8
+ return getLogger([...CHKIT_BACKFILL_LOGGER_CATEGORY, ...segments]);
9
+ }
10
+ export function formatBytes(bytes) {
11
+ if (bytes >= 1024 ** 4)
12
+ return `${(bytes / 1024 ** 4).toFixed(1)} TiB`;
13
+ if (bytes >= 1024 ** 3)
14
+ return `${(bytes / 1024 ** 3).toFixed(1)} GiB`;
15
+ if (bytes >= 1024 ** 2)
16
+ return `${(bytes / 1024 ** 2).toFixed(1)} MiB`;
17
+ if (bytes >= 1024)
18
+ return `${(bytes / 1024).toFixed(1)} KiB`;
19
+ return `${bytes} B`;
20
+ }
21
+ export function summarizeSql(sql, maxLength = 240) {
22
+ const normalized = normalizeSql(sql);
23
+ if (normalized.length <= maxLength)
24
+ return normalized;
25
+ return `${normalized.slice(0, maxLength - 3)}...`;
26
+ }
27
+ export function describeSqlOperation(sql) {
28
+ const normalized = normalizeSql(sql);
29
+ const prefixDistribution = normalized.match(/^SELECT substring\((\w+), 1, \d+\) AS prefix, count\(\) AS cnt /);
30
+ if (prefixDistribution?.[1])
31
+ return `prefix distribution on ${prefixDistribution[1]}`;
32
+ const temporalDistribution = normalized.match(/^SELECT formatDateTime\(toStartOf(Day|Hour)\((\w+)\)/);
33
+ if (temporalDistribution?.[1] && temporalDistribution[2]) {
34
+ return `${temporalDistribution[1].toLowerCase()} distribution on ${temporalDistribution[2]}`;
35
+ }
36
+ const minMaxProbe = normalized.match(/^SELECT toString\(min\((\w+)\)\) AS minVal, toString\(max\(\1\)\) AS maxVal /);
37
+ if (minMaxProbe?.[1])
38
+ return `range probe on ${minMaxProbe[1]}`;
39
+ if (normalized.startsWith('SELECT count() AS cnt FROM '))
40
+ return 'row count probe';
41
+ if (normalized.startsWith('SELECT sorting_key FROM system.tables'))
42
+ return 'sort key introspection';
43
+ if (normalized.startsWith('SELECT name, type FROM system.columns'))
44
+ return 'column introspection';
45
+ if (normalized.startsWith('SELECT partition_id,'))
46
+ return 'partition introspection';
47
+ if (normalized.startsWith('SELECT 1 FROM '))
48
+ return 'table existence probe';
49
+ return summarizeSql(normalized, 100);
50
+ }
51
+ export function describeSqlContext(sql) {
52
+ const normalized = normalizeSql(sql);
53
+ const partitionId = normalized.match(/_partition_id = '([^']+)'/)?.[1];
54
+ if (partitionId)
55
+ return `partition ${partitionId}`;
56
+ return undefined;
57
+ }
58
+ function normalizeSql(sql) {
59
+ return sql.replace(/\s+/g, ' ').trim();
60
+ }
61
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
package/dist/options.d.ts CHANGED
@@ -43,7 +43,7 @@ export declare const RunSchema: z.ZodObject<{
43
43
  pollIntervalMs: z.ZodDefault<z.ZodNumber>;
44
44
  stateDir: z.ZodOptional<z.ZodString>;
45
45
  }, z.core.$strip>;
46
- export type RunOptions = z.infer<typeof RunSchema>;
46
+ type RunOptions = z.infer<typeof RunSchema>;
47
47
  export declare const ResumeSchema: z.ZodObject<{
48
48
  planId: z.ZodString;
49
49
  forceEnvironment: z.ZodDefault<z.ZodBoolean>;
@@ -52,27 +52,17 @@ export declare const ResumeSchema: z.ZodObject<{
52
52
  stateDir: z.ZodOptional<z.ZodString>;
53
53
  replayFailed: z.ZodDefault<z.ZodBoolean>;
54
54
  }, z.core.$strip>;
55
- export type ResumeOptions = z.infer<typeof ResumeSchema>;
56
- export declare const StatusSchema: z.ZodObject<{
55
+ type ResumeOptions = z.infer<typeof ResumeSchema>;
56
+ declare const StatusSchema: z.ZodObject<{
57
57
  planId: z.ZodString;
58
58
  stateDir: z.ZodOptional<z.ZodString>;
59
59
  }, z.core.$strip>;
60
- export type StatusOptions = z.infer<typeof StatusSchema>;
61
- export declare const CancelSchema: z.ZodObject<{
62
- planId: z.ZodString;
63
- stateDir: z.ZodOptional<z.ZodString>;
64
- }, z.core.$strip>;
65
- export type CancelOptions = StatusOptions;
66
- export declare const DoctorSchema: z.ZodObject<{
67
- planId: z.ZodString;
68
- stateDir: z.ZodOptional<z.ZodString>;
69
- }, z.core.$strip>;
70
- export type DoctorOptions = StatusOptions;
60
+ type StatusOptions = z.infer<typeof StatusSchema>;
71
61
  export declare const CheckSchema: z.ZodObject<{
72
62
  stateDir: z.ZodOptional<z.ZodString>;
73
63
  failCheckOnRequiredPendingBackfill: z.ZodDefault<z.ZodBoolean>;
74
64
  }, z.core.$strip>;
75
- export type CheckOptions = z.infer<typeof CheckSchema>;
65
+ type CheckOptions = z.infer<typeof CheckSchema>;
76
66
  export declare const PLAN_FLAGS: readonly [{
77
67
  readonly name: "--target";
78
68
  readonly type: "string";
@@ -149,4 +139,5 @@ export declare function resolveRunOptions(pluginConfig: Record<string, unknown>,
149
139
  export declare function resolveResumeOptions(pluginConfig: Record<string, unknown>, runtimeOptions: Record<string, unknown>, flags: Record<string, string | string[] | boolean | undefined>): ResumeOptions;
150
140
  export declare function resolveStatusOptions(pluginConfig: Record<string, unknown>, runtimeOptions: Record<string, unknown>, flags: Record<string, string | string[] | boolean | undefined>): StatusOptions;
151
141
  export declare function resolveCheckOptions(pluginConfig: Record<string, unknown>, runtimeOptions: Record<string, unknown>): CheckOptions;
142
+ export {};
152
143
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAoCvB,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBjD;AAcD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;iBAe7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAI7D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;iBAiBrB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAEpD,eAAO,MAAM,SAAS;;;;;;iBAMpB,CAAA;AACF,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AAE3C,eAAO,MAAM,YAAY;;;;;;;iBAEvB,CAAA;AACF,KAAK,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEjD,QAAA,MAAM,YAAY;;;iBAGhB,CAAA;AACF,KAAK,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEjD,eAAO,MAAM,WAAW;;;iBAGtB,CAAA;AACF,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAI/C,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;EAKZ,CAAA;AAEX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;EAKX,CAAA;AAEX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;EAMd,CAAA;AAEX,eAAO,MAAM,aAAa;;;;;EAEf,CAAA;AAwCX,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,GAC7D,WAAW,CAEb;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,GAC7D,UAAU,CAEZ;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,GAC7D,aAAa,CAEf;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,GAC7D,aAAa,CAEf;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,YAAY,CAEd"}
package/dist/options.js CHANGED
@@ -95,12 +95,10 @@ export const RunSchema = z.object({
95
95
  export const ResumeSchema = RunSchema.extend({
96
96
  replayFailed: z.boolean().default(false),
97
97
  });
98
- export const StatusSchema = z.object({
98
+ const StatusSchema = z.object({
99
99
  planId: z.string(),
100
100
  stateDir: z.string().min(1).optional(),
101
101
  });
102
- export const CancelSchema = StatusSchema;
103
- export const DoctorSchema = StatusSchema;
104
102
  export const CheckSchema = z.object({
105
103
  stateDir: z.string().min(1).optional(),
106
104
  failCheckOnRequiredPendingBackfill: z.boolean().default(true),