@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/options.d.ts CHANGED
@@ -1,5 +1,152 @@
1
- import type { BackfillPluginOptions, NormalizedBackfillPluginOptions } from './types.js';
2
- export declare function normalizeBackfillOptions(options?: BackfillPluginOptions): NormalizedBackfillPluginOptions;
3
- export declare function mergeOptions(baseOptions: NormalizedBackfillPluginOptions, runtimeOptions: Record<string, unknown>): NormalizedBackfillPluginOptions;
4
- export declare function validateBaseOptions(options: NormalizedBackfillPluginOptions): void;
1
+ import { z } from 'zod';
2
+ export declare function parseByteSize(raw: string): number;
3
+ export declare const PluginConfigSchema: z.ZodObject<{
4
+ maxChunkBytes: z.ZodOptional<z.ZodNumber>;
5
+ maxRetriesPerChunk: z.ZodOptional<z.ZodNumber>;
6
+ retryDelayMs: z.ZodOptional<z.ZodNumber>;
7
+ maxParallelChunks: z.ZodOptional<z.ZodNumber>;
8
+ requireIdempotencyToken: z.ZodOptional<z.ZodBoolean>;
9
+ chunkHours: z.ZodOptional<z.ZodNumber>;
10
+ timeColumn: z.ZodOptional<z.ZodString>;
11
+ requireDryRunBeforeRun: z.ZodOptional<z.ZodBoolean>;
12
+ requireExplicitWindow: z.ZodOptional<z.ZodBoolean>;
13
+ blockOverlappingRuns: z.ZodOptional<z.ZodBoolean>;
14
+ failCheckOnRequiredPendingBackfill: z.ZodOptional<z.ZodBoolean>;
15
+ maxWindowHours: z.ZodOptional<z.ZodNumber>;
16
+ minChunkMinutes: z.ZodOptional<z.ZodNumber>;
17
+ stateDir: z.ZodOptional<z.ZodString>;
18
+ }, z.core.$strip>;
19
+ export type PluginConfig = z.input<typeof PluginConfigSchema>;
20
+ export declare const PlanSchema: z.ZodObject<{
21
+ target: z.ZodString;
22
+ from: z.ZodOptional<z.ZodString>;
23
+ to: z.ZodOptional<z.ZodString>;
24
+ maxChunkBytes: z.ZodDefault<z.ZodNumber>;
25
+ maxParallelChunks: z.ZodDefault<z.ZodNumber>;
26
+ maxRetriesPerChunk: z.ZodDefault<z.ZodNumber>;
27
+ requireIdempotencyToken: z.ZodDefault<z.ZodBoolean>;
28
+ requireExplicitWindow: z.ZodDefault<z.ZodBoolean>;
29
+ blockOverlappingRuns: z.ZodDefault<z.ZodBoolean>;
30
+ requireDryRunBeforeRun: z.ZodDefault<z.ZodBoolean>;
31
+ failCheckOnRequiredPendingBackfill: z.ZodDefault<z.ZodBoolean>;
32
+ maxWindowHours: z.ZodDefault<z.ZodNumber>;
33
+ minChunkMinutes: z.ZodDefault<z.ZodNumber>;
34
+ chunkHours: z.ZodOptional<z.ZodNumber>;
35
+ timeColumn: z.ZodOptional<z.ZodString>;
36
+ stateDir: z.ZodOptional<z.ZodString>;
37
+ }, z.core.$strip>;
38
+ export type PlanOptions = z.infer<typeof PlanSchema>;
39
+ export declare const RunSchema: z.ZodObject<{
40
+ planId: z.ZodString;
41
+ forceEnvironment: z.ZodDefault<z.ZodBoolean>;
42
+ concurrency: z.ZodDefault<z.ZodNumber>;
43
+ pollIntervalMs: z.ZodDefault<z.ZodNumber>;
44
+ stateDir: z.ZodOptional<z.ZodString>;
45
+ }, z.core.$strip>;
46
+ export type RunOptions = z.infer<typeof RunSchema>;
47
+ export declare const ResumeSchema: z.ZodObject<{
48
+ planId: z.ZodString;
49
+ forceEnvironment: z.ZodDefault<z.ZodBoolean>;
50
+ concurrency: z.ZodDefault<z.ZodNumber>;
51
+ pollIntervalMs: z.ZodDefault<z.ZodNumber>;
52
+ stateDir: z.ZodOptional<z.ZodString>;
53
+ replayFailed: z.ZodDefault<z.ZodBoolean>;
54
+ }, z.core.$strip>;
55
+ export type ResumeOptions = z.infer<typeof ResumeSchema>;
56
+ export declare const StatusSchema: z.ZodObject<{
57
+ planId: z.ZodString;
58
+ stateDir: z.ZodOptional<z.ZodString>;
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;
71
+ export declare const CheckSchema: z.ZodObject<{
72
+ stateDir: z.ZodOptional<z.ZodString>;
73
+ failCheckOnRequiredPendingBackfill: z.ZodDefault<z.ZodBoolean>;
74
+ }, z.core.$strip>;
75
+ export type CheckOptions = z.infer<typeof CheckSchema>;
76
+ export declare const PLAN_FLAGS: readonly [{
77
+ readonly name: "--target";
78
+ readonly type: "string";
79
+ readonly description: "Target table (database.table)";
80
+ readonly placeholder: "<database.table>";
81
+ }, {
82
+ readonly name: "--from";
83
+ readonly type: "string";
84
+ readonly description: "Filter partitions starting from timestamp";
85
+ readonly placeholder: "<timestamp>";
86
+ }, {
87
+ readonly name: "--to";
88
+ readonly type: "string";
89
+ readonly description: "Filter partitions up to timestamp";
90
+ readonly placeholder: "<timestamp>";
91
+ }, {
92
+ readonly name: "--max-chunk-bytes";
93
+ readonly type: "string";
94
+ readonly description: "Max bytes per chunk (e.g. 10G, 500M)";
95
+ readonly placeholder: "<bytes>";
96
+ }];
97
+ export declare const RUN_FLAGS: readonly [{
98
+ readonly name: "--plan-id";
99
+ readonly type: "string";
100
+ readonly description: "Plan ID to execute";
101
+ readonly placeholder: "<id>";
102
+ }, {
103
+ readonly name: "--force-environment";
104
+ readonly type: "boolean";
105
+ readonly description: "Skip environment mismatch checks";
106
+ }, {
107
+ readonly name: "--concurrency";
108
+ readonly type: "string";
109
+ readonly description: "Max concurrent async queries";
110
+ readonly placeholder: "<n>";
111
+ }, {
112
+ readonly name: "--poll-interval";
113
+ readonly type: "string";
114
+ readonly description: "Polling interval in ms";
115
+ readonly placeholder: "<ms>";
116
+ }];
117
+ export declare const RESUME_FLAGS: readonly [{
118
+ readonly name: "--plan-id";
119
+ readonly type: "string";
120
+ readonly description: "Plan ID to resume";
121
+ readonly placeholder: "<id>";
122
+ }, {
123
+ readonly name: "--force-environment";
124
+ readonly type: "boolean";
125
+ readonly description: "Skip environment mismatch checks";
126
+ }, {
127
+ readonly name: "--concurrency";
128
+ readonly type: "string";
129
+ readonly description: "Max concurrent async queries";
130
+ readonly placeholder: "<n>";
131
+ }, {
132
+ readonly name: "--poll-interval";
133
+ readonly type: "string";
134
+ readonly description: "Polling interval in ms";
135
+ readonly placeholder: "<ms>";
136
+ }, {
137
+ readonly name: "--replay-failed";
138
+ readonly type: "boolean";
139
+ readonly description: "Re-execute failed chunks";
140
+ }];
141
+ export declare const PLAN_ID_FLAGS: readonly [{
142
+ readonly name: "--plan-id";
143
+ readonly type: "string";
144
+ readonly description: "Plan ID";
145
+ readonly placeholder: "<id>";
146
+ }];
147
+ export declare function resolvePlanOptions(pluginConfig: Record<string, unknown>, runtimeOptions: Record<string, unknown>, flags: Record<string, string | string[] | boolean | undefined>): PlanOptions;
148
+ export declare function resolveRunOptions(pluginConfig: Record<string, unknown>, runtimeOptions: Record<string, unknown>, flags: Record<string, string | string[] | boolean | undefined>): RunOptions;
149
+ export declare function resolveResumeOptions(pluginConfig: Record<string, unknown>, runtimeOptions: Record<string, unknown>, flags: Record<string, string | string[] | boolean | undefined>): ResumeOptions;
150
+ export declare function resolveStatusOptions(pluginConfig: Record<string, unknown>, runtimeOptions: Record<string, unknown>, flags: Record<string, string | string[] | boolean | undefined>): StatusOptions;
151
+ export declare function resolveCheckOptions(pluginConfig: Record<string, unknown>, runtimeOptions: Record<string, unknown>): CheckOptions;
5
152
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AAiHxF,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,qBAA0B,GAClC,+BAA+B,CAgBjC;AAED,wBAAgB,YAAY,CAC1B,WAAW,EAAE,+BAA+B,EAC5C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,+BAA+B,CAiBjC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,+BAA+B,GAAG,IAAI,CAMlF"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
package/dist/options.js CHANGED
@@ -1,125 +1,177 @@
1
+ import { z } from 'zod';
2
+ import { defineFlags, resolveOptions } from '@chkit/core';
1
3
  import { BackfillConfigError } from './errors.js';
2
- const DEFAULT_OPTIONS = {
3
- defaults: {
4
- chunkHours: 6,
5
- maxParallelChunks: 1,
6
- maxRetriesPerChunk: 3,
7
- requireIdempotencyToken: true,
8
- },
9
- policy: {
10
- requireDryRunBeforeRun: true,
11
- requireExplicitWindow: true,
12
- blockOverlappingRuns: true,
13
- failCheckOnRequiredPendingBackfill: true,
14
- },
15
- limits: {
16
- maxWindowHours: 24 * 30,
17
- minChunkMinutes: 15,
18
- },
19
- };
20
- function isRecord(value) {
21
- return typeof value === 'object' && value !== null && !Array.isArray(value);
4
+ const GiB = 1024 ** 3;
5
+ // ───── Coercion helpers ─────
6
+ function normalizeTimestamp(raw, flagName) {
7
+ const value = raw.trim();
8
+ if (value.length === 0) {
9
+ throw new BackfillConfigError(`Missing value for ${flagName}`);
10
+ }
11
+ const date = new Date(value);
12
+ if (Number.isNaN(date.getTime())) {
13
+ throw new BackfillConfigError(`Invalid timestamp for ${flagName}: ${raw}`);
14
+ }
15
+ return date.toISOString();
22
16
  }
23
- function parsePositiveNumber(value, key) {
24
- if (value === undefined)
25
- return undefined;
26
- if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {
27
- throw new BackfillConfigError(`Invalid plugin option "${key}". Expected a positive number.`);
17
+ function normalizeTarget(raw) {
18
+ const value = raw.trim();
19
+ if (!/^[A-Za-z0-9_]+\.[A-Za-z0-9_]+$/.test(value)) {
20
+ throw new BackfillConfigError('Invalid value for --target. Expected <database.table>.');
28
21
  }
29
22
  return value;
30
23
  }
31
- function parseBoolean(value, key) {
32
- if (value === undefined)
33
- return undefined;
34
- if (typeof value !== 'boolean') {
35
- throw new BackfillConfigError(`Invalid plugin option "${key}". Expected boolean.`);
24
+ const BYTE_SUFFIXES = {
25
+ T: 1024 ** 4,
26
+ G: 1024 ** 3,
27
+ M: 1024 ** 2,
28
+ K: 1024,
29
+ };
30
+ export function parseByteSize(raw) {
31
+ const trimmed = raw.trim().toUpperCase();
32
+ const match = trimmed.match(/^(\d+(?:\.\d+)?)\s*([TGMK])?$/);
33
+ if (!match) {
34
+ throw new BackfillConfigError(`Invalid byte size: ${raw}. Expected a number with optional suffix (K, M, G, T).`);
36
35
  }
37
- return value;
36
+ const value = Number(match[1]);
37
+ const suffix = match[2];
38
+ const multiplier = suffix ? BYTE_SUFFIXES[suffix] ?? 1 : 1;
39
+ const result = value * multiplier;
40
+ if (!Number.isFinite(result) || result <= 0) {
41
+ throw new BackfillConfigError(`Invalid byte size: ${raw}. Must be a positive number.`);
42
+ }
43
+ return result;
38
44
  }
39
- function parseString(value, key) {
40
- if (value === undefined)
41
- return undefined;
42
- if (typeof value !== 'string' || value.trim().length === 0) {
43
- throw new BackfillConfigError(`Invalid plugin option "${key}". Expected non-empty string.`);
45
+ function normalizePlanId(raw) {
46
+ const value = raw.trim();
47
+ if (!/^[a-f0-9]{16}$/.test(value)) {
48
+ throw new BackfillConfigError('Invalid value for --plan-id. Expected a 16-char lowercase hex id.');
44
49
  }
45
50
  return value;
46
51
  }
47
- function normalizeRuntimeOptions(options) {
48
- const normalized = {};
49
- const stateDir = parseString(options.stateDir, 'stateDir');
50
- if (stateDir !== undefined)
51
- normalized.stateDir = stateDir;
52
- if (options.defaults !== undefined) {
53
- if (!isRecord(options.defaults)) {
54
- throw new BackfillConfigError('Invalid plugin option "defaults". Expected object.');
55
- }
56
- normalized.defaults = {
57
- chunkHours: parsePositiveNumber(options.defaults.chunkHours, 'defaults.chunkHours'),
58
- maxParallelChunks: parsePositiveNumber(options.defaults.maxParallelChunks, 'defaults.maxParallelChunks'),
59
- maxRetriesPerChunk: parsePositiveNumber(options.defaults.maxRetriesPerChunk, 'defaults.maxRetriesPerChunk'),
60
- requireIdempotencyToken: parseBoolean(options.defaults.requireIdempotencyToken, 'defaults.requireIdempotencyToken'),
61
- };
62
- }
63
- if (options.policy !== undefined) {
64
- if (!isRecord(options.policy)) {
65
- throw new BackfillConfigError('Invalid plugin option "policy". Expected object.');
66
- }
67
- normalized.policy = {
68
- requireDryRunBeforeRun: parseBoolean(options.policy.requireDryRunBeforeRun, 'policy.requireDryRunBeforeRun'),
69
- requireExplicitWindow: parseBoolean(options.policy.requireExplicitWindow, 'policy.requireExplicitWindow'),
70
- blockOverlappingRuns: parseBoolean(options.policy.blockOverlappingRuns, 'policy.blockOverlappingRuns'),
71
- failCheckOnRequiredPendingBackfill: parseBoolean(options.policy.failCheckOnRequiredPendingBackfill, 'policy.failCheckOnRequiredPendingBackfill'),
72
- };
73
- }
74
- if (options.limits !== undefined) {
75
- if (!isRecord(options.limits)) {
76
- throw new BackfillConfigError('Invalid plugin option "limits". Expected object.');
77
- }
78
- normalized.limits = {
79
- maxWindowHours: parsePositiveNumber(options.limits.maxWindowHours, 'limits.maxWindowHours'),
80
- minChunkMinutes: parsePositiveNumber(options.limits.minChunkMinutes, 'limits.minChunkMinutes'),
81
- };
52
+ // ───── Plugin config schema (what backfill({...}) accepts) ─────
53
+ export const PluginConfigSchema = z.object({
54
+ maxChunkBytes: z.number().positive().optional(),
55
+ maxRetriesPerChunk: z.number().int().positive().optional(),
56
+ retryDelayMs: z.number().nonnegative().optional(),
57
+ maxParallelChunks: z.number().int().positive().optional(),
58
+ requireIdempotencyToken: z.boolean().optional(),
59
+ chunkHours: z.number().positive().optional(),
60
+ timeColumn: z.string().min(1).optional(),
61
+ requireDryRunBeforeRun: z.boolean().optional(),
62
+ requireExplicitWindow: z.boolean().optional(),
63
+ blockOverlappingRuns: z.boolean().optional(),
64
+ failCheckOnRequiredPendingBackfill: z.boolean().optional(),
65
+ maxWindowHours: z.number().positive().optional(),
66
+ minChunkMinutes: z.number().positive().optional(),
67
+ stateDir: z.string().min(1).optional(),
68
+ });
69
+ // ───── Per-command schemas ─────
70
+ export const PlanSchema = z.object({
71
+ target: z.string(),
72
+ from: z.string().optional(),
73
+ to: z.string().optional(),
74
+ maxChunkBytes: z.number().positive().default(10 * GiB),
75
+ maxParallelChunks: z.number().int().positive().default(1),
76
+ maxRetriesPerChunk: z.number().int().positive().default(3),
77
+ requireIdempotencyToken: z.boolean().default(true),
78
+ requireExplicitWindow: z.boolean().default(true),
79
+ blockOverlappingRuns: z.boolean().default(true),
80
+ requireDryRunBeforeRun: z.boolean().default(true),
81
+ failCheckOnRequiredPendingBackfill: z.boolean().default(true),
82
+ maxWindowHours: z.number().positive().default(720),
83
+ minChunkMinutes: z.number().positive().default(15),
84
+ chunkHours: z.number().positive().optional(),
85
+ timeColumn: z.string().min(1).optional(),
86
+ stateDir: z.string().min(1).optional(),
87
+ });
88
+ export const RunSchema = z.object({
89
+ planId: z.string(),
90
+ forceEnvironment: z.boolean().default(false),
91
+ concurrency: z.number().int().positive().default(3),
92
+ pollIntervalMs: z.number().nonnegative().default(5000),
93
+ stateDir: z.string().min(1).optional(),
94
+ });
95
+ export const ResumeSchema = RunSchema.extend({
96
+ replayFailed: z.boolean().default(false),
97
+ });
98
+ export const StatusSchema = z.object({
99
+ planId: z.string(),
100
+ stateDir: z.string().min(1).optional(),
101
+ });
102
+ export const CancelSchema = StatusSchema;
103
+ export const DoctorSchema = StatusSchema;
104
+ export const CheckSchema = z.object({
105
+ stateDir: z.string().min(1).optional(),
106
+ failCheckOnRequiredPendingBackfill: z.boolean().default(true),
107
+ });
108
+ // ───── CLI flag definitions ─────
109
+ export const PLAN_FLAGS = defineFlags([
110
+ { name: '--target', type: 'string', description: 'Target table (database.table)', placeholder: '<database.table>' },
111
+ { name: '--from', type: 'string', description: 'Filter partitions starting from timestamp', placeholder: '<timestamp>' },
112
+ { name: '--to', type: 'string', description: 'Filter partitions up to timestamp', placeholder: '<timestamp>' },
113
+ { name: '--max-chunk-bytes', type: 'string', description: 'Max bytes per chunk (e.g. 10G, 500M)', placeholder: '<bytes>' },
114
+ ]);
115
+ export const RUN_FLAGS = defineFlags([
116
+ { name: '--plan-id', type: 'string', description: 'Plan ID to execute', placeholder: '<id>' },
117
+ { name: '--force-environment', type: 'boolean', description: 'Skip environment mismatch checks' },
118
+ { name: '--concurrency', type: 'string', description: 'Max concurrent async queries', placeholder: '<n>' },
119
+ { name: '--poll-interval', type: 'string', description: 'Polling interval in ms', placeholder: '<ms>' },
120
+ ]);
121
+ export const RESUME_FLAGS = defineFlags([
122
+ { name: '--plan-id', type: 'string', description: 'Plan ID to resume', placeholder: '<id>' },
123
+ { name: '--force-environment', type: 'boolean', description: 'Skip environment mismatch checks' },
124
+ { name: '--concurrency', type: 'string', description: 'Max concurrent async queries', placeholder: '<n>' },
125
+ { name: '--poll-interval', type: 'string', description: 'Polling interval in ms', placeholder: '<ms>' },
126
+ { name: '--replay-failed', type: 'boolean', description: 'Re-execute failed chunks' },
127
+ ]);
128
+ export const PLAN_ID_FLAGS = defineFlags([
129
+ { name: '--plan-id', type: 'string', description: 'Plan ID', placeholder: '<id>' },
130
+ ]);
131
+ // ───── Flag mappings ─────
132
+ const PLAN_FLAG_MAP = {
133
+ '--target': { key: 'target', coerce: normalizeTarget },
134
+ '--from': { key: 'from', coerce: (v) => normalizeTimestamp(v, '--from') },
135
+ '--to': { key: 'to', coerce: (v) => normalizeTimestamp(v, '--to') },
136
+ '--max-chunk-bytes': { key: 'maxChunkBytes', coerce: parseByteSize },
137
+ };
138
+ function coercePositiveInt(v, flag) {
139
+ const n = Number(v);
140
+ if (!Number.isFinite(n) || n <= 0 || !Number.isInteger(n)) {
141
+ throw new BackfillConfigError(`Invalid value for ${flag}. Expected integer > 0.`);
82
142
  }
83
- return normalized;
143
+ return n;
84
144
  }
85
- export function normalizeBackfillOptions(options = {}) {
86
- return {
87
- stateDir: options.stateDir,
88
- defaults: {
89
- ...DEFAULT_OPTIONS.defaults,
90
- ...(options.defaults ?? {}),
91
- },
92
- policy: {
93
- ...DEFAULT_OPTIONS.policy,
94
- ...(options.policy ?? {}),
95
- },
96
- limits: {
97
- ...DEFAULT_OPTIONS.limits,
98
- ...(options.limits ?? {}),
99
- },
100
- };
145
+ const RUN_FLAG_MAP = {
146
+ '--plan-id': { key: 'planId', coerce: normalizePlanId },
147
+ '--force-environment': { key: 'forceEnvironment' },
148
+ '--concurrency': { key: 'concurrency', coerce: (v) => coercePositiveInt(v, '--concurrency') },
149
+ '--poll-interval': { key: 'pollIntervalMs', coerce: (v) => coercePositiveInt(v, '--poll-interval') },
150
+ };
151
+ const RESUME_FLAG_MAP = {
152
+ '--plan-id': { key: 'planId', coerce: normalizePlanId },
153
+ '--force-environment': { key: 'forceEnvironment' },
154
+ '--concurrency': { key: 'concurrency', coerce: (v) => coercePositiveInt(v, '--concurrency') },
155
+ '--poll-interval': { key: 'pollIntervalMs', coerce: (v) => coercePositiveInt(v, '--poll-interval') },
156
+ '--replay-failed': { key: 'replayFailed' },
157
+ };
158
+ const PLAN_ID_FLAG_MAP = {
159
+ '--plan-id': { key: 'planId', coerce: normalizePlanId },
160
+ };
161
+ // ───── Per-command resolvers ─────
162
+ export function resolvePlanOptions(pluginConfig, runtimeOptions, flags) {
163
+ return resolveOptions(PlanSchema, pluginConfig, runtimeOptions, flags, PLAN_FLAG_MAP, BackfillConfigError);
101
164
  }
102
- export function mergeOptions(baseOptions, runtimeOptions) {
103
- const fromRuntime = normalizeRuntimeOptions(runtimeOptions);
104
- return normalizeBackfillOptions({
105
- stateDir: fromRuntime.stateDir ?? baseOptions.stateDir,
106
- defaults: {
107
- ...baseOptions.defaults,
108
- ...(fromRuntime.defaults ?? {}),
109
- },
110
- policy: {
111
- ...baseOptions.policy,
112
- ...(fromRuntime.policy ?? {}),
113
- },
114
- limits: {
115
- ...baseOptions.limits,
116
- ...(fromRuntime.limits ?? {}),
117
- },
118
- });
165
+ export function resolveRunOptions(pluginConfig, runtimeOptions, flags) {
166
+ return resolveOptions(RunSchema, pluginConfig, runtimeOptions, flags, RUN_FLAG_MAP, BackfillConfigError);
119
167
  }
120
- export function validateBaseOptions(options) {
121
- if (options.defaults.chunkHours * 60 < options.limits.minChunkMinutes) {
122
- throw new BackfillConfigError(`defaults.chunkHours (${options.defaults.chunkHours}) must be >= limits.minChunkMinutes (${options.limits.minChunkMinutes}m).`);
123
- }
168
+ export function resolveResumeOptions(pluginConfig, runtimeOptions, flags) {
169
+ return resolveOptions(ResumeSchema, pluginConfig, runtimeOptions, flags, RESUME_FLAG_MAP, BackfillConfigError);
170
+ }
171
+ export function resolveStatusOptions(pluginConfig, runtimeOptions, flags) {
172
+ return resolveOptions(StatusSchema, pluginConfig, runtimeOptions, flags, PLAN_ID_FLAG_MAP, BackfillConfigError);
173
+ }
174
+ export function resolveCheckOptions(pluginConfig, runtimeOptions) {
175
+ return resolveOptions(CheckSchema, pluginConfig, runtimeOptions, {}, {}, BackfillConfigError);
124
176
  }
125
177
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
package/dist/payload.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { BackfillDoctorReport, BackfillPlanStatus, BackfillStatusSummary, BuildBackfillPlanOutput, ExecuteBackfillRunOutput } from './types.js';
1
+ import type { BackfillDoctorReport, BackfillPlanStatus, BackfillStatusSummary, BuildBackfillPlanOutput } from './types.js';
2
2
  export declare function planPayload(output: BuildBackfillPlanOutput): {
3
3
  ok: true;
4
4
  command: 'plan';
@@ -7,20 +7,12 @@ export declare function planPayload(output: BuildBackfillPlanOutput): {
7
7
  from: string;
8
8
  to: string;
9
9
  chunkCount: number;
10
- chunkHours: number;
10
+ maxChunkBytes?: number;
11
+ sortKeyColumn?: string;
11
12
  planPath: string;
12
- existed: boolean;
13
- };
14
- export declare function runPayload(output: ExecuteBackfillRunOutput): {
15
- ok: boolean;
16
- command: 'run' | 'resume';
17
- planId: string;
18
- status: BackfillPlanStatus;
19
- chunkCounts: BackfillStatusSummary['totals'];
20
- attempts: number;
21
- runPath: string;
22
- eventPath: string;
23
- lastError?: string;
13
+ strategy?: string;
14
+ partitionCount?: number;
15
+ totalBytes?: number;
24
16
  };
25
17
  export declare function statusPayload(summary: BackfillStatusSummary): {
26
18
  ok: boolean;
@@ -28,9 +20,8 @@ export declare function statusPayload(summary: BackfillStatusSummary): {
28
20
  planId: string;
29
21
  status: BackfillPlanStatus;
30
22
  chunkCounts: BackfillStatusSummary['totals'];
31
- attempts: number;
23
+ rowsWritten: number;
32
24
  runPath: string;
33
- eventPath: string;
34
25
  updatedAt: string;
35
26
  lastError?: string;
36
27
  };
@@ -41,7 +32,6 @@ export declare function cancelPayload(summary: BackfillStatusSummary): {
41
32
  status: BackfillPlanStatus;
42
33
  chunkCounts: BackfillStatusSummary['totals'];
43
34
  runPath: string;
44
- eventPath: string;
45
35
  };
46
36
  export declare function doctorPayload(report: BackfillDoctorReport): {
47
37
  ok: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,YAAY,CAAA;AAEnB,wBAAgB,WAAW,CAAC,MAAM,EAAE,uBAAuB,GAAG;IAC5D,EAAE,EAAE,IAAI,CAAA;IACR,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB,CAaA;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,wBAAwB,GAAG;IAC5D,EAAE,EAAE,OAAO,CAAA;IACX,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,kBAAkB,CAAA;IAC1B,WAAW,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAYA;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAC7D,EAAE,EAAE,OAAO,CAAA;IACX,OAAO,EAAE,QAAQ,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,kBAAkB,CAAA;IAC1B,WAAW,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAaA;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAC7D,EAAE,EAAE,OAAO,CAAA;IACX,OAAO,EAAE,QAAQ,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,kBAAkB,CAAA;IAC1B,WAAW,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAUA;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG;IAC3D,EAAE,EAAE,OAAO,CAAA;IACX,OAAO,EAAE,QAAQ,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,kBAAkB,CAAA;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAUA"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,YAAY,CAAA;AAEnB,wBAAgB,WAAW,CAAC,MAAM,EAAE,uBAAuB,GAAG;IAC5D,EAAE,EAAE,IAAI,CAAA;IACR,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAgBA;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAC7D,EAAE,EAAE,OAAO,CAAA;IACX,OAAO,EAAE,QAAQ,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,kBAAkB,CAAA;IAC1B,WAAW,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAYA;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAC7D,EAAE,EAAE,OAAO,CAAA;IACX,OAAO,EAAE,QAAQ,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,kBAAkB,CAAA;IAC1B,WAAW,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC5C,OAAO,EAAE,MAAM,CAAA;CAChB,CASA;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG;IAC3D,EAAE,EAAE,OAAO,CAAA;IACX,OAAO,EAAE,QAAQ,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,kBAAkB,CAAA;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAUA"}
package/dist/payload.js CHANGED
@@ -6,23 +6,13 @@ export function planPayload(output) {
6
6
  target: output.plan.target,
7
7
  from: output.plan.from,
8
8
  to: output.plan.to,
9
- chunkCount: output.plan.chunks.length,
10
- chunkHours: output.plan.options.chunkHours,
9
+ chunkCount: output.plan.chunkPlan.chunks.length,
10
+ maxChunkBytes: output.plan.options.maxChunkBytes,
11
+ sortKeyColumn: output.plan.options.sortKeyColumn,
11
12
  planPath: output.planPath,
12
- existed: output.existed,
13
- };
14
- }
15
- export function runPayload(output) {
16
- return {
17
- ok: output.status.status === 'completed',
18
- command: 'run',
19
- planId: output.run.planId,
20
- status: output.status.status,
21
- chunkCounts: output.status.totals,
22
- attempts: output.status.attempts,
23
- runPath: output.runPath,
24
- eventPath: output.eventPath,
25
- lastError: output.status.lastError,
13
+ strategy: output.plan.execution.mode,
14
+ partitionCount: output.plan.chunkPlan.partitions.length,
15
+ totalBytes: output.plan.chunkPlan.totalBytesCompressed,
26
16
  };
27
17
  }
28
18
  export function statusPayload(summary) {
@@ -32,9 +22,8 @@ export function statusPayload(summary) {
32
22
  planId: summary.planId,
33
23
  status: summary.status,
34
24
  chunkCounts: summary.totals,
35
- attempts: summary.attempts,
25
+ rowsWritten: summary.rowsWritten,
36
26
  runPath: summary.runPath,
37
- eventPath: summary.eventPath,
38
27
  updatedAt: summary.updatedAt,
39
28
  lastError: summary.lastError,
40
29
  };
@@ -47,7 +36,6 @@ export function cancelPayload(summary) {
47
36
  status: summary.status,
48
37
  chunkCounts: summary.totals,
49
38
  runPath: summary.runPath,
50
- eventPath: summary.eventPath,
51
39
  };
52
40
  }
53
41
  export function doctorPayload(report) {
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,WAAW,CAAC,MAA+B;IAYzD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAC1B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;QACtB,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;QAClB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;QACrC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;QAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAgC;IAWzD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW;QACxC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;QAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;QACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;QAChC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;KACnC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA8B;IAY1D,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,MAAM,KAAK,QAAQ;QAC/B,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,MAAM;QAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA8B;IAS1D,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,MAAM,KAAK,WAAW;QAClC,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,MAAM;QAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAA4B;IASxD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAClC,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,WAAW,CAAC,MAA+B;IAezD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAC1B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;QACtB,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;QAClB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM;QAC/C,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;QAChD,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;QAChD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI;QACpC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM;QACvD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB;KACvD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA8B;IAW1D,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,MAAM,KAAK,QAAQ;QAC/B,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,MAAM;QAC3B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA8B;IAQ1D,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,MAAM,KAAK,WAAW;QAClC,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,MAAM;QAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAA4B;IASxD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAClC,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAA;AACH,CAAC"}