@code-yeongyu/senpi 2026.8.16 → 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 (625) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/bun/cli.js +1 -0
  3. package/dist/bun/cli.js.map +1 -1
  4. package/dist/bun/register-cursor-agent.d.ts +2 -0
  5. package/dist/bun/register-cursor-agent.d.ts.map +1 -0
  6. package/dist/bun/register-cursor-agent.js +4 -0
  7. package/dist/bun/register-cursor-agent.js.map +1 -0
  8. package/dist/core/agent-session-services.js +2 -2
  9. package/dist/core/agent-session-services.js.map +1 -1
  10. package/dist/core/agent-session.d.ts +48 -5
  11. package/dist/core/agent-session.d.ts.map +1 -1
  12. package/dist/core/agent-session.js +239 -61
  13. package/dist/core/agent-session.js.map +1 -1
  14. package/dist/core/cursor-exec-bridge-session.d.ts +11 -0
  15. package/dist/core/cursor-exec-bridge-session.d.ts.map +1 -0
  16. package/dist/core/cursor-exec-bridge-session.js +17 -0
  17. package/dist/core/cursor-exec-bridge-session.js.map +1 -0
  18. package/dist/core/cursor-exec-bridge.d.ts +52 -0
  19. package/dist/core/cursor-exec-bridge.d.ts.map +1 -0
  20. package/dist/core/cursor-exec-bridge.js +196 -0
  21. package/dist/core/cursor-exec-bridge.js.map +1 -0
  22. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.d.ts +28 -0
  23. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.d.ts.map +1 -0
  24. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.js +278 -0
  25. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.js.map +1 -0
  26. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.d.ts +38 -0
  27. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.d.ts.map +1 -0
  28. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.js +75 -0
  29. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.js.map +1 -0
  30. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.d.ts +24 -0
  31. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.d.ts.map +1 -0
  32. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.js +64 -0
  33. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.js.map +1 -0
  34. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.d.ts +139 -0
  35. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.d.ts.map +1 -0
  36. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.js +362 -0
  37. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.js.map +1 -0
  38. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.d.ts +19 -0
  39. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.d.ts.map +1 -0
  40. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.js +122 -0
  41. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.js.map +1 -0
  42. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.d.ts +30 -0
  43. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.d.ts.map +1 -0
  44. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.js +117 -0
  45. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.js.map +1 -0
  46. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.d.ts +39 -0
  47. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.d.ts.map +1 -0
  48. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.js +155 -0
  49. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.js.map +1 -0
  50. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.d.ts +89 -0
  51. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.d.ts.map +1 -0
  52. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.js +147 -0
  53. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.js.map +1 -0
  54. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.d.ts +20 -0
  55. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.d.ts.map +1 -0
  56. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.js +99 -0
  57. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.js.map +1 -0
  58. package/dist/core/extensions/builtin/cursor-cli-oauth/index.d.ts +25 -0
  59. package/dist/core/extensions/builtin/cursor-cli-oauth/index.d.ts.map +1 -0
  60. package/dist/core/extensions/builtin/cursor-cli-oauth/index.js +67 -0
  61. package/dist/core/extensions/builtin/cursor-cli-oauth/index.js.map +1 -0
  62. package/dist/core/extensions/builtin/cursor-cli-oauth/models.d.ts +27 -0
  63. package/dist/core/extensions/builtin/cursor-cli-oauth/models.d.ts.map +1 -0
  64. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js +242 -0
  65. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js.map +1 -0
  66. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.d.ts +73 -0
  67. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.d.ts.map +1 -0
  68. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.js +330 -0
  69. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.js.map +1 -0
  70. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.d.ts +94 -0
  71. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.d.ts.map +1 -0
  72. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.js +248 -0
  73. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.js.map +1 -0
  74. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.d.ts +35 -0
  75. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.d.ts.map +1 -0
  76. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.js +186 -0
  77. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.js.map +1 -0
  78. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.d.ts +11 -0
  79. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.d.ts.map +1 -0
  80. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.js +17 -0
  81. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.js.map +1 -0
  82. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.d.ts +104 -0
  83. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.d.ts.map +1 -0
  84. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.js +301 -0
  85. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.js.map +1 -0
  86. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.d.ts +26 -0
  87. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.d.ts.map +1 -0
  88. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.js +587 -0
  89. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.js.map +1 -0
  90. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.d.ts +43 -0
  91. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.d.ts.map +1 -0
  92. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.js +196 -0
  93. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.js.map +1 -0
  94. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.d.ts +9 -0
  95. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.d.ts.map +1 -0
  96. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.js +18 -0
  97. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.js.map +1 -0
  98. package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts.map +1 -1
  99. package/dist/core/extensions/builtin/goal/monitor-continuation.js +10 -9
  100. package/dist/core/extensions/builtin/goal/monitor-continuation.js.map +1 -1
  101. package/dist/core/extensions/builtin/index.d.ts.map +1 -1
  102. package/dist/core/extensions/builtin/index.js +5 -2
  103. package/dist/core/extensions/builtin/index.js.map +1 -1
  104. package/dist/core/extensions/builtin/loop-guard/detectors.d.ts.map +1 -1
  105. package/dist/core/extensions/builtin/loop-guard/detectors.js +21 -3
  106. package/dist/core/extensions/builtin/loop-guard/detectors.js.map +1 -1
  107. package/dist/core/extensions/builtin/loop-guard/escalation.d.ts +24 -0
  108. package/dist/core/extensions/builtin/loop-guard/escalation.d.ts.map +1 -0
  109. package/dist/core/extensions/builtin/loop-guard/escalation.js +77 -0
  110. package/dist/core/extensions/builtin/loop-guard/escalation.js.map +1 -0
  111. package/dist/core/extensions/builtin/loop-guard/index.d.ts.map +1 -1
  112. package/dist/core/extensions/builtin/loop-guard/index.js +98 -3
  113. package/dist/core/extensions/builtin/loop-guard/index.js.map +1 -1
  114. package/dist/core/extensions/builtin/loop-guard/notice.d.ts +9 -0
  115. package/dist/core/extensions/builtin/loop-guard/notice.d.ts.map +1 -1
  116. package/dist/core/extensions/builtin/loop-guard/notice.js +17 -0
  117. package/dist/core/extensions/builtin/loop-guard/notice.js.map +1 -1
  118. package/dist/core/extensions/builtin/loop-guard/policy.d.ts +4 -0
  119. package/dist/core/extensions/builtin/loop-guard/policy.d.ts.map +1 -1
  120. package/dist/core/extensions/builtin/loop-guard/policy.js +4 -0
  121. package/dist/core/extensions/builtin/loop-guard/policy.js.map +1 -1
  122. package/dist/core/extensions/builtin/loop-guard/renderer.d.ts +2 -0
  123. package/dist/core/extensions/builtin/loop-guard/renderer.d.ts.map +1 -1
  124. package/dist/core/extensions/builtin/loop-guard/renderer.js +11 -0
  125. package/dist/core/extensions/builtin/loop-guard/renderer.js.map +1 -1
  126. package/dist/core/extensions/builtin/loop-guard/tracker.d.ts +1 -1
  127. package/dist/core/extensions/builtin/loop-guard/tracker.d.ts.map +1 -1
  128. package/dist/core/extensions/builtin/loop-guard/tracker.js +3 -1
  129. package/dist/core/extensions/builtin/loop-guard/tracker.js.map +1 -1
  130. package/dist/core/extensions/builtin/monitor-state-event.d.ts +6 -0
  131. package/dist/core/extensions/builtin/monitor-state-event.d.ts.map +1 -1
  132. package/dist/core/extensions/builtin/monitor-state-event.js +10 -0
  133. package/dist/core/extensions/builtin/monitor-state-event.js.map +1 -1
  134. package/dist/core/model-resolver.js +1 -1
  135. package/dist/core/model-resolver.js.map +1 -1
  136. package/dist/core/model-runtime.d.ts +7 -2
  137. package/dist/core/model-runtime.d.ts.map +1 -1
  138. package/dist/core/model-runtime.js +14 -2
  139. package/dist/core/model-runtime.js.map +1 -1
  140. package/dist/core/prompt-templates.d.ts +5 -0
  141. package/dist/core/prompt-templates.d.ts.map +1 -1
  142. package/dist/core/prompt-templates.js +8 -9
  143. package/dist/core/prompt-templates.js.map +1 -1
  144. package/dist/core/provider-display-names.d.ts.map +1 -1
  145. package/dist/core/provider-display-names.js +1 -0
  146. package/dist/core/provider-display-names.js.map +1 -1
  147. package/dist/core/sdk.d.ts.map +1 -1
  148. package/dist/core/sdk.js +6 -0
  149. package/dist/core/sdk.js.map +1 -1
  150. package/dist/modes/interactive/editor-paste-transfer.d.ts +10 -0
  151. package/dist/modes/interactive/editor-paste-transfer.d.ts.map +1 -1
  152. package/dist/modes/interactive/editor-paste-transfer.js +16 -0
  153. package/dist/modes/interactive/editor-paste-transfer.js.map +1 -1
  154. package/dist/modes/interactive/interactive-mode.js +2 -2
  155. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  156. package/dist/modes/rpc/connection-handler.d.ts.map +1 -1
  157. package/dist/modes/rpc/connection-handler.js +32 -27
  158. package/dist/modes/rpc/connection-handler.js.map +1 -1
  159. package/dist/modes/rpc/jsonl.d.ts +6 -1
  160. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  161. package/dist/modes/rpc/jsonl.js +47 -14
  162. package/dist/modes/rpc/jsonl.js.map +1 -1
  163. package/dist/modes/rpc/multi-session-host.d.ts.map +1 -1
  164. package/dist/modes/rpc/multi-session-host.js +26 -4
  165. package/dist/modes/rpc/multi-session-host.js.map +1 -1
  166. package/dist/modes/rpc/rpc-command-invocation.d.ts +5 -0
  167. package/dist/modes/rpc/rpc-command-invocation.d.ts.map +1 -0
  168. package/dist/modes/rpc/rpc-command-invocation.js +2 -0
  169. package/dist/modes/rpc/rpc-command-invocation.js.map +1 -0
  170. package/dist/modes/rpc/rpc-command-surface.d.ts +49 -0
  171. package/dist/modes/rpc/rpc-command-surface.d.ts.map +1 -0
  172. package/dist/modes/rpc/rpc-command-surface.js +40 -0
  173. package/dist/modes/rpc/rpc-command-surface.js.map +1 -0
  174. package/dist/modes/rpc/rpc-input-validation.d.ts +4 -0
  175. package/dist/modes/rpc/rpc-input-validation.d.ts.map +1 -0
  176. package/dist/modes/rpc/rpc-input-validation.js +20 -0
  177. package/dist/modes/rpc/rpc-input-validation.js.map +1 -0
  178. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  179. package/dist/modes/rpc/rpc-mode.js +12 -1
  180. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  181. package/dist/modes/rpc/rpc-types.d.ts +12 -12
  182. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  183. package/dist/modes/rpc/rpc-types.js.map +1 -1
  184. package/docs/providers.md +50 -1
  185. package/docs/rpc.md +78 -6
  186. package/docs/skills.md +14 -3
  187. package/node_modules/@bufbuild/protobuf/README.md +44 -0
  188. package/node_modules/@bufbuild/protobuf/dist/commonjs/clone.d.ts +6 -0
  189. package/node_modules/@bufbuild/protobuf/dist/commonjs/clone.js +66 -0
  190. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/boot.d.ts +1 -0
  191. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/boot.js +18 -0
  192. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/enum.d.ts +10 -0
  193. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/enum.js +31 -0
  194. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/extension.d.ts +9 -0
  195. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/extension.js +28 -0
  196. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/file.d.ts +1 -0
  197. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/file.js +18 -0
  198. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/index.d.ts +10 -0
  199. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/index.js +39 -0
  200. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/message.d.ts +10 -0
  201. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/message.js +24 -0
  202. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/service.d.ts +8 -0
  203. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/service.js +27 -0
  204. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/symbols.d.ts +140 -0
  205. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/symbols.js +43 -0
  206. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/types.d.ts +79 -0
  207. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/types.js +15 -0
  208. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/boot.d.ts +63 -0
  209. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/boot.js +105 -0
  210. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/embed.d.ts +43 -0
  211. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/embed.js +244 -0
  212. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/enum.d.ts +29 -0
  213. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/enum.js +58 -0
  214. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/extension.d.ts +9 -0
  215. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/extension.js +28 -0
  216. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/file.d.ts +7 -0
  217. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/file.js +35 -0
  218. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/index.d.ts +10 -0
  219. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/index.js +39 -0
  220. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/message.d.ts +15 -0
  221. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/message.js +24 -0
  222. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/restore-json-names.d.ts +5 -0
  223. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/restore-json-names.js +29 -0
  224. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/scalar.d.ts +9 -0
  225. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/scalar.js +67 -0
  226. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/service.d.ts +8 -0
  227. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/service.js +27 -0
  228. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/symbols.d.ts +145 -0
  229. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/symbols.js +74 -0
  230. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/types.d.ts +85 -0
  231. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/types.js +15 -0
  232. package/node_modules/@bufbuild/protobuf/dist/commonjs/create.d.ts +9 -0
  233. package/node_modules/@bufbuild/protobuf/dist/commonjs/create.js +259 -0
  234. package/node_modules/@bufbuild/protobuf/dist/commonjs/descriptors.d.ts +634 -0
  235. package/node_modules/@bufbuild/protobuf/dist/commonjs/descriptors.js +53 -0
  236. package/node_modules/@bufbuild/protobuf/dist/commonjs/equals.d.ts +46 -0
  237. package/node_modules/@bufbuild/protobuf/dist/commonjs/equals.js +209 -0
  238. package/node_modules/@bufbuild/protobuf/dist/commonjs/extensions.d.ts +60 -0
  239. package/node_modules/@bufbuild/protobuf/dist/commonjs/extensions.js +168 -0
  240. package/node_modules/@bufbuild/protobuf/dist/commonjs/fields.d.ts +23 -0
  241. package/node_modules/@bufbuild/protobuf/dist/commonjs/fields.js +45 -0
  242. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-binary.d.ts +48 -0
  243. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-binary.js +247 -0
  244. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-json.d.ts +73 -0
  245. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-json.js +739 -0
  246. package/node_modules/@bufbuild/protobuf/dist/commonjs/index.d.ts +19 -0
  247. package/node_modules/@bufbuild/protobuf/dist/commonjs/index.js +55 -0
  248. package/node_modules/@bufbuild/protobuf/dist/commonjs/is-message.d.ts +7 -0
  249. package/node_modules/@bufbuild/protobuf/dist/commonjs/is-message.js +33 -0
  250. package/node_modules/@bufbuild/protobuf/dist/commonjs/json-value.d.ts +16 -0
  251. package/node_modules/@bufbuild/protobuf/dist/commonjs/json-value.js +15 -0
  252. package/node_modules/@bufbuild/protobuf/dist/commonjs/merge.d.ts +13 -0
  253. package/node_modules/@bufbuild/protobuf/dist/commonjs/merge.js +70 -0
  254. package/node_modules/@bufbuild/protobuf/dist/commonjs/package.json +4 -0
  255. package/node_modules/@bufbuild/protobuf/dist/commonjs/proto-int64.d.ts +98 -0
  256. package/node_modules/@bufbuild/protobuf/dist/commonjs/proto-int64.js +131 -0
  257. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/error.d.ts +9 -0
  258. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/error.js +36 -0
  259. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/guard.d.ts +20 -0
  260. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/guard.js +78 -0
  261. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/index.d.ts +8 -0
  262. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/index.js +41 -0
  263. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/names.d.ts +30 -0
  264. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/names.js +115 -0
  265. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/nested-types.d.ts +35 -0
  266. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/nested-types.js +110 -0
  267. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/path.d.ts +107 -0
  268. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/path.js +376 -0
  269. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-check.d.ts +19 -0
  270. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-check.js +268 -0
  271. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-types.d.ts +217 -0
  272. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-types.js +16 -0
  273. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect.d.ts +43 -0
  274. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect.js +546 -0
  275. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/scalar.d.ts +43 -0
  276. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/scalar.js +129 -0
  277. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/unsafe.d.ts +39 -0
  278. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/unsafe.js +149 -0
  279. package/node_modules/@bufbuild/protobuf/dist/commonjs/registry.d.ts +98 -0
  280. package/node_modules/@bufbuild/protobuf/dist/commonjs/registry.js +945 -0
  281. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-binary.d.ts +24 -0
  282. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-binary.js +199 -0
  283. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-json.d.ts +67 -0
  284. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-json.js +391 -0
  285. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/from-text.d.ts +35 -0
  286. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/from-text.js +684 -0
  287. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/index.d.ts +4 -0
  288. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/index.js +21 -0
  289. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/is-group-like.d.ts +19 -0
  290. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/is-group-like.js +47 -0
  291. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/reader.d.ts +91 -0
  292. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/reader.js +481 -0
  293. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/to-text.d.ts +34 -0
  294. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/to-text.js +358 -0
  295. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/writer.d.ts +76 -0
  296. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/writer.js +220 -0
  297. package/node_modules/@bufbuild/protobuf/dist/commonjs/types.d.ts +135 -0
  298. package/node_modules/@bufbuild/protobuf/dist/commonjs/types.js +15 -0
  299. package/node_modules/@bufbuild/protobuf/dist/commonjs/unknown-enum.d.ts +10 -0
  300. package/node_modules/@bufbuild/protobuf/dist/commonjs/unknown-enum.js +26 -0
  301. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/base64-encoding.d.ts +23 -0
  302. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/base64-encoding.js +156 -0
  303. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/binary-encoding.d.ts +268 -0
  304. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/binary-encoding.js +530 -0
  305. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/index.d.ts +5 -0
  306. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/index.js +34 -0
  307. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/size-delimited.d.ts +69 -0
  308. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/size-delimited.js +191 -0
  309. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-encoding.d.ts +28 -0
  310. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-encoding.js +61 -0
  311. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-format.d.ts +13 -0
  312. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-format.js +199 -0
  313. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/varint.d.ts +70 -0
  314. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/varint.js +322 -0
  315. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/any.d.ts +38 -0
  316. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/any.js +75 -0
  317. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/duration.d.ts +9 -0
  318. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/duration.js +39 -0
  319. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/any_pb.d.ts +238 -0
  320. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/any_pb.js +27 -0
  321. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/api_pb.d.ts +537 -0
  322. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/api_pb.js +39 -0
  323. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +490 -0
  324. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +68 -0
  325. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/cpp_features_pb.d.ts +91 -0
  326. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/cpp_features_pb.js +60 -0
  327. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +4143 -0
  328. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/descriptor_pb.js +892 -0
  329. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/duration_pb.d.ts +161 -0
  330. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/duration_pb.js +27 -0
  331. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/empty_pb.d.ts +39 -0
  332. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/empty_pb.js +27 -0
  333. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/field_mask_pb.d.ts +424 -0
  334. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/field_mask_pb.js +27 -0
  335. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/go_features_pb.d.ts +189 -0
  336. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/go_features_pb.js +126 -0
  337. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/java_features_pb.d.ts +194 -0
  338. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/java_features_pb.js +106 -0
  339. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/source_context_pb.d.ts +43 -0
  340. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/source_context_pb.js +27 -0
  341. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/struct_pb.d.ts +195 -0
  342. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/struct_pb.js +59 -0
  343. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/timestamp_pb.d.ts +222 -0
  344. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/timestamp_pb.js +27 -0
  345. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/type_pb.d.ts +722 -0
  346. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/type_pb.js +242 -0
  347. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +330 -0
  348. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/wrappers_pb.js +67 -0
  349. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/index.d.ts +19 -0
  350. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/index.js +48 -0
  351. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/timestamp.d.ts +21 -0
  352. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/timestamp.js +57 -0
  353. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/wrappers.d.ts +25 -0
  354. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/wrappers.js +66 -0
  355. package/node_modules/@bufbuild/protobuf/dist/esm/clone.d.ts +6 -0
  356. package/node_modules/@bufbuild/protobuf/dist/esm/clone.js +63 -0
  357. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/boot.d.ts +1 -0
  358. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/boot.js +14 -0
  359. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.d.ts +10 -0
  360. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.js +26 -0
  361. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/extension.d.ts +9 -0
  362. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/extension.js +25 -0
  363. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.d.ts +1 -0
  364. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.js +14 -0
  365. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/index.d.ts +10 -0
  366. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/index.js +23 -0
  367. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.d.ts +10 -0
  368. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.js +21 -0
  369. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/service.d.ts +8 -0
  370. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/service.js +24 -0
  371. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/symbols.d.ts +140 -0
  372. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/symbols.js +40 -0
  373. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/types.d.ts +79 -0
  374. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/types.js +14 -0
  375. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/boot.d.ts +63 -0
  376. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/boot.js +101 -0
  377. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/embed.d.ts +43 -0
  378. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/embed.js +239 -0
  379. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/enum.d.ts +29 -0
  380. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/enum.js +53 -0
  381. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/extension.d.ts +9 -0
  382. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/extension.js +25 -0
  383. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/file.d.ts +7 -0
  384. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/file.js +32 -0
  385. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/index.d.ts +10 -0
  386. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/index.js +23 -0
  387. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/message.d.ts +15 -0
  388. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/message.js +21 -0
  389. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.d.ts +5 -0
  390. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.js +26 -0
  391. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/scalar.d.ts +9 -0
  392. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/scalar.js +63 -0
  393. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/service.d.ts +8 -0
  394. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/service.js +24 -0
  395. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/symbols.d.ts +145 -0
  396. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/symbols.js +71 -0
  397. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/types.d.ts +85 -0
  398. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/types.js +14 -0
  399. package/node_modules/@bufbuild/protobuf/dist/esm/create.d.ts +9 -0
  400. package/node_modules/@bufbuild/protobuf/dist/esm/create.js +256 -0
  401. package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.d.ts +634 -0
  402. package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.js +50 -0
  403. package/node_modules/@bufbuild/protobuf/dist/esm/equals.d.ts +46 -0
  404. package/node_modules/@bufbuild/protobuf/dist/esm/equals.js +206 -0
  405. package/node_modules/@bufbuild/protobuf/dist/esm/extensions.d.ts +60 -0
  406. package/node_modules/@bufbuild/protobuf/dist/esm/extensions.js +159 -0
  407. package/node_modules/@bufbuild/protobuf/dist/esm/fields.d.ts +23 -0
  408. package/node_modules/@bufbuild/protobuf/dist/esm/fields.js +41 -0
  409. package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.d.ts +48 -0
  410. package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.js +241 -0
  411. package/node_modules/@bufbuild/protobuf/dist/esm/from-json.d.ts +73 -0
  412. package/node_modules/@bufbuild/protobuf/dist/esm/from-json.js +731 -0
  413. package/node_modules/@bufbuild/protobuf/dist/esm/index.d.ts +19 -0
  414. package/node_modules/@bufbuild/protobuf/dist/esm/index.js +29 -0
  415. package/node_modules/@bufbuild/protobuf/dist/esm/is-message.d.ts +7 -0
  416. package/node_modules/@bufbuild/protobuf/dist/esm/is-message.js +30 -0
  417. package/node_modules/@bufbuild/protobuf/dist/esm/json-value.d.ts +16 -0
  418. package/node_modules/@bufbuild/protobuf/dist/esm/json-value.js +14 -0
  419. package/node_modules/@bufbuild/protobuf/dist/esm/merge.d.ts +13 -0
  420. package/node_modules/@bufbuild/protobuf/dist/esm/merge.js +67 -0
  421. package/node_modules/@bufbuild/protobuf/dist/esm/package.json +4 -0
  422. package/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.d.ts +98 -0
  423. package/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js +128 -0
  424. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/error.d.ts +9 -0
  425. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/error.js +31 -0
  426. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.d.ts +20 -0
  427. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.js +71 -0
  428. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/index.d.ts +8 -0
  429. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/index.js +21 -0
  430. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/names.d.ts +30 -0
  431. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/names.js +109 -0
  432. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/nested-types.d.ts +35 -0
  433. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/nested-types.js +105 -0
  434. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.d.ts +107 -0
  435. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.js +369 -0
  436. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.d.ts +19 -0
  437. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.js +262 -0
  438. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-types.d.ts +217 -0
  439. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-types.js +14 -0
  440. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.d.ts +43 -0
  441. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.js +541 -0
  442. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.d.ts +43 -0
  443. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.js +124 -0
  444. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/unsafe.d.ts +39 -0
  445. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/unsafe.js +140 -0
  446. package/node_modules/@bufbuild/protobuf/dist/esm/registry.d.ts +98 -0
  447. package/node_modules/@bufbuild/protobuf/dist/esm/registry.js +939 -0
  448. package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.d.ts +24 -0
  449. package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.js +195 -0
  450. package/node_modules/@bufbuild/protobuf/dist/esm/to-json.d.ts +67 -0
  451. package/node_modules/@bufbuild/protobuf/dist/esm/to-json.js +386 -0
  452. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/from-text.d.ts +35 -0
  453. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/from-text.js +680 -0
  454. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/index.d.ts +4 -0
  455. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/index.js +15 -0
  456. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/is-group-like.d.ts +19 -0
  457. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/is-group-like.js +44 -0
  458. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/reader.d.ts +91 -0
  459. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/reader.js +477 -0
  460. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/to-text.d.ts +34 -0
  461. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/to-text.js +355 -0
  462. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/writer.d.ts +76 -0
  463. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/writer.js +214 -0
  464. package/node_modules/@bufbuild/protobuf/dist/esm/types.d.ts +135 -0
  465. package/node_modules/@bufbuild/protobuf/dist/esm/types.js +14 -0
  466. package/node_modules/@bufbuild/protobuf/dist/esm/unknown-enum.d.ts +10 -0
  467. package/node_modules/@bufbuild/protobuf/dist/esm/unknown-enum.js +23 -0
  468. package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.d.ts +23 -0
  469. package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.js +152 -0
  470. package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.d.ts +268 -0
  471. package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.js +525 -0
  472. package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.d.ts +5 -0
  473. package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.js +18 -0
  474. package/node_modules/@bufbuild/protobuf/dist/esm/wire/size-delimited.d.ts +69 -0
  475. package/node_modules/@bufbuild/protobuf/dist/esm/wire/size-delimited.js +186 -0
  476. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.d.ts +28 -0
  477. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.js +57 -0
  478. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-format.d.ts +13 -0
  479. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-format.js +195 -0
  480. package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.d.ts +70 -0
  481. package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.js +313 -0
  482. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/any.d.ts +38 -0
  483. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/any.js +69 -0
  484. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/duration.d.ts +9 -0
  485. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/duration.js +35 -0
  486. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/any_pb.d.ts +238 -0
  487. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/any_pb.js +24 -0
  488. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.d.ts +537 -0
  489. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.js +36 -0
  490. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +490 -0
  491. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +65 -0
  492. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/cpp_features_pb.d.ts +91 -0
  493. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/cpp_features_pb.js +57 -0
  494. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +4143 -0
  495. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +888 -0
  496. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/duration_pb.d.ts +161 -0
  497. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/duration_pb.js +24 -0
  498. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +39 -0
  499. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/empty_pb.js +24 -0
  500. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.d.ts +424 -0
  501. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +24 -0
  502. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.d.ts +189 -0
  503. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.js +123 -0
  504. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/java_features_pb.d.ts +194 -0
  505. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/java_features_pb.js +103 -0
  506. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +43 -0
  507. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +24 -0
  508. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/struct_pb.d.ts +195 -0
  509. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/struct_pb.js +56 -0
  510. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.d.ts +222 -0
  511. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +24 -0
  512. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.d.ts +722 -0
  513. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.js +239 -0
  514. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +330 -0
  515. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +64 -0
  516. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/index.d.ts +19 -0
  517. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/index.js +32 -0
  518. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/timestamp.d.ts +21 -0
  519. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/timestamp.js +50 -0
  520. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.d.ts +25 -0
  521. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.js +61 -0
  522. package/node_modules/@bufbuild/protobuf/package.json +147 -0
  523. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +14 -0
  524. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  525. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-runtime.ts +2 -0
  526. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/render.ts +43 -6
  527. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +4 -0
  528. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  529. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +59 -17
  530. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  531. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +14 -0
  532. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  533. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +14 -0
  534. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  535. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +12 -1
  536. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  537. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  538. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  539. package/node_modules/@earendil-works/pi-ai/README.md +3 -2
  540. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.d.ts +17 -0
  541. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.d.ts.map +1 -0
  542. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.js +14 -0
  543. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.js.map +1 -0
  544. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.d.ts +13 -0
  545. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.d.ts.map +1 -0
  546. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.js +33 -0
  547. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.js.map +1 -0
  548. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.d.ts +79 -0
  549. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.d.ts.map +1 -0
  550. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.js +360 -0
  551. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.js.map +1 -0
  552. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.d.ts +16797 -0
  553. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.d.ts.map +1 -0
  554. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.js +3828 -0
  555. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.js.map +1 -0
  556. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.d.ts +55 -0
  557. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.d.ts.map +1 -0
  558. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.js +76 -0
  559. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.js.map +1 -0
  560. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts +116 -0
  561. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts.map +1 -0
  562. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.js +16 -0
  563. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.js.map +1 -0
  564. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts +191 -0
  565. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts.map +1 -0
  566. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js +3316 -0
  567. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -0
  568. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.d.ts +29 -0
  569. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.d.ts.map +1 -0
  570. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.js +33 -0
  571. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.js.map +1 -0
  572. package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts +1 -0
  573. package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts.map +1 -1
  574. package/node_modules/@earendil-works/pi-ai/dist/compat.js +3 -0
  575. package/node_modules/@earendil-works/pi-ai/dist/compat.js.map +1 -1
  576. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.d.ts +11 -0
  577. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.d.ts.map +1 -0
  578. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.js +11 -0
  579. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.js.map +1 -0
  580. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +3 -0
  581. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  582. package/node_modules/@earendil-works/pi-ai/dist/index.js +2 -0
  583. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  584. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts +6 -1
  585. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts.map +1 -1
  586. package/node_modules/@earendil-works/pi-ai/dist/model.js.map +1 -1
  587. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.d.ts +6 -9
  588. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.d.ts.map +1 -1
  589. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js +42 -9
  590. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js.map +1 -1
  591. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  592. package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
  593. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cerebras.json +1 -1
  594. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  595. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-workers-ai.json +1 -1
  596. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  597. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai-codex.json +1 -1
  598. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  599. package/node_modules/@earendil-works/pi-ai/dist/providers/data/together.json +1 -1
  600. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  601. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +3 -1
  602. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  603. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  604. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.d.ts +57 -0
  605. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.d.ts.map +1 -0
  606. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.js +57 -0
  607. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.js.map +1 -0
  608. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts +10 -0
  609. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts.map +1 -1
  610. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js +22 -0
  611. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js.map +1 -1
  612. package/node_modules/@earendil-works/pi-ai/package.json +3 -2
  613. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  614. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  615. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
  616. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +21 -0
  617. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
  618. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +1 -1
  619. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  620. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.d.ts +9 -0
  621. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.d.ts.map +1 -0
  622. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.js +82 -0
  623. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.js.map +1 -0
  624. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  625. package/package.json +11 -8
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Translate Cursor Pi frame args into the local tool kwargs that run them.
3
+ *
4
+ * Shared deliberately by two consumers: the `cursor-agent` API synthesizes a
5
+ * display block from these and the coding-agent bridge executes with them.
6
+ * Separate hand-rolled copies drift, and the drift is invisible — the
7
+ * transcript shows one operation while a different one runs.
8
+ *
9
+ * Unlike upstream oh-my-pi (whose `read` tool takes inline path selectors),
10
+ * senpi's tools take plain kwargs, so most mappings are direct.
11
+ *
12
+ * Every `optional int32` here is presence-sensitive: `0` is a supplied value,
13
+ * not "unset", so it must never be folded into a default.
14
+ */
15
+ /**
16
+ * A `pi_read` range as the local `read` tool's `offset`/`limit` kwargs.
17
+ *
18
+ * `offset` is a 1-indexed start; `limit` is a line count. `null` marks a
19
+ * present `limit: 0` — zero lines, which must be answered with empty output
20
+ * directly rather than degrading into a whole-file read.
21
+ */
22
+ export declare function piReadArgs(path: string, offset?: number, limit?: number): {
23
+ path: string;
24
+ offset?: number;
25
+ limit?: number;
26
+ } | null;
27
+ /** The path a `pi_ls` / `lsArgs` frame lists; the local `ls` defaults to ".". */
28
+ export declare function piLsPath(basePath: string | undefined): string;
29
+ /** Clamp a present `optional int32` result cap; `undefined` stays unset. */
30
+ export declare function piLimit(limit: number | undefined): number | undefined;
31
+ /**
32
+ * A `pi_bash` frame's timeout as the local `bash` tool's kwarg (seconds).
33
+ *
34
+ * Presence-sensitive like every other `optional int32` here: `bash` documents
35
+ * `timeout: 0` as "disables the command deadline", so folding a supplied `0`
36
+ * into `undefined` applies the default deadline and kills exactly the
37
+ * long-running command that asked not to be. Negative values have no local
38
+ * meaning and fall back to the default.
39
+ */
40
+ export declare function piTimeout(timeout: number | undefined): number | undefined;
41
+ /**
42
+ * Compose a Cursor `workingDirectory` onto a command for the local `bash`
43
+ * tool, which has no `cwd` kwarg. Single-quote escaping keeps arbitrary
44
+ * directory names (spaces, `$`, backticks) inert.
45
+ */
46
+ export declare function composeShellCommand(command: string, workingDirectory: string | undefined): string;
47
+ /**
48
+ * Drop keys whose value is `undefined` so optional local-tool kwargs stay
49
+ * absent rather than present-as-undefined: schema validators reject a present
50
+ * `undefined` on an optional field even though omitting the key is valid.
51
+ */
52
+ export declare function omitUndefinedArgs<T extends Record<string, unknown>>(args: T): {
53
+ [K in keyof T]?: Exclude<T[K], undefined>;
54
+ };
55
+ //# sourceMappingURL=pi-args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-args.d.ts","sourceRoot":"","sources":["../../../src/api/cursor-agent/pi-args.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;GAMG;AACH,wBAAgB,UAAU,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO1D;AAED,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE7D;AAED,4EAA4E;AAC5E,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAErE;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIjG;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,IAAI,EAAE,CAAC,GACL;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CAAE,CAO/C"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Translate Cursor Pi frame args into the local tool kwargs that run them.
3
+ *
4
+ * Shared deliberately by two consumers: the `cursor-agent` API synthesizes a
5
+ * display block from these and the coding-agent bridge executes with them.
6
+ * Separate hand-rolled copies drift, and the drift is invisible — the
7
+ * transcript shows one operation while a different one runs.
8
+ *
9
+ * Unlike upstream oh-my-pi (whose `read` tool takes inline path selectors),
10
+ * senpi's tools take plain kwargs, so most mappings are direct.
11
+ *
12
+ * Every `optional int32` here is presence-sensitive: `0` is a supplied value,
13
+ * not "unset", so it must never be folded into a default.
14
+ */
15
+ /**
16
+ * A `pi_read` range as the local `read` tool's `offset`/`limit` kwargs.
17
+ *
18
+ * `offset` is a 1-indexed start; `limit` is a line count. `null` marks a
19
+ * present `limit: 0` — zero lines, which must be answered with empty output
20
+ * directly rather than degrading into a whole-file read.
21
+ */
22
+ export function piReadArgs(path, offset, limit) {
23
+ if (limit !== undefined && Math.floor(limit) <= 0)
24
+ return null;
25
+ return {
26
+ path,
27
+ offset: offset !== undefined ? Math.max(1, Math.floor(offset)) : undefined,
28
+ limit: limit !== undefined ? Math.floor(limit) : undefined,
29
+ };
30
+ }
31
+ /** The path a `pi_ls` / `lsArgs` frame lists; the local `ls` defaults to ".". */
32
+ export function piLsPath(basePath) {
33
+ return basePath || ".";
34
+ }
35
+ /** Clamp a present `optional int32` result cap; `undefined` stays unset. */
36
+ export function piLimit(limit) {
37
+ return limit === undefined ? undefined : Math.max(1, Math.floor(limit));
38
+ }
39
+ /**
40
+ * A `pi_bash` frame's timeout as the local `bash` tool's kwarg (seconds).
41
+ *
42
+ * Presence-sensitive like every other `optional int32` here: `bash` documents
43
+ * `timeout: 0` as "disables the command deadline", so folding a supplied `0`
44
+ * into `undefined` applies the default deadline and kills exactly the
45
+ * long-running command that asked not to be. Negative values have no local
46
+ * meaning and fall back to the default.
47
+ */
48
+ export function piTimeout(timeout) {
49
+ return timeout !== undefined && timeout >= 0 ? timeout : undefined;
50
+ }
51
+ /**
52
+ * Compose a Cursor `workingDirectory` onto a command for the local `bash`
53
+ * tool, which has no `cwd` kwarg. Single-quote escaping keeps arbitrary
54
+ * directory names (spaces, `$`, backticks) inert.
55
+ */
56
+ export function composeShellCommand(command, workingDirectory) {
57
+ if (!workingDirectory)
58
+ return command;
59
+ const quoted = `'${workingDirectory.replace(/'/g, "'\\''")}'`;
60
+ return `cd ${quoted} && { ${command}\n}`;
61
+ }
62
+ /**
63
+ * Drop keys whose value is `undefined` so optional local-tool kwargs stay
64
+ * absent rather than present-as-undefined: schema validators reject a present
65
+ * `undefined` on an optional field even though omitting the key is valid.
66
+ */
67
+ export function omitUndefinedArgs(args) {
68
+ const out = {};
69
+ for (const key of Object.keys(args)) {
70
+ const value = args[key];
71
+ if (value !== undefined)
72
+ out[key] = value;
73
+ }
74
+ return out;
75
+ }
76
+ //# sourceMappingURL=pi-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-args.js","sourceRoot":"","sources":["../../../src/api/cursor-agent/pi-args.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACzB,IAAY,EACZ,MAAe,EACf,KAAc;IAEd,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,OAAO;QACN,IAAI;QACJ,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1E,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;KAC1D,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,QAAQ,CAAC,QAA4B;IACpD,OAAO,QAAQ,IAAI,GAAG,CAAC;AACxB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,OAAO,CAAC,KAAyB;IAChD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,OAA2B;IACpD,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,gBAAoC;IACxF,IAAI,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;IAC9D,OAAO,MAAM,MAAM,SAAS,OAAO,KAAK,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAChC,IAAO;IAEP,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3C,CAAC;IACD,OAAO,GAAoD,CAAC;AAC7D,CAAC","sourcesContent":["/**\n * Translate Cursor Pi frame args into the local tool kwargs that run them.\n *\n * Shared deliberately by two consumers: the `cursor-agent` API synthesizes a\n * display block from these and the coding-agent bridge executes with them.\n * Separate hand-rolled copies drift, and the drift is invisible — the\n * transcript shows one operation while a different one runs.\n *\n * Unlike upstream oh-my-pi (whose `read` tool takes inline path selectors),\n * senpi's tools take plain kwargs, so most mappings are direct.\n *\n * Every `optional int32` here is presence-sensitive: `0` is a supplied value,\n * not \"unset\", so it must never be folded into a default.\n */\n\n/**\n * A `pi_read` range as the local `read` tool's `offset`/`limit` kwargs.\n *\n * `offset` is a 1-indexed start; `limit` is a line count. `null` marks a\n * present `limit: 0` — zero lines, which must be answered with empty output\n * directly rather than degrading into a whole-file read.\n */\nexport function piReadArgs(\n\tpath: string,\n\toffset?: number,\n\tlimit?: number,\n): { path: string; offset?: number; limit?: number } | null {\n\tif (limit !== undefined && Math.floor(limit) <= 0) return null;\n\treturn {\n\t\tpath,\n\t\toffset: offset !== undefined ? Math.max(1, Math.floor(offset)) : undefined,\n\t\tlimit: limit !== undefined ? Math.floor(limit) : undefined,\n\t};\n}\n\n/** The path a `pi_ls` / `lsArgs` frame lists; the local `ls` defaults to \".\". */\nexport function piLsPath(basePath: string | undefined): string {\n\treturn basePath || \".\";\n}\n\n/** Clamp a present `optional int32` result cap; `undefined` stays unset. */\nexport function piLimit(limit: number | undefined): number | undefined {\n\treturn limit === undefined ? undefined : Math.max(1, Math.floor(limit));\n}\n\n/**\n * A `pi_bash` frame's timeout as the local `bash` tool's kwarg (seconds).\n *\n * Presence-sensitive like every other `optional int32` here: `bash` documents\n * `timeout: 0` as \"disables the command deadline\", so folding a supplied `0`\n * into `undefined` applies the default deadline and kills exactly the\n * long-running command that asked not to be. Negative values have no local\n * meaning and fall back to the default.\n */\nexport function piTimeout(timeout: number | undefined): number | undefined {\n\treturn timeout !== undefined && timeout >= 0 ? timeout : undefined;\n}\n\n/**\n * Compose a Cursor `workingDirectory` onto a command for the local `bash`\n * tool, which has no `cwd` kwarg. Single-quote escaping keeps arbitrary\n * directory names (spaces, `$`, backticks) inert.\n */\nexport function composeShellCommand(command: string, workingDirectory: string | undefined): string {\n\tif (!workingDirectory) return command;\n\tconst quoted = `'${workingDirectory.replace(/'/g, \"'\\\\''\")}'`;\n\treturn `cd ${quoted} && { ${command}\\n}`;\n}\n\n/**\n * Drop keys whose value is `undefined` so optional local-tool kwargs stay\n * absent rather than present-as-undefined: schema validators reject a present\n * `undefined` on an optional field even though omitting the key is valid.\n */\nexport function omitUndefinedArgs<T extends Record<string, unknown>>(\n\targs: T,\n): { [K in keyof T]?: Exclude<T[K], undefined> } {\n\tconst out: Record<string, unknown> = {};\n\tfor (const key of Object.keys(args)) {\n\t\tconst value = args[key];\n\t\tif (value !== undefined) out[key] = value;\n\t}\n\treturn out as { [K in keyof T]?: Exclude<T[K], undefined> };\n}\n"]}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Cursor exec-channel handler contracts.
3
+ *
4
+ * The Cursor agent protocol is server-driven: mid-turn, the server sends
5
+ * `ExecServerMessage` frames asking the CLIENT to run a tool and blocks until
6
+ * the reply arrives on the same stream. The host (coding-agent) supplies
7
+ * these handlers; the `cursor-agent` API dispatches frames onto them, sends
8
+ * their protobuf answers back on the wire, synthesizes already-resolved
9
+ * `toolCall` blocks into the assistant message, and pairs each with a
10
+ * `ToolResultMessage` delivered through {@link CursorToolResultHandler}.
11
+ *
12
+ * Everything here is type-only over the generated protobuf shapes, so it is
13
+ * safe to import from browser-reachable modules.
14
+ */
15
+ import type { StreamOptions, ToolResultMessage } from "../../types.ts";
16
+ import type { DeleteArgs, DeleteResult, DiagnosticsArgs, DiagnosticsResult, GrepArgs, GrepResult, LsArgs, LsResult, McpResult, PiBashExecArgs, PiBashExecResult, PiEditExecArgs, PiEditExecResult, PiFindExecArgs, PiFindExecResult, PiGrepExecArgs, PiGrepExecResult, PiLsExecArgs, PiLsExecResult, PiReadExecArgs, PiReadExecResult, PiWriteExecArgs, PiWriteExecResult, ReadArgs, ReadResult, ShellArgs, ShellResult, WriteArgs, WriteResult } from "./gen/agent_pb.ts";
17
+ /**
18
+ * The three return forms an exec handler may use: a wire result with an
19
+ * optional transcript pairing, a bare wire result, or a bare
20
+ * `ToolResultMessage` from which the wire result is derived.
21
+ */
22
+ export type CursorExecHandlerResult<T> = {
23
+ result: T;
24
+ toolResult?: ToolResultMessage;
25
+ } | T | ToolResultMessage;
26
+ /**
27
+ * Optional rewrite of a Cursor exec-channel tool result.
28
+ * May return a Promise. Returning `undefined` keeps the original result.
29
+ */
30
+ export type CursorToolResultHandler = (result: ToolResultMessage) => ToolResultMessage | undefined | Promise<ToolResultMessage | undefined>;
31
+ /**
32
+ * Identifies the synthesized assistant block a Cursor exec call was filed
33
+ * under, so paths that produce no handler `toolResult` can still pair one.
34
+ */
35
+ export interface CursorExecPairing {
36
+ toolCallId: string;
37
+ toolName: string;
38
+ }
39
+ export interface CursorMcpCall {
40
+ name: string;
41
+ providerIdentifier: string;
42
+ toolName: string;
43
+ toolCallId: string;
44
+ args: Record<string, unknown>;
45
+ rawArgs: Record<string, Uint8Array>;
46
+ /**
47
+ * The frame asks only whether this call would be permitted — it must not
48
+ * run. The server sends it to resolve a smart-mode approval decision ahead
49
+ * of the real invocation; executing here would fire a side-effecting tool
50
+ * the user has not yet been asked about (and fire it twice once the real
51
+ * call arrives).
52
+ */
53
+ approvalOnly?: boolean;
54
+ }
55
+ export interface CursorShellStreamCallbacks {
56
+ onStdout(data: string): void;
57
+ onStderr(data: string): void;
58
+ }
59
+ /**
60
+ * A modern Pi exec frame plus the call id the dispatcher minted for it.
61
+ *
62
+ * Unlike the legacy exec args (`ReadArgs`, `ShellArgs`, ...), the Pi frames
63
+ * carry no `tool_call_id` field: the id rides the streamed `ToolCall`
64
+ * envelope instead. The exec channel has no access to that envelope, so the
65
+ * dispatcher mints an id and hands it to the handler, keeping the synthesized
66
+ * transcript block and its paired `toolResult` on the same key.
67
+ */
68
+ export interface CursorPiCall<TArgs> {
69
+ args: TArgs;
70
+ toolCallId: string;
71
+ }
72
+ export interface CursorExecHandlers {
73
+ read?: (args: ReadArgs) => Promise<CursorExecHandlerResult<ReadResult>>;
74
+ ls?: (args: LsArgs) => Promise<CursorExecHandlerResult<LsResult>>;
75
+ grep?: (args: GrepArgs) => Promise<CursorExecHandlerResult<GrepResult>>;
76
+ write?: (args: WriteArgs) => Promise<CursorExecHandlerResult<WriteResult>>;
77
+ delete?: (args: DeleteArgs) => Promise<CursorExecHandlerResult<DeleteResult>>;
78
+ shell?: (args: ShellArgs) => Promise<CursorExecHandlerResult<ShellResult>>;
79
+ shellStream?: (args: ShellArgs, callbacks: CursorShellStreamCallbacks) => Promise<CursorExecHandlerResult<ShellResult>>;
80
+ diagnostics?: (args: DiagnosticsArgs) => Promise<CursorExecHandlerResult<DiagnosticsResult>>;
81
+ mcp?: (call: CursorMcpCall) => Promise<CursorExecHandlerResult<McpResult>>;
82
+ /**
83
+ * Answers "would this MCP call be permitted", without running it.
84
+ *
85
+ * `true` only when the host's policy resolves to a definite allow. A
86
+ * pending prompt is `false`: it can only be answered interactively at
87
+ * execution time. When no handler is registered the provider refuses,
88
+ * since it cannot decide.
89
+ */
90
+ mcpApprovalPreflight?: (call: CursorMcpCall) => Promise<boolean>;
91
+ /**
92
+ * Modern Cursor CLI Pi tool frames (`ExecServerMessage` 45-51). They are a
93
+ * distinct frame family from the legacy `readArgs`/`shellArgs`/... set:
94
+ * different args, different result oneofs, and no `tool_call_id`.
95
+ */
96
+ piRead?: (call: CursorPiCall<PiReadExecArgs>) => Promise<CursorExecHandlerResult<PiReadExecResult>>;
97
+ piBash?: (call: CursorPiCall<PiBashExecArgs>) => Promise<CursorExecHandlerResult<PiBashExecResult>>;
98
+ piEdit?: (call: CursorPiCall<PiEditExecArgs>) => Promise<CursorExecHandlerResult<PiEditExecResult>>;
99
+ piWrite?: (call: CursorPiCall<PiWriteExecArgs>) => Promise<CursorExecHandlerResult<PiWriteExecResult>>;
100
+ piGrep?: (call: CursorPiCall<PiGrepExecArgs>) => Promise<CursorExecHandlerResult<PiGrepExecResult>>;
101
+ piFind?: (call: CursorPiCall<PiFindExecArgs>) => Promise<CursorExecHandlerResult<PiFindExecResult>>;
102
+ piLs?: (call: CursorPiCall<PiLsExecArgs>) => Promise<CursorExecHandlerResult<PiLsExecResult>>;
103
+ onToolResult?: CursorToolResultHandler;
104
+ }
105
+ /** Stream options accepted by the `cursor-agent` API. */
106
+ export interface CursorAgentOptions extends StreamOptions {
107
+ /** Optional server-side system prompt override (RunRequest.customSystemPrompt). */
108
+ customSystemPrompt?: string;
109
+ /** Conversation id override; defaults to `sessionId`, else a random UUID per stream. */
110
+ conversationId?: string;
111
+ /** Cursor exec/MCP tool handlers supplied by the host. */
112
+ execHandlers?: CursorExecHandlers;
113
+ /** Receives every exec-channel tool result for transcript pairing. */
114
+ onToolResult?: CursorToolResultHandler;
115
+ }
116
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/cursor-agent/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Cursor exec-channel handler contracts.
3
+ *
4
+ * The Cursor agent protocol is server-driven: mid-turn, the server sends
5
+ * `ExecServerMessage` frames asking the CLIENT to run a tool and blocks until
6
+ * the reply arrives on the same stream. The host (coding-agent) supplies
7
+ * these handlers; the `cursor-agent` API dispatches frames onto them, sends
8
+ * their protobuf answers back on the wire, synthesizes already-resolved
9
+ * `toolCall` blocks into the assistant message, and pairs each with a
10
+ * `ToolResultMessage` delivered through {@link CursorToolResultHandler}.
11
+ *
12
+ * Everything here is type-only over the generated protobuf shapes, so it is
13
+ * safe to import from browser-reachable modules.
14
+ */
15
+ export {};
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/cursor-agent/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG","sourcesContent":["/**\n * Cursor exec-channel handler contracts.\n *\n * The Cursor agent protocol is server-driven: mid-turn, the server sends\n * `ExecServerMessage` frames asking the CLIENT to run a tool and blocks until\n * the reply arrives on the same stream. The host (coding-agent) supplies\n * these handlers; the `cursor-agent` API dispatches frames onto them, sends\n * their protobuf answers back on the wire, synthesizes already-resolved\n * `toolCall` blocks into the assistant message, and pairs each with a\n * `ToolResultMessage` delivered through {@link CursorToolResultHandler}.\n *\n * Everything here is type-only over the generated protobuf shapes, so it is\n * safe to import from browser-reachable modules.\n */\n\nimport type { StreamOptions, ToolResultMessage } from \"../../types.ts\";\nimport type {\n\tDeleteArgs,\n\tDeleteResult,\n\tDiagnosticsArgs,\n\tDiagnosticsResult,\n\tGrepArgs,\n\tGrepResult,\n\tLsArgs,\n\tLsResult,\n\tMcpResult,\n\tPiBashExecArgs,\n\tPiBashExecResult,\n\tPiEditExecArgs,\n\tPiEditExecResult,\n\tPiFindExecArgs,\n\tPiFindExecResult,\n\tPiGrepExecArgs,\n\tPiGrepExecResult,\n\tPiLsExecArgs,\n\tPiLsExecResult,\n\tPiReadExecArgs,\n\tPiReadExecResult,\n\tPiWriteExecArgs,\n\tPiWriteExecResult,\n\tReadArgs,\n\tReadResult,\n\tShellArgs,\n\tShellResult,\n\tWriteArgs,\n\tWriteResult,\n} from \"./gen/agent_pb.ts\";\n\n/**\n * The three return forms an exec handler may use: a wire result with an\n * optional transcript pairing, a bare wire result, or a bare\n * `ToolResultMessage` from which the wire result is derived.\n */\nexport type CursorExecHandlerResult<T> = { result: T; toolResult?: ToolResultMessage } | T | ToolResultMessage;\n\n/**\n * Optional rewrite of a Cursor exec-channel tool result.\n * May return a Promise. Returning `undefined` keeps the original result.\n */\nexport type CursorToolResultHandler = (\n\tresult: ToolResultMessage,\n) => ToolResultMessage | undefined | Promise<ToolResultMessage | undefined>;\n\n/**\n * Identifies the synthesized assistant block a Cursor exec call was filed\n * under, so paths that produce no handler `toolResult` can still pair one.\n */\nexport interface CursorExecPairing {\n\ttoolCallId: string;\n\ttoolName: string;\n}\n\nexport interface CursorMcpCall {\n\tname: string;\n\tproviderIdentifier: string;\n\ttoolName: string;\n\ttoolCallId: string;\n\targs: Record<string, unknown>;\n\trawArgs: Record<string, Uint8Array>;\n\t/**\n\t * The frame asks only whether this call would be permitted — it must not\n\t * run. The server sends it to resolve a smart-mode approval decision ahead\n\t * of the real invocation; executing here would fire a side-effecting tool\n\t * the user has not yet been asked about (and fire it twice once the real\n\t * call arrives).\n\t */\n\tapprovalOnly?: boolean;\n}\n\nexport interface CursorShellStreamCallbacks {\n\tonStdout(data: string): void;\n\tonStderr(data: string): void;\n}\n\n/**\n * A modern Pi exec frame plus the call id the dispatcher minted for it.\n *\n * Unlike the legacy exec args (`ReadArgs`, `ShellArgs`, ...), the Pi frames\n * carry no `tool_call_id` field: the id rides the streamed `ToolCall`\n * envelope instead. The exec channel has no access to that envelope, so the\n * dispatcher mints an id and hands it to the handler, keeping the synthesized\n * transcript block and its paired `toolResult` on the same key.\n */\nexport interface CursorPiCall<TArgs> {\n\targs: TArgs;\n\ttoolCallId: string;\n}\n\nexport interface CursorExecHandlers {\n\tread?: (args: ReadArgs) => Promise<CursorExecHandlerResult<ReadResult>>;\n\tls?: (args: LsArgs) => Promise<CursorExecHandlerResult<LsResult>>;\n\tgrep?: (args: GrepArgs) => Promise<CursorExecHandlerResult<GrepResult>>;\n\twrite?: (args: WriteArgs) => Promise<CursorExecHandlerResult<WriteResult>>;\n\tdelete?: (args: DeleteArgs) => Promise<CursorExecHandlerResult<DeleteResult>>;\n\tshell?: (args: ShellArgs) => Promise<CursorExecHandlerResult<ShellResult>>;\n\tshellStream?: (\n\t\targs: ShellArgs,\n\t\tcallbacks: CursorShellStreamCallbacks,\n\t) => Promise<CursorExecHandlerResult<ShellResult>>;\n\tdiagnostics?: (args: DiagnosticsArgs) => Promise<CursorExecHandlerResult<DiagnosticsResult>>;\n\tmcp?: (call: CursorMcpCall) => Promise<CursorExecHandlerResult<McpResult>>;\n\t/**\n\t * Answers \"would this MCP call be permitted\", without running it.\n\t *\n\t * `true` only when the host's policy resolves to a definite allow. A\n\t * pending prompt is `false`: it can only be answered interactively at\n\t * execution time. When no handler is registered the provider refuses,\n\t * since it cannot decide.\n\t */\n\tmcpApprovalPreflight?: (call: CursorMcpCall) => Promise<boolean>;\n\t/**\n\t * Modern Cursor CLI Pi tool frames (`ExecServerMessage` 45-51). They are a\n\t * distinct frame family from the legacy `readArgs`/`shellArgs`/... set:\n\t * different args, different result oneofs, and no `tool_call_id`.\n\t */\n\tpiRead?: (call: CursorPiCall<PiReadExecArgs>) => Promise<CursorExecHandlerResult<PiReadExecResult>>;\n\tpiBash?: (call: CursorPiCall<PiBashExecArgs>) => Promise<CursorExecHandlerResult<PiBashExecResult>>;\n\tpiEdit?: (call: CursorPiCall<PiEditExecArgs>) => Promise<CursorExecHandlerResult<PiEditExecResult>>;\n\tpiWrite?: (call: CursorPiCall<PiWriteExecArgs>) => Promise<CursorExecHandlerResult<PiWriteExecResult>>;\n\tpiGrep?: (call: CursorPiCall<PiGrepExecArgs>) => Promise<CursorExecHandlerResult<PiGrepExecResult>>;\n\tpiFind?: (call: CursorPiCall<PiFindExecArgs>) => Promise<CursorExecHandlerResult<PiFindExecResult>>;\n\tpiLs?: (call: CursorPiCall<PiLsExecArgs>) => Promise<CursorExecHandlerResult<PiLsExecResult>>;\n\tonToolResult?: CursorToolResultHandler;\n}\n\n/** Stream options accepted by the `cursor-agent` API. */\nexport interface CursorAgentOptions extends StreamOptions {\n\t/** Optional server-side system prompt override (RunRequest.customSystemPrompt). */\n\tcustomSystemPrompt?: string;\n\t/** Conversation id override; defaults to `sessionId`, else a random UUID per stream. */\n\tconversationId?: string;\n\t/** Cursor exec/MCP tool handlers supplied by the host. */\n\texecHandlers?: CursorExecHandlers;\n\t/** Receives every exec-channel tool result for transcript pairing. */\n\tonToolResult?: CursorToolResultHandler;\n}\n"]}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Cursor agent protocol (`agent.v1.AgentService/Run`) over HTTP/2 Connect.
3
+ *
4
+ * Ported from upstream oh-my-pi's Cursor provider and adapted to senpi's
5
+ * provider-neutral API architecture. The protocol is server-driven: the
6
+ * client opens one `Run` stream per assistant turn, the server streams
7
+ * interaction updates (text/thinking/tool-call deltas) and, mid-turn, sends
8
+ * `ExecServerMessage` frames asking the CLIENT to execute a tool and blocks
9
+ * until the answer arrives on the same stream. Tool execution is therefore
10
+ * bridged through injected {@link CursorExecHandlers}; each bridged call is
11
+ * synthesized into the assistant message as an already-resolved `toolCall`
12
+ * block (marked {@link kCursorExecResolved} so the agent loop never re-runs
13
+ * it) and paired with a `ToolResultMessage` delivered via `onToolResult`.
14
+ *
15
+ * NOTE: This module is Node-only (node:http2) and must only be reached
16
+ * through the lazy wrapper (`cursor-agent.lazy.ts`).
17
+ */
18
+ import * as http2 from "node:http2";
19
+ import type { AssistantMessage, Message, SimpleStreamOptions, StreamFunction, TextContent, ThinkingContent, Tool, ToolCall, ToolResultMessage } from "../types.ts";
20
+ import { kCursorExecResolved, kStreamingBlockIndex, kStreamingBlockKind, kStreamingEnvelopeId, kStreamingLastParseLen, kStreamingPartialJson } from "../utils/block-symbols.ts";
21
+ import { AssistantMessageEventStream } from "../utils/event-stream.ts";
22
+ import { type AgentServerMessage, type ConversationStateStructure, type McpToolDefinition } from "./cursor-agent/gen/agent_pb.ts";
23
+ import type { CursorAgentOptions, CursorExecHandlerResult, CursorExecHandlers, CursorExecPairing, CursorToolResultHandler } from "./cursor-agent/types.ts";
24
+ export type { CursorAgentOptions, CursorExecHandlerResult, CursorExecHandlers, CursorExecPairing, CursorMcpCall, CursorPiCall, CursorShellStreamCallbacks, CursorToolResultHandler, } from "./cursor-agent/types.ts";
25
+ export declare const CURSOR_API_URL = "https://api2.cursor.sh";
26
+ export declare const CURSOR_CLIENT_VERSION = "cli-2026.07.23-e383d2b";
27
+ /** Reduce caller-supplied headers to what this HTTP/2 request can legally carry. */
28
+ export declare function sanitizeCursorCallerHeaders(headers: Record<string, string> | undefined): Record<string, string>;
29
+ export declare function frameConnectMessage(data: Uint8Array, flags?: number): Buffer;
30
+ /**
31
+ * Maps an opaque HTTP/2 negotiation failure into an actionable error. The
32
+ * Cursor run RPC is HTTP/2-only (the ALB rejects HTTP/1.1 with 464), so a
33
+ * TLS-intercepting proxy that strips ALPN kills the run with no h1 fallback.
34
+ */
35
+ export declare function mapH2TransportError(error: unknown, baseUrl: string): unknown;
36
+ export declare const stream: StreamFunction<"cursor-agent", CursorAgentOptions>;
37
+ /**
38
+ * `streamSimple` for Cursor: reasoning/thinking is managed server-side per
39
+ * model (there is no client thinking knob on the Run request), so the simple
40
+ * options map through unchanged.
41
+ */
42
+ export declare const streamSimple: StreamFunction<"cursor-agent", SimpleStreamOptions>;
43
+ export type ToolCallState = ToolCall & {
44
+ [kStreamingBlockIndex]: number;
45
+ [kStreamingPartialJson]?: string;
46
+ [kStreamingLastParseLen]?: number;
47
+ [kStreamingBlockKind]: "mcp" | "todo" | "cursor-exec" | "connect-scm";
48
+ [kStreamingEnvelopeId]?: string;
49
+ [kCursorExecResolved]?: true;
50
+ };
51
+ export interface BlockState {
52
+ currentTextBlock: (TextContent & {
53
+ [kStreamingBlockIndex]: number;
54
+ }) | null;
55
+ currentThinkingBlock: (ThinkingContent & {
56
+ [kStreamingBlockIndex]: number;
57
+ }) | null;
58
+ currentToolCall: ToolCallState | null;
59
+ /**
60
+ * Open streamed tool-call blocks, keyed by the interaction envelope's
61
+ * `call_id`. Cursor interleaves calls: two `toolCallStarted` frames can
62
+ * arrive before either completes.
63
+ */
64
+ openToolCalls: Map<string, ToolCallState>;
65
+ /** MCP call IDs synthesized from exec frames before their redundant streamed block arrives. */
66
+ resolvedMcpToolCallIds: Set<string>;
67
+ setTextBlock: (b: (TextContent & {
68
+ [kStreamingBlockIndex]: number;
69
+ }) | null) => void;
70
+ setThinkingBlock: (b: (ThinkingContent & {
71
+ [kStreamingBlockIndex]: number;
72
+ }) | null) => void;
73
+ setToolCall: (t: ToolCallState | null) => void;
74
+ /**
75
+ * Persist a paired `toolResult` for a server-resolved call. Native todo
76
+ * calls never travel the exec channel, so without this the resolved block
77
+ * has no matching result and every transcript rebuild strips it as dangling.
78
+ */
79
+ onToolResult?: CursorToolResultHandler;
80
+ }
81
+ export interface UsageState {
82
+ sawTokenDelta: boolean;
83
+ }
84
+ /** Exported for tests: drives one Cursor server message through the stream (exec waits mark the stream busy). */
85
+ export declare function handleServerMessage(msg: AgentServerMessage, output: AssistantMessage, stream: AssistantMessageEventStream, state: BlockState, blobStore: Map<string, Uint8Array>, h2Request: http2.ClientHttp2Stream, execHandlers: CursorExecHandlers | undefined, onToolResult: CursorToolResultHandler | undefined, usageState: UsageState, requestContextTools: McpToolDefinition[], onConversationCheckpoint?: (checkpoint: ConversationStateStructure) => void): Promise<void>;
86
+ /**
87
+ * Exported for tests: dispatches one exec frame onto its handler.
88
+ *
89
+ * Every exit pairs a `toolResult`. The synthesized block was already marked
90
+ * `kCursorExecResolved` before this runs, so the agent loop emits no
91
+ * placeholder for it: a path that returns without a result leaves the call
92
+ * unpaired and transcript rebuilds strip the whole interaction. The three
93
+ * result-less paths — no handler installed, a handler that produced nothing,
94
+ * and a thrown handler — therefore synthesize one from the same text the
95
+ * server sees in `execResult`.
96
+ *
97
+ * `pairing` is required so a new callsite cannot silently recreate the
98
+ * orphan, and nullable for the callers whose block is NOT pre-resolved (MCP
99
+ * without an `mcp` handler, which the agent loop runs locally and pairs
100
+ * itself, and frames that never synthesize a block).
101
+ */
102
+ export declare function resolveExecHandler<TArgs, TResult>(args: TArgs, handler: ((args: TArgs) => Promise<CursorExecHandlerResult<TResult>>) | undefined, onToolResult: CursorToolResultHandler | undefined, buildFromToolResult: (toolResult: ToolResultMessage) => TResult, buildRejected: (reason: string) => TResult, buildError: (error: string) => TResult, pairing: CursorExecPairing | null): Promise<{
103
+ execResult: TResult;
104
+ toolResult?: ToolResultMessage;
105
+ }>;
106
+ /**
107
+ * Reject a Cursor exec-channel `grepArgs` frame whose `pattern` is empty or
108
+ * whitespace-only. Returns an actionable error message (with a `glob`-aware
109
+ * hint when the model likely meant to list files) or `null` when the pattern
110
+ * is valid and grep should run. Exported for tests.
111
+ */
112
+ export declare function emptyGrepPatternRejection(pattern: string | undefined, glob: string | undefined): string | null;
113
+ /**
114
+ * Close every tool-call block still open when the stream ends.
115
+ *
116
+ * Not just the last one started: with interleaved calls several can be open
117
+ * at once, and an unclosed block leaves its live card animating and its call
118
+ * unpaired. Only blocks fed by a streamed argument buffer get reparsed.
119
+ * Server-owned blocks (`connect-scm`, `todo`) are also paired here: they are
120
+ * stamped resolved the moment they open, so only their completion frame pairs
121
+ * a result — a transport that closes before that frame would leave the call
122
+ * unpaired. MCP blocks are excluded even when resolved: the exec dispatch
123
+ * that marked them owns their result.
124
+ */
125
+ export declare function flushOpenToolCalls(output: AssistantMessage, stream: AssistantMessageEventStream, state: BlockState): void;
126
+ /**
127
+ * Merge the decoded completion-frame `McpArgs` map into the args assembled
128
+ * from streamed `args_text_delta` snapshots.
129
+ *
130
+ * The completion frame is authoritative for the scalars it carries — but it
131
+ * can omit oversized parameters entirely and can downgrade a structured value
132
+ * to its raw string fallback. Rules per key:
133
+ * - completion key absent → keep the streamed value.
134
+ * - completion is a string while the streamed value is structured → keep the
135
+ * streamed value (the completion frame downgraded it).
136
+ * - otherwise → completion wins.
137
+ */
138
+ export declare function mergeCursorMcpToolCallArgs(streamed: Record<string, unknown> | undefined, completion: Record<string, unknown> | undefined): Record<string, unknown>;
139
+ /**
140
+ * Synthesize a completed `toolCall` content block for a Cursor exec-channel
141
+ * native tool or for an MCP exec frame whose corresponding interaction block
142
+ * is absent.
143
+ *
144
+ * Args arrive complete on the exec message, so the block opens and closes in
145
+ * one step. Without this the persisted assistant message carries only
146
+ * text/thinking blocks, and on replay the following `toolResult` messages
147
+ * have no matching `toolCall.id`.
148
+ *
149
+ * The block is stamped with {@link kCursorExecResolved} so the agent loop's
150
+ * execution pass skips it — Cursor's server-driven exec channel already ran
151
+ * the tool via the bridge and buffered the result. Exported for tests.
152
+ */
153
+ export declare function synthesizeCursorExecToolCall(output: AssistantMessage, stream: AssistantMessageEventStream, state: BlockState, toolCallId: string, toolName: string, args: Record<string, unknown>): void;
154
+ /** Exported for tests: drives one Cursor interaction update through the streaming state machine. */
155
+ export declare function processInteractionUpdate(update: any, output: AssistantMessage, stream: AssistantMessageEventStream, state: BlockState, usageState: UsageState): void;
156
+ export declare function buildMcpToolDefinitions(tools: Tool[] | undefined): McpToolDefinition[];
157
+ /**
158
+ * Build one Cursor system-message JSON blob per system prompt. When no system
159
+ * prompt is provided, returns a single default greeting so we never emit an
160
+ * empty `rootPromptMessagesJson` head.
161
+ */
162
+ export declare function buildCursorSystemPromptJsons(systemPrompt: string | undefined): string[];
163
+ /** Exported for tests: decodes Cursor history blobs built from conversation messages. */
164
+ export declare function buildCursorHistoryForTest(messages: Message[], activeUserMessageIndex?: number): {
165
+ rootPromptMessagesJson: unknown[];
166
+ turnUserMessagesJson: unknown[];
167
+ turnStepMessagesJson: unknown[][];
168
+ };
169
+ export interface CursorDiscoveredModel {
170
+ id: string;
171
+ name: string;
172
+ reasoning: boolean;
173
+ input: ("text" | "image")[];
174
+ contextWindow: number;
175
+ maxTokens: number;
176
+ cursorMaxMode: boolean;
177
+ }
178
+ /**
179
+ * Fetches Cursor models through `GetUsableModels` (unary protobuf over
180
+ * HTTP/2; the ALB rejects HTTP/1.1 with 464) and normalizes them.
181
+ *
182
+ * Returns `null` on request/decode failures; `[]` only when the endpoint
183
+ * responds successfully with no usable models.
184
+ */
185
+ export declare function fetchCursorUsableModels(options: {
186
+ apiKey: string;
187
+ baseUrl?: string;
188
+ timeoutMs?: number;
189
+ signal?: AbortSignal;
190
+ }): Promise<CursorDiscoveredModel[] | null>;
191
+ //# sourceMappingURL=cursor-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-agent.d.ts","sourceRoot":"","sources":["../../src/api/cursor-agent.ts"],"names":[],"mappings":"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"}