Skip to content

feat(workflows): resolve workflow tool packages from declared npm dependencies - #1342

Closed
TheGreatAxios wants to merge 2 commits into
mainfrom
cl-4473-workflow-tool-packages-npm-deps
Closed

TheGreatAxios wants to merge 2 commits into
mainfrom
cl-4473-workflow-tool-packages-npm-deps

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

First slice of CL-4473: workflows declare tool packages as npm dependencies, and resolveWorkflowToolPackages resolves those declarations against the workflow package's laid-out node_modules/ tree, returning each tool package's name, version, directory, and interchange.tools entry. Dependency-vs-installed mismatches (missing installs, undeclared packages, renamed directories, tool-entry path escapes) surface as typed errors. Full closure materialization from the graph stays open.

Verification

  • bun test src/workflows/: 63 pass, 0 fail (9 new in tool-packages.test.ts).
  • bunx oxfmt --check on touched files: clean; bunx oxlint: 0 warnings, 0 errors.
  • Targeted tsc on the new module: no errors.
  • Full bun run check does not pass on this tree: tsc --noEmit, dead-exports, and build all fail on sibling in-flight agent-extraction state (src/agent/directors/registry.ts imports the deleted ./reviewer/package.js; dead-export reviewerPackage in agents/reviewer/), untouched by this change.

Related

Part of CL-4473

@linear-code

linear-code Bot commented Oct 5, 2026

Copy link
Copy Markdown

CL-4473

…npm-name gate

Realpath containment mirrors vendor workflow-definition-loader: rejects interchange.tools escapes through file or directory symlinks. Gate dep names with ToolPackagePinName so keys like ../../evil cannot escape node_modules. Adds 3 regression tests.
@TheGreatAxios

Copy link
Copy Markdown
Collaborator Author

Closing and canceling CL-4473: superseded by the hub-package-registry provisioning direction (CL-10430) — npm-deps resolution is the wrong foundation now, and this branch's static-analysis check is red. Work is being tracked/absorbed by the package-registry approach.

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.

1 participant