@astralyn/pi 0.82.7 → 0.83.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 (127) hide show
  1. package/CHANGELOG.md +34 -5099
  2. package/README.md +12 -111
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +9 -2
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/credential-print.d.ts +23 -0
  7. package/dist/cli/credential-print.d.ts.map +1 -0
  8. package/dist/cli/credential-print.js +116 -0
  9. package/dist/cli/credential-print.js.map +1 -0
  10. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  11. package/dist/core/agent-session-runtime.js +3 -0
  12. package/dist/core/agent-session-runtime.js.map +1 -1
  13. package/dist/core/agent-session.d.ts +1 -1
  14. package/dist/core/agent-session.d.ts.map +1 -1
  15. package/dist/core/agent-session.js +13 -6
  16. package/dist/core/agent-session.js.map +1 -1
  17. package/dist/core/extensions/runner.d.ts +1 -0
  18. package/dist/core/extensions/runner.d.ts.map +1 -1
  19. package/dist/core/extensions/runner.js +7 -0
  20. package/dist/core/extensions/runner.js.map +1 -1
  21. package/dist/core/extensions/types.d.ts +7 -0
  22. package/dist/core/extensions/types.d.ts.map +1 -1
  23. package/dist/core/extensions/types.js.map +1 -1
  24. package/dist/core/footer-data-provider.d.ts +10 -0
  25. package/dist/core/footer-data-provider.d.ts.map +1 -1
  26. package/dist/core/footer-data-provider.js +1 -1
  27. package/dist/core/footer-data-provider.js.map +1 -1
  28. package/dist/core/model-runtime.d.ts +2 -0
  29. package/dist/core/model-runtime.d.ts.map +1 -1
  30. package/dist/core/model-runtime.js.map +1 -1
  31. package/dist/core/package-manager.d.ts.map +1 -1
  32. package/dist/core/package-manager.js +13 -6
  33. package/dist/core/package-manager.js.map +1 -1
  34. package/dist/core/resource-loader.d.ts +15 -0
  35. package/dist/core/resource-loader.d.ts.map +1 -1
  36. package/dist/core/resource-loader.js +70 -9
  37. package/dist/core/resource-loader.js.map +1 -1
  38. package/dist/core/tools/find.d.ts.map +1 -1
  39. package/dist/core/tools/find.js +34 -4
  40. package/dist/core/tools/find.js.map +1 -1
  41. package/dist/core/trust-manager.d.ts.map +1 -1
  42. package/dist/core/trust-manager.js +48 -9
  43. package/dist/core/trust-manager.js.map +1 -1
  44. package/dist/extensions/index.d.ts.map +1 -1
  45. package/dist/extensions/index.js +0 -2
  46. package/dist/extensions/index.js.map +1 -1
  47. package/dist/extensions/llama/provider.d.ts.map +1 -1
  48. package/dist/extensions/llama/provider.js +1 -1
  49. package/dist/extensions/llama/provider.js.map +1 -1
  50. package/dist/main.d.ts.map +1 -1
  51. package/dist/main.js +43 -0
  52. package/dist/main.js.map +1 -1
  53. package/dist/modes/interactive/components/extension-selector.d.ts +1 -1
  54. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  55. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  56. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  57. package/dist/modes/interactive/components/model-selector.js +4 -1
  58. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  59. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  60. package/dist/modes/interactive/external-editor.js +40 -3
  61. package/dist/modes/interactive/external-editor.js.map +1 -1
  62. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  63. package/dist/modes/interactive/interactive-mode.js +20 -6
  64. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  65. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  66. package/dist/modes/rpc/rpc-mode.js +13 -0
  67. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  68. package/dist/utils/paths.d.ts +2 -3
  69. package/dist/utils/paths.d.ts.map +1 -1
  70. package/dist/utils/paths.js +2 -3
  71. package/dist/utils/paths.js.map +1 -1
  72. package/docs/bundled/README.md +13 -16
  73. package/docs/bundled/themes.md +1 -1
  74. package/docs/compaction.md +25 -30
  75. package/docs/custom-provider.md +298 -583
  76. package/docs/docs.json +0 -8
  77. package/docs/extensions.md +112 -116
  78. package/docs/index.md +18 -74
  79. package/docs/json.md +20 -14
  80. package/docs/models.md +193 -151
  81. package/docs/providers.md +2 -1
  82. package/docs/quickstart.md +3 -3
  83. package/docs/rpc.md +165 -123
  84. package/docs/sdk.md +119 -178
  85. package/docs/security.md +1 -1
  86. package/docs/session-format.md +139 -119
  87. package/docs/skills.md +0 -1
  88. package/docs/themes.md +2 -2
  89. package/docs/tui.md +411 -549
  90. package/docs/usage.md +3 -11
  91. package/examples/README.md +6 -1
  92. package/examples/extensions/README.md +13 -33
  93. package/examples/extensions/custom-provider-anthropic/index.ts +9 -3
  94. package/examples/extensions/dynamic-resources/dynamic.json +1 -1
  95. package/examples/extensions/truncated-tool.ts +2 -2
  96. package/examples/sdk/12-full-control.ts +2 -0
  97. package/npm-shrinkwrap.json +21 -21
  98. package/package.json +5 -5
  99. package/dist/extensions/plan/constants.d.ts +0 -68
  100. package/dist/extensions/plan/constants.d.ts.map +0 -1
  101. package/dist/extensions/plan/constants.js +0 -100
  102. package/dist/extensions/plan/constants.js.map +0 -1
  103. package/dist/extensions/plan/index.d.ts +0 -30
  104. package/dist/extensions/plan/index.d.ts.map +0 -1
  105. package/dist/extensions/plan/index.js +0 -429
  106. package/dist/extensions/plan/index.js.map +0 -1
  107. package/dist/extensions/plan/schema.d.ts +0 -20
  108. package/dist/extensions/plan/schema.d.ts.map +0 -1
  109. package/dist/extensions/plan/schema.js +0 -13
  110. package/dist/extensions/plan/schema.js.map +0 -1
  111. package/dist/extensions/plan/state.d.ts +0 -38
  112. package/dist/extensions/plan/state.d.ts.map +0 -1
  113. package/dist/extensions/plan/state.js +0 -96
  114. package/dist/extensions/plan/state.js.map +0 -1
  115. package/dist/extensions/plan/storage.d.ts +0 -26
  116. package/dist/extensions/plan/storage.d.ts.map +0 -1
  117. package/dist/extensions/plan/storage.js +0 -83
  118. package/dist/extensions/plan/storage.js.map +0 -1
  119. package/dist/extensions/plan/view.d.ts +0 -44
  120. package/dist/extensions/plan/view.d.ts.map +0 -1
  121. package/dist/extensions/plan/view.js +0 -149
  122. package/dist/extensions/plan/view.js.map +0 -1
  123. package/docs/bundled/extensions/README.md +0 -19
  124. package/docs/bundled/extensions/plan.md +0 -34
  125. package/examples/extensions/plan-mode/README.md +0 -66
  126. package/examples/extensions/plan-mode/index.ts +0 -390
  127. package/examples/extensions/plan-mode/utils.ts +0 -168
@@ -1110,7 +1110,12 @@ export class InteractiveMode {
1110
1110
  }
1111
1111
  }
1112
1112
  if (showListing) {
1113
- const contextFiles = this.session.resourceLoader.getAgentsFiles().agentsFiles;
1113
+ const systemPromptSource = this.session.resourceLoader.getSystemPromptSource();
1114
+ const contextFiles = [
1115
+ ...(systemPromptSource ? [systemPromptSource] : []),
1116
+ ...this.session.resourceLoader.getAppendSystemPromptSources(),
1117
+ ...this.session.resourceLoader.getAgentsFiles().agentsFiles,
1118
+ ];
1114
1119
  if (contextFiles.length > 0) {
1115
1120
  this.loadedResourcesContainer.addChild(new Spacer(1));
1116
1121
  const contextList = contextFiles
@@ -1310,16 +1315,19 @@ export class InteractiveMode {
1310
1315
  }
1311
1316
  }
1312
1317
  async rebindCurrentSession(options = {}) {
1318
+ const session = this.session;
1313
1319
  this.unsubscribe?.();
1314
1320
  this.unsubscribe = undefined;
1315
1321
  this.applyRuntimeSettings();
1316
1322
  if (options.renderBeforeBind) {
1317
1323
  this.renderCurrentSessionState();
1318
1324
  this.subscribeToAgent();
1319
- await this.bindCurrentSessionExtensions();
1320
1325
  }
1321
- else {
1322
- await this.bindCurrentSessionExtensions();
1326
+ await this.bindCurrentSessionExtensions();
1327
+ if (this.session !== session) {
1328
+ return;
1329
+ }
1330
+ if (!options.renderBeforeBind) {
1323
1331
  this.subscribeToAgent();
1324
1332
  }
1325
1333
  await this.updateAvailableProviderCount();
@@ -1413,6 +1421,7 @@ export class InteractiveMode {
1413
1421
  sessionManager: this.sessionManager,
1414
1422
  modelRegistry: extensionRunner.getModelRegistry(),
1415
1423
  model: this.session.model,
1424
+ scopedModels: this.session.scopedModels,
1416
1425
  thinkingLevel: this.session.thinkingLevel,
1417
1426
  isIdle: () => this.session.isIdle,
1418
1427
  isProjectTrusted: () => this.settingsManager.isProjectTrusted(),
@@ -3188,7 +3197,7 @@ export class InteractiveMode {
3188
3197
  }
3189
3198
  }
3190
3199
  }
3191
- this.ui.requestRender();
3200
+ this.showStatus(`Tool output: ${expanded ? "expanded" : "collapsed"}`);
3192
3201
  }
3193
3202
  toggleThinkingBlockVisibility() {
3194
3203
  this.hideThinkingBlock = !this.hideThinkingBlock;
@@ -3938,7 +3947,7 @@ export class InteractiveMode {
3938
3947
  this.showSelector((done) => {
3939
3948
  const selector = new TreeSelectorComponent(tree, realLeafId, this.ui.terminal.rows, async (entryId) => {
3940
3949
  // Selecting the current leaf is a no-op (already there)
3941
- if (entryId === realLeafId) {
3950
+ if (entryId === this.sessionManager.getLeafId()) {
3942
3951
  done();
3943
3952
  this.showStatus("Already at this point");
3944
3953
  return;
@@ -3973,6 +3982,11 @@ export class InteractiveMode {
3973
3982
  break;
3974
3983
  }
3975
3984
  }
3985
+ // The user committed to navigating: stop the active response first.
3986
+ if (this.session.isStreaming) {
3987
+ this.restoreQueuedMessagesToEditor();
3988
+ await this.session.abort();
3989
+ }
3976
3990
  // Set up escape handler and status indicator if summarizing
3977
3991
  let showingSummaryIndicator = false;
3978
3992
  const originalOnEscape = this.defaultEditor.onEscape;