@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
package/dist/mcp/config.js
DELETED
|
@@ -1,473 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP-CLI Configuration Types and Loader
|
|
3
|
-
*/
|
|
4
|
-
import { createHash } from 'node:crypto';
|
|
5
|
-
import { existsSync } from 'node:fs';
|
|
6
|
-
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
7
|
-
import { homedir } from 'node:os';
|
|
8
|
-
import { dirname, join, resolve } from 'node:path';
|
|
9
|
-
import { ErrorCode, configInvalidJsonError, configMissingFieldError, configNotFoundError, configSearchError, formatCliError, serverNotFoundError, } from './errors.js';
|
|
10
|
-
export const DEFAULT_MCP_CONFIG_FILE = 'mcp_servers.json';
|
|
11
|
-
// ============================================================================
|
|
12
|
-
// Tool Filtering
|
|
13
|
-
// ============================================================================
|
|
14
|
-
/**
|
|
15
|
-
* Simple glob pattern matcher for tool names
|
|
16
|
-
* Supports * (any characters) and ? (single character)
|
|
17
|
-
*/
|
|
18
|
-
function matchesPattern(name, pattern) {
|
|
19
|
-
// Convert glob pattern to regex
|
|
20
|
-
const regexPattern = pattern
|
|
21
|
-
.replace(/[.+^${}()|[\]\\]/g, '\\$&') // Escape special regex chars
|
|
22
|
-
.replace(/\*/g, '.*') // * matches any characters
|
|
23
|
-
.replace(/\?/g, '.'); // ? matches single character
|
|
24
|
-
return new RegExp(`^${regexPattern}$`, 'i').test(name);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Check if a tool name matches any of the given patterns
|
|
28
|
-
*/
|
|
29
|
-
function matchesAnyPattern(name, patterns) {
|
|
30
|
-
return patterns.some((pattern) => matchesPattern(name, pattern));
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Filter tools based on allowedTools and disabledTools configuration
|
|
34
|
-
*
|
|
35
|
-
* Rules:
|
|
36
|
-
* - If allowedTools is specified, only tools matching those patterns are available
|
|
37
|
-
* - If disabledTools is specified, tools matching those patterns are excluded
|
|
38
|
-
* - disabledTools takes precedence over allowedTools
|
|
39
|
-
*
|
|
40
|
-
* @param tools - Array of tools with name property
|
|
41
|
-
* @param config - Server config with optional allowedTools/disabledTools
|
|
42
|
-
* @returns Filtered array of tools
|
|
43
|
-
*/
|
|
44
|
-
export function filterTools(tools, config) {
|
|
45
|
-
const { allowedTools, disabledTools } = config;
|
|
46
|
-
return tools.filter((tool) => {
|
|
47
|
-
// First check if tool is in disabledTools (takes precedence)
|
|
48
|
-
if (disabledTools && disabledTools.length > 0) {
|
|
49
|
-
if (matchesAnyPattern(tool.name, disabledTools)) {
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
// Then check if allowedTools is specified
|
|
54
|
-
if (allowedTools && allowedTools.length > 0) {
|
|
55
|
-
return matchesAnyPattern(tool.name, allowedTools);
|
|
56
|
-
}
|
|
57
|
-
// No filtering specified, allow all
|
|
58
|
-
return true;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Check if a specific tool is allowed by the config
|
|
63
|
-
*
|
|
64
|
-
* @param toolName - Name of the tool to check
|
|
65
|
-
* @param config - Server config with optional allowedTools/disabledTools
|
|
66
|
-
* @returns true if tool is allowed, false otherwise
|
|
67
|
-
*/
|
|
68
|
-
export function isToolAllowed(toolName, config) {
|
|
69
|
-
const { allowedTools, disabledTools } = config;
|
|
70
|
-
// First check if tool is in disabledTools (takes precedence)
|
|
71
|
-
if (disabledTools && disabledTools.length > 0) {
|
|
72
|
-
if (matchesAnyPattern(toolName, disabledTools)) {
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
// Then check if allowedTools is specified
|
|
77
|
-
if (allowedTools && allowedTools.length > 0) {
|
|
78
|
-
return matchesAnyPattern(toolName, allowedTools);
|
|
79
|
-
}
|
|
80
|
-
// No filtering specified, allow all
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Check if a server config is HTTP-based
|
|
85
|
-
*/
|
|
86
|
-
export function isHttpServer(config) {
|
|
87
|
-
return 'url' in config;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Check if a server config is stdio-based
|
|
91
|
-
*/
|
|
92
|
-
export function isStdioServer(config) {
|
|
93
|
-
return 'command' in config;
|
|
94
|
-
}
|
|
95
|
-
// ============================================================================
|
|
96
|
-
// Environment Variables & Runtime Configuration
|
|
97
|
-
// ============================================================================
|
|
98
|
-
/**
|
|
99
|
-
* Default configuration values - centralized to avoid inline magic numbers
|
|
100
|
-
*/
|
|
101
|
-
export const DEFAULT_TIMEOUT_SECONDS = 1800; // 30 minutes
|
|
102
|
-
export const DEFAULT_TIMEOUT_MS = DEFAULT_TIMEOUT_SECONDS * 1000;
|
|
103
|
-
export const DEFAULT_CONCURRENCY = 5;
|
|
104
|
-
export const DEFAULT_MAX_RETRIES = 3;
|
|
105
|
-
export const DEFAULT_RETRY_DELAY_MS = 1000; // 1 second base delay
|
|
106
|
-
export const DEFAULT_DAEMON_TIMEOUT_SECONDS = 60; // 60 seconds idle timeout
|
|
107
|
-
export const DEFAULT_DAEMON_REQUEST_TIMEOUT_SECONDS = 60;
|
|
108
|
-
/**
|
|
109
|
-
* Debug logging utility - only logs when MCP_DEBUG is set
|
|
110
|
-
*/
|
|
111
|
-
export function debug(message) {
|
|
112
|
-
if (process.env.MCP_DEBUG) {
|
|
113
|
-
console.error(`[pibo mcp] ${message}`);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Get configured timeout in milliseconds
|
|
118
|
-
* @env MCP_TIMEOUT - timeout in seconds (default: 1800 = 30 minutes)
|
|
119
|
-
*/
|
|
120
|
-
export function getTimeoutMs() {
|
|
121
|
-
const envTimeout = process.env.MCP_TIMEOUT;
|
|
122
|
-
if (envTimeout) {
|
|
123
|
-
const seconds = Number.parseInt(envTimeout, 10);
|
|
124
|
-
if (!Number.isNaN(seconds) && seconds > 0) {
|
|
125
|
-
return seconds * 1000;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return DEFAULT_TIMEOUT_MS;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Get concurrency limit for parallel server connections
|
|
132
|
-
* @env MCP_CONCURRENCY - max parallel connections (default: 5)
|
|
133
|
-
*/
|
|
134
|
-
export function getConcurrencyLimit() {
|
|
135
|
-
const envConcurrency = process.env.MCP_CONCURRENCY;
|
|
136
|
-
if (envConcurrency) {
|
|
137
|
-
const limit = Number.parseInt(envConcurrency, 10);
|
|
138
|
-
if (!Number.isNaN(limit) && limit > 0) {
|
|
139
|
-
return limit;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return DEFAULT_CONCURRENCY;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Get max retry attempts for transient failures
|
|
146
|
-
* @env MCP_MAX_RETRIES - max retry attempts (default: 3, use 0 to disable retries)
|
|
147
|
-
*/
|
|
148
|
-
export function getMaxRetries() {
|
|
149
|
-
const envRetries = process.env.MCP_MAX_RETRIES;
|
|
150
|
-
if (envRetries) {
|
|
151
|
-
const retries = Number.parseInt(envRetries, 10);
|
|
152
|
-
if (!Number.isNaN(retries) && retries >= 0) {
|
|
153
|
-
return retries;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return DEFAULT_MAX_RETRIES;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Get base delay for retry backoff in milliseconds
|
|
160
|
-
* @env MCP_RETRY_DELAY - base delay in milliseconds (default: 1000)
|
|
161
|
-
*/
|
|
162
|
-
export function getRetryDelayMs() {
|
|
163
|
-
const envDelay = process.env.MCP_RETRY_DELAY;
|
|
164
|
-
if (envDelay) {
|
|
165
|
-
const delay = Number.parseInt(envDelay, 10);
|
|
166
|
-
if (!Number.isNaN(delay) && delay > 0) {
|
|
167
|
-
return delay;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
return DEFAULT_RETRY_DELAY_MS;
|
|
171
|
-
}
|
|
172
|
-
// ============================================================================
|
|
173
|
-
// Daemon Configuration
|
|
174
|
-
// ============================================================================
|
|
175
|
-
/**
|
|
176
|
-
* Check if daemon mode is enabled
|
|
177
|
-
* @env MCP_NO_DAEMON - set to "1" to disable daemon, force fresh connections
|
|
178
|
-
*/
|
|
179
|
-
export function isDaemonEnabled() {
|
|
180
|
-
return process.env.MCP_NO_DAEMON !== '1';
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Get daemon idle timeout in milliseconds
|
|
184
|
-
* @env MCP_DAEMON_TIMEOUT - timeout in seconds (default: 60)
|
|
185
|
-
*/
|
|
186
|
-
export function getDaemonTimeoutMs() {
|
|
187
|
-
const envTimeout = process.env.MCP_DAEMON_TIMEOUT;
|
|
188
|
-
if (envTimeout) {
|
|
189
|
-
const seconds = Number.parseInt(envTimeout, 10);
|
|
190
|
-
if (!Number.isNaN(seconds) && seconds > 0) {
|
|
191
|
-
return seconds * 1000;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
return DEFAULT_DAEMON_TIMEOUT_SECONDS * 1000;
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Get daemon request timeout in milliseconds
|
|
198
|
-
* @env MCP_DAEMON_REQUEST_TIMEOUT - timeout in seconds (default: 60)
|
|
199
|
-
*/
|
|
200
|
-
export function getDaemonRequestTimeoutMs() {
|
|
201
|
-
const envTimeout = process.env.MCP_DAEMON_REQUEST_TIMEOUT;
|
|
202
|
-
if (envTimeout) {
|
|
203
|
-
const seconds = Number.parseInt(envTimeout, 10);
|
|
204
|
-
if (!Number.isNaN(seconds) && seconds > 0) {
|
|
205
|
-
return seconds * 1000;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
return DEFAULT_DAEMON_REQUEST_TIMEOUT_SECONDS * 1000;
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Get the socket directory for daemon connections
|
|
212
|
-
* Uses platform-appropriate temp directory
|
|
213
|
-
*/
|
|
214
|
-
export function getSocketDir() {
|
|
215
|
-
const uid = process.getuid?.() ?? 'unknown';
|
|
216
|
-
// macOS uses /var/folders which is auto-cleaned, Linux uses /tmp
|
|
217
|
-
const base = process.platform === 'darwin' ? '/tmp' : '/tmp';
|
|
218
|
-
return join(base, `mcp-cli-${uid}`);
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Get socket path for a specific server
|
|
222
|
-
*/
|
|
223
|
-
export function getSocketPath(serverName) {
|
|
224
|
-
return join(getSocketDir(), `${serverName}.sock`);
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Get PID file path for a specific server daemon
|
|
228
|
-
*/
|
|
229
|
-
export function getPidPath(serverName) {
|
|
230
|
-
return join(getSocketDir(), `${serverName}.pid`);
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Generate a hash of server config for stale detection
|
|
234
|
-
* Returns consistent hash for identical configs
|
|
235
|
-
*/
|
|
236
|
-
export function getConfigHash(config) {
|
|
237
|
-
const str = JSON.stringify(config, Object.keys(config).sort());
|
|
238
|
-
return createHash('sha256').update(str).digest('hex').slice(0, 16);
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Check if strict environment variable mode is enabled
|
|
242
|
-
* @env MCP_STRICT_ENV - set to "false" to warn instead of error (default: true)
|
|
243
|
-
*/
|
|
244
|
-
function isStrictEnvMode() {
|
|
245
|
-
const value = process.env.MCP_STRICT_ENV?.toLowerCase();
|
|
246
|
-
return value !== 'false' && value !== '0';
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Substitute environment variables in a string
|
|
250
|
-
* Supports ${VAR_NAME} syntax
|
|
251
|
-
*
|
|
252
|
-
* By default (strict mode), throws an error when referenced env var is not set.
|
|
253
|
-
* Set MCP_STRICT_ENV=false to warn instead of error.
|
|
254
|
-
*/
|
|
255
|
-
function substituteEnvVars(value) {
|
|
256
|
-
const missingVars = [];
|
|
257
|
-
const result = value.replace(/\$\{([^}]+)\}/g, (match, varName) => {
|
|
258
|
-
const envValue = process.env[varName];
|
|
259
|
-
if (envValue === undefined) {
|
|
260
|
-
missingVars.push(varName);
|
|
261
|
-
return '';
|
|
262
|
-
}
|
|
263
|
-
return envValue;
|
|
264
|
-
});
|
|
265
|
-
if (missingVars.length > 0) {
|
|
266
|
-
const varList = missingVars.map((v) => `\${${v}}`).join(', ');
|
|
267
|
-
const message = `Missing environment variable${missingVars.length > 1 ? 's' : ''}: ${varList}`;
|
|
268
|
-
if (isStrictEnvMode()) {
|
|
269
|
-
throw new Error(formatCliError({
|
|
270
|
-
code: ErrorCode.CLIENT_ERROR,
|
|
271
|
-
type: 'MISSING_ENV_VAR',
|
|
272
|
-
message: message,
|
|
273
|
-
details: 'Referenced in config but not set in environment',
|
|
274
|
-
suggestion: `Set the variable(s) before running: export ${missingVars[0]}="value" or set MCP_STRICT_ENV=false to use empty values`,
|
|
275
|
-
}));
|
|
276
|
-
}
|
|
277
|
-
// Non-strict mode: warn but continue
|
|
278
|
-
console.error(`[pibo mcp] Warning: ${message}`);
|
|
279
|
-
}
|
|
280
|
-
return result;
|
|
281
|
-
}
|
|
282
|
-
/**
|
|
283
|
-
* Recursively substitute environment variables in an object
|
|
284
|
-
*/
|
|
285
|
-
function substituteEnvVarsInObject(obj) {
|
|
286
|
-
if (typeof obj === 'string') {
|
|
287
|
-
return substituteEnvVars(obj);
|
|
288
|
-
}
|
|
289
|
-
if (Array.isArray(obj)) {
|
|
290
|
-
return obj.map(substituteEnvVarsInObject);
|
|
291
|
-
}
|
|
292
|
-
if (obj && typeof obj === 'object') {
|
|
293
|
-
const result = {};
|
|
294
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
295
|
-
result[key] = substituteEnvVarsInObject(value);
|
|
296
|
-
}
|
|
297
|
-
return result;
|
|
298
|
-
}
|
|
299
|
-
return obj;
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Get default config search paths
|
|
303
|
-
*/
|
|
304
|
-
export function getDefaultConfigPaths() {
|
|
305
|
-
const paths = [];
|
|
306
|
-
const home = homedir();
|
|
307
|
-
// Current directory
|
|
308
|
-
paths.push(resolve(DEFAULT_MCP_CONFIG_FILE));
|
|
309
|
-
// Home directory variants
|
|
310
|
-
paths.push(join(home, '.mcp_servers.json'));
|
|
311
|
-
paths.push(join(home, '.config', 'mcp', 'mcp_servers.json'));
|
|
312
|
-
return paths;
|
|
313
|
-
}
|
|
314
|
-
export function getConfigSearchPaths(explicitPath) {
|
|
315
|
-
const paths = [];
|
|
316
|
-
if (explicitPath) {
|
|
317
|
-
paths.push(resolve(explicitPath));
|
|
318
|
-
}
|
|
319
|
-
if (process.env.MCP_CONFIG_PATH) {
|
|
320
|
-
paths.push(resolve(process.env.MCP_CONFIG_PATH));
|
|
321
|
-
}
|
|
322
|
-
paths.push(...getDefaultConfigPaths());
|
|
323
|
-
return [...new Set(paths)];
|
|
324
|
-
}
|
|
325
|
-
export function getPreferredConfigPath(explicitPath) {
|
|
326
|
-
if (explicitPath) {
|
|
327
|
-
return resolve(explicitPath);
|
|
328
|
-
}
|
|
329
|
-
if (process.env.MCP_CONFIG_PATH) {
|
|
330
|
-
return resolve(process.env.MCP_CONFIG_PATH);
|
|
331
|
-
}
|
|
332
|
-
return resolve(DEFAULT_MCP_CONFIG_FILE);
|
|
333
|
-
}
|
|
334
|
-
export function findConfigPath(explicitPath) {
|
|
335
|
-
if (explicitPath) {
|
|
336
|
-
const resolvedPath = resolve(explicitPath);
|
|
337
|
-
return existsSync(resolvedPath) ? resolvedPath : undefined;
|
|
338
|
-
}
|
|
339
|
-
if (process.env.MCP_CONFIG_PATH) {
|
|
340
|
-
const resolvedPath = resolve(process.env.MCP_CONFIG_PATH);
|
|
341
|
-
return existsSync(resolvedPath) ? resolvedPath : undefined;
|
|
342
|
-
}
|
|
343
|
-
return getDefaultConfigPaths().find((path) => existsSync(path));
|
|
344
|
-
}
|
|
345
|
-
export async function ensureConfigExists(explicitPath) {
|
|
346
|
-
const existingPath = findConfigPath(explicitPath);
|
|
347
|
-
if (existingPath) {
|
|
348
|
-
return existingPath;
|
|
349
|
-
}
|
|
350
|
-
const configPath = getPreferredConfigPath(explicitPath);
|
|
351
|
-
await mkdir(dirname(configPath), { recursive: true });
|
|
352
|
-
await writeFile(configPath, `${JSON.stringify({ mcpServers: {} }, null, 2)}\n`);
|
|
353
|
-
return configPath;
|
|
354
|
-
}
|
|
355
|
-
async function readRawConfig(configPath) {
|
|
356
|
-
const content = await readFile(configPath, 'utf-8');
|
|
357
|
-
let config;
|
|
358
|
-
try {
|
|
359
|
-
config = JSON.parse(content);
|
|
360
|
-
}
|
|
361
|
-
catch (e) {
|
|
362
|
-
throw new Error(formatCliError(configInvalidJsonError(configPath, e.message)));
|
|
363
|
-
}
|
|
364
|
-
if (!config.mcpServers || typeof config.mcpServers !== 'object') {
|
|
365
|
-
throw new Error(formatCliError(configMissingFieldError(configPath)));
|
|
366
|
-
}
|
|
367
|
-
return config;
|
|
368
|
-
}
|
|
369
|
-
function validateServerConfig(serverName, serverConfig) {
|
|
370
|
-
if (!serverConfig || typeof serverConfig !== 'object') {
|
|
371
|
-
throw new Error(formatCliError({
|
|
372
|
-
code: ErrorCode.CLIENT_ERROR,
|
|
373
|
-
type: 'CONFIG_INVALID_SERVER',
|
|
374
|
-
message: `Invalid server configuration for "${serverName}"`,
|
|
375
|
-
details: 'Server config must be an object',
|
|
376
|
-
suggestion: `Use { "command": "..." } for stdio or { "url": "..." } for HTTP`,
|
|
377
|
-
}));
|
|
378
|
-
}
|
|
379
|
-
const hasCommand = 'command' in serverConfig;
|
|
380
|
-
const hasUrl = 'url' in serverConfig;
|
|
381
|
-
if (!hasCommand && !hasUrl) {
|
|
382
|
-
throw new Error(formatCliError({
|
|
383
|
-
code: ErrorCode.CLIENT_ERROR,
|
|
384
|
-
type: 'CONFIG_INVALID_SERVER',
|
|
385
|
-
message: `Server "${serverName}" missing required field`,
|
|
386
|
-
details: `Must have either "command" (for stdio) or "url" (for HTTP)`,
|
|
387
|
-
suggestion: `Add "command": "npx ..." for local servers or "url": "https://..." for remote servers`,
|
|
388
|
-
}));
|
|
389
|
-
}
|
|
390
|
-
if (hasCommand && hasUrl) {
|
|
391
|
-
throw new Error(formatCliError({
|
|
392
|
-
code: ErrorCode.CLIENT_ERROR,
|
|
393
|
-
type: 'CONFIG_INVALID_SERVER',
|
|
394
|
-
message: `Server "${serverName}" has both "command" and "url"`,
|
|
395
|
-
details: 'A server must be either stdio (command) or HTTP (url), not both',
|
|
396
|
-
suggestion: `Remove one of "command" or "url"`,
|
|
397
|
-
}));
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
/**
|
|
401
|
-
* Load and merge MCP servers configuration.
|
|
402
|
-
* More specific paths appear first and win server-name conflicts.
|
|
403
|
-
*/
|
|
404
|
-
export async function loadConfig(explicitPath) {
|
|
405
|
-
const explicitOrEnvPath = explicitPath
|
|
406
|
-
? resolve(explicitPath)
|
|
407
|
-
: process.env.MCP_CONFIG_PATH
|
|
408
|
-
? resolve(process.env.MCP_CONFIG_PATH)
|
|
409
|
-
: undefined;
|
|
410
|
-
if (explicitOrEnvPath && !existsSync(explicitOrEnvPath)) {
|
|
411
|
-
throw new Error(formatCliError(configNotFoundError(explicitOrEnvPath)));
|
|
412
|
-
}
|
|
413
|
-
const existingPaths = getConfigSearchPaths(explicitPath).filter((path) => existsSync(path));
|
|
414
|
-
if (existingPaths.length === 0) {
|
|
415
|
-
throw new Error(formatCliError(configSearchError()));
|
|
416
|
-
}
|
|
417
|
-
const merged = { mcpServers: {} };
|
|
418
|
-
for (const configPath of existingPaths) {
|
|
419
|
-
const config = await readRawConfig(configPath);
|
|
420
|
-
for (const [serverName, serverConfig] of Object.entries(config.mcpServers)) {
|
|
421
|
-
if (!(serverName in merged.mcpServers)) {
|
|
422
|
-
merged.mcpServers[serverName] = serverConfig;
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
for (const [serverName, serverConfig] of Object.entries(merged.mcpServers)) {
|
|
427
|
-
validateServerConfig(serverName, serverConfig);
|
|
428
|
-
}
|
|
429
|
-
return substituteEnvVarsInObject(merged);
|
|
430
|
-
}
|
|
431
|
-
export async function getConfigSourceSummaries(explicitPath) {
|
|
432
|
-
const summaries = [];
|
|
433
|
-
for (const configPath of getConfigSearchPaths(explicitPath)) {
|
|
434
|
-
if (!existsSync(configPath)) {
|
|
435
|
-
summaries.push({ path: configPath, exists: false, servers: [] });
|
|
436
|
-
continue;
|
|
437
|
-
}
|
|
438
|
-
const config = await readRawConfig(configPath);
|
|
439
|
-
summaries.push({
|
|
440
|
-
path: configPath,
|
|
441
|
-
exists: true,
|
|
442
|
-
servers: Object.keys(config.mcpServers),
|
|
443
|
-
});
|
|
444
|
-
}
|
|
445
|
-
return summaries;
|
|
446
|
-
}
|
|
447
|
-
export function formatConfigSourceSummaries(summaries) {
|
|
448
|
-
return summaries
|
|
449
|
-
.map((summary) => {
|
|
450
|
-
const serverList = summary.exists
|
|
451
|
-
? summary.servers.join(', ') || '(none)'
|
|
452
|
-
: '(not found)';
|
|
453
|
-
return ` - ${summary.path}: ${serverList}`;
|
|
454
|
-
})
|
|
455
|
-
.join('\n');
|
|
456
|
-
}
|
|
457
|
-
/**
|
|
458
|
-
* Get a specific server config by name
|
|
459
|
-
*/
|
|
460
|
-
export function getServerConfig(config, serverName) {
|
|
461
|
-
const server = config.mcpServers[serverName];
|
|
462
|
-
if (!server) {
|
|
463
|
-
const available = Object.keys(config.mcpServers);
|
|
464
|
-
throw new Error(formatCliError(serverNotFoundError(serverName, available)));
|
|
465
|
-
}
|
|
466
|
-
return server;
|
|
467
|
-
}
|
|
468
|
-
/**
|
|
469
|
-
* List all server names
|
|
470
|
-
*/
|
|
471
|
-
export function listServerNames(config) {
|
|
472
|
-
return Object.keys(config.mcpServers);
|
|
473
|
-
}
|