diff --git a/bun.lock b/bun.lock index 77aeaad..8e4aee2 100644 --- a/bun.lock +++ b/bun.lock @@ -56,7 +56,7 @@ }, "packages/plugins/nexus-service": { "name": "@microvoid/convax-plugin-nexus-service", - "version": "0.3.9", + "version": "0.3.10", "dependencies": { "@microvoid/convax-nexus-mcp": "workspace:*", }, diff --git a/packages/plugins/nexus-service/convax-package.json b/packages/plugins/nexus-service/convax-package.json index c65fbcb..acb0400 100644 --- a/packages/plugins/nexus-service/convax-package.json +++ b/packages/plugins/nexus-service/convax-package.json @@ -4,7 +4,7 @@ "id": "nexus-service", "name": "Nexus · OpenRouter", "description": "Connects Convax to the Convax Workspace in Nexus for OpenRouter chat and live image-model generation through short-lived Data Tokens.", - "version": "0.3.9", + "version": "0.3.10", "license": "MIT", "compatibility": { "pluginSchema": "convax.plugin/7", diff --git a/packages/plugins/nexus-service/package.json b/packages/plugins/nexus-service/package.json index e8a2920..3a990c0 100644 --- a/packages/plugins/nexus-service/package.json +++ b/packages/plugins/nexus-service/package.json @@ -1,6 +1,6 @@ { "name": "@microvoid/convax-plugin-nexus-service", - "version": "0.3.9", + "version": "0.3.10", "private": true, "type": "module", "dependencies": { diff --git a/packages/plugins/nexus-service/package/manifest.json b/packages/plugins/nexus-service/package/manifest.json index 6d4107d..1d89e9f 100644 --- a/packages/plugins/nexus-service/package/manifest.json +++ b/packages/plugins/nexus-service/package/manifest.json @@ -3,7 +3,7 @@ "id": "nexus-service", "name": "Nexus · OpenRouter", "description": "Connects Convax to the Convax Workspace in Nexus for OpenRouter chat and live image-model generation through short-lived Data Tokens.", - "version": "0.3.9", + "version": "0.3.10", "contributes": { "generation": { "models": [ diff --git a/tooling/official-marketplace-build.mjs b/tooling/official-marketplace-build.mjs index c8d38de..014fbc4 100644 --- a/tooling/official-marketplace-build.mjs +++ b/tooling/official-marketplace-build.mjs @@ -30,6 +30,13 @@ export function officialBuildArgs({ bootstrapPreviousV1, changed, previous, v1Re return [...args, "--initial", "--v1-revision", v1Revision] } +export function officialBuildInvocation(args) { + return { + args: [fileURLToPath(import.meta.resolve("@convax/marketplace-kit/cli")), ...args], + command: process.execPath, + } +} + function main() { const root = path.resolve(fileURLToPath(new URL("..", import.meta.url))) const v1Revision = process.env.GITHUB_SHA ?? spawnSync( @@ -43,7 +50,8 @@ function main() { previous: process.env.CONVAX_MARKETPLACE_PREVIOUS, v1Revision, }) - const result = spawnSync("convax-marketplace", args, { + const invocation = officialBuildInvocation(args) + const result = spawnSync(invocation.command, invocation.args, { cwd: root, encoding: "utf8", env: process.env, diff --git a/tooling/official-marketplace.test.js b/tooling/official-marketplace.test.js index 0f527a3..c4f3d82 100644 --- a/tooling/official-marketplace.test.js +++ b/tooling/official-marketplace.test.js @@ -2,11 +2,15 @@ import { describe, expect, test } from "bun:test" import { promises as fs } from "node:fs" import os from "node:os" import path from "node:path" +import { fileURLToPath } from "node:url" import { assertOfficialMarketplaceSource, loadOfficialMarketplaceSource, } from "./official-marketplace.mjs" -import { officialBuildArgs } from "./official-marketplace-build.mjs" +import { + officialBuildArgs, + officialBuildInvocation, +} from "./official-marketplace-build.mjs" import { fetchPreviousRegistry } from "./fetch-marketplace-previous.mjs" import { root, sha256 } from "./lib.mjs" @@ -151,6 +155,24 @@ describe("Official and Builtin marketplace source", () => { .toThrow("v1 revision must be an exact Git SHA") }) + test("runs the locked Marketplace CLI with the current Bun runtime", () => { + expect(officialBuildInvocation([ + "build-index", + ".", + "--changed", + "dist/release-plan.json", + ])).toEqual({ + args: [ + fileURLToPath(import.meta.resolve("@convax/marketplace-kit/cli")), + "build-index", + ".", + "--changed", + "dist/release-plan.json", + ], + command: process.execPath, + }) + }) + test("prefers production v2 and bootstraps from strict v1 only after an exact v2 404", async () => { const output = await fs.mkdtemp(path.join(os.tmpdir(), "convax-marketplace-previous-")) try {