@code-yeongyu/senpi 2026.8.14 → 2026.8.17

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 (1060) hide show
  1. package/CHANGELOG.md +128 -0
  2. package/README.md +1 -0
  3. package/dist/bun/cli.js +1 -0
  4. package/dist/bun/cli.js.map +1 -1
  5. package/dist/bun/register-cursor-agent.d.ts +2 -0
  6. package/dist/bun/register-cursor-agent.d.ts.map +1 -0
  7. package/dist/bun/register-cursor-agent.js +4 -0
  8. package/dist/bun/register-cursor-agent.js.map +1 -0
  9. package/dist/cli/args.d.ts +1 -0
  10. package/dist/cli/args.d.ts.map +1 -1
  11. package/dist/cli/args.js +14 -0
  12. package/dist/cli/args.js.map +1 -1
  13. package/dist/cli/auth-command.d.ts.map +1 -1
  14. package/dist/cli/auth-command.js +5 -4
  15. package/dist/cli/auth-command.js.map +1 -1
  16. package/dist/core/agent-session-services.js +2 -2
  17. package/dist/core/agent-session-services.js.map +1 -1
  18. package/dist/core/agent-session.d.ts +127 -13
  19. package/dist/core/agent-session.d.ts.map +1 -1
  20. package/dist/core/agent-session.js +420 -82
  21. package/dist/core/agent-session.js.map +1 -1
  22. package/dist/core/auth-storage.d.ts.map +1 -1
  23. package/dist/core/auth-storage.js +19 -8
  24. package/dist/core/auth-storage.js.map +1 -1
  25. package/dist/core/cursor-exec-bridge-session.d.ts +11 -0
  26. package/dist/core/cursor-exec-bridge-session.d.ts.map +1 -0
  27. package/dist/core/cursor-exec-bridge-session.js +17 -0
  28. package/dist/core/cursor-exec-bridge-session.js.map +1 -0
  29. package/dist/core/cursor-exec-bridge.d.ts +52 -0
  30. package/dist/core/cursor-exec-bridge.d.ts.map +1 -0
  31. package/dist/core/cursor-exec-bridge.js +196 -0
  32. package/dist/core/cursor-exec-bridge.js.map +1 -0
  33. package/dist/core/experimental.d.ts +4 -0
  34. package/dist/core/experimental.d.ts.map +1 -1
  35. package/dist/core/experimental.js +4 -0
  36. package/dist/core/experimental.js.map +1 -1
  37. package/dist/core/export-html/template.js +31 -9
  38. package/dist/core/extensions/builtin/claude-sdk-oauth/auth-environment.d.ts +4 -0
  39. package/dist/core/extensions/builtin/claude-sdk-oauth/auth-environment.d.ts.map +1 -0
  40. package/dist/core/extensions/builtin/claude-sdk-oauth/auth-environment.js +30 -0
  41. package/dist/core/extensions/builtin/claude-sdk-oauth/auth-environment.js.map +1 -0
  42. package/dist/core/extensions/builtin/claude-sdk-oauth/auth-lane.d.ts +2 -0
  43. package/dist/core/extensions/builtin/claude-sdk-oauth/auth-lane.d.ts.map +1 -1
  44. package/dist/core/extensions/builtin/claude-sdk-oauth/auth-lane.js +13 -47
  45. package/dist/core/extensions/builtin/claude-sdk-oauth/auth-lane.js.map +1 -1
  46. package/dist/core/extensions/builtin/claude-sdk-oauth/availability.d.ts +18 -1
  47. package/dist/core/extensions/builtin/claude-sdk-oauth/availability.d.ts.map +1 -1
  48. package/dist/core/extensions/builtin/claude-sdk-oauth/availability.js +64 -2
  49. package/dist/core/extensions/builtin/claude-sdk-oauth/availability.js.map +1 -1
  50. package/dist/core/extensions/builtin/claude-sdk-oauth/config-dir-credentials.d.ts +3 -0
  51. package/dist/core/extensions/builtin/claude-sdk-oauth/config-dir-credentials.d.ts.map +1 -0
  52. package/dist/core/extensions/builtin/claude-sdk-oauth/config-dir-credentials.js +27 -0
  53. package/dist/core/extensions/builtin/claude-sdk-oauth/config-dir-credentials.js.map +1 -0
  54. package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.d.ts +15 -2
  55. package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.d.ts.map +1 -1
  56. package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.js +45 -11
  57. package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.js.map +1 -1
  58. package/dist/core/extensions/builtin/claude-sdk-oauth/session-stream.js +1 -0
  59. package/dist/core/extensions/builtin/claude-sdk-oauth/session-stream.js.map +1 -1
  60. package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.d.ts.map +1 -1
  61. package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.js +17 -1
  62. package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.js.map +1 -1
  63. package/dist/core/extensions/builtin/claude-sdk-oauth/stream.d.ts.map +1 -1
  64. package/dist/core/extensions/builtin/claude-sdk-oauth/stream.js +1 -0
  65. package/dist/core/extensions/builtin/claude-sdk-oauth/stream.js.map +1 -1
  66. package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
  67. package/dist/core/extensions/builtin/compaction/index.js +48 -6
  68. package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
  69. package/dist/core/extensions/builtin/compaction/log.d.ts +1 -1
  70. package/dist/core/extensions/builtin/compaction/log.d.ts.map +1 -1
  71. package/dist/core/extensions/builtin/compaction/log.js +2 -0
  72. package/dist/core/extensions/builtin/compaction/log.js.map +1 -1
  73. package/dist/core/extensions/builtin/compaction/overflow-retry.d.ts.map +1 -1
  74. package/dist/core/extensions/builtin/compaction/overflow-retry.js +38 -4
  75. package/dist/core/extensions/builtin/compaction/overflow-retry.js.map +1 -1
  76. package/dist/core/extensions/builtin/compaction/speculative.d.ts.map +1 -1
  77. package/dist/core/extensions/builtin/compaction/speculative.js +2 -1
  78. package/dist/core/extensions/builtin/compaction/speculative.js.map +1 -1
  79. package/dist/core/extensions/builtin/compaction/summarization-turn-order.d.ts +33 -0
  80. package/dist/core/extensions/builtin/compaction/summarization-turn-order.d.ts.map +1 -0
  81. package/dist/core/extensions/builtin/compaction/summarization-turn-order.js +67 -0
  82. package/dist/core/extensions/builtin/compaction/summarization-turn-order.js.map +1 -0
  83. package/dist/core/extensions/builtin/config-reload/index.d.ts.map +1 -1
  84. package/dist/core/extensions/builtin/config-reload/index.js +31 -8
  85. package/dist/core/extensions/builtin/config-reload/index.js.map +1 -1
  86. package/dist/core/extensions/builtin/config-reload/routine-settings.d.ts.map +1 -1
  87. package/dist/core/extensions/builtin/config-reload/routine-settings.js +11 -12
  88. package/dist/core/extensions/builtin/config-reload/routine-settings.js.map +1 -1
  89. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.d.ts +28 -0
  90. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.d.ts.map +1 -0
  91. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.js +278 -0
  92. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.js.map +1 -0
  93. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.d.ts +38 -0
  94. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.d.ts.map +1 -0
  95. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.js +75 -0
  96. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.js.map +1 -0
  97. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.d.ts +24 -0
  98. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.d.ts.map +1 -0
  99. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.js +64 -0
  100. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.js.map +1 -0
  101. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.d.ts +139 -0
  102. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.d.ts.map +1 -0
  103. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.js +362 -0
  104. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.js.map +1 -0
  105. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.d.ts +19 -0
  106. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.d.ts.map +1 -0
  107. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.js +122 -0
  108. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.js.map +1 -0
  109. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.d.ts +30 -0
  110. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.d.ts.map +1 -0
  111. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.js +117 -0
  112. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.js.map +1 -0
  113. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.d.ts +39 -0
  114. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.d.ts.map +1 -0
  115. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.js +155 -0
  116. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.js.map +1 -0
  117. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.d.ts +89 -0
  118. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.d.ts.map +1 -0
  119. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.js +147 -0
  120. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.js.map +1 -0
  121. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.d.ts +20 -0
  122. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.d.ts.map +1 -0
  123. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.js +99 -0
  124. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.js.map +1 -0
  125. package/dist/core/extensions/builtin/cursor-cli-oauth/index.d.ts +25 -0
  126. package/dist/core/extensions/builtin/cursor-cli-oauth/index.d.ts.map +1 -0
  127. package/dist/core/extensions/builtin/cursor-cli-oauth/index.js +67 -0
  128. package/dist/core/extensions/builtin/cursor-cli-oauth/index.js.map +1 -0
  129. package/dist/core/extensions/builtin/cursor-cli-oauth/models.d.ts +27 -0
  130. package/dist/core/extensions/builtin/cursor-cli-oauth/models.d.ts.map +1 -0
  131. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js +242 -0
  132. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js.map +1 -0
  133. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.d.ts +73 -0
  134. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.d.ts.map +1 -0
  135. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.js +330 -0
  136. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.js.map +1 -0
  137. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.d.ts +94 -0
  138. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.d.ts.map +1 -0
  139. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.js +248 -0
  140. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.js.map +1 -0
  141. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.d.ts +35 -0
  142. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.d.ts.map +1 -0
  143. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.js +186 -0
  144. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.js.map +1 -0
  145. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.d.ts +11 -0
  146. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.d.ts.map +1 -0
  147. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.js +17 -0
  148. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.js.map +1 -0
  149. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.d.ts +104 -0
  150. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.d.ts.map +1 -0
  151. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.js +301 -0
  152. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.js.map +1 -0
  153. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.d.ts +26 -0
  154. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.d.ts.map +1 -0
  155. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.js +587 -0
  156. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.js.map +1 -0
  157. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.d.ts +43 -0
  158. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.d.ts.map +1 -0
  159. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.js +196 -0
  160. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.js.map +1 -0
  161. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.d.ts +9 -0
  162. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.d.ts.map +1 -0
  163. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.js +18 -0
  164. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.js.map +1 -0
  165. package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts.map +1 -1
  166. package/dist/core/extensions/builtin/goal/monitor-continuation.js +10 -9
  167. package/dist/core/extensions/builtin/goal/monitor-continuation.js.map +1 -1
  168. package/dist/core/extensions/builtin/goal/terminal-provider-error.d.ts.map +1 -1
  169. package/dist/core/extensions/builtin/goal/terminal-provider-error.js +16 -0
  170. package/dist/core/extensions/builtin/goal/terminal-provider-error.js.map +1 -1
  171. package/dist/core/extensions/builtin/index.d.ts.map +1 -1
  172. package/dist/core/extensions/builtin/index.js +9 -2
  173. package/dist/core/extensions/builtin/index.js.map +1 -1
  174. package/dist/core/extensions/builtin/loop-guard/detectors.d.ts.map +1 -1
  175. package/dist/core/extensions/builtin/loop-guard/detectors.js +21 -3
  176. package/dist/core/extensions/builtin/loop-guard/detectors.js.map +1 -1
  177. package/dist/core/extensions/builtin/loop-guard/escalation.d.ts +24 -0
  178. package/dist/core/extensions/builtin/loop-guard/escalation.d.ts.map +1 -0
  179. package/dist/core/extensions/builtin/loop-guard/escalation.js +77 -0
  180. package/dist/core/extensions/builtin/loop-guard/escalation.js.map +1 -0
  181. package/dist/core/extensions/builtin/loop-guard/index.d.ts.map +1 -1
  182. package/dist/core/extensions/builtin/loop-guard/index.js +98 -3
  183. package/dist/core/extensions/builtin/loop-guard/index.js.map +1 -1
  184. package/dist/core/extensions/builtin/loop-guard/notice.d.ts +9 -0
  185. package/dist/core/extensions/builtin/loop-guard/notice.d.ts.map +1 -1
  186. package/dist/core/extensions/builtin/loop-guard/notice.js +17 -0
  187. package/dist/core/extensions/builtin/loop-guard/notice.js.map +1 -1
  188. package/dist/core/extensions/builtin/loop-guard/policy.d.ts +4 -0
  189. package/dist/core/extensions/builtin/loop-guard/policy.d.ts.map +1 -1
  190. package/dist/core/extensions/builtin/loop-guard/policy.js +4 -0
  191. package/dist/core/extensions/builtin/loop-guard/policy.js.map +1 -1
  192. package/dist/core/extensions/builtin/loop-guard/renderer.d.ts +2 -0
  193. package/dist/core/extensions/builtin/loop-guard/renderer.d.ts.map +1 -1
  194. package/dist/core/extensions/builtin/loop-guard/renderer.js +11 -0
  195. package/dist/core/extensions/builtin/loop-guard/renderer.js.map +1 -1
  196. package/dist/core/extensions/builtin/loop-guard/tracker.d.ts +1 -1
  197. package/dist/core/extensions/builtin/loop-guard/tracker.d.ts.map +1 -1
  198. package/dist/core/extensions/builtin/loop-guard/tracker.js +3 -1
  199. package/dist/core/extensions/builtin/loop-guard/tracker.js.map +1 -1
  200. package/dist/core/extensions/builtin/mcp/process-tree.js +6 -1
  201. package/dist/core/extensions/builtin/mcp/process-tree.js.map +1 -1
  202. package/dist/core/extensions/builtin/monitor-state-event.d.ts +6 -0
  203. package/dist/core/extensions/builtin/monitor-state-event.d.ts.map +1 -1
  204. package/dist/core/extensions/builtin/monitor-state-event.js +10 -0
  205. package/dist/core/extensions/builtin/monitor-state-event.js.map +1 -1
  206. package/dist/core/extensions/builtin/prompt-preset/glm-5-3.d.ts +3 -0
  207. package/dist/core/extensions/builtin/prompt-preset/glm-5-3.d.ts.map +1 -0
  208. package/dist/core/extensions/builtin/prompt-preset/glm-5-3.js +14 -0
  209. package/dist/core/extensions/builtin/prompt-preset/glm-5-3.js.map +1 -0
  210. package/dist/core/extensions/builtin/prompt-preset/grok-4.6.d.ts +3 -0
  211. package/dist/core/extensions/builtin/prompt-preset/grok-4.6.d.ts.map +1 -0
  212. package/dist/core/extensions/builtin/prompt-preset/grok-4.6.js +91 -0
  213. package/dist/core/extensions/builtin/prompt-preset/grok-4.6.js.map +1 -0
  214. package/dist/core/extensions/builtin/prompt-preset/index.d.ts.map +1 -1
  215. package/dist/core/extensions/builtin/prompt-preset/index.js +22 -2
  216. package/dist/core/extensions/builtin/prompt-preset/index.js.map +1 -1
  217. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  218. package/dist/core/extensions/builtin/prompt-preset/presets.js +25 -0
  219. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  220. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
  221. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  222. package/dist/core/extensions/builtin/prompt-preset/settings.js +2 -0
  223. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  224. package/dist/core/extensions/builtin/reasoning/index.d.ts +3 -0
  225. package/dist/core/extensions/builtin/reasoning/index.d.ts.map +1 -0
  226. package/dist/core/extensions/builtin/reasoning/index.js +211 -0
  227. package/dist/core/extensions/builtin/reasoning/index.js.map +1 -0
  228. package/dist/core/extensions/builtin/service-tier.d.ts +44 -1
  229. package/dist/core/extensions/builtin/service-tier.d.ts.map +1 -1
  230. package/dist/core/extensions/builtin/service-tier.js +176 -24
  231. package/dist/core/extensions/builtin/service-tier.js.map +1 -1
  232. package/dist/core/extensions/runner.d.ts.map +1 -1
  233. package/dist/core/extensions/runner.js +4 -4
  234. package/dist/core/extensions/runner.js.map +1 -1
  235. package/dist/core/extensions/types.d.ts +12 -0
  236. package/dist/core/extensions/types.d.ts.map +1 -1
  237. package/dist/core/extensions/types.js.map +1 -1
  238. package/dist/core/keybindings.d.ts +24 -0
  239. package/dist/core/keybindings.d.ts.map +1 -1
  240. package/dist/core/lockfile-policy.d.ts +15 -0
  241. package/dist/core/lockfile-policy.d.ts.map +1 -0
  242. package/dist/core/lockfile-policy.js +15 -0
  243. package/dist/core/lockfile-policy.js.map +1 -0
  244. package/dist/core/model-config.d.ts.map +1 -1
  245. package/dist/core/model-config.js +1 -0
  246. package/dist/core/model-config.js.map +1 -1
  247. package/dist/core/model-resolver.d.ts +34 -7
  248. package/dist/core/model-resolver.d.ts.map +1 -1
  249. package/dist/core/model-resolver.js +116 -28
  250. package/dist/core/model-resolver.js.map +1 -1
  251. package/dist/core/model-runtime.d.ts +7 -2
  252. package/dist/core/model-runtime.d.ts.map +1 -1
  253. package/dist/core/model-runtime.js +19 -5
  254. package/dist/core/model-runtime.js.map +1 -1
  255. package/dist/core/prompt-templates.d.ts +5 -0
  256. package/dist/core/prompt-templates.d.ts.map +1 -1
  257. package/dist/core/prompt-templates.js +8 -9
  258. package/dist/core/prompt-templates.js.map +1 -1
  259. package/dist/core/provider-api-key-auth.d.ts.map +1 -1
  260. package/dist/core/provider-api-key-auth.js +45 -2
  261. package/dist/core/provider-api-key-auth.js.map +1 -1
  262. package/dist/core/provider-composer.d.ts +12 -1
  263. package/dist/core/provider-composer.d.ts.map +1 -1
  264. package/dist/core/provider-composer.js.map +1 -1
  265. package/dist/core/provider-display-names.d.ts.map +1 -1
  266. package/dist/core/provider-display-names.js +2 -0
  267. package/dist/core/provider-display-names.js.map +1 -1
  268. package/dist/core/remote-catalog-provider.d.ts +13 -0
  269. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  270. package/dist/core/remote-catalog-provider.js +15 -0
  271. package/dist/core/remote-catalog-provider.js.map +1 -1
  272. package/dist/core/retry-fallback/controller.d.ts +1 -1
  273. package/dist/core/retry-fallback/controller.d.ts.map +1 -1
  274. package/dist/core/retry-fallback/controller.js +5 -3
  275. package/dist/core/retry-fallback/controller.js.map +1 -1
  276. package/dist/core/sdk.d.ts +5 -3
  277. package/dist/core/sdk.d.ts.map +1 -1
  278. package/dist/core/sdk.js +20 -8
  279. package/dist/core/sdk.js.map +1 -1
  280. package/dist/core/session-manager.d.ts.map +1 -1
  281. package/dist/core/session-manager.js +20 -4
  282. package/dist/core/session-manager.js.map +1 -1
  283. package/dist/core/settings-manager.d.ts +50 -1
  284. package/dist/core/settings-manager.d.ts.map +1 -1
  285. package/dist/core/settings-manager.js +258 -15
  286. package/dist/core/settings-manager.js.map +1 -1
  287. package/dist/core/system-prompt.js +1 -1
  288. package/dist/core/system-prompt.js.map +1 -1
  289. package/dist/core/thinking-levels.d.ts +22 -0
  290. package/dist/core/thinking-levels.d.ts.map +1 -1
  291. package/dist/core/thinking-levels.js +29 -0
  292. package/dist/core/thinking-levels.js.map +1 -1
  293. package/dist/core/tools/bash.d.ts.map +1 -1
  294. package/dist/core/tools/bash.js +2 -0
  295. package/dist/core/tools/bash.js.map +1 -1
  296. package/dist/core/tools/edit.d.ts.map +1 -1
  297. package/dist/core/tools/edit.js +2 -0
  298. package/dist/core/tools/edit.js.map +1 -1
  299. package/dist/core/tools/find.js +1 -1
  300. package/dist/core/tools/find.js.map +1 -1
  301. package/dist/core/tools/grep.js +1 -1
  302. package/dist/core/tools/grep.js.map +1 -1
  303. package/dist/core/tools/read.d.ts.map +1 -1
  304. package/dist/core/tools/read.js +2 -0
  305. package/dist/core/tools/read.js.map +1 -1
  306. package/dist/core/tools/write.d.ts.map +1 -1
  307. package/dist/core/tools/write.js +2 -0
  308. package/dist/core/tools/write.js.map +1 -1
  309. package/dist/index.d.ts +1 -1
  310. package/dist/index.d.ts.map +1 -1
  311. package/dist/index.js.map +1 -1
  312. package/dist/main.d.ts.map +1 -1
  313. package/dist/main.js +18 -1
  314. package/dist/main.js.map +1 -1
  315. package/dist/modes/interactive/components/model-favorites.d.ts +2 -1
  316. package/dist/modes/interactive/components/model-favorites.d.ts.map +1 -1
  317. package/dist/modes/interactive/components/model-favorites.js +72 -6
  318. package/dist/modes/interactive/components/model-favorites.js.map +1 -1
  319. package/dist/modes/interactive/components/model-selector.d.ts +5 -1
  320. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  321. package/dist/modes/interactive/components/model-selector.js +10 -6
  322. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  323. package/dist/modes/interactive/components/settings-selector.d.ts +3 -1
  324. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  325. package/dist/modes/interactive/components/settings-selector.js +10 -0
  326. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  327. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  328. package/dist/modes/interactive/components/tool-execution.js +22 -1
  329. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  330. package/dist/modes/interactive/editor-paste-transfer.d.ts +10 -0
  331. package/dist/modes/interactive/editor-paste-transfer.d.ts.map +1 -1
  332. package/dist/modes/interactive/editor-paste-transfer.js +16 -0
  333. package/dist/modes/interactive/editor-paste-transfer.js.map +1 -1
  334. package/dist/modes/interactive/interactive-mode.d.ts +14 -4
  335. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  336. package/dist/modes/interactive/interactive-mode.js +111 -52
  337. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  338. package/dist/modes/interactive/model-catalog-refresh.d.ts +7 -0
  339. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -0
  340. package/dist/modes/interactive/model-catalog-refresh.js +36 -0
  341. package/dist/modes/interactive/model-catalog-refresh.js.map +1 -0
  342. package/dist/modes/interactive/theme/dark.json +2 -0
  343. package/dist/modes/interactive/theme/grok-day.json +2 -0
  344. package/dist/modes/interactive/theme/grok-night.json +2 -0
  345. package/dist/modes/interactive/theme/light.json +2 -0
  346. package/dist/modes/interactive/theme/theme-controller.d.ts +10 -2
  347. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  348. package/dist/modes/interactive/theme/theme-controller.js +23 -10
  349. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  350. package/dist/modes/interactive/theme/theme-schema.json +9 -1
  351. package/dist/modes/interactive/theme/theme.d.ts +5 -3
  352. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  353. package/dist/modes/interactive/theme/theme.js +12 -2
  354. package/dist/modes/interactive/theme/theme.js.map +1 -1
  355. package/dist/modes/json-event.d.ts +4 -1
  356. package/dist/modes/json-event.d.ts.map +1 -1
  357. package/dist/modes/json-event.js +5 -2
  358. package/dist/modes/json-event.js.map +1 -1
  359. package/dist/modes/rpc/connection-handler.d.ts +10 -0
  360. package/dist/modes/rpc/connection-handler.d.ts.map +1 -1
  361. package/dist/modes/rpc/connection-handler.js +119 -46
  362. package/dist/modes/rpc/connection-handler.js.map +1 -1
  363. package/dist/modes/rpc/jsonl.d.ts +6 -1
  364. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  365. package/dist/modes/rpc/jsonl.js +47 -14
  366. package/dist/modes/rpc/jsonl.js.map +1 -1
  367. package/dist/modes/rpc/multi-session-host.d.ts.map +1 -1
  368. package/dist/modes/rpc/multi-session-host.js +29 -7
  369. package/dist/modes/rpc/multi-session-host.js.map +1 -1
  370. package/dist/modes/rpc/rpc-client.d.ts +26 -1
  371. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  372. package/dist/modes/rpc/rpc-client.js +25 -2
  373. package/dist/modes/rpc/rpc-client.js.map +1 -1
  374. package/dist/modes/rpc/rpc-command-invocation.d.ts +5 -0
  375. package/dist/modes/rpc/rpc-command-invocation.d.ts.map +1 -0
  376. package/dist/modes/rpc/rpc-command-invocation.js +2 -0
  377. package/dist/modes/rpc/rpc-command-invocation.js.map +1 -0
  378. package/dist/modes/rpc/rpc-command-surface.d.ts +49 -0
  379. package/dist/modes/rpc/rpc-command-surface.d.ts.map +1 -0
  380. package/dist/modes/rpc/rpc-command-surface.js +40 -0
  381. package/dist/modes/rpc/rpc-command-surface.js.map +1 -0
  382. package/dist/modes/rpc/rpc-input-validation.d.ts +4 -0
  383. package/dist/modes/rpc/rpc-input-validation.d.ts.map +1 -0
  384. package/dist/modes/rpc/rpc-input-validation.js +20 -0
  385. package/dist/modes/rpc/rpc-input-validation.js.map +1 -0
  386. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  387. package/dist/modes/rpc/rpc-mode.js +12 -1
  388. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  389. package/dist/modes/rpc/rpc-types.d.ts +72 -12
  390. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  391. package/dist/modes/rpc/rpc-types.js.map +1 -1
  392. package/dist/modes/rpc/session-command-router.d.ts.map +1 -1
  393. package/dist/modes/rpc/session-command-router.js +2 -14
  394. package/dist/modes/rpc/session-command-router.js.map +1 -1
  395. package/dist/modes/rpc/session-event-writer.d.ts +29 -10
  396. package/dist/modes/rpc/session-event-writer.d.ts.map +1 -1
  397. package/dist/modes/rpc/session-event-writer.js +229 -50
  398. package/dist/modes/rpc/session-event-writer.js.map +1 -1
  399. package/dist/server/create-harness.d.ts.map +1 -1
  400. package/dist/server/create-harness.js +2 -0
  401. package/dist/server/create-harness.js.map +1 -1
  402. package/dist/utils/shell.d.ts +27 -0
  403. package/dist/utils/shell.d.ts.map +1 -1
  404. package/dist/utils/shell.js +79 -13
  405. package/dist/utils/shell.js.map +1 -1
  406. package/dist/utils/tools-manager.d.ts +10 -1
  407. package/dist/utils/tools-manager.d.ts.map +1 -1
  408. package/dist/utils/tools-manager.js +14 -19
  409. package/dist/utils/tools-manager.js.map +1 -1
  410. package/docs/compaction.md +3 -3
  411. package/docs/custom-provider.md +1 -1
  412. package/docs/environment-variables.md +8 -2
  413. package/docs/extensions.md +4 -0
  414. package/docs/json.md +6 -4
  415. package/docs/keybindings.md +8 -2
  416. package/docs/providers.md +56 -0
  417. package/docs/rpc.md +206 -12
  418. package/docs/sdk.md +9 -0
  419. package/docs/settings.md +93 -1
  420. package/docs/skills.md +14 -3
  421. package/docs/terminal-setup.md +23 -2
  422. package/docs/themes.md +24 -3
  423. package/docs/tui.md +2 -2
  424. package/docs/usage.md +24 -4
  425. package/examples/extensions/subagent/agents.ts +40 -9
  426. package/examples/extensions/subagent/index.ts +26 -3
  427. package/node_modules/@bufbuild/protobuf/README.md +44 -0
  428. package/node_modules/@bufbuild/protobuf/dist/commonjs/clone.d.ts +6 -0
  429. package/node_modules/@bufbuild/protobuf/dist/commonjs/clone.js +66 -0
  430. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/boot.d.ts +1 -0
  431. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/boot.js +18 -0
  432. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/enum.d.ts +10 -0
  433. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/enum.js +31 -0
  434. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/extension.d.ts +9 -0
  435. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/extension.js +28 -0
  436. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/file.d.ts +1 -0
  437. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/file.js +18 -0
  438. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/index.d.ts +10 -0
  439. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/index.js +39 -0
  440. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/message.d.ts +10 -0
  441. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/message.js +24 -0
  442. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/service.d.ts +8 -0
  443. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/service.js +27 -0
  444. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/symbols.d.ts +140 -0
  445. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/symbols.js +43 -0
  446. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/types.d.ts +79 -0
  447. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/types.js +15 -0
  448. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/boot.d.ts +63 -0
  449. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/boot.js +105 -0
  450. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/embed.d.ts +43 -0
  451. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/embed.js +244 -0
  452. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/enum.d.ts +29 -0
  453. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/enum.js +58 -0
  454. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/extension.d.ts +9 -0
  455. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/extension.js +28 -0
  456. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/file.d.ts +7 -0
  457. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/file.js +35 -0
  458. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/index.d.ts +10 -0
  459. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/index.js +39 -0
  460. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/message.d.ts +15 -0
  461. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/message.js +24 -0
  462. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/restore-json-names.d.ts +5 -0
  463. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/restore-json-names.js +29 -0
  464. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/scalar.d.ts +9 -0
  465. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/scalar.js +67 -0
  466. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/service.d.ts +8 -0
  467. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/service.js +27 -0
  468. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/symbols.d.ts +145 -0
  469. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/symbols.js +74 -0
  470. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/types.d.ts +85 -0
  471. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/types.js +15 -0
  472. package/node_modules/@bufbuild/protobuf/dist/commonjs/create.d.ts +9 -0
  473. package/node_modules/@bufbuild/protobuf/dist/commonjs/create.js +259 -0
  474. package/node_modules/@bufbuild/protobuf/dist/commonjs/descriptors.d.ts +634 -0
  475. package/node_modules/@bufbuild/protobuf/dist/commonjs/descriptors.js +53 -0
  476. package/node_modules/@bufbuild/protobuf/dist/commonjs/equals.d.ts +46 -0
  477. package/node_modules/@bufbuild/protobuf/dist/commonjs/equals.js +209 -0
  478. package/node_modules/@bufbuild/protobuf/dist/commonjs/extensions.d.ts +60 -0
  479. package/node_modules/@bufbuild/protobuf/dist/commonjs/extensions.js +168 -0
  480. package/node_modules/@bufbuild/protobuf/dist/commonjs/fields.d.ts +23 -0
  481. package/node_modules/@bufbuild/protobuf/dist/commonjs/fields.js +45 -0
  482. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-binary.d.ts +48 -0
  483. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-binary.js +247 -0
  484. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-json.d.ts +73 -0
  485. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-json.js +739 -0
  486. package/node_modules/@bufbuild/protobuf/dist/commonjs/index.d.ts +19 -0
  487. package/node_modules/@bufbuild/protobuf/dist/commonjs/index.js +55 -0
  488. package/node_modules/@bufbuild/protobuf/dist/commonjs/is-message.d.ts +7 -0
  489. package/node_modules/@bufbuild/protobuf/dist/commonjs/is-message.js +33 -0
  490. package/node_modules/@bufbuild/protobuf/dist/commonjs/json-value.d.ts +16 -0
  491. package/node_modules/@bufbuild/protobuf/dist/commonjs/json-value.js +15 -0
  492. package/node_modules/@bufbuild/protobuf/dist/commonjs/merge.d.ts +13 -0
  493. package/node_modules/@bufbuild/protobuf/dist/commonjs/merge.js +70 -0
  494. package/node_modules/@bufbuild/protobuf/dist/commonjs/package.json +4 -0
  495. package/node_modules/@bufbuild/protobuf/dist/commonjs/proto-int64.d.ts +98 -0
  496. package/node_modules/@bufbuild/protobuf/dist/commonjs/proto-int64.js +131 -0
  497. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/error.d.ts +9 -0
  498. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/error.js +36 -0
  499. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/guard.d.ts +20 -0
  500. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/guard.js +78 -0
  501. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/index.d.ts +8 -0
  502. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/index.js +41 -0
  503. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/names.d.ts +30 -0
  504. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/names.js +115 -0
  505. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/nested-types.d.ts +35 -0
  506. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/nested-types.js +110 -0
  507. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/path.d.ts +107 -0
  508. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/path.js +376 -0
  509. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-check.d.ts +19 -0
  510. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-check.js +268 -0
  511. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-types.d.ts +217 -0
  512. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-types.js +16 -0
  513. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect.d.ts +43 -0
  514. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect.js +546 -0
  515. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/scalar.d.ts +43 -0
  516. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/scalar.js +129 -0
  517. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/unsafe.d.ts +39 -0
  518. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/unsafe.js +149 -0
  519. package/node_modules/@bufbuild/protobuf/dist/commonjs/registry.d.ts +98 -0
  520. package/node_modules/@bufbuild/protobuf/dist/commonjs/registry.js +945 -0
  521. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-binary.d.ts +24 -0
  522. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-binary.js +199 -0
  523. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-json.d.ts +67 -0
  524. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-json.js +391 -0
  525. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/from-text.d.ts +35 -0
  526. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/from-text.js +684 -0
  527. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/index.d.ts +4 -0
  528. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/index.js +21 -0
  529. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/is-group-like.d.ts +19 -0
  530. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/is-group-like.js +47 -0
  531. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/reader.d.ts +91 -0
  532. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/reader.js +481 -0
  533. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/to-text.d.ts +34 -0
  534. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/to-text.js +358 -0
  535. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/writer.d.ts +76 -0
  536. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/writer.js +220 -0
  537. package/node_modules/@bufbuild/protobuf/dist/commonjs/types.d.ts +135 -0
  538. package/node_modules/@bufbuild/protobuf/dist/commonjs/types.js +15 -0
  539. package/node_modules/@bufbuild/protobuf/dist/commonjs/unknown-enum.d.ts +10 -0
  540. package/node_modules/@bufbuild/protobuf/dist/commonjs/unknown-enum.js +26 -0
  541. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/base64-encoding.d.ts +23 -0
  542. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/base64-encoding.js +156 -0
  543. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/binary-encoding.d.ts +268 -0
  544. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/binary-encoding.js +530 -0
  545. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/index.d.ts +5 -0
  546. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/index.js +34 -0
  547. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/size-delimited.d.ts +69 -0
  548. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/size-delimited.js +191 -0
  549. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-encoding.d.ts +28 -0
  550. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-encoding.js +61 -0
  551. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-format.d.ts +13 -0
  552. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-format.js +199 -0
  553. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/varint.d.ts +70 -0
  554. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/varint.js +322 -0
  555. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/any.d.ts +38 -0
  556. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/any.js +75 -0
  557. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/duration.d.ts +9 -0
  558. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/duration.js +39 -0
  559. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/any_pb.d.ts +238 -0
  560. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/any_pb.js +27 -0
  561. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/api_pb.d.ts +537 -0
  562. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/api_pb.js +39 -0
  563. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +490 -0
  564. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +68 -0
  565. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/cpp_features_pb.d.ts +91 -0
  566. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/cpp_features_pb.js +60 -0
  567. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +4143 -0
  568. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/descriptor_pb.js +892 -0
  569. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/duration_pb.d.ts +161 -0
  570. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/duration_pb.js +27 -0
  571. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/empty_pb.d.ts +39 -0
  572. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/empty_pb.js +27 -0
  573. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/field_mask_pb.d.ts +424 -0
  574. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/field_mask_pb.js +27 -0
  575. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/go_features_pb.d.ts +189 -0
  576. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/go_features_pb.js +126 -0
  577. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/java_features_pb.d.ts +194 -0
  578. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/java_features_pb.js +106 -0
  579. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/source_context_pb.d.ts +43 -0
  580. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/source_context_pb.js +27 -0
  581. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/struct_pb.d.ts +195 -0
  582. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/struct_pb.js +59 -0
  583. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/timestamp_pb.d.ts +222 -0
  584. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/timestamp_pb.js +27 -0
  585. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/type_pb.d.ts +722 -0
  586. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/type_pb.js +242 -0
  587. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +330 -0
  588. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/wrappers_pb.js +67 -0
  589. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/index.d.ts +19 -0
  590. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/index.js +48 -0
  591. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/timestamp.d.ts +21 -0
  592. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/timestamp.js +57 -0
  593. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/wrappers.d.ts +25 -0
  594. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/wrappers.js +66 -0
  595. package/node_modules/@bufbuild/protobuf/dist/esm/clone.d.ts +6 -0
  596. package/node_modules/@bufbuild/protobuf/dist/esm/clone.js +63 -0
  597. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/boot.d.ts +1 -0
  598. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/boot.js +14 -0
  599. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.d.ts +10 -0
  600. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.js +26 -0
  601. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/extension.d.ts +9 -0
  602. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/extension.js +25 -0
  603. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.d.ts +1 -0
  604. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.js +14 -0
  605. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/index.d.ts +10 -0
  606. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/index.js +23 -0
  607. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.d.ts +10 -0
  608. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.js +21 -0
  609. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/service.d.ts +8 -0
  610. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/service.js +24 -0
  611. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/symbols.d.ts +140 -0
  612. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/symbols.js +40 -0
  613. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/types.d.ts +79 -0
  614. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/types.js +14 -0
  615. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/boot.d.ts +63 -0
  616. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/boot.js +101 -0
  617. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/embed.d.ts +43 -0
  618. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/embed.js +239 -0
  619. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/enum.d.ts +29 -0
  620. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/enum.js +53 -0
  621. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/extension.d.ts +9 -0
  622. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/extension.js +25 -0
  623. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/file.d.ts +7 -0
  624. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/file.js +32 -0
  625. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/index.d.ts +10 -0
  626. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/index.js +23 -0
  627. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/message.d.ts +15 -0
  628. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/message.js +21 -0
  629. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.d.ts +5 -0
  630. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.js +26 -0
  631. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/scalar.d.ts +9 -0
  632. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/scalar.js +63 -0
  633. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/service.d.ts +8 -0
  634. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/service.js +24 -0
  635. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/symbols.d.ts +145 -0
  636. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/symbols.js +71 -0
  637. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/types.d.ts +85 -0
  638. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/types.js +14 -0
  639. package/node_modules/@bufbuild/protobuf/dist/esm/create.d.ts +9 -0
  640. package/node_modules/@bufbuild/protobuf/dist/esm/create.js +256 -0
  641. package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.d.ts +634 -0
  642. package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.js +50 -0
  643. package/node_modules/@bufbuild/protobuf/dist/esm/equals.d.ts +46 -0
  644. package/node_modules/@bufbuild/protobuf/dist/esm/equals.js +206 -0
  645. package/node_modules/@bufbuild/protobuf/dist/esm/extensions.d.ts +60 -0
  646. package/node_modules/@bufbuild/protobuf/dist/esm/extensions.js +159 -0
  647. package/node_modules/@bufbuild/protobuf/dist/esm/fields.d.ts +23 -0
  648. package/node_modules/@bufbuild/protobuf/dist/esm/fields.js +41 -0
  649. package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.d.ts +48 -0
  650. package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.js +241 -0
  651. package/node_modules/@bufbuild/protobuf/dist/esm/from-json.d.ts +73 -0
  652. package/node_modules/@bufbuild/protobuf/dist/esm/from-json.js +731 -0
  653. package/node_modules/@bufbuild/protobuf/dist/esm/index.d.ts +19 -0
  654. package/node_modules/@bufbuild/protobuf/dist/esm/index.js +29 -0
  655. package/node_modules/@bufbuild/protobuf/dist/esm/is-message.d.ts +7 -0
  656. package/node_modules/@bufbuild/protobuf/dist/esm/is-message.js +30 -0
  657. package/node_modules/@bufbuild/protobuf/dist/esm/json-value.d.ts +16 -0
  658. package/node_modules/@bufbuild/protobuf/dist/esm/json-value.js +14 -0
  659. package/node_modules/@bufbuild/protobuf/dist/esm/merge.d.ts +13 -0
  660. package/node_modules/@bufbuild/protobuf/dist/esm/merge.js +67 -0
  661. package/node_modules/@bufbuild/protobuf/dist/esm/package.json +4 -0
  662. package/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.d.ts +98 -0
  663. package/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js +128 -0
  664. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/error.d.ts +9 -0
  665. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/error.js +31 -0
  666. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.d.ts +20 -0
  667. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.js +71 -0
  668. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/index.d.ts +8 -0
  669. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/index.js +21 -0
  670. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/names.d.ts +30 -0
  671. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/names.js +109 -0
  672. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/nested-types.d.ts +35 -0
  673. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/nested-types.js +105 -0
  674. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.d.ts +107 -0
  675. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.js +369 -0
  676. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.d.ts +19 -0
  677. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.js +262 -0
  678. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-types.d.ts +217 -0
  679. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-types.js +14 -0
  680. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.d.ts +43 -0
  681. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.js +541 -0
  682. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.d.ts +43 -0
  683. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.js +124 -0
  684. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/unsafe.d.ts +39 -0
  685. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/unsafe.js +140 -0
  686. package/node_modules/@bufbuild/protobuf/dist/esm/registry.d.ts +98 -0
  687. package/node_modules/@bufbuild/protobuf/dist/esm/registry.js +939 -0
  688. package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.d.ts +24 -0
  689. package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.js +195 -0
  690. package/node_modules/@bufbuild/protobuf/dist/esm/to-json.d.ts +67 -0
  691. package/node_modules/@bufbuild/protobuf/dist/esm/to-json.js +386 -0
  692. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/from-text.d.ts +35 -0
  693. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/from-text.js +680 -0
  694. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/index.d.ts +4 -0
  695. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/index.js +15 -0
  696. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/is-group-like.d.ts +19 -0
  697. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/is-group-like.js +44 -0
  698. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/reader.d.ts +91 -0
  699. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/reader.js +477 -0
  700. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/to-text.d.ts +34 -0
  701. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/to-text.js +355 -0
  702. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/writer.d.ts +76 -0
  703. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/writer.js +214 -0
  704. package/node_modules/@bufbuild/protobuf/dist/esm/types.d.ts +135 -0
  705. package/node_modules/@bufbuild/protobuf/dist/esm/types.js +14 -0
  706. package/node_modules/@bufbuild/protobuf/dist/esm/unknown-enum.d.ts +10 -0
  707. package/node_modules/@bufbuild/protobuf/dist/esm/unknown-enum.js +23 -0
  708. package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.d.ts +23 -0
  709. package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.js +152 -0
  710. package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.d.ts +268 -0
  711. package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.js +525 -0
  712. package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.d.ts +5 -0
  713. package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.js +18 -0
  714. package/node_modules/@bufbuild/protobuf/dist/esm/wire/size-delimited.d.ts +69 -0
  715. package/node_modules/@bufbuild/protobuf/dist/esm/wire/size-delimited.js +186 -0
  716. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.d.ts +28 -0
  717. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.js +57 -0
  718. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-format.d.ts +13 -0
  719. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-format.js +195 -0
  720. package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.d.ts +70 -0
  721. package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.js +313 -0
  722. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/any.d.ts +38 -0
  723. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/any.js +69 -0
  724. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/duration.d.ts +9 -0
  725. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/duration.js +35 -0
  726. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/any_pb.d.ts +238 -0
  727. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/any_pb.js +24 -0
  728. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.d.ts +537 -0
  729. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.js +36 -0
  730. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +490 -0
  731. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +65 -0
  732. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/cpp_features_pb.d.ts +91 -0
  733. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/cpp_features_pb.js +57 -0
  734. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +4143 -0
  735. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +888 -0
  736. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/duration_pb.d.ts +161 -0
  737. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/duration_pb.js +24 -0
  738. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +39 -0
  739. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/empty_pb.js +24 -0
  740. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.d.ts +424 -0
  741. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +24 -0
  742. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.d.ts +189 -0
  743. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.js +123 -0
  744. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/java_features_pb.d.ts +194 -0
  745. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/java_features_pb.js +103 -0
  746. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +43 -0
  747. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +24 -0
  748. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/struct_pb.d.ts +195 -0
  749. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/struct_pb.js +56 -0
  750. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.d.ts +222 -0
  751. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +24 -0
  752. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.d.ts +722 -0
  753. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.js +239 -0
  754. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +330 -0
  755. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +64 -0
  756. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/index.d.ts +19 -0
  757. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/index.js +32 -0
  758. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/timestamp.d.ts +21 -0
  759. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/timestamp.js +50 -0
  760. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.d.ts +25 -0
  761. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.js +61 -0
  762. package/node_modules/@bufbuild/protobuf/package.json +147 -0
  763. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +28 -0
  764. package/node_modules/@code-yeongyu/senpi-codemode/README.md +5 -0
  765. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  766. package/node_modules/@code-yeongyu/senpi-codemode/src/index.ts +14 -1
  767. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/call-capture.ts +64 -0
  768. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-handler.ts +45 -61
  769. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-runtime.ts +8 -0
  770. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-execution-event.ts +201 -0
  771. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool-options.ts +2 -0
  772. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool.ts +22 -0
  773. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/render.ts +43 -6
  774. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +4 -0
  775. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  776. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +59 -17
  777. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  778. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +14 -0
  779. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  780. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +14 -0
  781. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  782. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts +25 -0
  783. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  784. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +77 -12
  785. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  786. package/node_modules/@earendil-works/pi-agent-core/dist/harness/events.d.ts +43 -0
  787. package/node_modules/@earendil-works/pi-agent-core/dist/harness/events.d.ts.map +1 -0
  788. package/node_modules/@earendil-works/pi-agent-core/dist/harness/events.js +67 -0
  789. package/node_modules/@earendil-works/pi-agent-core/dist/harness/events.js.map +1 -0
  790. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.d.ts +4 -2
  791. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.d.ts.map +1 -1
  792. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.js +127 -88
  793. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.js.map +1 -1
  794. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.d.ts +5 -1
  795. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.d.ts.map +1 -1
  796. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.js +9 -2
  797. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.js.map +1 -1
  798. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.d.ts +12 -3
  799. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.d.ts.map +1 -1
  800. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.js +88 -45
  801. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.js.map +1 -1
  802. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.d.ts +1 -1
  803. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.d.ts.map +1 -1
  804. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.js +28 -19
  805. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.js.map +1 -1
  806. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/types.d.ts +1 -1
  807. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/types.d.ts.map +1 -1
  808. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/types.js.map +1 -1
  809. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.d.ts +1 -1
  810. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.d.ts.map +1 -1
  811. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.js.map +1 -1
  812. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +6 -1
  813. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  814. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +7 -2
  815. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  816. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.d.ts +1 -1
  817. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.d.ts.map +1 -1
  818. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.js.map +1 -1
  819. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.d.ts.map +1 -1
  820. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.js +19 -0
  821. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.js.map +1 -1
  822. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.d.ts +18 -5
  823. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.d.ts.map +1 -1
  824. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.js.map +1 -1
  825. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +1 -1
  826. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
  827. package/node_modules/@earendil-works/pi-agent-core/dist/index.js +1 -1
  828. package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
  829. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts +4 -1
  830. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts.map +1 -1
  831. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js.map +1 -1
  832. package/node_modules/@earendil-works/pi-agent-core/dist/search/index.d.ts +21 -0
  833. package/node_modules/@earendil-works/pi-agent-core/dist/search/index.d.ts.map +1 -0
  834. package/node_modules/@earendil-works/pi-agent-core/dist/search/index.js +2 -0
  835. package/node_modules/@earendil-works/pi-agent-core/dist/search/index.js.map +1 -0
  836. package/node_modules/@earendil-works/pi-agent-core/dist/search/scanning.d.ts +29 -0
  837. package/node_modules/@earendil-works/pi-agent-core/dist/search/scanning.d.ts.map +1 -0
  838. package/node_modules/@earendil-works/pi-agent-core/dist/search/scanning.js +103 -0
  839. package/node_modules/@earendil-works/pi-agent-core/dist/search/scanning.js.map +1 -0
  840. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +12 -1
  841. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  842. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  843. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  844. package/node_modules/@earendil-works/pi-ai/README.md +3 -0
  845. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  846. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +40 -14
  847. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  848. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  849. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +16 -4
  850. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
  851. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-gateway-binding.d.ts +69 -0
  852. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-gateway-binding.d.ts.map +1 -0
  853. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-gateway-binding.js +159 -0
  854. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare-gateway-binding.js.map +1 -0
  855. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.d.ts +3 -0
  856. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.d.ts.map +1 -1
  857. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.js +125 -5
  858. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.js.map +1 -1
  859. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.d.ts +17 -0
  860. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.d.ts.map +1 -0
  861. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.js +14 -0
  862. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.js.map +1 -0
  863. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.d.ts +13 -0
  864. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.d.ts.map +1 -0
  865. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.js +33 -0
  866. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.js.map +1 -0
  867. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.d.ts +79 -0
  868. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.d.ts.map +1 -0
  869. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.js +360 -0
  870. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.js.map +1 -0
  871. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.d.ts +16797 -0
  872. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.d.ts.map +1 -0
  873. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.js +3828 -0
  874. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.js.map +1 -0
  875. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.d.ts +55 -0
  876. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.d.ts.map +1 -0
  877. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.js +76 -0
  878. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.js.map +1 -0
  879. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts +116 -0
  880. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts.map +1 -0
  881. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.js +16 -0
  882. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.js.map +1 -0
  883. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts +191 -0
  884. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts.map +1 -0
  885. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js +3316 -0
  886. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -0
  887. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.d.ts +29 -0
  888. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.d.ts.map +1 -0
  889. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.js +33 -0
  890. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.js.map +1 -0
  891. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +7 -3
  892. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js.map +1 -1
  893. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts +1 -1
  894. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts.map +1 -1
  895. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js +13 -9
  896. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js.map +1 -1
  897. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +7 -3
  898. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js.map +1 -1
  899. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.d.ts +1 -1
  900. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.d.ts.map +1 -1
  901. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +208 -42
  902. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -1
  903. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  904. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +13 -4
  905. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  906. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  907. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +10 -7
  908. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  909. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts +1 -0
  910. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts.map +1 -1
  911. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +31 -7
  912. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -1
  913. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  914. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +8 -1
  915. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  916. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/cursor.d.ts +16 -0
  917. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/cursor.d.ts.map +1 -0
  918. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/cursor.js +234 -0
  919. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/cursor.js.map +1 -0
  920. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.d.ts.map +1 -1
  921. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js +6 -3
  922. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js.map +1 -1
  923. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.d.ts +2 -0
  924. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.d.ts.map +1 -1
  925. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.js +5 -0
  926. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.js.map +1 -1
  927. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js +44 -9
  928. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js.map +1 -1
  929. package/node_modules/@earendil-works/pi-ai/dist/auth/types.d.ts +2 -0
  930. package/node_modules/@earendil-works/pi-ai/dist/auth/types.d.ts.map +1 -1
  931. package/node_modules/@earendil-works/pi-ai/dist/auth/types.js.map +1 -1
  932. package/node_modules/@earendil-works/pi-ai/dist/bun-oauth.d.ts.map +1 -1
  933. package/node_modules/@earendil-works/pi-ai/dist/bun-oauth.js +2 -0
  934. package/node_modules/@earendil-works/pi-ai/dist/bun-oauth.js.map +1 -1
  935. package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts +1 -0
  936. package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts.map +1 -1
  937. package/node_modules/@earendil-works/pi-ai/dist/compat.js +3 -0
  938. package/node_modules/@earendil-works/pi-ai/dist/compat.js.map +1 -1
  939. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.d.ts +11 -0
  940. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.d.ts.map +1 -0
  941. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.js +11 -0
  942. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.js.map +1 -0
  943. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +3 -0
  944. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  945. package/node_modules/@earendil-works/pi-ai/dist/index.js +2 -0
  946. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  947. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts +6 -1
  948. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts.map +1 -1
  949. package/node_modules/@earendil-works/pi-ai/dist/model.js.map +1 -1
  950. package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts.map +1 -1
  951. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js +2 -0
  952. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js.map +1 -1
  953. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.d.ts +12 -0
  954. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.d.ts.map +1 -0
  955. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js +65 -0
  956. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js.map +1 -0
  957. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  958. package/node_modules/@earendil-works/pi-ai/dist/providers/data/alibaba-token-plan.json +1 -1
  959. package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
  960. package/node_modules/@earendil-works/pi-ai/dist/providers/data/baseten.json +1 -1
  961. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cerebras.json +1 -1
  962. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  963. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-workers-ai.json +1 -1
  964. package/node_modules/@earendil-works/pi-ai/dist/providers/data/deepseek.json +1 -1
  965. package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
  966. package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
  967. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  968. package/node_modules/@earendil-works/pi-ai/dist/providers/data/kimi-coding.json +1 -1
  969. package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
  970. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai-codex.json +1 -1
  971. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
  972. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  973. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  974. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-cn.json +1 -1
  975. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan.json +1 -1
  976. package/node_modules/@earendil-works/pi-ai/dist/providers/data/together.json +1 -1
  977. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  978. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai-coding-cn.json +1 -1
  979. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai.json +1 -1
  980. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +17 -4
  981. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  982. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  983. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.d.ts +57 -0
  984. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.d.ts.map +1 -0
  985. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.js +57 -0
  986. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.js.map +1 -0
  987. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts +10 -0
  988. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts.map +1 -1
  989. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js +22 -0
  990. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js.map +1 -1
  991. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  992. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +2 -0
  993. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  994. package/node_modules/@earendil-works/pi-ai/dist/utils/pi-user-agent.d.ts +2 -0
  995. package/node_modules/@earendil-works/pi-ai/dist/utils/pi-user-agent.d.ts.map +1 -0
  996. package/node_modules/@earendil-works/pi-ai/dist/utils/pi-user-agent.js +12 -0
  997. package/node_modules/@earendil-works/pi-ai/dist/utils/pi-user-agent.js.map +1 -0
  998. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.d.ts.map +1 -1
  999. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.js +3 -2
  1000. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.js.map +1 -1
  1001. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts.map +1 -1
  1002. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +1 -0
  1003. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -1
  1004. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.d.ts.map +1 -1
  1005. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.js +34 -0
  1006. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.js.map +1 -1
  1007. package/node_modules/@earendil-works/pi-ai/package.json +3 -2
  1008. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  1009. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  1010. package/node_modules/@earendil-works/pi-tui/README.md +1 -1
  1011. package/node_modules/@earendil-works/pi-tui/dist/alt-screen-search.d.ts +26 -0
  1012. package/node_modules/@earendil-works/pi-tui/dist/alt-screen-search.d.ts.map +1 -0
  1013. package/node_modules/@earendil-works/pi-tui/dist/alt-screen-search.js +121 -0
  1014. package/node_modules/@earendil-works/pi-tui/dist/alt-screen-search.js.map +1 -0
  1015. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
  1016. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +21 -0
  1017. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
  1018. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +1 -1
  1019. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  1020. package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.d.ts +6 -1
  1021. package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.d.ts.map +1 -1
  1022. package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.js +23 -7
  1023. package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.js.map +1 -1
  1024. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.d.ts +9 -0
  1025. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.d.ts.map +1 -0
  1026. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.js +82 -0
  1027. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.js.map +1 -0
  1028. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +4 -1
  1029. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  1030. package/node_modules/@earendil-works/pi-tui/dist/index.js +7 -1
  1031. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  1032. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts +30 -0
  1033. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +1 -1
  1034. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js +24 -0
  1035. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -1
  1036. package/node_modules/@earendil-works/pi-tui/dist/layout.d.ts.map +1 -1
  1037. package/node_modules/@earendil-works/pi-tui/dist/layout.js +9 -2
  1038. package/node_modules/@earendil-works/pi-tui/dist/layout.js.map +1 -1
  1039. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.d.ts +8 -2
  1040. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.d.ts.map +1 -1
  1041. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js +6 -2
  1042. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js.map +1 -1
  1043. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +6 -0
  1044. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  1045. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +18 -1
  1046. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  1047. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts +21 -0
  1048. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts.map +1 -1
  1049. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js +243 -5
  1050. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js.map +1 -1
  1051. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +2 -0
  1052. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  1053. package/node_modules/@earendil-works/pi-tui/dist/tui.js +33 -8
  1054. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  1055. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  1056. package/package.json +11 -8
  1057. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/search.d.ts +0 -19
  1058. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/search.d.ts.map +0 -1
  1059. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/search.js +0 -41
  1060. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/search.js.map +0 -1
@@ -0,0 +1,355 @@
1
+ // Copyright 2021-2026 Buf Technologies, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ import { ScalarType, } from "../descriptors.js";
15
+ import { protoInt64 } from "../proto-int64.js";
16
+ import { reflect } from "../reflect/reflect.js";
17
+ import { createExtensionContainer, getExtension } from "../extensions.js";
18
+ import { BinaryReader, WireType } from "../wire/index.js";
19
+ import { anyUnpack } from "../wkt/index.js";
20
+ import { isGroupLike } from "./is-group-like.js";
21
+ import { quoteBytes, quoteString, Writer } from "./writer.js";
22
+ const textWriteDefaults = {
23
+ printUnknownFields: false,
24
+ };
25
+ function makeWriteOptions(options) {
26
+ return options ? Object.assign(Object.assign({}, textWriteDefaults), options) : textWriteDefaults;
27
+ }
28
+ // A bound on nested unknown-field rendering. The known-field tree is a finite,
29
+ // valid in-memory message and needs no limit, but printUnknownFields re-parses
30
+ // bytes and recurses (the length-delimited and group heuristics), so we cap
31
+ // that path as defense-in-depth.
32
+ const unknownFieldDepthLimit = 100;
33
+ /**
34
+ * Serialize a message to the protobuf text format.
35
+ *
36
+ * The output matches the default formatting of txtpbfmt: two-space indentation,
37
+ * one field per line, and a trailing newline.
38
+ *
39
+ * Requires BigInt: throws immediately if the environment does not support it.
40
+ */
41
+ export function toText(schema, message, options) {
42
+ if (!protoInt64.supported) {
43
+ throw new Error("the protobuf text format requires BigInt, which is unavailable in this environment");
44
+ }
45
+ const writer = new Writer();
46
+ writeMessage(writer, reflect(schema, message), makeWriteOptions(options));
47
+ return writer.toString();
48
+ }
49
+ /**
50
+ * Write the body of a message: regular fields in declaration order, then
51
+ * resolvable extensions sorted by full name, then unknown fields by number
52
+ * (only when printUnknownFields is enabled). For `google.protobuf.Any`, the
53
+ * expanded form replaces all of this.
54
+ */
55
+ function writeMessage(writer, msg, opts) {
56
+ var _a;
57
+ if (writeAny(writer, msg, opts)) {
58
+ return;
59
+ }
60
+ for (const field of msg.fields) {
61
+ // Unset fields are omitted, including unset required fields; like
62
+ // protobuf-go, we do not validate required fields when serializing.
63
+ if (msg.isSet(field)) {
64
+ writeField(writer, fieldTextName(field), field, msg, opts);
65
+ }
66
+ }
67
+ const extensionNumbers = writeExtensions(writer, msg, opts);
68
+ if (opts.printUnknownFields) {
69
+ for (const field of (_a = msg.getUnknown()) !== null && _a !== void 0 ? _a : []) {
70
+ if (!extensionNumbers.has(field.no)) {
71
+ writeUnknownField(writer, field, 0);
72
+ }
73
+ }
74
+ }
75
+ }
76
+ function writeField(writer, name, field, msg, opts) {
77
+ // Narrowing on fieldKind lets msg.get(field) return the precise reflect type
78
+ // for each case — ReflectMessage, ReflectList, ReflectMap, number, or a scalar
79
+ // value — so none of the branches need a cast.
80
+ switch (field.fieldKind) {
81
+ case "scalar":
82
+ writer.scalar(name, scalarToText(field.scalar, msg.get(field)));
83
+ break;
84
+ case "enum":
85
+ writer.scalar(name, enumToText(field.enum, msg.get(field)));
86
+ break;
87
+ case "message":
88
+ writeMessageValue(writer, name, msg.get(field), opts);
89
+ break;
90
+ case "list":
91
+ writeList(writer, name, field, msg.get(field), opts);
92
+ break;
93
+ case "map":
94
+ writeMap(writer, name, field, msg.get(field), opts);
95
+ break;
96
+ }
97
+ }
98
+ /**
99
+ * Write a message value as `name: { ... }`, or `name: {}` when it has no body.
100
+ * The body is rendered speculatively and rolled back if it turns out empty.
101
+ */
102
+ function writeMessageValue(writer, name, msg, opts) {
103
+ const mark = writer.mark();
104
+ writer.openMessage(name);
105
+ writeMessage(writer, msg, opts);
106
+ if (writer.writesSince(mark) === 1) {
107
+ // Only the opener was written, so the message is empty.
108
+ writer.reset(mark);
109
+ writer.emptyMessage(name);
110
+ }
111
+ else {
112
+ writer.end();
113
+ }
114
+ }
115
+ function writeList(writer, name, field, list, opts) {
116
+ switch (field.listKind) {
117
+ case "scalar":
118
+ for (const item of list) {
119
+ writer.scalar(name, scalarToText(field.scalar, item));
120
+ }
121
+ break;
122
+ case "enum":
123
+ for (const item of list) {
124
+ writer.scalar(name, enumToText(field.enum, item));
125
+ }
126
+ break;
127
+ case "message":
128
+ for (const item of list) {
129
+ writeMessageValue(writer, name, item, opts);
130
+ }
131
+ break;
132
+ }
133
+ }
134
+ function writeMap(writer, name, field, map, opts) {
135
+ // Map entries are emitted in iteration (insertion) order; unlike protobuf-go,
136
+ // we deliberately do not sort them.
137
+ for (const [key, value] of map) {
138
+ writer.openMessage(name);
139
+ writer.scalar("key", scalarToText(field.mapKey, key));
140
+ switch (field.mapKind) {
141
+ case "scalar":
142
+ writer.scalar("value", scalarToText(field.scalar, value));
143
+ break;
144
+ case "enum":
145
+ writer.scalar("value", enumToText(field.enum, value));
146
+ break;
147
+ case "message":
148
+ writeMessageValue(writer, "value", value, opts);
149
+ break;
150
+ }
151
+ writer.end();
152
+ }
153
+ }
154
+ /**
155
+ * Write `google.protobuf.Any` in its expanded form `[type.url]: { ... }`.
156
+ * Returns false (so the generic path writes `type_url`/`value` instead) when
157
+ * the message is not an Any, has no type URL, or the type cannot be resolved.
158
+ */
159
+ function writeAny(writer, msg, opts) {
160
+ if (msg.desc.typeName !== "google.protobuf.Any" ||
161
+ opts.registry === undefined) {
162
+ return false;
163
+ }
164
+ const any = msg.message;
165
+ if (any.typeUrl === "") {
166
+ return false;
167
+ }
168
+ const unpacked = anyUnpack(any, opts.registry);
169
+ if (unpacked === undefined) {
170
+ return false;
171
+ }
172
+ const desc = opts.registry.getMessage(unpacked.$typeName);
173
+ if (desc === undefined) {
174
+ return false;
175
+ }
176
+ // The bracketed name preserves the exact type URL, including a custom domain.
177
+ writeMessageValue(writer, "[" + any.typeUrl + "]", reflect(desc, unpacked), opts);
178
+ return true;
179
+ }
180
+ /**
181
+ * Write resolvable extensions, sorted by full name, and return their field
182
+ * numbers so writeMessage does not also emit them as raw unknown fields.
183
+ */
184
+ function writeExtensions(writer, msg, opts) {
185
+ const numbers = new Set();
186
+ const unknown = msg.getUnknown();
187
+ if (opts.registry === undefined || unknown === undefined) {
188
+ return numbers;
189
+ }
190
+ const extensions = [];
191
+ for (const { no } of unknown) {
192
+ if (numbers.has(no)) {
193
+ continue;
194
+ }
195
+ const extension = opts.registry.getExtensionFor(msg.desc, no);
196
+ if (extension !== undefined) {
197
+ numbers.add(no);
198
+ extensions.push(extension);
199
+ }
200
+ }
201
+ extensions.sort((a, b) => a.typeName < b.typeName ? -1 : a.typeName > b.typeName ? 1 : 0);
202
+ for (const extension of extensions) {
203
+ const value = getExtension(msg.message, extension);
204
+ const [container, field] = createExtensionContainer(extension, value);
205
+ writeField(writer, "[" + extension.typeName + "]", field, container, opts);
206
+ }
207
+ return numbers;
208
+ }
209
+ /**
210
+ * Write an unknown field by its field number, mirroring protobuf-go: varints as
211
+ * decimal, fixed-width values as hexadecimal, length-delimited data as a nested
212
+ * message when it parses cleanly as one and a quoted byte string otherwise, and
213
+ * groups recursively.
214
+ */
215
+ function writeUnknownField(writer, field, depth) {
216
+ const name = field.no.toString();
217
+ const reader = new BinaryReader(field.data);
218
+ switch (field.wireType) {
219
+ case WireType.Varint:
220
+ writer.scalar(name, reader.uint64().toString());
221
+ break;
222
+ case WireType.Bit32:
223
+ writer.scalar(name, "0x" + (reader.fixed32() >>> 0).toString(16).padStart(8, "0"));
224
+ break;
225
+ case WireType.Bit64:
226
+ writer.scalar(name, "0x" + BigInt(reader.fixed64()).toString(16).padStart(16, "0"));
227
+ break;
228
+ case WireType.LengthDelimited: {
229
+ const bytes = reader.bytes();
230
+ const nested = depth < unknownFieldDepthLimit ? parseUnknownMessage(bytes) : undefined;
231
+ if (nested === undefined) {
232
+ writer.scalar(name, quoteBytes(bytes));
233
+ }
234
+ else {
235
+ writeUnknownGroup(writer, name, nested, depth);
236
+ }
237
+ break;
238
+ }
239
+ case WireType.StartGroup: {
240
+ const fields = [];
241
+ while (reader.pos < reader.len) {
242
+ const [no, wireType] = reader.tag();
243
+ if (wireType === WireType.EndGroup) {
244
+ break;
245
+ }
246
+ fields.push({ no, wireType, data: reader.skip(wireType, no) });
247
+ }
248
+ writeUnknownGroup(writer, name, fields, depth);
249
+ break;
250
+ }
251
+ }
252
+ }
253
+ function writeUnknownGroup(writer, name, fields, depth) {
254
+ if (fields.length === 0) {
255
+ writer.emptyMessage(name);
256
+ return;
257
+ }
258
+ writer.openMessage(name);
259
+ for (const field of fields) {
260
+ writeUnknownField(writer, field, depth + 1);
261
+ }
262
+ writer.end();
263
+ }
264
+ /**
265
+ * Try to interpret length-delimited bytes as a nested message. Returns its
266
+ * unknown fields if the bytes parse cleanly and completely, otherwise undefined
267
+ * (in which case the data is rendered as a quoted byte string).
268
+ */
269
+ function parseUnknownMessage(bytes) {
270
+ if (bytes.length === 0) {
271
+ return undefined;
272
+ }
273
+ const reader = new BinaryReader(bytes);
274
+ const fields = [];
275
+ try {
276
+ while (reader.pos < reader.len) {
277
+ const [no, wireType] = reader.tag();
278
+ if (no <= 0 || wireType === WireType.EndGroup) {
279
+ return undefined;
280
+ }
281
+ fields.push({ no, wireType, data: reader.skip(wireType, no) });
282
+ }
283
+ }
284
+ catch (_a) {
285
+ return undefined;
286
+ }
287
+ return reader.pos === reader.len ? fields : undefined;
288
+ }
289
+ /**
290
+ * The name a field is addressed by in the text format: a group-like (delimited)
291
+ * field uses its message type name, every other field its proto name.
292
+ */
293
+ function fieldTextName(field) {
294
+ return isGroupLike(field) ? field.message.name : field.name;
295
+ }
296
+ function scalarToText(type, value) {
297
+ switch (type) {
298
+ case ScalarType.STRING:
299
+ return quoteString(value);
300
+ case ScalarType.BYTES:
301
+ return quoteBytes(value);
302
+ case ScalarType.BOOL:
303
+ return value === true ? "true" : "false";
304
+ case ScalarType.FLOAT:
305
+ return floatToText(value, true);
306
+ case ScalarType.DOUBLE:
307
+ return floatToText(value, false);
308
+ default:
309
+ // All integer types print as decimal with no prefix. 64-bit values are
310
+ // bigint; String() gives the decimal form for both bigint and number.
311
+ return String(value);
312
+ }
313
+ }
314
+ function enumToText(descEnum, value) {
315
+ // Emit the first-declared name for a value, so allow_alias enums match
316
+ // protobuf-go (the by-number record can resolve to a non-first alias). An
317
+ // unknown value prints as a decimal.
318
+ for (const v of descEnum.values) {
319
+ if (v.number === value) {
320
+ return v.name;
321
+ }
322
+ }
323
+ return value.toString();
324
+ }
325
+ function floatToText(value, single) {
326
+ // Round to 32-bit precision first so an overflow becomes inf (not the JS
327
+ // "Infinity") and the value is the true 32-bit value before we test it.
328
+ const n = single ? Math.fround(value) : value;
329
+ if (Number.isNaN(n)) {
330
+ return "nan";
331
+ }
332
+ if (n === Number.POSITIVE_INFINITY) {
333
+ return "inf";
334
+ }
335
+ if (n === Number.NEGATIVE_INFINITY) {
336
+ return "-inf";
337
+ }
338
+ if (Object.is(n, -0)) {
339
+ return "-0";
340
+ }
341
+ if (!single) {
342
+ // Number.prototype.toString already yields the shortest decimal that
343
+ // round-trips to the same 64-bit value.
344
+ return n.toString();
345
+ }
346
+ // For 32-bit floats, find the shortest decimal that round-trips to the same
347
+ // float32, mirroring strconv.AppendFloat(n, 'g', -1, 32) in protobuf-go.
348
+ for (let precision = 1; precision <= 9; precision++) {
349
+ const candidate = Number(n.toPrecision(precision));
350
+ if (Math.fround(candidate) === n) {
351
+ return candidate.toString();
352
+ }
353
+ }
354
+ return n.toString();
355
+ }
@@ -0,0 +1,76 @@
1
+ /**
2
+ * A position in the Writer's output, used to roll back speculative writes.
3
+ */
4
+ interface Mark {
5
+ readonly size: number;
6
+ readonly depth: number;
7
+ }
8
+ /**
9
+ * A writer for the protobuf text format.
10
+ *
11
+ * The Writer owns layout: indentation, line breaks, and braces. Its output
12
+ * matches the default formatting of txtpbfmt and the multi-line output of
13
+ * protobuf-go: two-space indentation, `name: value` with a single space after
14
+ * the colon, submessages as `name: {` with the body indented and `}` aligned
15
+ * under the field name, and a trailing newline. It never inserts the randomized
16
+ * extra spaces that protobuf-go adds to discourage parsing its output as
17
+ * canonical.
18
+ *
19
+ * Output accumulates into a single buffer of lines, so a deep tree costs no
20
+ * more than the bytes it prints. To decide between `name: {}` and an indented
21
+ * block, the caller renders the body, then rolls back with mark()/reset() if it
22
+ * turned out empty — an O(1) decision that needs no separate child buffer.
23
+ */
24
+ export declare class Writer {
25
+ private readonly chunks;
26
+ private depth;
27
+ /**
28
+ * Write a scalar field: `<indent>name: value` followed by a newline.
29
+ */
30
+ scalar(name: string, value: string): void;
31
+ /**
32
+ * Write an empty message field: `<indent>name: {}` followed by a newline.
33
+ */
34
+ emptyMessage(name: string): void;
35
+ /**
36
+ * Open a message field: `<indent>name: {` followed by a newline, then indent
37
+ * the body. Close it with end().
38
+ */
39
+ openMessage(name: string): void;
40
+ /**
41
+ * Close a message opened with openMessage(): outdent and write `<indent>}`
42
+ * followed by a newline.
43
+ */
44
+ end(): void;
45
+ /**
46
+ * Capture the current output position so it can be rolled back with reset().
47
+ */
48
+ mark(): Mark;
49
+ /**
50
+ * Roll back to a position captured with mark().
51
+ */
52
+ reset(mark: Mark): void;
53
+ /**
54
+ * The number of lines written since the given mark.
55
+ */
56
+ writesSince(mark: Mark): number;
57
+ toString(): string;
58
+ private indent;
59
+ }
60
+ /**
61
+ * Quote and escape a string field value as a double-quoted text format literal.
62
+ *
63
+ * Uses the single escaping decision in escapeCodePoint, so string fields, bytes
64
+ * fields, and unknown length-delimited rendering can never drift apart. Valid
65
+ * non-ASCII passes through as raw UTF-8; surrogates are never escaped.
66
+ */
67
+ export declare function quoteString(value: string): string;
68
+ /**
69
+ * Quote and escape a bytes field value as a double-quoted text format literal.
70
+ *
71
+ * Valid UTF-8 runs are emitted with escapeCodePoint (so they read identically
72
+ * to a string field); any byte that is not part of a valid UTF-8 sequence is
73
+ * emitted as `\xHH`, keeping the output plain ASCII that round-trips exactly.
74
+ */
75
+ export declare function quoteBytes(value: Uint8Array): string;
76
+ export {};
@@ -0,0 +1,214 @@
1
+ // Copyright 2021-2026 Buf Technologies, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ const indentUnit = " ";
15
+ /**
16
+ * A writer for the protobuf text format.
17
+ *
18
+ * The Writer owns layout: indentation, line breaks, and braces. Its output
19
+ * matches the default formatting of txtpbfmt and the multi-line output of
20
+ * protobuf-go: two-space indentation, `name: value` with a single space after
21
+ * the colon, submessages as `name: {` with the body indented and `}` aligned
22
+ * under the field name, and a trailing newline. It never inserts the randomized
23
+ * extra spaces that protobuf-go adds to discourage parsing its output as
24
+ * canonical.
25
+ *
26
+ * Output accumulates into a single buffer of lines, so a deep tree costs no
27
+ * more than the bytes it prints. To decide between `name: {}` and an indented
28
+ * block, the caller renders the body, then rolls back with mark()/reset() if it
29
+ * turned out empty — an O(1) decision that needs no separate child buffer.
30
+ */
31
+ export class Writer {
32
+ constructor() {
33
+ this.chunks = [];
34
+ this.depth = 0;
35
+ }
36
+ /**
37
+ * Write a scalar field: `<indent>name: value` followed by a newline.
38
+ */
39
+ scalar(name, value) {
40
+ this.chunks.push(this.indent() + name + ": " + value + "\n");
41
+ }
42
+ /**
43
+ * Write an empty message field: `<indent>name: {}` followed by a newline.
44
+ */
45
+ emptyMessage(name) {
46
+ this.chunks.push(this.indent() + name + ": {}\n");
47
+ }
48
+ /**
49
+ * Open a message field: `<indent>name: {` followed by a newline, then indent
50
+ * the body. Close it with end().
51
+ */
52
+ openMessage(name) {
53
+ this.chunks.push(this.indent() + name + ": {\n");
54
+ this.depth++;
55
+ }
56
+ /**
57
+ * Close a message opened with openMessage(): outdent and write `<indent>}`
58
+ * followed by a newline.
59
+ */
60
+ end() {
61
+ this.depth--;
62
+ this.chunks.push(this.indent() + "}\n");
63
+ }
64
+ /**
65
+ * Capture the current output position so it can be rolled back with reset().
66
+ */
67
+ mark() {
68
+ return { size: this.chunks.length, depth: this.depth };
69
+ }
70
+ /**
71
+ * Roll back to a position captured with mark().
72
+ */
73
+ reset(mark) {
74
+ this.chunks.length = mark.size;
75
+ this.depth = mark.depth;
76
+ }
77
+ /**
78
+ * The number of lines written since the given mark.
79
+ */
80
+ writesSince(mark) {
81
+ return this.chunks.length - mark.size;
82
+ }
83
+ toString() {
84
+ return this.chunks.join("");
85
+ }
86
+ indent() {
87
+ return indentUnit.repeat(this.depth);
88
+ }
89
+ }
90
+ /**
91
+ * Quote and escape a string field value as a double-quoted text format literal.
92
+ *
93
+ * Uses the single escaping decision in escapeCodePoint, so string fields, bytes
94
+ * fields, and unknown length-delimited rendering can never drift apart. Valid
95
+ * non-ASCII passes through as raw UTF-8; surrogates are never escaped.
96
+ */
97
+ export function quoteString(value) {
98
+ var _a;
99
+ let out = '"';
100
+ for (const ch of value) {
101
+ out += (_a = escapeCodePoint(ch.codePointAt(0))) !== null && _a !== void 0 ? _a : ch;
102
+ }
103
+ return out + '"';
104
+ }
105
+ /**
106
+ * Quote and escape a bytes field value as a double-quoted text format literal.
107
+ *
108
+ * Valid UTF-8 runs are emitted with escapeCodePoint (so they read identically
109
+ * to a string field); any byte that is not part of a valid UTF-8 sequence is
110
+ * emitted as `\xHH`, keeping the output plain ASCII that round-trips exactly.
111
+ */
112
+ export function quoteBytes(value) {
113
+ var _a;
114
+ let out = '"';
115
+ for (let i = 0; i < value.length;) {
116
+ const rune = decodeUtf8(value, i);
117
+ if (rune === undefined) {
118
+ out += "\\x" + hex2(value[i]);
119
+ i++;
120
+ continue;
121
+ }
122
+ out += (_a = escapeCodePoint(rune.code)) !== null && _a !== void 0 ? _a : String.fromCodePoint(rune.code);
123
+ i += rune.size;
124
+ }
125
+ return out + '"';
126
+ }
127
+ /**
128
+ * The single source of truth for escaping a code point in a text format string
129
+ * literal. Returns the escape sequence, or undefined when the code point may be
130
+ * emitted raw.
131
+ *
132
+ * Escapes the conventional sequences, all C0 controls and DEL as `\xHH`, and
133
+ * the C1 controls (U+0080–U+009F) as `\u00HH`. Surrogates and everything else
134
+ * pass through raw.
135
+ */
136
+ function escapeCodePoint(code) {
137
+ switch (code) {
138
+ case 0x5c:
139
+ return "\\\\";
140
+ case 0x22:
141
+ return '\\"';
142
+ case 0x0a:
143
+ return "\\n";
144
+ case 0x0d:
145
+ return "\\r";
146
+ case 0x09:
147
+ return "\\t";
148
+ }
149
+ if (code < 0x20 || code === 0x7f) {
150
+ return "\\x" + hex2(code);
151
+ }
152
+ if (code >= 0x80 && code <= 0x9f) {
153
+ return "\\u" + code.toString(16).padStart(4, "0");
154
+ }
155
+ return undefined;
156
+ }
157
+ /**
158
+ * Decode the UTF-8 sequence starting at `offset`, returning the code point and
159
+ * its byte length, or undefined if the bytes there are not valid UTF-8. We
160
+ * decode manually (rather than via TextDecoder) so an invalid byte can be
161
+ * pinpointed and escaped individually.
162
+ */
163
+ function decodeUtf8(bytes, offset) {
164
+ const b0 = bytes[offset];
165
+ if (b0 < 0x80) {
166
+ return { code: b0, size: 1 };
167
+ }
168
+ if (b0 < 0xc0) {
169
+ return undefined;
170
+ }
171
+ if (b0 < 0xe0) {
172
+ const b1 = bytes[offset + 1];
173
+ if (!isContinuation(b1)) {
174
+ return undefined;
175
+ }
176
+ const code = ((b0 & 0x1f) << 6) | (b1 & 0x3f);
177
+ return code < 0x80 ? undefined : { code, size: 2 };
178
+ }
179
+ if (b0 < 0xf0) {
180
+ const b1 = bytes[offset + 1];
181
+ const b2 = bytes[offset + 2];
182
+ if (!isContinuation(b1) || !isContinuation(b2)) {
183
+ return undefined;
184
+ }
185
+ const code = ((b0 & 0x0f) << 12) | ((b1 & 0x3f) << 6) | (b2 & 0x3f);
186
+ if (code < 0x800 || (code >= 0xd800 && code <= 0xdfff)) {
187
+ return undefined;
188
+ }
189
+ return { code, size: 3 };
190
+ }
191
+ if (b0 < 0xf8) {
192
+ const b1 = bytes[offset + 1];
193
+ const b2 = bytes[offset + 2];
194
+ const b3 = bytes[offset + 3];
195
+ if (!isContinuation(b1) || !isContinuation(b2) || !isContinuation(b3)) {
196
+ return undefined;
197
+ }
198
+ const code = ((b0 & 0x07) << 18) |
199
+ ((b1 & 0x3f) << 12) |
200
+ ((b2 & 0x3f) << 6) |
201
+ (b3 & 0x3f);
202
+ if (code < 0x10000 || code > 0x10ffff) {
203
+ return undefined;
204
+ }
205
+ return { code, size: 4 };
206
+ }
207
+ return undefined;
208
+ }
209
+ function isContinuation(byte) {
210
+ return byte !== undefined && (byte & 0xc0) === 0x80;
211
+ }
212
+ function hex2(value) {
213
+ return value.toString(16).padStart(2, "0");
214
+ }