From 034b03bd447941a620b3975a6e47e4ac7f0fb2a7 Mon Sep 17 00:00:00 2001 From: brawlaphant <35781613+brawlaphant@users.noreply.github.com> Date: Sat, 11 Apr 2026 12:02:13 -0700 Subject: [PATCH] fix(agents): replace workspace:* protocol with * for npm ci compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Agents CI job has been failing on every PR against main with: npm error code EUNSUPPORTEDPROTOCOL npm error Unsupported URL Type "workspace:": workspace:* Root cause: three internal package.json files in agents/packages/* declared their cross-package dependencies using the `workspace:*` protocol. That protocol is supported by pnpm and yarn berry but NOT by npm, and the CI `agents` job runs `npm ci` in `agents/`. Notably, `agents/package-lock.json` was already in the correct state — the lockfile records these internal deps as `"*"`, not `"workspace:*"`. The package.json files were out of sync with the lockfile, which is exactly the mismatch `npm ci` refuses to tolerate. This PR aligns the three package.json files with the lockfile: agents/packages/agents/package.json @regen/core: workspace:* → * @regen/plugin-ledger-mcp: workspace:* → * @regen/plugin-koi-mcp: workspace:* → * agents/packages/plugin-koi-mcp/package.json @regen/core: workspace:* → * agents/packages/plugin-ledger-mcp/package.json @regen/core: workspace:* → * The `*` specifier is the npm-workspaces idiomatic form: when the root package.json declares `workspaces`, npm resolves internal dependencies locally rather than hitting the registry. No lockfile regeneration is needed — the lockfile already encodes the `*` form. ## Validation Run in `agents/` on Node 22 locally, matching the CI command: $ npm ci added 179 packages, and audited 184 packages in 6s (no errors) $ npx tsc --noEmit (no errors, exit 0) Both commands that the Agents CI job runs now succeed. ## Scope Three files, 5 line delta total. Does not touch: - `agents/package-lock.json` (already correct) - `agents/package.json` (workspaces array at root is already correct) - `agents/packages/core/package.json` (no internal deps) - Any TypeScript source - Any CI workflow - Lands in: `agents/packages/*/package.json` - Changes: replace 5 `workspace:*` specifiers with `*` so `npm ci` can parse them - Validate: `cd agents && npm ci && npx tsc --noEmit` --- agents/packages/agents/package.json | 6 +++--- agents/packages/plugin-koi-mcp/package.json | 2 +- agents/packages/plugin-ledger-mcp/package.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/agents/packages/agents/package.json b/agents/packages/agents/package.json index c5817f8..d44f970 100644 --- a/agents/packages/agents/package.json +++ b/agents/packages/agents/package.json @@ -5,8 +5,8 @@ "type": "module", "main": "./src/index.ts", "dependencies": { - "@regen/core": "workspace:*", - "@regen/plugin-ledger-mcp": "workspace:*", - "@regen/plugin-koi-mcp": "workspace:*" + "@regen/core": "*", + "@regen/plugin-ledger-mcp": "*", + "@regen/plugin-koi-mcp": "*" } } diff --git a/agents/packages/plugin-koi-mcp/package.json b/agents/packages/plugin-koi-mcp/package.json index 1444f5f..12c4430 100644 --- a/agents/packages/plugin-koi-mcp/package.json +++ b/agents/packages/plugin-koi-mcp/package.json @@ -6,6 +6,6 @@ "main": "./src/index.ts", "types": "./src/index.ts", "dependencies": { - "@regen/core": "workspace:*" + "@regen/core": "*" } } diff --git a/agents/packages/plugin-ledger-mcp/package.json b/agents/packages/plugin-ledger-mcp/package.json index d7cc76a..236b39d 100644 --- a/agents/packages/plugin-ledger-mcp/package.json +++ b/agents/packages/plugin-ledger-mcp/package.json @@ -6,6 +6,6 @@ "main": "./src/index.ts", "types": "./src/index.ts", "dependencies": { - "@regen/core": "workspace:*" + "@regen/core": "*" } }