@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.
- 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/dist/api/simple-agent-api.js +136 -0
- package/dist/app-context.js +4 -0
- package/dist/apps/chat/agent-profiles.js +70 -0
- package/dist/apps/chat/agent-store.js +669 -0
- package/dist/apps/chat/chat-api-routes.js +325 -0
- package/dist/apps/chat/chat-capability-routes.js +90 -0
- package/dist/apps/chat/chat-files.js +178 -0
- package/dist/apps/chat/chat-request-normalizers.js +681 -0
- package/dist/apps/chat/chat-settings-routes.js +98 -0
- package/dist/apps/chat/chat-trace-helpers.js +139 -0
- package/dist/apps/chat/chat-user-skill-routes.js +178 -0
- package/dist/apps/chat/cron-api.js +213 -0
- package/dist/apps/chat/data/chat-data-mappers.js +82 -0
- package/dist/apps/chat/data/event-command-service.js +75 -0
- package/dist/apps/chat/data/navigation-query-service.js +11 -0
- package/dist/apps/chat/data/project-service.js +877 -0
- package/dist/apps/chat/data/read-state-service.js +42 -0
- package/dist/apps/chat/data/room-service.js +52 -0
- package/dist/apps/chat/data/session-query-service.js +126 -0
- package/dist/apps/chat/data/timeline-query-service.js +102 -0
- package/dist/apps/chat/event-log.js +1 -0
- package/dist/apps/chat/model-catalog.js +53 -0
- package/dist/apps/chat/output-compactor.js +126 -0
- package/dist/apps/chat/output-event-policy.js +17 -0
- package/dist/apps/chat/project-workflow-human-actions.js +347 -0
- package/dist/apps/chat/project-workflow-sessions.js +260 -0
- package/dist/apps/chat/provider-auth-actions.js +43 -0
- package/dist/apps/chat/ralph-api.js +156 -0
- package/dist/apps/chat/read-model.js +1 -0
- package/dist/apps/chat/rooms.js +1 -0
- package/dist/apps/chat/session-metadata.js +14 -0
- package/dist/apps/chat/static-assets.js +997 -0
- package/dist/apps/chat/stream.js +145 -0
- package/dist/apps/chat/telemetry-retention-service.js +69 -0
- package/dist/apps/chat/trace-v2.js +307 -0
- package/dist/apps/chat/trace.js +572 -0
- package/dist/apps/chat/types/event-store.js +1 -0
- package/dist/apps/chat/types/read-model.js +1 -0
- package/dist/apps/chat/types/rooms.js +36 -0
- package/dist/apps/chat/web-app.js +4661 -0
- package/dist/apps/chat/workflow-catalog.js +572 -0
- package/dist/apps/chat/workflow-edge-compatibility.js +51 -0
- package/dist/apps/chat/workflow-json-schema-validation.js +335 -0
- package/dist/apps/chat/workflow-manual-trigger-runtime.js +232 -0
- package/dist/apps/chat/workflow-persistence-model.js +140 -0
- package/dist/apps/chat/workflow-persistence.js +633 -0
- package/dist/apps/chat/workflow-registered-ref-params.js +130 -0
- package/dist/apps/chat/workflow-registered-ref-pickers.js +179 -0
- package/dist/apps/chat/workflow-registered-ref-validation.js +210 -0
- package/dist/apps/chat/workflow-v2-security-validation.js +93 -0
- package/dist/apps/chat/workflow-validation-helpers.js +114 -0
- package/dist/apps/chat-ui/assets/apl-BxEMbctQ.js +1 -0
- package/dist/apps/chat-ui/assets/asciiarmor-eFjeGRuZ.js +1 -0
- package/dist/apps/chat-ui/assets/asn1-Cfx-0pt9.js +1 -0
- package/dist/apps/chat-ui/assets/asterisk-B5BHTsBr.js +1 -0
- package/dist/apps/chat-ui/assets/brainfuck-CAA2xofr.js +1 -0
- package/dist/apps/chat-ui/assets/clike-BoDCOLzN.js +1 -0
- package/dist/apps/chat-ui/assets/clojure-kVFSWX0o.js +1 -0
- package/dist/apps/chat-ui/assets/cmake-BUPAhezI.js +1 -0
- package/dist/apps/chat-ui/assets/cobol-BfgHZgup.js +1 -0
- package/dist/apps/chat-ui/assets/coffeescript-G1Pe_1AZ.js +1 -0
- package/dist/apps/chat-ui/assets/commonlisp-B3N0CjHn.js +1 -0
- package/dist/apps/chat-ui/assets/crystal-C15ndaGM.js +1 -0
- package/dist/apps/chat-ui/assets/css-BqOeyZOV.js +1 -0
- package/dist/apps/chat-ui/assets/cypher-KjIKv-wW.js +1 -0
- package/dist/apps/chat-ui/assets/d-BlT5AEC-.js +1 -0
- package/dist/apps/chat-ui/assets/diff-oF98tbqj.js +1 -0
- package/dist/apps/chat-ui/assets/dist--55mTWk3.js +1 -0
- package/dist/apps/chat-ui/assets/dist-BCB6zezO.js +23 -0
- package/dist/apps/chat-ui/assets/dist-BHa-kcGl.js +1 -0
- package/dist/apps/chat-ui/assets/dist-BNMu92bb.js +1 -0
- package/dist/apps/chat-ui/assets/dist-BZ2eTC4f.js +1 -0
- package/dist/apps/chat-ui/assets/dist-BZ39rB1W.js +1 -0
- package/dist/apps/chat-ui/assets/dist-BsedZGJo.js +1 -0
- package/dist/apps/chat-ui/assets/dist-C5YJOwhH.js +1 -0
- package/dist/apps/chat-ui/assets/dist-C5oXtFSP.js +1 -0
- package/dist/apps/chat-ui/assets/dist-CKM5j-iy.js +1 -0
- package/dist/apps/chat-ui/assets/dist-CUp9us2q.js +1 -0
- package/dist/apps/chat-ui/assets/dist-CZ9T4Cly.js +1 -0
- package/dist/apps/chat-ui/assets/dist-CnVsqwSG.js +2 -0
- package/dist/apps/chat-ui/assets/dist-CzE6k3F3.js +9 -0
- package/dist/apps/chat-ui/assets/dist-D811wJeV.js +1 -0
- package/dist/apps/chat-ui/assets/dist-DSKQpPaz.js +1 -0
- package/dist/apps/chat-ui/assets/dist-Dq4GxJi3.js +1 -0
- package/dist/apps/chat-ui/assets/dist-HqTN67dc.js +1 -0
- package/dist/apps/chat-ui/assets/dist-SVPsM5Oi.js +13 -0
- package/dist/apps/chat-ui/assets/dist-WyXdYl-w.js +6 -0
- package/dist/apps/chat-ui/assets/dist-Zqt9kNG9.js +1 -0
- package/dist/apps/chat-ui/assets/dist-tGfufz3b.js +1 -0
- package/dist/apps/chat-ui/assets/dist-yCYNNb5d.js +11 -0
- package/dist/apps/chat-ui/assets/dockerfile-CUaqzcqp.js +1 -0
- package/dist/apps/chat-ui/assets/dtd-VCA9yr61.js +1 -0
- package/dist/apps/chat-ui/assets/dylan-O-V5Dw5W.js +1 -0
- package/dist/apps/chat-ui/assets/ebnf-SPmdBkvT.js +1 -0
- package/dist/apps/chat-ui/assets/ecl-ChfCttfI.js +1 -0
- package/dist/apps/chat-ui/assets/eiffel-cB9EbjeN.js +1 -0
- package/dist/apps/chat-ui/assets/elm-BTiVflBU.js +1 -0
- package/dist/apps/chat-ui/assets/erlang-egf0TXFm.js +1 -0
- package/dist/apps/chat-ui/assets/factor-C2tAxNob.js +1 -0
- package/dist/apps/chat-ui/assets/fcl-BiCjh1tj.js +1 -0
- package/dist/apps/chat-ui/assets/forth-C4kDGW6u.js +1 -0
- package/dist/apps/chat-ui/assets/fortran-DzkLaPnd.js +1 -0
- package/dist/apps/chat-ui/assets/gas-DMOxskQF.js +1 -0
- package/dist/apps/chat-ui/assets/gherkin-BPxBpp-k.js +1 -0
- package/dist/apps/chat-ui/assets/groovy-CkEnc0ZY.js +1 -0
- package/dist/apps/chat-ui/assets/haskell-Dadpo9-w.js +1 -0
- package/dist/apps/chat-ui/assets/haxe-CDNZL9MW.js +1 -0
- package/dist/apps/chat-ui/assets/http-jy9Zxxt3.js +1 -0
- package/dist/apps/chat-ui/assets/idl-CGSB6iiy.js +1 -0
- package/dist/apps/chat-ui/assets/index-C0x9nEcf.css +1 -0
- package/dist/apps/chat-ui/assets/index-DwHJfmiF.js +173 -0
- package/dist/apps/chat-ui/assets/javascript-DSlzRUd8.js +1 -0
- package/dist/apps/chat-ui/assets/julia-DTiF9v6R.js +1 -0
- package/dist/apps/chat-ui/assets/livescript-Ci8Xxna6.js +1 -0
- package/dist/apps/chat-ui/assets/lua-eVxIrt9t.js +1 -0
- package/dist/apps/chat-ui/assets/mathematica-Da3grj36.js +1 -0
- package/dist/apps/chat-ui/assets/mbox-BWBMSafM.js +1 -0
- package/dist/apps/chat-ui/assets/mirc-CtHu9S1B.js +1 -0
- package/dist/apps/chat-ui/assets/mllike-wTFlPWXS.js +1 -0
- package/dist/apps/chat-ui/assets/modelica-cKbQ0UXu.js +1 -0
- package/dist/apps/chat-ui/assets/mscgen-C5pXQCMK.js +1 -0
- package/dist/apps/chat-ui/assets/mumps-CKBHkOQq.js +1 -0
- package/dist/apps/chat-ui/assets/nginx-B00AiQel.js +1 -0
- package/dist/apps/chat-ui/assets/nsis-SMDwKltR.js +1 -0
- package/dist/apps/chat-ui/assets/ntriples-B_36EBV0.js +1 -0
- package/dist/apps/chat-ui/assets/octave-BXPjzAif.js +1 -0
- package/dist/apps/chat-ui/assets/oz-Dedpat1M.js +1 -0
- package/dist/apps/chat-ui/assets/pascal-CMcUg72K.js +1 -0
- package/dist/apps/chat-ui/assets/perl-DoVTbnzt.js +1 -0
- package/dist/apps/chat-ui/assets/pig-CULXT1YV.js +1 -0
- package/dist/apps/chat-ui/assets/powershell-Cv5Uhf6b.js +1 -0
- package/dist/apps/chat-ui/assets/properties-CQ1C2P-M.js +1 -0
- package/dist/apps/chat-ui/assets/protobuf-SRlvzrl6.js +1 -0
- package/dist/apps/chat-ui/assets/pug-Bo3wfL-f.js +1 -0
- package/dist/apps/chat-ui/assets/puppet-ClSqCGj6.js +1 -0
- 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 +1 -0
- package/dist/apps/chat-ui/assets/q-B_6Gdyzl.js +1 -0
- package/dist/apps/chat-ui/assets/r-BD07NGED.js +1 -0
- package/dist/apps/chat-ui/assets/rolldown-runtime-S-ySWqyJ.js +1 -0
- package/dist/apps/chat-ui/assets/rpm-CRu5Z2Jl.js +1 -0
- package/dist/apps/chat-ui/assets/ruby-dZPnOz8h.js +1 -0
- package/dist/apps/chat-ui/assets/sas-S2t8_sDI.js +1 -0
- package/dist/apps/chat-ui/assets/scheme-WcyFWLW2.js +1 -0
- package/dist/apps/chat-ui/assets/shell-DUelnYSh.js +1 -0
- package/dist/apps/chat-ui/assets/sieve-jDjlVhNh.js +1 -0
- package/dist/apps/chat-ui/assets/simple-mode-CL04yRVp.js +1 -0
- package/dist/apps/chat-ui/assets/smalltalk-ddWDYy10.js +1 -0
- package/dist/apps/chat-ui/assets/solr-C7rQhLuW.js +1 -0
- package/dist/apps/chat-ui/assets/sparql--fPCCgVd.js +1 -0
- package/dist/apps/chat-ui/assets/spreadsheet-DjthqD5G.js +1 -0
- package/dist/apps/chat-ui/assets/sql-D_dieYbr.js +1 -0
- package/dist/apps/chat-ui/assets/stex-rHcFYcA0.js +1 -0
- package/dist/apps/chat-ui/assets/stylus-DxF70RNr.js +1 -0
- package/dist/apps/chat-ui/assets/swift-T0hDoOb-.js +1 -0
- package/dist/apps/chat-ui/assets/tcl-Dlzy1mPk.js +1 -0
- package/dist/apps/chat-ui/assets/textile-Dy5rFZe5.js +1 -0
- package/dist/apps/chat-ui/assets/tiddlywiki-DQP1OymS.js +1 -0
- package/dist/apps/chat-ui/assets/tiki-0vOj3DB2.js +1 -0
- package/dist/apps/chat-ui/assets/toml-DEltN0lI.js +1 -0
- package/dist/apps/chat-ui/assets/troff-CRbBpEqY.js +1 -0
- package/dist/apps/chat-ui/assets/ttcn-M5q1nLKg.js +1 -0
- package/dist/apps/chat-ui/assets/ttcn-cfg-Rmw9NWq9.js +1 -0
- package/dist/apps/chat-ui/assets/turtle-BCDWhJK0.js +1 -0
- package/dist/apps/chat-ui/assets/vb-QQ7LGlOz.js +1 -0
- package/dist/apps/chat-ui/assets/vbscript-BiSEdUzz.js +1 -0
- package/dist/apps/chat-ui/assets/velocity-CzMg5_6w.js +1 -0
- package/dist/apps/chat-ui/assets/verilog-BJOO83gk.js +1 -0
- package/dist/apps/chat-ui/assets/vhdl-ed4zAZAA.js +1 -0
- package/dist/apps/chat-ui/assets/webidl-Ddy6hbV6.js +1 -0
- package/dist/apps/chat-ui/assets/xquery-Bw1zwhh6.js +1 -0
- package/dist/apps/chat-ui/assets/yacas-DZdTXy3s.js +1 -0
- package/dist/apps/chat-ui/assets/z80-DMG02_YV.js +1 -0
- package/dist/apps/chat-ui/index.html +20 -0
- package/dist/apps/chat-ui/manifest.webmanifest +25 -0
- package/dist/apps/chat-ui/sw.js +47 -0
- package/dist/apps/chat-vscode-web/assets/index-B5QK07zO.css +2 -0
- package/dist/apps/chat-vscode-web/assets/index-BAMxIaI_.js +41 -0
- package/dist/apps/chat-vscode-web/index.html +14 -0
- package/dist/apps/cli-ui/InkSessionApp.js +1218 -0
- package/dist/apps/cli-ui/InkTerminalLine.js +53 -0
- package/dist/apps/cli-ui/InkTerminalRow.js +304 -0
- package/dist/apps/cli-ui/InkTerminalView.js +25 -0
- package/dist/apps/cli-ui/cliSessionsCommand.js +232 -0
- package/dist/apps/cli-ui/index.js +8 -0
- package/dist/apps/cli-ui/inkColors.js +67 -0
- package/dist/apps/cli-ui/inkJson.js +244 -0
- package/dist/apps/cli-ui/inkMarkdown.js +127 -0
- package/dist/apps/cli-ui/inkSyntaxHighlighter.js +166 -0
- package/dist/apps/context-files-ui/assets/apl-14BqhLYK.js +1 -0
- package/dist/apps/context-files-ui/assets/asciiarmor-WLvjqI7d.js +1 -0
- package/dist/apps/context-files-ui/assets/asn1-Bg4FbdCg.js +1 -0
- package/dist/apps/context-files-ui/assets/asterisk-B2MO-X4d.js +1 -0
- package/dist/apps/context-files-ui/assets/brainfuck-CV9kufud.js +1 -0
- package/dist/apps/context-files-ui/assets/clike-CjmcUpt6.js +1 -0
- package/dist/apps/context-files-ui/assets/clojure-De3QGfx6.js +1 -0
- package/dist/apps/context-files-ui/assets/cmake-i2VDNaRq.js +1 -0
- package/dist/apps/context-files-ui/assets/cobol-BwO6DF08.js +1 -0
- package/dist/apps/context-files-ui/assets/coffeescript-BtivDvRz.js +1 -0
- package/dist/apps/context-files-ui/assets/commonlisp-DFkEQdLP.js +1 -0
- package/dist/apps/context-files-ui/assets/crystal-CU0NkcVL.js +1 -0
- package/dist/apps/context-files-ui/assets/css-CbMZAQ1W.js +1 -0
- package/dist/apps/context-files-ui/assets/cypher-Dke5QOzv.js +1 -0
- package/dist/apps/context-files-ui/assets/d-TPqSVaHM.js +1 -0
- package/dist/apps/context-files-ui/assets/diff-B365LSoZ.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-B5PTVnox.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-B5ZAfwf5.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-BOiGdrG-.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-BkUONE3N.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-D1KyNDg5.js +13 -0
- package/dist/apps/context-files-ui/assets/dist-DK01b7x4.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-DKoyMSNr.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-DLMjd26T.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-DPG9jOQ-.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-DotDq_kD.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-Dp5AH00p.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-DqYw0LH7.js +2 -0
- package/dist/apps/context-files-ui/assets/dist-QQuDy4KA.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-TF5iO5ML.js +9 -0
- package/dist/apps/context-files-ui/assets/dist-TbjAhles.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-ZsBbt0uY.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-kmsvtHkH.js +1 -0
- package/dist/apps/context-files-ui/assets/dist-vnd7PMu3.js +11 -0
- package/dist/apps/context-files-ui/assets/dockerfile-CJb2sekW.js +1 -0
- package/dist/apps/context-files-ui/assets/dtd-CBMymJ7O.js +1 -0
- package/dist/apps/context-files-ui/assets/dylan-08Azy1NK.js +1 -0
- package/dist/apps/context-files-ui/assets/ebnf-Dkum_1J8.js +1 -0
- package/dist/apps/context-files-ui/assets/ecl-dhxjHL8y.js +1 -0
- package/dist/apps/context-files-ui/assets/eiffel-C446m6dI.js +1 -0
- package/dist/apps/context-files-ui/assets/elm-po1E9de0.js +1 -0
- package/dist/apps/context-files-ui/assets/erlang-BD5LkVkR.js +1 -0
- package/dist/apps/context-files-ui/assets/factor-B2EMQZkP.js +1 -0
- package/dist/apps/context-files-ui/assets/fcl-DkEOamHd.js +1 -0
- package/dist/apps/context-files-ui/assets/forth-dCg2_HVB.js +1 -0
- package/dist/apps/context-files-ui/assets/fortran-3ZpXLFh1.js +1 -0
- package/dist/apps/context-files-ui/assets/gas-DMmxLZRI.js +1 -0
- package/dist/apps/context-files-ui/assets/gherkin-DUSFg2R6.js +1 -0
- package/dist/apps/context-files-ui/assets/groovy-Cmduloe1.js +1 -0
- package/dist/apps/context-files-ui/assets/haskell-Cyr255R9.js +1 -0
- package/dist/apps/context-files-ui/assets/haxe-BJVKtprM.js +1 -0
- package/dist/apps/context-files-ui/assets/http-DszHFpc-.js +1 -0
- package/dist/apps/context-files-ui/assets/idl-Cati9Nrv.js +1 -0
- package/dist/apps/context-files-ui/assets/index-B92tL3Pp.css +1 -0
- package/dist/apps/context-files-ui/assets/index-BhAWD3dv.js +202 -0
- package/dist/apps/context-files-ui/assets/javascript-C5pDVaoP.js +1 -0
- package/dist/apps/context-files-ui/assets/julia-DlqY1cTU.js +1 -0
- package/dist/apps/context-files-ui/assets/livescript-C6p8-2W1.js +1 -0
- package/dist/apps/context-files-ui/assets/lua-BxuTHaF7.js +1 -0
- package/dist/apps/context-files-ui/assets/mathematica-nDHZUMJT.js +1 -0
- package/dist/apps/context-files-ui/assets/mbox-DAaR0Hcz.js +1 -0
- package/dist/apps/context-files-ui/assets/mirc-CCA0FRfl.js +1 -0
- package/dist/apps/context-files-ui/assets/mllike-Cw3Iccsb.js +1 -0
- package/dist/apps/context-files-ui/assets/modelica-Czx80fNR.js +1 -0
- package/dist/apps/context-files-ui/assets/mscgen-BmfuTbzG.js +1 -0
- package/dist/apps/context-files-ui/assets/mumps-Ds_ZaumL.js +1 -0
- package/dist/apps/context-files-ui/assets/nginx-D9M2PQ4U.js +1 -0
- package/dist/apps/context-files-ui/assets/nsis-DOo3SJmd.js +1 -0
- package/dist/apps/context-files-ui/assets/ntriples-DLHGTvHs.js +1 -0
- package/dist/apps/context-files-ui/assets/octave-8jj96JiC.js +1 -0
- package/dist/apps/context-files-ui/assets/oz-BmMq7iC4.js +1 -0
- package/dist/apps/context-files-ui/assets/pascal-BgMr6XpT.js +1 -0
- package/dist/apps/context-files-ui/assets/perl-D6YJObi_.js +1 -0
- package/dist/apps/context-files-ui/assets/pig-nx7uchs8.js +1 -0
- package/dist/apps/context-files-ui/assets/powershell-B4IPkVxR.js +1 -0
- package/dist/apps/context-files-ui/assets/properties-CoavQdLC.js +1 -0
- package/dist/apps/context-files-ui/assets/protobuf-D5EWhcmc.js +1 -0
- package/dist/apps/context-files-ui/assets/pug-QU72BPAa.js +1 -0
- package/dist/apps/context-files-ui/assets/puppet-B_0GFuyD.js +1 -0
- package/dist/apps/context-files-ui/assets/python-Cs7sNzy_.js +1 -0
- package/dist/apps/context-files-ui/assets/q-BIB9pPtI.js +1 -0
- package/dist/apps/context-files-ui/assets/r-CN5s4f3o.js +1 -0
- package/dist/apps/context-files-ui/assets/rpm-Ct_Ck8mQ.js +1 -0
- package/dist/apps/context-files-ui/assets/ruby-BVPradRk.js +1 -0
- package/dist/apps/context-files-ui/assets/sas-DN4j74IF.js +1 -0
- package/dist/apps/context-files-ui/assets/scheme-CvNgHAnh.js +1 -0
- package/dist/apps/context-files-ui/assets/shell-BjiMLAaM.js +1 -0
- package/dist/apps/context-files-ui/assets/sieve-C2U1O5Z4.js +1 -0
- package/dist/apps/context-files-ui/assets/simple-mode-DnMbQuKW.js +1 -0
- package/dist/apps/context-files-ui/assets/smalltalk-DkYwYufV.js +1 -0
- package/dist/apps/context-files-ui/assets/solr-BopnSD-v.js +1 -0
- package/dist/apps/context-files-ui/assets/sparql-Cpg3YQfd.js +1 -0
- package/dist/apps/context-files-ui/assets/spreadsheet-kRxtVt9J.js +1 -0
- package/dist/apps/context-files-ui/assets/sql-DYI2GwJR.js +1 -0
- package/dist/apps/context-files-ui/assets/stex-BCRT8IJ3.js +1 -0
- package/dist/apps/context-files-ui/assets/stylus-CARoeVE9.js +1 -0
- package/dist/apps/context-files-ui/assets/swift-DKNaLAK6.js +1 -0
- package/dist/apps/context-files-ui/assets/tcl-CQyXkgMH.js +1 -0
- package/dist/apps/context-files-ui/assets/textile-Yg_UWn-t.js +1 -0
- package/dist/apps/context-files-ui/assets/tiddlywiki-dqVbkfX4.js +1 -0
- package/dist/apps/context-files-ui/assets/tiki-CC_ic8g0.js +1 -0
- package/dist/apps/context-files-ui/assets/toml-B7gGzVkJ.js +1 -0
- package/dist/apps/context-files-ui/assets/troff-Bq3z6oAu.js +1 -0
- package/dist/apps/context-files-ui/assets/ttcn-GvRgs2AT.js +1 -0
- package/dist/apps/context-files-ui/assets/ttcn-cfg-CGCXz7Vo.js +1 -0
- package/dist/apps/context-files-ui/assets/turtle-CwIpz2yy.js +1 -0
- package/dist/apps/context-files-ui/assets/vb-BmcHUM2C.js +1 -0
- package/dist/apps/context-files-ui/assets/vbscript-Cs9dylre.js +1 -0
- package/dist/apps/context-files-ui/assets/velocity-CBWU0VCy.js +1 -0
- package/dist/apps/context-files-ui/assets/verilog-DVCHmufx.js +1 -0
- package/dist/apps/context-files-ui/assets/vhdl-BGDk4f1d.js +1 -0
- package/dist/apps/context-files-ui/assets/webidl-egXQEWlC.js +1 -0
- package/dist/apps/context-files-ui/assets/xquery-5f0hn7cg.js +1 -0
- package/dist/apps/context-files-ui/assets/yacas-DNs9XkmQ.js +1 -0
- package/dist/apps/context-files-ui/assets/z80-B7Dfb4UO.js +1 -0
- package/dist/apps/context-files-ui/index.html +14 -0
- package/dist/auth/better-auth.js +130 -0
- package/dist/auth/login-actions.js +251 -0
- package/dist/auth/openai-codex-usage.js +147 -0
- package/dist/auth/types.js +14 -0
- package/dist/bin/pibo.js +3 -0
- package/dist/bin/rg.js +15 -0
- package/dist/channels/types.js +1 -0
- package/dist/cli-errors.js +18 -0
- package/dist/cli-session/fakeSessionSource.js +804 -0
- package/dist/cli-session/index.js +3 -0
- package/dist/cli-session/localSessionSource.js +1144 -0
- package/dist/cli-session/sessionSource.js +13 -0
- package/dist/cli.js +491 -0
- package/dist/compute/cli.js +415 -0
- package/dist/compute/docker.js +835 -0
- package/dist/compute/resource-health.js +334 -0
- package/dist/compute/resource-policy.js +98 -0
- package/dist/config/config.js +180 -0
- package/dist/core/base-prompt.js +104 -0
- package/dist/core/codex-compat.js +44 -0
- package/dist/core/compaction-prompt.js +293 -0
- package/dist/core/context-build.js +711 -0
- package/dist/core/context-guard.js +293 -0
- package/dist/core/events.js +1 -0
- package/dist/core/gateway-resource-guard.js +215 -0
- package/dist/core/model-defaults.js +95 -0
- package/dist/core/pibo-home.js +8 -0
- package/dist/core/profiles.js +210 -0
- package/dist/core/provider-recovery.js +64 -0
- package/dist/core/provider-telemetry.js +353 -0
- package/dist/core/routed-session.js +1179 -0
- package/dist/core/runtime-telemetry.js +1059 -0
- package/dist/core/runtime.js +529 -0
- package/dist/core/session-errors.js +76 -0
- package/dist/core/session-model.js +39 -0
- package/dist/core/session-router.js +857 -0
- package/dist/core/skill-expansion.js +43 -0
- package/dist/core/system-prompt-template.js +56 -0
- package/dist/core/telemetry-retention-settings.js +34 -0
- package/dist/core/telemetry-staleness.js +128 -0
- package/dist/core/test-output-compaction.js +145 -0
- package/dist/core/thinking.js +9 -0
- package/dist/core/user-settings.js +84 -0
- package/dist/core/workspace.js +5 -0
- package/dist/core/wsl.js +100 -0
- package/dist/cron/channel.js +28 -0
- package/dist/cron/cli.js +230 -0
- package/dist/cron/plugin.js +11 -0
- package/dist/cron/schedule.js +214 -0
- package/dist/cron/service.js +177 -0
- package/dist/cron/store.js +349 -0
- package/dist/cron/types.js +1 -0
- package/dist/data/cli.js +184 -0
- package/dist/data/event-log.js +106 -0
- package/dist/data/ingest-service.js +389 -0
- package/dist/data/message-store.js +62 -0
- package/dist/data/navigation-store.js +75 -0
- package/dist/data/observation-store.js +46 -0
- package/dist/data/payload-store.js +153 -0
- package/dist/data/pibo-store.js +59 -0
- package/dist/data/schema.js +436 -0
- package/dist/data/session-store.js +63 -0
- package/dist/data/sqlite-schema.js +12 -0
- package/dist/data/telemetry-preview.js +65 -0
- package/dist/data/telemetry-queries.js +212 -0
- package/dist/data/telemetry-retention.js +50 -0
- package/dist/data/telemetry-rows.js +158 -0
- package/dist/data/telemetry-writer.js +114 -0
- package/dist/data/telemetry.js +471 -0
- package/dist/debug/delta-compaction.js +99 -0
- package/dist/debug/detail-format.js +86 -0
- package/dist/debug/events.js +212 -0
- package/dist/debug/failures.js +162 -0
- package/dist/debug/index.js +1296 -0
- package/dist/debug/messages.js +185 -0
- package/dist/debug/next-commands.js +6 -0
- package/dist/debug/payloads.js +123 -0
- package/dist/debug/pty.js +924 -0
- package/dist/debug/session.js +230 -0
- package/dist/debug/sql.js +238 -0
- package/dist/debug/stores.js +54 -0
- package/dist/debug/summary.js +72 -0
- package/dist/debug/telemetry.js +649 -0
- package/dist/debug/tools.js +168 -0
- package/dist/debug/trace-render-check.js +151 -0
- package/dist/debug/trace.js +370 -0
- package/dist/debug/web-artifacts.js +63 -0
- package/dist/debug/web-options.js +313 -0
- package/dist/debug/web-render-analysis.js +310 -0
- package/dist/debug/web-snapshot-browser-scripts.js +303 -0
- package/dist/debug/web-streaming-benchmark-analysis.js +605 -0
- package/dist/debug/web-streaming-browser-library.js +928 -0
- package/dist/debug/web-streaming-browser-scripts.js +242 -0
- package/dist/debug/web-streaming-provider-telemetry.js +194 -0
- package/dist/debug/web-streaming-report.js +493 -0
- package/dist/debug/web-streaming-types.js +1 -0
- package/dist/debug/web.js +574 -0
- package/dist/gateway/backup.js +83 -0
- package/dist/gateway/cli.js +632 -0
- package/dist/gateway/client.js +200 -0
- package/dist/gateway/fallback.js +155 -0
- package/dist/gateway/pidfile.js +130 -0
- package/dist/gateway/protocol.js +62 -0
- package/dist/gateway/request.js +155 -0
- package/dist/gateway/server.js +399 -0
- package/dist/gateway/tool.js +72 -0
- package/dist/gateway/web.js +224 -0
- package/dist/index.js +25 -0
- package/dist/local/client.js +77 -0
- package/dist/local/extension.js +551 -0
- package/dist/local/tui.js +25 -0
- package/dist/mcp/agent-context.js +127 -0
- package/dist/mcp/client.js +332 -0
- package/dist/mcp/commands/call.js +146 -0
- package/dist/mcp/commands/grep.js +145 -0
- package/dist/mcp/commands/info.js +83 -0
- package/dist/mcp/commands/list.js +94 -0
- package/dist/mcp/config-command.js +217 -0
- package/dist/mcp/config.js +473 -0
- package/dist/mcp/daemon-client.js +266 -0
- package/dist/mcp/daemon.js +327 -0
- package/dist/mcp/errors.js +287 -0
- package/dist/mcp/index.js +431 -0
- package/dist/mcp/output.js +226 -0
- package/dist/mcp/python-runtime.js +131 -0
- package/dist/mcp/registry.js +116 -0
- package/dist/mcp/version.js +5 -0
- package/dist/pi-packages/cli.js +92 -0
- package/dist/pi-packages/installer.js +70 -0
- package/dist/pi-packages/metadata.js +231 -0
- package/dist/pi-packages/runtime.js +61 -0
- package/dist/pi-packages/store.js +175 -0
- package/dist/pi-packages/types.js +1 -0
- package/dist/plugins/better-auth.js +11 -0
- package/dist/plugins/builtin.js +478 -0
- package/dist/plugins/chat-custom-agents.js +20 -0
- package/dist/plugins/chat-user-skills.js +41 -0
- package/dist/plugins/chat-vscode-web.js +28 -0
- package/dist/plugins/chat-web.js +11 -0
- package/dist/plugins/codex-compat.js +33 -0
- package/dist/plugins/context-files-store.js +354 -0
- package/dist/plugins/context-files.js +1081 -0
- package/dist/plugins/dev-auth.js +202 -0
- package/dist/plugins/native-tooling.js +15 -0
- package/dist/plugins/registry.js +436 -0
- package/dist/plugins/types.js +1 -0
- package/dist/plugins/web-annotations.js +27 -0
- package/dist/plugins/web.js +11 -0
- package/dist/providers/glm.js +59 -0
- package/dist/providers/minimax.js +70 -0
- package/dist/providers/openai-compat.js +48 -0
- package/dist/providers/openai-gpt56.js +153 -0
- package/dist/ralph/channel.js +8 -0
- package/dist/ralph/cli.js +197 -0
- package/dist/ralph/plugin.js +14 -0
- package/dist/ralph/service.js +317 -0
- package/dist/ralph/stopping.js +151 -0
- package/dist/ralph/store.js +450 -0
- package/dist/ralph/templates.js +200 -0
- package/dist/ralph/types.js +1 -0
- package/dist/reliability/store.js +775 -0
- package/dist/resources/cli.js +135 -0
- package/dist/resources/lifecycle.js +353 -0
- package/dist/resources/reaper-state.js +94 -0
- package/dist/resources/reaper.js +145 -0
- package/dist/runs/registry.js +360 -0
- package/dist/runs/tools.js +185 -0
- package/dist/session-ui/commandCatalog.js +193 -0
- package/dist/session-ui/commandResults.js +95 -0
- package/dist/session-ui/delegation.js +89 -0
- package/dist/session-ui/index.js +8 -0
- package/dist/session-ui/roomSessionViewModel.js +69 -0
- package/dist/session-ui/sessionActivity.js +30 -0
- package/dist/session-ui/statusViewModel.js +127 -0
- package/dist/session-ui/terminalCards.js +210 -0
- package/dist/session-ui/terminalRows.js +1163 -0
- package/dist/session-ui/terminalValue.js +45 -0
- package/dist/sessions/pibo-data-store.js +178 -0
- package/dist/sessions/sqlite-store.js +220 -0
- package/dist/sessions/store.js +132 -0
- package/dist/sessions/workflow-session-kind.js +20 -0
- package/dist/setup/cli.js +619 -0
- package/dist/shared/trace-async-agent-runs.js +127 -0
- package/dist/shared/trace-engine.js +97 -0
- package/dist/shared/trace-event-projection.js +789 -0
- package/dist/shared/trace-live-reducer.js +191 -0
- package/dist/shared/trace-nodes.js +88 -0
- package/dist/shared/trace-order.js +84 -0
- package/dist/shared/trace-page-merge.js +40 -0
- package/dist/shared/trace-patch-nodes.js +83 -0
- package/dist/shared/trace-run-notifications.js +69 -0
- package/dist/shared/trace-subagent-links.js +46 -0
- package/dist/shared/trace-transcript.js +371 -0
- package/dist/shared/trace-types.js +1 -0
- package/dist/signals/aggregate.js +65 -0
- package/dist/signals/events.js +1 -0
- package/dist/signals/projector.js +208 -0
- package/dist/signals/registry.js +577 -0
- package/dist/signals/status.js +12 -0
- package/dist/signals/store.js +1 -0
- package/dist/signals/types.js +1 -0
- package/dist/skills/cli.js +151 -0
- package/dist/subagents/tool.js +63 -0
- package/dist/tools/agent-browser-leases.js +219 -0
- package/dist/tools/agent-browser-wrapper.js +99 -0
- package/dist/tools/browser-pool.js +623 -0
- package/dist/tools/browser-use-cdp.js +259 -0
- package/dist/tools/browser-use-leases.js +516 -0
- package/dist/tools/browser-use-wrapper.js +781 -0
- package/dist/tools/cdp-client.js +189 -0
- package/dist/tools/codex-compat.js +85 -0
- package/dist/tools/codex-image-generation.js +272 -0
- package/dist/tools/desktop-env.js +99 -0
- package/dist/tools/guides.js +563 -0
- package/dist/tools/index.js +1020 -0
- package/dist/tools/linux-virtual-display.js +58 -0
- package/dist/tools/npm-runtime.js +136 -0
- package/dist/tools/python-runtime.js +183 -0
- package/dist/tools/registry.js +237 -0
- package/dist/tools/runtime/index.js +3 -0
- package/dist/tools/runtime/node-backend.js +225 -0
- package/dist/tools/runtime/node-worker-source.js +206 -0
- package/dist/tools/runtime/python-backend.js +227 -0
- package/dist/tools/runtime/python-worker-source.js +178 -0
- package/dist/tools/runtime/registry.js +255 -0
- package/dist/tools/runtime/tool.js +168 -0
- package/dist/tools/runtime/types.js +1 -0
- package/dist/tools/web-search.js +138 -0
- package/dist/user-skills/installer.js +214 -0
- package/dist/user-skills/manager.js +133 -0
- package/dist/user-skills/store.js +267 -0
- package/dist/user-skills/types.js +1 -0
- package/dist/vscode/cli.js +90 -0
- package/dist/vscode/code-cli.js +119 -0
- package/dist/vscode/install.js +177 -0
- package/dist/vscode/status.js +80 -0
- package/dist/vscode/types.js +14 -0
- package/dist/vscode/uninstall.js +49 -0
- package/dist/vscode/vsix-fetcher.js +131 -0
- package/dist/web/auth.js +14 -0
- package/dist/web/channel.js +288 -0
- package/dist/web/http.js +195 -0
- package/dist/web/types.js +1 -0
- package/dist/web-annotations/api.js +348 -0
- package/dist/web-annotations/attachments.js +201 -0
- package/dist/web-annotations/cdp.js +1107 -0
- package/dist/web-annotations/index.js +7 -0
- package/dist/web-annotations/store.js +407 -0
- package/dist/web-annotations/tools.js +350 -0
- package/dist/web-annotations/types.js +34 -0
- package/dist/web-annotations/validation.js +288 -0
- 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
|
@@ -1,160 +1,160 @@
|
|
|
1
|
-
# Pibo VS Code Extension Release Runbook
|
|
2
|
-
|
|
3
|
-
The Pibo VS Code extension is shipped as a `.vsix` artifact. This runbook describes the end-to-end release process and the split of responsibilities between the maintainer and the `pibo` release script.
|
|
4
|
-
|
|
5
|
-
## Distribution channels
|
|
6
|
-
|
|
7
|
-
The extension is published through two channels that are intentionally separate:
|
|
8
|
-
|
|
9
|
-
| Channel | Owner | Cadence | What it carries |
|
|
10
|
-
|---|---|---|---|
|
|
11
|
-
| npm `@pasko70/pibo` | automated via `npm publish` (or the release script's `--publish-npm` flag) | every `main` commit that includes a version bump | the `pibo` CLI, the gateway, the WebView bundle at `dist/apps/chat-vscode-web/` |
|
|
12
|
-
| VS Code Marketplace `pibo.pibo-vscode` | **maintainer uploads the VSIX manually** via <https://marketplace.visualstudio.com/manage> | every release that needs the extension UI updated | the `.vsix` produced by `npm run vscode:package` |
|
|
13
|
-
|
|
14
|
-
The npm package and the Marketplace extension are versioned together. The release script bumps both `package.json` (npm) and `src/apps/chat-vscode/package.json` (extension) in one go so the published artifacts stay in lockstep.
|
|
15
|
-
|
|
16
|
-
`pibo vscode install` (new since the distribution rework) downloads the VSIX from the GitHub Release for the configured repo (`Pascapone/pibo` by default). When the maintainer also uploads the same VSIX to the Marketplace, both channels serve identical bytes.
|
|
17
|
-
|
|
18
|
-
## Versioning
|
|
19
|
-
|
|
20
|
-
- The root `package.json#version` is the npm version. It follows [SemVer](https://semver.org/).
|
|
21
|
-
- The extension's `src/apps/chat-vscode/package.json#version` is the Marketplace version. It is kept equal to the npm version (the release script enforces this).
|
|
22
|
-
- A SemVer **minor** bump (e.g., `1.2.0` → `1.3.0`) is appropriate when the change is additive and backward-compatible. The distribution rework itself is a minor bump: existing `pibo` users are unaffected, and the new `pibo vscode install` command is opt-in.
|
|
23
|
-
- A SemVer **major** bump is reserved for breaking changes to either the public CLI surface or the WebView host↔Web postMessage contract.
|
|
24
|
-
|
|
25
|
-
## Release steps
|
|
26
|
-
|
|
27
|
-
The release script does the heavy lifting. The maintainer's job is to review, commit, and push.
|
|
28
|
-
|
|
29
|
-
### 1. Pick the version
|
|
30
|
-
|
|
31
|
-
Decide on the next version. For the distribution rework that introduces `pibo vscode install`, the right bump is `1.2.0` → `1.3.0` (new CLI command, new marketplace-ready extension, no breaking changes).
|
|
32
|
-
|
|
33
|
-
### 2. Bump + build + package (local)
|
|
34
|
-
|
|
35
|
-
From the repo root:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
node scripts/release.mjs --version 1.3.0
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
The script:
|
|
42
|
-
|
|
43
|
-
1. Reads the current version from both `package.json` files.
|
|
44
|
-
2. Writes the new version to both files.
|
|
45
|
-
3. Runs `npm run build` (which includes the WebView build).
|
|
46
|
-
4. Runs `npm run vscode:package` to produce `dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix` and a stable `latest.vsix` copy.
|
|
47
|
-
5. Prints the VSIX path and size.
|
|
48
|
-
|
|
49
|
-
The script does **not** push to git or create a tag. The maintainer reviews the diff and commits it.
|
|
50
|
-
|
|
51
|
-
### 3. Commit and tag
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
git add package.json src/apps/chat-vscode/package.json
|
|
55
|
-
git commit -m "chore(release): bump @pasko70/pibo and pibo.pibo-vscode to 1.3.0"
|
|
56
|
-
git tag -a v1.3.0 -m "@pasko70/pibo 1.3.0"
|
|
57
|
-
git push origin main
|
|
58
|
-
git push origin v1.3.0
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### 4. Create a GitHub Release with the VSIX attached
|
|
62
|
-
|
|
63
|
-
The maintainer's local machine has the `gh` CLI installed:
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
gh release create v1.3.0 \
|
|
67
|
-
dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix \
|
|
68
|
-
--title "pibo 1.3.0" \
|
|
69
|
-
--notes "..."
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
In environments where `gh` is not available (e.g. the pibo compute workers),
|
|
73
|
-
`scripts/create-github-release.mjs` performs the same action via the Pibo
|
|
74
|
-
GitHub App, which has been installed on `Pascapone/pibo` with the
|
|
75
|
-
`contents: write` scope. The script accepts the GitHub App credentials from
|
|
76
|
-
`PIBO_GITHUB_APP_ID` and `PIBO_GITHUB_APP_KEY` environment variables, or
|
|
77
|
-
from the well-known env file at
|
|
78
|
-
`/root/.pibo/uploads/github-app.env` (with the PEM key auto-discovered
|
|
79
|
-
next to it).
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
node scripts/create-github-release.mjs \
|
|
83
|
-
--tag v1.3.0 \
|
|
84
|
-
--asset dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Both paths make the VSIX downloadable from a stable URL
|
|
88
|
-
(`https://github.com/Pascapone/pibo/releases/download/v1.3.0/pibo-vscode-1.3.0.vsix`).
|
|
89
|
-
The `pibo vscode install` command uses the GitHub Releases API to discover
|
|
90
|
-
this URL automatically.
|
|
91
|
-
|
|
92
|
-
The release script can also do this in one step:
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
node scripts/release.mjs --version 1.3.0 --create-release
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
…if the tag has already been pushed. Internally the release script calls
|
|
99
|
-
`scripts/create-github-release.mjs`, so it works in worker environments
|
|
100
|
-
without `gh`.
|
|
101
|
-
|
|
102
|
-
### 5. Publish the npm package
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
npm publish
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
Or, in one go with the release script:
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
node scripts/release.mjs --version 1.3.0 --publish-npm --create-release
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
The publish step uploads the `pibo` CLI, the gateway plugins, and the WebView bundle. The Marketplace upload is intentionally **not** automated — see step 6.
|
|
115
|
-
|
|
116
|
-
### 6. Upload the VSIX to the VS Code Marketplace (manual)
|
|
117
|
-
|
|
118
|
-
The Marketplace does not currently accept a Personal Access Token from this account (Azure-side provisioning issue). The release is therefore finished by uploading the VSIX through the Marketplace web UI:
|
|
119
|
-
|
|
120
|
-
1. Open <https://marketplace.visualstudio.com/manage>.
|
|
121
|
-
2. Pick the publisher `pibo` (created during the first marketplace publish).
|
|
122
|
-
3. Click **Upload new extension** and select `dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix`.
|
|
123
|
-
4. The Marketplace validates the manifest and publishes the extension. The publisher ID is `pibo.pibo-vscode`.
|
|
124
|
-
|
|
125
|
-
After the upload, `code --install-extension pibo.pibo-vscode` works for end users.
|
|
126
|
-
|
|
127
|
-
### 7. Verify
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
pibo vscode install --vsix dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix
|
|
131
|
-
pibo vscode status
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
Confirm that `status` reports `pibo.pibo-vscode@1.3.0` installed via the expected `code` binary, and that the WebView loads the gateway at `http://127.0.0.1:4788/apps/chat-vscode/`.
|
|
135
|
-
|
|
136
|
-
## Rollback
|
|
137
|
-
|
|
138
|
-
If a release is broken:
|
|
139
|
-
|
|
140
|
-
- **npm**: `npm unpublish @pasko70/pibo@1.3.0` works only within 72 hours of publish. After that, publish `1.3.1` with a fix.
|
|
141
|
-
- **VSIX via `pibo vscode install`**: delete the GitHub Release and re-create it with a fixed VSIX. Users who have already installed the extension will not auto-update until they run `pibo vscode install` again.
|
|
142
|
-
- **Marketplace**: the Marketplace UI supports un-publishing or un-listing. For a fast fix, upload a corrected `.vsix` with the same version (the Marketplace accepts a re-upload before processing the original).
|
|
143
|
-
|
|
144
|
-
## What ships in the `pibo` npm package
|
|
145
|
-
|
|
146
|
-
The `files` whitelist in `package.json` controls what is published:
|
|
147
|
-
|
|
148
|
-
- `dist/` — the compiled server, the gateway plugins, the WebView bundles (chat-ui, context-files-ui, chat-vscode-web).
|
|
149
|
-
- `context/` — the bundled agent skills.
|
|
150
|
-
- `skills/builtin/**` — built-in user skills.
|
|
151
|
-
- `docs/ops/**` — operator runbooks.
|
|
152
|
-
- `README.md` and `src/mcp/LICENSE.mcp-cli`.
|
|
153
|
-
|
|
154
|
-
The `.vsix` is **not** in the npm package. It lives on the GitHub Release and (after the maintainer uploads it) on the VS Code Marketplace.
|
|
155
|
-
|
|
156
|
-
## Why the WebView bundle is in the npm package
|
|
157
|
-
|
|
158
|
-
The extension's WebView loads from `http://<gateway>/apps/chat-vscode/`, not from the `.vsix`. The gateway serves the bundle out of `dist/apps/chat-vscode-web/`. If the bundle were not in the npm package, the gateway would return 404 for the WebView and the extension would be unusable.
|
|
159
|
-
|
|
160
|
-
Including the bundle in npm costs about 1 MB of disk per `pibo` install and zero runtime cost for users who never open the extension. Users who only use the `pibo` CLI never load the bundle.
|
|
1
|
+
# Pibo VS Code Extension Release Runbook
|
|
2
|
+
|
|
3
|
+
The Pibo VS Code extension is shipped as a `.vsix` artifact. This runbook describes the end-to-end release process and the split of responsibilities between the maintainer and the `pibo` release script.
|
|
4
|
+
|
|
5
|
+
## Distribution channels
|
|
6
|
+
|
|
7
|
+
The extension is published through two channels that are intentionally separate:
|
|
8
|
+
|
|
9
|
+
| Channel | Owner | Cadence | What it carries |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| npm `@pasko70/pibo` | automated via `npm publish` (or the release script's `--publish-npm` flag) | every `main` commit that includes a version bump | the `pibo` CLI, the gateway, the WebView bundle at `dist/apps/chat-vscode-web/` |
|
|
12
|
+
| VS Code Marketplace `pibo.pibo-vscode` | **maintainer uploads the VSIX manually** via <https://marketplace.visualstudio.com/manage> | every release that needs the extension UI updated | the `.vsix` produced by `npm run vscode:package` |
|
|
13
|
+
|
|
14
|
+
The npm package and the Marketplace extension are versioned together. The release script bumps both `package.json` (npm) and `src/apps/chat-vscode/package.json` (extension) in one go so the published artifacts stay in lockstep.
|
|
15
|
+
|
|
16
|
+
`pibo vscode install` (new since the distribution rework) downloads the VSIX from the GitHub Release for the configured repo (`Pascapone/pibo` by default). When the maintainer also uploads the same VSIX to the Marketplace, both channels serve identical bytes.
|
|
17
|
+
|
|
18
|
+
## Versioning
|
|
19
|
+
|
|
20
|
+
- The root `package.json#version` is the npm version. It follows [SemVer](https://semver.org/).
|
|
21
|
+
- The extension's `src/apps/chat-vscode/package.json#version` is the Marketplace version. It is kept equal to the npm version (the release script enforces this).
|
|
22
|
+
- A SemVer **minor** bump (e.g., `1.2.0` → `1.3.0`) is appropriate when the change is additive and backward-compatible. The distribution rework itself is a minor bump: existing `pibo` users are unaffected, and the new `pibo vscode install` command is opt-in.
|
|
23
|
+
- A SemVer **major** bump is reserved for breaking changes to either the public CLI surface or the WebView host↔Web postMessage contract.
|
|
24
|
+
|
|
25
|
+
## Release steps
|
|
26
|
+
|
|
27
|
+
The release script does the heavy lifting. The maintainer's job is to review, commit, and push.
|
|
28
|
+
|
|
29
|
+
### 1. Pick the version
|
|
30
|
+
|
|
31
|
+
Decide on the next version. For the distribution rework that introduces `pibo vscode install`, the right bump is `1.2.0` → `1.3.0` (new CLI command, new marketplace-ready extension, no breaking changes).
|
|
32
|
+
|
|
33
|
+
### 2. Bump + build + package (local)
|
|
34
|
+
|
|
35
|
+
From the repo root:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
node scripts/release.mjs --version 1.3.0
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The script:
|
|
42
|
+
|
|
43
|
+
1. Reads the current version from both `package.json` files.
|
|
44
|
+
2. Writes the new version to both files.
|
|
45
|
+
3. Runs `npm run build` (which includes the WebView build).
|
|
46
|
+
4. Runs `npm run vscode:package` to produce `dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix` and a stable `latest.vsix` copy.
|
|
47
|
+
5. Prints the VSIX path and size.
|
|
48
|
+
|
|
49
|
+
The script does **not** push to git or create a tag. The maintainer reviews the diff and commits it.
|
|
50
|
+
|
|
51
|
+
### 3. Commit and tag
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
git add package.json src/apps/chat-vscode/package.json
|
|
55
|
+
git commit -m "chore(release): bump @pasko70/pibo and pibo.pibo-vscode to 1.3.0"
|
|
56
|
+
git tag -a v1.3.0 -m "@pasko70/pibo 1.3.0"
|
|
57
|
+
git push origin main
|
|
58
|
+
git push origin v1.3.0
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 4. Create a GitHub Release with the VSIX attached
|
|
62
|
+
|
|
63
|
+
The maintainer's local machine has the `gh` CLI installed:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
gh release create v1.3.0 \
|
|
67
|
+
dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix \
|
|
68
|
+
--title "pibo 1.3.0" \
|
|
69
|
+
--notes "..."
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
In environments where `gh` is not available (e.g. the pibo compute workers),
|
|
73
|
+
`scripts/create-github-release.mjs` performs the same action via the Pibo
|
|
74
|
+
GitHub App, which has been installed on `Pascapone/pibo` with the
|
|
75
|
+
`contents: write` scope. The script accepts the GitHub App credentials from
|
|
76
|
+
`PIBO_GITHUB_APP_ID` and `PIBO_GITHUB_APP_KEY` environment variables, or
|
|
77
|
+
from the well-known env file at
|
|
78
|
+
`/root/.pibo/uploads/github-app.env` (with the PEM key auto-discovered
|
|
79
|
+
next to it).
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
node scripts/create-github-release.mjs \
|
|
83
|
+
--tag v1.3.0 \
|
|
84
|
+
--asset dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Both paths make the VSIX downloadable from a stable URL
|
|
88
|
+
(`https://github.com/Pascapone/pibo/releases/download/v1.3.0/pibo-vscode-1.3.0.vsix`).
|
|
89
|
+
The `pibo vscode install` command uses the GitHub Releases API to discover
|
|
90
|
+
this URL automatically.
|
|
91
|
+
|
|
92
|
+
The release script can also do this in one step:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
node scripts/release.mjs --version 1.3.0 --create-release
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
…if the tag has already been pushed. Internally the release script calls
|
|
99
|
+
`scripts/create-github-release.mjs`, so it works in worker environments
|
|
100
|
+
without `gh`.
|
|
101
|
+
|
|
102
|
+
### 5. Publish the npm package
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
npm publish
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Or, in one go with the release script:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
node scripts/release.mjs --version 1.3.0 --publish-npm --create-release
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
The publish step uploads the `pibo` CLI, the gateway plugins, and the WebView bundle. The Marketplace upload is intentionally **not** automated — see step 6.
|
|
115
|
+
|
|
116
|
+
### 6. Upload the VSIX to the VS Code Marketplace (manual)
|
|
117
|
+
|
|
118
|
+
The Marketplace does not currently accept a Personal Access Token from this account (Azure-side provisioning issue). The release is therefore finished by uploading the VSIX through the Marketplace web UI:
|
|
119
|
+
|
|
120
|
+
1. Open <https://marketplace.visualstudio.com/manage>.
|
|
121
|
+
2. Pick the publisher `pibo` (created during the first marketplace publish).
|
|
122
|
+
3. Click **Upload new extension** and select `dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix`.
|
|
123
|
+
4. The Marketplace validates the manifest and publishes the extension. The publisher ID is `pibo.pibo-vscode`.
|
|
124
|
+
|
|
125
|
+
After the upload, `code --install-extension pibo.pibo-vscode` works for end users.
|
|
126
|
+
|
|
127
|
+
### 7. Verify
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
pibo vscode install --vsix dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix
|
|
131
|
+
pibo vscode status
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Confirm that `status` reports `pibo.pibo-vscode@1.3.0` installed via the expected `code` binary, and that the WebView loads the gateway at `http://127.0.0.1:4788/apps/chat-vscode/`.
|
|
135
|
+
|
|
136
|
+
## Rollback
|
|
137
|
+
|
|
138
|
+
If a release is broken:
|
|
139
|
+
|
|
140
|
+
- **npm**: `npm unpublish @pasko70/pibo@1.3.0` works only within 72 hours of publish. After that, publish `1.3.1` with a fix.
|
|
141
|
+
- **VSIX via `pibo vscode install`**: delete the GitHub Release and re-create it with a fixed VSIX. Users who have already installed the extension will not auto-update until they run `pibo vscode install` again.
|
|
142
|
+
- **Marketplace**: the Marketplace UI supports un-publishing or un-listing. For a fast fix, upload a corrected `.vsix` with the same version (the Marketplace accepts a re-upload before processing the original).
|
|
143
|
+
|
|
144
|
+
## What ships in the `pibo` npm package
|
|
145
|
+
|
|
146
|
+
The `files` whitelist in `package.json` controls what is published:
|
|
147
|
+
|
|
148
|
+
- `dist/` — the compiled server, the gateway plugins, the WebView bundles (chat-ui, context-files-ui, chat-vscode-web).
|
|
149
|
+
- `context/` — the bundled agent skills.
|
|
150
|
+
- `skills/builtin/**` — built-in user skills.
|
|
151
|
+
- `docs/ops/**` — operator runbooks.
|
|
152
|
+
- `README.md` and `src/mcp/LICENSE.mcp-cli`.
|
|
153
|
+
|
|
154
|
+
The `.vsix` is **not** in the npm package. It lives on the GitHub Release and (after the maintainer uploads it) on the VS Code Marketplace.
|
|
155
|
+
|
|
156
|
+
## Why the WebView bundle is in the npm package
|
|
157
|
+
|
|
158
|
+
The extension's WebView loads from `http://<gateway>/apps/chat-vscode/`, not from the `.vsix`. The gateway serves the bundle out of `dist/apps/chat-vscode-web/`. If the bundle were not in the npm package, the gateway would return 404 for the WebView and the extension would be unusable.
|
|
159
|
+
|
|
160
|
+
Including the bundle in npm costs about 1 MB of disk per `pibo` install and zero runtime cost for users who never open the extension. Users who only use the `pibo` CLI never load the bundle.
|
package/package.json
CHANGED
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@pasko70/pibo",
|
|
3
|
-
"version": "1.9.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"imports": {
|
|
6
|
-
"vscode": "./src/apps/chat-vscode/extension/src/vscode-shim.js"
|
|
7
|
-
},
|
|
8
|
-
"description": "Minimal TypeScript wrapper around Pi Coding Agent.",
|
|
9
|
-
"files": [
|
|
10
|
-
"dist",
|
|
11
|
-
"context",
|
|
12
|
-
"skills/builtin/**",
|
|
13
|
-
"docs/ops/**",
|
|
14
|
-
"README.md",
|
|
15
|
-
"src/mcp/LICENSE.mcp-cli"
|
|
16
|
-
],
|
|
17
|
-
"bin": {
|
|
18
|
-
"pibo": "dist/bin/pibo.js",
|
|
19
|
-
"rg": "dist/bin/rg.js"
|
|
20
|
-
},
|
|
21
|
-
"engines": {
|
|
22
|
-
"node": ">=24"
|
|
23
|
-
},
|
|
24
|
-
"scripts": {
|
|
25
|
-
"dev": "tsx src/bin/pibo.ts",
|
|
26
|
-
"profile": "tsx src/bin/pibo.ts profile",
|
|
27
|
-
"tui": "tsx src/bin/pibo.ts tui",
|
|
28
|
-
"tui:routed": "tsx src/bin/pibo.ts tui:routed",
|
|
29
|
-
"tui:gateway": "tsx src/bin/pibo.ts tui gateway-producer",
|
|
30
|
-
"gateway": "tsx src/bin/pibo.ts gateway",
|
|
31
|
-
"gateway:web": "npm run web-ui:build && tsx src/bin/pibo.ts gateway:web",
|
|
32
|
-
"client": "tsx src/bin/pibo.ts client",
|
|
33
|
-
"chat-ui:build": "vite build --config src/apps/chat-ui/vite.config.ts",
|
|
34
|
-
"chat-ui:typecheck": "tsc -p src/apps/chat-ui/tsconfig.json --noEmit",
|
|
35
|
-
"context-files-ui:build": "vite build --config src/apps/context-files-ui/vite.config.ts",
|
|
36
|
-
"context-files-ui:typecheck": "tsc -p src/apps/context-files-ui/tsconfig.json --noEmit",
|
|
37
|
-
"web-ui:build": "npm run chat-ui:build && npm run context-files-ui:build",
|
|
38
|
-
"vscode:typecheck": "tsc -p src/apps/chat-vscode/extension/tsconfig.json --noEmit && tsc -p src/apps/chat-vscode/extension/webview/tsconfig.json --noEmit",
|
|
39
|
-
"vscode:webview:build": "vite build --config src/apps/chat-vscode/extension/webview/vite.config.ts",
|
|
40
|
-
"vscode:extension:build": "esbuild src/apps/chat-vscode/extension/src/extension.ts --bundle --platform=node --target=node24 --format=cjs --outfile=src/apps/chat-vscode/dist/extension/extension.cjs --external:vscode --sourcemap=inline",
|
|
41
|
-
"vscode:package": "node scripts/vscode-package.mjs",
|
|
42
|
-
"release": "node scripts/release.mjs",
|
|
43
|
-
"release:github": "node scripts/create-github-release.mjs",
|
|
44
|
-
"build": "tsc -p tsconfig.json && npm run web-ui:build && npm run vscode:webview:build && node scripts/ensure-bin-executable.mjs",
|
|
45
|
-
"start": "node dist/bin/pibo.js",
|
|
46
|
-
"test": "npm run build && node --test test/*.test.mjs test/chat-vscode/*.test.mjs",
|
|
47
|
-
"check:product-vocab": "node scripts/legacy-product-vocabulary-gate.mjs",
|
|
48
|
-
"validate:ink-web-derived": "node scripts/ink-cli-web-derived-parity-validate.mjs",
|
|
49
|
-
"compute:limited-worker-smoke": "node scripts/compute-limited-worker-smoke.mjs",
|
|
50
|
-
"typecheck": "tsc -p tsconfig.json --noEmit && npm run chat-ui:typecheck && npm run context-files-ui:typecheck && npm run vscode:typecheck",
|
|
51
|
-
"clean": "node -e \"fs.rmSync('dist', { recursive: true, force: true })\"",
|
|
52
|
-
"prepack": "npm run build"
|
|
53
|
-
},
|
|
54
|
-
"dependencies": {
|
|
55
|
-
"@earendil-works/pi-agent-core": "0.80.6",
|
|
56
|
-
"@earendil-works/pi-ai": "0.80.6",
|
|
57
|
-
"@earendil-works/pi-coding-agent": "0.80.6",
|
|
58
|
-
"@earendil-works/pi-tui": "0.80.6",
|
|
59
|
-
"@mdxeditor/editor": "^3.55.0",
|
|
60
|
-
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
61
|
-
"@tailwindcss/vite": "^4.2.4",
|
|
62
|
-
"@tanstack/react-query": "^5.100.7",
|
|
63
|
-
"@tanstack/react-router": "^1.168.25",
|
|
64
|
-
"@tanstack/react-start": "^1.167.50",
|
|
65
|
-
"@uiw/react-json-view": "^2.0.0-alpha.41",
|
|
66
|
-
"@vscode/ripgrep": "^1.18.0",
|
|
67
|
-
"@xyflow/react": "12.10.2",
|
|
68
|
-
"better-auth": "^1.6.9",
|
|
69
|
-
"commander": "^14.0.3",
|
|
70
|
-
"ink": "^7.0.3",
|
|
71
|
-
"lexical": "^0.35.0",
|
|
72
|
-
"lucide-react": "^0.545.0",
|
|
73
|
-
"prismjs": "^1.30.0",
|
|
74
|
-
"react": "^19.2.5",
|
|
75
|
-
"react-dom": "^19.2.5",
|
|
76
|
-
"react-markdown": "^10.1.0",
|
|
77
|
-
"react-virtuoso": "^4.18.6",
|
|
78
|
-
"remark-gfm": "^4.0.1",
|
|
79
|
-
"tailwindcss": "^4.2.4"
|
|
80
|
-
},
|
|
81
|
-
"devDependencies": {
|
|
82
|
-
"@tanstack/router-plugin": "^1.167.28",
|
|
83
|
-
"@types/node": "^25.6.0",
|
|
84
|
-
"@types/prismjs": "^1.26.6",
|
|
85
|
-
"@types/react": "^19.2.14",
|
|
86
|
-
"@types/react-dom": "^19.2.3",
|
|
87
|
-
"@vitejs/plugin-react": "^6.0.1",
|
|
88
|
-
"@vscode/vsce": "^3.6.0",
|
|
89
|
-
"esbuild": "^0.27.7",
|
|
90
|
-
"tsx": "^4.21.0",
|
|
91
|
-
"typescript": "^6.0.3",
|
|
92
|
-
"vite": "^8.0.10",
|
|
93
|
-
"vite-tsconfig-paths": "^5.1.4"
|
|
94
|
-
}
|
|
95
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@pasko70/pibo",
|
|
3
|
+
"version": "1.9.11",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"imports": {
|
|
6
|
+
"vscode": "./src/apps/chat-vscode/extension/src/vscode-shim.js"
|
|
7
|
+
},
|
|
8
|
+
"description": "Minimal TypeScript wrapper around Pi Coding Agent.",
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"context",
|
|
12
|
+
"skills/builtin/**",
|
|
13
|
+
"docs/ops/**",
|
|
14
|
+
"README.md",
|
|
15
|
+
"src/mcp/LICENSE.mcp-cli"
|
|
16
|
+
],
|
|
17
|
+
"bin": {
|
|
18
|
+
"pibo": "dist/bin/pibo.js",
|
|
19
|
+
"rg": "dist/bin/rg.js"
|
|
20
|
+
},
|
|
21
|
+
"engines": {
|
|
22
|
+
"node": ">=24"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"dev": "tsx src/bin/pibo.ts",
|
|
26
|
+
"profile": "tsx src/bin/pibo.ts profile",
|
|
27
|
+
"tui": "tsx src/bin/pibo.ts tui",
|
|
28
|
+
"tui:routed": "tsx src/bin/pibo.ts tui:routed",
|
|
29
|
+
"tui:gateway": "tsx src/bin/pibo.ts tui gateway-producer",
|
|
30
|
+
"gateway": "tsx src/bin/pibo.ts gateway",
|
|
31
|
+
"gateway:web": "npm run web-ui:build && tsx src/bin/pibo.ts gateway:web",
|
|
32
|
+
"client": "tsx src/bin/pibo.ts client",
|
|
33
|
+
"chat-ui:build": "vite build --config src/apps/chat-ui/vite.config.ts",
|
|
34
|
+
"chat-ui:typecheck": "tsc -p src/apps/chat-ui/tsconfig.json --noEmit",
|
|
35
|
+
"context-files-ui:build": "vite build --config src/apps/context-files-ui/vite.config.ts",
|
|
36
|
+
"context-files-ui:typecheck": "tsc -p src/apps/context-files-ui/tsconfig.json --noEmit",
|
|
37
|
+
"web-ui:build": "npm run chat-ui:build && npm run context-files-ui:build",
|
|
38
|
+
"vscode:typecheck": "tsc -p src/apps/chat-vscode/extension/tsconfig.json --noEmit && tsc -p src/apps/chat-vscode/extension/webview/tsconfig.json --noEmit",
|
|
39
|
+
"vscode:webview:build": "vite build --config src/apps/chat-vscode/extension/webview/vite.config.ts",
|
|
40
|
+
"vscode:extension:build": "esbuild src/apps/chat-vscode/extension/src/extension.ts --bundle --platform=node --target=node24 --format=cjs --outfile=src/apps/chat-vscode/dist/extension/extension.cjs --external:vscode --sourcemap=inline",
|
|
41
|
+
"vscode:package": "node scripts/vscode-package.mjs",
|
|
42
|
+
"release": "node scripts/release.mjs",
|
|
43
|
+
"release:github": "node scripts/create-github-release.mjs",
|
|
44
|
+
"build": "tsc -p tsconfig.json && npm run web-ui:build && npm run vscode:webview:build && node scripts/ensure-bin-executable.mjs",
|
|
45
|
+
"start": "node dist/bin/pibo.js",
|
|
46
|
+
"test": "npm run build && node --test test/*.test.mjs test/chat-vscode/*.test.mjs",
|
|
47
|
+
"check:product-vocab": "node scripts/legacy-product-vocabulary-gate.mjs",
|
|
48
|
+
"validate:ink-web-derived": "node scripts/ink-cli-web-derived-parity-validate.mjs",
|
|
49
|
+
"compute:limited-worker-smoke": "node scripts/compute-limited-worker-smoke.mjs",
|
|
50
|
+
"typecheck": "tsc -p tsconfig.json --noEmit && npm run chat-ui:typecheck && npm run context-files-ui:typecheck && npm run vscode:typecheck",
|
|
51
|
+
"clean": "node -e \"fs.rmSync('dist', { recursive: true, force: true })\"",
|
|
52
|
+
"prepack": "npm run build"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@earendil-works/pi-agent-core": "0.80.6",
|
|
56
|
+
"@earendil-works/pi-ai": "0.80.6",
|
|
57
|
+
"@earendil-works/pi-coding-agent": "0.80.6",
|
|
58
|
+
"@earendil-works/pi-tui": "0.80.6",
|
|
59
|
+
"@mdxeditor/editor": "^3.55.0",
|
|
60
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
61
|
+
"@tailwindcss/vite": "^4.2.4",
|
|
62
|
+
"@tanstack/react-query": "^5.100.7",
|
|
63
|
+
"@tanstack/react-router": "^1.168.25",
|
|
64
|
+
"@tanstack/react-start": "^1.167.50",
|
|
65
|
+
"@uiw/react-json-view": "^2.0.0-alpha.41",
|
|
66
|
+
"@vscode/ripgrep": "^1.18.0",
|
|
67
|
+
"@xyflow/react": "12.10.2",
|
|
68
|
+
"better-auth": "^1.6.9",
|
|
69
|
+
"commander": "^14.0.3",
|
|
70
|
+
"ink": "^7.0.3",
|
|
71
|
+
"lexical": "^0.35.0",
|
|
72
|
+
"lucide-react": "^0.545.0",
|
|
73
|
+
"prismjs": "^1.30.0",
|
|
74
|
+
"react": "^19.2.5",
|
|
75
|
+
"react-dom": "^19.2.5",
|
|
76
|
+
"react-markdown": "^10.1.0",
|
|
77
|
+
"react-virtuoso": "^4.18.6",
|
|
78
|
+
"remark-gfm": "^4.0.1",
|
|
79
|
+
"tailwindcss": "^4.2.4"
|
|
80
|
+
},
|
|
81
|
+
"devDependencies": {
|
|
82
|
+
"@tanstack/router-plugin": "^1.167.28",
|
|
83
|
+
"@types/node": "^25.6.0",
|
|
84
|
+
"@types/prismjs": "^1.26.6",
|
|
85
|
+
"@types/react": "^19.2.14",
|
|
86
|
+
"@types/react-dom": "^19.2.3",
|
|
87
|
+
"@vitejs/plugin-react": "^6.0.1",
|
|
88
|
+
"@vscode/vsce": "^3.6.0",
|
|
89
|
+
"esbuild": "^0.27.7",
|
|
90
|
+
"tsx": "^4.21.0",
|
|
91
|
+
"typescript": "^6.0.3",
|
|
92
|
+
"vite": "^8.0.10",
|
|
93
|
+
"vite-tsconfig-paths": "^5.1.4"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: graphify
|
|
3
|
-
description: Use this skill when a user asks to graph, map, or visualize a codebase/workspace with Graphify and inspect the generated graphify-out/graph.html, graphify-out/graph.json, or graphify-out/GRAPH_REPORT.md artifacts.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Graphify Codebase Visualization
|
|
7
|
-
|
|
8
|
-
Use Graphify to turn a workspace folder into an interactive knowledge graph and report. Prefer this skill for requests like "graph this repo", "visualize this codebase", "map the workspace", or "show me the project structure as a graph".
|
|
9
|
-
|
|
10
|
-
## Prerequisites
|
|
11
|
-
|
|
12
|
-
Graphify is exposed as a curated Pibo CLI tool:
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
pibo tools show graphify
|
|
16
|
-
pibo tools install graphify
|
|
17
|
-
eval "$(pibo tools env graphify)"
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Inside the Pibo source repo while testing local changes, use:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
npm run --silent dev -- tools show graphify
|
|
24
|
-
npm run --silent dev -- tools install graphify
|
|
25
|
-
eval "$(npm run --silent dev -- tools env graphify)"
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
The Pibo installer uses the PyPI package `graphifyy` and runs `graphify install --platform pi` after installing the CLI.
|
|
29
|
-
|
|
30
|
-
## Workflow
|
|
31
|
-
|
|
32
|
-
1. Identify the workspace path from the active Pibo Room/session context or from the user's request.
|
|
33
|
-
2. Confirm the path is inside the intended workspace boundary before graphing.
|
|
34
|
-
3. Prefer an ignored artifact directory for generated files when possible. If you generate in the repo root, check `git status --short` before and after.
|
|
35
|
-
4. Run Graphify on the selected folder. With `graphifyy==0.9.x`, `graphify .` writes extraction output under `graphify-out/`.
|
|
36
|
-
5. If you need an HTML graph and markdown report from a code-only extraction without an LLM key, run `graphify cluster-only . --no-label` after `graphify .`.
|
|
37
|
-
6. Read `graphify-out/GRAPH_REPORT.md` first for the summary, then open `graphify-out/graph.html` when the user wants an interactive view.
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
cd /path/to/workspace
|
|
41
|
-
graphify .
|
|
42
|
-
graphify cluster-only . --no-label
|
|
43
|
-
ls graphify-out/graph.html graphify-out/graph.json graphify-out/GRAPH_REPORT.md
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Operating rules
|
|
47
|
-
|
|
48
|
-
- Treat `graphify-out/graph.html`, `graphify-out/graph.json`, and `graphify-out/GRAPH_REPORT.md` as derived artifacts unless the user explicitly wants them committed.
|
|
49
|
-
- Code-only extraction can run without an LLM API key. Including docs, README files, papers, images, or semantic-labeling steps may require a configured Graphify backend/API key; if no key is available, graph a code-only subdirectory or skip semantic labels with `cluster-only . --no-label`.
|
|
50
|
-
- For large monorepos, start with a focused subdirectory such as `src/`, a code package, or a docs folder only when the needed LLM backend is configured.
|
|
51
|
-
- Re-run Graphify on demand after branch or workspace changes; do not assume an old graph is current.
|
|
52
|
-
- If Graphify is unavailable, report the missing install and suggest `pibo tools install graphify` rather than hand-writing a replacement graph.
|
|
1
|
+
---
|
|
2
|
+
name: graphify
|
|
3
|
+
description: Use this skill when a user asks to graph, map, or visualize a codebase/workspace with Graphify and inspect the generated graphify-out/graph.html, graphify-out/graph.json, or graphify-out/GRAPH_REPORT.md artifacts.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Graphify Codebase Visualization
|
|
7
|
+
|
|
8
|
+
Use Graphify to turn a workspace folder into an interactive knowledge graph and report. Prefer this skill for requests like "graph this repo", "visualize this codebase", "map the workspace", or "show me the project structure as a graph".
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
|
|
12
|
+
Graphify is exposed as a curated Pibo CLI tool:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pibo tools show graphify
|
|
16
|
+
pibo tools install graphify
|
|
17
|
+
eval "$(pibo tools env graphify)"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Inside the Pibo source repo while testing local changes, use:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm run --silent dev -- tools show graphify
|
|
24
|
+
npm run --silent dev -- tools install graphify
|
|
25
|
+
eval "$(npm run --silent dev -- tools env graphify)"
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The Pibo installer uses the PyPI package `graphifyy` and runs `graphify install --platform pi` after installing the CLI.
|
|
29
|
+
|
|
30
|
+
## Workflow
|
|
31
|
+
|
|
32
|
+
1. Identify the workspace path from the active Pibo Room/session context or from the user's request.
|
|
33
|
+
2. Confirm the path is inside the intended workspace boundary before graphing.
|
|
34
|
+
3. Prefer an ignored artifact directory for generated files when possible. If you generate in the repo root, check `git status --short` before and after.
|
|
35
|
+
4. Run Graphify on the selected folder. With `graphifyy==0.9.x`, `graphify .` writes extraction output under `graphify-out/`.
|
|
36
|
+
5. If you need an HTML graph and markdown report from a code-only extraction without an LLM key, run `graphify cluster-only . --no-label` after `graphify .`.
|
|
37
|
+
6. Read `graphify-out/GRAPH_REPORT.md` first for the summary, then open `graphify-out/graph.html` when the user wants an interactive view.
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
cd /path/to/workspace
|
|
41
|
+
graphify .
|
|
42
|
+
graphify cluster-only . --no-label
|
|
43
|
+
ls graphify-out/graph.html graphify-out/graph.json graphify-out/GRAPH_REPORT.md
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Operating rules
|
|
47
|
+
|
|
48
|
+
- Treat `graphify-out/graph.html`, `graphify-out/graph.json`, and `graphify-out/GRAPH_REPORT.md` as derived artifacts unless the user explicitly wants them committed.
|
|
49
|
+
- Code-only extraction can run without an LLM API key. Including docs, README files, papers, images, or semantic-labeling steps may require a configured Graphify backend/API key; if no key is available, graph a code-only subdirectory or skip semantic labels with `cluster-only . --no-label`.
|
|
50
|
+
- For large monorepos, start with a focused subdirectory such as `src/`, a code package, or a docs folder only when the needed LLM backend is configured.
|
|
51
|
+
- Re-run Graphify on demand after branch or workspace changes; do not assume an old graph is current.
|
|
52
|
+
- If Graphify is unavailable, report the missing install and suggest `pibo tools install graphify` rather than hand-writing a replacement graph.
|