openspecui 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{src-Bmm_kaB8.mjs → src-D7s-EgJ2.mjs} +64 -22
- package/package.json +4 -3
- package/web/{dist/assets/index-l4gcUD8y.js → assets/index-DIHAzyX3.js} +69 -119
- package/web/assets/index-DuIo-wPB.css +1 -0
- package/web/index.html +4 -4
- package/web/logo.svg +8 -0
- package/web/openspec_pixel_dark.svg +89 -0
- package/web/openspec_pixel_light.svg +89 -0
- package/web/assets/index-BhzIZ_eQ.js +0 -150
- package/web/assets/index-D6x5Q1lW.css +0 -1
- package/web/dist/assets/index-BNmb5C1F.css +0 -1
- package/web/dist/assets/index-BhzIZ_eQ.js +0 -150
- package/web/dist/assets/index-BxBbLX3V.js +0 -170
- package/web/dist/assets/index-C4c5ARU5.css +0 -1
- package/web/dist/assets/index-CqKOZnDE.css +0 -1
- package/web/dist/assets/index-D6x5Q1lW.css +0 -1
- package/web/dist/assets/index-Om_P2_SF.js +0 -155
- package/web/dist/index.html +0 -14
- /package/web/{dist/assets → assets}/abap-BdImnpbu.js +0 -0
- /package/web/{dist/assets → assets}/actionscript-3-CfeIJUat.js +0 -0
- /package/web/{dist/assets → assets}/ada-bCR0ucgS.js +0 -0
- /package/web/{dist/assets → assets}/andromeeda-C-Jbm3Hp.js +0 -0
- /package/web/{dist/assets → assets}/angular-html-CU67Zn6k.js +0 -0
- /package/web/{dist/assets → assets}/angular-ts-BwZT4LLn.js +0 -0
- /package/web/{dist/assets → assets}/apache-Pmp26Uib.js +0 -0
- /package/web/{dist/assets → assets}/apex-DDbsPZ6N.js +0 -0
- /package/web/{dist/assets → assets}/apl-dKokRX4l.js +0 -0
- /package/web/{dist/assets → assets}/applescript-Co6uUVPk.js +0 -0
- /package/web/{dist/assets → assets}/ara-BRHolxvo.js +0 -0
- /package/web/{dist/assets → assets}/asciidoc-Dv7Oe6Be.js +0 -0
- /package/web/{dist/assets → assets}/asm-D_Q5rh1f.js +0 -0
- /package/web/{dist/assets → assets}/astro-CbQHKStN.js +0 -0
- /package/web/{dist/assets → assets}/aurora-x-D-2ljcwZ.js +0 -0
- /package/web/{dist/assets → assets}/awk-DMzUqQB5.js +0 -0
- /package/web/{dist/assets → assets}/ayu-dark-Cv9koXgw.js +0 -0
- /package/web/{dist/assets → assets}/ballerina-BFfxhgS-.js +0 -0
- /package/web/{dist/assets → assets}/bat-BkioyH1T.js +0 -0
- /package/web/{dist/assets → assets}/beancount-k_qm7-4y.js +0 -0
- /package/web/{dist/assets → assets}/berry-uYugtg8r.js +0 -0
- /package/web/{dist/assets → assets}/bibtex-CHM0blh-.js +0 -0
- /package/web/{dist/assets → assets}/bicep-Bmn6On1c.js +0 -0
- /package/web/{dist/assets → assets}/blade-DVc8C-J4.js +0 -0
- /package/web/{dist/assets → assets}/bsl-BO_Y6i37.js +0 -0
- /package/web/{dist/assets → assets}/c-BIGW1oBm.js +0 -0
- /package/web/{dist/assets → assets}/cadence-Bv_4Rxtq.js +0 -0
- /package/web/{dist/assets → assets}/cairo-KRGpt6FW.js +0 -0
- /package/web/{dist/assets → assets}/catppuccin-frappe-DFWUc33u.js +0 -0
- /package/web/{dist/assets → assets}/catppuccin-latte-C9dUb6Cb.js +0 -0
- /package/web/{dist/assets → assets}/catppuccin-macchiato-DQyhUUbL.js +0 -0
- /package/web/{dist/assets → assets}/catppuccin-mocha-D87Tk5Gz.js +0 -0
- /package/web/{dist/assets → assets}/clarity-D53aC0YG.js +0 -0
- /package/web/{dist/assets → assets}/clojure-P80f7IUj.js +0 -0
- /package/web/{dist/assets → assets}/cmake-D1j8_8rp.js +0 -0
- /package/web/{dist/assets → assets}/cobol-nwyudZeR.js +0 -0
- /package/web/{dist/assets → assets}/codeowners-Bp6g37R7.js +0 -0
- /package/web/{dist/assets → assets}/codeql-DsOJ9woJ.js +0 -0
- /package/web/{dist/assets → assets}/coffee-Ch7k5sss.js +0 -0
- /package/web/{dist/assets → assets}/common-lisp-Cg-RD9OK.js +0 -0
- /package/web/{dist/assets → assets}/coq-DkFqJrB1.js +0 -0
- /package/web/{dist/assets → assets}/cpp-CofmeUqb.js +0 -0
- /package/web/{dist/assets → assets}/crystal-tKQVLTB8.js +0 -0
- /package/web/{dist/assets → assets}/csharp-K5feNrxe.js +0 -0
- /package/web/{dist/assets → assets}/css-DPfMkruS.js +0 -0
- /package/web/{dist/assets → assets}/csv-fuZLfV_i.js +0 -0
- /package/web/{dist/assets → assets}/cue-D82EKSYY.js +0 -0
- /package/web/{dist/assets → assets}/cypher-COkxafJQ.js +0 -0
- /package/web/{dist/assets → assets}/d-85-TOEBH.js +0 -0
- /package/web/{dist/assets → assets}/dark-plus-C3mMm8J8.js +0 -0
- /package/web/{dist/assets → assets}/dart-CF10PKvl.js +0 -0
- /package/web/{dist/assets → assets}/dax-CEL-wOlO.js +0 -0
- /package/web/{dist/assets → assets}/desktop-BmXAJ9_W.js +0 -0
- /package/web/{dist/assets → assets}/diff-D97Zzqfu.js +0 -0
- /package/web/{dist/assets → assets}/docker-BcOcwvcX.js +0 -0
- /package/web/{dist/assets → assets}/dotenv-Da5cRb03.js +0 -0
- /package/web/{dist/assets → assets}/dracula-BzJJZx-M.js +0 -0
- /package/web/{dist/assets → assets}/dracula-soft-BXkSAIEj.js +0 -0
- /package/web/{dist/assets → assets}/dream-maker-BtqSS_iP.js +0 -0
- /package/web/{dist/assets → assets}/edge-BkV0erSs.js +0 -0
- /package/web/{dist/assets → assets}/elixir-CDX3lj18.js +0 -0
- /package/web/{dist/assets → assets}/elm-DbKCFpqz.js +0 -0
- /package/web/{dist/assets → assets}/emacs-lisp-C9XAeP06.js +0 -0
- /package/web/{dist/assets → assets}/erb-BOJIQeun.js +0 -0
- /package/web/{dist/assets → assets}/erlang-DsQrWhSR.js +0 -0
- /package/web/{dist/assets → assets}/everforest-dark-BgDCqdQA.js +0 -0
- /package/web/{dist/assets → assets}/everforest-light-C8M2exoo.js +0 -0
- /package/web/{dist/assets → assets}/fennel-BYunw83y.js +0 -0
- /package/web/{dist/assets → assets}/fish-BvzEVeQv.js +0 -0
- /package/web/{dist/assets → assets}/fluent-C4IJs8-o.js +0 -0
- /package/web/{dist/assets → assets}/fortran-fixed-form-BZjJHVRy.js +0 -0
- /package/web/{dist/assets → assets}/fortran-free-form-D22FLkUw.js +0 -0
- /package/web/{dist/assets → assets}/fsharp-CXgrBDvD.js +0 -0
- /package/web/{dist/assets → assets}/gdresource-B7Tvp0Sc.js +0 -0
- /package/web/{dist/assets → assets}/gdscript-DTMYz4Jt.js +0 -0
- /package/web/{dist/assets → assets}/gdshader-DkwncUOv.js +0 -0
- /package/web/{dist/assets → assets}/genie-D0YGMca9.js +0 -0
- /package/web/{dist/assets → assets}/gherkin-DyxjwDmM.js +0 -0
- /package/web/{dist/assets → assets}/git-commit-F4YmCXRG.js +0 -0
- /package/web/{dist/assets → assets}/git-rebase-r7XF79zn.js +0 -0
- /package/web/{dist/assets → assets}/github-dark-DHJKELXO.js +0 -0
- /package/web/{dist/assets → assets}/github-dark-default-Cuk6v7N8.js +0 -0
- /package/web/{dist/assets → assets}/github-dark-dimmed-DH5Ifo-i.js +0 -0
- /package/web/{dist/assets → assets}/github-dark-high-contrast-E3gJ1_iC.js +0 -0
- /package/web/{dist/assets → assets}/github-light-DAi9KRSo.js +0 -0
- /package/web/{dist/assets → assets}/github-light-default-D7oLnXFd.js +0 -0
- /package/web/{dist/assets → assets}/github-light-high-contrast-BfjtVDDH.js +0 -0
- /package/web/{dist/assets → assets}/gleam-BspZqrRM.js +0 -0
- /package/web/{dist/assets → assets}/glimmer-js-Rg0-pVw9.js +0 -0
- /package/web/{dist/assets → assets}/glimmer-ts-U6CK756n.js +0 -0
- /package/web/{dist/assets → assets}/glsl-DplSGwfg.js +0 -0
- /package/web/{dist/assets → assets}/gnuplot-DdkO51Og.js +0 -0
- /package/web/{dist/assets → assets}/go-Dn2_MT6a.js +0 -0
- /package/web/{dist/assets → assets}/graphql-ChdNCCLP.js +0 -0
- /package/web/{dist/assets → assets}/groovy-gcz8RCvz.js +0 -0
- /package/web/{dist/assets → assets}/gruvbox-dark-hard-CFHQjOhq.js +0 -0
- /package/web/{dist/assets → assets}/gruvbox-dark-medium-GsRaNv29.js +0 -0
- /package/web/{dist/assets → assets}/gruvbox-dark-soft-CVdnzihN.js +0 -0
- /package/web/{dist/assets → assets}/gruvbox-light-hard-CH1njM8p.js +0 -0
- /package/web/{dist/assets → assets}/gruvbox-light-medium-DRw_LuNl.js +0 -0
- /package/web/{dist/assets → assets}/gruvbox-light-soft-hJgmCMqR.js +0 -0
- /package/web/{dist/assets → assets}/hack-CaT9iCJl.js +0 -0
- /package/web/{dist/assets → assets}/haml-B8DHNrY2.js +0 -0
- /package/web/{dist/assets → assets}/handlebars-BL8al0AC.js +0 -0
- /package/web/{dist/assets → assets}/haskell-Df6bDoY_.js +0 -0
- /package/web/{dist/assets → assets}/haxe-CzTSHFRz.js +0 -0
- /package/web/{dist/assets → assets}/hcl-BWvSN4gD.js +0 -0
- /package/web/{dist/assets → assets}/hjson-D5-asLiD.js +0 -0
- /package/web/{dist/assets → assets}/hlsl-D3lLCCz7.js +0 -0
- /package/web/{dist/assets → assets}/houston-DnULxvSX.js +0 -0
- /package/web/{dist/assets → assets}/html-GMplVEZG.js +0 -0
- /package/web/{dist/assets → assets}/html-derivative-BFtXZ54Q.js +0 -0
- /package/web/{dist/assets → assets}/http-jrhK8wxY.js +0 -0
- /package/web/{dist/assets → assets}/hurl-irOxFIW8.js +0 -0
- /package/web/{dist/assets → assets}/hxml-Bvhsp5Yf.js +0 -0
- /package/web/{dist/assets → assets}/hy-DFXneXwc.js +0 -0
- /package/web/{dist/assets → assets}/imba-DGztddWO.js +0 -0
- /package/web/{dist/assets → assets}/ini-BEwlwnbL.js +0 -0
- /package/web/{dist/assets → assets}/java-CylS5w8V.js +0 -0
- /package/web/{dist/assets → assets}/javascript-wDzz0qaB.js +0 -0
- /package/web/{dist/assets → assets}/jinja-4LBKfQ-Z.js +0 -0
- /package/web/{dist/assets → assets}/jison-wvAkD_A8.js +0 -0
- /package/web/{dist/assets → assets}/json-Cp-IABpG.js +0 -0
- /package/web/{dist/assets → assets}/json5-C9tS-k6U.js +0 -0
- /package/web/{dist/assets → assets}/jsonc-Des-eS-w.js +0 -0
- /package/web/{dist/assets → assets}/jsonl-DcaNXYhu.js +0 -0
- /package/web/{dist/assets → assets}/jsonnet-DFQXde-d.js +0 -0
- /package/web/{dist/assets → assets}/jssm-C2t-YnRu.js +0 -0
- /package/web/{dist/assets → assets}/jsx-g9-lgVsj.js +0 -0
- /package/web/{dist/assets → assets}/julia-C8NyazO9.js +0 -0
- /package/web/{dist/assets → assets}/kanagawa-dragon-CkXjmgJE.js +0 -0
- /package/web/{dist/assets → assets}/kanagawa-lotus-CfQXZHmo.js +0 -0
- /package/web/{dist/assets → assets}/kanagawa-wave-DWedfzmr.js +0 -0
- /package/web/{dist/assets → assets}/kdl-DV7GczEv.js +0 -0
- /package/web/{dist/assets → assets}/kotlin-BdnUsdx6.js +0 -0
- /package/web/{dist/assets → assets}/kusto-BvAqAH-y.js +0 -0
- /package/web/{dist/assets → assets}/laserwave-DUszq2jm.js +0 -0
- /package/web/{dist/assets → assets}/latex-BdAV_C_H.js +0 -0
- /package/web/{dist/assets → assets}/lean-Bc6EcWN3.js +0 -0
- /package/web/{dist/assets → assets}/less-B1dDrJ26.js +0 -0
- /package/web/{dist/assets → assets}/light-plus-B7mTdjB0.js +0 -0
- /package/web/{dist/assets → assets}/liquid-DYVedYrR.js +0 -0
- /package/web/{dist/assets → assets}/llvm-BtvRca6l.js +0 -0
- /package/web/{dist/assets → assets}/log-2UxHyX5q.js +0 -0
- /package/web/{dist/assets → assets}/logo-BtOb2qkB.js +0 -0
- /package/web/{dist/assets → assets}/lua-BbnMAYS6.js +0 -0
- /package/web/{dist/assets → assets}/luau-CXu1NL6O.js +0 -0
- /package/web/{dist/assets → assets}/make-CHLpvVh8.js +0 -0
- /package/web/{dist/assets → assets}/markdown-Cvjx9yec.js +0 -0
- /package/web/{dist/assets → assets}/marko-CPi9NSCl.js +0 -0
- /package/web/{dist/assets → assets}/material-theme-D5KoaKCx.js +0 -0
- /package/web/{dist/assets → assets}/material-theme-darker-BfHTSMKl.js +0 -0
- /package/web/{dist/assets → assets}/material-theme-lighter-B0m2ddpp.js +0 -0
- /package/web/{dist/assets → assets}/material-theme-ocean-CyktbL80.js +0 -0
- /package/web/{dist/assets → assets}/material-theme-palenight-Csfq5Kiy.js +0 -0
- /package/web/{dist/assets → assets}/matlab-D7o27uSR.js +0 -0
- /package/web/{dist/assets → assets}/mdc-DUICxH0z.js +0 -0
- /package/web/{dist/assets → assets}/mdx-Cmh6b_Ma.js +0 -0
- /package/web/{dist/assets → assets}/mermaid-DKYwYmdq.js +0 -0
- /package/web/{dist/assets → assets}/min-dark-CafNBF8u.js +0 -0
- /package/web/{dist/assets → assets}/min-light-CTRr51gU.js +0 -0
- /package/web/{dist/assets → assets}/mipsasm-CKIfxQSi.js +0 -0
- /package/web/{dist/assets → assets}/mojo-1DNp92w6.js +0 -0
- /package/web/{dist/assets → assets}/monokai-D4h5O-jR.js +0 -0
- /package/web/{dist/assets → assets}/move-Bu9oaDYs.js +0 -0
- /package/web/{dist/assets → assets}/narrat-DRg8JJMk.js +0 -0
- /package/web/{dist/assets → assets}/nextflow-BrzmwbiE.js +0 -0
- /package/web/{dist/assets → assets}/nginx-DknmC5AR.js +0 -0
- /package/web/{dist/assets → assets}/night-owl-C39BiMTA.js +0 -0
- /package/web/{dist/assets → assets}/nim-CVrawwO9.js +0 -0
- /package/web/{dist/assets → assets}/nix-c8nO5XWb.js +0 -0
- /package/web/{dist/assets → assets}/nord-Ddv68eIx.js +0 -0
- /package/web/{dist/assets → assets}/nushell-C-sUppwS.js +0 -0
- /package/web/{dist/assets → assets}/objective-c-DXmwc3jG.js +0 -0
- /package/web/{dist/assets → assets}/objective-cpp-CLxacb5B.js +0 -0
- /package/web/{dist/assets → assets}/ocaml-C0hk2d4L.js +0 -0
- /package/web/{dist/assets → assets}/one-dark-pro-DVMEJ2y_.js +0 -0
- /package/web/{dist/assets → assets}/one-light-PoHY5YXO.js +0 -0
- /package/web/{dist/assets → assets}/openscad-C4EeE6gA.js +0 -0
- /package/web/{dist/assets → assets}/pascal-D93ZcfNL.js +0 -0
- /package/web/{dist/assets → assets}/perl-C0TMdlhV.js +0 -0
- /package/web/{dist/assets → assets}/php-CDn_0X-4.js +0 -0
- /package/web/{dist/assets → assets}/pkl-u5AG7uiY.js +0 -0
- /package/web/{dist/assets → assets}/plastic-3e1v2bzS.js +0 -0
- /package/web/{dist/assets → assets}/plsql-ChMvpjG-.js +0 -0
- /package/web/{dist/assets → assets}/po-BTJTHyun.js +0 -0
- /package/web/{dist/assets → assets}/poimandres-CS3Unz2-.js +0 -0
- /package/web/{dist/assets → assets}/polar-C0HS_06l.js +0 -0
- /package/web/{dist/assets → assets}/postcss-CXtECtnM.js +0 -0
- /package/web/{dist/assets → assets}/powerquery-CEu0bR-o.js +0 -0
- /package/web/{dist/assets → assets}/powershell-Dpen1YoG.js +0 -0
- /package/web/{dist/assets → assets}/prisma-Dd19v3D-.js +0 -0
- /package/web/{dist/assets → assets}/prolog-CbFg5uaA.js +0 -0
- /package/web/{dist/assets → assets}/proto-DyJlTyXw.js +0 -0
- /package/web/{dist/assets → assets}/pug-CGlum2m_.js +0 -0
- /package/web/{dist/assets → assets}/puppet-BMWR74SV.js +0 -0
- /package/web/{dist/assets → assets}/purescript-CklMAg4u.js +0 -0
- /package/web/{dist/assets → assets}/python-B6aJPvgy.js +0 -0
- /package/web/{dist/assets → assets}/qml-3beO22l8.js +0 -0
- /package/web/{dist/assets → assets}/qmldir-C8lEn-DE.js +0 -0
- /package/web/{dist/assets → assets}/qss-IeuSbFQv.js +0 -0
- /package/web/{dist/assets → assets}/r-DiinP2Uv.js +0 -0
- /package/web/{dist/assets → assets}/racket-BqYA7rlc.js +0 -0
- /package/web/{dist/assets → assets}/raku-DXvB9xmW.js +0 -0
- /package/web/{dist/assets → assets}/razor-CE9lU5zL.js +0 -0
- /package/web/{dist/assets → assets}/red-bN70gL4F.js +0 -0
- /package/web/{dist/assets → assets}/reg-C-SQnVFl.js +0 -0
- /package/web/{dist/assets → assets}/regexp-CDVJQ6XC.js +0 -0
- /package/web/{dist/assets → assets}/rel-C3B-1QV4.js +0 -0
- /package/web/{dist/assets → assets}/riscv-BM1_JUlF.js +0 -0
- /package/web/{dist/assets → assets}/rose-pine-dawn-DHQR4-dF.js +0 -0
- /package/web/{dist/assets → assets}/rose-pine-moon-D4_iv3hh.js +0 -0
- /package/web/{dist/assets → assets}/rose-pine-qdsjHGoJ.js +0 -0
- /package/web/{dist/assets → assets}/rosmsg-BJDFO7_C.js +0 -0
- /package/web/{dist/assets → assets}/rst-B0xPkSld.js +0 -0
- /package/web/{dist/assets → assets}/ruby-BvKwtOVI.js +0 -0
- /package/web/{dist/assets → assets}/rust-B1yitclQ.js +0 -0
- /package/web/{dist/assets → assets}/sas-cz2c8ADy.js +0 -0
- /package/web/{dist/assets → assets}/sass-Cj5Yp3dK.js +0 -0
- /package/web/{dist/assets → assets}/scala-C151Ov-r.js +0 -0
- /package/web/{dist/assets → assets}/scheme-C98Dy4si.js +0 -0
- /package/web/{dist/assets → assets}/scss-OYdSNvt2.js +0 -0
- /package/web/{dist/assets → assets}/sdbl-DVxCFoDh.js +0 -0
- /package/web/{dist/assets → assets}/shaderlab-Dg9Lc6iA.js +0 -0
- /package/web/{dist/assets → assets}/shellscript-Yzrsuije.js +0 -0
- /package/web/{dist/assets → assets}/shellsession-BADoaaVG.js +0 -0
- /package/web/{dist/assets → assets}/slack-dark-BthQWCQV.js +0 -0
- /package/web/{dist/assets → assets}/slack-ochin-DqwNpetd.js +0 -0
- /package/web/{dist/assets → assets}/smalltalk-BERRCDM3.js +0 -0
- /package/web/{dist/assets → assets}/snazzy-light-Bw305WKR.js +0 -0
- /package/web/{dist/assets → assets}/solarized-dark-DXbdFlpD.js +0 -0
- /package/web/{dist/assets → assets}/solarized-light-L9t79GZl.js +0 -0
- /package/web/{dist/assets → assets}/solidity-rGO070M0.js +0 -0
- /package/web/{dist/assets → assets}/soy-Brmx7dQM.js +0 -0
- /package/web/{dist/assets → assets}/sparql-rVzFXLq3.js +0 -0
- /package/web/{dist/assets → assets}/splunk-BtCnVYZw.js +0 -0
- /package/web/{dist/assets → assets}/sql-BLtJtn59.js +0 -0
- /package/web/{dist/assets → assets}/ssh-config-_ykCGR6B.js +0 -0
- /package/web/{dist/assets → assets}/stata-BH5u7GGu.js +0 -0
- /package/web/{dist/assets → assets}/stylus-BEDo0Tqx.js +0 -0
- /package/web/{dist/assets → assets}/svelte-3Dk4HxPD.js +0 -0
- /package/web/{dist/assets → assets}/swift-Dg5xB15N.js +0 -0
- /package/web/{dist/assets → assets}/synthwave-84-CbfX1IO0.js +0 -0
- /package/web/{dist/assets → assets}/system-verilog-CnnmHF94.js +0 -0
- /package/web/{dist/assets → assets}/systemd-4A_iFExJ.js +0 -0
- /package/web/{dist/assets → assets}/talonscript-CkByrt1z.js +0 -0
- /package/web/{dist/assets → assets}/tasl-QIJgUcNo.js +0 -0
- /package/web/{dist/assets → assets}/tcl-dwOrl1Do.js +0 -0
- /package/web/{dist/assets → assets}/templ-W15q3VgB.js +0 -0
- /package/web/{dist/assets → assets}/terraform-BETggiCN.js +0 -0
- /package/web/{dist/assets → assets}/tex-CxkMU7Pf.js +0 -0
- /package/web/{dist/assets → assets}/tokyo-night-hegEt444.js +0 -0
- /package/web/{dist/assets → assets}/toml-vGWfd6FD.js +0 -0
- /package/web/{dist/assets → assets}/ts-tags-zn1MmPIZ.js +0 -0
- /package/web/{dist/assets → assets}/tsv-B_m7g4N7.js +0 -0
- /package/web/{dist/assets → assets}/tsx-COt5Ahok.js +0 -0
- /package/web/{dist/assets → assets}/turtle-BsS91CYL.js +0 -0
- /package/web/{dist/assets → assets}/twig-CO9l9SDP.js +0 -0
- /package/web/{dist/assets → assets}/typescript-BPQ3VLAy.js +0 -0
- /package/web/{dist/assets → assets}/typespec-BGHnOYBU.js +0 -0
- /package/web/{dist/assets → assets}/typst-DHCkPAjA.js +0 -0
- /package/web/{dist/assets → assets}/v-BcVCzyr7.js +0 -0
- /package/web/{dist/assets → assets}/vala-CsfeWuGM.js +0 -0
- /package/web/{dist/assets → assets}/vb-D17OF-Vu.js +0 -0
- /package/web/{dist/assets → assets}/verilog-BQ8w6xss.js +0 -0
- /package/web/{dist/assets → assets}/vesper-DU1UobuO.js +0 -0
- /package/web/{dist/assets → assets}/vhdl-CeAyd5Ju.js +0 -0
- /package/web/{dist/assets → assets}/viml-CJc9bBzg.js +0 -0
- /package/web/{dist/assets → assets}/vitesse-black-Bkuqu6BP.js +0 -0
- /package/web/{dist/assets → assets}/vitesse-dark-D0r3Knsf.js +0 -0
- /package/web/{dist/assets → assets}/vitesse-light-CVO1_9PV.js +0 -0
- /package/web/{dist/assets → assets}/vue-DnHKYNfI.js +0 -0
- /package/web/{dist/assets → assets}/vue-html-CChd_i61.js +0 -0
- /package/web/{dist/assets → assets}/vue-vine-8moa0y9V.js +0 -0
- /package/web/{dist/assets → assets}/vyper-CDx5xZoG.js +0 -0
- /package/web/{dist/assets → assets}/wasm-CG6Dc4jp.js +0 -0
- /package/web/{dist/assets → assets}/wasm-MzD3tlZU.js +0 -0
- /package/web/{dist/assets → assets}/wenyan-BV7otONQ.js +0 -0
- /package/web/{dist/assets → assets}/wgsl-Dx-B1_4e.js +0 -0
- /package/web/{dist/assets → assets}/wikitext-BhOHFoWU.js +0 -0
- /package/web/{dist/assets → assets}/wit-5i3qLPDT.js +0 -0
- /package/web/{dist/assets → assets}/wolfram-lXgVvXCa.js +0 -0
- /package/web/{dist/assets → assets}/xml-sdJ4AIDG.js +0 -0
- /package/web/{dist/assets → assets}/xsl-CtQFsRM5.js +0 -0
- /package/web/{dist/assets → assets}/yaml-Buea-lGh.js +0 -0
- /package/web/{dist/assets → assets}/zenscript-DVFEvuxE.js +0 -0
- /package/web/{dist/assets → assets}/zig-VOosw3JB.js +0 -0
package/dist/cli.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { a as __commonJS, o as __toESM, t as startServer } from "./src-
|
|
2
|
+
import { a as __commonJS, o as __toESM, t as startServer } from "./src-D7s-EgJ2.mjs";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
4
|
import { fileURLToPath } from "url";
|
|
5
5
|
import { basename, dirname, extname, join, normalize, relative, resolve } from "path";
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as ACPAgents, n as createServer, r as ProviderManager, t as startServer } from "./src-
|
|
1
|
+
import { i as ACPAgents, n as createServer, r as ProviderManager, t as startServer } from "./src-D7s-EgJ2.mjs";
|
|
2
2
|
|
|
3
3
|
export { ACPAgents, ProviderManager, createServer, startServer };
|
|
@@ -12747,6 +12747,18 @@ var OpenSpecAdapter = class {
|
|
|
12747
12747
|
return false;
|
|
12748
12748
|
}
|
|
12749
12749
|
}
|
|
12750
|
+
/** File time info derived from filesystem */
|
|
12751
|
+
async getFileTimeInfo(filePath) {
|
|
12752
|
+
try {
|
|
12753
|
+
const fileStat = await stat(filePath);
|
|
12754
|
+
return {
|
|
12755
|
+
createdAt: fileStat.birthtime.getTime(),
|
|
12756
|
+
updatedAt: fileStat.mtime.getTime()
|
|
12757
|
+
};
|
|
12758
|
+
} catch {
|
|
12759
|
+
return null;
|
|
12760
|
+
}
|
|
12761
|
+
}
|
|
12750
12762
|
async listSpecs() {
|
|
12751
12763
|
try {
|
|
12752
12764
|
return (await readdir(this.specsDir, { withFileTypes: true })).filter((e) => e.isDirectory() && !e.name.startsWith(".")).map((e) => e.name);
|
|
@@ -12755,16 +12767,24 @@ var OpenSpecAdapter = class {
|
|
|
12755
12767
|
}
|
|
12756
12768
|
}
|
|
12757
12769
|
/**
|
|
12758
|
-
* List specs with metadata (id and
|
|
12770
|
+
* List specs with metadata (id, name, and time info)
|
|
12771
|
+
* Only returns specs that have valid spec.md
|
|
12772
|
+
* Sorted by updatedAt descending (most recent first)
|
|
12759
12773
|
*/
|
|
12760
12774
|
async listSpecsWithMeta() {
|
|
12761
12775
|
const ids = await this.listSpecs();
|
|
12762
|
-
return await Promise.all(ids.map(async (id) => {
|
|
12776
|
+
return (await Promise.all(ids.map(async (id) => {
|
|
12777
|
+
const spec = await this.readSpec(id);
|
|
12778
|
+
if (!spec) return null;
|
|
12779
|
+
const specPath = join(this.specsDir, id, "spec.md");
|
|
12780
|
+
const timeInfo = await this.getFileTimeInfo(specPath);
|
|
12763
12781
|
return {
|
|
12764
12782
|
id,
|
|
12765
|
-
name:
|
|
12783
|
+
name: spec.name,
|
|
12784
|
+
createdAt: timeInfo?.createdAt ?? 0,
|
|
12785
|
+
updatedAt: timeInfo?.updatedAt ?? 0
|
|
12766
12786
|
};
|
|
12767
|
-
}));
|
|
12787
|
+
}))).filter((r) => r !== null).sort((a, b) => b.updatedAt - a.updatedAt);
|
|
12768
12788
|
}
|
|
12769
12789
|
async listChanges() {
|
|
12770
12790
|
try {
|
|
@@ -12774,21 +12794,25 @@ var OpenSpecAdapter = class {
|
|
|
12774
12794
|
}
|
|
12775
12795
|
}
|
|
12776
12796
|
/**
|
|
12777
|
-
* List changes with metadata (id, name, and
|
|
12797
|
+
* List changes with metadata (id, name, progress, and time info)
|
|
12798
|
+
* Only returns changes that have valid proposal.md
|
|
12799
|
+
* Sorted by updatedAt descending (most recent first)
|
|
12778
12800
|
*/
|
|
12779
12801
|
async listChangesWithMeta() {
|
|
12780
12802
|
const ids = await this.listChanges();
|
|
12781
|
-
return await Promise.all(ids.map(async (id) => {
|
|
12803
|
+
return (await Promise.all(ids.map(async (id) => {
|
|
12782
12804
|
const change = await this.readChange(id);
|
|
12805
|
+
if (!change) return null;
|
|
12806
|
+
const proposalPath = join(this.changesDir, id, "proposal.md");
|
|
12807
|
+
const timeInfo = await this.getFileTimeInfo(proposalPath);
|
|
12783
12808
|
return {
|
|
12784
12809
|
id,
|
|
12785
|
-
name: change
|
|
12786
|
-
progress: change
|
|
12787
|
-
|
|
12788
|
-
|
|
12789
|
-
}
|
|
12810
|
+
name: change.name,
|
|
12811
|
+
progress: change.progress,
|
|
12812
|
+
createdAt: timeInfo?.createdAt ?? 0,
|
|
12813
|
+
updatedAt: timeInfo?.updatedAt ?? 0
|
|
12790
12814
|
};
|
|
12791
|
-
}));
|
|
12815
|
+
}))).filter((r) => r !== null).sort((a, b) => b.updatedAt - a.updatedAt);
|
|
12792
12816
|
}
|
|
12793
12817
|
async listArchivedChanges() {
|
|
12794
12818
|
try {
|
|
@@ -12798,16 +12822,24 @@ var OpenSpecAdapter = class {
|
|
|
12798
12822
|
}
|
|
12799
12823
|
}
|
|
12800
12824
|
/**
|
|
12801
|
-
* List archived changes with metadata
|
|
12825
|
+
* List archived changes with metadata and time info
|
|
12826
|
+
* Only returns archives that have valid proposal.md
|
|
12827
|
+
* Sorted by updatedAt descending (most recent first)
|
|
12802
12828
|
*/
|
|
12803
12829
|
async listArchivedChangesWithMeta() {
|
|
12804
12830
|
const ids = await this.listArchivedChanges();
|
|
12805
|
-
return await Promise.all(ids.map(async (id) => {
|
|
12831
|
+
return (await Promise.all(ids.map(async (id) => {
|
|
12832
|
+
const change = await this.readArchivedChange(id);
|
|
12833
|
+
if (!change) return null;
|
|
12834
|
+
const proposalPath = join(this.archiveDir, id, "proposal.md");
|
|
12835
|
+
const timeInfo = await this.getFileTimeInfo(proposalPath);
|
|
12806
12836
|
return {
|
|
12807
12837
|
id,
|
|
12808
|
-
name:
|
|
12838
|
+
name: change.name,
|
|
12839
|
+
createdAt: timeInfo?.createdAt ?? 0,
|
|
12840
|
+
updatedAt: timeInfo?.updatedAt ?? 0
|
|
12809
12841
|
};
|
|
12810
|
-
}));
|
|
12842
|
+
}))).filter((r) => r !== null).sort((a, b) => b.updatedAt - a.updatedAt);
|
|
12811
12843
|
}
|
|
12812
12844
|
/**
|
|
12813
12845
|
* Read project.md content
|
|
@@ -13622,18 +13654,28 @@ function createWebSocketServer(server, httpServer) {
|
|
|
13622
13654
|
//#region src/index.ts
|
|
13623
13655
|
const __dirname = dirname$1(fileURLToPath(import.meta.url));
|
|
13624
13656
|
/**
|
|
13625
|
-
* Check if a port is available by trying to listen on it
|
|
13657
|
+
* Check if a port is available by trying to listen on it.
|
|
13658
|
+
* Tests both 127.0.0.1 and 0.0.0.0 to ensure the port is truly available.
|
|
13626
13659
|
*/
|
|
13627
13660
|
function isPortAvailable(port) {
|
|
13628
13661
|
return new Promise((resolve$1) => {
|
|
13629
|
-
const
|
|
13630
|
-
|
|
13662
|
+
const server1 = createServer$1();
|
|
13663
|
+
server1.once("error", () => {
|
|
13631
13664
|
resolve$1(false);
|
|
13632
13665
|
});
|
|
13633
|
-
|
|
13634
|
-
|
|
13666
|
+
server1.once("listening", () => {
|
|
13667
|
+
server1.close(() => {
|
|
13668
|
+
const server2 = createServer$1();
|
|
13669
|
+
server2.once("error", () => {
|
|
13670
|
+
resolve$1(false);
|
|
13671
|
+
});
|
|
13672
|
+
server2.once("listening", () => {
|
|
13673
|
+
server2.close(() => resolve$1(true));
|
|
13674
|
+
});
|
|
13675
|
+
server2.listen(port, "0.0.0.0");
|
|
13676
|
+
});
|
|
13635
13677
|
});
|
|
13636
|
-
|
|
13678
|
+
server1.listen(port, "127.0.0.1");
|
|
13637
13679
|
});
|
|
13638
13680
|
}
|
|
13639
13681
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openspecui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "OpenSpec UI - Visual interface for spec-driven development",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.mjs",
|
|
@@ -32,8 +32,9 @@
|
|
|
32
32
|
"@openspecui/server": "0.1.0"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
|
-
"build": "pnpm run build:copy-web && tsdown",
|
|
36
|
-
"build:
|
|
35
|
+
"build": "pnpm run build:web && pnpm run build:copy-web && tsdown",
|
|
36
|
+
"build:web": "pnpm --filter @openspecui/web build",
|
|
37
|
+
"build:copy-web": "rm -rf ./web && cp -r ../web/dist ./web",
|
|
37
38
|
"typecheck": "tsc --noEmit",
|
|
38
39
|
"dev": "tsx src/cli.ts",
|
|
39
40
|
"test": "vitest run",
|