@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,67 @@
1
+ export function colorForTone(tone) {
2
+ switch (tone) {
3
+ case "blue":
4
+ return "blue";
5
+ case "cyan":
6
+ return "cyan";
7
+ case "green":
8
+ return "green";
9
+ case "magenta":
10
+ return "magenta";
11
+ case "red":
12
+ return "red";
13
+ case "yellow":
14
+ case "amber":
15
+ return "yellow";
16
+ case "dim":
17
+ return "gray";
18
+ case "default":
19
+ default:
20
+ return undefined;
21
+ }
22
+ }
23
+ export function colorForStatus(status) {
24
+ switch (status) {
25
+ case "done":
26
+ return "green";
27
+ case "running":
28
+ return "yellow";
29
+ case "error":
30
+ return "red";
31
+ case "neutral":
32
+ default:
33
+ return "gray";
34
+ }
35
+ }
36
+ export function colorForRowKind(kind) {
37
+ if (kind === "message.user")
38
+ return "cyan";
39
+ if (kind === "message.assistant")
40
+ return undefined;
41
+ if (kind === "error")
42
+ return "red";
43
+ if (kind === "yielded.run")
44
+ return "magenta";
45
+ if (kind.startsWith("tool."))
46
+ return "yellow";
47
+ if (kind.startsWith("agent."))
48
+ return "magenta";
49
+ if (kind.startsWith("execution."))
50
+ return "blue";
51
+ if (kind === "reasoning")
52
+ return "yellow";
53
+ return "gray";
54
+ }
55
+ export function markerForStatus(status) {
56
+ switch (status) {
57
+ case "done":
58
+ return "✓";
59
+ case "running":
60
+ return "…";
61
+ case "error":
62
+ return "✕";
63
+ case "neutral":
64
+ default:
65
+ return "•";
66
+ }
67
+ }
@@ -0,0 +1,244 @@
1
+ import { redactTerminalSecret } from "../../session-ui/index.js";
2
+ const DEFAULT_MAX_CHARS = 1600;
3
+ const DEFAULT_MAX_DEPTH = 4;
4
+ const DEFAULT_MAX_ARRAY_ITEMS = 20;
5
+ const DEFAULT_MAX_OBJECT_KEYS = 40;
6
+ const DEFAULT_INLINE_MAX_DEPTH = 3;
7
+ const DEFAULT_INLINE_EXPANDED_DEPTH = 1;
8
+ const DEFAULT_INLINE_MAX_ITEMS = 6;
9
+ const DEFAULT_INLINE_MAX_KEYS = 8;
10
+ const DEFAULT_INLINE_STRING_CHARS = 140;
11
+ const DEFAULT_DETAIL_DEPTH = 2;
12
+ const DEFAULT_DETAIL_ITEMS = 10;
13
+ const DEFAULT_DETAIL_KEYS = 16;
14
+ const DEFAULT_DETAIL_STRING_CHARS = 240;
15
+ export function formatInkJson(value, options = {}) {
16
+ const prepared = prepareJsonValue(value, {
17
+ maxDepth: options.maxDepth ?? DEFAULT_MAX_DEPTH,
18
+ maxArrayItems: options.maxArrayItems ?? DEFAULT_MAX_ARRAY_ITEMS,
19
+ maxObjectKeys: options.maxObjectKeys ?? DEFAULT_MAX_OBJECT_KEYS,
20
+ maxStringChars: options.maxStringChars ?? Number.POSITIVE_INFINITY,
21
+ seen: new WeakSet(),
22
+ depth: 0,
23
+ });
24
+ return sanitizeTerminalText(JSON.stringify(prepared, null, 2) ?? String(prepared));
25
+ }
26
+ export function formatInlineJson(value, maxChars = 180) {
27
+ return formatInlineJsonTokens(value, { maxChars }).map((token) => token.text).join("");
28
+ }
29
+ export function formatInlineJsonTokens(value, options = {}) {
30
+ const prepared = prepareJsonValue(value, {
31
+ maxDepth: options.maxDepth ?? DEFAULT_INLINE_MAX_DEPTH,
32
+ maxArrayItems: options.maxArrayItems ?? DEFAULT_INLINE_MAX_ITEMS,
33
+ maxObjectKeys: options.maxObjectKeys ?? DEFAULT_INLINE_MAX_KEYS,
34
+ maxStringChars: options.maxStringChars ?? DEFAULT_INLINE_STRING_CHARS,
35
+ seen: new WeakSet(),
36
+ depth: 0,
37
+ });
38
+ return inlineJsonValueTokens(prepared, 0, options.maxDepth ?? DEFAULT_INLINE_EXPANDED_DEPTH);
39
+ }
40
+ export function formatFunctionCallTokens(name, input) {
41
+ return [
42
+ { text: name, tone: "yellow", weight: "semibold" },
43
+ { text: "(", tone: "default" },
44
+ ...formatInlineJsonTokens(input),
45
+ { text: ")", tone: "default" },
46
+ ];
47
+ }
48
+ export function formatDetailJsonWellLines(value, options = {}) {
49
+ const parsed = parseJsonDetailValue(value);
50
+ if (!parsed)
51
+ return undefined;
52
+ const prepared = prepareJsonValue(parsed.value, {
53
+ maxDepth: options.maxDepth ?? DEFAULT_DETAIL_DEPTH,
54
+ maxArrayItems: options.maxArrayItems ?? DEFAULT_DETAIL_ITEMS,
55
+ maxObjectKeys: options.maxObjectKeys ?? DEFAULT_DETAIL_KEYS,
56
+ maxStringChars: options.maxStringChars ?? DEFAULT_DETAIL_STRING_CHARS,
57
+ seen: new WeakSet(),
58
+ depth: 0,
59
+ });
60
+ const lines = [];
61
+ if (parsed.metadata)
62
+ lines.push(...parsed.metadata.split("\n").map((line) => `Meta: ${line}`));
63
+ lines.push("┌ JSON");
64
+ lines.push(...jsonPrettyLines(prepared, 0, options.maxDepth ?? DEFAULT_DETAIL_DEPTH));
65
+ lines.push("└ JSON");
66
+ return lines.map(sanitizeTerminalText);
67
+ }
68
+ export function tokenizeJsonTextLine(line) {
69
+ const tokens = [];
70
+ const pattern = /"(?:\\.|[^"\\])*"|-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?|true|false|null|[{}\[\]:,]|\s+|[^{}\[\]:,"\s]+/g;
71
+ const matches = sanitizeTerminalText(line).match(pattern) ?? [line];
72
+ for (let index = 0; index < matches.length; index += 1) {
73
+ const text = matches[index] ?? "";
74
+ if (!text)
75
+ continue;
76
+ if (/^\s+$/.test(text))
77
+ tokens.push({ text });
78
+ else if (/^[{}\[\]:,]$/.test(text))
79
+ tokens.push({ text, tone: "dim" });
80
+ else if (/^(?:true|false|null|-?\d)/.test(text))
81
+ tokens.push({ text, tone: "blue" });
82
+ else if (text.startsWith('"')) {
83
+ const nextNonSpace = matches.slice(index + 1).find((item) => !/^\s+$/.test(item));
84
+ tokens.push({ text: redactTerminalSecret(text), tone: nextNonSpace === ":" ? "default" : "yellow" });
85
+ }
86
+ else
87
+ tokens.push({ text: redactTerminalSecret(text) });
88
+ }
89
+ return tokens;
90
+ }
91
+ export function truncateTerminalText(text, _maxChars) {
92
+ return sanitizeTerminalText(text);
93
+ }
94
+ export function sanitizeTerminalText(text) {
95
+ return redactTerminalSecret(stripControlText(text));
96
+ }
97
+ function prepareJsonValue(value, options) {
98
+ if (value === null || value === undefined)
99
+ return value;
100
+ if (typeof value === "string")
101
+ return shortenString(sanitizeTerminalText(value), options.maxStringChars);
102
+ if (typeof value === "number" || typeof value === "boolean")
103
+ return value;
104
+ if (typeof value === "bigint")
105
+ return `${value.toString()}n`;
106
+ if (typeof value === "symbol")
107
+ return value.description ? `Symbol(${value.description})` : "Symbol";
108
+ if (typeof value === "function")
109
+ return "[Function]";
110
+ if (options.depth >= options.maxDepth)
111
+ return Array.isArray(value) ? `▸[...] ${value.length} items` : "▸{...}";
112
+ if (typeof value !== "object")
113
+ return String(value);
114
+ if (options.seen.has(value))
115
+ return "[Circular]";
116
+ options.seen.add(value);
117
+ try {
118
+ if (Array.isArray(value)) {
119
+ const items = value.slice(0, options.maxArrayItems).map((item) => prepareJsonValue(item, { ...options, depth: options.depth + 1 }));
120
+ if (value.length > options.maxArrayItems)
121
+ items.push(`… ${value.length - options.maxArrayItems} more items`);
122
+ return items;
123
+ }
124
+ const entries = Object.entries(value);
125
+ const result = {};
126
+ for (const [key, item] of entries.slice(0, options.maxObjectKeys)) {
127
+ result[sanitizeTerminalText(key)] = prepareJsonValue(item, { ...options, depth: options.depth + 1 });
128
+ }
129
+ if (entries.length > options.maxObjectKeys)
130
+ result["…"] = `${entries.length - options.maxObjectKeys} more keys`;
131
+ return result;
132
+ }
133
+ finally {
134
+ options.seen.delete(value);
135
+ }
136
+ }
137
+ function inlineJsonValueTokens(value, depth, expandedDepth) {
138
+ if (value === null)
139
+ return [{ text: "null", tone: "blue" }];
140
+ if (typeof value === "number" || typeof value === "boolean")
141
+ return [{ text: String(value), tone: "blue" }];
142
+ if (typeof value === "string")
143
+ return [{ text: JSON.stringify(value), tone: "yellow" }];
144
+ if (Array.isArray(value)) {
145
+ if (depth >= expandedDepth)
146
+ return [{ text: "▸[...]", tone: "dim" }];
147
+ const tokens = [{ text: "▾[", tone: "dim" }];
148
+ value.forEach((item, index) => {
149
+ if (index > 0)
150
+ tokens.push({ text: ", ", tone: "dim" });
151
+ tokens.push(...inlineJsonValueTokens(item, depth + 1, expandedDepth));
152
+ });
153
+ tokens.push({ text: "]", tone: "dim" });
154
+ return tokens;
155
+ }
156
+ if (typeof value === "object" && value) {
157
+ if (depth >= expandedDepth)
158
+ return [{ text: "▸{...}", tone: "dim" }];
159
+ const tokens = [{ text: "▾{", tone: "dim" }];
160
+ Object.entries(value).forEach(([key, item], index) => {
161
+ if (index > 0)
162
+ tokens.push({ text: ", ", tone: "dim" });
163
+ tokens.push({ text: JSON.stringify(key), tone: "default" }, { text: ": ", tone: "dim" }, ...inlineJsonValueTokens(item, depth + 1, expandedDepth));
164
+ });
165
+ tokens.push({ text: "}", tone: "dim" });
166
+ return tokens;
167
+ }
168
+ return [{ text: JSON.stringify(String(value)), tone: "yellow" }];
169
+ }
170
+ function parseJsonDetailValue(value) {
171
+ if (value && typeof value === "object")
172
+ return { value };
173
+ if (typeof value !== "string")
174
+ return undefined;
175
+ const text = stripControlText(value).trim();
176
+ if (!text)
177
+ return undefined;
178
+ for (let index = 0; index < text.length; index += 1) {
179
+ const char = text[index];
180
+ if (char !== "{" && char !== "[")
181
+ continue;
182
+ try {
183
+ const parsed = JSON.parse(text.slice(index).trim());
184
+ const metadata = text.slice(0, index).trim();
185
+ return { metadata: metadata || undefined, value: parsed };
186
+ }
187
+ catch {
188
+ // Keep looking for the first valid JSON payload after leading status text.
189
+ }
190
+ }
191
+ return undefined;
192
+ }
193
+ function jsonPrettyLines(value, depth, maxDepth) {
194
+ const indent = " ".repeat(depth);
195
+ if (value === null || typeof value === "number" || typeof value === "boolean" || typeof value === "string")
196
+ return [`${indent}${primitiveText(value)}`];
197
+ if (Array.isArray(value)) {
198
+ if (depth >= maxDepth)
199
+ return [`${indent}▸[...]`];
200
+ if (value.length === 0)
201
+ return [`${indent}[]`];
202
+ const lines = [`${indent}▾[`];
203
+ for (const item of value)
204
+ lines.push(...jsonPrettyLines(item, depth + 1, maxDepth));
205
+ lines.push(`${indent}]`);
206
+ return lines;
207
+ }
208
+ if (typeof value === "object" && value) {
209
+ if (depth >= maxDepth)
210
+ return [`${indent}▸{...}`];
211
+ const entries = Object.entries(value);
212
+ if (entries.length === 0)
213
+ return [`${indent}{}`];
214
+ const lines = [`${indent}▾{`];
215
+ for (const [key, item] of entries) {
216
+ const child = jsonPrettyLines(item, depth + 1, maxDepth);
217
+ if (child.length === 1)
218
+ lines.push(`${" ".repeat(depth + 1)}${JSON.stringify(key)}: ${child[0]?.trimStart() ?? ""}`);
219
+ else {
220
+ lines.push(`${" ".repeat(depth + 1)}${JSON.stringify(key)}:`);
221
+ lines.push(...child);
222
+ }
223
+ }
224
+ lines.push(`${indent}}`);
225
+ return lines;
226
+ }
227
+ return [`${indent}${primitiveText(String(value))}`];
228
+ }
229
+ function stripControlText(text) {
230
+ return text
231
+ .replace(/\r\n?/g, "\n")
232
+ .replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g, "");
233
+ }
234
+ function primitiveText(value) {
235
+ if (typeof value === "string")
236
+ return JSON.stringify(value);
237
+ return String(value);
238
+ }
239
+ function shortenString(value, maxStringChars) {
240
+ if (!Number.isFinite(maxStringChars) || value.length <= maxStringChars)
241
+ return value;
242
+ const omitted = value.length - maxStringChars;
243
+ return `${value.slice(0, maxStringChars)}... (+${omitted} chars)`;
244
+ }
@@ -0,0 +1,127 @@
1
+ import { sanitizeTerminalText, tokenizeJsonTextLine } from "./inkJson.js";
2
+ import { highlightInkCodeLine, normalizeInkCodeLanguage } from "./inkSyntaxHighlighter.js";
3
+ export function renderInkMarkdownLines(markdown, options = {}) {
4
+ return renderInkMarkdownTerminalLines(markdown, options).map((line) => line.tokens.map((token) => token.text).join(""));
5
+ }
6
+ export function renderInkMarkdownTerminalLines(markdown, options = {}) {
7
+ const sourceLines = sanitizeTerminalText(markdown ?? "").split("\n");
8
+ const result = [];
9
+ let inCodeFence = false;
10
+ let codeLanguage = "";
11
+ for (const sourceLine of sourceLines) {
12
+ const fence = sourceLine.trim().match(/^```\s*([\w-]+)?/);
13
+ if (fence) {
14
+ if (inCodeFence) {
15
+ result.push(line([{ text: "└ code", tone: "dim" }]));
16
+ inCodeFence = false;
17
+ codeLanguage = "";
18
+ }
19
+ else {
20
+ inCodeFence = true;
21
+ codeLanguage = (fence[1] ?? "text").toLowerCase();
22
+ result.push(line([{ text: `┌ code ${codeLanguage}`, tone: "dim" }]));
23
+ }
24
+ continue;
25
+ }
26
+ if (inCodeFence) {
27
+ result.push(line(codeFenceTokens(sourceLine.replace(/\t/g, " "), codeLanguage)));
28
+ continue;
29
+ }
30
+ const trimmed = sourceLine.trim();
31
+ if (!trimmed) {
32
+ if (result.length > 0 && textForLine(result[result.length - 1]) !== "")
33
+ result.push(line([{ text: "" }]));
34
+ continue;
35
+ }
36
+ result.push(markdownLine(sourceLine, options));
37
+ }
38
+ while (result.length > 0 && textForLine(result[result.length - 1]) === "")
39
+ result.pop();
40
+ const bounded = options.maxLines ? result.slice(0, options.maxLines) : result;
41
+ return bounded.length > 0 ? bounded : [line([{ text: "" }])];
42
+ }
43
+ export function tokenizeInkBashCommand(command) {
44
+ const chunks = sanitizeTerminalText(command).match(/\s+|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|(?:&&|\|\||2>&1)|[|;<>]|[^\s|;<>]+/g) ?? [command];
45
+ let seenCommand = false;
46
+ return chunks.map((chunk) => {
47
+ if (/^\s+$/.test(chunk))
48
+ return { text: chunk };
49
+ if (/^(?:&&|\|\||[|;<>]|2>&1)$/.test(chunk))
50
+ return { text: chunk, tone: "red", weight: "semibold" };
51
+ if (chunk.startsWith("-"))
52
+ return { text: chunk, tone: "magenta" };
53
+ if (chunk.startsWith("$") || /^\w+=/.test(chunk))
54
+ return { text: chunk, tone: "yellow" };
55
+ if (/^['"]/.test(chunk))
56
+ return { text: chunk, tone: "green" };
57
+ if (!seenCommand) {
58
+ seenCommand = true;
59
+ return { text: chunk, tone: "green", weight: "semibold" };
60
+ }
61
+ if (chunk.includes("/") || chunk.startsWith("."))
62
+ return { text: chunk, tone: "cyan" };
63
+ return { text: chunk, tone: "default" };
64
+ });
65
+ }
66
+ function markdownLine(sourceLine, options) {
67
+ const indent = sourceLine.match(/^\s*/)?.[0] ?? "";
68
+ const trimmed = sourceLine.trim();
69
+ const reasoningTone = options.reasoning ? "amber" : undefined;
70
+ const heading = trimmed.match(/^(#{1,6})\s+(.*)$/);
71
+ if (heading)
72
+ return line([{ text: `${heading[1]} `, tone: "dim" }, ...inlineMarkdownTokens(heading[2] ?? "", { weight: "semibold", tone: reasoningTone })]);
73
+ const unordered = trimmed.match(/^([-*+])\s+(.*)$/);
74
+ if (unordered)
75
+ return line([{ text: indent, tone: "dim" }, { text: "• ", tone: options.reasoning ? "amber" : "cyan" }, ...inlineMarkdownTokens(unordered[2] ?? "", { tone: reasoningTone })]);
76
+ const ordered = trimmed.match(/^(\d+[.)])\s+(.*)$/);
77
+ if (ordered)
78
+ return line([{ text: indent, tone: "dim" }, { text: `${ordered[1]} `, tone: options.reasoning ? "amber" : "cyan" }, ...inlineMarkdownTokens(ordered[2] ?? "", { tone: reasoningTone })]);
79
+ const quote = trimmed.match(/^>\s?(.*)$/);
80
+ if (quote)
81
+ return line([{ text: "> ", tone: options.reasoning ? "amber" : "cyan" }, ...inlineMarkdownTokens(quote[1] ?? "", { tone: reasoningTone })]);
82
+ if (/^\|.*\|$/.test(trimmed))
83
+ return line([{ text: trimmed, tone: "dim" }]);
84
+ return line(inlineMarkdownTokens(trimmed, { tone: reasoningTone }));
85
+ }
86
+ function inlineMarkdownTokens(text, defaults = {}) {
87
+ const tokens = [];
88
+ const pattern = /`([^`]+)`|\[([^\]]+)\]\(([^)]+)\)|\*\*([^*]+)\*\*|__([^_]+)__|\*([^*]+)\*|_([^_]+)_/g;
89
+ let lastIndex = 0;
90
+ let match;
91
+ while ((match = pattern.exec(text))) {
92
+ if (match.index > lastIndex)
93
+ tokens.push({ text: text.slice(lastIndex, match.index), ...defaults });
94
+ if (match[1] !== undefined)
95
+ tokens.push({ text: `\`${match[1]}\``, tone: "cyan" });
96
+ else if (match[2] !== undefined)
97
+ tokens.push({ text: match[2], tone: "cyan" }, { text: ` (${match[3]})`, tone: "dim" });
98
+ else if (match[4] !== undefined || match[5] !== undefined)
99
+ tokens.push({ text: match[4] ?? match[5] ?? "", tone: defaults.tone, weight: "semibold" });
100
+ else
101
+ tokens.push({ text: match[6] ?? match[7] ?? "", tone: defaults.tone, italic: true });
102
+ lastIndex = pattern.lastIndex;
103
+ }
104
+ if (lastIndex < text.length)
105
+ tokens.push({ text: text.slice(lastIndex), ...defaults });
106
+ return tokens.filter((token) => token.text.length > 0);
107
+ }
108
+ function codeFenceTokens(sourceLine, language) {
109
+ const normalizedLanguage = normalizeInkCodeLanguage(language);
110
+ if (isBashLanguage(normalizedLanguage))
111
+ return [{ text: " " }, ...tokenizeInkBashCommand(sourceLine)];
112
+ if (normalizedLanguage === "json")
113
+ return [{ text: " " }, ...tokenizeJsonTextLine(sourceLine)];
114
+ const highlighted = highlightInkCodeLine(sourceLine, normalizedLanguage);
115
+ if (highlighted)
116
+ return [{ text: " " }, ...highlighted];
117
+ return [{ text: ` ${sourceLine}`, tone: "default" }];
118
+ }
119
+ function isBashLanguage(language) {
120
+ return language === "bash";
121
+ }
122
+ function line(tokens) {
123
+ return { prefix: "none", tokens };
124
+ }
125
+ function textForLine(lineValue) {
126
+ return lineValue?.tokens.map((token) => token.text).join("") ?? "";
127
+ }
@@ -0,0 +1,166 @@
1
+ import { createRequire } from "node:module";
2
+ const require = createRequire(import.meta.url);
3
+ const languageAliases = new Map([
4
+ ["sh", "bash"],
5
+ ["shell", "bash"],
6
+ ["shellscript", "bash"],
7
+ ["zsh", "bash"],
8
+ ["js", "javascript"],
9
+ ["mjs", "javascript"],
10
+ ["cjs", "javascript"],
11
+ ["ts", "typescript"],
12
+ ["mts", "typescript"],
13
+ ["cts", "typescript"],
14
+ ["md", "markdown"],
15
+ ["yml", "yaml"],
16
+ ["jsonc", "json"],
17
+ ["py", "python"],
18
+ ["rs", "rust"],
19
+ ]);
20
+ const grammarComponents = {
21
+ bash: ["bash"],
22
+ css: ["css"],
23
+ go: ["go"],
24
+ html: ["markup"],
25
+ javascript: ["javascript"],
26
+ json: ["json"],
27
+ jsx: ["markup", "javascript", "jsx"],
28
+ markdown: ["markup", "markdown"],
29
+ python: ["python"],
30
+ rust: ["rust"],
31
+ sql: ["sql"],
32
+ tsx: ["markup", "javascript", "jsx", "typescript", "tsx"],
33
+ typescript: ["javascript", "typescript"],
34
+ yaml: ["yaml"],
35
+ };
36
+ const loadedComponents = new Set();
37
+ let prismInstance;
38
+ export function highlightInkCodeLine(sourceLine, language) {
39
+ if (shouldUsePlainCodeTokens())
40
+ return [{ text: sourceLine, tone: "default" }];
41
+ const normalizedLanguage = normalizeInkCodeLanguage(language);
42
+ const prism = loadPrism();
43
+ if (!loadGrammar(prism, normalizedLanguage))
44
+ return undefined;
45
+ const grammar = prism.languages[normalizedLanguage];
46
+ if (!grammar)
47
+ return undefined;
48
+ try {
49
+ return flattenPrismTokens(prism.tokenize(sourceLine, grammar));
50
+ }
51
+ catch {
52
+ return undefined;
53
+ }
54
+ }
55
+ export function normalizeInkCodeLanguage(language) {
56
+ const normalized = language.trim().toLowerCase();
57
+ return languageAliases.get(normalized) ?? normalized;
58
+ }
59
+ function loadPrism() {
60
+ prismInstance ??= require("prismjs");
61
+ return prismInstance;
62
+ }
63
+ function loadGrammar(prism, language) {
64
+ const components = grammarComponents[language];
65
+ if (!components)
66
+ return false;
67
+ for (const component of components) {
68
+ if (loadedComponents.has(component))
69
+ continue;
70
+ require(`prismjs/components/prism-${component}.js`);
71
+ loadedComponents.add(component);
72
+ }
73
+ return Boolean(prism.languages[language]);
74
+ }
75
+ function flattenPrismTokens(tokens, inheritedTone = "default") {
76
+ const result = [];
77
+ for (const token of tokens) {
78
+ if (typeof token === "string") {
79
+ if (token.length > 0)
80
+ result.push({ text: token, tone: inheritedTone });
81
+ continue;
82
+ }
83
+ const tone = toneForPrismToken(token) ?? inheritedTone;
84
+ appendPrismContent(result, token.content, tone);
85
+ }
86
+ return mergeAdjacentTokens(result);
87
+ }
88
+ function appendPrismContent(result, content, tone) {
89
+ if (typeof content === "string") {
90
+ if (content.length > 0)
91
+ result.push({ text: content, tone });
92
+ return;
93
+ }
94
+ if (Array.isArray(content)) {
95
+ result.push(...flattenPrismTokens(content, tone));
96
+ return;
97
+ }
98
+ const nestedTone = toneForPrismToken(content) ?? tone;
99
+ appendPrismContent(result, content.content, nestedTone);
100
+ }
101
+ function toneForPrismToken(token) {
102
+ const classes = [token.type, ...aliasesForToken(token)];
103
+ for (const className of classes) {
104
+ switch (className) {
105
+ case "comment":
106
+ case "prolog":
107
+ case "doctype":
108
+ case "cdata":
109
+ return "dim";
110
+ case "string":
111
+ case "char":
112
+ case "attr-value":
113
+ case "url":
114
+ return "green";
115
+ case "number":
116
+ case "boolean":
117
+ case "constant":
118
+ return "blue";
119
+ case "keyword":
120
+ case "operator":
121
+ case "punctuation":
122
+ case "important":
123
+ case "atrule":
124
+ return "magenta";
125
+ case "function":
126
+ case "method":
127
+ case "selector":
128
+ case "class-name":
129
+ return "yellow";
130
+ case "tag":
131
+ case "property":
132
+ case "attr-name":
133
+ case "variable":
134
+ case "regex":
135
+ return "cyan";
136
+ case "builtin":
137
+ case "symbol":
138
+ case "deleted":
139
+ return "red";
140
+ default:
141
+ break;
142
+ }
143
+ }
144
+ return undefined;
145
+ }
146
+ function aliasesForToken(token) {
147
+ if (!token.alias)
148
+ return [];
149
+ return Array.isArray(token.alias) ? token.alias : [token.alias];
150
+ }
151
+ function mergeAdjacentTokens(tokens) {
152
+ const merged = [];
153
+ for (const token of tokens) {
154
+ const previous = merged[merged.length - 1];
155
+ if (previous && previous.tone === token.tone && previous.weight === token.weight && previous.italic === token.italic) {
156
+ previous.text += token.text;
157
+ }
158
+ else {
159
+ merged.push({ ...token });
160
+ }
161
+ }
162
+ return merged;
163
+ }
164
+ function shouldUsePlainCodeTokens() {
165
+ return Boolean(process.env.NO_COLOR) || process.env.TERM === "dumb" || process.env.PIBO_ASCII_PROGRESS === "1";
166
+ }
@@ -0,0 +1 @@
1
+ var e={"+":[`conjugate`,`add`],"−":[`negate`,`subtract`],"×":[`signOf`,`multiply`],"÷":[`reciprocal`,`divide`],"⌈":[`ceiling`,`greaterOf`],"⌊":[`floor`,`lesserOf`],"∣":[`absolute`,`residue`],"⍳":[`indexGenerate`,`indexOf`],"?":[`roll`,`deal`],"⋆":[`exponentiate`,`toThePowerOf`],"⍟":[`naturalLog`,`logToTheBase`],"○":[`piTimes`,`circularFuncs`],"!":[`factorial`,`binomial`],"⌹":[`matrixInverse`,`matrixDivide`],"<":[null,`lessThan`],"≤":[null,`lessThanOrEqual`],"=":[null,`equals`],">":[null,`greaterThan`],"≥":[null,`greaterThanOrEqual`],"≠":[null,`notEqual`],"≡":[`depth`,`match`],"≢":[null,`notMatch`],"∈":[`enlist`,`membership`],"⍷":[null,`find`],"∪":[`unique`,`union`],"∩":[null,`intersection`],"∼":[`not`,`without`],"∨":[null,`or`],"∧":[null,`and`],"⍱":[null,`nor`],"⍲":[null,`nand`],"⍴":[`shapeOf`,`reshape`],",":[`ravel`,`catenate`],"⍪":[null,`firstAxisCatenate`],"⌽":[`reverse`,`rotate`],"⊖":[`axis1Reverse`,`axis1Rotate`],"⍉":[`transpose`,null],"↑":[`first`,`take`],"↓":[null,`drop`],"⊂":[`enclose`,`partitionWithAxis`],"⊃":[`diclose`,`pick`],"⌷":[null,`index`],"⍋":[`gradeUp`,null],"⍒":[`gradeDown`,null],"⊤":[`encode`,null],"⊥":[`decode`,null],"⍕":[`format`,`formatByExample`],"⍎":[`execute`,null],"⊣":[`stop`,`left`],"⊢":[`pass`,`right`]},t=/[\.\/⌿⍀¨⍣]/,n=/⍬/,r=/[\+−×÷⌈⌊∣⍳\?⋆⍟○!⌹<≤=>≥≠≡≢∈⍷∪∩∼∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢]/,i=/←/,a=/[⍝#].*$/,o=function(e){var t=!1;return function(n){return t=n,n===e?t===`\\`:!0}},s={name:`apl`,startState:function(){return{prev:!1,func:!1,op:!1,string:!1,escape:!1}},token:function(s,c){var l;return s.eatSpace()?null:(l=s.next(),l===`"`||l===`'`?(s.eatWhile(o(l)),s.next(),c.prev=!0,`string`):/[\[{\(]/.test(l)?(c.prev=!1,null):/[\]}\)]/.test(l)?(c.prev=!0,null):n.test(l)?(c.prev=!1,`atom`):/[¯\d]/.test(l)?(c.func?(c.func=!1,c.prev=!1):c.prev=!0,s.eatWhile(/[\w\.]/),`number`):t.test(l)||i.test(l)?`operator`:r.test(l)?(c.func=!0,c.prev=!1,e[l]?`variableName.function.standard`:`variableName.function`):a.test(l)?(s.skipToEnd(),`comment`):l===`∘`&&s.peek()===`.`?(s.next(),`variableName.function`):(s.eatWhile(/[\w\$_]/),c.prev=!0,`keyword`))}};export{s as apl};
@@ -0,0 +1 @@
1
+ function e(e){var t=e.match(/^\s*\S/);return e.skipToEnd(),t?`error`:null}var t={name:`asciiarmor`,token:function(t,n){var r;if(n.state==`top`)return t.sol()&&(r=t.match(/^-----BEGIN (.*)?-----\s*$/))?(n.state=`headers`,n.type=r[1],`tag`):e(t);if(n.state==`headers`){if(t.sol()&&t.match(/^\w+:/))return n.state=`header`,`atom`;var i=e(t);return i&&(n.state=`body`),i}else if(n.state==`header`)return t.skipToEnd(),n.state=`headers`,`string`;else if(n.state==`body`)return t.sol()&&(r=t.match(/^-----END (.*)?-----\s*$/))?r[1]==n.type?(n.state=`end`,`tag`):`error`:t.eatWhile(/[A-Za-z0-9+\/=]/)?null:(t.next(),`error`);else if(n.state==`end`)return e(t)},blankLine:function(e){e.state==`headers`&&(e.state=`body`)},startState:function(){return{state:`top`,type:null}}};export{t as asciiArmor};
@@ -0,0 +1 @@
1
+ function e(e){for(var t={},n=e.split(` `),r=0;r<n.length;++r)t[n[r]]=!0;return t}var t={keywords:e(`DEFINITIONS OBJECTS IF DERIVED INFORMATION ACTION REPLY ANY NAMED CHARACTERIZED BEHAVIOUR REGISTERED WITH AS IDENTIFIED CONSTRAINED BY PRESENT BEGIN IMPORTS FROM UNITS SYNTAX MIN-ACCESS MAX-ACCESS MINACCESS MAXACCESS REVISION STATUS DESCRIPTION SEQUENCE SET COMPONENTS OF CHOICE DistinguishedName ENUMERATED SIZE MODULE END INDEX AUGMENTS EXTENSIBILITY IMPLIED EXPORTS`),cmipVerbs:e(`ACTIONS ADD GET NOTIFICATIONS REPLACE REMOVE`),compareTypes:e(`OPTIONAL DEFAULT MANAGED MODULE-TYPE MODULE_IDENTITY MODULE-COMPLIANCE OBJECT-TYPE OBJECT-IDENTITY OBJECT-COMPLIANCE MODE CONFIRMED CONDITIONAL SUBORDINATE SUPERIOR CLASS TRUE FALSE NULL TEXTUAL-CONVENTION`),status:e(`current deprecated mandatory obsolete`),tags:e(`APPLICATION AUTOMATIC EXPLICIT IMPLICIT PRIVATE TAGS UNIVERSAL`),storage:e(`BOOLEAN INTEGER OBJECT IDENTIFIER BIT OCTET STRING UTCTime InterfaceIndex IANAifType CMIP-Attribute REAL PACKAGE PACKAGES IpAddress PhysAddress NetworkAddress BITS BMPString TimeStamp TimeTicks TruthValue RowStatus DisplayString GeneralString GraphicString IA5String NumericString PrintableString SnmpAdminString TeletexString UTF8String VideotexString VisibleString StringStore ISO646String T61String UniversalString Unsigned32 Integer32 Gauge Gauge32 Counter Counter32 Counter64`),modifier:e(`ATTRIBUTE ATTRIBUTES MANDATORY-GROUP MANDATORY-GROUPS GROUP GROUPS ELEMENTS EQUALITY ORDERING SUBSTRINGS DEFINED`),accessTypes:e(`not-accessible accessible-for-notify read-only read-create read-write`),multiLineStrings:!0};function n(e){var n=e.keywords||t.keywords,r=e.cmipVerbs||t.cmipVerbs,i=e.compareTypes||t.compareTypes,a=e.status||t.status,o=e.tags||t.tags,s=e.storage||t.storage,c=e.modifier||t.modifier,l=e.accessTypes||t.accessTypes,u=e.multiLineStrings||t.multiLineStrings,d=e.indentStatements!==!1,f=/[\|\^]/,p;function m(e,t){var u=e.next();if(u==`"`||u==`'`)return t.tokenize=h(u),t.tokenize(e,t);if(/[\[\]\(\){}:=,;]/.test(u))return p=u,`punctuation`;if(u==`-`&&e.eat(`-`))return e.skipToEnd(),`comment`;if(/\d/.test(u))return e.eatWhile(/[\w\.]/),`number`;if(f.test(u))return e.eatWhile(f),`operator`;e.eatWhile(/[\w\-]/);var d=e.current();return n.propertyIsEnumerable(d)?`keyword`:r.propertyIsEnumerable(d)?`variableName`:i.propertyIsEnumerable(d)?`atom`:a.propertyIsEnumerable(d)?`comment`:o.propertyIsEnumerable(d)?`typeName`:s.propertyIsEnumerable(d)||c.propertyIsEnumerable(d)||l.propertyIsEnumerable(d)?`modifier`:`variableName`}function h(e){return function(t,n){for(var r=!1,i,a=!1;(i=t.next())!=null;){if(i==e&&!r){var o=t.peek();o&&(o=o.toLowerCase(),(o==`b`||o==`h`||o==`o`)&&t.next()),a=!0;break}r=!r&&i==`\\`}return(a||!(r||u))&&(n.tokenize=null),`string`}}function g(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function _(e,t,n){var r=e.indented;return e.context&&e.context.type==`statement`&&(r=e.context.indented),e.context=new g(r,t,n,null,e.context)}function v(e){var t=e.context.type;return(t==`)`||t==`]`||t==`}`)&&(e.indented=e.context.indented),e.context=e.context.prev}return{name:`asn1`,startState:function(){return{tokenize:null,context:new g(-2,0,`top`,!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(n.align??=!1,t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;p=null;var r=(t.tokenize||m)(e,t);if(r==`comment`)return r;if(n.align??=!0,(p==`;`||p==`:`||p==`,`)&&n.type==`statement`)v(t);else if(p==`{`)_(t,e.column(),`}`);else if(p==`[`)_(t,e.column(),`]`);else if(p==`(`)_(t,e.column(),`)`);else if(p==`}`){for(;n.type==`statement`;)n=v(t);for(n.type==`}`&&(n=v(t));n.type==`statement`;)n=v(t)}else p==n.type?v(t):d&&((n.type==`}`||n.type==`top`)&&p!=`;`||n.type==`statement`&&p==`newstatement`)&&_(t,e.column(),`statement`);return t.startOfLine=!1,r},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:`--`}}}}export{n as asn1};
@@ -0,0 +1 @@
1
+ var e=[`exten`,`same`,`include`,`ignorepat`,`switch`],t=[`#include`,`#exec`],n=`addqueuemember.adsiprog.aelsub.agentlogin.agentmonitoroutgoing.agi.alarmreceiver.amd.answer.authenticate.background.backgrounddetect.bridge.busy.callcompletioncancel.callcompletionrequest.celgenuserevent.changemonitor.chanisavail.channelredirect.chanspy.clearhash.confbridge.congestion.continuewhile.controlplayback.dahdiacceptr2call.dahdibarge.dahdiras.dahdiscan.dahdisendcallreroutingfacility.dahdisendkeypadfacility.datetime.dbdel.dbdeltree.deadagi.dial.dictate.directory.disa.dumpchan.eagi.echo.endwhile.exec.execif.execiftime.exitwhile.extenspy.externalivr.festival.flash.followme.forkcdr.getcpeid.gosub.gosubif.goto.gotoif.gotoiftime.hangup.iax2provision.ices.importvar.incomplete.ivrdemo.jabberjoin.jabberleave.jabbersend.jabbersendgroup.jabberstatus.jack.log.macro.macroexclusive.macroexit.macroif.mailboxexists.meetme.meetmeadmin.meetmechanneladmin.meetmecount.milliwatt.minivmaccmess.minivmdelete.minivmgreet.minivmmwi.minivmnotify.minivmrecord.mixmonitor.monitor.morsecode.mp3player.mset.musiconhold.nbscat.nocdr.noop.odbc.odbc.odbcfinish.originate.ospauth.ospfinish.osplookup.ospnext.page.park.parkandannounce.parkedcall.pausemonitor.pausequeuemember.pickup.pickupchan.playback.playtones.privacymanager.proceeding.progress.queue.queuelog.raiseexception.read.readexten.readfile.receivefax.receivefax.receivefax.record.removequeuemember.resetcdr.retrydial.return.ringing.sayalpha.saycountedadj.saycountednoun.saycountpl.saydigits.saynumber.sayphonetic.sayunixtime.senddtmf.sendfax.sendfax.sendfax.sendimage.sendtext.sendurl.set.setamaflags.setcallerpres.setmusiconhold.sipaddheader.sipdtmfmode.sipremoveheader.skel.slastation.slatrunk.sms.softhangup.speechactivategrammar.speechbackground.speechcreate.speechdeactivategrammar.speechdestroy.speechloadgrammar.speechprocessingsound.speechstart.speechunloadgrammar.stackpop.startmusiconhold.stopmixmonitor.stopmonitor.stopmusiconhold.stopplaytones.system.testclient.testserver.transfer.tryexec.trysystem.unpausemonitor.unpausequeuemember.userevent.verbose.vmauthenticate.vmsayname.voicemail.voicemailmain.wait.waitexten.waitfornoise.waitforring.waitforsilence.waitmusiconhold.waituntil.while.zapateller`.split(`.`);function r(n,r){var i=``,a=n.next();if(r.blockComment)return a==`-`&&n.match(`-;`,!0)?r.blockComment=!1:n.skipTo(`--;`)?(n.next(),n.next(),n.next(),r.blockComment=!1):n.skipToEnd(),`comment`;if(a==`;`)return n.match(`--`,!0)&&!n.match(`-`,!1)?(r.blockComment=!0,`comment`):(n.skipToEnd(),`comment`);if(a==`[`)return n.skipTo(`]`),n.eat(`]`),`header`;if(a==`"`)return n.skipTo(`"`),`string`;if(a==`'`)return n.skipTo(`'`),`string.special`;if(a==`#`&&(n.eatWhile(/\w/),i=n.current(),t.indexOf(i)!==-1))return n.skipToEnd(),`strong`;if(a==`$`&&n.peek()==`{`)return n.skipTo(`}`),n.eat(`}`),`variableName.special`;if(n.eatWhile(/\w/),i=n.current(),e.indexOf(i)!==-1){switch(r.extenStart=!0,i){case`same`:r.extenSame=!0;break;case`include`:case`switch`:case`ignorepat`:r.extenInclude=!0;break;default:break}return`atom`}}var i={name:`asterisk`,startState:function(){return{blockComment:!1,extenStart:!1,extenSame:!1,extenInclude:!1,extenExten:!1,extenPriority:!1,extenApplication:!1}},token:function(e,t){var i=``;if(e.eatSpace())return null;if(t.extenStart)return e.eatWhile(/[^\s]/),i=e.current(),/^=>?$/.test(i)?(t.extenExten=!0,t.extenStart=!1,`strong`):(t.extenStart=!1,e.skipToEnd(),`error`);if(t.extenExten)return t.extenExten=!1,t.extenPriority=!0,e.eatWhile(/[^,]/),t.extenInclude&&=(e.skipToEnd(),t.extenPriority=!1,!1),t.extenSame&&(t.extenPriority=!1,t.extenSame=!1,t.extenApplication=!0),`tag`;if(t.extenPriority)return t.extenPriority=!1,t.extenApplication=!0,e.next(),t.extenSame?null:(e.eatWhile(/[^,]/),`number`);if(t.extenApplication){if(e.eatWhile(/,/),i=e.current(),i===`,`)return null;if(e.eatWhile(/\w/),i=e.current().toLowerCase(),t.extenApplication=!1,n.indexOf(i)!==-1)return`def`}else return r(e,t);return null},languageData:{commentTokens:{line:`;`,block:{open:`;--`,close:`--;`}}}};export{i as asterisk};
@@ -0,0 +1 @@
1
+ var e=`><+-.,[]`.split(``),t={name:`brainfuck`,startState:function(){return{commentLine:!1,left:0,right:0,commentLoop:!1}},token:function(t,n){if(t.eatSpace())return null;t.sol()&&(n.commentLine=!1);var r=t.next().toString();if(e.indexOf(r)!==-1){if(n.commentLine===!0)return t.eol()&&(n.commentLine=!1),`comment`;if(r===`]`||r===`[`)return r===`[`?n.left++:n.right++,`bracket`;if(r===`+`||r===`-`)return`keyword`;if(r===`<`||r===`>`)return`atom`;if(r===`.`||r===`,`)return`def`}else return n.commentLine=!0,t.eol()&&(n.commentLine=!1),`comment`;t.eol()&&(n.commentLine=!1)}};export{t as brainfuck};