@mariozechner/pi-coding-agent 0.52.9 → 0.52.10
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 +37 -0
- package/README.md +20 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +7 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +80 -5
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +1 -0
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +58 -7
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/model-resolver.d.ts +29 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +94 -4
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +35 -14
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +9 -16
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +3 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +18 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +4 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/utils/git.d.ts +5 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +14 -3
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +1 -1
- package/dist/utils/tools-manager.js.map +1 -1
- package/docs/extensions.md +44 -1
- package/docs/packages.md +5 -7
- package/docs/rpc.md +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/custom-provider-qwen-cli/package.json +1 -1
- package/examples/extensions/trigger-compact.ts +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +4 -4
|
@@ -111,6 +111,7 @@ export class InteractiveMode {
|
|
|
111
111
|
extensionSelector = undefined;
|
|
112
112
|
extensionInput = undefined;
|
|
113
113
|
extensionEditor = undefined;
|
|
114
|
+
extensionTerminalInputUnsubscribers = new Set();
|
|
114
115
|
// Extension widgets (components rendered above/below the editor)
|
|
115
116
|
extensionWidgetsAbove = new Map();
|
|
116
117
|
extensionWidgetsBelow = new Map();
|
|
@@ -966,6 +967,7 @@ export class InteractiveMode {
|
|
|
966
967
|
this.hideExtensionEditor();
|
|
967
968
|
}
|
|
968
969
|
this.ui.hideOverlay();
|
|
970
|
+
this.clearExtensionTerminalInputListeners();
|
|
969
971
|
this.setExtensionFooter(undefined);
|
|
970
972
|
this.setExtensionHeader(undefined);
|
|
971
973
|
this.clearExtensionWidgets();
|
|
@@ -1067,6 +1069,20 @@ export class InteractiveMode {
|
|
|
1067
1069
|
}
|
|
1068
1070
|
this.ui.requestRender();
|
|
1069
1071
|
}
|
|
1072
|
+
addExtensionTerminalInputListener(handler) {
|
|
1073
|
+
const unsubscribe = this.ui.addInputListener(handler);
|
|
1074
|
+
this.extensionTerminalInputUnsubscribers.add(unsubscribe);
|
|
1075
|
+
return () => {
|
|
1076
|
+
unsubscribe();
|
|
1077
|
+
this.extensionTerminalInputUnsubscribers.delete(unsubscribe);
|
|
1078
|
+
};
|
|
1079
|
+
}
|
|
1080
|
+
clearExtensionTerminalInputListeners() {
|
|
1081
|
+
for (const unsubscribe of this.extensionTerminalInputUnsubscribers) {
|
|
1082
|
+
unsubscribe();
|
|
1083
|
+
}
|
|
1084
|
+
this.extensionTerminalInputUnsubscribers.clear();
|
|
1085
|
+
}
|
|
1070
1086
|
/**
|
|
1071
1087
|
* Create the ExtensionUIContext for extensions.
|
|
1072
1088
|
*/
|
|
@@ -1076,6 +1092,7 @@ export class InteractiveMode {
|
|
|
1076
1092
|
confirm: (title, message, opts) => this.showExtensionConfirm(title, message, opts),
|
|
1077
1093
|
input: (title, placeholder, opts) => this.showExtensionInput(title, placeholder, opts),
|
|
1078
1094
|
notify: (message, type) => this.showExtensionNotify(message, type),
|
|
1095
|
+
onTerminalInput: (handler) => this.addExtensionTerminalInputListener(handler),
|
|
1079
1096
|
setStatus: (key, text) => this.setExtensionStatus(key, text),
|
|
1080
1097
|
setWorkingMessage: (message) => {
|
|
1081
1098
|
if (this.loadingAnimation) {
|
|
@@ -3672,6 +3689,7 @@ export class InteractiveMode {
|
|
|
3672
3689
|
this.loadingAnimation.stop();
|
|
3673
3690
|
this.loadingAnimation = undefined;
|
|
3674
3691
|
}
|
|
3692
|
+
this.clearExtensionTerminalInputListeners();
|
|
3675
3693
|
this.footer.dispose();
|
|
3676
3694
|
this.footerDataProvider.dispose();
|
|
3677
3695
|
if (this.unsubscribe) {
|