@lbruton/specflow 3.0.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/CHANGELOG.md +955 -0
- package/LICENSE +674 -0
- package/README.ar.md +314 -0
- package/README.de.md +314 -0
- package/README.es.md +314 -0
- package/README.fr.md +314 -0
- package/README.it.md +314 -0
- package/README.ja.md +316 -0
- package/README.ko.md +314 -0
- package/README.md +239 -0
- package/README.pt.md +314 -0
- package/README.ru.md +314 -0
- package/README.zh.md +314 -0
- package/dist/__tests__/config.test.d.ts +2 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +264 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/__tests__/index-args.test.d.ts +2 -0
- package/dist/__tests__/index-args.test.d.ts.map +1 -0
- package/dist/__tests__/index-args.test.js +43 -0
- package/dist/__tests__/index-args.test.js.map +1 -0
- package/dist/__tests__/index-entrypoint.test.d.ts +2 -0
- package/dist/__tests__/index-entrypoint.test.d.ts.map +1 -0
- package/dist/__tests__/index-entrypoint.test.js +23 -0
- package/dist/__tests__/index-entrypoint.test.js.map +1 -0
- package/dist/config.d.ts +26 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +188 -0
- package/dist/config.js.map +1 -0
- package/dist/core/__tests__/git-utils.test.d.ts +2 -0
- package/dist/core/__tests__/git-utils.test.d.ts.map +1 -0
- package/dist/core/__tests__/git-utils.test.js +179 -0
- package/dist/core/__tests__/git-utils.test.js.map +1 -0
- package/dist/core/__tests__/mdx-validator.test.d.ts +2 -0
- package/dist/core/__tests__/mdx-validator.test.d.ts.map +1 -0
- package/dist/core/__tests__/mdx-validator.test.js +42 -0
- package/dist/core/__tests__/mdx-validator.test.js.map +1 -0
- package/dist/core/__tests__/path-utils.test.d.ts +2 -0
- package/dist/core/__tests__/path-utils.test.d.ts.map +1 -0
- package/dist/core/__tests__/path-utils.test.js +344 -0
- package/dist/core/__tests__/path-utils.test.js.map +1 -0
- package/dist/core/__tests__/project-registry.test.d.ts +2 -0
- package/dist/core/__tests__/project-registry.test.d.ts.map +1 -0
- package/dist/core/__tests__/project-registry.test.js +62 -0
- package/dist/core/__tests__/project-registry.test.js.map +1 -0
- package/dist/core/__tests__/security-utils.test.d.ts +2 -0
- package/dist/core/__tests__/security-utils.test.d.ts.map +1 -0
- package/dist/core/__tests__/security-utils.test.js +643 -0
- package/dist/core/__tests__/security-utils.test.js.map +1 -0
- package/dist/core/__tests__/task-validator.test.d.ts +2 -0
- package/dist/core/__tests__/task-validator.test.d.ts.map +1 -0
- package/dist/core/__tests__/task-validator.test.js +237 -0
- package/dist/core/__tests__/task-validator.test.js.map +1 -0
- package/dist/core/archive-service.d.ts +10 -0
- package/dist/core/archive-service.d.ts.map +1 -0
- package/dist/core/archive-service.js +99 -0
- package/dist/core/archive-service.js.map +1 -0
- package/dist/core/dashboard-session.d.ts +49 -0
- package/dist/core/dashboard-session.d.ts.map +1 -0
- package/dist/core/dashboard-session.js +132 -0
- package/dist/core/dashboard-session.js.map +1 -0
- package/dist/core/git-utils.d.ts +25 -0
- package/dist/core/git-utils.d.ts.map +1 -0
- package/dist/core/git-utils.js +87 -0
- package/dist/core/git-utils.js.map +1 -0
- package/dist/core/global-dir.d.ts +44 -0
- package/dist/core/global-dir.d.ts.map +1 -0
- package/dist/core/global-dir.js +74 -0
- package/dist/core/global-dir.js.map +1 -0
- package/dist/core/implementation-log-migrator.d.ts +41 -0
- package/dist/core/implementation-log-migrator.d.ts.map +1 -0
- package/dist/core/implementation-log-migrator.js +258 -0
- package/dist/core/implementation-log-migrator.js.map +1 -0
- package/dist/core/mdx-validator.d.ts +14 -0
- package/dist/core/mdx-validator.d.ts.map +1 -0
- package/dist/core/mdx-validator.js +34 -0
- package/dist/core/mdx-validator.js.map +1 -0
- package/dist/core/parser.d.ts +12 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/parser.js +144 -0
- package/dist/core/parser.js.map +1 -0
- package/dist/core/path-utils.d.ts +63 -0
- package/dist/core/path-utils.d.ts.map +1 -0
- package/dist/core/path-utils.js +288 -0
- package/dist/core/path-utils.js.map +1 -0
- package/dist/core/project-registry.d.ts +94 -0
- package/dist/core/project-registry.d.ts.map +1 -0
- package/dist/core/project-registry.js +293 -0
- package/dist/core/project-registry.js.map +1 -0
- package/dist/core/security-utils.d.ts +97 -0
- package/dist/core/security-utils.d.ts.map +1 -0
- package/dist/core/security-utils.js +264 -0
- package/dist/core/security-utils.js.map +1 -0
- package/dist/core/task-parser.d.ts +63 -0
- package/dist/core/task-parser.d.ts.map +1 -0
- package/dist/core/task-parser.js +332 -0
- package/dist/core/task-parser.js.map +1 -0
- package/dist/core/task-validator.d.ts +35 -0
- package/dist/core/task-validator.d.ts.map +1 -0
- package/dist/core/task-validator.js +236 -0
- package/dist/core/task-validator.js.map +1 -0
- package/dist/core/workspace-initializer.d.ts +16 -0
- package/dist/core/workspace-initializer.d.ts.map +1 -0
- package/dist/core/workspace-initializer.js +168 -0
- package/dist/core/workspace-initializer.js.map +1 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.d.ts +2 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.d.ts.map +1 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.js +69 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.js.map +1 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.d.ts +2 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.d.ts.map +1 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.js +116 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.js.map +1 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.d.ts +2 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.d.ts.map +1 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.js +118 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.js.map +1 -0
- package/dist/dashboard/approval-storage.d.ts +139 -0
- package/dist/dashboard/approval-storage.d.ts.map +1 -0
- package/dist/dashboard/approval-storage.js +586 -0
- package/dist/dashboard/approval-storage.js.map +1 -0
- package/dist/dashboard/execution-history-manager.d.ts +52 -0
- package/dist/dashboard/execution-history-manager.d.ts.map +1 -0
- package/dist/dashboard/execution-history-manager.js +161 -0
- package/dist/dashboard/execution-history-manager.js.map +1 -0
- package/dist/dashboard/implementation-log-manager.d.ts +97 -0
- package/dist/dashboard/implementation-log-manager.d.ts.map +1 -0
- package/dist/dashboard/implementation-log-manager.js +625 -0
- package/dist/dashboard/implementation-log-manager.js.map +1 -0
- package/dist/dashboard/job-scheduler.d.ts +91 -0
- package/dist/dashboard/job-scheduler.d.ts.map +1 -0
- package/dist/dashboard/job-scheduler.js +321 -0
- package/dist/dashboard/job-scheduler.js.map +1 -0
- package/dist/dashboard/multi-server.d.ts +42 -0
- package/dist/dashboard/multi-server.d.ts.map +1 -0
- package/dist/dashboard/multi-server.js +1304 -0
- package/dist/dashboard/multi-server.js.map +1 -0
- package/dist/dashboard/parser.d.ts +19 -0
- package/dist/dashboard/parser.d.ts.map +1 -0
- package/dist/dashboard/parser.js +290 -0
- package/dist/dashboard/parser.js.map +1 -0
- package/dist/dashboard/project-manager.d.ts +82 -0
- package/dist/dashboard/project-manager.d.ts.map +1 -0
- package/dist/dashboard/project-manager.js +257 -0
- package/dist/dashboard/project-manager.js.map +1 -0
- package/dist/dashboard/public/assets/Inter-Bold-CD3Pr7BX.woff2 +0 -0
- package/dist/dashboard/public/assets/Inter-Medium-B_8v_WHh.woff2 +0 -0
- package/dist/dashboard/public/assets/Inter-Regular-DRVdRqcI.woff2 +0 -0
- package/dist/dashboard/public/assets/Inter-SemiBold-CtskMddL.woff2 +0 -0
- package/dist/dashboard/public/assets/JetBrainsMono-Bold-D4WEaHbo.woff2 +0 -0
- package/dist/dashboard/public/assets/JetBrainsMono-Medium-3S3k2nMz.woff2 +0 -0
- package/dist/dashboard/public/assets/JetBrainsMono-Regular-BQaDgvhP.woff2 +0 -0
- package/dist/dashboard/public/assets/Tableau10-B-NsZVaP.js +1 -0
- package/dist/dashboard/public/assets/apl-B4CMkyY2.js +1 -0
- package/dist/dashboard/public/assets/arc-CtYZ6WTd.js +1 -0
- package/dist/dashboard/public/assets/array-BKyUJesY.js +1 -0
- package/dist/dashboard/public/assets/asciiarmor-Df11BRmG.js +1 -0
- package/dist/dashboard/public/assets/asn1-EdZsLKOL.js +1 -0
- package/dist/dashboard/public/assets/asterisk-B-8jnY81.js +1 -0
- package/dist/dashboard/public/assets/blockDiagram-c4efeb88-CzEvDZI5.js +118 -0
- package/dist/dashboard/public/assets/brainfuck-C4LP7Hcl.js +1 -0
- package/dist/dashboard/public/assets/c4Diagram-c83219d4-CuPd1dkK.js +10 -0
- package/dist/dashboard/public/assets/channel-kGGkJUti.js +1 -0
- package/dist/dashboard/public/assets/classDiagram-beda092f-CDTLUu9K.js +2 -0
- package/dist/dashboard/public/assets/classDiagram-v2-2358418a-BlHqrcgN.js +2 -0
- package/dist/dashboard/public/assets/clike-B9uivgTg.js +1 -0
- package/dist/dashboard/public/assets/clojure-BMjYHr_A.js +1 -0
- package/dist/dashboard/public/assets/clone-CHdfA33T.js +1 -0
- package/dist/dashboard/public/assets/cmake-BQqOBYOt.js +1 -0
- package/dist/dashboard/public/assets/cobol-CWcv1MsR.js +1 -0
- package/dist/dashboard/public/assets/coffeescript-S37ZYGWr.js +1 -0
- package/dist/dashboard/public/assets/commonlisp-DBKNyK5s.js +1 -0
- package/dist/dashboard/public/assets/createText-1719965b-B3cTooQ1.js +7 -0
- package/dist/dashboard/public/assets/crystal-SjHAIU92.js +1 -0
- package/dist/dashboard/public/assets/css-BnMrqG3P.js +1 -0
- package/dist/dashboard/public/assets/cypher-C_CwsFkJ.js +1 -0
- package/dist/dashboard/public/assets/d-pRatUO7H.js +1 -0
- package/dist/dashboard/public/assets/diff-DbItnlRl.js +1 -0
- package/dist/dashboard/public/assets/dockerfile-BKs6k2Af.js +1 -0
- package/dist/dashboard/public/assets/dtd-DF_7sFjM.js +1 -0
- package/dist/dashboard/public/assets/dylan-DwRh75JA.js +1 -0
- package/dist/dashboard/public/assets/ebnf-CDyGwa7X.js +1 -0
- package/dist/dashboard/public/assets/ecl-Cabwm37j.js +1 -0
- package/dist/dashboard/public/assets/edges-96097737-CbHatH6o.js +4 -0
- package/dist/dashboard/public/assets/eiffel-CnydiIhH.js +1 -0
- package/dist/dashboard/public/assets/elm-vLlmbW-K.js +1 -0
- package/dist/dashboard/public/assets/erDiagram-0228fc6a-MYCicRH6.js +51 -0
- package/dist/dashboard/public/assets/erlang-BNw1qcRV.js +1 -0
- package/dist/dashboard/public/assets/factor-kuTfRLto.js +1 -0
- package/dist/dashboard/public/assets/fcl-Kvtd6kyn.js +1 -0
- package/dist/dashboard/public/assets/flowDb-c6c81e3f-DDm9aBGx.js +10 -0
- package/dist/dashboard/public/assets/flowDiagram-50d868cf-zb-JtJG0.js +4 -0
- package/dist/dashboard/public/assets/flowDiagram-v2-4f6560a1-DRD7GAtr.js +1 -0
- package/dist/dashboard/public/assets/flowchart-elk-definition-6af322e1-D5TGPnG-.js +139 -0
- package/dist/dashboard/public/assets/forth-Ffai-XNe.js +1 -0
- package/dist/dashboard/public/assets/fortran-DYz_wnZ1.js +1 -0
- package/dist/dashboard/public/assets/ganttDiagram-a2739b55-Cqst4HhR.js +257 -0
- package/dist/dashboard/public/assets/gas-Bneqetm1.js +1 -0
- package/dist/dashboard/public/assets/gherkin-heZmZLOM.js +1 -0
- package/dist/dashboard/public/assets/gitGraphDiagram-82fe8481-C8JWqtTx.js +70 -0
- package/dist/dashboard/public/assets/graph-Lpyd8dqZ.js +1 -0
- package/dist/dashboard/public/assets/groovy-D9Dt4D0W.js +1 -0
- package/dist/dashboard/public/assets/haskell-Cw1EW3IL.js +1 -0
- package/dist/dashboard/public/assets/haxe-H-WmDvRZ.js +1 -0
- package/dist/dashboard/public/assets/http-DBlCnlav.js +1 -0
- package/dist/dashboard/public/assets/idl-BEugSyMb.js +1 -0
- package/dist/dashboard/public/assets/index--_-9KDkB.js +1 -0
- package/dist/dashboard/public/assets/index-5325376f-Ngqm3jj1.js +1 -0
- package/dist/dashboard/public/assets/index-7POr4IQt.js +1 -0
- package/dist/dashboard/public/assets/index-B2wloU4M.js +7 -0
- package/dist/dashboard/public/assets/index-BB9i8dPx.js +329 -0
- package/dist/dashboard/public/assets/index-BHCmvfMN.js +1 -0
- package/dist/dashboard/public/assets/index-BWvyG2sq.js +1 -0
- package/dist/dashboard/public/assets/index-BhwV70vC.js +2 -0
- package/dist/dashboard/public/assets/index-Bqk8CAAy.js +1 -0
- package/dist/dashboard/public/assets/index-CUP35nar.js +1 -0
- package/dist/dashboard/public/assets/index-CYy3mVaI.js +1 -0
- package/dist/dashboard/public/assets/index-Cqbzr5qD.js +3 -0
- package/dist/dashboard/public/assets/index-Cv_FT1Rp.css +1 -0
- package/dist/dashboard/public/assets/index-D4J257wx.js +1 -0
- package/dist/dashboard/public/assets/index-D9fDAa7f.js +1 -0
- package/dist/dashboard/public/assets/index-DFN4bEYo.js +1 -0
- package/dist/dashboard/public/assets/index-DQ2Aap_e.js +1 -0
- package/dist/dashboard/public/assets/index-Djo38KZb.js +1 -0
- package/dist/dashboard/public/assets/index-RZXsuDxo.js +1 -0
- package/dist/dashboard/public/assets/index-m5SRqxVX.js +1 -0
- package/dist/dashboard/public/assets/infoDiagram-8eee0895-DYMb32US.js +7 -0
- package/dist/dashboard/public/assets/init-Gi6I4Gst.js +1 -0
- package/dist/dashboard/public/assets/javascript-iXu5QeM3.js +1 -0
- package/dist/dashboard/public/assets/journeyDiagram-c64418c1-BgL0JuAb.js +139 -0
- package/dist/dashboard/public/assets/julia-DuME0IfC.js +1 -0
- package/dist/dashboard/public/assets/katex-XbL3y5x-.js +261 -0
- package/dist/dashboard/public/assets/layout-DP9fJAz2.js +1 -0
- package/dist/dashboard/public/assets/line-N_NGiB5u.js +1 -0
- package/dist/dashboard/public/assets/linear-B1Bl-FQE.js +1 -0
- package/dist/dashboard/public/assets/livescript-BwQOo05w.js +1 -0
- package/dist/dashboard/public/assets/lua-BgMRiT3U.js +1 -0
- package/dist/dashboard/public/assets/mathematica-DTrFuWx2.js +1 -0
- package/dist/dashboard/public/assets/mbox-CNhZ1qSd.js +1 -0
- package/dist/dashboard/public/assets/mindmap-definition-8da855dc-DuejFf1j.js +415 -0
- package/dist/dashboard/public/assets/mirc-CjQqDB4T.js +1 -0
- package/dist/dashboard/public/assets/mllike-CXdrOF99.js +1 -0
- package/dist/dashboard/public/assets/modelica-Dc1JOy9r.js +1 -0
- package/dist/dashboard/public/assets/mscgen-BA5vi2Kp.js +1 -0
- package/dist/dashboard/public/assets/mumps-BT43cFF4.js +1 -0
- package/dist/dashboard/public/assets/nginx-DdIZxoE0.js +1 -0
- package/dist/dashboard/public/assets/nsis-LdVXkNf5.js +1 -0
- package/dist/dashboard/public/assets/ntriples-BfvgReVJ.js +1 -0
- package/dist/dashboard/public/assets/octave-Ck1zUtKM.js +1 -0
- package/dist/dashboard/public/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist/dashboard/public/assets/oz-BzwKVEFT.js +1 -0
- package/dist/dashboard/public/assets/pascal--L3eBynH.js +1 -0
- package/dist/dashboard/public/assets/path-CbwjOpE9.js +1 -0
- package/dist/dashboard/public/assets/perl-CdXCOZ3F.js +1 -0
- package/dist/dashboard/public/assets/pieDiagram-a8764435-fJ2uKW1i.js +35 -0
- package/dist/dashboard/public/assets/pig-CevX1Tat.js +1 -0
- package/dist/dashboard/public/assets/powershell-CFHJl5sT.js +1 -0
- package/dist/dashboard/public/assets/properties-C78fOPTZ.js +1 -0
- package/dist/dashboard/public/assets/protobuf-ChK-085T.js +1 -0
- package/dist/dashboard/public/assets/pug-DeIclll2.js +1 -0
- package/dist/dashboard/public/assets/puppet-DMA9R1ak.js +1 -0
- package/dist/dashboard/public/assets/python-BuPzkPfP.js +1 -0
- package/dist/dashboard/public/assets/q-pXgVlZs6.js +1 -0
- package/dist/dashboard/public/assets/quadrantDiagram-1e28029f-Dowa1iq5.js +7 -0
- package/dist/dashboard/public/assets/r-B6wPVr8A.js +1 -0
- package/dist/dashboard/public/assets/requirementDiagram-08caed73-1PKeJnUu.js +52 -0
- package/dist/dashboard/public/assets/rpm-CTu-6PCP.js +1 -0
- package/dist/dashboard/public/assets/ruby-B2Rjki9n.js +1 -0
- package/dist/dashboard/public/assets/sankeyDiagram-a04cb91d-C3Nu91E8.js +8 -0
- package/dist/dashboard/public/assets/sas-B4kiWyti.js +1 -0
- package/dist/dashboard/public/assets/scheme-C41bIUwD.js +1 -0
- package/dist/dashboard/public/assets/sequenceDiagram-c5b8d532-BbyYeaFb.js +122 -0
- package/dist/dashboard/public/assets/shell-CjFT_Tl9.js +1 -0
- package/dist/dashboard/public/assets/sieve-C3Gn_uJK.js +1 -0
- package/dist/dashboard/public/assets/simple-mode-GW_nhZxv.js +1 -0
- package/dist/dashboard/public/assets/smalltalk-CnHTOXQT.js +1 -0
- package/dist/dashboard/public/assets/solr-DehyRSwq.js +1 -0
- package/dist/dashboard/public/assets/sparql-DkYu6x3z.js +1 -0
- package/dist/dashboard/public/assets/spreadsheet-BCZA_wO0.js +1 -0
- package/dist/dashboard/public/assets/sql-D0XecflT.js +1 -0
- package/dist/dashboard/public/assets/stateDiagram-1ecb1508-BVkb4gIE.js +1 -0
- package/dist/dashboard/public/assets/stateDiagram-v2-c2b004d7-Bm7qug6Q.js +1 -0
- package/dist/dashboard/public/assets/stex-C3f8Ysf7.js +1 -0
- package/dist/dashboard/public/assets/styles-b4e223ce-BuqydlKk.js +160 -0
- package/dist/dashboard/public/assets/styles-ca3715f6-C8L7peEM.js +207 -0
- package/dist/dashboard/public/assets/styles-d45a18b0-BbrCCPkQ.js +116 -0
- package/dist/dashboard/public/assets/stylus-B533Al4x.js +1 -0
- package/dist/dashboard/public/assets/svgDrawCommon-b86b1483-DQZAHvSt.js +1 -0
- package/dist/dashboard/public/assets/swift-BzpIVaGY.js +1 -0
- package/dist/dashboard/public/assets/tcl-DVfN8rqt.js +1 -0
- package/dist/dashboard/public/assets/textile-CnDTJFAw.js +1 -0
- package/dist/dashboard/public/assets/tiddlywiki-DO-Gjzrf.js +1 -0
- package/dist/dashboard/public/assets/tiki-DGYXhP31.js +1 -0
- package/dist/dashboard/public/assets/timeline-definition-faaaa080-YPoIuE--.js +61 -0
- package/dist/dashboard/public/assets/toml-Bm5Em-hy.js +1 -0
- package/dist/dashboard/public/assets/troff-wAsdV37c.js +1 -0
- package/dist/dashboard/public/assets/ttcn-CfJYG6tj.js +1 -0
- package/dist/dashboard/public/assets/ttcn-cfg-B9xdYoR4.js +1 -0
- package/dist/dashboard/public/assets/turtle-B1tBg_DP.js +1 -0
- package/dist/dashboard/public/assets/vb-CmGdzxic.js +1 -0
- package/dist/dashboard/public/assets/vbscript-BuJXcnF6.js +1 -0
- package/dist/dashboard/public/assets/velocity-D8B20fx6.js +1 -0
- package/dist/dashboard/public/assets/verilog-C6RDOZhf.js +1 -0
- package/dist/dashboard/public/assets/vhdl-lSbBsy5d.js +1 -0
- package/dist/dashboard/public/assets/webidl-ZXfAyPTL.js +1 -0
- package/dist/dashboard/public/assets/xquery-DzFWVndE.js +1 -0
- package/dist/dashboard/public/assets/xychartDiagram-f5964ef8-BnI4pVWV.js +7 -0
- package/dist/dashboard/public/assets/yacas-BJ4BC0dw.js +1 -0
- package/dist/dashboard/public/assets/z80-Hz9HOZM7.js +1 -0
- package/dist/dashboard/public/claude-icon-dark.svg +1 -0
- package/dist/dashboard/public/claude-icon.svg +1 -0
- package/dist/dashboard/public/index.html +16 -0
- package/dist/dashboard/settings-manager.d.ts +47 -0
- package/dist/dashboard/settings-manager.d.ts.map +1 -0
- package/dist/dashboard/settings-manager.js +180 -0
- package/dist/dashboard/settings-manager.js.map +1 -0
- package/dist/dashboard/utils.d.ts +31 -0
- package/dist/dashboard/utils.d.ts.map +1 -0
- package/dist/dashboard/utils.js +102 -0
- package/dist/dashboard/utils.js.map +1 -0
- package/dist/dashboard/watcher.d.ts +32 -0
- package/dist/dashboard/watcher.d.ts.map +1 -0
- package/dist/dashboard/watcher.js +173 -0
- package/dist/dashboard/watcher.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +380 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown/templates/code-quality-reviewer-template.md +76 -0
- package/dist/markdown/templates/design-template.md +141 -0
- package/dist/markdown/templates/implementer-prompt-template.md +122 -0
- package/dist/markdown/templates/product-template.md +51 -0
- package/dist/markdown/templates/requirements-template.md +73 -0
- package/dist/markdown/templates/spec-reviewer-template.md +58 -0
- package/dist/markdown/templates/structure-template.md +145 -0
- package/dist/markdown/templates/tasks-template.md +182 -0
- package/dist/markdown/templates/tech-template.md +99 -0
- package/dist/prompts/create-spec.d.ts +3 -0
- package/dist/prompts/create-spec.d.ts.map +1 -0
- package/dist/prompts/create-spec.js +93 -0
- package/dist/prompts/create-spec.js.map +1 -0
- package/dist/prompts/create-steering-doc.d.ts +3 -0
- package/dist/prompts/create-steering-doc.d.ts.map +1 -0
- package/dist/prompts/create-steering-doc.js +73 -0
- package/dist/prompts/create-steering-doc.js.map +1 -0
- package/dist/prompts/implement-task.d.ts +3 -0
- package/dist/prompts/implement-task.d.ts.map +1 -0
- package/dist/prompts/implement-task.js +189 -0
- package/dist/prompts/implement-task.js.map +1 -0
- package/dist/prompts/index.d.ts +15 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +49 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/inject-spec-workflow-guide.d.ts +3 -0
- package/dist/prompts/inject-spec-workflow-guide.d.ts.map +1 -0
- package/dist/prompts/inject-spec-workflow-guide.js +47 -0
- package/dist/prompts/inject-spec-workflow-guide.js.map +1 -0
- package/dist/prompts/inject-steering-guide.d.ts +3 -0
- package/dist/prompts/inject-steering-guide.d.ts.map +1 -0
- package/dist/prompts/inject-steering-guide.js +51 -0
- package/dist/prompts/inject-steering-guide.js.map +1 -0
- package/dist/prompts/refresh-tasks.d.ts +3 -0
- package/dist/prompts/refresh-tasks.d.ts.map +1 -0
- package/dist/prompts/refresh-tasks.js +224 -0
- package/dist/prompts/refresh-tasks.js.map +1 -0
- package/dist/prompts/spec-status.d.ts +3 -0
- package/dist/prompts/spec-status.d.ts.map +1 -0
- package/dist/prompts/spec-status.js +75 -0
- package/dist/prompts/spec-status.js.map +1 -0
- package/dist/prompts/types.d.ts +13 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +2 -0
- package/dist/prompts/types.js.map +1 -0
- package/dist/server.d.ts +17 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +175 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/__tests__/projectPath.test.d.ts +2 -0
- package/dist/tools/__tests__/projectPath.test.d.ts.map +1 -0
- package/dist/tools/__tests__/projectPath.test.js +187 -0
- package/dist/tools/__tests__/projectPath.test.js.map +1 -0
- package/dist/tools/approvals.d.ts +14 -0
- package/dist/tools/approvals.d.ts.map +1 -0
- package/dist/tools/approvals.js +501 -0
- package/dist/tools/approvals.js.map +1 -0
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +57 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/log-implementation.d.ts +5 -0
- package/dist/tools/log-implementation.d.ts.map +1 -0
- package/dist/tools/log-implementation.js +446 -0
- package/dist/tools/log-implementation.js.map +1 -0
- package/dist/tools/spec-list.d.ts +5 -0
- package/dist/tools/spec-list.d.ts.map +1 -0
- package/dist/tools/spec-list.js +144 -0
- package/dist/tools/spec-list.js.map +1 -0
- package/dist/tools/spec-status.d.ts +5 -0
- package/dist/tools/spec-status.d.ts.map +1 -0
- package/dist/tools/spec-status.js +238 -0
- package/dist/tools/spec-status.js.map +1 -0
- package/dist/tools/spec-workflow-guide.d.ts +5 -0
- package/dist/tools/spec-workflow-guide.d.ts.map +1 -0
- package/dist/tools/spec-workflow-guide.js +580 -0
- package/dist/tools/spec-workflow-guide.js.map +1 -0
- package/dist/tools/steering-guide.d.ts +5 -0
- package/dist/tools/steering-guide.d.ts.map +1 -0
- package/dist/tools/steering-guide.js +192 -0
- package/dist/tools/steering-guide.js.map +1 -0
- package/dist/types.d.ts +186 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -0
- package/package.json +105 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
export const steeringGuideTool = {
|
|
2
|
+
name: 'steering-guide',
|
|
3
|
+
description: `Load guide for creating project steering documents.
|
|
4
|
+
|
|
5
|
+
# Instructions
|
|
6
|
+
Call ONLY when user explicitly requests steering document creation or asks about project architecture docs. Not part of standard spec workflow. Provides templates and guidance for product.md, tech.md, and structure.md creation. Its important that you follow this workflow exactly to avoid errors.`,
|
|
7
|
+
inputSchema: {
|
|
8
|
+
type: 'object',
|
|
9
|
+
properties: {},
|
|
10
|
+
additionalProperties: false
|
|
11
|
+
},
|
|
12
|
+
annotations: {
|
|
13
|
+
title: 'Steering Guide',
|
|
14
|
+
readOnlyHint: true,
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
export async function steeringGuideHandler(args, context) {
|
|
18
|
+
return {
|
|
19
|
+
success: true,
|
|
20
|
+
message: 'Steering workflow guide loaded - follow this workflow exactly to avoid errors',
|
|
21
|
+
data: {
|
|
22
|
+
guide: getSteeringGuide(),
|
|
23
|
+
dashboardUrl: context.dashboardUrl
|
|
24
|
+
},
|
|
25
|
+
nextSteps: [
|
|
26
|
+
'Only proceed if user requested steering docs',
|
|
27
|
+
'Create product.md first',
|
|
28
|
+
'Then tech.md and structure.md',
|
|
29
|
+
'Reference in future specs',
|
|
30
|
+
context.dashboardUrl ? `Dashboard: ${context.dashboardUrl}` : 'Start the dashboard with: spec-workflow-mcp --dashboard'
|
|
31
|
+
]
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function getSteeringGuide() {
|
|
35
|
+
return `# Steering Workflow
|
|
36
|
+
|
|
37
|
+
## Overview
|
|
38
|
+
|
|
39
|
+
Create project-level guidance documents when explicitly requested. Steering docs establish vision, architecture, and conventions for established codebases. Its important that you follow this workflow exactly to avoid errors.
|
|
40
|
+
|
|
41
|
+
## Workflow Diagram
|
|
42
|
+
|
|
43
|
+
\`\`\`mermaid
|
|
44
|
+
flowchart TD
|
|
45
|
+
Start([Start: Setup steering docs]) --> Guide[steering-guide<br/>Load workflow instructions]
|
|
46
|
+
|
|
47
|
+
%% Phase 1: Product
|
|
48
|
+
Guide --> P1_Template[Check user-templates first,<br/>then read template:<br/>product-template.md]
|
|
49
|
+
P1_Template --> P1_Generate[Generate vision & goals]
|
|
50
|
+
P1_Generate --> P1_Create[Create file:<br/>.spec-workflow/steering/<br/>product.md]
|
|
51
|
+
P1_Create --> P1_Approve[approvals<br/>action: request<br/>filePath only]
|
|
52
|
+
P1_Approve --> P1_Status[approvals<br/>action: status<br/>poll status]
|
|
53
|
+
P1_Status --> P1_Check{Status?}
|
|
54
|
+
P1_Check -->|needs-revision| P1_Update[Update document using user comments for guidance]
|
|
55
|
+
P1_Update --> P1_Create
|
|
56
|
+
P1_Check -->|approved| P1_Clean[approvals<br/>action: delete]
|
|
57
|
+
P1_Clean -->|failed| P1_Status
|
|
58
|
+
|
|
59
|
+
%% Phase 2: Tech
|
|
60
|
+
P1_Clean -->|success| P2_Template[Check user-templates first,<br/>then read template:<br/>tech-template.md]
|
|
61
|
+
P2_Template --> P2_Analyze[Analyze tech stack]
|
|
62
|
+
P2_Analyze --> P2_Create[Create file:<br/>.spec-workflow/steering/<br/>tech.md]
|
|
63
|
+
P2_Create --> P2_Approve[approvals<br/>action: request<br/>filePath only]
|
|
64
|
+
P2_Approve --> P2_Status[approvals<br/>action: status<br/>poll status]
|
|
65
|
+
P2_Status --> P2_Check{Status?}
|
|
66
|
+
P2_Check -->|needs-revision| P2_Update[Update document using user comments for guidance]
|
|
67
|
+
P2_Update --> P2_Create
|
|
68
|
+
P2_Check -->|approved| P2_Clean[approvals<br/>action: delete]
|
|
69
|
+
P2_Clean -->|failed| P2_Status
|
|
70
|
+
|
|
71
|
+
%% Phase 3: Structure
|
|
72
|
+
P2_Clean -->|success| P3_Template[Check user-templates first,<br/>then read template:<br/>structure-template.md]
|
|
73
|
+
P3_Template --> P3_Analyze[Analyze codebase structure]
|
|
74
|
+
P3_Analyze --> P3_Create[Create file:<br/>.spec-workflow/steering/<br/>structure.md]
|
|
75
|
+
P3_Create --> P3_Approve[approvals<br/>action: request<br/>filePath only]
|
|
76
|
+
P3_Approve --> P3_Status[approvals<br/>action: status<br/>poll status]
|
|
77
|
+
P3_Status --> P3_Check{Status?}
|
|
78
|
+
P3_Check -->|needs-revision| P3_Update[Update document using user comments for guidance]
|
|
79
|
+
P3_Update --> P3_Create
|
|
80
|
+
P3_Check -->|approved| P3_Clean[approvals<br/>action: delete]
|
|
81
|
+
P3_Clean -->|failed| P3_Status
|
|
82
|
+
|
|
83
|
+
P3_Clean -->|success| Complete([Steering docs complete])
|
|
84
|
+
|
|
85
|
+
style Start fill:#e6f3ff
|
|
86
|
+
style Complete fill:#e6f3ff
|
|
87
|
+
style P1_Check fill:#ffe6e6
|
|
88
|
+
style P2_Check fill:#ffe6e6
|
|
89
|
+
style P3_Check fill:#ffe6e6
|
|
90
|
+
\`\`\`
|
|
91
|
+
|
|
92
|
+
## Steering Workflow Phases
|
|
93
|
+
|
|
94
|
+
### Phase 1: Product Document
|
|
95
|
+
**Purpose**: Define vision, goals, and user outcomes.
|
|
96
|
+
|
|
97
|
+
**File Operations**:
|
|
98
|
+
- Check for custom template: \`.spec-workflow/user-templates/product-template.md\`
|
|
99
|
+
- Read template: \`.spec-workflow/templates/product-template.md\` (if no custom template)
|
|
100
|
+
- Create document: \`.spec-workflow/steering/product.md\`
|
|
101
|
+
|
|
102
|
+
**Tools**:
|
|
103
|
+
- steering-guide: Load workflow instructions
|
|
104
|
+
- approvals: Manage approval workflow (actions: request, status, delete)
|
|
105
|
+
|
|
106
|
+
**Process**:
|
|
107
|
+
1. Load steering guide for workflow overview
|
|
108
|
+
2. Check for custom template at \`.spec-workflow/user-templates/product-template.md\`
|
|
109
|
+
3. If no custom template, read from \`.spec-workflow/templates/product-template.md\`
|
|
110
|
+
4. Generate product vision and goals
|
|
111
|
+
5. Create \`product.md\` at \`.spec-workflow/steering/product.md\`
|
|
112
|
+
6. Request approval using approvals tool with action:'request' (filePath only)
|
|
113
|
+
7. Poll status using approvals with action:'status' until approved/needs-revision (NEVER accept verbal approval)
|
|
114
|
+
8. If needs-revision: update document using comments, create NEW approval, do NOT proceed
|
|
115
|
+
9. Once approved: use approvals with action:'delete' (must succeed) before proceeding
|
|
116
|
+
10. If delete fails: STOP - return to polling
|
|
117
|
+
|
|
118
|
+
### Phase 2: Tech Document
|
|
119
|
+
**Purpose**: Document technology decisions and architecture.
|
|
120
|
+
|
|
121
|
+
**File Operations**:
|
|
122
|
+
- Check for custom template: \`.spec-workflow/user-templates/tech-template.md\`
|
|
123
|
+
- Read template: \`.spec-workflow/templates/tech-template.md\` (if no custom template)
|
|
124
|
+
- Create document: \`.spec-workflow/steering/tech.md\`
|
|
125
|
+
|
|
126
|
+
**Tools**:
|
|
127
|
+
- approvals: Manage approval workflow (actions: request, status, delete)
|
|
128
|
+
|
|
129
|
+
**Process**:
|
|
130
|
+
1. Check for custom template at \`.spec-workflow/user-templates/tech-template.md\`
|
|
131
|
+
2. If no custom template, read from \`.spec-workflow/templates/tech-template.md\`
|
|
132
|
+
3. Analyze existing technology stack
|
|
133
|
+
4. Document architectural decisions and patterns
|
|
134
|
+
5. Create \`tech.md\` at \`.spec-workflow/steering/tech.md\`
|
|
135
|
+
6. Request approval using approvals tool with action:'request'
|
|
136
|
+
7. Poll status using approvals with action:'status' until approved/needs-revision
|
|
137
|
+
8. If needs-revision: update document using comments, create NEW approval, do NOT proceed
|
|
138
|
+
9. Once approved: use approvals with action:'delete' (must succeed) before proceeding
|
|
139
|
+
10. If delete fails: STOP - return to polling
|
|
140
|
+
|
|
141
|
+
### Phase 3: Structure Document
|
|
142
|
+
**Purpose**: Map codebase organization and patterns.
|
|
143
|
+
|
|
144
|
+
**File Operations**:
|
|
145
|
+
- Check for custom template: \`.spec-workflow/user-templates/structure-template.md\`
|
|
146
|
+
- Read template: \`.spec-workflow/templates/structure-template.md\` (if no custom template)
|
|
147
|
+
- Create document: \`.spec-workflow/steering/structure.md\`
|
|
148
|
+
|
|
149
|
+
**Tools**:
|
|
150
|
+
- approvals: Manage approval workflow (actions: request, status, delete)
|
|
151
|
+
|
|
152
|
+
**Process**:
|
|
153
|
+
1. Check for custom template at \`.spec-workflow/user-templates/structure-template.md\`
|
|
154
|
+
2. If no custom template, read from \`.spec-workflow/templates/structure-template.md\`
|
|
155
|
+
3. Analyze directory structure and file organization
|
|
156
|
+
4. Document coding patterns and conventions
|
|
157
|
+
5. Create \`structure.md\` at \`.spec-workflow/steering/structure.md\`
|
|
158
|
+
6. Request approval using approvals tool with action:'request'
|
|
159
|
+
7. Poll status using approvals with action:'status' until approved/needs-revision
|
|
160
|
+
8. If needs-revision: update document using comments, create NEW approval, do NOT proceed
|
|
161
|
+
9. Once approved: use approvals with action:'delete' (must succeed) before proceeding
|
|
162
|
+
10. If delete fails: STOP - return to polling
|
|
163
|
+
11. After successful cleanup: "Steering docs complete. Ready for spec creation?"
|
|
164
|
+
|
|
165
|
+
## Workflow Rules
|
|
166
|
+
|
|
167
|
+
- Create documents directly at specified file paths
|
|
168
|
+
- Check for custom templates in \`.spec-workflow/user-templates/\` first
|
|
169
|
+
- Read templates from \`.spec-workflow/templates/\` directory if no custom template exists
|
|
170
|
+
- Follow exact template structures
|
|
171
|
+
- Get explicit user approval between phases (using approvals tool with action:'request')
|
|
172
|
+
- Complete phases in sequence (no skipping)
|
|
173
|
+
- Approval requests: provide filePath only, never content
|
|
174
|
+
- BLOCKING: Never proceed if approval delete fails
|
|
175
|
+
- CRITICAL: Must have approved status AND successful cleanup before next phase
|
|
176
|
+
- CRITICAL: Verbal approval is NEVER accepted - dashboard or VS Code extension only
|
|
177
|
+
- NEVER proceed on user saying "approved" - check system status only
|
|
178
|
+
|
|
179
|
+
## File Structure
|
|
180
|
+
\`\`\`
|
|
181
|
+
.spec-workflow/
|
|
182
|
+
├── templates/ # Auto-populated on server start
|
|
183
|
+
│ ├── product-template.md
|
|
184
|
+
│ ├── tech-template.md
|
|
185
|
+
│ └── structure-template.md
|
|
186
|
+
└── steering/
|
|
187
|
+
├── product.md
|
|
188
|
+
├── tech.md
|
|
189
|
+
└── structure.md
|
|
190
|
+
\`\`\``;
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=steering-guide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"steering-guide.js","sourceRoot":"","sources":["../../src/tools/steering-guide.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE;;;ySAG0R;IACvS,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,KAAK;KAC5B;IACD,WAAW,EAAE;QACX,KAAK,EAAE,gBAAgB;QACvB,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAS,EAAE,OAAoB;IACxE,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,+EAA+E;QACxF,IAAI,EAAE;YACJ,KAAK,EAAE,gBAAgB,EAAE;YACzB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC;QACD,SAAS,EAAE;YACT,8CAA8C;YAC9C,yBAAyB;YACzB,+BAA+B;YAC/B,2BAA2B;YAC3B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,yDAAyD;SACxH;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2JF,CAAC;AACR,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
export interface AutomationJob {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
type: 'cleanup-approvals' | 'cleanup-specs' | 'cleanup-archived-specs';
|
|
5
|
+
enabled: boolean;
|
|
6
|
+
config: {
|
|
7
|
+
daysOld: number;
|
|
8
|
+
};
|
|
9
|
+
schedule: string;
|
|
10
|
+
lastRun?: string;
|
|
11
|
+
nextRun?: string;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SecurityConfig {
|
|
15
|
+
rateLimitEnabled: boolean;
|
|
16
|
+
rateLimitPerMinute: number;
|
|
17
|
+
auditLogEnabled: boolean;
|
|
18
|
+
auditLogPath?: string;
|
|
19
|
+
auditLogRetentionDays: number;
|
|
20
|
+
corsEnabled: boolean;
|
|
21
|
+
allowedOrigins: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface GlobalSettings {
|
|
24
|
+
automationJobs: AutomationJob[];
|
|
25
|
+
security?: SecurityConfig;
|
|
26
|
+
createdAt?: string;
|
|
27
|
+
lastModified?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface JobExecutionHistory {
|
|
30
|
+
jobId: string;
|
|
31
|
+
jobName: string;
|
|
32
|
+
jobType: string;
|
|
33
|
+
executedAt: string;
|
|
34
|
+
success: boolean;
|
|
35
|
+
duration: number;
|
|
36
|
+
itemsProcessed: number;
|
|
37
|
+
itemsDeleted: number;
|
|
38
|
+
error?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface JobExecutionLog {
|
|
41
|
+
executions: JobExecutionHistory[];
|
|
42
|
+
lastUpdated?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface ToolContext {
|
|
45
|
+
projectPath: string;
|
|
46
|
+
dashboardUrl?: string;
|
|
47
|
+
lang?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface SpecData {
|
|
50
|
+
name: string;
|
|
51
|
+
description?: string;
|
|
52
|
+
createdAt: string;
|
|
53
|
+
lastModified: string;
|
|
54
|
+
phases: {
|
|
55
|
+
requirements: PhaseStatus;
|
|
56
|
+
design: PhaseStatus;
|
|
57
|
+
tasks: PhaseStatus;
|
|
58
|
+
readinessReport: PhaseStatus;
|
|
59
|
+
implementation: PhaseStatus;
|
|
60
|
+
};
|
|
61
|
+
taskProgress?: {
|
|
62
|
+
total: number;
|
|
63
|
+
completed: number;
|
|
64
|
+
pending: number;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export interface PhaseStatus {
|
|
68
|
+
exists: boolean;
|
|
69
|
+
approved?: boolean;
|
|
70
|
+
lastModified?: string;
|
|
71
|
+
content?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface SteeringStatus {
|
|
74
|
+
exists: boolean;
|
|
75
|
+
documents: {
|
|
76
|
+
product: boolean;
|
|
77
|
+
tech: boolean;
|
|
78
|
+
structure: boolean;
|
|
79
|
+
};
|
|
80
|
+
lastModified?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface PromptSection {
|
|
83
|
+
key: string;
|
|
84
|
+
value: string;
|
|
85
|
+
}
|
|
86
|
+
export interface TaskInfo {
|
|
87
|
+
id: string;
|
|
88
|
+
description: string;
|
|
89
|
+
leverage?: string;
|
|
90
|
+
requirements?: string;
|
|
91
|
+
completed: boolean;
|
|
92
|
+
details?: string[];
|
|
93
|
+
prompt?: string;
|
|
94
|
+
promptStructured?: PromptSection[];
|
|
95
|
+
}
|
|
96
|
+
export interface ImplementationLogEntry {
|
|
97
|
+
id: string;
|
|
98
|
+
taskId: string;
|
|
99
|
+
timestamp: string;
|
|
100
|
+
summary: string;
|
|
101
|
+
filesModified: string[];
|
|
102
|
+
filesCreated: string[];
|
|
103
|
+
statistics: {
|
|
104
|
+
linesAdded: number;
|
|
105
|
+
linesRemoved: number;
|
|
106
|
+
filesChanged: number;
|
|
107
|
+
};
|
|
108
|
+
artifacts: {
|
|
109
|
+
apiEndpoints?: Array<{
|
|
110
|
+
method: string;
|
|
111
|
+
path: string;
|
|
112
|
+
purpose: string;
|
|
113
|
+
requestFormat?: string;
|
|
114
|
+
responseFormat?: string;
|
|
115
|
+
location: string;
|
|
116
|
+
}>;
|
|
117
|
+
components?: Array<{
|
|
118
|
+
name: string;
|
|
119
|
+
type: string;
|
|
120
|
+
purpose: string;
|
|
121
|
+
location: string;
|
|
122
|
+
props?: string;
|
|
123
|
+
exports?: string[];
|
|
124
|
+
}>;
|
|
125
|
+
functions?: Array<{
|
|
126
|
+
name: string;
|
|
127
|
+
purpose: string;
|
|
128
|
+
location: string;
|
|
129
|
+
signature?: string;
|
|
130
|
+
isExported: boolean;
|
|
131
|
+
}>;
|
|
132
|
+
classes?: Array<{
|
|
133
|
+
name: string;
|
|
134
|
+
purpose: string;
|
|
135
|
+
location: string;
|
|
136
|
+
methods?: string[];
|
|
137
|
+
isExported: boolean;
|
|
138
|
+
}>;
|
|
139
|
+
integrations?: Array<{
|
|
140
|
+
description: string;
|
|
141
|
+
frontendComponent: string;
|
|
142
|
+
backendEndpoint: string;
|
|
143
|
+
dataFlow: string;
|
|
144
|
+
}>;
|
|
145
|
+
tests?: Array<{
|
|
146
|
+
name: string;
|
|
147
|
+
type: string;
|
|
148
|
+
framework: string;
|
|
149
|
+
location: string;
|
|
150
|
+
status: string;
|
|
151
|
+
passed: number;
|
|
152
|
+
failed: number;
|
|
153
|
+
total: number;
|
|
154
|
+
duration?: string;
|
|
155
|
+
coveragePercent?: number;
|
|
156
|
+
userStories?: string[];
|
|
157
|
+
}>;
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
export interface ImplementationLog {
|
|
161
|
+
entries: ImplementationLogEntry[];
|
|
162
|
+
lastUpdated?: string;
|
|
163
|
+
}
|
|
164
|
+
export interface ToolResponse {
|
|
165
|
+
success: boolean;
|
|
166
|
+
message: string;
|
|
167
|
+
data?: any;
|
|
168
|
+
nextSteps?: string[];
|
|
169
|
+
projectContext?: {
|
|
170
|
+
projectPath: string;
|
|
171
|
+
workflowRoot: string;
|
|
172
|
+
specName?: string;
|
|
173
|
+
currentPhase?: string;
|
|
174
|
+
dashboardUrl?: string;
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
export interface MCPToolResponse {
|
|
178
|
+
content: Array<{
|
|
179
|
+
type: "text";
|
|
180
|
+
text: string;
|
|
181
|
+
}>;
|
|
182
|
+
isError?: boolean;
|
|
183
|
+
_meta?: Record<string, any>;
|
|
184
|
+
}
|
|
185
|
+
export declare function toMCPResponse(response: ToolResponse, isError?: boolean): MCPToolResponse;
|
|
186
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Common types for the spec workflow MCP server
|
|
2
|
+
import { encode } from '@toon-format/toon';
|
|
3
|
+
// Helper function to convert ToolResponse to MCP format
|
|
4
|
+
export function toMCPResponse(response, isError = false) {
|
|
5
|
+
return {
|
|
6
|
+
content: [{
|
|
7
|
+
type: "text",
|
|
8
|
+
text: encode(response)
|
|
9
|
+
}],
|
|
10
|
+
isError
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAgN3C,wDAAwD;AACxD,MAAM,UAAU,aAAa,CAAC,QAAsB,EAAE,UAAmB,KAAK;IAC5E,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;aACvB,CAAC;QACF,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lbruton/specflow",
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"description": "MCP server for spec-driven development workflow with real-time web dashboard",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"specflow": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist/**/*",
|
|
12
|
+
"README.md",
|
|
13
|
+
"CHANGELOG.md",
|
|
14
|
+
"LICENSE"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "npm run validate:i18n && npm run clean && tsc && npm run build:dashboard",
|
|
18
|
+
"copy-static": "node scripts/copy-static.cjs",
|
|
19
|
+
"dev": "tsx src/index.ts",
|
|
20
|
+
"start": "node dist/index.js",
|
|
21
|
+
"dev:dashboard": "vite --config src/dashboard_frontend/vite.config.ts",
|
|
22
|
+
"build:dashboard": "vite build --config src/dashboard_frontend/vite.config.ts && npm run copy-static",
|
|
23
|
+
"clean": "rimraf dist",
|
|
24
|
+
"validate:i18n": "node scripts/validate-i18n.js",
|
|
25
|
+
"sync:plugin-version": "node scripts/sync-plugin-version.js",
|
|
26
|
+
"check:plugin-version": "node scripts/sync-plugin-version.js --check",
|
|
27
|
+
"test": "vitest",
|
|
28
|
+
"test:watch": "vitest --watch",
|
|
29
|
+
"test:coverage": "vitest --coverage",
|
|
30
|
+
"test:e2e": "playwright test",
|
|
31
|
+
"test:e2e:worktree": "playwright test -c playwright.worktree.config.ts",
|
|
32
|
+
"test:e2e:ui": "playwright test --ui",
|
|
33
|
+
"test:generate-approvals": "node scripts/generate-test-approvals.cjs",
|
|
34
|
+
"prepublishOnly": "npm run build",
|
|
35
|
+
"validate:mdx": "tsx scripts/validate-mdx.ts"
|
|
36
|
+
},
|
|
37
|
+
"keywords": [
|
|
38
|
+
"mcp",
|
|
39
|
+
"model-context-protocol",
|
|
40
|
+
"spec-workflow",
|
|
41
|
+
"ai-development",
|
|
42
|
+
"claude",
|
|
43
|
+
"cursor",
|
|
44
|
+
"development-workflow",
|
|
45
|
+
"project-management"
|
|
46
|
+
],
|
|
47
|
+
"author": "",
|
|
48
|
+
"license": "GPL-3.0",
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@dnd-kit/core": "^6.1.0",
|
|
51
|
+
"@dnd-kit/sortable": "^8.0.0",
|
|
52
|
+
"@dnd-kit/utilities": "^3.2.2",
|
|
53
|
+
"@fastify/cors": "^9.0.1",
|
|
54
|
+
"@fastify/static": "^7.0.4",
|
|
55
|
+
"@fastify/websocket": "^8.2.1",
|
|
56
|
+
"@heroicons/react": "^2.2.0",
|
|
57
|
+
"@mdx-js/mdx": "^3.1.1",
|
|
58
|
+
"@mdxeditor/editor": "^3.50.0",
|
|
59
|
+
"@modelcontextprotocol/sdk": "^1.24.3",
|
|
60
|
+
"@tailwindcss/vite": "^4.1.13",
|
|
61
|
+
"@toon-format/toon": "^0.8.0",
|
|
62
|
+
"ajv": "^8.17.1",
|
|
63
|
+
"ajv-formats": "^3.0.1",
|
|
64
|
+
"chokidar": "^3.5.3",
|
|
65
|
+
"class-variance-authority": "^0.7.1",
|
|
66
|
+
"clsx": "^2.1.1",
|
|
67
|
+
"diff": "^5.2.0",
|
|
68
|
+
"fastify": "^4.24.3",
|
|
69
|
+
"highlight.js": "^11.9.0",
|
|
70
|
+
"howler": "^2.2.4",
|
|
71
|
+
"i18next": "^25.5.2",
|
|
72
|
+
"i18next-browser-languagedetector": "^8.2.0",
|
|
73
|
+
"markdown-it": "^14.1.0",
|
|
74
|
+
"mermaid": "^10.9.1",
|
|
75
|
+
"node-cron": "^4.2.1",
|
|
76
|
+
"open": "^8.4.2",
|
|
77
|
+
"react": "^18.3.1",
|
|
78
|
+
"react-dom": "^18.3.1",
|
|
79
|
+
"react-i18next": "^15.7.3",
|
|
80
|
+
"react-router-dom": "^6.26.2",
|
|
81
|
+
"react-text-annotate-blend": "^1.2.0",
|
|
82
|
+
"simple-git": "^3.28.0",
|
|
83
|
+
"tailwind-merge": "^3.3.1",
|
|
84
|
+
"toml": "^3.0.0",
|
|
85
|
+
"ws": "^8.18.0",
|
|
86
|
+
"zod": "^3.25.0"
|
|
87
|
+
},
|
|
88
|
+
"devDependencies": {
|
|
89
|
+
"@playwright/test": "^1.58.0",
|
|
90
|
+
"@tailwindcss/typography": "^0.5.16",
|
|
91
|
+
"@types/diff": "^5.2.3",
|
|
92
|
+
"@types/node": "^22.18.1",
|
|
93
|
+
"@types/react": "^18.3.5",
|
|
94
|
+
"@types/react-dom": "^18.3.0",
|
|
95
|
+
"@types/ws": "^8.5.13",
|
|
96
|
+
"@vitejs/plugin-react": "^4.3.3",
|
|
97
|
+
"@vitest/coverage-v8": "^4.0.15",
|
|
98
|
+
"rimraf": "^6.0.1",
|
|
99
|
+
"tailwindcss": "^4.1.13",
|
|
100
|
+
"tsx": "^4.7.0",
|
|
101
|
+
"typescript": "^5.7.2",
|
|
102
|
+
"vite": "^7.2.7",
|
|
103
|
+
"vitest": "^4.0.15"
|
|
104
|
+
}
|
|
105
|
+
}
|