From 05a3357b99385906aeea91085cb062195aed4cd3 Mon Sep 17 00:00:00 2001 From: Cameron Smick Date: Mon, 22 Jun 2026 15:59:00 -0700 Subject: [PATCH] refactor(core): move devtools ai tool definition types to primitives Extract the AI tool definition interfaces from the core debug module to the devtools primitives module. This relocates ToolDefinition, ToolGroup, and DevtoolsToolDiscoveryEvent to the primitives folder, exposing them cleanly via "export type" in the devtools entry point, improving module organization and readability. --- packages/core/primitives/devtools/index.ts | 1 + .../debug/ai => primitives/devtools/src}/tool_definitions.ts | 0 packages/core/src/debug/ai/di_graph.ts | 2 +- packages/core/src/debug/ai/registration.ts | 2 +- packages/core/src/debug/ai/signal_graph.ts | 2 +- packages/core/test/debug/ai/registration_spec.ts | 2 +- 6 files changed, 5 insertions(+), 4 deletions(-) rename packages/core/{src/debug/ai => primitives/devtools/src}/tool_definitions.ts (100%) diff --git a/packages/core/primitives/devtools/index.ts b/packages/core/primitives/devtools/index.ts index c467657bd577..6dc2edbdaed1 100644 --- a/packages/core/primitives/devtools/index.ts +++ b/packages/core/primitives/devtools/index.ts @@ -8,3 +8,4 @@ export {ProfilerEvent, type Profiler} from './src/profiler_types'; export {Framework} from './src/framework'; +export type {DevtoolsToolDiscoveryEvent, ToolDefinition, ToolGroup} from './src/tool_definitions'; diff --git a/packages/core/src/debug/ai/tool_definitions.ts b/packages/core/primitives/devtools/src/tool_definitions.ts similarity index 100% rename from packages/core/src/debug/ai/tool_definitions.ts rename to packages/core/primitives/devtools/src/tool_definitions.ts diff --git a/packages/core/src/debug/ai/di_graph.ts b/packages/core/src/debug/ai/di_graph.ts index f3d5a1ba3b11..853cd2c360b4 100644 --- a/packages/core/src/debug/ai/di_graph.ts +++ b/packages/core/src/debug/ai/di_graph.ts @@ -13,7 +13,7 @@ import {INJECTOR, LView, T_HOST, TVIEW, TViewType} from '../../render3/interface import {DiGraph, SerializedInjector, serializeInjector} from './serialized_di_graph'; import {ChainedInjector} from '../../render3/chained_injector'; import {Injector} from '../../di/injector'; -import {ToolDefinition} from './tool_definitions'; +import {ToolDefinition} from '../../../primitives/devtools'; import {walkLViewDirectives} from './traversal'; import {getLViewParent} from '../../render3/util/view_utils'; import {R3Injector} from '../../di/r3_injector'; diff --git a/packages/core/src/debug/ai/registration.ts b/packages/core/src/debug/ai/registration.ts index 77b7b1cf8db3..4e501306a2fc 100644 --- a/packages/core/src/debug/ai/registration.ts +++ b/packages/core/src/debug/ai/registration.ts @@ -8,7 +8,7 @@ import {diGraphTool} from './di_graph'; import {signalGraphTool} from './signal_graph'; -import {DevtoolsToolDiscoveryEvent} from './tool_definitions'; +import {DevtoolsToolDiscoveryEvent} from '../../../primitives/devtools'; /** * Registers Angular AI tools with Chrome DevTools. diff --git a/packages/core/src/debug/ai/signal_graph.ts b/packages/core/src/debug/ai/signal_graph.ts index a033549c3289..f2e395be35dd 100644 --- a/packages/core/src/debug/ai/signal_graph.ts +++ b/packages/core/src/debug/ai/signal_graph.ts @@ -9,7 +9,7 @@ import {NullInjector} from '../../di/null_injector'; import {getInjector} from '../../render3/util/discovery_utils'; import {DebugSignalGraph, getSignalGraph} from '../../render3/util/signal_debug'; -import {ToolDefinition} from './tool_definitions'; +import {ToolDefinition} from '../../../primitives/devtools'; // Omit `debuggableFn` and `id` from returned signal graph to AI agent. type AiSignalGraph = Omit & { diff --git a/packages/core/test/debug/ai/registration_spec.ts b/packages/core/test/debug/ai/registration_spec.ts index fa9483f0c81a..b893a1011dbd 100644 --- a/packages/core/test/debug/ai/registration_spec.ts +++ b/packages/core/test/debug/ai/registration_spec.ts @@ -8,7 +8,7 @@ import {signalGraphTool} from '../../../src/debug/ai/signal_graph'; import {registerAiTools} from '../../../src/debug/ai'; -import {DevtoolsToolDiscoveryEvent} from '../../../src/debug/ai/tool_definitions'; +import {DevtoolsToolDiscoveryEvent} from '../../../primitives/devtools'; import {destroyPlatform} from '../../../src/core'; describe('registration', () => {