@pasko70/pibo 1.9.9 → 1.9.11

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 (706) 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/dist/api/simple-agent-api.js +136 -0
  8. package/dist/app-context.js +4 -0
  9. package/dist/apps/chat/agent-profiles.js +70 -0
  10. package/dist/apps/chat/agent-store.js +669 -0
  11. package/dist/apps/chat/chat-api-routes.js +325 -0
  12. package/dist/apps/chat/chat-capability-routes.js +90 -0
  13. package/dist/apps/chat/chat-files.js +178 -0
  14. package/dist/apps/chat/chat-request-normalizers.js +681 -0
  15. package/dist/apps/chat/chat-settings-routes.js +98 -0
  16. package/dist/apps/chat/chat-trace-helpers.js +139 -0
  17. package/dist/apps/chat/chat-user-skill-routes.js +178 -0
  18. package/dist/apps/chat/cron-api.js +213 -0
  19. package/dist/apps/chat/data/chat-data-mappers.js +82 -0
  20. package/dist/apps/chat/data/event-command-service.js +75 -0
  21. package/dist/apps/chat/data/navigation-query-service.js +11 -0
  22. package/dist/apps/chat/data/project-service.js +877 -0
  23. package/dist/apps/chat/data/read-state-service.js +42 -0
  24. package/dist/apps/chat/data/room-service.js +52 -0
  25. package/dist/apps/chat/data/session-query-service.js +126 -0
  26. package/dist/apps/chat/data/timeline-query-service.js +102 -0
  27. package/dist/apps/chat/event-log.js +1 -0
  28. package/dist/apps/chat/model-catalog.js +53 -0
  29. package/dist/apps/chat/output-compactor.js +126 -0
  30. package/dist/apps/chat/output-event-policy.js +17 -0
  31. package/dist/apps/chat/project-workflow-human-actions.js +347 -0
  32. package/dist/apps/chat/project-workflow-sessions.js +260 -0
  33. package/dist/apps/chat/provider-auth-actions.js +43 -0
  34. package/dist/apps/chat/ralph-api.js +156 -0
  35. package/dist/apps/chat/read-model.js +1 -0
  36. package/dist/apps/chat/rooms.js +1 -0
  37. package/dist/apps/chat/session-metadata.js +14 -0
  38. package/dist/apps/chat/static-assets.js +997 -0
  39. package/dist/apps/chat/stream.js +145 -0
  40. package/dist/apps/chat/telemetry-retention-service.js +69 -0
  41. package/dist/apps/chat/trace-v2.js +307 -0
  42. package/dist/apps/chat/trace.js +572 -0
  43. package/dist/apps/chat/types/event-store.js +1 -0
  44. package/dist/apps/chat/types/read-model.js +1 -0
  45. package/dist/apps/chat/types/rooms.js +36 -0
  46. package/dist/apps/chat/web-app.js +4661 -0
  47. package/dist/apps/chat/workflow-catalog.js +572 -0
  48. package/dist/apps/chat/workflow-edge-compatibility.js +51 -0
  49. package/dist/apps/chat/workflow-json-schema-validation.js +335 -0
  50. package/dist/apps/chat/workflow-manual-trigger-runtime.js +232 -0
  51. package/dist/apps/chat/workflow-persistence-model.js +140 -0
  52. package/dist/apps/chat/workflow-persistence.js +633 -0
  53. package/dist/apps/chat/workflow-registered-ref-params.js +130 -0
  54. package/dist/apps/chat/workflow-registered-ref-pickers.js +179 -0
  55. package/dist/apps/chat/workflow-registered-ref-validation.js +210 -0
  56. package/dist/apps/chat/workflow-v2-security-validation.js +93 -0
  57. package/dist/apps/chat/workflow-validation-helpers.js +114 -0
  58. package/dist/apps/chat-ui/assets/apl-BxEMbctQ.js +1 -0
  59. package/dist/apps/chat-ui/assets/asciiarmor-eFjeGRuZ.js +1 -0
  60. package/dist/apps/chat-ui/assets/asn1-Cfx-0pt9.js +1 -0
  61. package/dist/apps/chat-ui/assets/asterisk-B5BHTsBr.js +1 -0
  62. package/dist/apps/chat-ui/assets/brainfuck-CAA2xofr.js +1 -0
  63. package/dist/apps/chat-ui/assets/clike-BoDCOLzN.js +1 -0
  64. package/dist/apps/chat-ui/assets/clojure-kVFSWX0o.js +1 -0
  65. package/dist/apps/chat-ui/assets/cmake-BUPAhezI.js +1 -0
  66. package/dist/apps/chat-ui/assets/cobol-BfgHZgup.js +1 -0
  67. package/dist/apps/chat-ui/assets/coffeescript-G1Pe_1AZ.js +1 -0
  68. package/dist/apps/chat-ui/assets/commonlisp-B3N0CjHn.js +1 -0
  69. package/dist/apps/chat-ui/assets/crystal-C15ndaGM.js +1 -0
  70. package/dist/apps/chat-ui/assets/css-BqOeyZOV.js +1 -0
  71. package/dist/apps/chat-ui/assets/cypher-KjIKv-wW.js +1 -0
  72. package/dist/apps/chat-ui/assets/d-BlT5AEC-.js +1 -0
  73. package/dist/apps/chat-ui/assets/diff-oF98tbqj.js +1 -0
  74. package/dist/apps/chat-ui/assets/dist--55mTWk3.js +1 -0
  75. package/dist/apps/chat-ui/assets/dist-BCB6zezO.js +23 -0
  76. package/dist/apps/chat-ui/assets/dist-BHa-kcGl.js +1 -0
  77. package/dist/apps/chat-ui/assets/dist-BNMu92bb.js +1 -0
  78. package/dist/apps/chat-ui/assets/dist-BZ2eTC4f.js +1 -0
  79. package/dist/apps/chat-ui/assets/dist-BZ39rB1W.js +1 -0
  80. package/dist/apps/chat-ui/assets/dist-BsedZGJo.js +1 -0
  81. package/dist/apps/chat-ui/assets/dist-C5YJOwhH.js +1 -0
  82. package/dist/apps/chat-ui/assets/dist-C5oXtFSP.js +1 -0
  83. package/dist/apps/chat-ui/assets/dist-CKM5j-iy.js +1 -0
  84. package/dist/apps/chat-ui/assets/dist-CUp9us2q.js +1 -0
  85. package/dist/apps/chat-ui/assets/dist-CZ9T4Cly.js +1 -0
  86. package/dist/apps/chat-ui/assets/dist-CnVsqwSG.js +2 -0
  87. package/dist/apps/chat-ui/assets/dist-CzE6k3F3.js +9 -0
  88. package/dist/apps/chat-ui/assets/dist-D811wJeV.js +1 -0
  89. package/dist/apps/chat-ui/assets/dist-DSKQpPaz.js +1 -0
  90. package/dist/apps/chat-ui/assets/dist-Dq4GxJi3.js +1 -0
  91. package/dist/apps/chat-ui/assets/dist-HqTN67dc.js +1 -0
  92. package/dist/apps/chat-ui/assets/dist-SVPsM5Oi.js +13 -0
  93. package/dist/apps/chat-ui/assets/dist-WyXdYl-w.js +6 -0
  94. package/dist/apps/chat-ui/assets/dist-Zqt9kNG9.js +1 -0
  95. package/dist/apps/chat-ui/assets/dist-tGfufz3b.js +1 -0
  96. package/dist/apps/chat-ui/assets/dist-yCYNNb5d.js +11 -0
  97. package/dist/apps/chat-ui/assets/dockerfile-CUaqzcqp.js +1 -0
  98. package/dist/apps/chat-ui/assets/dtd-VCA9yr61.js +1 -0
  99. package/dist/apps/chat-ui/assets/dylan-O-V5Dw5W.js +1 -0
  100. package/dist/apps/chat-ui/assets/ebnf-SPmdBkvT.js +1 -0
  101. package/dist/apps/chat-ui/assets/ecl-ChfCttfI.js +1 -0
  102. package/dist/apps/chat-ui/assets/eiffel-cB9EbjeN.js +1 -0
  103. package/dist/apps/chat-ui/assets/elm-BTiVflBU.js +1 -0
  104. package/dist/apps/chat-ui/assets/erlang-egf0TXFm.js +1 -0
  105. package/dist/apps/chat-ui/assets/factor-C2tAxNob.js +1 -0
  106. package/dist/apps/chat-ui/assets/fcl-BiCjh1tj.js +1 -0
  107. package/dist/apps/chat-ui/assets/forth-C4kDGW6u.js +1 -0
  108. package/dist/apps/chat-ui/assets/fortran-DzkLaPnd.js +1 -0
  109. package/dist/apps/chat-ui/assets/gas-DMOxskQF.js +1 -0
  110. package/dist/apps/chat-ui/assets/gherkin-BPxBpp-k.js +1 -0
  111. package/dist/apps/chat-ui/assets/groovy-CkEnc0ZY.js +1 -0
  112. package/dist/apps/chat-ui/assets/haskell-Dadpo9-w.js +1 -0
  113. package/dist/apps/chat-ui/assets/haxe-CDNZL9MW.js +1 -0
  114. package/dist/apps/chat-ui/assets/http-jy9Zxxt3.js +1 -0
  115. package/dist/apps/chat-ui/assets/idl-CGSB6iiy.js +1 -0
  116. package/dist/apps/chat-ui/assets/index-C0x9nEcf.css +1 -0
  117. package/dist/apps/chat-ui/assets/index-DwHJfmiF.js +173 -0
  118. package/dist/apps/chat-ui/assets/javascript-DSlzRUd8.js +1 -0
  119. package/dist/apps/chat-ui/assets/julia-DTiF9v6R.js +1 -0
  120. package/dist/apps/chat-ui/assets/livescript-Ci8Xxna6.js +1 -0
  121. package/dist/apps/chat-ui/assets/lua-eVxIrt9t.js +1 -0
  122. package/dist/apps/chat-ui/assets/mathematica-Da3grj36.js +1 -0
  123. package/dist/apps/chat-ui/assets/mbox-BWBMSafM.js +1 -0
  124. package/dist/apps/chat-ui/assets/mirc-CtHu9S1B.js +1 -0
  125. package/dist/apps/chat-ui/assets/mllike-wTFlPWXS.js +1 -0
  126. package/dist/apps/chat-ui/assets/modelica-cKbQ0UXu.js +1 -0
  127. package/dist/apps/chat-ui/assets/mscgen-C5pXQCMK.js +1 -0
  128. package/dist/apps/chat-ui/assets/mumps-CKBHkOQq.js +1 -0
  129. package/dist/apps/chat-ui/assets/nginx-B00AiQel.js +1 -0
  130. package/dist/apps/chat-ui/assets/nsis-SMDwKltR.js +1 -0
  131. package/dist/apps/chat-ui/assets/ntriples-B_36EBV0.js +1 -0
  132. package/dist/apps/chat-ui/assets/octave-BXPjzAif.js +1 -0
  133. package/dist/apps/chat-ui/assets/oz-Dedpat1M.js +1 -0
  134. package/dist/apps/chat-ui/assets/pascal-CMcUg72K.js +1 -0
  135. package/dist/apps/chat-ui/assets/perl-DoVTbnzt.js +1 -0
  136. package/dist/apps/chat-ui/assets/pig-CULXT1YV.js +1 -0
  137. package/dist/apps/chat-ui/assets/powershell-Cv5Uhf6b.js +1 -0
  138. package/dist/apps/chat-ui/assets/properties-CQ1C2P-M.js +1 -0
  139. package/dist/apps/chat-ui/assets/protobuf-SRlvzrl6.js +1 -0
  140. package/dist/apps/chat-ui/assets/pug-Bo3wfL-f.js +1 -0
  141. package/dist/apps/chat-ui/assets/puppet-ClSqCGj6.js +1 -0
  142. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-144x144.png +0 -0
  143. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-192x192.png +0 -0
  144. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-48x48.png +0 -0
  145. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-512x512.png +0 -0
  146. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-72x72.png +0 -0
  147. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-96x96.png +0 -0
  148. package/dist/apps/chat-ui/assets/pwa-images/ios/100.png +0 -0
  149. package/dist/apps/chat-ui/assets/pwa-images/ios/1024.png +0 -0
  150. package/dist/apps/chat-ui/assets/pwa-images/ios/114.png +0 -0
  151. package/dist/apps/chat-ui/assets/pwa-images/ios/120.png +0 -0
  152. package/dist/apps/chat-ui/assets/pwa-images/ios/128.png +0 -0
  153. package/dist/apps/chat-ui/assets/pwa-images/ios/144.png +0 -0
  154. package/dist/apps/chat-ui/assets/pwa-images/ios/152.png +0 -0
  155. package/dist/apps/chat-ui/assets/pwa-images/ios/16.png +0 -0
  156. package/dist/apps/chat-ui/assets/pwa-images/ios/167.png +0 -0
  157. package/dist/apps/chat-ui/assets/pwa-images/ios/180.png +0 -0
  158. package/dist/apps/chat-ui/assets/pwa-images/ios/192.png +0 -0
  159. package/dist/apps/chat-ui/assets/pwa-images/ios/20.png +0 -0
  160. package/dist/apps/chat-ui/assets/pwa-images/ios/256.png +0 -0
  161. package/dist/apps/chat-ui/assets/pwa-images/ios/29.png +0 -0
  162. package/dist/apps/chat-ui/assets/pwa-images/ios/32.png +0 -0
  163. package/dist/apps/chat-ui/assets/pwa-images/ios/40.png +0 -0
  164. package/dist/apps/chat-ui/assets/pwa-images/ios/50.png +0 -0
  165. package/dist/apps/chat-ui/assets/pwa-images/ios/512.png +0 -0
  166. package/dist/apps/chat-ui/assets/pwa-images/ios/57.png +0 -0
  167. package/dist/apps/chat-ui/assets/pwa-images/ios/58.png +0 -0
  168. package/dist/apps/chat-ui/assets/pwa-images/ios/60.png +0 -0
  169. package/dist/apps/chat-ui/assets/pwa-images/ios/64.png +0 -0
  170. package/dist/apps/chat-ui/assets/pwa-images/ios/72.png +0 -0
  171. package/dist/apps/chat-ui/assets/pwa-images/ios/76.png +0 -0
  172. package/dist/apps/chat-ui/assets/pwa-images/ios/80.png +0 -0
  173. package/dist/apps/chat-ui/assets/pwa-images/ios/87.png +0 -0
  174. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-100.png +0 -0
  175. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-125.png +0 -0
  176. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-150.png +0 -0
  177. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-200.png +0 -0
  178. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-400.png +0 -0
  179. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-100.png +0 -0
  180. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-125.png +0 -0
  181. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-150.png +0 -0
  182. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-200.png +0 -0
  183. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-400.png +0 -0
  184. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-100.png +0 -0
  185. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-125.png +0 -0
  186. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-150.png +0 -0
  187. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-200.png +0 -0
  188. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-400.png +0 -0
  189. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-100.png +0 -0
  190. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-125.png +0 -0
  191. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-150.png +0 -0
  192. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-200.png +0 -0
  193. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-400.png +0 -0
  194. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-16.png +0 -0
  195. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-20.png +0 -0
  196. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-24.png +0 -0
  197. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-256.png +0 -0
  198. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-30.png +0 -0
  199. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-32.png +0 -0
  200. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-36.png +0 -0
  201. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-40.png +0 -0
  202. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-44.png +0 -0
  203. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-48.png +0 -0
  204. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-60.png +0 -0
  205. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-64.png +0 -0
  206. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-72.png +0 -0
  207. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-80.png +0 -0
  208. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-96.png +0 -0
  209. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-16.png +0 -0
  210. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-20.png +0 -0
  211. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-24.png +0 -0
  212. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-256.png +0 -0
  213. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-30.png +0 -0
  214. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-32.png +0 -0
  215. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-36.png +0 -0
  216. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-40.png +0 -0
  217. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-44.png +0 -0
  218. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-48.png +0 -0
  219. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-60.png +0 -0
  220. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-64.png +0 -0
  221. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-72.png +0 -0
  222. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-80.png +0 -0
  223. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-96.png +0 -0
  224. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-100.png +0 -0
  225. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-125.png +0 -0
  226. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-150.png +0 -0
  227. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-200.png +0 -0
  228. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-400.png +0 -0
  229. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-16.png +0 -0
  230. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-20.png +0 -0
  231. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-24.png +0 -0
  232. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-256.png +0 -0
  233. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-30.png +0 -0
  234. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-32.png +0 -0
  235. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-36.png +0 -0
  236. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-40.png +0 -0
  237. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-44.png +0 -0
  238. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-48.png +0 -0
  239. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-60.png +0 -0
  240. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-64.png +0 -0
  241. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-72.png +0 -0
  242. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-80.png +0 -0
  243. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-96.png +0 -0
  244. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-100.png +0 -0
  245. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-125.png +0 -0
  246. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-150.png +0 -0
  247. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-200.png +0 -0
  248. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-400.png +0 -0
  249. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-100.png +0 -0
  250. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-125.png +0 -0
  251. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-150.png +0 -0
  252. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-200.png +0 -0
  253. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-400.png +0 -0
  254. package/dist/apps/chat-ui/assets/python-C2_X1GpX.js +1 -0
  255. package/dist/apps/chat-ui/assets/q-B_6Gdyzl.js +1 -0
  256. package/dist/apps/chat-ui/assets/r-BD07NGED.js +1 -0
  257. package/dist/apps/chat-ui/assets/rolldown-runtime-S-ySWqyJ.js +1 -0
  258. package/dist/apps/chat-ui/assets/rpm-CRu5Z2Jl.js +1 -0
  259. package/dist/apps/chat-ui/assets/ruby-dZPnOz8h.js +1 -0
  260. package/dist/apps/chat-ui/assets/sas-S2t8_sDI.js +1 -0
  261. package/dist/apps/chat-ui/assets/scheme-WcyFWLW2.js +1 -0
  262. package/dist/apps/chat-ui/assets/shell-DUelnYSh.js +1 -0
  263. package/dist/apps/chat-ui/assets/sieve-jDjlVhNh.js +1 -0
  264. package/dist/apps/chat-ui/assets/simple-mode-CL04yRVp.js +1 -0
  265. package/dist/apps/chat-ui/assets/smalltalk-ddWDYy10.js +1 -0
  266. package/dist/apps/chat-ui/assets/solr-C7rQhLuW.js +1 -0
  267. package/dist/apps/chat-ui/assets/sparql--fPCCgVd.js +1 -0
  268. package/dist/apps/chat-ui/assets/spreadsheet-DjthqD5G.js +1 -0
  269. package/dist/apps/chat-ui/assets/sql-D_dieYbr.js +1 -0
  270. package/dist/apps/chat-ui/assets/stex-rHcFYcA0.js +1 -0
  271. package/dist/apps/chat-ui/assets/stylus-DxF70RNr.js +1 -0
  272. package/dist/apps/chat-ui/assets/swift-T0hDoOb-.js +1 -0
  273. package/dist/apps/chat-ui/assets/tcl-Dlzy1mPk.js +1 -0
  274. package/dist/apps/chat-ui/assets/textile-Dy5rFZe5.js +1 -0
  275. package/dist/apps/chat-ui/assets/tiddlywiki-DQP1OymS.js +1 -0
  276. package/dist/apps/chat-ui/assets/tiki-0vOj3DB2.js +1 -0
  277. package/dist/apps/chat-ui/assets/toml-DEltN0lI.js +1 -0
  278. package/dist/apps/chat-ui/assets/troff-CRbBpEqY.js +1 -0
  279. package/dist/apps/chat-ui/assets/ttcn-M5q1nLKg.js +1 -0
  280. package/dist/apps/chat-ui/assets/ttcn-cfg-Rmw9NWq9.js +1 -0
  281. package/dist/apps/chat-ui/assets/turtle-BCDWhJK0.js +1 -0
  282. package/dist/apps/chat-ui/assets/vb-QQ7LGlOz.js +1 -0
  283. package/dist/apps/chat-ui/assets/vbscript-BiSEdUzz.js +1 -0
  284. package/dist/apps/chat-ui/assets/velocity-CzMg5_6w.js +1 -0
  285. package/dist/apps/chat-ui/assets/verilog-BJOO83gk.js +1 -0
  286. package/dist/apps/chat-ui/assets/vhdl-ed4zAZAA.js +1 -0
  287. package/dist/apps/chat-ui/assets/webidl-Ddy6hbV6.js +1 -0
  288. package/dist/apps/chat-ui/assets/xquery-Bw1zwhh6.js +1 -0
  289. package/dist/apps/chat-ui/assets/yacas-DZdTXy3s.js +1 -0
  290. package/dist/apps/chat-ui/assets/z80-DMG02_YV.js +1 -0
  291. package/dist/apps/chat-ui/index.html +20 -0
  292. package/dist/apps/chat-ui/manifest.webmanifest +25 -0
  293. package/dist/apps/chat-ui/sw.js +47 -0
  294. package/dist/apps/chat-vscode-web/assets/index-B5QK07zO.css +2 -0
  295. package/dist/apps/chat-vscode-web/assets/index-BAMxIaI_.js +41 -0
  296. package/dist/apps/chat-vscode-web/index.html +14 -0
  297. package/dist/apps/cli-ui/InkSessionApp.js +1218 -0
  298. package/dist/apps/cli-ui/InkTerminalLine.js +53 -0
  299. package/dist/apps/cli-ui/InkTerminalRow.js +304 -0
  300. package/dist/apps/cli-ui/InkTerminalView.js +25 -0
  301. package/dist/apps/cli-ui/cliSessionsCommand.js +232 -0
  302. package/dist/apps/cli-ui/index.js +8 -0
  303. package/dist/apps/cli-ui/inkColors.js +67 -0
  304. package/dist/apps/cli-ui/inkJson.js +244 -0
  305. package/dist/apps/cli-ui/inkMarkdown.js +127 -0
  306. package/dist/apps/cli-ui/inkSyntaxHighlighter.js +166 -0
  307. package/dist/apps/context-files-ui/assets/apl-14BqhLYK.js +1 -0
  308. package/dist/apps/context-files-ui/assets/asciiarmor-WLvjqI7d.js +1 -0
  309. package/dist/apps/context-files-ui/assets/asn1-Bg4FbdCg.js +1 -0
  310. package/dist/apps/context-files-ui/assets/asterisk-B2MO-X4d.js +1 -0
  311. package/dist/apps/context-files-ui/assets/brainfuck-CV9kufud.js +1 -0
  312. package/dist/apps/context-files-ui/assets/clike-CjmcUpt6.js +1 -0
  313. package/dist/apps/context-files-ui/assets/clojure-De3QGfx6.js +1 -0
  314. package/dist/apps/context-files-ui/assets/cmake-i2VDNaRq.js +1 -0
  315. package/dist/apps/context-files-ui/assets/cobol-BwO6DF08.js +1 -0
  316. package/dist/apps/context-files-ui/assets/coffeescript-BtivDvRz.js +1 -0
  317. package/dist/apps/context-files-ui/assets/commonlisp-DFkEQdLP.js +1 -0
  318. package/dist/apps/context-files-ui/assets/crystal-CU0NkcVL.js +1 -0
  319. package/dist/apps/context-files-ui/assets/css-CbMZAQ1W.js +1 -0
  320. package/dist/apps/context-files-ui/assets/cypher-Dke5QOzv.js +1 -0
  321. package/dist/apps/context-files-ui/assets/d-TPqSVaHM.js +1 -0
  322. package/dist/apps/context-files-ui/assets/diff-B365LSoZ.js +1 -0
  323. package/dist/apps/context-files-ui/assets/dist-B5PTVnox.js +1 -0
  324. package/dist/apps/context-files-ui/assets/dist-B5ZAfwf5.js +1 -0
  325. package/dist/apps/context-files-ui/assets/dist-BOiGdrG-.js +1 -0
  326. package/dist/apps/context-files-ui/assets/dist-BkUONE3N.js +1 -0
  327. package/dist/apps/context-files-ui/assets/dist-D1KyNDg5.js +13 -0
  328. package/dist/apps/context-files-ui/assets/dist-DK01b7x4.js +1 -0
  329. package/dist/apps/context-files-ui/assets/dist-DKoyMSNr.js +1 -0
  330. package/dist/apps/context-files-ui/assets/dist-DLMjd26T.js +1 -0
  331. package/dist/apps/context-files-ui/assets/dist-DPG9jOQ-.js +1 -0
  332. package/dist/apps/context-files-ui/assets/dist-DotDq_kD.js +1 -0
  333. package/dist/apps/context-files-ui/assets/dist-Dp5AH00p.js +1 -0
  334. package/dist/apps/context-files-ui/assets/dist-DqYw0LH7.js +2 -0
  335. package/dist/apps/context-files-ui/assets/dist-QQuDy4KA.js +1 -0
  336. package/dist/apps/context-files-ui/assets/dist-TF5iO5ML.js +9 -0
  337. package/dist/apps/context-files-ui/assets/dist-TbjAhles.js +1 -0
  338. package/dist/apps/context-files-ui/assets/dist-ZsBbt0uY.js +1 -0
  339. package/dist/apps/context-files-ui/assets/dist-kmsvtHkH.js +1 -0
  340. package/dist/apps/context-files-ui/assets/dist-vnd7PMu3.js +11 -0
  341. package/dist/apps/context-files-ui/assets/dockerfile-CJb2sekW.js +1 -0
  342. package/dist/apps/context-files-ui/assets/dtd-CBMymJ7O.js +1 -0
  343. package/dist/apps/context-files-ui/assets/dylan-08Azy1NK.js +1 -0
  344. package/dist/apps/context-files-ui/assets/ebnf-Dkum_1J8.js +1 -0
  345. package/dist/apps/context-files-ui/assets/ecl-dhxjHL8y.js +1 -0
  346. package/dist/apps/context-files-ui/assets/eiffel-C446m6dI.js +1 -0
  347. package/dist/apps/context-files-ui/assets/elm-po1E9de0.js +1 -0
  348. package/dist/apps/context-files-ui/assets/erlang-BD5LkVkR.js +1 -0
  349. package/dist/apps/context-files-ui/assets/factor-B2EMQZkP.js +1 -0
  350. package/dist/apps/context-files-ui/assets/fcl-DkEOamHd.js +1 -0
  351. package/dist/apps/context-files-ui/assets/forth-dCg2_HVB.js +1 -0
  352. package/dist/apps/context-files-ui/assets/fortran-3ZpXLFh1.js +1 -0
  353. package/dist/apps/context-files-ui/assets/gas-DMmxLZRI.js +1 -0
  354. package/dist/apps/context-files-ui/assets/gherkin-DUSFg2R6.js +1 -0
  355. package/dist/apps/context-files-ui/assets/groovy-Cmduloe1.js +1 -0
  356. package/dist/apps/context-files-ui/assets/haskell-Cyr255R9.js +1 -0
  357. package/dist/apps/context-files-ui/assets/haxe-BJVKtprM.js +1 -0
  358. package/dist/apps/context-files-ui/assets/http-DszHFpc-.js +1 -0
  359. package/dist/apps/context-files-ui/assets/idl-Cati9Nrv.js +1 -0
  360. package/dist/apps/context-files-ui/assets/index-B92tL3Pp.css +1 -0
  361. package/dist/apps/context-files-ui/assets/index-BhAWD3dv.js +202 -0
  362. package/dist/apps/context-files-ui/assets/javascript-C5pDVaoP.js +1 -0
  363. package/dist/apps/context-files-ui/assets/julia-DlqY1cTU.js +1 -0
  364. package/dist/apps/context-files-ui/assets/livescript-C6p8-2W1.js +1 -0
  365. package/dist/apps/context-files-ui/assets/lua-BxuTHaF7.js +1 -0
  366. package/dist/apps/context-files-ui/assets/mathematica-nDHZUMJT.js +1 -0
  367. package/dist/apps/context-files-ui/assets/mbox-DAaR0Hcz.js +1 -0
  368. package/dist/apps/context-files-ui/assets/mirc-CCA0FRfl.js +1 -0
  369. package/dist/apps/context-files-ui/assets/mllike-Cw3Iccsb.js +1 -0
  370. package/dist/apps/context-files-ui/assets/modelica-Czx80fNR.js +1 -0
  371. package/dist/apps/context-files-ui/assets/mscgen-BmfuTbzG.js +1 -0
  372. package/dist/apps/context-files-ui/assets/mumps-Ds_ZaumL.js +1 -0
  373. package/dist/apps/context-files-ui/assets/nginx-D9M2PQ4U.js +1 -0
  374. package/dist/apps/context-files-ui/assets/nsis-DOo3SJmd.js +1 -0
  375. package/dist/apps/context-files-ui/assets/ntriples-DLHGTvHs.js +1 -0
  376. package/dist/apps/context-files-ui/assets/octave-8jj96JiC.js +1 -0
  377. package/dist/apps/context-files-ui/assets/oz-BmMq7iC4.js +1 -0
  378. package/dist/apps/context-files-ui/assets/pascal-BgMr6XpT.js +1 -0
  379. package/dist/apps/context-files-ui/assets/perl-D6YJObi_.js +1 -0
  380. package/dist/apps/context-files-ui/assets/pig-nx7uchs8.js +1 -0
  381. package/dist/apps/context-files-ui/assets/powershell-B4IPkVxR.js +1 -0
  382. package/dist/apps/context-files-ui/assets/properties-CoavQdLC.js +1 -0
  383. package/dist/apps/context-files-ui/assets/protobuf-D5EWhcmc.js +1 -0
  384. package/dist/apps/context-files-ui/assets/pug-QU72BPAa.js +1 -0
  385. package/dist/apps/context-files-ui/assets/puppet-B_0GFuyD.js +1 -0
  386. package/dist/apps/context-files-ui/assets/python-Cs7sNzy_.js +1 -0
  387. package/dist/apps/context-files-ui/assets/q-BIB9pPtI.js +1 -0
  388. package/dist/apps/context-files-ui/assets/r-CN5s4f3o.js +1 -0
  389. package/dist/apps/context-files-ui/assets/rpm-Ct_Ck8mQ.js +1 -0
  390. package/dist/apps/context-files-ui/assets/ruby-BVPradRk.js +1 -0
  391. package/dist/apps/context-files-ui/assets/sas-DN4j74IF.js +1 -0
  392. package/dist/apps/context-files-ui/assets/scheme-CvNgHAnh.js +1 -0
  393. package/dist/apps/context-files-ui/assets/shell-BjiMLAaM.js +1 -0
  394. package/dist/apps/context-files-ui/assets/sieve-C2U1O5Z4.js +1 -0
  395. package/dist/apps/context-files-ui/assets/simple-mode-DnMbQuKW.js +1 -0
  396. package/dist/apps/context-files-ui/assets/smalltalk-DkYwYufV.js +1 -0
  397. package/dist/apps/context-files-ui/assets/solr-BopnSD-v.js +1 -0
  398. package/dist/apps/context-files-ui/assets/sparql-Cpg3YQfd.js +1 -0
  399. package/dist/apps/context-files-ui/assets/spreadsheet-kRxtVt9J.js +1 -0
  400. package/dist/apps/context-files-ui/assets/sql-DYI2GwJR.js +1 -0
  401. package/dist/apps/context-files-ui/assets/stex-BCRT8IJ3.js +1 -0
  402. package/dist/apps/context-files-ui/assets/stylus-CARoeVE9.js +1 -0
  403. package/dist/apps/context-files-ui/assets/swift-DKNaLAK6.js +1 -0
  404. package/dist/apps/context-files-ui/assets/tcl-CQyXkgMH.js +1 -0
  405. package/dist/apps/context-files-ui/assets/textile-Yg_UWn-t.js +1 -0
  406. package/dist/apps/context-files-ui/assets/tiddlywiki-dqVbkfX4.js +1 -0
  407. package/dist/apps/context-files-ui/assets/tiki-CC_ic8g0.js +1 -0
  408. package/dist/apps/context-files-ui/assets/toml-B7gGzVkJ.js +1 -0
  409. package/dist/apps/context-files-ui/assets/troff-Bq3z6oAu.js +1 -0
  410. package/dist/apps/context-files-ui/assets/ttcn-GvRgs2AT.js +1 -0
  411. package/dist/apps/context-files-ui/assets/ttcn-cfg-CGCXz7Vo.js +1 -0
  412. package/dist/apps/context-files-ui/assets/turtle-CwIpz2yy.js +1 -0
  413. package/dist/apps/context-files-ui/assets/vb-BmcHUM2C.js +1 -0
  414. package/dist/apps/context-files-ui/assets/vbscript-Cs9dylre.js +1 -0
  415. package/dist/apps/context-files-ui/assets/velocity-CBWU0VCy.js +1 -0
  416. package/dist/apps/context-files-ui/assets/verilog-DVCHmufx.js +1 -0
  417. package/dist/apps/context-files-ui/assets/vhdl-BGDk4f1d.js +1 -0
  418. package/dist/apps/context-files-ui/assets/webidl-egXQEWlC.js +1 -0
  419. package/dist/apps/context-files-ui/assets/xquery-5f0hn7cg.js +1 -0
  420. package/dist/apps/context-files-ui/assets/yacas-DNs9XkmQ.js +1 -0
  421. package/dist/apps/context-files-ui/assets/z80-B7Dfb4UO.js +1 -0
  422. package/dist/apps/context-files-ui/index.html +14 -0
  423. package/dist/auth/better-auth.js +130 -0
  424. package/dist/auth/login-actions.js +251 -0
  425. package/dist/auth/openai-codex-usage.js +147 -0
  426. package/dist/auth/types.js +14 -0
  427. package/dist/bin/pibo.js +3 -0
  428. package/dist/bin/rg.js +15 -0
  429. package/dist/channels/types.js +1 -0
  430. package/dist/cli-errors.js +18 -0
  431. package/dist/cli-session/fakeSessionSource.js +804 -0
  432. package/dist/cli-session/index.js +3 -0
  433. package/dist/cli-session/localSessionSource.js +1144 -0
  434. package/dist/cli-session/sessionSource.js +13 -0
  435. package/dist/cli.js +491 -0
  436. package/dist/compute/cli.js +415 -0
  437. package/dist/compute/docker.js +835 -0
  438. package/dist/compute/resource-health.js +334 -0
  439. package/dist/compute/resource-policy.js +98 -0
  440. package/dist/config/config.js +180 -0
  441. package/dist/core/base-prompt.js +104 -0
  442. package/dist/core/codex-compat.js +44 -0
  443. package/dist/core/compaction-prompt.js +293 -0
  444. package/dist/core/context-build.js +711 -0
  445. package/dist/core/context-guard.js +293 -0
  446. package/dist/core/events.js +1 -0
  447. package/dist/core/gateway-resource-guard.js +215 -0
  448. package/dist/core/model-defaults.js +95 -0
  449. package/dist/core/pibo-home.js +8 -0
  450. package/dist/core/profiles.js +210 -0
  451. package/dist/core/provider-recovery.js +64 -0
  452. package/dist/core/provider-telemetry.js +353 -0
  453. package/dist/core/routed-session.js +1179 -0
  454. package/dist/core/runtime-telemetry.js +1059 -0
  455. package/dist/core/runtime.js +529 -0
  456. package/dist/core/session-errors.js +76 -0
  457. package/dist/core/session-model.js +39 -0
  458. package/dist/core/session-router.js +857 -0
  459. package/dist/core/skill-expansion.js +43 -0
  460. package/dist/core/system-prompt-template.js +56 -0
  461. package/dist/core/telemetry-retention-settings.js +34 -0
  462. package/dist/core/telemetry-staleness.js +128 -0
  463. package/dist/core/test-output-compaction.js +145 -0
  464. package/dist/core/thinking.js +9 -0
  465. package/dist/core/user-settings.js +84 -0
  466. package/dist/core/workspace.js +5 -0
  467. package/dist/core/wsl.js +100 -0
  468. package/dist/cron/channel.js +28 -0
  469. package/dist/cron/cli.js +230 -0
  470. package/dist/cron/plugin.js +11 -0
  471. package/dist/cron/schedule.js +214 -0
  472. package/dist/cron/service.js +177 -0
  473. package/dist/cron/store.js +349 -0
  474. package/dist/cron/types.js +1 -0
  475. package/dist/data/cli.js +184 -0
  476. package/dist/data/event-log.js +106 -0
  477. package/dist/data/ingest-service.js +389 -0
  478. package/dist/data/message-store.js +62 -0
  479. package/dist/data/navigation-store.js +75 -0
  480. package/dist/data/observation-store.js +46 -0
  481. package/dist/data/payload-store.js +153 -0
  482. package/dist/data/pibo-store.js +59 -0
  483. package/dist/data/schema.js +436 -0
  484. package/dist/data/session-store.js +63 -0
  485. package/dist/data/sqlite-schema.js +12 -0
  486. package/dist/data/telemetry-preview.js +65 -0
  487. package/dist/data/telemetry-queries.js +212 -0
  488. package/dist/data/telemetry-retention.js +50 -0
  489. package/dist/data/telemetry-rows.js +158 -0
  490. package/dist/data/telemetry-writer.js +114 -0
  491. package/dist/data/telemetry.js +471 -0
  492. package/dist/debug/delta-compaction.js +99 -0
  493. package/dist/debug/detail-format.js +86 -0
  494. package/dist/debug/events.js +212 -0
  495. package/dist/debug/failures.js +162 -0
  496. package/dist/debug/index.js +1296 -0
  497. package/dist/debug/messages.js +185 -0
  498. package/dist/debug/next-commands.js +6 -0
  499. package/dist/debug/payloads.js +123 -0
  500. package/dist/debug/pty.js +924 -0
  501. package/dist/debug/session.js +230 -0
  502. package/dist/debug/sql.js +238 -0
  503. package/dist/debug/stores.js +54 -0
  504. package/dist/debug/summary.js +72 -0
  505. package/dist/debug/telemetry.js +649 -0
  506. package/dist/debug/tools.js +168 -0
  507. package/dist/debug/trace-render-check.js +151 -0
  508. package/dist/debug/trace.js +370 -0
  509. package/dist/debug/web-artifacts.js +63 -0
  510. package/dist/debug/web-options.js +313 -0
  511. package/dist/debug/web-render-analysis.js +310 -0
  512. package/dist/debug/web-snapshot-browser-scripts.js +303 -0
  513. package/dist/debug/web-streaming-benchmark-analysis.js +605 -0
  514. package/dist/debug/web-streaming-browser-library.js +928 -0
  515. package/dist/debug/web-streaming-browser-scripts.js +242 -0
  516. package/dist/debug/web-streaming-provider-telemetry.js +194 -0
  517. package/dist/debug/web-streaming-report.js +493 -0
  518. package/dist/debug/web-streaming-types.js +1 -0
  519. package/dist/debug/web.js +574 -0
  520. package/dist/gateway/backup.js +83 -0
  521. package/dist/gateway/cli.js +632 -0
  522. package/dist/gateway/client.js +200 -0
  523. package/dist/gateway/fallback.js +155 -0
  524. package/dist/gateway/pidfile.js +130 -0
  525. package/dist/gateway/protocol.js +62 -0
  526. package/dist/gateway/request.js +155 -0
  527. package/dist/gateway/server.js +399 -0
  528. package/dist/gateway/tool.js +72 -0
  529. package/dist/gateway/web.js +224 -0
  530. package/dist/index.js +25 -0
  531. package/dist/local/client.js +77 -0
  532. package/dist/local/extension.js +551 -0
  533. package/dist/local/tui.js +25 -0
  534. package/dist/mcp/agent-context.js +127 -0
  535. package/dist/mcp/client.js +332 -0
  536. package/dist/mcp/commands/call.js +146 -0
  537. package/dist/mcp/commands/grep.js +145 -0
  538. package/dist/mcp/commands/info.js +83 -0
  539. package/dist/mcp/commands/list.js +94 -0
  540. package/dist/mcp/config-command.js +217 -0
  541. package/dist/mcp/config.js +473 -0
  542. package/dist/mcp/daemon-client.js +266 -0
  543. package/dist/mcp/daemon.js +327 -0
  544. package/dist/mcp/errors.js +287 -0
  545. package/dist/mcp/index.js +431 -0
  546. package/dist/mcp/output.js +226 -0
  547. package/dist/mcp/python-runtime.js +131 -0
  548. package/dist/mcp/registry.js +116 -0
  549. package/dist/mcp/version.js +5 -0
  550. package/dist/pi-packages/cli.js +92 -0
  551. package/dist/pi-packages/installer.js +70 -0
  552. package/dist/pi-packages/metadata.js +231 -0
  553. package/dist/pi-packages/runtime.js +61 -0
  554. package/dist/pi-packages/store.js +175 -0
  555. package/dist/pi-packages/types.js +1 -0
  556. package/dist/plugins/better-auth.js +11 -0
  557. package/dist/plugins/builtin.js +478 -0
  558. package/dist/plugins/chat-custom-agents.js +20 -0
  559. package/dist/plugins/chat-user-skills.js +41 -0
  560. package/dist/plugins/chat-vscode-web.js +28 -0
  561. package/dist/plugins/chat-web.js +11 -0
  562. package/dist/plugins/codex-compat.js +33 -0
  563. package/dist/plugins/context-files-store.js +354 -0
  564. package/dist/plugins/context-files.js +1081 -0
  565. package/dist/plugins/dev-auth.js +202 -0
  566. package/dist/plugins/native-tooling.js +15 -0
  567. package/dist/plugins/registry.js +436 -0
  568. package/dist/plugins/types.js +1 -0
  569. package/dist/plugins/web-annotations.js +27 -0
  570. package/dist/plugins/web.js +11 -0
  571. package/dist/providers/glm.js +59 -0
  572. package/dist/providers/minimax.js +70 -0
  573. package/dist/providers/openai-compat.js +48 -0
  574. package/dist/providers/openai-gpt56.js +153 -0
  575. package/dist/ralph/channel.js +8 -0
  576. package/dist/ralph/cli.js +197 -0
  577. package/dist/ralph/plugin.js +14 -0
  578. package/dist/ralph/service.js +317 -0
  579. package/dist/ralph/stopping.js +151 -0
  580. package/dist/ralph/store.js +450 -0
  581. package/dist/ralph/templates.js +200 -0
  582. package/dist/ralph/types.js +1 -0
  583. package/dist/reliability/store.js +775 -0
  584. package/dist/resources/cli.js +135 -0
  585. package/dist/resources/lifecycle.js +353 -0
  586. package/dist/resources/reaper-state.js +94 -0
  587. package/dist/resources/reaper.js +145 -0
  588. package/dist/runs/registry.js +360 -0
  589. package/dist/runs/tools.js +185 -0
  590. package/dist/session-ui/commandCatalog.js +193 -0
  591. package/dist/session-ui/commandResults.js +95 -0
  592. package/dist/session-ui/delegation.js +89 -0
  593. package/dist/session-ui/index.js +8 -0
  594. package/dist/session-ui/roomSessionViewModel.js +69 -0
  595. package/dist/session-ui/sessionActivity.js +30 -0
  596. package/dist/session-ui/statusViewModel.js +127 -0
  597. package/dist/session-ui/terminalCards.js +210 -0
  598. package/dist/session-ui/terminalRows.js +1163 -0
  599. package/dist/session-ui/terminalValue.js +45 -0
  600. package/dist/sessions/pibo-data-store.js +178 -0
  601. package/dist/sessions/sqlite-store.js +220 -0
  602. package/dist/sessions/store.js +132 -0
  603. package/dist/sessions/workflow-session-kind.js +20 -0
  604. package/dist/setup/cli.js +619 -0
  605. package/dist/shared/trace-async-agent-runs.js +127 -0
  606. package/dist/shared/trace-engine.js +97 -0
  607. package/dist/shared/trace-event-projection.js +789 -0
  608. package/dist/shared/trace-live-reducer.js +191 -0
  609. package/dist/shared/trace-nodes.js +88 -0
  610. package/dist/shared/trace-order.js +84 -0
  611. package/dist/shared/trace-page-merge.js +40 -0
  612. package/dist/shared/trace-patch-nodes.js +83 -0
  613. package/dist/shared/trace-run-notifications.js +69 -0
  614. package/dist/shared/trace-subagent-links.js +46 -0
  615. package/dist/shared/trace-transcript.js +371 -0
  616. package/dist/shared/trace-types.js +1 -0
  617. package/dist/signals/aggregate.js +65 -0
  618. package/dist/signals/events.js +1 -0
  619. package/dist/signals/projector.js +208 -0
  620. package/dist/signals/registry.js +577 -0
  621. package/dist/signals/status.js +12 -0
  622. package/dist/signals/store.js +1 -0
  623. package/dist/signals/types.js +1 -0
  624. package/dist/skills/cli.js +151 -0
  625. package/dist/subagents/tool.js +63 -0
  626. package/dist/tools/agent-browser-leases.js +219 -0
  627. package/dist/tools/agent-browser-wrapper.js +99 -0
  628. package/dist/tools/browser-pool.js +623 -0
  629. package/dist/tools/browser-use-cdp.js +259 -0
  630. package/dist/tools/browser-use-leases.js +516 -0
  631. package/dist/tools/browser-use-wrapper.js +781 -0
  632. package/dist/tools/cdp-client.js +189 -0
  633. package/dist/tools/codex-compat.js +85 -0
  634. package/dist/tools/codex-image-generation.js +272 -0
  635. package/dist/tools/desktop-env.js +99 -0
  636. package/dist/tools/guides.js +563 -0
  637. package/dist/tools/index.js +1020 -0
  638. package/dist/tools/linux-virtual-display.js +58 -0
  639. package/dist/tools/npm-runtime.js +136 -0
  640. package/dist/tools/python-runtime.js +183 -0
  641. package/dist/tools/registry.js +237 -0
  642. package/dist/tools/runtime/index.js +3 -0
  643. package/dist/tools/runtime/node-backend.js +225 -0
  644. package/dist/tools/runtime/node-worker-source.js +206 -0
  645. package/dist/tools/runtime/python-backend.js +227 -0
  646. package/dist/tools/runtime/python-worker-source.js +178 -0
  647. package/dist/tools/runtime/registry.js +255 -0
  648. package/dist/tools/runtime/tool.js +168 -0
  649. package/dist/tools/runtime/types.js +1 -0
  650. package/dist/tools/web-search.js +138 -0
  651. package/dist/user-skills/installer.js +214 -0
  652. package/dist/user-skills/manager.js +133 -0
  653. package/dist/user-skills/store.js +267 -0
  654. package/dist/user-skills/types.js +1 -0
  655. package/dist/vscode/cli.js +90 -0
  656. package/dist/vscode/code-cli.js +119 -0
  657. package/dist/vscode/install.js +177 -0
  658. package/dist/vscode/status.js +80 -0
  659. package/dist/vscode/types.js +14 -0
  660. package/dist/vscode/uninstall.js +49 -0
  661. package/dist/vscode/vsix-fetcher.js +131 -0
  662. package/dist/web/auth.js +14 -0
  663. package/dist/web/channel.js +288 -0
  664. package/dist/web/http.js +195 -0
  665. package/dist/web/types.js +1 -0
  666. package/dist/web-annotations/api.js +348 -0
  667. package/dist/web-annotations/attachments.js +201 -0
  668. package/dist/web-annotations/cdp.js +1107 -0
  669. package/dist/web-annotations/index.js +7 -0
  670. package/dist/web-annotations/store.js +407 -0
  671. package/dist/web-annotations/tools.js +350 -0
  672. package/dist/web-annotations/types.js +34 -0
  673. package/dist/web-annotations/validation.js +288 -0
  674. package/docs/README.md +23 -23
  675. package/docs/ops/install-developer-host.md +112 -112
  676. package/docs/ops/install-user-host.md +96 -96
  677. package/docs/ops/upgrade-user-to-developer-host.md +69 -69
  678. package/docs/ops/vscode-extension-release.md +160 -160
  679. package/package.json +95 -95
  680. package/skills/builtin/graphify/SKILL.md +52 -52
  681. package/skills/builtin/pi-agent-harness/SKILL.md +319 -319
  682. package/skills/builtin/pi-agent-harness/agents/openai.yaml +4 -4
  683. package/skills/builtin/pibo-docker-system/SKILL.md +170 -170
  684. package/skills/builtin/pibo-spec-writing/SKILL.md +330 -330
  685. package/skills/builtin/prd/SKILL.md +143 -143
  686. package/skills/builtin/ralph-loop/SKILL.md +359 -359
  687. package/skills/builtin/ralph-prd-json/SKILL.md +123 -123
  688. package/skills/builtin/skill-creator/LICENSE.txt +201 -201
  689. package/skills/builtin/skill-creator/SKILL.md +513 -513
  690. package/skills/builtin/skill-creator/agents/analyzer.md +274 -274
  691. package/skills/builtin/skill-creator/agents/comparator.md +202 -202
  692. package/skills/builtin/skill-creator/agents/grader.md +223 -223
  693. package/skills/builtin/skill-creator/assets/eval_review.html +146 -146
  694. package/skills/builtin/skill-creator/eval-viewer/generate_review.py +471 -471
  695. package/skills/builtin/skill-creator/eval-viewer/viewer.html +1325 -1325
  696. package/skills/builtin/skill-creator/references/schemas.md +430 -430
  697. package/skills/builtin/skill-creator/scripts/aggregate_benchmark.py +401 -401
  698. package/skills/builtin/skill-creator/scripts/generate_report.py +326 -326
  699. package/skills/builtin/skill-creator/scripts/improve_description.py +247 -247
  700. package/skills/builtin/skill-creator/scripts/package_skill.py +136 -136
  701. package/skills/builtin/skill-creator/scripts/quick_validate.py +102 -102
  702. package/skills/builtin/skill-creator/scripts/run_eval.py +310 -310
  703. package/skills/builtin/skill-creator/scripts/run_loop.py +328 -328
  704. package/skills/builtin/skill-creator/scripts/utils.py +47 -47
  705. package/skills/builtin/web-annotations/SKILL.md +93 -93
  706. package/src/mcp/LICENSE.mcp-cli +21 -21
@@ -0,0 +1,1296 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { getPiboHome } from "../core/pibo-home.js";
3
+ import { resolveDebugStore, resolveDebugStores } from "./stores.js";
4
+ export async function runDebugCli(argv = process.argv) {
5
+ try {
6
+ const args = argv.slice(2);
7
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
8
+ printDebugDiscovery();
9
+ return;
10
+ }
11
+ if (args[0] === "db") {
12
+ await runDebugDb(args.slice(1));
13
+ return;
14
+ }
15
+ if (args[0] === "session") {
16
+ await runDebugSession(args.slice(1));
17
+ return;
18
+ }
19
+ if (args[0] === "trace") {
20
+ await runDebugTrace(args.slice(1));
21
+ return;
22
+ }
23
+ if (args[0] === "summary") {
24
+ await runDebugSummary(args.slice(1));
25
+ return;
26
+ }
27
+ if (args[0] === "messages") {
28
+ await runDebugMessages(args.slice(1));
29
+ return;
30
+ }
31
+ if (args[0] === "final") {
32
+ await runDebugFinal(args.slice(1));
33
+ return;
34
+ }
35
+ if (args[0] === "tool") {
36
+ await runDebugTool(args.slice(1));
37
+ return;
38
+ }
39
+ if (args[0] === "failures") {
40
+ await runDebugFailures(args.slice(1));
41
+ return;
42
+ }
43
+ if (args[0] === "events") {
44
+ await runDebugEvents(args.slice(1));
45
+ return;
46
+ }
47
+ if (args[0] === "jobs") {
48
+ await runDebugJobs(args.slice(1));
49
+ return;
50
+ }
51
+ if (args[0] === "runs") {
52
+ await runDebugRuns(args.slice(1));
53
+ return;
54
+ }
55
+ if (args[0] === "resources") {
56
+ await runDebugResources(args.slice(1));
57
+ return;
58
+ }
59
+ if (args[0] === "signals") {
60
+ await runDebugSignals(args.slice(1));
61
+ return;
62
+ }
63
+ if (args[0] === "telemetry") {
64
+ await runDebugTelemetry(args.slice(1));
65
+ return;
66
+ }
67
+ if (args[0] === "web") {
68
+ const { runDebugWeb } = await import("./web.js");
69
+ await runDebugWeb(args.slice(1));
70
+ return;
71
+ }
72
+ if (args[0] === "pty") {
73
+ const { runDebugPty } = await import("./pty.js");
74
+ await runDebugPty(args.slice(1));
75
+ return;
76
+ }
77
+ throw new Error(`Unknown pibo debug command "${args[0]}". Run pibo debug --help.`);
78
+ }
79
+ catch (error) {
80
+ console.error(error instanceof Error ? error.message : String(error));
81
+ process.exitCode = 1;
82
+ }
83
+ }
84
+ async function runDebugResources(args) {
85
+ if (args[0] === "--help" || args[0] === "-h") {
86
+ printDebugResourcesDiscovery();
87
+ return;
88
+ }
89
+ const options = parseOptions(args);
90
+ const { collectGatewayResourceSnapshot, renderGatewayResourceSnapshotText } = await import("../core/gateway-resource-guard.js");
91
+ const snapshot = await collectGatewayResourceSnapshot();
92
+ if (options.json)
93
+ console.log(JSON.stringify(snapshot, null, 2));
94
+ else
95
+ console.log(renderGatewayResourceSnapshotText(snapshot));
96
+ }
97
+ async function runDebugDb(args) {
98
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
99
+ printDebugDbDiscovery();
100
+ return;
101
+ }
102
+ const command = args[0];
103
+ const options = parseOptions(args.slice(1));
104
+ if (command === "stores") {
105
+ const stores = resolveDebugStores();
106
+ if (options.json) {
107
+ console.log(JSON.stringify({ stores }, null, 2));
108
+ return;
109
+ }
110
+ console.log(["store\tpath\texists\tdescription", ...stores.map((store) => `${store.name}\t${store.path}\t${store.exists}\t${store.description}`)].join("\n"));
111
+ return;
112
+ }
113
+ const storeName = options.positionals[0];
114
+ if (!storeName)
115
+ throw new Error(`pibo debug db ${command} requires <store>`);
116
+ const store = resolveDebugStore(storeName);
117
+ if (command === "tables") {
118
+ const { formatJson, listTables } = await import("./sql.js");
119
+ const tables = listTables(store);
120
+ if (options.json)
121
+ console.log(formatJson({ store: store.name, path: store.path, tables }));
122
+ else
123
+ console.log(tables.length ? tables.join("\n") : "tables: 0");
124
+ return;
125
+ }
126
+ if (command === "schema") {
127
+ const { formatJson, getStoreSchema } = await import("./sql.js");
128
+ const tables = getStoreSchema(store);
129
+ if (options.json) {
130
+ console.log(formatJson({ store: store.name, path: store.path, tables }));
131
+ return;
132
+ }
133
+ console.log(formatSchemaText(tables));
134
+ return;
135
+ }
136
+ if (command === "query") {
137
+ const { formatJson, formatRows, runReadOnlyQuery } = await import("./sql.js");
138
+ const sql = options.positionals.slice(1).join(" ");
139
+ const result = runReadOnlyQuery(store, sql, { limit: options.limit });
140
+ if (options.json)
141
+ console.log(formatJson(result));
142
+ else
143
+ console.log(formatRows(result.rows, { limited: result.limited }));
144
+ return;
145
+ }
146
+ throw new Error(`Unknown pibo debug db command "${command}". Run pibo debug db --help.`);
147
+ }
148
+ async function runDebugSession(args) {
149
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
150
+ printDebugSessionDiscovery();
151
+ return;
152
+ }
153
+ const options = parseOptions(args);
154
+ const input = options.positionals[0];
155
+ if (!input)
156
+ throw new Error("pibo debug session requires <url-or-pibo-session-id>");
157
+ const { formatJson } = await import("./sql.js");
158
+ const { formatDebugSessionSummary, inspectDebugSession } = await import("./session.js");
159
+ const summary = inspectDebugSession(input, {
160
+ sessions: resolveDebugStore("sessions"),
161
+ chat: resolveDebugStore("chat"),
162
+ }, {
163
+ events: options.events,
164
+ limit: options.limit,
165
+ });
166
+ if (options.json)
167
+ console.log(formatJson(summary));
168
+ else
169
+ console.log(formatDebugSessionSummary(summary));
170
+ }
171
+ async function runDebugSummary(args) {
172
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
173
+ printDebugSummaryDiscovery();
174
+ return;
175
+ }
176
+ const options = parseOptions(args);
177
+ const input = options.positionals[0];
178
+ if (!input)
179
+ throw new Error("pibo debug summary requires <pibo-session-id>");
180
+ const { formatJson } = await import("./sql.js");
181
+ const { formatDebugSummary, inspectDebugSummary } = await import("./summary.js");
182
+ const result = await inspectDebugSummary(input, { sessions: resolveDebugStore("sessions"), chat: resolveDebugStore("chat") });
183
+ if (options.json)
184
+ console.log(formatJson(result));
185
+ else
186
+ console.log(formatDebugSummary(result));
187
+ }
188
+ async function runDebugMessages(args) {
189
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
190
+ printDebugMessagesDiscovery();
191
+ return;
192
+ }
193
+ const options = parseOptions(args);
194
+ const piboSessionId = options.positionals[0];
195
+ const command = options.positionals[1] ?? "list";
196
+ if (!piboSessionId)
197
+ throw new Error("pibo debug messages requires <pibo-session-id>");
198
+ const { formatJson } = await import("./sql.js");
199
+ const { formatDebugMessageShow, formatDebugMessagesList, inspectDebugMessageShow, inspectDebugMessagesList } = await import("./messages.js");
200
+ if (command === "list") {
201
+ const result = inspectDebugMessagesList(piboSessionId, resolveDebugStore("chat"), { limit: options.limit });
202
+ if (options.json)
203
+ console.log(formatJson(result));
204
+ else
205
+ console.log(formatDebugMessagesList(result));
206
+ return;
207
+ }
208
+ if (command === "show") {
209
+ const selector = options.positionals[2];
210
+ if (!selector)
211
+ throw new Error("pibo debug messages <pibo-session-id> show requires <selector>");
212
+ const result = inspectDebugMessageShow(piboSessionId, resolveDebugStore("chat"), selector, detailOptions(options));
213
+ if (options.json)
214
+ console.log(formatJson(result));
215
+ else
216
+ console.log(formatDebugMessageShow(result, { plain: options.plain }));
217
+ return;
218
+ }
219
+ throw new Error(`Unknown pibo debug messages command "${command}". Run pibo debug messages --help.`);
220
+ }
221
+ async function runDebugFinal(args) {
222
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
223
+ printDebugFinalDiscovery();
224
+ return;
225
+ }
226
+ const options = parseOptions(args);
227
+ const piboSessionId = options.positionals[0];
228
+ if (!piboSessionId)
229
+ throw new Error("pibo debug final requires <pibo-session-id>");
230
+ const { formatJson } = await import("./sql.js");
231
+ const { formatDebugMessageShow, inspectDebugMessageShow } = await import("./messages.js");
232
+ const result = inspectDebugMessageShow(piboSessionId, resolveDebugStore("chat"), "assistant:last", { ...detailOptions(options), final: true });
233
+ if (options.json)
234
+ console.log(formatJson(result));
235
+ else
236
+ console.log(formatDebugMessageShow(result, { plain: options.plain, final: true }));
237
+ }
238
+ async function runDebugTool(args) {
239
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
240
+ printDebugToolDiscovery();
241
+ return;
242
+ }
243
+ const options = parseOptions(args);
244
+ const piboSessionId = options.positionals[0];
245
+ const toolCallId = options.positionals[1];
246
+ if (!piboSessionId || !toolCallId)
247
+ throw new Error("pibo debug tool requires <pibo-session-id> <tool-call-id>");
248
+ const { formatJson } = await import("./sql.js");
249
+ const { formatDebugTool, inspectDebugTool } = await import("./tools.js");
250
+ const result = inspectDebugTool(piboSessionId, resolveDebugStore("chat"), toolCallId, { ...detailOptions(options), args: options.args, output: options.output, error: options.error });
251
+ if (options.json)
252
+ console.log(formatJson(result));
253
+ else
254
+ console.log(formatDebugTool(result, { args: options.args, output: options.output, error: options.error }));
255
+ }
256
+ async function runDebugFailures(args) {
257
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
258
+ printDebugFailuresDiscovery();
259
+ return;
260
+ }
261
+ const options = parseOptions(args);
262
+ const piboSessionId = options.positionals[0];
263
+ if (!piboSessionId)
264
+ throw new Error("pibo debug failures requires <pibo-session-id>");
265
+ const { formatJson } = await import("./sql.js");
266
+ const { formatDebugFailures, inspectDebugFailures } = await import("./failures.js");
267
+ const result = await inspectDebugFailures(piboSessionId, { sessions: resolveDebugStore("sessions"), chat: resolveDebugStore("chat") }, { limit: options.limit });
268
+ if (options.json)
269
+ console.log(formatJson(result));
270
+ else
271
+ console.log(formatDebugFailures(result));
272
+ }
273
+ async function runDebugSignals(args) {
274
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
275
+ printDebugSignalsDiscovery();
276
+ return;
277
+ }
278
+ const command = args[0];
279
+ const options = parseOptions(args.slice(1));
280
+ const piboSessionId = options.positionals[0];
281
+ if ((command !== "session" && command !== "tree") || !piboSessionId) {
282
+ throw new Error("pibo debug signals requires session <pibo-session-id> or tree <root-pibo-session-id>");
283
+ }
284
+ const baseUrl = process.env.PIBO_GATEWAY_URL ?? process.env.PIBO_WEB_URL;
285
+ if (!baseUrl)
286
+ throw new Error("Set PIBO_GATEWAY_URL to inspect live signal state through Chat Web APIs.");
287
+ const url = new URL(`/api/chat/signals/${command}/${encodeURIComponent(piboSessionId)}`, baseUrl);
288
+ const headers = new Headers();
289
+ if (options.cookie)
290
+ headers.set("cookie", readCookieHeaderFile(options.cookie));
291
+ if (options.authHeader)
292
+ headers.set("authorization", options.authHeader);
293
+ const response = await fetch(url, { headers });
294
+ const payload = await response.json().catch(() => undefined);
295
+ if (!response.ok)
296
+ throw new Error(payload && typeof payload === "object" && "error" in payload ? String(payload.error) : `Request failed: ${response.status}`);
297
+ if (options.json) {
298
+ const { formatJson } = await import("./sql.js");
299
+ console.log(formatJson(payload));
300
+ }
301
+ else {
302
+ console.log(formatSignalSnapshotText(payload));
303
+ }
304
+ }
305
+ async function runDebugTelemetry(args) {
306
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
307
+ printDebugTelemetryDiscovery();
308
+ return;
309
+ }
310
+ const command = args[0];
311
+ const options = parseOptions(args.slice(1));
312
+ const { formatJson } = await import("./sql.js");
313
+ const { formatTelemetryProvider, formatTelemetryProviderEvents, formatTelemetryProviderPayload, formatTelemetryPrune, formatTelemetrySession, formatTelemetrySessions, formatTelemetryStale, formatTelemetryStats, formatTelemetryTool, formatTelemetryTurn, inspectTelemetryProvider, inspectTelemetryProviderEvents, inspectTelemetryProviderPayload, inspectTelemetryPrune, inspectTelemetrySession, inspectTelemetrySessions, inspectTelemetryStale, inspectTelemetryStats, inspectTelemetryTool, inspectTelemetryTurn, } = await import("./telemetry.js");
314
+ const store = resolveDebugStore("pibo-data");
315
+ if (command === "sessions") {
316
+ const result = inspectTelemetrySessions(store, { limit: options.limit, active: options.active, stale: options.stale });
317
+ if (options.json)
318
+ console.log(formatJson(result));
319
+ else
320
+ console.log(formatTelemetrySessions(result));
321
+ return;
322
+ }
323
+ if (command === "session") {
324
+ const piboSessionId = options.positionals[0];
325
+ if (!piboSessionId)
326
+ throw new Error("pibo debug telemetry session requires <pibo-session-id>");
327
+ const result = inspectTelemetrySession(store, piboSessionId, { limit: options.limit });
328
+ if (options.json)
329
+ console.log(formatJson(result));
330
+ else
331
+ console.log(formatTelemetrySession(result));
332
+ return;
333
+ }
334
+ if (command === "turn") {
335
+ const turnIdOrEventId = options.positionals[0];
336
+ if (!turnIdOrEventId)
337
+ throw new Error("pibo debug telemetry turn requires <turn-id-or-event-id>");
338
+ const result = inspectTelemetryTurn(store, turnIdOrEventId, { limit: options.limit, events: options.events });
339
+ if (options.json)
340
+ console.log(formatJson(result));
341
+ else
342
+ console.log(formatTelemetryTurn(result));
343
+ return;
344
+ }
345
+ if (command === "provider") {
346
+ const providerRequestId = options.positionals[0];
347
+ if (!providerRequestId)
348
+ throw new Error("pibo debug telemetry provider requires <provider-request-id>");
349
+ const subcommand = options.positionals[1];
350
+ if (subcommand === "events") {
351
+ const result = inspectTelemetryProviderEvents(store, providerRequestId, { limit: options.limit, after: options.after, fields: options.fields });
352
+ if (options.json)
353
+ console.log(formatJson(result));
354
+ else
355
+ console.log(formatTelemetryProviderEvents(result));
356
+ return;
357
+ }
358
+ if (subcommand === "payload") {
359
+ const payloadRef = options.positionals[2];
360
+ if (!payloadRef)
361
+ throw new Error("pibo debug telemetry provider <provider-request-id> payload requires <preview-or-event-summary-id>");
362
+ const result = inspectTelemetryProviderPayload(store, providerRequestId, payloadRef);
363
+ if (options.json)
364
+ console.log(formatJson(result));
365
+ else
366
+ console.log(formatTelemetryProviderPayload(result));
367
+ return;
368
+ }
369
+ if (subcommand)
370
+ throw new Error(`Unknown pibo debug telemetry provider subcommand "${subcommand}". Run pibo debug telemetry --help.`);
371
+ const result = inspectTelemetryProvider(store, providerRequestId);
372
+ if (options.json)
373
+ console.log(formatJson(result));
374
+ else
375
+ console.log(formatTelemetryProvider(result));
376
+ return;
377
+ }
378
+ if (command === "tool") {
379
+ const toolCallId = options.positionals[0];
380
+ if (!toolCallId)
381
+ throw new Error("pibo debug telemetry tool requires <tool-call-id>");
382
+ const result = inspectTelemetryTool(store, toolCallId);
383
+ if (options.json)
384
+ console.log(formatJson(result));
385
+ else
386
+ console.log(formatTelemetryTool(result));
387
+ return;
388
+ }
389
+ if (command === "stale") {
390
+ const result = inspectTelemetryStale(store, { limit: options.limit, thresholdMs: options.thresholdMs });
391
+ if (options.json)
392
+ console.log(formatJson(result));
393
+ else
394
+ console.log(formatTelemetryStale(result));
395
+ return;
396
+ }
397
+ if (command === "stats") {
398
+ const result = inspectTelemetryStats(store, { retention: options.retention });
399
+ if (options.json)
400
+ console.log(formatJson(result));
401
+ else
402
+ console.log(formatTelemetryStats(result));
403
+ return;
404
+ }
405
+ if (command === "prune") {
406
+ const result = inspectTelemetryPrune(store, { retention: options.retention, before: options.before, apply: options.apply });
407
+ if (options.json)
408
+ console.log(formatJson(result));
409
+ else
410
+ console.log(formatTelemetryPrune(result));
411
+ return;
412
+ }
413
+ throw new Error(`Unknown pibo debug telemetry command "${command}". Run pibo debug telemetry --help.`);
414
+ }
415
+ async function runDebugTrace(args) {
416
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
417
+ printDebugTraceDiscovery();
418
+ return;
419
+ }
420
+ const options = parseOptions(args);
421
+ const piboSessionId = options.positionals[0];
422
+ if (!piboSessionId)
423
+ throw new Error("pibo debug trace requires <pibo-session-id>");
424
+ const stores = {
425
+ sessions: resolveDebugStore("sessions"),
426
+ chat: resolveDebugStore("chat"),
427
+ };
428
+ const { formatJson } = await import("./sql.js");
429
+ const { formatDebugTrace, formatDebugTraceNode, inspectDebugTrace, inspectDebugTraceNode } = await import("./trace.js");
430
+ if (options.positionals[1] === "show") {
431
+ const nodeId = options.positionals[2];
432
+ if (!nodeId)
433
+ throw new Error("pibo debug trace <pibo-session-id> show requires <node-id>");
434
+ const result = await inspectDebugTraceNode(piboSessionId, stores, nodeId);
435
+ if (options.json)
436
+ console.log(formatJson(result));
437
+ else
438
+ console.log(formatDebugTraceNode(result));
439
+ return;
440
+ }
441
+ const result = await inspectDebugTrace(piboSessionId, stores, {
442
+ runningOnly: options.runningOnly,
443
+ check: options.check,
444
+ });
445
+ if (options.json)
446
+ console.log(formatJson(result));
447
+ else
448
+ console.log(formatDebugTrace(result, { medium: options.medium }));
449
+ }
450
+ async function runDebugEvents(args) {
451
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
452
+ printDebugEventsDiscovery();
453
+ return;
454
+ }
455
+ if (args[0] === "compact-deltas") {
456
+ const options = parseOptions(args.slice(1));
457
+ const { formatJson } = await import("./sql.js");
458
+ const { formatDeltaCompaction, runDeltaCompaction } = await import("./delta-compaction.js");
459
+ const result = runDeltaCompaction({
460
+ apply: options.apply,
461
+ store: options.store,
462
+ session: options.key,
463
+ json: options.json,
464
+ });
465
+ if (options.json)
466
+ console.log(formatJson(result));
467
+ else
468
+ console.log(formatDeltaCompaction(result));
469
+ return;
470
+ }
471
+ if (args[0] === "stream") {
472
+ const options = parseOptions(args.slice(1));
473
+ const { formatJson, formatRows } = await import("./sql.js");
474
+ const { PiboReliabilityStore } = await import("../reliability/store.js");
475
+ const store = resolveDebugStore("reliability");
476
+ if (!store.exists)
477
+ throw new Error(`Debug store "reliability" not found at ${store.path}`);
478
+ const reliability = new PiboReliabilityStore(store.path);
479
+ try {
480
+ const events = reliability.list({
481
+ topic: options.topic,
482
+ afterStreamId: options.after ? Number(options.after) : undefined,
483
+ limit: options.limit ? Number(options.limit) : undefined,
484
+ });
485
+ if (options.json)
486
+ console.log(formatJson({ events }));
487
+ else
488
+ console.log(formatRows(events.map(compactEventRow)));
489
+ }
490
+ finally {
491
+ reliability.close();
492
+ }
493
+ return;
494
+ }
495
+ if (args[0] === "stats") {
496
+ const options = parseOptions(args.slice(1));
497
+ const { formatJson, formatRows } = await import("./sql.js");
498
+ const { PiboReliabilityStore } = await import("../reliability/store.js");
499
+ const store = resolveDebugStore("reliability");
500
+ if (!store.exists)
501
+ throw new Error(`Debug store "reliability" not found at ${store.path}`);
502
+ const reliability = new PiboReliabilityStore(store.path);
503
+ try {
504
+ const counts = reliability.countEvents({
505
+ topic: options.topic,
506
+ key: options.key,
507
+ retentionClass: options.retention,
508
+ });
509
+ if (options.json)
510
+ console.log(formatJson({ counts }));
511
+ else
512
+ console.log(formatRows(counts));
513
+ }
514
+ finally {
515
+ reliability.close();
516
+ }
517
+ return;
518
+ }
519
+ if (args[0] === "prune") {
520
+ const options = parseOptions(args.slice(1));
521
+ const { formatJson, formatRows } = await import("./sql.js");
522
+ const { PiboReliabilityStore } = await import("../reliability/store.js");
523
+ const store = resolveDebugStore("reliability");
524
+ if (!store.exists)
525
+ throw new Error(`Debug store "reliability" not found at ${store.path}`);
526
+ if (!options.topic || !options.retention || !options.before) {
527
+ throw new Error("pibo debug events prune requires --topic, --retention, and --before");
528
+ }
529
+ const reliability = new PiboReliabilityStore(store.path);
530
+ try {
531
+ const deleted = reliability.prune({
532
+ topic: options.topic,
533
+ retentionClass: options.retention,
534
+ before: options.before,
535
+ limit: options.limit ? Number(options.limit) : undefined,
536
+ destructive: options.destructive,
537
+ });
538
+ const result = {
539
+ topic: options.topic,
540
+ retentionClass: options.retention,
541
+ before: options.before,
542
+ destructive: options.destructive,
543
+ deleted,
544
+ };
545
+ if (options.json)
546
+ console.log(formatJson(result));
547
+ else
548
+ console.log(formatRows([result]));
549
+ }
550
+ finally {
551
+ reliability.close();
552
+ }
553
+ return;
554
+ }
555
+ if (args[0] === "consumers") {
556
+ const options = parseOptions(args.slice(1));
557
+ const { formatJson, formatRows } = await import("./sql.js");
558
+ const { PiboReliabilityStore } = await import("../reliability/store.js");
559
+ const store = resolveDebugStore("reliability");
560
+ if (!store.exists)
561
+ throw new Error(`Debug store "reliability" not found at ${store.path}`);
562
+ const reliability = new PiboReliabilityStore(store.path);
563
+ try {
564
+ const consumers = reliability.listConsumers();
565
+ if (options.json)
566
+ console.log(formatJson({ consumers }));
567
+ else
568
+ console.log(formatRows(consumers));
569
+ }
570
+ finally {
571
+ reliability.close();
572
+ }
573
+ return;
574
+ }
575
+ const options = parseOptions(args);
576
+ let piboSessionId = options.positionals[0];
577
+ let command = options.positionals[1] ?? "list";
578
+ if (piboSessionId === "list") {
579
+ piboSessionId = options.positionals[1];
580
+ command = "list";
581
+ }
582
+ if (!piboSessionId)
583
+ throw new Error("pibo debug events requires <pibo-session-id>");
584
+ const { formatJson } = await import("./sql.js");
585
+ const { formatDebugEventShow, formatDebugEvents, inspectDebugEventShow, inspectDebugEvents } = await import("./events.js");
586
+ if (command === "show") {
587
+ const selector = options.positionals[2];
588
+ if (!selector)
589
+ throw new Error("pibo debug events <pibo-session-id> show requires <stream-id-or-event-id>");
590
+ const result = inspectDebugEventShow(piboSessionId, resolveDebugStore("chat"), selector, { ...detailOptions(options), payload: options.payload, raw: options.raw, field: options.field });
591
+ if (options.json)
592
+ console.log(formatJson(result));
593
+ else
594
+ console.log(formatDebugEventShow(result));
595
+ return;
596
+ }
597
+ if (command !== "list")
598
+ throw new Error(`Unknown pibo debug events command "${command}". Run pibo debug events --help.`);
599
+ const result = inspectDebugEvents(piboSessionId, resolveDebugStore("chat"), {
600
+ type: options.type,
601
+ fields: options.fields,
602
+ limit: options.limit,
603
+ });
604
+ if (options.json)
605
+ console.log(formatJson(result));
606
+ else
607
+ console.log(formatDebugEvents(result));
608
+ }
609
+ async function runDebugJobs(args) {
610
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
611
+ printDebugJobsDiscovery();
612
+ return;
613
+ }
614
+ const command = args[0];
615
+ const options = parseOptions(args.slice(1));
616
+ const { formatJson, formatRows } = await import("./sql.js");
617
+ const { PiboReliabilityStore } = await import("../reliability/store.js");
618
+ const store = resolveDebugStore("reliability");
619
+ if (!store.exists)
620
+ throw new Error(`Debug store "reliability" not found at ${store.path}`);
621
+ const reliability = new PiboReliabilityStore(store.path);
622
+ try {
623
+ if (command === "list") {
624
+ const jobs = reliability.listJobs({ queue: options.queue, limit: options.limit ? Number(options.limit) : undefined });
625
+ if (options.json)
626
+ console.log(formatJson({ jobs }));
627
+ else
628
+ console.log(formatRows(jobs.map(compactJobRow)));
629
+ return;
630
+ }
631
+ if (command === "dead") {
632
+ const jobs = reliability.listDead({ queue: options.queue, limit: options.limit ? Number(options.limit) : undefined });
633
+ if (options.json)
634
+ console.log(formatJson({ jobs }));
635
+ else
636
+ console.log(formatRows(jobs.map(compactDeadJobRow)));
637
+ return;
638
+ }
639
+ if (command === "replay") {
640
+ const jobId = options.positionals[0];
641
+ if (!jobId)
642
+ throw new Error("pibo debug jobs replay requires <job-id>");
643
+ const job = reliability.requeueDead(jobId);
644
+ if (options.json)
645
+ console.log(formatJson({ job }));
646
+ else
647
+ console.log(formatRows([compactJobRow(job)]));
648
+ return;
649
+ }
650
+ throw new Error(`Unknown pibo debug jobs command "${command}". Run pibo debug jobs --help.`);
651
+ }
652
+ finally {
653
+ reliability.close();
654
+ }
655
+ }
656
+ async function runDebugRuns(args) {
657
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
658
+ printDebugRunsDiscovery();
659
+ return;
660
+ }
661
+ const command = args[0];
662
+ const options = parseOptions(args.slice(1));
663
+ const { formatJson, formatRows } = await import("./sql.js");
664
+ const { PiboReliabilityStore } = await import("../reliability/store.js");
665
+ const store = resolveDebugStore("reliability");
666
+ if (!store.exists)
667
+ throw new Error(`Debug store "reliability" not found at ${store.path}`);
668
+ const reliability = new PiboReliabilityStore(store.path);
669
+ try {
670
+ if (command === "list") {
671
+ const piboSessionId = options.positionals[0];
672
+ if (!piboSessionId)
673
+ throw new Error("pibo debug runs list requires <pibo-session-id>");
674
+ const runs = reliability.listRuns({ controllerPiboSessionId: piboSessionId, includeConsumed: true, includeDetached: true });
675
+ if (options.json)
676
+ console.log(formatJson({ runs }));
677
+ else
678
+ console.log(formatRows(runs.map(compactRunRow)));
679
+ return;
680
+ }
681
+ if (command === "inspect") {
682
+ const runId = options.positionals[0];
683
+ if (!runId)
684
+ throw new Error("pibo debug runs inspect requires <run-id>");
685
+ const run = reliability.getRun(runId);
686
+ if (!run)
687
+ throw new Error(`Unknown run "${runId}"`);
688
+ if (options.json)
689
+ console.log(formatJson({ run }));
690
+ else
691
+ console.log(formatRows([compactRunRow(run)]));
692
+ return;
693
+ }
694
+ throw new Error(`Unknown pibo debug runs command "${command}". Run pibo debug runs --help.`);
695
+ }
696
+ finally {
697
+ reliability.close();
698
+ }
699
+ }
700
+ function readCookieHeaderFile(path) {
701
+ const content = readFileSync(path, "utf8").trim();
702
+ const cookies = content
703
+ .split(/\r?\n/)
704
+ .map((line) => line.trim())
705
+ .filter(Boolean)
706
+ .flatMap((line) => {
707
+ const normalized = line.startsWith("#HttpOnly_") ? line.slice("#HttpOnly_".length) : line;
708
+ if (normalized.startsWith("#"))
709
+ return [];
710
+ const fields = normalized.split("\t");
711
+ if (fields.length >= 7)
712
+ return [`${fields[5]}=${fields[6]}`];
713
+ return [normalized];
714
+ });
715
+ if (cookies.length === 0)
716
+ throw new Error(`Cookie file "${path}" does not contain any cookies`);
717
+ return cookies.join("; ");
718
+ }
719
+ function parseOptions(args) {
720
+ const parsed = { positionals: [], json: false, events: false, runningOnly: false, check: false, medium: false, destructive: false, apply: false, dryRun: false, full: false, noTruncate: false, plain: false, raw: false, payload: false, args: false, output: false, error: false, active: false, stale: false };
721
+ for (let index = 0; index < args.length; index += 1) {
722
+ const arg = args[index];
723
+ if (arg === "--json") {
724
+ parsed.json = true;
725
+ continue;
726
+ }
727
+ if (arg === "--events") {
728
+ parsed.events = true;
729
+ continue;
730
+ }
731
+ if (arg === "--running-only") {
732
+ parsed.runningOnly = true;
733
+ continue;
734
+ }
735
+ if (arg === "--check") {
736
+ parsed.check = true;
737
+ continue;
738
+ }
739
+ if (arg === "--medium") {
740
+ parsed.medium = true;
741
+ continue;
742
+ }
743
+ if (arg === "--full") {
744
+ parsed.full = true;
745
+ continue;
746
+ }
747
+ if (arg === "--no-truncate") {
748
+ parsed.noTruncate = true;
749
+ continue;
750
+ }
751
+ if (arg === "--plain") {
752
+ parsed.plain = true;
753
+ continue;
754
+ }
755
+ if (arg === "--raw") {
756
+ parsed.raw = true;
757
+ continue;
758
+ }
759
+ if (arg === "--payload") {
760
+ parsed.payload = true;
761
+ continue;
762
+ }
763
+ if (arg === "--args") {
764
+ parsed.args = true;
765
+ continue;
766
+ }
767
+ if (arg === "--output") {
768
+ parsed.output = true;
769
+ continue;
770
+ }
771
+ if (arg === "--error") {
772
+ parsed.error = true;
773
+ continue;
774
+ }
775
+ if (arg === "--children" || arg === "--tool-output") {
776
+ continue;
777
+ }
778
+ if (arg === "--limit") {
779
+ const value = args[index + 1];
780
+ if (!value)
781
+ throw new Error("--limit requires a value");
782
+ parsed.limit = value;
783
+ index += 1;
784
+ continue;
785
+ }
786
+ if (arg === "--type") {
787
+ const value = args[index + 1];
788
+ if (!value)
789
+ throw new Error("--type requires a value");
790
+ parsed.type = value;
791
+ index += 1;
792
+ continue;
793
+ }
794
+ if (arg === "--fields") {
795
+ const value = args[index + 1];
796
+ if (!value)
797
+ throw new Error("--fields requires a value");
798
+ parsed.fields = value.split(",").map((field) => field.trim()).filter(Boolean);
799
+ index += 1;
800
+ continue;
801
+ }
802
+ if (arg === "--field") {
803
+ const value = args[index + 1];
804
+ if (!value)
805
+ throw new Error("--field requires a value");
806
+ parsed.field = value;
807
+ index += 1;
808
+ continue;
809
+ }
810
+ if (arg === "--topic") {
811
+ const value = args[index + 1];
812
+ if (!value)
813
+ throw new Error("--topic requires a value");
814
+ parsed.topic = value;
815
+ index += 1;
816
+ continue;
817
+ }
818
+ if (arg === "--key" || arg === "--session") {
819
+ const value = args[index + 1];
820
+ if (!value)
821
+ throw new Error(`${arg} requires a value`);
822
+ parsed.key = value;
823
+ index += 1;
824
+ continue;
825
+ }
826
+ if (arg === "--retention") {
827
+ const value = args[index + 1];
828
+ if (!value)
829
+ throw new Error("--retention requires a value");
830
+ parsed.retention = value;
831
+ index += 1;
832
+ continue;
833
+ }
834
+ if (arg === "--after") {
835
+ const value = args[index + 1];
836
+ if (!value)
837
+ throw new Error("--after requires a value");
838
+ parsed.after = value;
839
+ index += 1;
840
+ continue;
841
+ }
842
+ if (arg === "--before") {
843
+ const value = args[index + 1];
844
+ if (!value)
845
+ throw new Error("--before requires a value");
846
+ parsed.before = value;
847
+ index += 1;
848
+ continue;
849
+ }
850
+ if (arg === "--destructive") {
851
+ parsed.destructive = true;
852
+ continue;
853
+ }
854
+ if (arg === "--apply") {
855
+ parsed.apply = true;
856
+ continue;
857
+ }
858
+ if (arg === "--dry-run") {
859
+ parsed.dryRun = true;
860
+ continue;
861
+ }
862
+ if (arg === "--active") {
863
+ parsed.active = true;
864
+ continue;
865
+ }
866
+ if (arg === "--stale") {
867
+ parsed.stale = true;
868
+ continue;
869
+ }
870
+ if (arg === "--cookie") {
871
+ const value = args[index + 1];
872
+ if (!value)
873
+ throw new Error("--cookie requires a path");
874
+ parsed.cookie = value;
875
+ index += 1;
876
+ continue;
877
+ }
878
+ if (arg === "--auth-header") {
879
+ const value = args[index + 1];
880
+ if (!value)
881
+ throw new Error("--auth-header requires a value");
882
+ parsed.authHeader = value;
883
+ index += 1;
884
+ continue;
885
+ }
886
+ if (arg === "--threshold-ms") {
887
+ const value = args[index + 1];
888
+ if (!value)
889
+ throw new Error("--threshold-ms requires a value");
890
+ parsed.thresholdMs = value;
891
+ index += 1;
892
+ continue;
893
+ }
894
+ if (arg === "--store") {
895
+ const value = args[index + 1];
896
+ if (!value)
897
+ throw new Error("--store requires a value");
898
+ parsed.store = value;
899
+ index += 1;
900
+ continue;
901
+ }
902
+ if (arg === "--max-bytes") {
903
+ const value = args[index + 1];
904
+ if (!value)
905
+ throw new Error("--max-bytes requires a value");
906
+ parsed.maxBytes = value;
907
+ index += 1;
908
+ continue;
909
+ }
910
+ if (arg === "--from") {
911
+ const value = args[index + 1];
912
+ if (!value)
913
+ throw new Error("--from requires a value");
914
+ parsed.from = value;
915
+ index += 1;
916
+ continue;
917
+ }
918
+ if (arg === "--bytes") {
919
+ const value = args[index + 1];
920
+ if (!value)
921
+ throw new Error("--bytes requires a value");
922
+ parsed.bytes = value;
923
+ index += 1;
924
+ continue;
925
+ }
926
+ if (arg === "--queue") {
927
+ const value = args[index + 1];
928
+ if (!value)
929
+ throw new Error("--queue requires a value");
930
+ parsed.queue = value;
931
+ index += 1;
932
+ continue;
933
+ }
934
+ parsed.positionals.push(arg);
935
+ }
936
+ return parsed;
937
+ }
938
+ function detailOptions(options) {
939
+ return {
940
+ maxBytes: options.maxBytes,
941
+ from: options.from,
942
+ bytes: options.bytes,
943
+ noTruncate: options.noTruncate,
944
+ full: options.full,
945
+ };
946
+ }
947
+ function compactEventRow(event) {
948
+ return {
949
+ streamId: event.streamId,
950
+ topic: event.topic,
951
+ key: event.key,
952
+ eventId: event.eventId,
953
+ type: payloadType(event.payload),
954
+ createdAt: event.createdAt,
955
+ retentionClass: event.retentionClass,
956
+ };
957
+ }
958
+ function compactJobRow(job) {
959
+ return {
960
+ jobId: job.jobId,
961
+ queue: job.queue,
962
+ state: job.state,
963
+ runAt: job.runAt,
964
+ attempts: `${job.attempts}/${job.maxAttempts}`,
965
+ workerId: job.workerId,
966
+ lastError: job.lastError,
967
+ };
968
+ }
969
+ function compactDeadJobRow(job) {
970
+ return {
971
+ jobId: job.jobId,
972
+ queue: job.queue,
973
+ attempts: `${job.attempts}/${job.maxAttempts}`,
974
+ deadAt: job.deadAt,
975
+ deadReason: job.deadReason,
976
+ lastError: job.lastError,
977
+ };
978
+ }
979
+ function compactRunRow(run) {
980
+ return {
981
+ runId: run.runId,
982
+ piboSessionId: run.controllerPiboSessionId,
983
+ status: run.status,
984
+ toolName: run.toolName,
985
+ policy: run.completionPolicy,
986
+ consumed: run.consumed,
987
+ updatedAt: run.updatedAt,
988
+ summary: run.summary,
989
+ };
990
+ }
991
+ function formatSignalSnapshotText(snapshot) {
992
+ const sessions = Object.values(snapshot.sessions ?? {});
993
+ const nodes = Object.values(snapshot.nodes ?? {});
994
+ const activeNodes = nodes.filter((node) => ["queued", "starting", "running", "streaming", "waiting", "blocked", "retrying", "compacting", "pausing"].includes(node.status));
995
+ const errors = sessions.filter((session) => session.hasError || session.hasErrorDescendant);
996
+ return [
997
+ `root\t${snapshot.rootPiboSessionId ?? "unknown"}`,
998
+ `version\t${snapshot.version ?? 0}`,
999
+ `sessions\t${sessions.length}`,
1000
+ `nodes\t${nodes.length}`,
1001
+ `active_nodes\t${activeNodes.length}`,
1002
+ `error_sessions\t${errors.length}`,
1003
+ ...sessions.map((session) => `${session.piboSessionId}\tlocal=${session.localStatus}\taggregate=${session.aggregateStatus}\tphase=${session.phase ?? "-"}\tactive=${session.isTreeActive}`),
1004
+ ].join("\n");
1005
+ }
1006
+ function payloadType(payload) {
1007
+ if (!payload || typeof payload !== "object" || Array.isArray(payload))
1008
+ return undefined;
1009
+ const candidate = payload;
1010
+ return typeof candidate.type === "string" ? candidate.type : undefined;
1011
+ }
1012
+ function printDebugDiscovery() {
1013
+ console.log(`pibo debug - inspect local Pibo data
1014
+
1015
+ Commands:
1016
+ db Inspect and query local SQLite stores
1017
+ session Inspect one Pibo Session by id or Chat URL
1018
+ summary Show compact session diagnosis and drill-down commands
1019
+ messages List or show stored user/assistant messages
1020
+ final Show the latest assistant message
1021
+ trace Rebuild the Chat Web trace view for one Pibo Session
1022
+ events Inspect compact event payload fields for one Pibo Session
1023
+ tool Inspect one grouped tool call
1024
+ failures List failed tool calls and trace/session errors
1025
+ jobs Inspect durable Pibo jobs and DLQ
1026
+ runs Inspect durable yielded runs
1027
+ resources Show gateway memory reserve, related child processes, and heavy daemons
1028
+ signals Inspect live session signal snapshots through Chat Web APIs
1029
+ telemetry Inspect runtime observability telemetry
1030
+ web Inspect browser render state via CDP
1031
+ pty Run and inspect interactive CLI/TUI commands under a PTY
1032
+
1033
+ Next:
1034
+ pibo debug db
1035
+ pibo debug summary <pibo-session-id>
1036
+ pibo debug final <pibo-session-id>
1037
+ pibo debug messages <pibo-session-id> list
1038
+ pibo debug trace <pibo-session-id> --running-only
1039
+ pibo debug events stream --topic pibo.output
1040
+ pibo debug resources --json
1041
+ pibo debug signals tree ps_...
1042
+ pibo debug telemetry sessions --active
1043
+ pibo debug web targets
1044
+ pibo debug pty run -- pibo tui:sessions --demo
1045
+ `);
1046
+ }
1047
+ function printDebugResourcesDiscovery() {
1048
+ console.log(`pibo debug resources - inspect gateway resource guard state
1049
+
1050
+ Usage:
1051
+ pibo debug resources [--json]
1052
+
1053
+ Reports:
1054
+ Gateway RSS/heap headroom, host free-memory reserve, direct child processes, and known heavy local daemons such as ComfyUI or Unity when process listing is available.
1055
+
1056
+ Environment:
1057
+ PIBO_GATEWAY_RESOURCE_GUARD=warn|block|off
1058
+ PIBO_GATEWAY_MIN_FREE_MEMORY_BYTES=<bytes>
1059
+ PIBO_GATEWAY_MIN_HEAP_AVAILABLE_BYTES=<bytes>
1060
+ PIBO_GATEWAY_MAX_RSS_BYTES=<bytes>
1061
+ PIBO_GATEWAY_KNOWN_DAEMON_WARNING_RSS_BYTES=<bytes>
1062
+
1063
+ Next:
1064
+ pibo debug resources --json
1065
+ pibo compute health --json
1066
+ `);
1067
+ }
1068
+ function printDebugSignalsDiscovery() {
1069
+ console.log(`pibo debug signals - inspect live Session Signal snapshots
1070
+
1071
+ Usage:
1072
+ pibo debug signals session <pibo-session-id> [--json] [--cookie <path>]
1073
+ pibo debug signals tree <root-pibo-session-id> [--json] [--cookie <path>]
1074
+
1075
+ Environment:
1076
+ PIBO_GATEWAY_URL=http://127.0.0.1:4788
1077
+
1078
+ Auth:
1079
+ --cookie <path> reads a Cookie header value from a local file.
1080
+ --auth-header <value> sends an Authorization header. Values are not printed.
1081
+
1082
+ Next:
1083
+ pibo debug signals tree ps_...
1084
+ `);
1085
+ }
1086
+ function printDebugTelemetryDiscovery() {
1087
+ console.log(`pibo debug telemetry - inspect bounded runtime observability telemetry
1088
+
1089
+ Usage:
1090
+ pibo debug telemetry sessions [--active] [--stale] [--limit n] [--json]
1091
+ pibo debug telemetry session <pibo-session-id> [--limit n] [--json]
1092
+ pibo debug telemetry turn <turn-id-or-event-id> [--events] [--limit n] [--json]
1093
+ pibo debug telemetry provider <provider-request-id> [--json]
1094
+ pibo debug telemetry provider <provider-request-id> events [--after seq] [--fields a,b] [--limit n] [--json]
1095
+ pibo debug telemetry provider <provider-request-id> payload <preview-or-event-summary-id> [--json]
1096
+ pibo debug telemetry tool <tool-call-id> [--json]
1097
+ pibo debug telemetry stale [--threshold-ms n] [--limit n] [--json]
1098
+ pibo debug telemetry stats [--retention class] [--json]
1099
+ pibo debug telemetry prune --retention class --before iso-date [--dry-run|--apply] [--json]
1100
+
1101
+ Commands:
1102
+ sessions List recent, active, or stale telemetry sessions
1103
+ session Show compact session telemetry and next turn/provider/tool commands
1104
+ turn Show a phase timeline for one turn or event id
1105
+ provider Show provider request summary, event pages, and preview-unavailable diagnostics
1106
+ tool Show tool-call argument and execution telemetry
1107
+ stale List read-only stale active work
1108
+ stats Show telemetry retention counts and byte estimates
1109
+ prune Dry-run telemetry retention cleanup unless --apply is explicit
1110
+
1111
+ Next:
1112
+ pibo debug telemetry sessions --active
1113
+ pibo debug telemetry session ps_...
1114
+ pibo debug telemetry turn turn_...
1115
+ pibo debug telemetry provider pr_... events --limit 20
1116
+ `);
1117
+ }
1118
+ function printDebugDbDiscovery() {
1119
+ console.log(`pibo debug db - inspect local SQLite stores
1120
+
1121
+ Stores:
1122
+ home ${getPiboHome()}
1123
+ pibo-data pibo.sqlite unified sessions, rooms, events, messages, observations, navigation, stats
1124
+ sessions pibo.sqlite V2 alias for session metadata
1125
+ chat pibo.sqlite V2 alias for Chat Web data
1126
+ agents chat-agents.sqlite
1127
+ auth auth.sqlite
1128
+ bindings session-bindings.sqlite
1129
+ reliability pibo-events.sqlite
1130
+
1131
+ Commands:
1132
+ stores List known stores and paths
1133
+ tables <store> List tables only
1134
+ schema <store> List tables and columns
1135
+ query <store> <sql> Run read-only SQL
1136
+
1137
+ Next:
1138
+ pibo debug db schema pibo-data
1139
+ pibo debug db query pibo-data "select id, profile from sessions limit 5"
1140
+ `);
1141
+ }
1142
+ function printDebugSessionDiscovery() {
1143
+ console.log(`pibo debug session - inspect one Pibo Session
1144
+
1145
+ Usage:
1146
+ pibo debug session <url-or-pibo-session-id> [--events] [--limit n] [--json]
1147
+
1148
+ Inputs:
1149
+ ps_...
1150
+ /apps/chat/rooms/<roomId>/sessions/<piboSessionId>
1151
+ /apps/chat/sessions/<piboSessionId>
1152
+
1153
+ Next:
1154
+ pibo debug session ps_...
1155
+ `);
1156
+ }
1157
+ function printDebugSummaryDiscovery() {
1158
+ console.log(`pibo debug summary - compact diagnosis with drill-down commands
1159
+
1160
+ Usage:
1161
+ pibo debug summary <pibo-session-id> [--json]
1162
+
1163
+ Next:
1164
+ pibo debug final ps_...
1165
+ pibo debug failures ps_...
1166
+ pibo debug messages ps_... list
1167
+ `);
1168
+ }
1169
+ function printDebugMessagesDiscovery() {
1170
+ console.log(`pibo debug messages - list or show stored chat messages
1171
+
1172
+ Usage:
1173
+ pibo debug messages <pibo-session-id> list [--limit n] [--json]
1174
+ pibo debug messages <pibo-session-id> show <selector> [--full|--no-truncate] [--from n --bytes n] [--max-bytes n] [--plain] [--json]
1175
+
1176
+ Selectors:
1177
+ 1, last, assistant:last, user:last, stream:<stream-id>, msg:<event-id>
1178
+
1179
+ Next:
1180
+ pibo debug messages ps_... list
1181
+ pibo debug messages ps_... show assistant:last --full
1182
+ `);
1183
+ }
1184
+ function printDebugFinalDiscovery() {
1185
+ console.log(`pibo debug final - show the latest assistant message
1186
+
1187
+ Usage:
1188
+ pibo debug final <pibo-session-id> [--max-bytes n] [--from n --bytes n] [--no-truncate] [--plain] [--json]
1189
+
1190
+ Note:
1191
+ Full messages may contain private data. Use --no-truncate intentionally.
1192
+
1193
+ Next:
1194
+ pibo debug final ps_...
1195
+ pibo debug final ps_... --no-truncate
1196
+ `);
1197
+ }
1198
+ function printDebugToolDiscovery() {
1199
+ console.log(`pibo debug tool - inspect one grouped tool call
1200
+
1201
+ Usage:
1202
+ pibo debug tool <pibo-session-id> <tool-call-id> [--args|--output|--error] [--no-truncate] [--json]
1203
+
1204
+ Next:
1205
+ pibo debug failures ps_...
1206
+ pibo debug tool ps_... call_... --output --no-truncate
1207
+ `);
1208
+ }
1209
+ function printDebugFailuresDiscovery() {
1210
+ console.log(`pibo debug failures - list failed tool calls and trace/session errors
1211
+
1212
+ Usage:
1213
+ pibo debug failures <pibo-session-id> [--limit n] [--json]
1214
+
1215
+ Next:
1216
+ pibo debug failures ps_...
1217
+ pibo debug tool ps_... <tool-call-id> --output
1218
+ `);
1219
+ }
1220
+ function printDebugTraceDiscovery() {
1221
+ console.log(`pibo debug trace - rebuild one Chat Web trace view
1222
+
1223
+ Usage:
1224
+ pibo debug trace <pibo-session-id> [--running-only] [--check] [--medium] [--json]
1225
+ pibo debug trace <pibo-session-id> show <node-id> [--json]
1226
+
1227
+ Output:
1228
+ Compact trace nodes from the same buildTraceView logic used by /api/chat/trace.
1229
+ --check adds consistency diagnostics for ids, parents, ordering, and links.
1230
+
1231
+ Next:
1232
+ pibo debug trace ps_... --check
1233
+ pibo debug trace ps_... --medium
1234
+ pibo debug trace ps_... show <node-id>
1235
+ `);
1236
+ }
1237
+ function printDebugEventsDiscovery() {
1238
+ console.log(`pibo debug events - inspect compact event payload fields and Pibo event streams
1239
+
1240
+ Usage:
1241
+ pibo debug events <pibo-session-id> [list] [--type name] [--fields a,b.c] [--limit n] [--json]
1242
+ pibo debug events <pibo-session-id> show <stream-id-or-event-id> [--payload|--raw] [--field path] [--no-truncate] [--json]
1243
+ pibo debug events stream [--topic topic] [--after stream_id] [--limit n] [--json]
1244
+ pibo debug events stats [--topic topic] [--session pibo-session-id] [--retention class] [--json]
1245
+ pibo debug events prune --topic topic --retention class --before iso-date [--limit n] [--destructive] [--json]
1246
+ pibo debug events compact-deltas [--dry-run|--apply] [--store pibo-data|chat|reliability] [--session ps_...] [--json]
1247
+ pibo debug events consumers [--json]
1248
+
1249
+ Examples:
1250
+ pibo debug events ps_... --type tool_execution_finished --fields toolName,toolCallId,result.details.status
1251
+ pibo debug events ps_... show 356910 --field attributes_json.inlinePayload
1252
+
1253
+ Next:
1254
+ pibo debug events ps_... --limit 20
1255
+ pibo debug events ps_... show <stream-id> --payload
1256
+ pibo debug events stats --topic pibo.output --retention live_delta
1257
+ pibo debug events stream --topic pibo.output --after 123
1258
+ `);
1259
+ }
1260
+ function printDebugJobsDiscovery() {
1261
+ console.log(`pibo debug jobs - inspect durable Pibo jobs
1262
+
1263
+ Usage:
1264
+ pibo debug jobs list [--queue queue] [--limit n] [--json]
1265
+ pibo debug jobs dead [--queue queue] [--limit n] [--json]
1266
+ pibo debug jobs replay <job-id> [--json]
1267
+
1268
+ Next:
1269
+ pibo debug jobs list --queue runs
1270
+ pibo debug jobs dead --queue runs
1271
+ `);
1272
+ }
1273
+ function printDebugRunsDiscovery() {
1274
+ console.log(`pibo debug runs - inspect durable yielded runs
1275
+
1276
+ Usage:
1277
+ pibo debug runs list <pibo-session-id> [--json]
1278
+ pibo debug runs inspect <run-id> [--json]
1279
+
1280
+ Next:
1281
+ pibo debug runs list ps_...
1282
+ `);
1283
+ }
1284
+ function formatSchemaText(tables) {
1285
+ if (tables.length === 0)
1286
+ return "tables: 0";
1287
+ const lines = [];
1288
+ for (const table of tables) {
1289
+ lines.push(table.name);
1290
+ for (const column of table.columns) {
1291
+ const flags = [column.notNull ? "not-null" : "", column.primaryKey ? "pk" : ""].filter(Boolean).join(",");
1292
+ lines.push(` ${column.name}\t${column.type}${flags ? `\t${flags}` : ""}`);
1293
+ }
1294
+ }
1295
+ return lines.join("\n");
1296
+ }