@code-yeongyu/senpi 2026.5.14 → 2026.5.15-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 (161) hide show
  1. package/CHANGELOG.md +1107 -1182
  2. package/README.md +1 -2
  3. package/dist/core/agent-session.d.ts +9 -0
  4. package/dist/core/agent-session.d.ts.map +1 -1
  5. package/dist/core/agent-session.js +109 -7
  6. package/dist/core/agent-session.js.map +1 -1
  7. package/dist/core/dynamic-prompt/verification.d.ts +31 -0
  8. package/dist/core/dynamic-prompt/verification.d.ts.map +1 -1
  9. package/dist/core/dynamic-prompt/verification.js +41 -0
  10. package/dist/core/dynamic-prompt/verification.js.map +1 -1
  11. package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
  12. package/dist/core/extensions/builtin/compaction/index.js +157 -29
  13. package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
  14. package/dist/core/extensions/builtin/compaction/openai-remote.d.ts +197 -0
  15. package/dist/core/extensions/builtin/compaction/openai-remote.d.ts.map +1 -0
  16. package/dist/core/extensions/builtin/compaction/openai-remote.js +690 -0
  17. package/dist/core/extensions/builtin/compaction/openai-remote.js.map +1 -0
  18. package/dist/core/extensions/builtin/compaction/prompts.d.ts +3 -3
  19. package/dist/core/extensions/builtin/compaction/prompts.d.ts.map +1 -1
  20. package/dist/core/extensions/builtin/compaction/prompts.js +0 -22
  21. package/dist/core/extensions/builtin/compaction/prompts.js.map +1 -1
  22. package/dist/core/extensions/builtin/compaction/repair-tool-pairs.d.ts +4 -0
  23. package/dist/core/extensions/builtin/compaction/repair-tool-pairs.d.ts.map +1 -0
  24. package/dist/core/extensions/builtin/compaction/repair-tool-pairs.js +48 -0
  25. package/dist/core/extensions/builtin/compaction/repair-tool-pairs.js.map +1 -0
  26. package/dist/core/extensions/builtin/compaction/speculative.d.ts +3 -1
  27. package/dist/core/extensions/builtin/compaction/speculative.d.ts.map +1 -1
  28. package/dist/core/extensions/builtin/compaction/speculative.js +82 -33
  29. package/dist/core/extensions/builtin/compaction/speculative.js.map +1 -1
  30. package/dist/core/extensions/builtin/compaction/todo-bridge.d.ts +8 -0
  31. package/dist/core/extensions/builtin/compaction/todo-bridge.d.ts.map +1 -1
  32. package/dist/core/extensions/builtin/compaction/todo-bridge.js +12 -6
  33. package/dist/core/extensions/builtin/compaction/todo-bridge.js.map +1 -1
  34. package/dist/core/extensions/builtin/index.d.ts.map +1 -1
  35. package/dist/core/extensions/builtin/index.js +0 -2
  36. package/dist/core/extensions/builtin/index.js.map +1 -1
  37. package/dist/core/extensions/builtin/permission-system/prompt.d.ts.map +1 -1
  38. package/dist/core/extensions/builtin/permission-system/prompt.js +0 -5
  39. package/dist/core/extensions/builtin/permission-system/prompt.js.map +1 -1
  40. package/dist/core/extensions/builtin/system-messages.d.ts +7 -7
  41. package/dist/core/extensions/builtin/system-messages.d.ts.map +1 -1
  42. package/dist/core/extensions/builtin/system-messages.js +10 -10
  43. package/dist/core/extensions/builtin/system-messages.js.map +1 -1
  44. package/dist/core/extensions/builtin/todotools/continuation/prompt.d.ts +1 -1
  45. package/dist/core/extensions/builtin/todotools/continuation/prompt.d.ts.map +1 -1
  46. package/dist/core/extensions/builtin/todotools/continuation/prompt.js +1 -1
  47. package/dist/core/extensions/builtin/todotools/continuation/prompt.js.map +1 -1
  48. package/dist/core/extensions/builtin/todotools/state.d.ts +1 -1
  49. package/dist/core/extensions/builtin/todotools/state.d.ts.map +1 -1
  50. package/dist/core/extensions/builtin/todotools/state.js +1 -1
  51. package/dist/core/extensions/builtin/todotools/state.js.map +1 -1
  52. package/dist/core/extensions/builtin/todotools/system-messages.d.ts +3 -3
  53. package/dist/core/extensions/builtin/todotools/system-messages.d.ts.map +1 -1
  54. package/dist/core/extensions/builtin/todotools/system-messages.js +6 -6
  55. package/dist/core/extensions/builtin/todotools/system-messages.js.map +1 -1
  56. package/dist/core/extensions/builtin/tool-pair-guard/index.d.ts +1 -1
  57. package/dist/core/extensions/builtin/tool-pair-guard/index.d.ts.map +1 -1
  58. package/dist/core/extensions/builtin/tool-pair-guard/index.js +8 -4
  59. package/dist/core/extensions/builtin/tool-pair-guard/index.js.map +1 -1
  60. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-chat-completions-payload.d.ts +3 -0
  61. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-chat-completions-payload.d.ts.map +1 -0
  62. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-chat-completions-payload.js +89 -0
  63. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-chat-completions-payload.js.map +1 -0
  64. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-responses-payload.d.ts +3 -0
  65. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-responses-payload.d.ts.map +1 -0
  66. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-responses-payload.js +122 -0
  67. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-responses-payload.js.map +1 -0
  68. package/dist/core/extensions/loader.d.ts.map +1 -1
  69. package/dist/core/extensions/loader.js +2 -0
  70. package/dist/core/extensions/loader.js.map +1 -1
  71. package/dist/core/extensions/runner.d.ts +3 -0
  72. package/dist/core/extensions/runner.d.ts.map +1 -1
  73. package/dist/core/extensions/runner.js +18 -0
  74. package/dist/core/extensions/runner.js.map +1 -1
  75. package/dist/core/extensions/types.d.ts +22 -0
  76. package/dist/core/extensions/types.d.ts.map +1 -1
  77. package/dist/core/extensions/types.js.map +1 -1
  78. package/dist/core/messages.d.ts +3 -3
  79. package/dist/core/messages.d.ts.map +1 -1
  80. package/dist/core/messages.js +5 -10
  81. package/dist/core/messages.js.map +1 -1
  82. package/dist/core/sdk.d.ts +1 -1
  83. package/dist/core/sdk.d.ts.map +1 -1
  84. package/dist/core/sdk.js +7 -22
  85. package/dist/core/sdk.js.map +1 -1
  86. package/dist/core/session-manager.d.ts.map +1 -1
  87. package/dist/core/session-manager.js +1 -1
  88. package/dist/core/session-manager.js.map +1 -1
  89. package/dist/core/settings-manager.d.ts +0 -5
  90. package/dist/core/settings-manager.d.ts.map +1 -1
  91. package/dist/core/settings-manager.js.map +1 -1
  92. package/dist/core/thinking-levels.d.ts +6 -0
  93. package/dist/core/thinking-levels.d.ts.map +1 -0
  94. package/dist/core/thinking-levels.js +36 -0
  95. package/dist/core/thinking-levels.js.map +1 -0
  96. package/dist/core/tools/bash.d.ts.map +1 -1
  97. package/dist/core/tools/bash.js +15 -1
  98. package/dist/core/tools/bash.js.map +1 -1
  99. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  100. package/dist/modes/interactive/components/compaction-summary-message.js +20 -2
  101. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  102. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  103. package/dist/modes/interactive/components/keybinding-hints.js +3 -1
  104. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  105. package/dist/modes/interactive/interactive-mode.d.ts +11 -0
  106. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  107. package/dist/modes/interactive/interactive-mode.js +96 -49
  108. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  109. package/docs/extensions.md +0 -1
  110. package/docs/index.md +0 -1
  111. package/docs/sdk.md +0 -1
  112. package/docs/settings.md +1 -29
  113. package/docs/termux.md +2 -2
  114. package/docs/usage.md +1 -1
  115. package/examples/README.md +1 -1
  116. package/examples/extensions/README.md +0 -1
  117. package/examples/extensions/overlay-qa-tests.ts +1 -1
  118. package/package.json +4 -4
  119. package/dist/core/extensions/builtin/background-task/cancel-tool.d.ts +0 -10
  120. package/dist/core/extensions/builtin/background-task/cancel-tool.d.ts.map +0 -1
  121. package/dist/core/extensions/builtin/background-task/cancel-tool.js +0 -109
  122. package/dist/core/extensions/builtin/background-task/cancel-tool.js.map +0 -1
  123. package/dist/core/extensions/builtin/background-task/index.d.ts +0 -3
  124. package/dist/core/extensions/builtin/background-task/index.d.ts.map +0 -1
  125. package/dist/core/extensions/builtin/background-task/index.js +0 -207
  126. package/dist/core/extensions/builtin/background-task/index.js.map +0 -1
  127. package/dist/core/extensions/builtin/background-task/manager.d.ts +0 -17
  128. package/dist/core/extensions/builtin/background-task/manager.d.ts.map +0 -1
  129. package/dist/core/extensions/builtin/background-task/manager.js +0 -114
  130. package/dist/core/extensions/builtin/background-task/manager.js.map +0 -1
  131. package/dist/core/extensions/builtin/background-task/notification.d.ts +0 -22
  132. package/dist/core/extensions/builtin/background-task/notification.d.ts.map +0 -1
  133. package/dist/core/extensions/builtin/background-task/notification.js +0 -105
  134. package/dist/core/extensions/builtin/background-task/notification.js.map +0 -1
  135. package/dist/core/extensions/builtin/background-task/output-tool.d.ts +0 -11
  136. package/dist/core/extensions/builtin/background-task/output-tool.d.ts.map +0 -1
  137. package/dist/core/extensions/builtin/background-task/output-tool.js +0 -127
  138. package/dist/core/extensions/builtin/background-task/output-tool.js.map +0 -1
  139. package/dist/core/extensions/builtin/background-task/spawner.d.ts +0 -8
  140. package/dist/core/extensions/builtin/background-task/spawner.d.ts.map +0 -1
  141. package/dist/core/extensions/builtin/background-task/spawner.js +0 -207
  142. package/dist/core/extensions/builtin/background-task/spawner.js.map +0 -1
  143. package/dist/core/extensions/builtin/background-task/task-tool.d.ts +0 -20
  144. package/dist/core/extensions/builtin/background-task/task-tool.d.ts.map +0 -1
  145. package/dist/core/extensions/builtin/background-task/task-tool.js +0 -302
  146. package/dist/core/extensions/builtin/background-task/task-tool.js.map +0 -1
  147. package/dist/core/extensions/builtin/background-task/types.d.ts +0 -72
  148. package/dist/core/extensions/builtin/background-task/types.d.ts.map +0 -1
  149. package/dist/core/extensions/builtin/background-task/types.js +0 -32
  150. package/dist/core/extensions/builtin/background-task/types.js.map +0 -1
  151. package/docs/agents.md +0 -348
  152. package/examples/extensions/subagent/README.md +0 -172
  153. package/examples/extensions/subagent/agents/planner.md +0 -37
  154. package/examples/extensions/subagent/agents/reviewer.md +0 -35
  155. package/examples/extensions/subagent/agents/scout.md +0 -50
  156. package/examples/extensions/subagent/agents/worker.md +0 -24
  157. package/examples/extensions/subagent/agents.ts +0 -126
  158. package/examples/extensions/subagent/index.ts +0 -987
  159. package/examples/extensions/subagent/prompts/implement-and-review.md +0 -10
  160. package/examples/extensions/subagent/prompts/implement.md +0 -10
  161. package/examples/extensions/subagent/prompts/scout-and-plan.md +0 -9
package/README.md CHANGED
@@ -353,7 +353,7 @@ The default export can also be `async`. pi waits for async extension factories b
353
353
 
354
354
  **What's possible:**
355
355
  - Custom tools (or replace built-in tools entirely)
356
- - Sub-agents and plan mode
356
+ - Plan mode
357
357
  - Custom compaction and summarization
358
358
  - Permission gates and path protection
359
359
  - Custom editors and UI components
@@ -470,7 +470,6 @@ Senpi inherits upstream pi's extension-first design — the **core stays minimal
470
470
 
471
471
  Upstream pi-mono explicitly omits these features. Senpi ships them as builtins (see the root [README](../../README.md#what-this-fork-adds) for the full list):
472
472
 
473
- - **Sub-agents** — `task`, `background_output`, `background_cancel` tools via [`background-task`](src/core/extensions/builtin/background-task/AGENTS.md). Used for parallel exploration and long-running QA.
474
473
  - **Permission popups** — full opencode-style permission flow via [`permission-system`](src/core/extensions/builtin/permission-system/AGENTS.md). Opt-in per tool/rule; non-interactive modes auto-deny unknown calls.
475
474
  - **Built-in to-dos** — `todowrite` / `todoread` tools with branch-aware persistence and a continuation loop. Required by senpi's dynamic prompt; remove the builtin id to opt out.
476
475
  - **Dynamic system prompt** — intent gate + tool categorization + policy enforcement via [`dynamic-prompt/`](src/core/dynamic-prompt/AGENTS.md). Replaces upstream's static prompt.
@@ -46,6 +46,11 @@ export type AgentSessionEvent = AgentEvent | {
46
46
  } | {
47
47
  type: "compaction_start";
48
48
  reason: CompactionReason;
49
+ } | {
50
+ type: "compaction_progress";
51
+ reason: CompactionReason;
52
+ delta?: string;
53
+ text?: string;
49
54
  } | {
50
55
  type: "session_info_changed";
51
56
  name: string | undefined;
@@ -491,6 +496,9 @@ export declare class AgentSession {
491
496
  */
492
497
  compact(customInstructions?: string): Promise<CompactionResult>;
493
498
  applyCompaction(precomputed: CompactionResult, options: ApplyCompactionOptions): Promise<ApplyCompactionResult>;
499
+ private _beginExtensionCompactionFeedback;
500
+ private _updateExtensionCompactionFeedback;
501
+ private _endExtensionCompactionFeedback;
494
502
  private _executeCompaction;
495
503
  private _wouldCompactionOverflow;
496
504
  private _rejectCompaction;
@@ -526,6 +534,7 @@ export declare class AgentSession {
526
534
  * Context overflow errors are NOT retryable (handled by compaction instead).
527
535
  */
528
536
  private _isRetryableError;
537
+ private _getProviderRetryDelayMs;
529
538
  private _handleRetryableError;
530
539
  /**
531
540
  * Cancel in-progress retry.