@caupulican/pi-adaptative 0.80.8 → 0.80.9

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 (78) hide show
  1. package/dist/cli/args.d.ts +1 -0
  2. package/dist/cli/args.d.ts.map +1 -1
  3. package/dist/cli/args.js +16 -4
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +17 -2
  7. package/dist/cli.js.map +1 -1
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +9 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/core/auth-storage.d.ts.map +1 -1
  12. package/dist/core/auth-storage.js +4 -3
  13. package/dist/core/auth-storage.js.map +1 -1
  14. package/dist/core/export-html/template.js +19 -6
  15. package/dist/core/package-manager.d.ts +3 -0
  16. package/dist/core/package-manager.d.ts.map +1 -1
  17. package/dist/core/package-manager.js +47 -13
  18. package/dist/core/package-manager.js.map +1 -1
  19. package/dist/core/resource-loader.d.ts +1 -0
  20. package/dist/core/resource-loader.d.ts.map +1 -1
  21. package/dist/core/resource-loader.js +30 -22
  22. package/dist/core/resource-loader.js.map +1 -1
  23. package/dist/core/sdk.d.ts.map +1 -1
  24. package/dist/core/sdk.js +5 -3
  25. package/dist/core/sdk.js.map +1 -1
  26. package/dist/core/settings-manager.d.ts +10 -2
  27. package/dist/core/settings-manager.d.ts.map +1 -1
  28. package/dist/core/settings-manager.js +71 -30
  29. package/dist/core/settings-manager.js.map +1 -1
  30. package/dist/core/slash-commands.d.ts.map +1 -1
  31. package/dist/core/slash-commands.js +1 -0
  32. package/dist/core/slash-commands.js.map +1 -1
  33. package/dist/core/trust-manager.d.ts +9 -0
  34. package/dist/core/trust-manager.d.ts.map +1 -0
  35. package/dist/core/trust-manager.js +134 -0
  36. package/dist/core/trust-manager.js.map +1 -0
  37. package/dist/index.d.ts +2 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +1 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/main.d.ts.map +1 -1
  42. package/dist/main.js +65 -6
  43. package/dist/main.js.map +1 -1
  44. package/dist/modes/interactive/components/index.d.ts +1 -0
  45. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  46. package/dist/modes/interactive/components/index.js +1 -0
  47. package/dist/modes/interactive/components/index.js.map +1 -1
  48. package/dist/modes/interactive/components/login-dialog.d.ts +0 -1
  49. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  50. package/dist/modes/interactive/components/login-dialog.js +3 -12
  51. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  52. package/dist/modes/interactive/components/trust-selector.d.ts +20 -0
  53. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
  54. package/dist/modes/interactive/components/trust-selector.js +86 -0
  55. package/dist/modes/interactive/components/trust-selector.js.map +1 -0
  56. package/dist/modes/interactive/interactive-mode.d.ts +2 -0
  57. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  58. package/dist/modes/interactive/interactive-mode.js +39 -0
  59. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  60. package/dist/package-manager-cli.d.ts.map +1 -1
  61. package/dist/package-manager-cli.js +55 -8
  62. package/dist/package-manager-cli.js.map +1 -1
  63. package/dist/utils/git.d.ts.map +1 -1
  64. package/dist/utils/git.js +54 -22
  65. package/dist/utils/git.js.map +1 -1
  66. package/dist/utils/open-browser.d.ts +9 -0
  67. package/dist/utils/open-browser.d.ts.map +1 -0
  68. package/dist/utils/open-browser.js +22 -0
  69. package/dist/utils/open-browser.js.map +1 -0
  70. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  71. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  72. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  73. package/examples/extensions/sandbox/package-lock.json +2 -2
  74. package/examples/extensions/sandbox/package.json +1 -1
  75. package/examples/extensions/with-deps/package-lock.json +2 -2
  76. package/examples/extensions/with-deps/package.json +1 -1
  77. package/npm-shrinkwrap.json +12 -12
  78. package/package.json +4 -4
@@ -26,6 +26,7 @@ import { formatMissingSessionCwdPrompt, MissingSessionCwdError } from "../../cor
26
26
  import { isAutoLearnSessionId, SessionManager } from "../../core/session-manager.js";
27
27
  import { BUILTIN_SLASH_COMMANDS } from "../../core/slash-commands.js";
28
28
  import { isInstallTelemetryEnabled } from "../../core/telemetry.js";
29
+ import { hasProjectTrustInputs, ProjectTrustStore } from "../../core/trust-manager.js";
29
30
  import { getChangelogPath, getNewEntries, parseChangelog } from "../../utils/changelog.js";
30
31
  import { copyToClipboard } from "../../utils/clipboard.js";
31
32
  import { readClipboardImage } from "../../utils/clipboard-image.js";
@@ -63,6 +64,7 @@ import { ToolExecutionComponent } from "./components/tool-execution.js";
63
64
  import { ToolGroupComponent } from "./components/tool-group.js";
64
65
  import { getToolPanelActionKey, ToolPanelRegistry } from "./components/tool-panel-registry.js";
65
66
  import { TreeSelectorComponent } from "./components/tree-selector.js";
67
+ import { TrustSelectorComponent } from "./components/trust-selector.js";
66
68
  import { UserMessageComponent } from "./components/user-message.js";
67
69
  import { UserMessageSelectorComponent } from "./components/user-message-selector.js";
68
70
  import { getAvailableThemes, getAvailableThemesWithPaths, getEditorTheme, getMarkdownTheme, getThemeByName, initTheme, onThemeChange, setRegisteredThemes, setTheme, setThemeInstance, stopThemeWatcher, Theme, theme, } from "./theme/theme.js";
@@ -734,6 +736,7 @@ export class InteractiveMode {
734
736
  await this.rebindCurrentSession();
735
737
  // Render initial messages AFTER showing loaded resources
736
738
  this.renderInitialMessages();
739
+ this.renderProjectTrustWarningIfNeeded();
737
740
  // Set up theme file watcher
738
741
  onThemeChange(() => {
739
742
  this.ui.invalidate();
@@ -748,6 +751,15 @@ export class InteractiveMode {
748
751
  await this.updateAvailableProviderCount();
749
752
  this.updateAutoLearnFooter();
750
753
  }
754
+ renderProjectTrustWarningIfNeeded() {
755
+ if (this.settingsManager.isProjectTrusted() || !hasProjectTrustInputs(this.sessionManager.getCwd())) {
756
+ return;
757
+ }
758
+ if (this.chatContainer.children.length > 0) {
759
+ this.chatContainer.addChild(new Spacer(1));
760
+ }
761
+ this.chatContainer.addChild(new Text(theme.fg("warning", "This project is not trusted. Project instructions (AGENTS.md/CLAUDE.md/GEMINI.md), .pi resources, and project packages are ignored. Use /trust to save a trust decision, then restart pi."), 1, 0));
762
+ }
751
763
  /**
752
764
  * Update terminal title with session name and cwd.
753
765
  */
@@ -2419,6 +2431,11 @@ export class InteractiveMode {
2419
2431
  this.editor.setText("");
2420
2432
  return;
2421
2433
  }
2434
+ if (text === "/trust") {
2435
+ this.showTrustSelector();
2436
+ this.editor.setText("");
2437
+ return;
2438
+ }
2422
2439
  if (text === "/login" || text.startsWith("/login ")) {
2423
2440
  await this.showOAuthSelector("login", text.slice("/login".length).trim() || undefined);
2424
2441
  this.editor.setText("");
@@ -4980,6 +4997,28 @@ export class InteractiveMode {
4980
4997
  return { component: selector, focus: selector };
4981
4998
  });
4982
4999
  }
5000
+ showTrustSelector() {
5001
+ const cwd = this.sessionManager.getCwd();
5002
+ const trustStore = new ProjectTrustStore(this.runtimeHost.services.agentDir);
5003
+ const savedDecision = trustStore.get(cwd);
5004
+ this.showSelector((done) => {
5005
+ const selector = new TrustSelectorComponent({
5006
+ cwd,
5007
+ savedDecision,
5008
+ projectTrusted: this.settingsManager.isProjectTrusted(),
5009
+ onSelect: (trusted) => {
5010
+ trustStore.set(cwd, trusted);
5011
+ done();
5012
+ this.showStatus(`Saved trust decision: ${trusted ? "trusted" : "untrusted"}. Restart pi for this to take effect.`);
5013
+ },
5014
+ onCancel: () => {
5015
+ done();
5016
+ this.ui.requestRender();
5017
+ },
5018
+ });
5019
+ return { component: selector, focus: selector };
5020
+ });
5021
+ }
4983
5022
  showSessionSelector() {
4984
5023
  this.showSelector((done) => {
4985
5024
  const selector = new SessionSelectorComponent((onProgress) => SessionManager.list(this.sessionManager.getCwd(), this.sessionManager.getSessionDir(), onProgress), (onProgress) => this.sessionManager.usesDefaultSessionDir()