specrails-desktop 2.3.0 → 2.4.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/client/dist/assets/ActivityFeedPage-DJJlZ3mF.js +1 -0
- package/client/dist/assets/AgentsPage-49JaEDjR.js +86 -0
- package/client/dist/assets/{AnalyticsPage-Dyyz1ht3.js → AnalyticsPage-BUd3gWYC.js} +1 -1
- package/client/dist/assets/{BarChart-CMdLa6Es.js → BarChart-HDe_YoUD.js} +2 -2
- package/client/dist/assets/CodePage-CqPPND47.js +2 -0
- package/client/dist/assets/{DesktopAnalyticsPage-CTNwb639.js → DesktopAnalyticsPage-CgvmSvF0.js} +1 -1
- package/client/dist/assets/DocsDialog-hHFd3Ejs.js +11 -0
- package/client/dist/assets/DocsPage-B4R1aksg.js +11 -0
- package/client/dist/assets/{ExportDropdown-DuoZcdYN.js → ExportDropdown-f4dwQjlT.js} +1 -1
- package/client/dist/assets/IntegrationsPage-CX2Ybxx0.js +3 -0
- package/client/dist/assets/JobDetailPage-DN2Jc8Ti.js +16 -0
- package/client/dist/assets/JobsPage-DmdpqijT.js +1 -0
- package/client/dist/assets/{cssMode-Cc6ozl-J.js → cssMode-DzNPAYFh.js} +1 -1
- package/client/dist/assets/{dist-js-H6hyhSuv.js → dist-js-COfIfLRE.js} +1 -1
- package/client/dist/assets/{dist-js-4UEGaKhD.js → dist-js-CvScGQU_.js} +1 -1
- package/client/dist/assets/{editor.main-CfXxHimg.js → editor.main-C7Rmw-hR.js} +2 -2
- package/client/dist/assets/{freemarker2-DP7J1gG3.js → freemarker2-Cszs4SVo.js} +1 -1
- package/client/dist/assets/{handlebars-BjRlucw6.js → handlebars-Dp7Lsuym.js} +1 -1
- package/client/dist/assets/{html-OumBQJ-U.js → html-BURidrEm.js} +1 -1
- package/client/dist/assets/{htmlMode-CStc3zXM.js → htmlMode--k5M7GjZ.js} +1 -1
- package/client/dist/assets/index-DBpvYrDK.css +2 -0
- package/client/dist/assets/index-DGIXKRHE.js +142 -0
- package/client/dist/assets/{integrations-Cublz3m6.js → integrations-2C7MkGT0.js} +1 -1
- package/client/dist/assets/{integrations-HIlUxXVs.js → integrations-BDC670cg.js} +1 -1
- package/client/dist/assets/integrations-BqUmRUef.js +1 -0
- package/client/dist/assets/{integrations-DmQYCUvN.js → integrations-C2jQtv-s.js} +1 -1
- package/client/dist/assets/{integrations-DRdbki5W.js → integrations-CB98NeH5.js} +1 -1
- package/client/dist/assets/{integrations-C3p12Ms6.js → integrations-CX4p_bij.js} +1 -1
- package/client/dist/assets/{integrations-DaC4SzzL.js → integrations-_SuVeQIG.js} +1 -1
- package/client/dist/assets/{integrations-Cr6hH7XR.js → integrations-eQPHAYsE.js} +1 -1
- package/client/dist/assets/{javascript-CMk--e7g.js → javascript-kJQz__44.js} +1 -1
- package/client/dist/assets/jira-C-ATCti0.js +1 -0
- package/client/dist/assets/jira-CmVfRM-b.js +1 -0
- package/client/dist/assets/jira-D7bkKAX8.js +1 -0
- package/client/dist/assets/jira-DKImM1YH.js +1 -0
- package/client/dist/assets/jira-DOw8bkIR.js +1 -0
- package/client/dist/assets/jira-DlA-wGp-.js +1 -0
- package/client/dist/assets/jira-Fob8EGxN.js +1 -0
- package/client/dist/assets/jira-xZA2lixb.js +1 -0
- package/client/dist/assets/{jsonMode-C2h3ZcjZ.js → jsonMode-v5JYPpnz.js} +1 -1
- package/client/dist/assets/{lib-Cs5FrUJI.js → lib-Bro9Z0gp.js} +1 -1
- package/client/dist/assets/{liquid-mI3KJrBE.js → liquid-Dl9I6gWt.js} +1 -1
- package/client/dist/assets/{lspLanguageFeatures-DU09ggWi.js → lspLanguageFeatures-CPlEe0NK.js} +1 -1
- package/client/dist/assets/{mdx-C41VDTR_.js → mdx-Byl7TtzQ.js} +1 -1
- package/client/dist/assets/{monaco.contribution-CPObAXMC.js → monaco.contribution-YMAkHQcQ.js} +2 -2
- package/client/dist/assets/{python-Y27rKQtk.js → python-jWQwT6j2.js} +1 -1
- package/client/dist/assets/{razor-Cd5-q9Bp.js → razor-BWS3sP-E.js} +1 -1
- package/client/dist/assets/setup-C0dzw8j4.js +1 -0
- package/client/dist/assets/setup-C1IA-9YS.js +1 -0
- package/client/dist/assets/setup-CpfjaNut.js +1 -0
- package/client/dist/assets/setup-D3rNZA9A.js +1 -0
- package/client/dist/assets/setup-UD2aanGs.js +1 -0
- package/client/dist/assets/setup-WP6WOYQh.js +1 -0
- package/client/dist/assets/setup-gzLG8T6F.js +1 -0
- package/client/dist/assets/setup-pjgmYHx6.js +1 -0
- package/client/dist/assets/specs-4lA_u79w.js +1 -0
- package/client/dist/assets/{specs-D2FzlLn9.js → specs-BHjxcjOf.js} +1 -1
- package/client/dist/assets/{specs-CZ1PsXsC.js → specs-CXNQzPk9.js} +1 -1
- package/client/dist/assets/{specs-Dyc5hYeE.js → specs-DFnc2Huj.js} +1 -1
- package/client/dist/assets/{specs-BFfu3u-a.js → specs-DZCLH2-l.js} +1 -1
- package/client/dist/assets/{specs-B__C8-8a.js → specs-DgmyAE3N.js} +1 -1
- package/client/dist/assets/{specs-DaUTrNF9.js → specs-DicWhvwi.js} +1 -1
- package/client/dist/assets/{specs-k0PyLDVt.js → specs-dkro6lSM.js} +1 -1
- package/client/dist/assets/{tsMode-B0y_xEci.js → tsMode-BbOGOuSV.js} +1 -1
- package/client/dist/assets/{typescript-BzK0OgwW.js → typescript-eBtFQJLs.js} +1 -1
- package/client/dist/assets/{useProjectCache-BZWYV-w-.js → useProjectCache-D9juBhsO.js} +1 -1
- package/client/dist/assets/{workers-rt--R2Qy.js → workers-BvicOoDf.js} +1 -1
- package/client/dist/assets/{xml-eX9QXAmI.js → xml-BJepAPyM.js} +1 -1
- package/client/dist/assets/{yaml-fcsNkpOt.js → yaml-DabgV-eA.js} +1 -1
- package/client/dist/index.html +12 -11
- package/docs/jira-integration-plan.md +321 -0
- package/package.json +1 -1
- package/server/dist/db.js +80 -0
- package/server/dist/feature-flags.js +11 -0
- package/server/dist/jira/jira-adf.js +113 -0
- package/server/dist/jira/jira-backlog-config.js +58 -0
- package/server/dist/jira/jira-client.js +279 -0
- package/server/dist/jira/jira-credential-store.js +103 -0
- package/server/dist/jira/jira-db.js +341 -0
- package/server/dist/jira/jira-issue-fields.js +428 -0
- package/server/dist/jira/jira-materializer.js +250 -0
- package/server/dist/jira/jira-status-resolver.js +211 -0
- package/server/dist/jira/jira-sync-manager.js +1014 -0
- package/server/dist/jira/types.js +9 -0
- package/server/dist/jira-router.js +304 -0
- package/server/dist/project-registry.js +43 -1
- package/server/dist/project-router-tickets.js +49 -1
- package/server/dist/project-router.js +4 -0
- package/server/dist/rails-router.js +12 -0
- package/client/dist/assets/ActivityFeedPage-3Veccrvk.js +0 -1
- package/client/dist/assets/AgentsPage-2mFPghP4.js +0 -86
- package/client/dist/assets/CodePage-D7Xwjhut.js +0 -2
- package/client/dist/assets/DocsDialog-D8yoyZDD.js +0 -11
- package/client/dist/assets/DocsPage-CeO-fAxy.js +0 -11
- package/client/dist/assets/IntegrationsPage-iIZ0UEzf.js +0 -3
- package/client/dist/assets/JobDetailPage-DgJHAH2m.js +0 -16
- package/client/dist/assets/JobsPage-Bv_RpRAE.js +0 -1
- package/client/dist/assets/index-CGHKpC-N.js +0 -142
- package/client/dist/assets/index-D17R4Cjc.css +0 -2
- package/client/dist/assets/integrations-D28q1kF6.js +0 -1
- package/client/dist/assets/setup--FMCsnQS.js +0 -1
- package/client/dist/assets/setup-B19ZpBNi.js +0 -1
- package/client/dist/assets/setup-BZPmkjSN.js +0 -1
- package/client/dist/assets/setup-BqYA02rS.js +0 -1
- package/client/dist/assets/setup-ChKQDHN9.js +0 -1
- package/client/dist/assets/setup-D2n9jMfM.js +0 -1
- package/client/dist/assets/setup-P3r6YP1D.js +0 -1
- package/client/dist/assets/setup-fnfEbwlv.js +0 -1
- package/client/dist/assets/specs-cKEh2LXt.js +0 -1
- /package/client/dist/assets/{abap-Bw6f2wDG.js → abap-s65oMlhi.js} +0 -0
- /package/client/dist/assets/{activity-BdrPln96.js → activity-BqqwnH_h.js} +0 -0
- /package/client/dist/assets/{activity-BEIp_Y1A.js → activity-C8qqEIoP.js} +0 -0
- /package/client/dist/assets/{activity-CpkRS8Sx.js → activity-CZVM4nlJ.js} +0 -0
- /package/client/dist/assets/{activity-DOUVEjJi.js → activity-Cyy07Tgo.js} +0 -0
- /package/client/dist/assets/{activity-DRwkql_y.js → activity-DlbWCa4y.js} +0 -0
- /package/client/dist/assets/{activity-DKCpESPt.js → activity-Dwq0heud.js} +0 -0
- /package/client/dist/assets/{activity-DcDQ7tjw.js → activity-qFTcMyW9.js} +0 -0
- /package/client/dist/assets/{addon-image-3WCl5Vhd.js → addon-image-CpF0L0jM.js} +0 -0
- /package/client/dist/assets/{addon-ligatures-C5OdliKs.js → addon-ligatures-hXysGZrA.js} +0 -0
- /package/client/dist/assets/{addon-webgl-BbX6pSjl.js → addon-webgl-Cn1slavz.js} +0 -0
- /package/client/dist/assets/{addspec-D33ocMxf.js → addspec-B1FTtI2a.js} +0 -0
- /package/client/dist/assets/{addspec-DFswZ0jK.js → addspec-BCT9vm_c.js} +0 -0
- /package/client/dist/assets/{addspec-DVZ15Jp8.js → addspec-DeDOztDr.js} +0 -0
- /package/client/dist/assets/{addspec-Fkv91Opc.js → addspec-DpRgmfmx.js} +0 -0
- /package/client/dist/assets/{addspec-BEeF5-zc.js → addspec-Dw-0Dg-4.js} +0 -0
- /package/client/dist/assets/{addspec-B5yl4Loj.js → addspec-rp496P_F.js} +0 -0
- /package/client/dist/assets/{addspec-DRE-jZv7.js → addspec-v8j6A7CD.js} +0 -0
- /package/client/dist/assets/{agents-DK-Dlc0i.js → agents-23iPejcA.js} +0 -0
- /package/client/dist/assets/{agents-Q6Ldfpxx.js → agents-BDx1RXcl.js} +0 -0
- /package/client/dist/assets/{agents-TeOSy-ax.js → agents-BFr3kUhK.js} +0 -0
- /package/client/dist/assets/{agents-Bm9rPqnt.js → agents-B_1L9xRg.js} +0 -0
- /package/client/dist/assets/{agents-1nCDWRmP.js → agents-BlPnx-mz.js} +0 -0
- /package/client/dist/assets/{agents-iTqjRajS.js → agents-DcxZHzNr.js} +0 -0
- /package/client/dist/assets/{agents-s87sMGzL.js → agents-G3shOewU.js} +0 -0
- /package/client/dist/assets/{agentstudio-B6Wb59E7.js → agentstudio-B-CMAQqy.js} +0 -0
- /package/client/dist/assets/{agentstudio-D3I62TLJ.js → agentstudio-Bk1eZcv4.js} +0 -0
- /package/client/dist/assets/{agentstudio-DuH9TogZ.js → agentstudio-ChxNuGAu.js} +0 -0
- /package/client/dist/assets/{agentstudio-Kw88_dUF.js → agentstudio-DNlme601.js} +0 -0
- /package/client/dist/assets/{agentstudio-BdidyBzZ.js → agentstudio-DpP9caEE.js} +0 -0
- /package/client/dist/assets/{agentstudio-BSnWLR63.js → agentstudio-Y3G0ddJ2.js} +0 -0
- /package/client/dist/assets/{agentstudio-BADhZ41e.js → agentstudio-kk9RB7Se.js} +0 -0
- /package/client/dist/assets/{aiedit-DJMny-D5.js → aiedit-5ETerMK1.js} +0 -0
- /package/client/dist/assets/{aiedit-D2ji6Qy0.js → aiedit-BBCrOpHq.js} +0 -0
- /package/client/dist/assets/{aiedit-DAhZTvtk.js → aiedit-BMtcGYNE.js} +0 -0
- /package/client/dist/assets/{aiedit-DvrcbwGv.js → aiedit-D9ddlgkM.js} +0 -0
- /package/client/dist/assets/{aiedit-WBSjT_C1.js → aiedit-De0SOH6S.js} +0 -0
- /package/client/dist/assets/{aiedit-BWxHGsYA.js → aiedit-DrfzQroF.js} +0 -0
- /package/client/dist/assets/{aiedit-DOcxERkU.js → aiedit-fMltW101.js} +0 -0
- /package/client/dist/assets/{analytics-C9Zc-rkM.js → analytics-BeTyviO8.js} +0 -0
- /package/client/dist/assets/{analytics-CrPCZRJ-.js → analytics-C4eEO260.js} +0 -0
- /package/client/dist/assets/{analytics-CYj0tfj7.js → analytics-C67cIA1b.js} +0 -0
- /package/client/dist/assets/{analytics-C6EzgtdE.js → analytics-CAguvW28.js} +0 -0
- /package/client/dist/assets/{analytics-CVx3YOc0.js → analytics-DBtt8Mgk.js} +0 -0
- /package/client/dist/assets/{analytics-CnY4kNG3.js → analytics-DUPtODxX.js} +0 -0
- /package/client/dist/assets/{analytics-BIdr0YfL.js → analytics-YIpQvPAc.js} +0 -0
- /package/client/dist/assets/{apex-Cw8_REBo.js → apex-BLUBIldB.js} +0 -0
- /package/client/dist/assets/{attachments-DYHGA2Dj.js → attachments-CCWasu-P.js} +0 -0
- /package/client/dist/assets/{attachments-Dd92KpUH.js → attachments-CHaDUfjB.js} +0 -0
- /package/client/dist/assets/{attachments-DzdU6DV6.js → attachments-CVSAbGNl.js} +0 -0
- /package/client/dist/assets/{attachments-Bcf6BG6V.js → attachments-Chg5poG1.js} +0 -0
- /package/client/dist/assets/{attachments-BW4L3l2L.js → attachments-DazTVJbH.js} +0 -0
- /package/client/dist/assets/{attachments-COcrGRFz.js → attachments-Dn-JImAK.js} +0 -0
- /package/client/dist/assets/{attachments-Bke8sCU4.js → attachments-LDA9kp2X.js} +0 -0
- /package/client/dist/assets/{azcli-Cz6HAoOw.js → azcli-DuWxh9mO.js} +0 -0
- /package/client/dist/assets/{bat-CcJ-xyqL.js → bat-UKoTejQm.js} +0 -0
- /package/client/dist/assets/{bicep-z1WDCKYz.js → bicep-4sTT4B3D.js} +0 -0
- /package/client/dist/assets/{browser-DGITz3fC.js → browser-BDd1dbFa.js} +0 -0
- /package/client/dist/assets/{browser-JsAIGCEW.js → browser-BWSgbfdX.js} +0 -0
- /package/client/dist/assets/{browser-M5-rbPlw.js → browser-D2Y_UAKA.js} +0 -0
- /package/client/dist/assets/{browser-BlYF4OOq.js → browser-DH9SGVfM.js} +0 -0
- /package/client/dist/assets/{browser-Bc-YdlVg.js → browser-DWOVYMlg.js} +0 -0
- /package/client/dist/assets/{browser-CT-ReZGt.js → browser-Dxc_VIRK.js} +0 -0
- /package/client/dist/assets/{browser-5ErDlJoR.js → browser-lTQwcDCI.js} +0 -0
- /package/client/dist/assets/{cameligo-BRewOpfa.js → cameligo-CAAryRYO.js} +0 -0
- /package/client/dist/assets/{chat-DwUm6W9z.js → chat-BO9MvVID.js} +0 -0
- /package/client/dist/assets/{chat-BEGuC03z.js → chat-CPgmgZOj.js} +0 -0
- /package/client/dist/assets/{chat-CboQguCi.js → chat-CUrG1eVg.js} +0 -0
- /package/client/dist/assets/{chat-DRCa9pOt.js → chat-CvOOKB2s.js} +0 -0
- /package/client/dist/assets/{chat-BEW60P_u.js → chat-DIh3hr6y.js} +0 -0
- /package/client/dist/assets/{chat-yoXwguQu.js → chat-UVVZqA57.js} +0 -0
- /package/client/dist/assets/{chat-BQNMD0PL.js → chat-mPn3UlMl.js} +0 -0
- /package/client/dist/assets/{clojure-DBjRWN6g.js → clojure-BlMERO1w.js} +0 -0
- /package/client/dist/assets/{clsx-DnqN-uhr.js → clsx-CnH-HMk3.js} +0 -0
- /package/client/dist/assets/{code-zCwBt3Uu.js → code-BwIz8agY.js} +0 -0
- /package/client/dist/assets/{code-g0qFMzyg.js → code-CD7yNSK0.js} +0 -0
- /package/client/dist/assets/{code-DDU0CRS0.js → code-CDFlxUFC.js} +0 -0
- /package/client/dist/assets/{code-L35Loak_.js → code-Cp3Fdng-.js} +0 -0
- /package/client/dist/assets/{code-D1z-YDt-.js → code-D24e1Crx.js} +0 -0
- /package/client/dist/assets/{code-BtsmPQLV.js → code-DtZBQTi9.js} +0 -0
- /package/client/dist/assets/{code-Coa8f2Sh.js → code-nKa0fkm_.js} +0 -0
- /package/client/dist/assets/{coffee-Cfk_XHGR.js → coffee-Cj8D-Wl1.js} +0 -0
- /package/client/dist/assets/{commands-sqrqsxyE.js → commands-B-MVT-2F.js} +0 -0
- /package/client/dist/assets/{commands-UD1NzmwX.js → commands-B0yFTp7e.js} +0 -0
- /package/client/dist/assets/{commands-DLrvnPNg.js → commands-BR1kDkHQ.js} +0 -0
- /package/client/dist/assets/{commands-CJxCry-o.js → commands-Cb21pDlG.js} +0 -0
- /package/client/dist/assets/{commands-CfgY-_of.js → commands-DWgp-8W1.js} +0 -0
- /package/client/dist/assets/{commands-B772IyDa.js → commands-ddsl1V91.js} +0 -0
- /package/client/dist/assets/{commands-BDDp6xFG.js → commands-t4frzhB0.js} +0 -0
- /package/client/dist/assets/{common-Dmm1GhdD.js → common-5ilvMOcH.js} +0 -0
- /package/client/dist/assets/{common-DltqHaAe.js → common-B4sqsKp7.js} +0 -0
- /package/client/dist/assets/{common-GbpxfPG8.js → common-BKpVwUIf.js} +0 -0
- /package/client/dist/assets/{common-DeDELLZJ.js → common-BzEC3kJU.js} +0 -0
- /package/client/dist/assets/{common-DnjcgkPH.js → common-CALKUpYm.js} +0 -0
- /package/client/dist/assets/{common-Dard9UNH.js → common-CTEbWVZS.js} +0 -0
- /package/client/dist/assets/{common-DCr6VzJ7.js → common-DQiza2Xp.js} +0 -0
- /package/client/dist/assets/{cpp-BVob6BaP.js → cpp-BPfKnaj_.js} +0 -0
- /package/client/dist/assets/{csharp-C4fbRuOu.js → csharp-gX-x5uD6.js} +0 -0
- /package/client/dist/assets/{csp-DthFP_vT.js → csp-DKGVt8SM.js} +0 -0
- /package/client/dist/assets/{css-CGMH0hcW.js → css-CPMdnAVq.js} +0 -0
- /package/client/dist/assets/{cypher-Pnf68BRV.js → cypher-ClMDrj9S.js} +0 -0
- /package/client/dist/assets/{dart-PMMOtxZX.js → dart-C4zbzpVv.js} +0 -0
- /package/client/dist/assets/{dashboard-BZBADHSj.js → dashboard--Y6yzMlf.js} +0 -0
- /package/client/dist/assets/{dashboard-I19DXBxw.js → dashboard--a4-6oYE.js} +0 -0
- /package/client/dist/assets/{dashboard-CB6Le1yN.js → dashboard-BiJ3CDTG.js} +0 -0
- /package/client/dist/assets/{dashboard-B4ixDVk8.js → dashboard-CiXjk63Z.js} +0 -0
- /package/client/dist/assets/{dashboard-C1MfeUHs.js → dashboard-Cx5VjCea.js} +0 -0
- /package/client/dist/assets/{dashboard-C7SK6xu5.js → dashboard-D7jg25XR.js} +0 -0
- /package/client/dist/assets/{dashboard-CoTpMOBM.js → dashboard-DpGYK2s1.js} +0 -0
- /package/client/dist/assets/{dockerfile-di1nsJCc.js → dockerfile-D9xw73D1.js} +0 -0
- /package/client/dist/assets/{ecl-D_WVcB5M.js → ecl-gqO8tIR9.js} +0 -0
- /package/client/dist/assets/{editor.api2-XLGzZfbc.js → editor.api2-BPnIxMjz.js} +0 -0
- /package/client/dist/assets/{elixir-OAdJEMOn.js → elixir-DSAhVF3_.js} +0 -0
- /package/client/dist/assets/{explore-D2EFgt8J.js → explore-BE5UmlbD.js} +0 -0
- /package/client/dist/assets/{explore-BV5Xxlsn.js → explore-BmTaI8dX.js} +0 -0
- /package/client/dist/assets/{explore-A8Ltoblq.js → explore-CCwkqoWq.js} +0 -0
- /package/client/dist/assets/{explore-4mFpnrKU.js → explore-CMdEoPDx.js} +0 -0
- /package/client/dist/assets/{explore-C3FSE42C.js → explore-CtdCL4QU.js} +0 -0
- /package/client/dist/assets/{explore-B9A3iN2W.js → explore-DHjxSkqQ.js} +0 -0
- /package/client/dist/assets/{explore-BrBJvfjP.js → explore-__BeALjE.js} +0 -0
- /package/client/dist/assets/{flow9-D3QEZjgn.js → flow9-DeQCSPOd.js} +0 -0
- /package/client/dist/assets/{format-command-CwGuwzGA.js → format-command-2VNoNnMv.js} +0 -0
- /package/client/dist/assets/{fsharp-BF0k_8N8.js → fsharp-CEfaXL-S.js} +0 -0
- /package/client/dist/assets/{go-BAQO5Jsz.js → go-Xp1OkZCh.js} +0 -0
- /package/client/dist/assets/{graphql-hdFVFkiV.js → graphql-BwRXrUwe.js} +0 -0
- /package/client/dist/assets/{hcl-DWnl1o-X.js → hcl-u06DtVFk.js} +0 -0
- /package/client/dist/assets/{ini-CB-6OVu3.js → ini-AmeIpFND.js} +0 -0
- /package/client/dist/assets/{java-d1CmfiHX.js → java-CyDbRQjX.js} +0 -0
- /package/client/dist/assets/{jobs-DPPT6bV6.js → jobs-8viuHLDV.js} +0 -0
- /package/client/dist/assets/{jobs-3j3_npyo.js → jobs-AW2eB5D-.js} +0 -0
- /package/client/dist/assets/{jobs-2N3RXDAM.js → jobs-BSm89DL5.js} +0 -0
- /package/client/dist/assets/{jobs-BqEbCCxD.js → jobs-BZ3sQHjZ.js} +0 -0
- /package/client/dist/assets/{jobs-cHYInoau.js → jobs-Bd8AdOTb.js} +0 -0
- /package/client/dist/assets/{jobs-DRzjWI9u.js → jobs-CRtsq_u0.js} +0 -0
- /package/client/dist/assets/{jobs-2f6Hdc72.js → jobs-CSRwFQ6K.js} +0 -0
- /package/client/dist/assets/{jobs-vGfzIDQa.js → jobs-CbEl7WMI.js} +0 -0
- /package/client/dist/assets/{julia-Bgv08lKa.js → julia-BqialFRG.js} +0 -0
- /package/client/dist/assets/{kotlin-u98kaVTf.js → kotlin-Dzz8TWAt.js} +0 -0
- /package/client/dist/assets/{less-CjYwpgg5.js → less-DHRJD3TR.js} +0 -0
- /package/client/dist/assets/{lexon-YTjaAFBB.js → lexon-5Y3QgTmT.js} +0 -0
- /package/client/dist/assets/{lua-BzmkWv27.js → lua-sKvhfPn5.js} +0 -0
- /package/client/dist/assets/{m3-CFwk9fw0.js → m3-DWDVwkFG.js} +0 -0
- /package/client/dist/assets/{markdown-CR5iMpSZ.js → markdown-CD_aSBxW.js} +0 -0
- /package/client/dist/assets/{mips-CcEalc17.js → mips-687T03hg.js} +0 -0
- /package/client/dist/assets/{msdax-BQbkawnr.js → msdax-C1St-dIV.js} +0 -0
- /package/client/dist/assets/{mysql-GTlaaW_P.js → mysql-BG7r8oBS.js} +0 -0
- /package/client/dist/assets/{nav-C2YXcbZS.js → nav-B05EYB0b.js} +0 -0
- /package/client/dist/assets/{nav-D2bOGSEg.js → nav-BNGCq-0y.js} +0 -0
- /package/client/dist/assets/{nav-BEL3MTwK.js → nav-BRInPX8a.js} +0 -0
- /package/client/dist/assets/{nav-CtYwmMgu.js → nav-Bf87DRHD.js} +0 -0
- /package/client/dist/assets/{nav-iH1V5j6o.js → nav-BkVzzFpc.js} +0 -0
- /package/client/dist/assets/{nav-0fwkrgHt.js → nav-BzFLtS1W.js} +0 -0
- /package/client/dist/assets/{nav-ClzOE4mA.js → nav-DBDbQOYn.js} +0 -0
- /package/client/dist/assets/{nav-B_G-TJDW.js → nav-X9sVtUWC.js} +0 -0
- /package/client/dist/assets/{objective-c-Byu1T5if.js → objective-c-Ds1-m05L.js} +0 -0
- /package/client/dist/assets/{pascal-BrfzBfRm.js → pascal-BKK9FpIi.js} +0 -0
- /package/client/dist/assets/{pascaligo-BXXKFUeo.js → pascaligo-SRS3nwtO.js} +0 -0
- /package/client/dist/assets/{perl-B3OikKq-.js → perl-B2hTOlrF.js} +0 -0
- /package/client/dist/assets/{pgsql-CTsa0Acc.js → pgsql-DIQJYNpL.js} +0 -0
- /package/client/dist/assets/{php-DiQh3FUW.js → php-BEaVe8X2.js} +0 -0
- /package/client/dist/assets/{pla-92uH8Fzm.js → pla-oPLHpZ-Q.js} +0 -0
- /package/client/dist/assets/{postiats-BbeWkKUr.js → postiats-D_vzrAzD.js} +0 -0
- /package/client/dist/assets/{powerquery-DgDMzpsm.js → powerquery-BKG6w-FH.js} +0 -0
- /package/client/dist/assets/{powershell-BfdUUzaG.js → powershell-B3dLhDt4.js} +0 -0
- /package/client/dist/assets/{protobuf-BojW2ftW.js → protobuf-DC8SGjcl.js} +0 -0
- /package/client/dist/assets/{pug-BxqTg3IU.js → pug-D5E-4fI0.js} +0 -0
- /package/client/dist/assets/{qsharp-BX_A-MW9.js → qsharp-6vJAWv0x.js} +0 -0
- /package/client/dist/assets/{r-D9BMnxvJ.js → r-CDwsEcbM.js} +0 -0
- /package/client/dist/assets/{redis-5cJqEQJJ.js → redis-CuQbbESS.js} +0 -0
- /package/client/dist/assets/{redshift-d8BBqiwb.js → redshift-B9e1k-qI.js} +0 -0
- /package/client/dist/assets/{restructuredtext-C8a6yIcZ.js → restructuredtext-BiJ5IwaU.js} +0 -0
- /package/client/dist/assets/{ruby-egeh-6KX.js → ruby-B0UAHY9b.js} +0 -0
- /package/client/dist/assets/{rust-a3r9IInB.js → rust-Dg_spmFr.js} +0 -0
- /package/client/dist/assets/{sb-y8iRIDei.js → sb-DjU66I8Q.js} +0 -0
- /package/client/dist/assets/{scala-BPDK2AmK.js → scala-qvStIdfG.js} +0 -0
- /package/client/dist/assets/{scheme-BIWUEoOs.js → scheme-FstEk5Rh.js} +0 -0
- /package/client/dist/assets/{scss-CA-PSzwg.js → scss-w0U3rQLK.js} +0 -0
- /package/client/dist/assets/{settings-CTcwN9RE.js → settings-5tzo0Rn3.js} +0 -0
- /package/client/dist/assets/{settings-D_dujJZI.js → settings-BDAW3trC.js} +0 -0
- /package/client/dist/assets/{settings-Bg0A3zoS.js → settings-BEWv3VEu.js} +0 -0
- /package/client/dist/assets/{settings-BgPqg2nv.js → settings-BORg56um.js} +0 -0
- /package/client/dist/assets/{settings-BSze3_9q.js → settings-D3LurcR5.js} +0 -0
- /package/client/dist/assets/{settings-CSJ0ahZ8.js → settings-DcqWIEM6.js} +0 -0
- /package/client/dist/assets/{settings-DYIV89nV.js → settings-Dfz8QbZS.js} +0 -0
- /package/client/dist/assets/{settings-DDcfx_ca.js → settings-yMubjqYw.js} +0 -0
- /package/client/dist/assets/{shell--LiT1Bja.js → shell-DJ78wREd.js} +0 -0
- /package/client/dist/assets/{solidity-DdqZccZg.js → solidity-1aGIVsdX.js} +0 -0
- /package/client/dist/assets/{sophia-S6-YxNG_.js → sophia-40LqcGjB.js} +0 -0
- /package/client/dist/assets/{sparql-BSf5kMp2.js → sparql-Cz5dqG_g.js} +0 -0
- /package/client/dist/assets/{sql-D7KgjR8G.js → sql-64f62Ni4.js} +0 -0
- /package/client/dist/assets/{st-BnoDa-Ml.js → st-gJe2yG8J.js} +0 -0
- /package/client/dist/assets/{swift-DEUHTkUX.js → swift-C6ME22mv.js} +0 -0
- /package/client/dist/assets/{systemverilog-Tqb_KPnW.js → systemverilog-CEWz259w.js} +0 -0
- /package/client/dist/assets/{tcl-BmBFS2qq.js → tcl-CcLVIi3m.js} +0 -0
- /package/client/dist/assets/{terminal-Bje4ziIa.js → terminal-BYtreaaF.js} +0 -0
- /package/client/dist/assets/{terminal-CSONJOex.js → terminal-C0xx0SjA.js} +0 -0
- /package/client/dist/assets/{terminal-DeWzh6ys.js → terminal-CPpK58RC.js} +0 -0
- /package/client/dist/assets/{terminal-C2WYcFHF.js → terminal-CdxkpafL.js} +0 -0
- /package/client/dist/assets/{terminal-DEqzGtcr.js → terminal-Ciia0wh2.js} +0 -0
- /package/client/dist/assets/{terminal-80yDMgMF.js → terminal-DHIkiWcs.js} +0 -0
- /package/client/dist/assets/{terminal-lkZYR4wJ.js → terminal-DY42QANg.js} +0 -0
- /package/client/dist/assets/{terminal-YOlsJCQj.js → terminal-DoxtVdma.js} +0 -0
- /package/client/dist/assets/{tickets-DYvafSaY.js → tickets-0rM0lIXd.js} +0 -0
- /package/client/dist/assets/{tickets-DNOANUXr.js → tickets-1UIGf_oA.js} +0 -0
- /package/client/dist/assets/{tickets-DlpC_iTg.js → tickets-9kdPXInd.js} +0 -0
- /package/client/dist/assets/{tickets-CF2PYelu.js → tickets-C6pwZwt4.js} +0 -0
- /package/client/dist/assets/{tickets-CB7N30gm.js → tickets-DAjtxAVb.js} +0 -0
- /package/client/dist/assets/{tickets-DU1aqsbr.js → tickets-DNmXcAwu.js} +0 -0
- /package/client/dist/assets/{tickets-clefmXLv.js → tickets-n23kDqJT.js} +0 -0
- /package/client/dist/assets/{tickets-DucYgtdl.js → tickets-tGx5AR5b.js} +0 -0
- /package/client/dist/assets/{twig-BQV8igWC.js → twig-DvsO-WjW.js} +0 -0
- /package/client/dist/assets/{typespec-DlFroUGY.js → typespec-Brkt3IAA.js} +0 -0
- /package/client/dist/assets/{vb-BlrJpIMX.js → vb-r121Uzxt.js} +0 -0
- /package/client/dist/assets/{wgsl-BWgIc6FZ.js → wgsl-BRX8uYh4.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={configureAgents:`Configurar agentes de {{provider}}`,configureSubtitle:`Elige qué agentes instalar y cómo ejecutarlos.`,tabs:{agents:`Agentes`,models:`Modelos`},skipForNow:`Omitir por ahora`,install:`Instalar`,nextProvider:`Siguiente: {{provider}}`,installingProvider:`Instalando {{provider}}…`,installingSpecrails:`Instalando specrails...`,installingFromTemplates:`Instalando agentes desde plantillas`,waitingForOutput:`Esperando salida...`,checkpoints:{baseInstall:`Instalación base`,agentSelection:`Selección de agentes`,agentGeneration:`Generación de agentes`},steps:{configure:`Configurar`},summary:{agents:`Agentes`,agentSkills:`Skills de agente`,skills:`Skills`,openspecSkills:`Skills de OpenSpec`,legacyRemoved_one:`Eliminado {{count}} comando legacy <code>/specrails:*</code>`,legacyRemoved_other:`Eliminados {{count}} comandos legacy <code>/specrails:*</code>`},complete:{welcome:`Bienvenido a <spec>spec</spec><rails>rails</rails>`,configured:`<strong>{{projectName}}</strong> ya está configurado con flujos de desarrollo impulsados por IA. Tus agentes y comandos especializados están listos para usar.`,installedForEngines_one:`Instalado para {{count}} motor`,installedForEngines_other:`Instalado para {{count}} motores`,learnMore:`Aprende a sacar el máximo partido a specrails:`,continueToProject:`Continuar al proyecto`,jira:{title:`Conecta un tablero de Jira`,subtitle:`Opcional — respalda las specs de este proyecto con un tablero de Jira. También puedes hacerlo más tarde en Ajustes.`,configure:`Configurar Jira`,optional:`opcional`}},error:{title:`La configuración ha fallado`,skipSetup:`Omitir configuración`,prereqMissing:`La configuración de SpecRails necesita Node.js, npm, npx y Git disponibles en el PATH antes de poder instalar este proyecto.`,prereqRetryHint:`Instala las herramientas que faltan, reinicia Specrails y reintenta la configuración.`}},t={title:`Añadir proyecto`,description:`Registra un directorio de proyecto para gestionarlo desde Specrails.`,noProviderDetected:`No se ha detectado ningún CLI de IA. Instala primero Claude Code o Codex CLI.`,pathLabel:`Ruta del proyecto`,pathPlaceholder:`/Users/yo/mi-proyecto`,pathHint:`Ruta absoluta a la raíz del proyecto`,browseForFolder:`Buscar carpeta`,selectProjectFolder:`Seleccionar carpeta del proyecto`,nameLabel:`Nombre para mostrar`,optional:`(opcional)`,namePlaceholder:`Mi proyecto`,nameHint:`Por defecto, el nombre del directorio`,providersLabel:`Proveedores de IA`,notFound:`no encontrado`,multiProviderHint:`Se configurarán ambos motores. El primero es el predeterminado del proyecto. No se puede cambiar después de la creación.`,singleProviderHint:`No se puede cambiar una vez creado el proyecto.`,adding:`Añadiendo...`,submit:`Añadir proyecto`,toolsRequired_one:`Se necesita {{tools}} para añadir un proyecto`,toolsRequired_other:`Se necesitan {{tools}} para añadir un proyecto`,errors:{pathRequired:`La ruta del proyecto es obligatoria`,selectProvider:`Selecciona al menos un proveedor de IA`,addFailed:`No se pudo añadir el proyecto`},toasts:{registered:`Proyecto "{{name}}" registrado`}},n={corruptedBundle:`bundle dañado — reinstala la app`,notInstalled:`no instalado`,failedToExecute:`encontrado pero no se pudo ejecutar`,failedToExecuteAt:`encontrado en {{path}} pero no se pudo ejecutar`,failedToExecuteWithError:`encontrado pero no se pudo ejecutar ({{error}})`,failedToExecuteAtWithError:`encontrado en {{path}} pero no se pudo ejecutar ({{error}})`,needsMinimum:`{{version}} encontrada — se necesita {{minVersion}}+`,unknownVersion:`desconocida`,installedLabel:`instalado`,verifyError:`No se pudieron verificar las herramientas de desarrollo en local — la instalación lo validará.`,allDetected:`Todas las herramientas necesarias detectadas`,bundleCorruptedTitle:`Bundle de la app dañado`,toolsRequired_one:`{{count}} herramienta de desarrollo necesaria`,toolsRequired_other:`{{count}} herramientas de desarrollo necesarias`,reinstallHint:`Reinstala la app Specrails para restaurar las herramientas incluidas.`,installMissingHint:`Instala las herramientas que faltan para continuar.`,moreInfo:`Más información`,bundledBadge:`incluida`},r={title:`Instalar herramientas de desarrollo`,description:`SpecRails necesita Node.js, npm, npx y Git en el PATH. Elige el snippet de tu SO, ejecútalo y pulsa "Ya lo he instalado, volver a comprobar".`,darwin:{intro:`Homebrew te da ambas herramientas en una línea. Si no tienes brew, usa las descargas oficiales.`,installNodeGit:`Instalar Node.js y Git con Homebrew`},win32:{intro:`Winget viene incluido en Windows 11 y en las versiones recientes de Windows 10. Abre PowerShell o Terminal y ejecuta:`,installNode:`Instalar Node.js LTS`,installGit:`Instalar Git`,note:`Tras la instalación, reinicia Specrails para que Windows actualice el PATH.`},linux:{intro:`Usa el gestor de paquetes de tu distro:`,debian:`Debian / Ubuntu`,fedora:`Fedora / RHEL`},links:{nodeOfficial:`Node.js (oficial)`,gitOfficial:`Git (oficial)`,gitWindows:`Git para Windows (oficial)`},showOtherPlatforms:`Mostrar otras plataformas`,hideOtherPlatforms:`Ocultar otras plataformas`,recheck:`Ya lo he instalado, volver a comprobar`,diagnostics:{copy:`Copiar diagnóstico`,copied:`Diagnóstico copiado`,failed:`Error al copiar`},corrupted:{title:`Bundle de la app dañado`,description:`No se pudieron verificar una o más herramientas incluidas (Node.js, Git).`,body:`Esta herramienta viene incluida con la app Specrails y no puede instalarse por separado. Si ves este mensaje, el bundle de la app puede estar dañado. Reinstala Specrails.`}},i={title:`Progreso de la configuración`,progress:`{{done}} de {{total}} completados`,rawLog_one:`Log sin procesar ({{count}} línea)`,rawLog_other:`Log sin procesar ({{count}} líneas)`},a={title:`Asistente de configuración`,subtitle:`Responde a las preguntas para configurar tu proyecto`,settingUp:`Configurando tu proyecto...`,placeholder:`Escribe una respuesta...`,keyboardHint:`Enter para enviar, Shift+Enter para nueva línea`},o={title:`Bienvenido a <spec>spec</spec><rails>rails</rails>`,description:`Specrails gestiona varios proyectos desde una única interfaz. Añade tu primer proyecto para empezar.`,addFirstProject:`Añade tu primer proyecto`,jiraHint:`Conecta cada proyecto a su propio tablero de Jira — las specs se sincronizan en ambos sentidos.`},s=JSON.parse(`{"productTour":"Tour del producto","stepCount":"Paso {{current}} de {{total}}","goToStep":"Ir al paso {{step}}: {{label}}","stepLabel":"Paso {{step}}","dontShowAgain":"No volver a mostrar","skipTour":"Saltar el tour","getStarted":"Empezar","flow":{"addSpec":"Añade una spec","dropInRail":"Suéltala en un rail","hitPlay":"Dale a Play","ship":"Ship","architect":"Arquitecto","developer":"Desarrollador","reviewer":"Revisor"},"language":{"nav":"Idioma","title":"Elige tu idioma","subtitle":"Specrails habla tu idioma","intro":"Selecciona el idioma en el que quieres la interfaz. Se aplica al instante — este tour incluido.","note":"Puedes cambiarlo cuando quieras en Ajustes → Idioma."},"theme":{"nav":"Tema","title":"Elige tu estilo","subtitle":"Temas integrados, aplicados al instante","intro":"Decide qué aspecto tendrá Specrails — el tema se aplica en cuanto haces clic.","note":"Puedes cambiarlo cuando quieras en Ajustes → Apariencia."},"welcome":{"nav":"Bienvenida","title":"Bienvenido a Specrails","subtitle":"Tu centro de mando local para publicar software con agentes de IA","intro":"Specrails convierte una idea en código publicado — y te permite <b>ver, dirigir y confiar en</b> cada paso. Redacta una spec hablando con una IA, suéltala en un rail de ejecución y dale a Play. El pipeline se encarga de la arquitectura, la implementación, la revisión y la pull request, retransmitiendo su trabajo en directo en todo momento.","coreLoopLabel":"El bucle principal","flowCaption":"Cada spec pasa automáticamente por <b>Arquitecto → Desarrollador → Revisor → Ship</b>.","localNote":"<b>100 % local · un solo usuario · sin cuentas.</b> Todo se ejecuta en tu máquina. Tu código nunca sale del portátil a menos que <i>tú</i> lances un agente sobre él.","tourNote":"Este tour rápido repasa todo lo que puede hacer la aplicación — alrededor de un minuto."},"authorSpecs":{"nav":"Crea specs","title":"Convierte ideas en specs","subtitle":"Seis formas de capturar exactamente lo que quieres construir","intro":"Una <b>spec</b> es una descripción del trabajo que quieres que se haga. Redáctala como mejor encaje en cada momento — desde una línea rápida hasta una conversación completa con la IA.","exploreLabel":"Explore — conversa","exploreBody":"Describe lo que quieres en un chat; un borrador en vivo se reconstruye en cada turno. Un slider de presets ajusta cuánto contexto del proyecto ve la IA — desde solo tu mensaje hasta el codebase completo más tus servidores MCP.","quickLabel":"Quick — de una sola vez","quickBody":"¿Ya sabes lo que quieres? Genera una spec completa en un solo turno. Opcionalmente, enriquécela con una Contract Layer: nombres exactos, formas de datos, invariantes y una lista de archivos a tocar para que los agentes no reinventen nada.","websiteLabel":"Desde una web","websiteBody":"Abre un navegador embebido. Selecciona un elemento al pasar el ratón o arrastra un rectángulo, y la captura, el DOM y el CSS aplicado se convierten en adjuntos. La versión de escritorio incluye su propio Chromium, así que funciona sin conexión.","smashLabel":"SMASH para una épica grande","smashBody":"Divide una spec grande en una familia de sub-specs más pequeñas con un clic — cada hija lleva un breve resumen en su tarjeta.","draftsLabel":"Borradores y seguir editando","draftsBody":"Aparca una exploración en curso como ticket en borrador y retómala más tarde; reabre cualquier spec en Explore para seguir refinándola.","compareLabel":"Compara lado a lado","compareBody":"Arrastra una spec al borde de la pantalla y se desliza un selector con tus otras specs — revisa dos a la vez, al estilo tablet."},"rails":{"nav":"Ejecuta en rails","title":"Ejecuta el pipeline sobre rails","subtitle":"Organiza las specs en carriles y lanza los agentes","intro":"El lado derecho del Dashboard son tus <b>Rails</b> — carriles de ejecución. Arrastra una tarjeta de spec a un rail y pulsa <play>▶ Play</play> para lanzar un job de implementación.","jobLabel":"Qué ejecuta cada job","flowCaption":"Cada fase retransmite sus logs en directo mientras trabaja.","modeLabel":"Elige cómo se ejecuta un rail","modeBody":"Cada rail elige un modo: <b>Implement</b> (el pipeline estructurado completo), <b>Batch</b> (varias specs en secuencia) o <b>Ultracode</b> (Claude trabaja de forma autónoma, sin pipeline fijo).","profilesLabel":"Perfiles de agentes","profilesBody":"Un catálogo declarativo por proyecto que decide qué agentes se ejecutan y qué modelo usa cada uno — se elige por rail y se congela por job para que el trabajo concurrente quede aislado.","jobDetailLabel":"Detalle del job en directo","jobDetailBody":"Cada job muestra una cabecera con la identidad del ticket, un contador de duración en directo y los turnos y tokens acumulados, con el coste definitivo resuelto al terminar.","isolationLabel":"Muchos proyectos, aislados","isolationBody":"Cada proyecto tiene su propia base de datos y su propia cola de jobs. Ejecuta proyectos distintos a la vez y cambia entre ellos desde la barra lateral izquierda — tu posición se recuerda por proyecto."},"providers":{"nav":"Tu agente","title":"Trae tu propio agente","subtitle":"Claude Code y Codex, como motores de primera clase","intro":"La aplicación trata <b>Claude Code</b> y <b>Codex CLI</b> como motores intercambiables tras un mismo contrato. Un proyecto puede instalar uno o ambos — la elección se hace en el momento de la instalación.","table":{"capability":"Capacidad","streamingResume":"Streaming y reanudación de sesión","native":"Nativo","costReporting":"Informe de costes","providerBilled":"Facturado por el proveedor","estimated":"Estimado (~)","telemetry":"Telemetría (OTEL)","synthesized":"Sintetizada","agentProfiles":"Perfiles de agentes"},"calloutLabel":"Cuando ambos están instalados","calloutBody":"Elige el motor <b>por spec, por rail o por lanzamiento de terminal</b>. La aplicación recuerda tu última elección por proyecto. El coste de Codex se estima con una tarifa local y siempre se marca con <mono>~</mono>."},"cost":{"nav":"Controla el coste","title":"Controla cada céntimo","subtitle":"Cada invocación facturable, registrada y visualizada","intro":"Cada invocación de IA — en rails, Quick, Explore, ediciones con IA, SMASH y resúmenes de archivos — se registra tanto para <b>Claude como para Codex</b>. Se acabó adivinar lo que cuestan los agentes.","analyticsLabel":"Página de analítica","analyticsBody":"Un hero de burn-rate, línea temporal diaria, top de tickets, desglose por modelo y un scatter de coste frente a turnos. Filtra por periodo (7d / 30d / 90d / Todo) y por superficie.","perTicketLabel":"Gasto por ticket","perTicketBody":"El detalle de cada spec muestra cuánto costó y cuántos turnos llevó, con enlace directo a la analítica filtrada por ese ticket.","honestLabel":"Números honestos","honestBody":"El coste de Claude es la cifra facturada por el proveedor; el de Codex es estimado y se marca con <mono>~</mono>. Los totales de tokens incluyen los niveles de caché, así que las cifras cuadran de verdad.","budgetsLabel":"Presupuestos y alertas","budgetsBody":"Define un presupuesto diario y una alerta de coste por job; la aplicación pausa la cola automáticamente cuando cruzas la línea. Exporta lo que quieras a CSV o JSON."},"workspace":{"nav":"Espacio de trabajo","title":"Hazlo tu espacio de trabajo","subtitle":"Todo lo que necesitas sin salir de la ventana","terminalLabel":"Panel de terminal","terminalBody":"Un terminal real al estilo VS Code en la parte inferior (<mod>{{mod}}</mod> <j>J</j>) — renderizado WebGL, búsqueda, imágenes inline, arrastrar y soltar rutas e integración con el shell. Hasta 10 sesiones por proyecto.","codeLabel":"Explorador de código","codeBody":"Un árbol de archivos de solo lectura y un visor Monaco con resúmenes de IA en lenguaje llano y chips de procedencia «tocado por IA», para que cualquiera pueda seguir qué cambió y por qué.","integrationsLabel":"Integraciones","integrationsBody":"Un marketplace por proyecto de integraciones MCP — la navegación semántica de código de Serena viene incluida. Las instalaciones son aditivas: añadir una nunca altera otra.","themesLabel":"Temas","themesBody":"Cinco temas integrados — specrails (por defecto), dracula, aurora-light, obsidian-dark y matrix — aplicados antes de que la UI pinte, así no hay parpadeo. Cámbialos en Ajustes → Apariencia.","chatsLabel":"Chats minimizables","chatsBody":"Aparca una sesión de Explore o AI Edit en un chip del dock y retómala más tarde — nunca se pierde entre recargas o cambios de proyecto.","desktopLabel":"Escritorio o navegador","desktopBody":"Ejecuta Specrails en tu navegador o descarga la app de escritorio firmada (macOS y Windows), que incluye su propio servidor y runtimes."},"companion":{"nav":"App móvil","title":"Llévate Specrails contigo","subtitle":"SpecRails Companion — tus pipelines, en tu teléfono","intro":"<b>SpecRails Companion</b> es la app móvil gratuita para iPhone y Android que se empareja con este escritorio a través de tu red local. Navega por el tablero de specs, lanza y detén rails, sigue los logs de los jobs en directo y echa un vistazo a la analítica — directamente desde tu teléfono.","localLabel":"100 % local, como todo lo demás","localBody":"La app habla directamente con este ordenador a través de tu Wi-Fi — emparejamiento por QR con anclaje de certificado TLS. Sin servidores intermedios en la nube, sin cuentas, y tu código nunca sale de casa.","downloadLabel":"Consigue la app","downloadHint":"Escanea un código con la cámara de tu teléfono o abre el enlace.","ios":"Descargar para iPhone","android":"Descargar para Android","pairLabel":"Emparejar lleva diez segundos","pairBody":"Una vez instalada, ve a Ajustes → App móvil → Emparejar dispositivo y escanea el código QR que aparece ahí."},"moveFast":{"nav":"Ve rápido","title":"Muévete a la velocidad del pensamiento","subtitle":"Teclado primero, en todas partes","paletteLabel":"Paleta de comandos","paletteShortcut":"<f>Pulsa</f> <mod>{{mod}}</mod> <m>+</m> <k>K</k> <m>en cualquier parte</m>","paletteBody":"Cambia de proyecto, ejecuta comandos de spec, salta a cualquier página y encuentra jobs recientes — todo con búsqueda difusa.","terminalLabel":"Panel de terminal","terminalBody":"Alterna con <mod>{{mod}}</mod> <j>J</j>.","shortcutsLabel":"Todos los atajos","shortcutsBody":"Pulsa <q>?</q> para ver la chuleta completa.","chatLabel":"Barra lateral de chat","chatBody":"Alterna la barra lateral derecha con <mod>{{mod}}</mod> <bkey>B</bkey>.","projectsLabel":"Barra lateral de proyectos","projectsBody":"Alterna la barra lateral Arc izquierda con <alt>{{alt}}</alt> <mod>{{mod}}</mod> <bkey>B</bkey>.","outro":"<b>Fin del tour.</b> Añade un proyecto desde la barra lateral izquierda y publica tu primera spec. Puedes reabrir este recorrido cuando quieras desde Ajustes."},"jira":{"label":"Integración con Jira","body":"Respalda cualquier proyecto con un <b>tablero de Jira</b> — cada spec es un issue de Jira, sincronizado en ambos sentidos: el estado sigue al rail y se publica un comentario al terminar un job. Configúralo por proyecto al añadirlo, o cuando quieras en Ajustes."}}`),c={wizard:e,addProject:t,prerequisites:n,instructions:r,checkpoints:i,setupChat:a,welcome:o,onboarding:s};export{t as addProject,i as checkpoints,c as default,r as instructions,s as onboarding,n as prerequisites,a as setupChat,o as welcome,e as wizard};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={configureAgents:`{{provider}}-Agenten konfigurieren`,configureSubtitle:`Wählen Sie, welche Agenten installiert und wie sie ausgeführt werden.`,tabs:{agents:`Agenten`,models:`Modelle`},skipForNow:`Vorerst überspringen`,install:`Installieren`,nextProvider:`Weiter: {{provider}}`,installingProvider:`{{provider}} wird installiert…`,installingSpecrails:`specrails wird installiert…`,installingFromTemplates:`Agenten werden aus Vorlagen installiert`,waitingForOutput:`Warten auf Ausgabe…`,checkpoints:{baseInstall:`Basisinstallation`,agentSelection:`Agentenauswahl`,agentGeneration:`Agentengenerierung`},steps:{configure:`Konfigurieren`},summary:{agents:`Agenten`,agentSkills:`Agenten-Skills`,skills:`Skills`,openspecSkills:`OpenSpec-Skills`,legacyRemoved_one:`{{count}} Legacy-Befehl <code>/specrails:*</code> entfernt`,legacyRemoved_other:`{{count}} Legacy-Befehle <code>/specrails:*</code> entfernt`},complete:{welcome:`Willkommen bei <spec>spec</spec><rails>rails</rails>`,configured:`<strong>{{projectName}}</strong> ist jetzt mit KI-gestützten Entwicklungs-Workflows konfiguriert. Ihre spezialisierten Agenten und Befehle sind einsatzbereit.`,installedForEngines_one:`Für {{count}} Engine installiert`,installedForEngines_other:`Für {{count}} Engines installiert`,learnMore:`Erfahren Sie, wie Sie das Beste aus specrails herausholen:`,continueToProject:`Weiter zum Projekt`,jira:{title:`Ein Jira-Board verbinden`,subtitle:`Optional — hinterlege die Specs dieses Projekts mit einem Jira-Board. Du kannst das auch später in den Einstellungen tun.`,configure:`Jira einrichten`,optional:`optional`}},error:{title:`Setup fehlgeschlagen`,skipSetup:`Setup überspringen`,prereqMissing:`Das SpecRails-Setup benötigt Node.js, npm, npx und Git im PATH, bevor dieses Projekt installiert werden kann.`,prereqRetryHint:`Installieren Sie die fehlenden Tools, starten Sie Specrails neu und versuchen Sie das Setup erneut.`}},t={title:`Projekt hinzufügen`,description:`Registrieren Sie ein Projektverzeichnis, um es über Specrails zu verwalten.`,noProviderDetected:`Keine KI-CLI gefunden. Installieren Sie zuerst Claude Code oder Codex CLI.`,pathLabel:`Projektpfad`,pathPlaceholder:`/Users/ich/mein-projekt`,pathHint:`Absoluter Pfad zum Projekt-Root`,browseForFolder:`Ordner auswählen`,selectProjectFolder:`Projektordner auswählen`,nameLabel:`Anzeigename`,optional:`(optional)`,namePlaceholder:`Mein Projekt`,nameHint:`Standard ist der Verzeichnisname`,providersLabel:`KI-Anbieter`,notFound:`nicht gefunden`,multiProviderHint:`Beide Engines werden eingerichtet. Die erste ist der Projektstandard. Kann nach dem Erstellen nicht geändert werden.`,singleProviderHint:`Kann nach dem Erstellen des Projekts nicht geändert werden.`,adding:`Wird hinzugefügt…`,submit:`Projekt hinzufügen`,toolsRequired_one:`{{tools}} wird benötigt, um ein Projekt hinzuzufügen`,toolsRequired_other:`{{tools}} werden benötigt, um ein Projekt hinzuzufügen`,errors:{pathRequired:`Projektpfad ist erforderlich`,selectProvider:`Wählen Sie mindestens einen KI-Anbieter aus`,addFailed:`Projekt konnte nicht hinzugefügt werden`},toasts:{registered:`Projekt „{{name}}“ registriert`}},n={corruptedBundle:`Bundle beschädigt – App neu installieren`,notInstalled:`nicht installiert`,failedToExecute:`gefunden, aber Ausführung fehlgeschlagen`,failedToExecuteAt:`unter {{path}} gefunden, aber Ausführung fehlgeschlagen`,failedToExecuteWithError:`gefunden, aber Ausführung fehlgeschlagen ({{error}})`,failedToExecuteAtWithError:`unter {{path}} gefunden, aber Ausführung fehlgeschlagen ({{error}})`,needsMinimum:`{{version}} gefunden – benötigt {{minVersion}}+`,unknownVersion:`unbekannt`,installedLabel:`installiert`,verifyError:`Entwickler-Tools konnten lokal nicht überprüft werden – die Installation validiert sie.`,allDetected:`Alle erforderlichen Tools erkannt`,bundleCorruptedTitle:`App-Bundle beschädigt`,toolsRequired_one:`{{count}} Entwickler-Tool erforderlich`,toolsRequired_other:`{{count}} Entwickler-Tools erforderlich`,reinstallHint:`Installieren Sie die Specrails-App neu, um die mitgelieferten Tools wiederherzustellen.`,installMissingHint:`Installieren Sie die fehlenden Tools, um fortzufahren.`,moreInfo:`Mehr Infos`,bundledBadge:`mitgeliefert`},r={title:`Entwickler-Tools installieren`,description:`SpecRails benötigt Node.js, npm, npx und Git im PATH. Wählen Sie das Snippet für Ihr Betriebssystem, führen Sie es aus und klicken Sie dann auf „Installiert, erneut prüfen“.`,darwin:{intro:`Mit Homebrew bekommen Sie beide Tools in einer Zeile. Ohne brew nutzen Sie die offiziellen Downloads.`,installNodeGit:`Node.js und Git über Homebrew installieren`},win32:{intro:`Winget ist in Windows 11 und aktuellen Windows-10-Versionen enthalten. Öffnen Sie PowerShell oder Terminal und führen Sie aus:`,installNode:`Node.js LTS installieren`,installGit:`Git installieren`,note:`Starten Sie Specrails nach der Installation neu, damit Windows den PATH aktualisiert.`},linux:{intro:`Verwenden Sie den Paketmanager Ihrer Distribution:`,debian:`Debian / Ubuntu`,fedora:`Fedora / RHEL`},links:{nodeOfficial:`Node.js (offiziell)`,gitOfficial:`Git (offiziell)`,gitWindows:`Git für Windows (offiziell)`},showOtherPlatforms:`Andere Plattformen anzeigen`,hideOtherPlatforms:`Andere Plattformen ausblenden`,recheck:`Installiert, erneut prüfen`,diagnostics:{copy:`Diagnose kopieren`,copied:`Diagnose kopiert`,failed:`Kopieren fehlgeschlagen`},corrupted:{title:`App-Bundle beschädigt`,description:`Mindestens ein mitgeliefertes Tool (Node.js, Git) konnte nicht verifiziert werden.`,body:`Dieses Tool ist in der Specrails-App enthalten und kann nicht separat installiert werden. Wenn Sie diese Meldung sehen, ist das App-Bundle möglicherweise beschädigt. Bitte installieren Sie Specrails neu.`}},i={title:`Setup-Fortschritt`,progress:`{{done}} von {{total}} abgeschlossen`,rawLog_one:`Roh-Log ({{count}} Zeile)`,rawLog_other:`Roh-Log ({{count}} Zeilen)`},a={title:`Setup-Assistent`,subtitle:`Beantworten Sie die Prompts, um Ihr Projekt zu konfigurieren`,settingUp:`Ihr Projekt wird eingerichtet…`,placeholder:`Antwort eingeben…`,keyboardHint:`Enter zum Senden, Shift+Enter für neue Zeile`},o={title:`Willkommen bei <spec>spec</spec><rails>rails</rails>`,description:`Specrails verwaltet mehrere Projekte über eine einzige Oberfläche. Fügen Sie Ihr erstes Projekt hinzu, um loszulegen.`,addFirstProject:`Erstes Projekt hinzufügen`,jiraHint:`Verbinde jedes Projekt mit seinem eigenen Jira-Board — Specs bleiben in beide Richtungen synchron.`},s=JSON.parse(`{"productTour":"Produkttour","stepCount":"Schritt {{current}} von {{total}}","goToStep":"Zu Schritt {{step}}: {{label}}","stepLabel":"Schritt {{step}}","dontShowAgain":"Nicht mehr anzeigen","skipTour":"Tour überspringen","getStarted":"Loslegen","flow":{"addSpec":"Spec hinzufügen","dropInRail":"Auf eine Rail ziehen","hitPlay":"Play drücken","ship":"Ship","architect":"Architekt","developer":"Entwickler","reviewer":"Reviewer"},"language":{"nav":"Sprache","title":"Wählen Sie Ihre Sprache","subtitle":"Specrails spricht Ihre Sprache","intro":"Wählen Sie die Sprache für die Oberfläche. Sie gilt sofort – diese Tour eingeschlossen.","note":"Sie können sie jederzeit unter Einstellungen → Sprache ändern."},"theme":{"nav":"Theme","title":"Wählen Sie Ihren Look","subtitle":"Integrierte Themes, sofort angewendet","intro":"Wählen Sie, wie Specrails aussehen soll — das Theme wird sofort beim Klick angewendet.","note":"Sie können es jederzeit unter Einstellungen → Erscheinungsbild ändern."},"welcome":{"nav":"Willkommen","title":"Willkommen bei Specrails","subtitle":"Ihr lokales Cockpit, um Software mit KI-Agenten auszuliefern","intro":"Specrails verwandelt eine Idee in ausgelieferten Code – und lässt Sie jeden Schritt <b>sehen, steuern und nachvollziehen</b>. Entwerfen Sie eine Spec im Gespräch mit einer KI, ziehen Sie sie auf eine Ausführungs-Rail und drücken Sie Play. Die Pipeline übernimmt Architektur, Implementierung, Review und den Pull Request – und streamt ihre Arbeit dabei live.","coreLoopLabel":"Der Kern-Loop","flowCaption":"Jede Spec durchläuft automatisch <b>Architekt → Entwickler → Reviewer → Ship</b>.","localNote":"<b>100 % lokal · Single-User · keine Konten.</b> Alles läuft auf Ihrem Rechner. Ihr Code verlässt den Laptop nur, wenn <i>Sie</i> einen Agent darauf ansetzen.","tourNote":"Diese kurze Tour zeigt alles, was die App kann – dauert etwa eine Minute."},"authorSpecs":{"nav":"Specs verfassen","title":"Aus Ideen werden Specs","subtitle":"Sechs Wege, genau festzuhalten, was gebaut werden soll","intro":"Eine <b>Spec</b> beschreibt Arbeit, die erledigt werden soll. Verfassen Sie sie, wie es gerade passt – vom schnellen Einzeiler bis zum ausführlichen Gespräch mit der KI.","exploreLabel":"Explore – im Dialog","exploreBody":"Beschreiben Sie im Chat, was Sie wollen; ein Live-Entwurf baut sich mit jedem Zug neu auf. Ein Preset-Regler steuert, wie viel Projektkontext die KI sieht – von nur Ihrer Nachricht bis zur kompletten Codebasis samt Ihren MCP-Servern.","quickLabel":"Quick – in einem Schritt","quickBody":"Sie wissen schon, was Sie wollen? Generieren Sie eine vollständige Spec in einem einzigen Zug. Optional mit Contract Layer anreichern: exakte Namen, Datenformen, Invarianten und eine Liste der berührten Dateien, damit die Agenten nichts neu erfinden.","websiteLabel":"Von einer Website","websiteBody":"Öffnet einen eingebetteten Browser. Wählen Sie per Hover ein Element oder ziehen Sie ein Rechteck – Screenshot, DOM und angewendetes CSS werden zu Anhängen. Die Desktop-Version bringt ein eigenes Chromium mit und funktioniert daher offline.","smashLabel":"Ein großes Epic SMASHen","smashBody":"Zerlegen Sie eine große Spec mit einem Klick in eine Familie kleinerer Sub-Specs – jedes Kind trägt eine Kurzzusammenfassung auf seiner Karte.","draftsLabel":"Entwürfe & Weiterbearbeiten","draftsBody":"Parken Sie eine laufende Exploration als Entwurfs-Ticket und nehmen Sie sie später wieder auf; öffnen Sie jede Spec erneut in Explore, um weiter zu verfeinern.","compareLabel":"Seite an Seite vergleichen","compareBody":"Ziehen Sie eine Spec an den Bildschirmrand, und eine Auswahl Ihrer anderen Specs gleitet herein – prüfen Sie zwei davon gemeinsam, wie auf einem Tablet."},"rails":{"nav":"Auf Rails ausführen","title":"Die Pipeline auf Rails laufen lassen","subtitle":"Specs in Bahnen organisieren, dann die Agenten starten","intro":"Die rechte Seite des Dashboards sind Ihre <b>Rails</b> – Ausführungsbahnen. Ziehen Sie eine Spec-Karte auf eine Rail und drücken Sie <play>▶ Play</play>, um einen Implementierungsjob zu starten.","jobLabel":"Was jeder Job ausführt","flowCaption":"Jede Phase streamt ihre Logs live, während sie arbeitet.","modeLabel":"Wählen Sie, wie eine Rail läuft","modeBody":"Jede Rail wählt einen Modus: <b>Implement</b> (die vollständige strukturierte Pipeline), <b>Batch</b> (mehrere Specs nacheinander) oder <b>Ultracode</b> (Claude arbeitet autonom, ohne feste Pipeline).","profilesLabel":"Agentenprofile","profilesBody":"Ein deklarativer Katalog pro Projekt, der bestimmt, welche Agenten laufen und welches Modell jeder nutzt – pro Rail gewählt und pro Job eingefroren, damit parallele Arbeit isoliert bleibt.","jobDetailLabel":"Live-Jobdetails","jobDetailBody":"Jeder Job zeigt einen Ticket-Identitäts-Header, eine live tickende Laufzeit und laufende Turn-/Token-Zähler; die verbindlichen Kosten werden beim Beenden ermittelt.","isolationLabel":"Viele Projekte, isoliert","isolationBody":"Jedes Projekt hat seine eigene Datenbank und Job-Queue. Lassen Sie verschiedene Projekte gleichzeitig laufen und wechseln Sie über die linke Seitenleiste – Ihre Position wird pro Projekt gemerkt."},"providers":{"nav":"Ihr Agent","title":"Bringen Sie Ihren eigenen Agent mit","subtitle":"Claude Code und Codex als gleichwertige Engines","intro":"Die App behandelt <b>Claude Code</b> und <b>Codex CLI</b> als austauschbare Engines hinter einem gemeinsamen Vertrag. Ein Projekt kann eine oder beide installieren – die Wahl fällt bei der Installation.","table":{"capability":"Fähigkeit","streamingResume":"Streaming & Sitzungsfortsetzung","native":"Nativ","costReporting":"Kostenberichte","providerBilled":"Anbieterseitig abgerechnet","estimated":"Geschätzt (~)","telemetry":"Telemetrie (OTEL)","synthesized":"Synthetisiert","agentProfiles":"Agentenprofile"},"calloutLabel":"Wenn beide installiert sind","calloutBody":"Wählen Sie die Engine <b>pro Spec, pro Rail oder pro Terminal-Start</b>. Die App merkt sich Ihre letzte Wahl pro Projekt. Codex-Kosten werden anhand einer lokalen Preisliste geschätzt und stets mit <mono>~</mono> markiert."},"cost":{"nav":"Kosten verfolgen","title":"Jeden Cent im Blick","subtitle":"Jeder kostenpflichtige Aufruf, erfasst und visualisiert","intro":"Jeder KI-Aufruf – über Rails, Quick, Explore, AI Edits, SMASH und Dateizusammenfassungen – wird für <b>Claude und Codex</b> erfasst. Schluss mit dem Raten, was die Agenten kosten.","analyticsLabel":"Analytics-Seite","analyticsBody":"Ein Burn-Rate-Hero, Tages-Timeline, Top-Tickets, Modellaufschlüsselung und ein Kosten-vs.-Turns-Scatter. Filtern nach Zeitraum (7d / 30d / 90d / Alle) und nach Bereich.","perTicketLabel":"Ausgaben pro Ticket","perTicketBody":"Die Detailansicht jeder Spec zeigt, was sie gekostet hat und wie viele Turns sie brauchte – mit Deep-Link in die auf dieses Ticket gefilterte Analytics-Ansicht.","honestLabel":"Ehrliche Zahlen","honestBody":"Claude-Kosten sind der vom Anbieter abgerechnete Betrag; Codex wird geschätzt und mit <mono>~</mono> markiert. Token-Summen schließen die Cache-Stufen ein, sodass die Zahlen wirklich aufgehen.","budgetsLabel":"Budgets & Alarme","budgetsBody":"Legen Sie ein Tagesbudget und einen Kostenalarm pro Job fest; die App pausiert die Queue automatisch, wenn die Grenze überschritten wird. Exportieren Sie alles als CSV oder JSON."},"workspace":{"nav":"Arbeitsbereich","title":"Machen Sie es zu Ihrem Arbeitsbereich","subtitle":"Alles Nötige, ohne das Fenster zu verlassen","terminalLabel":"Terminal-Panel","terminalBody":"Ein echtes Terminal im VS-Code-Stil am unteren Rand (<mod>{{mod}}</mod> <j>J</j>) – WebGL-Rendering, Suche, Inline-Bilder, Drag-and-drop-Pfade und Shell-Integration. Bis zu 10 Sessions pro Projekt.","codeLabel":"Code-Explorer","codeBody":"Ein schreibgeschützter Dateibaum und Monaco-Viewer mit verständlichen KI-Zusammenfassungen und „Von KI berührt“-Herkunfts-Chips – so kann jeder nachvollziehen, was sich warum geändert hat.","integrationsLabel":"Integrationen","integrationsBody":"Ein Marketplace für MCP-Integrationen pro Projekt – Serena (semantische Code-Navigation) ist bereits enthalten. Installationen sind additiv: Eine neue stört nie eine bestehende.","themesLabel":"Themes","themesBody":"Fünf integrierte Themes – specrails (Standard), dracula, aurora-light, obsidian-dark und matrix – werden angewendet, bevor die UI zeichnet, also ohne Aufblitzen. Ändern Sie sie unter Einstellungen → Erscheinungsbild.","chatsLabel":"Minimierbare Chats","chatsBody":"Parken Sie eine Explore- oder AI-Edit-Sitzung als Dock-Chip und nehmen Sie sie später wieder auf – sie geht weder beim Neuladen noch beim Projektwechsel verloren.","desktopLabel":"Desktop oder Browser","desktopBody":"Nutzen Sie Specrails im Browser oder holen Sie sich die signierte Desktop-App (macOS & Windows) mit eigenem Server und eigenen Runtimes."},"companion":{"nav":"Mobile App","title":"Nehmen Sie Specrails überallhin mit","subtitle":"SpecRails Companion – Ihre Pipelines auf Ihrem Smartphone","intro":"<b>SpecRails Companion</b> ist die kostenlose Mobile-App für iPhone und Android, die sich über Ihr lokales Netzwerk mit diesem Desktop koppelt. Durchstöbern Sie das Specs-Board, starten und stoppen Sie Rails, verfolgen Sie Live-Job-Logs und werfen Sie einen Blick auf die Analytics – direkt vom Smartphone.","localLabel":"100 % lokal, wie alles andere","localBody":"Die App spricht über Ihr WLAN direkt mit diesem Rechner – QR-Kopplung mit TLS-Pinning. Kein Cloud-Relay, kein Konto, und Ihr Code verlässt nie Ihre vier Wände.","downloadLabel":"Holen Sie sich die App","downloadHint":"Scannen Sie einen Code mit der Kamera Ihres Smartphones oder öffnen Sie den Link.","ios":"Für iPhone laden","android":"Für Android laden","pairLabel":"Die Kopplung dauert zehn Sekunden","pairBody":"Gehen Sie nach der Installation zu Einstellungen → Mobile Companion → Gerät koppeln und scannen Sie den dort angezeigten QR-Code."},"moveFast":{"nav":"Schnell arbeiten","title":"In Gedankengeschwindigkeit arbeiten","subtitle":"Keyboard-first, überall","paletteLabel":"Befehlspalette","paletteShortcut":"<f>Drücken Sie</f> <mod>{{mod}}</mod> <m>+</m> <k>K</k> <m>überall</m>","paletteBody":"Projekte wechseln, Spec-Befehle ausführen, zu jeder Seite springen und letzte Jobs finden – alles mit Fuzzy-Suche.","terminalLabel":"Terminal-Panel","terminalBody":"Umschalten mit <mod>{{mod}}</mod> <j>J</j>.","shortcutsLabel":"Alle Shortcuts","shortcutsBody":"Drücken Sie <q>?</q> für die vollständige Übersicht.","chatLabel":"Chat-Seitenleiste","chatBody":"Rechte Seitenleiste umschalten mit <mod>{{mod}}</mod> <bkey>B</bkey>.","projectsLabel":"Projekt-Seitenleiste","projectsBody":"Linke Arc-Seitenleiste umschalten mit <alt>{{alt}}</alt> <mod>{{mod}}</mod> <bkey>B</bkey>.","outro":"<b>Das war die Tour.</b> Fügen Sie über die linke Seitenleiste ein Projekt hinzu und liefern Sie Ihre erste Spec aus. Diese Tour lässt sich jederzeit über die Einstellungen erneut öffnen."},"jira":{"label":"Jira-Integration","body":"Hinterlege jedes Projekt mit einem <b>Jira-Board</b> — jede Spec wird zu einem Jira-Vorgang, in beide Richtungen synchronisiert: Der Status folgt dem Rail und am Ende eines Jobs wird ein Kommentar gepostet. Richte es pro Projekt beim Hinzufügen ein oder jederzeit in den Einstellungen."}}`),c={wizard:e,addProject:t,prerequisites:n,instructions:r,checkpoints:i,setupChat:a,welcome:o,onboarding:s};export{t as addProject,i as checkpoints,c as default,r as instructions,s as onboarding,n as prerequisites,a as setupChat,o as welcome,e as wizard};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./chunk-CilyBKbf.js";var t=e({badges:()=>a,board:()=>n,card:()=>o,default:()=>_,emptyState:()=>s,epicFilter:()=>h,errors:()=>c,gridView:()=>u,labelFilter:()=>m,listView:()=>l,priority:()=>i,sortControl:()=>f,sprintFilter:()=>g,status:()=>r,statusFilter:()=>d,viewTier:()=>p}),n={title:`Spec`,dropHere:`Drop here`,emptyNoSpecs:`No specs yet`,emptyNoLabelMatch:`No specs match the active labels`,emptyNoActiveSpecs:`No active specs`,emptyHint:`Click "+ Add" to get started`,dropToMarkDone:`Drop to mark as done`,emptyNoDoneLabelMatch:`No done specs match the active labels`,emptyNoCompleted:`No completed specs yet`,untitledSpec:`Untitled spec`},r={todo:`Todo`,inProgress:`In Progress`,done:`Done`,cancelled:`Cancelled`},i={critical:`critical`,high:`high`,medium:`medium`,low:`low`},a={epic:`Epic`,epicWithCount:`Epic · {{count}}`,subSpec:`↑ Sub-Spec`,review:`Review`,needsReviewTitle:`This spec was marked done but its job ended in failure — review it`,raw:`Raw`,rawTitle:`Raw spec — no AI generation at intake`,contract:`Contract`,openParentEpicTitle:`Open parent Epic #{{id}} · {{title}}`},o={deleteSpec:`Delete spec #{{id}}`,deleteTicket:`Delete ticket #{{id}}`,ticketFallbackLabel:`Ticket #{{id}}`,dependsOn:`Depends on {{count}}`,continueEditing:`Continue Editing`,continueEditingTitle:`Continue editing this spec`,moveToRail:`Move to Rail`},s={noTickets:`No tickets yet`,noTicketsHint:`Create your first ticket or run a product backlog command to populate tickets`,createFirst:`Create your first ticket`},c={loadFailed:`Failed to load tickets`},l={status:{draft:`draft`,todo:`todo`,inProgress:`in progress`,done:`done`,cancelled:`cancelled`},filterAll:`All ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`All labels`,searchPlaceholder:`Search...`,columns:{status:`Status`,title:`Title`,priority:`Priority`,labels:`Labels`,updated:`Updated`},noMatch:`No tickets match your filters`,clearFilters:`Clear filters`,loadMore:`Load more ({{count}} remaining)`},u={emptyTodo:`No tickets to do`,emptyInProgress:`Nothing in progress`,emptyDone:`No completed tickets`,cancelledSection:`Cancelled ({{count}})`},d={ariaLabel:`Filter by status`,all:`All`,todo:`ToDo`,done:`Done`},f={modeAriaLabel:`Sort mode`,tooltip:`Sort: {{mode}}`,toggleDirAriaLabel:`Toggle sort direction`,ascending:`Ascending`,descending:`Descending`,modes:{default:`Default`,ticketId:`Ticket #`,priority:`Priority`}},p={ariaLabel:`Specs view`,listView:`List view`,postitView:`Post-it view`},m={ariaLabel:`Filter by labels`,all:`All`,empty:`No labels in this project.`,selected_one:`{{count}} label`,selected_other:`{{count}} labels`,clear:`clear`},h={all:`All epics`,ariaLabel:`Filter by epic`},g={current:`Current`,all:`All sprints`,ariaLabel:`Filter by sprint`},_={board:n,status:r,priority:i,badges:a,card:o,emptyState:s,errors:c,listView:l,gridView:u,statusFilter:d,sortControl:f,viewTier:p,labelFilter:m,epicFilter:h,sprintFilter:g};export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Spec`,dropHere:`拖放到此处`,emptyNoSpecs:`暂无 spec`,emptyNoLabelMatch:`没有符合所选标签的 spec`,emptyNoActiveSpecs:`没有进行中的 spec`,emptyHint:`点击“+ 添加”开始`,dropToMarkDone:`拖放至此标记为完成`,emptyNoDoneLabelMatch:`没有符合所选标签的已完成 spec`,emptyNoCompleted:`暂无已完成的 spec`,untitledSpec:`未命名 spec`},t={todo:`待办`,inProgress:`进行中`,done:`完成`,cancelled:`已取消`},n={critical:`紧急`,high:`高`,medium:`中`,low:`低`},r={epic:`Epic`,epicWithCount:`Epic · {{count}}`,subSpec:`↑ 子 Spec`,review:`待审查`,needsReviewTitle:`此 spec 已标记为完成,但其任务以失败告终——请审查`,raw:`Raw`,rawTitle:`Raw spec——录入时不经过 AI 生成`,contract:`Contract`,openParentEpicTitle:`打开父级 Epic #{{id}} · {{title}}`},i={deleteSpec:`删除 spec #{{id}}`,deleteTicket:`删除工单 #{{id}}`,ticketFallbackLabel:`工单 #{{id}}`,dependsOn:`依赖 {{count}} 项`,continueEditing:`继续编辑`,continueEditingTitle:`继续编辑此 spec`,moveToRail:`放入 Rail`},a={noTickets:`暂无工单`,noTicketsHint:`创建第一个工单,或运行 product backlog 命令来填充工单`,createFirst:`创建第一个工单`},o={loadFailed:`加载工单失败`},s={status:{draft:`草稿`,todo:`待办`,inProgress:`进行中`,done:`完成`,cancelled:`已取消`},filterAll:`全部({{count}})`,statusWithCount:`{{status}}({{count}})`,allLabels:`全部标签`,searchPlaceholder:`搜索…`,columns:{status:`状态`,title:`标题`,priority:`优先级`,labels:`标签`,updated:`更新时间`},noMatch:`没有符合筛选条件的工单`,clearFilters:`清除筛选`,loadMore:`加载更多(剩余 {{count}} 个)`},c={emptyTodo:`没有待办工单`,emptyInProgress:`没有进行中的工单`,emptyDone:`没有已完成的工单`,cancelledSection:`已取消({{count}})`},l={ariaLabel:`按状态筛选`,all:`全部`,todo:`待办`,done:`完成`},u={modeAriaLabel:`排序方式`,tooltip:`排序:{{mode}}`,toggleDirAriaLabel:`切换排序方向`,ascending:`升序`,descending:`降序`,modes:{default:`默认`,ticketId:`工单 #`,priority:`优先级`}},d={ariaLabel:`Spec 视图`,listView:`列表视图`,postitView:`便签视图`},f={ariaLabel:`按标签筛选`,all:`全部`,empty:`此项目没有标签。`,selected_one:`{{count}} 个标签`,selected_other:`{{count}} 个标签`,clear:`清除`},p={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f};export{r as badges,e as board,i as card,
|
|
1
|
+
var e={title:`Spec`,dropHere:`拖放到此处`,emptyNoSpecs:`暂无 spec`,emptyNoLabelMatch:`没有符合所选标签的 spec`,emptyNoActiveSpecs:`没有进行中的 spec`,emptyHint:`点击“+ 添加”开始`,dropToMarkDone:`拖放至此标记为完成`,emptyNoDoneLabelMatch:`没有符合所选标签的已完成 spec`,emptyNoCompleted:`暂无已完成的 spec`,untitledSpec:`未命名 spec`},t={todo:`待办`,inProgress:`进行中`,done:`完成`,cancelled:`已取消`},n={critical:`紧急`,high:`高`,medium:`中`,low:`低`},r={epic:`Epic`,epicWithCount:`Epic · {{count}}`,subSpec:`↑ 子 Spec`,review:`待审查`,needsReviewTitle:`此 spec 已标记为完成,但其任务以失败告终——请审查`,raw:`Raw`,rawTitle:`Raw spec——录入时不经过 AI 生成`,contract:`Contract`,openParentEpicTitle:`打开父级 Epic #{{id}} · {{title}}`},i={deleteSpec:`删除 spec #{{id}}`,deleteTicket:`删除工单 #{{id}}`,ticketFallbackLabel:`工单 #{{id}}`,dependsOn:`依赖 {{count}} 项`,continueEditing:`继续编辑`,continueEditingTitle:`继续编辑此 spec`,moveToRail:`放入 Rail`},a={noTickets:`暂无工单`,noTicketsHint:`创建第一个工单,或运行 product backlog 命令来填充工单`,createFirst:`创建第一个工单`},o={loadFailed:`加载工单失败`},s={status:{draft:`草稿`,todo:`待办`,inProgress:`进行中`,done:`完成`,cancelled:`已取消`},filterAll:`全部({{count}})`,statusWithCount:`{{status}}({{count}})`,allLabels:`全部标签`,searchPlaceholder:`搜索…`,columns:{status:`状态`,title:`标题`,priority:`优先级`,labels:`标签`,updated:`更新时间`},noMatch:`没有符合筛选条件的工单`,clearFilters:`清除筛选`,loadMore:`加载更多(剩余 {{count}} 个)`},c={emptyTodo:`没有待办工单`,emptyInProgress:`没有进行中的工单`,emptyDone:`没有已完成的工单`,cancelledSection:`已取消({{count}})`},l={ariaLabel:`按状态筛选`,all:`全部`,todo:`待办`,done:`完成`},u={modeAriaLabel:`排序方式`,tooltip:`排序:{{mode}}`,toggleDirAriaLabel:`切换排序方向`,ascending:`升序`,descending:`降序`,modes:{default:`默认`,ticketId:`工单 #`,priority:`优先级`}},d={ariaLabel:`Spec 视图`,listView:`列表视图`,postitView:`便签视图`},f={ariaLabel:`按标签筛选`,all:`全部`,empty:`此项目没有标签。`,selected_one:`{{count}} 个标签`,selected_other:`{{count}} 个标签`,clear:`清除`},p={all:`所有史诗`,ariaLabel:`按史诗筛选`},m={current:`当前`,all:`所有冲刺`,ariaLabel:`按冲刺筛选`},h={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f,epicFilter:p,sprintFilter:m};export{r as badges,e as board,i as card,h as default,a as emptyState,p as epicFilter,o as errors,c as gridView,f as labelFilter,s as listView,n as priority,u as sortControl,m as sprintFilter,t as status,l as statusFilter,d as viewTier};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Spec`,dropHere:`Déposer ici`,emptyNoSpecs:`Aucune spec pour l'instant`,emptyNoLabelMatch:`Aucune spec ne correspond aux labels actifs`,emptyNoActiveSpecs:`Aucune spec active`,emptyHint:`Cliquez sur « + Ajouter » pour commencer`,dropToMarkDone:`Déposez pour marquer comme terminée`,emptyNoDoneLabelMatch:`Aucune spec terminée ne correspond aux labels actifs`,emptyNoCompleted:`Aucune spec terminée pour l'instant`,untitledSpec:`Spec sans titre`},t={todo:`À faire`,inProgress:`En cours`,done:`Terminé`,cancelled:`Annulé`},n={critical:`critique`,high:`haute`,medium:`moyenne`,low:`basse`},r={epic:`Epic`,epicWithCount:`Epic · {{count}}`,subSpec:`↑ Sous-spec`,review:`À revoir`,needsReviewTitle:`Cette spec a été marquée comme terminée mais son job a échoué — vérifiez-la`,raw:`Raw`,rawTitle:`Spec Raw — aucune génération IA à la création`,contract:`Contract`,openParentEpicTitle:`Ouvrir l'Epic parent #{{id}} · {{title}}`},i={deleteSpec:`Supprimer la spec #{{id}}`,deleteTicket:`Supprimer le ticket #{{id}}`,ticketFallbackLabel:`Ticket #{{id}}`,dependsOn:`Dépend de {{count}}`,continueEditing:`Continuer l'édition`,continueEditingTitle:`Continuer à éditer cette spec`,moveToRail:`Déplacer vers un rail`},a={noTickets:`Aucun ticket pour l'instant`,noTicketsHint:`Créez votre premier ticket ou exécutez une commande de product backlog pour remplir les tickets`,createFirst:`Créer votre premier ticket`},o={loadFailed:`Échec du chargement des tickets`},s={status:{draft:`brouillon`,todo:`à faire`,inProgress:`en cours`,done:`terminé`,cancelled:`annulé`},filterAll:`Tous ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`Tous les labels`,searchPlaceholder:`Rechercher…`,columns:{status:`Statut`,title:`Titre`,priority:`Priorité`,labels:`Labels`,updated:`Mis à jour`},noMatch:`Aucun ticket ne correspond à vos filtres`,clearFilters:`Effacer les filtres`,loadMore:`Charger plus ({{count}} restants)`},c={emptyTodo:`Aucun ticket à faire`,emptyInProgress:`Rien en cours`,emptyDone:`Aucun ticket terminé`,cancelledSection:`Annulés ({{count}})`},l={ariaLabel:`Filtrer par statut`,all:`Tous`,todo:`À faire`,done:`Terminé`},u={modeAriaLabel:`Mode de tri`,tooltip:`Tri : {{mode}}`,toggleDirAriaLabel:`Inverser le sens du tri`,ascending:`Croissant`,descending:`Décroissant`,modes:{default:`Par défaut`,ticketId:`Ticket #`,priority:`Priorité`}},d={ariaLabel:`Vue des specs`,listView:`Vue liste`,postitView:`Vue post-it`},f={ariaLabel:`Filtrer par labels`,all:`Tous`,empty:`Aucun label dans ce projet.`,selected_one:`{{count}} label`,selected_other:`{{count}} labels`,clear:`effacer`},p={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f};export{r as badges,e as board,i as card,
|
|
1
|
+
var e={title:`Spec`,dropHere:`Déposer ici`,emptyNoSpecs:`Aucune spec pour l'instant`,emptyNoLabelMatch:`Aucune spec ne correspond aux labels actifs`,emptyNoActiveSpecs:`Aucune spec active`,emptyHint:`Cliquez sur « + Ajouter » pour commencer`,dropToMarkDone:`Déposez pour marquer comme terminée`,emptyNoDoneLabelMatch:`Aucune spec terminée ne correspond aux labels actifs`,emptyNoCompleted:`Aucune spec terminée pour l'instant`,untitledSpec:`Spec sans titre`},t={todo:`À faire`,inProgress:`En cours`,done:`Terminé`,cancelled:`Annulé`},n={critical:`critique`,high:`haute`,medium:`moyenne`,low:`basse`},r={epic:`Epic`,epicWithCount:`Epic · {{count}}`,subSpec:`↑ Sous-spec`,review:`À revoir`,needsReviewTitle:`Cette spec a été marquée comme terminée mais son job a échoué — vérifiez-la`,raw:`Raw`,rawTitle:`Spec Raw — aucune génération IA à la création`,contract:`Contract`,openParentEpicTitle:`Ouvrir l'Epic parent #{{id}} · {{title}}`},i={deleteSpec:`Supprimer la spec #{{id}}`,deleteTicket:`Supprimer le ticket #{{id}}`,ticketFallbackLabel:`Ticket #{{id}}`,dependsOn:`Dépend de {{count}}`,continueEditing:`Continuer l'édition`,continueEditingTitle:`Continuer à éditer cette spec`,moveToRail:`Déplacer vers un rail`},a={noTickets:`Aucun ticket pour l'instant`,noTicketsHint:`Créez votre premier ticket ou exécutez une commande de product backlog pour remplir les tickets`,createFirst:`Créer votre premier ticket`},o={loadFailed:`Échec du chargement des tickets`},s={status:{draft:`brouillon`,todo:`à faire`,inProgress:`en cours`,done:`terminé`,cancelled:`annulé`},filterAll:`Tous ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`Tous les labels`,searchPlaceholder:`Rechercher…`,columns:{status:`Statut`,title:`Titre`,priority:`Priorité`,labels:`Labels`,updated:`Mis à jour`},noMatch:`Aucun ticket ne correspond à vos filtres`,clearFilters:`Effacer les filtres`,loadMore:`Charger plus ({{count}} restants)`},c={emptyTodo:`Aucun ticket à faire`,emptyInProgress:`Rien en cours`,emptyDone:`Aucun ticket terminé`,cancelledSection:`Annulés ({{count}})`},l={ariaLabel:`Filtrer par statut`,all:`Tous`,todo:`À faire`,done:`Terminé`},u={modeAriaLabel:`Mode de tri`,tooltip:`Tri : {{mode}}`,toggleDirAriaLabel:`Inverser le sens du tri`,ascending:`Croissant`,descending:`Décroissant`,modes:{default:`Par défaut`,ticketId:`Ticket #`,priority:`Priorité`}},d={ariaLabel:`Vue des specs`,listView:`Vue liste`,postitView:`Vue post-it`},f={ariaLabel:`Filtrer par labels`,all:`Tous`,empty:`Aucun label dans ce projet.`,selected_one:`{{count}} label`,selected_other:`{{count}} labels`,clear:`effacer`},p={all:`Toutes les épopées`,ariaLabel:`Filtrer par épopée`},m={current:`Actuel`,all:`Tous les sprints`,ariaLabel:`Filtrer par sprint`},h={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f,epicFilter:p,sprintFilter:m};export{r as badges,e as board,i as card,h as default,a as emptyState,p as epicFilter,o as errors,c as gridView,f as labelFilter,s as listView,n as priority,u as sortControl,m as sprintFilter,t as status,l as statusFilter,d as viewTier};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Spec`,dropHere:`Suelta aquí`,emptyNoSpecs:`Aún no hay specs`,emptyNoLabelMatch:`Ninguna spec coincide con las etiquetas activas`,emptyNoActiveSpecs:`No hay specs activas`,emptyHint:`Haz clic en «+ Añadir» para empezar`,dropToMarkDone:`Suelta para marcar como hecha`,emptyNoDoneLabelMatch:`Ninguna spec hecha coincide con las etiquetas activas`,emptyNoCompleted:`Aún no hay specs completadas`,untitledSpec:`Spec sin título`},t={todo:`Por hacer`,inProgress:`En curso`,done:`Hecho`,cancelled:`Cancelado`},n={critical:`crítica`,high:`alta`,medium:`media`,low:`baja`},r={epic:`Épica`,epicWithCount:`Épica · {{count}}`,subSpec:`↑ Sub-Spec`,review:`Revisar`,needsReviewTitle:`Esta spec se marcó como hecha pero su job terminó en fallo — revísala`,raw:`Raw`,rawTitle:`Spec Raw — sin generación con IA al crearla`,contract:`Contract`,openParentEpicTitle:`Abrir la épica padre #{{id}} · {{title}}`},i={deleteSpec:`Eliminar spec #{{id}}`,deleteTicket:`Eliminar ticket #{{id}}`,ticketFallbackLabel:`Ticket #{{id}}`,dependsOn:`Depende de {{count}}`,continueEditing:`Seguir editando`,continueEditingTitle:`Seguir editando esta spec`,moveToRail:`Mover a un rail`},a={noTickets:`Aún no hay tickets`,noTicketsHint:`Crea tu primer ticket o ejecuta un comando de product backlog para generar tickets`,createFirst:`Crea tu primer ticket`},o={loadFailed:`No se pudieron cargar los tickets`},s={status:{draft:`borrador`,todo:`por hacer`,inProgress:`en curso`,done:`hecho`,cancelled:`cancelado`},filterAll:`Todos ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`Todas las etiquetas`,searchPlaceholder:`Buscar...`,columns:{status:`Estado`,title:`Título`,priority:`Prioridad`,labels:`Etiquetas`,updated:`Actualizado`},noMatch:`Ningún ticket coincide con tus filtros`,clearFilters:`Limpiar filtros`,loadMore:`Cargar más ({{count}} restantes)`},c={emptyTodo:`No hay tickets por hacer`,emptyInProgress:`Nada en curso`,emptyDone:`No hay tickets completados`,cancelledSection:`Cancelados ({{count}})`},l={ariaLabel:`Filtrar por estado`,all:`Todos`,todo:`Por hacer`,done:`Hechos`},u={modeAriaLabel:`Modo de ordenación`,tooltip:`Ordenar: {{mode}}`,toggleDirAriaLabel:`Cambiar dirección de ordenación`,ascending:`Ascendente`,descending:`Descendente`,modes:{default:`Por defecto`,ticketId:`Ticket #`,priority:`Prioridad`}},d={ariaLabel:`Vista de specs`,listView:`Vista de lista`,postitView:`Vista post-it`},f={ariaLabel:`Filtrar por etiquetas`,all:`Todas`,empty:`No hay etiquetas en este proyecto.`,selected_one:`{{count}} etiqueta`,selected_other:`{{count}} etiquetas`,clear:`limpiar`},p={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f};export{r as badges,e as board,i as card,
|
|
1
|
+
var e={title:`Spec`,dropHere:`Suelta aquí`,emptyNoSpecs:`Aún no hay specs`,emptyNoLabelMatch:`Ninguna spec coincide con las etiquetas activas`,emptyNoActiveSpecs:`No hay specs activas`,emptyHint:`Haz clic en «+ Añadir» para empezar`,dropToMarkDone:`Suelta para marcar como hecha`,emptyNoDoneLabelMatch:`Ninguna spec hecha coincide con las etiquetas activas`,emptyNoCompleted:`Aún no hay specs completadas`,untitledSpec:`Spec sin título`},t={todo:`Por hacer`,inProgress:`En curso`,done:`Hecho`,cancelled:`Cancelado`},n={critical:`crítica`,high:`alta`,medium:`media`,low:`baja`},r={epic:`Épica`,epicWithCount:`Épica · {{count}}`,subSpec:`↑ Sub-Spec`,review:`Revisar`,needsReviewTitle:`Esta spec se marcó como hecha pero su job terminó en fallo — revísala`,raw:`Raw`,rawTitle:`Spec Raw — sin generación con IA al crearla`,contract:`Contract`,openParentEpicTitle:`Abrir la épica padre #{{id}} · {{title}}`},i={deleteSpec:`Eliminar spec #{{id}}`,deleteTicket:`Eliminar ticket #{{id}}`,ticketFallbackLabel:`Ticket #{{id}}`,dependsOn:`Depende de {{count}}`,continueEditing:`Seguir editando`,continueEditingTitle:`Seguir editando esta spec`,moveToRail:`Mover a un rail`},a={noTickets:`Aún no hay tickets`,noTicketsHint:`Crea tu primer ticket o ejecuta un comando de product backlog para generar tickets`,createFirst:`Crea tu primer ticket`},o={loadFailed:`No se pudieron cargar los tickets`},s={status:{draft:`borrador`,todo:`por hacer`,inProgress:`en curso`,done:`hecho`,cancelled:`cancelado`},filterAll:`Todos ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`Todas las etiquetas`,searchPlaceholder:`Buscar...`,columns:{status:`Estado`,title:`Título`,priority:`Prioridad`,labels:`Etiquetas`,updated:`Actualizado`},noMatch:`Ningún ticket coincide con tus filtros`,clearFilters:`Limpiar filtros`,loadMore:`Cargar más ({{count}} restantes)`},c={emptyTodo:`No hay tickets por hacer`,emptyInProgress:`Nada en curso`,emptyDone:`No hay tickets completados`,cancelledSection:`Cancelados ({{count}})`},l={ariaLabel:`Filtrar por estado`,all:`Todos`,todo:`Por hacer`,done:`Hechos`},u={modeAriaLabel:`Modo de ordenación`,tooltip:`Ordenar: {{mode}}`,toggleDirAriaLabel:`Cambiar dirección de ordenación`,ascending:`Ascendente`,descending:`Descendente`,modes:{default:`Por defecto`,ticketId:`Ticket #`,priority:`Prioridad`}},d={ariaLabel:`Vista de specs`,listView:`Vista de lista`,postitView:`Vista post-it`},f={ariaLabel:`Filtrar por etiquetas`,all:`Todas`,empty:`No hay etiquetas en este proyecto.`,selected_one:`{{count}} etiqueta`,selected_other:`{{count}} etiquetas`,clear:`limpiar`},p={all:`Todas las épicas`,ariaLabel:`Filtrar por épica`},m={current:`Actual`,all:`Todos los sprints`,ariaLabel:`Filtrar por sprint`},h={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f,epicFilter:p,sprintFilter:m};export{r as badges,e as board,i as card,h as default,a as emptyState,p as epicFilter,o as errors,c as gridView,f as labelFilter,s as listView,n as priority,u as sortControl,m as sprintFilter,t as status,l as statusFilter,d as viewTier};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`スペック`,dropHere:`ここにドロップ`,emptyNoSpecs:`スペックはまだありません`,emptyNoLabelMatch:`アクティブなラベルに一致するスペックはありません`,emptyNoActiveSpecs:`アクティブなスペックはありません`,emptyHint:`「+ 追加」をクリックして開始`,dropToMarkDone:`ドロップして完了にする`,emptyNoDoneLabelMatch:`アクティブなラベルに一致する完了スペックはありません`,emptyNoCompleted:`完了したスペックはまだありません`,untitledSpec:`無題のスペック`},t={todo:`Todo`,inProgress:`進行中`,done:`完了`,cancelled:`キャンセル`},n={critical:`クリティカル`,high:`高`,medium:`中`,low:`低`},r={epic:`エピック`,epicWithCount:`エピック · {{count}}`,subSpec:`↑ Sub-Spec`,review:`レビュー`,needsReviewTitle:`このスペックは完了とマークされましたが、ジョブが失敗で終了しました — 確認してください`,raw:`Raw`,rawTitle:`Raw スペック — 取り込み時に AI 生成なし`,contract:`Contract`,openParentEpicTitle:`親エピック #{{id}} を開く · {{title}}`},i={deleteSpec:`スペック #{{id}} を削除`,deleteTicket:`チケット #{{id}} を削除`,ticketFallbackLabel:`チケット #{{id}}`,dependsOn:`{{count}} 件に依存`,continueEditing:`編集を続ける`,continueEditingTitle:`このスペックの編集を続ける`,moveToRail:`レールに移動`},a={noTickets:`チケットはまだありません`,noTicketsHint:`最初のチケットを作成するか、プロダクトバックログコマンドを実行してチケットを生成してください`,createFirst:`最初のチケットを作成`},o={loadFailed:`チケットの読み込みに失敗しました`},s={status:{draft:`下書き`,todo:`Todo`,inProgress:`進行中`,done:`完了`,cancelled:`キャンセル`},filterAll:`すべて ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`すべてのラベル`,searchPlaceholder:`検索...`,columns:{status:`ステータス`,title:`タイトル`,priority:`優先度`,labels:`ラベル`,updated:`更新`},noMatch:`フィルターに一致するチケットはありません`,clearFilters:`フィルターをクリア`,loadMore:`さらに読み込む(残り {{count}} 件)`},c={emptyTodo:`未着手のチケットはありません`,emptyInProgress:`進行中のものはありません`,emptyDone:`完了したチケットはありません`,cancelledSection:`キャンセル ({{count}})`},l={ariaLabel:`ステータスで絞り込み`,all:`すべて`,todo:`ToDo`,done:`完了`},u={modeAriaLabel:`並べ替えモード`,tooltip:`並べ替え: {{mode}}`,toggleDirAriaLabel:`並べ替え方向を切り替え`,ascending:`昇順`,descending:`降順`,modes:{default:`デフォルト`,ticketId:`チケット #`,priority:`優先度`}},d={ariaLabel:`スペック表示`,listView:`リスト表示`,postitView:`付箋表示`},f={ariaLabel:`ラベルで絞り込み`,all:`すべて`,empty:`このプロジェクトにラベルはありません。`,selected_one:`{{count}} 件のラベル`,selected_other:`{{count}} 件のラベル`,clear:`クリア`},p={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f};export{r as badges,e as board,i as card,
|
|
1
|
+
var e={title:`スペック`,dropHere:`ここにドロップ`,emptyNoSpecs:`スペックはまだありません`,emptyNoLabelMatch:`アクティブなラベルに一致するスペックはありません`,emptyNoActiveSpecs:`アクティブなスペックはありません`,emptyHint:`「+ 追加」をクリックして開始`,dropToMarkDone:`ドロップして完了にする`,emptyNoDoneLabelMatch:`アクティブなラベルに一致する完了スペックはありません`,emptyNoCompleted:`完了したスペックはまだありません`,untitledSpec:`無題のスペック`},t={todo:`Todo`,inProgress:`進行中`,done:`完了`,cancelled:`キャンセル`},n={critical:`クリティカル`,high:`高`,medium:`中`,low:`低`},r={epic:`エピック`,epicWithCount:`エピック · {{count}}`,subSpec:`↑ Sub-Spec`,review:`レビュー`,needsReviewTitle:`このスペックは完了とマークされましたが、ジョブが失敗で終了しました — 確認してください`,raw:`Raw`,rawTitle:`Raw スペック — 取り込み時に AI 生成なし`,contract:`Contract`,openParentEpicTitle:`親エピック #{{id}} を開く · {{title}}`},i={deleteSpec:`スペック #{{id}} を削除`,deleteTicket:`チケット #{{id}} を削除`,ticketFallbackLabel:`チケット #{{id}}`,dependsOn:`{{count}} 件に依存`,continueEditing:`編集を続ける`,continueEditingTitle:`このスペックの編集を続ける`,moveToRail:`レールに移動`},a={noTickets:`チケットはまだありません`,noTicketsHint:`最初のチケットを作成するか、プロダクトバックログコマンドを実行してチケットを生成してください`,createFirst:`最初のチケットを作成`},o={loadFailed:`チケットの読み込みに失敗しました`},s={status:{draft:`下書き`,todo:`Todo`,inProgress:`進行中`,done:`完了`,cancelled:`キャンセル`},filterAll:`すべて ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`すべてのラベル`,searchPlaceholder:`検索...`,columns:{status:`ステータス`,title:`タイトル`,priority:`優先度`,labels:`ラベル`,updated:`更新`},noMatch:`フィルターに一致するチケットはありません`,clearFilters:`フィルターをクリア`,loadMore:`さらに読み込む(残り {{count}} 件)`},c={emptyTodo:`未着手のチケットはありません`,emptyInProgress:`進行中のものはありません`,emptyDone:`完了したチケットはありません`,cancelledSection:`キャンセル ({{count}})`},l={ariaLabel:`ステータスで絞り込み`,all:`すべて`,todo:`ToDo`,done:`完了`},u={modeAriaLabel:`並べ替えモード`,tooltip:`並べ替え: {{mode}}`,toggleDirAriaLabel:`並べ替え方向を切り替え`,ascending:`昇順`,descending:`降順`,modes:{default:`デフォルト`,ticketId:`チケット #`,priority:`優先度`}},d={ariaLabel:`スペック表示`,listView:`リスト表示`,postitView:`付箋表示`},f={ariaLabel:`ラベルで絞り込み`,all:`すべて`,empty:`このプロジェクトにラベルはありません。`,selected_one:`{{count}} 件のラベル`,selected_other:`{{count}} 件のラベル`,clear:`クリア`},p={all:`すべてのエピック`,ariaLabel:`エピックで絞り込み`},m={current:`現在`,all:`すべてのスプリント`,ariaLabel:`スプリントで絞り込み`},h={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f,epicFilter:p,sprintFilter:m};export{r as badges,e as board,i as card,h as default,a as emptyState,p as epicFilter,o as errors,c as gridView,f as labelFilter,s as listView,n as priority,u as sortControl,m as sprintFilter,t as status,l as statusFilter,d as viewTier};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Spec`,dropHere:`Largar aqui`,emptyNoSpecs:`Ainda não há specs`,emptyNoLabelMatch:`Nenhuma spec corresponde às etiquetas ativas`,emptyNoActiveSpecs:`Sem specs ativas`,emptyHint:`Clique em "+ Adicionar" para começar`,dropToMarkDone:`Largue para marcar como concluída`,emptyNoDoneLabelMatch:`Nenhuma spec concluída corresponde às etiquetas ativas`,emptyNoCompleted:`Ainda não há specs concluídas`,untitledSpec:`Spec sem título`},t={todo:`Por fazer`,inProgress:`Em curso`,done:`Concluído`,cancelled:`Cancelado`},n={critical:`crítica`,high:`alta`,medium:`média`,low:`baixa`},r={epic:`Épico`,epicWithCount:`Épico · {{count}}`,subSpec:`↑ Sub-Spec`,review:`Revisão`,needsReviewTitle:`Esta spec foi marcada como concluída mas o job terminou em falha — reveja-a`,raw:`Raw`,rawTitle:`Spec Raw — sem geração por IA na criação`,contract:`Contract`,openParentEpicTitle:`Abrir o Épico pai #{{id}} · {{title}}`},i={deleteSpec:`Eliminar spec #{{id}}`,deleteTicket:`Eliminar ticket #{{id}}`,ticketFallbackLabel:`Ticket #{{id}}`,dependsOn:`Depende de {{count}}`,continueEditing:`Continuar a editar`,continueEditingTitle:`Continuar a editar esta spec`,moveToRail:`Mover para um rail`},a={noTickets:`Ainda não há tickets`,noTicketsHint:`Crie o seu primeiro ticket ou execute um comando de product backlog para preencher os tickets`,createFirst:`Criar o seu primeiro ticket`},o={loadFailed:`Falha ao carregar os tickets`},s={status:{draft:`rascunho`,todo:`por fazer`,inProgress:`em curso`,done:`concluído`,cancelled:`cancelado`},filterAll:`Todos ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`Todas as etiquetas`,searchPlaceholder:`Pesquisar...`,columns:{status:`Estado`,title:`Título`,priority:`Prioridade`,labels:`Etiquetas`,updated:`Atualizado`},noMatch:`Nenhum ticket corresponde aos seus filtros`,clearFilters:`Limpar filtros`,loadMore:`Carregar mais ({{count}} restantes)`},c={emptyTodo:`Sem tickets por fazer`,emptyInProgress:`Nada em curso`,emptyDone:`Sem tickets concluídos`,cancelledSection:`Cancelados ({{count}})`},l={ariaLabel:`Filtrar por estado`,all:`Todos`,todo:`Por fazer`,done:`Concluído`},u={modeAriaLabel:`Modo de ordenação`,tooltip:`Ordenar: {{mode}}`,toggleDirAriaLabel:`Inverter a direção da ordenação`,ascending:`Ascendente`,descending:`Descendente`,modes:{default:`Predefinida`,ticketId:`Ticket #`,priority:`Prioridade`}},d={ariaLabel:`Vista de specs`,listView:`Vista de lista`,postitView:`Vista de post-its`},f={ariaLabel:`Filtrar por etiquetas`,all:`Todas`,empty:`Não há etiquetas neste projeto.`,selected_one:`{{count}} etiqueta`,selected_other:`{{count}} etiquetas`,clear:`limpar`},p={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f};export{r as badges,e as board,i as card,
|
|
1
|
+
var e={title:`Spec`,dropHere:`Largar aqui`,emptyNoSpecs:`Ainda não há specs`,emptyNoLabelMatch:`Nenhuma spec corresponde às etiquetas ativas`,emptyNoActiveSpecs:`Sem specs ativas`,emptyHint:`Clique em "+ Adicionar" para começar`,dropToMarkDone:`Largue para marcar como concluída`,emptyNoDoneLabelMatch:`Nenhuma spec concluída corresponde às etiquetas ativas`,emptyNoCompleted:`Ainda não há specs concluídas`,untitledSpec:`Spec sem título`},t={todo:`Por fazer`,inProgress:`Em curso`,done:`Concluído`,cancelled:`Cancelado`},n={critical:`crítica`,high:`alta`,medium:`média`,low:`baixa`},r={epic:`Épico`,epicWithCount:`Épico · {{count}}`,subSpec:`↑ Sub-Spec`,review:`Revisão`,needsReviewTitle:`Esta spec foi marcada como concluída mas o job terminou em falha — reveja-a`,raw:`Raw`,rawTitle:`Spec Raw — sem geração por IA na criação`,contract:`Contract`,openParentEpicTitle:`Abrir o Épico pai #{{id}} · {{title}}`},i={deleteSpec:`Eliminar spec #{{id}}`,deleteTicket:`Eliminar ticket #{{id}}`,ticketFallbackLabel:`Ticket #{{id}}`,dependsOn:`Depende de {{count}}`,continueEditing:`Continuar a editar`,continueEditingTitle:`Continuar a editar esta spec`,moveToRail:`Mover para um rail`},a={noTickets:`Ainda não há tickets`,noTicketsHint:`Crie o seu primeiro ticket ou execute um comando de product backlog para preencher os tickets`,createFirst:`Criar o seu primeiro ticket`},o={loadFailed:`Falha ao carregar os tickets`},s={status:{draft:`rascunho`,todo:`por fazer`,inProgress:`em curso`,done:`concluído`,cancelled:`cancelado`},filterAll:`Todos ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`Todas as etiquetas`,searchPlaceholder:`Pesquisar...`,columns:{status:`Estado`,title:`Título`,priority:`Prioridade`,labels:`Etiquetas`,updated:`Atualizado`},noMatch:`Nenhum ticket corresponde aos seus filtros`,clearFilters:`Limpar filtros`,loadMore:`Carregar mais ({{count}} restantes)`},c={emptyTodo:`Sem tickets por fazer`,emptyInProgress:`Nada em curso`,emptyDone:`Sem tickets concluídos`,cancelledSection:`Cancelados ({{count}})`},l={ariaLabel:`Filtrar por estado`,all:`Todos`,todo:`Por fazer`,done:`Concluído`},u={modeAriaLabel:`Modo de ordenação`,tooltip:`Ordenar: {{mode}}`,toggleDirAriaLabel:`Inverter a direção da ordenação`,ascending:`Ascendente`,descending:`Descendente`,modes:{default:`Predefinida`,ticketId:`Ticket #`,priority:`Prioridade`}},d={ariaLabel:`Vista de specs`,listView:`Vista de lista`,postitView:`Vista de post-its`},f={ariaLabel:`Filtrar por etiquetas`,all:`Todas`,empty:`Não há etiquetas neste projeto.`,selected_one:`{{count}} etiqueta`,selected_other:`{{count}} etiquetas`,clear:`limpar`},p={all:`Todos os épicos`,ariaLabel:`Filtrar por épico`},m={current:`Atual`,all:`Todos os sprints`,ariaLabel:`Filtrar por sprint`},h={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f,epicFilter:p,sprintFilter:m};export{r as badges,e as board,i as card,h as default,a as emptyState,p as epicFilter,o as errors,c as gridView,f as labelFilter,s as listView,n as priority,u as sortControl,m as sprintFilter,t as status,l as statusFilter,d as viewTier};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Spec`,dropHere:`Hier ablegen`,emptyNoSpecs:`Noch keine Specs`,emptyNoLabelMatch:`Keine Specs entsprechen den aktiven Labels`,emptyNoActiveSpecs:`Keine aktiven Specs`,emptyHint:`Klicke auf „+ Hinzufügen“, um loszulegen`,dropToMarkDone:`Ablegen, um als fertig zu markieren`,emptyNoDoneLabelMatch:`Keine fertigen Specs entsprechen den aktiven Labels`,emptyNoCompleted:`Noch keine abgeschlossenen Specs`,untitledSpec:`Unbenannte Spec`},t={todo:`To-do`,inProgress:`In Arbeit`,done:`Fertig`,cancelled:`Abgebrochen`},n={critical:`kritisch`,high:`hoch`,medium:`mittel`,low:`niedrig`},r={epic:`Epic`,epicWithCount:`Epic · {{count}}`,subSpec:`↑ Sub-Spec`,review:`Review`,needsReviewTitle:`Diese Spec wurde als fertig markiert, aber ihr Job ist fehlgeschlagen – bitte prüfen`,raw:`Raw`,rawTitle:`Raw-Spec – keine KI-Generierung bei der Erfassung`,contract:`Contract`,openParentEpicTitle:`Übergeordnetes Epic #{{id}} öffnen · {{title}}`},i={deleteSpec:`Spec #{{id}} löschen`,deleteTicket:`Ticket #{{id}} löschen`,ticketFallbackLabel:`Ticket #{{id}}`,dependsOn:`Hängt von {{count}} ab`,continueEditing:`Weiter bearbeiten`,continueEditingTitle:`Diese Spec weiter bearbeiten`,moveToRail:`Auf Rail verschieben`},a={noTickets:`Noch keine Tickets`,noTicketsHint:`Erstelle dein erstes Ticket oder führe einen Product-Backlog-Befehl aus, um Tickets zu befüllen`,createFirst:`Erstes Ticket erstellen`},o={loadFailed:`Tickets konnten nicht geladen werden`},s={status:{draft:`Entwurf`,todo:`To-do`,inProgress:`in Arbeit`,done:`fertig`,cancelled:`abgebrochen`},filterAll:`Alle ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`Alle Labels`,searchPlaceholder:`Suchen…`,columns:{status:`Status`,title:`Titel`,priority:`Priorität`,labels:`Labels`,updated:`Aktualisiert`},noMatch:`Keine Tickets entsprechen deinen Filtern`,clearFilters:`Filter zurücksetzen`,loadMore:`Mehr laden ({{count}} verbleibend)`},c={emptyTodo:`Keine offenen Tickets`,emptyInProgress:`Nichts in Arbeit`,emptyDone:`Keine abgeschlossenen Tickets`,cancelledSection:`Abgebrochen ({{count}})`},l={ariaLabel:`Nach Status filtern`,all:`Alle`,todo:`To-do`,done:`Fertig`},u={modeAriaLabel:`Sortiermodus`,tooltip:`Sortierung: {{mode}}`,toggleDirAriaLabel:`Sortierrichtung umschalten`,ascending:`Aufsteigend`,descending:`Absteigend`,modes:{default:`Standard`,ticketId:`Ticket #`,priority:`Priorität`}},d={ariaLabel:`Spec-Ansicht`,listView:`Listenansicht`,postitView:`Post-it-Ansicht`},f={ariaLabel:`Nach Labels filtern`,all:`Alle`,empty:`Keine Labels in diesem Projekt.`,selected_one:`{{count}} Label`,selected_other:`{{count}} Labels`,clear:`zurücksetzen`},p={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f};export{r as badges,e as board,i as card,
|
|
1
|
+
var e={title:`Spec`,dropHere:`Hier ablegen`,emptyNoSpecs:`Noch keine Specs`,emptyNoLabelMatch:`Keine Specs entsprechen den aktiven Labels`,emptyNoActiveSpecs:`Keine aktiven Specs`,emptyHint:`Klicke auf „+ Hinzufügen“, um loszulegen`,dropToMarkDone:`Ablegen, um als fertig zu markieren`,emptyNoDoneLabelMatch:`Keine fertigen Specs entsprechen den aktiven Labels`,emptyNoCompleted:`Noch keine abgeschlossenen Specs`,untitledSpec:`Unbenannte Spec`},t={todo:`To-do`,inProgress:`In Arbeit`,done:`Fertig`,cancelled:`Abgebrochen`},n={critical:`kritisch`,high:`hoch`,medium:`mittel`,low:`niedrig`},r={epic:`Epic`,epicWithCount:`Epic · {{count}}`,subSpec:`↑ Sub-Spec`,review:`Review`,needsReviewTitle:`Diese Spec wurde als fertig markiert, aber ihr Job ist fehlgeschlagen – bitte prüfen`,raw:`Raw`,rawTitle:`Raw-Spec – keine KI-Generierung bei der Erfassung`,contract:`Contract`,openParentEpicTitle:`Übergeordnetes Epic #{{id}} öffnen · {{title}}`},i={deleteSpec:`Spec #{{id}} löschen`,deleteTicket:`Ticket #{{id}} löschen`,ticketFallbackLabel:`Ticket #{{id}}`,dependsOn:`Hängt von {{count}} ab`,continueEditing:`Weiter bearbeiten`,continueEditingTitle:`Diese Spec weiter bearbeiten`,moveToRail:`Auf Rail verschieben`},a={noTickets:`Noch keine Tickets`,noTicketsHint:`Erstelle dein erstes Ticket oder führe einen Product-Backlog-Befehl aus, um Tickets zu befüllen`,createFirst:`Erstes Ticket erstellen`},o={loadFailed:`Tickets konnten nicht geladen werden`},s={status:{draft:`Entwurf`,todo:`To-do`,inProgress:`in Arbeit`,done:`fertig`,cancelled:`abgebrochen`},filterAll:`Alle ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`Alle Labels`,searchPlaceholder:`Suchen…`,columns:{status:`Status`,title:`Titel`,priority:`Priorität`,labels:`Labels`,updated:`Aktualisiert`},noMatch:`Keine Tickets entsprechen deinen Filtern`,clearFilters:`Filter zurücksetzen`,loadMore:`Mehr laden ({{count}} verbleibend)`},c={emptyTodo:`Keine offenen Tickets`,emptyInProgress:`Nichts in Arbeit`,emptyDone:`Keine abgeschlossenen Tickets`,cancelledSection:`Abgebrochen ({{count}})`},l={ariaLabel:`Nach Status filtern`,all:`Alle`,todo:`To-do`,done:`Fertig`},u={modeAriaLabel:`Sortiermodus`,tooltip:`Sortierung: {{mode}}`,toggleDirAriaLabel:`Sortierrichtung umschalten`,ascending:`Aufsteigend`,descending:`Absteigend`,modes:{default:`Standard`,ticketId:`Ticket #`,priority:`Priorität`}},d={ariaLabel:`Spec-Ansicht`,listView:`Listenansicht`,postitView:`Post-it-Ansicht`},f={ariaLabel:`Nach Labels filtern`,all:`Alle`,empty:`Keine Labels in diesem Projekt.`,selected_one:`{{count}} Label`,selected_other:`{{count}} Labels`,clear:`zurücksetzen`},p={all:`Alle Epics`,ariaLabel:`Nach Epic filtern`},m={current:`Aktuell`,all:`Alle Sprints`,ariaLabel:`Nach Sprint filtern`},h={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f,epicFilter:p,sprintFilter:m};export{r as badges,e as board,i as card,h as default,a as emptyState,p as epicFilter,o as errors,c as gridView,f as labelFilter,s as listView,n as priority,u as sortControl,m as sprintFilter,t as status,l as statusFilter,d as viewTier};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Spec`,dropHere:`Rilascia qui`,emptyNoSpecs:`Ancora nessuna spec`,emptyNoLabelMatch:`Nessuna spec corrisponde alle etichette attive`,emptyNoActiveSpecs:`Nessuna spec attiva`,emptyHint:`Clicca "+ Aggiungi" per iniziare`,dropToMarkDone:`Rilascia per contrassegnare come completata`,emptyNoDoneLabelMatch:`Nessuna spec completata corrisponde alle etichette attive`,emptyNoCompleted:`Ancora nessuna spec completata`,untitledSpec:`Spec senza titolo`},t={todo:`Da fare`,inProgress:`In corso`,done:`Completato`,cancelled:`Annullato`},n={critical:`critica`,high:`alta`,medium:`media`,low:`bassa`},r={epic:`Epic`,epicWithCount:`Epic · {{count}}`,subSpec:`↑ Sub-Spec`,review:`Revisione`,needsReviewTitle:`Questa spec è stata contrassegnata come completata ma il suo job è terminato con un errore — rivedila`,raw:`Raw`,rawTitle:`Spec Raw — nessuna generazione AI alla creazione`,contract:`Contract`,openParentEpicTitle:`Apri l'Epic padre #{{id}} · {{title}}`},i={deleteSpec:`Elimina spec #{{id}}`,deleteTicket:`Elimina ticket #{{id}}`,ticketFallbackLabel:`Ticket #{{id}}`,dependsOn:`Dipende da {{count}}`,continueEditing:`Continua a modificare`,continueEditingTitle:`Continua a modificare questa spec`,moveToRail:`Sposta su un rail`},a={noTickets:`Ancora nessun ticket`,noTicketsHint:`Crea il tuo primo ticket o esegui un comando di product backlog per popolare i ticket`,createFirst:`Crea il tuo primo ticket`},o={loadFailed:`Impossibile caricare i ticket`},s={status:{draft:`bozza`,todo:`da fare`,inProgress:`in corso`,done:`completato`,cancelled:`annullato`},filterAll:`Tutti ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`Tutte le etichette`,searchPlaceholder:`Cerca...`,columns:{status:`Stato`,title:`Titolo`,priority:`Priorità`,labels:`Etichette`,updated:`Aggiornato`},noMatch:`Nessun ticket corrisponde ai filtri`,clearFilters:`Cancella filtri`,loadMore:`Carica altri ({{count}} rimanenti)`},c={emptyTodo:`Nessun ticket da fare`,emptyInProgress:`Niente in corso`,emptyDone:`Nessun ticket completato`,cancelledSection:`Annullati ({{count}})`},l={ariaLabel:`Filtra per stato`,all:`Tutti`,todo:`Da fare`,done:`Completati`},u={modeAriaLabel:`Modalità di ordinamento`,tooltip:`Ordina: {{mode}}`,toggleDirAriaLabel:`Inverti direzione di ordinamento`,ascending:`Crescente`,descending:`Decrescente`,modes:{default:`Predefinito`,ticketId:`Ticket #`,priority:`Priorità`}},d={ariaLabel:`Vista delle spec`,listView:`Vista elenco`,postitView:`Vista post-it`},f={ariaLabel:`Filtra per etichette`,all:`Tutte`,empty:`Nessuna etichetta in questo progetto.`,selected_one:`{{count}} etichetta`,selected_other:`{{count}} etichette`,clear:`cancella`},p={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f};export{r as badges,e as board,i as card,
|
|
1
|
+
var e={title:`Spec`,dropHere:`Rilascia qui`,emptyNoSpecs:`Ancora nessuna spec`,emptyNoLabelMatch:`Nessuna spec corrisponde alle etichette attive`,emptyNoActiveSpecs:`Nessuna spec attiva`,emptyHint:`Clicca "+ Aggiungi" per iniziare`,dropToMarkDone:`Rilascia per contrassegnare come completata`,emptyNoDoneLabelMatch:`Nessuna spec completata corrisponde alle etichette attive`,emptyNoCompleted:`Ancora nessuna spec completata`,untitledSpec:`Spec senza titolo`},t={todo:`Da fare`,inProgress:`In corso`,done:`Completato`,cancelled:`Annullato`},n={critical:`critica`,high:`alta`,medium:`media`,low:`bassa`},r={epic:`Epic`,epicWithCount:`Epic · {{count}}`,subSpec:`↑ Sub-Spec`,review:`Revisione`,needsReviewTitle:`Questa spec è stata contrassegnata come completata ma il suo job è terminato con un errore — rivedila`,raw:`Raw`,rawTitle:`Spec Raw — nessuna generazione AI alla creazione`,contract:`Contract`,openParentEpicTitle:`Apri l'Epic padre #{{id}} · {{title}}`},i={deleteSpec:`Elimina spec #{{id}}`,deleteTicket:`Elimina ticket #{{id}}`,ticketFallbackLabel:`Ticket #{{id}}`,dependsOn:`Dipende da {{count}}`,continueEditing:`Continua a modificare`,continueEditingTitle:`Continua a modificare questa spec`,moveToRail:`Sposta su un rail`},a={noTickets:`Ancora nessun ticket`,noTicketsHint:`Crea il tuo primo ticket o esegui un comando di product backlog per popolare i ticket`,createFirst:`Crea il tuo primo ticket`},o={loadFailed:`Impossibile caricare i ticket`},s={status:{draft:`bozza`,todo:`da fare`,inProgress:`in corso`,done:`completato`,cancelled:`annullato`},filterAll:`Tutti ({{count}})`,statusWithCount:`{{status}} ({{count}})`,allLabels:`Tutte le etichette`,searchPlaceholder:`Cerca...`,columns:{status:`Stato`,title:`Titolo`,priority:`Priorità`,labels:`Etichette`,updated:`Aggiornato`},noMatch:`Nessun ticket corrisponde ai filtri`,clearFilters:`Cancella filtri`,loadMore:`Carica altri ({{count}} rimanenti)`},c={emptyTodo:`Nessun ticket da fare`,emptyInProgress:`Niente in corso`,emptyDone:`Nessun ticket completato`,cancelledSection:`Annullati ({{count}})`},l={ariaLabel:`Filtra per stato`,all:`Tutti`,todo:`Da fare`,done:`Completati`},u={modeAriaLabel:`Modalità di ordinamento`,tooltip:`Ordina: {{mode}}`,toggleDirAriaLabel:`Inverti direzione di ordinamento`,ascending:`Crescente`,descending:`Decrescente`,modes:{default:`Predefinito`,ticketId:`Ticket #`,priority:`Priorità`}},d={ariaLabel:`Vista delle spec`,listView:`Vista elenco`,postitView:`Vista post-it`},f={ariaLabel:`Filtra per etichette`,all:`Tutte`,empty:`Nessuna etichetta in questo progetto.`,selected_one:`{{count}} etichetta`,selected_other:`{{count}} etichette`,clear:`cancella`},p={all:`Tutte le epiche`,ariaLabel:`Filtra per epica`},m={current:`Attuale`,all:`Tutti gli sprint`,ariaLabel:`Filtra per sprint`},h={board:e,status:t,priority:n,badges:r,card:i,emptyState:a,errors:o,listView:s,gridView:c,statusFilter:l,sortControl:u,viewTier:d,labelFilter:f,epicFilter:p,sprintFilter:m};export{r as badges,e as board,i as card,h as default,a as emptyState,p as epicFilter,o as errors,c as gridView,f as labelFilter,s as listView,n as priority,u as sortControl,m as sprintFilter,t as status,l as statusFilter,d as viewTier};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,c as t,f as n,h as r,o as i,p as a}from"./editor.api2-
|
|
1
|
+
import{a as e,c as t,f as n,h as r,o as i,p as a}from"./editor.api2-BPnIxMjz.js";import{n as o}from"./monaco.contribution-YMAkHQcQ.js";import{t as s}from"./workers-BvicOoDf.js";var c=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=s({moduleId:`vs/language/typescript/tsWorker`,createWorker:()=>new Worker(new URL(`/assets/ts.worker-METxwbDZ.js`,``+import.meta.url),{type:`module`}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(a.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},l={};l[`lib.d.ts`]=!0,l[`lib.decorators.d.ts`]=!0,l[`lib.decorators.legacy.d.ts`]=!0,l[`lib.dom.asynciterable.d.ts`]=!0,l[`lib.dom.d.ts`]=!0,l[`lib.dom.iterable.d.ts`]=!0,l[`lib.es2015.collection.d.ts`]=!0,l[`lib.es2015.core.d.ts`]=!0,l[`lib.es2015.d.ts`]=!0,l[`lib.es2015.generator.d.ts`]=!0,l[`lib.es2015.iterable.d.ts`]=!0,l[`lib.es2015.promise.d.ts`]=!0,l[`lib.es2015.proxy.d.ts`]=!0,l[`lib.es2015.reflect.d.ts`]=!0,l[`lib.es2015.symbol.d.ts`]=!0,l[`lib.es2015.symbol.wellknown.d.ts`]=!0,l[`lib.es2016.array.include.d.ts`]=!0,l[`lib.es2016.d.ts`]=!0,l[`lib.es2016.full.d.ts`]=!0,l[`lib.es2016.intl.d.ts`]=!0,l[`lib.es2017.arraybuffer.d.ts`]=!0,l[`lib.es2017.d.ts`]=!0,l[`lib.es2017.date.d.ts`]=!0,l[`lib.es2017.full.d.ts`]=!0,l[`lib.es2017.intl.d.ts`]=!0,l[`lib.es2017.object.d.ts`]=!0,l[`lib.es2017.sharedmemory.d.ts`]=!0,l[`lib.es2017.string.d.ts`]=!0,l[`lib.es2017.typedarrays.d.ts`]=!0,l[`lib.es2018.asyncgenerator.d.ts`]=!0,l[`lib.es2018.asynciterable.d.ts`]=!0,l[`lib.es2018.d.ts`]=!0,l[`lib.es2018.full.d.ts`]=!0,l[`lib.es2018.intl.d.ts`]=!0,l[`lib.es2018.promise.d.ts`]=!0,l[`lib.es2018.regexp.d.ts`]=!0,l[`lib.es2019.array.d.ts`]=!0,l[`lib.es2019.d.ts`]=!0,l[`lib.es2019.full.d.ts`]=!0,l[`lib.es2019.intl.d.ts`]=!0,l[`lib.es2019.object.d.ts`]=!0,l[`lib.es2019.string.d.ts`]=!0,l[`lib.es2019.symbol.d.ts`]=!0,l[`lib.es2020.bigint.d.ts`]=!0,l[`lib.es2020.d.ts`]=!0,l[`lib.es2020.date.d.ts`]=!0,l[`lib.es2020.full.d.ts`]=!0,l[`lib.es2020.intl.d.ts`]=!0,l[`lib.es2020.number.d.ts`]=!0,l[`lib.es2020.promise.d.ts`]=!0,l[`lib.es2020.sharedmemory.d.ts`]=!0,l[`lib.es2020.string.d.ts`]=!0,l[`lib.es2020.symbol.wellknown.d.ts`]=!0,l[`lib.es2021.d.ts`]=!0,l[`lib.es2021.full.d.ts`]=!0,l[`lib.es2021.intl.d.ts`]=!0,l[`lib.es2021.promise.d.ts`]=!0,l[`lib.es2021.string.d.ts`]=!0,l[`lib.es2021.weakref.d.ts`]=!0,l[`lib.es2022.array.d.ts`]=!0,l[`lib.es2022.d.ts`]=!0,l[`lib.es2022.error.d.ts`]=!0,l[`lib.es2022.full.d.ts`]=!0,l[`lib.es2022.intl.d.ts`]=!0,l[`lib.es2022.object.d.ts`]=!0,l[`lib.es2022.regexp.d.ts`]=!0,l[`lib.es2022.string.d.ts`]=!0,l[`lib.es2023.array.d.ts`]=!0,l[`lib.es2023.collection.d.ts`]=!0,l[`lib.es2023.d.ts`]=!0,l[`lib.es2023.full.d.ts`]=!0,l[`lib.es2023.intl.d.ts`]=!0,l[`lib.es2024.arraybuffer.d.ts`]=!0,l[`lib.es2024.collection.d.ts`]=!0,l[`lib.es2024.d.ts`]=!0,l[`lib.es2024.full.d.ts`]=!0,l[`lib.es2024.object.d.ts`]=!0,l[`lib.es2024.promise.d.ts`]=!0,l[`lib.es2024.regexp.d.ts`]=!0,l[`lib.es2024.sharedmemory.d.ts`]=!0,l[`lib.es2024.string.d.ts`]=!0,l[`lib.es5.d.ts`]=!0,l[`lib.es6.d.ts`]=!0,l[`lib.esnext.array.d.ts`]=!0,l[`lib.esnext.collection.d.ts`]=!0,l[`lib.esnext.d.ts`]=!0,l[`lib.esnext.decorators.d.ts`]=!0,l[`lib.esnext.disposable.d.ts`]=!0,l[`lib.esnext.error.d.ts`]=!0,l[`lib.esnext.float16.d.ts`]=!0,l[`lib.esnext.full.d.ts`]=!0,l[`lib.esnext.intl.d.ts`]=!0,l[`lib.esnext.iterator.d.ts`]=!0,l[`lib.esnext.promise.d.ts`]=!0,l[`lib.esnext.sharedmemory.d.ts`]=!0,l[`lib.scripthost.d.ts`]=!0,l[`lib.webworker.asynciterable.d.ts`]=!0,l[`lib.webworker.d.ts`]=!0,l[`lib.webworker.importscripts.d.ts`]=!0,l[`lib.webworker.iterable.d.ts`]=!0;function u(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=u(i,t,n);return r}function d(e){return e?e.map(e=>e.text).join(``):``}var f=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},p=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf(`/lib.`)===0?!!l[e.path.slice(1)]:!1}getOrCreateModel(e){let t=n.parse(e),r=a.getModel(t);if(r)return r;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return a.createModel(this._libFiles[t.path.slice(1)],`typescript`,t);let i=o.getExtraLibs()[e];return i?a.createModel(i.content,`typescript`,t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},m=class extends f{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),o=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():a.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),o.dispose(),clearTimeout(r)}},t()},o=e=>{a.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(a.onDidCreateModel(e=>i(e))),this._disposables.push(a.onWillDisposeModel(o)),this._disposables.push(a.onDidChangeModelLanguage(e=>{o(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of a.getModels())o(e)}});let s=()=>{for(let e of a.getModels())o(e),i(e)};this._disposables.push(this._defaults.onDidChange(s)),this._disposables.push(this._defaults.onDidExtraLibsChange(s)),a.getModels().forEach(e=>i(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let t=await this._worker(e.uri);if(e.isDisposed())return;let r=[],{noSyntaxValidation:i,noSemanticValidation:o,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();i||r.push(t.getSyntacticDiagnostics(e.uri.toString())),o||r.push(t.getSemanticDiagnostics(e.uri.toString())),s||r.push(t.getSuggestionDiagnostics(e.uri.toString()));let c=await Promise.all(r);if(!c||e.isDisposed())return;let l=c.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),u=l.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?n.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(u),!e.isDisposed()&&a.setModelMarkers(e,this._selector,l.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:a,column:o}=e.getPositionAt(n),{lineNumber:s,column:c}=e.getPositionAt(n+r),l=[];return t.reportsUnnecessary&&l.push(i.Unnecessary),t.reportsDeprecated&&l.push(i.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:a,startColumn:o,endLineNumber:s,endColumn:c,message:u(t.messageText,`
|
|
2
2
|
`),code:t.code.toString(),tags:l,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];let n=[];return t.forEach(t=>{let r=e;if(t.file&&(r=this._libFiles.getOrCreateModel(t.file.fileName)),!r)return;let i=t.start||0,a=t.length||1,{lineNumber:o,column:s}=r.getPositionAt(i),{lineNumber:c,column:l}=r.getPositionAt(i+a);n.push({resource:r.uri,startLineNumber:o,startColumn:s,endLineNumber:c,endColumn:l,message:u(t.messageText,`
|
|
3
3
|
`)})}),n}_tsDiagnosticCategoryToMarkerSeverity(t){switch(t){case 1:return e.Error;case 3:return e.Info;case 0:return e.Warning;case 2:return e.Hint}return e.Info}},h=class e extends f{get triggerCharacters(){return[`.`]}async provideCompletionItems(n,i,a,o){let s=n.getWordUntilPosition(i),c=new t(i.lineNumber,s.startColumn,i.lineNumber,s.endColumn),l=n.uri,u=n.getOffsetAt(i),d=await this._worker(l);if(n.isDisposed())return;let f=await d.getCompletionsAtPosition(l.toString(),u);if(!(!f||n.isDisposed()))return{suggestions:f.entries.map(a=>{let o=c;if(a.replacementSpan){let e=n.getPositionAt(a.replacementSpan.start),r=n.getPositionAt(a.replacementSpan.start+a.replacementSpan.length);o=new t(e.lineNumber,e.column,r.lineNumber,r.column)}let s=[];return a.kindModifiers!==void 0&&a.kindModifiers.indexOf(`deprecated`)!==-1&&s.push(r.CompletionItemTag.Deprecated),{uri:l,position:i,offset:u,range:o,label:a.name,insertText:a.name,sortText:a.sortText,kind:e.convertKind(a.kind),tags:s}})}}async resolveCompletionItem(t,n){let r=t,i=r.uri,a=r.position,o=r.offset,s=await(await this._worker(i)).getCompletionEntryDetails(i.toString(),o,r.label);return s?{uri:i,position:a,label:s.name,kind:e.convertKind(s.kind),detail:d(s.displayParts),documentation:{value:e.createDocumentationString(s)}}:r}static convertKind(e){switch(e){case C.primitiveType:case C.keyword:return r.CompletionItemKind.Keyword;case C.variable:case C.localVariable:return r.CompletionItemKind.Variable;case C.memberVariable:case C.memberGetAccessor:case C.memberSetAccessor:return r.CompletionItemKind.Field;case C.function:case C.memberFunction:case C.constructSignature:case C.callSignature:case C.indexSignature:return r.CompletionItemKind.Function;case C.enum:return r.CompletionItemKind.Enum;case C.module:return r.CompletionItemKind.Module;case C.class:return r.CompletionItemKind.Class;case C.interface:return r.CompletionItemKind.Interface;case C.warning:return r.CompletionItemKind.File}return r.CompletionItemKind.Property}static createDocumentationString(e){let t=d(e.documentation);if(e.tags)for(let n of e.tags)t+=`
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as e}from"./editor.api2-
|
|
1
|
+
import{h as e}from"./editor.api2-BPnIxMjz.js";var t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:e.IndentAction.IndentOutdent,appendText:` * `}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:e.IndentAction.None,appendText:` * `}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:e.IndentAction.None,appendText:`* `}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:e.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`/**`,close:` */`,notIn:[`string`]}],folding:{markers:{start:RegExp(`^\\s*//\\s*#?region\\b`),end:RegExp(`^\\s*//\\s*#?endregion\\b`)}}},n={defaultToken:`invalid`,tokenPostfix:`.ts`,keywords:`abstract.any.as.asserts.bigint.boolean.break.case.catch.class.continue.const.constructor.debugger.declare.default.delete.do.else.enum.export.extends.false.finally.for.from.function.get.if.implements.import.in.infer.instanceof.interface.is.keyof.let.module.namespace.never.new.null.number.object.out.package.private.protected.public.override.readonly.require.global.return.satisfies.set.static.string.super.switch.symbol.this.throw.true.try.type.typeof.undefined.unique.unknown.var.void.while.with.yield.async.await.of`.split(`.`),operators:`<=.>=.==.!=.===.!==.=>.+.-.**.*./.%.++.--.<<.</.>>.>>>.&.|.^.!.~.&&.||.??.?.:.=.+=.-=.*=.**=./=.%=.<<=.>>=.>>>=.&=.|=.^=.@`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,`delimiter.bracket`],{include:`common`}],common:[[/#?[a-z_$][\w$]*/,{cases:{"@keywords":`keyword`,"@default":`identifier`}}],[/[A-Z][\w\$]*/,`type.identifier`],{include:`@whitespace`},[/\/(?=([^\\\/]|\\.)+\/([dgimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:`regexp`,bracket:`@open`,next:`@regexp`}],[/[()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/!(?=([^=]|$))/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/(@digits)[eE]([\-+]?(@digits))?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,`number.float`],[/0[xX](@hexdigits)n?/,`number.hex`],[/0[oO]?(@octaldigits)n?/,`number.octal`],[/0[bB](@binarydigits)n?/,`number.binary`],[/(@digits)n?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string_double`],[/'/,`string`,`@string_single`],[/`/,`string`,`@string_backtick`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@jsdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],jsdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,[`regexp.escape.control`,`regexp.escape.control`,`regexp.escape.control`]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,[`regexp.escape.control`,{token:`regexp.escape.control`,next:`@regexrange`}]],[/(\()(\?:|\?=|\?!)/,[`regexp.escape.control`,`regexp.escape.control`]],[/[()]/,`regexp.escape.control`],[/@regexpctl/,`regexp.escape.control`],[/[^\\\/]/,`regexp`],[/@regexpesc/,`regexp.escape`],[/\\\./,`regexp.invalid`],[/(\/)([dgimsuy]*)/,[{token:`regexp`,bracket:`@close`,next:`@pop`},`keyword.other`]]],regexrange:[[/-/,`regexp.escape.control`],[/\^/,`regexp.invalid`],[/@regexpesc/,`regexp.escape`],[/[^\]]/,`regexp`],[/\]/,{token:`regexp.escape.control`,next:`@pop`,bracket:`@close`}]],string_double:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],string_single:[[/[^\\']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`]],string_backtick:[[/\$\{/,{token:`delimiter.bracket`,next:`@bracketCounting`}],[/[^\\`$]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/`/,`string`,`@pop`]],bracketCounting:[[/\{/,`delimiter.bracket`,`@bracketCounting`],[/\}/,`delimiter.bracket`,`@pop`],{include:`common`}]}};export{t as conf,n as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-CilyBKbf.js";import{
|
|
1
|
+
import{r as e}from"./chunk-CilyBKbf.js";import{on as t}from"./index-DGIXKRHE.js";var n=e(t(),1),r=new Map;function i(e,t){return`${e}:${t}`}function a({namespace:e,projectId:t,initialValue:a,fetcher:o,pollInterval:s=0}){let c=t?i(t,e):null,[l,u]=(0,n.useState)(()=>c&&r.has(c)?r.get(c):a),[d,f]=(0,n.useState)(()=>c?!r.has(c):!0),[p,m]=(0,n.useState)(d),h=(0,n.useRef)(o);h.current=o;let g=(0,n.useRef)(c);return g.current=c,(0,n.useEffect)(()=>{if(!c)return;let e=r.get(c);e===void 0?(u(a),f(!0),m(!0)):(u(e),f(!1),m(!1));let t=!1;async function n(){try{let e=await h.current();if(t)return;r.set(c,e),u(e)}catch{}finally{t||(m(!1),f(!1))}}n();let i;return s>0&&(i=setInterval(n,s)),()=>{t=!0,i&&clearInterval(i)}},[c,s]),{data:l,isLoading:p,isFirstLoad:d,refresh:(0,n.useCallback)(()=>{if(!c)return;let e=c;h.current().then(t=>{r.set(e,t),g.current===e&&u(t)}).catch(()=>{})},[c])}}export{a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e}from"./editor.api2-
|
|
1
|
+
import{p as e}from"./editor.api2-BPnIxMjz.js";function t(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var n=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:t(`defaultWorkerFactory`,{createScriptURL:e=>e});function r(e){let t=e.label,r=globalThis.MonacoEnvironment;if(r){if(typeof r.getWorker==`function`)return r.getWorker(`workerMain.js`,t);if(typeof r.getWorkerUrl==`function`){let e=r.getWorkerUrl(`workerMain.js`,t);return new Worker(n?n.createScriptURL(e):e,{name:t,type:`module`})}}if(e.createWorker)return e.createWorker();throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function i(t){let n=Promise.resolve(r({label:t.label??`monaco-editor-worker`,moduleId:t.moduleId,createWorker:t.createWorker})).then(e=>(e.postMessage(`ignore`),e.postMessage(t.createData),e));return e.createWebWorker({worker:n,host:t.host,keepIdleModels:t.keepIdleModels})}export{i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as e}from"./editor.api2-
|
|
1
|
+
import{h as e}from"./editor.api2-BPnIxMjz.js";var t={comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<`,`>`]],autoClosingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],surroundingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],onEnterRules:[{beforeText:RegExp(`<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}]},n={defaultToken:``,tokenPostfix:`.xml`,ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,``],{include:`@whitespace`},[/(<)(@qualifiedName)/,[{token:`delimiter`},{token:`tag`,next:`@tag`}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:`delimiter`},{token:`tag`},``,{token:`delimiter`}]],[/(<\?)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/(<\!)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/<\!\[CDATA\[/,{token:`delimiter.cdata`,next:`@cdata`}],[/&\w+;/,`string.escape`]],cdata:[[/[^\]]+/,``],[/\]\]>/,{token:`delimiter.cdata`,next:`@pop`}],[/\]/,``]],tag:[[/[ \t\r\n]+/,``],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,[`attribute.name`,``,`attribute.value`]],[/@qualifiedName/,`attribute.name`],[/\?>/,{token:`delimiter`,next:`@pop`}],[/(\/)(>)/,[{token:`tag`},{token:`delimiter`,next:`@pop`}]],[/>/,{token:`delimiter`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/<!--/,{token:`comment`,next:`@comment`}]],comment:[[/[^<\-]+/,`comment.content`],[/-->/,{token:`comment`,next:`@pop`}],[/<!--/,`comment.content.invalid`],[/[<\-]/,`comment.content`]]}};export{t as conf,n as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as e}from"./editor.api2-
|
|
1
|
+
import{h as e}from"./editor.api2-BPnIxMjz.js";var t={comments:{lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:e.IndentAction.Indent}}]},n={tokenPostfix:`.yaml`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:[`true`,`True`,`TRUE`,`false`,`False`,`FALSE`,`null`,`Null`,`Null`,`~`],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:`@whitespace`},{include:`@comment`},[/%[^ ]+.*$/,`meta.directive`],[/---/,`operators.directivesEnd`],[/\.{3}/,`operators.documentEnd`],[/[-?:](?= )/,`operators`],{include:`@anchor`},{include:`@tagHandle`},{include:`@flowCollections`},{include:`@blockStyle`},[/@numberInteger(?![ \t]*\S+)/,`number`],[/@numberFloat(?![ \t]*\S+)/,`number.float`],[/@numberOctal(?![ \t]*\S+)/,`number.octal`],[/@numberHex(?![ \t]*\S+)/,`number.hex`],[/@numberInfinity(?![ \t]*\S+)/,`number.infinity`],[/@numberNaN(?![ \t]*\S+)/,`number.nan`],[/@numberDate(?![ \t]*\S+)/,`number.date`],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,[`type`,`white`,`operators`,`white`]],{include:`@flowScalars`},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],object:[{include:`@whitespace`},{include:`@comment`},[/\}/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],[/:(?= )/,`operators`],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,`type`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\},]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],array:[{include:`@whitespace`},{include:`@comment`},[/\]/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\],]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],multiString:[[/^( +).+$/,`string`,`@multiStringContinued.$1`]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":`string`,"@default":{token:`@rematch`,next:`@popall`}}}]],whitespace:[[/[ \t\r\n]+/,`white`]],comment:[[/#.*$/,`comment`]],flowCollections:[[/\[/,`@brackets`,`@array`],[/\{/,`@brackets`,`@object`]],flowScalars:[[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/'[^']*'/,`string`],[/"/,`string`,`@doubleQuotedString`]],doubleQuotedString:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],blockStyle:[[/[>|][0-9]*[+-]?$/,`operators`,`@multiString`]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,`number`],[/@numberFloat(?=[ \t]*[,\]\}])/,`number.float`],[/@numberOctal(?=[ \t]*[,\]\}])/,`number.octal`],[/@numberHex(?=[ \t]*[,\]\}])/,`number.hex`],[/@numberInfinity(?=[ \t]*[,\]\}])/,`number.infinity`],[/@numberNaN(?=[ \t]*[,\]\}])/,`number.nan`],[/@numberDate(?=[ \t]*[,\]\}])/,`number.date`]],tagHandle:[[/\![^ ]*/,`tag`]],anchor:[[/[&*][^ ]+/,`namespace`]]}};export{t as conf,n as language};
|
package/client/dist/index.html
CHANGED
|
@@ -191,10 +191,10 @@
|
|
|
191
191
|
.specrails-splash__mark .pill { opacity: 1; }
|
|
192
192
|
}
|
|
193
193
|
</style>
|
|
194
|
-
<script type="module" crossorigin src="/assets/index-
|
|
194
|
+
<script type="module" crossorigin src="/assets/index-DGIXKRHE.js"></script>
|
|
195
195
|
<link rel="modulepreload" crossorigin href="/assets/chunk-CilyBKbf.js">
|
|
196
196
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-DSXbuxSR.js">
|
|
197
|
-
<link rel="modulepreload" crossorigin href="/assets/clsx-
|
|
197
|
+
<link rel="modulepreload" crossorigin href="/assets/clsx-CnH-HMk3.js">
|
|
198
198
|
<link rel="modulepreload" crossorigin href="/assets/activity-Dv6H7wEr.js">
|
|
199
199
|
<link rel="modulepreload" crossorigin href="/assets/addspec-GWm4ffKl.js">
|
|
200
200
|
<link rel="modulepreload" crossorigin href="/assets/agents-CMxtJMLD.js">
|
|
@@ -209,15 +209,16 @@
|
|
|
209
209
|
<link rel="modulepreload" crossorigin href="/assets/common-wA36jmj1.js">
|
|
210
210
|
<link rel="modulepreload" crossorigin href="/assets/dashboard-Duo4DDCW.js">
|
|
211
211
|
<link rel="modulepreload" crossorigin href="/assets/explore-hFc3HFcp.js">
|
|
212
|
-
<link rel="modulepreload" crossorigin href="/assets/integrations-
|
|
213
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
214
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
215
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
216
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
217
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
218
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
219
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
220
|
-
<link rel="
|
|
212
|
+
<link rel="modulepreload" crossorigin href="/assets/integrations-BqUmRUef.js">
|
|
213
|
+
<link rel="modulepreload" crossorigin href="/assets/jira-C-ATCti0.js">
|
|
214
|
+
<link rel="modulepreload" crossorigin href="/assets/jobs-Bd8AdOTb.js">
|
|
215
|
+
<link rel="modulepreload" crossorigin href="/assets/nav-BRInPX8a.js">
|
|
216
|
+
<link rel="modulepreload" crossorigin href="/assets/settings-yMubjqYw.js">
|
|
217
|
+
<link rel="modulepreload" crossorigin href="/assets/setup-C0dzw8j4.js">
|
|
218
|
+
<link rel="modulepreload" crossorigin href="/assets/specs-4lA_u79w.js">
|
|
219
|
+
<link rel="modulepreload" crossorigin href="/assets/terminal-C0xx0SjA.js">
|
|
220
|
+
<link rel="modulepreload" crossorigin href="/assets/tickets-tGx5AR5b.js">
|
|
221
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DBpvYrDK.css">
|
|
221
222
|
</head>
|
|
222
223
|
<body>
|
|
223
224
|
<div id="specrails-splash" aria-hidden="false" role="status" aria-label="Loading Specrails">
|