@pasko70/pibo 1.9.7 → 1.9.9

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 (705) hide show
  1. package/README.md +183 -183
  2. package/context/codex-base-prompt.md +148 -148
  3. package/context/compute-worker.md +23 -23
  4. package/context/pibo-compaction-prompt.md +100 -100
  5. package/context/pibo-native-tooling.md +18 -18
  6. package/context/pibo-system-prompt.md +77 -77
  7. package/docs/README.md +23 -23
  8. package/docs/ops/install-developer-host.md +112 -112
  9. package/docs/ops/install-user-host.md +96 -96
  10. package/docs/ops/upgrade-user-to-developer-host.md +69 -69
  11. package/docs/ops/vscode-extension-release.md +160 -160
  12. package/package.json +95 -95
  13. package/skills/builtin/graphify/SKILL.md +52 -52
  14. package/skills/builtin/pi-agent-harness/SKILL.md +319 -319
  15. package/skills/builtin/pi-agent-harness/agents/openai.yaml +4 -4
  16. package/skills/builtin/pibo-docker-system/SKILL.md +170 -170
  17. package/skills/builtin/pibo-spec-writing/SKILL.md +330 -330
  18. package/skills/builtin/prd/SKILL.md +143 -143
  19. package/skills/builtin/ralph-loop/SKILL.md +359 -359
  20. package/skills/builtin/ralph-prd-json/SKILL.md +123 -123
  21. package/skills/builtin/skill-creator/LICENSE.txt +201 -201
  22. package/skills/builtin/skill-creator/SKILL.md +513 -513
  23. package/skills/builtin/skill-creator/agents/analyzer.md +274 -274
  24. package/skills/builtin/skill-creator/agents/comparator.md +202 -202
  25. package/skills/builtin/skill-creator/agents/grader.md +223 -223
  26. package/skills/builtin/skill-creator/assets/eval_review.html +146 -146
  27. package/skills/builtin/skill-creator/eval-viewer/generate_review.py +471 -471
  28. package/skills/builtin/skill-creator/eval-viewer/viewer.html +1325 -1325
  29. package/skills/builtin/skill-creator/references/schemas.md +430 -430
  30. package/skills/builtin/skill-creator/scripts/aggregate_benchmark.py +401 -401
  31. package/skills/builtin/skill-creator/scripts/generate_report.py +326 -326
  32. package/skills/builtin/skill-creator/scripts/improve_description.py +247 -247
  33. package/skills/builtin/skill-creator/scripts/package_skill.py +136 -136
  34. package/skills/builtin/skill-creator/scripts/quick_validate.py +102 -102
  35. package/skills/builtin/skill-creator/scripts/run_eval.py +310 -310
  36. package/skills/builtin/skill-creator/scripts/run_loop.py +328 -328
  37. package/skills/builtin/skill-creator/scripts/utils.py +47 -47
  38. package/skills/builtin/web-annotations/SKILL.md +93 -93
  39. package/src/mcp/LICENSE.mcp-cli +21 -21
  40. package/dist/api/simple-agent-api.js +0 -136
  41. package/dist/app-context.js +0 -4
  42. package/dist/apps/chat/agent-profiles.js +0 -70
  43. package/dist/apps/chat/agent-store.js +0 -669
  44. package/dist/apps/chat/chat-api-routes.js +0 -325
  45. package/dist/apps/chat/chat-capability-routes.js +0 -90
  46. package/dist/apps/chat/chat-files.js +0 -178
  47. package/dist/apps/chat/chat-request-normalizers.js +0 -681
  48. package/dist/apps/chat/chat-settings-routes.js +0 -98
  49. package/dist/apps/chat/chat-trace-helpers.js +0 -139
  50. package/dist/apps/chat/chat-user-skill-routes.js +0 -178
  51. package/dist/apps/chat/cron-api.js +0 -213
  52. package/dist/apps/chat/data/chat-data-mappers.js +0 -82
  53. package/dist/apps/chat/data/event-command-service.js +0 -75
  54. package/dist/apps/chat/data/navigation-query-service.js +0 -11
  55. package/dist/apps/chat/data/project-service.js +0 -877
  56. package/dist/apps/chat/data/read-state-service.js +0 -42
  57. package/dist/apps/chat/data/room-service.js +0 -52
  58. package/dist/apps/chat/data/session-query-service.js +0 -126
  59. package/dist/apps/chat/data/timeline-query-service.js +0 -102
  60. package/dist/apps/chat/event-log.js +0 -1
  61. package/dist/apps/chat/model-catalog.js +0 -53
  62. package/dist/apps/chat/output-compactor.js +0 -126
  63. package/dist/apps/chat/output-event-policy.js +0 -17
  64. package/dist/apps/chat/project-workflow-human-actions.js +0 -347
  65. package/dist/apps/chat/project-workflow-sessions.js +0 -260
  66. package/dist/apps/chat/provider-auth-actions.js +0 -43
  67. package/dist/apps/chat/ralph-api.js +0 -156
  68. package/dist/apps/chat/read-model.js +0 -1
  69. package/dist/apps/chat/rooms.js +0 -1
  70. package/dist/apps/chat/session-metadata.js +0 -14
  71. package/dist/apps/chat/static-assets.js +0 -997
  72. package/dist/apps/chat/stream.js +0 -145
  73. package/dist/apps/chat/telemetry-retention-service.js +0 -69
  74. package/dist/apps/chat/trace-v2.js +0 -307
  75. package/dist/apps/chat/trace.js +0 -572
  76. package/dist/apps/chat/types/event-store.js +0 -1
  77. package/dist/apps/chat/types/read-model.js +0 -1
  78. package/dist/apps/chat/types/rooms.js +0 -36
  79. package/dist/apps/chat/web-app.js +0 -4605
  80. package/dist/apps/chat/workflow-catalog.js +0 -572
  81. package/dist/apps/chat/workflow-edge-compatibility.js +0 -51
  82. package/dist/apps/chat/workflow-json-schema-validation.js +0 -335
  83. package/dist/apps/chat/workflow-manual-trigger-runtime.js +0 -232
  84. package/dist/apps/chat/workflow-persistence-model.js +0 -140
  85. package/dist/apps/chat/workflow-persistence.js +0 -633
  86. package/dist/apps/chat/workflow-registered-ref-params.js +0 -130
  87. package/dist/apps/chat/workflow-registered-ref-pickers.js +0 -179
  88. package/dist/apps/chat/workflow-registered-ref-validation.js +0 -210
  89. package/dist/apps/chat/workflow-v2-security-validation.js +0 -93
  90. package/dist/apps/chat/workflow-validation-helpers.js +0 -114
  91. package/dist/apps/chat-ui/assets/apl-BxEMbctQ.js +0 -1
  92. package/dist/apps/chat-ui/assets/asciiarmor-eFjeGRuZ.js +0 -1
  93. package/dist/apps/chat-ui/assets/asn1-Cfx-0pt9.js +0 -1
  94. package/dist/apps/chat-ui/assets/asterisk-B5BHTsBr.js +0 -1
  95. package/dist/apps/chat-ui/assets/brainfuck-CAA2xofr.js +0 -1
  96. package/dist/apps/chat-ui/assets/clike-BoDCOLzN.js +0 -1
  97. package/dist/apps/chat-ui/assets/clojure-kVFSWX0o.js +0 -1
  98. package/dist/apps/chat-ui/assets/cmake-BUPAhezI.js +0 -1
  99. package/dist/apps/chat-ui/assets/cobol-BfgHZgup.js +0 -1
  100. package/dist/apps/chat-ui/assets/coffeescript-G1Pe_1AZ.js +0 -1
  101. package/dist/apps/chat-ui/assets/commonlisp-B3N0CjHn.js +0 -1
  102. package/dist/apps/chat-ui/assets/crystal-C15ndaGM.js +0 -1
  103. package/dist/apps/chat-ui/assets/css-BqOeyZOV.js +0 -1
  104. package/dist/apps/chat-ui/assets/cypher-KjIKv-wW.js +0 -1
  105. package/dist/apps/chat-ui/assets/d-BlT5AEC-.js +0 -1
  106. package/dist/apps/chat-ui/assets/diff-oF98tbqj.js +0 -1
  107. package/dist/apps/chat-ui/assets/dist--55mTWk3.js +0 -1
  108. package/dist/apps/chat-ui/assets/dist-BDiYR_k0.js +0 -2
  109. package/dist/apps/chat-ui/assets/dist-BYMYH5s9.js +0 -11
  110. package/dist/apps/chat-ui/assets/dist-BZ39rB1W.js +0 -1
  111. package/dist/apps/chat-ui/assets/dist-BsedZGJo.js +0 -1
  112. package/dist/apps/chat-ui/assets/dist-BtZRJHYc.js +0 -1
  113. package/dist/apps/chat-ui/assets/dist-C5YJOwhH.js +0 -1
  114. package/dist/apps/chat-ui/assets/dist-C5oXtFSP.js +0 -1
  115. package/dist/apps/chat-ui/assets/dist-CKM5j-iy.js +0 -1
  116. package/dist/apps/chat-ui/assets/dist-CTqkBO4D.js +0 -1
  117. package/dist/apps/chat-ui/assets/dist-CUp9us2q.js +0 -1
  118. package/dist/apps/chat-ui/assets/dist-CZ9T4Cly.js +0 -1
  119. package/dist/apps/chat-ui/assets/dist-Ca0Nv2Sb.js +0 -1
  120. package/dist/apps/chat-ui/assets/dist-D75qd42l.js +0 -1
  121. package/dist/apps/chat-ui/assets/dist-DALz2b8B.js +0 -1
  122. package/dist/apps/chat-ui/assets/dist-DSKQpPaz.js +0 -1
  123. package/dist/apps/chat-ui/assets/dist-Hmv_Gd0d.js +0 -6
  124. package/dist/apps/chat-ui/assets/dist-JsdMHbep.js +0 -23
  125. package/dist/apps/chat-ui/assets/dist-MvkOuMpO.js +0 -1
  126. package/dist/apps/chat-ui/assets/dist-SVPsM5Oi.js +0 -13
  127. package/dist/apps/chat-ui/assets/dist-WDi-12_5.js +0 -9
  128. package/dist/apps/chat-ui/assets/dist-Zqt9kNG9.js +0 -1
  129. package/dist/apps/chat-ui/assets/dist-tGfufz3b.js +0 -1
  130. package/dist/apps/chat-ui/assets/dockerfile-CUaqzcqp.js +0 -1
  131. package/dist/apps/chat-ui/assets/dtd-VCA9yr61.js +0 -1
  132. package/dist/apps/chat-ui/assets/dylan-O-V5Dw5W.js +0 -1
  133. package/dist/apps/chat-ui/assets/ebnf-SPmdBkvT.js +0 -1
  134. package/dist/apps/chat-ui/assets/ecl-ChfCttfI.js +0 -1
  135. package/dist/apps/chat-ui/assets/eiffel-cB9EbjeN.js +0 -1
  136. package/dist/apps/chat-ui/assets/elm-BTiVflBU.js +0 -1
  137. package/dist/apps/chat-ui/assets/erlang-egf0TXFm.js +0 -1
  138. package/dist/apps/chat-ui/assets/factor-C2tAxNob.js +0 -1
  139. package/dist/apps/chat-ui/assets/fcl-BiCjh1tj.js +0 -1
  140. package/dist/apps/chat-ui/assets/forth-C4kDGW6u.js +0 -1
  141. package/dist/apps/chat-ui/assets/fortran-DzkLaPnd.js +0 -1
  142. package/dist/apps/chat-ui/assets/gas-DMOxskQF.js +0 -1
  143. package/dist/apps/chat-ui/assets/gherkin-BPxBpp-k.js +0 -1
  144. package/dist/apps/chat-ui/assets/groovy-CkEnc0ZY.js +0 -1
  145. package/dist/apps/chat-ui/assets/haskell-Dadpo9-w.js +0 -1
  146. package/dist/apps/chat-ui/assets/haxe-CDNZL9MW.js +0 -1
  147. package/dist/apps/chat-ui/assets/http-jy9Zxxt3.js +0 -1
  148. package/dist/apps/chat-ui/assets/idl-CGSB6iiy.js +0 -1
  149. package/dist/apps/chat-ui/assets/index-BUlHJWKP.js +0 -173
  150. package/dist/apps/chat-ui/assets/index-C0x9nEcf.css +0 -1
  151. package/dist/apps/chat-ui/assets/javascript-DSlzRUd8.js +0 -1
  152. package/dist/apps/chat-ui/assets/julia-DTiF9v6R.js +0 -1
  153. package/dist/apps/chat-ui/assets/livescript-Ci8Xxna6.js +0 -1
  154. package/dist/apps/chat-ui/assets/lua-eVxIrt9t.js +0 -1
  155. package/dist/apps/chat-ui/assets/mathematica-Da3grj36.js +0 -1
  156. package/dist/apps/chat-ui/assets/mbox-BWBMSafM.js +0 -1
  157. package/dist/apps/chat-ui/assets/mirc-CtHu9S1B.js +0 -1
  158. package/dist/apps/chat-ui/assets/mllike-wTFlPWXS.js +0 -1
  159. package/dist/apps/chat-ui/assets/modelica-cKbQ0UXu.js +0 -1
  160. package/dist/apps/chat-ui/assets/mscgen-C5pXQCMK.js +0 -1
  161. package/dist/apps/chat-ui/assets/mumps-CKBHkOQq.js +0 -1
  162. package/dist/apps/chat-ui/assets/nginx-B00AiQel.js +0 -1
  163. package/dist/apps/chat-ui/assets/nsis-SMDwKltR.js +0 -1
  164. package/dist/apps/chat-ui/assets/ntriples-B_36EBV0.js +0 -1
  165. package/dist/apps/chat-ui/assets/octave-BXPjzAif.js +0 -1
  166. package/dist/apps/chat-ui/assets/oz-Dedpat1M.js +0 -1
  167. package/dist/apps/chat-ui/assets/pascal-CMcUg72K.js +0 -1
  168. package/dist/apps/chat-ui/assets/perl-DoVTbnzt.js +0 -1
  169. package/dist/apps/chat-ui/assets/pig-CULXT1YV.js +0 -1
  170. package/dist/apps/chat-ui/assets/powershell-Cv5Uhf6b.js +0 -1
  171. package/dist/apps/chat-ui/assets/properties-CQ1C2P-M.js +0 -1
  172. package/dist/apps/chat-ui/assets/protobuf-SRlvzrl6.js +0 -1
  173. package/dist/apps/chat-ui/assets/pug-Bo3wfL-f.js +0 -1
  174. package/dist/apps/chat-ui/assets/puppet-ClSqCGj6.js +0 -1
  175. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-144x144.png +0 -0
  176. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-192x192.png +0 -0
  177. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-48x48.png +0 -0
  178. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-512x512.png +0 -0
  179. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-72x72.png +0 -0
  180. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-96x96.png +0 -0
  181. package/dist/apps/chat-ui/assets/pwa-images/ios/100.png +0 -0
  182. package/dist/apps/chat-ui/assets/pwa-images/ios/1024.png +0 -0
  183. package/dist/apps/chat-ui/assets/pwa-images/ios/114.png +0 -0
  184. package/dist/apps/chat-ui/assets/pwa-images/ios/120.png +0 -0
  185. package/dist/apps/chat-ui/assets/pwa-images/ios/128.png +0 -0
  186. package/dist/apps/chat-ui/assets/pwa-images/ios/144.png +0 -0
  187. package/dist/apps/chat-ui/assets/pwa-images/ios/152.png +0 -0
  188. package/dist/apps/chat-ui/assets/pwa-images/ios/16.png +0 -0
  189. package/dist/apps/chat-ui/assets/pwa-images/ios/167.png +0 -0
  190. package/dist/apps/chat-ui/assets/pwa-images/ios/180.png +0 -0
  191. package/dist/apps/chat-ui/assets/pwa-images/ios/192.png +0 -0
  192. package/dist/apps/chat-ui/assets/pwa-images/ios/20.png +0 -0
  193. package/dist/apps/chat-ui/assets/pwa-images/ios/256.png +0 -0
  194. package/dist/apps/chat-ui/assets/pwa-images/ios/29.png +0 -0
  195. package/dist/apps/chat-ui/assets/pwa-images/ios/32.png +0 -0
  196. package/dist/apps/chat-ui/assets/pwa-images/ios/40.png +0 -0
  197. package/dist/apps/chat-ui/assets/pwa-images/ios/50.png +0 -0
  198. package/dist/apps/chat-ui/assets/pwa-images/ios/512.png +0 -0
  199. package/dist/apps/chat-ui/assets/pwa-images/ios/57.png +0 -0
  200. package/dist/apps/chat-ui/assets/pwa-images/ios/58.png +0 -0
  201. package/dist/apps/chat-ui/assets/pwa-images/ios/60.png +0 -0
  202. package/dist/apps/chat-ui/assets/pwa-images/ios/64.png +0 -0
  203. package/dist/apps/chat-ui/assets/pwa-images/ios/72.png +0 -0
  204. package/dist/apps/chat-ui/assets/pwa-images/ios/76.png +0 -0
  205. package/dist/apps/chat-ui/assets/pwa-images/ios/80.png +0 -0
  206. package/dist/apps/chat-ui/assets/pwa-images/ios/87.png +0 -0
  207. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-100.png +0 -0
  208. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-125.png +0 -0
  209. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-150.png +0 -0
  210. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-200.png +0 -0
  211. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-400.png +0 -0
  212. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-100.png +0 -0
  213. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-125.png +0 -0
  214. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-150.png +0 -0
  215. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-200.png +0 -0
  216. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-400.png +0 -0
  217. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-100.png +0 -0
  218. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-125.png +0 -0
  219. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-150.png +0 -0
  220. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-200.png +0 -0
  221. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-400.png +0 -0
  222. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-100.png +0 -0
  223. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-125.png +0 -0
  224. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-150.png +0 -0
  225. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-200.png +0 -0
  226. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-400.png +0 -0
  227. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-16.png +0 -0
  228. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-20.png +0 -0
  229. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-24.png +0 -0
  230. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-256.png +0 -0
  231. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-30.png +0 -0
  232. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-32.png +0 -0
  233. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-36.png +0 -0
  234. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-40.png +0 -0
  235. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-44.png +0 -0
  236. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-48.png +0 -0
  237. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-60.png +0 -0
  238. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-64.png +0 -0
  239. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-72.png +0 -0
  240. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-80.png +0 -0
  241. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-96.png +0 -0
  242. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-16.png +0 -0
  243. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-20.png +0 -0
  244. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-24.png +0 -0
  245. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-256.png +0 -0
  246. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-30.png +0 -0
  247. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-32.png +0 -0
  248. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-36.png +0 -0
  249. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-40.png +0 -0
  250. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-44.png +0 -0
  251. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-48.png +0 -0
  252. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-60.png +0 -0
  253. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-64.png +0 -0
  254. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-72.png +0 -0
  255. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-80.png +0 -0
  256. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-96.png +0 -0
  257. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-100.png +0 -0
  258. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-125.png +0 -0
  259. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-150.png +0 -0
  260. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-200.png +0 -0
  261. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-400.png +0 -0
  262. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-16.png +0 -0
  263. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-20.png +0 -0
  264. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-24.png +0 -0
  265. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-256.png +0 -0
  266. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-30.png +0 -0
  267. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-32.png +0 -0
  268. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-36.png +0 -0
  269. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-40.png +0 -0
  270. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-44.png +0 -0
  271. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-48.png +0 -0
  272. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-60.png +0 -0
  273. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-64.png +0 -0
  274. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-72.png +0 -0
  275. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-80.png +0 -0
  276. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-96.png +0 -0
  277. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-100.png +0 -0
  278. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-125.png +0 -0
  279. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-150.png +0 -0
  280. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-200.png +0 -0
  281. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-400.png +0 -0
  282. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-100.png +0 -0
  283. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-125.png +0 -0
  284. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-150.png +0 -0
  285. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-200.png +0 -0
  286. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-400.png +0 -0
  287. package/dist/apps/chat-ui/assets/python-C2_X1GpX.js +0 -1
  288. package/dist/apps/chat-ui/assets/q-B_6Gdyzl.js +0 -1
  289. package/dist/apps/chat-ui/assets/r-BD07NGED.js +0 -1
  290. package/dist/apps/chat-ui/assets/rolldown-runtime-S-ySWqyJ.js +0 -1
  291. package/dist/apps/chat-ui/assets/rpm-CRu5Z2Jl.js +0 -1
  292. package/dist/apps/chat-ui/assets/ruby-dZPnOz8h.js +0 -1
  293. package/dist/apps/chat-ui/assets/sas-S2t8_sDI.js +0 -1
  294. package/dist/apps/chat-ui/assets/scheme-WcyFWLW2.js +0 -1
  295. package/dist/apps/chat-ui/assets/shell-DUelnYSh.js +0 -1
  296. package/dist/apps/chat-ui/assets/sieve-jDjlVhNh.js +0 -1
  297. package/dist/apps/chat-ui/assets/simple-mode-CL04yRVp.js +0 -1
  298. package/dist/apps/chat-ui/assets/smalltalk-ddWDYy10.js +0 -1
  299. package/dist/apps/chat-ui/assets/solr-C7rQhLuW.js +0 -1
  300. package/dist/apps/chat-ui/assets/sparql--fPCCgVd.js +0 -1
  301. package/dist/apps/chat-ui/assets/spreadsheet-DjthqD5G.js +0 -1
  302. package/dist/apps/chat-ui/assets/sql-D_dieYbr.js +0 -1
  303. package/dist/apps/chat-ui/assets/stex-rHcFYcA0.js +0 -1
  304. package/dist/apps/chat-ui/assets/stylus-DxF70RNr.js +0 -1
  305. package/dist/apps/chat-ui/assets/swift-T0hDoOb-.js +0 -1
  306. package/dist/apps/chat-ui/assets/tcl-Dlzy1mPk.js +0 -1
  307. package/dist/apps/chat-ui/assets/textile-Dy5rFZe5.js +0 -1
  308. package/dist/apps/chat-ui/assets/tiddlywiki-DQP1OymS.js +0 -1
  309. package/dist/apps/chat-ui/assets/tiki-0vOj3DB2.js +0 -1
  310. package/dist/apps/chat-ui/assets/toml-DEltN0lI.js +0 -1
  311. package/dist/apps/chat-ui/assets/troff-CRbBpEqY.js +0 -1
  312. package/dist/apps/chat-ui/assets/ttcn-M5q1nLKg.js +0 -1
  313. package/dist/apps/chat-ui/assets/ttcn-cfg-Rmw9NWq9.js +0 -1
  314. package/dist/apps/chat-ui/assets/turtle-BCDWhJK0.js +0 -1
  315. package/dist/apps/chat-ui/assets/vb-QQ7LGlOz.js +0 -1
  316. package/dist/apps/chat-ui/assets/vbscript-BiSEdUzz.js +0 -1
  317. package/dist/apps/chat-ui/assets/velocity-CzMg5_6w.js +0 -1
  318. package/dist/apps/chat-ui/assets/verilog-BJOO83gk.js +0 -1
  319. package/dist/apps/chat-ui/assets/vhdl-ed4zAZAA.js +0 -1
  320. package/dist/apps/chat-ui/assets/webidl-Ddy6hbV6.js +0 -1
  321. package/dist/apps/chat-ui/assets/xquery-Bw1zwhh6.js +0 -1
  322. package/dist/apps/chat-ui/assets/yacas-DZdTXy3s.js +0 -1
  323. package/dist/apps/chat-ui/assets/z80-DMG02_YV.js +0 -1
  324. package/dist/apps/chat-ui/index.html +0 -20
  325. package/dist/apps/chat-ui/manifest.webmanifest +0 -25
  326. package/dist/apps/chat-ui/sw.js +0 -47
  327. package/dist/apps/chat-vscode-web/assets/index-B5QK07zO.css +0 -2
  328. package/dist/apps/chat-vscode-web/assets/index-BAMxIaI_.js +0 -41
  329. package/dist/apps/chat-vscode-web/index.html +0 -14
  330. package/dist/apps/cli-ui/InkSessionApp.js +0 -1218
  331. package/dist/apps/cli-ui/InkTerminalLine.js +0 -53
  332. package/dist/apps/cli-ui/InkTerminalRow.js +0 -304
  333. package/dist/apps/cli-ui/InkTerminalView.js +0 -25
  334. package/dist/apps/cli-ui/cliSessionsCommand.js +0 -232
  335. package/dist/apps/cli-ui/index.js +0 -8
  336. package/dist/apps/cli-ui/inkColors.js +0 -67
  337. package/dist/apps/cli-ui/inkJson.js +0 -244
  338. package/dist/apps/cli-ui/inkMarkdown.js +0 -127
  339. package/dist/apps/cli-ui/inkSyntaxHighlighter.js +0 -166
  340. package/dist/apps/context-files-ui/assets/apl-14BqhLYK.js +0 -1
  341. package/dist/apps/context-files-ui/assets/asciiarmor-WLvjqI7d.js +0 -1
  342. package/dist/apps/context-files-ui/assets/asn1-Bg4FbdCg.js +0 -1
  343. package/dist/apps/context-files-ui/assets/asterisk-B2MO-X4d.js +0 -1
  344. package/dist/apps/context-files-ui/assets/brainfuck-CV9kufud.js +0 -1
  345. package/dist/apps/context-files-ui/assets/clike-CjmcUpt6.js +0 -1
  346. package/dist/apps/context-files-ui/assets/clojure-De3QGfx6.js +0 -1
  347. package/dist/apps/context-files-ui/assets/cmake-i2VDNaRq.js +0 -1
  348. package/dist/apps/context-files-ui/assets/cobol-BwO6DF08.js +0 -1
  349. package/dist/apps/context-files-ui/assets/coffeescript-BtivDvRz.js +0 -1
  350. package/dist/apps/context-files-ui/assets/commonlisp-DFkEQdLP.js +0 -1
  351. package/dist/apps/context-files-ui/assets/crystal-CU0NkcVL.js +0 -1
  352. package/dist/apps/context-files-ui/assets/css-CbMZAQ1W.js +0 -1
  353. package/dist/apps/context-files-ui/assets/cypher-Dke5QOzv.js +0 -1
  354. package/dist/apps/context-files-ui/assets/d-TPqSVaHM.js +0 -1
  355. package/dist/apps/context-files-ui/assets/diff-B365LSoZ.js +0 -1
  356. package/dist/apps/context-files-ui/assets/dist-B5PTVnox.js +0 -1
  357. package/dist/apps/context-files-ui/assets/dist-B5ZAfwf5.js +0 -1
  358. package/dist/apps/context-files-ui/assets/dist-BOiGdrG-.js +0 -1
  359. package/dist/apps/context-files-ui/assets/dist-BkUONE3N.js +0 -1
  360. package/dist/apps/context-files-ui/assets/dist-D1KyNDg5.js +0 -13
  361. package/dist/apps/context-files-ui/assets/dist-DK01b7x4.js +0 -1
  362. package/dist/apps/context-files-ui/assets/dist-DKoyMSNr.js +0 -1
  363. package/dist/apps/context-files-ui/assets/dist-DLMjd26T.js +0 -1
  364. package/dist/apps/context-files-ui/assets/dist-DPG9jOQ-.js +0 -1
  365. package/dist/apps/context-files-ui/assets/dist-DotDq_kD.js +0 -1
  366. package/dist/apps/context-files-ui/assets/dist-Dp5AH00p.js +0 -1
  367. package/dist/apps/context-files-ui/assets/dist-DqYw0LH7.js +0 -2
  368. package/dist/apps/context-files-ui/assets/dist-QQuDy4KA.js +0 -1
  369. package/dist/apps/context-files-ui/assets/dist-TF5iO5ML.js +0 -9
  370. package/dist/apps/context-files-ui/assets/dist-TbjAhles.js +0 -1
  371. package/dist/apps/context-files-ui/assets/dist-ZsBbt0uY.js +0 -1
  372. package/dist/apps/context-files-ui/assets/dist-kmsvtHkH.js +0 -1
  373. package/dist/apps/context-files-ui/assets/dist-vnd7PMu3.js +0 -11
  374. package/dist/apps/context-files-ui/assets/dockerfile-CJb2sekW.js +0 -1
  375. package/dist/apps/context-files-ui/assets/dtd-CBMymJ7O.js +0 -1
  376. package/dist/apps/context-files-ui/assets/dylan-08Azy1NK.js +0 -1
  377. package/dist/apps/context-files-ui/assets/ebnf-Dkum_1J8.js +0 -1
  378. package/dist/apps/context-files-ui/assets/ecl-dhxjHL8y.js +0 -1
  379. package/dist/apps/context-files-ui/assets/eiffel-C446m6dI.js +0 -1
  380. package/dist/apps/context-files-ui/assets/elm-po1E9de0.js +0 -1
  381. package/dist/apps/context-files-ui/assets/erlang-BD5LkVkR.js +0 -1
  382. package/dist/apps/context-files-ui/assets/factor-B2EMQZkP.js +0 -1
  383. package/dist/apps/context-files-ui/assets/fcl-DkEOamHd.js +0 -1
  384. package/dist/apps/context-files-ui/assets/forth-dCg2_HVB.js +0 -1
  385. package/dist/apps/context-files-ui/assets/fortran-3ZpXLFh1.js +0 -1
  386. package/dist/apps/context-files-ui/assets/gas-DMmxLZRI.js +0 -1
  387. package/dist/apps/context-files-ui/assets/gherkin-DUSFg2R6.js +0 -1
  388. package/dist/apps/context-files-ui/assets/groovy-Cmduloe1.js +0 -1
  389. package/dist/apps/context-files-ui/assets/haskell-Cyr255R9.js +0 -1
  390. package/dist/apps/context-files-ui/assets/haxe-BJVKtprM.js +0 -1
  391. package/dist/apps/context-files-ui/assets/http-DszHFpc-.js +0 -1
  392. package/dist/apps/context-files-ui/assets/idl-Cati9Nrv.js +0 -1
  393. package/dist/apps/context-files-ui/assets/index-B92tL3Pp.css +0 -1
  394. package/dist/apps/context-files-ui/assets/index-BhAWD3dv.js +0 -202
  395. package/dist/apps/context-files-ui/assets/javascript-C5pDVaoP.js +0 -1
  396. package/dist/apps/context-files-ui/assets/julia-DlqY1cTU.js +0 -1
  397. package/dist/apps/context-files-ui/assets/livescript-C6p8-2W1.js +0 -1
  398. package/dist/apps/context-files-ui/assets/lua-BxuTHaF7.js +0 -1
  399. package/dist/apps/context-files-ui/assets/mathematica-nDHZUMJT.js +0 -1
  400. package/dist/apps/context-files-ui/assets/mbox-DAaR0Hcz.js +0 -1
  401. package/dist/apps/context-files-ui/assets/mirc-CCA0FRfl.js +0 -1
  402. package/dist/apps/context-files-ui/assets/mllike-Cw3Iccsb.js +0 -1
  403. package/dist/apps/context-files-ui/assets/modelica-Czx80fNR.js +0 -1
  404. package/dist/apps/context-files-ui/assets/mscgen-BmfuTbzG.js +0 -1
  405. package/dist/apps/context-files-ui/assets/mumps-Ds_ZaumL.js +0 -1
  406. package/dist/apps/context-files-ui/assets/nginx-D9M2PQ4U.js +0 -1
  407. package/dist/apps/context-files-ui/assets/nsis-DOo3SJmd.js +0 -1
  408. package/dist/apps/context-files-ui/assets/ntriples-DLHGTvHs.js +0 -1
  409. package/dist/apps/context-files-ui/assets/octave-8jj96JiC.js +0 -1
  410. package/dist/apps/context-files-ui/assets/oz-BmMq7iC4.js +0 -1
  411. package/dist/apps/context-files-ui/assets/pascal-BgMr6XpT.js +0 -1
  412. package/dist/apps/context-files-ui/assets/perl-D6YJObi_.js +0 -1
  413. package/dist/apps/context-files-ui/assets/pig-nx7uchs8.js +0 -1
  414. package/dist/apps/context-files-ui/assets/powershell-B4IPkVxR.js +0 -1
  415. package/dist/apps/context-files-ui/assets/properties-CoavQdLC.js +0 -1
  416. package/dist/apps/context-files-ui/assets/protobuf-D5EWhcmc.js +0 -1
  417. package/dist/apps/context-files-ui/assets/pug-QU72BPAa.js +0 -1
  418. package/dist/apps/context-files-ui/assets/puppet-B_0GFuyD.js +0 -1
  419. package/dist/apps/context-files-ui/assets/python-Cs7sNzy_.js +0 -1
  420. package/dist/apps/context-files-ui/assets/q-BIB9pPtI.js +0 -1
  421. package/dist/apps/context-files-ui/assets/r-CN5s4f3o.js +0 -1
  422. package/dist/apps/context-files-ui/assets/rpm-Ct_Ck8mQ.js +0 -1
  423. package/dist/apps/context-files-ui/assets/ruby-BVPradRk.js +0 -1
  424. package/dist/apps/context-files-ui/assets/sas-DN4j74IF.js +0 -1
  425. package/dist/apps/context-files-ui/assets/scheme-CvNgHAnh.js +0 -1
  426. package/dist/apps/context-files-ui/assets/shell-BjiMLAaM.js +0 -1
  427. package/dist/apps/context-files-ui/assets/sieve-C2U1O5Z4.js +0 -1
  428. package/dist/apps/context-files-ui/assets/simple-mode-DnMbQuKW.js +0 -1
  429. package/dist/apps/context-files-ui/assets/smalltalk-DkYwYufV.js +0 -1
  430. package/dist/apps/context-files-ui/assets/solr-BopnSD-v.js +0 -1
  431. package/dist/apps/context-files-ui/assets/sparql-Cpg3YQfd.js +0 -1
  432. package/dist/apps/context-files-ui/assets/spreadsheet-kRxtVt9J.js +0 -1
  433. package/dist/apps/context-files-ui/assets/sql-DYI2GwJR.js +0 -1
  434. package/dist/apps/context-files-ui/assets/stex-BCRT8IJ3.js +0 -1
  435. package/dist/apps/context-files-ui/assets/stylus-CARoeVE9.js +0 -1
  436. package/dist/apps/context-files-ui/assets/swift-DKNaLAK6.js +0 -1
  437. package/dist/apps/context-files-ui/assets/tcl-CQyXkgMH.js +0 -1
  438. package/dist/apps/context-files-ui/assets/textile-Yg_UWn-t.js +0 -1
  439. package/dist/apps/context-files-ui/assets/tiddlywiki-dqVbkfX4.js +0 -1
  440. package/dist/apps/context-files-ui/assets/tiki-CC_ic8g0.js +0 -1
  441. package/dist/apps/context-files-ui/assets/toml-B7gGzVkJ.js +0 -1
  442. package/dist/apps/context-files-ui/assets/troff-Bq3z6oAu.js +0 -1
  443. package/dist/apps/context-files-ui/assets/ttcn-GvRgs2AT.js +0 -1
  444. package/dist/apps/context-files-ui/assets/ttcn-cfg-CGCXz7Vo.js +0 -1
  445. package/dist/apps/context-files-ui/assets/turtle-CwIpz2yy.js +0 -1
  446. package/dist/apps/context-files-ui/assets/vb-BmcHUM2C.js +0 -1
  447. package/dist/apps/context-files-ui/assets/vbscript-Cs9dylre.js +0 -1
  448. package/dist/apps/context-files-ui/assets/velocity-CBWU0VCy.js +0 -1
  449. package/dist/apps/context-files-ui/assets/verilog-DVCHmufx.js +0 -1
  450. package/dist/apps/context-files-ui/assets/vhdl-BGDk4f1d.js +0 -1
  451. package/dist/apps/context-files-ui/assets/webidl-egXQEWlC.js +0 -1
  452. package/dist/apps/context-files-ui/assets/xquery-5f0hn7cg.js +0 -1
  453. package/dist/apps/context-files-ui/assets/yacas-DNs9XkmQ.js +0 -1
  454. package/dist/apps/context-files-ui/assets/z80-B7Dfb4UO.js +0 -1
  455. package/dist/apps/context-files-ui/index.html +0 -14
  456. package/dist/auth/better-auth.js +0 -130
  457. package/dist/auth/login-actions.js +0 -251
  458. package/dist/auth/openai-codex-usage.js +0 -147
  459. package/dist/auth/types.js +0 -14
  460. package/dist/bin/pibo.js +0 -3
  461. package/dist/bin/rg.js +0 -15
  462. package/dist/channels/types.js +0 -1
  463. package/dist/cli-errors.js +0 -18
  464. package/dist/cli-session/fakeSessionSource.js +0 -804
  465. package/dist/cli-session/index.js +0 -3
  466. package/dist/cli-session/localSessionSource.js +0 -1144
  467. package/dist/cli-session/sessionSource.js +0 -13
  468. package/dist/cli.js +0 -491
  469. package/dist/compute/cli.js +0 -415
  470. package/dist/compute/docker.js +0 -835
  471. package/dist/compute/resource-health.js +0 -334
  472. package/dist/compute/resource-policy.js +0 -98
  473. package/dist/config/config.js +0 -180
  474. package/dist/core/base-prompt.js +0 -104
  475. package/dist/core/codex-compat.js +0 -44
  476. package/dist/core/compaction-prompt.js +0 -293
  477. package/dist/core/context-build.js +0 -711
  478. package/dist/core/context-guard.js +0 -293
  479. package/dist/core/events.js +0 -1
  480. package/dist/core/gateway-resource-guard.js +0 -215
  481. package/dist/core/model-defaults.js +0 -95
  482. package/dist/core/pibo-home.js +0 -8
  483. package/dist/core/profiles.js +0 -210
  484. package/dist/core/provider-recovery.js +0 -64
  485. package/dist/core/provider-telemetry.js +0 -353
  486. package/dist/core/routed-session.js +0 -1179
  487. package/dist/core/runtime-telemetry.js +0 -1059
  488. package/dist/core/runtime.js +0 -529
  489. package/dist/core/session-errors.js +0 -76
  490. package/dist/core/session-model.js +0 -39
  491. package/dist/core/session-router.js +0 -850
  492. package/dist/core/skill-expansion.js +0 -43
  493. package/dist/core/system-prompt-template.js +0 -56
  494. package/dist/core/telemetry-retention-settings.js +0 -34
  495. package/dist/core/telemetry-staleness.js +0 -128
  496. package/dist/core/test-output-compaction.js +0 -145
  497. package/dist/core/thinking.js +0 -9
  498. package/dist/core/user-settings.js +0 -84
  499. package/dist/core/workspace.js +0 -5
  500. package/dist/core/wsl.js +0 -100
  501. package/dist/cron/channel.js +0 -28
  502. package/dist/cron/cli.js +0 -230
  503. package/dist/cron/plugin.js +0 -11
  504. package/dist/cron/schedule.js +0 -214
  505. package/dist/cron/service.js +0 -177
  506. package/dist/cron/store.js +0 -349
  507. package/dist/cron/types.js +0 -1
  508. package/dist/data/cli.js +0 -184
  509. package/dist/data/event-log.js +0 -106
  510. package/dist/data/ingest-service.js +0 -389
  511. package/dist/data/message-store.js +0 -62
  512. package/dist/data/navigation-store.js +0 -75
  513. package/dist/data/observation-store.js +0 -46
  514. package/dist/data/payload-store.js +0 -153
  515. package/dist/data/pibo-store.js +0 -59
  516. package/dist/data/schema.js +0 -436
  517. package/dist/data/session-store.js +0 -63
  518. package/dist/data/sqlite-schema.js +0 -12
  519. package/dist/data/telemetry-preview.js +0 -65
  520. package/dist/data/telemetry-queries.js +0 -212
  521. package/dist/data/telemetry-retention.js +0 -50
  522. package/dist/data/telemetry-rows.js +0 -158
  523. package/dist/data/telemetry-writer.js +0 -114
  524. package/dist/data/telemetry.js +0 -471
  525. package/dist/debug/delta-compaction.js +0 -99
  526. package/dist/debug/detail-format.js +0 -86
  527. package/dist/debug/events.js +0 -212
  528. package/dist/debug/failures.js +0 -162
  529. package/dist/debug/index.js +0 -1296
  530. package/dist/debug/messages.js +0 -185
  531. package/dist/debug/next-commands.js +0 -6
  532. package/dist/debug/payloads.js +0 -123
  533. package/dist/debug/pty.js +0 -924
  534. package/dist/debug/session.js +0 -230
  535. package/dist/debug/sql.js +0 -238
  536. package/dist/debug/stores.js +0 -54
  537. package/dist/debug/summary.js +0 -72
  538. package/dist/debug/telemetry.js +0 -649
  539. package/dist/debug/tools.js +0 -168
  540. package/dist/debug/trace-render-check.js +0 -151
  541. package/dist/debug/trace.js +0 -370
  542. package/dist/debug/web-artifacts.js +0 -63
  543. package/dist/debug/web-options.js +0 -313
  544. package/dist/debug/web-render-analysis.js +0 -310
  545. package/dist/debug/web-snapshot-browser-scripts.js +0 -303
  546. package/dist/debug/web-streaming-benchmark-analysis.js +0 -605
  547. package/dist/debug/web-streaming-browser-library.js +0 -928
  548. package/dist/debug/web-streaming-browser-scripts.js +0 -242
  549. package/dist/debug/web-streaming-provider-telemetry.js +0 -194
  550. package/dist/debug/web-streaming-report.js +0 -493
  551. package/dist/debug/web-streaming-types.js +0 -1
  552. package/dist/debug/web.js +0 -574
  553. package/dist/gateway/backup.js +0 -83
  554. package/dist/gateway/cli.js +0 -632
  555. package/dist/gateway/client.js +0 -200
  556. package/dist/gateway/fallback.js +0 -155
  557. package/dist/gateway/pidfile.js +0 -130
  558. package/dist/gateway/protocol.js +0 -62
  559. package/dist/gateway/request.js +0 -155
  560. package/dist/gateway/server.js +0 -397
  561. package/dist/gateway/tool.js +0 -72
  562. package/dist/gateway/web.js +0 -224
  563. package/dist/index.js +0 -25
  564. package/dist/local/client.js +0 -77
  565. package/dist/local/extension.js +0 -551
  566. package/dist/local/tui.js +0 -25
  567. package/dist/mcp/agent-context.js +0 -127
  568. package/dist/mcp/client.js +0 -332
  569. package/dist/mcp/commands/call.js +0 -146
  570. package/dist/mcp/commands/grep.js +0 -145
  571. package/dist/mcp/commands/info.js +0 -83
  572. package/dist/mcp/commands/list.js +0 -94
  573. package/dist/mcp/config-command.js +0 -217
  574. package/dist/mcp/config.js +0 -473
  575. package/dist/mcp/daemon-client.js +0 -266
  576. package/dist/mcp/daemon.js +0 -327
  577. package/dist/mcp/errors.js +0 -287
  578. package/dist/mcp/index.js +0 -431
  579. package/dist/mcp/output.js +0 -226
  580. package/dist/mcp/python-runtime.js +0 -131
  581. package/dist/mcp/registry.js +0 -116
  582. package/dist/mcp/version.js +0 -5
  583. package/dist/pi-packages/cli.js +0 -92
  584. package/dist/pi-packages/installer.js +0 -70
  585. package/dist/pi-packages/metadata.js +0 -231
  586. package/dist/pi-packages/runtime.js +0 -61
  587. package/dist/pi-packages/store.js +0 -175
  588. package/dist/pi-packages/types.js +0 -1
  589. package/dist/plugins/better-auth.js +0 -11
  590. package/dist/plugins/builtin.js +0 -478
  591. package/dist/plugins/chat-custom-agents.js +0 -20
  592. package/dist/plugins/chat-user-skills.js +0 -41
  593. package/dist/plugins/chat-vscode-web.js +0 -28
  594. package/dist/plugins/chat-web.js +0 -11
  595. package/dist/plugins/codex-compat.js +0 -33
  596. package/dist/plugins/context-files-store.js +0 -354
  597. package/dist/plugins/context-files.js +0 -1081
  598. package/dist/plugins/dev-auth.js +0 -202
  599. package/dist/plugins/native-tooling.js +0 -15
  600. package/dist/plugins/registry.js +0 -436
  601. package/dist/plugins/types.js +0 -1
  602. package/dist/plugins/web-annotations.js +0 -27
  603. package/dist/plugins/web.js +0 -11
  604. package/dist/providers/glm.js +0 -59
  605. package/dist/providers/minimax.js +0 -70
  606. package/dist/providers/openai-compat.js +0 -48
  607. package/dist/providers/openai-gpt56.js +0 -153
  608. package/dist/ralph/channel.js +0 -8
  609. package/dist/ralph/cli.js +0 -197
  610. package/dist/ralph/plugin.js +0 -14
  611. package/dist/ralph/service.js +0 -317
  612. package/dist/ralph/stopping.js +0 -151
  613. package/dist/ralph/store.js +0 -450
  614. package/dist/ralph/templates.js +0 -200
  615. package/dist/ralph/types.js +0 -1
  616. package/dist/reliability/store.js +0 -775
  617. package/dist/resources/cli.js +0 -135
  618. package/dist/resources/lifecycle.js +0 -353
  619. package/dist/resources/reaper-state.js +0 -94
  620. package/dist/resources/reaper.js +0 -145
  621. package/dist/runs/registry.js +0 -360
  622. package/dist/runs/tools.js +0 -185
  623. package/dist/session-ui/commandCatalog.js +0 -193
  624. package/dist/session-ui/commandResults.js +0 -95
  625. package/dist/session-ui/delegation.js +0 -89
  626. package/dist/session-ui/index.js +0 -8
  627. package/dist/session-ui/roomSessionViewModel.js +0 -69
  628. package/dist/session-ui/sessionActivity.js +0 -30
  629. package/dist/session-ui/statusViewModel.js +0 -127
  630. package/dist/session-ui/terminalCards.js +0 -210
  631. package/dist/session-ui/terminalRows.js +0 -1163
  632. package/dist/session-ui/terminalValue.js +0 -45
  633. package/dist/sessions/pibo-data-store.js +0 -178
  634. package/dist/sessions/sqlite-store.js +0 -220
  635. package/dist/sessions/store.js +0 -132
  636. package/dist/sessions/workflow-session-kind.js +0 -20
  637. package/dist/setup/cli.js +0 -619
  638. package/dist/shared/trace-async-agent-runs.js +0 -127
  639. package/dist/shared/trace-engine.js +0 -97
  640. package/dist/shared/trace-event-projection.js +0 -789
  641. package/dist/shared/trace-live-reducer.js +0 -191
  642. package/dist/shared/trace-nodes.js +0 -88
  643. package/dist/shared/trace-order.js +0 -84
  644. package/dist/shared/trace-page-merge.js +0 -40
  645. package/dist/shared/trace-patch-nodes.js +0 -83
  646. package/dist/shared/trace-run-notifications.js +0 -69
  647. package/dist/shared/trace-subagent-links.js +0 -46
  648. package/dist/shared/trace-transcript.js +0 -371
  649. package/dist/shared/trace-types.js +0 -1
  650. package/dist/signals/aggregate.js +0 -65
  651. package/dist/signals/events.js +0 -1
  652. package/dist/signals/projector.js +0 -205
  653. package/dist/signals/registry.js +0 -554
  654. package/dist/signals/store.js +0 -1
  655. package/dist/signals/types.js +0 -1
  656. package/dist/skills/cli.js +0 -151
  657. package/dist/subagents/tool.js +0 -63
  658. package/dist/tools/agent-browser-leases.js +0 -219
  659. package/dist/tools/agent-browser-wrapper.js +0 -99
  660. package/dist/tools/browser-pool.js +0 -623
  661. package/dist/tools/browser-use-cdp.js +0 -259
  662. package/dist/tools/browser-use-leases.js +0 -516
  663. package/dist/tools/browser-use-wrapper.js +0 -781
  664. package/dist/tools/cdp-client.js +0 -189
  665. package/dist/tools/codex-compat.js +0 -85
  666. package/dist/tools/codex-image-generation.js +0 -272
  667. package/dist/tools/desktop-env.js +0 -99
  668. package/dist/tools/guides.js +0 -563
  669. package/dist/tools/index.js +0 -1020
  670. package/dist/tools/linux-virtual-display.js +0 -58
  671. package/dist/tools/npm-runtime.js +0 -136
  672. package/dist/tools/python-runtime.js +0 -183
  673. package/dist/tools/registry.js +0 -237
  674. package/dist/tools/runtime/index.js +0 -3
  675. package/dist/tools/runtime/node-backend.js +0 -225
  676. package/dist/tools/runtime/node-worker-source.js +0 -206
  677. package/dist/tools/runtime/python-backend.js +0 -227
  678. package/dist/tools/runtime/python-worker-source.js +0 -178
  679. package/dist/tools/runtime/registry.js +0 -255
  680. package/dist/tools/runtime/tool.js +0 -168
  681. package/dist/tools/runtime/types.js +0 -1
  682. package/dist/tools/web-search.js +0 -138
  683. package/dist/user-skills/installer.js +0 -214
  684. package/dist/user-skills/manager.js +0 -133
  685. package/dist/user-skills/store.js +0 -267
  686. package/dist/user-skills/types.js +0 -1
  687. package/dist/vscode/cli.js +0 -90
  688. package/dist/vscode/code-cli.js +0 -119
  689. package/dist/vscode/install.js +0 -177
  690. package/dist/vscode/status.js +0 -80
  691. package/dist/vscode/types.js +0 -14
  692. package/dist/vscode/uninstall.js +0 -49
  693. package/dist/vscode/vsix-fetcher.js +0 -131
  694. package/dist/web/auth.js +0 -14
  695. package/dist/web/channel.js +0 -288
  696. package/dist/web/http.js +0 -195
  697. package/dist/web/types.js +0 -1
  698. package/dist/web-annotations/api.js +0 -348
  699. package/dist/web-annotations/attachments.js +0 -201
  700. package/dist/web-annotations/cdp.js +0 -1107
  701. package/dist/web-annotations/index.js +0 -7
  702. package/dist/web-annotations/store.js +0 -407
  703. package/dist/web-annotations/tools.js +0 -350
  704. package/dist/web-annotations/types.js +0 -34
  705. package/dist/web-annotations/validation.js +0 -288
@@ -1,850 +0,0 @@
1
- import { randomUUID } from "node:crypto";
2
- import { InitialSessionContext, } from "./profiles.js";
3
- import { createDefaultPiboPluginRegistry, createPiboProfileFromRegistryOrDefault, resolvePiboProfileNameFromRegistryOrDefault, selectDefaultPiboProfileName } from "../plugins/builtin.js";
4
- import { createPiboRuntime } from "./runtime.js";
5
- import { RoutedSession } from "./routed-session.js";
6
- import { runtimeSessionErrorDetails } from "./session-errors.js";
7
- import { createSubagentToolName } from "../subagents/tool.js";
8
- import { PiboRunRegistry } from "../runs/registry.js";
9
- import { createPiboSignalRegistry } from "../signals/registry.js";
10
- import { createDefaultPiboReliabilityStore } from "../reliability/store.js";
11
- import { InMemoryPiboSessionStore, } from "../sessions/store.js";
12
- import { getDefaultPiboWorkspace } from "./workspace.js";
13
- import { loadPiboModelDefaults, selectRequestedFastMode } from "./model-defaults.js";
14
- import { loadPiboUserSettings } from "./user-settings.js";
15
- import { resolvePiboSessionActiveModel } from "./session-model.js";
16
- import { isPiboThinkingLevel } from "./thinking.js";
17
- import { RuntimeSessionRegistry } from "../tools/runtime/registry.js";
18
- import { assertGatewayResourceAvailableForWork } from "./gateway-resource-guard.js";
19
- import { withWorkflowSessionKind } from "../sessions/workflow-session-kind.js";
20
- import { PiboRuntimeTelemetryRecorder } from "./runtime-telemetry.js";
21
- import { createPiboProviderTelemetryExtension } from "./provider-telemetry.js";
22
- import { AsyncTelemetryWriter } from "../data/telemetry-writer.js";
23
- const DEFAULT_SUBAGENT_REPLY_TIMEOUT_MS = 10 * 60 * 1000;
24
- const DEFAULT_ROUTED_SESSION_IDLE_TIMEOUT_MS = 30 * 60 * 1000;
25
- export const RALPH_RUNTIME_RETRY_DEFAULTS = {
26
- enabled: true,
27
- maxRetries: 7,
28
- baseDelayMs: 2_000,
29
- };
30
- export function resolvePiboSessionRetryDefaults(kind, configured) {
31
- return configured ?? (kind === "ralph" ? RALPH_RUNTIME_RETRY_DEFAULTS : undefined);
32
- }
33
- export function resolvePiboSessionInitialThinkingLevel(session) {
34
- const value = session.metadata?.initialThinkingLevel;
35
- return typeof value === "string" && isPiboThinkingLevel(value) ? value : undefined;
36
- }
37
- export function resolvePiboSessionInitialFastMode(session) {
38
- const value = session.metadata?.initialFastMode;
39
- return typeof value === "boolean" ? value : undefined;
40
- }
41
- function profileForSession(baseProfile, piSessionId, parentPiSessionId) {
42
- const options = {
43
- profileName: baseProfile.profileName,
44
- sessionId: piSessionId,
45
- parentSessionId: parentPiSessionId,
46
- model: baseProfile.model,
47
- mainModel: baseProfile.mainModel,
48
- subagentModel: baseProfile.subagentModel,
49
- thinkingLevel: baseProfile.thinkingLevel,
50
- mainThinkingLevel: baseProfile.mainThinkingLevel,
51
- subagentThinkingLevel: baseProfile.subagentThinkingLevel,
52
- fast: baseProfile.fast,
53
- mainFast: baseProfile.mainFast,
54
- subagentFast: baseProfile.subagentFast,
55
- skills: baseProfile.skills,
56
- tools: baseProfile.tools,
57
- subagents: baseProfile.subagents,
58
- mcpServers: baseProfile.mcpServers,
59
- contextFiles: baseProfile.contextFiles,
60
- piPackages: baseProfile.piPackages,
61
- builtinTools: baseProfile.builtinTools,
62
- builtinToolNames: baseProfile.builtinToolNames,
63
- autoContextFiles: baseProfile.autoContextFiles,
64
- toolPackages: baseProfile.toolPackages,
65
- };
66
- return new InitialSessionContext(options);
67
- }
68
- function formatRunReminderMessage(notification) {
69
- return [
70
- "<pibo_run_notification>",
71
- JSON.stringify({
72
- completed: notification.completed.map((run) => ({
73
- runId: run.runId,
74
- kind: run.kind,
75
- status: run.status,
76
- toolName: run.toolName,
77
- summary: run.summary,
78
- })),
79
- failed: notification.failed.map((run) => ({
80
- runId: run.runId,
81
- kind: run.kind,
82
- status: run.status,
83
- toolName: run.toolName,
84
- summary: run.summary,
85
- })),
86
- cancelled: notification.cancelled.map((run) => ({
87
- runId: run.runId,
88
- kind: run.kind,
89
- status: run.status,
90
- toolName: run.toolName,
91
- summary: run.summary,
92
- })),
93
- running: notification.running.map((run) => ({
94
- runId: run.runId,
95
- kind: run.kind,
96
- status: run.status,
97
- toolName: run.toolName,
98
- summary: run.summary,
99
- })),
100
- instruction: "Use pibo_run_read for completed or failed runs. Use pibo_run_wait, pibo_run_status, pibo_run_cancel, or pibo_run_ack for runs you still need to manage.",
101
- }),
102
- "</pibo_run_notification>",
103
- ].join("\n");
104
- }
105
- function isRunReminderServiceMessage(event) {
106
- return event.source === "service" && event.text.startsWith("<pibo_run_notification>");
107
- }
108
- function isTerminalRunStatus(status) {
109
- return status === "completed" || status === "failed" || status === "cancelled";
110
- }
111
- function asJsonObject(value) {
112
- return value ?? {};
113
- }
114
- function shouldResetSessionAfterAction(action) {
115
- return action === "login.complete" || action === "login.apikey" || action === "logout";
116
- }
117
- function piboRoomIdFromMetadata(metadata) {
118
- const value = metadata?.chatRoomId;
119
- return typeof value === "string" && value.length > 0 ? value : undefined;
120
- }
121
- function telemetryStoreFromSessionStore(store) {
122
- return store.getTelemetryStore?.();
123
- }
124
- function providerEventTelemetryModeFromEnv(env = process.env) {
125
- const value = env.PIBO_TELEMETRY_PROVIDER_EVENTS?.trim().toLowerCase();
126
- return value === "1" || value === "true" || value === "detailed" ? "detailed" : "aggregate";
127
- }
128
- export class PiboSessionRouter {
129
- options;
130
- sessions = new Map();
131
- pendingSessions = new Map();
132
- listeners = new Set();
133
- runRegistry;
134
- signalRegistry;
135
- runtimeRegistry;
136
- scheduledRunReminders = new Map();
137
- idleSessionTimers = new Map();
138
- routedSessionIdleTimeoutMs;
139
- baseProfile;
140
- pluginRegistry;
141
- sessionStore;
142
- reliabilityStore;
143
- telemetryStore;
144
- telemetryWriter;
145
- telemetryRecorder;
146
- disposePromise;
147
- closing = false;
148
- constructor(options = {}) {
149
- this.options = options;
150
- this.pluginRegistry = options.pluginRegistry ?? createDefaultPiboPluginRegistry();
151
- this.sessionStore = options.sessionStore ?? new InMemoryPiboSessionStore();
152
- this.telemetryStore = options.telemetryStore ?? telemetryStoreFromSessionStore(this.sessionStore);
153
- this.telemetryWriter = this.telemetryStore ? new AsyncTelemetryWriter(this.telemetryStore) : undefined;
154
- this.telemetryRecorder = this.telemetryStore
155
- ? new PiboRuntimeTelemetryRecorder(this.telemetryStore, undefined, {
156
- providerEventMode: providerEventTelemetryModeFromEnv(),
157
- writer: this.telemetryWriter,
158
- })
159
- : undefined;
160
- const idleTimeoutMs = options.routedSessionIdleTimeoutMs;
161
- this.routedSessionIdleTimeoutMs = idleTimeoutMs === false
162
- ? false
163
- : typeof idleTimeoutMs === "number" && Number.isFinite(idleTimeoutMs) && idleTimeoutMs > 0
164
- ? idleTimeoutMs
165
- : DEFAULT_ROUTED_SESSION_IDLE_TIMEOUT_MS;
166
- const defaultProfileName = selectDefaultPiboProfileName(this.pluginRegistry);
167
- this.baseProfile = options.profile ?? createPiboProfileFromRegistryOrDefault(this.pluginRegistry, defaultProfileName);
168
- this.reliabilityStore = options.reliabilityStore ?? (options.persistSession === false ? undefined : createDefaultPiboReliabilityStore());
169
- this.signalRegistry = options.signalRegistry ?? createPiboSignalRegistry();
170
- this.runtimeRegistry = new RuntimeSessionRegistry({ cwd: options.cwd ?? getDefaultPiboWorkspace() });
171
- this.runRegistry = new PiboRunRegistry({ store: this.reliabilityStore });
172
- this.runRegistry.subscribe((event) => this.projectRunRegistryEvent(event));
173
- for (const run of this.runRegistry.listAll({ includeConsumed: true, includeDetached: true })) {
174
- this.signalRegistry.project({ type: "run_changed", run, reason: "recovered" });
175
- }
176
- }
177
- subscribe(listener) {
178
- this.listeners.add(listener);
179
- return () => {
180
- this.listeners.delete(listener);
181
- };
182
- }
183
- async emit(event) {
184
- if (this.closing)
185
- throw new Error("Pibo session router is disposed.");
186
- if (event.type === "message" && event.id) {
187
- const stored = this.sessionStore.get(event.piboSessionId);
188
- if (stored)
189
- this.signalRegistry.project({ type: "session_created", session: stored });
190
- this.signalRegistry.project({ type: "message_accepted", piboSessionId: event.piboSessionId, eventId: event.id, source: event.source });
191
- }
192
- let session;
193
- try {
194
- session = await this.getOrCreateSession(event.piboSessionId);
195
- }
196
- catch (error) {
197
- if (event.type === "message" && event.id) {
198
- this.signalRegistry.project({
199
- type: "pibo_output",
200
- event: {
201
- type: "session_error",
202
- piboSessionId: event.piboSessionId,
203
- eventId: event.id,
204
- error: error instanceof Error ? error.message : String(error),
205
- },
206
- });
207
- }
208
- throw error;
209
- }
210
- this.clearIdleSessionTimer(event.piboSessionId);
211
- try {
212
- if (event.type === "message") {
213
- return session.enqueueMessage(event);
214
- }
215
- if (event.action === "abort") {
216
- this.signalRegistry.project({ type: "session_interrupted", piboSessionId: event.piboSessionId, reason: "abort action" });
217
- }
218
- else if (event.action === "dispose" || event.action === "kill" || event.action === "kill_all") {
219
- this.signalRegistry.project({ type: "session_disposed", piboSessionId: event.piboSessionId, reason: `${event.action} action` });
220
- }
221
- const output = await session.executeAction(event);
222
- if (event.action === "dispose") {
223
- await this.disposeSessionSubtree(event.piboSessionId, "dispose action", { cancelRuns: true });
224
- }
225
- else if (event.action === "kill" || event.action === "kill_all") {
226
- await this.disposeSessionSubtree(event.piboSessionId, `${event.action} action`, { cancelRuns: event.action === "kill_all" });
227
- }
228
- else if (shouldResetSessionAfterAction(event.action)) {
229
- await this.resetCachedSession(event.piboSessionId, "provider auth changed");
230
- }
231
- return output;
232
- }
233
- finally {
234
- this.scheduleIdleSessionEvictionIfIdle(event.piboSessionId);
235
- }
236
- }
237
- async killSession(piboSessionId, options) {
238
- const killed = [];
239
- const cancelledRuns = [];
240
- const session = this.sessions.get(piboSessionId);
241
- if (session) {
242
- this.signalRegistry.project({ type: "session_disposed", piboSessionId, reason: "kill" });
243
- killed.push(await session.kill());
244
- if (options?.includeRuns) {
245
- const runs = this.runRegistry.cancelControllerRuns(piboSessionId);
246
- cancelledRuns.push(...runs.map((r) => r.runId));
247
- }
248
- const children = await this.killChildSessions(piboSessionId, options);
249
- killed.push(...children.killed);
250
- cancelledRuns.push(...children.cancelledRuns);
251
- await this.disposeSessionSubtree(piboSessionId, "kill", { cancelRuns: false });
252
- }
253
- return { killed, cancelledRuns };
254
- }
255
- async disposeSessionSubtree(piboSessionId, reason, options) {
256
- const ids = [piboSessionId, ...this.descendantSessionIds(piboSessionId)];
257
- const sessions = [];
258
- for (const id of ids) {
259
- if (options.cancelRuns)
260
- this.runRegistry.cancelControllerRuns(id);
261
- this.clearIdleSessionTimer(id);
262
- this.scheduledRunReminders.delete(id);
263
- const cached = this.sessions.get(id);
264
- if (cached)
265
- sessions.push(cached);
266
- this.sessions.delete(id);
267
- }
268
- try {
269
- await Promise.all(ids.map((id) => this.runtimeRegistry.closeControllerSessions(id, { force: true })));
270
- await Promise.all(sessions.map((session) => session.dispose()));
271
- }
272
- finally {
273
- await this.telemetryWriter?.flush();
274
- }
275
- for (const id of ids) {
276
- this.signalRegistry.project({ type: "session_disposed", piboSessionId: id, reason });
277
- }
278
- }
279
- descendantSessionIds(parentId) {
280
- const output = [];
281
- for (const session of this.sessionStore.list?.() ?? []) {
282
- if (session.parentId !== parentId)
283
- continue;
284
- output.push(session.id, ...this.descendantSessionIds(session.id));
285
- }
286
- return output;
287
- }
288
- async killChildSessions(parentId, options) {
289
- const killed = [];
290
- const cancelledRuns = [];
291
- const allSessions = this.sessionStore.list?.() ?? [];
292
- for (const session of allSessions) {
293
- if (session.parentId === parentId) {
294
- const childSession = this.sessions.get(session.id);
295
- if (childSession) {
296
- killed.push(await childSession.kill());
297
- }
298
- if (options?.includeRuns) {
299
- const runs = this.runRegistry.cancelControllerRuns(session.id);
300
- cancelledRuns.push(...runs.map((r) => r.runId));
301
- }
302
- const nested = await this.killChildSessions(session.id, options);
303
- killed.push(...nested.killed);
304
- cancelledRuns.push(...nested.cancelledRuns);
305
- }
306
- }
307
- return { killed, cancelledRuns };
308
- }
309
- getPiboSessionIds() {
310
- return [...this.sessions.keys()];
311
- }
312
- getSessionRuntimeStatus(piboSessionId) {
313
- return this.sessions.get(piboSessionId)?.getStatus();
314
- }
315
- async setLiveSessionActiveModel(piboSessionId, model) {
316
- const session = this.sessions.get(piboSessionId);
317
- if (!session)
318
- return model;
319
- const status = session.getStatus();
320
- if (status.processing || status.streaming || status.queuedMessages > 0) {
321
- throw new Error("Session model can only be changed while the runtime is idle.");
322
- }
323
- if (!model) {
324
- await this.resetCachedSession(piboSessionId);
325
- return undefined;
326
- }
327
- return session.setModel(model);
328
- }
329
- reportSessionError(piboSessionId, error, options = {}) {
330
- this.signalRegistry.project({ type: "session_created", session: this.resolvePiboSession(piboSessionId) });
331
- this.emitOutput({
332
- type: "session_error",
333
- piboSessionId,
334
- eventId: options.eventId,
335
- error,
336
- errorDetails: runtimeSessionErrorDetails(error),
337
- });
338
- }
339
- listSessionRuntimeStatuses() {
340
- return [...this.sessions.values()].map((session) => session.getStatus());
341
- }
342
- listRuns(options = {}) {
343
- return this.runRegistry.listAll(options);
344
- }
345
- getSignalRegistry() {
346
- return this.signalRegistry;
347
- }
348
- snapshotSignalSession(piboSessionId) {
349
- this.projectKnownSessionSignals();
350
- return this.signalRegistry.snapshotSession(piboSessionId);
351
- }
352
- snapshotSignalTree(rootPiboSessionId) {
353
- this.projectKnownSessionSignals();
354
- return this.signalRegistry.snapshotTree(rootPiboSessionId);
355
- }
356
- subscribeSignalTree(rootPiboSessionId, listener) {
357
- return this.signalRegistry.subscribe(rootPiboSessionId, listener);
358
- }
359
- async emitMessageAndWaitForReply(event, timeoutMs = 120000) {
360
- const eventWithId = { ...event, id: event.id ?? randomUUID() };
361
- return await new Promise((resolve, reject) => {
362
- let settled = false;
363
- let lastAssistantMessage;
364
- let timeout;
365
- const unsubscribe = this.subscribe((output) => {
366
- if (output.piboSessionId !== eventWithId.piboSessionId ||
367
- !("eventId" in output) ||
368
- output.eventId !== eventWithId.id) {
369
- return;
370
- }
371
- if (output.type === "assistant_message") {
372
- lastAssistantMessage = output;
373
- }
374
- else if (output.type === "message_finished") {
375
- finish(lastAssistantMessage ?? new Error(`Pibo session "${eventWithId.piboSessionId}" finished without an assistant reply`));
376
- }
377
- else if (output.type === "session_error") {
378
- finish(new Error(output.error));
379
- }
380
- });
381
- const finish = (result) => {
382
- if (settled)
383
- return;
384
- settled = true;
385
- if (timeout)
386
- clearTimeout(timeout);
387
- unsubscribe();
388
- if (result instanceof Error) {
389
- reject(result);
390
- }
391
- else {
392
- resolve(result);
393
- }
394
- };
395
- timeout = setTimeout(() => {
396
- if (settled)
397
- return;
398
- settled = true;
399
- unsubscribe();
400
- const timeoutError = new Error(`Timed out waiting for assistant reply from Pibo session "${eventWithId.piboSessionId}"`);
401
- reject(timeoutError);
402
- void this.emit({
403
- type: "execution",
404
- piboSessionId: eventWithId.piboSessionId,
405
- action: "abort",
406
- id: randomUUID(),
407
- }).catch(() => { });
408
- }, timeoutMs);
409
- this.emit(eventWithId).catch(finish);
410
- });
411
- }
412
- async disposeAll() {
413
- if (this.disposePromise)
414
- return this.disposePromise;
415
- this.closing = true;
416
- this.disposePromise = this.disposeAllUnsafe();
417
- return this.disposePromise;
418
- }
419
- async disposeAllUnsafe() {
420
- try {
421
- await Promise.allSettled([...this.pendingSessions.values()]);
422
- const sessions = [...this.sessions.values()];
423
- this.sessions.clear();
424
- for (const timer of this.idleSessionTimers.values())
425
- clearTimeout(timer);
426
- this.idleSessionTimers.clear();
427
- this.runRegistry.cancelAll("Pibo session router was disposed.");
428
- for (const session of sessions)
429
- this.signalRegistry.project({ type: "session_disposed", piboSessionId: session.getStatus().piboSessionId, reason: "router disposed" });
430
- this.scheduledRunReminders.clear();
431
- await this.runtimeRegistry.closeAll({ force: true });
432
- await Promise.all(sessions.map((session) => session.dispose()));
433
- }
434
- finally {
435
- await this.telemetryWriter?.dispose();
436
- }
437
- }
438
- clearIdleSessionTimer(piboSessionId) {
439
- const timer = this.idleSessionTimers.get(piboSessionId);
440
- if (timer)
441
- clearTimeout(timer);
442
- this.idleSessionTimers.delete(piboSessionId);
443
- }
444
- scheduleIdleSessionEvictionIfIdle(piboSessionId) {
445
- if (this.routedSessionIdleTimeoutMs === false)
446
- return;
447
- const session = this.sessions.get(piboSessionId);
448
- if (!session)
449
- return;
450
- const status = session.getStatus();
451
- if (status.disposed || status.processing || status.streaming || status.queuedMessages > 0) {
452
- this.clearIdleSessionTimer(piboSessionId);
453
- return;
454
- }
455
- this.clearIdleSessionTimer(piboSessionId);
456
- const timer = setTimeout(() => {
457
- this.idleSessionTimers.delete(piboSessionId);
458
- void this.evictIdleSession(piboSessionId, session).catch((error) => {
459
- const message = error instanceof Error ? error.message : String(error);
460
- this.emitOutput({
461
- type: "session_error",
462
- piboSessionId,
463
- error: `Failed to dispose idle routed runtime: ${message}`,
464
- errorDetails: runtimeSessionErrorDetails(message),
465
- });
466
- });
467
- }, this.routedSessionIdleTimeoutMs);
468
- timer.unref();
469
- this.idleSessionTimers.set(piboSessionId, timer);
470
- }
471
- async evictIdleSession(piboSessionId, expected) {
472
- const current = this.sessions.get(piboSessionId);
473
- if (current !== expected)
474
- return;
475
- const status = current.getStatus();
476
- if (status.disposed || status.processing || status.streaming || status.queuedMessages > 0)
477
- return;
478
- await this.resetCachedSession(piboSessionId, "routed runtime idle timeout");
479
- }
480
- async getOrCreateSession(piboSessionId) {
481
- if (this.closing)
482
- throw new Error("Pibo session router is disposed.");
483
- const existing = this.sessions.get(piboSessionId);
484
- if (existing) {
485
- this.clearIdleSessionTimer(piboSessionId);
486
- return existing;
487
- }
488
- const pending = this.pendingSessions.get(piboSessionId);
489
- if (pending)
490
- return pending;
491
- const created = this.createRoutedSession(piboSessionId);
492
- this.pendingSessions.set(piboSessionId, created);
493
- try {
494
- return await created;
495
- }
496
- finally {
497
- this.pendingSessions.delete(piboSessionId);
498
- }
499
- }
500
- async createRoutedSession(piboSessionId) {
501
- const piboSession = this.resolvePiboSession(piboSessionId);
502
- this.signalRegistry.project({ type: "session_created", session: piboSession });
503
- const profile = createPiboProfileFromRegistryOrDefault(this.pluginRegistry, piboSession.profile);
504
- const parentPiSessionId = piboSession.parentId
505
- ? this.resolvePiboSession(piboSession.parentId).piSessionId
506
- : undefined;
507
- const modelDefaults = this.resolveModelDefaults();
508
- const activeModel = this.ensureSessionActiveModel(piboSession, profile, parentPiSessionId, modelDefaults);
509
- const initialThinkingLevel = resolvePiboSessionInitialThinkingLevel(piboSession);
510
- const userSettings = loadPiboUserSettings();
511
- const telemetryExtension = this.telemetryStore
512
- ? createPiboProviderTelemetryExtension({ store: this.telemetryStore, writer: this.telemetryWriter, session: piboSession, model: activeModel })
513
- : undefined;
514
- const runtime = await createPiboRuntime({
515
- cwd: piboSession.workspace ?? this.options.cwd,
516
- persistSession: this.options.persistSession,
517
- thinkingLevel: initialThinkingLevel ?? this.options.thinkingLevel,
518
- retryDefaults: resolvePiboSessionRetryDefaults(piboSession.kind, this.options.retryDefaults),
519
- profile: profileForSession(profile, piboSession.piSessionId, parentPiSessionId),
520
- extensionFactories: [
521
- ...(telemetryExtension ? [telemetryExtension] : []),
522
- ...(this.options.extensionFactories ?? []),
523
- ],
524
- subagentRunner: this.createSubagentRunner(piboSession.id),
525
- runToolController: this.createRunToolController(piboSession.id),
526
- runtimeToolController: this.runtimeRegistry.createController(piboSession.id),
527
- modelDefaults,
528
- activeModel,
529
- sessionContext: {
530
- piboSessionId: piboSession.id,
531
- piboRoomId: piboRoomIdFromMetadata(piboSession.metadata),
532
- timezone: userSettings.timezone,
533
- },
534
- });
535
- const initialFastMode = resolvePiboSessionInitialFastMode(piboSession) ?? selectRequestedFastMode(profileForSession(profile, piboSession.piSessionId, parentPiSessionId), modelDefaults) ?? false;
536
- const session = new RoutedSession(piboSession.id, runtime, this.emitOutput, this.pluginRegistry, this.options.forwardPiEvents ?? false, this.telemetryRecorder
537
- ? (id, event, context) => this.telemetryRecorder?.recordPiEvent(id, event, { session: this.sessionStore.get(id), status: context.status, activeEventId: context.activeEventId })
538
- : undefined, initialFastMode, (result, event) => this.handleSessionOperation(result, event), (id, opts) => this.killChildSessions(id, opts), (state) => {
539
- this.signalRegistry.project({ type: "session_processing_changed", piboSessionId: piboSession.id, processing: state.processing, queuedMessages: state.queuedMessages });
540
- if (state.disposed || state.processing || state.queuedMessages > 0)
541
- this.clearIdleSessionTimer(piboSession.id);
542
- else
543
- this.scheduleIdleSessionEvictionIfIdle(piboSession.id);
544
- }, (messages, reason) => this.telemetryRecorder?.recordMessagesInterrupted(messages, {
545
- session: this.sessionStore.get(piboSession.id),
546
- status: this.sessions.get(piboSession.id)?.getStatus(),
547
- }, reason));
548
- this.sessions.set(piboSession.id, session);
549
- return session;
550
- }
551
- ensureSessionActiveModel(piboSession, profile, parentPiSessionId, modelDefaults) {
552
- const activeModel = resolvePiboSessionActiveModel({
553
- profile,
554
- piboSession,
555
- parentPiSessionId,
556
- modelDefaults,
557
- });
558
- if (!piboSession.activeModel && activeModel) {
559
- this.sessionStore.update(piboSession.id, { activeModel });
560
- }
561
- return activeModel;
562
- }
563
- resolveModelDefaults() {
564
- if (typeof this.options.modelDefaults === "function")
565
- return this.options.modelDefaults();
566
- if (this.options.modelDefaults)
567
- return this.options.modelDefaults;
568
- return loadPiboModelDefaults(this.options.cwd ?? process.cwd());
569
- }
570
- async handleSessionOperation(result, event) {
571
- if (result.cancelled)
572
- return;
573
- if (event.action === "session.fork" || event.action === "session.clone") {
574
- const action = event.action;
575
- const created = this.createDerivedSession(result, action);
576
- result.piboSessionId = created.id;
577
- await this.resetCachedSession(event.piboSessionId);
578
- return;
579
- }
580
- this.sessionStore.update(event.piboSessionId, {
581
- piSessionId: result.current.piSessionId,
582
- workspace: result.current.cwd,
583
- });
584
- }
585
- createDerivedSession(result, action) {
586
- const source = this.resolvePiboSession(result.piboSessionId);
587
- return this.sessionStore.create({
588
- channel: source.channel,
589
- kind: "branch",
590
- profile: source.profile,
591
- parentId: source.kind === "subagent" ? source.parentId : undefined,
592
- originId: source.id,
593
- piSessionId: result.current.piSessionId,
594
- workspace: result.current.cwd,
595
- title: source.title,
596
- activeModel: source.activeModel,
597
- metadata: {
598
- ...asJsonObject(source.metadata),
599
- originAction: action,
600
- originPiSessionId: result.previous.piSessionId,
601
- },
602
- });
603
- }
604
- async resetCachedSession(piboSessionId, reason) {
605
- const cached = this.sessions.get(piboSessionId);
606
- this.clearIdleSessionTimer(piboSessionId);
607
- this.sessions.delete(piboSessionId);
608
- try {
609
- await this.runtimeRegistry.closeControllerSessions(piboSessionId, { force: true });
610
- await cached?.dispose();
611
- }
612
- finally {
613
- await this.telemetryWriter?.flush();
614
- }
615
- if (reason)
616
- this.signalRegistry.project({ type: "session_disposed", piboSessionId, reason });
617
- }
618
- resolvePiboSession(piboSessionId) {
619
- const existing = this.sessionStore.get(piboSessionId);
620
- if (existing)
621
- return existing;
622
- const created = this.sessionStore.create({
623
- id: piboSessionId,
624
- channel: "pibo.runtime",
625
- kind: "runtime",
626
- profile: this.baseProfile.profileName,
627
- workspace: this.options.cwd ?? getDefaultPiboWorkspace(),
628
- });
629
- this.signalRegistry.project({ type: "session_created", session: created });
630
- return created;
631
- }
632
- createSubagentRunner(parentPiboSessionId) {
633
- return {
634
- runSubagent: async ({ subagent, message, threadKey, toolCallId }) => {
635
- this.assertSubagentDepth(parentPiboSessionId, subagent);
636
- const child = this.resolveSubagentSession(parentPiboSessionId, subagent, threadKey);
637
- const toolName = createSubagentToolName(subagent.name);
638
- const event = {
639
- type: "message",
640
- piboSessionId: child.id,
641
- text: message,
642
- source: "actor",
643
- id: randomUUID(),
644
- };
645
- this.emitOutput({
646
- type: "subagent_session",
647
- piboSessionId: parentPiboSessionId,
648
- toolCallId,
649
- toolName,
650
- subagentName: subagent.name,
651
- childPiboSessionId: child.id,
652
- threadKey: typeof child.metadata?.threadKey === "string" ? child.metadata.threadKey : undefined,
653
- });
654
- const reply = await this.emitMessageAndWaitForReply(event, subagent.timeoutMs ?? DEFAULT_SUBAGENT_REPLY_TIMEOUT_MS);
655
- return { piboSessionId: child.id, eventId: event.id, reply };
656
- },
657
- };
658
- }
659
- createRunToolController(parentPiboSessionId) {
660
- return {
661
- startToolRun: ({ toolName, params, completionPolicy, retryable, maxAttempts, execute }) => {
662
- assertGatewayResourceAvailableForWork(`yielded run ${toolName}`);
663
- const run = this.runRegistry.startToolRun({
664
- controllerPiboSessionId: parentPiboSessionId,
665
- toolName,
666
- params,
667
- completionPolicy,
668
- retryable,
669
- maxAttempts,
670
- });
671
- void (async () => {
672
- try {
673
- const result = await execute();
674
- const completed = this.runRegistry.complete(run.runId, result);
675
- if (completed)
676
- this.scheduleRunReminder(parentPiboSessionId, false);
677
- }
678
- catch (error) {
679
- const failed = this.runRegistry.fail(run.runId, error instanceof Error ? error.message : String(error));
680
- if (failed)
681
- this.scheduleRunReminder(parentPiboSessionId, false);
682
- }
683
- })();
684
- return run;
685
- },
686
- listRuns: (options) => this.runRegistry.list(parentPiboSessionId, options),
687
- getRunStatus: (runId) => this.runRegistry.status(parentPiboSessionId, runId),
688
- waitForRun: (runId, timeoutMs) => this.runRegistry.wait(parentPiboSessionId, runId, timeoutMs),
689
- readRun: (runId) => {
690
- const run = this.runRegistry.read(parentPiboSessionId, runId);
691
- if (run.consumed && isTerminalRunStatus(run.status)) {
692
- this.refreshQueuedRunReminders(parentPiboSessionId);
693
- }
694
- return run;
695
- },
696
- cancelRun: async (runId) => {
697
- const cancelled = this.runRegistry.cancel(parentPiboSessionId, runId);
698
- this.refreshQueuedRunReminders(parentPiboSessionId);
699
- return cancelled;
700
- },
701
- ackRun: (runId) => {
702
- const run = this.runRegistry.ack(parentPiboSessionId, runId);
703
- this.refreshQueuedRunReminders(parentPiboSessionId);
704
- return run;
705
- },
706
- };
707
- }
708
- assertSubagentDepth(parentPiboSessionId, subagent) {
709
- const maxDepth = subagent.maxDepth ?? 3;
710
- if (this.getSubagentDepth(parentPiboSessionId) >= maxDepth) {
711
- throw new Error(`Subagent "${subagent.name}" exceeded max depth ${maxDepth} from Pibo session "${parentPiboSessionId}"`);
712
- }
713
- }
714
- getSubagentDepth(piboSessionId) {
715
- let depth = 0;
716
- let current = this.sessionStore.get(piboSessionId);
717
- const seen = new Set();
718
- while (current?.parentId) {
719
- if (seen.has(current.parentId))
720
- break;
721
- seen.add(current.parentId);
722
- depth += 1;
723
- current = this.sessionStore.get(current.parentId);
724
- }
725
- return depth;
726
- }
727
- resolveSubagentSession(parentPiboSessionId, subagent, threadKey) {
728
- const targetProfile = resolvePiboProfileNameFromRegistryOrDefault(this.pluginRegistry, subagent.targetProfile);
729
- const parent = this.resolvePiboSession(parentPiboSessionId);
730
- const resolvedThreadKey = threadKey?.trim() ? threadKey.trim() : randomUUID();
731
- const baseMetadata = {
732
- subagentName: subagent.name,
733
- subagentToolName: createSubagentToolName(subagent.name),
734
- threadKey: resolvedThreadKey,
735
- };
736
- const metadata = withWorkflowSessionKind(baseMetadata, "subagent");
737
- const parentChatRoomId = typeof parent.metadata?.chatRoomId === "string" ? parent.metadata.chatRoomId : undefined;
738
- if (parentChatRoomId)
739
- metadata.chatRoomId = parentChatRoomId;
740
- const legacyMetadata = { ...baseMetadata };
741
- const legacyMetadataWithChatRoom = parentChatRoomId
742
- ? { ...baseMetadata, chatRoomId: parentChatRoomId }
743
- : undefined;
744
- const findExisting = (candidate) => candidate
745
- ? this.sessionStore.find({
746
- channel: "pibo.subagents",
747
- kind: "subagent",
748
- parentId: parent.id,
749
- profile: targetProfile,
750
- metadata: candidate,
751
- })[0]
752
- : undefined;
753
- const existing = findExisting(metadata) ?? findExisting(legacyMetadataWithChatRoom) ?? findExisting(legacyMetadata);
754
- if (existing) {
755
- const updatedMetadata = withWorkflowSessionKind({
756
- ...(existing.metadata ?? {}),
757
- ...(parentChatRoomId ? { chatRoomId: parentChatRoomId } : {}),
758
- }, "subagent");
759
- if (JSON.stringify(updatedMetadata) !== JSON.stringify(existing.metadata ?? {})) {
760
- return this.sessionStore.update(existing.id, { metadata: updatedMetadata }) ?? existing;
761
- }
762
- return existing;
763
- }
764
- const childProfile = createPiboProfileFromRegistryOrDefault(this.pluginRegistry, targetProfile);
765
- const childSession = this.sessionStore.create({
766
- channel: "pibo.subagents",
767
- kind: "subagent",
768
- profile: targetProfile,
769
- parentId: parent.id,
770
- workspace: parent.workspace,
771
- metadata,
772
- });
773
- this.signalRegistry.project({ type: "session_created", session: childSession });
774
- const activeModel = resolvePiboSessionActiveModel({
775
- profile: childProfile,
776
- piboSession: childSession,
777
- parentPiSessionId: parent.piSessionId,
778
- modelDefaults: this.resolveModelDefaults(),
779
- });
780
- return activeModel ? this.sessionStore.update(childSession.id, { activeModel }) ?? childSession : childSession;
781
- }
782
- emitOutput = (event) => {
783
- const session = this.sessionStore.get(event.piboSessionId);
784
- this.telemetryRecorder?.recordOutput(event, { session, status: this.sessions.get(event.piboSessionId)?.getStatus() });
785
- this.signalRegistry.project({ type: "pibo_output", event, session });
786
- this.pluginRegistry.notifyEvent(event);
787
- for (const listener of this.listeners) {
788
- listener(event);
789
- }
790
- if (event.type === "message_finished" && event.source !== "service") {
791
- this.scheduleRunReminder(event.piboSessionId, true);
792
- }
793
- };
794
- projectKnownSessionSignals() {
795
- for (const session of this.sessionStore.list?.() ?? []) {
796
- this.signalRegistry.project({ type: "session_created", session });
797
- }
798
- }
799
- projectRunRegistryEvent(event) {
800
- if (event.type === "run_removed") {
801
- this.signalRegistry.project({ type: "run_removed", runId: event.runId, controllerPiboSessionId: event.controllerPiboSessionId });
802
- return;
803
- }
804
- this.signalRegistry.project({ type: "run_changed", run: event.run, previousStatus: "previousStatus" in event ? event.previousStatus : undefined, reason: "reason" in event ? event.reason : event.type });
805
- }
806
- scheduleRunReminder(piboSessionId, includeAlreadyNotified) {
807
- if (!this.runRegistry.hasPendingNotification(piboSessionId, { includeAlreadyNotified }))
808
- return;
809
- const previous = this.scheduledRunReminders.get(piboSessionId);
810
- if (previous !== undefined) {
811
- this.scheduledRunReminders.set(piboSessionId, previous || includeAlreadyNotified);
812
- return;
813
- }
814
- this.scheduledRunReminders.set(piboSessionId, includeAlreadyNotified);
815
- queueMicrotask(() => {
816
- void this.deliverRunReminder(piboSessionId);
817
- });
818
- }
819
- refreshQueuedRunReminders(piboSessionId) {
820
- const removed = this.sessions.get(piboSessionId)?.removeQueuedMessages(isRunReminderServiceMessage) ?? 0;
821
- if (removed > 0)
822
- this.scheduleRunReminder(piboSessionId, true);
823
- }
824
- async deliverRunReminder(piboSessionId) {
825
- const includeAlreadyNotified = this.scheduledRunReminders.get(piboSessionId) ?? false;
826
- this.scheduledRunReminders.delete(piboSessionId);
827
- const notification = this.runRegistry.createNotification(piboSessionId, { includeAlreadyNotified });
828
- if (!notification)
829
- return;
830
- try {
831
- const session = await this.getOrCreateSession(piboSessionId);
832
- session.enqueueMessage({
833
- type: "message",
834
- piboSessionId,
835
- text: formatRunReminderMessage(notification),
836
- source: "service",
837
- id: randomUUID(),
838
- });
839
- }
840
- catch (error) {
841
- const message = error instanceof Error ? error.message : String(error);
842
- this.emitOutput({
843
- type: "session_error",
844
- piboSessionId,
845
- error: message,
846
- errorDetails: runtimeSessionErrorDetails(message),
847
- });
848
- }
849
- }
850
- }