Repository navigation
chore(packages): bump five packages to their merged Dependabot groups - #1366
Merged
Merged
Conversation
opencode-headless#17 (f566ab9), agent-transcript-parser#39 (68dbfff), claude-code-headless#65 (728cb49), codex-headless#61 (b225d45): each package's main is exactly its grouped Dependabot merge on top of the pointer main pins, so this bump carries dev-dependency updates only (postcss/fast-uri security updates, vitest coverage, tsx, react, undici-types). The lockfile is resynced because the file: deps embed the package trees. Its large deletion is a dedupe: the parser's nested vitest family and tsx existed only because its old ranges did not match the root's hoisted versions; the bumped ranges now do, so npm hoists them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…995af) workflow-mcp#67 (codex-sdk 0.154.0, MCP SDK 1.30.0, zod 4.6.5, acorn 8.18.0, ip-address 10.7.2). Lockfile resynced: the app's own hoisted @modelcontextprotocol/sdk and zod move to 1.30.0 / 4.6.5 (within the app's ^ ranges, now shared with the package), and 31 nested workflow-mcp entries (rolldown wasm helpers) drop out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…emas under zod 4.6 Steering q84: #1366 hoists zod 4.6.5 (shared with workflow-mcp). Its z.fromJSONSchema turns a recursive $ref property (every z.json() payload) into a lazy schema whose input optionality reports optional, so McpServer's tools/list dropped required: ['payload'] for ac_probe_echo while the external Server still advertised it. Calls were still validated. The descriptor's required lists are now re-imposed on every object it spells out after conversion: a no-op on 4.4.3, a repair on 4.6.x. externalControlMcp/tools.test.ts was red at 5f9bf30 with the PR's installed versions and is green now, assertion unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rray wrappers Steering q92 / verification b of #1366: withDeclaredRequiredKeys only recursed into bare objects. An optional or nullable nested object arrives as ZodOptional / ZodNullable, and an array of objects as ZodArray, so their required lists still vanished from the built-in tools/list under zod 4.6 while the external Server kept them. Calls were validated either way. The walk now goes through those wrappers, cloning each with the repaired inner schema so its own checks survive (an array's min/max). A new test compares both real projections for an optional nested object and an array of objects, and asserts that validation still rejects a missing nested payload. It is red at d563b05, and removing either new branch turns it red again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…bjects Manager q92 asked for Optional/Nullable/Default. Probing zod 4.6.5 shows z.fromJSONSchema turns a nullable object into ZodUnion[object, null] paired with the schema's anyOf, not ZodNullable, and a defaulted one into ZodDefault. The walk now repairs each union option against its anyOf branch and goes through ZodDefault. The unreachable ZodNullable branch is dropped. The projection test adds a nullable and a defaulted nested object; removing the Default, Union or Array branch each turns it red. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Verification b of #1366: a record of objects still lost the value object's required list on the built-in side. z.fromJSONSchema turns a record into ZodPipe(transform -> object whose catchall is the value schema). The walk now repairs a pipe's output side and an object's catchall against additionalProperties. The projection test adds a record of objects; removing either new branch turns it red. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Disposition for verification review b (head 33ebfba)
|
Owner
Author
|
READY (W1). Head
Dispositions for q84, q92 and b's record finding are posted above. Note for the batch: this PR moves the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps five package pointers to the merges of their grouped Dependabot PRs:
973ad4e→f566ab9@vitest/coverage-v84ad8d9c→68dbfff64fd0ea→728cb49d42cc1d→b225d45b4b98f8→ef995af@openai/codex-sdk0.144.6 → 0.154.0,@modelcontextprotocol/sdk1.30.0,zod4.6.5,acorn8.18.0;ip-address10.7.2 (security); dev and GitHub Actions bumps; one test and generated build metadataFor the four headless and parser packages, each package's main is exactly its grouped merge on top of the pointer
mainpinned. workflow-mcp's range holds two merges:80363d7):standalone/docker/Dockerfilepinslibexpat2.8.4-r0 → 2.8.5-r0, the container image's own OS package. It is not in the desktop app or the root lockfile.ef995af): the grouped Dependabot bump. The four headless and parser bumps are dev-only. workflow-mcp carries runtime dependency changes. Each grouped PR had three MERGE-READY reviews and green package CI; workflow-mcp#67 also had a verification pass.Lockfile
Resynced with
npm install --package-lock-only, because thefile:package deps embed their trees. It is stable after the merge oforigin/main.Dedupes:
packages/agent-transcript-parser/node_modules/{vitest,@vitest/*}is gone: the parser's old^4.1.10range did not match the root's hoisted vitest, and the bumped^4.1.11does.tsx4.23.15 at the root now satisfies the packages'^4.23.13.packages/workflow-mcp/node_modules/*entries (rolldown wasm helpers) drop out, matching workflow-mcp's own lockfile change.⚠ Two app runtime versions move. The app itself declares
@modelcontextprotocol/sdk: ^1.29.0andzod: ^4.4.3. Their hoisted copies, shared with workflow-mcp, now resolve to 1.30.0 and 4.6.5. That is within the app's ranges, but it changes what the app's MCP servers and schemas run on (src/main/userMcp,src/main/externalControlMcp, the workflow host). workflow-mcp#67's reviews found only additive or hardening changes on the MCP SDK and zod surfaces workflow-mcp imports. The app's own imports get their own review here.No other package or lockfile changes. The complete pointer ranges were checked by review (all five gitlinks equal the named merge commits).
App source fix: required keys lost under zod 4.6 (steering q84)
The first exact-head CI run failed
src/main/externalControlMcp/tools.test.ts. The built-in McpServer advertisedac_probe_echowithrequired: [], while the external Server advertisedrequired: ['payload'].z.fromJSONSchematurns a recursive$refproperty (everyz.json()payload) into a lazy schema whose input optionality reports optional. Call validation still rejected{}. Only the re-exported tools/list schema lostrequired. zod 4.4.3 did not do this.withDeclaredRequiredKeysinsrc/main/externalControlMcp/tools.tsre-imposes the descriptor's ownrequiredlists on every plain object it describes after conversion. It is a no-op on 4.4.3 and a repair on 4.6.x.z.fromJSONSchemawraps nested objects: an optional one inZodOptional, a defaulted one inZodDefault, a nullable one inZodUnion[object, null](paired withanyOf), and an array of objects inZodArray. Their nestedrequiredwas still lost on the built-in side.c6896e43and6c60c8dawalk through all four, cloning each with the repaired inner schema so its own checks (an array's min/max) survive.d563b05a. Removing the Default, Union or Array branch each turns it red again.5f9bf305with an isolated install of the PR's exact versions: the shared checkout's older zod is why the first local gate passed. It is green after the fix, and the equality assertion is unchanged.z.fromJSONSchemahas no other call site insrc/.Gate
CI on this PR, plus locally:
npx tsc -b, against an isolated install of the PR's exact lockfile;🤖 Generated with Claude Code