diff --git a/.changeset/ignore-ai-sdk-devtools.md b/.changeset/ignore-ai-sdk-devtools.md new file mode 100644 index 000000000..6b74b41b7 --- /dev/null +++ b/.changeset/ignore-ai-sdk-devtools.md @@ -0,0 +1,5 @@ +--- +"eve": patch +--- + +Treat AI SDK `.devtools` like other generated directories: ignore it in `eve dev` watching, agent discovery, and source snapshots so generation writes do not recompile or warn. diff --git a/packages/eve/src/discover/agent.integration.test.ts b/packages/eve/src/discover/agent.integration.test.ts index 90cd2bb19..fb726983c 100644 --- a/packages/eve/src/discover/agent.integration.test.ts +++ b/packages/eve/src/discover/agent.integration.test.ts @@ -486,7 +486,7 @@ describe("discoverAgent (memory)", () => { it("silently ignores generated runtime directories", async () => { const project = buildMemoryAgentProject({ - agentDirectories: [".eve", ".next", ".output", ".vercel", "node_modules"], + agentDirectories: [".devtools", ".eve", ".next", ".output", ".vercel", "node_modules"], agentFiles: { "instructions.md": "You are a precise assistant.", }, diff --git a/packages/eve/src/discover/filesystem.ts b/packages/eve/src/discover/filesystem.ts index 80d837099..814233d3c 100644 --- a/packages/eve/src/discover/filesystem.ts +++ b/packages/eve/src/discover/filesystem.ts @@ -21,6 +21,7 @@ export const PROJECT_MARKER_FILE_NAMES = ["package.json", "vercel.json"] as cons const PROJECT_MARKER_FILE_NAME_SET = new Set(PROJECT_MARKER_FILE_NAMES); const GENERATED_AGENT_DIRECTORY_NAMES = new Set([ + ".devtools", ".eve", ".next", ".output", diff --git a/packages/eve/src/internal/nitro/dev-runtime-source-snapshot-copy.ts b/packages/eve/src/internal/nitro/dev-runtime-source-snapshot-copy.ts index 64f65ec43..24575e77a 100644 --- a/packages/eve/src/internal/nitro/dev-runtime-source-snapshot-copy.ts +++ b/packages/eve/src/internal/nitro/dev-runtime-source-snapshot-copy.ts @@ -17,6 +17,7 @@ import { } from "#internal/nitro/dev-runtime-source-snapshot.js"; const SNAPSHOT_SKIP_NAMES = new Set([ + ".devtools", ".generated", ".eve", ".git", diff --git a/packages/eve/src/internal/nitro/host/dev-authored-source-watcher.scenario.test.ts b/packages/eve/src/internal/nitro/host/dev-authored-source-watcher.scenario.test.ts index 5d4176cbe..65055de97 100644 --- a/packages/eve/src/internal/nitro/host/dev-authored-source-watcher.scenario.test.ts +++ b/packages/eve/src/internal/nitro/host/dev-authored-source-watcher.scenario.test.ts @@ -131,6 +131,7 @@ describe("startAuthoredSourceWatcher", () => { try { const ignored = getIgnoredPredicate(); + expect(ignored(join(host.appRoot, ".devtools", "generations.json"))).toBe(true); expect(ignored(join(host.appRoot, ".eve", "dev-hosts", "candidate"))).toBe(true); expect(ignored(join(host.appRoot, "node_modules", "eve"))).toBe(true); expect(ignored(join(host.appRoot, "agent", "tools", "weather.ts"))).toBe(false); diff --git a/packages/eve/src/internal/nitro/host/dev-authored-source-watcher.ts b/packages/eve/src/internal/nitro/host/dev-authored-source-watcher.ts index 16dc0f551..1623c45f9 100644 --- a/packages/eve/src/internal/nitro/host/dev-authored-source-watcher.ts +++ b/packages/eve/src/internal/nitro/host/dev-authored-source-watcher.ts @@ -26,6 +26,7 @@ const WATCHED_LOCKFILE_NAMES = [ const WATCH_ROOT_MARKER_NAMES = [".git", "pnpm-workspace.yaml"] as const; const TS_CONFIG_GLOB_NAME = "tsconfig.*.json"; const WATCHER_IGNORED_DIRECTORY_NAMES = new Set([ + ".devtools", ".generated", ".eve", ".git",