From c91a9518174ee7169ea7910477f767283f3adead 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. (cherry picked from commit bf6dba878e514ca40726467867911a07d5c8a5a2) --- 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/BUILD.bazel | 1 + packages/core/test/debug/ai/registration_spec.ts | 2 +- 7 files changed, 6 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 c467657bd57..6dc2edbdaed 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 f3d5a1ba3b1..853cd2c360b 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 77b7b1cf8db..4e501306a2f 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 a033549c328..f2e395be35d 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/BUILD.bazel b/packages/core/test/BUILD.bazel index b1e52a0f0f5..62347820806 100644 --- a/packages/core/test/BUILD.bazel +++ b/packages/core/test/BUILD.bazel @@ -37,6 +37,7 @@ ts_project( "//packages/common/locales", "//packages/compiler", "//packages/core", + "//packages/core/primitives/devtools", "//packages/core/rxjs-interop", "//packages/core/src/di/interface", "//packages/core/src/interface", diff --git a/packages/core/test/debug/ai/registration_spec.ts b/packages/core/test/debug/ai/registration_spec.ts index fa9483f0c81..b893a1011db 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', () => {