diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 4b8e810b..293e127e 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -4,9 +4,11 @@ ### Added +- ExtensionAPI: `setModel()`, `getThinkingLevel()`, `setThinkingLevel()` methods for extensions to change model and thinking level at runtime ([#509](https://github.com/badlogic/pi-mono/issues/509)) - Exported truncation utilities for custom tools: `truncateHead`, `truncateTail`, `truncateLine`, `formatSize`, `DEFAULT_MAX_BYTES`, `DEFAULT_MAX_LINES`, `TruncationOptions`, `TruncationResult` - New example `truncated-tool.ts` demonstrating proper output truncation with custom rendering for extensions - Documentation for output truncation best practices in `docs/extensions.md` +- Exported all UI components for extensions: `ArminComponent`, `AssistantMessageComponent`, `BashExecutionComponent`, `BorderedLoader`, `BranchSummaryMessageComponent`, `CompactionSummaryMessageComponent`, `CustomEditor`, `CustomMessageComponent`, `DynamicBorder`, `ExtensionEditorComponent`, `ExtensionInputComponent`, `ExtensionSelectorComponent`, `FooterComponent`, `LoginDialogComponent`, `ModelSelectorComponent`, `OAuthSelectorComponent`, `SessionSelectorComponent`, `SettingsSelectorComponent`, `ShowImagesSelectorComponent`, `ThemeSelectorComponent`, `ThinkingSelectorComponent`, `ToolExecutionComponent`, `TreeSelectorComponent`, `UserMessageComponent`, `UserMessageSelectorComponent`, plus utilities `renderDiff`, `truncateToVisualLines` ## [0.37.4] - 2026-01-06 diff --git a/packages/coding-agent/src/index.ts b/packages/coding-agent/src/index.ts index 97e35e82..daca7825 100644 --- a/packages/coding-agent/src/index.ts +++ b/packages/coding-agent/src/index.ts @@ -195,7 +195,40 @@ export { // Main entry point export { main } from "./main.js"; // UI components for extensions -export { BorderedLoader } from "./modes/interactive/components/bordered-loader.js"; +export { + ArminComponent, + AssistantMessageComponent, + BashExecutionComponent, + BorderedLoader, + BranchSummaryMessageComponent, + CompactionSummaryMessageComponent, + CustomEditor, + CustomMessageComponent, + DynamicBorder, + ExtensionEditorComponent, + ExtensionInputComponent, + ExtensionSelectorComponent, + FooterComponent, + LoginDialogComponent, + ModelSelectorComponent, + OAuthSelectorComponent, + type RenderDiffOptions, + renderDiff, + SessionSelectorComponent, + type SettingsCallbacks, + type SettingsConfig, + SettingsSelectorComponent, + ShowImagesSelectorComponent, + ThemeSelectorComponent, + ThinkingSelectorComponent, + ToolExecutionComponent, + type ToolExecutionOptions, + TreeSelectorComponent, + truncateToVisualLines, + UserMessageComponent, + UserMessageSelectorComponent, + type VisualTruncateResult, +} from "./modes/interactive/components/index.js"; // Theme utilities for custom tools and extensions export { getMarkdownTheme, diff --git a/packages/coding-agent/src/modes/interactive/components/index.ts b/packages/coding-agent/src/modes/interactive/components/index.ts new file mode 100644 index 00000000..9ae7f7c3 --- /dev/null +++ b/packages/coding-agent/src/modes/interactive/components/index.ts @@ -0,0 +1,28 @@ +// UI Components for extensions +export { ArminComponent } from "./armin.js"; +export { AssistantMessageComponent } from "./assistant-message.js"; +export { BashExecutionComponent } from "./bash-execution.js"; +export { BorderedLoader } from "./bordered-loader.js"; +export { BranchSummaryMessageComponent } from "./branch-summary-message.js"; +export { CompactionSummaryMessageComponent } from "./compaction-summary-message.js"; +export { CustomEditor } from "./custom-editor.js"; +export { CustomMessageComponent } from "./custom-message.js"; +export { type RenderDiffOptions, renderDiff } from "./diff.js"; +export { DynamicBorder } from "./dynamic-border.js"; +export { ExtensionEditorComponent } from "./extension-editor.js"; +export { ExtensionInputComponent } from "./extension-input.js"; +export { ExtensionSelectorComponent } from "./extension-selector.js"; +export { FooterComponent } from "./footer.js"; +export { LoginDialogComponent } from "./login-dialog.js"; +export { ModelSelectorComponent } from "./model-selector.js"; +export { OAuthSelectorComponent } from "./oauth-selector.js"; +export { SessionSelectorComponent } from "./session-selector.js"; +export { type SettingsCallbacks, type SettingsConfig, SettingsSelectorComponent } from "./settings-selector.js"; +export { ShowImagesSelectorComponent } from "./show-images-selector.js"; +export { ThemeSelectorComponent } from "./theme-selector.js"; +export { ThinkingSelectorComponent } from "./thinking-selector.js"; +export { ToolExecutionComponent, type ToolExecutionOptions } from "./tool-execution.js"; +export { TreeSelectorComponent } from "./tree-selector.js"; +export { UserMessageComponent } from "./user-message.js"; +export { UserMessageSelectorComponent } from "./user-message-selector.js"; +export { truncateToVisualLines, type VisualTruncateResult } from "./visual-truncate.js";