@aiderdesk/aiderdesk 0.61.0 → 0.62.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/out/renderer/assets/{_baseUniq-BPF2Herp.js → _baseUniq-B7TxjYgy.js} +1 -1
- package/out/renderer/assets/abap-B7h4dtBh.js +7 -0
- package/out/renderer/assets/actionscript-3-DtnkuHN2.js +7 -0
- package/out/renderer/assets/ada-BZS802Se.js +7 -0
- package/out/renderer/assets/andromeeda-C847lm7Z.js +4 -0
- package/out/renderer/assets/angular-html-BYG42TJr.js +42 -0
- package/out/renderer/assets/angular-ts-BftcHvZ6.js +29 -0
- package/out/renderer/assets/apache-D4roVlsU.js +7 -0
- package/out/renderer/assets/apex-B-mI3Md2.js +7 -0
- package/out/renderer/assets/apl-CGZawg-A.js +18 -0
- package/out/renderer/assets/applescript-C43Knf0G.js +7 -0
- package/out/renderer/assets/ara-DRBH84ND.js +7 -0
- package/out/renderer/assets/{arc-DfPLteHF.js → arc-TuVjX2tH.js} +1 -1
- package/out/renderer/assets/{architectureDiagram-Q4EWVU46-Bw0u-sSH.js → architectureDiagram-Q4EWVU46-CnAcyRvO.js} +5 -5
- package/out/renderer/assets/asciidoc-CT8_dLUs.js +7 -0
- package/out/renderer/assets/asm-3tg4MVib.js +7 -0
- package/out/renderer/assets/astro-BxdWOZvM.js +19 -0
- package/out/renderer/assets/aurora-x-wJ4-eM2h.js +4 -0
- package/out/renderer/assets/awk-ChreaG-G.js +7 -0
- package/out/renderer/assets/ayu-dark-rtpbXCNg.js +4 -0
- package/out/renderer/assets/ayu-light-BCZDSyV8.js +4 -0
- package/out/renderer/assets/ayu-mirage-BVoH71sA.js +4 -0
- package/out/renderer/assets/ballerina-B0yt0TYU.js +7 -0
- package/out/renderer/assets/bat-BzNgQIA7.js +7 -0
- package/out/renderer/assets/beancount-aZWrE5WV.js +7 -0
- package/out/renderer/assets/berry--Qc8OslH.js +7 -0
- package/out/renderer/assets/bibtex-BLeFwAes.js +7 -0
- package/out/renderer/assets/bicep-DbBeGdXQ.js +7 -0
- package/out/renderer/assets/bird2-aXhIUHPg.js +7 -0
- package/out/renderer/assets/blade-BbH7YAUi.js +22 -0
- package/out/renderer/assets/{blockDiagram-DXYQGD6D-CkfB9if8.js → blockDiagram-DXYQGD6D-DBoJhGAM.js} +6 -6
- package/out/renderer/assets/bsl-DwPS0BId.js +9 -0
- package/out/renderer/assets/c-C4VtT7JA.js +7 -0
- package/out/renderer/assets/c3-CWHczQMq.js +7 -0
- package/out/renderer/assets/{c4Diagram-AHTNJAMY-DweK9Liz.js → c4Diagram-AHTNJAMY-BzW0gKwX.js} +2 -2
- package/out/renderer/assets/cadence-S_NtR5Dy.js +7 -0
- package/out/renderer/assets/cairo-BtYx2aM5.js +9 -0
- package/out/renderer/assets/catppuccin-frappe-C21OPQfC.js +4 -0
- package/out/renderer/assets/catppuccin-latte-0ZtXlsrX.js +4 -0
- package/out/renderer/assets/catppuccin-macchiato-BD_FR4sl.js +4 -0
- package/out/renderer/assets/catppuccin-mocha-C653csR5.js +4 -0
- package/out/renderer/assets/{channel-C5wwrRof.js → channel-CqR4FAVX.js} +1 -1
- package/out/renderer/assets/{chunk-4BX2VUAB-0KM14cFd.js → chunk-4BX2VUAB-DQjg_Naa.js} +1 -1
- package/out/renderer/assets/{chunk-4TB4RGXK-CmVtCVL4.js → chunk-4TB4RGXK-DkcI1yaW.js} +5 -5
- package/out/renderer/assets/{chunk-55IACEB6-BzVYZvBM.js → chunk-55IACEB6-pFPEMTmI.js} +1 -1
- package/out/renderer/assets/{chunk-EDXVE4YY-BryQl5Kv.js → chunk-EDXVE4YY-DRk838hn.js} +1 -1
- package/out/renderer/assets/{chunk-FMBD7UC4-CRiLea_e.js → chunk-FMBD7UC4-BagQdd5u.js} +1 -1
- package/out/renderer/assets/{chunk-OYMX7WX6-Cpi4N3NO.js → chunk-OYMX7WX6-DOGJ-XHp.js} +3 -3
- package/out/renderer/assets/{chunk-QZHKN3VN-BT8kABWC.js → chunk-QZHKN3VN-CdzjbbBk.js} +1 -1
- package/out/renderer/assets/{chunk-YZCP3GAM-OLZV_Sef.js → chunk-YZCP3GAM-BKZRTlUj.js} +1 -1
- package/out/renderer/assets/clarity-D2ViJC0i.js +7 -0
- package/out/renderer/assets/{classDiagram-6PBFFD2Q-VdE6G90i.js → classDiagram-6PBFFD2Q-CjVhmlxb.js} +6 -6
- package/out/renderer/assets/{classDiagram-v2-HSJHXN6E-VdE6G90i.js → classDiagram-v2-HSJHXN6E-CjVhmlxb.js} +6 -6
- package/out/renderer/assets/clojure-C_G4_w5x.js +7 -0
- package/out/renderer/assets/{clone-DwQZ86nS.js → clone-B-kqpcr4.js} +1 -1
- package/out/renderer/assets/cmake-CDfQILeU.js +7 -0
- package/out/renderer/assets/cobol-B8r1pfPr.js +13 -0
- package/out/renderer/assets/codeowners-awy7PWCD.js +7 -0
- package/out/renderer/assets/codeql-lfK8ppuq.js +7 -0
- package/out/renderer/assets/coffee-XLjtuEYs.js +9 -0
- package/out/renderer/assets/common-lisp-DAq1kaby.js +7 -0
- package/out/renderer/assets/coq-l_JvzFJl.js +7 -0
- package/out/renderer/assets/{cose-bilkent-S5V4N54A-BEcAKM9H.js → cose-bilkent-S5V4N54A-CZLRecVB.js} +1 -1
- package/out/renderer/assets/cpp-zh2ePAE_.js +22 -0
- package/out/renderer/assets/crystal-BqBRy7Ec.js +19 -0
- package/out/renderer/assets/csharp-DxX_6tHh.js +7 -0
- package/out/renderer/assets/css-BtVcDqlU.js +7 -0
- package/out/renderer/assets/csv-Ba84L8e5.js +7 -0
- package/out/renderer/assets/cue-BFSVLV6N.js +7 -0
- package/out/renderer/assets/cypher-DbUmWIxC.js +7 -0
- package/out/renderer/assets/d-9qSZPw74.js +7 -0
- package/out/renderer/assets/{dagre-KV5264BT-BcFQYL1M.js → dagre-KV5264BT-BUAzC7Um.js} +6 -6
- package/out/renderer/assets/dark-plus-DmZ1Dzd4.js +4 -0
- package/out/renderer/assets/dart-CCSsOg9l.js +7 -0
- package/out/renderer/assets/dax-CvsmLV-B.js +7 -0
- package/out/renderer/assets/desktop-_xiGZ9X1.js +7 -0
- package/out/renderer/assets/{diagram-5BDNPKRD-GrUNdC1u.js → diagram-5BDNPKRD-DNQEDszc.js} +6 -6
- package/out/renderer/assets/{diagram-G4DWMVQ6-CG4S-ov5.js → diagram-G4DWMVQ6-D9YY6W2O.js} +6 -6
- package/out/renderer/assets/{diagram-MMDJMWI5-9ogY3MRC.js → diagram-MMDJMWI5-B5H49OVD.js} +5 -5
- package/out/renderer/assets/{diagram-TYMM5635-Ck7mI1bS.js → diagram-TYMM5635-Bw7r467p.js} +5 -5
- package/out/renderer/assets/diff-BEdzuHlE.js +7 -0
- package/out/renderer/assets/docker-CUaLOm2I.js +7 -0
- package/out/renderer/assets/dotenv-Bb4iNxXK.js +7 -0
- package/out/renderer/assets/dracula-B8-AVrwI.js +4 -0
- package/out/renderer/assets/dracula-soft-BHeefow7.js +4 -0
- package/out/renderer/assets/dream-maker-CNLQpoF-.js +7 -0
- package/out/renderer/assets/edge-CnHxQ_FD.js +15 -0
- package/out/renderer/assets/elixir-B_LIBv5J.js +11 -0
- package/out/renderer/assets/elm-BlO7pcFp.js +10 -0
- package/out/renderer/assets/emacs-lisp-4gdXY_g3.js +7 -0
- package/out/renderer/assets/{erDiagram-SMLLAGMA-Dvf_c-7M.js → erDiagram-SMLLAGMA-Bz4ALNLp.js} +4 -4
- package/out/renderer/assets/erb-Bzn22wO6.js +28 -0
- package/out/renderer/assets/erlang-Ch5kuXHm.js +9 -0
- package/out/renderer/assets/everforest-dark-Cg1xdODP.js +4 -0
- package/out/renderer/assets/everforest-light-BmTD3bxe.js +4 -0
- package/out/renderer/assets/fennel-BTELNkeT.js +7 -0
- package/out/renderer/assets/fish-kGF2-4SL.js +7 -0
- package/out/renderer/assets/{flowDiagram-DWJPFMVM-CPDjOXYp.js → flowDiagram-DWJPFMVM-Uqg1ZeN2.js} +6 -6
- package/out/renderer/assets/fluent-YyC28MRr.js +7 -0
- package/out/renderer/assets/fortran-fixed-form-CpmOyvS5.js +9 -0
- package/out/renderer/assets/fortran-free-form-5X94ETMi.js +7 -0
- package/out/renderer/assets/fsharp-5vtGqRR9.js +9 -0
- package/out/renderer/assets/{ganttDiagram-T4ZO3ILL-B4dJrK-3.js → ganttDiagram-T4ZO3ILL-Dm0tRLCH.js} +1 -1
- package/out/renderer/assets/gdresource-B5TLWiFO.js +11 -0
- package/out/renderer/assets/gdscript-CNW3Aj-d.js +7 -0
- package/out/renderer/assets/gdshader-BEzE4j_3.js +7 -0
- package/out/renderer/assets/genie-BvhtM5Ga.js +7 -0
- package/out/renderer/assets/gherkin-xCNF9gh8.js +7 -0
- package/out/renderer/assets/git-commit-PP9xCApN.js +9 -0
- package/out/renderer/assets/git-rebase-D-XQSvDj.js +9 -0
- package/out/renderer/assets/{gitGraphDiagram-UUTBAWPF-De2eCfMN.js → gitGraphDiagram-UUTBAWPF-R8imfIrj.js} +6 -6
- package/out/renderer/assets/github-dark-O22yVQaY.js +4 -0
- package/out/renderer/assets/github-dark-default-DB2Hkvqn.js +4 -0
- package/out/renderer/assets/github-dark-dimmed-CMZ_OfqC.js +4 -0
- package/out/renderer/assets/github-dark-high-contrast-DmxWVmCU.js +4 -0
- package/out/renderer/assets/github-light-BTbR9xVK.js +4 -0
- package/out/renderer/assets/github-light-default-DWEonwFe.js +4 -0
- package/out/renderer/assets/github-light-high-contrast-WJ_cPDts.js +4 -0
- package/out/renderer/assets/gleam-LmNxrMsN.js +7 -0
- package/out/renderer/assets/glimmer-js-h2QNNiD7.js +15 -0
- package/out/renderer/assets/glimmer-ts-Bk3uX6Ae.js +15 -0
- package/out/renderer/assets/glsl-CGsiYPcu.js +9 -0
- package/out/renderer/assets/gn-OUMx7fqt.js +7 -0
- package/out/renderer/assets/gnuplot-tV8vezdE.js +7 -0
- package/out/renderer/assets/go-DRMr3iML.js +7 -0
- package/out/renderer/assets/{graph-BFn23kR_.js → graph-B5YWEnt0.js} +2 -2
- package/out/renderer/assets/graphql-CwmtR1ib.js +15 -0
- package/out/renderer/assets/groovy-Bn4MhXgW.js +7 -0
- package/out/renderer/assets/gruvbox-dark-hard-DVsRsETr.js +4 -0
- package/out/renderer/assets/gruvbox-dark-medium-B5JBrQdg.js +4 -0
- package/out/renderer/assets/gruvbox-dark-soft-Db-YOqRx.js +4 -0
- package/out/renderer/assets/gruvbox-light-hard-CXzJt7DI.js +4 -0
- package/out/renderer/assets/gruvbox-light-medium-B89RAI1Y.js +4 -0
- package/out/renderer/assets/gruvbox-light-soft-Cs0hTZYv.js +4 -0
- package/out/renderer/assets/hack-BTX3ICIE.js +13 -0
- package/out/renderer/assets/haml-DrIklt7F.js +11 -0
- package/out/renderer/assets/handlebars-yWFGGD2R.js +15 -0
- package/out/renderer/assets/haskell-CzPS7wjM.js +7 -0
- package/out/renderer/assets/haxe-BpobLYM9.js +7 -0
- package/out/renderer/assets/hcl-axoq0Ycu.js +7 -0
- package/out/renderer/assets/hjson-I7LcauIB.js +7 -0
- package/out/renderer/assets/hlsl-TRzjajlb.js +7 -0
- package/out/renderer/assets/horizon-DWzh3z5C.js +4 -0
- package/out/renderer/assets/horizon-bright-C1AFkPsv.js +4 -0
- package/out/renderer/assets/houston-CF_ws8Cq.js +4 -0
- package/out/renderer/assets/html-GC16tDh9.js +11 -0
- package/out/renderer/assets/html-derivative-HU9p64q4.js +11 -0
- package/out/renderer/assets/http-DjsOm9E4.js +20 -0
- package/out/renderer/assets/hurl-Am2cDU4f.js +18 -0
- package/out/renderer/assets/hxml-Jle7oGdm.js +9 -0
- package/out/renderer/assets/hy-B1k9U6S8.js +7 -0
- package/out/renderer/assets/imba-C4923lSV.js +7 -0
- package/out/renderer/assets/{index-BkntVzTm.css → index-B6Zj03wk.css} +82 -24
- package/out/renderer/assets/{index-BL-57WPa.js → index-D7Xi0GX5.js} +30034 -9238
- package/out/renderer/assets/{infoDiagram-42DDH7IO-BIt9B6mQ.js → infoDiagram-42DDH7IO-CWPYNP1k.js} +4 -4
- package/out/renderer/assets/ini-B84Ha1bx.js +7 -0
- package/out/renderer/assets/{ishikawaDiagram-UXIWVN3A-CXZs0KGV.js → ishikawaDiagram-UXIWVN3A-CFTrc-S6.js} +1 -1
- package/out/renderer/assets/java-BfXh-0uJ.js +7 -0
- package/out/renderer/assets/javascript-BsAkV7mL.js +7 -0
- package/out/renderer/assets/jinja-FkIlHBgj.js +16 -0
- package/out/renderer/assets/jison-BkdOIOd4.js +9 -0
- package/out/renderer/assets/{journeyDiagram-VCZTEJTY-B-EXuj5b.js → journeyDiagram-VCZTEJTY-Dfd-piIf.js} +4 -4
- package/out/renderer/assets/json-TjWBGEk1.js +7 -0
- package/out/renderer/assets/json5-DCGCKrmX.js +7 -0
- package/out/renderer/assets/jsonc-DLVLp8id.js +7 -0
- package/out/renderer/assets/jsonl-B-R_pDGg.js +7 -0
- package/out/renderer/assets/jsonnet-Cs8BnnC6.js +7 -0
- package/out/renderer/assets/jssm-DDuANZ2u.js +7 -0
- package/out/renderer/assets/jsx-BPmvoin2.js +7 -0
- package/out/renderer/assets/julia-CU_UwNb8.js +20 -0
- package/out/renderer/assets/just-tGFryTtU.js +34 -0
- package/out/renderer/assets/kanagawa-dragon-DU8n2NNT.js +4 -0
- package/out/renderer/assets/kanagawa-lotus-Byd0CDet.js +4 -0
- package/out/renderer/assets/kanagawa-wave-DExoagcR.js +4 -0
- package/out/renderer/assets/{kanban-definition-6JOO6SKY-ByvN0qaD.js → kanban-definition-6JOO6SKY-BocrfAtb.js} +2 -2
- package/out/renderer/assets/kdl-DzNQTDs7.js +7 -0
- package/out/renderer/assets/kotlin-BM2ZNTMh.js +7 -0
- package/out/renderer/assets/kusto-dtpuxMFE.js +7 -0
- package/out/renderer/assets/laserwave-DF03wMlf.js +4 -0
- package/out/renderer/assets/latex-B0gTO9uZ.js +10 -0
- package/out/renderer/assets/{layout-BpybWUv6.js → layout-DHzrXVin.js} +4 -4
- package/out/renderer/assets/lean-CTow-IzD.js +7 -0
- package/out/renderer/assets/less-BAzLMJNR.js +7 -0
- package/out/renderer/assets/light-plus-DS08Xg5J.js +4 -0
- package/out/renderer/assets/liquid-QmJ_LYTW.js +15 -0
- package/out/renderer/assets/llvm-CTKcAHbb.js +7 -0
- package/out/renderer/assets/log-BF22rfM9.js +7 -0
- package/out/renderer/assets/logo-D9l7oEJ8.js +7 -0
- package/out/renderer/assets/lua-BVbbqwZC.js +9 -0
- package/out/renderer/assets/luau-CdZ6BoEa.js +7 -0
- package/out/renderer/assets/make-DLtqaK4D.js +7 -0
- package/out/renderer/assets/markdown-F_EULe_G.js +7 -0
- package/out/renderer/assets/marko-BAWrmNIa.js +15 -0
- package/out/renderer/assets/material-theme-B8B2U48Q.js +4 -0
- package/out/renderer/assets/material-theme-darker-BV0iY_T3.js +4 -0
- package/out/renderer/assets/material-theme-lighter-DrzybSTF.js +4 -0
- package/out/renderer/assets/material-theme-ocean-BRPLVReX.js +4 -0
- package/out/renderer/assets/material-theme-palenight-DSJwsR_D.js +4 -0
- package/out/renderer/assets/matlab-7XHduepk.js +7 -0
- package/out/renderer/assets/mdc-Ca0ft0PS.js +16 -0
- package/out/renderer/assets/mdx-D5wExp-O.js +7 -0
- package/out/renderer/assets/mermaid-z_1ejSlp.js +7 -0
- package/out/renderer/assets/{min-DB8ixvoT.js → min-D6g96v7R.js} +2 -2
- package/out/renderer/assets/min-dark-BNaN9fWk.js +4 -0
- package/out/renderer/assets/min-light-CMrjentn.js +4 -0
- package/out/renderer/assets/{mindmap-definition-QFDTVHPH-Do-I-At8.js → mindmap-definition-QFDTVHPH-D9cyK1Gb.js} +3 -3
- package/out/renderer/assets/mipsasm-BQyyUrpa.js +7 -0
- package/out/renderer/assets/mojo-ByCRDvCf.js +7 -0
- package/out/renderer/assets/monokai-DelygWXa.js +4 -0
- package/out/renderer/assets/moonbit-CqjK87KZ.js +7 -0
- package/out/renderer/assets/move-DhTNmxqC.js +7 -0
- package/out/renderer/assets/narrat-CLjGcbCy.js +7 -0
- package/out/renderer/assets/nextflow-B166B-y1.js +9 -0
- package/out/renderer/assets/nextflow-groovy-BOO9s0iq.js +7 -0
- package/out/renderer/assets/nginx-BFAkI5_-.js +10 -0
- package/out/renderer/assets/night-owl-DSS199ra.js +4 -0
- package/out/renderer/assets/night-owl-light-gC6E-Eh2.js +4 -0
- package/out/renderer/assets/nim-B3PAIZ4D.js +22 -0
- package/out/renderer/assets/nix-ByWcmvXF.js +12 -0
- package/out/renderer/assets/nord-CvDbBq5M.js +4 -0
- package/out/renderer/assets/nushell-DB8ZUEbK.js +7 -0
- package/out/renderer/assets/objective-c-BRoNQF42.js +7 -0
- package/out/renderer/assets/objective-cpp-DEoN9Fe5.js +7 -0
- package/out/renderer/assets/ocaml-B1kfGk9Y.js +7 -0
- package/out/renderer/assets/odin-CNQ56Ay2.js +7 -0
- package/out/renderer/assets/one-dark-pro-CsMf0BoJ.js +4 -0
- package/out/renderer/assets/one-light-B0cTzZyr.js +4 -0
- package/out/renderer/assets/openscad-C_m7ehZF.js +7 -0
- package/out/renderer/assets/pascal-CU8Kjkr_.js +7 -0
- package/out/renderer/assets/perl-HITCDkgu.js +18 -0
- package/out/renderer/assets/php-C2HieitX.js +20 -0
- package/out/renderer/assets/{pieDiagram-DEJITSTG-Cnpf6Gt6.js → pieDiagram-DEJITSTG-LUWwVJA5.js} +6 -6
- package/out/renderer/assets/pierre-dark-DADY5eR0.js +4 -0
- package/out/renderer/assets/pierre-light-DUjirxKp.js +4 -0
- package/out/renderer/assets/pkl-BsByaYax.js +7 -0
- package/out/renderer/assets/plastic-BjwMpBc0.js +4 -0
- package/out/renderer/assets/plsql-B3Na24V4.js +7 -0
- package/out/renderer/assets/po-BajfNjc5.js +7 -0
- package/out/renderer/assets/poimandres-ChWyhPrn.js +4 -0
- package/out/renderer/assets/polar-BB-dlxnO.js +7 -0
- package/out/renderer/assets/postcss-kj1IbjVd.js +7 -0
- package/out/renderer/assets/powerquery-B-e1fO-k.js +7 -0
- package/out/renderer/assets/powershell-BcMVbGpk.js +7 -0
- package/out/renderer/assets/prisma-bmxcSDxq.js +7 -0
- package/out/renderer/assets/prolog-BT9GCzqD.js +7 -0
- package/out/renderer/assets/proto-Ds-m32NR.js +7 -0
- package/out/renderer/assets/pug-BwQB43qN.js +13 -0
- package/out/renderer/assets/puppet-N15G4Usj.js +7 -0
- package/out/renderer/assets/purescript-DrwsEYNH.js +7 -0
- package/out/renderer/assets/python-CrdIx4PZ.js +7 -0
- package/out/renderer/assets/qml-jtL8okyu.js +9 -0
- package/out/renderer/assets/qmldir-DuMSk0Oz.js +7 -0
- package/out/renderer/assets/qss-BFrB6p4y.js +7 -0
- package/out/renderer/assets/{quadrantDiagram-34T5L4WZ-VcOb1qLd.js → quadrantDiagram-34T5L4WZ-DdWTi9yW.js} +1 -1
- package/out/renderer/assets/r-Dpdc-Kyk.js +7 -0
- package/out/renderer/assets/racket-DbA06HL7.js +7 -0
- package/out/renderer/assets/raku-6v-Y17bs.js +7 -0
- package/out/renderer/assets/razor-gBXW6YBJ.js +13 -0
- package/out/renderer/assets/red-DByOl5N0.js +4 -0
- package/out/renderer/assets/reg-CULnG2WX.js +7 -0
- package/out/renderer/assets/regexp-BxWeO75u.js +7 -0
- package/out/renderer/assets/rel-CHRwzjd4.js +7 -0
- package/out/renderer/assets/{requirementDiagram-MS252O5E-VJs9Hpaw.js → requirementDiagram-MS252O5E-BoLT3tay.js} +3 -3
- package/out/renderer/assets/riscv-BNQ9cVpw.js +7 -0
- package/out/renderer/assets/ron-CUEPaFZU.js +7 -0
- package/out/renderer/assets/rose-pine-B-kZ4Z9q.js +4 -0
- package/out/renderer/assets/rose-pine-dawn-efeVGdSI.js +4 -0
- package/out/renderer/assets/rose-pine-moon-DmodZNzl.js +4 -0
- package/out/renderer/assets/rosmsg-Bfahr6vb.js +7 -0
- package/out/renderer/assets/rst-by6KAwTb.js +37 -0
- package/out/renderer/assets/ruby-C13Bjepi.js +37 -0
- package/out/renderer/assets/rust-CMNYZh5a.js +7 -0
- package/out/renderer/assets/{sankeyDiagram-XADWPNL6-BoXxgLvi.js → sankeyDiagram-XADWPNL6-B4gY_QI-.js} +1 -1
- package/out/renderer/assets/sas-BLBgC3TA.js +9 -0
- package/out/renderer/assets/sass-BheygBdF.js +7 -0
- package/out/renderer/assets/scala-B-_7vFVn.js +7 -0
- package/out/renderer/assets/scheme-BSHdPinv.js +7 -0
- package/out/renderer/assets/scss-Dq-LbI_c.js +9 -0
- package/out/renderer/assets/sdbl-BBUhycGU.js +7 -0
- package/out/renderer/assets/{sequenceDiagram-FGHM5R23-b69hQjSp.js → sequenceDiagram-FGHM5R23-B-JJvxQW.js} +3 -3
- package/out/renderer/assets/shaderlab-C07uO3dL.js +9 -0
- package/out/renderer/assets/shellscript-CQ8MXh-D.js +7 -0
- package/out/renderer/assets/shellsession-CkeTp4M1.js +9 -0
- package/out/renderer/assets/slack-dark-BEe10hxO.js +4 -0
- package/out/renderer/assets/slack-ochin-BKmu9pBc.js +4 -0
- package/out/renderer/assets/smalltalk-qxcGy4fT.js +7 -0
- package/out/renderer/assets/snazzy-light-Dcvd-ZyI.js +4 -0
- package/out/renderer/assets/solarized-dark-BBl5y5sR.js +4 -0
- package/out/renderer/assets/solarized-light-DW9b_AY8.js +4 -0
- package/out/renderer/assets/solidity-CSTQ0FCC.js +7 -0
- package/out/renderer/assets/soy-BHaHgMUy.js +11 -0
- package/out/renderer/assets/sparql-DswowMAp.js +9 -0
- package/out/renderer/assets/splunk-DcGJXIDa.js +7 -0
- package/out/renderer/assets/sql-DzUuSofg.js +7 -0
- package/out/renderer/assets/ssh-config-Bk_I5wDR.js +7 -0
- package/out/renderer/assets/stata-Dl7wDdBE.js +9 -0
- package/out/renderer/assets/{stateDiagram-FHFEXIEX-BK7E-REm.js → stateDiagram-FHFEXIEX-BntwOBUs.js} +8 -8
- package/out/renderer/assets/{stateDiagram-v2-QKLJ7IA2-Cd2wfCQu.js → stateDiagram-v2-QKLJ7IA2-C__eWVIe.js} +4 -4
- package/out/renderer/assets/stylus-DXFa_2Jl.js +7 -0
- package/out/renderer/assets/surrealql-Bs3vUeKA.js +9 -0
- package/out/renderer/assets/svelte-fC0HkEkx.js +15 -0
- package/out/renderer/assets/swift-Cohr-WZC.js +7 -0
- package/out/renderer/assets/synthwave-84-CoUef9sh.js +4 -0
- package/out/renderer/assets/system-verilog-BcESSvRn.js +7 -0
- package/out/renderer/assets/systemd-DJPFjU02.js +7 -0
- package/out/renderer/assets/talonscript-CEEMXJTH.js +7 -0
- package/out/renderer/assets/tasl-DfOr2qHi.js +7 -0
- package/out/renderer/assets/tcl-CTsc4-t7.js +7 -0
- package/out/renderer/assets/templ-CSEiQwNm.js +13 -0
- package/out/renderer/assets/terraform-CeztUfUr.js +7 -0
- package/out/renderer/assets/tex-CGVqF8nD.js +9 -0
- package/out/renderer/assets/{timeline-definition-GMOUNBTQ-Bl-MTfK5.js → timeline-definition-GMOUNBTQ-C7ch2INk.js} +2 -2
- package/out/renderer/assets/tokyo-night-DjtLpAEY.js +4 -0
- package/out/renderer/assets/toml-vHPzWDj6.js +7 -0
- package/out/renderer/assets/ts-tags-cG2hZuda.js +54 -0
- package/out/renderer/assets/tsv-ChRVFvMy.js +7 -0
- package/out/renderer/assets/tsx-CmGGo4Hm.js +7 -0
- package/out/renderer/assets/turtle-BnC7StHY.js +7 -0
- package/out/renderer/assets/twig-CwEEYIBf.js +36 -0
- package/out/renderer/assets/typescript-CP6ECzON.js +7 -0
- package/out/renderer/assets/typespec-CkDVVIcK.js +7 -0
- package/out/renderer/assets/typst-XYLFxYau.js +7 -0
- package/out/renderer/assets/v-BSYXvR4g.js +7 -0
- package/out/renderer/assets/vala-qJa5rry9.js +7 -0
- package/out/renderer/assets/vb-Bzg9rspf.js +7 -0
- package/out/renderer/assets/{vennDiagram-DHZGUBPP-DNmr1k2L.js → vennDiagram-DHZGUBPP-CQ__NSue.js} +1 -1
- package/out/renderer/assets/verilog-CCb_iTfF.js +7 -0
- package/out/renderer/assets/vesper-4Q1cEwPL.js +4 -0
- package/out/renderer/assets/vhdl-DMqk4T2s.js +7 -0
- package/out/renderer/assets/viml--FINbfoq.js +7 -0
- package/out/renderer/assets/vitesse-black-BqNLki8b.js +4 -0
- package/out/renderer/assets/vitesse-dark-jJ32WhwH.js +4 -0
- package/out/renderer/assets/vitesse-light-476zM4e6.js +4 -0
- package/out/renderer/assets/vue-K-7Ga-y8.js +40 -0
- package/out/renderer/assets/vue-html-DhreShjd.js +9 -0
- package/out/renderer/assets/vue-vine-rMIwOpFf.js +19 -0
- package/out/renderer/assets/vyper-DP4whl13.js +7 -0
- package/out/renderer/assets/{wardley-RL74JXVD-DTbxPMj9.js → wardley-RL74JXVD-Kh6mNiRV.js} +3 -3
- package/out/renderer/assets/{wardleyDiagram-NUSXRM2D-BWw08wtD.js → wardleyDiagram-NUSXRM2D-CfRYzJMU.js} +5 -5
- package/out/renderer/assets/wasm-BBh6f151.js +7 -0
- package/out/renderer/assets/wasm-DDgzZJey.js +10 -0
- package/out/renderer/assets/wenyan-BdqozpMZ.js +7 -0
- package/out/renderer/assets/wgsl-Vo-hHVWH.js +7 -0
- package/out/renderer/assets/wikitext-BDjE6pmL.js +7 -0
- package/out/renderer/assets/wit-C_nQzOkY.js +7 -0
- package/out/renderer/assets/wolfram-CRmjUoI4.js +7 -0
- package/out/renderer/assets/xml-BMzZeaqs.js +9 -0
- package/out/renderer/assets/xsl-CnwVr_6q.js +10 -0
- package/out/renderer/assets/{xychartDiagram-5P7HB3ND-EEYPnLDT.js → xychartDiagram-5P7HB3ND-BFq2zIne.js} +1 -1
- package/out/renderer/assets/yaml-B_vW5iTY.js +7 -0
- package/out/renderer/assets/zenscript-DFINJL6j.js +7 -0
- package/out/renderer/assets/zig-CS4FMAZp.js +7 -0
- package/out/renderer/index.html +2 -2
- package/out/resources/linux/probe +0 -0
- package/out/resources/linux-x64/probe +0 -0
- package/out/resources/mcp-server/aider-desk-mcp-server.js +16 -1
- package/out/resources/prompts/code-change-requests.hbs +21 -0
- package/out/resources/skills/extension-creator/SKILL.md +345 -0
- package/out/resources/skills/extension-creator/assets/templates/Component.jsx.template +76 -0
- package/out/resources/skills/extension-creator/assets/templates/ConfigComponent.jsx.template +38 -0
- package/out/resources/skills/extension-creator/assets/templates/folder-extension/config.ts.template +29 -0
- package/out/resources/skills/extension-creator/assets/templates/folder-extension/index.ts.template +42 -0
- package/out/resources/skills/extension-creator/assets/templates/folder-extension/package.json +12 -0
- package/out/resources/skills/extension-creator/assets/templates/folder-extension/tsconfig.json +23 -0
- package/out/resources/skills/extension-creator/assets/templates/folder-extension-with-config/index.ts.template +80 -0
- package/out/resources/skills/extension-creator/assets/templates/single-file.ts.template +30 -0
- package/out/resources/skills/extension-creator/assets/templates/ui-component-external.ts.template +91 -0
- package/out/resources/skills/extension-creator/assets/templates/ui-component.ts.template +79 -0
- package/out/resources/skills/extension-creator/references/command-definition.md +170 -0
- package/out/resources/skills/extension-creator/references/config-components.md +427 -0
- package/out/resources/skills/extension-creator/references/event-types.md +156 -0
- package/out/resources/skills/extension-creator/references/examples-gallery.md +583 -0
- package/out/resources/skills/extension-creator/references/extension-interface.md +306 -0
- package/out/resources/skills/extension-creator/references/extension-types.md +186 -0
- package/out/resources/skills/extension-creator/references/in-repo-flow.md +132 -0
- package/out/resources/skills/extension-creator/references/install-targets.md +96 -0
- package/out/resources/skills/extension-creator/references/project-global-flow.md +76 -0
- package/out/resources/skills/extension-creator/references/ui-components.md +663 -0
- package/out/runner.js +509 -164
- package/package.json +11 -9
- package/out/resources/prompts/code-inline-request.hbs +0 -16
- /package/patches/{ai+5.0.167.patch → ai+5.0.172.patch} +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config Component for {{EXTENSION_NAME}}
|
|
3
|
+
*
|
|
4
|
+
* Renders a settings UI in the ExtensionSettingsDialog.
|
|
5
|
+
*
|
|
6
|
+
* Available props:
|
|
7
|
+
* - config: Current config data from getConfigData()
|
|
8
|
+
* - updateConfig: Callback to mutate in-memory config (does NOT persist)
|
|
9
|
+
* - ui: UI components (Button, Checkbox, Input, Select, TextArea, etc.) — prefer these over raw HTML
|
|
10
|
+
* - icons: React Icons organized by set (Fi, Hi, Cg, etc.)
|
|
11
|
+
* - models: Available models
|
|
12
|
+
* - providers: Available providers
|
|
13
|
+
* - projectDir: Project directory path
|
|
14
|
+
* - task: Current TaskData
|
|
15
|
+
* - mode: Current mode string
|
|
16
|
+
* - api: ApplicationAPI reference
|
|
17
|
+
*
|
|
18
|
+
* Note: React is globally available (use React.useState, React.useEffect, etc.)
|
|
19
|
+
* Note: Prefer ui.* components over raw HTML elements for consistent styling
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
({ config, updateConfig, ui }) => {
|
|
23
|
+
const { Input } = ui;
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<div className="flex flex-col gap-4">
|
|
27
|
+
<Input
|
|
28
|
+
label="My Setting Label"
|
|
29
|
+
value={config?.mySetting || ''}
|
|
30
|
+
onChange={(value) => updateConfig({ ...config, mySetting: value })}
|
|
31
|
+
placeholder="Enter a value..."
|
|
32
|
+
/>
|
|
33
|
+
<p className="text-xs text-text-secondary -mt-2">
|
|
34
|
+
Description of what this setting controls and how it affects the extension behavior.
|
|
35
|
+
</p>
|
|
36
|
+
</div>
|
|
37
|
+
);
|
|
38
|
+
};
|
package/out/resources/skills/extension-creator/assets/templates/folder-extension/config.ts.template
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import fs from 'fs/promises';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
|
|
5
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
|
|
7
|
+
export interface {EXTENSION_NAME}Config {
|
|
8
|
+
// Add config properties
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const DEFAULT_CONFIG: {EXTENSION_NAME}Config = {
|
|
12
|
+
// Add default values
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const CONFIG_FILE = path.join(__dirname, 'config.json');
|
|
16
|
+
|
|
17
|
+
export const loadConfig = async (): Promise<{EXTENSION_NAME}Config> => {
|
|
18
|
+
try {
|
|
19
|
+
const data = await fs.readFile(CONFIG_FILE, 'utf-8');
|
|
20
|
+
const config = JSON.parse(data);
|
|
21
|
+
return { ...DEFAULT_CONFIG, ...config };
|
|
22
|
+
} catch {
|
|
23
|
+
return { ...DEFAULT_CONFIG };
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export const saveConfig = async (config: {EXTENSION_NAME}Config): Promise<void> => {
|
|
28
|
+
await fs.writeFile(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
|
|
29
|
+
};
|
package/out/resources/skills/extension-creator/assets/templates/folder-extension/index.ts.template
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* {EXTENSION_NAME} Extension
|
|
3
|
+
*
|
|
4
|
+
* {DESCRIPTION}
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { Extension, ExtensionContext, AgentStartedEvent, CommandDefinition } from '@aiderdesk/extensions';
|
|
8
|
+
|
|
9
|
+
import { loadConfig, saveConfig } from './config';
|
|
10
|
+
import type { {EXTENSION_NAME}Config } from './config';
|
|
11
|
+
|
|
12
|
+
const DEFAULT_CONFIG: {EXTENSION_NAME}Config = {
|
|
13
|
+
// Add default config values
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default class {CLASS_NAME} implements Extension {
|
|
17
|
+
static metadata = {
|
|
18
|
+
name: '{EXTENSION_NAME}',
|
|
19
|
+
version: '1.0.0',
|
|
20
|
+
description: '{DESCRIPTION}',
|
|
21
|
+
author: '{AUTHOR}',
|
|
22
|
+
capabilities: ['events', 'commands'],
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
private config: {EXTENSION_NAME}Config = DEFAULT_CONFIG;
|
|
26
|
+
|
|
27
|
+
async onLoad(context: ExtensionContext): Promise<void> {
|
|
28
|
+
context.log('{EXTENSION_NAME} Extension loaded', 'info');
|
|
29
|
+
this.config = await loadConfig();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
getCommands(_context: ExtensionContext): CommandDefinition[] {
|
|
33
|
+
return [
|
|
34
|
+
// Add commands here
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async onAgentStarted(event: AgentStartedEvent, context: ExtensionContext): Promise<void | Partial<AgentStartedEvent>> {
|
|
39
|
+
// Handle event
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{extension-name}",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "{DESCRIPTION}",
|
|
5
|
+
"main": "index.ts",
|
|
6
|
+
"keywords": ["aiderdesk", "extension"],
|
|
7
|
+
"author": "{AUTHOR}",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"dependencies": {
|
|
10
|
+
// Add npm dependencies here
|
|
11
|
+
}
|
|
12
|
+
}
|
package/out/resources/skills/extension-creator/assets/templates/folder-extension/tsconfig.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"module": "ES2020",
|
|
5
|
+
"lib": ["ES2020"],
|
|
6
|
+
"moduleResolution": "node",
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
"skipLibCheck": true,
|
|
9
|
+
"strict": true,
|
|
10
|
+
"resolveJsonModule": true,
|
|
11
|
+
"declaration": true,
|
|
12
|
+
"declarationMap": true,
|
|
13
|
+
"sourceMap": true,
|
|
14
|
+
"outDir": "./dist",
|
|
15
|
+
"rootDir": ".",
|
|
16
|
+
"forceConsistentCasingInFileNames": true,
|
|
17
|
+
"noUnusedLocals": true,
|
|
18
|
+
"noUnusedParameters": true,
|
|
19
|
+
"noFallthroughCasesInSwitch": true
|
|
20
|
+
},
|
|
21
|
+
"include": ["*.ts"],
|
|
22
|
+
"exclude": ["node_modules", "dist", "__tests__"]
|
|
23
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* {EXTENSION_NAME} Extension
|
|
3
|
+
*
|
|
4
|
+
* {DESCRIPTION}
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
8
|
+
import { join } from 'node:path';
|
|
9
|
+
|
|
10
|
+
import type { Extension, ExtensionContext } from '@aiderdesk/extensions';
|
|
11
|
+
|
|
12
|
+
// Load config JSX at module level (read once, reused on every getConfigComponent call)
|
|
13
|
+
const configComponentJsx = readFileSync(join(__dirname, './ConfigComponent.jsx'), 'utf-8');
|
|
14
|
+
|
|
15
|
+
interface {EXTENSION_NAME}Config {
|
|
16
|
+
// Add your config properties here
|
|
17
|
+
mySetting: string;
|
|
18
|
+
enabled: boolean;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const DEFAULT_CONFIG: {EXTENSION_NAME}Config = {
|
|
22
|
+
mySetting: '',
|
|
23
|
+
enabled: true,
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export default class {CLASS_NAME} implements Extension {
|
|
27
|
+
static metadata = {
|
|
28
|
+
name: '{EXTENSION_NAME}',
|
|
29
|
+
version: '1.0.0',
|
|
30
|
+
description: '{DESCRIPTION}',
|
|
31
|
+
author: '{AUTHOR}',
|
|
32
|
+
capabilities: ['context'],
|
|
33
|
+
// iconUrl: 'https://...',
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
private configPath: string;
|
|
37
|
+
|
|
38
|
+
constructor() {
|
|
39
|
+
this.configPath = join(__dirname, 'config.json');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async onLoad(context: ExtensionContext): Promise<void> {
|
|
43
|
+
context.log('{EXTENSION_NAME} Extension loaded', 'info');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// --- Config Component API ---
|
|
47
|
+
|
|
48
|
+
getConfigComponent(_context: ExtensionContext): string {
|
|
49
|
+
return configComponentJsx;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
async getConfigData(_context: ExtensionContext): Promise<{EXTENSION_NAME}Config> {
|
|
53
|
+
try {
|
|
54
|
+
if (existsSync(this.configPath)) {
|
|
55
|
+
const data = readFileSync(this.configPath, 'utf-8');
|
|
56
|
+
const parsed = JSON.parse(data);
|
|
57
|
+
return { ...DEFAULT_CONFIG, ...parsed };
|
|
58
|
+
}
|
|
59
|
+
} catch {
|
|
60
|
+
// Ignore errors, fall back to defaults
|
|
61
|
+
}
|
|
62
|
+
return { ...DEFAULT_CONFIG };
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
async saveConfigData(configData: unknown, _context: ExtensionContext): Promise<unknown> {
|
|
66
|
+
const merged: {EXTENSION_NAME}Config = {
|
|
67
|
+
...DEFAULT_CONFIG,
|
|
68
|
+
...configData as Partial<{EXTENSION_NAME}Config>,
|
|
69
|
+
};
|
|
70
|
+
writeFileSync(this.configPath, JSON.stringify(merged, null, 2), 'utf-8');
|
|
71
|
+
return merged;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// --- Event Handlers / Other Methods ---
|
|
75
|
+
|
|
76
|
+
// async onRuleFilesRetrieved(event: RuleFilesRetrievedEvent, context: ExtensionContext) {
|
|
77
|
+
// const config = await this.getConfigData(context);
|
|
78
|
+
// Use config values in your logic...
|
|
79
|
+
// }
|
|
80
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* {EXTENSION_NAME} Extension
|
|
3
|
+
*
|
|
4
|
+
* {DESCRIPTION}
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { Extension, ExtensionContext } from '@aiderdesk/extensions';
|
|
8
|
+
|
|
9
|
+
export default class {CLASS_NAME} implements Extension {
|
|
10
|
+
static metadata = {
|
|
11
|
+
name: '{EXTENSION_NAME}',
|
|
12
|
+
version: '1.0.0',
|
|
13
|
+
description: '{DESCRIPTION}',
|
|
14
|
+
author: '{AUTHOR}',
|
|
15
|
+
capabilities: ['{CAPABILITY}'],
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
async onLoad(context: ExtensionContext): Promise<void> {
|
|
19
|
+
context.log('{EXTENSION_NAME} Extension loaded', 'info');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Add methods as needed:
|
|
23
|
+
// - getCommands()
|
|
24
|
+
// - getTools()
|
|
25
|
+
// - getAgents()
|
|
26
|
+
// - getModes()
|
|
27
|
+
// - onAgentStarted()
|
|
28
|
+
// - onToolCalled()
|
|
29
|
+
// etc.
|
|
30
|
+
}
|
package/out/resources/skills/extension-creator/assets/templates/ui-component-external.ts.template
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* {{EXTENSION_NAME}} Extension
|
|
3
|
+
*
|
|
4
|
+
* {{DESCRIPTION}}
|
|
5
|
+
*
|
|
6
|
+
* This extension uses external JSX files for UI components.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { readFileSync } from 'fs';
|
|
10
|
+
import { join } from 'path';
|
|
11
|
+
import type {
|
|
12
|
+
Extension,
|
|
13
|
+
ExtensionContext,
|
|
14
|
+
UIComponentDefinition
|
|
15
|
+
} from '@aiderdesk/extensions';
|
|
16
|
+
|
|
17
|
+
interface ComponentData {
|
|
18
|
+
// Define data structure passed to component
|
|
19
|
+
message: string;
|
|
20
|
+
count: number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default class {{CLASS_NAME}}Extension implements Extension {
|
|
24
|
+
static metadata = {
|
|
25
|
+
name: '{{EXTENSION_NAME}}',
|
|
26
|
+
version: '1.0.0',
|
|
27
|
+
description: '{{DESCRIPTION}}',
|
|
28
|
+
author: '{{AUTHOR}}',
|
|
29
|
+
capabilities: ['ui'],
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
private state = {
|
|
33
|
+
count: 0,
|
|
34
|
+
message: 'Hello!',
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
async onLoad(context: ExtensionContext): Promise<void> {
|
|
38
|
+
context.log('{{EXTENSION_NAME}} extension loaded', 'info');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
getUIComponents(_context: ExtensionContext): UIComponentDefinition[] {
|
|
42
|
+
// Load JSX from external file
|
|
43
|
+
const jsx = readFileSync(join(__dirname, './Component.jsx'), 'utf-8');
|
|
44
|
+
|
|
45
|
+
return [
|
|
46
|
+
{
|
|
47
|
+
id: '{{COMPONENT_ID}}',
|
|
48
|
+
placement: '{{PLACEMENT}}',
|
|
49
|
+
jsx,
|
|
50
|
+
loadData: true,
|
|
51
|
+
noDataCache: false, // Set to true if data should always be fresh
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async getUIExtensionData(
|
|
57
|
+
componentId: string,
|
|
58
|
+
_context: ExtensionContext
|
|
59
|
+
): Promise<ComponentData | undefined> {
|
|
60
|
+
if (componentId === '{{COMPONENT_ID}}') {
|
|
61
|
+
return {
|
|
62
|
+
message: this.state.message,
|
|
63
|
+
count: this.state.count,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
async executeUIExtensionAction(
|
|
70
|
+
componentId: string,
|
|
71
|
+
action: string,
|
|
72
|
+
args: unknown[],
|
|
73
|
+
context: ExtensionContext
|
|
74
|
+
): Promise<unknown> {
|
|
75
|
+
if (componentId !== '{{COMPONENT_ID}}') return;
|
|
76
|
+
|
|
77
|
+
if (action === 'increment') {
|
|
78
|
+
this.state.count++;
|
|
79
|
+
context.triggerUIDataRefresh('{{COMPONENT_ID}}');
|
|
80
|
+
return { success: true, count: this.state.count };
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (action === 'set-message') {
|
|
84
|
+
this.state.message = args[0] as string;
|
|
85
|
+
context.triggerUIDataRefresh('{{COMPONENT_ID}}');
|
|
86
|
+
return { success: true };
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* {{EXTENSION_NAME}} Extension
|
|
3
|
+
*
|
|
4
|
+
* {{DESCRIPTION}}
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type {
|
|
8
|
+
Extension,
|
|
9
|
+
ExtensionContext,
|
|
10
|
+
UIComponentDefinition
|
|
11
|
+
} from '@aiderdesk/extensions';
|
|
12
|
+
|
|
13
|
+
export default class {{CLASS_NAME}}Extension implements Extension {
|
|
14
|
+
static metadata = {
|
|
15
|
+
name: '{{EXTENSION_NAME}}',
|
|
16
|
+
version: '1.0.0',
|
|
17
|
+
description: '{{DESCRIPTION}}',
|
|
18
|
+
author: '{{AUTHOR}}',
|
|
19
|
+
capabilities: ['ui'],
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
async onLoad(context: ExtensionContext): Promise<void> {
|
|
23
|
+
context.log('{{EXTENSION_NAME}} extension loaded', 'info');
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
getUIComponents(_context: ExtensionContext): UIComponentDefinition[] {
|
|
27
|
+
return [
|
|
28
|
+
{
|
|
29
|
+
id: '{{COMPONENT_ID}}',
|
|
30
|
+
placement: '{{PLACEMENT}}', // e.g., 'task-status-bar-right'
|
|
31
|
+
jsx: `
|
|
32
|
+
({ data, task, ui }) => {
|
|
33
|
+
// Component implementation
|
|
34
|
+
return (
|
|
35
|
+
<div className="flex items-center gap-2 text-sm">
|
|
36
|
+
<span>Hello from {{EXTENSION_NAME}}</span>
|
|
37
|
+
</div>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
`,
|
|
41
|
+
loadData: false, // Set to true if component needs data
|
|
42
|
+
},
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Optional: Provide data to components
|
|
47
|
+
async getUIExtensionData(
|
|
48
|
+
componentId: string,
|
|
49
|
+
_context: ExtensionContext
|
|
50
|
+
): Promise<unknown> {
|
|
51
|
+
if (componentId === '{{COMPONENT_ID}}') {
|
|
52
|
+
return {
|
|
53
|
+
// Data to pass to component
|
|
54
|
+
message: 'Hello from extension!',
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Optional: Handle actions from components
|
|
61
|
+
async executeUIExtensionAction(
|
|
62
|
+
componentId: string,
|
|
63
|
+
action: string,
|
|
64
|
+
args: unknown[],
|
|
65
|
+
context: ExtensionContext
|
|
66
|
+
): Promise<unknown> {
|
|
67
|
+
if (componentId === '{{COMPONENT_ID}}') {
|
|
68
|
+
if (action === 'my-action') {
|
|
69
|
+
context.log('Action executed with args: ' + JSON.stringify(args), 'info');
|
|
70
|
+
|
|
71
|
+
// Trigger UI refresh if needed
|
|
72
|
+
context.triggerUIDataRefresh('{{COMPONENT_ID}}');
|
|
73
|
+
|
|
74
|
+
return { success: true };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Command Definition
|
|
2
|
+
|
|
3
|
+
Structure for defining slash commands in extensions.
|
|
4
|
+
|
|
5
|
+
## CommandDefinition Interface
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
interface CommandDefinition {
|
|
9
|
+
name: string; // Command name (without /)
|
|
10
|
+
description: string; // Shown in command palette
|
|
11
|
+
arguments?: CommandArgument[];
|
|
12
|
+
execute(args: string[], context: ExtensionContext): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface CommandArgument {
|
|
16
|
+
description: string;
|
|
17
|
+
required: boolean;
|
|
18
|
+
options?: string[]; // Predefined options for autocomplete
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Simple Command Example
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
const HELLO_COMMAND: CommandDefinition = {
|
|
26
|
+
name: 'hello',
|
|
27
|
+
description: 'Say hello',
|
|
28
|
+
arguments: [
|
|
29
|
+
{ description: 'Name to greet', required: true }
|
|
30
|
+
],
|
|
31
|
+
async execute(args: string[], context: ExtensionContext): Promise<void> {
|
|
32
|
+
const taskContext = context.getTaskContext();
|
|
33
|
+
if (!taskContext) {
|
|
34
|
+
context.log('No task context', 'error');
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const name = args[0] || 'World';
|
|
39
|
+
taskContext.addLogMessage('info', `Hello, ${name}!`);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Command with Options
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
const THEME_COMMAND: CommandDefinition = {
|
|
48
|
+
name: 'theme',
|
|
49
|
+
description: 'Switch the AiderDesk theme',
|
|
50
|
+
arguments: [
|
|
51
|
+
{
|
|
52
|
+
description: 'Name of the theme to apply',
|
|
53
|
+
required: true,
|
|
54
|
+
options: ['dark', 'light', 'ocean', 'forest']
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
async execute(args: string[], context: ExtensionContext): Promise<void> {
|
|
58
|
+
const taskContext = context.getTaskContext();
|
|
59
|
+
const themeName = args[0];
|
|
60
|
+
|
|
61
|
+
if (!themeName) {
|
|
62
|
+
taskContext?.addLogMessage('warning', 'Usage: /theme <theme-name>');
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
await context.updateSettings({ theme: themeName });
|
|
67
|
+
taskContext?.addLogMessage('info', `Theme changed to: ${themeName}`);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Command with Config
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
// In extension class
|
|
76
|
+
private config: MyConfig;
|
|
77
|
+
|
|
78
|
+
async onLoad(context: ExtensionContext): Promise<void> {
|
|
79
|
+
this.config = await loadConfig();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
getCommands(_context: ExtensionContext): CommandDefinition[] {
|
|
83
|
+
return [{
|
|
84
|
+
name: 'my-setting',
|
|
85
|
+
description: 'Get or set a value',
|
|
86
|
+
arguments: [
|
|
87
|
+
{ description: 'Value to set (optional)', required: false }
|
|
88
|
+
],
|
|
89
|
+
execute: async (args: string[], context: ExtensionContext) => {
|
|
90
|
+
const taskContext = context.getTaskContext();
|
|
91
|
+
const [value] = args;
|
|
92
|
+
|
|
93
|
+
if (!value) {
|
|
94
|
+
// Show current value
|
|
95
|
+
taskContext?.addLogMessage('info', `Current: ${this.config.mySetting}`);
|
|
96
|
+
} else {
|
|
97
|
+
// Update value
|
|
98
|
+
this.config.mySetting = value;
|
|
99
|
+
await saveConfig(this.config);
|
|
100
|
+
taskContext?.addLogMessage('info', `Updated to: ${value}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}];
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Multi-Argument Commands
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
const CONFIG_COMMAND: CommandDefinition = {
|
|
111
|
+
name: 'config',
|
|
112
|
+
description: 'Manage extension settings',
|
|
113
|
+
arguments: [
|
|
114
|
+
{ description: 'Setting name', required: true },
|
|
115
|
+
{ description: 'Setting value', required: false }
|
|
116
|
+
],
|
|
117
|
+
async execute(args: string[], context: ExtensionContext): Promise<void> {
|
|
118
|
+
const taskContext = context.getTaskContext();
|
|
119
|
+
const [setting, value] = args;
|
|
120
|
+
|
|
121
|
+
if (!setting) {
|
|
122
|
+
// Show all settings
|
|
123
|
+
const config = await loadConfig();
|
|
124
|
+
taskContext?.addLogMessage('info', `Settings:\n${JSON.stringify(config, null, 2)}`);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (!value) {
|
|
129
|
+
// Show specific setting
|
|
130
|
+
const config = await loadConfig();
|
|
131
|
+
taskContext?.addLogMessage('info', `${setting}: ${config[setting]}`);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Update setting
|
|
136
|
+
const config = await loadConfig();
|
|
137
|
+
config[setting] = value;
|
|
138
|
+
await saveConfig(config);
|
|
139
|
+
taskContext?.addLogMessage('info', `${setting} updated to: ${value}`);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Error Handling
|
|
145
|
+
|
|
146
|
+
```typescript
|
|
147
|
+
execute: async (args: string[], context: ExtensionContext) => {
|
|
148
|
+
const taskContext = context.getTaskContext();
|
|
149
|
+
if (!taskContext) {
|
|
150
|
+
context.log('No active task context', 'error');
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
try {
|
|
155
|
+
// Command logic
|
|
156
|
+
} catch (error) {
|
|
157
|
+
taskContext.addLogMessage('error', `Command failed: ${error}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Registering Commands
|
|
163
|
+
|
|
164
|
+
```typescript
|
|
165
|
+
class MyExtension implements Extension {
|
|
166
|
+
getCommands(_context: ExtensionContext): CommandDefinition[] {
|
|
167
|
+
return [COMMAND_1, COMMAND_2];
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
```
|