bloby-bot 0.45.0 → 0.46.1
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/bin/cli.js +134 -1
- package/dist-bloby/assets/angular-html-olSuI25H.js +1 -0
- package/dist-bloby/assets/{angular-ts-BNEmshfa.js → angular-ts-BJPoZ_vo.js} +1 -1
- package/dist-bloby/assets/{apl-CD5excG6.js → apl-CyVuPSCb.js} +1 -1
- package/dist-bloby/assets/{astro-BsuvMd51.js → astro-CKc3-gwH.js} +1 -1
- package/dist-bloby/assets/{blade-BzCfsa5s.js → blade-DMAsVBaV.js} +1 -1
- package/dist-bloby/assets/{bloby-ChBqlrgZ.js → bloby-BnHElaWD.js} +23 -23
- package/dist-bloby/assets/{bsl-BODK--Fo.js → bsl-B1qbqNES.js} +1 -1
- package/dist-bloby/assets/c-BvB8CVo8.js +1 -0
- package/dist-bloby/assets/{cairo-BwpHIzLA.js → cairo-BDj8wWhy.js} +1 -1
- package/dist-bloby/assets/{cobol-Dvyhsqyz.js → cobol-hBjMZW-R.js} +1 -1
- package/dist-bloby/assets/{coffee-CyaHgmLy.js → coffee-B4OtR3w-.js} +1 -1
- package/dist-bloby/assets/cpp-BblbpnyR.js +1 -0
- package/dist-bloby/assets/{crystal-CR4Yni1K.js → crystal-x3k4USY-.js} +1 -1
- package/dist-bloby/assets/css-zY4NE9yA.js +1 -0
- package/dist-bloby/assets/{edge-CeStCG6d.js → edge-B-9TrlZC.js} +1 -1
- package/dist-bloby/assets/{elixir-CNfWtFyr.js → elixir-CXCzbj1r.js} +1 -1
- package/dist-bloby/assets/{elm-WhyRrsYH.js → elm-BdRiwmde.js} +1 -1
- package/dist-bloby/assets/{erb-BvJkfco6.js → erb-C9tvRzx3.js} +1 -1
- package/dist-bloby/assets/{erlang-CjZU-VwD.js → erlang-Bc4hQuqa.js} +1 -1
- package/dist-bloby/assets/{fortran-fixed-form-CLgNuKMV.js → fortran-fixed-form-B02FOYI-.js} +1 -1
- package/dist-bloby/assets/{fsharp-kVgJ9XJy.js → fsharp-DhdR18vN.js} +1 -1
- package/dist-bloby/assets/{gdresource-DDsMuL8p.js → gdresource-DgnrMPIx.js} +1 -1
- package/dist-bloby/assets/{git-commit-BKhxSJdF.js → git-commit-DGJi7qBD.js} +1 -1
- package/dist-bloby/assets/{git-rebase-C1GyNmcX.js → git-rebase-HwDSB2qJ.js} +1 -1
- package/dist-bloby/assets/{glimmer-js-Cl3u7vjy.js → glimmer-js-B6LF_BMd.js} +1 -1
- package/dist-bloby/assets/{glimmer-ts-CtPlRgiA.js → glimmer-ts-Cn42BUKe.js} +1 -1
- package/dist-bloby/assets/globals-BYieEOqL.js +18 -0
- package/dist-bloby/assets/globals-BzeCWV3t.css +2 -0
- package/dist-bloby/assets/glsl-CEMf-THb.js +1 -0
- package/dist-bloby/assets/graphql-dBCd2Czl.js +1 -0
- package/dist-bloby/assets/{hack-XsNdYtzr.js → hack-DDEqRjBe.js} +1 -1
- package/dist-bloby/assets/haml-Ck5pVAEG.js +1 -0
- package/dist-bloby/assets/{handlebars-Rv2-mTii.js → handlebars-g9Qe0ao2.js} +1 -1
- package/dist-bloby/assets/highlighted-body-OFNGDK62-B4IKFiNq.js +1 -0
- package/dist-bloby/assets/html-CzX0w7K_.js +1 -0
- package/dist-bloby/assets/{html-derivative-CNiypDIO.js → html-derivative-D-XvNBA6.js} +1 -1
- package/dist-bloby/assets/{http-Vgn8hmbu.js → http-qlhghEti.js} +1 -1
- package/dist-bloby/assets/{hurl-C_EA75yu.js → hurl-CHIKfBKk.js} +1 -1
- package/dist-bloby/assets/{hxml-YehGxZ3T.js → hxml-adC65L_J.js} +1 -1
- package/dist-bloby/assets/java-BqKEu7zh.js +1 -0
- package/dist-bloby/assets/javascript-CzjRtS1s.js +1 -0
- package/dist-bloby/assets/{jinja-BovBDArb.js → jinja-BHZt0_Dn.js} +1 -1
- package/dist-bloby/assets/{jison-C7UZOdoh.js → jison-TqJYWKkW.js} +1 -1
- package/dist-bloby/assets/json-CdFmZMJc.js +1 -0
- package/dist-bloby/assets/jsx-BL6Wh6Qw.js +1 -0
- package/dist-bloby/assets/jsx-runtime-C0W9Wf2W.js +1 -0
- package/dist-bloby/assets/{julia-D8hM3XBr.js → julia-CW07fy07.js} +1 -1
- package/dist-bloby/assets/{just-CHnwfRRG.js → just-DBcWo9WY.js} +1 -1
- package/dist-bloby/assets/{latex-Ccu-ZO0T.js → latex-D6lXiPTF.js} +1 -1
- package/dist-bloby/assets/{liquid-BRbNyfzr.js → liquid-DhYYAQ41.js} +1 -1
- package/dist-bloby/assets/lua-B4ezzssg.js +1 -0
- package/dist-bloby/assets/{marko-Both7s0f.js → marko-xtrIBdcL.js} +1 -1
- package/dist-bloby/assets/{mdc-7TpRllSI.js → mdc-DyZVNnwP.js} +1 -1
- package/dist-bloby/assets/mermaid-GHXKKRXX-32SDjrR3.js +1 -0
- package/dist-bloby/assets/{nextflow-C2lnptGp.js → nextflow-JEyYUlIq.js} +1 -1
- package/dist-bloby/assets/{nginx-1MGd6YK-.js → nginx-CGgm1VOJ.js} +1 -1
- package/dist-bloby/assets/{nim-CXWhMB6N.js → nim-Br7S817Z.js} +1 -1
- package/dist-bloby/assets/onboard-DoRN5jiz.js +1 -0
- package/dist-bloby/assets/{perl-s-whHxj8.js → perl-DqDX-7VG.js} +1 -1
- package/dist-bloby/assets/{php-KdIqqcNq.js → php-DYSqNNGJ.js} +1 -1
- package/dist-bloby/assets/{pug-Cj_1QUAx.js → pug-Bob3gNio.js} +1 -1
- package/dist-bloby/assets/{qml-BQHwZF2t.js → qml-CsMafcqN.js} +1 -1
- package/dist-bloby/assets/r-CGji9_vM.js +1 -0
- package/dist-bloby/assets/{razor-D4oLdRr2.js → razor-B4PzhaZX.js} +1 -1
- package/dist-bloby/assets/regexp-CvWG4lI-.js +1 -0
- package/dist-bloby/assets/{rst-kaCCXG10.js → rst-BXuz-2b8.js} +1 -1
- package/dist-bloby/assets/{ruby-DIAu88GV.js → ruby-CXP5_4kq.js} +1 -1
- package/dist-bloby/assets/{sas-DW2U5bKI.js → sas-Cov9PzAD.js} +1 -1
- package/dist-bloby/assets/scss-Efq7Dmbs.js +1 -0
- package/dist-bloby/assets/{shaderlab-CCgEvKkt.js → shaderlab-DZ3Lsiak.js} +1 -1
- package/dist-bloby/assets/shellscript-BbEstezf.js +1 -0
- package/dist-bloby/assets/{shellsession-vB5Hy6UU.js → shellsession-BHLVblBB.js} +1 -1
- package/dist-bloby/assets/{soy-BNDHXm4e.js → soy-e0u3-wIA.js} +1 -1
- package/dist-bloby/assets/{sparql-DH0hFmAi.js → sparql-B9c85a_o.js} +1 -1
- package/dist-bloby/assets/sql-CB6kO6Km.js +1 -0
- package/dist-bloby/assets/{stata-BHXdpuN3.js → stata-B1mLEMrz.js} +1 -1
- package/dist-bloby/assets/{surrealql-eiBkI2Jy.js → surrealql-BTKo2XFY.js} +1 -1
- package/dist-bloby/assets/{svelte-DcqzCcP6.js → svelte-B7URZ-wm.js} +1 -1
- package/dist-bloby/assets/{templ-DpMCsFaT.js → templ-DVRYIgGq.js} +1 -1
- package/dist-bloby/assets/{tex-B71AZ6Vb.js → tex-CdJ24HJj.js} +1 -1
- package/dist-bloby/assets/{ts-tags-CRuJWBGV.js → ts-tags-CCSbelDn.js} +1 -1
- package/dist-bloby/assets/tsx-DrzBggF8.js +1 -0
- package/dist-bloby/assets/{twig-CuSIh_aH.js → twig-Dn4ruiVl.js} +1 -1
- package/dist-bloby/assets/typescript-COZIw7xM.js +1 -0
- package/dist-bloby/assets/{vue-YbgnWnT2.js → vue-D19cWHwY.js} +1 -1
- package/dist-bloby/assets/{vue-html-CXsio3-X.js → vue-html-_j-KC7Cs.js} +1 -1
- package/dist-bloby/assets/{vue-vine-C8pVogU0.js → vue-vine-BC03MN6c.js} +1 -1
- package/dist-bloby/assets/xml-BlDEvPia.js +1 -0
- package/dist-bloby/assets/{xsl-CqzL2w2F.js → xsl-DR-zOeBm.js} +1 -1
- package/dist-bloby/assets/yaml-iUXljnLs.js +1 -0
- package/dist-bloby/bloby.html +4 -5
- package/dist-bloby/onboard.html +4 -5
- package/package.json +3 -3
- package/supervisor/chat/bloby-main.tsx +61 -17
- package/supervisor/harnesses/claude.ts +5 -4
- package/supervisor/index.ts +1 -1
- package/worker/index.ts +35 -22
- package/worker/prompts/bloby-system-prompt.txt +44 -17
- package/workspace/client/index.html +9 -21
- package/dist-bloby/assets/angular-html-DxXh-QMA.js +0 -1
- package/dist-bloby/assets/c-QpHxjkb9.js +0 -1
- package/dist-bloby/assets/cpp-DlbkFQj0.js +0 -1
- package/dist-bloby/assets/css-jgrsA6xW.js +0 -1
- package/dist-bloby/assets/globals-DVrYk5bl.js +0 -18
- package/dist-bloby/assets/globals-De7_TMX7.css +0 -2
- package/dist-bloby/assets/glsl-Bz5r7Lln.js +0 -1
- package/dist-bloby/assets/graphql-IV9ZCUty.js +0 -1
- package/dist-bloby/assets/haml-BDRqXh7d.js +0 -1
- package/dist-bloby/assets/highlighted-body-OFNGDK62-Bb7Snr_m.js +0 -1
- package/dist-bloby/assets/html-BkYSbpwH.js +0 -1
- package/dist-bloby/assets/java-div3J5pm.js +0 -1
- package/dist-bloby/assets/javascript-D7sYfeLa.js +0 -1
- package/dist-bloby/assets/json-DsAnzN7U.js +0 -1
- package/dist-bloby/assets/jsx-CftCCFil.js +0 -1
- package/dist-bloby/assets/jsx-runtime-DsY8nUeV.js +0 -1
- package/dist-bloby/assets/lua-BcwT4KiU.js +0 -1
- package/dist-bloby/assets/mermaid-GHXKKRXX-B2-90bpm.js +0 -1
- package/dist-bloby/assets/onboard-CM9DDSYf.js +0 -1
- package/dist-bloby/assets/r-BW3neTZ6.js +0 -1
- package/dist-bloby/assets/regexp-CK2Vecnb.js +0 -1
- package/dist-bloby/assets/rolldown-runtime-C-57s9n3.js +0 -1
- package/dist-bloby/assets/scss-CpUwMEPb.js +0 -1
- package/dist-bloby/assets/shellscript-BhywzMlr.js +0 -1
- package/dist-bloby/assets/sql-D395ukne.js +0 -1
- package/dist-bloby/assets/tsx-CEFbrBOd.js +0 -1
- package/dist-bloby/assets/typescript-CV9iMaP7.js +0 -1
- package/dist-bloby/assets/xml-Zmzpltp0.js +0 -1
- package/dist-bloby/assets/yaml-Dc_auW1I.js +0 -1
- /package/dist-bloby/assets/{abap--vzi7Rxy.js → abap-smLpETzL.js} +0 -0
- /package/dist-bloby/assets/{actionscript-3-CV21uODD.js → actionscript-3-o-aRvjY5.js} +0 -0
- /package/dist-bloby/assets/{ada-DpXSEmbw.js → ada-D5RRX1i4.js} +0 -0
- /package/dist-bloby/assets/{andromeeda-C1V0Cb0M.js → andromeeda-N4z3YzmR.js} +0 -0
- /package/dist-bloby/assets/{apache-CRmVjs8c.js → apache-DttKlSqg.js} +0 -0
- /package/dist-bloby/assets/{apex-DIIc4r7E.js → apex-DL7j-a2n.js} +0 -0
- /package/dist-bloby/assets/{applescript-DMX6NGuU.js → applescript-DCbL_2FX.js} +0 -0
- /package/dist-bloby/assets/{ara-3SArX2Zn.js → ara-DqheWJCe.js} +0 -0
- /package/dist-bloby/assets/{asciidoc-CnVFjb7X.js → asciidoc-BH2sf2K4.js} +0 -0
- /package/dist-bloby/assets/{asm-Cb-CgaBD.js → asm-rfjOMz3U.js} +0 -0
- /package/dist-bloby/assets/{aurora-x-CjvoFyi0.js → aurora-x-CND-FqEb.js} +0 -0
- /package/dist-bloby/assets/{awk-BYjsWVhV.js → awk-CMV5n9Z7.js} +0 -0
- /package/dist-bloby/assets/{ayu-dark-C4UVdT_g.js → ayu-dark-on7xzq_B.js} +0 -0
- /package/dist-bloby/assets/{ayu-light-CFJ-dST-.js → ayu-light-DnGeGGc2.js} +0 -0
- /package/dist-bloby/assets/{ayu-mirage-BxM9D2Mi.js → ayu-mirage-DG3LlYC_.js} +0 -0
- /package/dist-bloby/assets/{ballerina-BsKCUtAm.js → ballerina-BjMqJjlr.js} +0 -0
- /package/dist-bloby/assets/{bat-CJlQOahT.js → bat-BaVbo_qw.js} +0 -0
- /package/dist-bloby/assets/{beancount-Cyf6Xlzd.js → beancount-DBt5Mbc_.js} +0 -0
- /package/dist-bloby/assets/{berry-DHYmFnza.js → berry-Cyjuxiss.js} +0 -0
- /package/dist-bloby/assets/{bibtex-BUB9btZd.js → bibtex-BV_0nsPq.js} +0 -0
- /package/dist-bloby/assets/{bicep-CNVX4dQj.js → bicep-C2gEwu4J.js} +0 -0
- /package/dist-bloby/assets/{bird2-LZP25z1s.js → bird2-BRyaEJd0.js} +0 -0
- /package/dist-bloby/assets/{c3-BI41OB2W.js → c3-DTTbp5N2.js} +0 -0
- /package/dist-bloby/assets/{cadence-BDnzkZFt.js → cadence-CPz83cmI.js} +0 -0
- /package/dist-bloby/assets/{catppuccin-frappe-DpT1lCYX.js → catppuccin-frappe-Dr22sraq.js} +0 -0
- /package/dist-bloby/assets/{catppuccin-latte-qMMse1WJ.js → catppuccin-latte-C57EeX8c.js} +0 -0
- /package/dist-bloby/assets/{catppuccin-macchiato-DMu0Ac9B.js → catppuccin-macchiato-CpheI4uD.js} +0 -0
- /package/dist-bloby/assets/{catppuccin-mocha-DicTaD9V.js → catppuccin-mocha-D8Lmdks_.js} +0 -0
- /package/dist-bloby/assets/{clarity-CPz-yzAn.js → clarity-CFJ2Yc3q.js} +0 -0
- /package/dist-bloby/assets/{clojure-BxJLFKTj.js → clojure-6R01QgJC.js} +0 -0
- /package/dist-bloby/assets/{cmake-BmC4o4J9.js → cmake-D5rSbMir.js} +0 -0
- /package/dist-bloby/assets/{codeowners-BPHDuybI.js → codeowners-_3A-ClkN.js} +0 -0
- /package/dist-bloby/assets/{codeql-DYWyWzRY.js → codeql-DlIhJTR7.js} +0 -0
- /package/dist-bloby/assets/{common-lisp-CsDdrwfa.js → common-lisp-BvQzz173.js} +0 -0
- /package/dist-bloby/assets/{coq-BZNwxllS.js → coq-DTNXReIC.js} +0 -0
- /package/dist-bloby/assets/{csharp-BLhQzhUA.js → csharp-BDKQY1K9.js} +0 -0
- /package/dist-bloby/assets/{csv-DPc9UZFt.js → csv-DNUpVBxl.js} +0 -0
- /package/dist-bloby/assets/{cue-Bat8Mt8Y.js → cue-DDdBc2s3.js} +0 -0
- /package/dist-bloby/assets/{cypher-CTnWkM4Y.js → cypher-CguaznO2.js} +0 -0
- /package/dist-bloby/assets/{d-CccbtpLU.js → d-CHcoyjv3.js} +0 -0
- /package/dist-bloby/assets/{dark-plus-CKh7uIvz.js → dark-plus-CqeW_0kH.js} +0 -0
- /package/dist-bloby/assets/{dart-SbRHwU1n.js → dart-RM3aRphk.js} +0 -0
- /package/dist-bloby/assets/{dax-vVKSTwd9.js → dax-nbnY1d79.js} +0 -0
- /package/dist-bloby/assets/{desktop-rdWGepy4.js → desktop-BD76cvxT.js} +0 -0
- /package/dist-bloby/assets/{diff-G5H-0DNT.js → diff-CdkWtnkL.js} +0 -0
- /package/dist-bloby/assets/{docker-CC20slQp.js → docker-ZyPHc6zB.js} +0 -0
- /package/dist-bloby/assets/{dotenv-C36c6TdP.js → dotenv-BdJZEwA6.js} +0 -0
- /package/dist-bloby/assets/{dracula-nNMQZYa7.js → dracula-CtqCPLGa.js} +0 -0
- /package/dist-bloby/assets/{dracula-soft-BPmUsSlJ.js → dracula-soft-DmBpwRAy.js} +0 -0
- /package/dist-bloby/assets/{dream-maker-DleGc9Hy.js → dream-maker-BJL4qlg3.js} +0 -0
- /package/dist-bloby/assets/{emacs-lisp-D_QlcMHs.js → emacs-lisp-_LyYa2Ky.js} +0 -0
- /package/dist-bloby/assets/{everforest-dark-FkVvIMUl.js → everforest-dark-CrbyKk4n.js} +0 -0
- /package/dist-bloby/assets/{everforest-light-d3V1wTAd.js → everforest-light-DRbSh8Tm.js} +0 -0
- /package/dist-bloby/assets/{fennel-BEssPROc.js → fennel-CC2BkRsS.js} +0 -0
- /package/dist-bloby/assets/{fish-Cz5yLEyJ.js → fish-D2ZCzqcE.js} +0 -0
- /package/dist-bloby/assets/{fluent-TGO8KajN.js → fluent-DKAm3m7q.js} +0 -0
- /package/dist-bloby/assets/{fortran-free-form-CHQXX5JB.js → fortran-free-form-BPTf0lbT.js} +0 -0
- /package/dist-bloby/assets/{gdscript-DBkVGsC6.js → gdscript-CsadCSaZ.js} +0 -0
- /package/dist-bloby/assets/{gdshader-CWQhZP7Q.js → gdshader-PfnN_8tR.js} +0 -0
- /package/dist-bloby/assets/{genie-7iw14YxB.js → genie-Bj-orPAV.js} +0 -0
- /package/dist-bloby/assets/{gherkin-D4AlAQSH.js → gherkin-COVWpJ-Q.js} +0 -0
- /package/dist-bloby/assets/{github-dark-default-Cr5Q59Ad.js → github-dark-default-DX3IG_X0.js} +0 -0
- /package/dist-bloby/assets/{github-dark-dimmed-WEORr92a.js → github-dark-dimmed-CH6p_7ez.js} +0 -0
- /package/dist-bloby/assets/{github-dark-high-contrast-uM2plAzl.js → github-dark-high-contrast-Bg2sSao5.js} +0 -0
- /package/dist-bloby/assets/{github-dark-CpBni1SQ.js → github-dark-ipGuFGYC.js} +0 -0
- /package/dist-bloby/assets/{github-light-BROm54vS.js → github-light-BxjqOQl0.js} +0 -0
- /package/dist-bloby/assets/{github-light-default-jSwgX00f.js → github-light-default-DwpDd1IQ.js} +0 -0
- /package/dist-bloby/assets/{github-light-high-contrast-Bp9ESXtp.js → github-light-high-contrast-C0QeixPf.js} +0 -0
- /package/dist-bloby/assets/{gleam-D1LXnIj0.js → gleam-BF2NigGj.js} +0 -0
- /package/dist-bloby/assets/{gn-CReOiE5m.js → gn-CMIt9roj.js} +0 -0
- /package/dist-bloby/assets/{gnuplot-DufViamc.js → gnuplot-DgWlRTEj.js} +0 -0
- /package/dist-bloby/assets/{go-DC_Zm44P.js → go-DLnOLj8q.js} +0 -0
- /package/dist-bloby/assets/{groovy-DEGDVBi0.js → groovy-B9qLWIkE.js} +0 -0
- /package/dist-bloby/assets/{gruvbox-dark-hard-C-zANgxR.js → gruvbox-dark-hard-BIMX9ePb.js} +0 -0
- /package/dist-bloby/assets/{gruvbox-dark-medium-DY7Z6TBK.js → gruvbox-dark-medium-DxuwyVzM.js} +0 -0
- /package/dist-bloby/assets/{gruvbox-dark-soft-Bpj6owGh.js → gruvbox-dark-soft-ba2fjht0.js} +0 -0
- /package/dist-bloby/assets/{gruvbox-light-hard-DVwTvHam.js → gruvbox-light-hard-DAJK2PqC.js} +0 -0
- /package/dist-bloby/assets/{gruvbox-light-medium-98PeoD5Y.js → gruvbox-light-medium-WRifDAJD.js} +0 -0
- /package/dist-bloby/assets/{gruvbox-light-soft-BHI2PZTB.js → gruvbox-light-soft-B0dBOoVB.js} +0 -0
- /package/dist-bloby/assets/{haskell-B-K-GoPf.js → haskell-BaGpmm_c.js} +0 -0
- /package/dist-bloby/assets/{haxe-md5t_Y_E.js → haxe-DfXTCEOz.js} +0 -0
- /package/dist-bloby/assets/{hcl-qSvp9jTg.js → hcl-CbCtpSbi.js} +0 -0
- /package/dist-bloby/assets/{hjson-BNeV6JDA.js → hjson-_4-w-pHU.js} +0 -0
- /package/dist-bloby/assets/{hlsl-CFf5czm3.js → hlsl-DpuYn7pp.js} +0 -0
- /package/dist-bloby/assets/{horizon-C4a2pCDo.js → horizon-C5RtD1fY.js} +0 -0
- /package/dist-bloby/assets/{horizon-bright-Bgpx-0aF.js → horizon-bright-pEOice34.js} +0 -0
- /package/dist-bloby/assets/{houston-BZHNDhe5.js → houston-A0zg9vNP.js} +0 -0
- /package/dist-bloby/assets/{hy-hI-CUgFt.js → hy-t9zDXBje.js} +0 -0
- /package/dist-bloby/assets/{imba-Dr5pZl3x.js → imba-Bxu-TDfw.js} +0 -0
- /package/dist-bloby/assets/{ini-KxzJ-qxg.js → ini-D-v34c8N.js} +0 -0
- /package/dist-bloby/assets/{json5-SRM7tKmT.js → json5-D0XL1D5m.js} +0 -0
- /package/dist-bloby/assets/{jsonc-Cix1XnqC.js → jsonc-BBgf3TX3.js} +0 -0
- /package/dist-bloby/assets/{jsonl-BzKwo-fD.js → jsonl-KrKLbtB7.js} +0 -0
- /package/dist-bloby/assets/{jsonnet-DaiLv8or.js → jsonnet-B2ZwWMOt.js} +0 -0
- /package/dist-bloby/assets/{jssm-B1pV58QJ.js → jssm-ByRpI9-B.js} +0 -0
- /package/dist-bloby/assets/{kanagawa-dragon-BihvT_N-.js → kanagawa-dragon-CtPmcCMp.js} +0 -0
- /package/dist-bloby/assets/{kanagawa-lotus-DQN_bzSt.js → kanagawa-lotus-DpOXEGCa.js} +0 -0
- /package/dist-bloby/assets/{kanagawa-wave-Bvz_F3hD.js → kanagawa-wave-CLVCyc-n.js} +0 -0
- /package/dist-bloby/assets/{kdl-DupMG4Bk.js → kdl-6FPPEH4H.js} +0 -0
- /package/dist-bloby/assets/{kotlin-rOGI_fXV.js → kotlin-D4L3Nd2D.js} +0 -0
- /package/dist-bloby/assets/{kusto-CHXnQR8L.js → kusto-D-mmc07O.js} +0 -0
- /package/dist-bloby/assets/{laserwave-CPMyzJF3.js → laserwave-7fEj4XGb.js} +0 -0
- /package/dist-bloby/assets/{lean-B76KugVy.js → lean-BMVMuP2E.js} +0 -0
- /package/dist-bloby/assets/{less-DwUMKQAG.js → less-C95PyOu0.js} +0 -0
- /package/dist-bloby/assets/{light-plus-C6sdUQiS.js → light-plus-DHI2dh3p.js} +0 -0
- /package/dist-bloby/assets/{llvm-DumY6MCH.js → llvm-Dy3qORTl.js} +0 -0
- /package/dist-bloby/assets/{log-DdP6k-FU.js → log-BQop7fzg.js} +0 -0
- /package/dist-bloby/assets/{logo-Cx0gX691.js → logo-DKtnYmrp.js} +0 -0
- /package/dist-bloby/assets/{luau-CI4wJBxI.js → luau-Dha4KG0q.js} +0 -0
- /package/dist-bloby/assets/{make-BlyBJiAs.js → make-DfmS6buu.js} +0 -0
- /package/dist-bloby/assets/{markdown-BFgBvytj.js → markdown-BaI9LyM4.js} +0 -0
- /package/dist-bloby/assets/{material-theme-CyGvAAeY.js → material-theme-Dm6ETY8i.js} +0 -0
- /package/dist-bloby/assets/{material-theme-darker-DJAOSarR.js → material-theme-darker-BeyjmM5Z.js} +0 -0
- /package/dist-bloby/assets/{material-theme-lighter-Cb7t96j2.js → material-theme-lighter-CCOYYzKL.js} +0 -0
- /package/dist-bloby/assets/{material-theme-ocean-EZZ55_HD.js → material-theme-ocean-CUtPiiX3.js} +0 -0
- /package/dist-bloby/assets/{material-theme-palenight-DtmMSfya.js → material-theme-palenight-2L4zMwIM.js} +0 -0
- /package/dist-bloby/assets/{matlab-BFLobVcp.js → matlab-BT79Cq_j.js} +0 -0
- /package/dist-bloby/assets/{mdx-Baux4qlv.js → mdx-CxGBwLNt.js} +0 -0
- /package/dist-bloby/assets/{mermaid-DHr7T0Rt.js → mermaid-DLf3axBN.js} +0 -0
- /package/dist-bloby/assets/{min-dark-C9N1U4-e.js → min-dark-B8TUPGHg.js} +0 -0
- /package/dist-bloby/assets/{min-light-Ce9oxBvH.js → min-light-BDOoBxcA.js} +0 -0
- /package/dist-bloby/assets/{mipsasm-Cgb1v7yV.js → mipsasm-DXuU_0cI.js} +0 -0
- /package/dist-bloby/assets/{mojo-BnTBKscO.js → mojo-1Omp2pIo.js} +0 -0
- /package/dist-bloby/assets/{monokai-BGD_YBH-.js → monokai-E_VBmXGZ.js} +0 -0
- /package/dist-bloby/assets/{moonbit-HXw0ZM4h.js → moonbit-DZzq699o.js} +0 -0
- /package/dist-bloby/assets/{move-DG2efXqI.js → move-DxDAOJVd.js} +0 -0
- /package/dist-bloby/assets/{narrat-BSasSB5t.js → narrat-CxDcPPb9.js} +0 -0
- /package/dist-bloby/assets/{nextflow-groovy-DXLl8k8E.js → nextflow-groovy-wvmJO4hi.js} +0 -0
- /package/dist-bloby/assets/{night-owl-DxqNTXDa.js → night-owl-DefhalNX.js} +0 -0
- /package/dist-bloby/assets/{night-owl-light-MPn8GCyh.js → night-owl-light-byb3AbEn.js} +0 -0
- /package/dist-bloby/assets/{nix-BpnttlWr.js → nix-DsFTDHWT.js} +0 -0
- /package/dist-bloby/assets/{nord-Mt6M_qHE.js → nord-D5rQzHT-.js} +0 -0
- /package/dist-bloby/assets/{nushell-CS7Mvg-G.js → nushell-BQ_rO0AM.js} +0 -0
- /package/dist-bloby/assets/{objective-c-U4EuJXJs.js → objective-c-BMq6JT_m.js} +0 -0
- /package/dist-bloby/assets/{objective-cpp-CE_PrXRW.js → objective-cpp-DRwojuGv.js} +0 -0
- /package/dist-bloby/assets/{ocaml-ZsxDKzyv.js → ocaml-e4_gKO6E.js} +0 -0
- /package/dist-bloby/assets/{odin-CDoDiNYU.js → odin-mdTPwYOg.js} +0 -0
- /package/dist-bloby/assets/{one-dark-pro-B9P_I1yh.js → one-dark-pro-DxXww9jg.js} +0 -0
- /package/dist-bloby/assets/{one-light-Cv3j6GXq.js → one-light-D9c03w7t.js} +0 -0
- /package/dist-bloby/assets/{openscad-CfJwW9dY.js → openscad-D2aTdNfr.js} +0 -0
- /package/dist-bloby/assets/{pascal-CjE0UTC7.js → pascal-D4n_G8vj.js} +0 -0
- /package/dist-bloby/assets/{pkl-BN6EkHr9.js → pkl-DcjhAp0L.js} +0 -0
- /package/dist-bloby/assets/{plastic-BCnZnfMk.js → plastic-uOsw7z1x.js} +0 -0
- /package/dist-bloby/assets/{plsql-1LW-CqWM.js → plsql-BSy3Ag0J.js} +0 -0
- /package/dist-bloby/assets/{po-Cf5hRC9x.js → po-Be96RYkA.js} +0 -0
- /package/dist-bloby/assets/{poimandres-B_zC30Vt.js → poimandres-CyO4HORD.js} +0 -0
- /package/dist-bloby/assets/{polar-S6fWkEw8.js → polar-BmhMKWum.js} +0 -0
- /package/dist-bloby/assets/{postcss-cZXfRCsF.js → postcss-BTQso3H9.js} +0 -0
- /package/dist-bloby/assets/{powerquery-CoRQQdNP.js → powerquery-DVyQv3M2.js} +0 -0
- /package/dist-bloby/assets/{powershell-B2VxwRch.js → powershell-BmtCGJVD.js} +0 -0
- /package/dist-bloby/assets/{prisma-sLrt38jj.js → prisma-CCFA9rEj.js} +0 -0
- /package/dist-bloby/assets/{prolog-CL99toUJ.js → prolog-DWGEEo78.js} +0 -0
- /package/dist-bloby/assets/{proto-CtiBQJNn.js → proto-C3eop1kM.js} +0 -0
- /package/dist-bloby/assets/{puppet-BlbpxWq2.js → puppet-C0_7Nv5A.js} +0 -0
- /package/dist-bloby/assets/{purescript-DPcVkoDV.js → purescript-Bv-B8yRw.js} +0 -0
- /package/dist-bloby/assets/{python-BLpCXkJ6.js → python-CKg5r0C3.js} +0 -0
- /package/dist-bloby/assets/{qmldir-BcwbwUc8.js → qmldir-Cqfb4Lox.js} +0 -0
- /package/dist-bloby/assets/{qss-erDfnnzG.js → qss-Csho9BH8.js} +0 -0
- /package/dist-bloby/assets/{racket-Dch6VQku.js → racket-D8-uWeQH.js} +0 -0
- /package/dist-bloby/assets/{raku-Db8mfsiE.js → raku-Cj4JSa8p.js} +0 -0
- /package/dist-bloby/assets/{red-DWyyM82l.js → red-z4H4llUY.js} +0 -0
- /package/dist-bloby/assets/{reg-3F9yjO5J.js → reg-DXGFiJSl.js} +0 -0
- /package/dist-bloby/assets/{rel-CQq8nxxL.js → rel-CunnVTBK.js} +0 -0
- /package/dist-bloby/assets/{riscv-CsUwotvK.js → riscv-C8BcOCkS.js} +0 -0
- /package/dist-bloby/assets/{ron-BwlS4rWu.js → ron-DiDyR9oa.js} +0 -0
- /package/dist-bloby/assets/{rose-pine-DEj8gOox.js → rose-pine-BADquuIH.js} +0 -0
- /package/dist-bloby/assets/{rose-pine-dawn-DjarqQ2I.js → rose-pine-dawn-BLcEeBoh.js} +0 -0
- /package/dist-bloby/assets/{rose-pine-moon-D7ffkR_D.js → rose-pine-moon-BK_tLY1Y.js} +0 -0
- /package/dist-bloby/assets/{rosmsg-BmwwVMq5.js → rosmsg-CHmL1Uyj.js} +0 -0
- /package/dist-bloby/assets/{rust-DsIgDjpj.js → rust-DjJFInu3.js} +0 -0
- /package/dist-bloby/assets/{sass-CkIFK_bT.js → sass-D3xZ5o-v.js} +0 -0
- /package/dist-bloby/assets/{scala-C0TSxhxD.js → scala-B0IRml5w.js} +0 -0
- /package/dist-bloby/assets/{scheme-e-5nJ58U.js → scheme-BhwcV3Av.js} +0 -0
- /package/dist-bloby/assets/{sdbl-DOe8Nral.js → sdbl-BmWYR-pI.js} +0 -0
- /package/dist-bloby/assets/{slack-dark-CClHvLju.js → slack-dark-DOnVms5P.js} +0 -0
- /package/dist-bloby/assets/{slack-ochin-DwCpSVBI.js → slack-ochin-DcRTft4q.js} +0 -0
- /package/dist-bloby/assets/{smalltalk-fjkC4HKG.js → smalltalk-DVQuUMII.js} +0 -0
- /package/dist-bloby/assets/{snazzy-light-2nD216w0.js → snazzy-light-x9CLJ1W9.js} +0 -0
- /package/dist-bloby/assets/{solarized-dark-BkxMSETv.js → solarized-dark-BB1sh-pe.js} +0 -0
- /package/dist-bloby/assets/{solarized-light-BScqQ1C4.js → solarized-light-9-RPS998.js} +0 -0
- /package/dist-bloby/assets/{solidity-DbOxJfAY.js → solidity-gQ4WXILB.js} +0 -0
- /package/dist-bloby/assets/{splunk-BW0l10cw.js → splunk-OB48_RcD.js} +0 -0
- /package/dist-bloby/assets/{ssh-config-XN7RWvZy.js → ssh-config-DA9YMRGV.js} +0 -0
- /package/dist-bloby/assets/{stylus-D69is74S.js → stylus-sKwvsUaC.js} +0 -0
- /package/dist-bloby/assets/{swift-CqNHAbQB.js → swift-C72NbAtg.js} +0 -0
- /package/dist-bloby/assets/{synthwave-84-Ct3Np89a.js → synthwave-84-eJ9uRN_S.js} +0 -0
- /package/dist-bloby/assets/{system-verilog-CHbvBf8h.js → system-verilog-CnWMF7Nq.js} +0 -0
- /package/dist-bloby/assets/{systemd-BBC3Z_R4.js → systemd-DMzItW5N.js} +0 -0
- /package/dist-bloby/assets/{talonscript-DhYQB2ic.js → talonscript-DopQCWDL.js} +0 -0
- /package/dist-bloby/assets/{tasl-CNtai3BH.js → tasl-C28SYKbq.js} +0 -0
- /package/dist-bloby/assets/{tcl-DFzyQSXW.js → tcl-DHq7zmoF.js} +0 -0
- /package/dist-bloby/assets/{terraform-BijD6Khb.js → terraform-CogS1YKX.js} +0 -0
- /package/dist-bloby/assets/{tokyo-night-Dd5BGAxh.js → tokyo-night-B9N7LyrF.js} +0 -0
- /package/dist-bloby/assets/{toml-DZofdujH.js → toml-BH_iPsgK.js} +0 -0
- /package/dist-bloby/assets/{tsv-DOp6g7sz.js → tsv-BIkdBZX1.js} +0 -0
- /package/dist-bloby/assets/{turtle-BKcRDROw.js → turtle-CqNXyJWZ.js} +0 -0
- /package/dist-bloby/assets/{typespec-Mmt3-2Cw.js → typespec-CQ9LYD_e.js} +0 -0
- /package/dist-bloby/assets/{typst-CndOdNo_.js → typst-T-Fsk-Sv.js} +0 -0
- /package/dist-bloby/assets/{v-DjlZIA0C.js → v-BhMEOw9x.js} +0 -0
- /package/dist-bloby/assets/{vala-C5Nm5NXo.js → vala-DzajMnwt.js} +0 -0
- /package/dist-bloby/assets/{vb-zZeWbE2_.js → vb-7Xr8dEYW.js} +0 -0
- /package/dist-bloby/assets/{verilog-CyZIVfoz.js → verilog-AvXtwZir.js} +0 -0
- /package/dist-bloby/assets/{vesper-B0BMGbco.js → vesper-CtgQQ2sf.js} +0 -0
- /package/dist-bloby/assets/{vhdl-DH1mJdjZ.js → vhdl-BHu0zg1P.js} +0 -0
- /package/dist-bloby/assets/{viml-e-oP1x-l.js → viml-Di0QpLfC.js} +0 -0
- /package/dist-bloby/assets/{vitesse-black-BRAUsA4Q.js → vitesse-black-jXdfyqgD.js} +0 -0
- /package/dist-bloby/assets/{vitesse-dark-Dyg71HnT.js → vitesse-dark-B88PxG1r.js} +0 -0
- /package/dist-bloby/assets/{vitesse-light-BJKZKqvd.js → vitesse-light-BXxZh2iV.js} +0 -0
- /package/dist-bloby/assets/{vyper-BRPzCrki.js → vyper-C3R5yXgx.js} +0 -0
- /package/dist-bloby/assets/{wasm-Drz0Uqci.js → wasm-CEUrWlVz.js} +0 -0
- /package/dist-bloby/assets/{wasm-DYMpDie-.js → wasm-Chsuwt1A.js} +0 -0
- /package/dist-bloby/assets/{wenyan-BiJ0NePu.js → wenyan-BonVcr2i.js} +0 -0
- /package/dist-bloby/assets/{wgsl-CNe_V6SG.js → wgsl-D59WYmNq.js} +0 -0
- /package/dist-bloby/assets/{wikitext-DZrjZKWn.js → wikitext-ariTI2Wk.js} +0 -0
- /package/dist-bloby/assets/{wit-BUTESHa8.js → wit-EA4fa3Dt.js} +0 -0
- /package/dist-bloby/assets/{wolfram-COEZldPx.js → wolfram-DDp7LhyU.js} +0 -0
- /package/dist-bloby/assets/{zenscript-DThCxjUC.js → zenscript-4WaROUyc.js} +0 -0
- /package/dist-bloby/assets/{zig-Bu6QWpR2.js → zig-CJoLJGwV.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./jsx-runtime-C0W9Wf2W.js";import{t}from"./java-BqKEu7zh.js";var n=e({default:()=>i}),r=Object.freeze(JSON.parse(`{"displayName":"XML","name":"xml","patterns":[{"begin":"(<\\\\?)\\\\s*([-0-9A-Z_a-z]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"}},"end":"(\\\\?>)","name":"meta.tag.preprocessor.xml","patterns":[{"match":" ([-A-Za-z]+)","name":"entity.other.attribute-name.xml"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"begin":"(<!)(DOCTYPE)\\\\s+([:A-Z_a-z][-.0-:A-Z_a-z]*)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.doctype.xml"},"3":{"name":"variable.language.documentroot.xml"}},"end":"\\\\s*(>)","name":"meta.tag.sgml.doctype.xml","patterns":[{"include":"#internalSubset"}]},{"include":"#comments"},{"begin":"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\s[^>]*)?></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)(</)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"entity.name.tag.namespace.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}},"name":"meta.tag.no-content.xml","patterns":[{"include":"#tagStuff"}]},{"begin":"(</?)(?:([-.\\\\w]+)((:)))?([-.:\\\\w]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(/?>)","name":"meta.tag.xml","patterns":[{"include":"#tagStuff"}]},{"include":"#entity"},{"include":"#bare-ampersand"},{"begin":"<%@","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java-props.embedded.xml","patterns":[{"match":"page|include|taglib","name":"keyword.other.page-props.xml"}]},{"begin":"<%[!=]?(?!--)","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"(?!--)%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java.embedded.xml","patterns":[{"include":"source.java"}]},{"begin":"<!\\\\[CDATA\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"]]>","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.unquoted.cdata.xml"}],"repository":{"EntityDecl":{"begin":"(<!)(ENTITY)\\\\s+(%\\\\s+)?([:A-Z_a-z][-.0-:A-Z_a-z]*)(\\\\s+(?:SYSTEM|PUBLIC)\\\\s+)?","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.entity.xml"},"3":{"name":"punctuation.definition.entity.xml"},"4":{"name":"variable.language.entity.xml"},"5":{"name":"keyword.other.entitytype.xml"}},"end":"(>)","patterns":[{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},"bare-ampersand":{"match":"&","name":"invalid.illegal.bad-ampersand.xml"},"comments":{"patterns":[{"begin":"<%--","captures":{"0":{"name":"punctuation.definition.comment.xml"},"end":"--%>","name":"comment.block.xml"}},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.xml"}},"end":"-->","name":"comment.block.xml","patterns":[{"begin":"--(?!>)","captures":{"0":{"name":"invalid.illegal.bad-comments-or-CDATA.xml"}}}]}]},"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"entity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.xml"},"internalSubset":{"begin":"(\\\\[)","captures":{"1":{"name":"punctuation.definition.constant.xml"}},"end":"(])","name":"meta.internalsubset.xml","patterns":[{"include":"#EntityDecl"},{"include":"#parameterEntity"},{"include":"#comments"}]},"parameterEntity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(%)([:A-Z_a-z][-.0-:A-Z_a-z]*)(;)","name":"constant.character.parameter-entity.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"tagStuff":{"patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":"(?:^|\\\\s+)(?:([-.\\\\w]+)((:)))?([-.:\\\\w]+)\\\\s*="},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]}},"scopeName":"text.xml","embeddedLangs":["java"]}`)),i=[...t,r];export{n,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./xml-
|
|
1
|
+
import{t as e}from"./xml-BlDEvPia.js";var t=Object.freeze(JSON.parse(`{"displayName":"XSL","name":"xsl","patterns":[{"begin":"(<)(xsl)((:))(template)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)","name":"meta.tag.xml.template","patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Za-z]+)"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"include":"text.xml"}],"repository":{"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml"}},"scopeName":"text.xml.xsl","embeddedLangs":["xml"]}`)),n=[...e,t];export{n as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./jsx-runtime-C0W9Wf2W.js";var t=e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"YAML","fileTypes":["yaml","yml","rviz","reek","clang-format","yaml-tmlanguage","syntax","sublime-syntax"],"firstLineMatch":"^%YAML( ?1.\\\\d+)?","name":"yaml","patterns":[{"include":"#comment"},{"include":"#property"},{"include":"#directive"},{"match":"^---","name":"entity.other.document.begin.yaml"},{"match":"^\\\\.{3}","name":"entity.other.document.end.yaml"},{"include":"#node"}],"repository":{"block-collection":{"patterns":[{"include":"#block-sequence"},{"include":"#block-mapping"}]},"block-mapping":{"patterns":[{"include":"#block-pair"}]},"block-node":{"patterns":[{"include":"#prototype"},{"include":"#block-scalar"},{"include":"#block-collection"},{"include":"#flow-scalar-plain-out"},{"include":"#flow-node"}]},"block-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"1":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=\\\\?)|^ *(:)|(:)","endCaptures":{"1":{"name":"punctuation.separator.key-value.mapping.yaml"},"2":{"name":"invalid.illegal.expected-newline.yaml"}},"name":"meta.block-mapping.yaml","patterns":[{"include":"#block-node"}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S)([^:\\\\s]|:\\\\S|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},{"match":":(?=\\\\s|$)","name":"punctuation.separator.key-value.mapping.yaml"}]},"block-scalar":{"begin":"(?:(\\\\|)|(>))([1-9])?([-+])?(.*\\\\n?)","beginCaptures":{"1":{"name":"keyword.control.flow.block-scalar.literal.yaml"},"2":{"name":"keyword.control.flow.block-scalar.folded.yaml"},"3":{"name":"constant.numeric.indentation-indicator.yaml"},"4":{"name":"storage.modifier.chomping-indicator.yaml"},"5":{"patterns":[{"include":"#comment"},{"match":".+","name":"invalid.illegal.expected-comment-or-newline.yaml"}]}},"end":"^(?=\\\\S)|(?!\\\\G)","patterns":[{"begin":"^( +)(?! )","end":"^(?!\\\\1|\\\\s*$)","name":"string.unquoted.block.yaml"}]},"block-sequence":{"match":"(-)(?!\\\\S)","name":"punctuation.definition.block.sequence.item.yaml"},"comment":{"begin":"(?:^([\\\\t ]*)|[\\\\t ]+)(?=#\\\\p{print}*$)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.yaml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.yaml"}},"end":"\\\\n","name":"comment.line.number-sign.yaml"}]},"directive":{"begin":"^%","beginCaptures":{"0":{"name":"punctuation.definition.directive.begin.yaml"}},"end":"(?=$|[\\\\t ]+($|#))","name":"meta.directive.yaml","patterns":[{"captures":{"1":{"name":"keyword.other.directive.yaml.yaml"},"2":{"name":"constant.numeric.yaml-version.yaml"}},"match":"\\\\G(YAML)[\\\\t ]+(\\\\d+\\\\.\\\\d+)"},{"captures":{"1":{"name":"keyword.other.directive.tag.yaml"},"2":{"name":"storage.type.tag-handle.yaml"},"3":{"name":"support.type.tag-prefix.yaml"}},"match":"\\\\G(TAG)(?:[\\\\t ]+(!(?:[-0-9A-Za-z]*!)?)(?:[\\\\t ]+(!(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])*|(?![]!,\\\\[{}])(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+))?)?"},{"captures":{"1":{"name":"support.other.directive.reserved.yaml"},"2":{"name":"string.unquoted.directive-name.yaml"},"3":{"name":"string.unquoted.directive-parameter.yaml"}},"match":"\\\\G(\\\\w+)(?:[\\\\t ]+(\\\\w+)(?:[\\\\t ]+(\\\\w+))?)?"},{"match":"\\\\S+","name":"invalid.illegal.unrecognized.yaml"}]},"flow-alias":{"captures":{"1":{"name":"keyword.control.flow.alias.yaml"},"2":{"name":"punctuation.definition.alias.yaml"},"3":{"name":"variable.other.alias.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"((\\\\*))([^],/\\\\[{}\\\\s]+)([^],}\\\\s]\\\\S*)?"},"flow-collection":{"patterns":[{"include":"#flow-sequence"},{"include":"#flow-mapping"}]},"flow-mapping":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.mapping.begin.yaml"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.mapping.end.yaml"}},"name":"meta.flow-mapping.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.mapping.yaml"},{"include":"#flow-pair"}]},"flow-node":{"patterns":[{"include":"#prototype"},{"include":"#flow-alias"},{"include":"#flow-collection"},{"include":"#flow-scalar"}]},"flow-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"0":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.explicit.yaml","patterns":[{"include":"#prototype"},{"include":"#flow-pair"},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","beginCaptures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","patterns":[{"include":"#flow-value"}]}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s])([^],:\\\\[{}\\\\s]|:[^],\\\\[{}\\\\s]|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"meta.flow-pair.key.yaml","patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","captures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.yaml","patterns":[{"include":"#flow-value"}]}]},"flow-scalar":{"patterns":[{"include":"#flow-scalar-double-quoted"},{"include":"#flow-scalar-single-quoted"},{"include":"#flow-scalar-plain-in"}]},"flow-scalar-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.double.yaml","patterns":[{"match":"\\\\\\\\([ \\"/0LN\\\\\\\\_abefnprtv]|x\\\\d\\\\d|u\\\\d{4}|U\\\\d{8})","name":"constant.character.escape.yaml"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.double-quoted.newline.yaml"}]},"flow-scalar-plain-in":{"patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},"flow-scalar-plain-in-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])"}]},"flow-scalar-plain-out":{"patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},"flow-scalar-plain-out-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))"}]},"flow-scalar-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"'(?!')","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.single.yaml","patterns":[{"match":"''","name":"constant.character.escape.single-quoted.yaml"}]},"flow-sequence":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.sequence.begin.yaml"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.sequence.end.yaml"}},"name":"meta.flow-sequence.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.sequence.yaml"},{"include":"#flow-pair"},{"include":"#flow-node"}]},"flow-value":{"patterns":[{"begin":"\\\\G(?![],}])","end":"(?=[],}])","name":"meta.flow-pair.value.yaml","patterns":[{"include":"#flow-node"}]}]},"node":{"patterns":[{"include":"#block-node"}]},"property":{"begin":"(?=[!\\\\&])","end":"(?!\\\\G)","name":"meta.property.yaml","patterns":[{"captures":{"1":{"name":"keyword.control.property.anchor.yaml"},"2":{"name":"punctuation.definition.anchor.yaml"},"3":{"name":"entity.name.type.anchor.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"\\\\G((&))([^],/\\\\[{}\\\\s]+)(\\\\S+)?"},{"match":"\\\\G!(?:<(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+>|(?:[-0-9A-Za-z]*!)?(?:%\\\\h{2}|[#$\\\\&-+\\\\--;=?-Z_a-z~])+|)(?=[\\\\t ]|$)","name":"storage.type.tag-handle.yaml"},{"match":"\\\\S+","name":"invalid.illegal.tag-handle.yaml"}]},"prototype":{"patterns":[{"include":"#comment"},{"include":"#property"}]}},"scopeName":"source.yaml","aliases":["yml"]}`))];export{t as n,n as t};
|
package/dist-bloby/bloby.html
CHANGED
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, interactive-widget=resizes-content" />
|
|
6
6
|
<title>Bloby Chat</title>
|
|
7
|
-
<script type="module" crossorigin src="/bloby/assets/bloby-
|
|
8
|
-
<link rel="modulepreload" crossorigin href="/bloby/assets/
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/bloby/assets/
|
|
10
|
-
<link rel="
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/bloby/assets/globals-De7_TMX7.css">
|
|
7
|
+
<script type="module" crossorigin src="/bloby/assets/bloby-BnHElaWD.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="/bloby/assets/jsx-runtime-C0W9Wf2W.js">
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/bloby/assets/globals-BYieEOqL.js">
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/bloby/assets/globals-BzeCWV3t.css">
|
|
12
11
|
<link rel="stylesheet" crossorigin href="/bloby/assets/bloby-DkK0ymA2.css">
|
|
13
12
|
</head>
|
|
14
13
|
<body class="bg-background text-foreground">
|
package/dist-bloby/onboard.html
CHANGED
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, interactive-widget=resizes-content" />
|
|
6
6
|
<title>Bloby Setup</title>
|
|
7
|
-
<script type="module" crossorigin src="/bloby/assets/onboard-
|
|
8
|
-
<link rel="modulepreload" crossorigin href="/bloby/assets/
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/bloby/assets/
|
|
10
|
-
<link rel="
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/bloby/assets/globals-De7_TMX7.css">
|
|
7
|
+
<script type="module" crossorigin src="/bloby/assets/onboard-DoRN5jiz.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="/bloby/assets/jsx-runtime-C0W9Wf2W.js">
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/bloby/assets/globals-BYieEOqL.js">
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/bloby/assets/globals-BzeCWV3t.css">
|
|
12
11
|
</head>
|
|
13
12
|
<body class="bg-background text-foreground">
|
|
14
13
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bloby-bot",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.1",
|
|
4
4
|
"releaseNotes": [
|
|
5
5
|
"1. # voice note (PTT bubble)",
|
|
6
6
|
"2. # audio file + caption",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"dev:docs": "cd ./docs && npx fumapress"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@anthropic-ai/claude-agent-sdk": "^0.2.
|
|
55
|
+
"@anthropic-ai/claude-agent-sdk": "^0.2.138",
|
|
56
56
|
"@clack/prompts": "^1.1.0",
|
|
57
|
-
"@openai/codex": "^0.
|
|
57
|
+
"@openai/codex": "^0.130.0",
|
|
58
58
|
"@streamdown/code": "^1.1.1",
|
|
59
59
|
"@tailwindcss/vite": "^4.2.0",
|
|
60
60
|
"@vitejs/plugin-react": "^6.0.1",
|
|
@@ -25,8 +25,10 @@ function BlobyApp() {
|
|
|
25
25
|
// Backend health
|
|
26
26
|
const [backendHealthy, setBackendHealthy] = useState(true);
|
|
27
27
|
|
|
28
|
-
// Wallet
|
|
29
|
-
const [
|
|
28
|
+
// Wallet balances (per network)
|
|
29
|
+
const [walletTempo, setWalletTempo] = useState<string | null>(null);
|
|
30
|
+
const [walletBase, setWalletBase] = useState<string | null>(null);
|
|
31
|
+
const [walletOpen, setWalletOpen] = useState(false);
|
|
30
32
|
|
|
31
33
|
// Recording state (for header animation)
|
|
32
34
|
const [chatRecording, setChatRecording] = useState(false);
|
|
@@ -272,10 +274,14 @@ function BlobyApp() {
|
|
|
272
274
|
})
|
|
273
275
|
.catch(() => {});
|
|
274
276
|
|
|
275
|
-
// Fetch wallet
|
|
277
|
+
// Fetch wallet balances (Tempo + Base)
|
|
276
278
|
authFetch('/api/wallet/balance')
|
|
277
279
|
.then((r) => r.json())
|
|
278
|
-
.then((w) => {
|
|
280
|
+
.then((w) => {
|
|
281
|
+
if (!w.address) return;
|
|
282
|
+
setWalletTempo(w.tempo ?? '0.00');
|
|
283
|
+
setWalletBase(w.base ?? '0.00');
|
|
284
|
+
})
|
|
279
285
|
.catch(() => {});
|
|
280
286
|
}, [authenticated]);
|
|
281
287
|
|
|
@@ -385,19 +391,57 @@ function BlobyApp() {
|
|
|
385
391
|
<div className="flex-1" />
|
|
386
392
|
|
|
387
393
|
{/* Wallet */}
|
|
388
|
-
{
|
|
389
|
-
<div
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
<
|
|
400
|
-
|
|
394
|
+
{(walletTempo !== null || walletBase !== null) && (
|
|
395
|
+
<div
|
|
396
|
+
className="relative mr-1.5"
|
|
397
|
+
onMouseEnter={() => setWalletOpen(true)}
|
|
398
|
+
onMouseLeave={() => setWalletOpen(false)}
|
|
399
|
+
>
|
|
400
|
+
<div className="flex items-center rounded-xl bg-white/[0.04] border border-white/[0.06] pl-3 pr-1 py-1">
|
|
401
|
+
<span className="text-[11px] text-muted-foreground/70 mr-1.5"><span className="hidden sm:inline">My </span>Wallet:</span>
|
|
402
|
+
<span className="text-[13px] font-semibold font-mono tracking-tight">
|
|
403
|
+
${(Number(walletTempo ?? 0) + Number(walletBase ?? 0)).toFixed(2)}
|
|
404
|
+
</span>
|
|
405
|
+
<div className="w-px h-4 bg-white/[0.08] mx-2" />
|
|
406
|
+
<a
|
|
407
|
+
href="https://www.bloby.bot/dashboard"
|
|
408
|
+
target="_blank"
|
|
409
|
+
rel="noopener noreferrer"
|
|
410
|
+
className="text-[11px] font-semibold text-primary bg-primary/10 hover:bg-primary/20 px-2.5 py-1 rounded-lg transition-colors"
|
|
411
|
+
>
|
|
412
|
+
<span className="sm:hidden">+</span><span className="hidden sm:inline">+ Add</span>
|
|
413
|
+
</a>
|
|
414
|
+
</div>
|
|
415
|
+
|
|
416
|
+
{walletOpen && (
|
|
417
|
+
<div className="absolute right-0 top-full pt-1.5 z-50">
|
|
418
|
+
<div className="min-w-[220px] rounded-xl border border-white/[0.06] bg-popover py-2 shadow-xl">
|
|
419
|
+
<div className="px-3.5 pb-2 text-[10px] uppercase tracking-wider text-muted-foreground/60">Balances</div>
|
|
420
|
+
<div className="flex items-center justify-between px-3.5 py-1.5">
|
|
421
|
+
<div className="flex items-center gap-2">
|
|
422
|
+
<img
|
|
423
|
+
src="https://cdn.jsdelivr.net/gh/atomiclabs/cryptocurrency-icons@master/svg/color/usdc.svg"
|
|
424
|
+
alt="USDC"
|
|
425
|
+
className="h-5 w-5"
|
|
426
|
+
/>
|
|
427
|
+
<span className="text-[13px] font-semibold font-mono tracking-tight">${Number(walletTempo ?? 0).toFixed(2)}</span>
|
|
428
|
+
</div>
|
|
429
|
+
<span className="text-[11px] text-muted-foreground">on Tempo</span>
|
|
430
|
+
</div>
|
|
431
|
+
<div className="flex items-center justify-between px-3.5 py-1.5">
|
|
432
|
+
<div className="flex items-center gap-2">
|
|
433
|
+
<img
|
|
434
|
+
src="https://cdn.jsdelivr.net/gh/atomiclabs/cryptocurrency-icons@master/svg/color/usdc.svg"
|
|
435
|
+
alt="USDC"
|
|
436
|
+
className="h-5 w-5"
|
|
437
|
+
/>
|
|
438
|
+
<span className="text-[13px] font-semibold font-mono tracking-tight">${Number(walletBase ?? 0).toFixed(2)}</span>
|
|
439
|
+
</div>
|
|
440
|
+
<span className="text-[11px] text-muted-foreground">on Base</span>
|
|
441
|
+
</div>
|
|
442
|
+
</div>
|
|
443
|
+
</div>
|
|
444
|
+
)}
|
|
401
445
|
</div>
|
|
402
446
|
)}
|
|
403
447
|
|
|
@@ -422,10 +422,11 @@ export async function startConversation(
|
|
|
422
422
|
summary: sysMsg.summary,
|
|
423
423
|
usage: sysMsg.usage,
|
|
424
424
|
});
|
|
425
|
-
// Sub-agent completion
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
425
|
+
// Don't emit bot:turn-complete here. Sub-agent completion is a progress
|
|
426
|
+
// signal, not a turn boundary — the parent agent will continue, and its
|
|
427
|
+
// real `result` event (above) is the only true turn end. The parent's
|
|
428
|
+
// `usedTools` Set already captures sub-agent tool_use blocks, so file
|
|
429
|
+
// edits made inside a sub-agent are still reflected in usedFileTools.
|
|
429
430
|
}
|
|
430
431
|
break;
|
|
431
432
|
}
|
package/supervisor/index.ts
CHANGED
|
@@ -82,7 +82,7 @@ const SW_JS = `// Service worker — app-shell caching + push notifications
|
|
|
82
82
|
// JS/CSS modules → stale-while-revalidate
|
|
83
83
|
// API, WebSocket, Vite internals → network-only (no cache)
|
|
84
84
|
|
|
85
|
-
var CACHE = 'bloby-
|
|
85
|
+
var CACHE = 'bloby-v14';
|
|
86
86
|
var HASHED_RE = new RegExp('/assets/.+-[a-zA-Z0-9]{6,}[.](js|css)$');
|
|
87
87
|
|
|
88
88
|
// Precache the HTML shell on install so the cache is never empty.
|
package/worker/index.ts
CHANGED
|
@@ -380,39 +380,52 @@ app.post('/api/handle/claim-reserved', async (req, res) => {
|
|
|
380
380
|
|
|
381
381
|
// ── Wallet ──
|
|
382
382
|
|
|
383
|
+
// USDC contracts on each network. Same EOA can hold balances on both —
|
|
384
|
+
// wallet generation uses an Ethereum-compatible private key, so the address is
|
|
385
|
+
// identical across Tempo and Base.
|
|
386
|
+
const USDC_TEMPO = '0x20c000000000000000000000b9537d11c60e8b50';
|
|
387
|
+
const USDC_BASE = '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913';
|
|
388
|
+
const ERC20_BALANCE_OF_ABI = [{
|
|
389
|
+
name: 'balanceOf',
|
|
390
|
+
type: 'function',
|
|
391
|
+
stateMutability: 'view',
|
|
392
|
+
inputs: [{ name: 'account', type: 'address' }],
|
|
393
|
+
outputs: [{ name: '', type: 'uint256' }],
|
|
394
|
+
}] as const;
|
|
395
|
+
|
|
383
396
|
app.get('/api/wallet/balance', async (_req, res) => {
|
|
384
397
|
const cfg = loadConfig();
|
|
385
398
|
if (!cfg.wallet?.address) {
|
|
386
|
-
res.json({ address: null,
|
|
399
|
+
res.json({ address: null, tempo: '0.00', base: '0.00' });
|
|
387
400
|
return;
|
|
388
401
|
}
|
|
389
402
|
|
|
403
|
+
const address = cfg.wallet.address as `0x${string}`;
|
|
404
|
+
|
|
390
405
|
try {
|
|
391
406
|
const { createPublicClient, http, formatUnits } = await import('viem');
|
|
392
|
-
const { tempo } = await import('viem/chains');
|
|
393
|
-
|
|
394
|
-
const
|
|
395
|
-
|
|
396
|
-
|
|
407
|
+
const { tempo, base } = await import('viem/chains');
|
|
408
|
+
|
|
409
|
+
const tempoClient = createPublicClient({ chain: tempo, transport: http('https://rpc.tempo.xyz') });
|
|
410
|
+
const baseClient = createPublicClient({ chain: base, transport: http() });
|
|
411
|
+
|
|
412
|
+
const [tempoBal, baseBal] = await Promise.all([
|
|
413
|
+
tempoClient.readContract({
|
|
414
|
+
address: USDC_TEMPO, abi: ERC20_BALANCE_OF_ABI, functionName: 'balanceOf', args: [address],
|
|
415
|
+
}).catch((err) => { log.warn(`Tempo balance failed: ${err.message}`); return 0n; }),
|
|
416
|
+
baseClient.readContract({
|
|
417
|
+
address: USDC_BASE, abi: ERC20_BALANCE_OF_ABI, functionName: 'balanceOf', args: [address],
|
|
418
|
+
}).catch((err) => { log.warn(`Base balance failed: ${err.message}`); return 0n; }),
|
|
419
|
+
]);
|
|
420
|
+
|
|
421
|
+
res.json({
|
|
422
|
+
address,
|
|
423
|
+
tempo: formatUnits(tempoBal, 6),
|
|
424
|
+
base: formatUnits(baseBal, 6),
|
|
397
425
|
});
|
|
398
|
-
|
|
399
|
-
const balance = await client.readContract({
|
|
400
|
-
address: '0x20c000000000000000000000b9537d11c60e8b50',
|
|
401
|
-
abi: [{
|
|
402
|
-
name: 'balanceOf',
|
|
403
|
-
type: 'function',
|
|
404
|
-
stateMutability: 'view',
|
|
405
|
-
inputs: [{ name: 'account', type: 'address' }],
|
|
406
|
-
outputs: [{ name: '', type: 'uint256' }],
|
|
407
|
-
}] as const,
|
|
408
|
-
functionName: 'balanceOf',
|
|
409
|
-
args: [cfg.wallet.address as `0x${string}`],
|
|
410
|
-
});
|
|
411
|
-
|
|
412
|
-
res.json({ address: cfg.wallet.address, balance: formatUnits(balance, 6) });
|
|
413
426
|
} catch (err: any) {
|
|
414
427
|
log.warn(`Wallet balance check failed: ${err.message}`);
|
|
415
|
-
res.json({ address:
|
|
428
|
+
res.json({ address, tempo: '0.00', base: '0.00' });
|
|
416
429
|
}
|
|
417
430
|
});
|
|
418
431
|
|
|
@@ -297,15 +297,15 @@ During PULSE, occasionally check the marketplace for new skills. If you spot one
|
|
|
297
297
|
You have **two payment sources** for paid relay endpoints (skills, services, marketplace):
|
|
298
298
|
|
|
299
299
|
- **Your human's credits** — money they added via Stripe on the dashboard. Only available if they've claimed you. Shared across all their bots.
|
|
300
|
-
- **Your wallet** — your own USDC
|
|
300
|
+
- **Your wallet** — your own USDC. The same wallet address holds USDC on **two networks**: **Tempo** (default — funded by your human via the dashboard "Add Funds" button → Stripe On-Ramp) and **Coinbase BASE** (funded by anyone sending USDC on Base mainnet to your address). Autonomous — no permission needed.
|
|
301
301
|
|
|
302
|
-
**Payment order is automatic.** The relay tries credits first. If the human's balance covers the call, credits get deducted and your wallet stays untouched. If credits are short (or you're unclaimed), the call falls back to
|
|
302
|
+
**Payment order is automatic.** The relay tries credits first. If the human's balance covers the call, credits get deducted and your wallet stays untouched. If credits are short (or you're unclaimed), the call falls back to an on-chain payment from your wallet — either via **MPP on Tempo** or via **x402 on Base**, depending on which endpoint variant you call.
|
|
303
303
|
|
|
304
|
-
**Check your wallet (own funds, on-chain):**
|
|
304
|
+
**Check your wallet (own funds, on-chain — both networks in one call):**
|
|
305
305
|
|
|
306
306
|
```bash
|
|
307
307
|
curl -s http://localhost:7400/api/wallet/balance
|
|
308
|
-
# → { "address": "0x...", "
|
|
308
|
+
# → { "address": "0x...", "tempo": "0.99", "base": "0.50" } # both in USDC dollars
|
|
309
309
|
```
|
|
310
310
|
|
|
311
311
|
**Check your human's credits (claimed only):**
|
|
@@ -316,38 +316,65 @@ curl -s https://api.bloby.bot/api/marketplace/balance/bot \
|
|
|
316
316
|
# → { "balance": 12.34 }
|
|
317
317
|
```
|
|
318
318
|
|
|
319
|
-
|
|
319
|
+
#### Picking a network
|
|
320
320
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
321
|
+
Same wallet, two networks. Use whichever has funds:
|
|
322
|
+
|
|
323
|
+
- **Tempo** — your default. Stripe On-Ramp tops it up; gas is auto-paid from your USDC (no native token needed). Lower friction, ~500 ms settlement.
|
|
324
|
+
- **Base** — use this when your Tempo balance is empty but Base isn't (e.g. someone sent you USDC on Base, or you swapped/bridged). Settles via the x402 protocol against Coinbase's facilitator.
|
|
325
|
+
|
|
326
|
+
If both have funds, prefer Tempo. If only one network has funds, call the matching endpoint variant.
|
|
327
|
+
|
|
328
|
+
#### Calling a paid endpoint
|
|
329
|
+
|
|
330
|
+
Every paid endpoint has two variants:
|
|
331
|
+
|
|
332
|
+
| Network | Endpoint pattern | Client |
|
|
333
|
+
|---|---|---|
|
|
334
|
+
| Tempo | `/api/services/<id>/use`, `/api/marketplace/buy/<id>` | `npx -y mppx ...` |
|
|
335
|
+
| Base | `/api/services/<id>/use-base`, `/api/marketplace/buy-base/<id>` | `bloby x402 ...` |
|
|
336
|
+
|
|
337
|
+
Both use `X-Bloby-Token: $RELAY_TOKEN` for bot identity (the payment client strips `Authorization` on the 402 retry to inject the payment credential, so identity needs a separate header).
|
|
327
338
|
|
|
328
|
-
|
|
339
|
+
**Tempo (mppx).** The mppx CLI uses its own OS-keychain by default and does NOT know about your wallet — pass your private key inline via `MPPX_PRIVATE_KEY` (which mppx checks before the keychain):
|
|
329
340
|
|
|
330
341
|
```bash
|
|
342
|
+
# Smoke test — costs $0.01, paid via Tempo USDC if credits are short
|
|
331
343
|
MPPX_PRIVATE_KEY=$(jq -r .wallet.privateKey ~/.bloby/config.json) \
|
|
332
|
-
npx -y mppx
|
|
344
|
+
npx -y mppx https://api.bloby.bot/api/services/test-mpp/use \
|
|
333
345
|
-X POST -H "X-Bloby-Token: $RELAY_TOKEN"
|
|
334
346
|
```
|
|
335
347
|
|
|
336
348
|
If you see `ACCOUNT_NOT_FOUND - No account found.`, you forgot to set `MPPX_PRIVATE_KEY` — the CLI looked in its empty keychain. Re-run with the env var.
|
|
337
349
|
|
|
338
|
-
**
|
|
350
|
+
**Base (x402).** Use the built-in `bloby x402` command — it reads your wallet from `~/.bloby/config.json` automatically and signs the x402 payment on Base mainnet:
|
|
339
351
|
|
|
340
352
|
```bash
|
|
353
|
+
# Same smoke test, but on Base
|
|
354
|
+
bloby x402 https://api.bloby.bot/api/services/test-mpp/use-base \
|
|
355
|
+
-X POST -H "X-Bloby-Token: $RELAY_TOKEN"
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
Pass `--max <usdc>` to raise the per-call spend cap (default: $1).
|
|
359
|
+
|
|
360
|
+
**Buying a skill, blueprint, or bundle autonomously.** Same shape — pick the variant that matches your funds. The relay tries your owner's credits first, then falls back to your wallet. Returns `{ skills: [{ url, sha256, ... }] }` — follow each `url` to download the .tar.gz and extract to `skills/`.
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
# Tempo
|
|
341
364
|
MPPX_PRIVATE_KEY=$(jq -r .wallet.privateKey ~/.bloby/config.json) \
|
|
342
365
|
npx -y mppx https://api.bloby.bot/api/marketplace/buy/<productId> \
|
|
343
366
|
-X POST -H "X-Bloby-Token: $RELAY_TOKEN"
|
|
367
|
+
|
|
368
|
+
# Base
|
|
369
|
+
bloby x402 https://api.bloby.bot/api/marketplace/buy-base/<productId> \
|
|
370
|
+
-X POST -H "X-Bloby-Token: $RELAY_TOKEN"
|
|
344
371
|
```
|
|
345
372
|
|
|
346
|
-
**Don't use `/marketplace/checkout/bot` for autonomous buys.** That endpoint is the cart-style flow — balance-only, no
|
|
373
|
+
**Don't use `/marketplace/checkout/bot` for autonomous buys.** That endpoint is the cart-style flow — balance-only, no on-chain fallback. If you hit it and credits are short you'll get a 402 with no way to retry. Always prefer `/marketplace/buy/:productId` (Tempo) or `/marketplace/buy-base/:productId` (Base).
|
|
347
374
|
|
|
348
|
-
**Wallet on disk:** `~/.bloby/config.json` field `wallet` — `address` is public, `privateKey` is secret. Never print the private key in chat. The address is fine to share.
|
|
375
|
+
**Wallet on disk:** `~/.bloby/config.json` field `wallet` — `address` is public, `privateKey` is secret. Never print the private key in chat. The address is fine to share, and is the same on Tempo and Base.
|
|
349
376
|
|
|
350
|
-
**Running low?** Tell your human you need funds. Don't mention USDC, Tempo, or crypto unless they ask — to them, it's just adding dollars to your wallet via the "Add Funds" button in the chat header.
|
|
377
|
+
**Running low?** Tell your human you need funds. Don't mention USDC, Tempo, Base, or crypto unless they ask — to them, it's just adding dollars to your wallet via the "Add Funds" button in the chat header.
|
|
351
378
|
|
|
352
379
|
For a machine-readable catalog: `GET https://bloby.bot/api/marketplace/products` — **always include your relay token** (`Authorization: Bearer $RELAY_TOKEN`) on every request to the relay API, even public endpoints. This enables your presence in Bloby World so other users can see your bloby on the world map.
|
|
353
380
|
|
|
@@ -46,29 +46,17 @@
|
|
|
46
46
|
</script>
|
|
47
47
|
<script type="module" src="/src/main.tsx"></script>
|
|
48
48
|
<script>
|
|
49
|
+
// Register the SW but DO NOT auto-reload on controllerchange.
|
|
50
|
+
// The old pattern (skipWaiting + claim + controllerchange → location.reload)
|
|
51
|
+
// caused surprise reloads on mobile PWAs: iOS aggressively re-checks sw.js
|
|
52
|
+
// and any byte-level variation in the response (esp. via Vite dev) trips a
|
|
53
|
+
// new SW activation → controllerchange → unwanted reload. The new SW
|
|
54
|
+
// silently takes over for future fetches; the user gets the new build on
|
|
55
|
+
// their next natural refresh.
|
|
49
56
|
if('serviceWorker' in navigator && location.port !== '5173'){
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if(swRefreshing)return;
|
|
53
|
-
swRefreshing=true;
|
|
54
|
-
var s=document.getElementById('splash');
|
|
55
|
-
if(s){s.style.transition='none';s.style.display='block';s.style.opacity='1'}
|
|
56
|
-
location.reload();
|
|
57
|
+
navigator.serviceWorker.register('/sw.js').catch(function(err){
|
|
58
|
+
console.error('[sw-reg] registration failed:', err);
|
|
57
59
|
});
|
|
58
|
-
navigator.serviceWorker.register('/sw.js').then(function(r){
|
|
59
|
-
r.update();
|
|
60
|
-
if(r.waiting){
|
|
61
|
-
r.waiting.postMessage({type:'SKIP_WAITING'});
|
|
62
|
-
}
|
|
63
|
-
r.addEventListener('updatefound',function(){
|
|
64
|
-
var w=r.installing;
|
|
65
|
-
if(w)w.addEventListener('statechange',function(){
|
|
66
|
-
if(w.state==='installed'&&navigator.serviceWorker.controller){
|
|
67
|
-
w.postMessage({type:'SKIP_WAITING'});
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
}).catch(function(err){ console.error('[sw-reg] registration failed:', err); });
|
|
72
60
|
}
|
|
73
61
|
</script>
|
|
74
62
|
<script src="/bloby/widget.js"></script>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-C-57s9n3.js";import{t}from"./html-BkYSbpwH.js";var n=[Object.freeze(JSON.parse('{"injectionSelector":"L:text.html -comment","name":"angular-expression","patterns":[{"include":"#ngExpression"}],"repository":{"arrayLiteral":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"booleanLiteral":{"patterns":[{"match":"(?<![$.])\\\\btrue\\\\b(?!\\\\$)","name":"constant.language.boolean.true.ts"},{"match":"(?<![$.])\\\\bfalse\\\\b(?!\\\\$)","name":"constant.language.boolean.false.ts"}]},"expressionOperator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"entity.name.function.pipe.ng"}},"match":"((?<!\\\\|)\\\\|(?!\\\\|))\\\\s?([-$0-9A-Z_a-z]*)"},{"match":"(?<![$.])\\\\b(let)\\\\b(?!\\\\$)","name":"storage.type.ts"},{"match":"(?<![$.])\\\\b(await)\\\\b(?!\\\\$)","name":"keyword.control.flow.ts"},{"match":"(?<![$.])\\\\bdelete\\\\b(?!\\\\$)","name":"keyword.operator.expression.delete.ts"},{"match":"(?<![$.])\\\\bin\\\\b(?!\\\\$)","name":"keyword.operator.expression.in.ts"},{"match":"(?<![$.])\\\\bof\\\\b(?!\\\\$)","name":"keyword.operator.expression.of.ts"},{"match":"(?<![$.])\\\\bif\\\\b(?!\\\\$)","name":"keyword.control.if.ts"},{"match":"(?<![$.])\\\\belse\\\\b(?!\\\\$)","name":"keyword.control.else.ts"},{"match":"(?<![$.])\\\\bthen\\\\b(?!\\\\$)","name":"keyword.control.then.ts"},{"match":"(?<![$.])\\\\binstanceof\\\\b(?!\\\\$)","name":"keyword.operator.expression.instanceof.ts"},{"match":"(?<![$.])\\\\bnew\\\\b(?!\\\\$)","name":"keyword.operator.new.ts"},{"match":"(?<![$.])\\\\bvoid\\\\b(?!\\\\$)","name":"keyword.operator.expression.void.ts"},{"begin":"(?<![$.])\\\\bas\\\\b(?!\\\\$)","beginCaptures":{"0":{"name":"storage.type.as.ts"}},"end":"(?=$|[]\\"\'),:;}])","patterns":[{"include":"#type"}]},{"match":"(?:\\\\*|(?<!\\\\()/|[-%+])=","name":"keyword.operator.assignment.compound.ts"},{"match":"(?:[\\\\&^]|<<|>>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"match":"!|&&|\\\\?\\\\?|\\\\|\\\\|","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"captures":{"1":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])\\\\s*(/)(?![*/])"},{"include":"#typeofOperator"}]},"functionCall":{"begin":"(?=(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","end":"(?<=\\\\))(?!(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","patterns":[{"match":"\\\\?","name":"punctuation.accessor.ts"},{"match":"\\\\.","name":"punctuation.accessor.ts"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},{"include":"#parenExpression"}]},"functionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ts"}},"name":"meta.parameters.ts","patterns":[{"include":"#decorator"},{"include":"#parameterName"},{"include":"#variableInitializer"},{"match":",","name":"punctuation.separator.parameter.ts"}]},"identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\.\\\\s*prototype\\\\b(?!\\\\$))","name":"support.class.ts"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.object.property.ts"},"3":{"name":"variable.other.object.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"entity.name.function.ts"}},"match":"(?:([!?]?\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"variable.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"constant.other.object.ts"},"2":{"name":"variable.other.object.ts"}},"match":"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"constant.character.other"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"literal":{"name":"literal.ts","patterns":[{"include":"#numericLiteral"},{"include":"#booleanLiteral"},{"include":"#nullLiteral"},{"include":"#undefinedLiteral"},{"include":"#numericConstantLiteral"},{"include":"#arrayLiteral"},{"include":"#thisLiteral"}]},"ngExpression":{"name":"meta.expression.ng","patterns":[{"include":"#string"},{"include":"#literal"},{"include":"#ternaryExpression"},{"include":"#expressionOperator"},{"include":"#functionCall"},{"include":"#identifiers"},{"include":"#parenExpression"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"},{"include":"#punctuationAccessor"}]},"nullLiteral":{"match":"(?<![$.])\\\\bnull\\\\b(?!\\\\$)","name":"constant.language.null.ts"},"numericConstantLiteral":{"patterns":[{"match":"(?<![$.])\\\\bNaN\\\\b(?!\\\\$)","name":"constant.language.nan.ts"},{"match":"(?<![$.])\\\\bInfinity\\\\b(?!\\\\$)","name":"constant.language.infinity.ts"}]},"numericLiteral":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])\\\\h+\\\\b(?!\\\\$)","name":"constant.numeric.hex.ts"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]+\\\\b(?!\\\\$)","name":"constant.numeric.binary.ts"},{"match":"\\\\\\\\b(?<!\\\\$)0([Oo])?[0-7]+\\\\b(?!\\\\$)","name":"constant.numeric.octal.ts"},{"captures":{"0":{"name":"constant.numeric.decimal.ts"},"1":{"name":"meta.delimiter.decimal.period.ts"},"2":{"name":"meta.delimiter.decimal.period.ts"},"3":{"name":"meta.delimiter.decimal.period.ts"},"4":{"name":"meta.delimiter.decimal.period.ts"},"5":{"name":"meta.delimiter.decimal.period.ts"},"6":{"name":"meta.delimiter.decimal.period.ts"}},"match":"(?<!\\\\$)(?:\\\\b[0-9]+(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)[Ee][-+]?[0-9]+\\\\b|\\\\B(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)\\\\B|\\\\B(\\\\.)[0-9]+\\\\b|\\\\b[0-9]+\\\\b(?!\\\\.))(?!\\\\$)"}]},"parameterName":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)"}]},"parenExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"punctuationAccessor":{"match":"(?:\\\\?|!?)\\\\.","name":"punctuation.accessor.ts"},"punctuationComma":{"match":",","name":"punctuation.separator.comma.ts"},"punctuationSemicolon":{"match":";","name":"punctuation.terminator.statement.ts"},"qstringDouble":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.double.ts","patterns":[{"include":"#stringCharacterEscape"}]},"qstringSingle":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.single.ts","patterns":[{"include":"#stringCharacterEscape"}]},"string":{"patterns":[{"include":"#qstringSingle"},{"include":"#qstringDouble"},{"include":"#templateLiteral"}]},"stringCharacterEscape":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ts"},"templateLiteral":{"patterns":[{"include":"#templateLiteralCall"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#templateLiteralSubstitutionElement"},{"include":"#stringCharacterEscape"}]}]},"templateLiteralCall":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#typeArguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#typeArguments"}]}]},"templateLiteralSubstitutionElement":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#ngExpression"}]},"ternaryExpression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#ngExpression"}]},"thisLiteral":{"match":"(?<![$.])\\\\bthis\\\\b(?!\\\\$)","name":"variable.language.this.ts"},"type":{"name":"meta.type.ts","patterns":[{"include":"#string"},{"include":"#numericLiteral"},{"include":"#typeBuiltinLiterals"},{"include":"#typeTuple"},{"include":"#typeObject"},{"include":"#typeOperators"},{"include":"#typeFnTypeParameters"},{"include":"#typeParenOrFunctionParameters"},{"include":"#typeName"}]},"typeAnnotation":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=$|[]),;}]|//|\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},"typeArguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#typeArgumentsBody"}]},"typeArgumentsBody":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"include":"#type"},{"include":"#punctuationComma"}]},"typeBuiltinLiterals":{"match":"(?<![$.])\\\\b(this|true|false|undefined|null)\\\\b(?!\\\\$)","name":"support.type.builtin.ts"},"typeFnTypeParameters":{"patterns":[{"captures":{"1":{"name":"keyword.control.new.ts"}},"match":"(?<![$.])\\\\b(new)\\\\b(?=\\\\s*<)","name":"meta.type.constructor.ts"},{"begin":"(?<![$.])\\\\b(new)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.new.ts"}},"end":"(?<=\\\\))","name":"meta.type.constructor.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"(?<=>)\\\\s*(?=\\\\()","end":"(?<=\\\\))","include":"#typeofOperator","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]}]},"typeName":{"patterns":[{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*([!?]?\\\\.)"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"typeObject":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#typeObjectMembers"}]},"typeObjectMembers":{"patterns":[{"include":"#typeAnnotation"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"}]},"typeOperators":{"patterns":[{"include":"#typeofOperator"},{"match":"[\\\\&|]","name":"keyword.operator.type.ts"},{"match":"(?<![$.])\\\\bkeyof\\\\b(?!\\\\$)","name":"keyword.operator.expression.keyof.ts"}]},"typeParenOrFunctionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"include":"#type"},{"include":"#functionParameters"}]},"typeTuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.type.tuple.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},"typeofOperator":{"match":"(?<![$.])\\\\btypeof\\\\b(?!\\\\$)","name":"keyword.operator.expression.typeof.ts"},"undefinedLiteral":{"match":"(?<![$.])\\\\bundefined\\\\b(?!\\\\$)","name":"constant.language.undefined.ts"},"variableInitializer":{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|[]),;}])","patterns":[{"include":"#ngExpression"}]}},"scopeName":"expression.ng"}'))],r=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-let-declaration","patterns":[{"include":"#letDeclaration"}],"repository":{"letDeclaration":{"begin":"(@let)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)?","beginCaptures":{"1":{"name":"storage.type.ng"},"2":{"name":"variable.other.constant.ng"},"3":{"name":"keyword.operator.assignment.ng"}},"end":"(?<=;)","name":"meta.definition.variable.ng","patterns":[{"include":"#letInitializer"}]},"letInitializer":{"begin":"\\\\s*","beginCaptures":{"0":{"name":"keyword.operator.assignment.ng"}},"contentName":"meta.definition.variable.initializer.ng","end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.ng"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.let.ng","embeddedLangs":["angular-expression"]}`)),i=[...n,r],a=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment","name":"angular-template","patterns":[{"include":"#interpolation"}],"repository":{"interpolation":{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"expression.ng","end":"}}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.ng","embeddedLangs":["angular-expression"]}`)),o=[...n,a],s=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-template-blocks","patterns":[{"include":"#block"}],"repository":{"block":{"begin":"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.block.kind.ng"}},"end":"(?<=})","name":"control.block.ng","patterns":[{"include":"#blockExpression"},{"include":"#blockBody"}]},"blockBody":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"control.block.body.ng","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"text.html.derivative.ng"},{"include":"template.ng"}]},"blockExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"contentName":"control.block.expression.ng","end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#blockExpressionOfClause"},{"include":"#blockExpressionLetBinding"},{"include":"#blockExpressionTrackClause"},{"include":"expression.ng"}]},"blockExpressionLetBinding":{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"storage.type.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionOfClause":{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(of)\\\\b","beginCaptures":{"1":{"name":"variable.other.constant.ng"},"2":{"name":"keyword.operator.expression.of.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionTrackClause":{"begin":"\\\\btrack\\\\b","beginCaptures":{"0":{"name":"keyword.control.track.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"transition":{"match":"@","name":"keyword.control.block.transition.ng"}},"scopeName":"template.blocks.ng","embeddedLangs":["angular-expression","angular-template"]}`)),c=[...n,...o,s],l=e({default:()=>d}),u=Object.freeze(JSON.parse(`{"displayName":"Angular HTML","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"angular-html","patterns":[{"include":"text.html.basic#core-minus-invalid"},{"begin":"(</?)(\\\\w[^>\\\\s]*)(?<!/)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.unrecognized.html.derivative","patterns":[{"include":"text.html.basic#attribute"}]}],"scopeName":"text.html.derivative.ng","embeddedLangs":["html","angular-expression","angular-let-declaration","angular-template","angular-template-blocks"]}`)),d=[...t,...n,...i,...o,...c,u];export{i as a,o as i,l as n,n as o,c as r,d as t};
|