@botiverse/oar 0.71.0 → 0.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/README.md +23 -4
  2. package/assets/brands/NOTICE.md +12 -2
  3. package/{LICENSE → assets/brands/QWEN-LICENSE.txt} +3 -2
  4. package/assets/brands/qoder-on-dark.svg +1 -0
  5. package/assets/brands/qoder-on-light.svg +1 -0
  6. package/assets/brands/qoder.svg +1 -0
  7. package/assets/brands/qwen-on-dark.svg +6 -0
  8. package/assets/brands/qwen-on-light.svg +6 -0
  9. package/assets/brands/qwen.svg +6 -0
  10. package/dist/brands.d.ts +16 -0
  11. package/dist/brands.d.ts.map +1 -1
  12. package/dist/brands.js +9 -0
  13. package/dist/brands.js.map +1 -1
  14. package/dist/community/morph/console.js +1 -1
  15. package/dist/community/morph/console.js.map +1 -1
  16. package/dist/community/morph/session.d.ts.map +1 -1
  17. package/dist/community/morph/session.js +1 -0
  18. package/dist/community/morph/session.js.map +1 -1
  19. package/dist/contracts/deliver.d.ts +27 -5
  20. package/dist/contracts/deliver.d.ts.map +1 -1
  21. package/dist/contracts/index.d.ts +3 -2
  22. package/dist/contracts/index.d.ts.map +1 -1
  23. package/dist/contracts/index.js.map +1 -1
  24. package/dist/contracts/login.d.ts +12 -4
  25. package/dist/contracts/login.d.ts.map +1 -1
  26. package/dist/contracts/orientation.d.ts +67 -0
  27. package/dist/contracts/orientation.d.ts.map +1 -0
  28. package/dist/contracts/orientation.js +2 -0
  29. package/dist/contracts/orientation.js.map +1 -0
  30. package/dist/contracts/provider-auth.d.ts +15 -5
  31. package/dist/contracts/provider-auth.d.ts.map +1 -1
  32. package/dist/contracts/records.d.ts +1 -0
  33. package/dist/contracts/records.d.ts.map +1 -1
  34. package/dist/contracts/runtime-failure-error.d.ts +6 -2
  35. package/dist/contracts/runtime-failure-error.d.ts.map +1 -1
  36. package/dist/contracts/runtime-failure-error.js +6 -2
  37. package/dist/contracts/runtime-failure-error.js.map +1 -1
  38. package/dist/contracts/runtime.d.ts +9 -5
  39. package/dist/contracts/runtime.d.ts.map +1 -1
  40. package/dist/contracts/runtime.js.map +1 -1
  41. package/dist/contracts/session-options.d.ts +17 -3
  42. package/dist/contracts/session-options.d.ts.map +1 -1
  43. package/dist/contracts/session.d.ts +10 -4
  44. package/dist/contracts/session.d.ts.map +1 -1
  45. package/dist/index.d.ts +11 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +15 -2
  48. package/dist/index.js.map +1 -1
  49. package/dist/observe/conversation.d.ts +2 -0
  50. package/dist/observe/conversation.d.ts.map +1 -1
  51. package/dist/observe/conversation.js +56 -5
  52. package/dist/observe/conversation.js.map +1 -1
  53. package/dist/observe/index.d.ts +1 -0
  54. package/dist/observe/index.d.ts.map +1 -1
  55. package/dist/observe/index.js +1 -0
  56. package/dist/observe/index.js.map +1 -1
  57. package/dist/observe/input-carries.d.ts +5 -0
  58. package/dist/observe/input-carries.d.ts.map +1 -0
  59. package/dist/observe/input-carries.js +13 -0
  60. package/dist/observe/input-carries.js.map +1 -0
  61. package/dist/observe/session-view-inputs.d.ts.map +1 -1
  62. package/dist/observe/session-view-inputs.js +17 -5
  63. package/dist/observe/session-view-inputs.js.map +1 -1
  64. package/dist/observe/usability.d.ts +4 -0
  65. package/dist/observe/usability.d.ts.map +1 -0
  66. package/dist/observe/usability.js +102 -0
  67. package/dist/observe/usability.js.map +1 -0
  68. package/dist/runtimes/antigravity/options.d.ts.map +1 -1
  69. package/dist/runtimes/antigravity/options.js +1 -0
  70. package/dist/runtimes/antigravity/options.js.map +1 -1
  71. package/dist/runtimes/claude/auth-status.d.ts.map +1 -1
  72. package/dist/runtimes/claude/auth-status.js +4 -0
  73. package/dist/runtimes/claude/auth-status.js.map +1 -1
  74. package/dist/runtimes/claude/launch.d.ts +1 -1
  75. package/dist/runtimes/claude/launch.d.ts.map +1 -1
  76. package/dist/runtimes/claude/launch.js +36 -22
  77. package/dist/runtimes/claude/launch.js.map +1 -1
  78. package/dist/runtimes/claude/list-models.d.ts.map +1 -1
  79. package/dist/runtimes/claude/list-models.js +12 -0
  80. package/dist/runtimes/claude/list-models.js.map +1 -1
  81. package/dist/runtimes/claude/projection.d.ts +11 -76
  82. package/dist/runtimes/claude/projection.d.ts.map +1 -1
  83. package/dist/runtimes/claude/projection.js +36 -148
  84. package/dist/runtimes/claude/projection.js.map +1 -1
  85. package/dist/runtimes/claude/prompt-files.d.ts +7 -0
  86. package/dist/runtimes/claude/prompt-files.d.ts.map +1 -0
  87. package/dist/runtimes/claude/prompt-files.js +32 -0
  88. package/dist/runtimes/claude/prompt-files.js.map +1 -0
  89. package/dist/runtimes/claude/service-tier.d.ts +2 -2
  90. package/dist/runtimes/claude/service-tier.d.ts.map +1 -1
  91. package/dist/runtimes/claude/service-tier.js +4 -4
  92. package/dist/runtimes/claude/service-tier.js.map +1 -1
  93. package/dist/runtimes/claude/session.d.ts +1 -0
  94. package/dist/runtimes/claude/session.d.ts.map +1 -1
  95. package/dist/runtimes/claude/session.js +17 -249
  96. package/dist/runtimes/claude/session.js.map +1 -1
  97. package/dist/runtimes/claude/user-configuration.d.ts +9 -0
  98. package/dist/runtimes/claude/user-configuration.d.ts.map +1 -0
  99. package/dist/runtimes/claude/user-configuration.js +83 -0
  100. package/dist/runtimes/claude/user-configuration.js.map +1 -0
  101. package/dist/runtimes/codex/index.d.ts +3 -2
  102. package/dist/runtimes/codex/index.d.ts.map +1 -1
  103. package/dist/runtimes/codex/index.js +2 -0
  104. package/dist/runtimes/codex/index.js.map +1 -1
  105. package/dist/runtimes/codex/login.d.ts +3 -2
  106. package/dist/runtimes/codex/login.d.ts.map +1 -1
  107. package/dist/runtimes/codex/login.js +13 -3
  108. package/dist/runtimes/codex/login.js.map +1 -1
  109. package/dist/runtimes/codex/open.d.ts.map +1 -1
  110. package/dist/runtimes/codex/open.js +7 -1
  111. package/dist/runtimes/codex/open.js.map +1 -1
  112. package/dist/runtimes/codex/options.d.ts +3 -0
  113. package/dist/runtimes/codex/options.d.ts.map +1 -0
  114. package/dist/runtimes/codex/options.js +4 -0
  115. package/dist/runtimes/codex/options.js.map +1 -0
  116. package/dist/runtimes/cursor/auth-status.d.ts +1 -1
  117. package/dist/runtimes/cursor/auth-status.d.ts.map +1 -1
  118. package/dist/runtimes/cursor/auth-status.js +10 -2
  119. package/dist/runtimes/cursor/auth-status.js.map +1 -1
  120. package/dist/runtimes/cursor/index.d.ts +1 -0
  121. package/dist/runtimes/cursor/index.d.ts.map +1 -1
  122. package/dist/runtimes/cursor/index.js +1 -0
  123. package/dist/runtimes/cursor/index.js.map +1 -1
  124. package/dist/runtimes/cursor/model.d.ts.map +1 -1
  125. package/dist/runtimes/cursor/model.js +6 -1
  126. package/dist/runtimes/cursor/model.js.map +1 -1
  127. package/dist/runtimes/cursor/native-environment.d.ts +12 -0
  128. package/dist/runtimes/cursor/native-environment.d.ts.map +1 -0
  129. package/dist/runtimes/cursor/native-environment.js +24 -0
  130. package/dist/runtimes/cursor/native-environment.js.map +1 -0
  131. package/dist/runtimes/cursor/sdk.d.ts +1 -0
  132. package/dist/runtimes/cursor/sdk.d.ts.map +1 -1
  133. package/dist/runtimes/cursor/sdk.js +14 -32
  134. package/dist/runtimes/cursor/sdk.js.map +1 -1
  135. package/dist/runtimes/grok/options.d.ts.map +1 -1
  136. package/dist/runtimes/grok/options.js +1 -0
  137. package/dist/runtimes/grok/options.js.map +1 -1
  138. package/dist/runtimes/kimi/options.d.ts.map +1 -1
  139. package/dist/runtimes/kimi/options.js +1 -0
  140. package/dist/runtimes/kimi/options.js.map +1 -1
  141. package/dist/runtimes/opencode/options.d.ts.map +1 -1
  142. package/dist/runtimes/opencode/options.js +1 -0
  143. package/dist/runtimes/opencode/options.js.map +1 -1
  144. package/dist/runtimes/pi/auth.d.ts.map +1 -1
  145. package/dist/runtimes/pi/auth.js +9 -1
  146. package/dist/runtimes/pi/auth.js.map +1 -1
  147. package/dist/runtimes/pi/index.d.ts +12 -20
  148. package/dist/runtimes/pi/index.d.ts.map +1 -1
  149. package/dist/runtimes/pi/index.js +33 -15
  150. package/dist/runtimes/pi/index.js.map +1 -1
  151. package/dist/runtimes/pi/inventory.d.ts +3 -1
  152. package/dist/runtimes/pi/inventory.d.ts.map +1 -1
  153. package/dist/runtimes/pi/inventory.js +14 -5
  154. package/dist/runtimes/pi/inventory.js.map +1 -1
  155. package/dist/runtimes/pi/lifecycle.d.ts +2 -2
  156. package/dist/runtimes/pi/lifecycle.d.ts.map +1 -1
  157. package/dist/runtimes/pi/lifecycle.js +19 -8
  158. package/dist/runtimes/pi/lifecycle.js.map +1 -1
  159. package/dist/runtimes/pi/list-models.d.ts +2 -0
  160. package/dist/runtimes/pi/list-models.d.ts.map +1 -1
  161. package/dist/runtimes/pi/list-models.js +6 -2
  162. package/dist/runtimes/pi/list-models.js.map +1 -1
  163. package/dist/runtimes/pi/open.d.ts +4 -1
  164. package/dist/runtimes/pi/open.d.ts.map +1 -1
  165. package/dist/runtimes/pi/open.js +13 -7
  166. package/dist/runtimes/pi/open.js.map +1 -1
  167. package/dist/runtimes/pi/options.d.ts +21 -0
  168. package/dist/runtimes/pi/options.d.ts.map +1 -0
  169. package/dist/runtimes/pi/options.js +2 -0
  170. package/dist/runtimes/pi/options.js.map +1 -0
  171. package/dist/runtimes/pi/project.d.ts +7 -0
  172. package/dist/runtimes/pi/project.d.ts.map +1 -0
  173. package/dist/runtimes/pi/project.js +40 -0
  174. package/dist/runtimes/pi/project.js.map +1 -0
  175. package/dist/runtimes/pi/resolve.d.ts.map +1 -1
  176. package/dist/runtimes/pi/resolve.js +19 -2
  177. package/dist/runtimes/pi/resolve.js.map +1 -1
  178. package/dist/runtimes/pi/rpc/control.d.ts +7 -0
  179. package/dist/runtimes/pi/rpc/control.d.ts.map +1 -0
  180. package/dist/runtimes/pi/rpc/control.js +53 -0
  181. package/dist/runtimes/pi/rpc/control.js.map +1 -0
  182. package/dist/runtimes/pi/rpc/credentials.d.ts +4 -0
  183. package/dist/runtimes/pi/rpc/credentials.d.ts.map +1 -0
  184. package/dist/runtimes/pi/rpc/credentials.js +24 -0
  185. package/dist/runtimes/pi/rpc/credentials.js.map +1 -0
  186. package/dist/runtimes/pi/rpc/extension.d.ts +6 -0
  187. package/dist/runtimes/pi/rpc/extension.d.ts.map +1 -0
  188. package/dist/runtimes/pi/rpc/extension.js +68 -0
  189. package/dist/runtimes/pi/rpc/extension.js.map +1 -0
  190. package/dist/runtimes/pi/rpc/launch.d.ts +7 -0
  191. package/dist/runtimes/pi/rpc/launch.d.ts.map +1 -0
  192. package/dist/runtimes/pi/rpc/launch.js +26 -0
  193. package/dist/runtimes/pi/rpc/launch.js.map +1 -0
  194. package/dist/runtimes/pi/rpc/open.d.ts +19 -0
  195. package/dist/runtimes/pi/rpc/open.d.ts.map +1 -0
  196. package/dist/runtimes/pi/rpc/open.js +132 -0
  197. package/dist/runtimes/pi/rpc/open.js.map +1 -0
  198. package/dist/runtimes/pi/rpc/prompt-files.d.ts +4 -0
  199. package/dist/runtimes/pi/rpc/prompt-files.d.ts.map +1 -0
  200. package/dist/runtimes/pi/rpc/prompt-files.js +27 -0
  201. package/dist/runtimes/pi/rpc/prompt-files.js.map +1 -0
  202. package/dist/runtimes/pi/rpc/session.d.ts +5 -0
  203. package/dist/runtimes/pi/rpc/session.d.ts.map +1 -0
  204. package/dist/runtimes/pi/rpc/session.js +217 -0
  205. package/dist/runtimes/pi/rpc/session.js.map +1 -0
  206. package/dist/runtimes/pi/rpc/version.d.ts +3 -0
  207. package/dist/runtimes/pi/rpc/version.d.ts.map +1 -0
  208. package/dist/runtimes/pi/rpc/version.js +23 -0
  209. package/dist/runtimes/pi/rpc/version.js.map +1 -0
  210. package/dist/runtimes/pi/session.d.ts +2 -0
  211. package/dist/runtimes/pi/session.d.ts.map +1 -1
  212. package/dist/runtimes/pi/session.js +6 -8
  213. package/dist/runtimes/pi/session.js.map +1 -1
  214. package/dist/runtimes/pi-durable/options.d.ts.map +1 -1
  215. package/dist/runtimes/pi-durable/options.js +7 -2
  216. package/dist/runtimes/pi-durable/options.js.map +1 -1
  217. package/dist/runtimes/qoder/auth-status.d.ts +6 -0
  218. package/dist/runtimes/qoder/auth-status.d.ts.map +1 -0
  219. package/dist/runtimes/qoder/auth-status.js +22 -0
  220. package/dist/runtimes/qoder/auth-status.js.map +1 -0
  221. package/dist/runtimes/qoder/control.d.ts +14 -0
  222. package/dist/runtimes/qoder/control.d.ts.map +1 -0
  223. package/dist/runtimes/qoder/control.js +79 -0
  224. package/dist/runtimes/qoder/control.js.map +1 -0
  225. package/dist/runtimes/qoder/index.d.ts +22 -0
  226. package/dist/runtimes/qoder/index.d.ts.map +1 -0
  227. package/dist/runtimes/qoder/index.js +16 -0
  228. package/dist/runtimes/qoder/index.js.map +1 -0
  229. package/dist/runtimes/qoder/install.d.ts +6 -0
  230. package/dist/runtimes/qoder/install.d.ts.map +1 -0
  231. package/dist/runtimes/qoder/install.js +15 -0
  232. package/dist/runtimes/qoder/install.js.map +1 -0
  233. package/dist/runtimes/qoder/installation.d.ts +2 -0
  234. package/dist/runtimes/qoder/installation.d.ts.map +1 -0
  235. package/dist/runtimes/qoder/installation.js +5 -0
  236. package/dist/runtimes/qoder/installation.js.map +1 -0
  237. package/dist/runtimes/qoder/launch.d.ts +7 -0
  238. package/dist/runtimes/qoder/launch.d.ts.map +1 -0
  239. package/dist/runtimes/qoder/launch.js +76 -0
  240. package/dist/runtimes/qoder/launch.js.map +1 -0
  241. package/dist/runtimes/qoder/list-models.d.ts +6 -0
  242. package/dist/runtimes/qoder/list-models.d.ts.map +1 -0
  243. package/dist/runtimes/qoder/list-models.js +49 -0
  244. package/dist/runtimes/qoder/list-models.js.map +1 -0
  245. package/dist/runtimes/qoder/login.d.ts +6 -0
  246. package/dist/runtimes/qoder/login.d.ts.map +1 -0
  247. package/dist/runtimes/qoder/login.js +83 -0
  248. package/dist/runtimes/qoder/login.js.map +1 -0
  249. package/dist/runtimes/qoder/options.d.ts +4 -0
  250. package/dist/runtimes/qoder/options.d.ts.map +1 -0
  251. package/dist/runtimes/qoder/options.js +19 -0
  252. package/dist/runtimes/qoder/options.js.map +1 -0
  253. package/dist/runtimes/qoder/projection.d.ts +13 -0
  254. package/dist/runtimes/qoder/projection.d.ts.map +1 -0
  255. package/dist/runtimes/qoder/projection.js +42 -0
  256. package/dist/runtimes/qoder/projection.js.map +1 -0
  257. package/dist/runtimes/qoder/session.d.ts +3 -0
  258. package/dist/runtimes/qoder/session.d.ts.map +1 -0
  259. package/dist/runtimes/qoder/session.js +68 -0
  260. package/dist/runtimes/qoder/session.js.map +1 -0
  261. package/dist/runtimes/qwen/close.d.ts +4 -0
  262. package/dist/runtimes/qwen/close.d.ts.map +1 -0
  263. package/dist/runtimes/qwen/close.js +12 -0
  264. package/dist/runtimes/qwen/close.js.map +1 -0
  265. package/dist/runtimes/qwen/control.d.ts +15 -0
  266. package/dist/runtimes/qwen/control.d.ts.map +1 -0
  267. package/dist/runtimes/qwen/control.js +66 -0
  268. package/dist/runtimes/qwen/control.js.map +1 -0
  269. package/dist/runtimes/qwen/index.d.ts +20 -0
  270. package/dist/runtimes/qwen/index.d.ts.map +1 -0
  271. package/dist/runtimes/qwen/index.js +22 -0
  272. package/dist/runtimes/qwen/index.js.map +1 -0
  273. package/dist/runtimes/qwen/install-paths.d.ts +6 -0
  274. package/dist/runtimes/qwen/install-paths.d.ts.map +1 -0
  275. package/dist/runtimes/qwen/install-paths.js +13 -0
  276. package/dist/runtimes/qwen/install-paths.js.map +1 -0
  277. package/dist/runtimes/qwen/install.d.ts +6 -0
  278. package/dist/runtimes/qwen/install.d.ts.map +1 -0
  279. package/dist/runtimes/qwen/install.js +18 -0
  280. package/dist/runtimes/qwen/install.js.map +1 -0
  281. package/dist/runtimes/qwen/installation.d.ts +2 -0
  282. package/dist/runtimes/qwen/installation.d.ts.map +1 -0
  283. package/dist/runtimes/qwen/installation.js +5 -0
  284. package/dist/runtimes/qwen/installation.js.map +1 -0
  285. package/dist/runtimes/qwen/launch.d.ts +5 -0
  286. package/dist/runtimes/qwen/launch.d.ts.map +1 -0
  287. package/dist/runtimes/qwen/launch.js +25 -0
  288. package/dist/runtimes/qwen/launch.js.map +1 -0
  289. package/dist/runtimes/qwen/list-models.d.ts +6 -0
  290. package/dist/runtimes/qwen/list-models.d.ts.map +1 -0
  291. package/dist/runtimes/qwen/list-models.js +46 -0
  292. package/dist/runtimes/qwen/list-models.js.map +1 -0
  293. package/dist/runtimes/qwen/options.d.ts +5 -0
  294. package/dist/runtimes/qwen/options.d.ts.map +1 -0
  295. package/dist/runtimes/qwen/options.js +27 -0
  296. package/dist/runtimes/qwen/options.js.map +1 -0
  297. package/dist/runtimes/qwen/projection.d.ts +14 -0
  298. package/dist/runtimes/qwen/projection.d.ts.map +1 -0
  299. package/dist/runtimes/qwen/projection.js +41 -0
  300. package/dist/runtimes/qwen/projection.js.map +1 -0
  301. package/dist/runtimes/qwen/session.d.ts +8 -0
  302. package/dist/runtimes/qwen/session.d.ts.map +1 -0
  303. package/dist/runtimes/qwen/session.js +73 -0
  304. package/dist/runtimes/qwen/session.js.map +1 -0
  305. package/dist/shared/acp/terminal.d.ts.map +1 -1
  306. package/dist/shared/acp/terminal.js +13 -3
  307. package/dist/shared/acp/terminal.js.map +1 -1
  308. package/dist/shared/control-input.d.ts +3 -1
  309. package/dist/shared/control-input.d.ts.map +1 -1
  310. package/dist/shared/control-input.js +11 -0
  311. package/dist/shared/control-input.js.map +1 -1
  312. package/dist/shared/deliver-interrupt.d.ts +49 -0
  313. package/dist/shared/deliver-interrupt.d.ts.map +1 -0
  314. package/dist/shared/deliver-interrupt.js +195 -0
  315. package/dist/shared/deliver-interrupt.js.map +1 -0
  316. package/dist/shared/deliver.d.ts.map +1 -1
  317. package/dist/shared/deliver.js +17 -2
  318. package/dist/shared/deliver.js.map +1 -1
  319. package/dist/shared/executable/process-tree.d.ts +1 -1
  320. package/dist/shared/executable/process-tree.d.ts.map +1 -1
  321. package/dist/shared/executable/process-tree.js +25 -2
  322. package/dist/shared/executable/process-tree.js.map +1 -1
  323. package/dist/shared/executable/process.d.ts +10 -5
  324. package/dist/shared/executable/process.d.ts.map +1 -1
  325. package/dist/shared/executable/process.js +25 -12
  326. package/dist/shared/executable/process.js.map +1 -1
  327. package/dist/shared/executable/run.d.ts.map +1 -1
  328. package/dist/shared/executable/run.js +7 -2
  329. package/dist/shared/executable/run.js.map +1 -1
  330. package/dist/shared/orientation/budget.d.ts +12 -0
  331. package/dist/shared/orientation/budget.d.ts.map +1 -0
  332. package/dist/shared/orientation/budget.js +61 -0
  333. package/dist/shared/orientation/budget.js.map +1 -0
  334. package/dist/shared/orientation/customization.d.ts +8 -0
  335. package/dist/shared/orientation/customization.d.ts.map +1 -0
  336. package/dist/shared/orientation/customization.js +57 -0
  337. package/dist/shared/orientation/customization.js.map +1 -0
  338. package/dist/shared/orientation/index.d.ts +5 -0
  339. package/dist/shared/orientation/index.d.ts.map +1 -0
  340. package/dist/shared/orientation/index.js +88 -0
  341. package/dist/shared/orientation/index.js.map +1 -0
  342. package/dist/shared/orientation/slots.d.ts +6 -0
  343. package/dist/shared/orientation/slots.d.ts.map +1 -0
  344. package/dist/shared/orientation/slots.js +26 -0
  345. package/dist/shared/orientation/slots.js.map +1 -0
  346. package/dist/shared/seal-session.d.ts.map +1 -1
  347. package/dist/shared/seal-session.js.map +1 -1
  348. package/dist/shared/session-kernel.d.ts.map +1 -1
  349. package/dist/shared/session-kernel.js +36 -8
  350. package/dist/shared/session-kernel.js.map +1 -1
  351. package/dist/shared/session-options.d.ts +1 -1
  352. package/dist/shared/session-options.d.ts.map +1 -1
  353. package/dist/shared/session-options.js +5 -2
  354. package/dist/shared/session-options.js.map +1 -1
  355. package/dist/{runtimes/claude → shared/stream-json}/content.d.ts +5 -5
  356. package/dist/shared/stream-json/content.d.ts.map +1 -0
  357. package/dist/{runtimes/claude → shared/stream-json}/content.js +16 -10
  358. package/dist/shared/stream-json/content.js.map +1 -0
  359. package/dist/shared/stream-json/input-lifecycle.d.ts +24 -0
  360. package/dist/shared/stream-json/input-lifecycle.d.ts.map +1 -0
  361. package/dist/{runtimes/claude → shared/stream-json}/input-lifecycle.js +15 -11
  362. package/dist/shared/stream-json/input-lifecycle.js.map +1 -0
  363. package/dist/shared/stream-json/profile.d.ts +55 -0
  364. package/dist/shared/stream-json/profile.d.ts.map +1 -0
  365. package/dist/shared/stream-json/profile.js +2 -0
  366. package/dist/shared/stream-json/profile.js.map +1 -0
  367. package/dist/shared/stream-json/projection.d.ts +28 -0
  368. package/dist/shared/stream-json/projection.d.ts.map +1 -0
  369. package/dist/shared/stream-json/projection.js +122 -0
  370. package/dist/shared/stream-json/projection.js.map +1 -0
  371. package/dist/shared/stream-json/session.d.ts +8 -0
  372. package/dist/shared/stream-json/session.d.ts.map +1 -0
  373. package/dist/shared/stream-json/session.js +270 -0
  374. package/dist/shared/stream-json/session.js.map +1 -0
  375. package/dist/shared/stream-json/state.d.ts +25 -0
  376. package/dist/shared/stream-json/state.d.ts.map +1 -0
  377. package/dist/shared/stream-json/state.js +17 -0
  378. package/dist/shared/stream-json/state.js.map +1 -0
  379. package/package.json +1 -1
  380. package/dist/runtimes/claude/content.d.ts.map +0 -1
  381. package/dist/runtimes/claude/content.js.map +0 -1
  382. package/dist/runtimes/claude/input-lifecycle.d.ts +0 -24
  383. package/dist/runtimes/claude/input-lifecycle.d.ts.map +0 -1
  384. package/dist/runtimes/claude/input-lifecycle.js.map +0 -1
@@ -1,27 +1,45 @@
1
+ /* oxlint-disable import/max-dependencies -- The runtime declaration imports one module per capability. */
1
2
  import { runtimeBrands } from "../../brands.js";
2
- import { piCommands, piSkills, piTools } from "./inventory.js";
3
+ import { createPiInventories } from "./inventory.js";
3
4
  import { defineRuntime } from "../../contracts/runtime.js";
4
5
  import { piInstallation } from "./installation.js";
5
- import { piListModels } from "./list-models.js";
6
+ import { piModelLister } from "./list-models.js";
6
7
  import { piRefusedSessionOptions } from "./open.js";
7
- import { piSession } from "./session.js";
8
+ import { createPiSession } from "./session.js";
9
+ import { onFirstCall } from "../../shared/lazy.js";
10
+ import { piRpcRefusedSessionOptions } from "./rpc/open.js";
11
+ const piProviders = async (_installation, options) => {
12
+ const { createPiProviderAuth } = await import("./auth.js");
13
+ const facade = await createPiProviderAuth();
14
+ return facade.listProviders({ resolve: options.resolve });
15
+ };
8
16
  /**
9
17
  * The bundled Pi runtime, embedded through the Pi SDK dependency. Account
10
18
  * usage is intentionally absent: Pi runs on provider API keys and has no
11
19
  * subscription usage surface to observe.
12
20
  */
13
- export const piRuntime = defineRuntime({
14
- id: "pi",
15
- brand: runtimeBrands.pi,
16
- refusedSessionOptions: piRefusedSessionOptions,
17
- mcpToolsListChanged: "full",
18
- skills: piSkills,
19
- commands: piCommands,
20
- tools: piTools,
21
- installation: piInstallation,
22
- listModels: piListModels,
23
- session: piSession,
24
- });
21
+ export function createPiRuntime(options = {}) {
22
+ const subprocess = options.execution === "subprocess";
23
+ // oxlint-disable-next-line typescript/no-unnecessary-condition -- JavaScript hosts can bypass the discriminated option type.
24
+ if (!subprocess && options.command !== undefined) {
25
+ throw new Error("A Pi command requires execution: subprocess");
26
+ }
27
+ if (options.args !== undefined && options.command === undefined) {
28
+ throw new Error("Pi command arguments require command");
29
+ }
30
+ return defineRuntime({
31
+ id: "pi",
32
+ brand: runtimeBrands.pi,
33
+ refusedSessionOptions: subprocess ? piRpcRefusedSessionOptions : piRefusedSessionOptions,
34
+ mcpToolsListChanged: "full",
35
+ ...createPiInventories(options),
36
+ installation: piInstallation,
37
+ providers: piProviders,
38
+ listModels: piModelLister(options),
39
+ session: subprocess ? onFirstCall(async () => { const rpc = await import("./rpc/session.js"); return rpc.createPiRpcSession(options); }) : createPiSession(options),
40
+ });
41
+ }
42
+ export const piRuntime = createPiRuntime();
25
43
  export { piListModels, projectPiModels } from "./list-models.js";
26
44
  export { piSession } from "./session.js";
27
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/pi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC;IACrC,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,aAAa,CAAC,EAAE;IACvB,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,MAAM;IAC3B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/pi/index.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAgB,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAqB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAM3D,MAAM,WAAW,GAAuB,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE;IACvE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC5C,OAAO,MAAM,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAA4B,EAAE;IAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,KAAK,YAAY,CAAC;IACtD,6HAA6H;IAC7H,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAAC,CAAC;IACrH,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAAC,CAAC;IAC7H,OAAO,aAAa,CAAC;QACnB,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,aAAa,CAAC,EAAE;QACvB,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,uBAAuB;QACxF,mBAAmB,EAAE,MAAM;QAC3B,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC/B,YAAY,EAAE,cAAc;QAC5B,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC;QAClC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC;KACpK,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -1,4 +1,6 @@
1
- import type { CommandEntry, InventoryReader, SkillEntry, ToolEntry } from "../../contracts/inventory.js";
1
+ import type { CommandEntry, RuntimeInventories, InventoryReader, SkillEntry, ToolEntry } from "../../contracts/inventory.js";
2
+ import type { PiProjectOptions } from "./options.js";
3
+ export declare function createPiInventories(project?: PiProjectOptions): Pick<RuntimeInventories, "skills" | "commands" | "tools">;
2
4
  export declare const piSkills: InventoryReader<SkillEntry>;
3
5
  export declare const piCommands: InventoryReader<CommandEntry>;
4
6
  export declare const piTools: InventoryReader<ToolEntry>;
@@ -1 +1 @@
1
- {"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/inventory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAmC,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AA2E1I,eAAO,MAAM,QAAQ,6BAAsC,CAAC;AAC5D,eAAO,MAAM,UAAU,+BAAwC,CAAC;AAChE,eAAO,MAAM,OAAO,4BAAqC,CAAC"}
1
+ {"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/inventory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAmC,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAK9J,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA0ErD,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,gBAAqB,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC,CAI7H;AAED,eAAO,MAAM,QAAQ,6BAAkB,CAAC;AACxC,eAAO,MAAM,UAAU,+BAAoB,CAAC;AAC5C,eAAO,MAAM,OAAO,4BAAiB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { asRecord } from "../../shared/json.js";
2
2
  import { inventoryOk, inventoryRead, unsupportedInventory, workspaceScope } from "../../shared/inventory.js";
3
3
  import { piAgentDir } from "./resolve.js";
4
+ import { checkPiProjectPackages, reportMissingPiPackages } from "./project.js";
4
5
  import { initPiTheme } from "./theme.js";
5
6
  function piInventories(session, scope) {
6
7
  return {
@@ -40,7 +41,7 @@ function piInventories(session, scope) {
40
41
  },
41
42
  };
42
43
  }
43
- function reader(select) {
44
+ function reader(select, project) {
44
45
  return async (installation, options = {}) => {
45
46
  if (installation.via !== "bundled") {
46
47
  return unsupportedInventory("installation_unsupported", "Pi inventory requires the bundled SDK");
@@ -51,7 +52,9 @@ function reader(select) {
51
52
  const result = await inventoryRead(async () => {
52
53
  const sdk = await import("@earendil-works/pi-coding-agent");
53
54
  const agentDir = piAgentDir(() => sdk.getAgentDir());
54
- const settingsManager = sdk.SettingsManager.create(scope.cwd, agentDir);
55
+ const settingsManager = sdk.SettingsManager.create(scope.cwd, agentDir, { projectTrusted: project.projectTrusted ?? true });
56
+ await checkPiProjectPackages(scope.cwd, agentDir, settingsManager, project);
57
+ await reportMissingPiPackages(scope.cwd, agentDir, settingsManager);
55
58
  initPiTheme(sdk.initTheme, settingsManager);
56
59
  const services = await sdk.createAgentSessionServices({ cwd: scope.cwd, agentDir, settingsManager });
57
60
  const { session } = await sdk.createAgentSessionFromServices({
@@ -67,7 +70,13 @@ function reader(select) {
67
70
  return result;
68
71
  };
69
72
  }
70
- export const piSkills = reader((readers) => readers.skills);
71
- export const piCommands = reader((readers) => readers.commands);
72
- export const piTools = reader((readers) => readers.tools);
73
+ export function createPiInventories(project = {}) {
74
+ return { skills: reader((readers) => readers.skills, project),
75
+ commands: reader((readers) => readers.commands, project),
76
+ tools: reader((readers) => readers.tools, project) };
77
+ }
78
+ const defaults = createPiInventories();
79
+ export const piSkills = defaults.skills;
80
+ export const piCommands = defaults.commands;
81
+ export const piTools = defaults.tools;
73
82
  //# sourceMappingURL=inventory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../src/runtimes/pi/inventory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAOzC,SAAS,aAAa,CAAC,OAAqB,EAAE,KAAqB;IACjE,OAAO;QACL,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;YAClD,MAAM,KAAK,GAAiB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACxD,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ;gBACtE,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM;aACtF,CAAC,CAAC,CAAC;YACJ,OAAO,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACb,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACnD,MAAM,KAAK,GAAmB;gBAC5B,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAClD,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW;oBACjD,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;iBACnF,CAAC,CAAC;gBACH,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ;oBACxE,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACxF,CAAC,CAAC;aACJ,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;mBACpG,MAAM,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/C,OAAO,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACrD,MAAM,KAAK,GAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpF,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,OAAO,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC;AACD,SAAS,MAAM,CAAI,MAAwD;IACzE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;QAC1C,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,oBAAoB,CAAC,0BAA0B,EAAE,uCAAuC,CAAC,CAAC;QACnG,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACtC,6EAA6E;QAC7E,gFAAgF;QAChF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,IAAI,EAAE;YAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACrD,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACxE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,0BAA0B,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;YACrG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,8BAA8B,CAAC;gBAC3D,QAAQ,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;aACjE,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACjD,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;QACH,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../src/runtimes/pi/inventory.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { AgentSession } from "@earendil-works/pi-coding-agent";
2
- /** Await native extension shutdown while its context is live, but never let an async hook hold the host forever. */
3
- export declare function disposePiAgentSession(session: AgentSession): Promise<void>;
2
+ /** Bound native abort and extension shutdown together while their context is live. */
3
+ export declare function disposePiAgentSession(session: AgentSession, abort?: boolean): Promise<void>;
4
4
  //# sourceMappingURL=lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAIpE,oHAAoH;AACpH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhF"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAIpE,sFAAsF;AACtF,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B/F"}
@@ -1,23 +1,34 @@
1
1
  const SHUTDOWN_TIMEOUT_MS = 10_000;
2
- /** Await native extension shutdown while its context is live, but never let an async hook hold the host forever. */
3
- export async function disposePiAgentSession(session) {
2
+ /** Bound native abort and extension shutdown together while their context is live. */
3
+ export async function disposePiAgentSession(session, abort = false) {
4
4
  let timer = undefined;
5
+ let expired = false;
6
+ const shutdown = async () => {
7
+ if (abort) {
8
+ await session.abort();
9
+ }
10
+ // An abort can settle after forced cleanup. Never start hooks on a context
11
+ // that has already been invalidated by the deadline.
12
+ if (expired) {
13
+ return false;
14
+ }
15
+ await session.extensionRunner.emit({ type: "session_shutdown", reason: "quit" });
16
+ return true;
17
+ };
5
18
  try {
6
19
  const deadline = new Promise((resolve) => {
7
- timer = setTimeout(() => { resolve(false); }, SHUTDOWN_TIMEOUT_MS);
20
+ timer = setTimeout(() => { expired = true; resolve(false); }, SHUTDOWN_TIMEOUT_MS);
8
21
  });
9
- const completed = await Promise.race([
10
- session.extensionRunner.emit({ type: "session_shutdown", reason: "quit" }).then(() => true),
11
- deadline,
12
- ]);
22
+ const completed = await Promise.race([shutdown(), deadline]);
13
23
  if (!completed) {
14
24
  // The public runner does not identify the currently executing handler.
15
25
  // This is an adapter deadline, so report it through Node's diagnostic
16
26
  // channel (like http.ts), not as a fabricated native frame.
17
- process.emitWarning(`pi session_shutdown hooks timed out after ${String(SHUTDOWN_TIMEOUT_MS)} ms for session ${session.sessionId}; releasing the session without waiting for remaining hooks`, { code: "OAR_PI_SHUTDOWN_TIMEOUT" });
27
+ process.emitWarning(`pi ${abort ? "abort and " : ""}session_shutdown hooks timed out after ${String(SHUTDOWN_TIMEOUT_MS)} ms for session ${session.sessionId}; releasing the session without waiting for remaining hooks`, { code: "OAR_PI_SHUTDOWN_TIMEOUT" });
18
28
  }
19
29
  }
20
30
  finally {
31
+ expired = true;
21
32
  clearTimeout(timer);
22
33
  session.dispose();
23
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/runtimes/pi/lifecycle.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,oHAAoH;AACpH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAqB;IAC/D,IAAI,KAAK,GAA8C,SAAS,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YAChD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YACnC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAC3F,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,uEAAuE;YACvE,sEAAsE;YACtE,4DAA4D;YAC5D,OAAO,CAAC,WAAW,CACjB,6CAA6C,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,OAAO,CAAC,SAAS,6DAA6D,EACzK,EAAE,IAAI,EAAE,yBAAyB,EAAE,CACpC,CAAC;QACJ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/runtimes/pi/lifecycle.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAqB,EAAE,KAAK,GAAG,KAAK;IAC9E,IAAI,KAAK,GAA8C,SAAS,CAAC;IACjE,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,QAAQ,GAAG,KAAK,IAAsB,EAAE;QAC5C,IAAI,KAAK,EAAE,CAAC;YAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QACrC,2EAA2E;QAC3E,qDAAqD;QACrD,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAC9B,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YAChD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,uEAAuE;YACvE,sEAAsE;YACtE,4DAA4D;YAC5D,OAAO,CAAC,WAAW,CACjB,MAAM,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,0CAA0C,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,OAAO,CAAC,SAAS,6DAA6D,EACrM,EAAE,IAAI,EAAE,yBAAyB,EAAE,CACpC,CAAC;QACJ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,OAAO,GAAG,IAAI,CAAC;QACf,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { ModelLister } from "../../contracts/list-models.js";
2
+ import type { PiProjectOptions } from "./options.js";
2
3
  import { type PiListedModel, type PiAvailabilitySource, type PiThinkingLevelsOf } from "./model-projection.js";
3
4
  export { projectPiModels } from "./model-projection.js";
4
5
  /**
@@ -27,5 +28,6 @@ export { projectPiModels } from "./model-projection.js";
27
28
  * is an `ok` empty list, not `unauthenticated`.
28
29
  */
29
30
  export declare function createPiListModels<Model extends PiListedModel>(createRuntime: (signal: AbortSignal, cwd: string) => Promise<PiAvailabilitySource<Model>>, thinkingLevelsOf?: () => Promise<PiThinkingLevelsOf<Model>>): ModelLister;
31
+ export declare const piModelLister: (project?: PiProjectOptions) => ModelLister;
30
32
  export declare const piListModels: ModelLister;
31
33
  //# sourceMappingURL=list-models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAKlE,OAAO,EAAmB,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhI,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,aAAa,EAC5D,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EACzF,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAC1D,WAAW,CAmBb;AAED,eAAO,MAAM,YAAY,EAAE,WAiCzB,CAAC"}
1
+ {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIrD,OAAO,EAAmB,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhI,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,aAAa,EAC5D,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EACzF,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAC1D,WAAW,CAmBb;AAED,eAAO,MAAM,aAAa,GAAI,UAAS,gBAAqB,KAAG,WAmC7D,CAAC;AAEH,eAAO,MAAM,YAAY,aAAkB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { listingCwd } from "../../shared/listing-cwd.js";
2
+ import { checkPiProjectPackages, reportMissingPiPackages } from "./project.js";
2
3
  import { preparePi } from "./static-modules.js";
3
4
  import { piAgentDir } from "./resolve.js";
4
5
  import { projectPiModels } from "./model-projection.js";
@@ -49,13 +50,15 @@ export function createPiListModels(createRuntime, thinkingLevelsOf) {
49
50
  }
50
51
  };
51
52
  }
52
- export const piListModels = createPiListModels(async (signal, cwd) => {
53
+ export const piModelLister = (project = {}) => createPiListModels(async (signal, cwd) => {
53
54
  const { createAgentSessionServices, getAgentDir, SettingsManager } = await import("@earendil-works/pi-coding-agent");
54
55
  const agentDir = piAgentDir(getAgentDir);
55
56
  // getAvailable() can refresh OAuth tokens over the network: the proxy
56
57
  // plane first, from the same settings manager the services get (see
57
58
  // http.ts).
58
- const settingsManager = SettingsManager.create(cwd, agentDir);
59
+ const settingsManager = SettingsManager.create(cwd, agentDir, { projectTrusted: project.projectTrusted ?? true });
60
+ await checkPiProjectPackages(cwd, agentDir, settingsManager, project);
61
+ await reportMissingPiPackages(cwd, agentDir, settingsManager);
59
62
  await preparePi(settingsManager);
60
63
  const services = await createAgentSessionServices({
61
64
  cwd,
@@ -83,4 +86,5 @@ export const piListModels = createPiListModels(async (signal, cwd) => {
83
86
  const { getSupportedThinkingLevels } = await import("@earendil-works/pi-ai");
84
87
  return getSupportedThinkingLevels;
85
88
  });
89
+ export const piListModels = piModelLister();
86
90
  //# sourceMappingURL=list-models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { RefusedSessionOptions, SessionOptions } from "../../contracts/index.js";
2
2
  import type { AgentSession as PiAgentSession, CreateAgentSessionOptions } from "@earendil-works/pi-coding-agent";
3
+ import type { PiProjectOptions } from "./options.js";
3
4
  /**
4
5
  * The bash tool that carries SessionOptions.env into the agent's spawned
5
6
  * processes: same builtin bash, plus a spawnHook overlaying the env. pi's
@@ -45,6 +46,8 @@ export interface PiModelSource {
45
46
  export declare function piEffectiveModel(session: PiModelSource): string | null;
46
47
  /** Options the in-process SDK cannot honor, refused before anything opens. */
47
48
  export declare const piRefusedSessionOptions: RefusedSessionOptions;
49
+ /** Pi 1.4.0's truthy customPrompt check replaces an empty string with its default. */
50
+ export declare function checkPiSystemPrompt(prompt: string | undefined): void;
48
51
  /**
49
52
  * Opens (or resumes) the pi AgentSession the adapter wraps. Services first
50
53
  * (createAgentSessionServices loads the agent dir's extensions and their
@@ -52,5 +55,5 @@ export declare const piRefusedSessionOptions: RefusedSessionOptions;
52
55
  * then the session against an explicit SessionManager so resume and creation
53
56
  * share one session directory.
54
57
  */
55
- export declare function openPiAgentSession(options: SessionOptions, rememberKey?: (key: string | undefined) => void): Promise<PiAgentSession>;
58
+ export declare function openPiAgentSession(options: SessionOptions, rememberKey?: (key: string | undefined) => void, project?: PiProjectOptions): Promise<PiAgentSession>;
56
59
  //# sourceMappingURL=open.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/open.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAItF,OAAO,KAAK,EAAE,YAAY,IAAI,cAAc,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAajH;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GAC/C,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAKxE;AAED,sHAAsH;AACtH,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC;AAatF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAM/D;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,0BAA0B,IAAI,SAAS,MAAM,EAAE,CAAC;CACjD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAMzF;AAED,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAChF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,EAAE,qBAKrC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CA8I1I"}
1
+ {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/open.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAItF,OAAO,KAAK,EAAE,YAAY,IAAI,cAAc,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAOjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAQrD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GAC/C,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAKxE;AAED,sHAAsH;AACtH,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC;AAatF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAM/D;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,0BAA0B,IAAI,SAAS,MAAM,EAAE,CAAC;CACjD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAMzF;AAED,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAChF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,EAAE,qBAMrC,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAIpE;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CA4I1K"}
@@ -6,6 +6,7 @@ import { preparePi } from "./static-modules.js";
6
6
  import { disposePiAgentSession } from "./lifecycle.js";
7
7
  import { piMcpExtensions, validatePiMcpEnvironment } from "./mcp.js";
8
8
  import { piAgentDir, piFindSessionFile, piResolveModel, piSessionDir } from "./resolve.js";
9
+ import { checkPiProjectPackages, reportMissingPiPackages } from "./project.js";
9
10
  /*
10
11
  * Opening the bundled pi SDK session: services, session file (create or
11
12
  * resume by id), model resolution and read-back. The record-stream mapping
@@ -72,11 +73,18 @@ export function piEffectiveModel(session) {
72
73
  }
73
74
  /** Options the in-process SDK cannot honor, refused before anything opens. */
74
75
  export const piRefusedSessionOptions = {
76
+ userConfiguration: "pi has no verified per-session exclusion of user configuration while retaining its native login",
75
77
  outputSchema: "Pi SDK exposes no final-output schema option",
76
78
  additionalDirectories: "pi's SDK configures one cwd and exposes no additional workspace directory option",
77
79
  launchArgs: "pi runs in this process through its SDK; there is no runtime command line to add arguments to",
78
80
  serviceTier: "pi exposes no verified per-session service-tier setting and readback",
79
81
  };
82
+ /** Pi 1.4.0's truthy customPrompt check replaces an empty string with its default. */
83
+ export function checkPiSystemPrompt(prompt) {
84
+ if (prompt === "") {
85
+ throw new UnsupportedOptionError("systemPrompt", "pi cannot replace its base system prompt with an empty string: native startup uses the default prompt instead");
86
+ }
87
+ }
80
88
  /**
81
89
  * Opens (or resumes) the pi AgentSession the adapter wraps. Services first
82
90
  * (createAgentSessionServices loads the agent dir's extensions and their
@@ -84,9 +92,10 @@ export const piRefusedSessionOptions = {
84
92
  * then the session against an explicit SessionManager so resume and creation
85
93
  * share one session directory.
86
94
  */
87
- export async function openPiAgentSession(options, rememberKey) {
95
+ export async function openPiAgentSession(options, rememberKey, project = {}) {
88
96
  refuseSessionOptions(piRefusedSessionOptions, options);
89
97
  checkSessionName(options);
98
+ checkPiSystemPrompt(options.systemPrompt);
90
99
  validatePiMcpEnvironment(options);
91
100
  const thinkingLevel = options.effort === undefined ? undefined : piThinkingLevel(options.effort);
92
101
  const sdk = await import("@earendil-works/pi-coding-agent");
@@ -95,15 +104,12 @@ export async function openPiAgentSession(options, rememberKey) {
95
104
  // This is how a host (or the pi-aimock behavior backend) points the
96
105
  // in-process model plane somewhere else.
97
106
  const agentDir = piAgentDir(() => sdk.getAgentDir());
98
- // YOLO by default (repo policy): pi gates tool execution on project trust,
99
- // which is an approval prompt no embedded host can answer; pre-trust the
100
- // session cwd the same way pi's own Trust button would (auditable in
101
- // <agentDir>/trust.json).
102
- new sdk.ProjectTrustStore(agentDir).set(options.cwd, true);
103
107
  // The proxy plane before anything can reach a provider, from the same
104
108
  // settings manager the services get, so no second one is built (see
105
109
  // http.ts).
106
- const settingsManager = sdk.SettingsManager.create(options.cwd, agentDir);
110
+ const settingsManager = sdk.SettingsManager.create(options.cwd, agentDir, { projectTrusted: project.projectTrusted ?? true });
111
+ await checkPiProjectPackages(options.cwd, agentDir, settingsManager, project);
112
+ await reportMissingPiPackages(options.cwd, agentDir, settingsManager);
107
113
  await preparePi(settingsManager);
108
114
  // SessionOptions.mcpServers: pi's MCP extension plus one registering the
109
115
  // session's servers (mcp.ts); it refuses a name pi cannot take before
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/runtimes/pi/open.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/runtimes/pi/open.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export interface PiProjectOptions {
2
+ /** Trust this cwd for this open only. False disables native project configuration and extensions. */
3
+ readonly projectTrusted?: boolean;
4
+ /** Allow native package installation. False guards the complete project/user package list and keeps RPC startup offline. Defaults to false. */
5
+ readonly allowProjectPackageInstall?: boolean;
6
+ }
7
+ /** Execution placement and project policy share one factory configuration. */
8
+ export type PiRuntimeOptions = PiProjectOptions & ({
9
+ /** The embedded SDK remains the default. */
10
+ readonly execution?: "in-process";
11
+ readonly command?: never;
12
+ readonly args?: never;
13
+ } | {
14
+ /** One native RPC process per session. */
15
+ readonly execution: "subprocess";
16
+ /** A Pi CLI executable, as a path or PATH command, never a shell expression. */
17
+ readonly command?: string;
18
+ /** Prefix arguments, for example a host binary's Pi subcommand. Requires command. */
19
+ readonly args?: readonly string[];
20
+ });
21
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,qGAAqG;IACrG,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,+IAA+I;IAC/I,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CAC/C;AAED,8EAA8E;AAC9E,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,CAAC;IACjD,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;CACvB,GAAG;IACF,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/runtimes/pi/options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { SettingsManager } from "@earendil-works/pi-coding-agent";
2
+ import type { PiProjectOptions } from "./options.js";
3
+ /** Use Pi's resolver, including version checks, without installing or executing extensions. */
4
+ export declare function checkPiProjectPackages(cwd: string, agentDir: string, settings: SettingsManager, options: PiProjectOptions): Promise<void>;
5
+ /** Native lookup reports absent paths without substituting our own package resolver. */
6
+ export declare function reportMissingPiPackages(cwd: string, agentDir: string, settings: SettingsManager): Promise<void>;
7
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,+FAA+F;AAC/F,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAa/I;AAED,wFAAwF;AACxF,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAUrH"}
@@ -0,0 +1,40 @@
1
+ import { RuntimeFailureError } from "../../contracts/runtime-failure-error.js";
2
+ /** Use Pi's resolver, including version checks, without installing or executing extensions. */
3
+ export async function checkPiProjectPackages(cwd, agentDir, settings, options) {
4
+ if (options.allowProjectPackageInstall === true || piOffline()) {
5
+ return;
6
+ }
7
+ if ((settings.getProjectSettings().packages ?? []).length === 0 && (settings.getGlobalSettings().packages ?? []).length === 0) {
8
+ return;
9
+ }
10
+ const { DefaultPackageManager } = await import("@earendil-works/pi-coding-agent");
11
+ const packages = new DefaultPackageManager({ cwd, agentDir, settingsManager: settings });
12
+ const missing = new Set();
13
+ // The public callback has no scope: conservatively include user packages
14
+ // rather than reconstructing Pi's inheritance, deduplication or version rules.
15
+ // oxlint-disable-next-line eslint/require-await, typescript/require-await -- Pi requires a Promise for this synchronous policy decision.
16
+ await packages.resolve(async (source) => { missing.add(source); return "skip"; });
17
+ if (missing.size > 0) {
18
+ throw new RuntimeFailureError("invalid_request", `Pi configuration requires installing or replacing packages: ${[...missing].map((source) => JSON.stringify(source)).join(", ")}. OAR conservatively checks the complete native package list, including user packages, because Pi's missing-package callback does not report scope. Start the host with PI_OFFLINE=1, or explicitly use createPiRuntime({ allowProjectPackageInstall: true }). OAR has not loaded extensions, installed packages or changed persistent trust.`, { code: "project_packages_blocked" });
19
+ }
20
+ }
21
+ /** Native lookup reports absent paths without substituting our own package resolver. */
22
+ export async function reportMissingPiPackages(cwd, agentDir, settings) {
23
+ if (!piOffline()) {
24
+ return;
25
+ }
26
+ const { DefaultPackageManager } = await import("@earendil-works/pi-coding-agent");
27
+ const packages = new DefaultPackageManager({ cwd, agentDir, settingsManager: settings });
28
+ for (const entry of settings.getProjectSettings().packages ?? []) {
29
+ const source = typeof entry === "string" ? entry : entry.source;
30
+ if (packages.getInstalledPath(source, "project") === undefined) {
31
+ process.emitWarning(`Pi could not locate configured package ${JSON.stringify(source)} in its project store; PI_OFFLINE prevents installation. Check the project's package configuration before relying on its extensions.`, { code: "OAR_PI_PACKAGE_MISSING" });
32
+ }
33
+ }
34
+ }
35
+ /** Match native isOfflineModeEnabled exactly, including its whitespace handling. */
36
+ function piOffline() {
37
+ const value = process.env.PI_OFFLINE?.toLowerCase();
38
+ return value === "1" || value === "true" || value === "yes";
39
+ }
40
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/runtimes/pi/project.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAI/E,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,GAAW,EAAE,QAAgB,EAAE,QAAyB,EAAE,OAAyB;IAC9H,IAAI,OAAO,CAAC,0BAA0B,KAAK,IAAI,IAAI,SAAS,EAAE,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAC1I,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,yEAAyE;IACzE,+EAA+E;IAC/E,yIAAyI;IACzI,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,EAAE,+DAA+D,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,+UAA+U,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;IACxiB,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,GAAW,EAAE,QAAgB,EAAE,QAAyB;IACpG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAC7B,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzF,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAChE,IAAI,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/D,OAAO,CAAC,WAAW,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,sIAAsI,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAClQ,CAAC;IACH,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,SAAS;IAChB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;IACpD,OAAO,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC;AAC9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/resolve.ts"],"names":[],"mappings":"AAeA,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;CAC3E;AAED,2EAA2E;AAC3E,MAAM,WAAW,aAAa,CAAC,MAAM;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACjE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,MAAM,GAAG,MAAM,CAGzD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAQnF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAW3F"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/resolve.ts"],"names":[],"mappings":"AAgBA,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;CAC3E;AAED,2EAA2E;AAC3E,MAAM,WAAW,aAAa,CAAC,MAAM;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACjE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,MAAM,GAAG,MAAM,CAGzD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAQnF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAW3F"}
@@ -1,4 +1,5 @@
1
1
  import { join, resolve } from "node:path";
2
+ import { realpath } from "node:fs/promises";
2
3
  import { SessionNotFoundError } from "../../contracts/session-not-found-error.js";
3
4
  import { RuntimeFailureError } from "../../contracts/runtime-failure-error.js";
4
5
  /**
@@ -31,8 +32,24 @@ export function piSessionDir(cwd, agentDir) {
31
32
  * (pi writes the file on the first message, so an unused session has none).
32
33
  */
33
34
  export async function piFindSessionFile(lister, id, cwd, sessionDir) {
34
- const sessions = await lister.list(cwd, sessionDir);
35
- const found = sessions.find((session) => session.id === id);
35
+ let sessions = await lister.list(cwd, sessionDir);
36
+ let found = sessions.find((session) => session.id === id);
37
+ if (found === undefined) {
38
+ // A native child stores process.cwd(), which resolves directory symlinks
39
+ // (including macOS /var -> /private/var). Keep the existing storage
40
+ // directory and check only that same physical cwd, never other projects.
41
+ const physical = await realpath(cwd).catch((error) => {
42
+ if (error instanceof Error && "code" in error && (error.code === "ENOENT" || error.code === "ENOTDIR")) {
43
+ return cwd;
44
+ }
45
+ throw error;
46
+ });
47
+ if (physical !== resolve(cwd)) {
48
+ const native = await lister.list(physical, sessionDir);
49
+ sessions = [...new Map([...sessions, ...native].map((entry) => [entry.path, entry])).values()];
50
+ found = sessions.find((session) => session.id === id);
51
+ }
52
+ }
36
53
  if (found === undefined) {
37
54
  throw new SessionNotFoundError(id, `pi session ${id} not found: no session file with that id under ${sessionDir} `
38
55
  + `(${sessions.length} session(s) there for cwd ${cwd}; pi persists a session on its first message)`, { method: "SessionManager.list", native: { cwd, sessionDir, sessionCount: sessions.length } });
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/runtimes/pi/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AA6B/E;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,QAAsB;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,QAAgB;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,EAAU,EACV,GAAW,EACX,UAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,oBAAoB,CAAC,EAAE,EAC/B,cAAc,EAAE,kDAAkD,UAAU,GAAG;cAC7E,IAAI,QAAQ,CAAC,MAAM,6BAA6B,GAAG,+CAA+C,EACpG,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAC9F,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,+EAA+E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACvG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAS,MAA6B,EAAE,KAAa;IACjF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,mBAAmB,CAC3B,mBAAmB,EACnB,YAAY,KAAK,gCAAgC,QAAQ,iBAAiB,OAAO,GAAG;cAClF,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/runtimes/pi/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { RpcCommand, RpcResponse } from "@earendil-works/pi-coding-agent";
2
+ import type { LineProcess } from "../../../shared/executable/index.js";
3
+ /** Native Pi JSONL correlation. Event observers never wait for a command response. */
4
+ export declare function piRpcControl(child: LineProcess, receive: (message: Record<string, unknown>) => void): {
5
+ request(command: RpcCommand): Promise<RpcResponse>;
6
+ };
7
+ //# sourceMappingURL=control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/pi/rpc/control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAGvE,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG;IACrG,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACpD,CAyCA"}