@vaclav-synacek/pi-coding-agent-termux 0.50.3-0 → 0.50.7-0

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.
Files changed (70) hide show
  1. package/CHANGELOG.md +52 -1
  2. package/dist/core/agent-session.d.ts +8 -0
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +15 -0
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/extensions/runner.d.ts +1 -0
  7. package/dist/core/extensions/runner.d.ts.map +1 -1
  8. package/dist/core/extensions/runner.js +3 -0
  9. package/dist/core/extensions/runner.js.map +1 -1
  10. package/dist/core/extensions/types.d.ts +3 -0
  11. package/dist/core/extensions/types.d.ts.map +1 -1
  12. package/dist/core/extensions/types.js.map +1 -1
  13. package/dist/core/model-registry.d.ts.map +1 -1
  14. package/dist/core/model-registry.js +6 -0
  15. package/dist/core/model-registry.js.map +1 -1
  16. package/dist/core/package-manager.d.ts.map +1 -1
  17. package/dist/core/package-manager.js +98 -16
  18. package/dist/core/package-manager.js.map +1 -1
  19. package/dist/core/settings-manager.d.ts +4 -3
  20. package/dist/core/settings-manager.d.ts.map +1 -1
  21. package/dist/core/settings-manager.js +25 -12
  22. package/dist/core/settings-manager.js.map +1 -1
  23. package/dist/core/tools/path-utils.d.ts.map +1 -1
  24. package/dist/core/tools/path-utils.js +28 -3
  25. package/dist/core/tools/path-utils.js.map +1 -1
  26. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  27. package/dist/modes/interactive/components/config-selector.js +12 -1
  28. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  29. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  30. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  31. package/dist/modes/interactive/components/daxnuts.js +140 -0
  32. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  33. package/dist/modes/interactive/components/index.d.ts +1 -0
  34. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  35. package/dist/modes/interactive/components/index.js +1 -0
  36. package/dist/modes/interactive/components/index.js.map +1 -1
  37. package/dist/modes/interactive/components/settings-selector.d.ts +2 -2
  38. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  39. package/dist/modes/interactive/components/settings-selector.js +1 -1
  40. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  41. package/dist/modes/interactive/interactive-mode.d.ts +2 -0
  42. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  43. package/dist/modes/interactive/interactive-mode.js +31 -10
  44. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  45. package/dist/modes/rpc/rpc-client.d.ts +4 -0
  46. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  47. package/dist/modes/rpc/rpc-client.js +6 -0
  48. package/dist/modes/rpc/rpc-client.js.map +1 -1
  49. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  50. package/dist/modes/rpc/rpc-mode.js +9 -0
  51. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  52. package/dist/modes/rpc/rpc-types.d.ts +10 -0
  53. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  54. package/dist/modes/rpc/rpc-types.js.map +1 -1
  55. package/dist/utils/clipboard.d.ts.map +1 -1
  56. package/dist/utils/clipboard.js +4 -0
  57. package/dist/utils/clipboard.js.map +1 -1
  58. package/docs/extensions.md +12 -0
  59. package/docs/keybindings.md +4 -2
  60. package/docs/models.md +32 -0
  61. package/docs/providers.md +2 -1
  62. package/docs/rpc.md +21 -1
  63. package/examples/extensions/antigravity-image-gen.ts +1 -1
  64. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  65. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  66. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  67. package/examples/extensions/system-prompt-header.ts +17 -0
  68. package/examples/extensions/with-deps/package-lock.json +2 -2
  69. package/examples/extensions/with-deps/package.json +1 -1
  70. package/package.json +5 -4
@@ -28,6 +28,7 @@ import { BranchSummaryMessageComponent } from "./components/branch-summary-messa
28
28
  import { CompactionSummaryMessageComponent } from "./components/compaction-summary-message.js";
29
29
  import { CustomEditor } from "./components/custom-editor.js";
30
30
  import { CustomMessageComponent } from "./components/custom-message.js";
31
+ import { DaxnutsComponent } from "./components/daxnuts.js";
31
32
  import { DynamicBorder } from "./components/dynamic-border.js";
32
33
  import { ExtensionEditorComponent } from "./components/extension-editor.js";
33
34
  import { ExtensionInputComponent } from "./components/extension-input.js";
@@ -869,6 +870,7 @@ export class InteractiveMode {
869
870
  }
870
871
  })();
871
872
  },
873
+ getSystemPrompt: () => this.session.systemPrompt,
872
874
  });
873
875
  // Set up the extension shortcut handler on the default editor
874
876
  this.defaultEditor.onExtensionShortcut = (data) => {
@@ -1392,19 +1394,22 @@ export class InteractiveMode {
1392
1394
  this.updateEditorBorderColor();
1393
1395
  }
1394
1396
  else if (!this.editor.getText().trim()) {
1395
- // Double-escape with empty editor triggers /tree or /fork based on setting
1396
- const now = Date.now();
1397
- if (now - this.lastEscapeTime < 500) {
1398
- if (this.settingsManager.getDoubleEscapeAction() === "tree") {
1399
- this.showTreeSelector();
1397
+ // Double-escape with empty editor triggers /tree, /fork, or nothing based on setting
1398
+ const action = this.settingsManager.getDoubleEscapeAction();
1399
+ if (action !== "none") {
1400
+ const now = Date.now();
1401
+ if (now - this.lastEscapeTime < 500) {
1402
+ if (action === "tree") {
1403
+ this.showTreeSelector();
1404
+ }
1405
+ else {
1406
+ this.showUserMessageSelector();
1407
+ }
1408
+ this.lastEscapeTime = 0;
1400
1409
  }
1401
1410
  else {
1402
- this.showUserMessageSelector();
1411
+ this.lastEscapeTime = now;
1403
1412
  }
1404
- this.lastEscapeTime = 0;
1405
- }
1406
- else {
1407
- this.lastEscapeTime = now;
1408
1413
  }
1409
1414
  }
1410
1415
  };
@@ -2601,6 +2606,7 @@ export class InteractiveMode {
2601
2606
  this.footer.invalidate();
2602
2607
  this.updateEditorBorderColor();
2603
2608
  this.showStatus(`Model: ${model.id}`);
2609
+ this.checkDaxnutsEasterEgg(model);
2604
2610
  }
2605
2611
  catch (error) {
2606
2612
  this.showError(error instanceof Error ? error.message : String(error));
@@ -2660,6 +2666,7 @@ export class InteractiveMode {
2660
2666
  this.updateEditorBorderColor();
2661
2667
  done();
2662
2668
  this.showStatus(`Model: ${model.id}`);
2669
+ this.checkDaxnutsEasterEgg(model);
2663
2670
  }
2664
2671
  catch (error) {
2665
2672
  done();
@@ -3333,6 +3340,8 @@ export class InteractiveMode {
3333
3340
  const cursorWordRight = this.getEditorKeyDisplay("cursorWordRight");
3334
3341
  const cursorLineStart = this.getEditorKeyDisplay("cursorLineStart");
3335
3342
  const cursorLineEnd = this.getEditorKeyDisplay("cursorLineEnd");
3343
+ const jumpForward = this.getEditorKeyDisplay("jumpForward");
3344
+ const jumpBackward = this.getEditorKeyDisplay("jumpBackward");
3336
3345
  const pageUp = this.getEditorKeyDisplay("pageUp");
3337
3346
  const pageDown = this.getEditorKeyDisplay("pageDown");
3338
3347
  // Editing keybindings
@@ -3367,6 +3376,8 @@ export class InteractiveMode {
3367
3376
  | \`${cursorWordLeft}\` / \`${cursorWordRight}\` | Move by word |
3368
3377
  | \`${cursorLineStart}\` | Start of line |
3369
3378
  | \`${cursorLineEnd}\` | End of line |
3379
+ | \`${jumpForward}\` | Jump forward to character |
3380
+ | \`${jumpBackward}\` | Jump backward to character |
3370
3381
  | \`${pageUp}\` / \`${pageDown}\` | Scroll by page |
3371
3382
 
3372
3383
  **Editing**
@@ -3480,6 +3491,16 @@ export class InteractiveMode {
3480
3491
  this.chatContainer.addChild(new ArminComponent(this.ui));
3481
3492
  this.ui.requestRender();
3482
3493
  }
3494
+ handleDaxnuts() {
3495
+ this.chatContainer.addChild(new Spacer(1));
3496
+ this.chatContainer.addChild(new DaxnutsComponent(this.ui));
3497
+ this.ui.requestRender();
3498
+ }
3499
+ checkDaxnutsEasterEgg(model) {
3500
+ if (model.provider === "opencode" && model.id.toLowerCase().includes("kimi-k2.5")) {
3501
+ this.handleDaxnuts();
3502
+ }
3503
+ }
3483
3504
  async handleBashCommand(command, excludeFromContext = false) {
3484
3505
  const extensionRunner = this.session.extensionRunner;
3485
3506
  // Emit user_bash event to let extensions intercept