@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,43 +0,0 @@
|
|
|
1
|
-
import { readFileSync } from "node:fs";
|
|
2
|
-
export function expandInlineSkills(text, skills) {
|
|
3
|
-
try {
|
|
4
|
-
const pattern = /(?<!\\)\$([a-z0-9-]+)/g;
|
|
5
|
-
const matches = [...text.matchAll(pattern)];
|
|
6
|
-
const seen = new Set();
|
|
7
|
-
const toExpand = [];
|
|
8
|
-
for (const match of matches) {
|
|
9
|
-
const name = match[1];
|
|
10
|
-
if (seen.has(name))
|
|
11
|
-
continue;
|
|
12
|
-
const skill = skills.find((s) => s.name === name);
|
|
13
|
-
if (!skill)
|
|
14
|
-
continue;
|
|
15
|
-
seen.add(name);
|
|
16
|
-
toExpand.push(skill);
|
|
17
|
-
}
|
|
18
|
-
if (toExpand.length === 0)
|
|
19
|
-
return text;
|
|
20
|
-
const appendices = toExpand.map((skill) => {
|
|
21
|
-
try {
|
|
22
|
-
const content = readFileSync(skill.filePath, "utf-8");
|
|
23
|
-
const body = stripFrontmatter(content).trim();
|
|
24
|
-
return `---\n\n$${skill.name}\n${body}`;
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
return `---\n\n$${skill.name}\n[Error: could not load skill content]`;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
return `${text}\n\n${appendices.join("\n\n")}`;
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
return text;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function stripFrontmatter(content) {
|
|
37
|
-
if (!content.startsWith("---"))
|
|
38
|
-
return content;
|
|
39
|
-
const endIndex = content.indexOf("---", 3);
|
|
40
|
-
if (endIndex === -1)
|
|
41
|
-
return content;
|
|
42
|
-
return content.slice(endIndex + 3).trimStart();
|
|
43
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
export const PIBO_AVAILABLE_TOOLS_MARKER = "{{availableTools}}";
|
|
2
|
-
export const PIBO_GUIDELINES_MARKER = "{{guidelines}}";
|
|
3
|
-
export function hasPiboSystemPromptTemplateMarkers(systemPrompt) {
|
|
4
|
-
return systemPrompt.includes(PIBO_AVAILABLE_TOOLS_MARKER) || systemPrompt.includes(PIBO_GUIDELINES_MARKER);
|
|
5
|
-
}
|
|
6
|
-
export function buildPiboAvailableTools(options) {
|
|
7
|
-
const tools = options.selectedTools || ["read", "bash", "edit", "write"];
|
|
8
|
-
const visibleTools = tools.filter((name) => !!options.toolSnippets?.[name]);
|
|
9
|
-
if (visibleTools.length === 0)
|
|
10
|
-
return "(none)";
|
|
11
|
-
return visibleTools.map((name) => `- ${name}: ${options.toolSnippets[name]}`).join("\n");
|
|
12
|
-
}
|
|
13
|
-
export function buildPiboGuidelines(options) {
|
|
14
|
-
const tools = options.selectedTools || ["read", "bash", "edit", "write"];
|
|
15
|
-
const guidelinesList = [];
|
|
16
|
-
const guidelinesSet = new Set();
|
|
17
|
-
const addGuideline = (guideline) => {
|
|
18
|
-
if (guidelinesSet.has(guideline))
|
|
19
|
-
return;
|
|
20
|
-
guidelinesSet.add(guideline);
|
|
21
|
-
guidelinesList.push(guideline);
|
|
22
|
-
};
|
|
23
|
-
const hasBash = tools.includes("bash");
|
|
24
|
-
const hasGrep = tools.includes("grep");
|
|
25
|
-
const hasFind = tools.includes("find");
|
|
26
|
-
const hasLs = tools.includes("ls");
|
|
27
|
-
if (hasBash && !hasGrep && !hasFind && !hasLs) {
|
|
28
|
-
addGuideline("Use bash for file operations like ls, rg, find");
|
|
29
|
-
}
|
|
30
|
-
else if (hasBash && (hasGrep || hasFind || hasLs)) {
|
|
31
|
-
addGuideline("Prefer grep/find/ls tools over bash for file exploration (faster, respects .gitignore)");
|
|
32
|
-
}
|
|
33
|
-
for (const guideline of options.promptGuidelines ?? []) {
|
|
34
|
-
const normalized = guideline.trim();
|
|
35
|
-
if (normalized.length > 0)
|
|
36
|
-
addGuideline(normalized);
|
|
37
|
-
}
|
|
38
|
-
addGuideline("Be concise in your responses");
|
|
39
|
-
addGuideline("Show file paths clearly when working with files");
|
|
40
|
-
return guidelinesList.map((guideline) => `- ${guideline}`).join("\n");
|
|
41
|
-
}
|
|
42
|
-
export function renderPiboSystemPromptTemplate(systemPrompt, options) {
|
|
43
|
-
if (!hasPiboSystemPromptTemplateMarkers(systemPrompt))
|
|
44
|
-
return systemPrompt;
|
|
45
|
-
return systemPrompt
|
|
46
|
-
.replaceAll(PIBO_AVAILABLE_TOOLS_MARKER, buildPiboAvailableTools(options))
|
|
47
|
-
.replaceAll(PIBO_GUIDELINES_MARKER, buildPiboGuidelines(options));
|
|
48
|
-
}
|
|
49
|
-
export function createPiboSystemPromptTemplateExtension() {
|
|
50
|
-
return (pi) => {
|
|
51
|
-
pi.on("before_agent_start", (event) => {
|
|
52
|
-
const systemPrompt = renderPiboSystemPromptTemplate(event.systemPrompt, event.systemPromptOptions);
|
|
53
|
-
return systemPrompt === event.systemPrompt ? undefined : { systemPrompt };
|
|
54
|
-
});
|
|
55
|
-
};
|
|
56
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export const DEFAULT_TELEMETRY_RETENTION_DAYS = 30;
|
|
2
|
-
export const MIN_TELEMETRY_RETENTION_DAYS = 1;
|
|
3
|
-
export const MAX_TELEMETRY_RETENTION_DAYS = 365;
|
|
4
|
-
export function sanitizeTelemetryRetentionSettings(value) {
|
|
5
|
-
const raw = value && typeof value === "object" && !Array.isArray(value)
|
|
6
|
-
? value
|
|
7
|
-
: {};
|
|
8
|
-
const lastPrunedAt = sanitizeTelemetryRetentionTimestamp(raw.lastPrunedAt);
|
|
9
|
-
return {
|
|
10
|
-
enabled: typeof raw.enabled === "boolean" ? raw.enabled : true,
|
|
11
|
-
days: sanitizeTelemetryRetentionDays(raw.days) ?? DEFAULT_TELEMETRY_RETENTION_DAYS,
|
|
12
|
-
...(lastPrunedAt ? { lastPrunedAt } : {}),
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
export function sanitizeTelemetryRetentionDays(value) {
|
|
16
|
-
if (typeof value !== "number" || !Number.isFinite(value))
|
|
17
|
-
return undefined;
|
|
18
|
-
const days = Math.trunc(value);
|
|
19
|
-
if (days < MIN_TELEMETRY_RETENTION_DAYS || days > MAX_TELEMETRY_RETENTION_DAYS)
|
|
20
|
-
return undefined;
|
|
21
|
-
return days;
|
|
22
|
-
}
|
|
23
|
-
export function sanitizeTelemetryRetentionTimestamp(value) {
|
|
24
|
-
if (typeof value !== "string")
|
|
25
|
-
return undefined;
|
|
26
|
-
const timestamp = value.trim();
|
|
27
|
-
if (!timestamp)
|
|
28
|
-
return undefined;
|
|
29
|
-
const ms = Date.parse(timestamp);
|
|
30
|
-
return Number.isFinite(ms) ? new Date(ms).toISOString() : undefined;
|
|
31
|
-
}
|
|
32
|
-
export function telemetryRetentionCutoff(days, now = new Date()) {
|
|
33
|
-
return new Date(now.getTime() - days * 24 * 60 * 60 * 1000).toISOString();
|
|
34
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
export const DEFAULT_TELEMETRY_STALE_THRESHOLD_MS = 5 * 60 * 1000;
|
|
2
|
-
export const MIN_TELEMETRY_STALE_THRESHOLD_MS = 1_000;
|
|
3
|
-
export const MAX_TELEMETRY_STALE_THRESHOLD_MS = 24 * 60 * 60 * 1000;
|
|
4
|
-
export function sanitizeTelemetryStaleThresholdSettings(value) {
|
|
5
|
-
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
6
|
-
return {};
|
|
7
|
-
const raw = value;
|
|
8
|
-
const settings = {};
|
|
9
|
-
const defaultThresholdMs = sanitizeTelemetryStaleThresholdMs(raw.defaultThresholdMs);
|
|
10
|
-
if (defaultThresholdMs !== undefined)
|
|
11
|
-
settings.defaultThresholdMs = defaultThresholdMs;
|
|
12
|
-
const providers = sanitizeThresholdMap(raw.providers);
|
|
13
|
-
if (Object.keys(providers).length > 0)
|
|
14
|
-
settings.providers = providers;
|
|
15
|
-
const profiles = sanitizeThresholdMap(raw.profiles);
|
|
16
|
-
if (Object.keys(profiles).length > 0)
|
|
17
|
-
settings.profiles = profiles;
|
|
18
|
-
return settings;
|
|
19
|
-
}
|
|
20
|
-
export function resolveTelemetryStaleThreshold(input = {}) {
|
|
21
|
-
const override = sanitizeTelemetryStaleThresholdMs(input.overrideThresholdMs);
|
|
22
|
-
if (override !== undefined)
|
|
23
|
-
return { thresholdMs: override, source: "override" };
|
|
24
|
-
const settings = sanitizeTelemetryStaleThresholdSettings(input.settings);
|
|
25
|
-
const profileKey = lookupKey(settings.profiles, input.profile);
|
|
26
|
-
if (profileKey)
|
|
27
|
-
return { thresholdMs: settings.profiles[profileKey], source: "profile", key: profileKey };
|
|
28
|
-
const providerKey = lookupKey(settings.providers, input.provider);
|
|
29
|
-
if (providerKey)
|
|
30
|
-
return { thresholdMs: settings.providers[providerKey], source: "provider", key: providerKey };
|
|
31
|
-
return {
|
|
32
|
-
thresholdMs: settings.defaultThresholdMs ?? DEFAULT_TELEMETRY_STALE_THRESHOLD_MS,
|
|
33
|
-
source: "default",
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
export class TelemetryStaleDetector {
|
|
37
|
-
store;
|
|
38
|
-
settings;
|
|
39
|
-
constructor(store, settings = {}) {
|
|
40
|
-
this.store = store;
|
|
41
|
-
this.settings = settings;
|
|
42
|
-
}
|
|
43
|
-
listStaleWork(options = {}) {
|
|
44
|
-
const candidates = this.store.listStaleWork({
|
|
45
|
-
limit: 200,
|
|
46
|
-
now: options.now,
|
|
47
|
-
thresholdMs: 0,
|
|
48
|
-
});
|
|
49
|
-
const limit = normalizeLimit(options.limit);
|
|
50
|
-
const rows = [];
|
|
51
|
-
for (const item of candidates) {
|
|
52
|
-
const timeline = this.store.getTurnTimeline(item.turnId);
|
|
53
|
-
if (!timeline || timeline.turn.status !== "queued" && timeline.turn.status !== "running")
|
|
54
|
-
continue;
|
|
55
|
-
const phase = item.phaseId ? timeline.phases.find((candidate) => candidate.phaseId === item.phaseId) : undefined;
|
|
56
|
-
const providerRequest = providerForStaleItem(item, timeline.providerRequests);
|
|
57
|
-
const profile = typeof timeline.turn.metadata.profile === "string" ? timeline.turn.metadata.profile : undefined;
|
|
58
|
-
const threshold = resolveTelemetryStaleThreshold({
|
|
59
|
-
provider: providerRequest?.provider,
|
|
60
|
-
profile,
|
|
61
|
-
settings: options.settings ?? this.settings,
|
|
62
|
-
overrideThresholdMs: options.thresholdMs,
|
|
63
|
-
});
|
|
64
|
-
if (item.staleForMs < threshold.thresholdMs)
|
|
65
|
-
continue;
|
|
66
|
-
rows.push({
|
|
67
|
-
...item,
|
|
68
|
-
phase: phase?.name ?? item.phase,
|
|
69
|
-
activePhase: phase?.name ?? item.phase,
|
|
70
|
-
lastProgressAt: item.lastProgressAt ?? phase?.lastProgressAt ?? phase?.startedAt,
|
|
71
|
-
thresholdMs: threshold.thresholdMs,
|
|
72
|
-
appliedThresholdMs: threshold.thresholdMs,
|
|
73
|
-
thresholdSource: threshold.source,
|
|
74
|
-
thresholdKey: threshold.key,
|
|
75
|
-
provider: providerRequest?.provider,
|
|
76
|
-
model: providerRequest?.model,
|
|
77
|
-
profile,
|
|
78
|
-
active: true,
|
|
79
|
-
nextCommands: item.nextCommands,
|
|
80
|
-
});
|
|
81
|
-
if (rows.length >= limit)
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
return rows;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
function providerForStaleItem(item, providers) {
|
|
88
|
-
if (item.phaseId) {
|
|
89
|
-
const linked = providers.find((provider) => provider.phaseId === item.phaseId);
|
|
90
|
-
if (linked)
|
|
91
|
-
return linked;
|
|
92
|
-
}
|
|
93
|
-
return providers[0];
|
|
94
|
-
}
|
|
95
|
-
function sanitizeThresholdMap(value) {
|
|
96
|
-
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
97
|
-
return {};
|
|
98
|
-
const output = {};
|
|
99
|
-
for (const [rawKey, rawThreshold] of Object.entries(value)) {
|
|
100
|
-
const key = rawKey.trim().toLowerCase();
|
|
101
|
-
if (!key)
|
|
102
|
-
continue;
|
|
103
|
-
const threshold = sanitizeTelemetryStaleThresholdMs(rawThreshold);
|
|
104
|
-
if (threshold === undefined)
|
|
105
|
-
continue;
|
|
106
|
-
output[key] = threshold;
|
|
107
|
-
}
|
|
108
|
-
return output;
|
|
109
|
-
}
|
|
110
|
-
function sanitizeTelemetryStaleThresholdMs(value) {
|
|
111
|
-
if (typeof value !== "number" || !Number.isFinite(value))
|
|
112
|
-
return undefined;
|
|
113
|
-
const threshold = Math.floor(value);
|
|
114
|
-
if (threshold < MIN_TELEMETRY_STALE_THRESHOLD_MS || threshold > MAX_TELEMETRY_STALE_THRESHOLD_MS)
|
|
115
|
-
return undefined;
|
|
116
|
-
return threshold;
|
|
117
|
-
}
|
|
118
|
-
function lookupKey(map, value) {
|
|
119
|
-
if (!map || !value)
|
|
120
|
-
return undefined;
|
|
121
|
-
const key = value.trim().toLowerCase();
|
|
122
|
-
return Object.prototype.hasOwnProperty.call(map, key) ? key : undefined;
|
|
123
|
-
}
|
|
124
|
-
function normalizeLimit(value) {
|
|
125
|
-
if (typeof value !== "number" || !Number.isFinite(value))
|
|
126
|
-
return 20;
|
|
127
|
-
return Math.max(1, Math.min(200, Math.floor(value)));
|
|
128
|
-
}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
export const PIBO_BASH_OUTPUT_COMPACTION_DETAILS_KEY = "piboBashOutputCompaction";
|
|
2
|
-
const MAX_ERROR_CONTEXT_LINES = 120;
|
|
3
|
-
const ERROR_CONTEXT_RADIUS = 2;
|
|
4
|
-
const MIN_SUCCESS_LINES_TO_COMPACT = 12;
|
|
5
|
-
const COMPACTED_MARKER = "[Pibo compacted validation output]";
|
|
6
|
-
const VALIDATION_COMMAND_PATTERN = /(?:^|[\s;&|()])(?:(?:npm|pnpm|yarn|bun)\s+run\s+[^\s;&|()]*?(?:test|typecheck|check|lint|build)[^\s;&|()]*|(?:npm|pnpm|yarn|bun)\s+(?:test|t)\b|(?:npx\s+)?(?:vitest|jest|mocha|ava|playwright|cypress|pytest|ruff|eslint|tsc|tsc\s+--noEmit|node\s+--test|go\s+test|cargo\s+test|dotnet\s+test)\b)/i;
|
|
7
|
-
const ERROR_LINE_PATTERN = /(?:\b(?:FAIL|FAILED|Failing|failure|failed|ERROR|Error|error|ERR!|Exception|Traceback|AssertionError|assert|expected|received|not ok|timed out|Command exited with code)\b|[✕×✖])/;
|
|
8
|
-
const BENIGN_SUCCESS_LINE_PATTERN = /(?:^\s*(?:✔|✓|PASS\b)|\b(?:PASS|passed|success|successful|ok|done|completed)\b)/i;
|
|
9
|
-
export function compactValidationToolResultForContext(context) {
|
|
10
|
-
const toolName = typeof context.toolCall?.name === "string" ? context.toolCall.name : undefined;
|
|
11
|
-
if (toolName !== "bash")
|
|
12
|
-
return undefined;
|
|
13
|
-
const command = commandFromArgs(context.args);
|
|
14
|
-
if (!command || !isLikelyValidationCommand(command))
|
|
15
|
-
return undefined;
|
|
16
|
-
const output = textFromContent(context.result.content);
|
|
17
|
-
if (!output || output.includes(COMPACTED_MARKER))
|
|
18
|
-
return undefined;
|
|
19
|
-
const compaction = compactValidationOutput({ command, output, isError: context.isError });
|
|
20
|
-
if (!compaction)
|
|
21
|
-
return undefined;
|
|
22
|
-
return {
|
|
23
|
-
content: [{ type: "text", text: compaction.text }],
|
|
24
|
-
details: mergeCompactionDetails(context.result.details, compaction.details),
|
|
25
|
-
isError: context.isError,
|
|
26
|
-
terminate: context.result.terminate,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
export function compactValidationOutput(input) {
|
|
30
|
-
const normalizedOutput = input.output.replace(/\r\n/g, "\n").trimEnd();
|
|
31
|
-
const lines = normalizedOutput.length ? normalizedOutput.split("\n") : [];
|
|
32
|
-
if (!input.isError && lines.length < MIN_SUCCESS_LINES_TO_COMPACT)
|
|
33
|
-
return undefined;
|
|
34
|
-
const interestingRanges = collectInterestingRanges(lines);
|
|
35
|
-
const interestingLines = rangesToLines(lines, interestingRanges, MAX_ERROR_CONTEXT_LINES);
|
|
36
|
-
const displayedBody = input.isError
|
|
37
|
-
? (interestingLines.length ? interestingLines : tailLines(lines, MAX_ERROR_CONTEXT_LINES))
|
|
38
|
-
: [];
|
|
39
|
-
const statusLine = input.isError
|
|
40
|
-
? "Command failed. Showing error-looking lines only."
|
|
41
|
-
: "Command succeeded. Test output hidden by default.";
|
|
42
|
-
const omittedLines = Math.max(0, lines.length - displayedBody.length);
|
|
43
|
-
const header = [
|
|
44
|
-
COMPACTED_MARKER,
|
|
45
|
-
statusLine,
|
|
46
|
-
`Original output: ${lines.length} line${lines.length === 1 ? "" : "s"}, ${normalizedOutput.length} chars.`,
|
|
47
|
-
omittedLines > 0 ? `Hidden: ${omittedLines} line${omittedLines === 1 ? "" : "s"}. Full output omitted from model context.` : undefined,
|
|
48
|
-
].filter((line) => Boolean(line));
|
|
49
|
-
const text = displayedBody.length
|
|
50
|
-
? `${header.join("\n")}\n\n${displayedBody.join("\n")}`
|
|
51
|
-
: header.join("\n");
|
|
52
|
-
const fullOutputPath = extractFullOutputPath(normalizedOutput);
|
|
53
|
-
const details = {
|
|
54
|
-
kind: "validation-output",
|
|
55
|
-
command: input.command,
|
|
56
|
-
isError: input.isError,
|
|
57
|
-
originalLines: lines.length,
|
|
58
|
-
originalChars: normalizedOutput.length,
|
|
59
|
-
displayedLines: displayedBody.length,
|
|
60
|
-
omittedLines,
|
|
61
|
-
fullOutputPath,
|
|
62
|
-
};
|
|
63
|
-
return { text, details };
|
|
64
|
-
}
|
|
65
|
-
function commandFromArgs(args) {
|
|
66
|
-
if (!isRecord(args))
|
|
67
|
-
return undefined;
|
|
68
|
-
const command = args.command;
|
|
69
|
-
return typeof command === "string" && command.trim() ? command : undefined;
|
|
70
|
-
}
|
|
71
|
-
function isLikelyValidationCommand(command) {
|
|
72
|
-
return VALIDATION_COMMAND_PATTERN.test(command);
|
|
73
|
-
}
|
|
74
|
-
function textFromContent(content) {
|
|
75
|
-
if (!Array.isArray(content) || content.length === 0)
|
|
76
|
-
return undefined;
|
|
77
|
-
const parts = [];
|
|
78
|
-
for (const part of content) {
|
|
79
|
-
if (!part || part.type !== "text")
|
|
80
|
-
return undefined;
|
|
81
|
-
parts.push(part.text);
|
|
82
|
-
}
|
|
83
|
-
return parts.join("");
|
|
84
|
-
}
|
|
85
|
-
function collectInterestingRanges(lines) {
|
|
86
|
-
const ranges = [];
|
|
87
|
-
for (let index = 0; index < lines.length; index += 1) {
|
|
88
|
-
if (BENIGN_SUCCESS_LINE_PATTERN.test(lines[index]))
|
|
89
|
-
continue;
|
|
90
|
-
if (!ERROR_LINE_PATTERN.test(lines[index]))
|
|
91
|
-
continue;
|
|
92
|
-
ranges.push([
|
|
93
|
-
Math.max(0, index - ERROR_CONTEXT_RADIUS),
|
|
94
|
-
Math.min(lines.length - 1, index + ERROR_CONTEXT_RADIUS),
|
|
95
|
-
]);
|
|
96
|
-
}
|
|
97
|
-
return mergeRanges(ranges);
|
|
98
|
-
}
|
|
99
|
-
function mergeRanges(ranges) {
|
|
100
|
-
const merged = [];
|
|
101
|
-
for (const [start, end] of ranges.sort((left, right) => left[0] - right[0])) {
|
|
102
|
-
const previous = merged.at(-1);
|
|
103
|
-
if (!previous || start > previous[1] + 1) {
|
|
104
|
-
merged.push([start, end]);
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
previous[1] = Math.max(previous[1], end);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
return merged;
|
|
111
|
-
}
|
|
112
|
-
function rangesToLines(lines, ranges, maxLines) {
|
|
113
|
-
const output = [];
|
|
114
|
-
for (const [rangeIndex, [start, end]] of ranges.entries()) {
|
|
115
|
-
if (output.length >= maxLines)
|
|
116
|
-
break;
|
|
117
|
-
if (rangeIndex > 0)
|
|
118
|
-
output.push("...");
|
|
119
|
-
for (let index = start; index <= end && output.length < maxLines; index += 1) {
|
|
120
|
-
output.push(lines[index]);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
if (ranges.length > 0 && output.length >= maxLines)
|
|
124
|
-
output.push(`... (${ranges.length} error section${ranges.length === 1 ? "" : "s"} truncated)`);
|
|
125
|
-
return output;
|
|
126
|
-
}
|
|
127
|
-
function tailLines(lines, maxLines) {
|
|
128
|
-
return lines.slice(Math.max(0, lines.length - maxLines));
|
|
129
|
-
}
|
|
130
|
-
function mergeCompactionDetails(originalDetails, compaction) {
|
|
131
|
-
if (isRecord(originalDetails)) {
|
|
132
|
-
return { ...originalDetails, [PIBO_BASH_OUTPUT_COMPACTION_DETAILS_KEY]: compaction };
|
|
133
|
-
}
|
|
134
|
-
return {
|
|
135
|
-
[PIBO_BASH_OUTPUT_COMPACTION_DETAILS_KEY]: compaction,
|
|
136
|
-
...(originalDetails === undefined ? {} : { originalDetails }),
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
function extractFullOutputPath(output) {
|
|
140
|
-
const match = output.match(/Full output:\s*([^\]\n]+)/);
|
|
141
|
-
return match?.[1]?.trim();
|
|
142
|
-
}
|
|
143
|
-
function isRecord(value) {
|
|
144
|
-
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
145
|
-
}
|
package/dist/core/thinking.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export const PIBO_THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
2
|
-
export function isPiboThinkingLevel(value) {
|
|
3
|
-
return PIBO_THINKING_LEVELS.includes(value);
|
|
4
|
-
}
|
|
5
|
-
export function parsePiboThinkingLevel(value) {
|
|
6
|
-
if (isPiboThinkingLevel(value))
|
|
7
|
-
return value;
|
|
8
|
-
throw new Error(`Invalid thinking level "${value}". Valid values: ${PIBO_THINKING_LEVELS.join(", ")}`);
|
|
9
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
-
import { dirname } from "node:path";
|
|
3
|
-
import { piboHomePath } from "./pibo-home.js";
|
|
4
|
-
import { sanitizeTelemetryRetentionSettings } from "./telemetry-retention-settings.js";
|
|
5
|
-
import { sanitizeTelemetryStaleThresholdSettings } from "./telemetry-staleness.js";
|
|
6
|
-
export const DEFAULT_USER_TIMEZONE = "UTC";
|
|
7
|
-
export const DEFAULT_WEB_ANNOTATIONS_TOGGLE_SHORTCUT = "Alt+Shift+A";
|
|
8
|
-
export const DEFAULT_PIBO_USER_SETTINGS_PATH = "user-settings.json";
|
|
9
|
-
export function loadPiboUserSettings() {
|
|
10
|
-
return sanitizeUserSettings(readState().settings);
|
|
11
|
-
}
|
|
12
|
-
export function updatePiboUserSettings(patch) {
|
|
13
|
-
const state = readState();
|
|
14
|
-
const next = sanitizeUserSettings({ ...(state.settings ?? {}), ...patch });
|
|
15
|
-
state.settings = next;
|
|
16
|
-
writeState(state);
|
|
17
|
-
return next;
|
|
18
|
-
}
|
|
19
|
-
export function updateTelemetryRetentionLastPrunedAt(lastPrunedAt) {
|
|
20
|
-
const current = loadPiboUserSettings();
|
|
21
|
-
return updatePiboUserSettings({
|
|
22
|
-
telemetryRetention: {
|
|
23
|
-
...current.telemetryRetention,
|
|
24
|
-
lastPrunedAt,
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
export function sanitizeShortcutSettings(value) {
|
|
29
|
-
const raw = value && typeof value === "object" && !Array.isArray(value)
|
|
30
|
-
? value
|
|
31
|
-
: {};
|
|
32
|
-
return { webAnnotationsToggle: sanitizeShortcut(raw.webAnnotationsToggle) ?? DEFAULT_WEB_ANNOTATIONS_TOGGLE_SHORTCUT };
|
|
33
|
-
}
|
|
34
|
-
export function sanitizeShortcut(value) {
|
|
35
|
-
if (typeof value !== "string")
|
|
36
|
-
return undefined;
|
|
37
|
-
const shortcut = value.replace(/[\u0000-\u001f\u007f]/g, "").trim();
|
|
38
|
-
return shortcut && shortcut.length <= 80 ? shortcut : undefined;
|
|
39
|
-
}
|
|
40
|
-
export function sanitizeTimezone(value) {
|
|
41
|
-
if (typeof value !== "string")
|
|
42
|
-
return undefined;
|
|
43
|
-
const timezone = value.trim();
|
|
44
|
-
if (!timezone)
|
|
45
|
-
return undefined;
|
|
46
|
-
try {
|
|
47
|
-
new Intl.DateTimeFormat("en-US", { timeZone: timezone });
|
|
48
|
-
return timezone;
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
return undefined;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
function sanitizeUserSettings(value) {
|
|
55
|
-
const raw = value && typeof value === "object" && !Array.isArray(value)
|
|
56
|
-
? value
|
|
57
|
-
: {};
|
|
58
|
-
return {
|
|
59
|
-
timezone: sanitizeTimezone(raw.timezone) ?? DEFAULT_USER_TIMEZONE,
|
|
60
|
-
shortcuts: sanitizeShortcutSettings(raw.shortcuts),
|
|
61
|
-
telemetryStaleThresholds: sanitizeTelemetryStaleThresholdSettings(raw.telemetryStaleThresholds),
|
|
62
|
-
telemetryRetention: sanitizeTelemetryRetentionSettings(raw.telemetryRetention),
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
function readState() {
|
|
66
|
-
const path = piboHomePath(DEFAULT_PIBO_USER_SETTINGS_PATH);
|
|
67
|
-
if (!existsSync(path))
|
|
68
|
-
return {};
|
|
69
|
-
try {
|
|
70
|
-
const parsed = JSON.parse(readFileSync(path, "utf-8"));
|
|
71
|
-
const raw = parsed && typeof parsed === "object" && !Array.isArray(parsed)
|
|
72
|
-
? parsed
|
|
73
|
-
: {};
|
|
74
|
-
return { settings: sanitizeUserSettings(raw.settings) };
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
return {};
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
function writeState(state) {
|
|
81
|
-
const path = piboHomePath(DEFAULT_PIBO_USER_SETTINGS_PATH);
|
|
82
|
-
mkdirSync(dirname(path), { recursive: true });
|
|
83
|
-
writeFileSync(path, `${JSON.stringify(state, null, 2)}\n`);
|
|
84
|
-
}
|
package/dist/core/workspace.js
DELETED
package/dist/core/wsl.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { readFileSync, existsSync } from "node:fs";
|
|
2
|
-
/**
|
|
3
|
-
* Pure parser for the WSL release string.
|
|
4
|
-
*
|
|
5
|
-
* WSL2 kernels report strings like:
|
|
6
|
-
* "5.15.90.1-microsoft-standard-WSL2"
|
|
7
|
-
* "5.15.0-1054-azure-wsl2"
|
|
8
|
-
* WSL1 kernels report:
|
|
9
|
-
* "4.4.0-19041-Microsoft"
|
|
10
|
-
*
|
|
11
|
-
* Returns true when the string looks like a WSL kernel release.
|
|
12
|
-
*/
|
|
13
|
-
export function parseWslRelease(release) {
|
|
14
|
-
if (!release)
|
|
15
|
-
return false;
|
|
16
|
-
return /\b(microsoft|wsl2?)\b/i.test(release);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Pure parser that extracts the WSL major version (1 or 2) from a release string.
|
|
20
|
-
* Returns undefined when the string is not WSL or the version cannot be determined.
|
|
21
|
-
*/
|
|
22
|
-
export function parseWslVersion(release) {
|
|
23
|
-
if (!release)
|
|
24
|
-
return undefined;
|
|
25
|
-
if (!parseWslRelease(release))
|
|
26
|
-
return undefined;
|
|
27
|
-
// WSL2 explicitly mentions "WSL2" (with digit) in the osrelease.
|
|
28
|
-
// WSL1 mentions "Microsoft" without the digit.
|
|
29
|
-
if (/\bwsl2\b/i.test(release))
|
|
30
|
-
return 2;
|
|
31
|
-
// Some WSL2 kernels do not include the literal "WSL2" token; the kernel
|
|
32
|
-
// version alone is not a reliable signal because WSL1 also exists. We
|
|
33
|
-
// require the WSL2 marker or the "microsoft-standard-WSL2" suffix to claim
|
|
34
|
-
// WSL2; otherwise default to WSL1 when WSL is detected.
|
|
35
|
-
return 1;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Pure parser for /etc/os-release PRETTY_NAME. Returns undefined when the file
|
|
39
|
-
* is not the standard os-release format or cannot be parsed.
|
|
40
|
-
*/
|
|
41
|
-
export function parseDistroFromOsRelease(contents) {
|
|
42
|
-
if (!contents)
|
|
43
|
-
return undefined;
|
|
44
|
-
const match = contents.match(/^PRETTY_NAME=(.+)$/m);
|
|
45
|
-
if (!match)
|
|
46
|
-
return undefined;
|
|
47
|
-
const raw = match[1]?.trim();
|
|
48
|
-
if (!raw)
|
|
49
|
-
return undefined;
|
|
50
|
-
const unquoted = raw.replace(/^["']|["']$/g, "");
|
|
51
|
-
return unquoted.length > 0 ? unquoted : undefined;
|
|
52
|
-
}
|
|
53
|
-
function readProcOsRelease() {
|
|
54
|
-
try {
|
|
55
|
-
return readFileSync("/proc/sys/kernel/osrelease", "utf8");
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
return undefined;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
function readEtcOsRelease() {
|
|
62
|
-
try {
|
|
63
|
-
return readFileSync("/etc/os-release", "utf8");
|
|
64
|
-
}
|
|
65
|
-
catch {
|
|
66
|
-
return undefined;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
function detectWindowsMount() {
|
|
70
|
-
return existsSync("/mnt/c") || existsSync("/mnt/wsl");
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Detect whether the current process is running inside a WSL distribution.
|
|
74
|
-
* Returns true on WSL1 and WSL2.
|
|
75
|
-
*/
|
|
76
|
-
export function isWsl() {
|
|
77
|
-
return parseWslRelease(readProcOsRelease());
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Return structured WSL information for the current process. Safe to call on
|
|
81
|
-
* any platform; non-WSL hosts return { isWsl: false, version: undefined, ... }.
|
|
82
|
-
*/
|
|
83
|
-
export function getWslInfo() {
|
|
84
|
-
const release = readProcOsRelease();
|
|
85
|
-
const isWslResult = parseWslRelease(release);
|
|
86
|
-
if (!isWslResult) {
|
|
87
|
-
return {
|
|
88
|
-
isWsl: false,
|
|
89
|
-
version: undefined,
|
|
90
|
-
distro: undefined,
|
|
91
|
-
hasWindowsMount: false,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
return {
|
|
95
|
-
isWsl: true,
|
|
96
|
-
version: parseWslVersion(release),
|
|
97
|
-
distro: parseDistroFromOsRelease(readEtcOsRelease()),
|
|
98
|
-
hasWindowsMount: detectWindowsMount(),
|
|
99
|
-
};
|
|
100
|
-
}
|
package/dist/cron/channel.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { PiboCronService } from "./service.js";
|
|
2
|
-
import { createDefaultPiboCronStore } from "./store.js";
|
|
3
|
-
let currentCronService;
|
|
4
|
-
export function getPiboCronService() {
|
|
5
|
-
return currentCronService;
|
|
6
|
-
}
|
|
7
|
-
export function createPiboCronChannel(options = {}) {
|
|
8
|
-
return {
|
|
9
|
-
name: "pibo.cron",
|
|
10
|
-
kind: "custom",
|
|
11
|
-
description: "Runs scheduled Pibo agent jobs.",
|
|
12
|
-
auth: { mode: "required" },
|
|
13
|
-
start(context) {
|
|
14
|
-
if (currentCronService)
|
|
15
|
-
return;
|
|
16
|
-
currentCronService = new PiboCronService({
|
|
17
|
-
...options,
|
|
18
|
-
context,
|
|
19
|
-
store: createDefaultPiboCronStore({ path: options.cronStorePath }),
|
|
20
|
-
});
|
|
21
|
-
currentCronService.start();
|
|
22
|
-
},
|
|
23
|
-
stop() {
|
|
24
|
-
currentCronService?.stop();
|
|
25
|
-
currentCronService = undefined;
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
}
|