pi-namespace-patch 1.2.0-namespace.2 → 1.4.0-namespace.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 +102 -0
- package/README.md +5 -5
- package/dist/bundle/chunks/anthropic-messages-5FHV3XZG.js +6 -0
- package/dist/bundle/chunks/azure-openai-responses-KLTRI2FU.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +12 -9
- package/dist/bundle/chunks/{chunk-TRDNDS6A.js → chunk-3V45WARH.js} +6 -3
- package/dist/bundle/chunks/chunk-4GGCU36O.js +11 -0
- package/dist/bundle/chunks/{chunk-S3GGRYIO.js → chunk-5AGIVGSV.js} +1 -1
- package/dist/bundle/chunks/{chunk-F5ZABL6Z.js → chunk-7CBJINYJ.js} +2 -2
- package/dist/bundle/chunks/{chunk-DRQDKNXA.js → chunk-7DDKXS2Q.js} +1 -1
- package/dist/bundle/chunks/{chunk-CQ3XTLTY.js → chunk-A45IWOC6.js} +4 -4
- package/dist/bundle/chunks/{chunk-WJUNYZC5.js → chunk-BSS6T6KQ.js} +1 -1
- package/dist/bundle/chunks/{chunk-H3QXYIF7.js → chunk-CF5GWZHW.js} +1 -1
- package/dist/bundle/chunks/{chunk-DOST5PQW.js → chunk-EGE5YVUM.js} +1 -1
- package/dist/bundle/chunks/{chunk-C2AEIDJZ.js → chunk-FB6L7ZMV.js} +1 -1
- package/dist/bundle/chunks/chunk-H76KZMOI.js +2 -0
- package/dist/bundle/chunks/{chunk-GDR5JFDJ.js → chunk-INGZIYBC.js} +2 -2
- package/dist/bundle/chunks/{chunk-D7PHKNBM.js → chunk-IUWY2KTF.js} +11 -11
- package/dist/bundle/chunks/{chunk-4L3WN2XY.js → chunk-JXWJOIH4.js} +1 -1
- package/dist/bundle/chunks/{chunk-6CYCI3EJ.js → chunk-LVVZS2NO.js} +1 -1
- package/dist/bundle/chunks/{chunk-5GTPJSRI.js → chunk-N43LRJ4N.js} +1 -1
- package/dist/bundle/chunks/chunk-NFLURVK3.js +2 -0
- package/dist/bundle/chunks/chunk-QSDU2SDK.js +16 -0
- package/dist/bundle/chunks/chunk-RISAW7OQ.js +9 -0
- package/dist/bundle/chunks/{chunk-AKJ3ZOR3.js → chunk-RWO6Q3KK.js} +1 -1
- package/dist/bundle/chunks/{chunk-6MWTY2OB.js → chunk-T726RZZU.js} +10 -9
- package/dist/bundle/chunks/{chunk-ZBURYEWF.js → chunk-TMTOQ7H7.js} +1 -1
- package/dist/bundle/chunks/chunk-TRERZKRC.js +2 -0
- package/dist/bundle/chunks/{chunk-22CYIUS4.js → chunk-UKVNB6C4.js} +1 -1
- package/dist/bundle/chunks/chunk-Z6I32PHA.js +2 -0
- package/dist/bundle/chunks/{chunk-H7S5Z6OB.js → chunk-ZEIZZEGK.js} +42 -40
- package/dist/bundle/chunks/{cli-SWM4FQ6V.js → cli-MIMUTM5L.js} +1 -1
- package/dist/bundle/chunks/cloudflare-workers-ai-system-one-7J6REGDV.js +2 -0
- package/dist/bundle/chunks/{easter-egg-3d-OX6RUCIS.js → easter-egg-3d-RMLF7AC4.js} +1 -1
- package/dist/bundle/chunks/{execute-3CFUPDLS.js → execute-MT7QEDSI.js} +9 -3
- package/dist/bundle/chunks/github-copilot.js +1 -1
- package/dist/bundle/chunks/google-generative-ai-VPNFZDHO.js +2 -0
- package/dist/bundle/chunks/google-vertex-ZFM23MQ4.js +2 -0
- package/dist/bundle/chunks/https-proxy-agent-LVOO5TPL.js +13 -0
- package/dist/bundle/chunks/{jiti-loader-C3NU2SDH.js → jiti-loader-GL4HJFAD.js} +1 -1
- package/dist/bundle/chunks/{jiti-static-loader-E6ANQD5T.js → jiti-static-loader-2RCDI6B4.js} +1 -1
- package/dist/bundle/chunks/{lib-TEDK3E5I.js → lib-4AVRLBHM.js} +1 -1
- package/dist/bundle/chunks/{llama-cpp-classify-FYN623RH.js → llama-cpp-classify-U4EH6TAM.js} +2 -2
- package/dist/bundle/chunks/mistral-conversations-WCAJTBXO.js +5 -0
- package/dist/bundle/chunks/{multipart-parser-SQ6GDJL7.js → multipart-parser-FMGQ7342.js} +1 -1
- package/dist/bundle/chunks/{node-TWVVAGPO.js → node-AUOGOBCN.js} +1 -1
- package/dist/bundle/chunks/{node-N5BSDOA5.js → node-KCMANYC2.js} +1 -1
- package/dist/bundle/chunks/openai-codex-responses-JQR3IK2C.js +10 -0
- package/dist/bundle/chunks/openai-completions-27RKPL37.js +7 -0
- package/dist/bundle/chunks/{openai-decisions-WVPMQ4JD.js → openai-decisions-MJYPUCLX.js} +1 -1
- package/dist/bundle/chunks/openai-responses-I2TBW7OL.js +4 -0
- package/dist/bundle/chunks/openrouter-images-WBAVKHHY.js +2 -0
- package/dist/bundle/chunks/pi-messages-S7RKCD5K.js +8 -0
- package/dist/bundle/chunks/{runtime-366HE7CW.js → runtime-GJOZRI5I.js} +1 -1
- package/dist/bundle/chunks/{src-UK77SYZE.js → src-QKGKDFSU.js} +1 -1
- package/dist/bundle/chunks/typesafe-system-one-4C7ULOVP.js +2 -0
- package/dist/bundle/chunks/virtual-modules-6XWNE4NR.js +2 -0
- package/dist/bundle/cli-runtime.js +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/cli/credential-print.d.ts.map +1 -1
- package/dist/cli/credential-print.js +4 -4
- package/dist/cli/credential-print.js.map +1 -1
- package/dist/core/agent-session.d.ts +9 -3
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +45 -15
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/client-identity.d.ts +8 -0
- package/dist/core/client-identity.d.ts.map +1 -0
- package/dist/core/client-identity.js +15 -0
- package/dist/core/client-identity.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +1 -2
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +2 -2
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +20 -15
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +2 -0
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/template.html +1 -0
- package/dist/core/export-html/template.js +23 -17
- package/dist/core/export-html/vendor/marked-cjk-friendly.min.js +6 -0
- package/dist/core/export-html/vendor/marked.min.js +30 -29
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +3 -0
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/virtual-modules.d.ts.map +1 -1
- package/dist/core/extensions/virtual-modules.js +3 -0
- package/dist/core/extensions/virtual-modules.js.map +1 -1
- package/dist/core/model-config.d.ts +939 -8
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +48 -24
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-resolver.d.ts +56 -43
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +253 -358
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +6 -3
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +7 -2
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/provider-composer.d.ts +2 -1
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +7 -3
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +8 -9
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/settings-defaults.d.ts +1 -0
- package/dist/core/settings-defaults.d.ts.map +1 -1
- package/dist/core/settings-defaults.js +1 -0
- package/dist/core/settings-defaults.js.map +1 -1
- package/dist/core/settings-manager.d.ts +4 -2
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +11 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-schema.d.ts +2 -0
- package/dist/core/settings-schema.d.ts.map +1 -1
- package/dist/core/settings-schema.js +4 -0
- package/dist/core/settings-schema.js.map +1 -1
- package/dist/core/slash-commands.js +1 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +3 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +2 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +21 -0
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/renderers/read.d.ts.map +1 -1
- package/dist/core/tools/renderers/read.js +7 -11
- package/dist/core/tools/renderers/read.js.map +1 -1
- package/dist/extensions/codemode/execute.d.ts.map +1 -1
- package/dist/extensions/codemode/execute.js +101 -14
- package/dist/extensions/codemode/execute.js.map +1 -1
- package/dist/extensions/mcp/config.d.ts.map +1 -1
- package/dist/extensions/mcp/config.js +3 -2
- package/dist/extensions/mcp/config.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +3 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +10 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +2 -9
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +11 -15
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +76 -111
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/session-share.d.ts.map +1 -1
- package/dist/modes/interactive/session-share.js +9 -2
- package/dist/modes/interactive/session-share.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +2 -1
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/clipboard-command.d.ts.map +1 -1
- package/dist/utils/clipboard-command.js +3 -0
- package/dist/utils/clipboard-command.js.map +1 -1
- package/dist/utils/pi-user-agent.d.ts +1 -0
- package/dist/utils/pi-user-agent.d.ts.map +1 -1
- package/dist/utils/pi-user-agent.js +3 -2
- package/dist/utils/pi-user-agent.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +45 -13
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +4 -3
- package/dist/utils/tools-manager.js.map +1 -1
- package/docs/cli.md +3 -3
- package/docs/codemode.md +3 -1
- package/docs/compaction.md +3 -3
- package/docs/custom-provider.md +53 -1
- package/docs/docs.json +8 -0
- package/docs/environment-variables.md +1 -0
- package/docs/extensions.md +133 -10
- package/docs/llama-cpp.md +1 -1
- package/docs/models-configuration.md +196 -0
- package/docs/models.md +21 -5
- package/docs/nvidia-rtx-llama-cpp.md +96 -0
- package/docs/sessions.md +1 -1
- package/docs/settings.md +2 -1
- package/docs/tui.md +70 -0
- package/docs/usage.md +1 -1
- package/docs/windows.md +16 -2
- 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/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/minimal-mode.ts +4 -5
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/subagent/index.ts +4 -6
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +7 -6
- package/schemas/models.schema.json +88 -34
- package/schemas/settings.schema.json +18 -0
- package/dist/bundle/chunks/anthropic-messages-Q7SXESRX.js +0 -6
- package/dist/bundle/chunks/azure-openai-responses-LM52U7CK.js +0 -2
- package/dist/bundle/chunks/chunk-3ZATHNCK.js +0 -9
- package/dist/bundle/chunks/chunk-HACVPRBJ.js +0 -11
- package/dist/bundle/chunks/chunk-ITZNWD4K.js +0 -2
- package/dist/bundle/chunks/chunk-TN4NLWHF.js +0 -11
- package/dist/bundle/chunks/chunk-WBQBCFWG.js +0 -2
- package/dist/bundle/chunks/chunk-XIX7LUWI.js +0 -2
- package/dist/bundle/chunks/cloudflare-workers-ai-system-one-UTBL2KOF.js +0 -2
- package/dist/bundle/chunks/google-generative-ai-DXKP72HC.js +0 -2
- package/dist/bundle/chunks/google-vertex-W6SIDOVV.js +0 -2
- package/dist/bundle/chunks/https-proxy-agent-2VXB7436.js +0 -13
- package/dist/bundle/chunks/mistral-conversations-GBMHTSYF.js +0 -5
- package/dist/bundle/chunks/openai-codex-responses-RN6B5UPP.js +0 -10
- package/dist/bundle/chunks/openai-completions-QW2B4SML.js +0 -7
- package/dist/bundle/chunks/openai-responses-KDJUSIU7.js +0 -3
- package/dist/bundle/chunks/openrouter-images-DUPG5DZO.js +0 -2
- package/dist/bundle/chunks/pi-messages-YHKPQIHC.js +0 -8
- package/dist/bundle/chunks/typesafe-system-one-ZSK3RN4B.js +0 -2
- package/dist/bundle/chunks/virtual-modules-KHZAOPVZ.js +0 -2
- package/dist/core/provider-attribution.d.ts +0 -4
- package/dist/core/provider-attribution.d.ts.map +0 -1
- package/dist/core/provider-attribution.js +0 -72
- package/dist/core/provider-attribution.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAEN,KAAK,YAAY,EAKjB,MAAM,8BAA8B,CAAC;AActC,OAAO,EAYN,KAAK,QAAQ,EASb,MAAM,wBAAwB,CAAC;AAehC,OAAO,EAAE,KAAK,mBAAmB,EAAkC,MAAM,qCAAqC,CAAC;AAC/G,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAwC1F,OAAO,EAEN,cAAc,EAGd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAmBpF,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAuE1F,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -321,9 +321,9 @@ export class InteractiveMode {
|
|
|
321
321
|
bugReportHintShown = false;
|
|
322
322
|
installChangeWarningShown = false;
|
|
323
323
|
// Extension UI state
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
324
|
+
// Extension dialogs shown in the editor slot (select, confirm, input, editor, inline custom).
|
|
325
|
+
// The last entry is visible; see pushExtensionDialog().
|
|
326
|
+
extensionDialogs = [];
|
|
327
327
|
extensionTerminalInputSubscriptions = new Set();
|
|
328
328
|
// Extension widgets (components rendered above/below the editor)
|
|
329
329
|
extensionWidgetsAbove = new Map();
|
|
@@ -1906,14 +1906,12 @@ export class InteractiveMode {
|
|
|
1906
1906
|
this.renderWidgets();
|
|
1907
1907
|
}
|
|
1908
1908
|
resetExtensionUI() {
|
|
1909
|
-
if (this.
|
|
1910
|
-
this.
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
this.
|
|
1914
|
-
|
|
1915
|
-
if (this.extensionEditor) {
|
|
1916
|
-
this.hideExtensionEditor();
|
|
1909
|
+
if (this.extensionDialogs.length > 0) {
|
|
1910
|
+
for (const dialog of this.extensionDialogs) {
|
|
1911
|
+
dialog.component.dispose?.();
|
|
1912
|
+
}
|
|
1913
|
+
this.extensionDialogs = [];
|
|
1914
|
+
this.showTopExtensionDialog();
|
|
1917
1915
|
}
|
|
1918
1916
|
this.ui.hideOverlay();
|
|
1919
1917
|
this.clearExtensionTerminalInputListeners();
|
|
@@ -2113,6 +2111,35 @@ export class InteractiveMode {
|
|
|
2113
2111
|
setToolsExpanded: (expanded) => this.setToolsExpanded(expanded),
|
|
2114
2112
|
};
|
|
2115
2113
|
}
|
|
2114
|
+
/**
|
|
2115
|
+
* Show an extension dialog in the editor slot.
|
|
2116
|
+
* Dialogs form a stack: a new dialog hides the visible one, and closing the visible dialog shows
|
|
2117
|
+
* the previous one again. Every dialog stays answerable, so no dialog promise is left pending,
|
|
2118
|
+
* and dialogs opened from inside another dialog (for example a confirm from a custom component) work.
|
|
2119
|
+
*/
|
|
2120
|
+
pushExtensionDialog(component, blocked) {
|
|
2121
|
+
this.disposeActiveSelector();
|
|
2122
|
+
this.extensionDialogs.push({ component, blocked });
|
|
2123
|
+
this.showTopExtensionDialog();
|
|
2124
|
+
}
|
|
2125
|
+
/** Remove an extension dialog. If it was visible, show the previous dialog or the editor. */
|
|
2126
|
+
removeExtensionDialog(component) {
|
|
2127
|
+
const index = this.extensionDialogs.findIndex((dialog) => dialog.component === component);
|
|
2128
|
+
if (index === -1)
|
|
2129
|
+
return;
|
|
2130
|
+
this.extensionDialogs.splice(index, 1);
|
|
2131
|
+
if (index === this.extensionDialogs.length)
|
|
2132
|
+
this.showTopExtensionDialog();
|
|
2133
|
+
}
|
|
2134
|
+
showTopExtensionDialog() {
|
|
2135
|
+
const top = this.extensionDialogs.at(-1);
|
|
2136
|
+
const component = top?.component ?? this.editor;
|
|
2137
|
+
this.editorContainer.clear();
|
|
2138
|
+
this.editorContainer.addChild(component);
|
|
2139
|
+
this.ui.setFocus(component);
|
|
2140
|
+
this.programStatus.setBlocked("extension-dialog", top?.blocked);
|
|
2141
|
+
this.ui.requestRender();
|
|
2142
|
+
}
|
|
2116
2143
|
/**
|
|
2117
2144
|
* Show a selector for extensions.
|
|
2118
2145
|
*/
|
|
@@ -2122,41 +2149,18 @@ export class InteractiveMode {
|
|
|
2122
2149
|
resolve(undefined);
|
|
2123
2150
|
return;
|
|
2124
2151
|
}
|
|
2125
|
-
const
|
|
2126
|
-
this.hideExtensionSelector();
|
|
2127
|
-
resolve(undefined);
|
|
2128
|
-
};
|
|
2129
|
-
opts?.signal?.addEventListener("abort", onAbort, { once: true });
|
|
2130
|
-
this.extensionSelector = new ExtensionSelectorComponent(title, options, (option) => {
|
|
2152
|
+
const finish = (option) => {
|
|
2131
2153
|
opts?.signal?.removeEventListener("abort", onAbort);
|
|
2132
|
-
|
|
2154
|
+
selector.dispose();
|
|
2155
|
+
this.removeExtensionDialog(selector);
|
|
2133
2156
|
resolve(option);
|
|
2134
|
-
}
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
this.disposeActiveSelector();
|
|
2140
|
-
this.editorContainer.clear();
|
|
2141
|
-
this.editorContainer.addChild(this.extensionSelector);
|
|
2142
|
-
this.ui.setFocus(this.extensionSelector);
|
|
2143
|
-
// Extension dialogs share the editor slot: opening one replaces the status of a displaced one.
|
|
2144
|
-
this.programStatus.setBlocked("extension-dialog", blocked);
|
|
2145
|
-
this.ui.requestRender();
|
|
2157
|
+
};
|
|
2158
|
+
const onAbort = () => finish(undefined);
|
|
2159
|
+
opts?.signal?.addEventListener("abort", onAbort, { once: true });
|
|
2160
|
+
const selector = new ExtensionSelectorComponent(title, options, (option) => finish(option), () => finish(undefined), { tui: this.ui, timeout: opts?.timeout, onToggleToolsExpanded: () => this.toggleToolOutputExpansion() });
|
|
2161
|
+
this.pushExtensionDialog(selector, blocked);
|
|
2146
2162
|
});
|
|
2147
2163
|
}
|
|
2148
|
-
/**
|
|
2149
|
-
* Hide the extension selector.
|
|
2150
|
-
*/
|
|
2151
|
-
hideExtensionSelector() {
|
|
2152
|
-
this.extensionSelector?.dispose();
|
|
2153
|
-
this.editorContainer.clear();
|
|
2154
|
-
this.editorContainer.addChild(this.editor);
|
|
2155
|
-
this.extensionSelector = undefined;
|
|
2156
|
-
this.programStatus.setBlocked("extension-dialog", undefined);
|
|
2157
|
-
this.ui.setFocus(this.editor);
|
|
2158
|
-
this.ui.requestRender();
|
|
2159
|
-
}
|
|
2160
2164
|
/**
|
|
2161
2165
|
* Show a confirmation dialog for extensions.
|
|
2162
2166
|
*/
|
|
@@ -2180,71 +2184,31 @@ export class InteractiveMode {
|
|
|
2180
2184
|
resolve(undefined);
|
|
2181
2185
|
return;
|
|
2182
2186
|
}
|
|
2183
|
-
const
|
|
2184
|
-
this.hideExtensionInput();
|
|
2185
|
-
resolve(undefined);
|
|
2186
|
-
};
|
|
2187
|
-
opts?.signal?.addEventListener("abort", onAbort, { once: true });
|
|
2188
|
-
this.extensionInput = new ExtensionInputComponent(title, placeholder, (value) => {
|
|
2187
|
+
const finish = (value) => {
|
|
2189
2188
|
opts?.signal?.removeEventListener("abort", onAbort);
|
|
2190
|
-
|
|
2189
|
+
input.dispose();
|
|
2190
|
+
this.removeExtensionDialog(input);
|
|
2191
2191
|
resolve(value);
|
|
2192
|
-
}
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
this.disposeActiveSelector();
|
|
2198
|
-
this.editorContainer.clear();
|
|
2199
|
-
this.editorContainer.addChild(this.extensionInput);
|
|
2200
|
-
this.ui.setFocus(this.extensionInput);
|
|
2201
|
-
this.programStatus.setBlocked("extension-dialog", { kind: "question", message: title });
|
|
2202
|
-
this.ui.requestRender();
|
|
2192
|
+
};
|
|
2193
|
+
const onAbort = () => finish(undefined);
|
|
2194
|
+
opts?.signal?.addEventListener("abort", onAbort, { once: true });
|
|
2195
|
+
const input = new ExtensionInputComponent(title, placeholder, (value) => finish(value), () => finish(undefined), { tui: this.ui, timeout: opts?.timeout });
|
|
2196
|
+
this.pushExtensionDialog(input, { kind: "question", message: title });
|
|
2203
2197
|
});
|
|
2204
2198
|
}
|
|
2205
|
-
/**
|
|
2206
|
-
* Hide the extension input.
|
|
2207
|
-
*/
|
|
2208
|
-
hideExtensionInput() {
|
|
2209
|
-
this.extensionInput?.dispose();
|
|
2210
|
-
this.editorContainer.clear();
|
|
2211
|
-
this.editorContainer.addChild(this.editor);
|
|
2212
|
-
this.extensionInput = undefined;
|
|
2213
|
-
this.programStatus.setBlocked("extension-dialog", undefined);
|
|
2214
|
-
this.ui.setFocus(this.editor);
|
|
2215
|
-
this.ui.requestRender();
|
|
2216
|
-
}
|
|
2217
2199
|
/**
|
|
2218
2200
|
* Show a multi-line editor for extensions (with Ctrl+G support).
|
|
2219
2201
|
*/
|
|
2220
2202
|
showExtensionEditor(title, prefill) {
|
|
2221
2203
|
return new Promise((resolve) => {
|
|
2222
|
-
|
|
2223
|
-
this.
|
|
2204
|
+
const finish = (value) => {
|
|
2205
|
+
this.removeExtensionDialog(editor);
|
|
2224
2206
|
resolve(value);
|
|
2225
|
-
}
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
}, undefined, this.settingsManager.getExternalEditorCommand());
|
|
2229
|
-
this.disposeActiveSelector();
|
|
2230
|
-
this.editorContainer.clear();
|
|
2231
|
-
this.editorContainer.addChild(this.extensionEditor);
|
|
2232
|
-
this.ui.setFocus(this.extensionEditor);
|
|
2233
|
-
this.programStatus.setBlocked("extension-dialog", { kind: "question", message: title });
|
|
2234
|
-
this.ui.requestRender();
|
|
2207
|
+
};
|
|
2208
|
+
const editor = new ExtensionEditorComponent(this.ui, this.keybindings, title, prefill, (value) => finish(value), () => finish(undefined), undefined, this.settingsManager.getExternalEditorCommand());
|
|
2209
|
+
this.pushExtensionDialog(editor, { kind: "question", message: title });
|
|
2235
2210
|
});
|
|
2236
2211
|
}
|
|
2237
|
-
/**
|
|
2238
|
-
* Hide the extension editor.
|
|
2239
|
-
*/
|
|
2240
|
-
hideExtensionEditor() {
|
|
2241
|
-
this.editorContainer.clear();
|
|
2242
|
-
this.editorContainer.addChild(this.editor);
|
|
2243
|
-
this.extensionEditor = undefined;
|
|
2244
|
-
this.programStatus.setBlocked("extension-dialog", undefined);
|
|
2245
|
-
this.ui.setFocus(this.editor);
|
|
2246
|
-
this.ui.requestRender();
|
|
2247
|
-
}
|
|
2248
2212
|
/**
|
|
2249
2213
|
* Set a custom editor component from an extension.
|
|
2250
2214
|
* Pass undefined to restore the default editor.
|
|
@@ -2334,22 +2298,23 @@ export class InteractiveMode {
|
|
|
2334
2298
|
async showExtensionCustom(factory, options) {
|
|
2335
2299
|
const savedText = this.editor.getText();
|
|
2336
2300
|
const isOverlay = options?.overlay ?? false;
|
|
2337
|
-
const restoreEditor = () => {
|
|
2338
|
-
this.editorContainer.clear();
|
|
2339
|
-
this.editorContainer.addChild(this.editor);
|
|
2340
|
-
this.editor.setText(savedText);
|
|
2341
|
-
this.ui.setFocus(this.editor);
|
|
2342
|
-
this.ui.requestRender();
|
|
2343
|
-
};
|
|
2344
2301
|
return new Promise((resolve, reject) => {
|
|
2345
2302
|
let component;
|
|
2303
|
+
let overlayHandle;
|
|
2346
2304
|
let closed = false;
|
|
2305
|
+
const restoreEditor = () => {
|
|
2306
|
+
if (component)
|
|
2307
|
+
this.removeExtensionDialog(component);
|
|
2308
|
+
this.editor.setText(savedText);
|
|
2309
|
+
this.ui.requestRender();
|
|
2310
|
+
};
|
|
2347
2311
|
const close = (result) => {
|
|
2348
2312
|
if (closed)
|
|
2349
2313
|
return;
|
|
2350
2314
|
closed = true;
|
|
2315
|
+
// Remove this overlay, not the topmost one: another overlay may have opened above it.
|
|
2351
2316
|
if (isOverlay)
|
|
2352
|
-
|
|
2317
|
+
overlayHandle?.hide();
|
|
2353
2318
|
else
|
|
2354
2319
|
restoreEditor();
|
|
2355
2320
|
// Note: both branches above already call requestRender
|
|
@@ -2376,19 +2341,15 @@ export class InteractiveMode {
|
|
|
2376
2341
|
return opts;
|
|
2377
2342
|
}
|
|
2378
2343
|
// Fallback: use component's width property if available
|
|
2379
|
-
const w =
|
|
2344
|
+
const w = c.width;
|
|
2380
2345
|
return w ? { width: w } : undefined;
|
|
2381
2346
|
};
|
|
2382
|
-
|
|
2347
|
+
overlayHandle = this.ui.showOverlay(c, resolveOptions());
|
|
2383
2348
|
// Expose handle to caller for visibility control
|
|
2384
|
-
options?.onHandle?.(
|
|
2349
|
+
options?.onHandle?.(overlayHandle);
|
|
2385
2350
|
}
|
|
2386
2351
|
else {
|
|
2387
|
-
this.
|
|
2388
|
-
this.editorContainer.clear();
|
|
2389
|
-
this.editorContainer.addChild(component);
|
|
2390
|
-
this.ui.setFocus(component);
|
|
2391
|
-
this.ui.requestRender();
|
|
2352
|
+
this.pushExtensionDialog(c);
|
|
2392
2353
|
}
|
|
2393
2354
|
})
|
|
2394
2355
|
.catch((err) => {
|
|
@@ -4067,6 +4028,7 @@ export class InteractiveMode {
|
|
|
4067
4028
|
steeringMode: this.session.steeringMode,
|
|
4068
4029
|
followUpMode: this.session.followUpMode,
|
|
4069
4030
|
transport: this.settingsManager.getTransport(),
|
|
4031
|
+
sessionShareDestination: this.settingsManager.getSessionShareDestination(),
|
|
4070
4032
|
httpIdleTimeoutMs: this.settingsManager.getHttpIdleTimeoutMs(),
|
|
4071
4033
|
cacheWarmingMode: this.settingsManager.getCacheWarmingMode(),
|
|
4072
4034
|
thinkingLevel: this.settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL,
|
|
@@ -4137,6 +4099,9 @@ export class InteractiveMode {
|
|
|
4137
4099
|
this.settingsManager.setTransport(transport);
|
|
4138
4100
|
this.session.agent.transport = transport;
|
|
4139
4101
|
},
|
|
4102
|
+
onSessionShareDestinationChange: (destination) => {
|
|
4103
|
+
this.settingsManager.setSessionShareDestination(destination);
|
|
4104
|
+
},
|
|
4140
4105
|
onHttpIdleTimeoutMsChange: (timeoutMs) => {
|
|
4141
4106
|
this.settingsManager.setHttpIdleTimeoutMs(timeoutMs);
|
|
4142
4107
|
configureHttpDispatcher(timeoutMs);
|