@elyracode/coding-agent 0.6.4 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/bun/cli.d.ts.map +1 -1
- package/dist/bun/cli.js.map +1 -1
- package/dist/bun/register-bedrock.d.ts.map +1 -1
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -1
- package/dist/bun/restore-sandbox-env.js.map +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/initial-message.d.ts +1 -1
- package/dist/cli/initial-message.d.ts.map +1 -1
- package/dist/cli/initial-message.js.map +1 -1
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +0 -8
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +32 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +45 -69
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-guidance.d.ts.map +1 -1
- package/dist/core/auth-guidance.js.map +1 -1
- package/dist/core/auth-storage.d.ts +4 -0
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +4 -8
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/index.d.ts.map +1 -1
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js.map +1 -1
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
- package/dist/core/export-html/ansi-to-html.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +18 -25
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +15 -16
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +0 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/memory.d.ts.map +1 -1
- package/dist/core/memory.js.map +1 -1
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js.map +1 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +5 -7
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/output-guard.d.ts.map +1 -1
- package/dist/core/output-guard.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +0 -6
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/provider-display-names.d.ts.map +1 -1
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +0 -40
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-cwd.d.ts.map +1 -1
- package/dist/core/session-cwd.js +0 -1
- package/dist/core/session-cwd.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +7 -11
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +7 -16
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts +12 -0
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +26 -0
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +1 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/smart-router.d.ts.map +1 -1
- package/dist/core/smart-router.js.map +1 -1
- package/dist/core/source-info.d.ts.map +1 -1
- package/dist/core/source-info.js.map +1 -1
- package/dist/core/stack-detector.d.ts.map +1 -1
- package/dist/core/stack-detector.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +8 -5
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
- package/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +10 -16
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/path-utils.d.ts.map +1 -1
- package/dist/core/tools/path-utils.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/truncate.d.ts.map +1 -1
- package/dist/core/tools/truncate.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +0 -1
- package/dist/core/tools/write.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js.map +1 -1
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.js +6 -10
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +1 -6
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +4 -9
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +0 -3
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +1 -3
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +1 -3
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +6 -15
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.js +0 -5
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +1 -8
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +1 -6
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
- package/dist/modes/interactive/components/daxnuts.js +6 -8
- package/dist/modes/interactive/components/daxnuts.js.map +1 -1
- package/dist/modes/interactive/components/diff.d.ts.map +1 -1
- package/dist/modes/interactive/components/diff.js.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.js +0 -1
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +1 -6
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js +2 -8
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js +1 -8
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +2 -4
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +3 -9
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +8 -20
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +3 -12
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +9 -13
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +33 -58
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +0 -4
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js +0 -1
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +1 -3
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/startup-animation.d.ts.map +1 -1
- package/dist/modes/interactive/components/startup-animation.js +2 -7
- package/dist/modes/interactive/components/startup-animation.js.map +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js +0 -2
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +0 -1
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +9 -24
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +18 -32
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +3 -6
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +0 -1
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +12 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +98 -93
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +0 -6
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/jsonl.d.ts.map +1 -1
- package/dist/modes/rpc/jsonl.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +6 -7
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/child-process.d.ts.map +1 -1
- package/dist/utils/child-process.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/elyra-user-agent.d.ts.map +1 -1
- package/dist/utils/elyra-user-agent.js.map +1 -1
- package/dist/utils/exif-orientation.d.ts.map +1 -1
- package/dist/utils/exif-orientation.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/fs-watch.d.ts.map +1 -1
- package/dist/utils/fs-watch.js.map +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js.map +1 -1
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js.map +1 -1
- package/dist/utils/mime.d.ts.map +1 -1
- package/dist/utils/mime.js.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/photon.d.ts.map +1 -1
- package/dist/utils/photon.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/sleep.d.ts.map +1 -1
- package/dist/utils/sleep.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js.map +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/sdk/04-skills.ts +2 -0
- package/package.json +4 -4
|
@@ -65,8 +65,6 @@ function isExpandable(obj) {
|
|
|
65
65
|
return typeof obj === "object" && obj !== null && "setExpanded" in obj && typeof obj.setExpanded === "function";
|
|
66
66
|
}
|
|
67
67
|
class ExpandableText extends Text {
|
|
68
|
-
getCollapsedText;
|
|
69
|
-
getExpandedText;
|
|
70
68
|
constructor(getCollapsedText, getExpandedText, expanded = false, paddingX = 0, paddingY = 0) {
|
|
71
69
|
super(expanded ? getExpandedText() : getCollapsedText(), paddingX, paddingY);
|
|
72
70
|
this.getCollapsedText = getCollapsedText;
|
|
@@ -106,90 +104,6 @@ export function isApiKeyLoginProvider(providerId, oauthProviderIds, builtInProvi
|
|
|
106
104
|
return !oauthProviderIds.has(providerId);
|
|
107
105
|
}
|
|
108
106
|
export class InteractiveMode {
|
|
109
|
-
options;
|
|
110
|
-
runtimeHost;
|
|
111
|
-
ui;
|
|
112
|
-
chatContainer;
|
|
113
|
-
pendingMessagesContainer;
|
|
114
|
-
statusContainer;
|
|
115
|
-
defaultEditor;
|
|
116
|
-
editor;
|
|
117
|
-
editorComponentFactory;
|
|
118
|
-
autocompleteProvider;
|
|
119
|
-
autocompleteProviderWrappers = [];
|
|
120
|
-
fdPath;
|
|
121
|
-
editorContainer;
|
|
122
|
-
footer;
|
|
123
|
-
footerDataProvider;
|
|
124
|
-
// Stored so the same manager can be injected into custom editors, selectors, and extension UI.
|
|
125
|
-
keybindings;
|
|
126
|
-
version;
|
|
127
|
-
isInitialized = false;
|
|
128
|
-
onInputCallback;
|
|
129
|
-
loadingAnimation = undefined;
|
|
130
|
-
workingMessage = undefined;
|
|
131
|
-
workingVisible = true;
|
|
132
|
-
workingIndicatorOptions = undefined;
|
|
133
|
-
defaultWorkingMessage = "Working...";
|
|
134
|
-
defaultHiddenThinkingLabel = "Thinking...";
|
|
135
|
-
hiddenThinkingLabel = this.defaultHiddenThinkingLabel;
|
|
136
|
-
lastSigintTime = 0;
|
|
137
|
-
lastEscapeTime = 0;
|
|
138
|
-
changelogMarkdown = undefined;
|
|
139
|
-
startupNoticesShown = false;
|
|
140
|
-
anthropicSubscriptionWarningShown = false;
|
|
141
|
-
// Status line tracking (for mutating immediately-sequential status updates)
|
|
142
|
-
lastStatusSpacer = undefined;
|
|
143
|
-
lastStatusText = undefined;
|
|
144
|
-
// Streaming message tracking
|
|
145
|
-
streamingComponent = undefined;
|
|
146
|
-
streamingMessage = undefined;
|
|
147
|
-
// Tool execution tracking: toolCallId -> component
|
|
148
|
-
pendingTools = new Map();
|
|
149
|
-
// Tool output expansion state
|
|
150
|
-
toolOutputExpanded = false;
|
|
151
|
-
// Thinking block visibility state
|
|
152
|
-
hideThinkingBlock = false;
|
|
153
|
-
// Skill commands: command name -> skill file path
|
|
154
|
-
skillCommands = new Map();
|
|
155
|
-
// Agent subscription unsubscribe function
|
|
156
|
-
unsubscribe;
|
|
157
|
-
signalCleanupHandlers = [];
|
|
158
|
-
// Track if editor is in bash mode (text starts with !)
|
|
159
|
-
isBashMode = false;
|
|
160
|
-
// Track current bash execution component
|
|
161
|
-
bashComponent = undefined;
|
|
162
|
-
// Track pending bash components (shown in pending area, moved to chat on submit)
|
|
163
|
-
pendingBashComponents = [];
|
|
164
|
-
// Auto-compaction state
|
|
165
|
-
autoCompactionLoader = undefined;
|
|
166
|
-
autoCompactionEscapeHandler;
|
|
167
|
-
// Auto-retry state
|
|
168
|
-
retryLoader = undefined;
|
|
169
|
-
retryCountdown = undefined;
|
|
170
|
-
retryEscapeHandler;
|
|
171
|
-
// Messages queued while compaction is running
|
|
172
|
-
compactionQueuedMessages = [];
|
|
173
|
-
// Shutdown state
|
|
174
|
-
shutdownRequested = false;
|
|
175
|
-
// Extension UI state
|
|
176
|
-
extensionSelector = undefined;
|
|
177
|
-
extensionInput = undefined;
|
|
178
|
-
extensionEditor = undefined;
|
|
179
|
-
extensionTerminalInputUnsubscribers = new Set();
|
|
180
|
-
// Extension widgets (components rendered above/below the editor)
|
|
181
|
-
extensionWidgetsAbove = new Map();
|
|
182
|
-
extensionWidgetsBelow = new Map();
|
|
183
|
-
widgetContainerAbove;
|
|
184
|
-
widgetContainerBelow;
|
|
185
|
-
// Custom footer from extension (undefined = use built-in footer)
|
|
186
|
-
customFooter = undefined;
|
|
187
|
-
// Header container that holds the built-in or custom header
|
|
188
|
-
headerContainer;
|
|
189
|
-
// Built-in header (logo + keybinding hints + changelog)
|
|
190
|
-
builtInHeader = undefined;
|
|
191
|
-
// Custom header from extension (undefined = use built-in header)
|
|
192
|
-
customHeader = undefined;
|
|
193
107
|
// Convenience accessors
|
|
194
108
|
get session() {
|
|
195
109
|
return this.runtimeHost.session;
|
|
@@ -205,6 +119,70 @@ export class InteractiveMode {
|
|
|
205
119
|
}
|
|
206
120
|
constructor(runtimeHost, options = {}) {
|
|
207
121
|
this.options = options;
|
|
122
|
+
this.autocompleteProviderWrappers = [];
|
|
123
|
+
this.isInitialized = false;
|
|
124
|
+
this.loadingAnimation = undefined;
|
|
125
|
+
this.workingMessage = undefined;
|
|
126
|
+
this.workingVisible = true;
|
|
127
|
+
this.workingIndicatorOptions = undefined;
|
|
128
|
+
this.defaultWorkingMessage = "Working...";
|
|
129
|
+
this.defaultHiddenThinkingLabel = "Thinking...";
|
|
130
|
+
this.hiddenThinkingLabel = this.defaultHiddenThinkingLabel;
|
|
131
|
+
this.lastSigintTime = 0;
|
|
132
|
+
this.lastEscapeTime = 0;
|
|
133
|
+
this.changelogMarkdown = undefined;
|
|
134
|
+
this.startupNoticesShown = false;
|
|
135
|
+
this.anthropicSubscriptionWarningShown = false;
|
|
136
|
+
// Status line tracking (for mutating immediately-sequential status updates)
|
|
137
|
+
this.lastStatusSpacer = undefined;
|
|
138
|
+
this.lastStatusText = undefined;
|
|
139
|
+
// Streaming message tracking
|
|
140
|
+
this.streamingComponent = undefined;
|
|
141
|
+
this.streamingMessage = undefined;
|
|
142
|
+
// Tool execution tracking: toolCallId -> component
|
|
143
|
+
this.pendingTools = new Map();
|
|
144
|
+
// Tool output expansion state
|
|
145
|
+
this.toolOutputExpanded = false;
|
|
146
|
+
// Thinking block visibility state
|
|
147
|
+
this.hideThinkingBlock = false;
|
|
148
|
+
// Skill commands: command name -> skill file path
|
|
149
|
+
this.skillCommands = new Map();
|
|
150
|
+
this.signalCleanupHandlers = [];
|
|
151
|
+
// Track if editor is in bash mode (text starts with !)
|
|
152
|
+
this.isBashMode = false;
|
|
153
|
+
// Track current bash execution component
|
|
154
|
+
this.bashComponent = undefined;
|
|
155
|
+
// Track pending bash components (shown in pending area, moved to chat on submit)
|
|
156
|
+
this.pendingBashComponents = [];
|
|
157
|
+
// Auto-compaction state
|
|
158
|
+
this.autoCompactionLoader = undefined;
|
|
159
|
+
// Auto-retry state
|
|
160
|
+
this.retryLoader = undefined;
|
|
161
|
+
this.retryCountdown = undefined;
|
|
162
|
+
// Messages queued while compaction is running
|
|
163
|
+
this.compactionQueuedMessages = [];
|
|
164
|
+
// Shutdown state
|
|
165
|
+
this.shutdownRequested = false;
|
|
166
|
+
// Extension UI state
|
|
167
|
+
this.extensionSelector = undefined;
|
|
168
|
+
this.extensionInput = undefined;
|
|
169
|
+
this.extensionEditor = undefined;
|
|
170
|
+
this.extensionTerminalInputUnsubscribers = new Set();
|
|
171
|
+
// Extension widgets (components rendered above/below the editor)
|
|
172
|
+
this.extensionWidgetsAbove = new Map();
|
|
173
|
+
this.extensionWidgetsBelow = new Map();
|
|
174
|
+
// Custom footer from extension (undefined = use built-in footer)
|
|
175
|
+
this.customFooter = undefined;
|
|
176
|
+
// Built-in header (logo + keybinding hints + changelog)
|
|
177
|
+
this.builtInHeader = undefined;
|
|
178
|
+
// Custom header from extension (undefined = use built-in header)
|
|
179
|
+
this.customHeader = undefined;
|
|
180
|
+
/**
|
|
181
|
+
* Gracefully shutdown the agent.
|
|
182
|
+
* Stops the TUI before emitting shutdown events so extension UI cleanup cannot
|
|
183
|
+
* repaint the final frame while the process is exiting.
|
|
184
|
+
*/
|
|
185
|
+
this.isShuttingDown = false;
|
|
208
186
|
this.runtimeHost = runtimeHost;
|
|
209
187
|
this.runtimeHost.setBeforeSessionInvalidate(() => {
|
|
210
188
|
this.resetExtensionUI();
|
|
@@ -1441,7 +1419,7 @@ export class InteractiveMode {
|
|
|
1441
1419
|
this.setHiddenThinkingLabel();
|
|
1442
1420
|
}
|
|
1443
1421
|
// Maximum total widget lines to prevent viewport overflow
|
|
1444
|
-
static MAX_WIDGET_LINES = 10;
|
|
1422
|
+
static { this.MAX_WIDGET_LINES = 10; }
|
|
1445
1423
|
/**
|
|
1446
1424
|
* Render all extension widgets to the widget container.
|
|
1447
1425
|
*/
|
|
@@ -1990,6 +1968,11 @@ export class InteractiveMode {
|
|
|
1990
1968
|
this.handleHelpCommand();
|
|
1991
1969
|
return;
|
|
1992
1970
|
}
|
|
1971
|
+
if (text === "/skills") {
|
|
1972
|
+
this.editor.setText("");
|
|
1973
|
+
this.handleSkillsCommand();
|
|
1974
|
+
return;
|
|
1975
|
+
}
|
|
1993
1976
|
if (text === "/init") {
|
|
1994
1977
|
this.editor.setText("");
|
|
1995
1978
|
await this.handleInitCommand();
|
|
@@ -2725,12 +2708,6 @@ export class InteractiveMode {
|
|
|
2725
2708
|
// Only called when editor is empty (enforced by CustomEditor)
|
|
2726
2709
|
void this.shutdown();
|
|
2727
2710
|
}
|
|
2728
|
-
/**
|
|
2729
|
-
* Gracefully shutdown the agent.
|
|
2730
|
-
* Stops the TUI before emitting shutdown events so extension UI cleanup cannot
|
|
2731
|
-
* repaint the final frame while the process is exiting.
|
|
2732
|
-
*/
|
|
2733
|
-
isShuttingDown = false;
|
|
2734
2711
|
async shutdown() {
|
|
2735
2712
|
if (this.isShuttingDown)
|
|
2736
2713
|
return;
|
|
@@ -3419,6 +3396,34 @@ export class InteractiveMode {
|
|
|
3419
3396
|
this.chatContainer.addChild(new Text(parts.join("\n"), 1, 0));
|
|
3420
3397
|
this.ui.requestRender();
|
|
3421
3398
|
}
|
|
3399
|
+
handleSkillsCommand() {
|
|
3400
|
+
const skills = this.session.resourceLoader.getSkills().skills;
|
|
3401
|
+
if (skills.length === 0) {
|
|
3402
|
+
this.showStatus("No skills loaded. Install extensions with /ext or add SKILL.md files to .elyra/skills/");
|
|
3403
|
+
return;
|
|
3404
|
+
}
|
|
3405
|
+
const lines = [];
|
|
3406
|
+
lines.push(theme.bold(`Skills (${skills.length})`));
|
|
3407
|
+
lines.push("");
|
|
3408
|
+
for (const skill of skills) {
|
|
3409
|
+
lines.push(` ${theme.fg("accent", skill.name)}`);
|
|
3410
|
+
const desc = skill.description.length > 80 ? `${skill.description.slice(0, 77)}...` : skill.description;
|
|
3411
|
+
lines.push(` ${theme.fg("dim", desc)}`);
|
|
3412
|
+
const details = [];
|
|
3413
|
+
if (skill.scripts.length > 0) {
|
|
3414
|
+
details.push(`${skill.scripts.length} script(s)`);
|
|
3415
|
+
}
|
|
3416
|
+
if (skill.references.length > 0) {
|
|
3417
|
+
details.push(`${skill.references.length} reference(s)`);
|
|
3418
|
+
}
|
|
3419
|
+
details.push(skill.sourceInfo.source || "local");
|
|
3420
|
+
lines.push(` ${theme.fg("dim", details.join(" \u00b7 "))}`);
|
|
3421
|
+
lines.push("");
|
|
3422
|
+
}
|
|
3423
|
+
this.chatContainer.addChild(new Spacer(1));
|
|
3424
|
+
this.chatContainer.addChild(new Text(lines.join("\n"), 1, 0));
|
|
3425
|
+
this.ui.requestRender();
|
|
3426
|
+
}
|
|
3422
3427
|
handleHelpCommand() {
|
|
3423
3428
|
const help = [
|
|
3424
3429
|
theme.bold("Elyra"),
|