@pasko70/pibo 1.9.7 → 1.9.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +183 -183
- package/context/codex-base-prompt.md +148 -148
- package/context/compute-worker.md +23 -23
- package/context/pibo-compaction-prompt.md +100 -100
- package/context/pibo-native-tooling.md +18 -18
- package/context/pibo-system-prompt.md +77 -77
- package/docs/README.md +23 -23
- package/docs/ops/install-developer-host.md +112 -112
- package/docs/ops/install-user-host.md +96 -96
- package/docs/ops/upgrade-user-to-developer-host.md +69 -69
- package/docs/ops/vscode-extension-release.md +160 -160
- package/package.json +95 -95
- package/skills/builtin/graphify/SKILL.md +52 -52
- package/skills/builtin/pi-agent-harness/SKILL.md +319 -319
- package/skills/builtin/pi-agent-harness/agents/openai.yaml +4 -4
- package/skills/builtin/pibo-docker-system/SKILL.md +170 -170
- package/skills/builtin/pibo-spec-writing/SKILL.md +330 -330
- package/skills/builtin/prd/SKILL.md +143 -143
- package/skills/builtin/ralph-loop/SKILL.md +359 -359
- package/skills/builtin/ralph-prd-json/SKILL.md +123 -123
- package/skills/builtin/skill-creator/LICENSE.txt +201 -201
- package/skills/builtin/skill-creator/SKILL.md +513 -513
- package/skills/builtin/skill-creator/agents/analyzer.md +274 -274
- package/skills/builtin/skill-creator/agents/comparator.md +202 -202
- package/skills/builtin/skill-creator/agents/grader.md +223 -223
- package/skills/builtin/skill-creator/assets/eval_review.html +146 -146
- package/skills/builtin/skill-creator/eval-viewer/generate_review.py +471 -471
- package/skills/builtin/skill-creator/eval-viewer/viewer.html +1325 -1325
- package/skills/builtin/skill-creator/references/schemas.md +430 -430
- package/skills/builtin/skill-creator/scripts/aggregate_benchmark.py +401 -401
- package/skills/builtin/skill-creator/scripts/generate_report.py +326 -326
- package/skills/builtin/skill-creator/scripts/improve_description.py +247 -247
- package/skills/builtin/skill-creator/scripts/package_skill.py +136 -136
- package/skills/builtin/skill-creator/scripts/quick_validate.py +102 -102
- package/skills/builtin/skill-creator/scripts/run_eval.py +310 -310
- package/skills/builtin/skill-creator/scripts/run_loop.py +328 -328
- package/skills/builtin/skill-creator/scripts/utils.py +47 -47
- package/skills/builtin/web-annotations/SKILL.md +93 -93
- package/src/mcp/LICENSE.mcp-cli +21 -21
- package/dist/api/simple-agent-api.js +0 -136
- package/dist/app-context.js +0 -4
- package/dist/apps/chat/agent-profiles.js +0 -70
- package/dist/apps/chat/agent-store.js +0 -669
- package/dist/apps/chat/chat-api-routes.js +0 -325
- package/dist/apps/chat/chat-capability-routes.js +0 -90
- package/dist/apps/chat/chat-files.js +0 -178
- package/dist/apps/chat/chat-request-normalizers.js +0 -681
- package/dist/apps/chat/chat-settings-routes.js +0 -98
- package/dist/apps/chat/chat-trace-helpers.js +0 -139
- package/dist/apps/chat/chat-user-skill-routes.js +0 -178
- package/dist/apps/chat/cron-api.js +0 -213
- package/dist/apps/chat/data/chat-data-mappers.js +0 -82
- package/dist/apps/chat/data/event-command-service.js +0 -75
- package/dist/apps/chat/data/navigation-query-service.js +0 -11
- package/dist/apps/chat/data/project-service.js +0 -877
- package/dist/apps/chat/data/read-state-service.js +0 -42
- package/dist/apps/chat/data/room-service.js +0 -52
- package/dist/apps/chat/data/session-query-service.js +0 -126
- package/dist/apps/chat/data/timeline-query-service.js +0 -102
- package/dist/apps/chat/event-log.js +0 -1
- package/dist/apps/chat/model-catalog.js +0 -53
- package/dist/apps/chat/output-compactor.js +0 -126
- package/dist/apps/chat/output-event-policy.js +0 -17
- package/dist/apps/chat/project-workflow-human-actions.js +0 -347
- package/dist/apps/chat/project-workflow-sessions.js +0 -260
- package/dist/apps/chat/provider-auth-actions.js +0 -43
- package/dist/apps/chat/ralph-api.js +0 -156
- package/dist/apps/chat/read-model.js +0 -1
- package/dist/apps/chat/rooms.js +0 -1
- package/dist/apps/chat/session-metadata.js +0 -14
- package/dist/apps/chat/static-assets.js +0 -997
- package/dist/apps/chat/stream.js +0 -145
- package/dist/apps/chat/telemetry-retention-service.js +0 -69
- package/dist/apps/chat/trace-v2.js +0 -307
- package/dist/apps/chat/trace.js +0 -572
- package/dist/apps/chat/types/event-store.js +0 -1
- package/dist/apps/chat/types/read-model.js +0 -1
- package/dist/apps/chat/types/rooms.js +0 -36
- package/dist/apps/chat/web-app.js +0 -4605
- package/dist/apps/chat/workflow-catalog.js +0 -572
- package/dist/apps/chat/workflow-edge-compatibility.js +0 -51
- package/dist/apps/chat/workflow-json-schema-validation.js +0 -335
- package/dist/apps/chat/workflow-manual-trigger-runtime.js +0 -232
- package/dist/apps/chat/workflow-persistence-model.js +0 -140
- package/dist/apps/chat/workflow-persistence.js +0 -633
- package/dist/apps/chat/workflow-registered-ref-params.js +0 -130
- package/dist/apps/chat/workflow-registered-ref-pickers.js +0 -179
- package/dist/apps/chat/workflow-registered-ref-validation.js +0 -210
- package/dist/apps/chat/workflow-v2-security-validation.js +0 -93
- package/dist/apps/chat/workflow-validation-helpers.js +0 -114
- package/dist/apps/chat-ui/assets/apl-BxEMbctQ.js +0 -1
- package/dist/apps/chat-ui/assets/asciiarmor-eFjeGRuZ.js +0 -1
- package/dist/apps/chat-ui/assets/asn1-Cfx-0pt9.js +0 -1
- package/dist/apps/chat-ui/assets/asterisk-B5BHTsBr.js +0 -1
- package/dist/apps/chat-ui/assets/brainfuck-CAA2xofr.js +0 -1
- package/dist/apps/chat-ui/assets/clike-BoDCOLzN.js +0 -1
- package/dist/apps/chat-ui/assets/clojure-kVFSWX0o.js +0 -1
- package/dist/apps/chat-ui/assets/cmake-BUPAhezI.js +0 -1
- package/dist/apps/chat-ui/assets/cobol-BfgHZgup.js +0 -1
- package/dist/apps/chat-ui/assets/coffeescript-G1Pe_1AZ.js +0 -1
- package/dist/apps/chat-ui/assets/commonlisp-B3N0CjHn.js +0 -1
- package/dist/apps/chat-ui/assets/crystal-C15ndaGM.js +0 -1
- package/dist/apps/chat-ui/assets/css-BqOeyZOV.js +0 -1
- package/dist/apps/chat-ui/assets/cypher-KjIKv-wW.js +0 -1
- package/dist/apps/chat-ui/assets/d-BlT5AEC-.js +0 -1
- package/dist/apps/chat-ui/assets/diff-oF98tbqj.js +0 -1
- package/dist/apps/chat-ui/assets/dist--55mTWk3.js +0 -1
- package/dist/apps/chat-ui/assets/dist-BDiYR_k0.js +0 -2
- package/dist/apps/chat-ui/assets/dist-BYMYH5s9.js +0 -11
- package/dist/apps/chat-ui/assets/dist-BZ39rB1W.js +0 -1
- package/dist/apps/chat-ui/assets/dist-BsedZGJo.js +0 -1
- package/dist/apps/chat-ui/assets/dist-BtZRJHYc.js +0 -1
- package/dist/apps/chat-ui/assets/dist-C5YJOwhH.js +0 -1
- package/dist/apps/chat-ui/assets/dist-C5oXtFSP.js +0 -1
- package/dist/apps/chat-ui/assets/dist-CKM5j-iy.js +0 -1
- package/dist/apps/chat-ui/assets/dist-CTqkBO4D.js +0 -1
- package/dist/apps/chat-ui/assets/dist-CUp9us2q.js +0 -1
- package/dist/apps/chat-ui/assets/dist-CZ9T4Cly.js +0 -1
- package/dist/apps/chat-ui/assets/dist-Ca0Nv2Sb.js +0 -1
- package/dist/apps/chat-ui/assets/dist-D75qd42l.js +0 -1
- package/dist/apps/chat-ui/assets/dist-DALz2b8B.js +0 -1
- package/dist/apps/chat-ui/assets/dist-DSKQpPaz.js +0 -1
- package/dist/apps/chat-ui/assets/dist-Hmv_Gd0d.js +0 -6
- package/dist/apps/chat-ui/assets/dist-JsdMHbep.js +0 -23
- package/dist/apps/chat-ui/assets/dist-MvkOuMpO.js +0 -1
- package/dist/apps/chat-ui/assets/dist-SVPsM5Oi.js +0 -13
- package/dist/apps/chat-ui/assets/dist-WDi-12_5.js +0 -9
- package/dist/apps/chat-ui/assets/dist-Zqt9kNG9.js +0 -1
- package/dist/apps/chat-ui/assets/dist-tGfufz3b.js +0 -1
- package/dist/apps/chat-ui/assets/dockerfile-CUaqzcqp.js +0 -1
- package/dist/apps/chat-ui/assets/dtd-VCA9yr61.js +0 -1
- package/dist/apps/chat-ui/assets/dylan-O-V5Dw5W.js +0 -1
- package/dist/apps/chat-ui/assets/ebnf-SPmdBkvT.js +0 -1
- package/dist/apps/chat-ui/assets/ecl-ChfCttfI.js +0 -1
- package/dist/apps/chat-ui/assets/eiffel-cB9EbjeN.js +0 -1
- package/dist/apps/chat-ui/assets/elm-BTiVflBU.js +0 -1
- package/dist/apps/chat-ui/assets/erlang-egf0TXFm.js +0 -1
- package/dist/apps/chat-ui/assets/factor-C2tAxNob.js +0 -1
- package/dist/apps/chat-ui/assets/fcl-BiCjh1tj.js +0 -1
- package/dist/apps/chat-ui/assets/forth-C4kDGW6u.js +0 -1
- package/dist/apps/chat-ui/assets/fortran-DzkLaPnd.js +0 -1
- package/dist/apps/chat-ui/assets/gas-DMOxskQF.js +0 -1
- package/dist/apps/chat-ui/assets/gherkin-BPxBpp-k.js +0 -1
- package/dist/apps/chat-ui/assets/groovy-CkEnc0ZY.js +0 -1
- package/dist/apps/chat-ui/assets/haskell-Dadpo9-w.js +0 -1
- package/dist/apps/chat-ui/assets/haxe-CDNZL9MW.js +0 -1
- package/dist/apps/chat-ui/assets/http-jy9Zxxt3.js +0 -1
- package/dist/apps/chat-ui/assets/idl-CGSB6iiy.js +0 -1
- package/dist/apps/chat-ui/assets/index-BUlHJWKP.js +0 -173
- package/dist/apps/chat-ui/assets/index-C0x9nEcf.css +0 -1
- package/dist/apps/chat-ui/assets/javascript-DSlzRUd8.js +0 -1
- package/dist/apps/chat-ui/assets/julia-DTiF9v6R.js +0 -1
- package/dist/apps/chat-ui/assets/livescript-Ci8Xxna6.js +0 -1
- package/dist/apps/chat-ui/assets/lua-eVxIrt9t.js +0 -1
- package/dist/apps/chat-ui/assets/mathematica-Da3grj36.js +0 -1
- package/dist/apps/chat-ui/assets/mbox-BWBMSafM.js +0 -1
- package/dist/apps/chat-ui/assets/mirc-CtHu9S1B.js +0 -1
- package/dist/apps/chat-ui/assets/mllike-wTFlPWXS.js +0 -1
- package/dist/apps/chat-ui/assets/modelica-cKbQ0UXu.js +0 -1
- package/dist/apps/chat-ui/assets/mscgen-C5pXQCMK.js +0 -1
- package/dist/apps/chat-ui/assets/mumps-CKBHkOQq.js +0 -1
- package/dist/apps/chat-ui/assets/nginx-B00AiQel.js +0 -1
- package/dist/apps/chat-ui/assets/nsis-SMDwKltR.js +0 -1
- package/dist/apps/chat-ui/assets/ntriples-B_36EBV0.js +0 -1
- package/dist/apps/chat-ui/assets/octave-BXPjzAif.js +0 -1
- package/dist/apps/chat-ui/assets/oz-Dedpat1M.js +0 -1
- package/dist/apps/chat-ui/assets/pascal-CMcUg72K.js +0 -1
- package/dist/apps/chat-ui/assets/perl-DoVTbnzt.js +0 -1
- package/dist/apps/chat-ui/assets/pig-CULXT1YV.js +0 -1
- package/dist/apps/chat-ui/assets/powershell-Cv5Uhf6b.js +0 -1
- package/dist/apps/chat-ui/assets/properties-CQ1C2P-M.js +0 -1
- package/dist/apps/chat-ui/assets/protobuf-SRlvzrl6.js +0 -1
- package/dist/apps/chat-ui/assets/pug-Bo3wfL-f.js +0 -1
- package/dist/apps/chat-ui/assets/puppet-ClSqCGj6.js +0 -1
- package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-144x144.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-192x192.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-48x48.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-512x512.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-72x72.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/android/launchericon-96x96.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/100.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/1024.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/114.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/120.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/128.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/144.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/152.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/16.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/167.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/180.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/192.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/20.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/256.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/29.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/32.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/40.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/50.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/512.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/57.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/58.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/60.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/64.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/72.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/76.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/80.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/ios/87.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-100.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-125.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-150.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-200.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/LargeTile.scale-400.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-100.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-125.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-150.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-200.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/SmallTile.scale-400.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-100.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-125.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-150.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-200.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/SplashScreen.scale-400.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-100.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-125.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-150.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-200.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square150x150Logo.scale-400.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-16.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-20.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-24.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-256.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-30.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-32.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-36.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-40.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-44.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-48.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-60.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-64.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-72.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-80.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-lightunplated_targetsize-96.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-16.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-20.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-24.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-256.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-30.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-32.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-36.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-40.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-44.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-48.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-60.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-64.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-72.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-80.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.altform-unplated_targetsize-96.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-100.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-125.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-150.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-200.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.scale-400.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-16.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-20.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-24.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-256.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-30.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-32.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-36.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-40.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-44.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-48.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-60.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-64.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-72.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-80.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Square44x44Logo.targetsize-96.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-100.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-125.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-150.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-200.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/StoreLogo.scale-400.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-100.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-125.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-150.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-200.png +0 -0
- package/dist/apps/chat-ui/assets/pwa-images/windows/Wide310x150Logo.scale-400.png +0 -0
- package/dist/apps/chat-ui/assets/python-C2_X1GpX.js +0 -1
- package/dist/apps/chat-ui/assets/q-B_6Gdyzl.js +0 -1
- package/dist/apps/chat-ui/assets/r-BD07NGED.js +0 -1
- package/dist/apps/chat-ui/assets/rolldown-runtime-S-ySWqyJ.js +0 -1
- package/dist/apps/chat-ui/assets/rpm-CRu5Z2Jl.js +0 -1
- package/dist/apps/chat-ui/assets/ruby-dZPnOz8h.js +0 -1
- package/dist/apps/chat-ui/assets/sas-S2t8_sDI.js +0 -1
- package/dist/apps/chat-ui/assets/scheme-WcyFWLW2.js +0 -1
- package/dist/apps/chat-ui/assets/shell-DUelnYSh.js +0 -1
- package/dist/apps/chat-ui/assets/sieve-jDjlVhNh.js +0 -1
- package/dist/apps/chat-ui/assets/simple-mode-CL04yRVp.js +0 -1
- package/dist/apps/chat-ui/assets/smalltalk-ddWDYy10.js +0 -1
- package/dist/apps/chat-ui/assets/solr-C7rQhLuW.js +0 -1
- package/dist/apps/chat-ui/assets/sparql--fPCCgVd.js +0 -1
- package/dist/apps/chat-ui/assets/spreadsheet-DjthqD5G.js +0 -1
- package/dist/apps/chat-ui/assets/sql-D_dieYbr.js +0 -1
- package/dist/apps/chat-ui/assets/stex-rHcFYcA0.js +0 -1
- package/dist/apps/chat-ui/assets/stylus-DxF70RNr.js +0 -1
- package/dist/apps/chat-ui/assets/swift-T0hDoOb-.js +0 -1
- package/dist/apps/chat-ui/assets/tcl-Dlzy1mPk.js +0 -1
- package/dist/apps/chat-ui/assets/textile-Dy5rFZe5.js +0 -1
- package/dist/apps/chat-ui/assets/tiddlywiki-DQP1OymS.js +0 -1
- package/dist/apps/chat-ui/assets/tiki-0vOj3DB2.js +0 -1
- package/dist/apps/chat-ui/assets/toml-DEltN0lI.js +0 -1
- package/dist/apps/chat-ui/assets/troff-CRbBpEqY.js +0 -1
- package/dist/apps/chat-ui/assets/ttcn-M5q1nLKg.js +0 -1
- package/dist/apps/chat-ui/assets/ttcn-cfg-Rmw9NWq9.js +0 -1
- package/dist/apps/chat-ui/assets/turtle-BCDWhJK0.js +0 -1
- package/dist/apps/chat-ui/assets/vb-QQ7LGlOz.js +0 -1
- package/dist/apps/chat-ui/assets/vbscript-BiSEdUzz.js +0 -1
- package/dist/apps/chat-ui/assets/velocity-CzMg5_6w.js +0 -1
- package/dist/apps/chat-ui/assets/verilog-BJOO83gk.js +0 -1
- package/dist/apps/chat-ui/assets/vhdl-ed4zAZAA.js +0 -1
- package/dist/apps/chat-ui/assets/webidl-Ddy6hbV6.js +0 -1
- package/dist/apps/chat-ui/assets/xquery-Bw1zwhh6.js +0 -1
- package/dist/apps/chat-ui/assets/yacas-DZdTXy3s.js +0 -1
- package/dist/apps/chat-ui/assets/z80-DMG02_YV.js +0 -1
- package/dist/apps/chat-ui/index.html +0 -20
- package/dist/apps/chat-ui/manifest.webmanifest +0 -25
- package/dist/apps/chat-ui/sw.js +0 -47
- package/dist/apps/chat-vscode-web/assets/index-B5QK07zO.css +0 -2
- package/dist/apps/chat-vscode-web/assets/index-BAMxIaI_.js +0 -41
- package/dist/apps/chat-vscode-web/index.html +0 -14
- package/dist/apps/cli-ui/InkSessionApp.js +0 -1218
- package/dist/apps/cli-ui/InkTerminalLine.js +0 -53
- package/dist/apps/cli-ui/InkTerminalRow.js +0 -304
- package/dist/apps/cli-ui/InkTerminalView.js +0 -25
- package/dist/apps/cli-ui/cliSessionsCommand.js +0 -232
- package/dist/apps/cli-ui/index.js +0 -8
- package/dist/apps/cli-ui/inkColors.js +0 -67
- package/dist/apps/cli-ui/inkJson.js +0 -244
- package/dist/apps/cli-ui/inkMarkdown.js +0 -127
- package/dist/apps/cli-ui/inkSyntaxHighlighter.js +0 -166
- package/dist/apps/context-files-ui/assets/apl-14BqhLYK.js +0 -1
- package/dist/apps/context-files-ui/assets/asciiarmor-WLvjqI7d.js +0 -1
- package/dist/apps/context-files-ui/assets/asn1-Bg4FbdCg.js +0 -1
- package/dist/apps/context-files-ui/assets/asterisk-B2MO-X4d.js +0 -1
- package/dist/apps/context-files-ui/assets/brainfuck-CV9kufud.js +0 -1
- package/dist/apps/context-files-ui/assets/clike-CjmcUpt6.js +0 -1
- package/dist/apps/context-files-ui/assets/clojure-De3QGfx6.js +0 -1
- package/dist/apps/context-files-ui/assets/cmake-i2VDNaRq.js +0 -1
- package/dist/apps/context-files-ui/assets/cobol-BwO6DF08.js +0 -1
- package/dist/apps/context-files-ui/assets/coffeescript-BtivDvRz.js +0 -1
- package/dist/apps/context-files-ui/assets/commonlisp-DFkEQdLP.js +0 -1
- package/dist/apps/context-files-ui/assets/crystal-CU0NkcVL.js +0 -1
- package/dist/apps/context-files-ui/assets/css-CbMZAQ1W.js +0 -1
- package/dist/apps/context-files-ui/assets/cypher-Dke5QOzv.js +0 -1
- package/dist/apps/context-files-ui/assets/d-TPqSVaHM.js +0 -1
- package/dist/apps/context-files-ui/assets/diff-B365LSoZ.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-B5PTVnox.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-B5ZAfwf5.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-BOiGdrG-.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-BkUONE3N.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-D1KyNDg5.js +0 -13
- package/dist/apps/context-files-ui/assets/dist-DK01b7x4.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-DKoyMSNr.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-DLMjd26T.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-DPG9jOQ-.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-DotDq_kD.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-Dp5AH00p.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-DqYw0LH7.js +0 -2
- package/dist/apps/context-files-ui/assets/dist-QQuDy4KA.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-TF5iO5ML.js +0 -9
- package/dist/apps/context-files-ui/assets/dist-TbjAhles.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-ZsBbt0uY.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-kmsvtHkH.js +0 -1
- package/dist/apps/context-files-ui/assets/dist-vnd7PMu3.js +0 -11
- package/dist/apps/context-files-ui/assets/dockerfile-CJb2sekW.js +0 -1
- package/dist/apps/context-files-ui/assets/dtd-CBMymJ7O.js +0 -1
- package/dist/apps/context-files-ui/assets/dylan-08Azy1NK.js +0 -1
- package/dist/apps/context-files-ui/assets/ebnf-Dkum_1J8.js +0 -1
- package/dist/apps/context-files-ui/assets/ecl-dhxjHL8y.js +0 -1
- package/dist/apps/context-files-ui/assets/eiffel-C446m6dI.js +0 -1
- package/dist/apps/context-files-ui/assets/elm-po1E9de0.js +0 -1
- package/dist/apps/context-files-ui/assets/erlang-BD5LkVkR.js +0 -1
- package/dist/apps/context-files-ui/assets/factor-B2EMQZkP.js +0 -1
- package/dist/apps/context-files-ui/assets/fcl-DkEOamHd.js +0 -1
- package/dist/apps/context-files-ui/assets/forth-dCg2_HVB.js +0 -1
- package/dist/apps/context-files-ui/assets/fortran-3ZpXLFh1.js +0 -1
- package/dist/apps/context-files-ui/assets/gas-DMmxLZRI.js +0 -1
- package/dist/apps/context-files-ui/assets/gherkin-DUSFg2R6.js +0 -1
- package/dist/apps/context-files-ui/assets/groovy-Cmduloe1.js +0 -1
- package/dist/apps/context-files-ui/assets/haskell-Cyr255R9.js +0 -1
- package/dist/apps/context-files-ui/assets/haxe-BJVKtprM.js +0 -1
- package/dist/apps/context-files-ui/assets/http-DszHFpc-.js +0 -1
- package/dist/apps/context-files-ui/assets/idl-Cati9Nrv.js +0 -1
- package/dist/apps/context-files-ui/assets/index-B92tL3Pp.css +0 -1
- package/dist/apps/context-files-ui/assets/index-BhAWD3dv.js +0 -202
- package/dist/apps/context-files-ui/assets/javascript-C5pDVaoP.js +0 -1
- package/dist/apps/context-files-ui/assets/julia-DlqY1cTU.js +0 -1
- package/dist/apps/context-files-ui/assets/livescript-C6p8-2W1.js +0 -1
- package/dist/apps/context-files-ui/assets/lua-BxuTHaF7.js +0 -1
- package/dist/apps/context-files-ui/assets/mathematica-nDHZUMJT.js +0 -1
- package/dist/apps/context-files-ui/assets/mbox-DAaR0Hcz.js +0 -1
- package/dist/apps/context-files-ui/assets/mirc-CCA0FRfl.js +0 -1
- package/dist/apps/context-files-ui/assets/mllike-Cw3Iccsb.js +0 -1
- package/dist/apps/context-files-ui/assets/modelica-Czx80fNR.js +0 -1
- package/dist/apps/context-files-ui/assets/mscgen-BmfuTbzG.js +0 -1
- package/dist/apps/context-files-ui/assets/mumps-Ds_ZaumL.js +0 -1
- package/dist/apps/context-files-ui/assets/nginx-D9M2PQ4U.js +0 -1
- package/dist/apps/context-files-ui/assets/nsis-DOo3SJmd.js +0 -1
- package/dist/apps/context-files-ui/assets/ntriples-DLHGTvHs.js +0 -1
- package/dist/apps/context-files-ui/assets/octave-8jj96JiC.js +0 -1
- package/dist/apps/context-files-ui/assets/oz-BmMq7iC4.js +0 -1
- package/dist/apps/context-files-ui/assets/pascal-BgMr6XpT.js +0 -1
- package/dist/apps/context-files-ui/assets/perl-D6YJObi_.js +0 -1
- package/dist/apps/context-files-ui/assets/pig-nx7uchs8.js +0 -1
- package/dist/apps/context-files-ui/assets/powershell-B4IPkVxR.js +0 -1
- package/dist/apps/context-files-ui/assets/properties-CoavQdLC.js +0 -1
- package/dist/apps/context-files-ui/assets/protobuf-D5EWhcmc.js +0 -1
- package/dist/apps/context-files-ui/assets/pug-QU72BPAa.js +0 -1
- package/dist/apps/context-files-ui/assets/puppet-B_0GFuyD.js +0 -1
- package/dist/apps/context-files-ui/assets/python-Cs7sNzy_.js +0 -1
- package/dist/apps/context-files-ui/assets/q-BIB9pPtI.js +0 -1
- package/dist/apps/context-files-ui/assets/r-CN5s4f3o.js +0 -1
- package/dist/apps/context-files-ui/assets/rpm-Ct_Ck8mQ.js +0 -1
- package/dist/apps/context-files-ui/assets/ruby-BVPradRk.js +0 -1
- package/dist/apps/context-files-ui/assets/sas-DN4j74IF.js +0 -1
- package/dist/apps/context-files-ui/assets/scheme-CvNgHAnh.js +0 -1
- package/dist/apps/context-files-ui/assets/shell-BjiMLAaM.js +0 -1
- package/dist/apps/context-files-ui/assets/sieve-C2U1O5Z4.js +0 -1
- package/dist/apps/context-files-ui/assets/simple-mode-DnMbQuKW.js +0 -1
- package/dist/apps/context-files-ui/assets/smalltalk-DkYwYufV.js +0 -1
- package/dist/apps/context-files-ui/assets/solr-BopnSD-v.js +0 -1
- package/dist/apps/context-files-ui/assets/sparql-Cpg3YQfd.js +0 -1
- package/dist/apps/context-files-ui/assets/spreadsheet-kRxtVt9J.js +0 -1
- package/dist/apps/context-files-ui/assets/sql-DYI2GwJR.js +0 -1
- package/dist/apps/context-files-ui/assets/stex-BCRT8IJ3.js +0 -1
- package/dist/apps/context-files-ui/assets/stylus-CARoeVE9.js +0 -1
- package/dist/apps/context-files-ui/assets/swift-DKNaLAK6.js +0 -1
- package/dist/apps/context-files-ui/assets/tcl-CQyXkgMH.js +0 -1
- package/dist/apps/context-files-ui/assets/textile-Yg_UWn-t.js +0 -1
- package/dist/apps/context-files-ui/assets/tiddlywiki-dqVbkfX4.js +0 -1
- package/dist/apps/context-files-ui/assets/tiki-CC_ic8g0.js +0 -1
- package/dist/apps/context-files-ui/assets/toml-B7gGzVkJ.js +0 -1
- package/dist/apps/context-files-ui/assets/troff-Bq3z6oAu.js +0 -1
- package/dist/apps/context-files-ui/assets/ttcn-GvRgs2AT.js +0 -1
- package/dist/apps/context-files-ui/assets/ttcn-cfg-CGCXz7Vo.js +0 -1
- package/dist/apps/context-files-ui/assets/turtle-CwIpz2yy.js +0 -1
- package/dist/apps/context-files-ui/assets/vb-BmcHUM2C.js +0 -1
- package/dist/apps/context-files-ui/assets/vbscript-Cs9dylre.js +0 -1
- package/dist/apps/context-files-ui/assets/velocity-CBWU0VCy.js +0 -1
- package/dist/apps/context-files-ui/assets/verilog-DVCHmufx.js +0 -1
- package/dist/apps/context-files-ui/assets/vhdl-BGDk4f1d.js +0 -1
- package/dist/apps/context-files-ui/assets/webidl-egXQEWlC.js +0 -1
- package/dist/apps/context-files-ui/assets/xquery-5f0hn7cg.js +0 -1
- package/dist/apps/context-files-ui/assets/yacas-DNs9XkmQ.js +0 -1
- package/dist/apps/context-files-ui/assets/z80-B7Dfb4UO.js +0 -1
- package/dist/apps/context-files-ui/index.html +0 -14
- package/dist/auth/better-auth.js +0 -130
- package/dist/auth/login-actions.js +0 -251
- package/dist/auth/openai-codex-usage.js +0 -147
- package/dist/auth/types.js +0 -14
- package/dist/bin/pibo.js +0 -3
- package/dist/bin/rg.js +0 -15
- package/dist/channels/types.js +0 -1
- package/dist/cli-errors.js +0 -18
- package/dist/cli-session/fakeSessionSource.js +0 -804
- package/dist/cli-session/index.js +0 -3
- package/dist/cli-session/localSessionSource.js +0 -1144
- package/dist/cli-session/sessionSource.js +0 -13
- package/dist/cli.js +0 -491
- package/dist/compute/cli.js +0 -415
- package/dist/compute/docker.js +0 -835
- package/dist/compute/resource-health.js +0 -334
- package/dist/compute/resource-policy.js +0 -98
- package/dist/config/config.js +0 -180
- package/dist/core/base-prompt.js +0 -104
- package/dist/core/codex-compat.js +0 -44
- package/dist/core/compaction-prompt.js +0 -293
- package/dist/core/context-build.js +0 -711
- package/dist/core/context-guard.js +0 -293
- package/dist/core/events.js +0 -1
- package/dist/core/gateway-resource-guard.js +0 -215
- package/dist/core/model-defaults.js +0 -95
- package/dist/core/pibo-home.js +0 -8
- package/dist/core/profiles.js +0 -210
- package/dist/core/provider-recovery.js +0 -64
- package/dist/core/provider-telemetry.js +0 -353
- package/dist/core/routed-session.js +0 -1179
- package/dist/core/runtime-telemetry.js +0 -1059
- package/dist/core/runtime.js +0 -529
- package/dist/core/session-errors.js +0 -76
- package/dist/core/session-model.js +0 -39
- package/dist/core/session-router.js +0 -850
- package/dist/core/skill-expansion.js +0 -43
- package/dist/core/system-prompt-template.js +0 -56
- package/dist/core/telemetry-retention-settings.js +0 -34
- package/dist/core/telemetry-staleness.js +0 -128
- package/dist/core/test-output-compaction.js +0 -145
- package/dist/core/thinking.js +0 -9
- package/dist/core/user-settings.js +0 -84
- package/dist/core/workspace.js +0 -5
- package/dist/core/wsl.js +0 -100
- package/dist/cron/channel.js +0 -28
- package/dist/cron/cli.js +0 -230
- package/dist/cron/plugin.js +0 -11
- package/dist/cron/schedule.js +0 -214
- package/dist/cron/service.js +0 -177
- package/dist/cron/store.js +0 -349
- package/dist/cron/types.js +0 -1
- package/dist/data/cli.js +0 -184
- package/dist/data/event-log.js +0 -106
- package/dist/data/ingest-service.js +0 -389
- package/dist/data/message-store.js +0 -62
- package/dist/data/navigation-store.js +0 -75
- package/dist/data/observation-store.js +0 -46
- package/dist/data/payload-store.js +0 -153
- package/dist/data/pibo-store.js +0 -59
- package/dist/data/schema.js +0 -436
- package/dist/data/session-store.js +0 -63
- package/dist/data/sqlite-schema.js +0 -12
- package/dist/data/telemetry-preview.js +0 -65
- package/dist/data/telemetry-queries.js +0 -212
- package/dist/data/telemetry-retention.js +0 -50
- package/dist/data/telemetry-rows.js +0 -158
- package/dist/data/telemetry-writer.js +0 -114
- package/dist/data/telemetry.js +0 -471
- package/dist/debug/delta-compaction.js +0 -99
- package/dist/debug/detail-format.js +0 -86
- package/dist/debug/events.js +0 -212
- package/dist/debug/failures.js +0 -162
- package/dist/debug/index.js +0 -1296
- package/dist/debug/messages.js +0 -185
- package/dist/debug/next-commands.js +0 -6
- package/dist/debug/payloads.js +0 -123
- package/dist/debug/pty.js +0 -924
- package/dist/debug/session.js +0 -230
- package/dist/debug/sql.js +0 -238
- package/dist/debug/stores.js +0 -54
- package/dist/debug/summary.js +0 -72
- package/dist/debug/telemetry.js +0 -649
- package/dist/debug/tools.js +0 -168
- package/dist/debug/trace-render-check.js +0 -151
- package/dist/debug/trace.js +0 -370
- package/dist/debug/web-artifacts.js +0 -63
- package/dist/debug/web-options.js +0 -313
- package/dist/debug/web-render-analysis.js +0 -310
- package/dist/debug/web-snapshot-browser-scripts.js +0 -303
- package/dist/debug/web-streaming-benchmark-analysis.js +0 -605
- package/dist/debug/web-streaming-browser-library.js +0 -928
- package/dist/debug/web-streaming-browser-scripts.js +0 -242
- package/dist/debug/web-streaming-provider-telemetry.js +0 -194
- package/dist/debug/web-streaming-report.js +0 -493
- package/dist/debug/web-streaming-types.js +0 -1
- package/dist/debug/web.js +0 -574
- package/dist/gateway/backup.js +0 -83
- package/dist/gateway/cli.js +0 -632
- package/dist/gateway/client.js +0 -200
- package/dist/gateway/fallback.js +0 -155
- package/dist/gateway/pidfile.js +0 -130
- package/dist/gateway/protocol.js +0 -62
- package/dist/gateway/request.js +0 -155
- package/dist/gateway/server.js +0 -397
- package/dist/gateway/tool.js +0 -72
- package/dist/gateway/web.js +0 -224
- package/dist/index.js +0 -25
- package/dist/local/client.js +0 -77
- package/dist/local/extension.js +0 -551
- package/dist/local/tui.js +0 -25
- package/dist/mcp/agent-context.js +0 -127
- package/dist/mcp/client.js +0 -332
- package/dist/mcp/commands/call.js +0 -146
- package/dist/mcp/commands/grep.js +0 -145
- package/dist/mcp/commands/info.js +0 -83
- package/dist/mcp/commands/list.js +0 -94
- package/dist/mcp/config-command.js +0 -217
- package/dist/mcp/config.js +0 -473
- package/dist/mcp/daemon-client.js +0 -266
- package/dist/mcp/daemon.js +0 -327
- package/dist/mcp/errors.js +0 -287
- package/dist/mcp/index.js +0 -431
- package/dist/mcp/output.js +0 -226
- package/dist/mcp/python-runtime.js +0 -131
- package/dist/mcp/registry.js +0 -116
- package/dist/mcp/version.js +0 -5
- package/dist/pi-packages/cli.js +0 -92
- package/dist/pi-packages/installer.js +0 -70
- package/dist/pi-packages/metadata.js +0 -231
- package/dist/pi-packages/runtime.js +0 -61
- package/dist/pi-packages/store.js +0 -175
- package/dist/pi-packages/types.js +0 -1
- package/dist/plugins/better-auth.js +0 -11
- package/dist/plugins/builtin.js +0 -478
- package/dist/plugins/chat-custom-agents.js +0 -20
- package/dist/plugins/chat-user-skills.js +0 -41
- package/dist/plugins/chat-vscode-web.js +0 -28
- package/dist/plugins/chat-web.js +0 -11
- package/dist/plugins/codex-compat.js +0 -33
- package/dist/plugins/context-files-store.js +0 -354
- package/dist/plugins/context-files.js +0 -1081
- package/dist/plugins/dev-auth.js +0 -202
- package/dist/plugins/native-tooling.js +0 -15
- package/dist/plugins/registry.js +0 -436
- package/dist/plugins/types.js +0 -1
- package/dist/plugins/web-annotations.js +0 -27
- package/dist/plugins/web.js +0 -11
- package/dist/providers/glm.js +0 -59
- package/dist/providers/minimax.js +0 -70
- package/dist/providers/openai-compat.js +0 -48
- package/dist/providers/openai-gpt56.js +0 -153
- package/dist/ralph/channel.js +0 -8
- package/dist/ralph/cli.js +0 -197
- package/dist/ralph/plugin.js +0 -14
- package/dist/ralph/service.js +0 -317
- package/dist/ralph/stopping.js +0 -151
- package/dist/ralph/store.js +0 -450
- package/dist/ralph/templates.js +0 -200
- package/dist/ralph/types.js +0 -1
- package/dist/reliability/store.js +0 -775
- package/dist/resources/cli.js +0 -135
- package/dist/resources/lifecycle.js +0 -353
- package/dist/resources/reaper-state.js +0 -94
- package/dist/resources/reaper.js +0 -145
- package/dist/runs/registry.js +0 -360
- package/dist/runs/tools.js +0 -185
- package/dist/session-ui/commandCatalog.js +0 -193
- package/dist/session-ui/commandResults.js +0 -95
- package/dist/session-ui/delegation.js +0 -89
- package/dist/session-ui/index.js +0 -8
- package/dist/session-ui/roomSessionViewModel.js +0 -69
- package/dist/session-ui/sessionActivity.js +0 -30
- package/dist/session-ui/statusViewModel.js +0 -127
- package/dist/session-ui/terminalCards.js +0 -210
- package/dist/session-ui/terminalRows.js +0 -1163
- package/dist/session-ui/terminalValue.js +0 -45
- package/dist/sessions/pibo-data-store.js +0 -178
- package/dist/sessions/sqlite-store.js +0 -220
- package/dist/sessions/store.js +0 -132
- package/dist/sessions/workflow-session-kind.js +0 -20
- package/dist/setup/cli.js +0 -619
- package/dist/shared/trace-async-agent-runs.js +0 -127
- package/dist/shared/trace-engine.js +0 -97
- package/dist/shared/trace-event-projection.js +0 -789
- package/dist/shared/trace-live-reducer.js +0 -191
- package/dist/shared/trace-nodes.js +0 -88
- package/dist/shared/trace-order.js +0 -84
- package/dist/shared/trace-page-merge.js +0 -40
- package/dist/shared/trace-patch-nodes.js +0 -83
- package/dist/shared/trace-run-notifications.js +0 -69
- package/dist/shared/trace-subagent-links.js +0 -46
- package/dist/shared/trace-transcript.js +0 -371
- package/dist/shared/trace-types.js +0 -1
- package/dist/signals/aggregate.js +0 -65
- package/dist/signals/events.js +0 -1
- package/dist/signals/projector.js +0 -205
- package/dist/signals/registry.js +0 -554
- package/dist/signals/store.js +0 -1
- package/dist/signals/types.js +0 -1
- package/dist/skills/cli.js +0 -151
- package/dist/subagents/tool.js +0 -63
- package/dist/tools/agent-browser-leases.js +0 -219
- package/dist/tools/agent-browser-wrapper.js +0 -99
- package/dist/tools/browser-pool.js +0 -623
- package/dist/tools/browser-use-cdp.js +0 -259
- package/dist/tools/browser-use-leases.js +0 -516
- package/dist/tools/browser-use-wrapper.js +0 -781
- package/dist/tools/cdp-client.js +0 -189
- package/dist/tools/codex-compat.js +0 -85
- package/dist/tools/codex-image-generation.js +0 -272
- package/dist/tools/desktop-env.js +0 -99
- package/dist/tools/guides.js +0 -563
- package/dist/tools/index.js +0 -1020
- package/dist/tools/linux-virtual-display.js +0 -58
- package/dist/tools/npm-runtime.js +0 -136
- package/dist/tools/python-runtime.js +0 -183
- package/dist/tools/registry.js +0 -237
- package/dist/tools/runtime/index.js +0 -3
- package/dist/tools/runtime/node-backend.js +0 -225
- package/dist/tools/runtime/node-worker-source.js +0 -206
- package/dist/tools/runtime/python-backend.js +0 -227
- package/dist/tools/runtime/python-worker-source.js +0 -178
- package/dist/tools/runtime/registry.js +0 -255
- package/dist/tools/runtime/tool.js +0 -168
- package/dist/tools/runtime/types.js +0 -1
- package/dist/tools/web-search.js +0 -138
- package/dist/user-skills/installer.js +0 -214
- package/dist/user-skills/manager.js +0 -133
- package/dist/user-skills/store.js +0 -267
- package/dist/user-skills/types.js +0 -1
- package/dist/vscode/cli.js +0 -90
- package/dist/vscode/code-cli.js +0 -119
- package/dist/vscode/install.js +0 -177
- package/dist/vscode/status.js +0 -80
- package/dist/vscode/types.js +0 -14
- package/dist/vscode/uninstall.js +0 -49
- package/dist/vscode/vsix-fetcher.js +0 -131
- package/dist/web/auth.js +0 -14
- package/dist/web/channel.js +0 -288
- package/dist/web/http.js +0 -195
- package/dist/web/types.js +0 -1
- package/dist/web-annotations/api.js +0 -348
- package/dist/web-annotations/attachments.js +0 -201
- package/dist/web-annotations/cdp.js +0 -1107
- package/dist/web-annotations/index.js +0 -7
- package/dist/web-annotations/store.js +0 -407
- package/dist/web-annotations/tools.js +0 -350
- package/dist/web-annotations/types.js +0 -34
- package/dist/web-annotations/validation.js +0 -288
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs';
|
|
2
|
-
import { writeFile } from 'node:fs/promises';
|
|
3
|
-
import { detectDesktopEnv, hasDesktopDisplay, printLinuxVirtualDisplayHint } from './desktop-env.js';
|
|
4
|
-
export const PIBO_XVFB_SERVICE_NAME = 'pibo-xvfb.service';
|
|
5
|
-
export const PIBO_XVFB_SERVICE_PATH = `/etc/systemd/system/${PIBO_XVFB_SERVICE_NAME}`;
|
|
6
|
-
export function createPiboXvfbServiceUnit() {
|
|
7
|
-
return [
|
|
8
|
-
'[Unit]',
|
|
9
|
-
'Description=Virtual X display for Pibo browser automation',
|
|
10
|
-
'After=network.target',
|
|
11
|
-
'',
|
|
12
|
-
'[Service]',
|
|
13
|
-
'Type=simple',
|
|
14
|
-
'ExecStart=/usr/bin/Xvfb :0 -screen 0 1920x1080x24 -ac -nolisten tcp',
|
|
15
|
-
'Restart=always',
|
|
16
|
-
'RestartSec=2',
|
|
17
|
-
'',
|
|
18
|
-
'[Install]',
|
|
19
|
-
'WantedBy=multi-user.target',
|
|
20
|
-
'',
|
|
21
|
-
].join('\n');
|
|
22
|
-
}
|
|
23
|
-
function isRootUser() {
|
|
24
|
-
return typeof process.getuid === 'function' && process.getuid() === 0;
|
|
25
|
-
}
|
|
26
|
-
async function waitForDisplaySocket(timeoutMs = 5000) {
|
|
27
|
-
const deadline = Date.now() + timeoutMs;
|
|
28
|
-
while (Date.now() < deadline) {
|
|
29
|
-
if (existsSync('/tmp/.X11-unix/X0'))
|
|
30
|
-
return true;
|
|
31
|
-
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
32
|
-
}
|
|
33
|
-
return existsSync('/tmp/.X11-unix/X0');
|
|
34
|
-
}
|
|
35
|
-
export async function ensureLinuxVirtualDisplay(options) {
|
|
36
|
-
if (process.platform !== 'linux')
|
|
37
|
-
return false;
|
|
38
|
-
if (hasDesktopDisplay(detectDesktopEnv()))
|
|
39
|
-
return false;
|
|
40
|
-
if (!isRootUser()) {
|
|
41
|
-
console.log('No desktop display detected and automatic virtual display setup requires root.');
|
|
42
|
-
printLinuxVirtualDisplayHint(' ');
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
console.log('No desktop display detected. Provisioning virtual X display for browser-use.');
|
|
46
|
-
await options.runInherited('apt-get', ['update']);
|
|
47
|
-
await options.runInherited('apt-get', ['install', '-y', 'xvfb', 'xauth', 'x11-xserver-utils']);
|
|
48
|
-
await writeFile(PIBO_XVFB_SERVICE_PATH, createPiboXvfbServiceUnit(), 'utf8');
|
|
49
|
-
await options.runInherited('systemctl', ['daemon-reload']);
|
|
50
|
-
await options.runInherited('systemctl', ['enable', '--now', PIBO_XVFB_SERVICE_NAME]);
|
|
51
|
-
process.env.DISPLAY = ':0';
|
|
52
|
-
const ready = await waitForDisplaySocket();
|
|
53
|
-
if (!ready) {
|
|
54
|
-
throw new Error('Virtual X display service was installed but DISPLAY :0 did not become ready.');
|
|
55
|
-
}
|
|
56
|
-
console.log('Virtual X display ready on DISPLAY=:0');
|
|
57
|
-
return true;
|
|
58
|
-
}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { spawn } from 'node:child_process';
|
|
2
|
-
import { existsSync } from 'node:fs';
|
|
3
|
-
import { mkdir, rm, writeFile } from 'node:fs/promises';
|
|
4
|
-
import { homedir } from 'node:os';
|
|
5
|
-
import { join } from 'node:path';
|
|
6
|
-
import { ErrorCode, formatCliError } from '../cli-errors.js';
|
|
7
|
-
import { detectDesktopEnv, getDesktopProcessEnv, hasDesktopDisplay, printDesktopEnvStatus, printLinuxVirtualDisplayHint, } from './desktop-env.js';
|
|
8
|
-
function getPiboHome() {
|
|
9
|
-
return process.env.PIBO_HOME || join(homedir(), '.pibo');
|
|
10
|
-
}
|
|
11
|
-
export function getToolNpmRuntimePaths(name, spec) {
|
|
12
|
-
const rootDir = join(getPiboHome(), 'tools', name);
|
|
13
|
-
const homeDir = join(rootDir, 'home');
|
|
14
|
-
const nodeDir = join(rootDir, 'node');
|
|
15
|
-
const binDir = join(nodeDir, 'node_modules', '.bin');
|
|
16
|
-
const executable = process.platform === 'win32' ? `${spec.executableName}.cmd` : spec.executableName;
|
|
17
|
-
return {
|
|
18
|
-
rootDir,
|
|
19
|
-
homeDir,
|
|
20
|
-
nodeDir,
|
|
21
|
-
binDir,
|
|
22
|
-
executablePath: join(binDir, executable),
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
export function getToolNpmRuntimeEnv(paths, spec) {
|
|
26
|
-
const env = { ...process.env, ...getDesktopProcessEnv() };
|
|
27
|
-
env.PATH = `${join(paths.homeDir, 'bin')}:${paths.binDir}:${env.PATH ?? ''}`;
|
|
28
|
-
if (spec.homeEnvVar)
|
|
29
|
-
env[spec.homeEnvVar] = paths.homeDir;
|
|
30
|
-
return env;
|
|
31
|
-
}
|
|
32
|
-
function runBuffered(command, args, env = process.env) {
|
|
33
|
-
return new Promise((resolve) => {
|
|
34
|
-
const child = spawn(command, args, { stdio: ['ignore', 'pipe', 'pipe'], env });
|
|
35
|
-
const chunks = [];
|
|
36
|
-
child.stdout.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
|
|
37
|
-
child.stderr.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
|
|
38
|
-
child.on('error', (error) => resolve({ ok: false, output: error.message }));
|
|
39
|
-
child.on('close', (code) => {
|
|
40
|
-
resolve({ ok: code === 0, output: Buffer.concat(chunks).toString('utf-8').trim() });
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
function runInheritedNpmCommand(command, args, env = process.env) {
|
|
45
|
-
return new Promise((resolve, reject) => {
|
|
46
|
-
console.log(`Running: ${command} ${args.join(' ')}`);
|
|
47
|
-
const child = spawn(command, args, { stdio: 'inherit', env });
|
|
48
|
-
child.on('error', (error) => {
|
|
49
|
-
reject(new Error(formatCliError({
|
|
50
|
-
code: ErrorCode.CLIENT_ERROR,
|
|
51
|
-
type: 'CLI_TOOL_COMMAND_FAILED',
|
|
52
|
-
message: `Failed to run command: ${command}`,
|
|
53
|
-
details: error.message,
|
|
54
|
-
suggestion: 'Install Node.js and npm first, then rerun the command.',
|
|
55
|
-
})));
|
|
56
|
-
});
|
|
57
|
-
child.on('close', (code) => {
|
|
58
|
-
if (code === 0) {
|
|
59
|
-
resolve();
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
reject(new Error(formatCliError({
|
|
63
|
-
code: ErrorCode.CLIENT_ERROR,
|
|
64
|
-
type: 'CLI_TOOL_COMMAND_FAILED',
|
|
65
|
-
message: `Command failed with exit code ${code ?? 'unknown'}`,
|
|
66
|
-
details: `${command} ${args.join(' ')}`,
|
|
67
|
-
suggestion: 'Fix the npm setup error above, then rerun the install command.',
|
|
68
|
-
})));
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
async function ensureNodeAndNpm() {
|
|
73
|
-
const node = await runBuffered('node', ['--version']);
|
|
74
|
-
const npm = await runBuffered('npm', ['--version']);
|
|
75
|
-
if (!node.ok || !npm.ok) {
|
|
76
|
-
throw new Error(formatCliError({
|
|
77
|
-
code: ErrorCode.CLIENT_ERROR,
|
|
78
|
-
type: 'CLI_TOOL_NPM_MISSING',
|
|
79
|
-
message: 'node or npm was not found on PATH',
|
|
80
|
-
details: `node: ${node.output || 'missing'}; npm: ${npm.output || 'missing'}`,
|
|
81
|
-
suggestion: 'Install Node.js and npm, then rerun the install command.',
|
|
82
|
-
}));
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
export async function installToolNpmRuntime(name, spec) {
|
|
86
|
-
await ensureNodeAndNpm();
|
|
87
|
-
const paths = getToolNpmRuntimePaths(name, spec);
|
|
88
|
-
await mkdir(paths.rootDir, { recursive: true });
|
|
89
|
-
await mkdir(paths.homeDir, { recursive: true });
|
|
90
|
-
await mkdir(paths.nodeDir, { recursive: true });
|
|
91
|
-
const packageJsonPath = join(paths.nodeDir, 'package.json');
|
|
92
|
-
if (!existsSync(packageJsonPath)) {
|
|
93
|
-
await writeFile(packageJsonPath, `${JSON.stringify({ private: true, name: `pibo-tool-${name}` }, null, 2)}\n`);
|
|
94
|
-
}
|
|
95
|
-
await runInheritedNpmCommand('npm', ['install', '--prefix', paths.nodeDir, spec.packageName]);
|
|
96
|
-
if (spec.postInstallArgs?.length) {
|
|
97
|
-
await runInheritedNpmCommand(paths.executablePath, spec.postInstallArgs, getToolNpmRuntimeEnv(paths, spec));
|
|
98
|
-
}
|
|
99
|
-
return paths;
|
|
100
|
-
}
|
|
101
|
-
export async function removeToolNpmRuntime(name, spec) {
|
|
102
|
-
const paths = getToolNpmRuntimePaths(name, spec);
|
|
103
|
-
await rm(paths.rootDir, { recursive: true, force: true });
|
|
104
|
-
console.log(`Removed runtime: ${paths.rootDir}`);
|
|
105
|
-
}
|
|
106
|
-
export async function printToolNpmRuntimeDoctor(name, spec) {
|
|
107
|
-
const paths = getToolNpmRuntimePaths(name, spec);
|
|
108
|
-
const node = await runBuffered('node', ['--version']);
|
|
109
|
-
const npm = await runBuffered('npm', ['--version']);
|
|
110
|
-
console.log(`${name}`);
|
|
111
|
-
console.log(` node: ${node.ok ? node.output || 'ok' : `missing (${node.output})`}`);
|
|
112
|
-
console.log(` npm: ${npm.ok ? npm.output || 'ok' : `missing (${npm.output})`}`);
|
|
113
|
-
console.log(` package: ${spec.packageName}`);
|
|
114
|
-
console.log(` runtime: ${paths.rootDir}`);
|
|
115
|
-
console.log(` home: ${paths.homeDir}`);
|
|
116
|
-
console.log(` node modules: ${existsSync(join(paths.nodeDir, 'node_modules')) ? 'present' : 'missing'}`);
|
|
117
|
-
console.log(` executable: ${existsSync(paths.executablePath) ? paths.executablePath : 'missing'}`);
|
|
118
|
-
printDesktopEnvStatus(' ');
|
|
119
|
-
if (name === 'agent-browser' && process.platform === 'linux' && !hasDesktopDisplay(detectDesktopEnv())) {
|
|
120
|
-
printLinuxVirtualDisplayHint(' ');
|
|
121
|
-
}
|
|
122
|
-
if (existsSync(paths.executablePath)) {
|
|
123
|
-
const doctorExecutablePath = name === 'agent-browser' && existsSync(join(paths.homeDir, 'bin', 'agent-browser'))
|
|
124
|
-
? join(paths.homeDir, 'bin', 'agent-browser')
|
|
125
|
-
: paths.executablePath;
|
|
126
|
-
const doctor = await runBuffered(doctorExecutablePath, ['doctor', '--offline', '--quick'], getToolNpmRuntimeEnv(paths, spec));
|
|
127
|
-
console.log(` tool doctor: ${doctor.ok ? 'ok' : 'failed'}`);
|
|
128
|
-
if (doctor.output)
|
|
129
|
-
console.log(doctor.output.split('\n').map((line) => ` ${line}`).join('\n'));
|
|
130
|
-
}
|
|
131
|
-
if (!node.ok || !npm.ok) {
|
|
132
|
-
console.log('');
|
|
133
|
-
console.log('Install Node.js and npm first, then rerun:');
|
|
134
|
-
console.log(` pibo tools doctor ${name}`);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import { spawn } from 'node:child_process';
|
|
2
|
-
import { existsSync } from 'node:fs';
|
|
3
|
-
import { mkdir, rm } from 'node:fs/promises';
|
|
4
|
-
import { homedir } from 'node:os';
|
|
5
|
-
import { join } from 'node:path';
|
|
6
|
-
import { ErrorCode, formatCliError } from '../cli-errors.js';
|
|
7
|
-
import { detectDesktopEnv, getDesktopProcessEnv, hasDesktopDisplay, printDesktopEnvStatus, printLinuxVirtualDisplayHint, } from './desktop-env.js';
|
|
8
|
-
function getPiboHome() {
|
|
9
|
-
return process.env.PIBO_HOME || join(homedir(), '.pibo');
|
|
10
|
-
}
|
|
11
|
-
export function getToolPythonRuntimePaths(name, spec) {
|
|
12
|
-
const rootDir = join(getPiboHome(), 'tools', name);
|
|
13
|
-
const homeDir = join(rootDir, 'home');
|
|
14
|
-
const venvDir = join(rootDir, '.venv');
|
|
15
|
-
const binDir = join(venvDir, process.platform === 'win32' ? 'Scripts' : 'bin');
|
|
16
|
-
const executable = process.platform === 'win32'
|
|
17
|
-
? `${spec.executableName}.exe`
|
|
18
|
-
: spec.executableName;
|
|
19
|
-
return {
|
|
20
|
-
rootDir,
|
|
21
|
-
homeDir,
|
|
22
|
-
venvDir,
|
|
23
|
-
binDir,
|
|
24
|
-
pythonPath: join(binDir, process.platform === 'win32' ? 'python.exe' : 'python'),
|
|
25
|
-
executablePath: join(binDir, executable),
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
export function getToolPythonRuntimeEnv(paths, spec) {
|
|
29
|
-
const env = { ...process.env, ...getDesktopProcessEnv() };
|
|
30
|
-
env.PATH = `${paths.binDir}:${join(paths.homeDir, 'bin')}:${env.PATH ?? ''}`;
|
|
31
|
-
if (spec.homeEnvVar)
|
|
32
|
-
env[spec.homeEnvVar] = paths.homeDir;
|
|
33
|
-
return env;
|
|
34
|
-
}
|
|
35
|
-
function runBuffered(command, args, env = process.env) {
|
|
36
|
-
return new Promise((resolve) => {
|
|
37
|
-
const child = spawn(command, args, { stdio: ['ignore', 'pipe', 'pipe'], env });
|
|
38
|
-
const chunks = [];
|
|
39
|
-
child.stdout.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
|
|
40
|
-
child.stderr.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
|
|
41
|
-
child.on('error', (error) => {
|
|
42
|
-
resolve({ ok: false, output: error.message });
|
|
43
|
-
});
|
|
44
|
-
child.on('close', (code) => {
|
|
45
|
-
resolve({
|
|
46
|
-
ok: code === 0,
|
|
47
|
-
output: Buffer.concat(chunks).toString('utf-8').trim(),
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
function isRootUser() {
|
|
53
|
-
return typeof process.getuid === 'function' && process.getuid() === 0;
|
|
54
|
-
}
|
|
55
|
-
async function resolveUvCommand() {
|
|
56
|
-
const uv = await runBuffered('uv', ['--version']);
|
|
57
|
-
if (uv.ok)
|
|
58
|
-
return 'uv';
|
|
59
|
-
const localUv = join(homedir(), '.local', 'bin', 'uv');
|
|
60
|
-
if (existsSync(localUv)) {
|
|
61
|
-
const local = await runBuffered(localUv, ['--version']);
|
|
62
|
-
if (local.ok)
|
|
63
|
-
return localUv;
|
|
64
|
-
}
|
|
65
|
-
if (process.platform === 'linux' && isRootUser()) {
|
|
66
|
-
console.log('uv was not found on PATH. Installing uv automatically.');
|
|
67
|
-
await runInheritedCommand('sh', ['-c', 'curl -LsSf https://astral.sh/uv/install.sh | sh']);
|
|
68
|
-
const installed = await runBuffered(localUv, ['--version'], {
|
|
69
|
-
...process.env,
|
|
70
|
-
PATH: `${join(homedir(), '.local', 'bin')}:${process.env.PATH ?? ''}`,
|
|
71
|
-
});
|
|
72
|
-
if (installed.ok)
|
|
73
|
-
return localUv;
|
|
74
|
-
}
|
|
75
|
-
return undefined;
|
|
76
|
-
}
|
|
77
|
-
export function runInheritedCommand(command, args, env = process.env) {
|
|
78
|
-
return new Promise((resolve, reject) => {
|
|
79
|
-
console.log(`Running: ${command} ${args.join(' ')}`);
|
|
80
|
-
const child = spawn(command, args, {
|
|
81
|
-
stdio: 'inherit',
|
|
82
|
-
env,
|
|
83
|
-
});
|
|
84
|
-
child.on('error', (error) => {
|
|
85
|
-
reject(new Error(formatCliError({
|
|
86
|
-
code: ErrorCode.CLIENT_ERROR,
|
|
87
|
-
type: 'CLI_TOOL_COMMAND_FAILED',
|
|
88
|
-
message: `Failed to run command: ${command}`,
|
|
89
|
-
details: error.message,
|
|
90
|
-
suggestion: 'Install uv first, then rerun the command.',
|
|
91
|
-
})));
|
|
92
|
-
});
|
|
93
|
-
child.on('close', (code) => {
|
|
94
|
-
if (code === 0) {
|
|
95
|
-
resolve();
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
reject(new Error(formatCliError({
|
|
99
|
-
code: ErrorCode.CLIENT_ERROR,
|
|
100
|
-
type: 'CLI_TOOL_COMMAND_FAILED',
|
|
101
|
-
message: `Command failed with exit code ${code ?? 'unknown'}`,
|
|
102
|
-
details: `${command} ${args.join(' ')}`,
|
|
103
|
-
suggestion: 'Fix the setup error above, then rerun the install command.',
|
|
104
|
-
})));
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
export async function printToolPythonRuntimeDoctor(name, spec) {
|
|
109
|
-
const paths = getToolPythonRuntimePaths(name, spec);
|
|
110
|
-
const uvCommand = await resolveUvCommand();
|
|
111
|
-
const uv = uvCommand ? await runBuffered(uvCommand, ['--version']) : { ok: false, output: 'missing' };
|
|
112
|
-
const python = uv.ok
|
|
113
|
-
? await runBuffered(uvCommand, ['python', 'find', spec.pythonVersion])
|
|
114
|
-
: { ok: false, output: 'skipped because uv is missing' };
|
|
115
|
-
console.log(`${name}`);
|
|
116
|
-
console.log(` uv: ${uv.ok ? uv.output || 'ok' : `missing (${uv.output})`}`);
|
|
117
|
-
console.log(` python ${spec.pythonVersion}: ${python.ok ? python.output || 'ok' : `missing (${python.output})`}`);
|
|
118
|
-
console.log(` runtime: ${paths.rootDir}`);
|
|
119
|
-
console.log(` home: ${paths.homeDir}`);
|
|
120
|
-
console.log(` venv: ${existsSync(paths.venvDir) ? 'present' : 'missing'}`);
|
|
121
|
-
console.log(` executable: ${existsSync(paths.executablePath) ? paths.executablePath : 'missing'}`);
|
|
122
|
-
printDesktopEnvStatus(' ');
|
|
123
|
-
if (name === 'browser-use' && process.platform === 'linux' && !hasDesktopDisplay(detectDesktopEnv())) {
|
|
124
|
-
printLinuxVirtualDisplayHint(' ');
|
|
125
|
-
}
|
|
126
|
-
if (existsSync(paths.executablePath) && spec.doctorArgs?.length) {
|
|
127
|
-
const doctor = await runBuffered(paths.executablePath, spec.doctorArgs, getToolPythonRuntimeEnv(paths, spec));
|
|
128
|
-
console.log(` tool doctor: ${doctor.ok ? 'ok' : 'failed'}`);
|
|
129
|
-
if (doctor.output) {
|
|
130
|
-
console.log(doctor.output.split('\n').map((line) => ` ${line}`).join('\n'));
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
if (!uv.ok) {
|
|
134
|
-
console.log('');
|
|
135
|
-
console.log('Install uv first:');
|
|
136
|
-
console.log(' macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh');
|
|
137
|
-
console.log(' Windows PowerShell: irm https://astral.sh/uv/install.ps1 | iex');
|
|
138
|
-
}
|
|
139
|
-
if (uv.ok && !python.ok) {
|
|
140
|
-
console.log('');
|
|
141
|
-
console.log(`Install Python ${spec.pythonVersion}+ first:`);
|
|
142
|
-
console.log(' Ubuntu/Debian: sudo apt update && sudo apt install -y python3 python3-venv');
|
|
143
|
-
console.log(' macOS: brew install python');
|
|
144
|
-
console.log(' Windows PowerShell: winget install Python.Python.3.12');
|
|
145
|
-
console.log('');
|
|
146
|
-
console.log('Then rerun:');
|
|
147
|
-
console.log(` pibo tools doctor ${name}`);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
export async function installToolPythonRuntime(name, spec) {
|
|
151
|
-
const uvCommand = await resolveUvCommand();
|
|
152
|
-
if (!uvCommand) {
|
|
153
|
-
throw new Error(formatCliError({
|
|
154
|
-
code: ErrorCode.CLIENT_ERROR,
|
|
155
|
-
type: 'CLI_TOOL_UV_MISSING',
|
|
156
|
-
message: 'uv was not found on PATH',
|
|
157
|
-
details: 'spawn uv ENOENT',
|
|
158
|
-
suggestion: 'Install uv first. macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh. Windows PowerShell: irm https://astral.sh/uv/install.ps1 | iex.',
|
|
159
|
-
}));
|
|
160
|
-
}
|
|
161
|
-
const paths = getToolPythonRuntimePaths(name, spec);
|
|
162
|
-
await mkdir(paths.rootDir, { recursive: true });
|
|
163
|
-
await mkdir(paths.homeDir, { recursive: true });
|
|
164
|
-
if (!existsSync(paths.venvDir)) {
|
|
165
|
-
await runInheritedCommand(uvCommand, ['venv', paths.venvDir, '--python', spec.pythonVersion]);
|
|
166
|
-
}
|
|
167
|
-
await runInheritedCommand(uvCommand, [
|
|
168
|
-
'pip',
|
|
169
|
-
'install',
|
|
170
|
-
'--python',
|
|
171
|
-
paths.pythonPath,
|
|
172
|
-
spec.packageName,
|
|
173
|
-
]);
|
|
174
|
-
if (spec.postInstallArgs?.length) {
|
|
175
|
-
await runInheritedCommand(paths.executablePath, spec.postInstallArgs, getToolPythonRuntimeEnv(paths, spec));
|
|
176
|
-
}
|
|
177
|
-
return paths;
|
|
178
|
-
}
|
|
179
|
-
export async function removeToolPythonRuntime(name, spec) {
|
|
180
|
-
const paths = getToolPythonRuntimePaths(name, spec);
|
|
181
|
-
await rm(paths.rootDir, { recursive: true, force: true });
|
|
182
|
-
console.log(`Removed runtime: ${paths.rootDir}`);
|
|
183
|
-
}
|
package/dist/tools/registry.js
DELETED
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs';
|
|
2
|
-
import { ensureAgentBrowserWrapper } from './agent-browser-wrapper.js';
|
|
3
|
-
import { detectDesktopEnv, hasDesktopDisplay, printDesktopEnvStatus, printLinuxVirtualDisplayHint } from './desktop-env.js';
|
|
4
|
-
import { AGENT_BROWSER_GUIDE, BROWSER_USE_GUIDE, GRAPHIFY_GUIDE, RALPH_GUIDE, REMOTE_BROWSER_GUIDE } from './guides.js';
|
|
5
|
-
import { ensureLinuxVirtualDisplay } from './linux-virtual-display.js';
|
|
6
|
-
import { getToolNpmRuntimePaths, installToolNpmRuntime, printToolNpmRuntimeDoctor, removeToolNpmRuntime, } from './npm-runtime.js';
|
|
7
|
-
import { getToolPythonRuntimePaths, installToolPythonRuntime, runInheritedCommand, printToolPythonRuntimeDoctor, removeToolPythonRuntime, } from './python-runtime.js';
|
|
8
|
-
const MAX_AGENT_CONTEXT_SNIPPET_LENGTH = 480;
|
|
9
|
-
const INSTALLED_TOOLS_CONTEXT_PATH = '.pibo/context/installed-pibo-tools.md';
|
|
10
|
-
const REGISTRY = [
|
|
11
|
-
{
|
|
12
|
-
name: 'browser-use',
|
|
13
|
-
description: 'Browser automation CLI for web interaction, screenshots, and extraction.',
|
|
14
|
-
runtime: {
|
|
15
|
-
packageName: 'browser-use[cli]==0.12.6',
|
|
16
|
-
executableName: 'browser-use',
|
|
17
|
-
pythonVersion: '3.12',
|
|
18
|
-
homeEnvVar: 'BROWSER_USE_HOME',
|
|
19
|
-
doctorArgs: ['doctor'],
|
|
20
|
-
},
|
|
21
|
-
guides: [BROWSER_USE_GUIDE, REMOTE_BROWSER_GUIDE],
|
|
22
|
-
notes: [
|
|
23
|
-
'Installed on demand into an isolated Python virtual environment.',
|
|
24
|
-
'Pinned to browser-use 0.12.6 so the CLI surface matches the bundled guides.',
|
|
25
|
-
'The tool uses BROWSER_USE_HOME under the pibo tool runtime directory.',
|
|
26
|
-
'The pibo tool environment wraps browser-use so new browser sessions default to Pibo-managed persistent PIBo Chrome via CDP; pass --fresh-profile for a temporary profile.',
|
|
27
|
-
'Use pibo tools browser-use lease acquire for isolated authenticated browser slots when multiple agents need Chat Web App access.',
|
|
28
|
-
'Guides are available through pibo tools guide and are not loaded into pibo profiles automatically.',
|
|
29
|
-
],
|
|
30
|
-
agentContextSnippet: [
|
|
31
|
-
'Browser automation CLI for frontend development and web testing.',
|
|
32
|
-
'Start in one persistent shell with `eval "$(npm run --silent dev -- tools env browser-use)"`.',
|
|
33
|
-
'For authenticated Pibo Chat Web App testing, prefer `eval "$(npm run --silent dev -- tools browser-use lease acquire --app pibo-chat --holder "$USER")"`.',
|
|
34
|
-
'Discover details with `npm run dev -- tools show browser-use` and `npm run dev -- tools guide browser-use browser-use`.',
|
|
35
|
-
].join('\n'),
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
name: 'agent-browser',
|
|
39
|
-
description: 'Fast native browser automation CLI for AI agents.',
|
|
40
|
-
kind: 'npm',
|
|
41
|
-
runtime: {
|
|
42
|
-
type: 'npm',
|
|
43
|
-
packageName: 'agent-browser@0.27.0',
|
|
44
|
-
executableName: 'agent-browser',
|
|
45
|
-
homeEnvVar: 'AGENT_BROWSER_HOME',
|
|
46
|
-
},
|
|
47
|
-
guides: [AGENT_BROWSER_GUIDE],
|
|
48
|
-
notes: [
|
|
49
|
-
'Installed on demand into an isolated npm runtime.',
|
|
50
|
-
'Pinned to agent-browser 0.27.0 so the CLI surface matches the bundled guide.',
|
|
51
|
-
'The Pibo wrapper redirects HOME to AGENT_BROWSER_HOME by default so Agent Browser state stays in the tool home.',
|
|
52
|
-
'The wrapper uses home/profiles/PIBo as the default browser profile for launch commands; pass --fresh-profile or explicit upstream flags to opt out.',
|
|
53
|
-
'Use pibo tools agent-browser lease acquire for isolated authenticated browser slots when multiple agents need Chat Web App access.',
|
|
54
|
-
'Guides are available through pibo tools guide and are not loaded into pibo profiles automatically.',
|
|
55
|
-
],
|
|
56
|
-
agentContextSnippet: [
|
|
57
|
-
'Browser automation CLI for frontend development and web testing.',
|
|
58
|
-
'Start in one persistent shell with `eval "$(npm run --silent dev -- tools env agent-browser)"`.',
|
|
59
|
-
'For authenticated Pibo Chat Web App testing, prefer `eval "$(npm run --silent dev -- tools agent-browser lease acquire --app pibo-chat --holder "$USER")"`.',
|
|
60
|
-
'Discover details with `npm run dev -- tools show agent-browser` and `npm run dev -- tools guide agent-browser agent-browser`.',
|
|
61
|
-
].join('\n'),
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
name: 'graphify',
|
|
65
|
-
description: 'Codebase visualization CLI that generates interactive knowledge graphs and reports.',
|
|
66
|
-
runtime: {
|
|
67
|
-
packageName: 'graphifyy',
|
|
68
|
-
executableName: 'graphify',
|
|
69
|
-
pythonVersion: '3.12',
|
|
70
|
-
postInstallArgs: ['install', '--platform', 'pi'],
|
|
71
|
-
},
|
|
72
|
-
guides: [GRAPHIFY_GUIDE],
|
|
73
|
-
notes: [
|
|
74
|
-
'Installed on demand into an isolated Python virtual environment from the graphifyy package.',
|
|
75
|
-
'The installer runs graphify install --platform pi after package installation so Graphify is ready for Pi/Pibo workflows.',
|
|
76
|
-
'Graphify writes generated graph artifacts under graphify-out/; prefer an ignored room/session artifact directory unless the user explicitly wants repo files.',
|
|
77
|
-
'Guides are available through pibo tools guide and are not loaded into pibo profiles automatically.',
|
|
78
|
-
],
|
|
79
|
-
agentContextSnippet: [
|
|
80
|
-
'Codebase visualization CLI for graphify-out/graph.html, graph.json, and GRAPH_REPORT.md.',
|
|
81
|
-
'Start with `eval "$(npm run --silent dev -- tools env graphify)"`.',
|
|
82
|
-
'No LLM key: run `graphify .` on code, then `graphify cluster-only . --no-label`.',
|
|
83
|
-
'Guide: `npm run dev -- tools guide graphify graphify`.',
|
|
84
|
-
].join('\n'),
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
name: 'ralph',
|
|
88
|
-
description: 'Pibo-native continuous agent job runner for implementation and debugging loops.',
|
|
89
|
-
kind: 'internal',
|
|
90
|
-
guides: [RALPH_GUIDE],
|
|
91
|
-
notes: [
|
|
92
|
-
'Ralph is built into the pibo CLI; no external runtime installation is required.',
|
|
93
|
-
'Ralph jobs are app-global; use room targets or the shared default target when creating jobs.',
|
|
94
|
-
'Prefer templates for repeatable jobs, and use --json for automation-safe inspection.',
|
|
95
|
-
],
|
|
96
|
-
agentContextSnippet: [
|
|
97
|
-
'Continuous Pibo agent job runner for implementation/debug loops.',
|
|
98
|
-
'Use `pibo ralph templates`, then create with `pibo ralph add --template <id> --room <room-id> --start`.',
|
|
99
|
-
'Inspect/control with `pibo ralph list --json`, `runs --job <id> --json`, `stop <id>`, `cancel <id>`.',
|
|
100
|
-
'Guide: `pibo tools guide ralph ralph`.',
|
|
101
|
-
].join('\n'),
|
|
102
|
-
},
|
|
103
|
-
];
|
|
104
|
-
for (const entry of REGISTRY) {
|
|
105
|
-
const snippet = entry.agentContextSnippet.trim();
|
|
106
|
-
if (snippet.length === 0) {
|
|
107
|
-
throw new Error(`CLI tool "${entry.name}" is missing agentContextSnippet`);
|
|
108
|
-
}
|
|
109
|
-
if (snippet.length > MAX_AGENT_CONTEXT_SNIPPET_LENGTH) {
|
|
110
|
-
throw new Error(`CLI tool "${entry.name}" agentContextSnippet exceeds ${MAX_AGENT_CONTEXT_SNIPPET_LENGTH} characters`);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
export function listCliToolEntries() {
|
|
114
|
-
return REGISTRY;
|
|
115
|
-
}
|
|
116
|
-
export function findCliToolEntry(name) {
|
|
117
|
-
return REGISTRY.find((entry) => entry.name === name);
|
|
118
|
-
}
|
|
119
|
-
export function getCliToolStatus(entry) {
|
|
120
|
-
if (entry.kind === 'internal') {
|
|
121
|
-
return {
|
|
122
|
-
entry,
|
|
123
|
-
installed: true,
|
|
124
|
-
executablePath: `pibo ${entry.name}`,
|
|
125
|
-
rootDir: '',
|
|
126
|
-
homeDir: '',
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
if (!entry.runtime)
|
|
130
|
-
throw new Error(`CLI tool "${entry.name}" is missing runtime`);
|
|
131
|
-
const paths = entry.runtime.type === 'npm'
|
|
132
|
-
? getToolNpmRuntimePaths(entry.name, entry.runtime)
|
|
133
|
-
: getToolPythonRuntimePaths(entry.name, entry.runtime);
|
|
134
|
-
return {
|
|
135
|
-
entry,
|
|
136
|
-
installed: existsSync(paths.executablePath),
|
|
137
|
-
executablePath: paths.executablePath,
|
|
138
|
-
rootDir: paths.rootDir,
|
|
139
|
-
homeDir: paths.homeDir,
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
export function findToolGuide(entry, guideName) {
|
|
143
|
-
return entry.guides.find((guide) => guide.name === guideName);
|
|
144
|
-
}
|
|
145
|
-
export function listInstalledCliToolAgentContexts() {
|
|
146
|
-
return REGISTRY
|
|
147
|
-
.filter((entry) => getCliToolStatus(entry).installed)
|
|
148
|
-
.map((entry) => ({
|
|
149
|
-
name: entry.name,
|
|
150
|
-
description: entry.description,
|
|
151
|
-
snippet: entry.agentContextSnippet,
|
|
152
|
-
}));
|
|
153
|
-
}
|
|
154
|
-
export function getInstalledCliToolContextFile() {
|
|
155
|
-
const installedEntries = listInstalledCliToolAgentContexts();
|
|
156
|
-
if (installedEntries.length === 0)
|
|
157
|
-
return undefined;
|
|
158
|
-
const sections = installedEntries.flatMap((entry) => [
|
|
159
|
-
`## ${entry.name}`,
|
|
160
|
-
entry.snippet,
|
|
161
|
-
'',
|
|
162
|
-
]);
|
|
163
|
-
return {
|
|
164
|
-
path: INSTALLED_TOOLS_CONTEXT_PATH,
|
|
165
|
-
content: [
|
|
166
|
-
'# Installed Pibo Tools',
|
|
167
|
-
'',
|
|
168
|
-
'These curated CLI tools are installed in this environment. The CLI remains the source of truth; use the referenced commands to discover each workflow step by step.',
|
|
169
|
-
'',
|
|
170
|
-
...sections,
|
|
171
|
-
].join('\n').trimEnd(),
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
export async function installCliTool(entry, runSetup) {
|
|
175
|
-
if (entry.kind === 'internal') {
|
|
176
|
-
const status = getCliToolStatus(entry);
|
|
177
|
-
console.log(`Built-in ${entry.name}`);
|
|
178
|
-
console.log(` executable: ${status.executablePath}`);
|
|
179
|
-
console.log(` env: no extra environment required`);
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
if (!entry.runtime)
|
|
183
|
-
throw new Error(`CLI tool "${entry.name}" is missing runtime`);
|
|
184
|
-
if (runSetup) {
|
|
185
|
-
if (entry.name === 'browser-use' || entry.name === 'agent-browser') {
|
|
186
|
-
await ensureLinuxVirtualDisplay({ runInherited: runInheritedCommand });
|
|
187
|
-
}
|
|
188
|
-
if (entry.runtime.type === 'npm') {
|
|
189
|
-
await installToolNpmRuntime(entry.name, entry.runtime);
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
await installToolPythonRuntime(entry.name, entry.runtime);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
const status = getCliToolStatus(entry);
|
|
196
|
-
if (entry.name === 'agent-browser')
|
|
197
|
-
ensureAgentBrowserWrapper(status);
|
|
198
|
-
console.log(`${runSetup ? 'Installed' : 'Install target'} ${entry.name}`);
|
|
199
|
-
console.log(` executable: ${status.executablePath}`);
|
|
200
|
-
console.log(` home: ${status.homeDir}`);
|
|
201
|
-
printDesktopEnvStatus(' ');
|
|
202
|
-
if ((entry.name === 'browser-use' || entry.name === 'agent-browser') && process.platform === 'linux' && !hasDesktopDisplay(detectDesktopEnv())) {
|
|
203
|
-
printLinuxVirtualDisplayHint(' ');
|
|
204
|
-
}
|
|
205
|
-
console.log(` env: pibo tools env ${entry.name}`);
|
|
206
|
-
}
|
|
207
|
-
export async function removeCliTool(entry) {
|
|
208
|
-
if (entry.kind === 'internal') {
|
|
209
|
-
console.log(`${entry.name} is built into pibo and cannot be removed separately.`);
|
|
210
|
-
return;
|
|
211
|
-
}
|
|
212
|
-
if (!entry.runtime)
|
|
213
|
-
throw new Error(`CLI tool "${entry.name}" is missing runtime`);
|
|
214
|
-
if (entry.runtime.type === 'npm') {
|
|
215
|
-
await removeToolNpmRuntime(entry.name, entry.runtime);
|
|
216
|
-
}
|
|
217
|
-
else {
|
|
218
|
-
await removeToolPythonRuntime(entry.name, entry.runtime);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
export async function doctorCliTool(entry) {
|
|
222
|
-
if (entry.kind === 'internal') {
|
|
223
|
-
console.log(`${entry.name}: ok`);
|
|
224
|
-
console.log(` executable: pibo ${entry.name}`);
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
if (!entry.runtime)
|
|
228
|
-
throw new Error(`CLI tool "${entry.name}" is missing runtime`);
|
|
229
|
-
if (entry.name === 'agent-browser')
|
|
230
|
-
ensureAgentBrowserWrapper(getCliToolStatus(entry));
|
|
231
|
-
if (entry.runtime.type === 'npm') {
|
|
232
|
-
await printToolNpmRuntimeDoctor(entry.name, entry.runtime);
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
await printToolPythonRuntimeDoctor(entry.name, entry.runtime);
|
|
236
|
-
}
|
|
237
|
-
}
|