From 7580407775a40799f81c832fc4e3702e8cb8601b Mon Sep 17 00:00:00 2001 From: Dallin Romney Date: Fri, 21 Aug 2026 09:40:25 -0700 Subject: [PATCH] fix(build): include AI runtime in focused profiles --- scripts/build-all.mts | 20 ++++++++++++++++++++ test/scripts/build-all.test.ts | 16 ++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/scripts/build-all.mts b/scripts/build-all.mts index f3c1ba8c39ea..00b196a095db 100644 --- a/scripts/build-all.mts +++ b/scripts/build-all.mts @@ -308,6 +308,7 @@ export const BUILD_ALL_PROFILES: Record = { ], ciArtifacts: [ "plugins:assets:build", + "tsdown-ai", "tsdown", "external-plugins:local-dist", "check-cli-bootstrap-imports", @@ -322,6 +323,7 @@ export const BUILD_ALL_PROFILES: Record = { "write-cli-startup-metadata", ], gatewayWatch: [ + "tsdown-ai", "tsdown", "external-plugins:local-dist", "check-cli-bootstrap-imports", @@ -331,6 +333,7 @@ export const BUILD_ALL_PROFILES: Record = { ], qaRuntime: [ "plugins:assets:build", + "tsdown-ai", "tsdown", "external-plugins:local-dist", "check-cli-bootstrap-imports", @@ -341,6 +344,7 @@ export const BUILD_ALL_PROFILES: Record = { ], sourcePerformance: [ "plugins:assets:build", + "tsdown-ai", "tsdown", "external-plugins:local-dist", "check-cli-bootstrap-imports", @@ -352,6 +356,7 @@ export const BUILD_ALL_PROFILES: Record = { "write-cli-startup-metadata", ], cliStartup: [ + "tsdown-ai", "tsdown", "external-plugins:local-dist", "check-cli-bootstrap-imports", @@ -369,6 +374,9 @@ export const BUILD_ALL_PROFILE_STEP_ENV: Record { it("uses a runtime artifact plus plugin SDK export profile for ci artifacts", () => { expect(resolveBuildAllSteps("ciArtifacts").map((step) => step.label)).toEqual([ "plugins:assets:build", + "tsdown-ai", "tsdown", "external-plugins:local-dist", "check-cli-bootstrap-imports", @@ -450,15 +451,20 @@ describe("resolveBuildAllSteps", () => { it("skips bundled tsdown declarations for runtime-only profiles", () => { for (const profile of [ + "ciArtifacts", "gatewayWatch", "qaRuntime", "sourcePerformance", "cliStartup", ] as const) { const tsdown = resolveBuildAllSteps(profile).find((step) => step.label === "tsdown"); + const tsdownAi = resolveBuildAllSteps(profile).find((step) => step.label === "tsdown-ai"); if (!tsdown) { throw new Error(`Missing ${profile} tsdown step`); } + if (!tsdownAi) { + throw new Error(`Missing ${profile} tsdown-ai step`); + } expect( expectDefined(BUILD_ALL_PROFILE_STEP_ENV[profile], `${profile} build step env`).tsdown, @@ -470,6 +476,12 @@ describe("resolveBuildAllSteps", () => { ).toMatchObject({ OPENCLAW_RUN_NODE_SKIP_DTS_BUILD: "1", }); + expect( + resolveBuildAllStep(tsdownAi, { env: { OPENCLAW_RUN_NODE_SKIP_DTS_BUILD: "0" } }).options + .env, + ).toMatchObject({ + OPENCLAW_RUN_NODE_SKIP_DTS_BUILD: "1", + }); } }); @@ -565,6 +577,7 @@ describe("resolveBuildAllSteps", () => { it("uses a minimal built runtime profile for gateway watch regression", () => { expect(resolveBuildAllSteps("gatewayWatch").map((step) => step.label)).toEqual([ + "tsdown-ai", "tsdown", "external-plugins:local-dist", "check-cli-bootstrap-imports", @@ -577,6 +590,7 @@ describe("resolveBuildAllSteps", () => { it("uses a QA runtime profile with generated plugin assets but no startup metadata", () => { expect(resolveBuildAllSteps("qaRuntime").map((step) => step.label)).toEqual([ "plugins:assets:build", + "tsdown-ai", "tsdown", "external-plugins:local-dist", "check-cli-bootstrap-imports", @@ -590,6 +604,7 @@ describe("resolveBuildAllSteps", () => { it("uses a source performance profile with QA assets and immutable build provenance", () => { expect(resolveBuildAllSteps("sourcePerformance").map((step) => step.label)).toEqual([ "plugins:assets:build", + "tsdown-ai", "tsdown", "external-plugins:local-dist", "check-cli-bootstrap-imports", @@ -604,6 +619,7 @@ describe("resolveBuildAllSteps", () => { it("uses a CLI startup profile without generated plugin assets", () => { expect(resolveBuildAllSteps("cliStartup").map((step) => step.label)).toEqual([ + "tsdown-ai", "tsdown", "external-plugins:local-dist", "check-cli-bootstrap-imports",