codex-deck 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +334 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +12992 -0
- package/dist/web/assets/abap-B7h4dtBh.js +7 -0
- package/dist/web/assets/actionscript-3-DtnkuHN2.js +7 -0
- package/dist/web/assets/ada-BZS802Se.js +7 -0
- package/dist/web/assets/andromeeda-C847lm7Z.js +4 -0
- package/dist/web/assets/angular-html-BJCWRjqJ.js +42 -0
- package/dist/web/assets/angular-ts-DY2SSsMH.js +29 -0
- package/dist/web/assets/apache-D4roVlsU.js +7 -0
- package/dist/web/assets/apex-B-mI3Md2.js +7 -0
- package/dist/web/assets/apl-DaBQFEEA.js +18 -0
- package/dist/web/assets/applescript-C43Knf0G.js +7 -0
- package/dist/web/assets/ara-DRBH84ND.js +7 -0
- package/dist/web/assets/asciidoc-CT8_dLUs.js +7 -0
- package/dist/web/assets/asm-3tg4MVib.js +7 -0
- package/dist/web/assets/astro-y3sdhPpl.js +19 -0
- package/dist/web/assets/aurora-x-wJ4-eM2h.js +4 -0
- package/dist/web/assets/awk-ChreaG-G.js +7 -0
- package/dist/web/assets/ayu-dark-rtpbXCNg.js +4 -0
- package/dist/web/assets/ayu-light-BCZDSyV8.js +4 -0
- package/dist/web/assets/ayu-mirage-BVoH71sA.js +4 -0
- package/dist/web/assets/ballerina-B0yt0TYU.js +7 -0
- package/dist/web/assets/bat-BzNgQIA7.js +7 -0
- package/dist/web/assets/beancount-aZWrE5WV.js +7 -0
- package/dist/web/assets/berry--Qc8OslH.js +7 -0
- package/dist/web/assets/bibtex-BLeFwAes.js +7 -0
- package/dist/web/assets/bicep-DbBeGdXQ.js +7 -0
- package/dist/web/assets/bird2-BQeaUJ-I.js +7 -0
- package/dist/web/assets/blade-DqHcAoBH.js +22 -0
- package/dist/web/assets/bsl-DwPS0BId.js +9 -0
- package/dist/web/assets/c-C4VtT7JA.js +7 -0
- package/dist/web/assets/c3-CWHczQMq.js +7 -0
- package/dist/web/assets/cadence-S_NtR5Dy.js +7 -0
- package/dist/web/assets/cairo-BtYx2aM5.js +9 -0
- package/dist/web/assets/catppuccin-frappe-C21OPQfC.js +4 -0
- package/dist/web/assets/catppuccin-latte-0ZtXlsrX.js +4 -0
- package/dist/web/assets/catppuccin-macchiato-BD_FR4sl.js +4 -0
- package/dist/web/assets/catppuccin-mocha-C653csR5.js +4 -0
- package/dist/web/assets/clarity-D2ViJC0i.js +7 -0
- package/dist/web/assets/clojure-C_G4_w5x.js +7 -0
- package/dist/web/assets/cmake-CDfQILeU.js +7 -0
- package/dist/web/assets/cobol-Cff68WIy.js +13 -0
- package/dist/web/assets/codeowners-awy7PWCD.js +7 -0
- package/dist/web/assets/codeql-lfK8ppuq.js +7 -0
- package/dist/web/assets/coffee-XLjtuEYs.js +9 -0
- package/dist/web/assets/common-lisp-DAq1kaby.js +7 -0
- package/dist/web/assets/coq-l_JvzFJl.js +7 -0
- package/dist/web/assets/cpp-zh2ePAE_.js +22 -0
- package/dist/web/assets/crystal-CvL4STjm.js +19 -0
- package/dist/web/assets/csharp-DxX_6tHh.js +7 -0
- package/dist/web/assets/css-DfTYai-u.js +7 -0
- package/dist/web/assets/csv-Ba84L8e5.js +7 -0
- package/dist/web/assets/cue-BFSVLV6N.js +7 -0
- package/dist/web/assets/cypher-DbUmWIxC.js +7 -0
- package/dist/web/assets/d-9qSZPw74.js +7 -0
- package/dist/web/assets/dark-plus-DmZ1Dzd4.js +4 -0
- package/dist/web/assets/dart-BNVTaiA9.js +7 -0
- package/dist/web/assets/dax-CvsmLV-B.js +7 -0
- package/dist/web/assets/desktop-_xiGZ9X1.js +7 -0
- package/dist/web/assets/diff-BEdzuHlE.js +7 -0
- package/dist/web/assets/docker-CUaLOm2I.js +7 -0
- package/dist/web/assets/dotenv-Bb4iNxXK.js +7 -0
- package/dist/web/assets/dracula-B8-AVrwI.js +4 -0
- package/dist/web/assets/dracula-soft-BHeefow7.js +4 -0
- package/dist/web/assets/dream-maker-CNLQpoF-.js +7 -0
- package/dist/web/assets/edge-Bt6vbpjM.js +15 -0
- package/dist/web/assets/elixir-Cuo0djbX.js +11 -0
- package/dist/web/assets/elm-BlO7pcFp.js +10 -0
- package/dist/web/assets/emacs-lisp-DbZW1X_J.js +7 -0
- package/dist/web/assets/erb-Dh6-byy2.js +28 -0
- package/dist/web/assets/erlang-Ch5kuXHm.js +9 -0
- package/dist/web/assets/everforest-dark-Cg1xdODP.js +4 -0
- package/dist/web/assets/everforest-light-BmTD3bxe.js +4 -0
- package/dist/web/assets/fennel-BTELNkeT.js +7 -0
- package/dist/web/assets/fish-kGF2-4SL.js +7 -0
- package/dist/web/assets/fluent-YyC28MRr.js +7 -0
- package/dist/web/assets/fortran-fixed-form-CpmOyvS5.js +9 -0
- package/dist/web/assets/fortran-free-form-5X94ETMi.js +7 -0
- package/dist/web/assets/fsharp-5vtGqRR9.js +9 -0
- package/dist/web/assets/gdresource-B5TLWiFO.js +11 -0
- package/dist/web/assets/gdscript-CNW3Aj-d.js +7 -0
- package/dist/web/assets/gdshader-BEzE4j_3.js +7 -0
- package/dist/web/assets/genie-BvhtM5Ga.js +7 -0
- package/dist/web/assets/gherkin-xCNF9gh8.js +7 -0
- package/dist/web/assets/git-commit-PP9xCApN.js +9 -0
- package/dist/web/assets/git-rebase-D-XQSvDj.js +9 -0
- package/dist/web/assets/github-dark-O22yVQaY.js +4 -0
- package/dist/web/assets/github-dark-default-DB2Hkvqn.js +4 -0
- package/dist/web/assets/github-dark-dimmed-CMZ_OfqC.js +4 -0
- package/dist/web/assets/github-dark-high-contrast-DmxWVmCU.js +4 -0
- package/dist/web/assets/github-light-BTbR9xVK.js +4 -0
- package/dist/web/assets/github-light-default-DWEonwFe.js +4 -0
- package/dist/web/assets/github-light-high-contrast-WJ_cPDts.js +4 -0
- package/dist/web/assets/gleam-LmNxrMsN.js +7 -0
- package/dist/web/assets/glimmer-js-DG20vYlC.js +15 -0
- package/dist/web/assets/glimmer-ts-C6w_4QSb.js +15 -0
- package/dist/web/assets/glsl-CGsiYPcu.js +9 -0
- package/dist/web/assets/gn-OUMx7fqt.js +7 -0
- package/dist/web/assets/gnuplot-tV8vezdE.js +7 -0
- package/dist/web/assets/go-C6Lhu6vW.js +7 -0
- package/dist/web/assets/graphql-CwmtR1ib.js +15 -0
- package/dist/web/assets/groovy-Bn4MhXgW.js +7 -0
- package/dist/web/assets/gruvbox-dark-hard-DVsRsETr.js +4 -0
- package/dist/web/assets/gruvbox-dark-medium-B5JBrQdg.js +4 -0
- package/dist/web/assets/gruvbox-dark-soft-Db-YOqRx.js +4 -0
- package/dist/web/assets/gruvbox-light-hard-CXzJt7DI.js +4 -0
- package/dist/web/assets/gruvbox-light-medium-B89RAI1Y.js +4 -0
- package/dist/web/assets/gruvbox-light-soft-Cs0hTZYv.js +4 -0
- package/dist/web/assets/hack-C71iyDrV.js +13 -0
- package/dist/web/assets/haml-DlpJLJBj.js +11 -0
- package/dist/web/assets/handlebars-DCI1Liu6.js +15 -0
- package/dist/web/assets/haskell-CzPS7wjM.js +7 -0
- package/dist/web/assets/haxe-BpobLYM9.js +7 -0
- package/dist/web/assets/hcl-axoq0Ycu.js +7 -0
- package/dist/web/assets/hjson-I7LcauIB.js +7 -0
- package/dist/web/assets/hlsl-TRzjajlb.js +7 -0
- package/dist/web/assets/horizon-DWzh3z5C.js +4 -0
- package/dist/web/assets/horizon-bright-BJQsV5UY.js +4 -0
- package/dist/web/assets/houston-CF_ws8Cq.js +4 -0
- package/dist/web/assets/html-DmbcFRC9.js +11 -0
- package/dist/web/assets/html-derivative-hBF5i0yR.js +11 -0
- package/dist/web/assets/http-DjsOm9E4.js +20 -0
- package/dist/web/assets/hurl-Am2cDU4f.js +18 -0
- package/dist/web/assets/hxml-Jle7oGdm.js +9 -0
- package/dist/web/assets/hy-B1k9U6S8.js +7 -0
- package/dist/web/assets/imba-C4923lSV.js +7 -0
- package/dist/web/assets/index-ZGr5gMFd.css +6061 -0
- package/dist/web/assets/index-dQYfgBWB.js +92556 -0
- package/dist/web/assets/ini-B84Ha1bx.js +7 -0
- package/dist/web/assets/java-BfXh-0uJ.js +7 -0
- package/dist/web/assets/javascript-BsAkV7mL.js +7 -0
- package/dist/web/assets/jinja-Co0rsagz.js +16 -0
- package/dist/web/assets/jison-BkdOIOd4.js +9 -0
- package/dist/web/assets/json-TjWBGEk1.js +7 -0
- package/dist/web/assets/json5-DCGCKrmX.js +7 -0
- package/dist/web/assets/jsonc-DLVLp8id.js +7 -0
- package/dist/web/assets/jsonl-B-R_pDGg.js +7 -0
- package/dist/web/assets/jsonnet-Cs8BnnC6.js +7 -0
- package/dist/web/assets/jssm-DDuANZ2u.js +7 -0
- package/dist/web/assets/jsx-BPmvoin2.js +7 -0
- package/dist/web/assets/julia-CU_UwNb8.js +20 -0
- package/dist/web/assets/just-BGwWXknx.js +34 -0
- package/dist/web/assets/kanagawa-dragon-DU8n2NNT.js +4 -0
- package/dist/web/assets/kanagawa-lotus-Byd0CDet.js +4 -0
- package/dist/web/assets/kanagawa-wave-DExoagcR.js +4 -0
- package/dist/web/assets/kdl-DzNQTDs7.js +7 -0
- package/dist/web/assets/kotlin-BM2ZNTMh.js +7 -0
- package/dist/web/assets/kusto-CIGMwqN_.js +7 -0
- package/dist/web/assets/laserwave-DF03wMlf.js +4 -0
- package/dist/web/assets/latex-B0gTO9uZ.js +10 -0
- package/dist/web/assets/lean-CTow-IzD.js +7 -0
- package/dist/web/assets/less-BAzLMJNR.js +7 -0
- package/dist/web/assets/light-plus-DS08Xg5J.js +4 -0
- package/dist/web/assets/liquid-CRPVOqng.js +15 -0
- package/dist/web/assets/llvm-CTKcAHbb.js +7 -0
- package/dist/web/assets/log-BF22rfM9.js +7 -0
- package/dist/web/assets/logo-D9l7oEJ8.js +7 -0
- package/dist/web/assets/lua-BVbbqwZC.js +9 -0
- package/dist/web/assets/luau-CdZ6BoEa.js +7 -0
- package/dist/web/assets/make-DLtqaK4D.js +7 -0
- package/dist/web/assets/markdown-F_EULe_G.js +7 -0
- package/dist/web/assets/marko-CIEVFCDi.js +15 -0
- package/dist/web/assets/material-theme-B8B2U48Q.js +4 -0
- package/dist/web/assets/material-theme-darker-BV0iY_T3.js +4 -0
- package/dist/web/assets/material-theme-lighter-DrzybSTF.js +4 -0
- package/dist/web/assets/material-theme-ocean-BRPLVReX.js +4 -0
- package/dist/web/assets/material-theme-palenight-DSJwsR_D.js +4 -0
- package/dist/web/assets/matlab-7XHduepk.js +7 -0
- package/dist/web/assets/mdc-CgmrJS3R.js +16 -0
- package/dist/web/assets/mdx-D5wExp-O.js +7 -0
- package/dist/web/assets/mermaid-z_1ejSlp.js +7 -0
- package/dist/web/assets/min-dark-BNaN9fWk.js +4 -0
- package/dist/web/assets/min-light-CMrjentn.js +4 -0
- package/dist/web/assets/mipsasm-BQyyUrpa.js +7 -0
- package/dist/web/assets/mojo-ByCRDvCf.js +7 -0
- package/dist/web/assets/monokai-DelygWXa.js +4 -0
- package/dist/web/assets/moonbit-CqjK87KZ.js +7 -0
- package/dist/web/assets/move-DhTNmxqC.js +7 -0
- package/dist/web/assets/narrat-CLjGcbCy.js +7 -0
- package/dist/web/assets/nextflow-CZlu-KJ9.js +9 -0
- package/dist/web/assets/nextflow-groovy-BoHzzNJ-.js +7 -0
- package/dist/web/assets/nginx-BFAkI5_-.js +10 -0
- package/dist/web/assets/night-owl-DSS199ra.js +4 -0
- package/dist/web/assets/night-owl-light-gC6E-Eh2.js +4 -0
- package/dist/web/assets/nim-DH52b3O2.js +22 -0
- package/dist/web/assets/nix-ByWcmvXF.js +12 -0
- package/dist/web/assets/nord-CvDbBq5M.js +4 -0
- package/dist/web/assets/nushell-DB8ZUEbK.js +7 -0
- package/dist/web/assets/objective-c-BRoNQF42.js +7 -0
- package/dist/web/assets/objective-cpp-DEoN9Fe5.js +7 -0
- package/dist/web/assets/ocaml-B1kfGk9Y.js +7 -0
- package/dist/web/assets/odin-CNQ56Ay2.js +7 -0
- package/dist/web/assets/one-dark-pro-CsMf0BoJ.js +4 -0
- package/dist/web/assets/one-light-B0cTzZyr.js +4 -0
- package/dist/web/assets/openscad-C_m7ehZF.js +7 -0
- package/dist/web/assets/pascal-CU8Kjkr_.js +7 -0
- package/dist/web/assets/perl-rsFl_yGD.js +18 -0
- package/dist/web/assets/php-CoMBlbzK.js +20 -0
- package/dist/web/assets/pkl-BsByaYax.js +7 -0
- package/dist/web/assets/plastic-BjwMpBc0.js +4 -0
- package/dist/web/assets/plsql-B3Na24V4.js +7 -0
- package/dist/web/assets/po-BajfNjc5.js +7 -0
- package/dist/web/assets/poimandres-ChWyhPrn.js +4 -0
- package/dist/web/assets/polar-BB-dlxnO.js +7 -0
- package/dist/web/assets/postcss-kj1IbjVd.js +7 -0
- package/dist/web/assets/powerquery-B-e1fO-k.js +7 -0
- package/dist/web/assets/powershell-BcMVbGpk.js +7 -0
- package/dist/web/assets/prisma-bmxcSDxq.js +7 -0
- package/dist/web/assets/prolog-BT9GCzqD.js +7 -0
- package/dist/web/assets/proto-Ds-m32NR.js +7 -0
- package/dist/web/assets/pug-SkQ8WOMr.js +13 -0
- package/dist/web/assets/puppet-N15G4Usj.js +7 -0
- package/dist/web/assets/purescript-DrwsEYNH.js +7 -0
- package/dist/web/assets/python-CrdIx4PZ.js +7 -0
- package/dist/web/assets/qml-jtL8okyu.js +9 -0
- package/dist/web/assets/qmldir-DuMSk0Oz.js +7 -0
- package/dist/web/assets/qss-BFrB6p4y.js +7 -0
- package/dist/web/assets/r-Dpdc-Kyk.js +7 -0
- package/dist/web/assets/racket-DbA06HL7.js +7 -0
- package/dist/web/assets/raku-6v-Y17bs.js +7 -0
- package/dist/web/assets/razor-BFkx3Mvh.js +13 -0
- package/dist/web/assets/red-DByOl5N0.js +4 -0
- package/dist/web/assets/reg-CULnG2WX.js +7 -0
- package/dist/web/assets/regexp-BxWeO75u.js +7 -0
- package/dist/web/assets/rel-CHRwzjd4.js +7 -0
- package/dist/web/assets/riscv-BNQ9cVpw.js +7 -0
- package/dist/web/assets/ron-CUEPaFZU.js +7 -0
- package/dist/web/assets/rose-pine-B-kZ4Z9q.js +4 -0
- package/dist/web/assets/rose-pine-dawn-efeVGdSI.js +4 -0
- package/dist/web/assets/rose-pine-moon-DmodZNzl.js +4 -0
- package/dist/web/assets/rosmsg-Bfahr6vb.js +7 -0
- package/dist/web/assets/rst-BoRJ7kV_.js +37 -0
- package/dist/web/assets/ruby-Lj-KIUei.js +37 -0
- package/dist/web/assets/rust-CMNYZh5a.js +7 -0
- package/dist/web/assets/sas-BLBgC3TA.js +9 -0
- package/dist/web/assets/sass-BheygBdF.js +7 -0
- package/dist/web/assets/scala-B-_7vFVn.js +7 -0
- package/dist/web/assets/scheme-BSHdPinv.js +7 -0
- package/dist/web/assets/scss-FZJI91Eq.js +9 -0
- package/dist/web/assets/sdbl-BBUhycGU.js +7 -0
- package/dist/web/assets/shaderlab-C07uO3dL.js +9 -0
- package/dist/web/assets/shellscript-CQ8MXh-D.js +7 -0
- package/dist/web/assets/shellsession-CkeTp4M1.js +9 -0
- package/dist/web/assets/slack-dark-BEe10hxO.js +4 -0
- package/dist/web/assets/slack-ochin-BKmu9pBc.js +4 -0
- package/dist/web/assets/smalltalk-qxcGy4fT.js +7 -0
- package/dist/web/assets/snazzy-light-Dcvd-ZyI.js +4 -0
- package/dist/web/assets/solarized-dark-BBl5y5sR.js +4 -0
- package/dist/web/assets/solarized-light-DW9b_AY8.js +4 -0
- package/dist/web/assets/solidity-CSTQ0FCC.js +7 -0
- package/dist/web/assets/soy-DAT1Vt2Q.js +11 -0
- package/dist/web/assets/sparql-DswowMAp.js +9 -0
- package/dist/web/assets/splunk-DcGJXIDa.js +7 -0
- package/dist/web/assets/sql-DzUuSofg.js +7 -0
- package/dist/web/assets/ssh-config-Bk_I5wDR.js +7 -0
- package/dist/web/assets/stata-Dl7wDdBE.js +9 -0
- package/dist/web/assets/stylus-DXFa_2Jl.js +7 -0
- package/dist/web/assets/surrealql-Bs3vUeKA.js +9 -0
- package/dist/web/assets/svelte-DYzzbzh8.js +15 -0
- package/dist/web/assets/swift-Cohr-WZC.js +7 -0
- package/dist/web/assets/synthwave-84-CoUef9sh.js +4 -0
- package/dist/web/assets/system-verilog-BcESSvRn.js +7 -0
- package/dist/web/assets/systemd-DJPFjU02.js +7 -0
- package/dist/web/assets/talonscript-CEEMXJTH.js +7 -0
- package/dist/web/assets/tasl-DfOr2qHi.js +7 -0
- package/dist/web/assets/tcl-CTsc4-t7.js +7 -0
- package/dist/web/assets/templ-BwefK4nX.js +13 -0
- package/dist/web/assets/terraform-CeztUfUr.js +7 -0
- package/dist/web/assets/tex-CGVqF8nD.js +9 -0
- package/dist/web/assets/tokyo-night-DjtLpAEY.js +4 -0
- package/dist/web/assets/toml-vHPzWDj6.js +7 -0
- package/dist/web/assets/ts-tags-CL_TTDed.js +54 -0
- package/dist/web/assets/tsv-ChRVFvMy.js +7 -0
- package/dist/web/assets/tsx-CmGGo4Hm.js +7 -0
- package/dist/web/assets/turtle-BnC7StHY.js +7 -0
- package/dist/web/assets/twig-DiDlBGWx.js +36 -0
- package/dist/web/assets/typescript-CP6ECzON.js +7 -0
- package/dist/web/assets/typespec-CmH6i407.js +7 -0
- package/dist/web/assets/typst-XYLFxYau.js +7 -0
- package/dist/web/assets/v-BSYXvR4g.js +7 -0
- package/dist/web/assets/vala-qJa5rry9.js +7 -0
- package/dist/web/assets/vb-Bzg9rspf.js +7 -0
- package/dist/web/assets/verilog-CCb_iTfF.js +7 -0
- package/dist/web/assets/vesper-4Q1cEwPL.js +4 -0
- package/dist/web/assets/vhdl-DMqk4T2s.js +7 -0
- package/dist/web/assets/viml--FINbfoq.js +7 -0
- package/dist/web/assets/vitesse-black-BqNLki8b.js +4 -0
- package/dist/web/assets/vitesse-dark-jJ32WhwH.js +4 -0
- package/dist/web/assets/vitesse-light-476zM4e6.js +4 -0
- package/dist/web/assets/vue-BSHLbQPw.js +40 -0
- package/dist/web/assets/vue-html-DhreShjd.js +9 -0
- package/dist/web/assets/vue-vine-CBak_P96.js +19 -0
- package/dist/web/assets/vyper-DP4whl13.js +7 -0
- package/dist/web/assets/wasm-BBh6f151.js +7 -0
- package/dist/web/assets/wasm-DDgzZJey.js +10 -0
- package/dist/web/assets/wenyan-BdqozpMZ.js +7 -0
- package/dist/web/assets/wgsl-Vo-hHVWH.js +7 -0
- package/dist/web/assets/wikitext-BDjE6pmL.js +7 -0
- package/dist/web/assets/wit-C_nQzOkY.js +7 -0
- package/dist/web/assets/wolfram-CRmjUoI4.js +7 -0
- package/dist/web/assets/xml-BMzZeaqs.js +9 -0
- package/dist/web/assets/xsl-CnwVr_6q.js +10 -0
- package/dist/web/assets/yaml-B_vW5iTY.js +7 -0
- package/dist/web/assets/zenscript-DFINJL6j.js +7 -0
- package/dist/web/assets/zig-CS4FMAZp.js +7 -0
- package/dist/web/favicon.ico +0 -0
- package/dist/web/favicon.png +0 -0
- package/dist/web/fonts/FiraCode-VF.ttf +0 -0
- package/dist/web/fonts/FiraCode-VF.woff2 +0 -0
- package/dist/web/fonts/HackNerdFontMono-Bold.ttf +0 -0
- package/dist/web/fonts/HackNerdFontMono-Regular.ttf +0 -0
- package/dist/web/index.html +58 -0
- package/package.json +92 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 zzami
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/img/header_dark.png">
|
|
4
|
+
<img alt="codex-deck" src="docs/img/header_light.png" width=55%>
|
|
5
|
+
</picture>
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
<h3 align="center">
|
|
9
|
+
Browse and interact with Codex more easily, and orchestrate multiple tasks from a dedicated workflow board.
|
|
10
|
+
</h3>
|
|
11
|
+
|
|
12
|
+
[](https://www.npmjs.com/package/codex-deck)
|
|
13
|
+
[](https://opensource.org/licenses/MIT)
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
Codex capabilities:
|
|
18
|
+
|
|
19
|
+
- **Session controls** - Stop generation, rename thread, fork thread, compact context, switch agent threads, and delete sessions.
|
|
20
|
+
- **In-browser messaging** - View and send messages across codex-deck instances with real-time updates.
|
|
21
|
+
- **Image attachments** - Attach images by drag/drop, paste, file picker, or mobile camera/gallery.
|
|
22
|
+
- **Model and reasoning controls** - Pick a model and reasoning effort per session and before sending.
|
|
23
|
+
- **Plan actions** - Use Plan mode and apply plan proposals.
|
|
24
|
+
- **`/`, `@`, and `$` support** - Use slash commands, file mentions, and skill mentions in the composer (similar to Codex CLI).
|
|
25
|
+
- **Live session list** - Real-time session updates with project filtering and session search.
|
|
26
|
+
- **Environment variables** - Pass environment variables into codex sessions.
|
|
27
|
+
|
|
28
|
+
Remote mode:
|
|
29
|
+
|
|
30
|
+
- **Local + remote connection modes** - Browse local `~/.codex` history or connect to a remote codex-deck server.
|
|
31
|
+
- **Local + remote updates together** - Pages stay in sync in both local and remote modes, with smooth switching between modes.
|
|
32
|
+
- **Network stability** - Provides a flexible experience in poor network conditions in remote mode.
|
|
33
|
+
- **Secure remote auth** - OPAQUE-based login flow with trust pins, saved browser auth restore, and machine selection.
|
|
34
|
+
|
|
35
|
+
UI design:
|
|
36
|
+
|
|
37
|
+
- **Mobile-friendly interface** - The UI is designed to adapt to mobile phone browsers.
|
|
38
|
+
- **Block mode** - View full, detailed message content in blocks.
|
|
39
|
+
- **Text mode** - Simplify less important message blocks into readable text lines.
|
|
40
|
+
- **Expandable blocks** - Toggle blocks between compact and expanded views, with clean copy behavior.
|
|
41
|
+
|
|
42
|
+
Code context and inspection:
|
|
43
|
+
|
|
44
|
+
- **Right pane diffs** - View `unstaged`, `staged`, or `last-turn` file diffs with patch rendering.
|
|
45
|
+
- **File tree + search + preview** - Browse the session file tree, search files, and open file content with code, image, and PDF previews.
|
|
46
|
+
- **Session skills pane** - Inspect and toggle skill enablement for the selected session.
|
|
47
|
+
|
|
48
|
+
AI-monitored task workflow:
|
|
49
|
+
|
|
50
|
+
- **Simple yet powerful task workflow scheduler** - Git-worktree-based workflows let users create workflows, adjust tasks, check status, and merge back into branches using natural language.
|
|
51
|
+
- **Workflow automation pane** - Create workflows with AI, bind sessions, launch tasks, view history/logs/raw JSON, send control messages, and manage daemon start/stop.
|
|
52
|
+
- **Tabbed workflow views** - Navigate workflow status and actions through `Overview`, `Tasks`, `History`, `Logs`, `Control`, and `Raw JSON`.
|
|
53
|
+
- **Bind tasks and Codex sessions** - Each agent/task in a workflow is tied to a Codex session.
|
|
54
|
+
- **Agent rules in workflow** - Persistent rules for agent tasks are supported in workflows.
|
|
55
|
+
|
|
56
|
+
Terminal:
|
|
57
|
+
|
|
58
|
+
- **Terminal workspace** - Create and manage multiple live terminals with shared read and ownership-based write control.
|
|
59
|
+
- **Background terminal runs** - Inspect per-session terminal run history/output with real-time updates.
|
|
60
|
+
|
|
61
|
+
## Documentation
|
|
62
|
+
|
|
63
|
+
- [`docs/START_GUIDE.md`](docs/START_GUIDE.md) - quick local and remote startup walkthrough
|
|
64
|
+
- [`docs/WORKFLOW_UI.md`](docs/WORKFLOW_UI.md) - Workflow pane button-to-command mapping
|
|
65
|
+
- [`docs/SERVER_IMPLEMENTATION.md`](docs/SERVER_IMPLEMENTATION.md) - staged remote server architecture and implementation plan
|
|
66
|
+
|
|
67
|
+
### Feature previews:
|
|
68
|
+
|
|
69
|
+
- Terminal & Workflow & Codex
|
|
70
|
+
<div align="center">
|
|
71
|
+
<img src="docs/img/stackedMainWorkflowTerminal.png" alt="Codex Deck header" width="700" />
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
- Block mode vs Text mode
|
|
75
|
+
|
|
76
|
+
<div align="center">
|
|
77
|
+
<img src="docs/img/stackedMode.png" alt="Text mode and block mode preview" width="500" />
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
- Right panes
|
|
81
|
+
|
|
82
|
+
<div align="center">
|
|
83
|
+
<img src="docs/img/stackedRightPanes.png" alt="Right pane feature stack preview" width="700" />
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
- Mobile phone page
|
|
87
|
+
|
|
88
|
+
<div align="center">
|
|
89
|
+
<img src="docs/img/phone/phoneStacked-framed.png" alt="Mobile UI preview" width="600" />
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
- Images support
|
|
93
|
+
|
|
94
|
+
<div align="center">
|
|
95
|
+
<img src="docs/img/imageUse.png" alt="Mobile UI preview" width="400" />
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
- `/`, `@`, and `$` support in the message input box
|
|
99
|
+
|
|
100
|
+
<div align="center">
|
|
101
|
+
<img src="docs/img/stackedSkillSearchAtCommandSlash.png" alt="Mobile UI preview" width="600" />
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
- Supported message block views
|
|
105
|
+
- Expanded blocks
|
|
106
|
+
|
|
107
|
+
<div align="center">
|
|
108
|
+
<img src="docs/img/blocks/stacked/all-stacked-vertical.png" alt="Expanded block styles (vertical stack)" width="500" />
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
- Collapsed blocks
|
|
112
|
+
|
|
113
|
+
<div align="center">
|
|
114
|
+
<img src="docs/img/blocks/stacked/collapsed-vertical.png" alt="Collapsed block styles (vertical stack)" width="500" />
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
## Requirements
|
|
118
|
+
|
|
119
|
+
- macOS, Linux, or WSL (Windows Subsystem for Linux)
|
|
120
|
+
- Node.js 20+
|
|
121
|
+
- Codex CLI installed and initialized at least once
|
|
122
|
+
|
|
123
|
+
Interactive mode uses `codex` under the hood. If `codex` is not on your `PATH`, set:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
export CODEX_CLI_PATH="/absolute/path/to/codex"
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Installation (Local mode)
|
|
130
|
+
|
|
131
|
+
### Option 1: Install globally from npm
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
npm install -g codex-deck
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Run from any directory:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
codex-deck
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
By default, Codex Deck opens `http://localhost:12001` in your browser.
|
|
144
|
+
|
|
145
|
+
Uninstall:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
npm uninstall -g codex-deck
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Option 2: Run from source
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
git clone https://github.com/asfsdsf/codex-deck.git
|
|
155
|
+
cd codex-deck
|
|
156
|
+
npm install -g pnpm
|
|
157
|
+
pnpm install
|
|
158
|
+
pnpm build
|
|
159
|
+
pnpm start
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Uninstall:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
cd ..
|
|
166
|
+
rm -rf codex-deck
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Option 3: Use a release package
|
|
170
|
+
|
|
171
|
+
Download `codex-deck-vX.X.X-[arch]` from the [GitHub Releases page](https://github.com/asfsdsf/codex-deck/releases), extract it, and run the `codex-deck` executable from that directory.
|
|
172
|
+
|
|
173
|
+
Uninstall:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
rm -rf codex-deck-vX.X.X-[arch]
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
No matter which local installation method you use, `codex-deck` supports these options:
|
|
180
|
+
|
|
181
|
+
```text
|
|
182
|
+
codex-deck [options]
|
|
183
|
+
|
|
184
|
+
Options:
|
|
185
|
+
-V, --version Show version number
|
|
186
|
+
-p, --port <number> Port to listen on (default: 12001)
|
|
187
|
+
-d, --dir <path> Codex directory path (default: ~/.codex)
|
|
188
|
+
--dev Enable CORS for development (frontend at localhost:12000)
|
|
189
|
+
--no-open Do not open browser automatically
|
|
190
|
+
-h, --help Show help
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Installation (Remote mode)
|
|
194
|
+
|
|
195
|
+
Quick map:
|
|
196
|
+
|
|
197
|
+
- `Server machine` (Docker host): runs remote `server` and hosts the web app.
|
|
198
|
+
- `Local machine` (where Codex runs): starts `codex-deck` CLI and connects to server.
|
|
199
|
+
- `Web page` (browser): signs in and controls connected local machines.
|
|
200
|
+
|
|
201
|
+
Security note:
|
|
202
|
+
|
|
203
|
+
- Synced Codex payloads are encrypted between `local machine` and `web page`; the `server` stores encrypted blobs plus routing metadata.
|
|
204
|
+
- If you open the web app directly from the server URL, that server controls the JavaScript sent to your browser. So only use the server-hosted web URL when you trust that server/operator.
|
|
205
|
+
- Use `https://` in real deployments. Use `http://` only for trusted local/lab testing.
|
|
206
|
+
|
|
207
|
+
### 1. Server machine: build and run
|
|
208
|
+
|
|
209
|
+
Clone the repository and enter the project root on the server machine:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
git clone https://github.com/asfsdsf/codex-deck.git
|
|
213
|
+
cd codex-deck
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Build the remote server image:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
docker build -t codexdeck-server -f Dockerfile.server .
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Server environment variables (used in this step):
|
|
223
|
+
|
|
224
|
+
- `CODEXDECK_REMOTE_ADMIN_PASSWORD` (required): password for `https://your-server-host/admin`.
|
|
225
|
+
- `CODEXDECK_REMOTE_SETUP_TOKENS` (optional): comma- or newline-separated setup tokens to seed on first boot. You can also create tokens later in the admin page.
|
|
226
|
+
- `PUBLIC_URL` (recommended): the public URL users and CLIs use to reach this server (use `https://...` in production).
|
|
227
|
+
- `CODEXDECK_REMOTE_BROWSER_AUTH_PERSISTENCE` (optional): browser login persistence. `session` ends on browser close, `remember` persists.
|
|
228
|
+
|
|
229
|
+
Run the server:
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
docker run -p 3005:3005 \
|
|
233
|
+
-e CODEXDECK_REMOTE_ADMIN_PASSWORD=<admin-password> \
|
|
234
|
+
-e CODEXDECK_REMOTE_BROWSER_AUTH_PERSISTENCE=remember \
|
|
235
|
+
-e PUBLIC_URL=https://your-server-host \
|
|
236
|
+
-v codexdeck-data:/data \
|
|
237
|
+
codexdeck-server
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
This container serves both the remote web app and remote server. Data is stored in `codexdeck-data`.
|
|
241
|
+
|
|
242
|
+
### 2. Web page: create setup tokens
|
|
243
|
+
|
|
244
|
+
In a browser, open `https://your-server-host/admin`, log in with `CODEXDECK_REMOTE_ADMIN_PASSWORD`, and create one setup token for each local CLI you want to connect. If you prefer, you can still pre-seed tokens with `CODEXDECK_REMOTE_SETUP_TOKENS` before first boot.
|
|
245
|
+
|
|
246
|
+
### 3. Local machine: connect each Codex machine
|
|
247
|
+
|
|
248
|
+
On each local machine (the machine that has Codex CLI history), start `codex-deck` like this:
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
codex-deck \
|
|
252
|
+
--remote-server-url https://your-server-host \
|
|
253
|
+
--remote-setup-token <token-a> \
|
|
254
|
+
--remote-username <cli-login-name> \
|
|
255
|
+
--remote-password <cli-login-password>
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### 4. Web page: sign in
|
|
259
|
+
|
|
260
|
+
Open `https://your-server-host/` in a browser and sign in with the same remote username and password used for that local machine.
|
|
261
|
+
|
|
262
|
+
## Workflow usage
|
|
263
|
+
|
|
264
|
+
Using workflows is as easy as chatting.
|
|
265
|
+
|
|
266
|
+
<img title="" src="docs/img/codex-deck-flow.png" alt="Codex Deck Flow preview" width="641">
|
|
267
|
+
|
|
268
|
+
To create a new workflow:
|
|
269
|
+
|
|
270
|
+
1. Click `Workflow` in the left pane.
|
|
271
|
+
2. Click `New Workflow`.
|
|
272
|
+
3. Describe what you want in the chat.
|
|
273
|
+
|
|
274
|
+
Example chat requests (user side only):
|
|
275
|
+
|
|
276
|
+
- **Ask questions**: "How do I use the codex-deck-flow workflow system?"
|
|
277
|
+
- **Create tasks**: "Create a workflow to add GitHub OAuth login with backend API updates, frontend UI changes, and tests."
|
|
278
|
+
- **Create tasks**: "Create 10 tasks. Each task should dive into the project, find a frontend UI bug, and fix the code until all unit tests pass."
|
|
279
|
+
- **Add tasks**: "Add a task to make a better improvement based on the previous task."
|
|
280
|
+
- **Merge git worklist**: "Merge the tasks."
|
|
281
|
+
- **Show task status**: "Summarize task running status."
|
|
282
|
+
- **Add memory to agents**: "Fix the code until all unit tests pass for all tasks in all workflows."
|
|
283
|
+
- **Diagnose workflow**: "Workflow fails to run. Please fix it."
|
|
284
|
+
|
|
285
|
+
> **Notes:** `sandbox_mode = "danger-full-access"` is enabled for workflow agents.
|
|
286
|
+
|
|
287
|
+
Requirements:
|
|
288
|
+
|
|
289
|
+
- Run inside a Git repository.
|
|
290
|
+
- Skill codex-deck-flow is installed.
|
|
291
|
+
|
|
292
|
+
## Development
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
git clone https://github.com/asfsdsf/codex-deck.git
|
|
296
|
+
cd codex-deck
|
|
297
|
+
pnpm install
|
|
298
|
+
pnpm build
|
|
299
|
+
pnpm dev
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
`pnpm dev` starts:
|
|
303
|
+
|
|
304
|
+
- frontend at `http://localhost:12000`
|
|
305
|
+
- backend at `http://localhost:12001`
|
|
306
|
+
|
|
307
|
+
## Build portable packages
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
pnpm build:packages
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
This builds portable archives in `./build/` for:
|
|
314
|
+
|
|
315
|
+
- `macos-arm64`
|
|
316
|
+
- `macos-x64`
|
|
317
|
+
- `linux-x64`
|
|
318
|
+
|
|
319
|
+
On non-Linux hosts, `linux-x64` packaging requires Docker because `node-pty` must be installed on Linux.
|
|
320
|
+
|
|
321
|
+
Limit targets with:
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
./scripts/build-packages.sh --targets macos-arm64,macos-x64
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
## Acknowledgements
|
|
328
|
+
|
|
329
|
+
- Server design inspiration: [slopus/happy](https://github.com/slopus/happy)
|
|
330
|
+
- Web theme inspiration: [kamranahmedse/claude-run](https://github.com/kamranahmedse/claude-run)
|
|
331
|
+
|
|
332
|
+
## License
|
|
333
|
+
|
|
334
|
+
MIT © zzami
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|