@code-yeongyu/senpi 2026.5.29-4 → 2026.6.2

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 (121) hide show
  1. package/CHANGELOG.md +41 -1
  2. package/README.md +8 -2
  3. package/dist/cli/args.d.ts +1 -0
  4. package/dist/cli/args.d.ts.map +1 -1
  5. package/dist/cli/args.js +13 -0
  6. package/dist/cli/args.js.map +1 -1
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +9 -1
  9. package/dist/config.js.map +1 -1
  10. package/dist/core/agent-session.d.ts +5 -1
  11. package/dist/core/agent-session.d.ts.map +1 -1
  12. package/dist/core/agent-session.js +18 -2
  13. package/dist/core/agent-session.js.map +1 -1
  14. package/dist/core/compaction/branch-summarization.d.ts +3 -1
  15. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  16. package/dist/core/compaction/branch-summarization.js +9 -3
  17. package/dist/core/compaction/branch-summarization.js.map +1 -1
  18. package/dist/core/extensions/index.d.ts +1 -1
  19. package/dist/core/extensions/index.d.ts.map +1 -1
  20. package/dist/core/extensions/index.js.map +1 -1
  21. package/dist/core/extensions/runner.d.ts +4 -2
  22. package/dist/core/extensions/runner.d.ts.map +1 -1
  23. package/dist/core/extensions/runner.js +13 -1
  24. package/dist/core/extensions/runner.js.map +1 -1
  25. package/dist/core/extensions/types.d.ts +7 -1
  26. package/dist/core/extensions/types.d.ts.map +1 -1
  27. package/dist/core/extensions/types.js.map +1 -1
  28. package/dist/core/footer-data-provider.d.ts +2 -0
  29. package/dist/core/footer-data-provider.d.ts.map +1 -1
  30. package/dist/core/footer-data-provider.js +29 -1
  31. package/dist/core/footer-data-provider.js.map +1 -1
  32. package/dist/core/model-resolver.d.ts.map +1 -1
  33. package/dist/core/model-resolver.js +1 -0
  34. package/dist/core/model-resolver.js.map +1 -1
  35. package/dist/core/provider-attribution.d.ts +4 -0
  36. package/dist/core/provider-attribution.d.ts.map +1 -0
  37. package/dist/core/provider-attribution.js +73 -0
  38. package/dist/core/provider-attribution.js.map +1 -0
  39. package/dist/core/provider-display-names.d.ts.map +1 -1
  40. package/dist/core/provider-display-names.js +1 -0
  41. package/dist/core/provider-display-names.js.map +1 -1
  42. package/dist/core/sdk.d.ts.map +1 -1
  43. package/dist/core/sdk.js +8 -34
  44. package/dist/core/sdk.js.map +1 -1
  45. package/dist/core/session-manager.d.ts.map +1 -1
  46. package/dist/core/session-manager.js +92 -68
  47. package/dist/core/session-manager.js.map +1 -1
  48. package/dist/core/tools/edit.d.ts.map +1 -1
  49. package/dist/core/tools/edit.js +7 -10
  50. package/dist/core/tools/edit.js.map +1 -1
  51. package/dist/core/tools/find.d.ts.map +1 -1
  52. package/dist/core/tools/find.js.map +1 -1
  53. package/dist/core/tools/grep.d.ts.map +1 -1
  54. package/dist/core/tools/grep.js.map +1 -1
  55. package/dist/core/tools/ls.d.ts.map +1 -1
  56. package/dist/core/tools/ls.js +5 -7
  57. package/dist/core/tools/ls.js.map +1 -1
  58. package/dist/core/tools/read.d.ts.map +1 -1
  59. package/dist/core/tools/read.js +6 -7
  60. package/dist/core/tools/read.js.map +1 -1
  61. package/dist/core/tools/render-utils.d.ts +5 -2
  62. package/dist/core/tools/render-utils.d.ts.map +1 -1
  63. package/dist/core/tools/render-utils.js +17 -1
  64. package/dist/core/tools/render-utils.js.map +1 -1
  65. package/dist/core/tools/write.d.ts.map +1 -1
  66. package/dist/core/tools/write.js +5 -6
  67. package/dist/core/tools/write.js.map +1 -1
  68. package/dist/index.d.ts +2 -0
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +2 -0
  71. package/dist/index.js.map +1 -1
  72. package/dist/main.d.ts.map +1 -1
  73. package/dist/main.js +8 -0
  74. package/dist/main.js.map +1 -1
  75. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  76. package/dist/modes/interactive/components/tool-execution.js +25 -1
  77. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  78. package/dist/modes/interactive/interactive-mode.d.ts +3 -0
  79. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  80. package/dist/modes/interactive/interactive-mode.js +39 -0
  81. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  82. package/dist/modes/print-mode.d.ts.map +1 -1
  83. package/dist/modes/print-mode.js +1 -0
  84. package/dist/modes/print-mode.js.map +1 -1
  85. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  86. package/dist/modes/rpc/rpc-mode.js +1 -0
  87. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  88. package/docs/extensions.md +35 -11
  89. package/docs/providers.md +2 -0
  90. package/docs/quickstart.md +1 -0
  91. package/docs/rpc.md +3 -2
  92. package/docs/session-format.md +1 -1
  93. package/docs/sessions.md +8 -0
  94. package/docs/settings.md +1 -1
  95. package/docs/terminal-setup.md +2 -0
  96. package/docs/tui.md +12 -3
  97. package/docs/usage.md +6 -1
  98. package/examples/extensions/custom-header.ts +1 -1
  99. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  100. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  101. package/examples/extensions/custom-provider-gitlab-duo/index.ts +53 -2
  102. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  103. package/examples/extensions/doom-overlay/index.ts +1 -1
  104. package/examples/extensions/handoff.ts +1 -1
  105. package/examples/extensions/interactive-shell.ts +1 -1
  106. package/examples/extensions/overlay-qa-tests.ts +152 -81
  107. package/examples/extensions/qna.ts +1 -1
  108. package/examples/extensions/question.ts +1 -1
  109. package/examples/extensions/questionnaire.ts +1 -1
  110. package/examples/extensions/sandbox/package-lock.json +2 -2
  111. package/examples/extensions/sandbox/package.json +1 -1
  112. package/examples/extensions/snake.ts +1 -1
  113. package/examples/extensions/space-invaders.ts +1 -1
  114. package/examples/extensions/summarize.ts +1 -1
  115. package/examples/extensions/tic-tac-toe.ts +1 -1
  116. package/examples/extensions/todo.ts +1 -1
  117. package/examples/extensions/tools.ts +5 -0
  118. package/examples/extensions/with-deps/package-lock.json +2 -2
  119. package/examples/extensions/with-deps/package.json +1 -1
  120. package/npm-shrinkwrap.json +12 -12
  121. package/package.json +4 -4
@@ -117,7 +117,9 @@ export class AgentSession {
117
117
  _baseToolsOverride;
118
118
  _sessionStartEvent;
119
119
  _extensionUIContext;
120
+ _extensionMode = "print";
120
121
  _extensionCommandContextActions;
122
+ _extensionAbortHandler;
121
123
  _extensionShutdownHandler;
122
124
  _extensionErrorListener;
123
125
  _extensionErrorUnsubscriber;
@@ -1939,9 +1941,15 @@ export class AgentSession {
1939
1941
  if (bindings.uiContext !== undefined) {
1940
1942
  this._extensionUIContext = bindings.uiContext;
1941
1943
  }
1944
+ if (bindings.mode !== undefined) {
1945
+ this._extensionMode = bindings.mode;
1946
+ }
1942
1947
  if (bindings.commandContextActions !== undefined) {
1943
1948
  this._extensionCommandContextActions = bindings.commandContextActions;
1944
1949
  }
1950
+ if (bindings.abortHandler !== undefined) {
1951
+ this._extensionAbortHandler = bindings.abortHandler;
1952
+ }
1945
1953
  if (bindings.shutdownHandler !== undefined) {
1946
1954
  this._extensionShutdownHandler = bindings.shutdownHandler;
1947
1955
  }
@@ -1993,7 +2001,7 @@ export class AgentSession {
1993
2001
  return `extension:${name}`;
1994
2002
  }
1995
2003
  _applyExtensionBindings(runner) {
1996
- runner.setUIContext(this._extensionUIContext);
2004
+ runner.setUIContext(this._extensionUIContext, this._extensionMode);
1997
2005
  runner.setToolHookLifecycleObserver((event) => {
1998
2006
  this._emit(event);
1999
2007
  });
@@ -2085,7 +2093,13 @@ export class AgentSession {
2085
2093
  getServiceTier: () => this.serviceTier,
2086
2094
  isIdle: () => !this.isStreaming,
2087
2095
  getSignal: () => this.agent.signal,
2088
- abort: () => this.abort(),
2096
+ abort: () => {
2097
+ if (this._extensionAbortHandler) {
2098
+ this._extensionAbortHandler();
2099
+ return;
2100
+ }
2101
+ void this.abort();
2102
+ },
2089
2103
  hasPendingMessages: () => this.pendingMessageCount > 0,
2090
2104
  shutdown: () => {
2091
2105
  this._extensionShutdownHandler?.();
@@ -2137,6 +2151,7 @@ export class AgentSession {
2137
2151
  getMessageRevision: () => this.getMessageRevision(),
2138
2152
  applyCompaction: (precomputed, options) => this.applyCompaction(precomputed, options),
2139
2153
  getSystemPrompt: () => this.systemPrompt,
2154
+ getSystemPromptOptions: () => this._baseSystemPromptOptions,
2140
2155
  }, {
2141
2156
  registerProvider: (name, config) => {
2142
2157
  this._modelRegistry.registerProvider(name, config);
@@ -2648,6 +2663,7 @@ export class AgentSession {
2648
2663
  customInstructions,
2649
2664
  replaceInstructions,
2650
2665
  reserveTokens: branchSummarySettings.reserveTokens,
2666
+ streamFn: this.agent.streamFn,
2651
2667
  });
2652
2668
  if (result.aborted) {
2653
2669
  return { cancelled: true, aborted: true };