@pasko70/pibo 1.9.8 → 1.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (705) hide show
  1. package/README.md +183 -183
  2. package/context/codex-base-prompt.md +148 -148
  3. package/context/compute-worker.md +23 -23
  4. package/context/pibo-compaction-prompt.md +100 -100
  5. package/context/pibo-native-tooling.md +18 -18
  6. package/context/pibo-system-prompt.md +77 -77
  7. package/docs/README.md +23 -23
  8. package/docs/ops/install-developer-host.md +112 -112
  9. package/docs/ops/install-user-host.md +96 -96
  10. package/docs/ops/upgrade-user-to-developer-host.md +69 -69
  11. package/docs/ops/vscode-extension-release.md +160 -160
  12. package/package.json +95 -95
  13. package/skills/builtin/graphify/SKILL.md +52 -52
  14. package/skills/builtin/pi-agent-harness/SKILL.md +319 -319
  15. package/skills/builtin/pi-agent-harness/agents/openai.yaml +4 -4
  16. package/skills/builtin/pibo-docker-system/SKILL.md +170 -170
  17. package/skills/builtin/pibo-spec-writing/SKILL.md +330 -330
  18. package/skills/builtin/prd/SKILL.md +143 -143
  19. package/skills/builtin/ralph-loop/SKILL.md +359 -359
  20. package/skills/builtin/ralph-prd-json/SKILL.md +123 -123
  21. package/skills/builtin/skill-creator/LICENSE.txt +201 -201
  22. package/skills/builtin/skill-creator/SKILL.md +513 -513
  23. package/skills/builtin/skill-creator/agents/analyzer.md +274 -274
  24. package/skills/builtin/skill-creator/agents/comparator.md +202 -202
  25. package/skills/builtin/skill-creator/agents/grader.md +223 -223
  26. package/skills/builtin/skill-creator/assets/eval_review.html +146 -146
  27. package/skills/builtin/skill-creator/eval-viewer/generate_review.py +471 -471
  28. package/skills/builtin/skill-creator/eval-viewer/viewer.html +1325 -1325
  29. package/skills/builtin/skill-creator/references/schemas.md +430 -430
  30. package/skills/builtin/skill-creator/scripts/aggregate_benchmark.py +401 -401
  31. package/skills/builtin/skill-creator/scripts/generate_report.py +326 -326
  32. package/skills/builtin/skill-creator/scripts/improve_description.py +247 -247
  33. package/skills/builtin/skill-creator/scripts/package_skill.py +136 -136
  34. package/skills/builtin/skill-creator/scripts/quick_validate.py +102 -102
  35. package/skills/builtin/skill-creator/scripts/run_eval.py +310 -310
  36. package/skills/builtin/skill-creator/scripts/run_loop.py +328 -328
  37. package/skills/builtin/skill-creator/scripts/utils.py +47 -47
  38. package/skills/builtin/web-annotations/SKILL.md +93 -93
  39. package/src/mcp/LICENSE.mcp-cli +21 -21
  40. package/dist/api/simple-agent-api.js +0 -136
  41. package/dist/app-context.js +0 -4
  42. package/dist/apps/chat/agent-profiles.js +0 -70
  43. package/dist/apps/chat/agent-store.js +0 -669
  44. package/dist/apps/chat/chat-api-routes.js +0 -325
  45. package/dist/apps/chat/chat-capability-routes.js +0 -90
  46. package/dist/apps/chat/chat-files.js +0 -178
  47. package/dist/apps/chat/chat-request-normalizers.js +0 -681
  48. package/dist/apps/chat/chat-settings-routes.js +0 -98
  49. package/dist/apps/chat/chat-trace-helpers.js +0 -139
  50. package/dist/apps/chat/chat-user-skill-routes.js +0 -178
  51. package/dist/apps/chat/cron-api.js +0 -213
  52. package/dist/apps/chat/data/chat-data-mappers.js +0 -82
  53. package/dist/apps/chat/data/event-command-service.js +0 -75
  54. package/dist/apps/chat/data/navigation-query-service.js +0 -11
  55. package/dist/apps/chat/data/project-service.js +0 -877
  56. package/dist/apps/chat/data/read-state-service.js +0 -42
  57. package/dist/apps/chat/data/room-service.js +0 -52
  58. package/dist/apps/chat/data/session-query-service.js +0 -126
  59. package/dist/apps/chat/data/timeline-query-service.js +0 -102
  60. package/dist/apps/chat/event-log.js +0 -1
  61. package/dist/apps/chat/model-catalog.js +0 -53
  62. package/dist/apps/chat/output-compactor.js +0 -126
  63. package/dist/apps/chat/output-event-policy.js +0 -17
  64. package/dist/apps/chat/project-workflow-human-actions.js +0 -347
  65. package/dist/apps/chat/project-workflow-sessions.js +0 -260
  66. package/dist/apps/chat/provider-auth-actions.js +0 -43
  67. package/dist/apps/chat/ralph-api.js +0 -156
  68. package/dist/apps/chat/read-model.js +0 -1
  69. package/dist/apps/chat/rooms.js +0 -1
  70. package/dist/apps/chat/session-metadata.js +0 -14
  71. package/dist/apps/chat/static-assets.js +0 -997
  72. package/dist/apps/chat/stream.js +0 -145
  73. package/dist/apps/chat/telemetry-retention-service.js +0 -69
  74. package/dist/apps/chat/trace-v2.js +0 -307
  75. package/dist/apps/chat/trace.js +0 -572
  76. package/dist/apps/chat/types/event-store.js +0 -1
  77. package/dist/apps/chat/types/read-model.js +0 -1
  78. package/dist/apps/chat/types/rooms.js +0 -36
  79. package/dist/apps/chat/web-app.js +0 -4605
  80. package/dist/apps/chat/workflow-catalog.js +0 -572
  81. package/dist/apps/chat/workflow-edge-compatibility.js +0 -51
  82. package/dist/apps/chat/workflow-json-schema-validation.js +0 -335
  83. package/dist/apps/chat/workflow-manual-trigger-runtime.js +0 -232
  84. package/dist/apps/chat/workflow-persistence-model.js +0 -140
  85. package/dist/apps/chat/workflow-persistence.js +0 -633
  86. package/dist/apps/chat/workflow-registered-ref-params.js +0 -130
  87. package/dist/apps/chat/workflow-registered-ref-pickers.js +0 -179
  88. package/dist/apps/chat/workflow-registered-ref-validation.js +0 -210
  89. package/dist/apps/chat/workflow-v2-security-validation.js +0 -93
  90. package/dist/apps/chat/workflow-validation-helpers.js +0 -114
  91. package/dist/apps/chat-ui/assets/apl-BxEMbctQ.js +0 -1
  92. package/dist/apps/chat-ui/assets/asciiarmor-eFjeGRuZ.js +0 -1
  93. package/dist/apps/chat-ui/assets/asn1-Cfx-0pt9.js +0 -1
  94. package/dist/apps/chat-ui/assets/asterisk-B5BHTsBr.js +0 -1
  95. package/dist/apps/chat-ui/assets/brainfuck-CAA2xofr.js +0 -1
  96. package/dist/apps/chat-ui/assets/clike-BoDCOLzN.js +0 -1
  97. package/dist/apps/chat-ui/assets/clojure-kVFSWX0o.js +0 -1
  98. package/dist/apps/chat-ui/assets/cmake-BUPAhezI.js +0 -1
  99. package/dist/apps/chat-ui/assets/cobol-BfgHZgup.js +0 -1
  100. package/dist/apps/chat-ui/assets/coffeescript-G1Pe_1AZ.js +0 -1
  101. package/dist/apps/chat-ui/assets/commonlisp-B3N0CjHn.js +0 -1
  102. package/dist/apps/chat-ui/assets/crystal-C15ndaGM.js +0 -1
  103. package/dist/apps/chat-ui/assets/css-BqOeyZOV.js +0 -1
  104. package/dist/apps/chat-ui/assets/cypher-KjIKv-wW.js +0 -1
  105. package/dist/apps/chat-ui/assets/d-BlT5AEC-.js +0 -1
  106. package/dist/apps/chat-ui/assets/diff-oF98tbqj.js +0 -1
  107. package/dist/apps/chat-ui/assets/dist--55mTWk3.js +0 -1
  108. package/dist/apps/chat-ui/assets/dist--Sb99Zop.js +0 -11
  109. package/dist/apps/chat-ui/assets/dist-4VdcCJgh.js +0 -6
  110. package/dist/apps/chat-ui/assets/dist-BCqTb13C.js +0 -1
  111. package/dist/apps/chat-ui/assets/dist-BH4dS5wk.js +0 -23
  112. package/dist/apps/chat-ui/assets/dist-BXmdj7mb.js +0 -9
  113. package/dist/apps/chat-ui/assets/dist-BZ39rB1W.js +0 -1
  114. package/dist/apps/chat-ui/assets/dist-BsedZGJo.js +0 -1
  115. package/dist/apps/chat-ui/assets/dist-C5YJOwhH.js +0 -1
  116. package/dist/apps/chat-ui/assets/dist-C5oXtFSP.js +0 -1
  117. package/dist/apps/chat-ui/assets/dist-CDTTlyfG.js +0 -1
  118. package/dist/apps/chat-ui/assets/dist-CKM5j-iy.js +0 -1
  119. package/dist/apps/chat-ui/assets/dist-CUp9us2q.js +0 -1
  120. package/dist/apps/chat-ui/assets/dist-CZ9T4Cly.js +0 -1
  121. package/dist/apps/chat-ui/assets/dist-CdhJkLlg.js +0 -1
  122. package/dist/apps/chat-ui/assets/dist-D7FSg1x8.js +0 -1
  123. package/dist/apps/chat-ui/assets/dist-DSKQpPaz.js +0 -1
  124. package/dist/apps/chat-ui/assets/dist-Ds5VZTeC.js +0 -2
  125. package/dist/apps/chat-ui/assets/dist-SVPsM5Oi.js +0 -13
  126. package/dist/apps/chat-ui/assets/dist-ZN6fdzpB.js +0 -1
  127. package/dist/apps/chat-ui/assets/dist-Zqt9kNG9.js +0 -1
  128. package/dist/apps/chat-ui/assets/dist-qwl4CNfF.js +0 -1
  129. package/dist/apps/chat-ui/assets/dist-tGfufz3b.js +0 -1
  130. package/dist/apps/chat-ui/assets/dockerfile-CUaqzcqp.js +0 -1
  131. package/dist/apps/chat-ui/assets/dtd-VCA9yr61.js +0 -1
  132. package/dist/apps/chat-ui/assets/dylan-O-V5Dw5W.js +0 -1
  133. package/dist/apps/chat-ui/assets/ebnf-SPmdBkvT.js +0 -1
  134. package/dist/apps/chat-ui/assets/ecl-ChfCttfI.js +0 -1
  135. package/dist/apps/chat-ui/assets/eiffel-cB9EbjeN.js +0 -1
  136. package/dist/apps/chat-ui/assets/elm-BTiVflBU.js +0 -1
  137. package/dist/apps/chat-ui/assets/erlang-egf0TXFm.js +0 -1
  138. package/dist/apps/chat-ui/assets/factor-C2tAxNob.js +0 -1
  139. package/dist/apps/chat-ui/assets/fcl-BiCjh1tj.js +0 -1
  140. package/dist/apps/chat-ui/assets/forth-C4kDGW6u.js +0 -1
  141. package/dist/apps/chat-ui/assets/fortran-DzkLaPnd.js +0 -1
  142. package/dist/apps/chat-ui/assets/gas-DMOxskQF.js +0 -1
  143. package/dist/apps/chat-ui/assets/gherkin-BPxBpp-k.js +0 -1
  144. package/dist/apps/chat-ui/assets/groovy-CkEnc0ZY.js +0 -1
  145. package/dist/apps/chat-ui/assets/haskell-Dadpo9-w.js +0 -1
  146. package/dist/apps/chat-ui/assets/haxe-CDNZL9MW.js +0 -1
  147. package/dist/apps/chat-ui/assets/http-jy9Zxxt3.js +0 -1
  148. package/dist/apps/chat-ui/assets/idl-CGSB6iiy.js +0 -1
  149. package/dist/apps/chat-ui/assets/index-C0x9nEcf.css +0 -1
  150. package/dist/apps/chat-ui/assets/index-Gf-Zb-P-.js +0 -173
  151. package/dist/apps/chat-ui/assets/javascript-DSlzRUd8.js +0 -1
  152. package/dist/apps/chat-ui/assets/julia-DTiF9v6R.js +0 -1
  153. package/dist/apps/chat-ui/assets/livescript-Ci8Xxna6.js +0 -1
  154. package/dist/apps/chat-ui/assets/lua-eVxIrt9t.js +0 -1
  155. package/dist/apps/chat-ui/assets/mathematica-Da3grj36.js +0 -1
  156. package/dist/apps/chat-ui/assets/mbox-BWBMSafM.js +0 -1
  157. package/dist/apps/chat-ui/assets/mirc-CtHu9S1B.js +0 -1
  158. package/dist/apps/chat-ui/assets/mllike-wTFlPWXS.js +0 -1
  159. package/dist/apps/chat-ui/assets/modelica-cKbQ0UXu.js +0 -1
  160. package/dist/apps/chat-ui/assets/mscgen-C5pXQCMK.js +0 -1
  161. package/dist/apps/chat-ui/assets/mumps-CKBHkOQq.js +0 -1
  162. package/dist/apps/chat-ui/assets/nginx-B00AiQel.js +0 -1
  163. package/dist/apps/chat-ui/assets/nsis-SMDwKltR.js +0 -1
  164. package/dist/apps/chat-ui/assets/ntriples-B_36EBV0.js +0 -1
  165. package/dist/apps/chat-ui/assets/octave-BXPjzAif.js +0 -1
  166. package/dist/apps/chat-ui/assets/oz-Dedpat1M.js +0 -1
  167. package/dist/apps/chat-ui/assets/pascal-CMcUg72K.js +0 -1
  168. package/dist/apps/chat-ui/assets/perl-DoVTbnzt.js +0 -1
  169. package/dist/apps/chat-ui/assets/pig-CULXT1YV.js +0 -1
  170. package/dist/apps/chat-ui/assets/powershell-Cv5Uhf6b.js +0 -1
  171. package/dist/apps/chat-ui/assets/properties-CQ1C2P-M.js +0 -1
  172. package/dist/apps/chat-ui/assets/protobuf-SRlvzrl6.js +0 -1
  173. package/dist/apps/chat-ui/assets/pug-Bo3wfL-f.js +0 -1
  174. package/dist/apps/chat-ui/assets/puppet-ClSqCGj6.js +0 -1
  175. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-144x144.png +0 -0
  176. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-192x192.png +0 -0
  177. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-48x48.png +0 -0
  178. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-512x512.png +0 -0
  179. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-72x72.png +0 -0
  180. package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-96x96.png +0 -0
  181. package/dist/apps/chat-ui/assets/pwa-images/ios/100.png +0 -0
  182. package/dist/apps/chat-ui/assets/pwa-images/ios/1024.png +0 -0
  183. package/dist/apps/chat-ui/assets/pwa-images/ios/114.png +0 -0
  184. package/dist/apps/chat-ui/assets/pwa-images/ios/120.png +0 -0
  185. package/dist/apps/chat-ui/assets/pwa-images/ios/128.png +0 -0
  186. package/dist/apps/chat-ui/assets/pwa-images/ios/144.png +0 -0
  187. package/dist/apps/chat-ui/assets/pwa-images/ios/152.png +0 -0
  188. package/dist/apps/chat-ui/assets/pwa-images/ios/16.png +0 -0
  189. package/dist/apps/chat-ui/assets/pwa-images/ios/167.png +0 -0
  190. package/dist/apps/chat-ui/assets/pwa-images/ios/180.png +0 -0
  191. package/dist/apps/chat-ui/assets/pwa-images/ios/192.png +0 -0
  192. package/dist/apps/chat-ui/assets/pwa-images/ios/20.png +0 -0
  193. package/dist/apps/chat-ui/assets/pwa-images/ios/256.png +0 -0
  194. package/dist/apps/chat-ui/assets/pwa-images/ios/29.png +0 -0
  195. package/dist/apps/chat-ui/assets/pwa-images/ios/32.png +0 -0
  196. package/dist/apps/chat-ui/assets/pwa-images/ios/40.png +0 -0
  197. package/dist/apps/chat-ui/assets/pwa-images/ios/50.png +0 -0
  198. package/dist/apps/chat-ui/assets/pwa-images/ios/512.png +0 -0
  199. package/dist/apps/chat-ui/assets/pwa-images/ios/57.png +0 -0
  200. package/dist/apps/chat-ui/assets/pwa-images/ios/58.png +0 -0
  201. package/dist/apps/chat-ui/assets/pwa-images/ios/60.png +0 -0
  202. package/dist/apps/chat-ui/assets/pwa-images/ios/64.png +0 -0
  203. package/dist/apps/chat-ui/assets/pwa-images/ios/72.png +0 -0
  204. package/dist/apps/chat-ui/assets/pwa-images/ios/76.png +0 -0
  205. package/dist/apps/chat-ui/assets/pwa-images/ios/80.png +0 -0
  206. package/dist/apps/chat-ui/assets/pwa-images/ios/87.png +0 -0
  207. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-100.png +0 -0
  208. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-125.png +0 -0
  209. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-150.png +0 -0
  210. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-200.png +0 -0
  211. package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-400.png +0 -0
  212. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-100.png +0 -0
  213. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-125.png +0 -0
  214. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-150.png +0 -0
  215. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-200.png +0 -0
  216. package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-400.png +0 -0
  217. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-100.png +0 -0
  218. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-125.png +0 -0
  219. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-150.png +0 -0
  220. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-200.png +0 -0
  221. package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-400.png +0 -0
  222. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-100.png +0 -0
  223. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-125.png +0 -0
  224. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-150.png +0 -0
  225. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-200.png +0 -0
  226. package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-400.png +0 -0
  227. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-16.png +0 -0
  228. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-20.png +0 -0
  229. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-24.png +0 -0
  230. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-256.png +0 -0
  231. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-30.png +0 -0
  232. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-32.png +0 -0
  233. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-36.png +0 -0
  234. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-40.png +0 -0
  235. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-44.png +0 -0
  236. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-48.png +0 -0
  237. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-60.png +0 -0
  238. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-64.png +0 -0
  239. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-72.png +0 -0
  240. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-80.png +0 -0
  241. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-96.png +0 -0
  242. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-16.png +0 -0
  243. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-20.png +0 -0
  244. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-24.png +0 -0
  245. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-256.png +0 -0
  246. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-30.png +0 -0
  247. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-32.png +0 -0
  248. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-36.png +0 -0
  249. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-40.png +0 -0
  250. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-44.png +0 -0
  251. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-48.png +0 -0
  252. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-60.png +0 -0
  253. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-64.png +0 -0
  254. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-72.png +0 -0
  255. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-80.png +0 -0
  256. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-96.png +0 -0
  257. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-100.png +0 -0
  258. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-125.png +0 -0
  259. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-150.png +0 -0
  260. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-200.png +0 -0
  261. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-400.png +0 -0
  262. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-16.png +0 -0
  263. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-20.png +0 -0
  264. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-24.png +0 -0
  265. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-256.png +0 -0
  266. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-30.png +0 -0
  267. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-32.png +0 -0
  268. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-36.png +0 -0
  269. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-40.png +0 -0
  270. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-44.png +0 -0
  271. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-48.png +0 -0
  272. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-60.png +0 -0
  273. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-64.png +0 -0
  274. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-72.png +0 -0
  275. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-80.png +0 -0
  276. package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-96.png +0 -0
  277. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-100.png +0 -0
  278. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-125.png +0 -0
  279. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-150.png +0 -0
  280. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-200.png +0 -0
  281. package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-400.png +0 -0
  282. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-100.png +0 -0
  283. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-125.png +0 -0
  284. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-150.png +0 -0
  285. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-200.png +0 -0
  286. package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-400.png +0 -0
  287. package/dist/apps/chat-ui/assets/python-C2_X1GpX.js +0 -1
  288. package/dist/apps/chat-ui/assets/q-B_6Gdyzl.js +0 -1
  289. package/dist/apps/chat-ui/assets/r-BD07NGED.js +0 -1
  290. package/dist/apps/chat-ui/assets/rolldown-runtime-S-ySWqyJ.js +0 -1
  291. package/dist/apps/chat-ui/assets/rpm-CRu5Z2Jl.js +0 -1
  292. package/dist/apps/chat-ui/assets/ruby-dZPnOz8h.js +0 -1
  293. package/dist/apps/chat-ui/assets/sas-S2t8_sDI.js +0 -1
  294. package/dist/apps/chat-ui/assets/scheme-WcyFWLW2.js +0 -1
  295. package/dist/apps/chat-ui/assets/shell-DUelnYSh.js +0 -1
  296. package/dist/apps/chat-ui/assets/sieve-jDjlVhNh.js +0 -1
  297. package/dist/apps/chat-ui/assets/simple-mode-CL04yRVp.js +0 -1
  298. package/dist/apps/chat-ui/assets/smalltalk-ddWDYy10.js +0 -1
  299. package/dist/apps/chat-ui/assets/solr-C7rQhLuW.js +0 -1
  300. package/dist/apps/chat-ui/assets/sparql--fPCCgVd.js +0 -1
  301. package/dist/apps/chat-ui/assets/spreadsheet-DjthqD5G.js +0 -1
  302. package/dist/apps/chat-ui/assets/sql-D_dieYbr.js +0 -1
  303. package/dist/apps/chat-ui/assets/stex-rHcFYcA0.js +0 -1
  304. package/dist/apps/chat-ui/assets/stylus-DxF70RNr.js +0 -1
  305. package/dist/apps/chat-ui/assets/swift-T0hDoOb-.js +0 -1
  306. package/dist/apps/chat-ui/assets/tcl-Dlzy1mPk.js +0 -1
  307. package/dist/apps/chat-ui/assets/textile-Dy5rFZe5.js +0 -1
  308. package/dist/apps/chat-ui/assets/tiddlywiki-DQP1OymS.js +0 -1
  309. package/dist/apps/chat-ui/assets/tiki-0vOj3DB2.js +0 -1
  310. package/dist/apps/chat-ui/assets/toml-DEltN0lI.js +0 -1
  311. package/dist/apps/chat-ui/assets/troff-CRbBpEqY.js +0 -1
  312. package/dist/apps/chat-ui/assets/ttcn-M5q1nLKg.js +0 -1
  313. package/dist/apps/chat-ui/assets/ttcn-cfg-Rmw9NWq9.js +0 -1
  314. package/dist/apps/chat-ui/assets/turtle-BCDWhJK0.js +0 -1
  315. package/dist/apps/chat-ui/assets/vb-QQ7LGlOz.js +0 -1
  316. package/dist/apps/chat-ui/assets/vbscript-BiSEdUzz.js +0 -1
  317. package/dist/apps/chat-ui/assets/velocity-CzMg5_6w.js +0 -1
  318. package/dist/apps/chat-ui/assets/verilog-BJOO83gk.js +0 -1
  319. package/dist/apps/chat-ui/assets/vhdl-ed4zAZAA.js +0 -1
  320. package/dist/apps/chat-ui/assets/webidl-Ddy6hbV6.js +0 -1
  321. package/dist/apps/chat-ui/assets/xquery-Bw1zwhh6.js +0 -1
  322. package/dist/apps/chat-ui/assets/yacas-DZdTXy3s.js +0 -1
  323. package/dist/apps/chat-ui/assets/z80-DMG02_YV.js +0 -1
  324. package/dist/apps/chat-ui/index.html +0 -20
  325. package/dist/apps/chat-ui/manifest.webmanifest +0 -25
  326. package/dist/apps/chat-ui/sw.js +0 -47
  327. package/dist/apps/chat-vscode-web/assets/index-B5QK07zO.css +0 -2
  328. package/dist/apps/chat-vscode-web/assets/index-BAMxIaI_.js +0 -41
  329. package/dist/apps/chat-vscode-web/index.html +0 -14
  330. package/dist/apps/cli-ui/InkSessionApp.js +0 -1218
  331. package/dist/apps/cli-ui/InkTerminalLine.js +0 -53
  332. package/dist/apps/cli-ui/InkTerminalRow.js +0 -304
  333. package/dist/apps/cli-ui/InkTerminalView.js +0 -25
  334. package/dist/apps/cli-ui/cliSessionsCommand.js +0 -232
  335. package/dist/apps/cli-ui/index.js +0 -8
  336. package/dist/apps/cli-ui/inkColors.js +0 -67
  337. package/dist/apps/cli-ui/inkJson.js +0 -244
  338. package/dist/apps/cli-ui/inkMarkdown.js +0 -127
  339. package/dist/apps/cli-ui/inkSyntaxHighlighter.js +0 -166
  340. package/dist/apps/context-files-ui/assets/apl-14BqhLYK.js +0 -1
  341. package/dist/apps/context-files-ui/assets/asciiarmor-WLvjqI7d.js +0 -1
  342. package/dist/apps/context-files-ui/assets/asn1-Bg4FbdCg.js +0 -1
  343. package/dist/apps/context-files-ui/assets/asterisk-B2MO-X4d.js +0 -1
  344. package/dist/apps/context-files-ui/assets/brainfuck-CV9kufud.js +0 -1
  345. package/dist/apps/context-files-ui/assets/clike-CjmcUpt6.js +0 -1
  346. package/dist/apps/context-files-ui/assets/clojure-De3QGfx6.js +0 -1
  347. package/dist/apps/context-files-ui/assets/cmake-i2VDNaRq.js +0 -1
  348. package/dist/apps/context-files-ui/assets/cobol-BwO6DF08.js +0 -1
  349. package/dist/apps/context-files-ui/assets/coffeescript-BtivDvRz.js +0 -1
  350. package/dist/apps/context-files-ui/assets/commonlisp-DFkEQdLP.js +0 -1
  351. package/dist/apps/context-files-ui/assets/crystal-CU0NkcVL.js +0 -1
  352. package/dist/apps/context-files-ui/assets/css-CbMZAQ1W.js +0 -1
  353. package/dist/apps/context-files-ui/assets/cypher-Dke5QOzv.js +0 -1
  354. package/dist/apps/context-files-ui/assets/d-TPqSVaHM.js +0 -1
  355. package/dist/apps/context-files-ui/assets/diff-B365LSoZ.js +0 -1
  356. package/dist/apps/context-files-ui/assets/dist-B5PTVnox.js +0 -1
  357. package/dist/apps/context-files-ui/assets/dist-B5ZAfwf5.js +0 -1
  358. package/dist/apps/context-files-ui/assets/dist-BOiGdrG-.js +0 -1
  359. package/dist/apps/context-files-ui/assets/dist-BkUONE3N.js +0 -1
  360. package/dist/apps/context-files-ui/assets/dist-D1KyNDg5.js +0 -13
  361. package/dist/apps/context-files-ui/assets/dist-DK01b7x4.js +0 -1
  362. package/dist/apps/context-files-ui/assets/dist-DKoyMSNr.js +0 -1
  363. package/dist/apps/context-files-ui/assets/dist-DLMjd26T.js +0 -1
  364. package/dist/apps/context-files-ui/assets/dist-DPG9jOQ-.js +0 -1
  365. package/dist/apps/context-files-ui/assets/dist-DotDq_kD.js +0 -1
  366. package/dist/apps/context-files-ui/assets/dist-Dp5AH00p.js +0 -1
  367. package/dist/apps/context-files-ui/assets/dist-DqYw0LH7.js +0 -2
  368. package/dist/apps/context-files-ui/assets/dist-QQuDy4KA.js +0 -1
  369. package/dist/apps/context-files-ui/assets/dist-TF5iO5ML.js +0 -9
  370. package/dist/apps/context-files-ui/assets/dist-TbjAhles.js +0 -1
  371. package/dist/apps/context-files-ui/assets/dist-ZsBbt0uY.js +0 -1
  372. package/dist/apps/context-files-ui/assets/dist-kmsvtHkH.js +0 -1
  373. package/dist/apps/context-files-ui/assets/dist-vnd7PMu3.js +0 -11
  374. package/dist/apps/context-files-ui/assets/dockerfile-CJb2sekW.js +0 -1
  375. package/dist/apps/context-files-ui/assets/dtd-CBMymJ7O.js +0 -1
  376. package/dist/apps/context-files-ui/assets/dylan-08Azy1NK.js +0 -1
  377. package/dist/apps/context-files-ui/assets/ebnf-Dkum_1J8.js +0 -1
  378. package/dist/apps/context-files-ui/assets/ecl-dhxjHL8y.js +0 -1
  379. package/dist/apps/context-files-ui/assets/eiffel-C446m6dI.js +0 -1
  380. package/dist/apps/context-files-ui/assets/elm-po1E9de0.js +0 -1
  381. package/dist/apps/context-files-ui/assets/erlang-BD5LkVkR.js +0 -1
  382. package/dist/apps/context-files-ui/assets/factor-B2EMQZkP.js +0 -1
  383. package/dist/apps/context-files-ui/assets/fcl-DkEOamHd.js +0 -1
  384. package/dist/apps/context-files-ui/assets/forth-dCg2_HVB.js +0 -1
  385. package/dist/apps/context-files-ui/assets/fortran-3ZpXLFh1.js +0 -1
  386. package/dist/apps/context-files-ui/assets/gas-DMmxLZRI.js +0 -1
  387. package/dist/apps/context-files-ui/assets/gherkin-DUSFg2R6.js +0 -1
  388. package/dist/apps/context-files-ui/assets/groovy-Cmduloe1.js +0 -1
  389. package/dist/apps/context-files-ui/assets/haskell-Cyr255R9.js +0 -1
  390. package/dist/apps/context-files-ui/assets/haxe-BJVKtprM.js +0 -1
  391. package/dist/apps/context-files-ui/assets/http-DszHFpc-.js +0 -1
  392. package/dist/apps/context-files-ui/assets/idl-Cati9Nrv.js +0 -1
  393. package/dist/apps/context-files-ui/assets/index-B92tL3Pp.css +0 -1
  394. package/dist/apps/context-files-ui/assets/index-BhAWD3dv.js +0 -202
  395. package/dist/apps/context-files-ui/assets/javascript-C5pDVaoP.js +0 -1
  396. package/dist/apps/context-files-ui/assets/julia-DlqY1cTU.js +0 -1
  397. package/dist/apps/context-files-ui/assets/livescript-C6p8-2W1.js +0 -1
  398. package/dist/apps/context-files-ui/assets/lua-BxuTHaF7.js +0 -1
  399. package/dist/apps/context-files-ui/assets/mathematica-nDHZUMJT.js +0 -1
  400. package/dist/apps/context-files-ui/assets/mbox-DAaR0Hcz.js +0 -1
  401. package/dist/apps/context-files-ui/assets/mirc-CCA0FRfl.js +0 -1
  402. package/dist/apps/context-files-ui/assets/mllike-Cw3Iccsb.js +0 -1
  403. package/dist/apps/context-files-ui/assets/modelica-Czx80fNR.js +0 -1
  404. package/dist/apps/context-files-ui/assets/mscgen-BmfuTbzG.js +0 -1
  405. package/dist/apps/context-files-ui/assets/mumps-Ds_ZaumL.js +0 -1
  406. package/dist/apps/context-files-ui/assets/nginx-D9M2PQ4U.js +0 -1
  407. package/dist/apps/context-files-ui/assets/nsis-DOo3SJmd.js +0 -1
  408. package/dist/apps/context-files-ui/assets/ntriples-DLHGTvHs.js +0 -1
  409. package/dist/apps/context-files-ui/assets/octave-8jj96JiC.js +0 -1
  410. package/dist/apps/context-files-ui/assets/oz-BmMq7iC4.js +0 -1
  411. package/dist/apps/context-files-ui/assets/pascal-BgMr6XpT.js +0 -1
  412. package/dist/apps/context-files-ui/assets/perl-D6YJObi_.js +0 -1
  413. package/dist/apps/context-files-ui/assets/pig-nx7uchs8.js +0 -1
  414. package/dist/apps/context-files-ui/assets/powershell-B4IPkVxR.js +0 -1
  415. package/dist/apps/context-files-ui/assets/properties-CoavQdLC.js +0 -1
  416. package/dist/apps/context-files-ui/assets/protobuf-D5EWhcmc.js +0 -1
  417. package/dist/apps/context-files-ui/assets/pug-QU72BPAa.js +0 -1
  418. package/dist/apps/context-files-ui/assets/puppet-B_0GFuyD.js +0 -1
  419. package/dist/apps/context-files-ui/assets/python-Cs7sNzy_.js +0 -1
  420. package/dist/apps/context-files-ui/assets/q-BIB9pPtI.js +0 -1
  421. package/dist/apps/context-files-ui/assets/r-CN5s4f3o.js +0 -1
  422. package/dist/apps/context-files-ui/assets/rpm-Ct_Ck8mQ.js +0 -1
  423. package/dist/apps/context-files-ui/assets/ruby-BVPradRk.js +0 -1
  424. package/dist/apps/context-files-ui/assets/sas-DN4j74IF.js +0 -1
  425. package/dist/apps/context-files-ui/assets/scheme-CvNgHAnh.js +0 -1
  426. package/dist/apps/context-files-ui/assets/shell-BjiMLAaM.js +0 -1
  427. package/dist/apps/context-files-ui/assets/sieve-C2U1O5Z4.js +0 -1
  428. package/dist/apps/context-files-ui/assets/simple-mode-DnMbQuKW.js +0 -1
  429. package/dist/apps/context-files-ui/assets/smalltalk-DkYwYufV.js +0 -1
  430. package/dist/apps/context-files-ui/assets/solr-BopnSD-v.js +0 -1
  431. package/dist/apps/context-files-ui/assets/sparql-Cpg3YQfd.js +0 -1
  432. package/dist/apps/context-files-ui/assets/spreadsheet-kRxtVt9J.js +0 -1
  433. package/dist/apps/context-files-ui/assets/sql-DYI2GwJR.js +0 -1
  434. package/dist/apps/context-files-ui/assets/stex-BCRT8IJ3.js +0 -1
  435. package/dist/apps/context-files-ui/assets/stylus-CARoeVE9.js +0 -1
  436. package/dist/apps/context-files-ui/assets/swift-DKNaLAK6.js +0 -1
  437. package/dist/apps/context-files-ui/assets/tcl-CQyXkgMH.js +0 -1
  438. package/dist/apps/context-files-ui/assets/textile-Yg_UWn-t.js +0 -1
  439. package/dist/apps/context-files-ui/assets/tiddlywiki-dqVbkfX4.js +0 -1
  440. package/dist/apps/context-files-ui/assets/tiki-CC_ic8g0.js +0 -1
  441. package/dist/apps/context-files-ui/assets/toml-B7gGzVkJ.js +0 -1
  442. package/dist/apps/context-files-ui/assets/troff-Bq3z6oAu.js +0 -1
  443. package/dist/apps/context-files-ui/assets/ttcn-GvRgs2AT.js +0 -1
  444. package/dist/apps/context-files-ui/assets/ttcn-cfg-CGCXz7Vo.js +0 -1
  445. package/dist/apps/context-files-ui/assets/turtle-CwIpz2yy.js +0 -1
  446. package/dist/apps/context-files-ui/assets/vb-BmcHUM2C.js +0 -1
  447. package/dist/apps/context-files-ui/assets/vbscript-Cs9dylre.js +0 -1
  448. package/dist/apps/context-files-ui/assets/velocity-CBWU0VCy.js +0 -1
  449. package/dist/apps/context-files-ui/assets/verilog-DVCHmufx.js +0 -1
  450. package/dist/apps/context-files-ui/assets/vhdl-BGDk4f1d.js +0 -1
  451. package/dist/apps/context-files-ui/assets/webidl-egXQEWlC.js +0 -1
  452. package/dist/apps/context-files-ui/assets/xquery-5f0hn7cg.js +0 -1
  453. package/dist/apps/context-files-ui/assets/yacas-DNs9XkmQ.js +0 -1
  454. package/dist/apps/context-files-ui/assets/z80-B7Dfb4UO.js +0 -1
  455. package/dist/apps/context-files-ui/index.html +0 -14
  456. package/dist/auth/better-auth.js +0 -130
  457. package/dist/auth/login-actions.js +0 -251
  458. package/dist/auth/openai-codex-usage.js +0 -147
  459. package/dist/auth/types.js +0 -14
  460. package/dist/bin/pibo.js +0 -3
  461. package/dist/bin/rg.js +0 -15
  462. package/dist/channels/types.js +0 -1
  463. package/dist/cli-errors.js +0 -18
  464. package/dist/cli-session/fakeSessionSource.js +0 -804
  465. package/dist/cli-session/index.js +0 -3
  466. package/dist/cli-session/localSessionSource.js +0 -1144
  467. package/dist/cli-session/sessionSource.js +0 -13
  468. package/dist/cli.js +0 -491
  469. package/dist/compute/cli.js +0 -415
  470. package/dist/compute/docker.js +0 -835
  471. package/dist/compute/resource-health.js +0 -334
  472. package/dist/compute/resource-policy.js +0 -98
  473. package/dist/config/config.js +0 -180
  474. package/dist/core/base-prompt.js +0 -104
  475. package/dist/core/codex-compat.js +0 -44
  476. package/dist/core/compaction-prompt.js +0 -293
  477. package/dist/core/context-build.js +0 -711
  478. package/dist/core/context-guard.js +0 -293
  479. package/dist/core/events.js +0 -1
  480. package/dist/core/gateway-resource-guard.js +0 -215
  481. package/dist/core/model-defaults.js +0 -95
  482. package/dist/core/pibo-home.js +0 -8
  483. package/dist/core/profiles.js +0 -210
  484. package/dist/core/provider-recovery.js +0 -64
  485. package/dist/core/provider-telemetry.js +0 -353
  486. package/dist/core/routed-session.js +0 -1179
  487. package/dist/core/runtime-telemetry.js +0 -1059
  488. package/dist/core/runtime.js +0 -529
  489. package/dist/core/session-errors.js +0 -76
  490. package/dist/core/session-model.js +0 -39
  491. package/dist/core/session-router.js +0 -850
  492. package/dist/core/skill-expansion.js +0 -43
  493. package/dist/core/system-prompt-template.js +0 -56
  494. package/dist/core/telemetry-retention-settings.js +0 -34
  495. package/dist/core/telemetry-staleness.js +0 -128
  496. package/dist/core/test-output-compaction.js +0 -145
  497. package/dist/core/thinking.js +0 -9
  498. package/dist/core/user-settings.js +0 -84
  499. package/dist/core/workspace.js +0 -5
  500. package/dist/core/wsl.js +0 -100
  501. package/dist/cron/channel.js +0 -28
  502. package/dist/cron/cli.js +0 -230
  503. package/dist/cron/plugin.js +0 -11
  504. package/dist/cron/schedule.js +0 -214
  505. package/dist/cron/service.js +0 -177
  506. package/dist/cron/store.js +0 -349
  507. package/dist/cron/types.js +0 -1
  508. package/dist/data/cli.js +0 -184
  509. package/dist/data/event-log.js +0 -106
  510. package/dist/data/ingest-service.js +0 -389
  511. package/dist/data/message-store.js +0 -62
  512. package/dist/data/navigation-store.js +0 -75
  513. package/dist/data/observation-store.js +0 -46
  514. package/dist/data/payload-store.js +0 -153
  515. package/dist/data/pibo-store.js +0 -59
  516. package/dist/data/schema.js +0 -436
  517. package/dist/data/session-store.js +0 -63
  518. package/dist/data/sqlite-schema.js +0 -12
  519. package/dist/data/telemetry-preview.js +0 -65
  520. package/dist/data/telemetry-queries.js +0 -212
  521. package/dist/data/telemetry-retention.js +0 -50
  522. package/dist/data/telemetry-rows.js +0 -158
  523. package/dist/data/telemetry-writer.js +0 -114
  524. package/dist/data/telemetry.js +0 -471
  525. package/dist/debug/delta-compaction.js +0 -99
  526. package/dist/debug/detail-format.js +0 -86
  527. package/dist/debug/events.js +0 -212
  528. package/dist/debug/failures.js +0 -162
  529. package/dist/debug/index.js +0 -1296
  530. package/dist/debug/messages.js +0 -185
  531. package/dist/debug/next-commands.js +0 -6
  532. package/dist/debug/payloads.js +0 -123
  533. package/dist/debug/pty.js +0 -924
  534. package/dist/debug/session.js +0 -230
  535. package/dist/debug/sql.js +0 -238
  536. package/dist/debug/stores.js +0 -54
  537. package/dist/debug/summary.js +0 -72
  538. package/dist/debug/telemetry.js +0 -649
  539. package/dist/debug/tools.js +0 -168
  540. package/dist/debug/trace-render-check.js +0 -151
  541. package/dist/debug/trace.js +0 -370
  542. package/dist/debug/web-artifacts.js +0 -63
  543. package/dist/debug/web-options.js +0 -313
  544. package/dist/debug/web-render-analysis.js +0 -310
  545. package/dist/debug/web-snapshot-browser-scripts.js +0 -303
  546. package/dist/debug/web-streaming-benchmark-analysis.js +0 -605
  547. package/dist/debug/web-streaming-browser-library.js +0 -928
  548. package/dist/debug/web-streaming-browser-scripts.js +0 -242
  549. package/dist/debug/web-streaming-provider-telemetry.js +0 -194
  550. package/dist/debug/web-streaming-report.js +0 -493
  551. package/dist/debug/web-streaming-types.js +0 -1
  552. package/dist/debug/web.js +0 -574
  553. package/dist/gateway/backup.js +0 -83
  554. package/dist/gateway/cli.js +0 -632
  555. package/dist/gateway/client.js +0 -200
  556. package/dist/gateway/fallback.js +0 -155
  557. package/dist/gateway/pidfile.js +0 -130
  558. package/dist/gateway/protocol.js +0 -62
  559. package/dist/gateway/request.js +0 -155
  560. package/dist/gateway/server.js +0 -397
  561. package/dist/gateway/tool.js +0 -72
  562. package/dist/gateway/web.js +0 -224
  563. package/dist/index.js +0 -25
  564. package/dist/local/client.js +0 -77
  565. package/dist/local/extension.js +0 -551
  566. package/dist/local/tui.js +0 -25
  567. package/dist/mcp/agent-context.js +0 -127
  568. package/dist/mcp/client.js +0 -332
  569. package/dist/mcp/commands/call.js +0 -146
  570. package/dist/mcp/commands/grep.js +0 -145
  571. package/dist/mcp/commands/info.js +0 -83
  572. package/dist/mcp/commands/list.js +0 -94
  573. package/dist/mcp/config-command.js +0 -217
  574. package/dist/mcp/config.js +0 -473
  575. package/dist/mcp/daemon-client.js +0 -266
  576. package/dist/mcp/daemon.js +0 -327
  577. package/dist/mcp/errors.js +0 -287
  578. package/dist/mcp/index.js +0 -431
  579. package/dist/mcp/output.js +0 -226
  580. package/dist/mcp/python-runtime.js +0 -131
  581. package/dist/mcp/registry.js +0 -116
  582. package/dist/mcp/version.js +0 -5
  583. package/dist/pi-packages/cli.js +0 -92
  584. package/dist/pi-packages/installer.js +0 -70
  585. package/dist/pi-packages/metadata.js +0 -231
  586. package/dist/pi-packages/runtime.js +0 -61
  587. package/dist/pi-packages/store.js +0 -175
  588. package/dist/pi-packages/types.js +0 -1
  589. package/dist/plugins/better-auth.js +0 -11
  590. package/dist/plugins/builtin.js +0 -478
  591. package/dist/plugins/chat-custom-agents.js +0 -20
  592. package/dist/plugins/chat-user-skills.js +0 -41
  593. package/dist/plugins/chat-vscode-web.js +0 -28
  594. package/dist/plugins/chat-web.js +0 -11
  595. package/dist/plugins/codex-compat.js +0 -33
  596. package/dist/plugins/context-files-store.js +0 -354
  597. package/dist/plugins/context-files.js +0 -1081
  598. package/dist/plugins/dev-auth.js +0 -202
  599. package/dist/plugins/native-tooling.js +0 -15
  600. package/dist/plugins/registry.js +0 -436
  601. package/dist/plugins/types.js +0 -1
  602. package/dist/plugins/web-annotations.js +0 -27
  603. package/dist/plugins/web.js +0 -11
  604. package/dist/providers/glm.js +0 -59
  605. package/dist/providers/minimax.js +0 -70
  606. package/dist/providers/openai-compat.js +0 -48
  607. package/dist/providers/openai-gpt56.js +0 -153
  608. package/dist/ralph/channel.js +0 -8
  609. package/dist/ralph/cli.js +0 -197
  610. package/dist/ralph/plugin.js +0 -14
  611. package/dist/ralph/service.js +0 -317
  612. package/dist/ralph/stopping.js +0 -151
  613. package/dist/ralph/store.js +0 -450
  614. package/dist/ralph/templates.js +0 -200
  615. package/dist/ralph/types.js +0 -1
  616. package/dist/reliability/store.js +0 -775
  617. package/dist/resources/cli.js +0 -135
  618. package/dist/resources/lifecycle.js +0 -353
  619. package/dist/resources/reaper-state.js +0 -94
  620. package/dist/resources/reaper.js +0 -145
  621. package/dist/runs/registry.js +0 -360
  622. package/dist/runs/tools.js +0 -185
  623. package/dist/session-ui/commandCatalog.js +0 -193
  624. package/dist/session-ui/commandResults.js +0 -95
  625. package/dist/session-ui/delegation.js +0 -89
  626. package/dist/session-ui/index.js +0 -8
  627. package/dist/session-ui/roomSessionViewModel.js +0 -69
  628. package/dist/session-ui/sessionActivity.js +0 -30
  629. package/dist/session-ui/statusViewModel.js +0 -127
  630. package/dist/session-ui/terminalCards.js +0 -210
  631. package/dist/session-ui/terminalRows.js +0 -1163
  632. package/dist/session-ui/terminalValue.js +0 -45
  633. package/dist/sessions/pibo-data-store.js +0 -178
  634. package/dist/sessions/sqlite-store.js +0 -220
  635. package/dist/sessions/store.js +0 -132
  636. package/dist/sessions/workflow-session-kind.js +0 -20
  637. package/dist/setup/cli.js +0 -619
  638. package/dist/shared/trace-async-agent-runs.js +0 -127
  639. package/dist/shared/trace-engine.js +0 -97
  640. package/dist/shared/trace-event-projection.js +0 -789
  641. package/dist/shared/trace-live-reducer.js +0 -191
  642. package/dist/shared/trace-nodes.js +0 -88
  643. package/dist/shared/trace-order.js +0 -84
  644. package/dist/shared/trace-page-merge.js +0 -40
  645. package/dist/shared/trace-patch-nodes.js +0 -83
  646. package/dist/shared/trace-run-notifications.js +0 -69
  647. package/dist/shared/trace-subagent-links.js +0 -46
  648. package/dist/shared/trace-transcript.js +0 -371
  649. package/dist/shared/trace-types.js +0 -1
  650. package/dist/signals/aggregate.js +0 -65
  651. package/dist/signals/events.js +0 -1
  652. package/dist/signals/projector.js +0 -208
  653. package/dist/signals/registry.js +0 -554
  654. package/dist/signals/store.js +0 -1
  655. package/dist/signals/types.js +0 -1
  656. package/dist/skills/cli.js +0 -151
  657. package/dist/subagents/tool.js +0 -63
  658. package/dist/tools/agent-browser-leases.js +0 -219
  659. package/dist/tools/agent-browser-wrapper.js +0 -99
  660. package/dist/tools/browser-pool.js +0 -623
  661. package/dist/tools/browser-use-cdp.js +0 -259
  662. package/dist/tools/browser-use-leases.js +0 -516
  663. package/dist/tools/browser-use-wrapper.js +0 -781
  664. package/dist/tools/cdp-client.js +0 -189
  665. package/dist/tools/codex-compat.js +0 -85
  666. package/dist/tools/codex-image-generation.js +0 -272
  667. package/dist/tools/desktop-env.js +0 -99
  668. package/dist/tools/guides.js +0 -563
  669. package/dist/tools/index.js +0 -1020
  670. package/dist/tools/linux-virtual-display.js +0 -58
  671. package/dist/tools/npm-runtime.js +0 -136
  672. package/dist/tools/python-runtime.js +0 -183
  673. package/dist/tools/registry.js +0 -237
  674. package/dist/tools/runtime/index.js +0 -3
  675. package/dist/tools/runtime/node-backend.js +0 -225
  676. package/dist/tools/runtime/node-worker-source.js +0 -206
  677. package/dist/tools/runtime/python-backend.js +0 -227
  678. package/dist/tools/runtime/python-worker-source.js +0 -178
  679. package/dist/tools/runtime/registry.js +0 -255
  680. package/dist/tools/runtime/tool.js +0 -168
  681. package/dist/tools/runtime/types.js +0 -1
  682. package/dist/tools/web-search.js +0 -138
  683. package/dist/user-skills/installer.js +0 -214
  684. package/dist/user-skills/manager.js +0 -133
  685. package/dist/user-skills/store.js +0 -267
  686. package/dist/user-skills/types.js +0 -1
  687. package/dist/vscode/cli.js +0 -90
  688. package/dist/vscode/code-cli.js +0 -119
  689. package/dist/vscode/install.js +0 -177
  690. package/dist/vscode/status.js +0 -80
  691. package/dist/vscode/types.js +0 -14
  692. package/dist/vscode/uninstall.js +0 -49
  693. package/dist/vscode/vsix-fetcher.js +0 -131
  694. package/dist/web/auth.js +0 -14
  695. package/dist/web/channel.js +0 -288
  696. package/dist/web/http.js +0 -195
  697. package/dist/web/types.js +0 -1
  698. package/dist/web-annotations/api.js +0 -348
  699. package/dist/web-annotations/attachments.js +0 -201
  700. package/dist/web-annotations/cdp.js +0 -1107
  701. package/dist/web-annotations/index.js +0 -7
  702. package/dist/web-annotations/store.js +0 -407
  703. package/dist/web-annotations/tools.js +0 -350
  704. package/dist/web-annotations/types.js +0 -34
  705. package/dist/web-annotations/validation.js +0 -288
@@ -1,450 +0,0 @@
1
- import { randomUUID } from 'node:crypto';
2
- import { mkdirSync } from 'node:fs';
3
- import { dirname, resolve } from 'node:path';
4
- import { DatabaseSync } from 'node:sqlite';
5
- import { piboHomePath } from '../core/pibo-home.js';
6
- import { isPiboThinkingLevel } from '../core/thinking.js';
7
- function nowIso(now = new Date()) { return now.toISOString(); }
8
- function parseJson(json) { return JSON.parse(json); }
9
- function defaultName(prompt) { const normalized = prompt.replace(/\s+/g, ' ').trim(); return normalized ? normalized.slice(0, 80) : 'Ralph job'; }
10
- function isJsonObject(value) { return !!value && typeof value === 'object' && !Array.isArray(value); }
11
- const cleanupStates = new Set(['none', 'active', 'released', 'retained', 'dirty']);
12
- function normalizeRalphTarget(target) {
13
- if (target.kind === 'room')
14
- return { kind: 'room', roomId: String(target.roomId ?? '').trim() };
15
- return { kind: 'default-chat' };
16
- }
17
- function parseRalphTarget(json) { return normalizeRalphTarget(parseJson(json)); }
18
- function targetJson(target) { return JSON.stringify(normalizeRalphTarget(target)); }
19
- function optionalString(value, field) {
20
- if (value === undefined || value === null)
21
- return undefined;
22
- if (typeof value !== 'string')
23
- throw new Error(`${field} must be a string`);
24
- const trimmed = value.trim();
25
- return trimmed || undefined;
26
- }
27
- function normalizeBrowserLeaseIds(value) {
28
- if (value === undefined || value === null)
29
- return undefined;
30
- if (!Array.isArray(value))
31
- throw new Error('resources.browserLeaseIds must be an array');
32
- const ids = [...new Set(value.map((item) => optionalString(item, 'resources.browserLeaseIds[]')).filter((item) => !!item))];
33
- return ids.length ? ids : undefined;
34
- }
35
- export function normalizeRalphResourceMetadata(value) {
36
- if (value === undefined || value === null)
37
- return undefined;
38
- if (!value || typeof value !== 'object' || Array.isArray(value))
39
- throw new Error('resources must be an object');
40
- const cleanupState = optionalString(value.cleanupState, 'resources.cleanupState');
41
- if (cleanupState && !cleanupStates.has(cleanupState))
42
- throw new Error('resources.cleanupState must be one of none, active, released, retained, dirty');
43
- const resources = {};
44
- const workerId = optionalString(value.workerId, 'resources.workerId');
45
- const browserLeaseIds = normalizeBrowserLeaseIds(value.browserLeaseIds);
46
- const retainedUntil = optionalString(value.retainedUntil, 'resources.retainedUntil');
47
- const dirtyReason = optionalString(value.dirtyReason, 'resources.dirtyReason');
48
- const updatedAt = optionalString(value.updatedAt, 'resources.updatedAt');
49
- if (workerId)
50
- resources.workerId = workerId;
51
- if (browserLeaseIds)
52
- resources.browserLeaseIds = browserLeaseIds;
53
- if (cleanupState)
54
- resources.cleanupState = cleanupState;
55
- if (retainedUntil)
56
- resources.retainedUntil = retainedUntil;
57
- if (dirtyReason)
58
- resources.dirtyReason = dirtyReason;
59
- if (updatedAt)
60
- resources.updatedAt = updatedAt;
61
- return Object.keys(resources).length ? resources : undefined;
62
- }
63
- function parseResourceMetadata(json) {
64
- if (!json)
65
- return undefined;
66
- try {
67
- return normalizeRalphResourceMetadata(JSON.parse(json));
68
- }
69
- catch {
70
- return undefined;
71
- }
72
- }
73
- function resourceMetadataJson(resources) {
74
- const normalized = normalizeRalphResourceMetadata(resources);
75
- return normalized ? JSON.stringify(normalized) : null;
76
- }
77
- function jobFromRow(row) {
78
- const resources = parseResourceMetadata(row.resource_json);
79
- return { id: row.id, name: row.name, description: row.description ?? undefined, enabled: row.enabled === 1, target: parseRalphTarget(row.target_json), profile: row.profile, prompt: row.prompt, maxIterations: row.max_iterations ?? undefined, stopPolicy: parseStopPolicy(row.stop_policy_json), ...parseRuntimeOptions(row.runtime_options_json), ...(resources ? { resources } : {}), state: parseJson(row.state_json), createdAt: row.created_at, updatedAt: row.updated_at };
80
- }
81
- function runFromRow(row) {
82
- const resources = parseResourceMetadata(row.resource_json);
83
- return { id: row.id, jobId: row.job_id, piboSessionId: row.pibo_session_id ?? undefined, status: row.status, reason: row.reason ?? undefined, error: row.error ?? undefined, startedAt: row.started_at ?? undefined, completedAt: row.completed_at ?? undefined, ...(resources ? { resources } : {}), createdAt: row.created_at, updatedAt: row.updated_at };
84
- }
85
- function mergeResourceMetadata(jobResources, runResources) {
86
- if (!jobResources && !runResources)
87
- return undefined;
88
- const browserLeaseIds = [...new Set([...(jobResources?.browserLeaseIds ?? []), ...(runResources?.browserLeaseIds ?? [])])];
89
- return { ...(jobResources ?? {}), ...(runResources ?? {}), ...(browserLeaseIds.length ? { browserLeaseIds } : {}) };
90
- }
91
- function factFromRow(row) {
92
- return { id: row.id, jobId: row.job_id, runId: row.run_id ?? undefined, piboSessionId: row.pibo_session_id ?? undefined, type: row.type, source: row.source, payload: parseJson(row.payload_json), createdAt: row.created_at };
93
- }
94
- function normalizeMaxIterations(value) {
95
- if (value === undefined)
96
- return undefined;
97
- if (!Number.isInteger(value) || value < 1)
98
- throw new Error('maxIterations must be a positive integer');
99
- return value;
100
- }
101
- function normalizeModelOverride(value) {
102
- if (value === undefined || value === null)
103
- return undefined;
104
- const provider = value.provider.trim();
105
- const id = value.id.trim();
106
- if (!provider || !id)
107
- throw new Error('modelOverride must include provider and id');
108
- return { provider, id };
109
- }
110
- function normalizeThinkingLevel(value) {
111
- if (value === undefined || value === null)
112
- return undefined;
113
- if (!isPiboThinkingLevel(value))
114
- throw new Error('thinkingLevel must be one of off, minimal, low, medium, high, xhigh, max');
115
- return value;
116
- }
117
- function normalizeFastMode(value) {
118
- if (value === undefined || value === null)
119
- return undefined;
120
- if (typeof value !== 'boolean')
121
- throw new Error('fastMode must be a boolean');
122
- return value;
123
- }
124
- function normalizeRuntimeOptions(input) {
125
- return { modelOverride: normalizeModelOverride(input.modelOverride), thinkingLevel: normalizeThinkingLevel(input.thinkingLevel), fastMode: normalizeFastMode(input.fastMode) };
126
- }
127
- function parseRuntimeOptions(json) {
128
- if (!json)
129
- return {};
130
- try {
131
- const parsed = JSON.parse(json);
132
- if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
133
- return {};
134
- return normalizeRuntimeOptions(parsed);
135
- }
136
- catch {
137
- return {};
138
- }
139
- }
140
- function runtimeOptionsJson(job) {
141
- const options = normalizeRuntimeOptions(job);
142
- const json = {};
143
- if (options.modelOverride)
144
- json.modelOverride = options.modelOverride;
145
- if (options.thinkingLevel)
146
- json.thinkingLevel = options.thinkingLevel;
147
- if (options.fastMode !== undefined)
148
- json.fastMode = options.fastMode;
149
- return Object.keys(json).length ? JSON.stringify(json) : null;
150
- }
151
- function hasOwn(object, key) { return Object.prototype.hasOwnProperty.call(object, key); }
152
- export function normalizeRalphStopPolicy(value) {
153
- if (value === undefined || value === null)
154
- return undefined;
155
- if (!value || typeof value !== 'object' || Array.isArray(value))
156
- throw new Error('stopPolicy must be an object');
157
- if (value.mode !== 'any' && value.mode !== 'all')
158
- throw new Error('stopPolicy.mode must be any or all');
159
- if (!Array.isArray(value.conditions))
160
- throw new Error('stopPolicy.conditions must be an array');
161
- const ids = new Set();
162
- return { mode: value.mode, conditions: value.conditions.map((condition, index) => {
163
- if (!condition || typeof condition !== 'object' || Array.isArray(condition))
164
- throw new Error(`stopPolicy.conditions[${index}] must be an object`);
165
- const id = typeof condition.id === 'string' && condition.id.trim() ? condition.id.trim() : `condition-${index + 1}`;
166
- const type = typeof condition.type === 'string' ? condition.type.trim() : '';
167
- if (!type)
168
- throw new Error(`stopPolicy.conditions[${index}].type is required`);
169
- if (ids.has(id))
170
- throw new Error(`Duplicate Ralph stop condition id: ${id}`);
171
- ids.add(id);
172
- if (condition.options !== undefined && !isJsonObject(condition.options))
173
- throw new Error(`stopPolicy.conditions[${index}].options must be an object`);
174
- if (condition.enabled !== undefined && typeof condition.enabled !== 'boolean')
175
- throw new Error(`stopPolicy.conditions[${index}].enabled must be a boolean`);
176
- if (condition.failClosed !== undefined && typeof condition.failClosed !== 'boolean')
177
- throw new Error(`stopPolicy.conditions[${index}].failClosed must be a boolean`);
178
- if (condition.timeoutMs !== undefined && (!Number.isInteger(condition.timeoutMs) || condition.timeoutMs < 1))
179
- throw new Error(`stopPolicy.conditions[${index}].timeoutMs must be a positive integer`);
180
- return { id, type, ...(condition.enabled !== undefined ? { enabled: condition.enabled } : {}), ...(condition.options ? { options: condition.options } : {}), ...(condition.failClosed !== undefined ? { failClosed: condition.failClosed } : {}), ...(condition.timeoutMs !== undefined ? { timeoutMs: condition.timeoutMs } : {}) };
181
- }) };
182
- }
183
- function parseStopPolicy(json) {
184
- if (!json)
185
- return undefined;
186
- try {
187
- return normalizeRalphStopPolicy(JSON.parse(json));
188
- }
189
- catch {
190
- return undefined;
191
- }
192
- }
193
- function stopPolicyJson(policy) { return policy ? JSON.stringify(normalizeRalphStopPolicy(policy)) : null; }
194
- function validateJobInput(input) {
195
- if (!input.profile.trim())
196
- throw new Error('profile is required');
197
- if (!input.prompt.trim())
198
- throw new Error('prompt is required');
199
- if (input.target.kind === 'room' && !input.target.roomId.trim())
200
- throw new Error('target.roomId is required');
201
- normalizeMaxIterations(input.maxIterations);
202
- normalizeRuntimeOptions(input);
203
- normalizeRalphStopPolicy(input.stopPolicy);
204
- normalizeRalphResourceMetadata(input.resources);
205
- }
206
- export class PiboRalphStore {
207
- db;
208
- constructor(options = {}) {
209
- const dbPath = options.path ?? piboHomePath('pibo-ralph.sqlite');
210
- const resolved = dbPath === ':memory:' ? dbPath : resolve(dbPath);
211
- if (resolved !== ':memory:')
212
- mkdirSync(dirname(resolved), { recursive: true });
213
- this.db = new DatabaseSync(resolved);
214
- this.db.exec('PRAGMA busy_timeout = 5000');
215
- this.db.exec('PRAGMA foreign_keys = ON');
216
- if (resolved !== ':memory:')
217
- this.db.exec('PRAGMA journal_mode = WAL');
218
- this.applySchema();
219
- }
220
- close() { this.db.close(); }
221
- createJob(input, now = new Date()) {
222
- const target = normalizeRalphTarget(input.target);
223
- validateJobInput({ ...input, target });
224
- const timestamp = nowIso(now);
225
- const runtimeOptions = normalizeRuntimeOptions(input);
226
- const resources = normalizeRalphResourceMetadata(input.resources);
227
- const job = { id: `ralph_${randomUUID()}`, name: (input.name ?? defaultName(input.prompt)).trim(), description: input.description?.trim() || undefined, enabled: input.enabled === true, target, profile: input.profile, prompt: input.prompt, maxIterations: normalizeMaxIterations(input.maxIterations), stopPolicy: normalizeRalphStopPolicy(input.stopPolicy), ...runtimeOptions, ...(resources ? { resources } : {}), state: { completedIterations: 0 }, createdAt: timestamp, updatedAt: timestamp };
228
- this.insertJob(job);
229
- return this.getJob(job.id);
230
- }
231
- getJob(id) { const row = this.db.prepare('SELECT * FROM pibo_ralph_jobs WHERE id = ?').get(id); return row ? jobFromRow(row) : undefined; }
232
- listJobs(input = {}) {
233
- const clauses = [];
234
- const values = [];
235
- if (!input.includeDisabled)
236
- clauses.push('enabled = 1');
237
- const where = clauses.length ? `WHERE ${clauses.join(' AND ')}` : '';
238
- return this.db.prepare(`SELECT * FROM pibo_ralph_jobs ${where} ORDER BY updated_at DESC, id ASC`).all(...values).map(jobFromRow);
239
- }
240
- updateJob(id, patch, now = new Date()) {
241
- const existing = this.getJob(id);
242
- if (!existing)
243
- return undefined;
244
- const runtimeOptions = normalizeRuntimeOptions({
245
- modelOverride: hasOwn(patch, 'modelOverride') ? patch.modelOverride : existing.modelOverride,
246
- thinkingLevel: hasOwn(patch, 'thinkingLevel') ? patch.thinkingLevel : existing.thinkingLevel,
247
- fastMode: hasOwn(patch, 'fastMode') ? patch.fastMode : existing.fastMode,
248
- });
249
- const stopPolicy = hasOwn(patch, 'stopPolicy') ? normalizeRalphStopPolicy(patch.stopPolicy ?? undefined) : existing.stopPolicy;
250
- const target = patch.target ? normalizeRalphTarget(patch.target) : existing.target;
251
- const next = { ...existing, name: patch.name !== undefined ? patch.name.trim() : existing.name, description: patch.description !== undefined ? patch.description?.trim() || undefined : existing.description, enabled: patch.enabled ?? existing.enabled, target, profile: patch.profile ?? existing.profile, prompt: patch.prompt ?? existing.prompt, maxIterations: hasOwn(patch, 'maxIterations') ? normalizeMaxIterations(patch.maxIterations ?? undefined) : existing.maxIterations, stopPolicy, modelOverride: runtimeOptions.modelOverride, thinkingLevel: runtimeOptions.thinkingLevel, fastMode: runtimeOptions.fastMode, updatedAt: nowIso(now) };
252
- validateJobInput(next);
253
- this.writeJob(next);
254
- return this.getJob(id);
255
- }
256
- updateJobResources(id, resources, now = new Date()) {
257
- const existing = this.getJob(id);
258
- if (!existing)
259
- return undefined;
260
- const timestamp = nowIso(now);
261
- this.db.prepare('UPDATE pibo_ralph_jobs SET resource_json = ?, updated_at = ? WHERE id = ?').run(resourceMetadataJson(resources), timestamp, id);
262
- return this.getJob(id);
263
- }
264
- updateRunResources(input, now = new Date()) {
265
- const clauses = ['id = ?'];
266
- const values = [input.runId];
267
- if (input.jobId) {
268
- clauses.push('job_id = ?');
269
- values.push(input.jobId);
270
- }
271
- const timestamp = nowIso(now);
272
- const result = this.db.prepare(`UPDATE pibo_ralph_runs SET resource_json = ?, updated_at = ? WHERE ${clauses.join(' AND ')}`).run(resourceMetadataJson(input.resources), timestamp, ...values);
273
- if (Number(result.changes ?? 0) === 0)
274
- return undefined;
275
- const row = this.db.prepare('SELECT * FROM pibo_ralph_runs WHERE id = ?').get(input.runId);
276
- return row ? runFromRow(row) : undefined;
277
- }
278
- removeJob(id) { const result = this.db.prepare('DELETE FROM pibo_ralph_jobs WHERE id = ?').run(id); return Number(result.changes ?? 0) > 0; }
279
- listRuns(input = {}) {
280
- const clauses = [];
281
- const values = [];
282
- if (input.jobId) {
283
- clauses.push('job_id = ?');
284
- values.push(input.jobId);
285
- }
286
- const where = clauses.length ? `WHERE ${clauses.join(' AND ')}` : '';
287
- return this.db.prepare(`SELECT * FROM pibo_ralph_runs ${where} ORDER BY created_at DESC LIMIT ?`).all(...values, Math.max(1, Math.min(input.limit ?? 100, 500))).map(runFromRow);
288
- }
289
- reserveRun(id, now = new Date()) { this.updateJob(id, { enabled: true }, now); return this.reserveJob(id, now); }
290
- reserveDueRuns(limit, now = new Date()) {
291
- const rows = this.db.prepare('SELECT * FROM pibo_ralph_jobs WHERE enabled = 1 ORDER BY updated_at ASC').all();
292
- const result = [];
293
- for (const row of rows) {
294
- if (result.length >= limit)
295
- break;
296
- const reserved = this.reserveJob(row.id, now);
297
- if (reserved)
298
- result.push(reserved);
299
- }
300
- return result;
301
- }
302
- attachRunSession(jobId, runId, piboSessionId, now = new Date()) {
303
- const timestamp = nowIso(now);
304
- const job = this.getJob(jobId);
305
- if (!job)
306
- return;
307
- this.db.prepare('UPDATE pibo_ralph_runs SET pibo_session_id = ?, updated_at = ? WHERE id = ?').run(piboSessionId, timestamp, runId);
308
- this.updateJobStateLocked(jobId, { ...job.state, lastPiboSessionId: piboSessionId }, timestamp);
309
- }
310
- requestStop(id, now = new Date()) {
311
- const job = this.getJob(id);
312
- if (!job)
313
- return undefined;
314
- const state = { ...job.state, stopRequestedAt: nowIso(now) };
315
- this.writeJob({ ...job, enabled: false, state, updatedAt: nowIso(now) });
316
- return this.getJob(id);
317
- }
318
- requestCancel(id, now = new Date()) {
319
- const job = this.getJob(id);
320
- if (!job)
321
- return undefined;
322
- const state = { ...job.state, stopRequestedAt: nowIso(now), cancelRequestedAt: nowIso(now) };
323
- this.writeJob({ ...job, enabled: false, state, updatedAt: nowIso(now) });
324
- return this.getJob(id);
325
- }
326
- applyStopEvaluation(input, now = new Date()) {
327
- const job = this.getJob(input.jobId);
328
- if (!job)
329
- return;
330
- const timestamp = nowIso(now);
331
- const state = { ...job.state, conditionStates: input.conditionStates ?? job.state.conditionStates, lastStopEvaluation: input.evaluation };
332
- this.db.prepare('UPDATE pibo_ralph_jobs SET enabled = ?, state_json = ?, updated_at = ? WHERE id = ?').run(input.disable ? 0 : job.enabled ? 1 : 0, JSON.stringify(state), timestamp, job.id);
333
- }
334
- completeRun(input, now = new Date()) {
335
- const timestamp = nowIso(now);
336
- const job = this.getJob(input.jobId);
337
- if (!job)
338
- return;
339
- const completedIterations = (job.state.completedIterations ?? 0) + 1;
340
- const reachedMaxIterations = job.maxIterations !== undefined && completedIterations >= job.maxIterations;
341
- const shouldDisable = reachedMaxIterations || input.stopAfterRun === true || input.stopEvaluation?.finalAction === 'stop-after-run' || input.stopEvaluation?.finalAction === 'cancel-current-run';
342
- const state = { ...job.state, runningAt: undefined, completedIterations, lastRunAt: timestamp, lastRunId: input.runId, lastStatus: input.status === 'error' ? 'error' : input.status === 'cancelled' ? 'cancelled' : 'ok', lastError: input.error, lastPiboSessionId: input.piboSessionId ?? job.state.lastPiboSessionId, consecutiveErrors: input.status === 'error' ? (job.state.consecutiveErrors ?? 0) + 1 : 0, conditionStates: input.conditionStates ?? job.state.conditionStates, lastStopEvaluation: input.stopEvaluation ?? job.state.lastStopEvaluation };
343
- this.db.prepare('UPDATE pibo_ralph_runs SET status = ?, pibo_session_id = COALESCE(?, pibo_session_id), reason = ?, error = ?, completed_at = ?, updated_at = ? WHERE id = ?').run(input.status, input.piboSessionId ?? null, input.reason ?? input.stopEvaluation?.reason ?? null, input.error ?? null, timestamp, timestamp, input.runId);
344
- this.db.prepare('UPDATE pibo_ralph_jobs SET enabled = ?, state_json = ?, updated_at = ? WHERE id = ?').run(shouldDisable ? 0 : job.enabled ? 1 : 0, JSON.stringify(state), timestamp, job.id);
345
- }
346
- appendRunFact(input) {
347
- if (!input.jobId.trim())
348
- throw new Error('fact jobId is required');
349
- if (!input.type.trim())
350
- throw new Error('fact type is required');
351
- if (!isJsonObject(input.payload))
352
- throw new Error('fact payload must be an object');
353
- const payloadJson = JSON.stringify(input.payload);
354
- if (payloadJson.length > 16_384)
355
- throw new Error('fact payload is too large');
356
- const fact = { id: input.id ?? `rfact_${randomUUID()}`, jobId: input.jobId, runId: input.runId, piboSessionId: input.piboSessionId, type: input.type.trim(), source: input.source, payload: input.payload, createdAt: input.createdAt ?? nowIso() };
357
- this.db.prepare('INSERT INTO pibo_ralph_run_facts (id, job_id, run_id, pibo_session_id, type, source, payload_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)').run(fact.id, fact.jobId, fact.runId ?? null, fact.piboSessionId ?? null, fact.type, fact.source, payloadJson, fact.createdAt);
358
- return fact;
359
- }
360
- listRunFacts(input = {}) {
361
- const clauses = [];
362
- const values = [];
363
- if (input.jobId) {
364
- clauses.push('job_id = ?');
365
- values.push(input.jobId);
366
- }
367
- if (input.runId) {
368
- clauses.push('run_id = ?');
369
- values.push(input.runId);
370
- }
371
- if (input.type) {
372
- clauses.push('type = ?');
373
- values.push(input.type);
374
- }
375
- const where = clauses.length ? `WHERE ${clauses.join(' AND ')}` : '';
376
- return this.db.prepare(`SELECT * FROM pibo_ralph_run_facts ${where} ORDER BY created_at DESC LIMIT ?`).all(...values, Math.max(1, Math.min(input.limit ?? 100, 500))).map(factFromRow);
377
- }
378
- createFactReader(job) {
379
- return { list: (input = {}) => this.listRunFacts({ jobId: job.id, type: input.type, runId: input.runId, limit: input.limit }), count: (input = {}) => this.listRunFacts({ jobId: job.id, type: input.type, runId: input.runId, limit: 500 }).length };
380
- }
381
- recoverInterruptedRuns(cutoff = new Date(Date.now() - 5 * 60_000)) { const cutoffIso = nowIso(cutoff); const rows = this.db.prepare("SELECT * FROM pibo_ralph_jobs WHERE json_extract(state_json, '$.runningAt') IS NOT NULL").all(); let recovered = 0; for (const row of rows) {
382
- const job = jobFromRow(row);
383
- if (!job.state.runningAt || job.state.runningAt > cutoffIso)
384
- continue;
385
- if (job.state.lastRunId) {
386
- this.completeRun({ jobId: job.id, runId: job.state.lastRunId, status: 'error', error: 'Ralph run was interrupted by gateway restart', reason: 'interrupted' });
387
- this.markInterruptedRunResourcesDirty(job, job.state.lastRunId);
388
- }
389
- recovered += 1;
390
- } return recovered; }
391
- status() { const jobs = this.listJobs({ includeDisabled: false }); return { jobs: jobs.length, running: jobs.filter((job) => job.state.runningAt).length }; }
392
- markInterruptedRunResourcesDirty(job, runId) {
393
- const runRow = this.db.prepare('SELECT * FROM pibo_ralph_runs WHERE id = ? AND job_id = ?').get(runId, job.id);
394
- const resources = mergeResourceMetadata(job.resources, runRow ? runFromRow(runRow).resources : undefined);
395
- if (!resources || (!resources.workerId && (resources.browserLeaseIds ?? []).length === 0))
396
- return;
397
- const nextResources = { ...resources, cleanupState: 'dirty', dirtyReason: 'Ralph run was interrupted before browser resource cleanup could be confirmed', updatedAt: nowIso() };
398
- this.updateRunResources({ jobId: job.id, runId, resources: nextResources });
399
- this.updateJobResources(job.id, nextResources);
400
- }
401
- reserveJob(id, now = new Date()) {
402
- const timestamp = nowIso(now);
403
- this.db.exec('BEGIN IMMEDIATE');
404
- try {
405
- const job = this.getJob(id);
406
- if (!job || !job.enabled || job.state.runningAt) {
407
- this.db.exec('COMMIT');
408
- return undefined;
409
- }
410
- const run = this.createRunLocked(job, timestamp);
411
- const state = { ...job.state, runningAt: timestamp, lastRunAt: timestamp, lastRunId: run.id };
412
- this.updateJobStateLocked(job.id, state, timestamp);
413
- this.db.exec('COMMIT');
414
- return { job: { ...job, state, updatedAt: timestamp }, run };
415
- }
416
- catch (error) {
417
- this.db.exec('ROLLBACK');
418
- throw error;
419
- }
420
- }
421
- applySchema() {
422
- this.createFreshSchema();
423
- this.ensureJobColumn('max_iterations', 'INTEGER');
424
- this.ensureJobColumn('runtime_options_json', 'TEXT');
425
- this.ensureJobColumn('stop_policy_json', 'TEXT');
426
- this.ensureJobColumn('resource_json', 'TEXT');
427
- this.ensureRunColumn('resource_json', 'TEXT');
428
- }
429
- createFreshSchema() {
430
- this.db.exec(`CREATE TABLE IF NOT EXISTS pibo_ralph_jobs (id TEXT PRIMARY KEY, name TEXT NOT NULL, description TEXT, enabled INTEGER NOT NULL, target_json TEXT NOT NULL, profile TEXT NOT NULL, prompt TEXT NOT NULL, max_iterations INTEGER, runtime_options_json TEXT, stop_policy_json TEXT, resource_json TEXT, state_json TEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL); CREATE INDEX IF NOT EXISTS idx_pibo_ralph_jobs_enabled ON pibo_ralph_jobs(enabled, updated_at DESC); CREATE TABLE IF NOT EXISTS pibo_ralph_runs (id TEXT PRIMARY KEY, job_id TEXT NOT NULL, pibo_session_id TEXT, status TEXT NOT NULL, reason TEXT, error TEXT, resource_json TEXT, started_at TEXT, completed_at TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL); CREATE INDEX IF NOT EXISTS idx_pibo_ralph_runs_job_created ON pibo_ralph_runs(job_id, created_at DESC); CREATE TABLE IF NOT EXISTS pibo_ralph_run_facts (id TEXT PRIMARY KEY, job_id TEXT NOT NULL, run_id TEXT, pibo_session_id TEXT, type TEXT NOT NULL, source TEXT NOT NULL, payload_json TEXT NOT NULL, created_at TEXT NOT NULL); CREATE INDEX IF NOT EXISTS idx_pibo_ralph_facts_job_created ON pibo_ralph_run_facts(job_id, created_at DESC); CREATE INDEX IF NOT EXISTS idx_pibo_ralph_facts_run_type ON pibo_ralph_run_facts(run_id, type, created_at DESC);`);
431
- }
432
- ensureJobColumn(name, definition) {
433
- const columns = this.tableColumns('pibo_ralph_jobs');
434
- if (!columns.has(name))
435
- this.db.exec(`ALTER TABLE pibo_ralph_jobs ADD COLUMN ${name} ${definition}`);
436
- }
437
- ensureRunColumn(name, definition) {
438
- const columns = this.tableColumns('pibo_ralph_runs');
439
- if (!columns.has(name))
440
- this.db.exec(`ALTER TABLE pibo_ralph_runs ADD COLUMN ${name} ${definition}`);
441
- }
442
- tableColumns(tableName) {
443
- return new Set(this.db.prepare(`PRAGMA table_info(${tableName})`).all().map((column) => column.name));
444
- }
445
- insertJob(job) { this.db.prepare('INSERT INTO pibo_ralph_jobs (id, name, description, enabled, target_json, profile, prompt, max_iterations, runtime_options_json, stop_policy_json, resource_json, state_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)').run(job.id, job.name, job.description ?? null, job.enabled ? 1 : 0, targetJson(job.target), job.profile, job.prompt, job.maxIterations ?? null, runtimeOptionsJson(job), stopPolicyJson(job.stopPolicy), resourceMetadataJson(job.resources), JSON.stringify(job.state), job.createdAt, job.updatedAt); }
446
- writeJob(job) { this.db.prepare('UPDATE pibo_ralph_jobs SET name = ?, description = ?, enabled = ?, target_json = ?, profile = ?, prompt = ?, max_iterations = ?, runtime_options_json = ?, stop_policy_json = ?, resource_json = ?, state_json = ?, updated_at = ? WHERE id = ?').run(job.name, job.description ?? null, job.enabled ? 1 : 0, targetJson(job.target), job.profile, job.prompt, job.maxIterations ?? null, runtimeOptionsJson(job), stopPolicyJson(job.stopPolicy), resourceMetadataJson(job.resources), JSON.stringify(job.state), job.updatedAt, job.id); }
447
- updateJobStateLocked(id, state, updatedAt) { this.db.prepare('UPDATE pibo_ralph_jobs SET state_json = ?, updated_at = ? WHERE id = ?').run(JSON.stringify(state), updatedAt, id); }
448
- createRunLocked(job, timestamp) { const run = { id: `rrun_${randomUUID()}`, jobId: job.id, status: 'running', startedAt: timestamp, ...(job.resources ? { resources: job.resources } : {}), createdAt: timestamp, updatedAt: timestamp }; this.db.prepare('INSERT INTO pibo_ralph_runs (id, job_id, pibo_session_id, status, reason, error, resource_json, started_at, completed_at, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)').run(run.id, run.jobId, null, run.status, null, null, resourceMetadataJson(run.resources), run.startedAt ?? null, null, run.createdAt, run.updatedAt); return run; }
449
- }
450
- export function createDefaultPiboRalphStore(options = {}) { return new PiboRalphStore(options); }
@@ -1,200 +0,0 @@
1
- const promiseCompletePolicy = {
2
- mode: 'any',
3
- conditions: [{ id: 'promise-complete', type: 'pibo.ralph.promise-complete' }],
4
- };
5
- const singleRunPolicy = {
6
- mode: 'any',
7
- conditions: [{ id: 'max-iterations', type: 'pibo.ralph.max-iterations' }],
8
- };
9
- function markdown(strings) {
10
- return String.raw(strings).replaceAll('\\`', '`');
11
- }
12
- export const BUILT_IN_RALPH_JOB_TEMPLATES = [
13
- {
14
- id: 'prd-single-story-standard',
15
- name: 'PRD single story standard',
16
- description: 'Default Ralph loop: pick the highest-priority failing PRD user story, implement exactly one story, test, commit, update progress, then stop or continue on the next run.',
17
- category: 'prd',
18
- job: {
19
- name: 'Ralph PRD single story',
20
- description: 'One PRD user story per Ralph iteration.',
21
- prompt: markdown `# Ralph Auftrag: <Project / Change Name>
22
-
23
- ## Worktree
24
-
25
- Work from the host worktree, not from a container copy:
26
-
27
- \`\`\`bash
28
- cd <host-worktree>
29
- \`\`\`
30
-
31
- Branch: \`<branch-name>\`
32
- Base: \`<base-branch-or-commit>\`
33
- PRDs: \`<path-to-prds>/prd_*.json\`
34
- Progress log: \`<path-to-prds>/progress.txt\`
35
-
36
- If a container is required for build, gateway, or browser checks, use it only for running commands. Edit files and run git commands in the host worktree. Do not edit \`/app\` inside a container.
37
-
38
- ## Ralph Agent Instructions
39
-
40
- You are an autonomous coding agent working on a software project.
41
-
42
- ### Your Task
43
-
44
- 1. Work from the host worktree above.
45
- 2. Read all PRD JSON files matching \`<path-to-prds>/prd_*.json\`.
46
- 3. Read the progress log. If it does not exist, create it.
47
- 4. Read the \`## Codebase Patterns\` section at the top of the progress log if present.
48
- 5. Pick the highest-priority user story where \`passes: false\`.
49
- 6. Implement that single user story only.
50
- 7. Run quality checks:
51
- - Always run \`npm run typecheck\`.
52
- - Run relevant tests for touched areas.
53
- - For UI stories, run browser verification in the configured dev container/browser environment.
54
- 8. If checks pass, update the PRD JSON to set \`passes: true\` for the completed story.
55
- 9. Commit all changes from the host worktree with message:
56
- \`feat: [Story ID] - [Story Title]\`
57
- 10. Append your progress to the progress log.
58
-
59
- ### Progress Report Format
60
-
61
- Append to the progress log. Never replace; always append.
62
-
63
- \`\`\`md
64
- ## [Date/Time] - [Story ID]
65
- - What was implemented
66
- - Files changed
67
- - Quality checks run
68
- - Browser verification, if UI changed
69
- - **Learnings for future iterations:**
70
- - Patterns discovered
71
- - Gotchas encountered
72
- - Useful context
73
- ---
74
- \`\`\`
75
-
76
- ### Consolidate Patterns
77
-
78
- If you discover a reusable pattern, add it to the \`## Codebase Patterns\` section at the top of the progress log. Only add general reusable patterns, not story-specific notes.
79
-
80
- ## Quality Requirements
81
-
82
- - All commits must pass quality checks.
83
- - Do not commit broken code.
84
- - Keep changes focused and minimal.
85
- - Follow existing code patterns.
86
- - For UI stories, browser verification is mandatory.
87
-
88
- ## Stop Condition
89
-
90
- After completing one user story, check whether all stories in all PRD JSON files have \`passes: true\`.
91
-
92
- If all stories are complete and passing, reply with the XML completion marker on its own line. Compose it from the opening tag \`<promise>\`, the word \`COMPLETE\`, and the closing tag \`</promise>\`.
93
-
94
- Do not quote, negate, explain, or mention that literal marker unless all stories are complete and you intend to stop the job. If any story remains with \`passes: false\`, end normally so another iteration can pick up the next story and say only that the completion marker was omitted.`,
95
- stopPolicy: promiseCompletePolicy,
96
- },
97
- },
98
- {
99
- id: 'prd-batch-stories',
100
- name: 'PRD batch stories',
101
- description: 'Batch loop: implement several failing PRD user stories in priority order in one Ralph run, committing after each completed story.',
102
- category: 'prd',
103
- job: {
104
- name: 'Ralph PRD batch',
105
- description: 'Multiple PRD user stories per Ralph run.',
106
- prompt: markdown `# Ralph Auftrag: <Project / Change Name> Batch
107
-
108
- ## Worktree
109
-
110
- Work from the host worktree:
111
-
112
- \`\`\`bash
113
- cd <host-worktree>
114
- \`\`\`
115
-
116
- PRDs: \`<path-to-prds>/prd_*.json\`
117
- Progress log: \`<path-to-prds>/progress.txt\`
118
- Batch limit: \`<max-stories-this-run>\`
119
-
120
- ## Task
121
-
122
- 1. Read the PRD JSON files and progress log.
123
- 2. Work through failing user stories in priority order.
124
- 3. Complete up to \`<max-stories-this-run>\` stories in this run.
125
- 4. Keep each story isolated:
126
- - implement one story;
127
- - run relevant checks;
128
- - set that story's \`passes\` to \`true\` only after checks pass;
129
- - commit with \`feat: [Story ID] - [Story Title]\`;
130
- - append a progress-log entry.
131
- 5. Stop early if a story is blocked, ambiguous, or tests fail. Do not continue with later stories after a failed story.
132
-
133
- ## Quality Requirements
134
-
135
- - Always run \`npm run typecheck\` before each story commit unless the repository has a documented narrower check for this batch.
136
- - Run relevant tests for touched areas.
137
- - Browser verification is mandatory for UI changes.
138
- - Keep changes focused; do not bundle unrelated refactors.
139
-
140
- ## Stop Condition
141
-
142
- If all stories in all PRD JSON files are complete and passing, reply with the XML completion marker on its own line. Compose it from the opening tag \`<promise>\`, the word \`COMPLETE\`, and the closing tag \`</promise>\`.
143
-
144
- Do not quote, negate, explain, or mention that literal marker unless all stories are complete and you intend to stop the job. Otherwise report the stories completed and the next remaining failing story, and say only that the completion marker was omitted.`,
145
- stopPolicy: promiseCompletePolicy,
146
- },
147
- },
148
- {
149
- id: 'single-run-objective',
150
- name: 'Single-run objective',
151
- description: 'Non-PRD template for one focused objective with explicit done criteria. Stops after one completed run attempt by max-iterations.',
152
- category: 'general',
153
- job: {
154
- name: 'Ralph single-run objective',
155
- description: 'One focused non-PRD objective.',
156
- maxIterations: 1,
157
- stopPolicy: singleRunPolicy,
158
- prompt: markdown `# Ralph Auftrag: <Objective>
159
-
160
- ## Worktree
161
-
162
- \`\`\`bash
163
- cd <host-worktree>
164
- \`\`\`
165
-
166
- Branch: \`<branch-name>\`
167
-
168
- ## Objective
169
-
170
- <Describe the concrete outcome.>
171
-
172
- ## Done Criteria
173
-
174
- - <Pass/fail criterion 1>
175
- - <Pass/fail criterion 2>
176
- - <Required verification command or manual check>
177
-
178
- ## Instructions
179
-
180
- 1. Inspect the relevant code and docs before editing.
181
- 2. State assumptions in code comments or docs only when they matter for maintainers.
182
- 3. Implement the smallest focused change that satisfies the done criteria.
183
- 4. Run \`npm run typecheck\` and relevant tests.
184
- 5. Commit with a concise message if checks pass.
185
- 6. End with a short report listing files changed and verification run.
186
-
187
- This is not a PRD loop. Do not edit PRD JSON progress unless the objective explicitly asks for it.`,
188
- },
189
- },
190
- ];
191
- export function listRalphJobTemplates() {
192
- return BUILT_IN_RALPH_JOB_TEMPLATES.map((template) => cloneTemplate(template));
193
- }
194
- export function getRalphJobTemplate(id) {
195
- const template = BUILT_IN_RALPH_JOB_TEMPLATES.find((item) => item.id === id);
196
- return template ? cloneTemplate(template) : undefined;
197
- }
198
- function cloneTemplate(template) {
199
- return JSON.parse(JSON.stringify(template));
200
- }
@@ -1 +0,0 @@
1
- export {};