Skip to content

feat: Bump SDK to Alpha-8 and Implement schema filter in the editor - #361

Open
handreyrc wants to merge 9 commits into
open-workflow-specification:feature/node-editingfrom
handreyrc:bump-sdk-filter-schema
Open

feat: Bump SDK to Alpha-8 and Implement schema filter in the editor#361
handreyrc wants to merge 9 commits into
open-workflow-specification:feature/node-editingfrom
handreyrc:bump-sdk-filter-schema

Conversation

@handreyrc

@handreyrc handreyrc commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Closes: #357

Summary

Bump SDK to Alpha-8 so the schema can be imported straight from the SDK.
Add schema filter capabilities to cherry-pick a definition and merge any external dependencies into a fully formed scoped schema.

Changes

  • Bump SDK to Alpha-8
    • Updated serialization without validation to be consumed from the SDK
    • Fixed tests
  • Added filterSchema function to filter definitions and sub-definitions
    • Added Filter Schema story
    • Merge external definitions props after target definition props.
    • Added unit tests

Testing

The output of the function getSchemaForDefinition can be tested and validated from the story "Schema Filter".

dependabot Bot and others added 6 commits August 25, 2026 18:54
…-specification#340)

Bumps the all-actions group with 3 updates: [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/analyze](https://github.com/github/codeql-action) and [changesets/action](https://github.com/changesets/action).


Updates `github/codeql-action/init` from 4.37.6 to 4.37.7
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@5595cca...ff2f1c6)

Updates `github/codeql-action/analyze` from 4.37.6 to 4.37.7
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@5595cca...ff2f1c6)

Updates `changesets/action` from 1.9.0 to 2.1.0
- [Release notes](https://github.com/changesets/action/releases)
- [Changelog](https://github.com/changesets/action/blob/main/CHANGELOG.md)
- [Commits](changesets/action@a45c4d5...198f833)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-actions
- dependency-name: changesets/action
  dependency-version: 2.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…rkflow-specification#339)

Bumps the all-dependencies group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [@changesets/changelog-github](https://github.com/changesets/changesets/tree/HEAD/packages/changelog-github) | `0.7.0` | `1.0.0` |
| [@changesets/cli](https://github.com/changesets/changesets/tree/HEAD/packages/cli) | `2.31.1` | `3.0.0` |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `10.5.7` | `10.5.8` |
| [@storybook/addon-docs](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/docs) | `10.5.7` | `10.5.8` |
| [@storybook/addon-vitest](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/vitest) | `10.5.7` | `10.5.8` |
| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `10.5.7` | `10.5.8` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `12.20.55` | `26.2.0` |
| [@xyflow/react](https://github.com/xyflow/xyflow/tree/HEAD/packages/react) | `12.11.2` | `12.11.3` |
| [js-yaml](https://github.com/nodeca/js-yaml) | `3.15.0` | `5.2.3` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.62.0` | `0.63.0` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/core) | `10.5.7` | `10.5.8` |


Updates `@changesets/changelog-github` from 0.7.0 to 1.0.0
- [Release notes](https://github.com/changesets/changesets/releases)
- [Changelog](https://github.com/changesets/changesets/blob/main/packages/changelog-github/CHANGELOG.md)
- [Commits](https://github.com/changesets/changesets/commits/@changesets/changelog-github@1.0.0/packages/changelog-github)

Updates `@changesets/cli` from 2.31.1 to 3.0.0
- [Release notes](https://github.com/changesets/changesets/releases)
- [Changelog](https://github.com/changesets/changesets/blob/main/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/changesets/changesets/commits/@changesets/cli@3.0.0/packages/cli)

Updates `@storybook/addon-a11y` from 10.5.7 to 10.5.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v10.5.8/code/addons/a11y)

Updates `@storybook/addon-docs` from 10.5.7 to 10.5.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v10.5.8/code/addons/docs)

Updates `@storybook/addon-vitest` from 10.5.7 to 10.5.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v10.5.8/code/addons/vitest)

Updates `@storybook/react-vite` from 10.5.7 to 10.5.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v10.5.8/code/frameworks/react-vite)

Updates `@types/node` from 12.20.55 to 26.2.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@xyflow/react` from 12.11.2 to 12.11.3
- [Release notes](https://github.com/xyflow/xyflow/releases)
- [Changelog](https://github.com/xyflow/xyflow/blob/main/packages/react/CHANGELOG.md)
- [Commits](https://github.com/xyflow/xyflow/commits/@xyflow/react@12.11.3/packages/react)

Updates `js-yaml` from 3.15.0 to 5.2.3
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](nodeca/js-yaml@3.15.0...5.2.3)

Updates `oxfmt` from 0.62.0 to 0.63.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.63.0/npm/oxfmt)

Updates `storybook` from 10.5.7 to 10.5.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v10.5.8/code/core)

---
updated-dependencies:
- dependency-name: "@changesets/changelog-github"
  dependency-version: 1.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: "@changesets/cli"
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: "@storybook/addon-a11y"
  dependency-version: 10.5.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: "@storybook/addon-docs"
  dependency-version: 10.5.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: "@storybook/addon-vitest"
  dependency-version: 10.5.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: "@storybook/react-vite"
  dependency-version: 10.5.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: "@xyflow/react"
  dependency-version: 12.11.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: js-yaml
  dependency-version: 5.2.3
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: oxfmt
  dependency-version: 0.63.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-dependencies
- dependency-name: storybook
  dependency-version: 10.5.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: lornakelly <lornakelly88@gmail.com>
…ph() returns a valid graph when root do[] has no tasks

Signed-off-by: handreyrc <handrey.cunha@gmail.com>
Signed-off-by: handreyrc <handrey.cunha@gmail.com>
Signed-off-by: handreyrc <handrey.cunha@gmail.com>
@netlify

netlify Bot commented Aug 26, 2026

Copy link
Copy Markdown

Deploy Preview for openworkflow-editor ready!

Name Link
🔨 Latest commit 4ef63f7
🔍 Latest deploy log https://app.netlify.com/projects/openworkflow-editor/deploys/6a9032d502dce10008866a6c
😎 Deploy Preview https://deploy-preview-361--openworkflow-editor.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the editor to SDK Alpha-8 and adds a schema-filtering utility that can extract a single $defs definition as a self-contained schema (flattening allOf and bundling transitive $ref dependencies). It also adds Storybook + tests to validate and explore the filtered schema output.

Changes:

  • Bumped @openworkflowspec/sdk to ^1.0.3-alpha8 and updated workflow serialization to use the SDK serializer with validate: false.
  • Added getSchemaForDefinition / getReferencedDefinitions schema filtering utilities with caching, transitive $defs bundling, and a Storybook “Schema Filter” story.
  • Added/updated Vitest tests covering schema filtering and updated graph-building expectations for empty workflows.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pnpm-workspace.yaml Updates catalog versions (SDK alpha-8, changesets/storybook bumps) and adds allof-merge.
pnpm-lock.yaml Lockfile updates reflecting the dependency bumps/additions.
packages/open-workflow-diagram-editor/tests/core/workflowSdk.integration.test.ts Updates integration test expectations for SDK behavior on empty-task workflows.
packages/open-workflow-diagram-editor/tests/core/filterSchema.test.ts Adds unit tests for schema filtering, flattening, and $defs bundling behavior.
packages/open-workflow-diagram-editor/stories/features/SchemaFilter.stories.tsx Adds a Storybook UI to interactively resolve and inspect filtered schemas.
packages/open-workflow-diagram-editor/src/core/workflowSdk.ts Switches serialization to SDK serializer with validation disabled.
packages/open-workflow-diagram-editor/src/core/schemaFilter.ts Implements schema merge/filter utilities, caching, and $defs bundling logic.
packages/open-workflow-diagram-editor/package.json Adds allof-merge dependency required by schema filtering.
.github/workflows/publish-release.yaml Updates pinned changesets/action to v2.1.0.
.github/workflows/prepare-release.yaml Updates pinned changesets/action to v2.1.0.
.github/workflows/ci_codeql.yml Updates pinned CodeQL action to v4.37.7.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/open-workflow-diagram-editor/stories/features/SchemaFilter.stories.tsx Outdated
Comment thread packages/open-workflow-diagram-editor/src/core/schemaFilter.ts
Signed-off-by: handreyrc <handrey.cunha@gmail.com>
Signed-off-by: handreyrc <handrey.cunha@gmail.com>

@fantonangeli fantonangeli left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @handreyrc 2 small comments

Signed-off-by: handreyrc <handrey.cunha@gmail.com>
@handreyrc
handreyrc requested a review from fantonangeli August 27, 2026 13:00

@fantonangeli fantonangeli left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants