Implement the v1 workflow IR contract in core with validation, serialization, and coverage. - add workflow IR type definitions, parser, serializer, and structured validation errors in @fusion/core - export workflow IR APIs from core index and add comprehensive unit tests for valid/invalid shapes and metadata parsing - document the workflow IR contract in workflow step docs and include release tracking via changesets, including plugin-sdk DOM lib prerequisite for Windows compilation Files changed: .changeset/fn-5761-workflow-ir-contract.md | 5 + .changeset/windows-release-plugin-sdk-dom-lib.md | 5 + docs/workflow-steps.md | 24 +++ packages/core/src/__tests__/workflow-ir.test.ts | 70 +++++++ packages/core/src/index.ts | 15 ++ packages/core/src/workflow-ir-types.ts | 103 ++++++++++ packages/core/src/workflow-ir.ts | 244 +++++++++++++++++++++++ packages/plugin-sdk/tsconfig.json | 7 +- 8 files changed, 472 insertions(+), 1 deletion(-) Fusion-Task-Id: FN-5761 Fusion-Task-Lineage: 2cd5491e-89c8-418c-a913-76d0c13b466c
26 lines
883 B
JSON
26 lines
883 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2022",
|
|
"module": "NodeNext",
|
|
"moduleResolution": "NodeNext",
|
|
// DOM is required because @fusion/core exports its types as raw src/*.ts
|
|
// (exports."." -> ./src/index.ts), so this project recompiles core's source
|
|
// here. Core relies on the DOM lib (default lib via tsconfig.base) for the
|
|
// global fetch `Response` type (.ok/.status/.json); without DOM those
|
|
// members resolve inconsistently across platforms (Windows CI build failed).
|
|
"lib": ["ES2022", "DOM"],
|
|
"types": ["node"],
|
|
"outDir": "dist",
|
|
"rootDir": "src",
|
|
"declaration": true,
|
|
"declarationMap": true,
|
|
"sourceMap": true,
|
|
"skipLibCheck": true,
|
|
"strict": true,
|
|
"esModuleInterop": true,
|
|
"allowSyntheticDefaultImports": true
|
|
},
|
|
"include": ["src/**/*"],
|
|
"exclude": ["src/**/*.test.ts", "**/__tests__/**"]
|
|
}
|