@shipfox/expression 2.2.0 → 2.3.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 +14 -5
- package/dist/expression/create-workflow-expression.js +40 -15
- package/dist/expression/create-workflow-expression.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.test.tsbuildinfo +1 -1
- package/dist/workflow-context/workflow-context-docs.d.ts +6 -2
- package/dist/workflow-context/workflow-context-docs.d.ts.map +1 -1
- package/dist/workflow-context/workflow-context-docs.js +5 -0
- package/dist/workflow-context/workflow-context-docs.js.map +1 -1
- package/dist/workflow-context/workflow-context.d.ts +43 -10
- package/dist/workflow-context/workflow-context.d.ts.map +1 -1
- package/dist/workflow-context/workflow-context.js +108 -14
- package/dist/workflow-context/workflow-context.js.map +1 -1
- package/dist/workflow-function-registry.d.ts.map +1 -1
- package/dist/workflow-function-registry.js +45 -0
- package/dist/workflow-function-registry.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -10,7 +10,8 @@ CEL checks and run-time evaluation for Shipfox workflow expressions.
|
|
|
10
10
|
- **`ExpressionTypeEnvironment`**: Lists names and field types for typed checks.
|
|
11
11
|
- **`evaluateWorkflowExpression`**: Runs a checked value against caller data.
|
|
12
12
|
- **`createWorkflowEnvironment`**: Creates an isolated evaluator with the shared
|
|
13
|
-
`range()`, `toJson()`, and `fromJson()`
|
|
13
|
+
`list.first()`, `list.last()`, `range()`, `toJson()`, and `fromJson()`
|
|
14
|
+
functions.
|
|
14
15
|
- **`evaluateWorkflowExpressionWithEnvironment`**: Runs a checked value against
|
|
15
16
|
a caller-owned CEL environment for explicitly scoped custom functions.
|
|
16
17
|
- **`WorkflowExpressionEnvironment`**: The evaluate-only environment shape
|
|
@@ -35,9 +36,14 @@ CEL checks and run-time evaluation for Shipfox workflow expressions.
|
|
|
35
36
|
`trigger`, `event`, `inputs`, `job`, `executions`, `execution`, `jobs`, `step`) and
|
|
36
37
|
gives each a shape, availability site, sensitivity, and host.
|
|
37
38
|
Known-shape contexts ship a typed environment; open ones use `syntax`.
|
|
39
|
+
- **`buildTypedRootsEnvironment`**: Builds typed step and job roots. Tool steps
|
|
40
|
+
expose `outputs.result` from their catalog schema and omit `exit_code`.
|
|
41
|
+
- **`toolStepReportTypeEnvironment`** and **`WorkflowStepKind`**: Describe the
|
|
42
|
+
gate context and kind metadata for tool-step expression checks.
|
|
38
43
|
- **`workflowInterpolationFieldPolicies`**: Defines the host, fill-site, and
|
|
39
44
|
failure constraints for each interpolatable field. Use
|
|
40
|
-
`workflowInterpolationFieldAcceptsHost` for host checks
|
|
45
|
+
`workflowInterpolationFieldAcceptsHost` for host checks and
|
|
46
|
+
`getWorkflowInterpolationFieldTypeEnvironment` for field-specific types.
|
|
41
47
|
- **`workflowPredicateContextRoots`**: Defines the exact context roots each
|
|
42
48
|
predicate field receives. Read it with `getWorkflowPredicateContextRoots`,
|
|
43
49
|
narrow runtime context with `projectWorkflowPredicateContext`, and read
|
|
@@ -92,9 +98,12 @@ const passed = evaluateWorkflowPredicate(expression, {
|
|
|
92
98
|
- Context values can include external data. Interpolatable fields rely on their
|
|
93
99
|
structural sink guarantees, while host and availability checks remain enforced.
|
|
94
100
|
- Evaluation is deterministic and has no side effects.
|
|
95
|
-
- Workflow evaluation includes the shared `
|
|
96
|
-
functions. Use a caller-owned
|
|
97
|
-
needed outside that
|
|
101
|
+
- Workflow evaluation includes the shared `list.first()`, `list.last()`,
|
|
102
|
+
`range()`, `toJson()`, and `fromJson()` functions. Use a caller-owned
|
|
103
|
+
environment when a custom function is intentionally needed outside that
|
|
104
|
+
registry.
|
|
105
|
+
- `list.first()` and `list.last()` return the first or final element and
|
|
106
|
+
preserve its type. An empty list causes an evaluation error.
|
|
98
107
|
- `range()` accepts CEL integers and safe integer values from JavaScript
|
|
99
108
|
contexts. An environment is built once and reused, and each evaluation gets
|
|
100
109
|
its own materialization budget, shared by nested range calls and restored when
|
|
@@ -101,46 +101,71 @@ export function unsafeWorkflowExpressionFromSource(params) {
|
|
|
101
101
|
function toCelType(type, environment, variableName) {
|
|
102
102
|
if (typeof type === 'string') return scalarTypeToCelType[type];
|
|
103
103
|
if (type.kind === 'list') {
|
|
104
|
-
return `list<${toCelListElementType(type.element, environment,
|
|
104
|
+
return `list<${toCelListElementType(type.element, environment, [
|
|
105
|
+
variableName
|
|
106
|
+
])}>`;
|
|
105
107
|
}
|
|
106
108
|
if (type.kind === 'map') return 'map';
|
|
107
109
|
return {
|
|
108
110
|
schema: Object.fromEntries(Object.entries(type.fields).map(([name, field])=>[
|
|
109
111
|
name,
|
|
110
|
-
toCelSchemaType(field
|
|
112
|
+
toCelSchemaType(field, environment, [
|
|
113
|
+
variableName,
|
|
114
|
+
name
|
|
115
|
+
])
|
|
111
116
|
]))
|
|
112
117
|
};
|
|
113
118
|
}
|
|
114
|
-
function toCelSchemaType(type) {
|
|
119
|
+
function toCelSchemaType(type, environment, path) {
|
|
115
120
|
if (typeof type === 'string') return scalarTypeToCelType[type];
|
|
116
|
-
if (type.kind === 'list')
|
|
121
|
+
if (type.kind === 'list') {
|
|
122
|
+
return `list<${toCelSchemaListElementType(type.element, environment, path)}>`;
|
|
123
|
+
}
|
|
117
124
|
if (type.kind === 'map') return 'map';
|
|
118
125
|
return Object.fromEntries(Object.entries(type.fields).map(([name, field])=>[
|
|
119
126
|
name,
|
|
120
|
-
toCelSchemaType(field
|
|
127
|
+
toCelSchemaType(field, environment, [
|
|
128
|
+
...path,
|
|
129
|
+
name
|
|
130
|
+
])
|
|
121
131
|
]));
|
|
122
132
|
}
|
|
123
|
-
function toCelSchemaListElementType(type) {
|
|
124
|
-
if (typeof type === 'string') return scalarTypeToCelType[type];
|
|
125
|
-
if (type.kind === 'map') return 'map';
|
|
126
|
-
if (type.kind === 'object') return 'dyn';
|
|
127
|
-
return `list<${toCelSchemaListElementType(type.element)}>`;
|
|
128
|
-
}
|
|
129
|
-
function toCelListElementType(type, environment, variableName) {
|
|
133
|
+
function toCelSchemaListElementType(type, environment, path) {
|
|
130
134
|
if (typeof type === 'string') return scalarTypeToCelType[type];
|
|
131
135
|
if (type.kind === 'map') return 'map';
|
|
132
136
|
if (type.kind === 'object') {
|
|
133
|
-
const
|
|
137
|
+
const itemPath = [
|
|
138
|
+
...path,
|
|
139
|
+
'item'
|
|
140
|
+
];
|
|
141
|
+
const typeName = `$${itemPath.join('.')}`;
|
|
134
142
|
environment.registerType({
|
|
135
143
|
name: typeName,
|
|
136
144
|
schema: Object.fromEntries(Object.entries(type.fields).map(([name, field])=>[
|
|
137
145
|
name,
|
|
138
|
-
toCelSchemaType(field
|
|
146
|
+
toCelSchemaType(field, environment, [
|
|
147
|
+
...itemPath,
|
|
148
|
+
name
|
|
149
|
+
])
|
|
139
150
|
]))
|
|
140
151
|
});
|
|
141
152
|
return typeName;
|
|
142
153
|
}
|
|
143
|
-
return
|
|
154
|
+
return `list<${toCelSchemaListElementType(type.element, environment, [
|
|
155
|
+
...path,
|
|
156
|
+
'item'
|
|
157
|
+
])}>`;
|
|
158
|
+
}
|
|
159
|
+
function toCelListElementType(type, environment, path) {
|
|
160
|
+
if (typeof type === 'string') return scalarTypeToCelType[type];
|
|
161
|
+
if (type.kind === 'map') return 'map';
|
|
162
|
+
if (type.kind === 'object') {
|
|
163
|
+
return toCelSchemaListElementType(type, environment, path);
|
|
164
|
+
}
|
|
165
|
+
return `list<${toCelSchemaListElementType(type.element, environment, [
|
|
166
|
+
...path,
|
|
167
|
+
'item'
|
|
168
|
+
])}>`;
|
|
144
169
|
}
|
|
145
170
|
function fromCelType(type, ast) {
|
|
146
171
|
if (type === undefined) return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/expression/create-workflow-expression.ts"],"sourcesContent":["import {type ASTNode, Environment, parse as parseCel} from '@marcbachmann/cel-js';\nimport {registerWorkflowFunctions} from '../workflow-function-registry.js';\nimport {InvalidWorkflowExpressionError} from './errors.js';\nimport type {\n CreateWorkflowExpressionParams,\n ExpressionScalarType,\n ExpressionType,\n ExpressionTypeEnvironment,\n ValidCelExpression,\n WorkflowExpression,\n} from './workflow-expression.js';\n\nconst scalarTypeToCelType = {\n string: 'string',\n int: 'int',\n double: 'double',\n bool: 'bool',\n null: 'null',\n timestamp: 'google.protobuf.Timestamp',\n} satisfies Record<ExpressionScalarType, string>;\n\ntype CelSchema = {\n [field: string]: string | CelSchema;\n};\n\nconst directPathPattern = /^[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*$/;\n\nexport function createWorkflowExpression(\n params: CreateWorkflowExpressionParams,\n): WorkflowExpression {\n const source = params.source.trim();\n let resultType: ExpressionType | undefined;\n if (source.length === 0) {\n throw new InvalidWorkflowExpressionError({\n source: params.source,\n reason: 'Expression source must not be empty.',\n });\n }\n\n const ast = parseWorkflowExpression(source);\n\n if (params.check.mode === 'typed') {\n const environment = createTypeCheckingEnvironment();\n for (const [name, type] of Object.entries(params.check.typeEnvironment ?? {})) {\n const celType = toCelType(type, environment, name);\n if (typeof celType === 'string') {\n environment.registerVariable(name, celType);\n } else {\n environment.registerVariable({name, schema: celType.schema});\n }\n }\n\n const typeCheckResult = environment.check(source);\n if (!typeCheckResult.valid) {\n throw new InvalidWorkflowExpressionError({\n source,\n reason: typeCheckResult.error?.message ?? 'Expression source did not type-check.',\n });\n }\n if (\n params.check.expectedResultType !== undefined &&\n typeCheckResult.type !== scalarTypeToCelType[params.check.expectedResultType] &&\n !(typeCheckResult.type === 'dyn' && containsFromJsonCall(ast))\n ) {\n throw new InvalidWorkflowExpressionError({\n source,\n reason: `Expression source must return ${scalarTypeToCelType[params.check.expectedResultType]}; got ${typeCheckResult.type ?? 'unknown'}.`,\n });\n }\n resultType =\n resolveKnownPathType(source, params.check.typeEnvironment) ??\n fromCelType(typeCheckResult.type, ast);\n }\n\n return {\n language: 'cel',\n source: source as ValidCelExpression,\n check: params.check.mode,\n ...(resultType === undefined ? {} : {resultType}),\n };\n}\n\nfunction resolveKnownPathType(\n source: string,\n typeEnvironment: ExpressionTypeEnvironment | undefined,\n): ExpressionType | undefined {\n // cel-js erases list element detail from custom result type strings, so recover\n // known direct paths before falling back to its lossy result type conversion.\n if (typeEnvironment === undefined || !directPathPattern.test(source)) {\n return undefined;\n }\n\n const [root, ...path] = source.split('.');\n let current = root === undefined ? undefined : typeEnvironment[root];\n for (const segment of path) {\n if (current === undefined || typeof current === 'string' || current.kind !== 'object') {\n return undefined;\n }\n current = current.fields[segment];\n }\n\n return current;\n}\n\nfunction createTypeCheckingEnvironment(): Environment {\n const environment = new Environment({unlistedVariablesAreDyn: false});\n registerWorkflowFunctions(environment);\n\n // CEL evaluates numeric equality across types, but its static checker normally\n // rejects the same expression. Match validation to the runtime contract.\n environment.registerOperator('double == int', (left: number, right: bigint) => {\n return Number.isInteger(left) && BigInt(left) === right;\n });\n\n // Typed context fields may be absent at runtime while still exposing their\n // known shape when present. CEL's built-in equality overloads do not allow a\n // declared object type to compare with null, so keep null checks aligned with\n // the runtime context contract.\n environment.registerOperator('dyn != null', (left: unknown, right: null) => left !== right);\n\n return environment;\n}\n\nexport function unsafeWorkflowExpressionFromSource(params: {\n source: string;\n check: WorkflowExpression['check'];\n}): WorkflowExpression {\n // Use only when rehydrating a source that was already validated before storage.\n return {\n language: 'cel',\n source: params.source as ValidCelExpression,\n check: params.check,\n };\n}\n\nfunction toCelType(\n type: ExpressionType,\n environment: Environment,\n variableName: string,\n): string | {schema: CelSchema} {\n if (typeof type === 'string') return scalarTypeToCelType[type];\n if (type.kind === 'list') {\n return `list<${toCelListElementType(type.element, environment, variableName)}>`;\n }\n if (type.kind === 'map') return 'map';\n\n return {\n schema: Object.fromEntries(\n Object.entries(type.fields).map(([name, field]) => [name, toCelSchemaType(field)]),\n ),\n };\n}\n\nfunction toCelSchemaType(type: ExpressionType): string | CelSchema {\n if (typeof type === 'string') return scalarTypeToCelType[type];\n if (type.kind === 'list') return `list<${toCelSchemaListElementType(type.element)}>`;\n if (type.kind === 'map') return 'map';\n return Object.fromEntries(\n Object.entries(type.fields).map(([name, field]) => [name, toCelSchemaType(field)]),\n );\n}\n\nfunction toCelSchemaListElementType(type: ExpressionType): string {\n if (typeof type === 'string') return scalarTypeToCelType[type];\n if (type.kind === 'map') return 'map';\n if (type.kind === 'object') return 'dyn';\n return `list<${toCelSchemaListElementType(type.element)}>`;\n}\n\nfunction toCelListElementType(\n type: ExpressionType,\n environment: Environment,\n variableName: string,\n): string {\n if (typeof type === 'string') return scalarTypeToCelType[type];\n if (type.kind === 'map') return 'map';\n if (type.kind === 'object') {\n const typeName = `$${variableName}.item`;\n environment.registerType({\n name: typeName,\n schema: Object.fromEntries(\n Object.entries(type.fields).map(([name, field]) => [name, toCelSchemaType(field)]),\n ),\n });\n return typeName;\n }\n return 'dyn';\n}\n\nfunction fromCelType(type: string | undefined, ast: ASTNode): ExpressionType | undefined {\n if (type === undefined) return undefined;\n\n switch (type) {\n case 'string':\n return 'string';\n case 'int':\n return 'int';\n case 'double':\n return 'double';\n case 'bool':\n return 'bool';\n case 'null':\n return 'null';\n case 'google.protobuf.Timestamp':\n return 'timestamp';\n case 'map':\n return {kind: 'map'};\n case 'dyn':\n // Preserve legacy string fallback for open-map lookups; JSON values stay unknown.\n return containsFromJsonCall(ast) ? undefined : 'string';\n default:\n // cel-js currently exposes custom/list element result types as opaque strings.\n // Keep the outer list shape when present, but erase element detail rather than\n // pretending we can round-trip the original schema.\n if (type.startsWith('list<')) return {kind: 'list', element: {kind: 'map'}};\n return {kind: 'map'};\n }\n}\n\nfunction parseWorkflowExpression(source: string): ASTNode {\n try {\n return parseCel(source).ast;\n } catch (error) {\n throw new InvalidWorkflowExpressionError({\n source,\n reason: error instanceof Error ? error.message : 'Expression source could not be parsed.',\n });\n }\n}\n\nfunction containsFromJsonCall(node: ASTNode): boolean {\n if ((node.op === 'call' || node.op === 'rcall') && node.args[0] === 'fromJson') {\n return true;\n }\n\n return containsFromJsonValue(node.args);\n}\n\nfunction containsFromJsonValue(value: unknown): boolean {\n if (Array.isArray(value)) return value.some(containsFromJsonValue);\n if (typeof value !== 'object' || value === null) return false;\n\n const candidate = value as {readonly args?: unknown; readonly op?: unknown};\n if (candidate.args === undefined || candidate.op === undefined) return false;\n\n return containsFromJsonCall(candidate as ASTNode);\n}\n"],"names":["Environment","parse","parseCel","registerWorkflowFunctions","InvalidWorkflowExpressionError","scalarTypeToCelType","string","int","double","bool","null","timestamp","directPathPattern","createWorkflowExpression","params","source","trim","resultType","length","reason","ast","parseWorkflowExpression","check","mode","environment","createTypeCheckingEnvironment","name","type","Object","entries","typeEnvironment","celType","toCelType","registerVariable","schema","typeCheckResult","valid","error","message","expectedResultType","undefined","containsFromJsonCall","resolveKnownPathType","fromCelType","language","test","root","path","split","current","segment","kind","fields","unlistedVariablesAreDyn","registerOperator","left","right","Number","isInteger","BigInt","unsafeWorkflowExpressionFromSource","variableName","toCelListElementType","element","fromEntries","map","field","toCelSchemaType","toCelSchemaListElementType","typeName","registerType","startsWith","Error","node","op","args","containsFromJsonValue","value","Array","isArray","some","candidate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/expression/create-workflow-expression.ts"],"sourcesContent":["import {type ASTNode, Environment, parse as parseCel} from '@marcbachmann/cel-js';\nimport {registerWorkflowFunctions} from '../workflow-function-registry.js';\nimport {InvalidWorkflowExpressionError} from './errors.js';\nimport type {\n CreateWorkflowExpressionParams,\n ExpressionScalarType,\n ExpressionType,\n ExpressionTypeEnvironment,\n ValidCelExpression,\n WorkflowExpression,\n} from './workflow-expression.js';\n\nconst scalarTypeToCelType = {\n string: 'string',\n int: 'int',\n double: 'double',\n bool: 'bool',\n null: 'null',\n timestamp: 'google.protobuf.Timestamp',\n} satisfies Record<ExpressionScalarType, string>;\n\ntype CelSchema = {\n [field: string]: string | CelSchema;\n};\n\nconst directPathPattern = /^[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*$/;\n\nexport function createWorkflowExpression(\n params: CreateWorkflowExpressionParams,\n): WorkflowExpression {\n const source = params.source.trim();\n let resultType: ExpressionType | undefined;\n if (source.length === 0) {\n throw new InvalidWorkflowExpressionError({\n source: params.source,\n reason: 'Expression source must not be empty.',\n });\n }\n\n const ast = parseWorkflowExpression(source);\n\n if (params.check.mode === 'typed') {\n const environment = createTypeCheckingEnvironment();\n for (const [name, type] of Object.entries(params.check.typeEnvironment ?? {})) {\n const celType = toCelType(type, environment, name);\n if (typeof celType === 'string') {\n environment.registerVariable(name, celType);\n } else {\n environment.registerVariable({name, schema: celType.schema});\n }\n }\n\n const typeCheckResult = environment.check(source);\n if (!typeCheckResult.valid) {\n throw new InvalidWorkflowExpressionError({\n source,\n reason: typeCheckResult.error?.message ?? 'Expression source did not type-check.',\n });\n }\n if (\n params.check.expectedResultType !== undefined &&\n typeCheckResult.type !== scalarTypeToCelType[params.check.expectedResultType] &&\n !(typeCheckResult.type === 'dyn' && containsFromJsonCall(ast))\n ) {\n throw new InvalidWorkflowExpressionError({\n source,\n reason: `Expression source must return ${scalarTypeToCelType[params.check.expectedResultType]}; got ${typeCheckResult.type ?? 'unknown'}.`,\n });\n }\n resultType =\n resolveKnownPathType(source, params.check.typeEnvironment) ??\n fromCelType(typeCheckResult.type, ast);\n }\n\n return {\n language: 'cel',\n source: source as ValidCelExpression,\n check: params.check.mode,\n ...(resultType === undefined ? {} : {resultType}),\n };\n}\n\nfunction resolveKnownPathType(\n source: string,\n typeEnvironment: ExpressionTypeEnvironment | undefined,\n): ExpressionType | undefined {\n // cel-js erases list element detail from custom result type strings, so recover\n // known direct paths before falling back to its lossy result type conversion.\n if (typeEnvironment === undefined || !directPathPattern.test(source)) {\n return undefined;\n }\n\n const [root, ...path] = source.split('.');\n let current = root === undefined ? undefined : typeEnvironment[root];\n for (const segment of path) {\n if (current === undefined || typeof current === 'string' || current.kind !== 'object') {\n return undefined;\n }\n current = current.fields[segment];\n }\n\n return current;\n}\n\nfunction createTypeCheckingEnvironment(): Environment {\n const environment = new Environment({unlistedVariablesAreDyn: false});\n registerWorkflowFunctions(environment);\n\n // CEL evaluates numeric equality across types, but its static checker normally\n // rejects the same expression. Match validation to the runtime contract.\n environment.registerOperator('double == int', (left: number, right: bigint) => {\n return Number.isInteger(left) && BigInt(left) === right;\n });\n\n // Typed context fields may be absent at runtime while still exposing their\n // known shape when present. CEL's built-in equality overloads do not allow a\n // declared object type to compare with null, so keep null checks aligned with\n // the runtime context contract.\n environment.registerOperator('dyn != null', (left: unknown, right: null) => left !== right);\n\n return environment;\n}\n\nexport function unsafeWorkflowExpressionFromSource(params: {\n source: string;\n check: WorkflowExpression['check'];\n}): WorkflowExpression {\n // Use only when rehydrating a source that was already validated before storage.\n return {\n language: 'cel',\n source: params.source as ValidCelExpression,\n check: params.check,\n };\n}\n\nfunction toCelType(\n type: ExpressionType,\n environment: Environment,\n variableName: string,\n): string | {schema: CelSchema} {\n if (typeof type === 'string') return scalarTypeToCelType[type];\n if (type.kind === 'list') {\n return `list<${toCelListElementType(type.element, environment, [variableName])}>`;\n }\n if (type.kind === 'map') return 'map';\n\n return {\n schema: Object.fromEntries(\n Object.entries(type.fields).map(([name, field]) => [\n name,\n toCelSchemaType(field, environment, [variableName, name]),\n ]),\n ),\n };\n}\n\nfunction toCelSchemaType(\n type: ExpressionType,\n environment: Environment,\n path: readonly string[],\n): string | CelSchema {\n if (typeof type === 'string') return scalarTypeToCelType[type];\n if (type.kind === 'list') {\n return `list<${toCelSchemaListElementType(type.element, environment, path)}>`;\n }\n if (type.kind === 'map') return 'map';\n return Object.fromEntries(\n Object.entries(type.fields).map(([name, field]) => [\n name,\n toCelSchemaType(field, environment, [...path, name]),\n ]),\n );\n}\n\nfunction toCelSchemaListElementType(\n type: ExpressionType,\n environment: Environment,\n path: readonly string[],\n): string {\n if (typeof type === 'string') return scalarTypeToCelType[type];\n if (type.kind === 'map') return 'map';\n if (type.kind === 'object') {\n const itemPath = [...path, 'item'];\n const typeName = `$${itemPath.join('.')}`;\n environment.registerType({\n name: typeName,\n schema: Object.fromEntries(\n Object.entries(type.fields).map(([name, field]) => [\n name,\n toCelSchemaType(field, environment, [...itemPath, name]),\n ]),\n ),\n });\n return typeName;\n }\n return `list<${toCelSchemaListElementType(type.element, environment, [...path, 'item'])}>`;\n}\n\nfunction toCelListElementType(\n type: ExpressionType,\n environment: Environment,\n path: readonly string[],\n): string {\n if (typeof type === 'string') return scalarTypeToCelType[type];\n if (type.kind === 'map') return 'map';\n if (type.kind === 'object') {\n return toCelSchemaListElementType(type, environment, path);\n }\n return `list<${toCelSchemaListElementType(type.element, environment, [...path, 'item'])}>`;\n}\n\nfunction fromCelType(type: string | undefined, ast: ASTNode): ExpressionType | undefined {\n if (type === undefined) return undefined;\n\n switch (type) {\n case 'string':\n return 'string';\n case 'int':\n return 'int';\n case 'double':\n return 'double';\n case 'bool':\n return 'bool';\n case 'null':\n return 'null';\n case 'google.protobuf.Timestamp':\n return 'timestamp';\n case 'map':\n return {kind: 'map'};\n case 'dyn':\n // Preserve legacy string fallback for open-map lookups; JSON values stay unknown.\n return containsFromJsonCall(ast) ? undefined : 'string';\n default:\n // cel-js currently exposes custom/list element result types as opaque strings.\n // Keep the outer list shape when present, but erase element detail rather than\n // pretending we can round-trip the original schema.\n if (type.startsWith('list<')) return {kind: 'list', element: {kind: 'map'}};\n return {kind: 'map'};\n }\n}\n\nfunction parseWorkflowExpression(source: string): ASTNode {\n try {\n return parseCel(source).ast;\n } catch (error) {\n throw new InvalidWorkflowExpressionError({\n source,\n reason: error instanceof Error ? error.message : 'Expression source could not be parsed.',\n });\n }\n}\n\nfunction containsFromJsonCall(node: ASTNode): boolean {\n if ((node.op === 'call' || node.op === 'rcall') && node.args[0] === 'fromJson') {\n return true;\n }\n\n return containsFromJsonValue(node.args);\n}\n\nfunction containsFromJsonValue(value: unknown): boolean {\n if (Array.isArray(value)) return value.some(containsFromJsonValue);\n if (typeof value !== 'object' || value === null) return false;\n\n const candidate = value as {readonly args?: unknown; readonly op?: unknown};\n if (candidate.args === undefined || candidate.op === undefined) return false;\n\n return containsFromJsonCall(candidate as ASTNode);\n}\n"],"names":["Environment","parse","parseCel","registerWorkflowFunctions","InvalidWorkflowExpressionError","scalarTypeToCelType","string","int","double","bool","null","timestamp","directPathPattern","createWorkflowExpression","params","source","trim","resultType","length","reason","ast","parseWorkflowExpression","check","mode","environment","createTypeCheckingEnvironment","name","type","Object","entries","typeEnvironment","celType","toCelType","registerVariable","schema","typeCheckResult","valid","error","message","expectedResultType","undefined","containsFromJsonCall","resolveKnownPathType","fromCelType","language","test","root","path","split","current","segment","kind","fields","unlistedVariablesAreDyn","registerOperator","left","right","Number","isInteger","BigInt","unsafeWorkflowExpressionFromSource","variableName","toCelListElementType","element","fromEntries","map","field","toCelSchemaType","toCelSchemaListElementType","itemPath","typeName","join","registerType","startsWith","Error","node","op","args","containsFromJsonValue","value","Array","isArray","some","candidate"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export { InvalidWorkflowTemplateError, invalidWorkflowTemplateErrorCode, } from
|
|
|
26
26
|
export { extractCelContextRoots } from './template/extract-cel-context-roots.js';
|
|
27
27
|
export { parseWorkflowTemplate } from './template/parse-workflow-template.js';
|
|
28
28
|
export type { WorkflowTemplateExprSegment, WorkflowTemplateLiteralSegment, WorkflowTemplateSegment, } from './template/template-segment.js';
|
|
29
|
-
export { type AvailabilitySite, availabilitySites, buildTypedRootsEnvironment, contextRootsForField, type FillTarget, getWorkflowContextAvailability, getWorkflowContextDefinition, getWorkflowContextHost, getWorkflowContextSensitivity, getWorkflowContextTypeEnvironment, getWorkflowInterpolationFieldFailurePolicy, getWorkflowInterpolationFieldSelfReference, getWorkflowPredicateContextRoots, getWorkflowPredicateFieldMinimumFillTarget, getWorkflowPredicateFieldTypeEnvironment, isWorkflowPredicateField, type OpenWorkflowContextDefinition, projectWorkflowPredicateContext, type ReservedRootDefinition, type RunnerWorkflowContextDefinition, resolveContextRootAvailability, resolveContextRootHost, rootsAvailableAt, runnerFillTarget, type TypedWorkflowContextDefinition, unavailableRootsAt, type WorkflowContextAvailabilityReferenceEntry, type WorkflowContextDefinition, type WorkflowContextHost, type WorkflowContextName, type WorkflowContextReservedRoot, type WorkflowContextSensitivity, type WorkflowContextShape, type WorkflowFieldFailurePolicy, type WorkflowInterpolationFailurePolicy, type WorkflowInterpolationField, type WorkflowInterpolationFieldPolicy, type WorkflowJobTypeOverlay, type WorkflowPredicateContextRoot, type WorkflowPredicateField, type WorkflowStepTypeOverlay, workflowContextAvailabilityReference, workflowContextDefinitions, workflowContextHosts, workflowContextNames, workflowContextReservedRoots, workflowContextRootRequiresLiteralKey, workflowContextSensitivities, workflowFieldFailurePolicies, workflowInterpolationFieldAcceptsHost, workflowInterpolationFieldPolicies, workflowInterpolationFields, workflowPredicateContextRoots, workflowPredicateFieldFailurePolicy, workflowPredicateFields, } from './workflow-context/workflow-context.js';
|
|
29
|
+
export { type AvailabilitySite, availabilitySites, buildTypedRootsEnvironment, contextRootsForField, type FillTarget, getWorkflowContextAvailability, getWorkflowContextDefinition, getWorkflowContextHost, getWorkflowContextSensitivity, getWorkflowContextTypeEnvironment, getWorkflowInterpolationFieldFailurePolicy, getWorkflowInterpolationFieldSelfReference, getWorkflowInterpolationFieldTypeEnvironment, getWorkflowPredicateContextRoots, getWorkflowPredicateFieldMinimumFillTarget, getWorkflowPredicateFieldTypeEnvironment, isWorkflowPredicateField, type OpenWorkflowContextDefinition, projectWorkflowPredicateContext, type ReservedRootDefinition, type RunnerWorkflowContextDefinition, resolveContextRootAvailability, resolveContextRootHost, rootsAvailableAt, runnerFillTarget, type TypedWorkflowContextDefinition, toolStepReportTypeEnvironment, unavailableRootsAt, type WorkflowContextAvailabilityReferenceEntry, type WorkflowContextDefinition, type WorkflowContextHost, type WorkflowContextName, type WorkflowContextReservedRoot, type WorkflowContextSensitivity, type WorkflowContextShape, type WorkflowFieldFailurePolicy, type WorkflowInterpolationFailurePolicy, type WorkflowInterpolationField, type WorkflowInterpolationFieldPolicy, type WorkflowJobTypeOverlay, type WorkflowPredicateContextRoot, type WorkflowPredicateField, type WorkflowStepKind, type WorkflowStepTypeOverlay, workflowContextAvailabilityReference, workflowContextDefinitions, workflowContextHosts, workflowContextNames, workflowContextReservedRoots, workflowContextRootRequiresLiteralKey, workflowContextSensitivities, workflowFieldFailurePolicies, workflowInterpolationFieldAcceptsHost, workflowInterpolationFieldPolicies, workflowInterpolationFields, workflowPredicateContextRoots, workflowPredicateFieldFailurePolicy, workflowPredicateFields, } from './workflow-context/workflow-context.js';
|
|
30
30
|
export { type WorkflowContextDoc, workflowContextDocs, } from './workflow-context/workflow-context-docs.js';
|
|
31
31
|
export { MAX_JSON_OUTPUT_BYTES, MAX_RANGE_FANOUT_BYTES, } from './workflow-function-registry.js';
|
|
32
32
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -23,7 +23,7 @@ export { classifyShellCodePosition } from './run/shell-code-position.js';
|
|
|
23
23
|
export { InvalidWorkflowTemplateError, invalidWorkflowTemplateErrorCode } from './template/errors.js';
|
|
24
24
|
export { extractCelContextRoots } from './template/extract-cel-context-roots.js';
|
|
25
25
|
export { parseWorkflowTemplate } from './template/parse-workflow-template.js';
|
|
26
|
-
export { availabilitySites, buildTypedRootsEnvironment, contextRootsForField, getWorkflowContextAvailability, getWorkflowContextDefinition, getWorkflowContextHost, getWorkflowContextSensitivity, getWorkflowContextTypeEnvironment, getWorkflowInterpolationFieldFailurePolicy, getWorkflowInterpolationFieldSelfReference, getWorkflowPredicateContextRoots, getWorkflowPredicateFieldMinimumFillTarget, getWorkflowPredicateFieldTypeEnvironment, isWorkflowPredicateField, projectWorkflowPredicateContext, resolveContextRootAvailability, resolveContextRootHost, rootsAvailableAt, runnerFillTarget, unavailableRootsAt, workflowContextAvailabilityReference, workflowContextDefinitions, workflowContextHosts, workflowContextNames, workflowContextReservedRoots, workflowContextRootRequiresLiteralKey, workflowContextSensitivities, workflowFieldFailurePolicies, workflowInterpolationFieldAcceptsHost, workflowInterpolationFieldPolicies, workflowInterpolationFields, workflowPredicateContextRoots, workflowPredicateFieldFailurePolicy, workflowPredicateFields } from './workflow-context/workflow-context.js';
|
|
26
|
+
export { availabilitySites, buildTypedRootsEnvironment, contextRootsForField, getWorkflowContextAvailability, getWorkflowContextDefinition, getWorkflowContextHost, getWorkflowContextSensitivity, getWorkflowContextTypeEnvironment, getWorkflowInterpolationFieldFailurePolicy, getWorkflowInterpolationFieldSelfReference, getWorkflowInterpolationFieldTypeEnvironment, getWorkflowPredicateContextRoots, getWorkflowPredicateFieldMinimumFillTarget, getWorkflowPredicateFieldTypeEnvironment, isWorkflowPredicateField, projectWorkflowPredicateContext, resolveContextRootAvailability, resolveContextRootHost, rootsAvailableAt, runnerFillTarget, toolStepReportTypeEnvironment, unavailableRootsAt, workflowContextAvailabilityReference, workflowContextDefinitions, workflowContextHosts, workflowContextNames, workflowContextReservedRoots, workflowContextRootRequiresLiteralKey, workflowContextSensitivities, workflowFieldFailurePolicies, workflowInterpolationFieldAcceptsHost, workflowInterpolationFieldPolicies, workflowInterpolationFields, workflowPredicateContextRoots, workflowPredicateFieldFailurePolicy, workflowPredicateFields } from './workflow-context/workflow-context.js';
|
|
27
27
|
export { workflowContextDocs } from './workflow-context/workflow-context-docs.js';
|
|
28
28
|
export { MAX_JSON_OUTPUT_BYTES, MAX_RANGE_FANOUT_BYTES } from './workflow-function-registry.js';
|
|
29
29
|
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n WorkflowExpressionEvaluationError,\n type WorkflowExpressionEvaluationFailureReason,\n workflowExpressionEvaluationErrorCode,\n} from './evaluator/errors.js';\nexport {\n evaluateWorkflowExpression,\n evaluateWorkflowExpressionWithEnvironment,\n evaluateWorkflowPredicate,\n evaluateWorkflowPredicateFailClosed,\n type FailClosedPredicateOutcome,\n type WorkflowExpressionEnvironment,\n type WorkflowExpressionEvaluationContext,\n type WorkflowExpressionEvaluationValue,\n} from './evaluator/evaluate-workflow-expression.js';\nexport {createRangeEnvironment, MAX_RANGE_ELEMENTS} from './evaluator/range.js';\nexport {\n rehydrateJsonExpressionRecord,\n rehydrateJsonExpressionValue,\n} from './evaluator/rehydrate-json-expression.js';\nexport {createWorkflowEnvironment} from './evaluator/workflow-environment.js';\nexport {\n createWorkflowExpression,\n unsafeWorkflowExpressionFromSource,\n} from './expression/create-workflow-expression.js';\nexport {\n InvalidWorkflowExpressionError,\n invalidWorkflowExpressionErrorCode,\n} from './expression/errors.js';\nexport type {\n CreateWorkflowExpressionParams,\n ExpressionScalarType,\n ExpressionType,\n ExpressionTypeEnvironment,\n ValidCelExpression,\n WorkflowExpression,\n WorkflowExpressionCheck,\n WorkflowExpressionCheckOptions,\n} from './expression/workflow-expression.js';\nexport {\n type CoerceStepOutputsResult,\n coerceStepOutputs,\n type JsonSchemaValidationResult,\n jsonSchemaToExpressionType,\n type OutputDeclarations,\n type OutputType,\n type OutputTypeDeclaration,\n outputDeclarationsToExpressionFields,\n outputDeclarationToExpressionType,\n outputTypes,\n type StepOutputCoercionError,\n type StepOutputCoercionErrorReason,\n validateJsonSchema,\n} from './outputs/index.js';\nexport {isBareContextReference} from './plan/bare-reference.js';\nexport {\n analyzeContextKeyAccess,\n analyzeContextRootKeyAccess,\n type ContextKeyAccessAnalysis,\n type ContextKeyAccessReference,\n type ContextKeyAccessViolation,\n type ContextRootKeyAccessAnalysis,\n type ContextRootKeyAccessReference,\n} from './plan/context-key-access.js';\nexport {evaluatePlannedPredicateAtSite} from './plan/evaluate-planned-predicate.js';\nexport {\n capTraceEntries,\n capTraceValue,\n EVALUATION_TRACE_MAX_ENTRIES,\n EVALUATION_TRACE_VALUE_CAP_BYTES,\n type EvaluationTraceEntry,\n type EvaluationTraceLimitEntry,\n type EvaluationTraceRowEntry,\n evaluationTraceEntry,\n predicateTraceEntry,\n} from './plan/evaluation-trace.js';\nexport {extractExactContextRoots} from './plan/extract-exact-context-roots.js';\nexport {\n type FrozenResolvedField,\n freezeResolvedFieldAtSite,\n resolveFieldAtSite,\n type SiteResolvedField,\n type WorkflowTemplateDiagnostic,\n type WorkflowTemplateFailurePolicy,\n} from './plan/freeze.js';\nexport {\n type FrozenPlannedRunCommand,\n freezePlannedRunCommandAtSite,\n} from './plan/freeze-run-command.js';\nexport {\n type FieldPlan,\n type FieldPlanResult,\n type PlanViolation,\n planInterpolationField,\n} from './plan/plan-field.js';\nexport {predicateSourceIsBooleanShaped} from './plan/predicate-shape.js';\nexport type {\n ResolvedField,\n ResolvedFieldDeferredSegment,\n ResolvedFieldLiteralSegment,\n ResolvedFieldSegment,\n} from './plan/resolved-field.js';\nexport {type RoutedExpression, routeExpression} from './plan/route-expression.js';\nexport {\n type ServerEvaluabilityResult,\n type ServerEvaluabilityViolation,\n validateServerEvaluable,\n} from './plan/validate-server-evaluable.js';\nexport {\n WorkflowTemplateResolutionError,\n workflowTemplateResolutionErrorCode,\n} from './resolver/errors.js';\nexport {\n type HoistedPlannedRunCommand,\n hoistPlannedRunCommand,\n type PlannedRunCommandBinding,\n type RunCommandHoistOptions,\n type UnsafeRunInterpolation,\n UnsafeRunInterpolationError,\n unsafeRunInterpolationErrorCode,\n} from './run/hoist-run-command.js';\nexport {\n classifyShellCodePosition,\n type ShellCodePositionAnalysis,\n type ShellCodePositionMatch,\n type ShellReevaluatingConstruct,\n} from './run/shell-code-position.js';\nexport {\n InvalidWorkflowTemplateError,\n invalidWorkflowTemplateErrorCode,\n} from './template/errors.js';\nexport {extractCelContextRoots} from './template/extract-cel-context-roots.js';\nexport {parseWorkflowTemplate} from './template/parse-workflow-template.js';\nexport type {\n WorkflowTemplateExprSegment,\n WorkflowTemplateLiteralSegment,\n WorkflowTemplateSegment,\n} from './template/template-segment.js';\nexport {\n type AvailabilitySite,\n availabilitySites,\n buildTypedRootsEnvironment,\n contextRootsForField,\n type FillTarget,\n getWorkflowContextAvailability,\n getWorkflowContextDefinition,\n getWorkflowContextHost,\n getWorkflowContextSensitivity,\n getWorkflowContextTypeEnvironment,\n getWorkflowInterpolationFieldFailurePolicy,\n getWorkflowInterpolationFieldSelfReference,\n getWorkflowPredicateContextRoots,\n getWorkflowPredicateFieldMinimumFillTarget,\n getWorkflowPredicateFieldTypeEnvironment,\n isWorkflowPredicateField,\n type OpenWorkflowContextDefinition,\n projectWorkflowPredicateContext,\n type ReservedRootDefinition,\n type RunnerWorkflowContextDefinition,\n resolveContextRootAvailability,\n resolveContextRootHost,\n rootsAvailableAt,\n runnerFillTarget,\n type TypedWorkflowContextDefinition,\n unavailableRootsAt,\n type WorkflowContextAvailabilityReferenceEntry,\n type WorkflowContextDefinition,\n type WorkflowContextHost,\n type WorkflowContextName,\n type WorkflowContextReservedRoot,\n type WorkflowContextSensitivity,\n type WorkflowContextShape,\n type WorkflowFieldFailurePolicy,\n type WorkflowInterpolationFailurePolicy,\n type WorkflowInterpolationField,\n type WorkflowInterpolationFieldPolicy,\n type WorkflowJobTypeOverlay,\n type WorkflowPredicateContextRoot,\n type WorkflowPredicateField,\n type WorkflowStepTypeOverlay,\n workflowContextAvailabilityReference,\n workflowContextDefinitions,\n workflowContextHosts,\n workflowContextNames,\n workflowContextReservedRoots,\n workflowContextRootRequiresLiteralKey,\n workflowContextSensitivities,\n workflowFieldFailurePolicies,\n workflowInterpolationFieldAcceptsHost,\n workflowInterpolationFieldPolicies,\n workflowInterpolationFields,\n workflowPredicateContextRoots,\n workflowPredicateFieldFailurePolicy,\n workflowPredicateFields,\n} from './workflow-context/workflow-context.js';\nexport {\n type WorkflowContextDoc,\n workflowContextDocs,\n} from './workflow-context/workflow-context-docs.js';\nexport {\n MAX_JSON_OUTPUT_BYTES,\n MAX_RANGE_FANOUT_BYTES,\n} from './workflow-function-registry.js';\n"],"names":["WorkflowExpressionEvaluationError","workflowExpressionEvaluationErrorCode","evaluateWorkflowExpression","evaluateWorkflowExpressionWithEnvironment","evaluateWorkflowPredicate","evaluateWorkflowPredicateFailClosed","createRangeEnvironment","MAX_RANGE_ELEMENTS","rehydrateJsonExpressionRecord","rehydrateJsonExpressionValue","createWorkflowEnvironment","createWorkflowExpression","unsafeWorkflowExpressionFromSource","InvalidWorkflowExpressionError","invalidWorkflowExpressionErrorCode","coerceStepOutputs","jsonSchemaToExpressionType","outputDeclarationsToExpressionFields","outputDeclarationToExpressionType","outputTypes","validateJsonSchema","isBareContextReference","analyzeContextKeyAccess","analyzeContextRootKeyAccess","evaluatePlannedPredicateAtSite","capTraceEntries","capTraceValue","EVALUATION_TRACE_MAX_ENTRIES","EVALUATION_TRACE_VALUE_CAP_BYTES","evaluationTraceEntry","predicateTraceEntry","extractExactContextRoots","freezeResolvedFieldAtSite","resolveFieldAtSite","freezePlannedRunCommandAtSite","planInterpolationField","predicateSourceIsBooleanShaped","routeExpression","validateServerEvaluable","WorkflowTemplateResolutionError","workflowTemplateResolutionErrorCode","hoistPlannedRunCommand","UnsafeRunInterpolationError","unsafeRunInterpolationErrorCode","classifyShellCodePosition","InvalidWorkflowTemplateError","invalidWorkflowTemplateErrorCode","extractCelContextRoots","parseWorkflowTemplate","availabilitySites","buildTypedRootsEnvironment","contextRootsForField","getWorkflowContextAvailability","getWorkflowContextDefinition","getWorkflowContextHost","getWorkflowContextSensitivity","getWorkflowContextTypeEnvironment","getWorkflowInterpolationFieldFailurePolicy","getWorkflowInterpolationFieldSelfReference","getWorkflowPredicateContextRoots","getWorkflowPredicateFieldMinimumFillTarget","getWorkflowPredicateFieldTypeEnvironment","isWorkflowPredicateField","projectWorkflowPredicateContext","resolveContextRootAvailability","resolveContextRootHost","rootsAvailableAt","runnerFillTarget","unavailableRootsAt","workflowContextAvailabilityReference","workflowContextDefinitions","workflowContextHosts","workflowContextNames","workflowContextReservedRoots","workflowContextRootRequiresLiteralKey","workflowContextSensitivities","workflowFieldFailurePolicies","workflowInterpolationFieldAcceptsHost","workflowInterpolationFieldPolicies","workflowInterpolationFields","workflowPredicateContextRoots","workflowPredicateFieldFailurePolicy","workflowPredicateFields","workflowContextDocs","MAX_JSON_OUTPUT_BYTES","MAX_RANGE_FANOUT_BYTES"],"mappings":"AAAA,SACEA,iCAAiC,EAEjCC,qCAAqC,QAChC,wBAAwB;AAC/B,SACEC,0BAA0B,EAC1BC,yCAAyC,EACzCC,yBAAyB,EACzBC,mCAAmC,QAK9B,8CAA8C;AACrD,SAAQC,sBAAsB,EAAEC,kBAAkB,QAAO,uBAAuB;AAChF,SACEC,6BAA6B,EAC7BC,4BAA4B,QACvB,2CAA2C;AAClD,SAAQC,yBAAyB,QAAO,sCAAsC;AAC9E,SACEC,wBAAwB,EACxBC,kCAAkC,QAC7B,6CAA6C;AACpD,SACEC,8BAA8B,EAC9BC,kCAAkC,QAC7B,yBAAyB;AAWhC,SAEEC,iBAAiB,EAEjBC,0BAA0B,EAI1BC,oCAAoC,EACpCC,iCAAiC,EACjCC,WAAW,EAGXC,kBAAkB,QACb,qBAAqB;AAC5B,SAAQC,sBAAsB,QAAO,2BAA2B;AAChE,SACEC,uBAAuB,EACvBC,2BAA2B,QAMtB,+BAA+B;AACtC,SAAQC,8BAA8B,QAAO,uCAAuC;AACpF,SACEC,eAAe,EACfC,aAAa,EACbC,4BAA4B,EAC5BC,gCAAgC,EAIhCC,oBAAoB,EACpBC,mBAAmB,QACd,6BAA6B;AACpC,SAAQC,wBAAwB,QAAO,wCAAwC;AAC/E,SAEEC,yBAAyB,EACzBC,kBAAkB,QAIb,mBAAmB;AAC1B,SAEEC,6BAA6B,QACxB,+BAA+B;AACtC,SAIEC,sBAAsB,QACjB,uBAAuB;AAC9B,SAAQC,8BAA8B,QAAO,4BAA4B;AAOzE,SAA+BC,eAAe,QAAO,6BAA6B;AAClF,SAGEC,uBAAuB,QAClB,sCAAsC;AAC7C,SACEC,+BAA+B,EAC/BC,mCAAmC,QAC9B,uBAAuB;AAC9B,SAEEC,sBAAsB,EAItBC,2BAA2B,EAC3BC,+BAA+B,QAC1B,6BAA6B;AACpC,SACEC,yBAAyB,QAIpB,+BAA+B;AACtC,SACEC,4BAA4B,EAC5BC,gCAAgC,QAC3B,uBAAuB;AAC9B,SAAQC,sBAAsB,QAAO,0CAA0C;AAC/E,SAAQC,qBAAqB,QAAO,wCAAwC;AAM5E,SAEEC,iBAAiB,EACjBC,0BAA0B,EAC1BC,oBAAoB,EAEpBC,8BAA8B,EAC9BC,4BAA4B,EAC5BC,sBAAsB,EACtBC,6BAA6B,EAC7BC,iCAAiC,EACjCC,0CAA0C,EAC1CC,0CAA0C,EAC1CC,gCAAgC,EAChCC,0CAA0C,EAC1CC,wCAAwC,EACxCC,wBAAwB,EAExBC,+BAA+B,EAG/BC,8BAA8B,EAC9BC,sBAAsB,EACtBC,gBAAgB,EAChBC,gBAAgB,EAEhBC,kBAAkB,EAgBlBC,oCAAoC,EACpCC,0BAA0B,EAC1BC,oBAAoB,EACpBC,oBAAoB,EACpBC,4BAA4B,EAC5BC,qCAAqC,EACrCC,4BAA4B,EAC5BC,4BAA4B,EAC5BC,qCAAqC,EACrCC,kCAAkC,EAClCC,2BAA2B,EAC3BC,6BAA6B,EAC7BC,mCAAmC,EACnCC,uBAAuB,QAClB,yCAAyC;AAChD,SAEEC,mBAAmB,QACd,8CAA8C;AACrD,SACEC,qBAAqB,EACrBC,sBAAsB,QACjB,kCAAkC"}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n WorkflowExpressionEvaluationError,\n type WorkflowExpressionEvaluationFailureReason,\n workflowExpressionEvaluationErrorCode,\n} from './evaluator/errors.js';\nexport {\n evaluateWorkflowExpression,\n evaluateWorkflowExpressionWithEnvironment,\n evaluateWorkflowPredicate,\n evaluateWorkflowPredicateFailClosed,\n type FailClosedPredicateOutcome,\n type WorkflowExpressionEnvironment,\n type WorkflowExpressionEvaluationContext,\n type WorkflowExpressionEvaluationValue,\n} from './evaluator/evaluate-workflow-expression.js';\nexport {createRangeEnvironment, MAX_RANGE_ELEMENTS} from './evaluator/range.js';\nexport {\n rehydrateJsonExpressionRecord,\n rehydrateJsonExpressionValue,\n} from './evaluator/rehydrate-json-expression.js';\nexport {createWorkflowEnvironment} from './evaluator/workflow-environment.js';\nexport {\n createWorkflowExpression,\n unsafeWorkflowExpressionFromSource,\n} from './expression/create-workflow-expression.js';\nexport {\n InvalidWorkflowExpressionError,\n invalidWorkflowExpressionErrorCode,\n} from './expression/errors.js';\nexport type {\n CreateWorkflowExpressionParams,\n ExpressionScalarType,\n ExpressionType,\n ExpressionTypeEnvironment,\n ValidCelExpression,\n WorkflowExpression,\n WorkflowExpressionCheck,\n WorkflowExpressionCheckOptions,\n} from './expression/workflow-expression.js';\nexport {\n type CoerceStepOutputsResult,\n coerceStepOutputs,\n type JsonSchemaValidationResult,\n jsonSchemaToExpressionType,\n type OutputDeclarations,\n type OutputType,\n type OutputTypeDeclaration,\n outputDeclarationsToExpressionFields,\n outputDeclarationToExpressionType,\n outputTypes,\n type StepOutputCoercionError,\n type StepOutputCoercionErrorReason,\n validateJsonSchema,\n} from './outputs/index.js';\nexport {isBareContextReference} from './plan/bare-reference.js';\nexport {\n analyzeContextKeyAccess,\n analyzeContextRootKeyAccess,\n type ContextKeyAccessAnalysis,\n type ContextKeyAccessReference,\n type ContextKeyAccessViolation,\n type ContextRootKeyAccessAnalysis,\n type ContextRootKeyAccessReference,\n} from './plan/context-key-access.js';\nexport {evaluatePlannedPredicateAtSite} from './plan/evaluate-planned-predicate.js';\nexport {\n capTraceEntries,\n capTraceValue,\n EVALUATION_TRACE_MAX_ENTRIES,\n EVALUATION_TRACE_VALUE_CAP_BYTES,\n type EvaluationTraceEntry,\n type EvaluationTraceLimitEntry,\n type EvaluationTraceRowEntry,\n evaluationTraceEntry,\n predicateTraceEntry,\n} from './plan/evaluation-trace.js';\nexport {extractExactContextRoots} from './plan/extract-exact-context-roots.js';\nexport {\n type FrozenResolvedField,\n freezeResolvedFieldAtSite,\n resolveFieldAtSite,\n type SiteResolvedField,\n type WorkflowTemplateDiagnostic,\n type WorkflowTemplateFailurePolicy,\n} from './plan/freeze.js';\nexport {\n type FrozenPlannedRunCommand,\n freezePlannedRunCommandAtSite,\n} from './plan/freeze-run-command.js';\nexport {\n type FieldPlan,\n type FieldPlanResult,\n type PlanViolation,\n planInterpolationField,\n} from './plan/plan-field.js';\nexport {predicateSourceIsBooleanShaped} from './plan/predicate-shape.js';\nexport type {\n ResolvedField,\n ResolvedFieldDeferredSegment,\n ResolvedFieldLiteralSegment,\n ResolvedFieldSegment,\n} from './plan/resolved-field.js';\nexport {type RoutedExpression, routeExpression} from './plan/route-expression.js';\nexport {\n type ServerEvaluabilityResult,\n type ServerEvaluabilityViolation,\n validateServerEvaluable,\n} from './plan/validate-server-evaluable.js';\nexport {\n WorkflowTemplateResolutionError,\n workflowTemplateResolutionErrorCode,\n} from './resolver/errors.js';\nexport {\n type HoistedPlannedRunCommand,\n hoistPlannedRunCommand,\n type PlannedRunCommandBinding,\n type RunCommandHoistOptions,\n type UnsafeRunInterpolation,\n UnsafeRunInterpolationError,\n unsafeRunInterpolationErrorCode,\n} from './run/hoist-run-command.js';\nexport {\n classifyShellCodePosition,\n type ShellCodePositionAnalysis,\n type ShellCodePositionMatch,\n type ShellReevaluatingConstruct,\n} from './run/shell-code-position.js';\nexport {\n InvalidWorkflowTemplateError,\n invalidWorkflowTemplateErrorCode,\n} from './template/errors.js';\nexport {extractCelContextRoots} from './template/extract-cel-context-roots.js';\nexport {parseWorkflowTemplate} from './template/parse-workflow-template.js';\nexport type {\n WorkflowTemplateExprSegment,\n WorkflowTemplateLiteralSegment,\n WorkflowTemplateSegment,\n} from './template/template-segment.js';\nexport {\n type AvailabilitySite,\n availabilitySites,\n buildTypedRootsEnvironment,\n contextRootsForField,\n type FillTarget,\n getWorkflowContextAvailability,\n getWorkflowContextDefinition,\n getWorkflowContextHost,\n getWorkflowContextSensitivity,\n getWorkflowContextTypeEnvironment,\n getWorkflowInterpolationFieldFailurePolicy,\n getWorkflowInterpolationFieldSelfReference,\n getWorkflowInterpolationFieldTypeEnvironment,\n getWorkflowPredicateContextRoots,\n getWorkflowPredicateFieldMinimumFillTarget,\n getWorkflowPredicateFieldTypeEnvironment,\n isWorkflowPredicateField,\n type OpenWorkflowContextDefinition,\n projectWorkflowPredicateContext,\n type ReservedRootDefinition,\n type RunnerWorkflowContextDefinition,\n resolveContextRootAvailability,\n resolveContextRootHost,\n rootsAvailableAt,\n runnerFillTarget,\n type TypedWorkflowContextDefinition,\n toolStepReportTypeEnvironment,\n unavailableRootsAt,\n type WorkflowContextAvailabilityReferenceEntry,\n type WorkflowContextDefinition,\n type WorkflowContextHost,\n type WorkflowContextName,\n type WorkflowContextReservedRoot,\n type WorkflowContextSensitivity,\n type WorkflowContextShape,\n type WorkflowFieldFailurePolicy,\n type WorkflowInterpolationFailurePolicy,\n type WorkflowInterpolationField,\n type WorkflowInterpolationFieldPolicy,\n type WorkflowJobTypeOverlay,\n type WorkflowPredicateContextRoot,\n type WorkflowPredicateField,\n type WorkflowStepKind,\n type WorkflowStepTypeOverlay,\n workflowContextAvailabilityReference,\n workflowContextDefinitions,\n workflowContextHosts,\n workflowContextNames,\n workflowContextReservedRoots,\n workflowContextRootRequiresLiteralKey,\n workflowContextSensitivities,\n workflowFieldFailurePolicies,\n workflowInterpolationFieldAcceptsHost,\n workflowInterpolationFieldPolicies,\n workflowInterpolationFields,\n workflowPredicateContextRoots,\n workflowPredicateFieldFailurePolicy,\n workflowPredicateFields,\n} from './workflow-context/workflow-context.js';\nexport {\n type WorkflowContextDoc,\n workflowContextDocs,\n} from './workflow-context/workflow-context-docs.js';\nexport {\n MAX_JSON_OUTPUT_BYTES,\n MAX_RANGE_FANOUT_BYTES,\n} from './workflow-function-registry.js';\n"],"names":["WorkflowExpressionEvaluationError","workflowExpressionEvaluationErrorCode","evaluateWorkflowExpression","evaluateWorkflowExpressionWithEnvironment","evaluateWorkflowPredicate","evaluateWorkflowPredicateFailClosed","createRangeEnvironment","MAX_RANGE_ELEMENTS","rehydrateJsonExpressionRecord","rehydrateJsonExpressionValue","createWorkflowEnvironment","createWorkflowExpression","unsafeWorkflowExpressionFromSource","InvalidWorkflowExpressionError","invalidWorkflowExpressionErrorCode","coerceStepOutputs","jsonSchemaToExpressionType","outputDeclarationsToExpressionFields","outputDeclarationToExpressionType","outputTypes","validateJsonSchema","isBareContextReference","analyzeContextKeyAccess","analyzeContextRootKeyAccess","evaluatePlannedPredicateAtSite","capTraceEntries","capTraceValue","EVALUATION_TRACE_MAX_ENTRIES","EVALUATION_TRACE_VALUE_CAP_BYTES","evaluationTraceEntry","predicateTraceEntry","extractExactContextRoots","freezeResolvedFieldAtSite","resolveFieldAtSite","freezePlannedRunCommandAtSite","planInterpolationField","predicateSourceIsBooleanShaped","routeExpression","validateServerEvaluable","WorkflowTemplateResolutionError","workflowTemplateResolutionErrorCode","hoistPlannedRunCommand","UnsafeRunInterpolationError","unsafeRunInterpolationErrorCode","classifyShellCodePosition","InvalidWorkflowTemplateError","invalidWorkflowTemplateErrorCode","extractCelContextRoots","parseWorkflowTemplate","availabilitySites","buildTypedRootsEnvironment","contextRootsForField","getWorkflowContextAvailability","getWorkflowContextDefinition","getWorkflowContextHost","getWorkflowContextSensitivity","getWorkflowContextTypeEnvironment","getWorkflowInterpolationFieldFailurePolicy","getWorkflowInterpolationFieldSelfReference","getWorkflowInterpolationFieldTypeEnvironment","getWorkflowPredicateContextRoots","getWorkflowPredicateFieldMinimumFillTarget","getWorkflowPredicateFieldTypeEnvironment","isWorkflowPredicateField","projectWorkflowPredicateContext","resolveContextRootAvailability","resolveContextRootHost","rootsAvailableAt","runnerFillTarget","toolStepReportTypeEnvironment","unavailableRootsAt","workflowContextAvailabilityReference","workflowContextDefinitions","workflowContextHosts","workflowContextNames","workflowContextReservedRoots","workflowContextRootRequiresLiteralKey","workflowContextSensitivities","workflowFieldFailurePolicies","workflowInterpolationFieldAcceptsHost","workflowInterpolationFieldPolicies","workflowInterpolationFields","workflowPredicateContextRoots","workflowPredicateFieldFailurePolicy","workflowPredicateFields","workflowContextDocs","MAX_JSON_OUTPUT_BYTES","MAX_RANGE_FANOUT_BYTES"],"mappings":"AAAA,SACEA,iCAAiC,EAEjCC,qCAAqC,QAChC,wBAAwB;AAC/B,SACEC,0BAA0B,EAC1BC,yCAAyC,EACzCC,yBAAyB,EACzBC,mCAAmC,QAK9B,8CAA8C;AACrD,SAAQC,sBAAsB,EAAEC,kBAAkB,QAAO,uBAAuB;AAChF,SACEC,6BAA6B,EAC7BC,4BAA4B,QACvB,2CAA2C;AAClD,SAAQC,yBAAyB,QAAO,sCAAsC;AAC9E,SACEC,wBAAwB,EACxBC,kCAAkC,QAC7B,6CAA6C;AACpD,SACEC,8BAA8B,EAC9BC,kCAAkC,QAC7B,yBAAyB;AAWhC,SAEEC,iBAAiB,EAEjBC,0BAA0B,EAI1BC,oCAAoC,EACpCC,iCAAiC,EACjCC,WAAW,EAGXC,kBAAkB,QACb,qBAAqB;AAC5B,SAAQC,sBAAsB,QAAO,2BAA2B;AAChE,SACEC,uBAAuB,EACvBC,2BAA2B,QAMtB,+BAA+B;AACtC,SAAQC,8BAA8B,QAAO,uCAAuC;AACpF,SACEC,eAAe,EACfC,aAAa,EACbC,4BAA4B,EAC5BC,gCAAgC,EAIhCC,oBAAoB,EACpBC,mBAAmB,QACd,6BAA6B;AACpC,SAAQC,wBAAwB,QAAO,wCAAwC;AAC/E,SAEEC,yBAAyB,EACzBC,kBAAkB,QAIb,mBAAmB;AAC1B,SAEEC,6BAA6B,QACxB,+BAA+B;AACtC,SAIEC,sBAAsB,QACjB,uBAAuB;AAC9B,SAAQC,8BAA8B,QAAO,4BAA4B;AAOzE,SAA+BC,eAAe,QAAO,6BAA6B;AAClF,SAGEC,uBAAuB,QAClB,sCAAsC;AAC7C,SACEC,+BAA+B,EAC/BC,mCAAmC,QAC9B,uBAAuB;AAC9B,SAEEC,sBAAsB,EAItBC,2BAA2B,EAC3BC,+BAA+B,QAC1B,6BAA6B;AACpC,SACEC,yBAAyB,QAIpB,+BAA+B;AACtC,SACEC,4BAA4B,EAC5BC,gCAAgC,QAC3B,uBAAuB;AAC9B,SAAQC,sBAAsB,QAAO,0CAA0C;AAC/E,SAAQC,qBAAqB,QAAO,wCAAwC;AAM5E,SAEEC,iBAAiB,EACjBC,0BAA0B,EAC1BC,oBAAoB,EAEpBC,8BAA8B,EAC9BC,4BAA4B,EAC5BC,sBAAsB,EACtBC,6BAA6B,EAC7BC,iCAAiC,EACjCC,0CAA0C,EAC1CC,0CAA0C,EAC1CC,4CAA4C,EAC5CC,gCAAgC,EAChCC,0CAA0C,EAC1CC,wCAAwC,EACxCC,wBAAwB,EAExBC,+BAA+B,EAG/BC,8BAA8B,EAC9BC,sBAAsB,EACtBC,gBAAgB,EAChBC,gBAAgB,EAEhBC,6BAA6B,EAC7BC,kBAAkB,EAiBlBC,oCAAoC,EACpCC,0BAA0B,EAC1BC,oBAAoB,EACpBC,oBAAoB,EACpBC,4BAA4B,EAC5BC,qCAAqC,EACrCC,4BAA4B,EAC5BC,4BAA4B,EAC5BC,qCAAqC,EACrCC,kCAAkC,EAClCC,2BAA2B,EAC3BC,6BAA6B,EAC7BC,mCAAmC,EACnCC,uBAAuB,QAClB,yCAAyC;AAChD,SAEEC,mBAAmB,QACd,8CAA8C;AACrD,SACEC,qBAAqB,EACrBC,sBAAsB,QACjB,kCAAkC"}
|