xling 0.7.2 → 0.8.0
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/dist/{base-BxGCoslm.d.ts → base-D1dmjxMJ.d.ts} +2 -2
- package/dist/{base-D1BJt9i-.d.ts → base-cU3wAZ3x.d.ts} +2 -2
- package/dist/{base-DtcPVpvU.js → base-xqced3zT.js} +1 -1
- package/dist/claude-DsuN4tnK.js +1 -0
- package/dist/claude-F-aLoUUK.js +1 -0
- package/dist/{codex-sOnl7pFp.js → codex-9KXsEKx4.js} +1 -1
- package/dist/{codex-Dl7Rx7Nr.js → codex-BDB0z8Gw.js} +1 -1
- package/dist/commands/discuss/index.d.ts +11 -0
- package/dist/commands/discuss/index.js +13 -0
- package/dist/commands/git/index.js +2 -2
- package/dist/commands/git/prc.js +1 -1
- package/dist/commands/git/prr.js +1 -1
- package/dist/commands/git/prv.js +1 -1
- package/dist/commands/git/worktree.js +1 -1
- package/dist/commands/git/wta.js +3 -2
- package/dist/commands/git/wtl.js +1 -1
- package/dist/commands/git/wtp.js +1 -1
- package/dist/commands/git/wtr.js +3 -2
- package/dist/commands/git/wts.js +3 -2
- package/dist/commands/p/index.js +9 -9
- package/dist/commands/settings/get.js +1 -1
- package/dist/commands/settings/inspect.js +1 -1
- package/dist/commands/settings/list.js +1 -1
- package/dist/commands/settings/set.js +1 -1
- package/dist/commands/settings/switch.js +1 -1
- package/dist/commands/sx/index.js +1 -1
- package/dist/commands/version/index.js +1 -1
- package/dist/commands/x/index.js +6 -3
- package/dist/{create-CKUHliul.js → create-DiqmyIaU.js} +1 -1
- package/dist/{dispatcher-BYazaYbC.js → dispatcher-1aCGdFHn.js} +1 -1
- package/dist/dispatcher-CbGO-tBH.js +1 -0
- package/dist/{dispatcher-D4bEJonH.js → dispatcher-Ci7OG66P.js} +1 -1
- package/dist/domain/git.d.ts +1 -1
- package/dist/domain/interfaces.d.ts +2 -2
- package/dist/domain/types.d.ts +1 -1
- package/dist/domain/validators.d.ts +1 -1
- package/dist/domain/xling/config.d.ts +1 -1
- package/dist/domain/xling/config.js +1 -1
- package/dist/domain/xling/template.d.ts +1 -1
- package/dist/domain/xling/template.js +1 -1
- package/dist/editor-BmJI32_P.js +1 -0
- package/dist/engine-9wDtUZun.js +22 -0
- package/dist/fsStore-BzLA1cBc.js +1 -0
- package/dist/gemini-CPA89gOH.js +1 -0
- package/dist/gemini-DKTklp3n.js +1 -0
- package/dist/{git-DLTG_wRS.d.ts → git-V9GtR5WK.d.ts} +3 -0
- package/dist/{interfaces-D5gBXflS.d.ts → interfaces-BOV8jLcZ.d.ts} +1 -1
- package/dist/{pr-DjdO-vJk.js → pr-DC2iMrPz.js} +1 -1
- package/dist/{providerRegistry-Bn9hIwS3.d.ts → providerRegistry-BSW4cdkC.d.ts} +1 -1
- package/dist/providerRegistry-DXZVv1rc.js +1 -0
- package/dist/router-0L4SOM5H.d.ts +50 -0
- package/dist/router-Dq8YoWty.js +6 -0
- package/dist/run.js +1 -1
- package/dist/runner-B6FwKadj.js +1 -0
- package/dist/server-DZmOQ_ym.js +1 -0
- package/dist/services/discuss/engine.d.ts +60 -0
- package/dist/services/discuss/engine.js +1 -0
- package/dist/services/discuss/room.d.ts +24 -0
- package/dist/services/discuss/room.js +10 -0
- package/dist/services/discuss/server.d.ts +6 -0
- package/dist/services/discuss/server.js +1 -0
- package/dist/services/git/create.d.ts +1 -1
- package/dist/services/git/create.js +1 -1
- package/dist/services/git/dispatcher.d.ts +1 -1
- package/dist/services/git/dispatcher.js +1 -1
- package/dist/services/git/pr.d.ts +1 -1
- package/dist/services/git/pr.js +1 -1
- package/dist/services/git/utils.js +1 -1
- package/dist/services/git/view.d.ts +1 -1
- package/dist/services/git/view.js +1 -1
- package/dist/services/git/worktree.d.ts +1 -1
- package/dist/services/git/worktree.js +1 -1
- package/dist/services/launch/adapters/base.d.ts +3 -3
- package/dist/services/launch/adapters/base.js +1 -1
- package/dist/services/launch/adapters/claude.d.ts +3 -3
- package/dist/services/launch/adapters/claude.js +1 -1
- package/dist/services/launch/adapters/codex.d.ts +3 -3
- package/dist/services/launch/adapters/codex.js +1 -1
- package/dist/services/launch/adapters/gemini.d.ts +25 -0
- package/dist/services/launch/adapters/gemini.js +1 -0
- package/dist/services/launch/dispatcher.d.ts +2 -2
- package/dist/services/launch/dispatcher.js +1 -1
- package/dist/services/prompt/client.d.ts +2 -2
- package/dist/services/prompt/client.js +1 -1
- package/dist/services/prompt/providerRegistry.d.ts +2 -2
- package/dist/services/prompt/providerRegistry.js +1 -1
- package/dist/services/prompt/router.d.ts +4 -45
- package/dist/services/prompt/router.js +1 -1
- package/dist/services/prompt/types.d.ts +1 -1
- package/dist/services/prompt/types.js +1 -1
- package/dist/services/settings/adapters/base.d.ts +3 -3
- package/dist/services/settings/adapters/base.js +1 -1
- package/dist/services/settings/adapters/claude.d.ts +3 -3
- package/dist/services/settings/adapters/claude.js +1 -1
- package/dist/services/settings/adapters/codex.d.ts +3 -3
- package/dist/services/settings/adapters/codex.js +1 -1
- package/dist/services/settings/adapters/gemini.d.ts +3 -3
- package/dist/services/settings/adapters/gemini.js +1 -1
- package/dist/services/settings/adapters/xling.d.ts +4 -4
- package/dist/services/settings/adapters/xling.js +1 -1
- package/dist/services/settings/dispatcher.d.ts +2 -2
- package/dist/services/settings/dispatcher.js +1 -1
- package/dist/services/settings/fsStore.d.ts +1 -1
- package/dist/services/settings/fsStore.js +1 -1
- package/dist/services/settings/templates/claudeDefault.d.ts +1 -1
- package/dist/services/settings/templates/claudeDefault.js +1 -1
- package/dist/services/shortcuts/runner.d.ts +2 -2
- package/dist/services/shortcuts/runner.js +1 -1
- package/dist/services/shortcuts/types.d.ts +2 -2
- package/dist/services/shortcuts/types.js +1 -1
- package/dist/{types-DEhRpmh5.d.ts → types-Bm4Am7Ym.d.ts} +1 -1
- package/dist/ui/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/ui/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/ui/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/ui/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/ui/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/ui/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/ui/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/ui/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/ui/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/ui/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/ui/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/ui/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/ui/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/ui/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/ui/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/ui/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/ui/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/ui/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/ui/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/ui/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/ui/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/ui/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/ui/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/ui/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/ui/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/ui/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/ui/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/ui/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/ui/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/ui/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/ui/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/ui/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/ui/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/ui/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/ui/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/ui/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/ui/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/ui/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/ui/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/ui/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/ui/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/ui/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/ui/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/ui/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/ui/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/ui/assets/_basePickBy-BrOMuZGr.js +1 -0
- package/dist/ui/assets/_baseUniq-CLlUgRzq.js +1 -0
- package/dist/ui/assets/abap-BdImnpbu.js +1 -0
- package/dist/ui/assets/actionscript-3-CfeIJUat.js +1 -0
- package/dist/ui/assets/ada-bCR0ucgS.js +1 -0
- package/dist/ui/assets/andromeeda-C-Jbm3Hp.js +1 -0
- package/dist/ui/assets/angular-html-CU67Zn6k.js +1 -0
- package/dist/ui/assets/angular-ts-BwZT4LLn.js +1 -0
- package/dist/ui/assets/apache-Pmp26Uib.js +1 -0
- package/dist/ui/assets/apex-DhZLUxFE.js +1 -0
- package/dist/ui/assets/apl-dKokRX4l.js +1 -0
- package/dist/ui/assets/applescript-Co6uUVPk.js +1 -0
- package/dist/ui/assets/ara-BRHolxvo.js +1 -0
- package/dist/ui/assets/arc-D7fRN70y.js +1 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-DsKlq06i.js +36 -0
- package/dist/ui/assets/asciidoc-Dv7Oe6Be.js +1 -0
- package/dist/ui/assets/asm-D_Q5rh1f.js +1 -0
- package/dist/ui/assets/astro-CbQHKStN.js +1 -0
- package/dist/ui/assets/aurora-x-D-2ljcwZ.js +1 -0
- package/dist/ui/assets/awk-DMzUqQB5.js +1 -0
- package/dist/ui/assets/ayu-dark-Cv9koXgw.js +1 -0
- package/dist/ui/assets/ballerina-BFfxhgS-.js +1 -0
- package/dist/ui/assets/bat-BkioyH1T.js +1 -0
- package/dist/ui/assets/beancount-k_qm7-4y.js +1 -0
- package/dist/ui/assets/berry-D08WgyRC.js +1 -0
- package/dist/ui/assets/bibtex-CHM0blh-.js +1 -0
- package/dist/ui/assets/bicep-Bmn6On1c.js +1 -0
- package/dist/ui/assets/blade-DVc8C-J4.js +1 -0
- package/dist/ui/assets/blockDiagram-VD42YOAC-DyAmezhb.js +122 -0
- package/dist/ui/assets/bsl-BO_Y6i37.js +1 -0
- package/dist/ui/assets/c-BIGW1oBm.js +1 -0
- package/dist/ui/assets/c4Diagram-YG6GDRKO-CS2H3k7i.js +10 -0
- package/dist/ui/assets/cadence-Bv_4Rxtq.js +1 -0
- package/dist/ui/assets/cairo-KRGpt6FW.js +1 -0
- package/dist/ui/assets/catppuccin-frappe-DFWUc33u.js +1 -0
- package/dist/ui/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
- package/dist/ui/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
- package/dist/ui/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
- package/dist/ui/assets/channel-BZYmMs6D.js +1 -0
- package/dist/ui/assets/chunk-4BX2VUAB-D5XLmGf7.js +1 -0
- package/dist/ui/assets/chunk-55IACEB6-t1vFApa4.js +1 -0
- package/dist/ui/assets/chunk-B4BG7PRW-CtYZJMmi.js +165 -0
- package/dist/ui/assets/chunk-DI55MBZ5-BB0DClk_.js +220 -0
- package/dist/ui/assets/chunk-FMBD7UC4-JjqWG5R5.js +15 -0
- package/dist/ui/assets/chunk-QN33PNHL-OSTF80EX.js +1 -0
- package/dist/ui/assets/chunk-QZHKN3VN-BXbKTIqJ.js +1 -0
- package/dist/ui/assets/chunk-TZMSLE5B-RMU05k7h.js +1 -0
- package/dist/ui/assets/clarity-D53aC0YG.js +1 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-Ddzs4rMm.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-Ddzs4rMm.js +1 -0
- package/dist/ui/assets/clojure-P80f7IUj.js +1 -0
- package/dist/ui/assets/clone-BQkpyYhz.js +1 -0
- package/dist/ui/assets/cmake-D1j8_8rp.js +1 -0
- package/dist/ui/assets/cobol-nwyudZeR.js +1 -0
- package/dist/ui/assets/codeowners-Bp6g37R7.js +1 -0
- package/dist/ui/assets/codeql-DsOJ9woJ.js +1 -0
- package/dist/ui/assets/coffee-Ch7k5sss.js +1 -0
- package/dist/ui/assets/common-lisp-Cg-RD9OK.js +1 -0
- package/dist/ui/assets/coq-DkFqJrB1.js +1 -0
- package/dist/ui/assets/cose-bilkent-S5V4N54A-w6dBrSLZ.js +1 -0
- package/dist/ui/assets/cpp-CofmeUqb.js +1 -0
- package/dist/ui/assets/crystal-tKQVLTB8.js +1 -0
- package/dist/ui/assets/csharp-CX12Zw3r.js +1 -0
- package/dist/ui/assets/css-DPfMkruS.js +1 -0
- package/dist/ui/assets/csv-fuZLfV_i.js +1 -0
- package/dist/ui/assets/cue-D82EKSYY.js +1 -0
- package/dist/ui/assets/cypher-COkxafJQ.js +1 -0
- package/dist/ui/assets/cytoscape.esm-BnkdMOzK.js +321 -0
- package/dist/ui/assets/d-85-TOEBH.js +1 -0
- package/dist/ui/assets/dagre-6UL2VRFP-rtPHNPi_.js +4 -0
- package/dist/ui/assets/dark-plus-eOWES_5F.js +1 -0
- package/dist/ui/assets/dart-CF10PKvl.js +1 -0
- package/dist/ui/assets/dax-CEL-wOlO.js +1 -0
- package/dist/ui/assets/defaultLocale-C4B-KCzX.js +1 -0
- package/dist/ui/assets/desktop-BmXAJ9_W.js +1 -0
- package/dist/ui/assets/diagram-PSM6KHXK-QRSKn8dG.js +24 -0
- package/dist/ui/assets/diagram-QEK2KX5R-Bv8COFN-.js +43 -0
- package/dist/ui/assets/diagram-S2PKOQOG-DL7TTvto.js +24 -0
- package/dist/ui/assets/diff-D97Zzqfu.js +1 -0
- package/dist/ui/assets/docker-BcOcwvcX.js +1 -0
- package/dist/ui/assets/dotenv-Da5cRb03.js +1 -0
- package/dist/ui/assets/dracula-BzJJZx-M.js +1 -0
- package/dist/ui/assets/dracula-soft-BXkSAIEj.js +1 -0
- package/dist/ui/assets/dream-maker-BtqSS_iP.js +1 -0
- package/dist/ui/assets/edge-BkV0erSs.js +1 -0
- package/dist/ui/assets/elixir-CDX3lj18.js +1 -0
- package/dist/ui/assets/elm-DbKCFpqz.js +1 -0
- package/dist/ui/assets/emacs-lisp-C9XAeP06.js +1 -0
- package/dist/ui/assets/erDiagram-Q2GNP2WA-Db4dAlQE.js +60 -0
- package/dist/ui/assets/erb-BOJIQeun.js +1 -0
- package/dist/ui/assets/erlang-DsQrWhSR.js +1 -0
- package/dist/ui/assets/everforest-dark-BgDCqdQA.js +1 -0
- package/dist/ui/assets/everforest-light-C8M2exoo.js +1 -0
- package/dist/ui/assets/fennel-BYunw83y.js +1 -0
- package/dist/ui/assets/fish-BvzEVeQv.js +1 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-DtxQHxbG.js +162 -0
- package/dist/ui/assets/fluent-C4IJs8-o.js +1 -0
- package/dist/ui/assets/fortran-fixed-form-BZjJHVRy.js +1 -0
- package/dist/ui/assets/fortran-free-form-D22FLkUw.js +1 -0
- package/dist/ui/assets/fsharp-CXgrBDvD.js +1 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-BRo_010r.js +267 -0
- package/dist/ui/assets/gdresource-B7Tvp0Sc.js +1 -0
- package/dist/ui/assets/gdscript-DTMYz4Jt.js +1 -0
- package/dist/ui/assets/gdshader-DkwncUOv.js +1 -0
- package/dist/ui/assets/genie-D0YGMca9.js +1 -0
- package/dist/ui/assets/gherkin-DyxjwDmM.js +1 -0
- package/dist/ui/assets/git-commit-F4YmCXRG.js +1 -0
- package/dist/ui/assets/git-rebase-r7XF79zn.js +1 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-Bqf49u8D.js +65 -0
- package/dist/ui/assets/github-dark-DHJKELXO.js +1 -0
- package/dist/ui/assets/github-dark-default-Cuk6v7N8.js +1 -0
- package/dist/ui/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
- package/dist/ui/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
- package/dist/ui/assets/github-light-DAi9KRSo.js +1 -0
- package/dist/ui/assets/github-light-default-D7oLnXFd.js +1 -0
- package/dist/ui/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
- package/dist/ui/assets/gleam-BspZqrRM.js +1 -0
- package/dist/ui/assets/glimmer-js-Rg0-pVw9.js +1 -0
- package/dist/ui/assets/glimmer-ts-U6CK756n.js +1 -0
- package/dist/ui/assets/glsl-DplSGwfg.js +1 -0
- package/dist/ui/assets/gnuplot-DdkO51Og.js +1 -0
- package/dist/ui/assets/go-Dn2_MT6a.js +1 -0
- package/dist/ui/assets/graph-DBtek8Pc.js +1 -0
- package/dist/ui/assets/graphql-ChdNCCLP.js +1 -0
- package/dist/ui/assets/groovy-gcz8RCvz.js +1 -0
- package/dist/ui/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
- package/dist/ui/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
- package/dist/ui/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
- package/dist/ui/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
- package/dist/ui/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
- package/dist/ui/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
- package/dist/ui/assets/hack-CaT9iCJl.js +1 -0
- package/dist/ui/assets/haml-B8DHNrY2.js +1 -0
- package/dist/ui/assets/handlebars-BL8al0AC.js +1 -0
- package/dist/ui/assets/haskell-Df6bDoY_.js +1 -0
- package/dist/ui/assets/haxe-CzTSHFRz.js +1 -0
- package/dist/ui/assets/hcl-BWvSN4gD.js +1 -0
- package/dist/ui/assets/hjson-D5-asLiD.js +1 -0
- package/dist/ui/assets/hlsl-D3lLCCz7.js +1 -0
- package/dist/ui/assets/houston-DnULxvSX.js +1 -0
- package/dist/ui/assets/html-GMplVEZG.js +1 -0
- package/dist/ui/assets/html-derivative-BFtXZ54Q.js +1 -0
- package/dist/ui/assets/http-jrhK8wxY.js +1 -0
- package/dist/ui/assets/hurl-irOxFIW8.js +1 -0
- package/dist/ui/assets/hxml-Bvhsp5Yf.js +1 -0
- package/dist/ui/assets/hy-DFXneXwc.js +1 -0
- package/dist/ui/assets/imba-DGztddWO.js +1 -0
- package/dist/ui/assets/index-Bk6VCV3F.css +1 -0
- package/dist/ui/assets/index-CRVl7PU1.js +3 -0
- package/dist/ui/assets/infoDiagram-ER5ION4S-2ysICqWT.js +2 -0
- package/dist/ui/assets/ini-BEwlwnbL.js +1 -0
- package/dist/ui/assets/init-Gi6I4Gst.js +1 -0
- package/dist/ui/assets/java-CylS5w8V.js +1 -0
- package/dist/ui/assets/javascript-wDzz0qaB.js +1 -0
- package/dist/ui/assets/jinja-4LBKfQ-Z.js +1 -0
- package/dist/ui/assets/jison-wvAkD_A8.js +1 -0
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-lObYsc63.js +139 -0
- package/dist/ui/assets/json-Cp-IABpG.js +1 -0
- package/dist/ui/assets/json5-C9tS-k6U.js +1 -0
- package/dist/ui/assets/jsonc-Des-eS-w.js +1 -0
- package/dist/ui/assets/jsonl-DcaNXYhu.js +1 -0
- package/dist/ui/assets/jsonnet-DFQXde-d.js +1 -0
- package/dist/ui/assets/jssm-C2t-YnRu.js +1 -0
- package/dist/ui/assets/jsx-g9-lgVsj.js +1 -0
- package/dist/ui/assets/julia-C8NyazO9.js +1 -0
- package/dist/ui/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
- package/dist/ui/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
- package/dist/ui/assets/kanagawa-wave-DWedfzmr.js +1 -0
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-CBlh-U0D.js +89 -0
- package/dist/ui/assets/katex-2KSn8t0Q.css +1 -0
- package/dist/ui/assets/kdl-DV7GczEv.js +1 -0
- package/dist/ui/assets/kotlin-BdnUsdx6.js +1 -0
- package/dist/ui/assets/kusto-BvAqAH-y.js +1 -0
- package/dist/ui/assets/laserwave-DUszq2jm.js +1 -0
- package/dist/ui/assets/latex-BUKiar2Z.js +1 -0
- package/dist/ui/assets/layout-B-xvErRv.js +1 -0
- package/dist/ui/assets/lean-DP1Csr6i.js +1 -0
- package/dist/ui/assets/less-B1dDrJ26.js +1 -0
- package/dist/ui/assets/light-plus-B7mTdjB0.js +1 -0
- package/dist/ui/assets/linear-CGrX9iZm.js +1 -0
- package/dist/ui/assets/liquid-DYVedYrR.js +1 -0
- package/dist/ui/assets/llvm-BtvRca6l.js +1 -0
- package/dist/ui/assets/log-2UxHyX5q.js +1 -0
- package/dist/ui/assets/logo-BtOb2qkB.js +1 -0
- package/dist/ui/assets/lua-BbnMAYS6.js +1 -0
- package/dist/ui/assets/luau-CXu1NL6O.js +1 -0
- package/dist/ui/assets/make-CHLpvVh8.js +1 -0
- package/dist/ui/assets/markdown-Cvjx9yec.js +1 -0
- package/dist/ui/assets/marko-CPi9NSCl.js +1 -0
- package/dist/ui/assets/material-theme-D5KoaKCx.js +1 -0
- package/dist/ui/assets/material-theme-darker-BfHTSMKl.js +1 -0
- package/dist/ui/assets/material-theme-lighter-B0m2ddpp.js +1 -0
- package/dist/ui/assets/material-theme-ocean-CyktbL80.js +1 -0
- package/dist/ui/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
- package/dist/ui/assets/matlab-D7o27uSR.js +1 -0
- package/dist/ui/assets/mdc-DUICxH0z.js +1 -0
- package/dist/ui/assets/mdx-Cmh6b_Ma.js +1 -0
- package/dist/ui/assets/mermaid-DKYwYmdq.js +1 -0
- package/dist/ui/assets/mermaid.core-vpMycq6-.js +191 -0
- package/dist/ui/assets/min-dark-CafNBF8u.js +1 -0
- package/dist/ui/assets/min-light-CTRr51gU.js +1 -0
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-OTlol3JR.js +68 -0
- package/dist/ui/assets/mipsasm-CKIfxQSi.js +1 -0
- package/dist/ui/assets/mojo-1DNp92w6.js +1 -0
- package/dist/ui/assets/monokai-D4h5O-jR.js +1 -0
- package/dist/ui/assets/move-Bu9oaDYs.js +1 -0
- package/dist/ui/assets/narrat-DRg8JJMk.js +1 -0
- package/dist/ui/assets/nextflow-CUEJCptM.js +1 -0
- package/dist/ui/assets/nginx-DknmC5AR.js +1 -0
- package/dist/ui/assets/night-owl-C39BiMTA.js +1 -0
- package/dist/ui/assets/nim-CVrawwO9.js +1 -0
- package/dist/ui/assets/nix-BbRYJGeE.js +1 -0
- package/dist/ui/assets/nord-Ddv68eIx.js +1 -0
- package/dist/ui/assets/nushell-C-sUppwS.js +1 -0
- package/dist/ui/assets/objective-c-DXmwc3jG.js +1 -0
- package/dist/ui/assets/objective-cpp-CLxacb5B.js +1 -0
- package/dist/ui/assets/ocaml-C0hk2d4L.js +1 -0
- package/dist/ui/assets/one-dark-pro-DVMEJ2y_.js +1 -0
- package/dist/ui/assets/one-light-PoHY5YXO.js +1 -0
- package/dist/ui/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist/ui/assets/pascal-D93ZcfNL.js +1 -0
- package/dist/ui/assets/perl-C0TMdlhV.js +1 -0
- package/dist/ui/assets/php-CDn_0X-4.js +1 -0
- package/dist/ui/assets/pieDiagram-ADFJNKIX-1hE-yPBU.js +30 -0
- package/dist/ui/assets/pkl-u5AG7uiY.js +1 -0
- package/dist/ui/assets/plastic-3e1v2bzS.js +1 -0
- package/dist/ui/assets/plsql-ChMvpjG-.js +1 -0
- package/dist/ui/assets/po-BTJTHyun.js +1 -0
- package/dist/ui/assets/poimandres-CS3Unz2-.js +1 -0
- package/dist/ui/assets/polar-C0HS_06l.js +1 -0
- package/dist/ui/assets/postcss-CXtECtnM.js +1 -0
- package/dist/ui/assets/powerquery-CEu0bR-o.js +1 -0
- package/dist/ui/assets/powershell-Dpen1YoG.js +1 -0
- package/dist/ui/assets/prisma-Dd19v3D-.js +1 -0
- package/dist/ui/assets/prolog-CbFg5uaA.js +1 -0
- package/dist/ui/assets/proto-DyJlTyXw.js +1 -0
- package/dist/ui/assets/pug-CGlum2m_.js +1 -0
- package/dist/ui/assets/puppet-BMWR74SV.js +1 -0
- package/dist/ui/assets/purescript-CklMAg4u.js +1 -0
- package/dist/ui/assets/python-B6aJPvgy.js +1 -0
- package/dist/ui/assets/qml-3beO22l8.js +1 -0
- package/dist/ui/assets/qmldir-C8lEn-DE.js +1 -0
- package/dist/ui/assets/qss-IeuSbFQv.js +1 -0
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-pZ8GYqiI.js +7 -0
- package/dist/ui/assets/r-DiinP2Uv.js +1 -0
- package/dist/ui/assets/racket-BqYA7rlc.js +1 -0
- package/dist/ui/assets/raku-DXvB9xmW.js +1 -0
- package/dist/ui/assets/razor-WgofotgN.js +1 -0
- package/dist/ui/assets/red-bN70gL4F.js +1 -0
- package/dist/ui/assets/reg-C-SQnVFl.js +1 -0
- package/dist/ui/assets/regexp-CDVJQ6XC.js +1 -0
- package/dist/ui/assets/rel-C3B-1QV4.js +1 -0
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-D5m0UmwA.js +64 -0
- package/dist/ui/assets/riscv-BM1_JUlF.js +1 -0
- package/dist/ui/assets/rose-pine-BHrmToEH.js +1 -0
- package/dist/ui/assets/rose-pine-dawn-CnK8MTSM.js +1 -0
- package/dist/ui/assets/rose-pine-moon-NleAzG8P.js +1 -0
- package/dist/ui/assets/rosmsg-BJDFO7_C.js +1 -0
- package/dist/ui/assets/rst-B0xPkSld.js +1 -0
- package/dist/ui/assets/ruby-BvKwtOVI.js +1 -0
- package/dist/ui/assets/rust-B1yitclQ.js +1 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-B3cZY-8w.js +10 -0
- package/dist/ui/assets/sas-cz2c8ADy.js +1 -0
- package/dist/ui/assets/sass-Cj5Yp3dK.js +1 -0
- package/dist/ui/assets/scala-C151Ov-r.js +1 -0
- package/dist/ui/assets/scheme-C98Dy4si.js +1 -0
- package/dist/ui/assets/scss-OYdSNvt2.js +1 -0
- package/dist/ui/assets/sdbl-DVxCFoDh.js +1 -0
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-DI6mbxvH.js +145 -0
- package/dist/ui/assets/shaderlab-Dg9Lc6iA.js +1 -0
- package/dist/ui/assets/shellscript-Yzrsuije.js +1 -0
- package/dist/ui/assets/shellsession-BADoaaVG.js +1 -0
- package/dist/ui/assets/slack-dark-BthQWCQV.js +1 -0
- package/dist/ui/assets/slack-ochin-DqwNpetd.js +1 -0
- package/dist/ui/assets/smalltalk-BERRCDM3.js +1 -0
- package/dist/ui/assets/snazzy-light-Bw305WKR.js +1 -0
- package/dist/ui/assets/solarized-dark-DXbdFlpD.js +1 -0
- package/dist/ui/assets/solarized-light-L9t79GZl.js +1 -0
- package/dist/ui/assets/solidity-BbcW6ACK.js +1 -0
- package/dist/ui/assets/soy-Brmx7dQM.js +1 -0
- package/dist/ui/assets/sparql-rVzFXLq3.js +1 -0
- package/dist/ui/assets/splunk-BtCnVYZw.js +1 -0
- package/dist/ui/assets/sql-BLtJtn59.js +1 -0
- package/dist/ui/assets/ssh-config-_ykCGR6B.js +1 -0
- package/dist/ui/assets/stata-BH5u7GGu.js +1 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BCHnzn-Y.js +1 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DU7g1ZZ2.js +1 -0
- package/dist/ui/assets/stylus-BEDo0Tqx.js +1 -0
- package/dist/ui/assets/svelte-3Dk4HxPD.js +1 -0
- package/dist/ui/assets/swift-Dg5xB15N.js +1 -0
- package/dist/ui/assets/synthwave-84-CbfX1IO0.js +1 -0
- package/dist/ui/assets/system-verilog-CnnmHF94.js +1 -0
- package/dist/ui/assets/systemd-4A_iFExJ.js +1 -0
- package/dist/ui/assets/talonscript-CkByrt1z.js +1 -0
- package/dist/ui/assets/tasl-QIJgUcNo.js +1 -0
- package/dist/ui/assets/tcl-dwOrl1Do.js +1 -0
- package/dist/ui/assets/templ-W15q3VgB.js +1 -0
- package/dist/ui/assets/terraform-BETggiCN.js +1 -0
- package/dist/ui/assets/tex-Cppo0RY3.js +1 -0
- package/dist/ui/assets/timeline-definition-IT6M3QCI-CT_-fZLy.js +61 -0
- package/dist/ui/assets/tokyo-night-hegEt444.js +1 -0
- package/dist/ui/assets/toml-vGWfd6FD.js +1 -0
- package/dist/ui/assets/treemap-KMMF4GRG-B1_lQXOH.js +128 -0
- package/dist/ui/assets/ts-tags-zn1MmPIZ.js +1 -0
- package/dist/ui/assets/tsv-B_m7g4N7.js +1 -0
- package/dist/ui/assets/tsx-COt5Ahok.js +1 -0
- package/dist/ui/assets/turtle-BsS91CYL.js +1 -0
- package/dist/ui/assets/twig-CO9l9SDP.js +1 -0
- package/dist/ui/assets/typescript-BPQ3VLAy.js +1 -0
- package/dist/ui/assets/typespec-Df68jz8_.js +1 -0
- package/dist/ui/assets/typst-DHCkPAjA.js +1 -0
- package/dist/ui/assets/v-BcVCzyr7.js +1 -0
- package/dist/ui/assets/vala-CsfeWuGM.js +1 -0
- package/dist/ui/assets/vb-D17OF-Vu.js +1 -0
- package/dist/ui/assets/vendor-react-labSKdyf.js +8 -0
- package/dist/ui/assets/vendor-streamdown-CzceDSbi.js +524 -0
- package/dist/ui/assets/vendor-ui-Bgu4xzPa.js +45 -0
- package/dist/ui/assets/verilog-BQ8w6xss.js +1 -0
- package/dist/ui/assets/vesper-DU1UobuO.js +1 -0
- package/dist/ui/assets/vhdl-CeAyd5Ju.js +1 -0
- package/dist/ui/assets/viml-CJc9bBzg.js +1 -0
- package/dist/ui/assets/vitesse-black-Bkuqu6BP.js +1 -0
- package/dist/ui/assets/vitesse-dark-D0r3Knsf.js +1 -0
- package/dist/ui/assets/vitesse-light-CVO1_9PV.js +1 -0
- package/dist/ui/assets/vue-CCoi5OLL.js +1 -0
- package/dist/ui/assets/vue-html-DAAvJJDi.js +1 -0
- package/dist/ui/assets/vue-vine-_Ih-lPRR.js +1 -0
- package/dist/ui/assets/vyper-CDx5xZoG.js +1 -0
- package/dist/ui/assets/wasm-CG6Dc4jp.js +1 -0
- package/dist/ui/assets/wasm-MzD3tlZU.js +1 -0
- package/dist/ui/assets/wenyan-BV7otONQ.js +1 -0
- package/dist/ui/assets/wgsl-Dx-B1_4e.js +1 -0
- package/dist/ui/assets/wikitext-BhOHFoWU.js +1 -0
- package/dist/ui/assets/wit-5i3qLPDT.js +1 -0
- package/dist/ui/assets/wolfram-lXgVvXCa.js +1 -0
- package/dist/ui/assets/xml-sdJ4AIDG.js +1 -0
- package/dist/ui/assets/xsl-CtQFsRM5.js +1 -0
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-BdjpdR2a.js +7 -0
- package/dist/ui/assets/yaml-Buea-lGh.js +1 -0
- package/dist/ui/assets/zenscript-DVFEvuxE.js +1 -0
- package/dist/ui/assets/zig-VOosw3JB.js +1 -0
- package/dist/ui/index.html +16 -0
- package/dist/utils/editor.js +1 -1
- package/dist/utils/format.d.ts +1 -1
- package/dist/utils/runner.d.ts +1 -1
- package/dist/{view-JZaEEspp.js → view-BZmgL-cB.js} +1 -1
- package/dist/worktree-DTI5xaFs.js +8 -0
- package/dist/xling-DyktHkvX.js +1 -0
- package/package.json +30 -3
- package/dist/claude-C6lOG2Mk.js +0 -1
- package/dist/claude-lgXq7-0w.js +0 -1
- package/dist/dispatcher-5y9x6plQ.js +0 -1
- package/dist/editor-CUiekAEb.js +0 -1
- package/dist/fsStore-S8RslR8L.js +0 -1
- package/dist/gemini-DQoPiuiw.js +0 -1
- package/dist/providerRegistry-Cljln1eo.js +0 -1
- package/dist/router-DX-dIEei.js +0 -1
- package/dist/runner-Bi5mGd-w.js +0 -1
- package/dist/worktree-BuIXmI0X.js +0 -4
- package/dist/xling-BxVsmPja.js +0 -1
- /package/dist/{base-CSwZL00J.js → base-FY_XeKpj.js} +0 -0
- /package/dist/{claudeDefault-ewrEKzlX.js → claudeDefault-B8XYzR_k.js} +0 -0
- /package/dist/{client-DTC49Rug.js → client-CG1X3JM2.js} +0 -0
- /package/dist/{config-JHw2hqMN.js → config-Bphz_1Sc.js} +0 -0
- /package/dist/{config-DmuPKkuB.d.ts → config-Dcd8WufG.d.ts} +0 -0
- /package/dist/{template-B19CdPfg.js → template-Cpbt9qy8.js} +0 -0
- /package/dist/{types-CCJ9fk7X.d.ts → types-BWB8Eif2.d.ts} +0 -0
- /package/dist/{types-99-EmVXg.js → types-D9R5QJnK.js} +0 -0
- /package/dist/{types-DblJSHMa.js → types-DI1Q0wjk.js} +0 -0
- /package/dist/{types-RoapPbyI.d.ts → types-lRv_6IzV.d.ts} +0 -0
- /package/dist/{utils-DDnNMPIq.js → utils-DMbpVz3Q.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { f as SettingsListData, g as ToolId, h as SwitchOptions, i as InspectResult, l as Scope, m as SettingsResult, r as EditOptions, t as ConfigObject } from "./types-
|
|
2
|
-
import { n as SettingsAdapter } from "./interfaces-
|
|
1
|
+
import { f as SettingsListData, g as ToolId, h as SwitchOptions, i as InspectResult, l as Scope, m as SettingsResult, r as EditOptions, t as ConfigObject } from "./types-lRv_6IzV.js";
|
|
2
|
+
import { n as SettingsAdapter } from "./interfaces-BOV8jLcZ.js";
|
|
3
3
|
|
|
4
4
|
//#region src/services/settings/adapters/base.d.ts
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as LaunchCommandSpec, g as ToolId } from "./types-
|
|
2
|
-
import { t as LaunchAdapter } from "./interfaces-
|
|
1
|
+
import { a as LaunchCommandSpec, g as ToolId } from "./types-lRv_6IzV.js";
|
|
2
|
+
import { t as LaunchAdapter } from "./interfaces-BOV8jLcZ.js";
|
|
3
3
|
|
|
4
4
|
//#region src/services/launch/adapters/base.d.ts
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./errors-pXKbCKbL.js";import{a as t,c as n,i as r,r as i}from"./fsStore-
|
|
1
|
+
import{c as e}from"./errors-pXKbCKbL.js";import{a as t,c as n,i as r,r as i}from"./fsStore-BzLA1cBc.js";var a=class{async list(t){if(!this.validateScope(t))throw new e(t);let n=this.resolvePath(t);return{type:`entries`,entries:this.readConfig(n),filePath:n}}async switchProfile(e,t,n){throw Error(`Tool ${this.toolId} does not support profile switching`)}async inspect(t){if(!this.validateScope(t))throw new e(t);let n=this.resolvePath(t);if(!i(n))return{path:n,exists:!1};let a=r(n),o=this.readConfig(n);return{path:n,exists:!0,content:JSON.stringify(o,null,2),size:a?.size,lastModified:a?.lastModified}}async edit(e,t){throw Error(`Tool ${this.toolId} does not support edit for ${e}`)}readConfig(e){return t(e)}writeConfig(e,t,r=!0){n(e,t,r)}};export{a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./base-FY_XeKpj.js";import*as t from"node:path";import*as n from"node:fs";import*as r from"node:os";var i=class extends e{toolId=`claude`;executable=`claude`;buildCommandSpec(e){let t=[];if(e.continue?t.push(`-c`):e.resume&&t.push(`-r`),e.settings){let n=this.#e(e.settings);t.push(`--settings`,n)}return{executable:this.executable,baseArgs:t,yoloArgs:e.yolo?[`--dangerously-skip-permissions`]:void 0}}#e(e){if(e.trim().startsWith(`{`)||t.isAbsolute(e)||e.endsWith(`.json`))return e;let i=t.join(r.homedir(),`.claude`),a=t.join(i,`settings.${e}.json`);if(n.existsSync(a))return a;let o=t.join(i,`settings-${e}.json`);return n.existsSync(o)?o:a}};export{i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,u as t}from"./errors-pXKbCKbL.js";import{n,t as r}from"./editor-BmJI32_P.js";import{t as i}from"./format-a_tYXjv9.js";import{c as a,i as o,n as s,s as c}from"./fsStore-BzLA1cBc.js";import{t as l}from"./base-xqced3zT.js";import{t as u}from"./claudeDefault-B8XYzR_k.js";import*as d from"node:path";import*as f from"node:fs";var p=class extends l{toolId=`claude`;async list(t){if(!this.validateScope(t))throw new e(t);let n=c(this.resolvePath(t)),r=d.dirname(n),i=d.basename(n),a=[this.#e(n,t,!0)];if(f.existsSync(r)){let e=f.readdirSync(r,{withFileTypes:!0});for(let n of e){if(!n.isFile()||n.name===i||!this.#r(n.name))continue;let e=d.join(r,n.name);a.push(this.#e(e,t,!1))}}return{type:`files`,files:this.#i(a)}}resolvePath(e){switch(e){case`user`:return`~/.claude/settings.json`;case`project`:return`.claude/settings.json`;case`local`:return`.claude/settings.local.json`;default:throw Error(`Unsupported scope for Claude: ${e}`)}}validateScope(e){return[`user`,`project`,`local`].includes(e)}async switchProfile(n,r,a){if(!this.validateScope(n))throw new e(n);let o=r.trim();if(!o)throw Error(`Variant name cannot be empty`);let s=c(this.resolvePath(n)),l=d.dirname(s),u=this.#a(l,o,s);if(!u)throw new t(o);let f=this.readConfig(u),p={};try{p=this.readConfig(s)}catch{p={}}let m=i(p,f);if(a?.preview)return{success:!0,preview:!0,filePath:s,diff:m??void 0,data:{from:u,to:s,hasChanges:!!m},message:m?`Preview generated. Review diff before applying.`:`Current settings already match the selected variant.`};if(!m)return{success:!0,message:`Current settings already match the selected variant.`,filePath:s};let h=a?.backup??!1;return this.writeConfig(s,f,h),{success:!0,message:`Switched to ${d.basename(u)}`,filePath:s,data:{from:u,to:s}}}async edit(t,i){if(!this.validateScope(t))throw new e(t);let o=c(this.resolvePath(t)),l=d.dirname(o),u=i.name?.trim(),p=n(i.ide);s(l);let m=o,h=`default`;if(u&&u!==``&&u!==`default`){let e=this.#a(l,u,o);if(e)m=e;else if(m=d.join(l,`settings.${u}.json`),!f.existsSync(m)){let e=this.#n(o);a(m,e,!1)}h=u}else if(!f.existsSync(m)){let e=this.#n(o);a(m,e,!1)}return await r(p,m),{success:!0,message:`Opened ${h} settings in ${p}`,filePath:m,data:{variant:h,ide:p}}}#e(e,t,n){let r=o(e);return{filename:d.basename(e),variant:this.#t(e),path:e,scope:t,active:n,exists:!!r,size:r?.size,lastModified:r?.lastModified}}#t(e){let t=d.basename(e),n=t.match(/^settings(?:[._-](.+))?\.json$/);return n?n[1]??`default`:t.replace(/\.json$/,``)}#n(e){try{if(f.existsSync(e)){let t=f.readFileSync(e,`utf-8`);return JSON.parse(t)}}catch{}return{...u}}#r(e){return/^settings[._-].+\.json$/.test(e)}#i(e){return e.sort((e,t)=>e.active&&!t.active?-1:!e.active&&t.active?1:e.variant.localeCompare(t.variant))}#a(e,t,n){let r=[],i=e=>{r.includes(e)||r.push(e)};t===`default`&&i(n),t.endsWith(`.json`)?i(d.isAbsolute(t)?t:d.join(e,t)):(i(d.join(e,`settings.${t}.json`)),i(d.join(e,`settings-${t}.json`)),i(d.join(e,`settings_${t}.json`)));for(let e of r)if(f.existsSync(e))return e;return null}};export{p as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./base-
|
|
1
|
+
import{t as e}from"./base-FY_XeKpj.js";var t=class extends e{toolId=`codex`;executable=`codex`;buildCommandSpec(e){let t=[];if(e.settings){let n=this.#e(e.settings);t.push(...n)}return e.continue?t.push(`resume`,`--last`):e.resume&&t.push(`resume`),{executable:this.executable,baseArgs:t,yoloArgs:e.yolo?[`--dangerously-bypass-approvals-and-sandbox`]:void 0}}#e(e){let t=[];if(e.includes(`=`)){let n=e.split(`;`).map(e=>e.trim());for(let e of n)e&&t.push(`-c`,e)}else t.push(`-c`,`model=${e}`);return t}};export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,l as t}from"./errors-pXKbCKbL.js";import{l as n,o as r}from"./fsStore-
|
|
1
|
+
import{c as e,l as t}from"./errors-pXKbCKbL.js";import{l as n,o as r}from"./fsStore-BzLA1cBc.js";import{t as i}from"./base-xqced3zT.js";var a=class extends i{toolId=`codex`;async list(t){if(!this.validateScope(t))throw new e(t);let n=this.resolvePath(t),r=this.readConfig(n);return{type:`entries`,entries:this.#e(r),filePath:n}}resolvePath(e){switch(e){case`user`:return`~/.codex/config.toml`;default:throw Error(`Unsupported scope for Codex: ${e}`)}}validateScope(e){return e===`user`}async switchProfile(n,r,i){if(!this.validateScope(n))throw new e(n);let a=this.resolvePath(n),s=this.readConfig(a),c=s.profiles,l=o(c)?c:void 0;if(!l||!(r in l))throw new t(r);let u=l[r];if(!o(u))throw new t(r);let d=u,f={...s};for(let[e,t]of Object.entries(d))f[e]=t;return f.current_profile=r,this.writeConfig(a,f),{success:!0,message:`Switched to profile: ${r}`,filePath:a}}readConfig(e){return r(e)}writeConfig(e,t){n(e,t)}#e(e){let t=e.model_providers;return o(t)?t:{}}};const o=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Date);export{a as t};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command, Interfaces } from "@oclif/core";
|
|
2
|
+
|
|
3
|
+
//#region src/commands/discuss/index.d.ts
|
|
4
|
+
declare class DiscussCommand extends Command {
|
|
5
|
+
#private;
|
|
6
|
+
static description: string;
|
|
7
|
+
static flags: Interfaces.FlagInput;
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { DiscussCommand as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../editor-BmJI32_P.js";import{t as e}from"../../server-DZmOQ_ym.js";import{t}from"../../engine-9wDtUZun.js";import"../../fsStore-BzLA1cBc.js";import"../../base-xqced3zT.js";import"../../config-Bphz_1Sc.js";import"../../template-Cpbt9qy8.js";import"../../xling-DyktHkvX.js";import"../../providerRegistry-DXZVv1rc.js";import"../../client-CG1X3JM2.js";import"../../types-D9R5QJnK.js";import{n}from"../../router-Dq8YoWty.js";import{Command as r,Flags as i}from"@oclif/core";import*as a from"open";import*as o from"node:readline";var s=class s extends r{static description=`Start a discussion between multiple AI models`;static flags={ui:i.boolean({description:`Launch Web UI`,default:!1}),topic:i.string({char:`t`,description:`Topic to discuss`}),models:i.string({char:`m`,description:`Comma-separated list of models to participate`}),strategy:i.string({char:`s`,description:`Turn-taking strategy (random, round-robin)`,options:[`random`,`round-robin`],default:`random`}),timeout:i.integer({description:`Timeout per turn in seconds`,default:30})};async run(){let{flags:e}=await this.parse(s);e.ui?await this.#e():await this.#t(e)}async#e(){this.log(`Starting Web UI...`);let t=3e3,n=(await e(t)).address(),r=`http://localhost:${typeof n==`object`&&n?n.port:t}`;return this.log(`Server running at ${r}`),await a.default(r),this.log(`Press Ctrl+C to stop`),new Promise(()=>{})}async#t(e){let r=await n(),i=r.getRegistry().getAllModels(),a=e.topic,s=e.models?e.models.split(`,`):[];a||=await this.#n(`Enter topic: `),s.length===0&&(s=await this.#r(i)),s.length<2&&this.error(`At least 2 models are required for a discussion.`);let c=new t(r,{topic:a,strategy:e.strategy,timeoutMs:e.timeout*1e3});return s.forEach((e,t)=>{c.addParticipant({id:`model-${t}`,name:e,model:e,type:`ai`})}),c.addParticipant({id:`user`,name:`User`,type:`human`}),this.log(`\nStarting discussion on "${a}" with: ${s.join(`, `)}\n`),this.log(`Controls:`),this.log(` [Space] Pause/Resume`),this.log(` [m] Toggle Auto/Manual Mode`),this.log(` [n] Next Turn (Manual Mode)`),this.log(` [i] Interrupt / Speak`),this.log(` [s] Summarize & Stop`),this.log(` [q] Quit`),this.log(`
|
|
2
|
+
--------------------------------------------------
|
|
3
|
+
`),c.on(`turn-start`,e=>{let t=c.participants.find(t=>t.id===e);process.stdout.write(`\n\n[${t?.name}]: `)}),c.on(`message-chunk`,({delta:e})=>{process.stdout.write(e)}),c.on(`error`,({participantId:e,error:t})=>{let n=c.participants.find(t=>t.id===e);console.error(`\n[Error] ${n?.name}: ${t.message}`)}),c.on(`participant-dropped`,e=>{let t=c.participants.find(t=>t.id===e);console.error(`\n[System] ${t?.name} has left the chat (too many errors).`)}),c.start(),o.emitKeypressEvents(process.stdin),process.stdin.isTTY&&(process.stdin.setRawMode(!0),process.stdin.resume()),process.on(`SIGINT`,()=>{c.stop(),process.exit()}),process.stdin.on(`keypress`,async(e,t)=>{if(t.ctrl&&t.name===`c`&&process.exit(),t.name===`q`&&(c.stop(),process.exit()),t.name===`space`&&(c.status===`paused`?c.resume():c.pause(),this.log(`\n[System] Discussion ${c.status}`)),t.name===`m`){let e=c.mode===`auto`?`manual`:`auto`;c.setMode(e),this.log(`\n[System] Mode switched to ${e.toUpperCase()}`)}if(t.name===`n`)if(c.mode===`manual`){if(c.status===`discussing`||c.status===`paused`){let e=c.participants.filter(e=>e.type===`ai`),t=e[Math.floor(Math.random()*e.length)];c.setNextSpeaker(t.id)}}else this.log(`
|
|
4
|
+
[System] Switch to Manual mode [m] to use Next [n]`);if(t.name===`i`){c.pause(),process.stdin.setRawMode(!1),process.stdout.write(`
|
|
5
|
+
[User]: `);let e=o.createInterface({input:process.stdin,output:process.stdout});e.question(``,t=>{e.close(),t.trim()&&c.injectMessage(`user`,t),process.stdin.setRawMode(!0),c.resume()})}if(t.name===`s`){c.pause(),process.stdin.setRawMode(!1);let e=c.participants.filter(e=>e.type===`ai`);this.log(`
|
|
6
|
+
Select summarizer:`),e.forEach((e,t)=>this.log(`${t+1}. ${e.name}`));let t=o.createInterface({input:process.stdin,output:process.stdout});t.question(`Choice: `,async n=>{t.close();let r=e[parseInt(n)-1];if(r){this.log(`\nGenerating summary with ${r.name}...\n`);try{let e=await c.generateSummary(r.id);this.log(`
|
|
7
|
+
=== SUMMARY ===
|
|
8
|
+
`),this.log(e),this.log(`
|
|
9
|
+
===============
|
|
10
|
+
`)}catch(e){this.log(`Error: ${e.message}`)}}process.exit()})}}),new Promise(()=>{})}async#n(e){let t=o.createInterface({input:process.stdin,output:process.stdout});return new Promise(n=>{t.question(e,e=>{t.close(),n(e)})})}async#r(e){if(e.length===0)return[];let t=process.stdin,n=process.stdout;if(!t.isTTY||!n.isTTY)throw Error(`Interactive selection requires a TTY. Use --models to provide values directly.`);return new Promise((r,i)=>{let a=new Set,s=0,c=0,l=``,u=!!t.isRaw,d=(e,a)=>{t.off(`keypress`,p),t.setRawMode&&t.setRawMode(u),t.pause(),n.write(`\x1B[?25h
|
|
11
|
+
`),e?i(e):r(a)},f=()=>{n.moveCursor(0,-c),n.clearScreenDown();let t=[`Select models (space = toggle, arrows = navigate, enter = confirm, q/Ctrl+C = cancel)`,``,...e.map((e,t)=>{let n=t===s,r=a.has(t),i=`${n?`➜`:` `} ${r?`[x]`:`[ ]`} ${e}`;return n?`\x1B[36m${i}\x1B[0m`:i}),``,`Selected: ${Array.from(a).map(t=>e[t]).join(`, `)||`none`}`];l&&t.push(`\x1B[33m${l}\x1B[0m`),n.write(t.join(`
|
|
12
|
+
`)+`
|
|
13
|
+
`),c=t.length,l=``},p=(t,n)=>{if(n){if(n.name===`c`&&n.ctrl||n.name===`q`){d(Error(`Selection cancelled.`));return}if(n.name===`up`){s=(s-1+e.length)%e.length,f();return}if(n.name===`down`){s=(s+1)%e.length,f();return}if(n.name===`space`){a.has(s)?a.delete(s):a.add(s),f();return}if(n.name===`return`){if(a.size<2){l=`Select at least two models.`,f();return}d(void 0,Array.from(a).map(t=>e[t]))}}};o.emitKeypressEvents(t),t.resume(),t.setRawMode&&t.setRawMode(!0),n.write(`\x1B[?25l`),f(),t.on(`keypress`,p)})}};export{s as default};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import{Command as e}from"@oclif/core";var t=class extends e{static summary=`Git workflow utilities`;static description=`
|
|
2
2
|
Git workflow tools for PR management and worktrees.
|
|
3
3
|
Supports PR checkout with gh/git fallback, browser PR viewing, and worktree operations.
|
|
4
|
-
`;static examples=[`<%= config.bin %> <%= command.id %>:prc --web`,`<%= config.bin %> <%= command.id %>:prr 123`,`<%= config.bin %> <%= command.id %>:worktree --list`,`<%= config.bin %> <%= command.id %>:
|
|
5
|
-
`),this.log(`Available subcommands:`),this.log(` prc - Create PR with optional browser preview`),this.log(` prr - Checkout PR branch (PR Read/Retrieve)`),this.log(` prv - Open PR in web browser (PR View)`),this.log(`
|
|
4
|
+
`;static examples=[`<%= config.bin %> <%= command.id %>:prc --web --browser safari`,`<%= config.bin %> <%= command.id %>:prr 123 # checkout PR 123`,`<%= config.bin %> <%= command.id %>:prv 456 --browser arc # open PR 456 in Arc`,`<%= config.bin %> <%= command.id %>:worktree --list`,`<%= config.bin %> <%= command.id %>:wta -b feature/foo --base main`,`cd $(<%= config.bin %> <%= command.id %>:wts -b feature/foo) # switch worktree`];async run(){this.log(`Git workflow utilities for xling
|
|
5
|
+
`),this.log(`Available subcommands:`),this.log(` prc - Create PR with optional browser preview`),this.log(` prr - Checkout PR branch (PR Read/Retrieve)`),this.log(` prv - Open PR in web browser (PR View)`),this.log(` wta/wts/wtl/wtr/wtp - Worktree helpers (add/switch/list/remove/prune)
|
|
6
6
|
`),this.log(`Use --help with any subcommand for details`),this.log(`
|
|
7
7
|
Examples:`),this.log(` xling git:prc --web --browser chrome`),this.log(` xling git:prr 123`),this.log(` xling git:prv 456 --browser safari`),this.log(` xling git:worktree --list`)}};export{t as default};
|
package/dist/commands/git/prc.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"../../git-BZvqM5hz.js";import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-
|
|
1
|
+
import{t as e}from"../../git-BZvqM5hz.js";import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-DMbpVz3Q.js";import"../../pr-DC2iMrPz.js";import"../../view-BZmgL-cB.js";import"../../worktree-DTI5xaFs.js";import"../../create-DiqmyIaU.js";import{t}from"../../dispatcher-Ci7OG66P.js";import{Command as n,Flags as r}from"@oclif/core";var i=class i extends n{static summary=`Create a pull request (PR Create)`;static description=`
|
|
2
2
|
Create a pull request using GitHub CLI.
|
|
3
3
|
Supports automatic browser preview with customizable browser selection.
|
|
4
4
|
`;static examples=[{description:`Create PR interactively`,command:`<%= config.bin %> <%= command.id %>`},{description:`Create PR with title and body`,command:`<%= config.bin %> <%= command.id %> --title "Feature X" --body "Implements feature X"`},{description:`Create PR and open in browser`,command:`<%= config.bin %> <%= command.id %> --web`},{description:`Create PR and preview in Safari`,command:`<%= config.bin %> <%= command.id %> --web --browser safari`},{description:`Create draft PR`,command:`<%= config.bin %> <%= command.id %> --draft --title "WIP: Feature X"`},{description:`Create PR with reviewers and labels`,command:`<%= config.bin %> <%= command.id %> --reviewer user1 --reviewer user2 --label bug --label urgent`}];static flags={title:r.string({char:`t`,description:`PR title`}),body:r.string({char:`b`,description:`PR body/description`}),base:r.string({description:`Base branch (default: repository default branch)`}),head:r.string({description:`Head branch (default: current branch)`}),draft:r.boolean({char:`d`,description:`Create as draft PR`,default:!1}),web:r.boolean({char:`w`,description:`Open PR in browser after creation`,default:!1}),browser:r.string({description:`Browser to use when --web is enabled`,options:[...e],default:`chrome`}),assignee:r.string({char:`a`,description:`Assign user(s) (can be used multiple times)`,multiple:!0}),reviewer:r.string({char:`r`,description:`Request reviewer(s) (can be used multiple times)`,multiple:!0}),label:r.string({char:`l`,description:`Add label(s) (can be used multiple times)`,multiple:!0})};async run(){let{flags:e}=await this.parse(i),n=new t,r={title:e.title,body:e.body,base:e.base,head:e.head,draft:e.draft,web:e.web,browser:e.browser,assignee:e.assignee,reviewer:e.reviewer,label:e.label};try{let e=await n.execute({command:`prc`,cwd:process.cwd(),data:r});this.log(`✓ ${e.message}`),e.details?.draft&&this.log(` Type: Draft PR`),e.details?.base&&this.log(` Base: ${e.details.base}`),e.details?.head&&this.log(` Head: ${e.details.head}`)}catch(e){this.error(e.message,{exit:1})}}};export{i as default};
|
package/dist/commands/git/prr.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-DMbpVz3Q.js";import"../../pr-DC2iMrPz.js";import"../../view-BZmgL-cB.js";import"../../worktree-DTI5xaFs.js";import"../../create-DiqmyIaU.js";import{t as e}from"../../dispatcher-Ci7OG66P.js";import{Args as t,Command as n,Flags as r}from"@oclif/core";var i=class i extends n{static summary=`Checkout a PR branch (PR Read/Retrieve)`;static description=`
|
|
2
2
|
Checkout a pull request branch using GitHub CLI (gh) or git fallback.
|
|
3
3
|
Automatically detects gh availability and falls back to git fetch if needed.
|
|
4
4
|
`;static examples=[{description:`Checkout PR using gh or git fallback`,command:`<%= config.bin %> <%= command.id %> 123`},{description:`Checkout PR to specific branch`,command:`<%= config.bin %> <%= command.id %> 456 --branch my-pr-branch`},{description:`Force git fallback with custom remote`,command:`<%= config.bin %> <%= command.id %> 789 --no-gh --remote upstream`}];static args={id:t.string({description:`PR number or owner:repo#123 format`,required:!0})};static flags={branch:r.string({char:`b`,description:`Branch name (default: pr/<id>)`}),remote:r.string({char:`r`,description:`Remote name`,default:`origin`}),"no-gh":r.boolean({description:`Skip GitHub CLI, use git directly`,default:!1})};async run(){let{args:t,flags:n}=await this.parse(i),r=new e,a={id:t.id,branch:n.branch,strategy:n[`no-gh`]?`git`:`gh`,remote:n.remote};try{let e=await r.execute({command:`prr`,cwd:process.cwd(),data:a});this.log(`✓ ${e.message}`),e.details&&(this.log(` Strategy: ${e.details.strategy}`),this.log(` Branch: ${e.details.branch}`))}catch(e){this.error(e.message,{exit:1})}}};export{i as default};
|
package/dist/commands/git/prv.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"../../git-BZvqM5hz.js";import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-
|
|
1
|
+
import{t as e}from"../../git-BZvqM5hz.js";import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-DMbpVz3Q.js";import"../../pr-DC2iMrPz.js";import"../../view-BZmgL-cB.js";import"../../worktree-DTI5xaFs.js";import"../../create-DiqmyIaU.js";import{t}from"../../dispatcher-Ci7OG66P.js";import{Args as n,Command as r,Flags as i}from"@oclif/core";var a=class a extends r{static summary=`Open PR in web browser (PR View)`;static description=`
|
|
2
2
|
Open a pull request in your web browser using GitHub CLI.
|
|
3
3
|
Supports multiple browsers: Chrome (default), Safari, Firefox, Arc, Edge, Dia.
|
|
4
4
|
`;static examples=[{description:`Open PR in Chrome (default)`,command:`<%= config.bin %> <%= command.id %> 123`},{description:`Open PR in Safari`,command:`<%= config.bin %> <%= command.id %> 456 --browser safari`},{description:`Open PR in Firefox`,command:`<%= config.bin %> <%= command.id %> 789 --browser firefox`},{description:`Open PR in Arc`,command:`<%= config.bin %> <%= command.id %> 999 --browser arc`}];static args={id:n.string({description:`PR number`,required:!0})};static flags={browser:i.string({char:`b`,description:`Browser to use`,options:[...e],default:`chrome`})};async run(){let{args:e,flags:n}=await this.parse(a),r=new t,i={id:e.id,browser:n.browser};try{let e=await r.execute({command:`prv`,cwd:process.cwd(),data:i});this.log(`✓ ${e.message}`)}catch(e){this.error(e.message,{exit:1})}}};export{a as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-DMbpVz3Q.js";import"../../pr-DC2iMrPz.js";import"../../view-BZmgL-cB.js";import"../../worktree-DTI5xaFs.js";import"../../create-DiqmyIaU.js";import{t as e}from"../../dispatcher-Ci7OG66P.js";import{Command as t,Flags as n}from"@oclif/core";var r=class r extends t{static summary=`Manage git worktrees`;static description=`
|
|
2
2
|
Manage git worktrees: list existing worktrees, add new ones, remove, or prune stale entries.
|
|
3
3
|
Git worktrees allow multiple working directories from a single repository.
|
|
4
4
|
`;static examples=[{description:`List all worktrees in friendly format`,command:`<%= config.bin %> <%= command.id %> --list`},{description:`Add new worktree with auto-generated path`,command:`<%= config.bin %> <%= command.id %> --add --branch feature/login`},{description:`Add worktree with custom path`,command:`<%= config.bin %> <%= command.id %> -a -p ../repo-feature -b feature/login`},{description:`Switch to main worktree (outputs path for cd)`,command:`cd $(<%= config.bin %> <%= command.id %> -s)`},{description:`Switch to specific worktree by branch name`,command:`cd $(<%= config.bin %> <%= command.id %> -s -b feature/login)`},{description:`Remove worktree by branch name`,command:`<%= config.bin %> <%= command.id %> -r -b main`},{description:`Remove worktree by directory name`,command:`<%= config.bin %> <%= command.id %> -r -b xling-feature`},{description:`Remove worktree by path`,command:`<%= config.bin %> <%= command.id %> -r -p ../repo-feature`},{description:`Prune stale worktrees`,command:`<%= config.bin %> <%= command.id %> --prune`}];static flags={list:n.boolean({char:`l`,description:`List worktrees (default)`,default:!1}),add:n.boolean({char:`a`,description:`Add new worktree (auto-generates path if not specified)`,default:!1}),switch:n.boolean({char:`s`,description:`Get worktree path (outputs path only, use with: cd $(xling git:worktree -s -b <branch>))`,default:!1}),remove:n.boolean({char:`r`,description:`Remove worktree`,default:!1}),prune:n.boolean({description:`Prune stale worktrees`,default:!1}),path:n.string({char:`p`,description:`Worktree path (e.g., '../repo-feature' or absolute path). Auto-generated if not specified with --add.`}),branch:n.string({char:`b`,description:`Branch or worktree name. Defaults to main for --add and --switch. For --remove, intelligently matches branch or directory name.`}),force:n.boolean({char:`f`,description:`Force operation`,default:!1}),detach:n.boolean({description:`Detach HEAD in new worktree`,default:!1})};async run(){let{flags:t}=await this.parse(r),n=`list`;t.add?n=`add`:t.switch?n=`switch`:t.remove?n=`remove`:t.prune&&(n=`prune`);let i=new e,a={action:n,path:t.path,branch:t.branch,force:t.force,detach:t.detach};try{let e=await i.execute({command:`worktree`,cwd:process.cwd(),data:a});if(n===`switch`){this.log(e.message);return}this.log(`✓ ${e.message}`),e.details?.output&&this.log(`
|
package/dist/commands/git/wta.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-DMbpVz3Q.js";import"../../pr-DC2iMrPz.js";import"../../view-BZmgL-cB.js";import"../../worktree-DTI5xaFs.js";import"../../create-DiqmyIaU.js";import{t as e}from"../../dispatcher-Ci7OG66P.js";import{Command as t,Flags as n}from"@oclif/core";var r=class r extends t{static summary=`Add a new git worktree`;static description=`
|
|
2
2
|
Create a new git worktree with automatic path generation.
|
|
3
3
|
Defaults to main branch if not specified.
|
|
4
|
-
|
|
4
|
+
Use --select to choose a branch from an interactive list.
|
|
5
|
+
`;static examples=[{description:`Add worktree for main branch (default)`,command:`<%= config.bin %> <%= command.id %>`},{description:`Create a new feature branch from main in a new worktree`,command:`<%= config.bin %> <%= command.id %> -b feature/foo --base main`},{description:`Create a detached worktree on main even if main is in use`,command:`<%= config.bin %> <%= command.id %> --detach --base main`},{description:`Add worktree for specific branch`,command:`<%= config.bin %> <%= command.id %> -b feature/login`},{description:`Add worktree with custom path`,command:`<%= config.bin %> <%= command.id %> -b feature/login -p ../my-worktree`},{description:`Pick a branch interactively`,command:`<%= config.bin %> <%= command.id %> --select`}];static flags={branch:n.string({char:`b`,description:`Branch name (defaults to main)`}),path:n.string({char:`p`,description:`Custom worktree path (auto-generated if not specified)`}),force:n.boolean({char:`f`,description:`Force operation`,default:!1}),base:n.string({description:`Start point when creating a new branch (defaults to main or current HEAD)`}),create:n.boolean({description:`Create the branch if it does not exist (uses -b). Use --no-create to require existing branch.`,default:!0,allowNo:!0}),detach:n.boolean({description:`Detach HEAD in new worktree`,default:!1}),select:n.boolean({description:`Use an interactive selector to choose the branch`,default:!1})};async run(){let{flags:t}=await this.parse(r),n=new e,i={action:`add`,branch:t.branch,path:t.path,base:t.base,create:t.create,force:t.force,detach:t.detach,interactive:t.select};try{let e=await n.execute({command:`worktree`,cwd:process.cwd(),data:i});this.log(`✓ ${e.message}`),e.details?.output&&this.log(`
|
|
5
6
|
`+e.details.output)}catch(e){this.error(e.message,{exit:1})}}};export{r as default};
|
package/dist/commands/git/wtl.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-DMbpVz3Q.js";import"../../pr-DC2iMrPz.js";import"../../view-BZmgL-cB.js";import"../../worktree-DTI5xaFs.js";import"../../create-DiqmyIaU.js";import{t as e}from"../../dispatcher-Ci7OG66P.js";import{Command as t}from"@oclif/core";var n=class extends t{static summary=`List git worktrees`;static description=`
|
|
2
2
|
List all git worktrees in a friendly format.
|
|
3
3
|
Shows the path and branch for each worktree.
|
|
4
4
|
`;static examples=[{description:`List all worktrees`,command:`<%= config.bin %> <%= command.id %>`}];async run(){let t=new e,n={action:`list`};try{let e=await t.execute({command:`worktree`,cwd:process.cwd(),data:n});this.log(`✓ ${e.message}`),e.details?.output&&this.log(`
|
package/dist/commands/git/wtp.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-DMbpVz3Q.js";import"../../pr-DC2iMrPz.js";import"../../view-BZmgL-cB.js";import"../../worktree-DTI5xaFs.js";import"../../create-DiqmyIaU.js";import{t as e}from"../../dispatcher-Ci7OG66P.js";import{Command as t}from"@oclif/core";var n=class extends t{static summary=`Prune stale git worktrees`;static description=`
|
|
2
2
|
Remove stale worktree administrative files.
|
|
3
3
|
This cleans up worktrees that have been manually deleted from the filesystem.
|
|
4
4
|
`;static examples=[{description:`Prune stale worktrees`,command:`<%= config.bin %> <%= command.id %>`}];async run(){let t=new e,n={action:`prune`};try{let e=await t.execute({command:`worktree`,cwd:process.cwd(),data:n});this.log(`✓ ${e.message}`),e.details?.output&&this.log(`
|
package/dist/commands/git/wtr.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-DMbpVz3Q.js";import"../../pr-DC2iMrPz.js";import"../../view-BZmgL-cB.js";import"../../worktree-DTI5xaFs.js";import"../../create-DiqmyIaU.js";import{t as e}from"../../dispatcher-Ci7OG66P.js";import{Command as t,Flags as n}from"@oclif/core";var r=class r extends t{static summary=`Remove a git worktree`;static description=`
|
|
2
2
|
Remove a git worktree by branch name, directory name, or path.
|
|
3
3
|
Intelligently matches branch or directory names.
|
|
4
|
-
|
|
4
|
+
Use --select to pick which worktree to remove from an interactive list.
|
|
5
|
+
`;static examples=[{description:`Remove worktree by branch name`,command:`<%= config.bin %> <%= command.id %> -b main`},{description:`Remove worktree by directory name`,command:`<%= config.bin %> <%= command.id %> -b xling-feature`},{description:`Remove worktree by path`,command:`<%= config.bin %> <%= command.id %> -p ../repo-feature`},{description:`Force remove worktree`,command:`<%= config.bin %> <%= command.id %> -b main -f`},{description:`Pick a worktree to remove interactively`,command:`<%= config.bin %> <%= command.id %> --select`}];static flags={branch:n.string({char:`b`,description:`Branch or worktree directory name`}),path:n.string({char:`p`,description:`Worktree path`}),force:n.boolean({char:`f`,description:`Force removal`,default:!1}),select:n.boolean({description:`Use an interactive selector to choose the worktree to remove`,default:!1})};async run(){let{flags:t}=await this.parse(r),n=new e,i={action:`remove`,branch:t.branch,path:t.path,force:t.force,interactive:t.select};try{let e=await n.execute({command:`worktree`,cwd:process.cwd(),data:i});this.log(`✓ ${e.message}`),e.details?.output&&this.log(`
|
|
5
6
|
`+e.details.output)}catch(e){this.error(e.message,{exit:1})}}};export{r as default};
|
package/dist/commands/git/wts.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../utils-DMbpVz3Q.js";import"../../pr-DC2iMrPz.js";import"../../view-BZmgL-cB.js";import"../../worktree-DTI5xaFs.js";import"../../create-DiqmyIaU.js";import{t as e}from"../../dispatcher-Ci7OG66P.js";import{Command as t,Flags as n}from"@oclif/core";import{spawn as r}from"node:child_process";var i=class i extends t{static summary=`Switch to a git worktree (opens subshell by default)`;static description=`
|
|
2
2
|
Find a matching worktree, then start a subshell rooted there.
|
|
3
3
|
Defaults to the main branch if no branch/directory is provided.
|
|
4
4
|
Use --path-only for scripting (outputs the path for cd $(...)).
|
|
5
|
-
|
|
5
|
+
Use --select to pick a worktree from an interactive list.
|
|
6
|
+
`;static examples=[{description:`Switch to main worktree`,command:`cd $(<%= config.bin %> <%= command.id %>)`},{description:`Switch to main worktree without subshell (path only)`,command:`<%= config.bin %> <%= command.id %> --path-only`},{description:`Switch to specific worktree by branch name`,command:`cd $(<%= config.bin %> <%= command.id %> -b feature/login)`},{description:`Switch by directory name`,command:`cd $(<%= config.bin %> <%= command.id %> -b xling-feature)`},{description:`Use interactive selector to pick a worktree`,command:`cd $(<%= config.bin %> <%= command.id %> --select)`}];static flags={branch:n.string({char:`b`,description:`Branch or worktree directory name (defaults to main)`}),"path-only":n.boolean({description:`Only print the worktree path (useful for cd $(...))`,default:!1}),select:n.boolean({description:`Use an interactive selector to choose the worktree`,default:!1})};async run(){let{flags:t}=await this.parse(i),n=new e,r={action:`switch`,branch:t.branch,interactive:t.select};try{let e=await n.execute({command:`worktree`,cwd:process.cwd(),data:r}),i=e.details?.path,a=typeof i==`string`?i:e.message;if(t[`path-only`]){this.log(a);return}this.log(`Switching to worktree at ${a}. Exit the shell to return.`),await this.#t(a)}catch(e){this.error(e.message,{exit:1})}}#e(){return process.platform===`win32`?{command:process.env.COMSPEC||`cmd.exe`,args:[]}:{command:process.env.SHELL||`bash`,args:[]}}async#t(e){let{command:t,args:n}=this.#e();await new Promise((i,a)=>{let o=r(t,n,{cwd:e,stdio:`inherit`});o.on(`error`,e=>{a(Error(`Failed to launch shell "${t}": ${e.message}`))}),o.on(`exit`,e=>{e===0?i():a(Error(`Shell exited with code ${e}`))})})}};export{i as default};
|
package/dist/commands/p/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../editor-
|
|
2
|
-
`)}`):this.error(e.message)}}#e(e){return e.interactive?!0:(process.stdout.isTTY&&process.stdin.isTTY,!1)}async#
|
|
3
|
-
Continue conversation? (y/N): `,o=>{t=!0;let
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../editor-BmJI32_P.js";import{i as e,t}from"../../runner-DYk4q6mP.js";import"../../fsStore-BzLA1cBc.js";import"../../base-xqced3zT.js";import"../../config-Bphz_1Sc.js";import"../../template-Cpbt9qy8.js";import{t as n}from"../../xling-DyktHkvX.js";import"../../providerRegistry-DXZVv1rc.js";import"../../client-CG1X3JM2.js";import{n as r,t as i}from"../../types-D9R5QJnK.js";import{n as a}from"../../router-Dq8YoWty.js";import{Args as o,Command as s,Flags as c}from"@oclif/core";import*as l from"node:fs";import*as u from"node:readline";import*as d from"node:tty";var f=class f extends s{static description=`Execute a prompt via xling providers or hand off to codex exec / claude -p with yolo`;static examples=[{description:`Simple prompt`,command:`<%= config.bin %> <%= command.id %> "Explain quantum computing"`},{description:`Specify model`,command:`<%= config.bin %> <%= command.id %> --model gpt-4-turbo "Write a poem"`},{description:`Read from file`,command:`<%= config.bin %> <%= command.id %> -f README.md "Summarize this"`},{description:`Read from stdin`,command:`git diff | <%= config.bin %> <%= command.id %> --stdin "Review this diff"`},{description:`JSON output`,command:`<%= config.bin %> <%= command.id %> --json "What is 2+2?"`},{description:`Directly run codex exec (bypass xling providers)`,command:`<%= config.bin %> <%= command.id %> --tool codex "Summarize this repo"`},{description:`Use Claude Code CLI with yolo by default`,command:`<%= config.bin %> <%= command.id %> --tool claude "Review this diff"`},{description:`Shorthand for Codex backend (matches x command flag)`,command:`<%= config.bin %> <%= command.id %> -t codex "Hello"`},{description:`Use Gemini CLI headless prompt`,command:`<%= config.bin %> <%= command.id %> -t gemini "Summarize this diff"`}];static flags={tool:c.string({description:`Choose backend: xling router (default) or call codex/claude/gemini CLI directly`,options:[`xling`,`codex`,`claude`,`gemini`],required:!1,default:`xling`,char:`t`}),yolo:c.boolean({description:`Use yolo flags when calling codex/claude/gemini directly (skip permission prompts)`,required:!1,default:!0,allowNo:!0}),model:c.string({char:`m`,description:`Model to use (defaults to configured defaultModel)`,required:!1}),prompt:c.string({char:`p`,description:`Prompt text (alternative to positional arg)`,required:!1}),system:c.string({char:`s`,description:`System prompt`,required:!1}),file:c.string({char:`f`,description:`Read additional context from file`,required:!1,multiple:!0}),stdin:c.boolean({description:`Read prompt from stdin`,required:!1,default:!1}),temperature:c.string({char:`T`,description:`Temperature (0.0-2.0)`,required:!1}),"max-tokens":c.integer({description:`Maximum tokens to generate`,required:!1}),json:c.boolean({description:`Output as JSON`,required:!1,default:!1}),stream:c.boolean({description:`Stream output (default: true)`,required:!1,default:!0,allowNo:!0}),interactive:c.boolean({char:`i`,description:`Enter interactive chat mode after first response`,required:!1,default:!1})};static args={prompt:o.string({description:`The prompt text`,required:!1})};async run(){let{args:e,flags:t}=await this.parse(f),n=t.tool??`xling`,o=t.yolo!==!1;try{let r=await this.#s(e,t);if(r.trim()||this.error(`No prompt provided. Use argument, --prompt, --file, or --stdin`),n!==`xling`){this.#t(n,t),await this.#n(n,r,o,t);return}this.#e();let i={prompt:r,model:t.model,system:t.system,temperature:t.temperature?parseFloat(t.temperature):void 0,maxTokens:t[`max-tokens`],stream:t.stream},s=await a(),c,l,u;if(t.stream&&!t.json){let e=await s.executeStream(i);c=await this.#o(e);let n=await e.usage;l=n?{promptTokens:n.inputTokens??0,completionTokens:n.outputTokens??0,totalTokens:n.totalTokens??0}:void 0,u={provider:`streaming`,model:t.model||`default`}}else{let e=await s.execute(i);c=e.content,l=e.usage,u={provider:e.provider,model:e.model},t.json?this.log(JSON.stringify(e,null,2)):this.log(e.content)}!t.json&&l&&u&&this.log(`\n[${u.provider}/${u.model}] ${l.totalTokens} tokens (${l.promptTokens} prompt + ${l.completionTokens} completion)`);let d=this.#r(t),f=d;!d&&!t.json&&process.stdout.isTTY&&(f=await this.#i()),f&&await this.#a(r,c,t,s)}catch(e){e instanceof r?this.error(e.message):e instanceof i?this.error(`All providers failed:\n${e.errors.map(e=>` ${e.provider}: ${e.error.message}`).join(`
|
|
2
|
+
`)}`):this.error(e.message)}}#e(){let e=new n().resolvePath(`user`);l.existsSync(e.replace(`~`,process.env.HOME||``))||this.error(`Configuration not found at ${e}\n\nPlease create a configuration file with at least one provider.\nExample:\n{\n "prompt": {\n "providers": [\n {\n "name": "openai",\n "baseUrl": "https://api.openai.com/v1",\n "apiKey": "sk-...",\n "models": ["gpt-4", "gpt-4-turbo"]\n }\n ],\n "defaultModel": "gpt-4"\n }\n}`)}#t(e,t){t.interactive&&this.error(`Interactive mode is not supported when using --tool codex/claude/gemini. Remove --interactive or use the default xling router.`);let n=[];t.json&&n.push(`--json`),t.model&&e!==`gemini`&&n.push(`--model`),t.system&&n.push(`--system`),t.temperature!==void 0&&n.push(`--temperature`),t[`max-tokens`]!==void 0&&n.push(`--max-tokens`),t.stream===!1&&n.push(`--no-stream`),n.length>0&&this.warn(`Ignoring ${n.join(`, `)} when using direct CLI backend; codex/claude will apply their own defaults.`)}async#n(n,r,i,a){let o=n===`codex`?`codex`:n===`gemini`?`gemini`:`claude`;await t(o)||this.error(`Tool "${o}" is not installed or not found in PATH. Please install it before using --tool ${n}.`);let s=n===`codex`?[`exec`,r]:[`-p`,r];n===`gemini`&&a.model&&s.unshift(`-m`,a.model);let c={executable:o,baseArgs:s,yoloArgs:n===`codex`?i?[`--dangerously-bypass-approvals-and-sandbox`]:void 0:n===`gemini`?i?[`-y`]:void 0:i?[`--dangerously-skip-permissions`]:void 0};this.log(`[backend: ${n}] ${i?`yolo on`:`yolo off`} — handing output to ${o}`),await e(c)}#r(e){return e.interactive?!0:(process.stdout.isTTY&&process.stdin.isTTY,!1)}async#i(){return new Promise(e=>{let t=!1;try{let n=l.openSync(`/dev/tty`,`r+`),r=new d.ReadStream(n),i=new d.WriteStream(n),a=u.createInterface({input:r,output:i});a.question(`
|
|
3
|
+
Continue conversation? (y/N): `,o=>{t=!0;let s=o.trim().toLowerCase(),c=s===`y`||s===`yes`;c||(i??process.stdout).write(`
|
|
4
4
|
Okay, not continuing the conversation.
|
|
5
|
-
`),a.close(),r.destroy(),i.destroy(),
|
|
5
|
+
`),a.close(),r.destroy(),i.destroy(),l.closeSync(n),e(c)}),setTimeout(()=>{t||(a.close(),r.destroy(),i.destroy(),l.closeSync(n),process.stdout.write(`
|
|
6
6
|
No response received. Ending conversation prompt.
|
|
7
|
-
`),e(!1))},1e4)}catch{this.log(`Skipping interactive follow-up (TTY not available).`),e(!1)}})}async#
|
|
7
|
+
`),e(!1))},1e4)}catch{this.log(`Skipping interactive follow-up (TTY not available).`),e(!1)}})}async#a(e,t,n,r){let i=[];n.system&&i.push({role:`system`,content:n.system}),i.push({role:`user`,content:e}),i.push({role:`assistant`,content:t}),this.log(`
|
|
8
8
|
--- Interactive mode (type 'exit', 'quit', or press Ctrl+D to end) ---
|
|
9
|
-
`);try{let e,t=null,a=null,o=null,
|
|
9
|
+
`);try{let e,t=null,a=null,o=null,s=!1,c,f=()=>{if(c&&`setRawMode`in c)try{c.setRawMode(s)}catch{}if(a)try{a.destroy()}catch{}if(o)try{o.destroy()}catch{}if(t!==null)try{l.closeSync(t)}catch{}};process.stdin.isTTY?(c=process.stdin,s=process.stdin.isRaw||!1,s||process.stdin.setRawMode(!0),e=u.createInterface({input:process.stdin,output:process.stdout,prompt:`> `})):(t=l.openSync(`/dev/tty`,`r+`),a=new d.ReadStream(t),o=new d.WriteStream(t),c=a,s=a.isRaw||!1,s||a.setRawMode(!0),e=u.createInterface({input:a,output:o,prompt:`> `}));let p=o||process.stdout;e.prompt(),e.on(`line`,async t=>{let a=t.trim();if([`exit`,`quit`,`q`].includes(a.toLowerCase())){e.close();return}if(!a){e.prompt();return}i.push({role:`user`,content:a});try{let t={messages:i,model:n.model,temperature:n.temperature?parseFloat(n.temperature):void 0,maxTokens:n[`max-tokens`],stream:!0},a=await r.executeStream(t),o=await this.#o(a,p);i.push({role:`assistant`,content:o}),e.prompt()}catch(t){p.write(`\n[Error] ${t.message}\n\n`),e.prompt()}}),e.on(`close`,()=>{f(),this.log(`
|
|
10
10
|
Goodbye!`),process.exit(0)}),e.on(`SIGINT`,()=>{p.write(`
|
|
11
11
|
|
|
12
12
|
Interrupted. Type 'exit' to quit or continue chatting.
|
|
13
|
-
`),e.prompt()});let m=()=>{f(),process.exit(0)};process.once(`SIGTERM`,m),process.once(`SIGINT`,m)}catch(e){this.error(`Cannot enter interactive mode: ${e.message}`)}}async#
|
|
13
|
+
`),e.prompt()});let m=()=>{f(),process.exit(0)};process.once(`SIGTERM`,m),process.once(`SIGINT`,m)}catch(e){this.error(`Cannot enter interactive mode: ${e.message}`)}}async#o(e,t=process.stdout){let n=``;t.write(`
|
|
14
14
|
`);for await(let r of e.textStream)t.write(r),n+=r,`flush`in t&&typeof t.flush==`function`&&t.flush();return t.write(`
|
|
15
|
-
`),n}async#
|
|
16
|
-
`).trim()}async#
|
|
15
|
+
`),n}async#s(e,t){let n=[];if(e.prompt&&n.push(e.prompt),t.prompt&&n.push(t.prompt),t.file&&t.file.length>0)for(let e of t.file)try{let t=l.readFileSync(e,`utf-8`);n.push(`\n--- File: ${e} ---\n${t}`)}catch(t){this.warn(`Failed to read file ${e}: ${t.message}`)}if(t.stdin){let e=await this.#c();e&&n.push(e)}return n.join(`
|
|
16
|
+
`).trim()}async#c(){return new Promise(e=>{let t=[];process.stdin.setEncoding(`utf-8`),process.stdin.on(`data`,e=>{t.push(e.toString())}),process.stdin.on(`end`,()=>{e(t.join(``))}),process.stdin.isTTY&&e(``)})}};export{f as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../editor-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../editor-BmJI32_P.js";import{r as e}from"../../format-a_tYXjv9.js";import{s as t}from"../../fsStore-BzLA1cBc.js";import"../../base-xqced3zT.js";import"../../config-Bphz_1Sc.js";import"../../template-Cpbt9qy8.js";import"../../xling-DyktHkvX.js";import"../../claudeDefault-B8XYzR_k.js";import{t as n}from"../../claude-F-aLoUUK.js";import"../../codex-BDB0z8Gw.js";import"../../gemini-CPA89gOH.js";import{t as r}from"../../dispatcher-1aCGdFHn.js";import{Args as i,Command as a,Flags as o}from"@oclif/core";import s from"node:path";import c from"node:fs";var l=class l extends a{static summary=`View the full configuration file`;static description=`
|
|
2
2
|
Print the entire configuration file for the selected tool/scope.
|
|
3
3
|
Use --json for structured output or --no-json for plain text.
|
|
4
4
|
`;static examples=[`<%= config.bin %> <%= command.id %> --tool claude --scope user`,`<%= config.bin %> <%= command.id %> --tool codex --no-json`];static args={name:i.string({description:`Claude variant name (optional). Example: settings:get hxi`,required:!1})};static flags={tool:o.string({char:`t`,description:`AI CLI tool to manage`,options:[`claude`,`codex`,`gemini`,`xling`],default:`claude`}),scope:o.string({char:`s`,description:`Configuration scope`,options:[`user`,`project`,`local`,`system`],default:`user`})};async run(){let{args:t,flags:n}=await this.parse(l);try{let r=n.tool,i=n.scope,a=r===`claude`&&t.name?await this.#t(i,t.name):await this.#e(r,i);if(n.json){this.log(e({success:!0,data:a}));return}if(!a.exists){this.warn(`Config file not found: ${a.path}`);return}a.content?this.log(a.content):this.log(`File is empty.`)}catch(e){this.error(e.message,{exit:1})}}async#e(e,t){return(await new r().execute({tool:e,scope:t,action:`inspect`})).data}async#t(e,r){let i=new n;if(!i.validateScope(e))throw Error(`Invalid scope for Claude: ${e}`);let a=r.trim();if(!a||a===`default`)return this.#e(`claude`,e);let o=t(i.resolvePath(e)),l=s.dirname(o),u=this.#n(l,a)??s.join(l,`settings.${a}.json`);if(!c.existsSync(u))return{path:u,exists:!1};let d=c.statSync(u);return{path:u,exists:!0,content:c.readFileSync(u,`utf-8`),size:d.size,lastModified:d.mtime}}#n(e,t){let n=[`settings.${t}.json`,`settings-${t}.json`];for(let t of n){let n=s.join(e,t);if(c.existsSync(n))return n}return null}};export{l as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../editor-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../editor-BmJI32_P.js";import{r as e}from"../../format-a_tYXjv9.js";import"../../fsStore-BzLA1cBc.js";import"../../base-xqced3zT.js";import"../../config-Bphz_1Sc.js";import"../../template-Cpbt9qy8.js";import"../../xling-DyktHkvX.js";import"../../claudeDefault-B8XYzR_k.js";import"../../claude-F-aLoUUK.js";import"../../codex-BDB0z8Gw.js";import"../../gemini-CPA89gOH.js";import{t}from"../../dispatcher-1aCGdFHn.js";import{Command as n,Flags as r}from"@oclif/core";var i=class i extends n{static summary=`Inspect configuration file status`;static description=`
|
|
2
2
|
Display information about the configuration file, including:
|
|
3
3
|
- File path
|
|
4
4
|
- Existence status
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../editor-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../editor-BmJI32_P.js";import{i as e,n as t,r as n}from"../../format-a_tYXjv9.js";import"../../fsStore-BzLA1cBc.js";import"../../base-xqced3zT.js";import"../../config-Bphz_1Sc.js";import"../../template-Cpbt9qy8.js";import"../../xling-DyktHkvX.js";import"../../claudeDefault-B8XYzR_k.js";import"../../claude-F-aLoUUK.js";import"../../codex-BDB0z8Gw.js";import"../../gemini-CPA89gOH.js";import{t as r}from"../../dispatcher-1aCGdFHn.js";import{Command as i,Flags as a}from"@oclif/core";var o=class o extends i{static summary=`List all settings for a tool`;static description=`
|
|
2
2
|
Display all configuration settings for the specified AI CLI tool.
|
|
3
3
|
Supports multiple scopes (user, project, local, system).
|
|
4
4
|
`;static examples=[`<%= config.bin %> <%= command.id %> --tool claude --scope user`,`<%= config.bin %> <%= command.id %> --tool codex --scope user --table`,`<%= config.bin %> -t gemini -s project --no-json`];static flags={tool:a.string({char:`t`,description:`AI CLI tool to manage`,options:[`claude`,`codex`,`gemini`,`xling`],default:`claude`}),scope:a.string({char:`s`,description:`Configuration scope`,options:[`user`,`project`,`local`,`system`],default:`user`}),json:a.boolean({description:`Output JSON instead of text summary`,default:!1}),table:a.boolean({description:`Render table output instead of JSON`,default:!1})};async run(){let{flags:e}=await this.parse(o);try{let t=await new r().execute({tool:e.tool,scope:e.scope,action:`list`});if(e.table){this.#t(t.data);return}if(e.json){this.log(n(t));return}this.#e(t.data)}catch(e){this.error(e.message,{exit:1})}}#e(e){if(!e){this.log(`No settings found.`);return}if(e.type===`files`){if(e.files.length===0){this.log(`No settings files found.`);return}this.log(this.#n(e.files));return}if(Object.keys(e.entries).length===0){this.log(`No settings found.`);return}this.log(this.#r(e.entries,e.filePath))}#t(n){if(!n){this.log(`No settings found.`);return}if(n.type===`files`){if(n.files.length===0){this.log(`No settings files found.`);return}this.log(t(n.files));return}if(Object.keys(n.entries).length===0){this.log(`No settings found.`);return}this.log(e(n.entries)),this.log(`File: ${n.filePath}`)}#n(e){let t=e.map(e=>`${e.active?`* `:`- `}${e.variant} -> ${e.path}`+(e.exists?``:` (missing)`));return[`files:`].concat(t).join(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../editor-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../editor-BmJI32_P.js";import{r as e}from"../../format-a_tYXjv9.js";import"../../fsStore-BzLA1cBc.js";import"../../base-xqced3zT.js";import"../../config-Bphz_1Sc.js";import"../../template-Cpbt9qy8.js";import"../../xling-DyktHkvX.js";import"../../claudeDefault-B8XYzR_k.js";import"../../claude-F-aLoUUK.js";import"../../codex-BDB0z8Gw.js";import"../../gemini-CPA89gOH.js";import{t}from"../../dispatcher-1aCGdFHn.js";import{Command as n,Flags as r}from"@oclif/core";var i=class i extends n{static summary=`Open settings files in your IDE`;static description=`
|
|
2
2
|
Create or open settings files for AI CLI tools in your preferred editor.
|
|
3
3
|
For Claude: provide --name to edit settings.<name>.json (default: settings.json).
|
|
4
4
|
For Xling: edits ~/.claude/xling.json configuration.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../editor-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../editor-BmJI32_P.js";import{r as e}from"../../format-a_tYXjv9.js";import"../../fsStore-BzLA1cBc.js";import"../../base-xqced3zT.js";import"../../config-Bphz_1Sc.js";import"../../template-Cpbt9qy8.js";import"../../xling-DyktHkvX.js";import"../../claudeDefault-B8XYzR_k.js";import"../../claude-F-aLoUUK.js";import"../../codex-BDB0z8Gw.js";import"../../gemini-CPA89gOH.js";import{t}from"../../dispatcher-1aCGdFHn.js";import{Args as n,Command as r,Flags as i}from"@oclif/core";import a from"node:readline/promises";import{stdin as o,stdout as s}from"node:process";var c=class c extends r{static summary=`Switch Codex profiles or Claude settings variants`;static description=`
|
|
2
2
|
Switch to a different profile configuration for Codex
|
|
3
3
|
or activate a specific settings.<variant>.json for Claude.
|
|
4
4
|
`;static examples=[`<%= config.bin %> <%= command.id %> oss --tool codex`,`<%= config.bin %> <%= command.id %> production --tool codex`,`<%= config.bin %> <%= command.id %> hxi --tool claude --scope user`];static args={profile:n.string({description:`Profile name to switch to`,required:!0})};static flags={tool:i.string({char:`t`,description:`AI CLI tool to manage`,options:[`claude`,`codex`,`gemini`,`xling`],default:`claude`}),scope:i.string({char:`s`,description:`Configuration scope`,options:[`user`,`project`,`local`,`system`],default:`user`}),json:i.boolean({description:`Output JSON instead of interactive text`,default:!1}),force:i.boolean({description:`Skip confirmation prompts (Claude only)`,default:!1}),backup:i.boolean({description:`Create a .bak backup when switching (Claude only)`,default:!1})};async run(){let{args:e,flags:n}=await this.parse(c);try{let r=new t,i=n.tool===`claude`?await this.#e(r,e.profile,n):await r.execute({tool:n.tool,scope:n.scope,action:`switch-profile`,profile:e.profile});if(!i)return;this.#n(i,e.profile,n)}catch(e){this.error(e.message,{exit:1})}}async#e(e,t,n){n.json&&!n.force&&this.error(`--json requires --force when switching Claude settings.`,{exit:1});let r=await e.execute({tool:`claude`,scope:n.scope,action:`switch-profile`,profile:t,switchOptions:{preview:!0}});if(r.diff)this.log(`Proposed changes:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../editor-
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../editor-BmJI32_P.js";import"../../fsStore-BzLA1cBc.js";import"../../base-xqced3zT.js";import"../../config-Bphz_1Sc.js";import"../../template-Cpbt9qy8.js";import"../../xling-DyktHkvX.js";import{n as e,t}from"../../types-DI1Q0wjk.js";import{t as n}from"../../runner-B6FwKadj.js";import{Args as r,Command as i,Flags as a}from"@oclif/core";import o from"cli-table3";var s=class s extends i{static summary=`Shortcut eXecute - run predefined command shortcuts`;static description=`
|
|
2
2
|
Execute predefined command shortcuts configured in ~/.claude/xling.json.
|
|
3
3
|
|
|
4
4
|
Shortcuts allow you to create custom aliases for frequently used xling commands
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Command as e}from"@oclif/core";var t=`0.
|
|
1
|
+
import{Command as e}from"@oclif/core";var t=`0.8.0`,n=class extends e{static summary=`Show the current xling version`;static description=`Displays the version from package.json.`;static examples=[`<%= config.bin %> <%= command.id %>`];async run(){this.log(t??`unknown`)}};export{n as default};
|
package/dist/commands/x/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../base-
|
|
2
|
-
Quick launcher for Claude Code or
|
|
1
|
+
import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../base-FY_XeKpj.js";import"../../claude-DsuN4tnK.js";import"../../codex-9KXsEKx4.js";import"../../gemini-DKTklp3n.js";import{t as e}from"../../dispatcher-CbGO-tBH.js";import{Command as t,Flags as n}from"@oclif/core";var r=class r extends t{static summary=`eXecute AI CLI tools (defaults to Claude Code with yolo)`;static description=`
|
|
2
|
+
Quick launcher for Claude Code, Codex, or Gemini CLI with yolo mode enabled by default.
|
|
3
3
|
|
|
4
4
|
Just run "xling x" to start Claude Code instantly!
|
|
5
5
|
|
|
@@ -8,6 +8,7 @@ import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../b
|
|
|
8
8
|
Yolo mode is ENABLED by default, which skips permission prompts:
|
|
9
9
|
- Claude Code: --dangerously-skip-permissions
|
|
10
10
|
- Codex: --dangerously-bypass-approvals-and-sandbox
|
|
11
|
+
- Gemini CLI: -y
|
|
11
12
|
|
|
12
13
|
Resume options:
|
|
13
14
|
- Use -c/--continue to continue the last conversation/session
|
|
@@ -23,7 +24,9 @@ import"../../errors-pXKbCKbL.js";import"../../runner-DYk4q6mP.js";import"../../b
|
|
|
23
24
|
$ xling x -t codex -c # Continue last Codex session
|
|
24
25
|
$ xling x -t codex -s oss # Start Codex with oss profile
|
|
25
26
|
$ xling x --tool codex # Start Codex
|
|
27
|
+
$ xling x -t gemini # Start Gemini CLI
|
|
28
|
+
$ xling x -t gemini -c # Resume latest Gemini session
|
|
26
29
|
$ xling x --no-yolo # Start Claude without yolo
|
|
27
30
|
$ xling x -- chat "Hello" # Start Claude with arguments
|
|
28
31
|
$ xling x -t codex -C /path # Start Codex in specific directory
|
|
29
|
-
`;static examples=[{description:`Start Claude Code instantly (default)`,command:`<%= config.bin %> <%= command.id %>`},{description:`Continue last conversation`,command:`<%= config.bin %> <%= command.id %> -c`},{description:`Resume a conversation from list`,command:`<%= config.bin %> <%= command.id %> -r`},{description:`Start Claude with hxi settings variant`,command:`<%= config.bin %> <%= command.id %> -s hxi`},{description:`Continue last Codex session`,command:`<%= config.bin %> <%= command.id %> -t codex -c`},{description:`Start Codex with oss profile`,command:`<%= config.bin %> <%= command.id %> -t codex -s oss`},{description:`Start Claude without yolo mode`,command:`<%= config.bin %> <%= command.id %> --no-yolo`},{description:`Start Claude and pass arguments`,command:`<%= config.bin %> <%= command.id %> -- chat "Hello, how are you?"`},{description:`Start Codex in specific directory`,command:`<%= config.bin %> <%= command.id %> -t codex -C /path/to/project`}];static flags={tool:n.string({description:`AI CLI tool to launch`,char:`t`,options:[`claude`,`codex`],default:`claude`}),yolo:n.boolean({description:`Enable yolo mode (skip permission prompts)`,default:!0,allowNo:!0}),continue:n.boolean({description:`Continue last conversation/session`,char:`c`,exclusive:[`resume`]}),resume:n.boolean({description:`Resume from conversation/session list`,char:`r`,exclusive:[`continue`]}),cwd:n.string({description:`Working directory for the launched process`,char:`C`}),settings:n.string({description:`Settings configuration (Claude: variant name or file path; Codex: profile name)`,char:`s`})};static strict=!1;async run(){let{flags:t,argv:n}=await this.parse(r),i=n.indexOf(`--`),a=i>=0?n.slice(i+1):[];try{let n=await new e().execute({tool:t.tool,yolo:t.yolo,continue:t.continue,resume:t.resume,cwd:t.cwd,settings:t.settings,args:a});n.success?(this.log(n.message??`Launched successfully`),n.command&&t.yolo&&this.log(`\nCommand: ${n.command}`)):this.error(n.message??`Launch failed`,{exit:1})}catch(e){this.error(e.message,{exit:1})}}};export{r as default};
|
|
32
|
+
`;static examples=[{description:`Start Claude Code instantly (default)`,command:`<%= config.bin %> <%= command.id %>`},{description:`Continue last conversation`,command:`<%= config.bin %> <%= command.id %> -c`},{description:`Resume a conversation from list`,command:`<%= config.bin %> <%= command.id %> -r`},{description:`Start Claude with hxi settings variant`,command:`<%= config.bin %> <%= command.id %> -s hxi`},{description:`Continue last Codex session`,command:`<%= config.bin %> <%= command.id %> -t codex -c`},{description:`Start Codex with oss profile`,command:`<%= config.bin %> <%= command.id %> -t codex -s oss`},{description:`Start Gemini CLI (auto-accept actions)`,command:`<%= config.bin %> <%= command.id %> -t gemini`},{description:`Resume latest Gemini session`,command:`<%= config.bin %> <%= command.id %> -t gemini -c`},{description:`Start Claude without yolo mode`,command:`<%= config.bin %> <%= command.id %> --no-yolo`},{description:`Start Claude and pass arguments`,command:`<%= config.bin %> <%= command.id %> -- chat "Hello, how are you?"`},{description:`Start Codex in specific directory`,command:`<%= config.bin %> <%= command.id %> -t codex -C /path/to/project`}];static flags={tool:n.string({description:`AI CLI tool to launch`,char:`t`,options:[`claude`,`codex`,`gemini`],default:`claude`}),yolo:n.boolean({description:`Enable yolo mode (skip permission prompts)`,default:!0,allowNo:!0}),continue:n.boolean({description:`Continue last conversation/session`,char:`c`,exclusive:[`resume`]}),resume:n.boolean({description:`Resume from conversation/session list`,char:`r`,exclusive:[`continue`]}),cwd:n.string({description:`Working directory for the launched process`,char:`C`}),settings:n.string({description:`Settings configuration (Claude: variant name or file path; Codex: profile name; Gemini: model name)`,char:`s`})};static strict=!1;async run(){let{flags:t,argv:n}=await this.parse(r),i=n.indexOf(`--`),a=i>=0?n.slice(i+1):[];try{let n=await new e().execute({tool:t.tool,yolo:t.yolo,continue:t.continue,resume:t.resume,cwd:t.cwd,settings:t.settings,args:a});n.success?(this.log(n.message??`Launched successfully`),n.command&&t.yolo&&this.log(`\nCommand: ${n.command}`)):this.error(n.message??`Launch failed`,{exit:1})}catch(e){this.error(e.message,{exit:1})}}};export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./errors-pXKbCKbL.js";import{r as t}from"./runner-DYk4q6mP.js";import{t as n}from"./utils-
|
|
1
|
+
import{i as e}from"./errors-pXKbCKbL.js";import{r as t}from"./runner-DYk4q6mP.js";import{t as n}from"./utils-DMbpVz3Q.js";const r={chrome:{darwin:`Google Chrome`,linux:`google-chrome`,win32:`chrome`},safari:{darwin:`Safari`},firefox:{darwin:`Firefox`,linux:`firefox`,win32:`firefox`},arc:{darwin:`Arc`,win32:`Arc`},edge:{darwin:`Microsoft Edge`,linux:`microsoft-edge`,win32:`msedge`},dia:{darwin:`Dia`,linux:`dia`,win32:`dia`}};function i(e){let t=process.platform,n=r[e]?.[t];return n?t===`darwin`?`open -a "${n}"`:n:null}async function a(r,a){let{title:o,body:s,base:c,head:l,draft:u=!1,web:d=!1,browser:f=`chrome`,assignee:p=[],reviewer:m=[],label:h=[]}=r;if(!await n())throw new e(`gh`,`Install GitHub CLI: https://cli.github.com/`);let g=[`pr`,`create`];o&&g.push(`--title`,o),s&&g.push(`--body`,s),c&&g.push(`--base`,c),l&&g.push(`--head`,l),u&&g.push(`--draft`);for(let e of p)g.push(`--assignee`,e);for(let e of m)g.push(`--reviewer`,e);for(let e of h)g.push(`--label`,e);let _;if(d){g.push(`--web`);let e=i(f);if(!e)throw Error(`Browser "${f}" is not available on ${process.platform}. Supported browsers: chrome, safari (macOS only), firefox, arc, edge, dia`);_={GH_BROWSER:e}}let v=await t(`gh`,g,{cwd:a,env:_,throwOnError:!1});if(!v.success)throw Error(`Failed to create PR: ${v.stderr}`);return{success:!0,message:d?`Created PR and opened in ${f}`:`Created PR successfully`,details:{title:o,base:c,head:l,draft:u,web:d,browser:d?f:void 0,platform:process.platform}}}export{a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as e}from"./errors-pXKbCKbL.js";import{t}from"./xling-
|
|
1
|
+
import{d as e}from"./errors-pXKbCKbL.js";import{t}from"./xling-DyktHkvX.js";import{t as n}from"./claude-F-aLoUUK.js";import{t as r}from"./codex-BDB0z8Gw.js";import{t as i}from"./gemini-CPA89gOH.js";var a=class{#e;constructor(){this.#e=new Map,this.#e.set(`claude`,new n),this.#e.set(`codex`,new r),this.#e.set(`gemini`,new i),this.#e.set(`xling`,new t)}async execute(e){let t=this.#t(e.tool);switch(e.action){case`list`:return{success:!0,data:await t.list(e.scope)};case`switch-profile`:if(!e.profile)throw Error(`Profile is required for switch-profile action`);if(!t.switchProfile)throw Error(`Tool ${e.tool} does not support profile switching`);return await t.switchProfile(e.scope,e.profile,e.switchOptions);case`edit`:if(!t.edit)throw Error(`Tool ${e.tool} does not support editing via CLI`);return await t.edit(e.scope,{name:e.name,ide:e.ide});case`inspect`:if(!t.inspect)throw Error(`Tool ${e.tool} does not support inspect action`);return{success:!0,data:await t.inspect(e.scope)};default:throw Error(`Unsupported action: ${e.action}`)}}#t(t){let n=this.#e.get(t);if(!n)throw new e(t);return n}registerAdapter(e){this.#e.set(e.toolId,e)}getSupportedTools(){return Array.from(this.#e.keys())}};export{a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as e}from"./errors-pXKbCKbL.js";import{i as t}from"./runner-DYk4q6mP.js";import{t as n}from"./claude-DsuN4tnK.js";import{t as r}from"./codex-9KXsEKx4.js";import{t as i}from"./gemini-DKTklp3n.js";var a=class{#e;constructor(){this.#e=new Map,this.#e.set(`claude`,new n),this.#e.set(`codex`,new r),this.#e.set(`gemini`,new i)}async execute(e){let n=this.#t(e.tool);if(!await n.validateAvailability())return{success:!1,message:`Tool "${e.tool}" is not installed or not found in PATH`};let r=e.yolo??!0,i=n.buildCommandSpec({yolo:r,resume:e.resume,continue:e.continue,settings:e.settings});try{let{pid:n,command:a}=await t(i,{cwd:e.cwd,args:e.args}),o={tool:e.tool,yolo:r,args:e.args??[]};return e.resume!==void 0&&(o.resume=e.resume),e.continue!==void 0&&(o.continue=e.continue),e.cwd&&(o.cwd=e.cwd),{success:!0,pid:n,command:a,message:`Launched ${e.tool} successfully (PID: ${n})`,data:o}}catch(t){return{success:!1,message:`Failed to launch ${e.tool}: ${t.message}`}}}#t(t){let n=this.#e.get(t);if(!n)throw new e(t);return n}registerAdapter(e){this.#e.set(e.toolId,e)}getSupportedTools(){return Array.from(this.#e.keys())}};export{a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./utils-
|
|
1
|
+
import{n as e}from"./utils-DMbpVz3Q.js";import{t}from"./pr-DC2iMrPz.js";import{t as n}from"./view-BZmgL-cB.js";import{t as r}from"./worktree-DTI5xaFs.js";import{t as i}from"./create-DiqmyIaU.js";var a=class{async execute(a){if(a.command!==`prv`&&await e(a.cwd),a.command===`worktree`)return r(a.data,a.cwd);if(a.command===`prr`)return t(a.data,a.cwd);if(a.command===`prv`)return n(a.data,a.cwd);if(a.command===`prc`)return i(a.data,a.cwd);let o=a;throw Error(`Unknown git command: ${o}`)}};export{a as t};
|
package/dist/domain/git.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as GitPrRequest, c as GitWorktreeRequest, d as WorktreeStatus, i as GitCreatePrRequest, l as SUPPORTED_BROWSERS, n as GitCommandPayload, o as GitViewRequest, r as GitCommandResult, s as GitWorktreeAction, t as GitCommandDetails, u as SupportedBrowser } from "../git-
|
|
1
|
+
import { a as GitPrRequest, c as GitWorktreeRequest, d as WorktreeStatus, i as GitCreatePrRequest, l as SUPPORTED_BROWSERS, n as GitCommandPayload, o as GitViewRequest, r as GitCommandResult, s as GitWorktreeAction, t as GitCommandDetails, u as SupportedBrowser } from "../git-V9GtR5WK.js";
|
|
2
2
|
export { GitCommandDetails, GitCommandPayload, GitCommandResult, GitCreatePrRequest, GitPrRequest, GitViewRequest, GitWorktreeAction, GitWorktreeRequest, SUPPORTED_BROWSERS, SupportedBrowser, WorktreeStatus };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "../types-
|
|
2
|
-
import { n as SettingsAdapter, t as LaunchAdapter } from "../interfaces-
|
|
1
|
+
import "../types-lRv_6IzV.js";
|
|
2
|
+
import { n as SettingsAdapter, t as LaunchAdapter } from "../interfaces-BOV8jLcZ.js";
|
|
3
3
|
export { LaunchAdapter, SettingsAdapter };
|
package/dist/domain/types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as LaunchCommandSpec, c as OutputFormat, d as SettingsFileEntry, f as SettingsListData, g as ToolId, h as SwitchOptions, i as InspectResult, l as Scope, m as SettingsResult, n as ConfigValue, o as LaunchPayload, p as SettingsPayload, r as EditOptions, s as LaunchResult, t as ConfigObject, u as SettingAction } from "../types-
|
|
1
|
+
import { a as LaunchCommandSpec, c as OutputFormat, d as SettingsFileEntry, f as SettingsListData, g as ToolId, h as SwitchOptions, i as InspectResult, l as Scope, m as SettingsResult, n as ConfigValue, o as LaunchPayload, p as SettingsPayload, r as EditOptions, s as LaunchResult, t as ConfigObject, u as SettingAction } from "../types-lRv_6IzV.js";
|
|
2
2
|
export { ConfigObject, ConfigValue, EditOptions, InspectResult, LaunchCommandSpec, LaunchPayload, LaunchResult, OutputFormat, Scope, SettingAction, SettingsFileEntry, SettingsListData, SettingsPayload, SettingsResult, SwitchOptions, ToolId };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as ToolId, l as Scope, n as ConfigValue, p as SettingsPayload, u as SettingAction } from "../types-
|
|
1
|
+
import { g as ToolId, l as Scope, n as ConfigValue, p as SettingsPayload, u as SettingAction } from "../types-lRv_6IzV.js";
|
|
2
2
|
import { ZodType, z } from "zod";
|
|
3
3
|
|
|
4
4
|
//#region src/domain/validators.d.ts
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { C as validateXlingConfig, S as validateProviderModels, _ as ShortcutConfig, a as PlatformCommand, b as XlingConfigSchema, c as PlatformPipelineSchema, d as PromptConfig, f as PromptConfigSchema, g as RetryPolicySchema, h as RetryPolicy, i as PlatformArgsSchema, l as PlatformShell, m as ProviderConfigSchema, n as PipelineStepSchema, o as PlatformCommandSchema, p as ProviderConfig, r as PlatformArgs, s as PlatformPipeline, t as PipelineStep, u as PlatformShellSchema, v as ShortcutConfigSchema, x as getNormalizedPriority, y as XlingConfig } from "../../config-
|
|
1
|
+
import { C as validateXlingConfig, S as validateProviderModels, _ as ShortcutConfig, a as PlatformCommand, b as XlingConfigSchema, c as PlatformPipelineSchema, d as PromptConfig, f as PromptConfigSchema, g as RetryPolicySchema, h as RetryPolicy, i as PlatformArgsSchema, l as PlatformShell, m as ProviderConfigSchema, n as PipelineStepSchema, o as PlatformCommandSchema, p as ProviderConfig, r as PlatformArgs, s as PlatformPipeline, t as PipelineStep, u as PlatformShellSchema, v as ShortcutConfigSchema, x as getNormalizedPriority, y as XlingConfig } from "../../config-Dcd8WufG.js";
|
|
2
2
|
export { PipelineStep, PipelineStepSchema, PlatformArgs, PlatformArgsSchema, PlatformCommand, PlatformCommandSchema, PlatformPipeline, PlatformPipelineSchema, PlatformShell, PlatformShellSchema, PromptConfig, PromptConfigSchema, ProviderConfig, ProviderConfigSchema, RetryPolicy, RetryPolicySchema, ShortcutConfig, ShortcutConfigSchema, XlingConfig, XlingConfigSchema, getNormalizedPriority, validateProviderModels, validateXlingConfig };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,d as n,f as r,i,l as a,n as o,o as s,p as c,r as l,s as u,t as d,u as f}from"../../config-
|
|
1
|
+
import{a as e,c as t,d as n,f as r,i,l as a,n as o,o as s,p as c,r as l,s as u,t as d,u as f}from"../../config-Bphz_1Sc.js";export{d as PipelineStepSchema,o as PlatformArgsSchema,l as PlatformCommandSchema,i as PlatformPipelineSchema,e as PlatformShellSchema,s as PromptConfigSchema,u as ProviderConfigSchema,t as RetryPolicySchema,a as ShortcutConfigSchema,f as XlingConfigSchema,n as getNormalizedPriority,r as validateProviderModels,c as validateXlingConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"../../template-
|
|
1
|
+
import{n as e,t}from"../../template-Cpbt9qy8.js";export{t as DEFAULT_XLING_CONFIG,e as EXAMPLE_MULTI_PROVIDER_CONFIG};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./errors-pXKbCKbL.js";import{spawn as t}from"node:child_process";const n={vscode:`code`,code:`code`,cursor:`cursor`,zed:`zed`,sublime:`subl`,subl:`subl`};function r(e){return e?n[e.toLowerCase()]??e:`code`}async function i(n,r){await new Promise((i,a)=>{let o=t(n,[r],{stdio:`inherit`});o.on(`error`,t=>{a(new e(n,t.message))}),o.on(`exit`,t=>{t===0||t===null?i():a(new e(n,`Exited with code ${t}`))})})}export{r as n,i as t};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import{EventEmitter as e}from"node:events";var t=class extends e{#e;#t=new Map;#n=[];#r=`idle`;#i=`auto`;#a;#o=null;#s=null;#c=null;#l=null;#u=null;constructor(e,t){super(),this.#e=e,this.#a={strategy:`random`,timeoutMs:3e4,maxErrors:3,thinkingTimeMs:1e3,...t}}addParticipant(e){if(this.#t.has(e.id))throw Error(`Participant id "${e.id}" already exists.`);if(e.model&&Array.from(this.#t.values()).some(t=>t.model===e.model))throw Error(`Model "${e.model}" is already participating.`);let t={...e,errorCount:0};this.#t.set(e.id,t),this.emit(`participants-updated`,Array.from(this.#t.values())),this.#_(`${t.name} joined the discussion.`),this.#r===`discussing`&&this.#i===`auto`&&!this.#o&&this.#d()}removeParticipant(e){let t=this.#t.get(e);if(!t)return;let n=this.#o===e;this.#t.delete(e),this.#s===e&&(this.#s=null),this.emit(`participants-updated`,Array.from(this.#t.values())),this.#_(`${t.name} left the discussion.`),n?this.#y():this.#r===`discussing`&&this.#i===`auto`&&!this.#o&&this.#d()}get participants(){return Array.from(this.#t.values())}get history(){return[...this.#n]}get currentMessage(){return this.#c?{...this.#c}:null}get status(){return this.#r}get mode(){return this.#i}get topic(){return this.#a.topic}get currentSpeakerId(){return this.#o}setMode(e){this.#i=e,this.emit(`mode-changed`,e),e===`manual`&&this.#v(),e===`auto`&&this.#r===`discussing`&&!this.#o&&this.#d()}updateConfig(e){this.#a={...this.#a,...e}}start(){if(this.#r!==`idle`)return;this.#r=`discussing`,this.#s=null,this.emit(`status-changed`,this.#r);let e={id:crypto.randomUUID(),role:`system`,content:`Topic: ${this.#a.topic}\nParticipants: ${this.participants.map(e=>`${e.name} (${e.type})`).join(`, `)}`,senderId:`system`,timestamp:Date.now()};this.#g(e),this.#i===`auto`&&this.#d()}pause(){this.#r!==`idle`&&(this.#r=`paused`,this.#v(),this.emit(`status-changed`,this.#r))}resume(){this.#r===`paused`&&(this.#r=`discussing`,this.emit(`status-changed`,this.#r),this.#i===`auto`&&!this.#o&&this.#d())}stop(){this.#r=`idle`,this.#v(),this.#y({skipReschedule:!0}),this.#s=null,this.emit(`status-changed`,this.#r)}interrupt(){this.#o&&this.#y()}reset(){this.stop(),this.#n=[],this.#c=null,this.#s=null,this.emit(`history-cleared`),this.emit(`participants-updated`,Array.from(this.#t.values()))}async injectMessage(e,t){let n=this.#t.get(e);if(!n)throw Error(`Participant not found`);let r={id:crypto.randomUUID(),role:n.type===`human`?`user`:`assistant`,content:t,senderId:e,timestamp:Date.now()};this.#g(r),this.#r===`discussing`&&this.#i===`auto`&&!this.#o&&this.#d()}setNextSpeaker(e){if(!(this.#r!==`discussing`&&this.#r!==`paused`)){if(this.#v(),this.#o&&this.#o!==e)this.#y();else if(this.#o===e)return;this.#r===`paused`&&(this.#r=`discussing`,this.emit(`status-changed`,this.#r)),this.#p(e)}}async generateSummary(e){let t=this.#t.get(e);if(!t||!t.model)throw Error(`Invalid summarizer`);let n={messages:[{role:`user`,content:`Please summarize the discussion so far on the topic "${this.#a.topic}".
|
|
2
|
+
|
|
3
|
+
Discussion History:
|
|
4
|
+
${this.#h()}
|
|
5
|
+
|
|
6
|
+
Provide a concise summary of the key points and conclusions.`}],model:t.model};return(await this.#e.execute(n)).content}#d(){this.#v(),!(this.#r!==`discussing`||this.#i!==`auto`)&&(this.#u=setTimeout(()=>{let e=this.#f();e&&this.#p(e)},this.#a.thinkingTimeMs))}#f(){let e=this.participants.filter(e=>e.type===`ai`);if(e.length===0)return null;let t=e.map(e=>e.id),n=this.#n[this.#n.length-1],r=n&&t.includes(n.senderId)?n.senderId:null,i=this.#s??r,a=e.length>1&&i?e.filter(e=>e.id!==i):e;return a.length===0?e[0].id:this.#a.strategy===`random`?a[Math.floor(Math.random()*a.length)].id:t[((i?t.indexOf(i):-1)+1)%t.length]}async#p(e){let t=this.#t.get(e);if(!t||t.type!==`ai`||!t.model)return;this.#o=e,this.#s=e,this.#r=`speaking`,this.emit(`status-changed`,this.#r),this.emit(`turn-start`,e),this.#l=new AbortController;let n=this.#l,r=crypto.randomUUID(),i=Date.now(),a=``,o={id:r,role:`assistant`,content:``,senderId:e,timestamp:i};this.#c=o,this.emit(`message`,o);try{let o={messages:[{role:`user`,content:this.#m(t)}],model:t.model,stream:!0,abortSignal:n.signal},s=this.#e.executeStream(o),c=new Promise((e,t)=>{setTimeout(()=>t(Error(`Timeout`)),this.#a.timeoutMs)}),l=await Promise.race([s,c]);for await(let e of l.textStream){if(n.signal.aborted)break;a+=e,this.#c&&(this.#c.content=a),this.emit(`message-chunk`,{id:r,delta:e,content:a})}n.signal.aborted||(this.#g({id:r,role:`assistant`,content:a,senderId:e,timestamp:i}),t.errorCount=0)}catch(n){console.error(`Error in turn for ${t.name}:`,n),t.errorCount++,this.emit(`error`,{participantId:e,error:n.message}),t.errorCount>this.#a.maxErrors&&(this.emit(`participant-dropped`,e),this.removeParticipant(e))}finally{this.#o===e&&(this.#o=null),this.#c&&this.#c.id===r&&(this.#c=null),this.#l===n&&(this.#l=null),!this.#o&&this.#r===`speaking`&&(this.#r=`discussing`,this.emit(`status-changed`,this.#r)),this.#i===`auto`&&this.#r===`discussing`&&!this.#o&&this.#d()}}#m(e){let t=this.participants.map(e=>`${e.name}${e.model?` (${e.model})`:``}`).join(`, `);return`You are ${e.name} in a group discussion.
|
|
7
|
+
Topic: "${this.#a.topic}"
|
|
8
|
+
Active participants: ${t}
|
|
9
|
+
|
|
10
|
+
Instructions:
|
|
11
|
+
1. Speak naturally as your character.
|
|
12
|
+
2. Keep responses concise (1-3 paragraphs).
|
|
13
|
+
3. If you want to refer to a specific person, use @Name (e.g., @Claude) and acknowledge any new arrivals.
|
|
14
|
+
4. Do not repeat yourself or others excessively.
|
|
15
|
+
5. Advance the conversation with new insights or questions.
|
|
16
|
+
|
|
17
|
+
Conversation History:
|
|
18
|
+
${this.#h()}
|
|
19
|
+
|
|
20
|
+
Respond now as ${e.name}:`}#h(){return this.#n.slice(-20).map(e=>{let t=this.#t.get(e.senderId);return`[${t?t.name:e.role===`system`?`System`:`Unknown`}]: ${e.content}`}).join(`
|
|
21
|
+
|
|
22
|
+
`)}#g(e){this.#n.push(e),this.emit(`message`,e)}#_(e){let t={id:crypto.randomUUID(),role:`system`,content:e,senderId:`system`,timestamp:Date.now()};this.#g(t)}#v(){this.#u&&=(clearTimeout(this.#u),null)}#y(e){this.#l&&=(this.#l.abort(),null);let t=!!this.#o;this.#o=null,this.#c=null,t&&this.#r===`speaking`&&(this.#r=`discussing`,this.emit(`status-changed`,this.#r)),!e?.skipReschedule&&this.#i===`auto`&&this.#r===`discussing`&&this.#d()}};export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,n as t,t as n}from"./errors-pXKbCKbL.js";import*as r from"node:path";import*as i from"node:fs";import*as a from"node:os";import*as o from"smol-toml";function s(e){return e.startsWith(`~/`)||e===`~`?r.join(a.homedir(),e.slice(1)):e}function c(e){let t=s(e);i.existsSync(t)||i.mkdirSync(t,{recursive:!0})}function l(e){let r=s(e);if(!i.existsSync(r))throw new n(r);try{let e=i.readFileSync(r,`utf-8`);return JSON.parse(e)}catch(e){throw new t(r,e.message)}}function u(t,n,a=!0){let o=s(t);if(c(r.dirname(o)),a&&i.existsSync(o)){let e=`${o}.bak`;i.copyFileSync(o,e)}try{let e=`${o}.tmp`;i.writeFileSync(e,JSON.stringify(n,null,2),`utf-8`),i.renameSync(e,o)}catch(t){throw new e(o,t.message)}}function d(e){let r=s(e);if(!i.existsSync(r))throw new n(r);try{let e=i.readFileSync(r,`utf-8`);return o.parse(e)}catch(e){throw new t(r,e.message)}}function f(t,n,a=!0){let l=s(t);if(c(r.dirname(l)),a&&i.existsSync(l)){let e=`${l}.bak`;i.copyFileSync(l,e)}try{let e=`${l}.tmp`;i.writeFileSync(e,o.stringify(n),`utf-8`),i.renameSync(e,l)}catch(t){throw new e(l,t.message)}}const p=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Date);function m(e,t){let n={...e};for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e],i=n[e];p(r)&&p(i)?n[e]=m(i,r):n[e]=r}return n}function h(e){let t=s(e);return i.existsSync(t)}function g(e){let t=s(e);if(!i.existsSync(t))return null;let n=i.statSync(t);return{size:n.size,lastModified:n.mtime}}export{l as a,u as c,g as i,f as l,c as n,d as o,h as r,s,m as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./base-xqced3zT.js";import*as t from"node:path";import*as n from"node:os";var r=class extends e{toolId=`gemini`;resolvePath(e){switch(e){case`user`:return`~/.gemini/settings.json`;case`project`:return`.gemini/settings.json`;case`system`:return this.#e();default:throw Error(`Unsupported scope for Gemini: ${e}`)}}validateScope(e){return[`user`,`project`,`system`].includes(e)}#e(){switch(n.platform()){case`darwin`:return`/Library/Application Support/Gemini/settings.json`;case`win32`:return t.join(process.env.PROGRAMDATA||`C:\\ProgramData`,`Gemini`,`settings.json`);case`linux`:return`/etc/gemini/settings.json`;default:return`/etc/gemini/settings.json`}}};export{r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./base-FY_XeKpj.js";var t=class extends e{toolId=`gemini`;executable=`gemini`;buildCommandSpec(e){let t=[];if(e.continue?t.push(`--resume`,`latest`):e.resume&&t.push(`--list-sessions`),e.settings){let n=e.settings.split(`;`).map(e=>e.trim())[0];n&&t.push(`-m`,n)}return{executable:this.executable,baseArgs:t,yoloArgs:e.yolo?[`-y`]:void 0}}};export{t};
|