@cmmd-center/forge 0.9.3 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BunHttpServer-Dc5XijQF.mjs → BunHttpServer-BgNCpQzV.mjs} +2 -2
- package/dist/{BunHttpServer-Cuya1Zon.cjs → BunHttpServer-DOAuw4Iq.cjs} +2 -2
- package/dist/{BunPTY-z9OKvyBo.cjs → BunPTY-2icf7sRj.cjs} +2 -2
- package/dist/{BunPTY-CfS5zDoQ.mjs → BunPTY-D-Klry5N.mjs} +2 -2
- package/dist/{BunServices-eq_c-3x1.mjs → BunServices-ChM4mYH9.mjs} +1 -1
- package/dist/{BunServices-khEuvPaA.cjs → BunServices-CiNXNzHD.cjs} +1 -1
- package/dist/Mime-BITO-E1U.mjs +1395 -0
- package/dist/Mime-CyHbecis.cjs +1400 -0
- package/dist/{Mime-B75_d9aw.mjs → NodeHttpServer-C_wePPV0.mjs} +614 -1456
- package/dist/{Mime-aSilaQX9.cjs → NodeHttpServer-D_ismXpd.cjs} +617 -1466
- package/dist/{NodePTY-ChjVFpUH.mjs → NodePTY-BMUFdM93.mjs} +2 -2
- package/dist/{NodePTY-BOaJi0JA.cjs → NodePTY-cb7HIasY.cjs} +2 -2
- package/dist/{NodeSqliteClient-GlgGqc8V.mjs → NodeSqliteClient-OdI1TawL.mjs} +1 -1
- package/dist/{NodeSqliteClient-Vunn3aFN.cjs → NodeSqliteClient-SsUCk9mA.cjs} +1 -1
- package/dist/{PTY-rn2kGjhB.mjs → PTY-CBkE5akF.mjs} +1 -1
- package/dist/{PTY-D5OpMK9s.cjs → PTY-U3JQnLXS.cjs} +1 -1
- package/dist/{SqliteClient-Bpkno4Ob.cjs → SqliteClient-CdAhI4lb.cjs} +1 -1
- package/dist/{SqliteClient-DYQAvreq.mjs → SqliteClient-aoOb51gB.mjs} +1 -1
- package/dist/bin.cjs +14484 -10871
- package/dist/bin.mjs +14667 -11052
- package/dist/client/apple-touch-icon.png +0 -0
- package/dist/client/apple-touch-icon.png.publish-bak +0 -0
- package/dist/client/assets/CanvasPanel-BIN3OTEQ.js +441 -0
- package/dist/client/assets/CompositeItem-UKxcvvWv.js +2 -0
- package/dist/client/assets/DiffPanel-CeuRaSj1.js +64 -0
- package/dist/client/assets/DiffPanel.logic-D5i9QswQ.js +21 -0
- package/dist/client/assets/DiffPanelShell-W5nEVL52.js +2531 -0
- package/dist/client/assets/DiffWorkerPoolProvider-D87CO5TY.js +73 -0
- package/dist/client/assets/PullRequestCodePanel-DAmHwtY9.js +5 -0
- package/dist/client/assets/Stream-CToP6xzI.js +15 -0
- package/dist/client/assets/Virtualizer-CnwVHiy3.js +2 -0
- package/dist/client/assets/__vite-browser-external-DkEyUtaV.js +2 -0
- package/dist/client/assets/abap-kWSt4ETq.js +2 -0
- package/dist/client/assets/actionscript-3-DUMfZd56.js +2 -0
- package/dist/client/assets/ada-B5ZVVI6u.js +2 -0
- package/dist/client/assets/andromeeda-DXFdNco6.js +2 -0
- package/dist/client/assets/andromeeda-DwmQuk--.js +2 -0
- package/dist/client/assets/angular-html-BHUTdQ2k.js +2 -0
- package/dist/client/assets/angular-ts-BSGCbJ0j.js +2 -0
- package/dist/client/assets/apache-Cu40O3Ol.js +2 -0
- package/dist/client/assets/apex-DMPEjfSG.js +2 -0
- package/dist/client/assets/apl-BoCi4WkG.js +2 -0
- package/dist/client/assets/applescript-mUd3mpyF.js +2 -0
- package/dist/client/assets/ara-LhQXZmm_.js +2 -0
- package/dist/client/assets/asciidoc-BhTPoeH5.js +2 -0
- package/dist/client/assets/asm-BGGwX2ZL.js +2 -0
- package/dist/client/assets/astro-BMi5lGMm.js +2 -0
- package/dist/client/assets/atomRegistry-Bq5Y4LP1.js +3 -0
- package/dist/client/assets/aurora-x-CLgz8jpO.js +2 -0
- package/dist/client/assets/aurora-x-DY4EgSB_.js +2 -0
- package/dist/client/assets/awk-emAjNmqG.js +2 -0
- package/dist/client/assets/ayu-dark-BOsBaLmt.js +2 -0
- package/dist/client/assets/ayu-dark-Dm87GVDE.js +2 -0
- package/dist/client/assets/ayu-light-CVzS2PQZ.js +2 -0
- package/dist/client/assets/ayu-light-nGNJ-WDB.js +2 -0
- package/dist/client/assets/ayu-mirage-CionIqJ2.js +2 -0
- package/dist/client/assets/ayu-mirage-wUDx3klU.js +2 -0
- package/dist/client/assets/ballerina-Zz4P1PCo.js +2 -0
- package/dist/client/assets/bat-CojohPr3.js +2 -0
- package/dist/client/assets/beancount-DIrDFIbZ.js +2 -0
- package/dist/client/assets/berry-BktKISqk.js +2 -0
- package/dist/client/assets/bibtex-QuZiL8vO.js +2 -0
- package/dist/client/assets/bicep-BBqBjbA3.js +2 -0
- package/dist/client/assets/bird2-FrGIamnO.js +2 -0
- package/dist/client/assets/blade-CUGHtpnt.js +2 -0
- package/dist/client/assets/bsl-Dwz0otKA.js +2 -0
- package/dist/client/assets/c-3r97XxSq.js +2 -0
- package/dist/client/assets/c3-D-fgrOzJ.js +2 -0
- package/dist/client/assets/cadence-53eYIqKQ.js +2 -0
- package/dist/client/assets/cairo-Cai_OBhL.js +2 -0
- package/dist/client/assets/canvasStateStore-D3R1Ldk1.js +2 -0
- package/dist/client/assets/catppuccin-frappe-B9ztfCCY.js +2 -0
- package/dist/client/assets/catppuccin-frappe-Dtq86Zt-.js +2 -0
- package/dist/client/assets/catppuccin-latte-D1lF_ULk.js +2 -0
- package/dist/client/assets/catppuccin-latte-jgmNlGoB.js +2 -0
- package/dist/client/assets/catppuccin-macchiato-CcX-f1yB.js +2 -0
- package/dist/client/assets/catppuccin-macchiato-DfuKQKcK.js +2 -0
- package/dist/client/assets/catppuccin-mocha-B3_lpdvM.js +2 -0
- package/dist/client/assets/catppuccin-mocha-DfNnOvvn.js +2 -0
- package/dist/client/assets/clarity-DCS2DMlE.js +2 -0
- package/dist/client/assets/clojure-XwHeeE37.js +2 -0
- package/dist/client/assets/cmake-VIYk9tbe.js +2 -0
- package/dist/client/assets/cmmdAuthRedirect-DLvl7JNi.js +2 -0
- package/dist/client/assets/cobol-IPhylbE9.js +2 -0
- package/dist/client/assets/codeowners-DiTXAskR.js +2 -0
- package/dist/client/assets/codeql-0208dEuz.js +2 -0
- package/dist/client/assets/coffee-BwGUpF4f.js +2 -0
- package/dist/client/assets/common-lisp-Bbk7xLRF.js +2 -0
- package/dist/client/assets/coq-CDDZdGGh.js +2 -0
- package/dist/client/assets/cpp-jFyTvZsm.js +2 -0
- package/dist/client/assets/crystal-DYkQl9zO.js +2 -0
- package/dist/client/assets/csharp-Dausz59m.js +2 -0
- package/dist/client/assets/css-jXIxCbs3.js +2 -0
- package/dist/client/assets/csv-e2HVQau9.js +2 -0
- package/dist/client/assets/cue-BMgE_xju.js +2 -0
- package/dist/client/assets/cypher-CA95tXqi.js +2 -0
- package/dist/client/assets/d-DeO2qMKQ.js +2 -0
- package/dist/client/assets/dark-plus-DaoBxEuI.js +2 -0
- package/dist/client/assets/dark-plus-hlEOAUn6.js +2 -0
- package/dist/client/assets/dart-_9gbW0uG.js +2 -0
- package/dist/client/assets/dax-BMSB_urL.js +2 -0
- package/dist/client/assets/desktop-CFWOIXtS.js +2 -0
- package/dist/client/assets/diff-K3NAzB5h.js +2 -0
- package/dist/client/assets/docker-BHQx5Ff2.js +2 -0
- package/dist/client/assets/dotenv-CkiqXLC8.js +2 -0
- package/dist/client/assets/dracula-C9rp4fWn.js +2 -0
- package/dist/client/assets/dracula-CIJxKfwh.js +2 -0
- package/dist/client/assets/dracula-soft-BN-taJLQ.js +2 -0
- package/dist/client/assets/dracula-soft-De1wWQ_v.js +2 -0
- package/dist/client/assets/dream-maker-BM-H3AID.js +2 -0
- package/dist/client/assets/edge-CVf1J8H7.js +2 -0
- package/dist/client/assets/elixir-DtWV_YYF.js +2 -0
- package/dist/client/assets/elm-BJC2NMzB.js +2 -0
- package/dist/client/assets/emacs-lisp-BBM_ORbk.js +2 -0
- package/dist/client/assets/erb-cwYn0k3w.js +2 -0
- package/dist/client/assets/erlang-QNS0KA0S.js +2 -0
- package/dist/client/assets/everforest-dark-BSYmfNnp.js +2 -0
- package/dist/client/assets/everforest-dark-DUW3cHBn.js +2 -0
- package/dist/client/assets/everforest-light-CXyS_8Pc.js +2 -0
- package/dist/client/assets/everforest-light-DR-OhbXr.js +2 -0
- package/dist/client/assets/fennel-CAUJGoSU.js +2 -0
- package/dist/client/assets/fish-Cgln2BIC.js +2 -0
- package/dist/client/assets/fluent-BFL910sE.js +2 -0
- package/dist/client/assets/fortran-fixed-form-GNS6k7js.js +2 -0
- package/dist/client/assets/fortran-free-form-DB-siuqX.js +2 -0
- package/dist/client/assets/fsharp-BEjSdIee.js +2 -0
- package/dist/client/assets/gdresource-D24f9BeL.js +2 -0
- package/dist/client/assets/gdscript-Bq5ZYHDh.js +2 -0
- package/dist/client/assets/gdshader-BWxXiThj.js +2 -0
- package/dist/client/assets/genie-BOcsPMcn.js +2 -0
- package/dist/client/assets/gherkin-pSvoetjt.js +2 -0
- package/dist/client/assets/git-commit-Ddcy2Rzd.js +2 -0
- package/dist/client/assets/git-rebase-95AHstHI.js +2 -0
- package/dist/client/assets/github-dark-BbHkogeI.js +2 -0
- package/dist/client/assets/github-dark-D1nTcH4E.js +2 -0
- package/dist/client/assets/github-dark-default-Cgu-j31c.js +2 -0
- package/dist/client/assets/github-dark-default-CwMUtNVn.js +2 -0
- package/dist/client/assets/github-dark-dimmed-BmSK4vhs.js +2 -0
- package/dist/client/assets/github-dark-dimmed-CQVfITf-.js +2 -0
- package/dist/client/assets/github-dark-high-contrast-8_9Rbsic.js +2 -0
- package/dist/client/assets/github-dark-high-contrast-BO-0858k.js +2 -0
- package/dist/client/assets/github-light-DWIA8Fx_.js +2 -0
- package/dist/client/assets/github-light-default-CR0FtjVb.js +2 -0
- package/dist/client/assets/github-light-default-LLPbqR-K.js +2 -0
- package/dist/client/assets/github-light-high-contrast-5o8qRjCb.js +2 -0
- package/dist/client/assets/github-light-high-contrast-C8BCDz6a.js +2 -0
- package/dist/client/assets/github-light-lCcn0xRl.js +2 -0
- package/dist/client/assets/gleam-DPm9Zc9U.js +2 -0
- package/dist/client/assets/glimmer-js-Cjwf-Ijv.js +2 -0
- package/dist/client/assets/glimmer-ts-DXnOWlZf.js +2 -0
- package/dist/client/assets/glsl-iXGbnqIU.js +2 -0
- package/dist/client/assets/gn-DEuV1her.js +2 -0
- package/dist/client/assets/gnuplot-CqGlKjK6.js +2 -0
- package/dist/client/assets/go-mptU-yl2.js +2 -0
- package/dist/client/assets/graphql-DJMVZQv3.js +2 -0
- package/dist/client/assets/groovy-CKg5KWq9.js +2 -0
- package/dist/client/assets/gruvbox-dark-hard-Df4rfbxN.js +2 -0
- package/dist/client/assets/gruvbox-dark-hard-DsK6pQOr.js +2 -0
- package/dist/client/assets/gruvbox-dark-medium-nlSbDtaA.js +2 -0
- package/dist/client/assets/gruvbox-dark-medium-zSmEeDKP.js +2 -0
- package/dist/client/assets/gruvbox-dark-soft-BSW4a3D0.js +2 -0
- package/dist/client/assets/gruvbox-dark-soft-DgI1MxVf.js +2 -0
- package/dist/client/assets/gruvbox-light-hard-D144A6HZ.js +2 -0
- package/dist/client/assets/gruvbox-light-hard-DMNoHzNU.js +2 -0
- package/dist/client/assets/gruvbox-light-medium-C0B0NCuj.js +2 -0
- package/dist/client/assets/gruvbox-light-medium-CY2MDbN0.js +2 -0
- package/dist/client/assets/gruvbox-light-soft-CWJ8aP9f.js +2 -0
- package/dist/client/assets/gruvbox-light-soft-CyPlqRD8.js +2 -0
- package/dist/client/assets/hack-CkGKtoya.js +2 -0
- package/dist/client/assets/haml-mV-E4efJ.js +2 -0
- package/dist/client/assets/handlebars-Da6i86YE.js +2 -0
- package/dist/client/assets/haskell-DFWkJmsd.js +2 -0
- package/dist/client/assets/haxe-DoXg9N2w.js +2 -0
- package/dist/client/assets/hcl-VbcvLW6X.js +2 -0
- package/dist/client/assets/hjson-dQ--SYg9.js +2 -0
- package/dist/client/assets/hlsl-DNh8NDKB.js +2 -0
- package/dist/client/assets/horizon-BeufL1QP.js +2 -0
- package/dist/client/assets/horizon-CnOil3H1.js +2 -0
- package/dist/client/assets/horizon-bright-BoFfNO4u.js +2 -0
- package/dist/client/assets/horizon-bright-CJCE-DcQ.js +2 -0
- package/dist/client/assets/houston-C5_OTP91.js +2 -0
- package/dist/client/assets/houston-jaZUvSzs.js +2 -0
- package/dist/client/assets/html-derivative-BOw7yS3Z.js +2 -0
- package/dist/client/assets/html-e1ppUAVa.js +2 -0
- package/dist/client/assets/html2canvas-C_LL7spC.js +6 -0
- package/dist/client/assets/http-DFrMFVWs.js +2 -0
- package/dist/client/assets/hurl-3N2UscjA.js +2 -0
- package/dist/client/assets/hxml-Ip0yb8dg.js +2 -0
- package/dist/client/assets/hy-Bg-RIaMc.js +2 -0
- package/dist/client/assets/imba-BjZ9NRcj.js +2 -0
- package/dist/client/assets/index-Dr7HwjTE.css +1 -0
- package/dist/client/assets/index-DyEYqQdf.js +151 -0
- package/dist/client/assets/index.es-piUKIQw4.js +6 -0
- package/dist/client/assets/ini-CXagdQO9.js +2 -0
- package/dist/client/assets/java-DY6ZSujp.js +2 -0
- package/dist/client/assets/javascript-BfTuFzbs.js +2 -0
- package/dist/client/assets/jinja-C4NVx4X-.js +2 -0
- package/dist/client/assets/jison-BaE4DrvM.js +2 -0
- package/dist/client/assets/json-LL0kLbs_.js +2 -0
- package/dist/client/assets/json5-B1LcXsA8.js +2 -0
- package/dist/client/assets/jsonc-CYSDka7c.js +2 -0
- package/dist/client/assets/jsonl-CwfwQmvE.js +2 -0
- package/dist/client/assets/jsonnet-DG_zYewp.js +2 -0
- package/dist/client/assets/jspdf.es.min-_OjqfV_L.js +80 -0
- package/dist/client/assets/jssm-IkACsEzj.js +2 -0
- package/dist/client/assets/jsx-BOBg7x46.js +2 -0
- package/dist/client/assets/julia-D5dobu9Y.js +2 -0
- package/dist/client/assets/just-D99ddsWv.js +2 -0
- package/dist/client/assets/kanagawa-dragon-BBUl63AF.js +2 -0
- package/dist/client/assets/kanagawa-dragon-CBGy-6ik.js +2 -0
- package/dist/client/assets/kanagawa-lotus-BKY9TlU3.js +2 -0
- package/dist/client/assets/kanagawa-lotus-D93oLQjR.js +2 -0
- package/dist/client/assets/kanagawa-wave-CWf0rFWt.js +2 -0
- package/dist/client/assets/kanagawa-wave-CZBJ3hQh.js +2 -0
- package/dist/client/assets/kdl-DuytcvNV.js +2 -0
- package/dist/client/assets/kotlin-DmtnKz6Z.js +2 -0
- package/dist/client/assets/kusto-DmrVjfae.js +2 -0
- package/dist/client/assets/laserwave-DTzUwFmi.js +2 -0
- package/dist/client/assets/laserwave-NRABVcaO.js +2 -0
- package/dist/client/assets/latex-0e5rhe9m.js +2 -0
- package/dist/client/assets/lean-Bhkhoed1.js +2 -0
- package/dist/client/assets/less-BgyohKqc.js +2 -0
- package/dist/client/assets/light-plus-Cbc9ZUH4.js +2 -0
- package/dist/client/assets/light-plus-SK-KfMAV.js +2 -0
- package/dist/client/assets/liquid-BR35Xk1k.js +2 -0
- package/dist/client/assets/llvm-BtFJuFOJ.js +2 -0
- package/dist/client/assets/log-Df3M8ERB.js +2 -0
- package/dist/client/assets/logo-VfSEjTs6.js +2 -0
- package/dist/client/assets/lua-BMt4EqAw.js +2 -0
- package/dist/client/assets/luau-DIHOVG2A.js +2 -0
- package/dist/client/assets/make-gTMDFaMm.js +2 -0
- package/dist/client/assets/markdown-B_5il8S2.js +2 -0
- package/dist/client/assets/marko-DN4rLggA.js +2 -0
- package/dist/client/assets/material-theme-Pm6m-Kzc.js +2 -0
- package/dist/client/assets/material-theme-darker-BxFgxa9U.js +2 -0
- package/dist/client/assets/material-theme-darker-pKUQPx9-.js +2 -0
- package/dist/client/assets/material-theme-lighter-BLqni5my.js +2 -0
- package/dist/client/assets/material-theme-lighter-D6-26WhM.js +2 -0
- package/dist/client/assets/material-theme-ocean-C2N-nFlu.js +2 -0
- package/dist/client/assets/material-theme-ocean-DCxzET3l.js +2 -0
- package/dist/client/assets/material-theme-palenight-DyQqRTLL.js +2 -0
- package/dist/client/assets/material-theme-palenight-Y14J3SJp.js +2 -0
- package/dist/client/assets/material-theme-zfTX2d95.js +2 -0
- package/dist/client/assets/matlab-B2zVSjQq.js +2 -0
- package/dist/client/assets/mdc-kokCuEO8.js +2 -0
- package/dist/client/assets/mdx-CL7pLDiG.js +2 -0
- package/dist/client/assets/mermaid-Cou83ohU.js +2 -0
- package/dist/client/assets/min-dark-Bg1kQHvJ.js +2 -0
- package/dist/client/assets/min-dark-BhN4iMRs.js +2 -0
- package/dist/client/assets/min-light-BjU80CRL.js +2 -0
- package/dist/client/assets/min-light-Bw9u-P_u.js +2 -0
- package/dist/client/assets/mipsasm-CNFOlV7Y.js +2 -0
- package/dist/client/assets/module-fAFg92om.js +4 -0
- package/dist/client/assets/mojo-DmJMpmxj.js +2 -0
- package/dist/client/assets/monokai-C4NNjw1j.js +2 -0
- package/dist/client/assets/monokai-DIfgn9Q6.js +2 -0
- package/dist/client/assets/moonbit-f-DlcHvh.js +2 -0
- package/dist/client/assets/move-3UEJ-86q.js +2 -0
- package/dist/client/assets/narrat-BSySVkso.js +2 -0
- package/dist/client/assets/nextflow-B6YiVxNF.js +2 -0
- package/dist/client/assets/nextflow-groovy-CJM1tnxB.js +2 -0
- package/dist/client/assets/nginx-yFGqgywB.js +2 -0
- package/dist/client/assets/night-owl-CVqrHJ7c.js +2 -0
- package/dist/client/assets/night-owl-M-9PEzO3.js +2 -0
- package/dist/client/assets/night-owl-light-BFLAfCgh.js +2 -0
- package/dist/client/assets/night-owl-light-CbICj08I.js +2 -0
- package/dist/client/assets/nim-H0r8m4Bj.js +2 -0
- package/dist/client/assets/nix-D01-yy0s.js +2 -0
- package/dist/client/assets/nord-DdQ2eXb7.js +2 -0
- package/dist/client/assets/nord-b31BpoFd.js +2 -0
- package/dist/client/assets/nushell-CHtjMTHK.js +2 -0
- package/dist/client/assets/objective-c-CpnACn2A.js +2 -0
- package/dist/client/assets/objective-cpp-CC37zF8s.js +2 -0
- package/dist/client/assets/ocaml-zEzf7VRa.js +2 -0
- package/dist/client/assets/odin-7LfNaizd.js +2 -0
- package/dist/client/assets/one-dark-pro-D7GXMkD_.js +2 -0
- package/dist/client/assets/one-dark-pro-DZNXQIff.js +2 -0
- package/dist/client/assets/one-light-D0m2woYU.js +2 -0
- package/dist/client/assets/one-light-vpvEwBNE.js +2 -0
- package/dist/client/assets/openscad-alCnkqb3.js +2 -0
- package/dist/client/assets/pascal-BzxE7FG0.js +2 -0
- package/dist/client/assets/perl-DMfQlGhS.js +2 -0
- package/dist/client/assets/php-eC0_nfgu.js +2 -0
- package/dist/client/assets/pierre-dark-C8scyjTE.js +2 -0
- package/dist/client/assets/pierre-dark-protanopia-deuteranopia-DjjI5tLG.js +2 -0
- package/dist/client/assets/pierre-dark-soft-U4k3hSAg.js +2 -0
- package/dist/client/assets/pierre-dark-tritanopia-CwldMLve.js +2 -0
- package/dist/client/assets/pierre-dark-vibrant-CbqW77RL.js +2 -0
- package/dist/client/assets/pierre-light-CRazXHrY.js +2 -0
- package/dist/client/assets/pierre-light-protanopia-deuteranopia-C-0-s32M.js +2 -0
- package/dist/client/assets/pierre-light-soft-CeMgeGD-.js +2 -0
- package/dist/client/assets/pierre-light-tritanopia-CwP7kaEp.js +2 -0
- package/dist/client/assets/pierre-light-vibrant-BRw7kdwa.js +2 -0
- package/dist/client/assets/pkl-B_4Y3aQj.js +2 -0
- package/dist/client/assets/plastic-7ebP7j7m.js +2 -0
- package/dist/client/assets/plastic-BxJ4wlPp.js +2 -0
- package/dist/client/assets/plsql-Vnj6O-p2.js +2 -0
- package/dist/client/assets/po-BDEiW-In.js +2 -0
- package/dist/client/assets/poimandres-CjxvpNV1.js +2 -0
- package/dist/client/assets/poimandres-DaajSABO.js +2 -0
- package/dist/client/assets/polar-DkeS43LD.js +2 -0
- package/dist/client/assets/postcss-BdW9ckpW.js +2 -0
- package/dist/client/assets/powerquery-Ck_tTsxM.js +2 -0
- package/dist/client/assets/powershell-CSE_7mny.js +2 -0
- package/dist/client/assets/preload-helper-2nxZ5jlD.js +1 -0
- package/dist/client/assets/prisma-Bo0mLS5-.js +2 -0
- package/dist/client/assets/prolog-BKKH5B6F.js +2 -0
- package/dist/client/assets/proto-CQGfqf21.js +2 -0
- package/dist/client/assets/pug-CdkPd3m5.js +2 -0
- package/dist/client/assets/puppet-CMQRMMTw.js +2 -0
- package/dist/client/assets/purescript-CCcyGQO2.js +2 -0
- package/dist/client/assets/purify.es-BOhOJYGt.js +3 -0
- package/dist/client/assets/python-DMPOlDIf.js +2 -0
- package/dist/client/assets/qml-CjgSvi7A.js +2 -0
- package/dist/client/assets/qmldir-WCdsq__X.js +2 -0
- package/dist/client/assets/qss-AtgwhOez.js +2 -0
- package/dist/client/assets/r-CyfaTtPo.js +2 -0
- package/dist/client/assets/racket-BChN0yKc.js +2 -0
- package/dist/client/assets/raku-y2whvo3i.js +2 -0
- package/dist/client/assets/razor-xg0jlt5d.js +2 -0
- package/dist/client/assets/red-4ASUbyQz.js +2 -0
- package/dist/client/assets/red-FUTSeuNn.js +2 -0
- package/dist/client/assets/reg-Vw5mc10D.js +2 -0
- package/dist/client/assets/regexp-DNjghFOM.js +2 -0
- package/dist/client/assets/rel-B7yBab0H.js +2 -0
- package/dist/client/assets/riscv-CoVA6mXv.js +2 -0
- package/dist/client/assets/rolldown-runtime-BeQ30c1w.js +1 -0
- package/dist/client/assets/ron-Dncoj8f2.js +2 -0
- package/dist/client/assets/rose-pine-BYqQazSr.js +2 -0
- package/dist/client/assets/rose-pine-DKVJldI6.js +2 -0
- package/dist/client/assets/rose-pine-dawn-BzAj1SA_.js +2 -0
- package/dist/client/assets/rose-pine-dawn-DpMWSJny.js +2 -0
- package/dist/client/assets/rose-pine-moon-BF7RtPma.js +2 -0
- package/dist/client/assets/rose-pine-moon-Buv_ZumG.js +2 -0
- package/dist/client/assets/rosmsg-DMM9gQ6F.js +2 -0
- package/dist/client/assets/rst-DUzGXO8S.js +2 -0
- package/dist/client/assets/ruby-rVw1KmtO.js +2 -0
- package/dist/client/assets/rust-Do9fnzCe.js +2 -0
- package/dist/client/assets/sas-DqCEPep6.js +2 -0
- package/dist/client/assets/sass-C-AYCcFv.js +2 -0
- package/dist/client/assets/scala-g1Tl2-Vx.js +2 -0
- package/dist/client/assets/scheme-DMNTmmtl.js +2 -0
- package/dist/client/assets/scss-DUVpCPFS.js +2 -0
- package/dist/client/assets/sdbl-DN-YwBSp.js +2 -0
- package/dist/client/assets/shaderlab-CU1ngQGv.js +2 -0
- package/dist/client/assets/shellscript-DhExEfAl.js +2 -0
- package/dist/client/assets/shellsession-BRLd459R.js +2 -0
- package/dist/client/assets/slack-dark-CHVebfsv.js +2 -0
- package/dist/client/assets/slack-dark-DsHK2SW9.js +2 -0
- package/dist/client/assets/slack-ochin-DLRnnjq1.js +2 -0
- package/dist/client/assets/slack-ochin-auUeui07.js +2 -0
- package/dist/client/assets/smalltalk-DfTqE6NI.js +2 -0
- package/dist/client/assets/snazzy-light-DYCniS15.js +2 -0
- package/dist/client/assets/snazzy-light-DcJ4c2TI.js +2 -0
- package/dist/client/assets/solarized-dark-C2M3A6iX.js +2 -0
- package/dist/client/assets/solarized-dark-f_BlEcC2.js +2 -0
- package/dist/client/assets/solarized-light-DGdaihLk.js +2 -0
- package/dist/client/assets/solarized-light-p0lk9NUw.js +2 -0
- package/dist/client/assets/solidity-UrsYApv4.js +2 -0
- package/dist/client/assets/soy-B2el7XDq.js +2 -0
- package/dist/client/assets/sparql-Ckg9aAAq.js +2 -0
- package/dist/client/assets/splunk-BbdNC7mF.js +2 -0
- package/dist/client/assets/sql-DiDaRjp9.js +2 -0
- package/dist/client/assets/src-pwcrD9wg.js +3 -0
- package/dist/client/assets/ssh-config-NaDpXiNE.js +2 -0
- package/dist/client/assets/stata-C71yNzqX.js +2 -0
- package/dist/client/assets/stylus-BmDWwNjA.js +2 -0
- package/dist/client/assets/surrealql-Cmypmwl2.js +2 -0
- package/dist/client/assets/svelte-VS6niI_T.js +2 -0
- package/dist/client/assets/swift-C69NyPuQ.js +2 -0
- package/dist/client/assets/synthwave-84-2NxBVDLO.js +2 -0
- package/dist/client/assets/synthwave-84-CVwMZOby.js +2 -0
- package/dist/client/assets/system-verilog-DJk0s1jv.js +2 -0
- package/dist/client/assets/systemd-CcQAXEZ9.js +2 -0
- package/dist/client/assets/talonscript-CUGr7vYM.js +2 -0
- package/dist/client/assets/tasl-BB-YNBB8.js +2 -0
- package/dist/client/assets/tcl-DR8-AcmN.js +2 -0
- package/dist/client/assets/templ-Cr4Do0uA.js +2 -0
- package/dist/client/assets/terraform-DS-GC2Bj.js +2 -0
- package/dist/client/assets/tex-CcZtvqzZ.js +2 -0
- package/dist/client/assets/toggle-BBEoD8mr.js +2 -0
- package/dist/client/assets/tokyo-night-9wJEO1G-.js +2 -0
- package/dist/client/assets/tokyo-night-ZUp4Hulo.js +2 -0
- package/dist/client/assets/toml-ByrHRc5Z.js +2 -0
- package/dist/client/assets/transport-B-82Ada5.js +2 -0
- package/dist/client/assets/ts-tags-Dhe4Ce_p.js +2 -0
- package/dist/client/assets/tsv-2A2hWH8i.js +2 -0
- package/dist/client/assets/tsx-rRP2I03K.js +2 -0
- package/dist/client/assets/turtle-BYbwzkhD.js +2 -0
- package/dist/client/assets/twig-DtN4j4nR.js +2 -0
- package/dist/client/assets/typeof-DOAxNSYQ.js +2 -0
- package/dist/client/assets/typescript-tv4fsI1Q.js +2 -0
- package/dist/client/assets/typespec-DoZVUoUi.js +2 -0
- package/dist/client/assets/typst-BmNF0lss.js +2 -0
- package/dist/client/assets/useTriggerFocusGuards-B2i3DSgR.js +2 -0
- package/dist/client/assets/v-CtCN4vLO.js +2 -0
- package/dist/client/assets/vala-DOsY6Y3z.js +2 -0
- package/dist/client/assets/vb-C1Ff9hOT.js +2 -0
- package/dist/client/assets/verilog-Dt4OfjHN.js +2 -0
- package/dist/client/assets/vesper-5ZmhmIun.js +2 -0
- package/dist/client/assets/vesper-J3W-7eep.js +2 -0
- package/dist/client/assets/vhdl-DkoQ3qnl.js +2 -0
- package/dist/client/assets/viml-C3b4aEDf.js +2 -0
- package/dist/client/assets/vitesse-black-CYOC7ssU.js +2 -0
- package/dist/client/assets/vitesse-black-DWaDDoI3.js +2 -0
- package/dist/client/assets/vitesse-dark-Bxewb9U5.js +2 -0
- package/dist/client/assets/vitesse-dark-CZotVzc8.js +2 -0
- package/dist/client/assets/vitesse-light-Bf_msd9a.js +2 -0
- package/dist/client/assets/vitesse-light-BfrRSjRx.js +2 -0
- package/dist/client/assets/vue-C0rWZC13.js +2 -0
- package/dist/client/assets/vue-html-bxw887C2.js +2 -0
- package/dist/client/assets/vue-vine-DUWGjTI5.js +2 -0
- package/dist/client/assets/vyper-BamdcTqV.js +2 -0
- package/dist/client/assets/wasm-C2MLrNQ1.js +2 -0
- package/dist/client/assets/wasm-CGd31VpO.js +2 -0
- package/dist/client/assets/wenyan-BPZ76iog.js +2 -0
- package/dist/client/assets/wgsl-sH_fVDG_.js +2 -0
- package/dist/client/assets/wikitext-BsPo9Czf.js +2 -0
- package/dist/client/assets/wit-BfBhtJwS.js +2 -0
- package/dist/client/assets/wolfram-GL7CPBRD.js +2 -0
- package/dist/client/assets/worker-Cvq2iJN1.js +162 -0
- package/dist/client/assets/workspaceReadinessAtom-DUP5NKsc.js +2 -0
- package/dist/client/assets/xml-C0zxRzgj.js +2 -0
- package/dist/client/assets/xsl-CC403A_G.js +2 -0
- package/dist/client/assets/yaml-BCnsJrvx.js +2 -0
- package/dist/client/assets/zenscript-CmwVE7RW.js +2 -0
- package/dist/client/assets/zig-GtQXM-vf.js +2 -0
- package/dist/client/favicon-16x16.png +0 -0
- package/dist/client/favicon-16x16.png.publish-bak +0 -0
- package/dist/client/favicon-32x32.png +0 -0
- package/dist/client/favicon-32x32.png.publish-bak +0 -0
- package/dist/client/favicon.ico +0 -0
- package/dist/client/favicon.ico.publish-bak +0 -0
- package/dist/client/forge-mark.svg +5 -0
- package/dist/client/index.html +131 -0
- package/dist/client/mockServiceWorker.js +336 -0
- package/dist/client/sidebar/forge-ember-field.webp +0 -0
- package/dist/{esm-wLIF-u3N.mjs → esm-Ce1GqbVk.mjs} +1 -1
- package/dist/{esm-BZhXwX5p.cjs → esm-Do7HVhLA.cjs} +1 -1
- package/dist/{execAsync-DWZyWH-_.mjs → execAsync-BNNdR88o.mjs} +1 -1
- package/dist/{execAsync-jnYVB5RZ.cjs → execAsync-BUcaFQ1D.cjs} +1 -1
- package/dist/forge-provision-display.sh +316 -0
- package/dist/{getMachineId-bsd-BLtyMA4j.cjs → getMachineId-bsd-C_qi9crE.cjs} +3 -3
- package/dist/{getMachineId-bsd-CTjiY7jG.mjs → getMachineId-bsd-FI863wjR.mjs} +3 -3
- package/dist/{getMachineId-darwin-DaGS2zUd.cjs → getMachineId-darwin-BOoNuqXn.cjs} +3 -3
- package/dist/{getMachineId-darwin-BrPuyPOo.mjs → getMachineId-darwin-D9VhTaPM.mjs} +3 -3
- package/dist/{getMachineId-linux-BsP3wJaE.cjs → getMachineId-linux-C9L-vW7m.cjs} +2 -2
- package/dist/{getMachineId-linux-D9QEWWF-.mjs → getMachineId-linux-DE2x36Kt.mjs} +2 -2
- package/dist/{getMachineId-unsupported-Cm-2s4Sg.mjs → getMachineId-unsupported-9S6pcxXb.mjs} +2 -2
- package/dist/{getMachineId-unsupported-B_M-gck7.cjs → getMachineId-unsupported-CmbM8LYa.cjs} +2 -2
- package/dist/{getMachineId-win-qtEKaUYj.mjs → getMachineId-win-0EVRuBxU.mjs} +3 -3
- package/dist/{getMachineId-win-3zJ3HQLG.cjs → getMachineId-win-BPaemVew.cjs} +3 -3
- package/dist/{open-CGXZLos4.cjs → open-BAsPVCWX.cjs} +1 -1
- package/dist/{open-Cf0bgbyx.mjs → open-FIgTDosf.mjs} +1 -1
- package/dist/runtimeBootstrap.cjs +8 -0
- package/dist/runtimeBootstrap.mjs +4 -0
- package/dist/runtimeControlAuthority-L85w5RTn.mjs +535 -0
- package/dist/runtimeControlAuthority-SNBF5Mjy.cjs +601 -0
- package/package.json +28 -30
- package/dist/NodeHttpServer-C7YMYP5R.cjs +0 -616
- package/dist/NodeHttpServer-D5-EtRwc.mjs +0 -605
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Provision the desktop shell that turns Forge's existing X display into a viewable
|
|
3
|
+
# desktop: a window manager, a compositor, panels, fonts and native-input tooling.
|
|
4
|
+
#
|
|
5
|
+
# WHY A SCRIPT AND NOT A SNAPSHOT
|
|
6
|
+
# Sprites checkpoints are per-sprite; there is no cross-sprite golden image
|
|
7
|
+
# (docs/specs/2026-07-30-sprite-lifecycle-and-cloud-architecture-standard.md:78).
|
|
8
|
+
# A checkpoint can only roll one sprite back, so repeatable desktop provisioning has
|
|
9
|
+
# to be re-runnable code. This script is idempotent: run it on every boot.
|
|
10
|
+
#
|
|
11
|
+
# WHAT THIS DOES NOT DO
|
|
12
|
+
# It installs no VNC server and opens no listening port. Production Forge sprites are
|
|
13
|
+
# provisioned url_settings.auth="public", so anything bound to a port on the sprite
|
|
14
|
+
# edge is reachable by anyone who learns the hostname — on a box with passwordless
|
|
15
|
+
# sudo. The desktop is streamed over the ALREADY AUTHENTICATED WebSocket via the
|
|
16
|
+
# existing Xvfb -> ffmpeg x11grab -> WebRTC pipeline instead. See
|
|
17
|
+
# docs/forge-cmmd-auth-lanes.md and .claude/rules/forge-security.md.
|
|
18
|
+
#
|
|
19
|
+
# It also does not start the window manager. Xvfb is owned by
|
|
20
|
+
# WebRtcDisplayCaptureRuntime.ts, so the WM has to be started against that display
|
|
21
|
+
# after it exists; this script only puts the pieces on disk. Pass --print-start to
|
|
22
|
+
# see the exact commands the runtime should spawn.
|
|
23
|
+
set -e
|
|
24
|
+
|
|
25
|
+
FORGE_DISPLAY="${FORGE_BROWSER_WEBRTC_X_DISPLAY:-:99}"
|
|
26
|
+
SCRIPT_DIR="$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd)"
|
|
27
|
+
FORGE_REPO_ROOT="${FORGE_REPO_ROOT:-$(dirname -- "$SCRIPT_DIR")}"
|
|
28
|
+
FORGE_MARK_SOURCE="${FORGE_REPO_ROOT}/assets/prod/forge-web-favicon-32x32.png"
|
|
29
|
+
FORGE_WALLPAPER_SOURCE="${FORGE_REPO_ROOT}/assets/prod/forge-desktop-wallpaper.jpg"
|
|
30
|
+
CONFIG_HOME="${XDG_CONFIG_HOME:-${HOME:-/root}/.config}"
|
|
31
|
+
TINT2_DIR="${CONFIG_HOME}/tint2"
|
|
32
|
+
GTK3_DIR="${CONFIG_HOME}/gtk-3.0"
|
|
33
|
+
PIXMAP_DIR=/usr/share/pixmaps
|
|
34
|
+
WALLPAPER=/usr/share/backgrounds/forge-display.png
|
|
35
|
+
|
|
36
|
+
if command -v sudo >/dev/null 2>&1 && [ "$(id -u)" != "0" ]; then
|
|
37
|
+
SUDO=sudo
|
|
38
|
+
else
|
|
39
|
+
SUDO=
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
log() { echo "[forge-display] $*"; }
|
|
43
|
+
|
|
44
|
+
if [ "${1:-}" = "--print-start" ]; then
|
|
45
|
+
cat <<EOF
|
|
46
|
+
DISPLAY=${FORGE_DISPLAY} openbox --sm-disable
|
|
47
|
+
DISPLAY=${FORGE_DISPLAY} picom --backend xrender --corner-radius 10
|
|
48
|
+
DISPLAY=${FORGE_DISPLAY} tint2 -c ${TINT2_DIR}/forge-top.tint2rc
|
|
49
|
+
DISPLAY=${FORGE_DISPLAY} tint2 -c ${TINT2_DIR}/forge-dock.tint2rc
|
|
50
|
+
DISPLAY=${FORGE_DISPLAY} feh --bg-fill ${WALLPAPER}
|
|
51
|
+
EOF
|
|
52
|
+
exit 0
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
# ---------------------------------------------------------------------------
|
|
56
|
+
# 1. Packages
|
|
57
|
+
#
|
|
58
|
+
# elementary-xfce-icon-theme is NOT cosmetic and must not be dropped to save time.
|
|
59
|
+
# bubblewrap cannot create namespaces inside a sprite ("Unexpected capabilities but
|
|
60
|
+
# not setuid"), and GTK3 delegates SVG icon decoding to a bwrap-sandboxed glycin
|
|
61
|
+
# loader. Every GTK app therefore aborts on Adwaita's SVG icons with
|
|
62
|
+
# "Gtk:ERROR ensure_surface_for_gicon". A raster icon theme sidesteps the SVG path
|
|
63
|
+
# entirely. This is also why a full xfce4-session is not used here: xfce4-panel and
|
|
64
|
+
# wnck still abort (exit 134) even with the raster theme, whereas a plain WM does not.
|
|
65
|
+
# ---------------------------------------------------------------------------
|
|
66
|
+
# xvfb leads the list because it is the one package the pipeline cannot run
|
|
67
|
+
# without. The header above says Xvfb is "owned by
|
|
68
|
+
# WebRtcDisplayCaptureRuntime.ts" — true of STARTING it, but the runtime cannot
|
|
69
|
+
# start a binary that was never installed. Measured on a live sprite 2026-08-21:
|
|
70
|
+
# which Xvfb -> not found ; apt-cache policy xvfb -> Installed: (none)
|
|
71
|
+
#
|
|
72
|
+
# NOTE ON WHERE SPRITES ACTUALLY GET IT: not from here. This script has no
|
|
73
|
+
# caller — sprites are provisioned by CMMD's forge-sprite-browser-runtime.ts,
|
|
74
|
+
# and CMMD PR #4231 is what restores xvfb there. Keeping it in this list anyway
|
|
75
|
+
# so the script matches its own stated purpose if it is ever run by hand or
|
|
76
|
+
# wired up; it is not the production path.
|
|
77
|
+
#
|
|
78
|
+
# ffmpeg is deliberately NOT added: it IS present from the base image
|
|
79
|
+
# (/usr/bin/ffmpeg, verified on the same sprite).
|
|
80
|
+
# ---------------------------------------------------------------------------
|
|
81
|
+
# DOCK APPS — the one place to add an app to the desktop.
|
|
82
|
+
#
|
|
83
|
+
# One line each: "<apt package> <desktop id>". This single table drives BOTH the
|
|
84
|
+
# apt install and the dock launchers, so the two can never disagree. It used to
|
|
85
|
+
# be two hand-maintained lists, and production shipped the failure that invites:
|
|
86
|
+
# the dock advertised google-chrome/xfce4-terminal/thunar/mousepad while none of
|
|
87
|
+
# them were installed, so it rendered as an empty rounded rectangle.
|
|
88
|
+
#
|
|
89
|
+
# To add an app: add one line. Nothing else.
|
|
90
|
+
#
|
|
91
|
+
# Chromium is deliberately absent: Ubuntu 26.04 has no real chromium package (it
|
|
92
|
+
# resolves to a snapd-backed transitional one, unusable under tini with no
|
|
93
|
+
# systemd), so its launcher is synthesised against Playwright's full Chromium —
|
|
94
|
+
# the same build headful capture already requires. See below.
|
|
95
|
+
# ---------------------------------------------------------------------------
|
|
96
|
+
FORGE_DOCK_APPS="
|
|
97
|
+
xfce4-terminal xfce4-terminal
|
|
98
|
+
thunar thunar
|
|
99
|
+
mousepad org.xfce.mousepad
|
|
100
|
+
"
|
|
101
|
+
|
|
102
|
+
FORGE_DOCK_PACKAGES="$(echo "$FORGE_DOCK_APPS" | awk 'NF {print $1}' | tr '\n' ' ')"
|
|
103
|
+
|
|
104
|
+
DISPLAY_PACKAGES="xvfb openbox picom tint2 feh x11-utils xdotool imagemagick elementary-xfce-icon-theme fonts-noto-core librsvg2-common"
|
|
105
|
+
|
|
106
|
+
# ---------------------------------------------------------------------------
|
|
107
|
+
# Wait for the dpkg lock before installing.
|
|
108
|
+
#
|
|
109
|
+
# This script runs inside the sprite's own provisioning, alongside CMMD's apt
|
|
110
|
+
# work. Observed live 2026-08-26 on forge-cmmd-cmmd-core-platform:
|
|
111
|
+
# E: Could not get lock /var/lib/dpkg/lock-frontend.
|
|
112
|
+
# It is held by process 24187 (apt-get)
|
|
113
|
+
# so nothing installed, no configs, no wallpaper — and the caller had redirected
|
|
114
|
+
# output to /dev/null, so the failure was completely silent. Re-running it once
|
|
115
|
+
# the lock freed succeeded immediately: contention, not a broken install.
|
|
116
|
+
#
|
|
117
|
+
# Handled HERE rather than in the caller because this script owns the apt call.
|
|
118
|
+
# Every caller benefits and none has to know the lock exists.
|
|
119
|
+
#
|
|
120
|
+
# BOUNDED. A desktop is cosmetic and must never hold a sprite's provisioning
|
|
121
|
+
# open; if the lock is still held after the wait, fall through and let apt fail
|
|
122
|
+
# loudly rather than hang.
|
|
123
|
+
# ---------------------------------------------------------------------------
|
|
124
|
+
wait_for_dpkg_lock() {
|
|
125
|
+
for _ in $(seq 1 60); do
|
|
126
|
+
if command -v fuser >/dev/null 2>&1; then
|
|
127
|
+
fuser /var/lib/dpkg/lock-frontend >/dev/null 2>&1 || return 0
|
|
128
|
+
else
|
|
129
|
+
return 0
|
|
130
|
+
fi
|
|
131
|
+
sleep 5
|
|
132
|
+
done
|
|
133
|
+
log "dpkg lock still held after 300s; proceeding and letting apt report it"
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if command -v apt-get >/dev/null 2>&1; then
|
|
137
|
+
wait_for_dpkg_lock
|
|
138
|
+
log "installing desktop packages"
|
|
139
|
+
DEBIAN_FRONTEND=noninteractive $SUDO apt-get update -y >/dev/null
|
|
140
|
+
# shellcheck disable=SC2086 # word splitting is the intended package list expansion
|
|
141
|
+
DEBIAN_FRONTEND=noninteractive $SUDO apt-get install -y --no-install-recommends $DISPLAY_PACKAGES $FORGE_DOCK_PACKAGES >/dev/null
|
|
142
|
+
else
|
|
143
|
+
log "apt-get unavailable; skipping package install (expects a prebuilt image)"
|
|
144
|
+
fi
|
|
145
|
+
|
|
146
|
+
# ---------------------------------------------------------------------------
|
|
147
|
+
# 2. GTK icon theme
|
|
148
|
+
#
|
|
149
|
+
# Pin the raster theme so GTK never reaches for the sandboxed SVG loader. Written
|
|
150
|
+
# per-user rather than system-wide so it travels with $HOME.
|
|
151
|
+
# ---------------------------------------------------------------------------
|
|
152
|
+
mkdir -p "$GTK3_DIR"
|
|
153
|
+
cat > "${GTK3_DIR}/settings.ini" <<'EOF'
|
|
154
|
+
[Settings]
|
|
155
|
+
gtk-icon-theme-name=elementary-xfce-dark
|
|
156
|
+
gtk-application-prefer-dark-theme=1
|
|
157
|
+
EOF
|
|
158
|
+
|
|
159
|
+
# ---------------------------------------------------------------------------
|
|
160
|
+
# 3. Brand assets
|
|
161
|
+
#
|
|
162
|
+
# The mark is the same production favicon the web app ships, copied from the repo
|
|
163
|
+
# rather than re-encoded, so the desktop and the product cannot drift apart.
|
|
164
|
+
# ---------------------------------------------------------------------------
|
|
165
|
+
$SUDO mkdir -p "$PIXMAP_DIR" "$(dirname "$WALLPAPER")"
|
|
166
|
+
|
|
167
|
+
if [ -f "$FORGE_MARK_SOURCE" ]; then
|
|
168
|
+
$SUDO cp "$FORGE_MARK_SOURCE" "${PIXMAP_DIR}/forge.png"
|
|
169
|
+
if command -v convert >/dev/null 2>&1; then
|
|
170
|
+
$SUDO convert "${PIXMAP_DIR}/forge.png" -resize 22x22 "${PIXMAP_DIR}/forge-bar.png"
|
|
171
|
+
else
|
|
172
|
+
$SUDO cp "${PIXMAP_DIR}/forge.png" "${PIXMAP_DIR}/forge-bar.png"
|
|
173
|
+
fi
|
|
174
|
+
else
|
|
175
|
+
log "forge mark not found at ${FORGE_MARK_SOURCE}; top bar will render without it"
|
|
176
|
+
fi
|
|
177
|
+
|
|
178
|
+
# The shipped wallpaper: blackened hammered steel with a Forge-orange ember
|
|
179
|
+
# bleeding from the lower centre, generated once and committed rather than
|
|
180
|
+
# synthesised per boot. Measured 16.4/255 mean luminance — dark enough that
|
|
181
|
+
# white panel text and app icons stay legible on top, which a brighter image
|
|
182
|
+
# would quietly ruin.
|
|
183
|
+
#
|
|
184
|
+
# The radial gradient stays as a FALLBACK, not as the design: this script must
|
|
185
|
+
# still produce a usable desktop when run against a tree that predates the
|
|
186
|
+
# asset, or one where it was stripped.
|
|
187
|
+
if [ -f "$FORGE_WALLPAPER_SOURCE" ]; then
|
|
188
|
+
$SUDO cp "$FORGE_WALLPAPER_SOURCE" "$WALLPAPER"
|
|
189
|
+
elif command -v convert >/dev/null 2>&1 && [ ! -f "$WALLPAPER" ]; then
|
|
190
|
+
log "shipped wallpaper missing; falling back to a generated gradient"
|
|
191
|
+
$SUDO convert -size 1920x1200 radial-gradient:'#2A3566'-'#07070B' "$WALLPAPER"
|
|
192
|
+
fi
|
|
193
|
+
|
|
194
|
+
$SUDO tee /usr/share/applications/forge-display-brand.desktop >/dev/null <<EOF
|
|
195
|
+
[Desktop Entry]
|
|
196
|
+
Version=1.0
|
|
197
|
+
Name=Forge
|
|
198
|
+
Exec=/bin/true
|
|
199
|
+
Terminal=false
|
|
200
|
+
Icon=${PIXMAP_DIR}/forge-bar.png
|
|
201
|
+
Type=Application
|
|
202
|
+
Categories=Development;
|
|
203
|
+
EOF
|
|
204
|
+
|
|
205
|
+
# ---------------------------------------------------------------------------
|
|
206
|
+
# 4. Panels
|
|
207
|
+
#
|
|
208
|
+
# Two tint2 instances: a full-width top bar carrying the Forge mark and a clock,
|
|
209
|
+
# and a fixed-width bottom dock. The dock width is explicit on purpose — with
|
|
210
|
+
# `panel_size = 0 <h>` tint2 paints the full monitor width, so "center" has no
|
|
211
|
+
# visible effect and the dock reads as a full-width bar.
|
|
212
|
+
# ---------------------------------------------------------------------------
|
|
213
|
+
mkdir -p "$TINT2_DIR"
|
|
214
|
+
|
|
215
|
+
cat > "${TINT2_DIR}/forge-top.tint2rc" <<EOF
|
|
216
|
+
rounded = 0
|
|
217
|
+
border_width = 0
|
|
218
|
+
background_color = #0B0D14 78
|
|
219
|
+
border_color = #000000 0
|
|
220
|
+
|
|
221
|
+
panel_items = LFC
|
|
222
|
+
panel_position = top center horizontal
|
|
223
|
+
panel_size = 100% 30
|
|
224
|
+
panel_margin = 0 0
|
|
225
|
+
panel_padding = 0 0 0
|
|
226
|
+
panel_background_id = 1
|
|
227
|
+
panel_layer = top
|
|
228
|
+
panel_monitor = all
|
|
229
|
+
wm_menu = 0
|
|
230
|
+
autohide = 0
|
|
231
|
+
strut_policy = none
|
|
232
|
+
|
|
233
|
+
launcher_padding = 12 0 8
|
|
234
|
+
launcher_background_id = 0
|
|
235
|
+
launcher_icon_size = 20
|
|
236
|
+
launcher_tooltip = 1
|
|
237
|
+
launcher_item_app = /usr/share/applications/forge-display-brand.desktop
|
|
238
|
+
|
|
239
|
+
time1_format = %a %b %-d %-I:%M %p
|
|
240
|
+
time1_font = Noto Sans 11
|
|
241
|
+
clock_font_color = #FFFFFF 92
|
|
242
|
+
clock_padding = 16 0
|
|
243
|
+
clock_background_id = 0
|
|
244
|
+
EOF
|
|
245
|
+
|
|
246
|
+
cat > "${TINT2_DIR}/forge-dock.tint2rc" <<'EOF'
|
|
247
|
+
rounded = 18
|
|
248
|
+
border_width = 1
|
|
249
|
+
background_color = #141826 82
|
|
250
|
+
border_color = #FFFFFF 14
|
|
251
|
+
|
|
252
|
+
panel_items = L
|
|
253
|
+
panel_position = bottom center horizontal
|
|
254
|
+
panel_size = 252 66
|
|
255
|
+
panel_margin = 0 14
|
|
256
|
+
panel_padding = 12 6 14
|
|
257
|
+
panel_background_id = 1
|
|
258
|
+
panel_layer = top
|
|
259
|
+
panel_monitor = all
|
|
260
|
+
wm_menu = 0
|
|
261
|
+
autohide = 0
|
|
262
|
+
strut_policy = none
|
|
263
|
+
|
|
264
|
+
launcher_padding = 6 0 12
|
|
265
|
+
launcher_background_id = 0
|
|
266
|
+
launcher_icon_size = 42
|
|
267
|
+
launcher_icon_theme = elementary-xfce-dark
|
|
268
|
+
launcher_tooltip = 1
|
|
269
|
+
EOF
|
|
270
|
+
|
|
271
|
+
# ---------------------------------------------------------------------------
|
|
272
|
+
# 5. Dock launchers
|
|
273
|
+
#
|
|
274
|
+
# A browser first, because it is the app a desktop is opened for. Ubuntu 26.04
|
|
275
|
+
# has no usable chromium package, so the entry is synthesised against
|
|
276
|
+
# Playwright's FULL Chromium — already on the sprite because headful capture
|
|
277
|
+
# requires it. Resolved at provision time; if the build is absent the entry is
|
|
278
|
+
# skipped and the dock simply has one fewer tile.
|
|
279
|
+
# ---------------------------------------------------------------------------
|
|
280
|
+
CHROMIUM_BIN="$(ls -d "${HOME:-/root}"/.cache/ms-playwright/chromium-*/chrome-linux64/chrome 2>/dev/null | head -1)"
|
|
281
|
+
if [ -n "$CHROMIUM_BIN" ]; then
|
|
282
|
+
# Its OWN artwork, shipped beside the binary. A bare "chromium" icon NAME
|
|
283
|
+
# resolves to nothing here — chromium is not an installed package, so the theme
|
|
284
|
+
# has no entry for it and the dock fell back to a generic gear. Prefer the real
|
|
285
|
+
# logo; fall back to the freedesktop name the icon theme does carry.
|
|
286
|
+
CHROMIUM_LOGO="$(dirname "$CHROMIUM_BIN")/product_logo_48.png"
|
|
287
|
+
if [ -f "$CHROMIUM_LOGO" ]; then
|
|
288
|
+
CHROMIUM_ICON="$CHROMIUM_LOGO"
|
|
289
|
+
else
|
|
290
|
+
CHROMIUM_ICON=web-browser
|
|
291
|
+
fi
|
|
292
|
+
$SUDO tee /usr/share/applications/forge-chromium.desktop >/dev/null <<EOF
|
|
293
|
+
[Desktop Entry]
|
|
294
|
+
Version=1.0
|
|
295
|
+
Name=Chromium
|
|
296
|
+
Exec=${CHROMIUM_BIN} %U
|
|
297
|
+
Terminal=false
|
|
298
|
+
Icon=${CHROMIUM_ICON}
|
|
299
|
+
Type=Application
|
|
300
|
+
Categories=Network;WebBrowser;
|
|
301
|
+
EOF
|
|
302
|
+
echo "launcher_item_app = /usr/share/applications/forge-chromium.desktop" \
|
|
303
|
+
>> "${TINT2_DIR}/forge-dock.tint2rc"
|
|
304
|
+
else
|
|
305
|
+
log "playwright chromium not found; dock will render without a browser"
|
|
306
|
+
fi
|
|
307
|
+
|
|
308
|
+
# Then the table. Only advertise launchers whose .desktop file actually exists,
|
|
309
|
+
# so a package that failed to install leaves no broken tile behind.
|
|
310
|
+
echo "$FORGE_DOCK_APPS" | awk 'NF {print $2}' | while read -r app; do
|
|
311
|
+
entry="/usr/share/applications/${app}.desktop"
|
|
312
|
+
[ -f "$entry" ] && echo "launcher_item_app = ${entry}" >> "${TINT2_DIR}/forge-dock.tint2rc"
|
|
313
|
+
done
|
|
314
|
+
|
|
315
|
+
log "provisioned display shell for ${FORGE_DISPLAY}"
|
|
316
|
+
log "start commands: $0 --print-start"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
const require_chunk = require("./chunk-BhaIgcZK.cjs");
|
|
4
|
-
const require_esm = require("./esm-
|
|
5
|
-
const require_execAsync$1 = require("./execAsync-
|
|
4
|
+
const require_esm = require("./esm-Do7HVhLA.cjs");
|
|
5
|
+
const require_execAsync$1 = require("./execAsync-BUcaFQ1D.cjs");
|
|
6
6
|
//#region ../../node_modules/.bun/@opentelemetry+resources@2.10.0+e40b0dfdd726a224/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-bsd.js
|
|
7
7
|
var require_getMachineId_bsd = /* @__PURE__ */ require_chunk.__commonJSMin(((exports) => {
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -32,4 +32,4 @@ Object.defineProperty(exports, "default", {
|
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
-
//# sourceMappingURL=getMachineId-bsd-
|
|
35
|
+
//# sourceMappingURL=getMachineId-bsd-C_qi9crE.cjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { a as __toCommonJS, i as __require, t as __commonJSMin } from "./chunk-C5ckVeoz.mjs";
|
|
4
|
-
import { n as init_esm, t as esm_exports } from "./esm-
|
|
5
|
-
import { t as require_execAsync } from "./execAsync-
|
|
4
|
+
import { n as init_esm, t as esm_exports } from "./esm-Ce1GqbVk.mjs";
|
|
5
|
+
import { t as require_execAsync } from "./execAsync-BNNdR88o.mjs";
|
|
6
6
|
//#region ../../node_modules/.bun/@opentelemetry+resources@2.10.0+e40b0dfdd726a224/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-bsd.js
|
|
7
7
|
var require_getMachineId_bsd = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -28,4 +28,4 @@ var require_getMachineId_bsd = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
28
28
|
export default require_getMachineId_bsd();
|
|
29
29
|
export {};
|
|
30
30
|
|
|
31
|
-
//# sourceMappingURL=getMachineId-bsd-
|
|
31
|
+
//# sourceMappingURL=getMachineId-bsd-FI863wjR.mjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
const require_chunk = require("./chunk-BhaIgcZK.cjs");
|
|
4
|
-
const require_esm = require("./esm-
|
|
5
|
-
const require_execAsync$1 = require("./execAsync-
|
|
4
|
+
const require_esm = require("./esm-Do7HVhLA.cjs");
|
|
5
|
+
const require_execAsync$1 = require("./execAsync-BUcaFQ1D.cjs");
|
|
6
6
|
//#region ../../node_modules/.bun/@opentelemetry+resources@2.10.0+e40b0dfdd726a224/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-darwin.js
|
|
7
7
|
var require_getMachineId_darwin = /* @__PURE__ */ require_chunk.__commonJSMin(((exports) => {
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -29,4 +29,4 @@ Object.defineProperty(exports, "default", {
|
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
31
|
|
|
32
|
-
//# sourceMappingURL=getMachineId-darwin-
|
|
32
|
+
//# sourceMappingURL=getMachineId-darwin-BOoNuqXn.cjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { a as __toCommonJS, t as __commonJSMin } from "./chunk-C5ckVeoz.mjs";
|
|
4
|
-
import { n as init_esm, t as esm_exports } from "./esm-
|
|
5
|
-
import { t as require_execAsync } from "./execAsync-
|
|
4
|
+
import { n as init_esm, t as esm_exports } from "./esm-Ce1GqbVk.mjs";
|
|
5
|
+
import { t as require_execAsync } from "./execAsync-BNNdR88o.mjs";
|
|
6
6
|
//#region ../../node_modules/.bun/@opentelemetry+resources@2.10.0+e40b0dfdd726a224/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-darwin.js
|
|
7
7
|
var require_getMachineId_darwin = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -25,4 +25,4 @@ var require_getMachineId_darwin = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
25
25
|
export default require_getMachineId_darwin();
|
|
26
26
|
export {};
|
|
27
27
|
|
|
28
|
-
//# sourceMappingURL=getMachineId-darwin-
|
|
28
|
+
//# sourceMappingURL=getMachineId-darwin-D9VhTaPM.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
const require_chunk = require("./chunk-BhaIgcZK.cjs");
|
|
4
|
-
const require_esm = require("./esm-
|
|
4
|
+
const require_esm = require("./esm-Do7HVhLA.cjs");
|
|
5
5
|
//#region ../../node_modules/.bun/@opentelemetry+resources@2.10.0+e40b0dfdd726a224/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-linux.js
|
|
6
6
|
var require_getMachineId_linux = /* @__PURE__ */ require_chunk.__commonJSMin(((exports) => {
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -25,4 +25,4 @@ Object.defineProperty(exports, "default", {
|
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
|
|
28
|
-
//# sourceMappingURL=getMachineId-linux-
|
|
28
|
+
//# sourceMappingURL=getMachineId-linux-C9L-vW7m.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { a as __toCommonJS, i as __require, t as __commonJSMin } from "./chunk-C5ckVeoz.mjs";
|
|
4
|
-
import { n as init_esm, t as esm_exports } from "./esm-
|
|
4
|
+
import { n as init_esm, t as esm_exports } from "./esm-Ce1GqbVk.mjs";
|
|
5
5
|
//#region ../../node_modules/.bun/@opentelemetry+resources@2.10.0+e40b0dfdd726a224/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-linux.js
|
|
6
6
|
var require_getMachineId_linux = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -21,4 +21,4 @@ var require_getMachineId_linux = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
21
21
|
export default require_getMachineId_linux();
|
|
22
22
|
export {};
|
|
23
23
|
|
|
24
|
-
//# sourceMappingURL=getMachineId-linux-
|
|
24
|
+
//# sourceMappingURL=getMachineId-linux-DE2x36Kt.mjs.map
|
package/dist/{getMachineId-unsupported-Cm-2s4Sg.mjs → getMachineId-unsupported-9S6pcxXb.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { a as __toCommonJS, t as __commonJSMin } from "./chunk-C5ckVeoz.mjs";
|
|
4
|
-
import { n as init_esm, t as esm_exports } from "./esm-
|
|
4
|
+
import { n as init_esm, t as esm_exports } from "./esm-Ce1GqbVk.mjs";
|
|
5
5
|
//#region ../../node_modules/.bun/@opentelemetry+resources@2.10.0+e40b0dfdd726a224/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-unsupported.js
|
|
6
6
|
var require_getMachineId_unsupported = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -16,4 +16,4 @@ var require_getMachineId_unsupported = /* @__PURE__ */ __commonJSMin(((exports)
|
|
|
16
16
|
export default require_getMachineId_unsupported();
|
|
17
17
|
export {};
|
|
18
18
|
|
|
19
|
-
//# sourceMappingURL=getMachineId-unsupported-
|
|
19
|
+
//# sourceMappingURL=getMachineId-unsupported-9S6pcxXb.mjs.map
|
package/dist/{getMachineId-unsupported-B_M-gck7.cjs → getMachineId-unsupported-CmbM8LYa.cjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
const require_chunk = require("./chunk-BhaIgcZK.cjs");
|
|
4
|
-
const require_esm = require("./esm-
|
|
4
|
+
const require_esm = require("./esm-Do7HVhLA.cjs");
|
|
5
5
|
//#region ../../node_modules/.bun/@opentelemetry+resources@2.10.0+e40b0dfdd726a224/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-unsupported.js
|
|
6
6
|
var require_getMachineId_unsupported = /* @__PURE__ */ require_chunk.__commonJSMin(((exports) => {
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -20,4 +20,4 @@ Object.defineProperty(exports, "default", {
|
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
22
|
|
|
23
|
-
//# sourceMappingURL=getMachineId-unsupported-
|
|
23
|
+
//# sourceMappingURL=getMachineId-unsupported-CmbM8LYa.cjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { a as __toCommonJS, i as __require, t as __commonJSMin } from "./chunk-C5ckVeoz.mjs";
|
|
4
|
-
import { n as init_esm, t as esm_exports } from "./esm-
|
|
5
|
-
import { t as require_execAsync } from "./execAsync-
|
|
4
|
+
import { n as init_esm, t as esm_exports } from "./esm-Ce1GqbVk.mjs";
|
|
5
|
+
import { t as require_execAsync } from "./execAsync-BNNdR88o.mjs";
|
|
6
6
|
//#region ../../node_modules/.bun/@opentelemetry+resources@2.10.0+e40b0dfdd726a224/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-win.js
|
|
7
7
|
var require_getMachineId_win = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -27,4 +27,4 @@ var require_getMachineId_win = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
27
27
|
export default require_getMachineId_win();
|
|
28
28
|
export {};
|
|
29
29
|
|
|
30
|
-
//# sourceMappingURL=getMachineId-win-
|
|
30
|
+
//# sourceMappingURL=getMachineId-win-0EVRuBxU.mjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
const require_chunk = require("./chunk-BhaIgcZK.cjs");
|
|
4
|
-
const require_esm = require("./esm-
|
|
5
|
-
const require_execAsync$1 = require("./execAsync-
|
|
4
|
+
const require_esm = require("./esm-Do7HVhLA.cjs");
|
|
5
|
+
const require_execAsync$1 = require("./execAsync-BUcaFQ1D.cjs");
|
|
6
6
|
//#region ../../node_modules/.bun/@opentelemetry+resources@2.10.0+e40b0dfdd726a224/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-win.js
|
|
7
7
|
var require_getMachineId_win = /* @__PURE__ */ require_chunk.__commonJSMin(((exports) => {
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -31,4 +31,4 @@ Object.defineProperty(exports, "default", {
|
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
-
//# sourceMappingURL=getMachineId-win-
|
|
34
|
+
//# sourceMappingURL=getMachineId-win-BPaemVew.cjs.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
+
require("./chunk-BhaIgcZK.cjs");
|
|
5
|
+
const require_runtimeControlAuthority = require("./runtimeControlAuthority-SNBF5Mjy.cjs");
|
|
6
|
+
exports.bootstrapRuntimeControlAuthorityFromNarrowGrant = require_runtimeControlAuthority.bootstrapRuntimeControlAuthorityFromNarrowGrant;
|
|
7
|
+
exports.setRuntimeGrantToken = require_runtimeControlAuthority.setRuntimeGrantToken;
|
|
8
|
+
exports.verifyCmmdRuntimeTicket = require_runtimeControlAuthority.verifyCmmdRuntimeTicket;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { n as bootstrapRuntimeControlAuthorityFromNarrowGrant, s as verifyCmmdRuntimeTicket, u as setRuntimeGrantToken } from "./runtimeControlAuthority-L85w5RTn.mjs";
|
|
4
|
+
export { bootstrapRuntimeControlAuthorityFromNarrowGrant, setRuntimeGrantToken, verifyCmmdRuntimeTicket };
|