@acpus/core 0.6.0 → 0.7.0-alpha.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 +128 -4
- package/dist/.tsbuildinfo +1 -0
- package/dist/graph/builder.d.ts +103 -0
- package/dist/graph/builder.d.ts.map +1 -0
- package/dist/graph/builder.js +209 -0
- package/dist/graph/builder.js.map +1 -0
- package/dist/graph/lowering.d.ts +8 -0
- package/dist/graph/lowering.d.ts.map +1 -0
- package/dist/graph/lowering.js +45 -0
- package/dist/graph/lowering.js.map +1 -0
- package/dist/graph/refs.d.ts +11 -0
- package/dist/graph/refs.d.ts.map +1 -0
- package/dist/graph/refs.js +12 -0
- package/dist/graph/refs.js.map +1 -0
- package/dist/graph/scope.d.ts +21 -0
- package/dist/graph/scope.d.ts.map +1 -0
- package/dist/graph/scope.js +22 -0
- package/dist/graph/scope.js.map +1 -0
- package/dist/index.d.ts +11 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -15
- package/dist/index.js.map +1 -1
- package/dist/internal/symbols.d.ts +9 -0
- package/dist/internal/symbols.d.ts.map +1 -0
- package/dist/internal/symbols.js +9 -0
- package/dist/internal/symbols.js.map +1 -0
- package/dist/internal/type-utils.d.ts +7 -0
- package/dist/internal/type-utils.d.ts.map +1 -0
- package/dist/internal/type-utils.js +8 -0
- package/dist/internal/type-utils.js.map +1 -0
- package/dist/ir/types.d.ts +218 -0
- package/dist/ir/types.d.ts.map +1 -0
- package/dist/ir/types.js.map +1 -0
- package/dist/ir/validator.d.ts +3 -0
- package/dist/ir/validator.d.ts.map +1 -0
- package/dist/ir/validator.js +671 -0
- package/dist/ir/validator.js.map +1 -0
- package/dist/ir.d.ts +3 -0
- package/dist/ir.d.ts.map +1 -0
- package/dist/ir.js +2 -0
- package/dist/ir.js.map +1 -0
- package/dist/nodes/composite/fanout.d.ts +24 -0
- package/dist/nodes/composite/fanout.d.ts.map +1 -0
- package/dist/nodes/composite/fanout.js +24 -0
- package/dist/nodes/composite/fanout.js.map +1 -0
- package/dist/nodes/composite/if.d.ts +12 -0
- package/dist/nodes/composite/if.d.ts.map +1 -0
- package/dist/nodes/composite/if.js +13 -0
- package/dist/nodes/composite/if.js.map +1 -0
- package/dist/nodes/composite/loop.d.ts +17 -0
- package/dist/nodes/composite/loop.d.ts.map +1 -0
- package/dist/nodes/composite/loop.js +22 -0
- package/dist/nodes/composite/loop.js.map +1 -0
- package/dist/nodes/composite/parallel.d.ts +29 -0
- package/dist/nodes/composite/parallel.d.ts.map +1 -0
- package/dist/nodes/composite/parallel.js +18 -0
- package/dist/nodes/composite/parallel.js.map +1 -0
- package/dist/nodes/composite/shared.d.ts +38 -0
- package/dist/nodes/composite/shared.d.ts.map +1 -0
- package/dist/nodes/composite/shared.js +2 -0
- package/dist/nodes/composite/shared.js.map +1 -0
- package/dist/nodes/composite/switch.d.ts +22 -0
- package/dist/nodes/composite/switch.d.ts.map +1 -0
- package/dist/nodes/composite/switch.js +12 -0
- package/dist/nodes/composite/switch.js.map +1 -0
- package/dist/nodes/control/assert.d.ts +10 -0
- package/dist/nodes/control/assert.d.ts.map +1 -0
- package/dist/nodes/control/assert.js +14 -0
- package/dist/nodes/control/assert.js.map +1 -0
- package/dist/nodes/leaf/agent.d.ts +63 -0
- package/dist/nodes/leaf/agent.d.ts.map +1 -0
- package/dist/nodes/leaf/agent.js +56 -0
- package/dist/nodes/leaf/agent.js.map +1 -0
- package/dist/nodes/leaf/shared.d.ts +11 -0
- package/dist/nodes/leaf/shared.d.ts.map +1 -0
- package/dist/nodes/leaf/shared.js +2 -0
- package/dist/nodes/leaf/shared.js.map +1 -0
- package/dist/nodes/leaf/signal.d.ts +27 -0
- package/dist/nodes/leaf/signal.d.ts.map +1 -0
- package/dist/nodes/leaf/signal.js +18 -0
- package/dist/nodes/leaf/signal.js.map +1 -0
- package/dist/nodes/leaf/task.d.ts +71 -0
- package/dist/nodes/leaf/task.d.ts.map +1 -0
- package/dist/nodes/leaf/task.js +88 -0
- package/dist/nodes/leaf/task.js.map +1 -0
- package/dist/runtime/dollar.d.ts +42 -0
- package/dist/runtime/dollar.d.ts.map +1 -0
- package/dist/runtime/dollar.js +82 -0
- package/dist/runtime/dollar.js.map +1 -0
- package/dist/runtime/secret.d.ts +10 -0
- package/dist/runtime/secret.d.ts.map +1 -0
- package/dist/runtime/secret.js +12 -0
- package/dist/runtime/secret.js.map +1 -0
- package/dist/runtime/task-context.d.ts +28 -0
- package/dist/runtime/task-context.d.ts.map +1 -0
- package/dist/runtime/task-context.js +2 -0
- package/dist/runtime/task-context.js.map +1 -0
- package/dist/runtime.d.ts +5 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +3 -0
- package/dist/runtime.js.map +1 -0
- package/dist/schema/index.d.ts +6 -2
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +3 -2
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/lower.d.ts +25 -0
- package/dist/schema/lower.d.ts.map +1 -0
- package/dist/schema/lower.js +198 -0
- package/dist/schema/lower.js.map +1 -0
- package/dist/schema/validate.d.ts +18 -0
- package/dist/schema/validate.d.ts.map +1 -0
- package/dist/schema/validate.js +22 -0
- package/dist/schema/validate.js.map +1 -0
- package/dist/schema/zod.d.ts +17 -0
- package/dist/schema/zod.d.ts.map +1 -0
- package/dist/schema/zod.js +15 -0
- package/dist/schema/zod.js.map +1 -0
- package/dist/schema.d.ts +3 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +2 -0
- package/dist/schema.js.map +1 -0
- package/dist/template/template.d.ts +5 -0
- package/dist/template/template.d.ts.map +1 -0
- package/dist/template/template.js +10 -0
- package/dist/template/template.js.map +1 -0
- package/dist/workflow.d.ts +3 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +2 -0
- package/dist/workflow.js.map +1 -0
- package/package.json +35 -20
- package/dist/agent-overrides.d.ts +0 -33
- package/dist/agent-overrides.d.ts.map +0 -1
- package/dist/agent-overrides.js +0 -178
- package/dist/agent-overrides.js.map +0 -1
- package/dist/cel-ast.d.ts +0 -39
- package/dist/cel-ast.d.ts.map +0 -1
- package/dist/cel-ast.js +0 -157
- package/dist/cel-ast.js.map +0 -1
- package/dist/cel-environment.d.ts +0 -6
- package/dist/cel-environment.d.ts.map +0 -1
- package/dist/cel-environment.js +0 -44
- package/dist/cel-environment.js.map +0 -1
- package/dist/compiler.d.ts +0 -4
- package/dist/compiler.d.ts.map +0 -1
- package/dist/compiler.js +0 -702
- package/dist/compiler.js.map +0 -1
- package/dist/composite-contract.d.ts +0 -46
- package/dist/composite-contract.d.ts.map +0 -1
- package/dist/composite-contract.js +0 -97
- package/dist/composite-contract.js.map +0 -1
- package/dist/diagnostics.d.ts +0 -9
- package/dist/diagnostics.d.ts.map +0 -1
- package/dist/diagnostics.js +0 -16
- package/dist/diagnostics.js.map +0 -1
- package/dist/duration.d.ts +0 -13
- package/dist/duration.d.ts.map +0 -1
- package/dist/duration.js +0 -32
- package/dist/duration.js.map +0 -1
- package/dist/expression-scope.d.ts +0 -23
- package/dist/expression-scope.d.ts.map +0 -1
- package/dist/expression-scope.js +0 -545
- package/dist/expression-scope.js.map +0 -1
- package/dist/expressions-shared.d.ts +0 -19
- package/dist/expressions-shared.d.ts.map +0 -1
- package/dist/expressions-shared.js +0 -27
- package/dist/expressions-shared.js.map +0 -1
- package/dist/expressions.d.ts +0 -9
- package/dist/expressions.d.ts.map +0 -1
- package/dist/expressions.js +0 -95
- package/dist/expressions.js.map +0 -1
- package/dist/hash.d.ts +0 -19
- package/dist/hash.d.ts.map +0 -1
- package/dist/hash.js +0 -120
- package/dist/hash.js.map +0 -1
- package/dist/hook-validation.d.ts +0 -9
- package/dist/hook-validation.d.ts.map +0 -1
- package/dist/hook-validation.js +0 -73
- package/dist/hook-validation.js.map +0 -1
- package/dist/hooks.d.ts +0 -150
- package/dist/hooks.d.ts.map +0 -1
- package/dist/hooks.js +0 -18
- package/dist/hooks.js.map +0 -1
- package/dist/schedule.d.ts +0 -3
- package/dist/schedule.d.ts.map +0 -1
- package/dist/schedule.js +0 -21
- package/dist/schedule.js.map +0 -1
- package/dist/schema/dsl.d.ts +0 -34
- package/dist/schema/dsl.d.ts.map +0 -1
- package/dist/schema/dsl.js +0 -231
- package/dist/schema/dsl.js.map +0 -1
- package/dist/schema/helpers.d.ts +0 -24
- package/dist/schema/helpers.d.ts.map +0 -1
- package/dist/schema/helpers.js +0 -61
- package/dist/schema/helpers.js.map +0 -1
- package/dist/schema-validator.d.ts +0 -29
- package/dist/schema-validator.d.ts.map +0 -1
- package/dist/schema-validator.js +0 -666
- package/dist/schema-validator.js.map +0 -1
- package/dist/source-resolver.d.ts +0 -22
- package/dist/source-resolver.d.ts.map +0 -1
- package/dist/source-resolver.js +0 -43
- package/dist/source-resolver.js.map +0 -1
- package/dist/types.d.ts +0 -126
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/workflow-schema.d.ts +0 -10
- package/dist/workflow-schema.d.ts.map +0 -1
- package/dist/workflow-schema.js +0 -523
- package/dist/workflow-schema.js.map +0 -1
- /package/dist/{types.js → ir/types.js} +0 -0
package/dist/expressions.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { extractReferences } from "./cel-ast.js";
|
|
2
|
-
import { createAcpusCelEnvironment } from "./cel-environment.js";
|
|
3
|
-
import { EXPRESSION_PATTERN, rawCelFieldName, toCelParseSource } from "./expressions-shared.js";
|
|
4
|
-
export { EXPRESSION_PATTERN, rawCelFieldName, toCelParseSource } from "./expressions-shared.js";
|
|
5
|
-
export function createExpressionCollector(diagnostics, knownStepIds) {
|
|
6
|
-
const expressions = [];
|
|
7
|
-
const celEnv = createAcpusCelEnvironment();
|
|
8
|
-
function collectFromString(value, path) {
|
|
9
|
-
const fieldName = rawCelFieldName(path);
|
|
10
|
-
const isRawCel = fieldName !== undefined;
|
|
11
|
-
const hasTemplate = EXPRESSION_PATTERN.test(value);
|
|
12
|
-
EXPRESSION_PATTERN.lastIndex = 0;
|
|
13
|
-
if (isRawCel && hasTemplate) {
|
|
14
|
-
diagnostics.warning("EXPR_TEMPLATE_IN_CEL", `Field '${fieldName}' is evaluated as raw CEL — remove ${{}} wrappers or the expression will fail at runtime.`, path);
|
|
15
|
-
}
|
|
16
|
-
if (isRawCel && !hasTemplate) {
|
|
17
|
-
collectExpression(value.trim(), path);
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
for (const match of value.matchAll(EXPRESSION_PATTERN)) {
|
|
21
|
-
const source = match[1]?.trim() ?? "";
|
|
22
|
-
if (source.length === 0) {
|
|
23
|
-
diagnostics.error("EXPR_EMPTY", "Expression cannot be empty.", path);
|
|
24
|
-
continue;
|
|
25
|
-
}
|
|
26
|
-
collectExpression(source, path);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function collectExpression(source, path) {
|
|
30
|
-
if (source.length === 0)
|
|
31
|
-
return;
|
|
32
|
-
const check = celEnv.check(toCelParseSource(source));
|
|
33
|
-
if (!check.valid) {
|
|
34
|
-
const error = check.error;
|
|
35
|
-
diagnostics.error(celDiagnosticCode(error), `Invalid CEL expression: ${errorMessage(error)}`, path);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
const { references, parseError } = extractReferences(source);
|
|
39
|
-
if (parseError) {
|
|
40
|
-
diagnostics.error("EXPR_PARSE", `Invalid CEL expression: ${parseError}`, path);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
const stepReferences = [];
|
|
44
|
-
for (const ref of references) {
|
|
45
|
-
if (ref.root === "steps") {
|
|
46
|
-
const first = ref.segments[0];
|
|
47
|
-
if (first && first.kind === "field") {
|
|
48
|
-
stepReferences.push(first.name);
|
|
49
|
-
if (!knownStepIds.has(first.name)) {
|
|
50
|
-
diagnostics.error("EXPR_UNKNOWN_STEP", `Expression references unknown step '${first.name}'.`, path);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
expressions.push({
|
|
56
|
-
id: `expr_${expressions.length + 1}`,
|
|
57
|
-
source,
|
|
58
|
-
path,
|
|
59
|
-
references: stepReferences
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
function visit(value, path) {
|
|
63
|
-
if (typeof value === "string") {
|
|
64
|
-
collectFromString(value, path);
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
if (Array.isArray(value)) {
|
|
68
|
-
value.forEach((item, index) => visit(item, `${path}[${index}]`));
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
if (isRecord(value)) {
|
|
72
|
-
for (const [key, child] of Object.entries(value)) {
|
|
73
|
-
visit(child, `${path}.${key}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return { expressions, visit };
|
|
78
|
-
}
|
|
79
|
-
function isRecord(value) {
|
|
80
|
-
return typeof value === "object" && value !== null;
|
|
81
|
-
}
|
|
82
|
-
function celDiagnosticCode(error) {
|
|
83
|
-
if (isCelError(error, "ParseError"))
|
|
84
|
-
return "EXPR_PARSE";
|
|
85
|
-
if (isCelError(error, "TypeError") && error.code === "unknown_variable")
|
|
86
|
-
return "EXPR_UNKNOWN_ROOT";
|
|
87
|
-
return "EXPR_CEL";
|
|
88
|
-
}
|
|
89
|
-
function isCelError(error, name) {
|
|
90
|
-
return typeof error === "object" && error !== null && error.name === name;
|
|
91
|
-
}
|
|
92
|
-
function errorMessage(error) {
|
|
93
|
-
return error instanceof Error ? error.message : String(error);
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=expressions.js.map
|
package/dist/expressions.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
|
package/dist/hash.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { IrNode } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Compute a stable canonical hash of an IR Node, including its full subtree.
|
|
4
|
-
*
|
|
5
|
-
* Two Nodes with equal Node Key and equal Node Definition Hash are treated as
|
|
6
|
-
* the same Node across Runs by the Forked Run inheritance rule (ADR-0007). The
|
|
7
|
-
* hash MUST be stable across re-compiles of the same source IR; it MUST change
|
|
8
|
-
* when any compiled IR field of the Node or any of its descendants differs.
|
|
9
|
-
*
|
|
10
|
-
* The hash explicitly excludes `id`, `nodePath`, and `keyTemplate` because Node
|
|
11
|
-
* Key already carries that identity; including them would tautologically force
|
|
12
|
-
* two structurally identical Nodes to mismatch only because they live under
|
|
13
|
-
* different parent paths.
|
|
14
|
-
*/
|
|
15
|
-
export interface IrNodeHashOptions {
|
|
16
|
-
workflow?: unknown;
|
|
17
|
-
}
|
|
18
|
-
export declare function hashIrNode(node: IrNode, options?: IrNodeHashOptions): string;
|
|
19
|
-
//# sourceMappingURL=hash.d.ts.map
|
package/dist/hash.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,MAAM,EAAE,MAAM,YAAY,CAAC;AAInD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAEhF"}
|
package/dist/hash.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
|
-
import { extractReferences } from "./cel-ast.js";
|
|
3
|
-
import { EXPRESSION_PATTERN, rawCelFieldName } from "./expressions-shared.js";
|
|
4
|
-
export function hashIrNode(node, options = {}) {
|
|
5
|
-
return sha256(JSON.stringify(canonicalize(nodeShape(node, options))));
|
|
6
|
-
}
|
|
7
|
-
function nodeShape(node, options) {
|
|
8
|
-
const shape = {
|
|
9
|
-
kind: node.kind,
|
|
10
|
-
metadata: node.metadata
|
|
11
|
-
};
|
|
12
|
-
if (options.workflow && nodeReferencesWorkflow(node))
|
|
13
|
-
shape.workflow = options.workflow;
|
|
14
|
-
if (node.outputMerge)
|
|
15
|
-
shape.outputMerge = node.outputMerge;
|
|
16
|
-
if (node.children && node.children.length > 0)
|
|
17
|
-
shape.children = node.children.map((child) => nodeShape(child, options));
|
|
18
|
-
if (node.branches && node.branches.length > 0)
|
|
19
|
-
shape.branches = node.branches.map((branch) => branchShape(branch, options));
|
|
20
|
-
return shape;
|
|
21
|
-
}
|
|
22
|
-
function branchShape(branch, options) {
|
|
23
|
-
return {
|
|
24
|
-
id: branch.id,
|
|
25
|
-
when: branch.when,
|
|
26
|
-
child: nodeShape(branch.child, options)
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function nodeReferencesWorkflow(node) {
|
|
30
|
-
if (metadataReferencesWorkflow(node.kind, node.metadata))
|
|
31
|
-
return true;
|
|
32
|
-
if (node.branches?.some((branch) => rawCelReferencesWorkflow(branch.when) || nodeReferencesWorkflow(branch.child)))
|
|
33
|
-
return true;
|
|
34
|
-
return node.children?.some(nodeReferencesWorkflow) ?? false;
|
|
35
|
-
}
|
|
36
|
-
function metadataReferencesWorkflow(kind, metadata) {
|
|
37
|
-
for (const [key, value] of Object.entries(metadata)) {
|
|
38
|
-
if (typeof value === "string") {
|
|
39
|
-
if (templateReferencesWorkflow(value))
|
|
40
|
-
return true;
|
|
41
|
-
if (isRawCelField(kind, key) && rawCelReferencesWorkflow(value))
|
|
42
|
-
return true;
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
if (Array.isArray(value)) {
|
|
46
|
-
if (value.some((item) => valueReferencesWorkflow(item)))
|
|
47
|
-
return true;
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
if (value && typeof value === "object") {
|
|
51
|
-
if (valueReferencesWorkflow(value))
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
function valueReferencesWorkflow(value) {
|
|
58
|
-
if (typeof value === "string")
|
|
59
|
-
return templateReferencesWorkflow(value);
|
|
60
|
-
if (Array.isArray(value))
|
|
61
|
-
return value.some(valueReferencesWorkflow);
|
|
62
|
-
if (value && typeof value === "object")
|
|
63
|
-
return Object.values(value).some(valueReferencesWorkflow);
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
function templateReferencesWorkflow(value) {
|
|
67
|
-
for (const match of value.matchAll(EXPRESSION_PATTERN)) {
|
|
68
|
-
if (expressionReferencesWorkflow(match[1]?.trim() ?? ""))
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
EXPRESSION_PATTERN.lastIndex = 0;
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
function rawCelReferencesWorkflow(value) {
|
|
75
|
-
if (typeof value !== "string")
|
|
76
|
-
return false;
|
|
77
|
-
if (EXPRESSION_PATTERN.test(value)) {
|
|
78
|
-
EXPRESSION_PATTERN.lastIndex = 0;
|
|
79
|
-
return templateReferencesWorkflow(value);
|
|
80
|
-
}
|
|
81
|
-
EXPRESSION_PATTERN.lastIndex = 0;
|
|
82
|
-
return expressionReferencesWorkflow(value.trim());
|
|
83
|
-
}
|
|
84
|
-
function expressionReferencesWorkflow(source) {
|
|
85
|
-
if (!source)
|
|
86
|
-
return false;
|
|
87
|
-
const { references, parseError } = extractReferences(source);
|
|
88
|
-
if (parseError)
|
|
89
|
-
return false;
|
|
90
|
-
return references.some((ref) => ref.root === "workflow");
|
|
91
|
-
}
|
|
92
|
-
function isRawCelField(kind, key) {
|
|
93
|
-
const fieldName = rawCelFieldName(key);
|
|
94
|
-
return (kind === "fanout" && fieldName === "over")
|
|
95
|
-
|| (kind === "loop" && fieldName === "until")
|
|
96
|
-
|| (kind === "guard" && fieldName === "when");
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Recursively sort object keys so JSON.stringify is canonical regardless of
|
|
100
|
-
* source insertion order. Arrays are preserved in order (semantic).
|
|
101
|
-
*/
|
|
102
|
-
function canonicalize(value) {
|
|
103
|
-
if (Array.isArray(value))
|
|
104
|
-
return value.map(canonicalize);
|
|
105
|
-
if (value && typeof value === "object") {
|
|
106
|
-
const entries = Object.entries(value)
|
|
107
|
-
.filter(([, v]) => v !== undefined)
|
|
108
|
-
.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
|
|
109
|
-
.map(([k, v]) => [k, canonicalize(v)]);
|
|
110
|
-
const out = {};
|
|
111
|
-
for (const [k, v] of entries)
|
|
112
|
-
out[k] = v;
|
|
113
|
-
return out;
|
|
114
|
-
}
|
|
115
|
-
return value;
|
|
116
|
-
}
|
|
117
|
-
function sha256(content) {
|
|
118
|
-
return `sha256:${createHash("sha256").update(content).digest("hex")}`;
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=hash.js.map
|
package/dist/hash.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export interface HookValidationIssue {
|
|
2
|
-
group?: "injectors" | "events";
|
|
3
|
-
hookName?: string;
|
|
4
|
-
handlerIndex?: number;
|
|
5
|
-
path?: string;
|
|
6
|
-
message: string;
|
|
7
|
-
}
|
|
8
|
-
export declare function validateHookConfigShape(config: unknown): HookValidationIssue[];
|
|
9
|
-
//# sourceMappingURL=hook-validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-validation.d.ts","sourceRoot":"","sources":["../src/hook-validation.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,EAAE,CAS9E"}
|
package/dist/hook-validation.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { EVENT_NAMES, INJECTOR_NAMES } from "./hooks.js";
|
|
2
|
-
export function validateHookConfigShape(config) {
|
|
3
|
-
if (!config || typeof config !== "object" || Array.isArray(config)) {
|
|
4
|
-
return [{ path: "", message: "hook config must be an object" }];
|
|
5
|
-
}
|
|
6
|
-
const hookConfig = config;
|
|
7
|
-
return [
|
|
8
|
-
...validateHookGroup(hookConfig.injectors, "injectors", INJECTOR_NAMES),
|
|
9
|
-
...validateHookGroup(hookConfig.events, "events", EVENT_NAMES)
|
|
10
|
-
];
|
|
11
|
-
}
|
|
12
|
-
function validateHookGroup(group, groupName, allowedNames) {
|
|
13
|
-
const issues = [];
|
|
14
|
-
for (const [hookName, handlers] of Object.entries(group ?? {})) {
|
|
15
|
-
if (!allowedNames.includes(hookName)) {
|
|
16
|
-
issues.push({ group: groupName, hookName, path: `${groupName}.${hookName}`, message: `unknown hook name '${hookName}' in ${groupName}` });
|
|
17
|
-
}
|
|
18
|
-
if (!Array.isArray(handlers)) {
|
|
19
|
-
issues.push({ group: groupName, hookName, path: `${groupName}.${hookName}`, message: "must be an array" });
|
|
20
|
-
continue;
|
|
21
|
-
}
|
|
22
|
-
handlers.forEach((handler, handlerIndex) => {
|
|
23
|
-
for (const message of validateHookHandler(handler, groupName)) {
|
|
24
|
-
issues.push({ group: groupName, hookName, handlerIndex, path: `${groupName}.${hookName}[${handlerIndex}]`, message });
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
return issues;
|
|
29
|
-
}
|
|
30
|
-
function validateHookHandler(handler, groupName) {
|
|
31
|
-
if (!handler || typeof handler !== "object") {
|
|
32
|
-
return ["handler must be an object"];
|
|
33
|
-
}
|
|
34
|
-
const h = handler;
|
|
35
|
-
const errors = [];
|
|
36
|
-
const allowedFields = groupName === "injectors"
|
|
37
|
-
? new Set(["command", "timeout", "env", "cwd", "on_failure"])
|
|
38
|
-
: new Set(["command", "timeout", "env", "cwd", "sync"]);
|
|
39
|
-
for (const field of Object.keys(h)) {
|
|
40
|
-
if (!allowedFields.has(field))
|
|
41
|
-
errors.push(`${field} is not supported`);
|
|
42
|
-
}
|
|
43
|
-
if (typeof h.command !== "string" || h.command.length === 0) {
|
|
44
|
-
errors.push("command must be a non-empty string");
|
|
45
|
-
}
|
|
46
|
-
if (h.timeout !== undefined && typeof h.timeout !== "string")
|
|
47
|
-
errors.push("timeout must be a string");
|
|
48
|
-
if (h.cwd !== undefined && typeof h.cwd !== "string")
|
|
49
|
-
errors.push("cwd must be a string");
|
|
50
|
-
if (h.env !== undefined && !isStringRecord(h.env))
|
|
51
|
-
errors.push("env must be a string map");
|
|
52
|
-
if (groupName === "injectors") {
|
|
53
|
-
if (h.on_failure !== undefined && h.on_failure !== "fail" && h.on_failure !== "skip") {
|
|
54
|
-
errors.push(`on_failure must be "fail" or "skip"`);
|
|
55
|
-
}
|
|
56
|
-
if (h.sync !== undefined)
|
|
57
|
-
errors.push("sync is supported only on event handlers");
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
if (h.on_failure !== undefined)
|
|
61
|
-
errors.push("on_failure is supported only on injector handlers");
|
|
62
|
-
if (h.sync !== undefined && typeof h.sync !== "boolean")
|
|
63
|
-
errors.push("sync must be boolean");
|
|
64
|
-
}
|
|
65
|
-
return errors;
|
|
66
|
-
}
|
|
67
|
-
function isStringRecord(value) {
|
|
68
|
-
return Boolean(value)
|
|
69
|
-
&& typeof value === "object"
|
|
70
|
-
&& !Array.isArray(value)
|
|
71
|
-
&& Object.values(value).every((v) => typeof v === "string");
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=hook-validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-validation.js","sourceRoot":"","sources":["../src/hook-validation.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.d.ts
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
/** Injector hook names (synchronous, blocking, pure context injection). */
|
|
2
|
-
export type InjectorName = "beforeAgentExec" | "beforeProgramExec";
|
|
3
|
-
/** Event hook names (asynchronous observation, never adjudicate). */
|
|
4
|
-
export type EventName = "beforeRun" | "afterRun" | "onNodeStart" | "onNodeComplete" | "onNodeError" | "onNodePaused" | "onNodeCancelled" | "onStateChange";
|
|
5
|
-
export declare const INJECTOR_NAMES: readonly InjectorName[];
|
|
6
|
-
export declare const EVENT_NAMES: readonly EventName[];
|
|
7
|
-
/** Behavior when an injector handler times out, exits non-zero, or fails to parse. */
|
|
8
|
-
export type HookOnFailure = "fail" | "skip";
|
|
9
|
-
/** Fields common to every command handler. */
|
|
10
|
-
export interface HookHandlerBase {
|
|
11
|
-
/** Duration string (e.g. "5s"); defaults: injectors 5s, events 30s. */
|
|
12
|
-
timeout?: string;
|
|
13
|
-
/** Shell-form command executed for this handler. */
|
|
14
|
-
command: string;
|
|
15
|
-
/** Extra environment variables for the handler process. */
|
|
16
|
-
env?: Record<string, string>;
|
|
17
|
-
/** Working directory; defaults to the process working directory. */
|
|
18
|
-
cwd?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface InjectorHookHandler extends HookHandlerBase {
|
|
21
|
-
/** Failure policy. Default "fail". */
|
|
22
|
-
on_failure?: HookOnFailure;
|
|
23
|
-
}
|
|
24
|
-
export interface EventHookHandler extends HookHandlerBase {
|
|
25
|
-
/** If true, wait for the event handler before continuing. Default false. */
|
|
26
|
-
sync?: boolean;
|
|
27
|
-
}
|
|
28
|
-
export type HookHandler = InjectorHookHandler | EventHookHandler;
|
|
29
|
-
/** A full hook configuration as authored in hooks.yaml. */
|
|
30
|
-
export interface HookConfig {
|
|
31
|
-
injectors?: Partial<Record<InjectorName, InjectorHookHandler[]>>;
|
|
32
|
-
events?: Partial<Record<EventName, EventHookHandler[]>>;
|
|
33
|
-
}
|
|
34
|
-
/** Frozen, merged configuration snapshot persisted per Run. */
|
|
35
|
-
export interface HookConfigSnapshot {
|
|
36
|
-
/** "sha256:..." over the canonical merged configuration JSON. */
|
|
37
|
-
hash: string;
|
|
38
|
-
/** Absolute global config path (when it contributed). */
|
|
39
|
-
globalConfigPath?: string;
|
|
40
|
-
/** Absolute project config path (when it contributed). */
|
|
41
|
-
projectConfigPath?: string;
|
|
42
|
-
mergedConfig: HookConfig;
|
|
43
|
-
}
|
|
44
|
-
/** JSON payload handed to every handler on stdin. */
|
|
45
|
-
export interface HookPayload {
|
|
46
|
-
hook_event_name: string;
|
|
47
|
-
run_id: string;
|
|
48
|
-
workflow_name: string;
|
|
49
|
-
workflow_source_path: string;
|
|
50
|
-
workflow_source_dir: string;
|
|
51
|
-
cwd: string;
|
|
52
|
-
timestamp: string;
|
|
53
|
-
node_key?: string;
|
|
54
|
-
node_id?: string;
|
|
55
|
-
node_kind?: string;
|
|
56
|
-
node_attempt?: number;
|
|
57
|
-
parent_node_key?: string;
|
|
58
|
-
parent_node_kind?: string;
|
|
59
|
-
loop_round?: number;
|
|
60
|
-
fanout_item_id?: string;
|
|
61
|
-
fanout_item_index?: number;
|
|
62
|
-
parallel_lane_id?: string;
|
|
63
|
-
from_state?: string;
|
|
64
|
-
to_state?: string;
|
|
65
|
-
error?: string;
|
|
66
|
-
failure_kind?: string;
|
|
67
|
-
output?: unknown;
|
|
68
|
-
duration_ms?: number;
|
|
69
|
-
agent_use?: string;
|
|
70
|
-
agent_model?: string;
|
|
71
|
-
agent_type?: string;
|
|
72
|
-
agent_policy?: string;
|
|
73
|
-
prompt?: string;
|
|
74
|
-
session_key?: string;
|
|
75
|
-
is_continuation?: boolean;
|
|
76
|
-
is_retry?: boolean;
|
|
77
|
-
agent_exit_code?: number;
|
|
78
|
-
agent_response_text?: string;
|
|
79
|
-
agent_telemetry?: HookAgentTelemetry;
|
|
80
|
-
command?: string;
|
|
81
|
-
shell?: boolean;
|
|
82
|
-
subprocess_env?: Record<string, string>;
|
|
83
|
-
exit_code?: number;
|
|
84
|
-
stdout?: string;
|
|
85
|
-
stderr?: string;
|
|
86
|
-
input?: Record<string, unknown>;
|
|
87
|
-
run_status?: string;
|
|
88
|
-
run_attempt?: number;
|
|
89
|
-
ir_digest?: string;
|
|
90
|
-
join_strategy?: string;
|
|
91
|
-
max_concurrency?: number;
|
|
92
|
-
items_count?: number;
|
|
93
|
-
successful_lanes?: number;
|
|
94
|
-
failed_lanes?: number;
|
|
95
|
-
max_iterations?: number;
|
|
96
|
-
iterations_completed?: number;
|
|
97
|
-
subworkflow_spec_path?: string;
|
|
98
|
-
subworkflow_name?: string;
|
|
99
|
-
signal_timeout?: string;
|
|
100
|
-
signal_on_timeout?: string;
|
|
101
|
-
}
|
|
102
|
-
/** Compact Agent telemetry exposed to Agent node event handlers. */
|
|
103
|
-
export interface HookAgentTelemetry {
|
|
104
|
-
attempt: number;
|
|
105
|
-
state: "running" | "completed" | "failed" | "paused" | "cancelled";
|
|
106
|
-
updated_at: string;
|
|
107
|
-
completed_at?: string;
|
|
108
|
-
context?: {
|
|
109
|
-
used: number;
|
|
110
|
-
size: number;
|
|
111
|
-
updated_at: string;
|
|
112
|
-
};
|
|
113
|
-
token_usage?: {
|
|
114
|
-
source: "prompt_response";
|
|
115
|
-
input_tokens?: number;
|
|
116
|
-
output_tokens?: number;
|
|
117
|
-
cached_read_tokens?: number;
|
|
118
|
-
cached_write_tokens?: number;
|
|
119
|
-
thought_tokens?: number;
|
|
120
|
-
total_tokens?: number;
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
/** Value a beforeAgentExec injector handler may return to influence execution. */
|
|
124
|
-
export interface AgentInjectorResult {
|
|
125
|
-
/** Prepended to the rendered Agent prompt before the executor call. */
|
|
126
|
-
prependPrompt?: string;
|
|
127
|
-
}
|
|
128
|
-
/** Value a beforeProgramExec injector handler may return to influence execution. */
|
|
129
|
-
export interface ProgramInjectorResult {
|
|
130
|
-
/** Merged into the Program subprocess environment. */
|
|
131
|
-
env?: Record<string, string>;
|
|
132
|
-
}
|
|
133
|
-
/** Value an injector handler may return to influence execution. */
|
|
134
|
-
export type InjectorResult = AgentInjectorResult | ProgramInjectorResult;
|
|
135
|
-
/** One append-only journal record per injector handler invocation. */
|
|
136
|
-
export interface HookJournalEntry {
|
|
137
|
-
sequence: number;
|
|
138
|
-
node_key: string;
|
|
139
|
-
injector: InjectorName;
|
|
140
|
-
handler_index: number;
|
|
141
|
-
node_attempt: number;
|
|
142
|
-
is_retry: boolean;
|
|
143
|
-
/** Full prompt prefix injected (Agent injectors only; null when none). */
|
|
144
|
-
prepend_prompt: string | null;
|
|
145
|
-
/** Full resolved env injected (null when none). */
|
|
146
|
-
env: Record<string, string> | null;
|
|
147
|
-
timestamp: string;
|
|
148
|
-
duration_ms: number;
|
|
149
|
-
}
|
|
150
|
-
//# sourceMappingURL=hooks.d.ts.map
|
package/dist/hooks.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// Acpus Hook System — shared type definitions.
|
|
2
|
-
//
|
|
3
|
-
// Hooks are a runtime platform-layer capability, independent of any Workflow
|
|
4
|
-
// Spec. They inject external context before Agent/Program execution (injectors)
|
|
5
|
-
// and observe Run/Node lifecycle changes (events). These types are shared
|
|
6
|
-
// between the runtime (loader/runner/journal/interpreter) and the CLI.
|
|
7
|
-
export const INJECTOR_NAMES = ["beforeAgentExec", "beforeProgramExec"];
|
|
8
|
-
export const EVENT_NAMES = [
|
|
9
|
-
"beforeRun",
|
|
10
|
-
"afterRun",
|
|
11
|
-
"onNodeStart",
|
|
12
|
-
"onNodeComplete",
|
|
13
|
-
"onNodeError",
|
|
14
|
-
"onNodePaused",
|
|
15
|
-
"onNodeCancelled",
|
|
16
|
-
"onStateChange"
|
|
17
|
-
];
|
|
18
|
-
//# sourceMappingURL=hooks.js.map
|
package/dist/hooks.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,0EAA0E;AAC1E,uEAAuE;AAgBvE,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C,WAAW;IACX,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,eAAe;CAChB,CAAC"}
|
package/dist/schedule.d.ts
DELETED
package/dist/schedule.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAwB,eAAe,EAAE,MAAM,YAAY,CAAC;AAEjF,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,eAAe,CAK3D"}
|
package/dist/schedule.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export function createSchedule(ir) {
|
|
2
|
-
return {
|
|
3
|
-
workflow: ir.name,
|
|
4
|
-
nodes: ir.root.children?.map(toScheduleNode) ?? []
|
|
5
|
-
};
|
|
6
|
-
}
|
|
7
|
-
function toScheduleNode(node) {
|
|
8
|
-
return {
|
|
9
|
-
id: node.id,
|
|
10
|
-
kind: node.kind,
|
|
11
|
-
nodePath: node.nodePath.join("/"),
|
|
12
|
-
outputMerge: node.outputMerge,
|
|
13
|
-
children: node.children?.map(toScheduleNode),
|
|
14
|
-
branches: node.branches?.map((branch) => ({
|
|
15
|
-
id: branch.id,
|
|
16
|
-
when: branch.when,
|
|
17
|
-
children: [toScheduleNode(branch.child)]
|
|
18
|
-
}))
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=schedule.js.map
|
package/dist/schedule.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schedule.js","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,EAAW;IACxC,OAAO;QACL,QAAQ,EAAE,EAAE,CAAC,IAAI;QACjB,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC;QAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACxC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACzC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
|
package/dist/schema/dsl.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Acpus recursive schema DSL compiler.
|
|
3
|
-
*
|
|
4
|
-
* User-facing YAML examples:
|
|
5
|
-
*
|
|
6
|
-
* ok: boolean
|
|
7
|
-
* summary?: string
|
|
8
|
-
* issues:
|
|
9
|
-
* - description: string
|
|
10
|
-
* severity?: string
|
|
11
|
-
* metadata:
|
|
12
|
-
* title: string
|
|
13
|
-
*
|
|
14
|
-
* The compiler emits JSON Schema for IR/runtime validation. The user-facing
|
|
15
|
-
* DSL is intentionally smaller than JSON Schema and rejects unsupported
|
|
16
|
-
* object-form schema keys rather than silently ignoring them.
|
|
17
|
-
*/
|
|
18
|
-
export interface SchemaDslError {
|
|
19
|
-
field: string;
|
|
20
|
-
message: string;
|
|
21
|
-
}
|
|
22
|
-
export interface CompileSchemaDslResult {
|
|
23
|
-
schema: Record<string, unknown>;
|
|
24
|
-
errors: SchemaDslError[];
|
|
25
|
-
}
|
|
26
|
-
export interface CompileSchemaDslOptions {
|
|
27
|
-
/** When true, emitted object schemas include additionalProperties: false. Default: true. */
|
|
28
|
-
strictObjectKeys?: boolean;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Compile an Acpus recursive schema DSL map into JSON Schema.
|
|
32
|
-
*/
|
|
33
|
-
export declare function compileSchemaDsl(schemaDsl: Record<string, unknown>, options?: CompileSchemaDslOptions): CompileSchemaDslResult;
|
|
34
|
-
//# sourceMappingURL=dsl.d.ts.map
|
package/dist/schema/dsl.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../src/schema/dsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAUH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,4FAA4F;IAC5F,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAWD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,sBAAsB,CAG9H"}
|