Skip to content

Rename host services, resources, and UI copy to tool naming (CS-12040)#5458

Merged
lukemelia merged 8 commits into
mainfrom
cs-12040-rename-host-services-resources-and-ui-copy-sweep-command
Jul 9, 2026
Merged

Rename host services, resources, and UI copy to tool naming (CS-12040)#5458
lukemelia merged 8 commits into
mainfrom
cs-12040-rename-host-services-resources-and-ui-copy-sweep-command

Conversation

@lukemelia

Copy link
Copy Markdown
Contributor

What

Fourth slice of the command → tool rename (CS-11788), stacked on #5457. The host-internal identifier and UI-copy sweep, in five commits so each stage reviews independently:

  1. Service layercommand-servicetool-service (ToolService, toolService injections across ~110 files), MessageCommandMessageTool, tool-auto-execute, tool-definitions / skill-tools helpers, and matrix-service/file-def-manager method names (uploadToolDefinitions, sendToolResultEvent, updateSkillsAndToolsIfNeeded, …).
  2. Tool classes — all 95 XCommand module classes → XTool, HostBaseTool, the HostToolClasses registry, and the lint rule following it. Module default exports are untouched, so content codeRefs (name: 'default') are unaffected.
  3. Shared typesToolRequest, EncodedToolRequest, ToolDefinitionSchema, ToolResultEvent + content types, ToolResultStatus, ToolCallStatus become the defining names; pre-rename spellings stay as deprecated type aliases so ai-bot (CS-12041) and out-of-tree content migrate separately.
  4. Components/copy/selectorsRoomMessageTool, CodeBlockToolCallHeader, Message.tools / RoomResource.tools, the module-inspector "Tool" panel, Unrecognized tool error copy, and data-test-tool-* selectors (updated in the matrix Playwright specs too).

The one behavioral addition

Catalog test cards call getService('command-service') — proof that realm content looks the service up by its registration string. An instance-initializer registers service:command-service as an alias resolving to the same tool-service singleton (a second instance would fork the service's execution-tracking state and risk double-running tools). In-repo catalog content moves to the new name; the alias carries deployed content.

Deliberately unchanged (audited leftovers)

  • commandRequestId — wire field on both event-key spellings.
  • commandContext — public content API (catalog cards construct tools with commandService.commandContext); renames with CS-12041's CommandContext type or later.
  • loadCommandModule / commandModule locals — named after https://cardstack.com/base/command, whose URL rename is deferred (persisted adoptsFrom refs; see CS-11788 notes).
  • The command-runner route path — external URL contract (Grafana operator actions).
  • LEGACY_* wire constants, the shim/alias layers, the legacy Skill.commands card field, and content module paths (@cardstack/catalog/commands/*) — content phase (CS-12042).
  • Bare command in comments/local names where it references the above.

Verification

Host, runtime-common, ai-bot, catalog type-checks clean; host eslint + template-lint clean; base template-lint clean; eslint-plugin tests pass; ai-bot suite 224/226 (two pre-existing local Postgres-role failures). Host integration/acceptance suites run in CI.

🤖 Generated with Claude Code

lukemelia and others added 5 commits July 9, 2026 14:18
…aming

command-service becomes tool-service (ToolService, toolService
injections), MessageCommand becomes MessageTool (message-tool.ts),
command-auto-execute becomes tool-auto-execute, and the definition
helpers move to tool-definitions.ts / skill-tools.ts
(getUniqueValidToolDefinitions, getSkillSourceTools). Matrix-service and
file-def-manager method names follow: uploadToolDefinitions,
getUniqueToolDefinitions, sendToolResultEvent,
updateSkillsAndToolsIfNeeded, queueEventForToolProcessing.

Part of the command -> tool rename (CS-12040 / CS-11788).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…aseTool

All 95 host tool module classes rename to the Tool suffix, along with
HostBaseTool (lib/host-base-tool.ts) and the HostToolClasses registry;
the lint rule follows the registry name. Realm content that looks the
service up by its pre-rename registration name keeps working via an
instance-initializer that aliases service:command-service to the same
tool-service singleton (a second instance would fork execution-tracking
state); the catalog test cards move to the new name.

Module default exports are untouched, so content codeRefs (which use
`name: 'default'`) are unaffected.

Part of the command -> tool rename (CS-12040 / CS-11788).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ToolRequest (runtime-common), EncodedToolRequest, ToolDefinitionSchema,
ToolResultEvent, ToolResultWith[No]OutputContent, ToolResultStatus
(base/matrix-event), and ToolCallStatus (base/command) are the defining
names; the pre-rename spellings remain as deprecated type aliases so the
ai-bot / prompt-assembly sweep (CS-12041) and out-of-tree content can
migrate separately. Host consumes the new names throughout.

Part of the command -> tool rename (CS-12040 / CS-11788).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
RoomMessageCommand becomes RoomMessageTool; Message/RoomResource expose
`tools` (setTools); the module-inspector panel labels Tool declarations
as Tool (isToolDeclaration); data-test-command-* selectors become
tool-named in host and the matrix specs; XCommandModule import aliases,
toolRequest locals, tool-service execution-tracking members, and the
ToolField import spelling follow. The skillsConfig mirror exposes
toolDefinitionFileDefs read via getToolDefinitions.

Deliberately unchanged: the commandRequestId wire field (present on both
event-key spellings), commandContext (public content API — catalog cards
construct tools with it), the command-runner route path (external URL
contract, e.g. Grafana operator actions), LEGACY_* wire constants, and
content module paths like @cardstack/catalog/commands/* (content phase).

Part of the command -> tool rename (CS-12040 / CS-11788).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
CodeBlockToolCallHeader (tool-call-header.gts), toolCallState args, and
drainToolProcessingQueue complete the identifier sweep.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lukemelia
lukemelia force-pushed the cs-12040-rename-host-services-resources-and-ui-copy-sweep-command branch from de68f4a to 8a719d2 Compare July 9, 2026 18:18
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Preview deployments

Host Test Results

    1 files  ±0      1 suites  ±0   2h 49m 59s ⏱️ + 2m 47s
3 435 tests ±0  3 420 ✅ ±0  15 💤 ±0  0 ❌ ±0 
3 454 runs  ±0  3 439 ✅ ±0  15 💤 ±0  0 ❌ ±0 

Results for commit d496187. ± Comparison against earlier commit 600742a.

Realm Server Test Results

    1 files  ±0      1 suites  ±0   13m 5s ⏱️ + 3m 14s
1 792 tests ±0  1 792 ✅ ±0  0 💤 ±0  0 ❌ ±0 
1 871 runs  ±0  1 871 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit d496187. ± Comparison against earlier commit 600742a.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR continues the codebase-wide shift from “command” terminology to “tool” terminology across host services, tool classes, shared types, UI copy/selectors, and tests, while preserving legacy compatibility where deployed content can still reference older identifiers.

Changes:

  • Renames many host “Command” classes/usages to “Tool” and updates the Host base class to HostBaseTool with loadToolModule().
  • Updates UI/test selectors and copy from command-* to tool-* (including Playwright and Ember acceptance/integration tests).
  • Introduces a legacy DI alias so getService('command-service') resolves to the existing tool-service singleton.

Reviewed changes

Copilot reviewed 252 out of 252 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
packages/test-realm-cards/contents/person.gts Updates realm card imports/usages to *Tool names.
packages/test-realm-cards/contents/ai-command-example.gts Updates example card imports/usages to *Tool names.
packages/runtime-common/commands.ts Renames CommandRequest interface to ToolRequest (keeps legacy alias).
packages/matrix/tests/correctness-checks.spec.ts Updates Playwright selectors to data-test-tool-call-id.
packages/host/tests/unit/lib/command-definitions-test.ts Switches unit tests to tool-definition helper module/exports.
packages/host/tests/unit/lib/command-auto-execute-test.ts Updates imports/module naming to tool-auto-execute helpers.
packages/host/tests/unit/is-markdown-skill-id-test.ts Updates import to skill-tools.
packages/host/tests/integration/components/realm-field-test.gts Switches from command-service to tool-service in setup.
packages/host/tests/integration/components/ai-module-creation-test.gts Updates apply button selector to data-test-tool-call-apply.
packages/host/tests/integration/commands/validate-realm-test.gts Renames ValidateRealm command usage to tool usage and tool-service.
packages/host/tests/integration/commands/unpublish-realm-test.gts Renames UnpublishRealm command usage to tool usage and tool-service.
packages/host/tests/integration/commands/sync-openrouter-models-test.gts Renames SyncOpenRouterModels command usage to tool usage and tool-service.
packages/host/tests/integration/commands/store-add-test.gts Renames StoreAdd command usage to tool usage and tool-service.
packages/host/tests/integration/commands/show-card-test.gts Renames ShowCard command usage to tool usage and tool-service.
packages/host/tests/integration/commands/set-user-system-card-test.gts Renames SetUserSystemCard command usage to tool usage and tool-service.
packages/host/tests/integration/commands/send-bot-trigger-event-test.gts Renames SendBotTriggerEvent command usage to tool usage and tool-service.
packages/host/tests/integration/commands/send-ai-assistant-message-test.gts Renames SendAiAssistantMessage command usage to tool usage and tool-service.
packages/host/tests/integration/commands/search-command-test.gts Renames search command classes/usages to tool classes/usages.
packages/host/tests/integration/commands/search-and-choose-test.gts Renames SearchAndChoose command usage to tool usage and tool-service.
packages/host/tests/integration/commands/schema-generation-test.gts Switches to HostToolClasses and HostBaseTool typing.
packages/host/tests/integration/commands/sanitize-module-list-test.gts Renames SanitizeModuleList command usage to tool usage and tool-service.
packages/host/tests/integration/commands/read-text-file-test.gts Renames ReadTextFile command usage to tool usage and tool-service.
packages/host/tests/integration/commands/read-source-test.gts Renames ReadSource command usage to tool usage and tool-service.
packages/host/tests/integration/commands/read-file-for-ai-assistant-test.gts Switches service lookup to tool-service for command context.
packages/host/tests/integration/commands/read-card-for-ai-assistant-test.gts Switches service lookup to tool-service for command context.
packages/host/tests/integration/commands/publish-realm-test.gts Renames PublishRealm command usage to tool usage and tool-service.
packages/host/tests/integration/commands/preview-format-test.gts Renames PreviewFormat command usage to tool usage and tool-service.
packages/host/tests/integration/commands/persist-module-inspector-view-test.gts Renames PersistModuleInspectorView command usage to tool usage and tool-service.
packages/host/tests/integration/commands/open-workspace-test.gts Renames OpenWorkspace command usage to tool usage and tool-service.
packages/host/tests/integration/commands/invite-user-to-room-test.gts Renames InviteUserToRoom command usage to tool usage and tool-service.
packages/host/tests/integration/commands/invalidate-realm-identifiers-test.gts Renames InvalidateRealmIdentifiers command usage to tool usage and tool-service.
packages/host/tests/integration/commands/instantiate-card-test.gts Renames InstantiateCard command usage to tool usage and tool-service.
packages/host/tests/integration/commands/get-user-system-card-test.gts Renames GetUserSystemCard command usage to tool usage and tool-service.
packages/host/tests/integration/commands/get-realm-of-resource-identifier-test.gts Renames GetRealmOfResourceIdentifier command usage to tool usage and tool-service.
packages/host/tests/integration/commands/get-published-realms-test.gts Renames GetPublishedRealms command usage to tool usage and tool-service.
packages/host/tests/integration/commands/get-default-writable-realm-test.gts Renames GetDefaultWritableRealm command usage to tool usage and tool-service.
packages/host/tests/integration/commands/get-catalog-realm-identifiers-test.gts Renames GetCatalogRealmIdentifiers command usage to tool usage and tool-service.
packages/host/tests/integration/commands/get-available-realm-identifiers-test.gts Renames GetAvailableRealmIdentifiers command usage to tool usage and tool-service.
packages/host/tests/integration/commands/generate-example-cards-one-shot-test.gts Renames GenerateExampleCardsOneShot command usage to tool usage and tool-service.
packages/host/tests/integration/commands/fetch-card-json-test.gts Renames FetchCardJson command usage to tool usage and tool-service.
packages/host/tests/integration/commands/execute-atomic-operations-test.gts Renames ExecuteAtomicOperations command usage to tool usage and tool-service.
packages/host/tests/integration/commands/evaluate-module-test.gts Renames EvaluateModule command usage to tool usage and tool-service.
packages/host/tests/integration/commands/create-spec-test.gts Renames CreateSpec command usage to tool usage and tool-service.
packages/host/tests/integration/commands/create-listing-pr-request-test.gts Renames CreateListingPRRequest command usage to tool usage and tool-service.
packages/host/tests/integration/commands/copy-source-test.gts Renames CopySource command usage to tool usage and tool-service.
packages/host/tests/integration/commands/commands-calling-test.gts Switches service lookup to tool-service for command context.
packages/host/tests/integration/commands/check-domain-availability-test.gts Renames CheckDomainAvailability command usage to tool usage and tool-service.
packages/host/tests/integration/commands/cancel-indexing-job-test.gts Renames CancelIndexingJob command usage to tool usage and tool-service.
packages/host/tests/integration/commands/can-read-realm-test.gts Renames CanReadRealm command usage to tool usage and tool-service.
packages/host/tests/integration/commands/bot-registration-test.gts Renames Register/UnregisterBot command usage to tool usage and tool-service.
packages/host/tests/integration/commands/authed-fetch-test.gts Renames AuthedFetch command usage to tool usage and tool-service.
packages/host/tests/integration/commands/apply-markdown-edit-test.gts Renames ApplyMarkdownEdit command usage to tool usage and tool-service.
packages/host/tests/integration/commands/add-field-to-card-definition-command-test.gts Renames AddFieldToCardDefinition command usage to tool usage and tool-service.
packages/host/tests/helpers/mock-matrix/_client.ts Renames mock client method to uploadToolDefinitions.
packages/host/tests/helpers/base-realm.ts Switches imported/exported field type from CommandField to ToolField.
packages/host/tests/acceptance/code-submode/inspector-test.ts Updates selectors for tool panel header (assertions still need copy updates).
packages/host/tests/acceptance/code-submode/file-tree-test.ts Renames WriteTextFile command usage to tool usage (fixture import path needs update).
packages/host/tests/acceptance/code-submode/create-file-test.gts Updates explanatory comment to “WriteTextFileTool”.
packages/host/tests/acceptance/code-patches-test.gts Updates codeRef names and switches to tool-service state map.
packages/host/app/tools/write-text-file.ts Renames tool class + base class + loader helper usage.
packages/host/app/tools/validate-realm.ts Renames tool class + dependent tool invocation.
packages/host/app/tools/update-playground-selection.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/update-code-path-with-selection.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/unregister-bot.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/unpublish-realm.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/sync-openrouter-models.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/store-add.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/show-file.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/show-card.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/set-user-system-card.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/set-active-llm.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/serialize-card.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/send-request-via-proxy.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/search-google-images.ts Renames tool class/base + dependent tool invocation.
packages/host/app/tools/save-card.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/reindex-realm.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/register-bot.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/read-text-file.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/read-source.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/read-file-for-ai-assistant.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/read-binary-file.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/publish-realm.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/persist-module-inspector-view.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/patch-theme.ts Renames tool class/base + dependent tool invocation.
packages/host/app/tools/open-workspace.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/open-in-interact-mode.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/open-create-listing-modal.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/open-ai-assistant-room.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/lint-and-fix.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/invite-user-to-room.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/invalidate-realm-identifiers.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/instantiate-card.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/get-user-system-card.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/get-realm-of-resource-identifier.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/get-published-realms.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/get-events-from-room.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/get-default-writable-realm.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/get-catalog-realm-identifiers.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/get-card.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/get-card-type-schema.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/get-available-realm-identifiers.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/get-all-realm-metas.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/full-reindex-realm.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/fetch-card-json.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/execute-atomic-operations.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/evaluate-module.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/create-and-open-submission-workflow-card.ts Renames tool class/base + dependent tool invocation.
packages/host/app/tools/copy-source.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/copy-file-to-realm.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/copy-card.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/copy-card-as-markdown.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/copy-and-edit.ts Renames tool class/base + dependent tool invocation.
packages/host/app/tools/check-domain-availability.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/cancel-indexing-job.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/can-read-realm.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/bot-requests/send-bot-trigger-event.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/authed-fetch.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/apply-search-replace-block.ts Renames tool class/base + loader helper usage.
packages/host/app/tools/add-field-to-card-definition.ts Renames tool class/base + dependent tool invocation.
packages/host/app/templates/index.gts Switches injected service type from CommandService to ToolService.
packages/host/app/templates/host-freestyle.gts Switches injected service type from CommandService to ToolService.
packages/host/app/services/store.ts Switches injected service dependency from command-service to tool-service.
packages/host/app/services/realm.ts Updates comment to refer to UnpublishRealmTool.
packages/host/app/services/module-contents-service.ts Renames exported declaration helpers/types for tool naming.
packages/host/app/services/matrix-sdk-loader.ts Renames extended client method dispatch to uploadToolDefinitions.
packages/host/app/routes/command-runner.ts Renames local vars to ToolConstructor for clarity (route name unchanged).
packages/host/app/resources/module-contents.ts Renames exports/imports from CommandDeclaration to ToolDeclaration.
packages/host/app/resources/file.ts Updates comment to refer to WriteTextFileTool.
packages/host/app/resources/code-diff.ts Switches injected service dependency and tool invocation to tool naming.
packages/host/app/lib/tool-definitions.ts Updates tool-definition types/exports and unique-filter helper naming.
packages/host/app/lib/tool-auto-execute.ts Updates message tool typing and comments for tool-service usage.
packages/host/app/lib/skill-tools.ts Renames skill helper to return ToolField arrays and updates fallback typing.
packages/host/app/lib/matrix-classes/room.ts Renames skills config field to toolDefinitionFileDefs.
packages/host/app/lib/matrix-classes/message-code-patch-result.ts Switches injected service type from CommandService to ToolService.
packages/host/app/lib/host-base-tool.ts Introduces HostBaseTool with loadToolModule().
packages/host/app/instance-initializers/legacy-tool-service-alias.ts Adds legacy command-service alias to tool-service.
packages/host/app/components/operator-mode/send-error-to-ai-assistant.gts Switches to ToolService + *Tool tool classes.
packages/host/app/components/operator-mode/publish-realm-modal.gts Switches to ToolService + CheckDomainAvailabilityTool.
packages/host/app/components/operator-mode/preview-panel/index.gts Switches to ToolService for commandContext.
packages/host/app/components/operator-mode/error-display.gts Switches to ToolService + SwitchSubmodeTool.
packages/host/app/components/operator-mode/detail-panel-selector.gts Updates declaration-type mapping to “tool”.
packages/host/app/components/operator-mode/create-listing-modal.gts Switches to ToolService for command context when executing listing create.
packages/host/app/components/operator-mode/create-file-modal.gts Switches to ToolService + CopyCardToRealmTool.
packages/host/app/components/operator-mode/container.gts Switches provided commandContext source to ToolService.
packages/host/app/components/operator-mode/code-submode/playground/playground-panel.gts Switches to ToolService for commandContext.
packages/host/app/components/operator-mode/code-submode/module-inspector.gts Switches to ToolService + CreateSpecTool + code patch state calls.
packages/host/app/components/operator-mode/code-editor.gts Switches to ToolService + LintAndFixTool.
packages/host/app/components/ai-assistant/skill-menu/skill-toggle.gts Switches to ToolService + ShowCardTool + skill-tools import.
packages/host/app/components/ai-assistant/message/index.gts Renames message command typing + updates CSS selector class.
packages/host/app/components/ai-assistant/message/aibot-message.gts Switches injected service from CommandService to ToolService for patching.
packages/host/app/components/ai-assistant/code-block/tool-call-header.gts Renames component signature/args to tool-call naming and updates selectors.
packages/host/app/components/ai-assistant/code-block/index.gts Replaces command header component with tool-call header component.
packages/experiments-realm/update-room-skills-example.gts Renames UpdateRoomSkills command usage to tool usage + copy tweaks.
packages/experiments-realm/simple-search-card.gts Renames SearchCardsByTypeAndTitle command usage to tool usage.
packages/experiments-realm/set-llm-example.gts Renames LLM/room commands usage to tool usage.
packages/experiments-realm/screenshot-card-demo.gts Renames ScreenshotCard command usage to tool usage.
packages/experiments-realm/google-image-search.gts Renames SearchGoogleImages command usage to tool usage.
packages/experiments-realm/commands/create-show-card-request.ts Renames dependent command invocations to tool invocations.
packages/experiments-realm/commands/create-patch-card-instance-request.ts Renames dependent command invocations to tool invocations.
packages/experiments-realm/commands/bot-request-utils.ts Renames InviteUserToRoom command usage to tool usage.
packages/experiments-realm/bot-request-demo.gts Renames CreateListingPRRequest command usage to tool usage.
packages/eslint-plugin-cardstack-host/lib/rules/host-tools-registered.js Updates lint rule to expect HostToolClasses and HostBaseTool usage.
packages/base/spec.gts Renames imported tools used by Spec flows.
packages/base/skill.gts Re-exports ToolField alongside CommandField.
packages/base/skill-frontmatter-field.gts Updates comment to reference the new host helper name.
packages/base/resources/command-data.ts Makes runtime-common imports type-only and updates examples to *Tool names.
packages/base/realm.gts Renames GetAllRealmMetas command usage to tool usage.
packages/base/default-templates/missing-template.gts Renames SwitchSubmode command usage to tool usage.
packages/base/commands/search-card-result.gts Updates data-test-* attribute to tool result naming.
packages/base/command.gts Introduces ToolCallStatus with CommandStatus alias.
packages/base/card-api.gts Renames PatchTheme/CopyAndEdit command usage to tool usage.
packages/base/ai-app-generator.gts Renames AskAi command usage to tool usage.
packages/ai-bot/tests/prompt-construction-test.ts Updates embedded test text/expectations to tool naming.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/host/tests/acceptance/code-submode/inspector-test.ts
Comment thread packages/host/tests/acceptance/code-submode/file-tree-test.ts Outdated
Comment thread packages/host/app/instance-initializers/legacy-tool-service-alias.ts Outdated
Realm content references tool classes by NAMED export — both as imports
(catalog/experiments modules) and in codeRefs (e.g. the base realm's
boxel-environment skill uses name: 'SearchCardsByTypeAndTitleCommand') —
so every renamed class keeps its pre-rename name as an alias export.
Without these, the loader's missing-export proxy throws during room
message processing, which left rooms unsettled and tool executions
without result events across seven CI shards.

Also from review: the file-tree test fixture's missed app/commands
import path, inspector-test's stale "Command" copy assertions, the
software-factory tsconfig mapping (both specifier prefixes -> app/tools),
ToolField description copy, and the alias initializer comment.

Verified in the browser harness: Acceptance | Commands (16/16) and
Integration | ai-assistant-panel | general (18/18) pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lukemelia
lukemelia changed the base branch from cs-12038-rename-command-tool-base-class-host-module-paths-with to main July 9, 2026 20:05
lukemelia and others added 2 commits July 9, 2026 16:32
…ename

The test finds the bot message via an any-cast `m.commands` read, which
the Message.tools rename made silently undefined.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@lukemelia
lukemelia merged commit 48c8c63 into main Jul 9, 2026
62 of 63 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants