@db-lyon/flowkit 0.17.3 → 0.18.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 +53 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/config/index.d.ts +4 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +2 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +11 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +4 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +1486 -79
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +125 -8
- package/dist/config/schema.js.map +1 -1
- package/dist/config/strict.d.ts +40 -0
- package/dist/config/strict.d.ts.map +1 -0
- package/dist/config/strict.js +146 -0
- package/dist/config/strict.js.map +1 -0
- package/dist/flow/index.d.ts +2 -2
- package/dist/flow/index.d.ts.map +1 -1
- package/dist/flow/index.js +1 -1
- package/dist/flow/index.js.map +1 -1
- package/dist/flow/runner.d.ts +279 -6
- package/dist/flow/runner.d.ts.map +1 -1
- package/dist/flow/runner.js +845 -40
- package/dist/flow/runner.js.map +1 -1
- package/dist/index.d.ts +13 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/task/base-task.d.ts +50 -1
- package/dist/task/base-task.d.ts.map +1 -1
- package/dist/task/base-task.js +23 -0
- package/dist/task/base-task.js.map +1 -1
- package/dist/task/composite.d.ts +66 -0
- package/dist/task/composite.d.ts.map +1 -0
- package/dist/task/composite.js +21 -0
- package/dist/task/composite.js.map +1 -0
- package/dist/task/index.d.ts +7 -1
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/index.js +3 -0
- package/dist/task/index.js.map +1 -1
- package/dist/task/options-schema.d.ts +51 -0
- package/dist/task/options-schema.d.ts.map +1 -0
- package/dist/task/options-schema.js +102 -0
- package/dist/task/options-schema.js.map +1 -0
- package/dist/task/registry.d.ts +38 -0
- package/dist/task/registry.d.ts.map +1 -1
- package/dist/task/registry.js +42 -0
- package/dist/task/registry.js.map +1 -1
- package/dist/task/warnings.d.ts +25 -0
- package/dist/task/warnings.d.ts.map +1 -0
- package/dist/task/warnings.js +30 -0
- package/dist/task/warnings.js.map +1 -0
- package/docs/api-reference.md +273 -0
- package/docs/configuration.md +262 -1
- package/docs/custom-tasks.md +155 -0
- package/docs/releases.md +47 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB,wCAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/config/schema.js
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const TaskOptionsSchema = z.record(z.unknown());
|
|
3
|
+
/** `deprecated:` on a task or flow: `true`, or a string saying why. */
|
|
4
|
+
const DeprecatedSchema = z.union([z.boolean(), z.string()]);
|
|
5
|
+
const OptionTypeSchema = z.enum(['string', 'number', 'integer', 'boolean', 'object', 'array', 'null']);
|
|
6
|
+
/**
|
|
7
|
+
* One declared task option. JSON-Schema-like: the constraint keywords are the
|
|
8
|
+
* JSON Schema ones (`enum`, `minimum`, `maxLength`, `items`, ...) and are
|
|
9
|
+
* checked with flowkit's built-in validator; `required` and `default` are
|
|
10
|
+
* per-option here rather than on a parent object.
|
|
11
|
+
*/
|
|
12
|
+
export const OptionSpecSchema = z.object({
|
|
13
|
+
type: z.union([OptionTypeSchema, z.array(OptionTypeSchema)]).optional(),
|
|
14
|
+
description: z.string().optional(),
|
|
15
|
+
/** The option must be present (after defaults and every override layer). */
|
|
16
|
+
required: z.boolean().optional(),
|
|
17
|
+
/** Used when no layer supplies the option. Lowest precedence of all. */
|
|
18
|
+
default: z.unknown().optional(),
|
|
19
|
+
enum: z.array(z.unknown()).optional(),
|
|
20
|
+
const: z.unknown().optional(),
|
|
21
|
+
minimum: z.number().optional(),
|
|
22
|
+
maximum: z.number().optional(),
|
|
23
|
+
exclusiveMinimum: z.number().optional(),
|
|
24
|
+
exclusiveMaximum: z.number().optional(),
|
|
25
|
+
minLength: z.number().int().nonnegative().optional(),
|
|
26
|
+
maxLength: z.number().int().nonnegative().optional(),
|
|
27
|
+
pattern: z.string().optional(),
|
|
28
|
+
minItems: z.number().int().nonnegative().optional(),
|
|
29
|
+
maxItems: z.number().int().nonnegative().optional(),
|
|
30
|
+
/** JSON Schema for array elements. */
|
|
31
|
+
items: z.record(z.unknown()).optional(),
|
|
32
|
+
/** JSON Schema properties for an object-valued option. */
|
|
33
|
+
properties: z.record(z.unknown()).optional(),
|
|
34
|
+
additionalProperties: z.union([z.boolean(), z.record(z.unknown())]).optional(),
|
|
35
|
+
nullable: z.boolean().optional(),
|
|
36
|
+
});
|
|
37
|
+
/** A task's declared options, keyed by option name. */
|
|
38
|
+
export const OptionSpecsSchema = z.record(OptionSpecSchema);
|
|
39
|
+
/**
|
|
40
|
+
* One declared output: a key the task puts on `TaskResult.data`. Descriptive
|
|
41
|
+
* only; the runner does not check outputs.
|
|
42
|
+
*/
|
|
43
|
+
export const OutputSpecSchema = z.object({
|
|
44
|
+
type: z.union([OptionTypeSchema, z.array(OptionTypeSchema)]).optional(),
|
|
45
|
+
description: z.string().optional(),
|
|
46
|
+
items: z.record(z.unknown()).optional(),
|
|
47
|
+
properties: z.record(z.unknown()).optional(),
|
|
48
|
+
});
|
|
49
|
+
/** A task's declared outputs, keyed by `data` key. */
|
|
50
|
+
export const OutputSpecsSchema = z.record(OutputSpecSchema);
|
|
3
51
|
export const TaskDefinitionSchema = z.object({
|
|
4
52
|
/**
|
|
5
53
|
* The task's implementation. Optional: an option-only entry (no class_path)
|
|
@@ -14,9 +62,43 @@ export const TaskDefinitionSchema = z.object({
|
|
|
14
62
|
/** Declarative hints surfaced in listings; not used by the runner. */
|
|
15
63
|
idempotent: z.boolean().optional(),
|
|
16
64
|
reversible: z.boolean().optional(),
|
|
65
|
+
/**
|
|
66
|
+
* Declared options. Refines (per option, field by field) any static
|
|
67
|
+
* `optionsSchema` on the task class, and step options are validated against
|
|
68
|
+
* the result before the task runs.
|
|
69
|
+
*/
|
|
70
|
+
options_schema: OptionSpecsSchema.optional(),
|
|
71
|
+
/** Declared outputs, for `describe` and docs. Not enforced. */
|
|
72
|
+
outputs: OutputSpecsSchema.optional(),
|
|
73
|
+
/**
|
|
74
|
+
* Mark the task deprecated: `true`, or a string saying why. Running or
|
|
75
|
+
* planning it adds a `deprecated` warning to the result; it still runs.
|
|
76
|
+
*/
|
|
77
|
+
deprecated: DeprecatedSchema.optional(),
|
|
78
|
+
/** The task to use instead, named in the deprecation warning. */
|
|
79
|
+
replaced_by: z.string().optional(),
|
|
17
80
|
});
|
|
18
|
-
|
|
19
|
-
|
|
81
|
+
/**
|
|
82
|
+
* A declared preflight check. `when` is evaluated by the runner's
|
|
83
|
+
* `conditionEvaluator` (or the built-in `${...}` truthiness fallback); when it
|
|
84
|
+
* is truthy the check fires and `action` applies: `error` fails before the
|
|
85
|
+
* step (or flow) starts, `skip` skips it, `warn` records a warning and runs it.
|
|
86
|
+
*/
|
|
87
|
+
export const StepCheckSchema = z.object({
|
|
88
|
+
when: z.union([z.string(), z.boolean()]),
|
|
89
|
+
action: z.enum(['error', 'warn', 'skip']),
|
|
90
|
+
/** Shown in the error, skip reason or warning. Defaults to one naming the condition. */
|
|
91
|
+
message: z.string().optional(),
|
|
92
|
+
});
|
|
93
|
+
/**
|
|
94
|
+
* The fields of one flow step, as a plain object schema.
|
|
95
|
+
*
|
|
96
|
+
* Exported unrefined so a host can `.extend()` it for its own manifests (a
|
|
97
|
+
* plugin manifest, a code-declared flow) and stay in step with every field the
|
|
98
|
+
* runner understands. Pass the extended schema through `refineFlowStep` to get
|
|
99
|
+
* the same target rule `FlowStepSchema` enforces.
|
|
100
|
+
*/
|
|
101
|
+
export const FlowStepObjectSchema = z.object({
|
|
20
102
|
task: z.string().optional(),
|
|
21
103
|
flow: z.string().optional(),
|
|
22
104
|
options: TaskOptionsSchema.optional(),
|
|
@@ -35,12 +117,34 @@ export const FlowStepSchema = z
|
|
|
35
117
|
when: z.union([z.string(), z.boolean()]).optional(),
|
|
36
118
|
/** If true, a failure of this step is recorded but does not abort the flow. */
|
|
37
119
|
ignore_failure: z.boolean().optional(),
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
120
|
+
/**
|
|
121
|
+
* Preflight checks, evaluated in order just before the step would run (after
|
|
122
|
+
* `when`), and reported without running anything by `FlowRunner.preflight`.
|
|
123
|
+
*/
|
|
124
|
+
checks: z.array(StepCheckSchema).optional(),
|
|
125
|
+
});
|
|
126
|
+
/** The target rule shared by every step schema: exactly one of task or flow, or a `None` skip. */
|
|
127
|
+
function hasOneStepTarget(data) {
|
|
128
|
+
// `None` in either slot disables the step. An overlay that turns a
|
|
129
|
+
// `flow:` step off with `task: None` (or the reverse) merges into a step
|
|
130
|
+
// carrying both keys, and that must still parse as a skip.
|
|
131
|
+
if (data.task === 'None' || data.flow === 'None')
|
|
41
132
|
return true;
|
|
42
|
-
return (data.task && !data.flow) || (!data.task && data.flow);
|
|
43
|
-
}
|
|
133
|
+
return (!!data.task && !data.flow) || (!data.task && !!data.flow);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Apply the step target rule to a step object schema, typically one a host
|
|
137
|
+
* built with `FlowStepObjectSchema.extend({ ... })`.
|
|
138
|
+
*/
|
|
139
|
+
export function refineFlowStep(schema) {
|
|
140
|
+
return schema.refine(hasOneStepTarget, {
|
|
141
|
+
message: 'Step must have exactly one of task or flow (or task: None / flow: None to skip)',
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
/** One flow step: `FlowStepObjectSchema` with the target rule applied. */
|
|
145
|
+
export const FlowStepSchema = refineFlowStep(FlowStepObjectSchema);
|
|
146
|
+
/** A flow's `steps:` map, keyed by step number. */
|
|
147
|
+
export const FlowStepsSchema = z.record(z.coerce.string(), FlowStepSchema);
|
|
44
148
|
export const FlowDefinitionSchema = z.object({
|
|
45
149
|
/**
|
|
46
150
|
* Optional: a flow override (one that layers steps/hooks onto a same-named
|
|
@@ -48,7 +152,7 @@ export const FlowDefinitionSchema = z.object({
|
|
|
48
152
|
*/
|
|
49
153
|
description: z.string().nullish(),
|
|
50
154
|
/** Optional/defaulted so an override that only adjusts hooks/options is valid. */
|
|
51
|
-
steps:
|
|
155
|
+
steps: FlowStepsSchema.default({}),
|
|
52
156
|
/** Runs before the first step. Failure fails the flow before steps execute. */
|
|
53
157
|
on_start: z.array(FlowStepSchema).optional(),
|
|
54
158
|
/** Runs after all steps succeed. */
|
|
@@ -59,6 +163,19 @@ export const FlowDefinitionSchema = z.object({
|
|
|
59
163
|
finally: z.array(FlowStepSchema).optional(),
|
|
60
164
|
/** If true, invoke rollback records from completed steps in reverse order on failure. */
|
|
61
165
|
rollback_on_failure: z.boolean().optional(),
|
|
166
|
+
/** Preflight checks for the whole flow, evaluated before any of its steps or hooks. */
|
|
167
|
+
checks: z.array(StepCheckSchema).optional(),
|
|
168
|
+
/**
|
|
169
|
+
* How runtime `params` reach the steps of a run started on this flow.
|
|
170
|
+
* `flat` (the default): every key goes to every step. `step`: each key is a
|
|
171
|
+
* step selector (a task name or a step path such as `2` or `2/1`) whose value
|
|
172
|
+
* is the options for the matching steps only.
|
|
173
|
+
*/
|
|
174
|
+
options_scope: z.enum(['flat', 'step']).optional(),
|
|
175
|
+
/** Mark the flow deprecated: `true`, or a string saying why. It still runs. */
|
|
176
|
+
deprecated: DeprecatedSchema.optional(),
|
|
177
|
+
/** The flow to use instead, named in the deprecation warning. */
|
|
178
|
+
replaced_by: z.string().optional(),
|
|
62
179
|
});
|
|
63
180
|
// ---------------------------------------------------------------------------
|
|
64
181
|
// Agents — the AI-native layer. Additive: CumulusCI never had an `agents:` key,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C;;;;;OAKG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,sEAAsE;IACtE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Unknown-key detection for config validated by a zod schema.
|
|
4
|
+
*
|
|
5
|
+
* Zod strips keys an object schema does not declare, so a misspelt field
|
|
6
|
+
* (`retires: 3`, `ignore_failur: true`) parses cleanly and is then ignored at
|
|
7
|
+
* run time. This walks the raw value alongside the schema and reports every key
|
|
8
|
+
* the schema would have dropped, with its full path.
|
|
9
|
+
*
|
|
10
|
+
* It follows the schema the caller passes, so a host that extends
|
|
11
|
+
* `EngineConfigSchema` with its own sections gets them checked too. An object
|
|
12
|
+
* schema declared `.passthrough()` or with a `.catchall()` accepts extra keys
|
|
13
|
+
* and is not reported.
|
|
14
|
+
*/
|
|
15
|
+
export interface UnknownConfigKey {
|
|
16
|
+
/** Where the key sits, e.g. `flows.ci.steps.2.retires` or `tasks["asset.list"].opts`. */
|
|
17
|
+
path: string;
|
|
18
|
+
/** The unknown key itself. */
|
|
19
|
+
key: string;
|
|
20
|
+
/** The closest declared key, when one is near enough to be a likely typo. */
|
|
21
|
+
suggestion?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface FindUnknownKeysOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Top-level keys to leave unchecked. For a host that keeps sections in the
|
|
26
|
+
* same file but validates them elsewhere, or not at all. A section the host
|
|
27
|
+
* declares in its own schema does not need listing here.
|
|
28
|
+
*/
|
|
29
|
+
passthroughKeys?: readonly string[];
|
|
30
|
+
}
|
|
31
|
+
/** Thrown by `assertKnownKeys` and by `loadConfig({ strict })`. */
|
|
32
|
+
export declare class UnknownConfigKeyError extends Error {
|
|
33
|
+
readonly keys: UnknownConfigKey[];
|
|
34
|
+
constructor(keys: UnknownConfigKey[]);
|
|
35
|
+
}
|
|
36
|
+
/** Every key in `value` that `schema` does not declare. Never throws. */
|
|
37
|
+
export declare function findUnknownKeys(schema: z.ZodTypeAny, value: unknown, options?: FindUnknownKeysOptions): UnknownConfigKey[];
|
|
38
|
+
/** Throw `UnknownConfigKeyError` when `value` carries any key `schema` does not declare. */
|
|
39
|
+
export declare function assertKnownKeys(schema: z.ZodTypeAny, value: unknown, options?: FindUnknownKeysOptions): void;
|
|
40
|
+
//# sourceMappingURL=strict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/config/strict.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,mEAAmE;AACnE,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAEtB,IAAI,EAAE,gBAAgB,EAAE;CAQrC;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,sBAA2B,GACnC,gBAAgB,EAAE,CAKpB;AAED,4FAA4F;AAC5F,wBAAgB,eAAe,CAC7B,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,sBAAsB,GAC/B,IAAI,CAGN"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/** Thrown by `assertKnownKeys` and by `loadConfig({ strict })`. */
|
|
2
|
+
export class UnknownConfigKeyError extends Error {
|
|
3
|
+
keys;
|
|
4
|
+
constructor(keys) {
|
|
5
|
+
const lines = keys.map((k) => ` ${k.path}${k.suggestion ? ` (did you mean "${k.suggestion}"?)` : ''}`);
|
|
6
|
+
super(`Unknown config key${keys.length === 1 ? '' : 's'}:\n${lines.join('\n')}`);
|
|
7
|
+
this.name = 'UnknownConfigKeyError';
|
|
8
|
+
this.keys = keys;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/** Every key in `value` that `schema` does not declare. Never throws. */
|
|
12
|
+
export function findUnknownKeys(schema, value, options = {}) {
|
|
13
|
+
const out = [];
|
|
14
|
+
const skip = new Set(options.passthroughKeys ?? []);
|
|
15
|
+
walk(schema, value, '', out, skip);
|
|
16
|
+
return out;
|
|
17
|
+
}
|
|
18
|
+
/** Throw `UnknownConfigKeyError` when `value` carries any key `schema` does not declare. */
|
|
19
|
+
export function assertKnownKeys(schema, value, options) {
|
|
20
|
+
const keys = findUnknownKeys(schema, value, options);
|
|
21
|
+
if (keys.length > 0)
|
|
22
|
+
throw new UnknownConfigKeyError(keys);
|
|
23
|
+
}
|
|
24
|
+
function defOf(schema) {
|
|
25
|
+
return schema._def;
|
|
26
|
+
}
|
|
27
|
+
function isPlainObject(v) {
|
|
28
|
+
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
29
|
+
}
|
|
30
|
+
function joinPath(base, key) {
|
|
31
|
+
const simple = /^[A-Za-z_$][\w$-]*$/.test(key) || /^\d+$/.test(key);
|
|
32
|
+
if (!simple)
|
|
33
|
+
return `${base}[${JSON.stringify(key)}]`;
|
|
34
|
+
return base ? `${base}.${key}` : key;
|
|
35
|
+
}
|
|
36
|
+
function walk(schema, value, path, out, rootSkip) {
|
|
37
|
+
if (value === undefined || value === null)
|
|
38
|
+
return;
|
|
39
|
+
const def = defOf(schema);
|
|
40
|
+
switch (def.typeName) {
|
|
41
|
+
case 'ZodOptional':
|
|
42
|
+
case 'ZodNullable':
|
|
43
|
+
case 'ZodDefault':
|
|
44
|
+
case 'ZodCatch':
|
|
45
|
+
case 'ZodReadonly':
|
|
46
|
+
return walk(def.innerType, value, path, out, rootSkip);
|
|
47
|
+
case 'ZodEffects':
|
|
48
|
+
return walk(def.schema, value, path, out, rootSkip);
|
|
49
|
+
case 'ZodBranded':
|
|
50
|
+
return walk(def.type, value, path, out, rootSkip);
|
|
51
|
+
case 'ZodPipeline':
|
|
52
|
+
return walk(def.in, value, path, out, rootSkip);
|
|
53
|
+
case 'ZodLazy':
|
|
54
|
+
return walk(def.getter(), value, path, out, rootSkip);
|
|
55
|
+
case 'ZodArray':
|
|
56
|
+
if (!Array.isArray(value))
|
|
57
|
+
return;
|
|
58
|
+
value.forEach((item, i) => walk(def.type, item, `${path}[${i}]`, out, null));
|
|
59
|
+
return;
|
|
60
|
+
case 'ZodRecord':
|
|
61
|
+
if (!isPlainObject(value))
|
|
62
|
+
return;
|
|
63
|
+
for (const [k, v] of Object.entries(value)) {
|
|
64
|
+
walk(def.valueType, v, joinPath(path, k), out, null);
|
|
65
|
+
}
|
|
66
|
+
return;
|
|
67
|
+
case 'ZodUnion':
|
|
68
|
+
case 'ZodDiscriminatedUnion':
|
|
69
|
+
return walkUnion(def.options, value, path, out);
|
|
70
|
+
case 'ZodObject':
|
|
71
|
+
return walkObject(schema, value, path, out, rootSkip);
|
|
72
|
+
default:
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function walkObject(schema, value, path, out, rootSkip) {
|
|
77
|
+
if (!isPlainObject(value))
|
|
78
|
+
return;
|
|
79
|
+
const def = defOf(schema);
|
|
80
|
+
const shape = schema.shape;
|
|
81
|
+
const catchall = def.catchall;
|
|
82
|
+
const hasCatchall = !!catchall && defOf(catchall).typeName !== 'ZodNever';
|
|
83
|
+
const acceptsExtra = def.unknownKeys === 'passthrough' || hasCatchall;
|
|
84
|
+
for (const [k, v] of Object.entries(value)) {
|
|
85
|
+
if (rootSkip?.has(k))
|
|
86
|
+
continue;
|
|
87
|
+
if (Object.prototype.hasOwnProperty.call(shape, k)) {
|
|
88
|
+
walk(shape[k], v, joinPath(path, k), out, null);
|
|
89
|
+
}
|
|
90
|
+
else if (hasCatchall) {
|
|
91
|
+
walk(catchall, v, joinPath(path, k), out, null);
|
|
92
|
+
}
|
|
93
|
+
else if (!acceptsExtra) {
|
|
94
|
+
out.push({ path: joinPath(path, k), key: k, suggestion: closest(k, Object.keys(shape)) });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* A union reports against the branch the value actually parses as. When
|
|
100
|
+
* several parse, the one with the fewest unknown keys wins; when none does,
|
|
101
|
+
* zod will report the mismatch itself and there is nothing useful to add.
|
|
102
|
+
*/
|
|
103
|
+
function walkUnion(options, value, path, out) {
|
|
104
|
+
let best = null;
|
|
105
|
+
for (const option of options) {
|
|
106
|
+
if (!option.safeParse(value).success)
|
|
107
|
+
continue;
|
|
108
|
+
const found = [];
|
|
109
|
+
walk(option, value, path, found, null);
|
|
110
|
+
if (best === null || found.length < best.length)
|
|
111
|
+
best = found;
|
|
112
|
+
if (best.length === 0)
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
if (best)
|
|
116
|
+
out.push(...best);
|
|
117
|
+
}
|
|
118
|
+
function closest(key, candidates) {
|
|
119
|
+
let best;
|
|
120
|
+
let bestDistance = Infinity;
|
|
121
|
+
for (const c of candidates) {
|
|
122
|
+
const d = editDistance(key.toLowerCase(), c.toLowerCase());
|
|
123
|
+
if (d < bestDistance) {
|
|
124
|
+
best = c;
|
|
125
|
+
bestDistance = d;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const limit = Math.max(1, Math.floor(key.length / 3));
|
|
129
|
+
return bestDistance <= limit ? best : undefined;
|
|
130
|
+
}
|
|
131
|
+
/** Edit distance counting an adjacent swap as one edit, the commonest typo. */
|
|
132
|
+
function editDistance(a, b) {
|
|
133
|
+
const d = Array.from({ length: a.length + 1 }, (_, i) => Array.from({ length: b.length + 1 }, (_, j) => (i === 0 ? j : j === 0 ? i : 0)));
|
|
134
|
+
for (let i = 1; i <= a.length; i++) {
|
|
135
|
+
for (let j = 1; j <= b.length; j++) {
|
|
136
|
+
const cost = a[i - 1] === b[j - 1] ? 0 : 1;
|
|
137
|
+
let v = Math.min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost);
|
|
138
|
+
if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {
|
|
139
|
+
v = Math.min(v, d[i - 2][j - 2] + 1);
|
|
140
|
+
}
|
|
141
|
+
d[i][j] = v;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return d[a.length][b.length];
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=strict.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/config/strict.ts"],"names":[],"mappings":"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"}
|
package/dist/flow/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { FlowRunner } from './runner.js';
|
|
2
|
-
export type { FlowRunOptions, FlowStepResult, FlowRunResult, FlowRunnerHooks, FlowRunnerConfig, NestedAgentTask, NestedAgentTaskFactory, PlanStep, } from './runner.js';
|
|
1
|
+
export { FlowRunner, CheckFailedError } from './runner.js';
|
|
2
|
+
export type { FlowRunOptions, FlowStepResult, FlowRunResult, FlowRunnerHooks, FlowRunnerConfig, NestedAgentTask, NestedAgentTaskFactory, PlanStep, FlowDescription, StepReferenceIssue, CheckOutcome, PreflightStep, PreflightResult, ConditionContext, ConditionEvaluator, OptionsScope, } from './runner.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/flow/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GACb,MAAM,aAAa,CAAC"}
|
package/dist/flow/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { FlowRunner } from './runner.js';
|
|
1
|
+
export { FlowRunner, CheckFailedError } from './runner.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/flow/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
|