specrails-desktop 2.16.0 → 2.18.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-C_clKk8d.js → ActivityFeedPage-mGnv5SOe.js} +1 -1
- package/client/dist/assets/AgentsPage-BH1isg5j.js +86 -0
- package/client/dist/assets/AnalyticsPage-ByyshYRI.js +1 -0
- package/client/dist/assets/{BarChart-Dq1h8eYR.js → BarChart-BqHUOnl9.js} +3 -3
- package/client/dist/assets/CodePage-CU7T_HYs.js +2 -0
- package/client/dist/assets/{DesktopAnalyticsPage-CYhXhJoQ.js → DesktopAnalyticsPage-CR-m97Ui.js} +1 -1
- package/client/dist/assets/DocsDialog-CEmZp_8V.js +11 -0
- package/client/dist/assets/DocsPage-DYbAQ1AT.js +11 -0
- package/client/dist/assets/{ExportDropdown-DdB2ncYh.js → ExportDropdown-C-o1Q4ef.js} +1 -1
- package/client/dist/assets/IntegrationsPage-C6fKdwVH.js +3 -0
- package/client/dist/assets/JobDetailPage-CKfIfBgE.js +16 -0
- package/client/dist/assets/JobsPage-nBng0riZ.js +1 -0
- package/client/dist/assets/LoopBuilderPage-Co_TYqYk.js +7 -0
- package/client/dist/assets/LoopsPage-a2hd37Ya.js +1 -0
- package/client/dist/assets/{activity-Ca2XoBi-.js → activity-D8vQJrpW.js} +1 -1
- package/client/dist/assets/{addon-image-biWX2UUm.js → addon-image-Ba-TY3wr.js} +1 -1
- package/client/dist/assets/{addon-ligatures-D4EiDb5r.js → addon-ligatures-T4ARLiuu.js} +1 -1
- package/client/dist/assets/{addon-webgl-CDCIZQ03.js → addon-webgl-Cd73n8eh.js} +1 -1
- package/client/dist/assets/{addspec-DE_VfIyP.js → addspec-BloGn_ey.js} +1 -1
- package/client/dist/assets/agent-9WdSxPU5.js +1 -0
- package/client/dist/assets/agent-ASIyVcg0.js +1 -0
- package/client/dist/assets/agent-Bm2tPrdr.js +1 -0
- package/client/dist/assets/agent-C4bO1l_v.js +1 -0
- package/client/dist/assets/agent-CgKsh88Z2.js +1 -0
- package/client/dist/assets/agent-DMUrz9ZS2.js +1 -0
- package/client/dist/assets/agent-Dwkz5mPS.js +1 -0
- package/client/dist/assets/agent-pO8x4jbR.js +1 -0
- package/client/dist/assets/{agents-DcoUUFZl.js → agents-52t8NVpS.js} +1 -1
- package/client/dist/assets/{agents-DCX9D3-Q.js → agents-BAxAwHy-.js} +1 -1
- package/client/dist/assets/{agents-Jc-CjBDB.js → agents-BUYBb825.js} +1 -1
- package/client/dist/assets/{agents-CIhRSOna.js → agents-BjT_xLjv.js} +1 -1
- package/client/dist/assets/{agents-BYjUOrLD.js → agents-C07al8rI.js} +1 -1
- package/client/dist/assets/{agents-1lhqEcXH.js → agents-DfGvYtpq2.js} +1 -1
- package/client/dist/assets/{agents-CQlu1nOm.js → agents-Dli56gr82.js} +1 -1
- package/client/dist/assets/{agents-DVYpVGur.js → agents-Eqw_AQ6H.js} +1 -1
- package/client/dist/assets/{agentstudio-DCTpIqOx.js → agentstudio-CZm2rOzt.js} +1 -1
- package/client/dist/assets/{aiedit-Dirqf3Bm.js → aiedit-DYtnZU9H.js} +1 -1
- package/client/dist/assets/{analytics-BE49LbUk.js → analytics-B4FJ_pry.js} +1 -1
- package/client/dist/assets/{attachments-C2JPppoP.js → attachments-Ci6_42Kh.js} +1 -1
- package/client/dist/assets/{browser-Dpo_ug4c.js → browser-ZB1afzjZ.js} +1 -1
- package/client/dist/assets/{chat-mq1x9cxZ.js → chat-VMflhzxn.js} +1 -1
- package/client/dist/assets/chunk-BNv3lrIs.js +1 -0
- package/client/dist/assets/{code-DtIatVES.js → code-wtcs0ivb.js} +1 -1
- package/client/dist/assets/commands-Bc8y9eNo2.js +1 -0
- package/client/dist/assets/commands-Bl3-KVfj.js +1 -0
- package/client/dist/assets/commands-C5WQ9blx2.js +1 -0
- package/client/dist/assets/commands-CM99Upsz2.js +1 -0
- package/client/dist/assets/commands-Cc2WpuXa.js +1 -0
- package/client/dist/assets/commands-CckaBWdV.js +1 -0
- package/client/dist/assets/commands-DASXJD-l.js +1 -0
- package/client/dist/assets/commands-k9wbNYoi.js +1 -0
- package/client/dist/assets/{common-kftoE0Q-.js → common-BPQQkgJZ.js} +1 -1
- package/client/dist/assets/{cssMode-DSHXamUH.js → cssMode-DsArsSCT.js} +1 -1
- package/client/dist/assets/{dashboard-BQ3Oa8CE.js → dashboard-Cyzp4ox9.js} +1 -1
- package/client/dist/assets/{dist-js-Ele_sHO7.js → dist-js-BHhtSerX.js} +1 -1
- package/client/dist/assets/{dist-js-D27I-bfi.js → dist-js-CUegfF6k.js} +1 -1
- package/client/dist/assets/{editor.api2-Cwla1nvV.js → editor.api2-T7u8kQWG.js} +1 -1
- package/client/dist/assets/{editor.main-Cd8qBRAT.js → editor.main-G3Sl9C67.js} +2 -2
- package/client/dist/assets/{explore-CBYU76JD.js → explore-BKVV5JSu.js} +1 -1
- package/client/dist/assets/{freemarker2-CkEKTBm2.js → freemarker2-pBzQNgFi.js} +1 -1
- package/client/dist/assets/{handlebars-BRGx0JpL.js → handlebars-CtBTCnBI.js} +1 -1
- package/client/dist/assets/{html-BfRIaGgN.js → html-Dx3DYBzY.js} +1 -1
- package/client/dist/assets/{htmlMode-BTpSnsDE.js → htmlMode-In7frFOo.js} +1 -1
- package/client/dist/assets/index-B0FxQALR.css +2 -0
- package/client/dist/assets/index-B7vB20Jw.js +152 -0
- package/client/dist/assets/{integrations-jJGaKwff.js → integrations-CuWnMR5L.js} +1 -1
- package/client/dist/assets/{javascript-DMmE2kKN.js → javascript-BKcn-YkN.js} +1 -1
- package/client/dist/assets/{jira-BwACz875.js → jira-DXMoAKWD.js} +1 -1
- package/client/dist/assets/{jobs-DRInW0AE.js → jobs---dwa4Nf.js} +1 -1
- package/client/dist/assets/{jsonMode-hYuaUleY.js → jsonMode-jNREoQ3C.js} +1 -1
- package/client/dist/assets/{lib-qdRfWwE1.js → lib-PQoHlR5u.js} +2 -2
- package/client/dist/assets/{liquid-C-VbuTr7.js → liquid-CtRkGqBu.js} +1 -1
- package/client/dist/assets/{loops-DfGadne0.js → loops-D8Iu6Jss.js} +1 -1
- package/client/dist/assets/{lspLanguageFeatures-BALx-vjn.js → lspLanguageFeatures-Cl3gvD_W.js} +1 -1
- package/client/dist/assets/mcp-B4irfLJ2.js +1 -0
- package/client/dist/assets/mcp-B6nwJJmR.js +1 -0
- package/client/dist/assets/mcp-BOoEGTSQ.js +1 -0
- package/client/dist/assets/mcp-BP7PpbDr2.js +1 -0
- package/client/dist/assets/mcp-CIH0pH1K.js +1 -0
- package/client/dist/assets/mcp-CNgFiTEh.js +1 -0
- package/client/dist/assets/mcp-D3E4_Mmk2.js +1 -0
- package/client/dist/assets/mcp-mupPuPDO2.js +1 -0
- package/client/dist/assets/{mdx-Cs8MNCzn.js → mdx-B_nJldHz.js} +1 -1
- package/client/dist/assets/{monaco.contribution-CIvCAJs4.js → monaco.contribution-PUeaZk8T.js} +2 -2
- package/client/dist/assets/{nav-CCz4krPP.js → nav-DE3yWQw6.js} +1 -1
- package/client/dist/assets/{python-CGShLxuI.js → python-DS1Ce-A6.js} +1 -1
- package/client/dist/assets/{razor-CvOBQGd5.js → razor-L41Qg9OK.js} +1 -1
- package/client/dist/assets/settings-BKmORxlB2.js +1 -0
- package/client/dist/assets/settings-BVv2JgQ8.js +1 -0
- package/client/dist/assets/settings-Bghm3pAV.js +1 -0
- package/client/dist/assets/settings-BuC_aplX.js +1 -0
- package/client/dist/assets/settings-Bw_Qk8E32.js +1 -0
- package/client/dist/assets/settings-CAKgJv7p.js +1 -0
- package/client/dist/assets/settings-CEUgk1Ck.js +1 -0
- package/client/dist/assets/settings-C_PDE20s2.js +1 -0
- package/client/dist/assets/setup-4us-Bz3H.js +1 -0
- package/client/dist/assets/setup-BYoDYoPY2.js +1 -0
- package/client/dist/assets/setup-Bf9eLKxU.js +1 -0
- package/client/dist/assets/setup-C5UbM0RP.js +1 -0
- package/client/dist/assets/setup-CqGrWb6G.js +1 -0
- package/client/dist/assets/setup-JFkWWZnR.js +1 -0
- package/client/dist/assets/setup-faMApo0U2.js +1 -0
- package/client/dist/assets/setup-tloaTobG2.js +1 -0
- package/client/dist/assets/{specs-C_8j4ELZ.js → specs-BYeAbIEy.js} +1 -1
- package/client/dist/assets/{terminal-Cj4HzP3p.js → terminal-DFPNRLKp.js} +1 -1
- package/client/dist/assets/{tickets-DBQXMYYA.js → tickets-CkfbISuK.js} +1 -1
- package/client/dist/assets/{tsMode-04uOpiiP.js → tsMode-BC1g186U.js} +1 -1
- package/client/dist/assets/{typescript-CX0CwyIZ.js → typescript-BGlRGvJW.js} +1 -1
- package/client/dist/assets/upload-PnJDPHZH.js +1 -0
- package/client/dist/assets/{value-BRVOAvhY.js → value-BTDefcOV.js} +1 -1
- package/client/dist/assets/{workers-yr2u4c3C.js → workers-CXcXtO3b.js} +1 -1
- package/client/dist/assets/{xml-C0OFlt5X.js → xml-JdZZaIhJ.js} +1 -1
- package/client/dist/assets/{yaml-DgabaPs5.js → yaml-Cm82BVBt.js} +1 -1
- package/client/dist/index.html +30 -28
- package/docs/README.md +2 -0
- package/docs/guide/de/integrations/5-mcp-server.md +74 -0
- package/docs/guide/de/integrations/6-agent-chat.md +64 -0
- package/docs/guide/en/integrations/5-mcp-server.md +74 -0
- package/docs/guide/en/integrations/6-agent-chat.md +64 -0
- package/docs/guide/es/integrations/5-mcp-server.md +74 -0
- package/docs/guide/es/integrations/6-agent-chat.md +64 -0
- package/docs/guide/fr/integrations/5-mcp-server.md +74 -0
- package/docs/guide/fr/integrations/6-agent-chat.md +64 -0
- package/docs/guide/it/integrations/5-mcp-server.md +74 -0
- package/docs/guide/it/integrations/6-agent-chat.md +64 -0
- package/docs/guide/ja/integrations/5-mcp-server.md +74 -0
- package/docs/guide/ja/integrations/6-agent-chat.md +64 -0
- package/docs/guide/pt/integrations/5-mcp-server.md +74 -0
- package/docs/guide/pt/integrations/6-agent-chat.md +64 -0
- package/docs/guide/zh/integrations/5-mcp-server.md +74 -0
- package/docs/guide/zh/integrations/6-agent-chat.md +64 -0
- package/docs/mcp.md +249 -0
- package/package.json +8 -5
- package/server/dist/agent-chat-manager.js +224 -0
- package/server/dist/agent-chat-router.js +148 -0
- package/server/dist/agent-cwd-manager.js +94 -0
- package/server/dist/agent-mcp-config.js +208 -0
- package/server/dist/agent-store.js +59 -0
- package/server/dist/agent-tier.js +86 -0
- package/server/dist/desktop-db.js +27 -0
- package/server/dist/index.js +38 -0
- package/server/dist/mcp/guide.js +82 -0
- package/server/dist/mcp/index.js +21 -0
- package/server/dist/mcp/mcp-admin-router.js +71 -0
- package/server/dist/mcp/mcp-server.js +143 -0
- package/server/dist/mcp/mcp-tiers.js +48 -0
- package/server/dist/mcp/mcp-token.js +119 -0
- package/server/dist/mcp/resources.js +24 -0
- package/server/dist/mcp/tools/agents.js +319 -0
- package/server/dist/mcp/tools/analytics.js +168 -0
- package/server/dist/mcp/tools/app-settings.js +81 -0
- package/server/dist/mcp/tools/catalog.js +45 -0
- package/server/dist/mcp/tools/chat.js +147 -0
- package/server/dist/mcp/tools/code.js +145 -0
- package/server/dist/mcp/tools/jira.js +222 -0
- package/server/dist/mcp/tools/jobs.js +258 -0
- package/server/dist/mcp/tools/loops.js +229 -0
- package/server/dist/mcp/tools/meta.js +96 -0
- package/server/dist/mcp/tools/plugins.js +83 -0
- package/server/dist/mcp/tools/projects.js +62 -0
- package/server/dist/mcp/tools/rails.js +181 -0
- package/server/dist/mcp/tools/setup.js +167 -0
- package/server/dist/mcp/tools/specs.js +327 -0
- package/server/dist/mcp/tools/types.js +156 -0
- package/server/dist/mcp/tools/watch.js +93 -0
- package/server/dist/mobile/mobile-event-bus.js +2 -0
- package/server/dist/project-router-setup.js +15 -1
- package/server/dist/project-router-tickets.js +2 -2
- package/server/dist/providers/codex-adapter.js +19 -3
- package/server/dist/rails-router.js +5 -0
- package/server/dist/setup-manager.js +28 -0
- package/server/dist/spawn-lifecycle.js +21 -13
- package/server/dist/workspace-manager.js +11 -0
- package/client/dist/assets/AgentsPage-jcPUtPhP.js +0 -86
- package/client/dist/assets/AnalyticsPage-DZkVU3yd.js +0 -1
- package/client/dist/assets/CodePage-BcbZT88K.js +0 -2
- package/client/dist/assets/DocsDialog-CS3Syf61.js +0 -11
- package/client/dist/assets/DocsPage-l3ZcTO2E.js +0 -11
- package/client/dist/assets/IntegrationsPage-CJ_Om1zu.js +0 -3
- package/client/dist/assets/JobDetailPage-D5Cxw0md.js +0 -16
- package/client/dist/assets/JobsPage-3v_iX83r.js +0 -1
- package/client/dist/assets/LoopBuilderPage-4s_adZy5.js +0 -7
- package/client/dist/assets/LoopsPage-DA94-o0j.js +0 -1
- package/client/dist/assets/chunk-CilyBKbf.js +0 -1
- package/client/dist/assets/commands-B9XEyMj-.js +0 -1
- package/client/dist/assets/commands-BI1Ta-E7.js +0 -1
- package/client/dist/assets/commands-BdI0CtOL.js +0 -1
- package/client/dist/assets/commands-C2ewlyXo.js +0 -1
- package/client/dist/assets/commands-CwypztRT.js +0 -1
- package/client/dist/assets/commands-DSX3yJyr.js +0 -1
- package/client/dist/assets/commands-Ic1DJDxm.js +0 -1
- package/client/dist/assets/commands-yNn4IA4C.js +0 -1
- package/client/dist/assets/index-BRMyOS1B.css +0 -2
- package/client/dist/assets/index-meTWPBzY.js +0 -144
- package/client/dist/assets/settings-0m2iuTzd.js +0 -1
- package/client/dist/assets/settings-BA1V6KdK.js +0 -1
- package/client/dist/assets/settings-BN7OusER.js +0 -1
- package/client/dist/assets/settings-Bi5FFkIw.js +0 -1
- package/client/dist/assets/settings-CRJxyTNN.js +0 -1
- package/client/dist/assets/settings-DyBxunCh.js +0 -1
- package/client/dist/assets/settings-fk-WlnUt.js +0 -1
- package/client/dist/assets/settings-iQe5Dim-.js +0 -1
- package/client/dist/assets/setup-BOmQ4vh2.js +0 -1
- package/client/dist/assets/setup-BwO2-kuK.js +0 -1
- package/client/dist/assets/setup-CUTNWz-0.js +0 -1
- package/client/dist/assets/setup-Cf3hjChU.js +0 -1
- package/client/dist/assets/setup-CsuXrbJ2.js +0 -1
- package/client/dist/assets/setup-Df4cJOqu.js +0 -1
- package/client/dist/assets/setup-Do0fWx6W.js +0 -1
- package/client/dist/assets/setup-GlkDhBlJ.js +0 -1
- package/client/dist/assets/upload-DPG87J4t.js +0 -1
- /package/client/dist/assets/{abap-CK68cr9-.js → abap-CpHUwCVK.js} +0 -0
- /package/client/dist/assets/{activity-Di2f50_Z.js → activity-B82z3Pna.js} +0 -0
- /package/client/dist/assets/{activity-B2MvEH54.js → activity-BId0pwuS2.js} +0 -0
- /package/client/dist/assets/{activity-D4dhNEwO.js → activity-BVpZrs0J.js} +0 -0
- /package/client/dist/assets/{activity-DHjfmAyT.js → activity-BySXFT2J2.js} +0 -0
- /package/client/dist/assets/{activity-usnNa7FX.js → activity-DIWnV0Pl.js} +0 -0
- /package/client/dist/assets/{activity-C7VdmeGb.js → activity-Uj576ckT.js} +0 -0
- /package/client/dist/assets/{activity-BbNkUmW4.js → activity-w1qMFwxh.js} +0 -0
- /package/client/dist/assets/{addspec-CO1xv6BL.js → addspec-B9dY_F5T.js} +0 -0
- /package/client/dist/assets/{addspec-CNyAUGz_.js → addspec-B9nhMikb.js} +0 -0
- /package/client/dist/assets/{addspec-IozoiiGs.js → addspec-BtNaJHu2.js} +0 -0
- /package/client/dist/assets/{addspec-BxMn39wn.js → addspec-D43TlMVp2.js} +0 -0
- /package/client/dist/assets/{addspec-1HEtmLv1.js → addspec-DfgIZ5lO.js} +0 -0
- /package/client/dist/assets/{addspec-DfuR6EAl.js → addspec-W0r16BOC2.js} +0 -0
- /package/client/dist/assets/{addspec-DAveBiCE.js → addspec-tbxr3sHa.js} +0 -0
- /package/client/dist/assets/{agentstudio-DCyDW8sy.js → agentstudio-0o3XKrcy.js} +0 -0
- /package/client/dist/assets/{agentstudio-9NbsoGXk.js → agentstudio-Bu8m5jDw.js} +0 -0
- /package/client/dist/assets/{agentstudio-B1y0JWY-.js → agentstudio-C7xxqVWn.js} +0 -0
- /package/client/dist/assets/{agentstudio-1E-bag77.js → agentstudio-D-UoNAIA.js} +0 -0
- /package/client/dist/assets/{agentstudio-B-jQgYV-.js → agentstudio-OJjjz6Uf2.js} +0 -0
- /package/client/dist/assets/{agentstudio-Q0Sq_jTg.js → agentstudio-ObTpVbBP.js} +0 -0
- /package/client/dist/assets/{agentstudio-Bwa72b1S.js → agentstudio-PzFB3vfh2.js} +0 -0
- /package/client/dist/assets/{aiedit-DUpe7NxI.js → aiedit-BIQqv2XM2.js} +0 -0
- /package/client/dist/assets/{aiedit-kAU7KADg.js → aiedit-BaLZalLa.js} +0 -0
- /package/client/dist/assets/{aiedit-CvSspQmE.js → aiedit-BjlUzasF.js} +0 -0
- /package/client/dist/assets/{aiedit-DSLtsYIu.js → aiedit-BmDufyGU.js} +0 -0
- /package/client/dist/assets/{aiedit-qTGI_PGs.js → aiedit-DAM_WRAl2.js} +0 -0
- /package/client/dist/assets/{aiedit-CfBNanHE.js → aiedit-DRrNiaB4.js} +0 -0
- /package/client/dist/assets/{aiedit-CGxeml8D.js → aiedit-sP_iao2j.js} +0 -0
- /package/client/dist/assets/{analytics-CgEkAUiP.js → analytics-BDqqCzN9.js} +0 -0
- /package/client/dist/assets/{analytics-DEsEAJZL.js → analytics-B_rxNC9X.js} +0 -0
- /package/client/dist/assets/{analytics-D1ElChhs.js → analytics-C4z_NgJZ.js} +0 -0
- /package/client/dist/assets/{analytics-DDqve9Ma.js → analytics-DL2vJCbq.js} +0 -0
- /package/client/dist/assets/{analytics-CQqu1yE5.js → analytics-Ds_PNxtO2.js} +0 -0
- /package/client/dist/assets/{analytics-BDlELxc7.js → analytics-MVJRjcY52.js} +0 -0
- /package/client/dist/assets/{analytics-DBGO8B6-.js → analytics-e1mkNTgy2.js} +0 -0
- /package/client/dist/assets/{apex-BHHyAVNb.js → apex-DlD7oJX6.js} +0 -0
- /package/client/dist/assets/{atom-one-dark-DrWoEEbZ.js → atom-one-dark-BrRN8wBy.js} +0 -0
- /package/client/dist/assets/{attachments-BNgH6Tcu.js → attachments-8QCKHCEF2.js} +0 -0
- /package/client/dist/assets/{attachments-BLqqPGyy.js → attachments-BP0Ac1yt.js} +0 -0
- /package/client/dist/assets/{attachments-UJtEq892.js → attachments-CJaO1vCH.js} +0 -0
- /package/client/dist/assets/{attachments-D5fVsMgb.js → attachments-CPBVeHX72.js} +0 -0
- /package/client/dist/assets/{attachments-3CuBBRFu.js → attachments-CV2uaTGE.js} +0 -0
- /package/client/dist/assets/{attachments-CppM7de8.js → attachments-CaOjdN332.js} +0 -0
- /package/client/dist/assets/{attachments-pW3zm9nu.js → attachments-Db7JfA8a.js} +0 -0
- /package/client/dist/assets/{azcli-C56lfIEP.js → azcli-CmXFAbc-.js} +0 -0
- /package/client/dist/assets/{bat-BLamSaf-.js → bat-DdNJq4hH.js} +0 -0
- /package/client/dist/assets/{bicep-lrOcEItS.js → bicep-Bppz7WOA.js} +0 -0
- /package/client/dist/assets/{browser-C__Vz7KR.js → browser-0xeW8fUa2.js} +0 -0
- /package/client/dist/assets/{browser-EFmPpkvO.js → browser-543jbxE4.js} +0 -0
- /package/client/dist/assets/{browser-DhwTc0ry.js → browser-C9rUUxo4.js} +0 -0
- /package/client/dist/assets/{browser-C91MQBxx.js → browser-CEqx11iy.js} +0 -0
- /package/client/dist/assets/{browser-B7i7Ysc8.js → browser-CLC0etB_2.js} +0 -0
- /package/client/dist/assets/{browser-DwE289IS.js → browser-DyG2l9Wa.js} +0 -0
- /package/client/dist/assets/{browser-BVQgd1_1.js → browser-ExmELH702.js} +0 -0
- /package/client/dist/assets/{cameligo-BK_p0bgU.js → cameligo-0MRMdSmg.js} +0 -0
- /package/client/dist/assets/{chat-C5nJF6L0.js → chat-CCytD3P8.js} +0 -0
- /package/client/dist/assets/{chat-UMl6H55K.js → chat-CN8BMAMc.js} +0 -0
- /package/client/dist/assets/{chat-BXVx6rb5.js → chat-Cu6F3d6g2.js} +0 -0
- /package/client/dist/assets/{chat-CE8bx6Rz.js → chat-DagUyoVA.js} +0 -0
- /package/client/dist/assets/{chat-PVakYp92.js → chat-IjutwlBg.js} +0 -0
- /package/client/dist/assets/{chat-9RcD5Lcn.js → chat-NQPCBQo72.js} +0 -0
- /package/client/dist/assets/{chat-BnJPyeUK.js → chat-vVpwkOp52.js} +0 -0
- /package/client/dist/assets/{clojure-BQ7JOykv.js → clojure-B5dKj863.js} +0 -0
- /package/client/dist/assets/{clsx-CjLeUJfG.js → clsx-1dnHRn8W.js} +0 -0
- /package/client/dist/assets/{code-OoLqhjoI.js → code-32l6Naxu2.js} +0 -0
- /package/client/dist/assets/{code-Lg4awa35.js → code-BaG05zK62.js} +0 -0
- /package/client/dist/assets/{code-BPMR8_Vp.js → code-C5cibF2F.js} +0 -0
- /package/client/dist/assets/{code-aCUqkVN_.js → code-Ce-nBIwj.js} +0 -0
- /package/client/dist/assets/{code-BsOBm1Fb.js → code-Dap54vOb.js} +0 -0
- /package/client/dist/assets/{code-u9Sg9ohM.js → code-Dhb6jbAU.js} +0 -0
- /package/client/dist/assets/{code-eh4vO2-_.js → code-_NOCo-Ol2.js} +0 -0
- /package/client/dist/assets/{coffee-BD3DiL5s.js → coffee-DSbWjzk7.js} +0 -0
- /package/client/dist/assets/{common-C9VyfY7g.js → common-0aY9HQBP.js} +0 -0
- /package/client/dist/assets/{common-LDwESeCX.js → common-5jScBJqt.js} +0 -0
- /package/client/dist/assets/{common-ULlk84G4.js → common-BdaRciTu.js} +0 -0
- /package/client/dist/assets/{common-CzCQ0rpW.js → common-CHARW6MZ2.js} +0 -0
- /package/client/dist/assets/{common-CNoRVpnA.js → common-CQCJzAQq2.js} +0 -0
- /package/client/dist/assets/{common-Dmpyh323.js → common-DNhhqjlJ.js} +0 -0
- /package/client/dist/assets/{common-CcHFVATT.js → common-YdyZtmaI2.js} +0 -0
- /package/client/dist/assets/{cpp-splnCwCh.js → cpp-SBF8SAh9.js} +0 -0
- /package/client/dist/assets/{csharp-BCpsl-o3.js → csharp-Lzuq_1t-.js} +0 -0
- /package/client/dist/assets/{csp-tkCWrZmb.js → csp-BEzxZqi1.js} +0 -0
- /package/client/dist/assets/{css-B_xdnReq.js → css-C3D3PKln.js} +0 -0
- /package/client/dist/assets/{cypher-OL1zq-y3.js → cypher-CQ3dEPmv.js} +0 -0
- /package/client/dist/assets/{dart-CtTlOkrm.js → dart-DCPmxolI.js} +0 -0
- /package/client/dist/assets/{dashboard-C52PElPV.js → dashboard-BTiH361F.js} +0 -0
- /package/client/dist/assets/{dashboard-C-dXxut-.js → dashboard-COSm_14E.js} +0 -0
- /package/client/dist/assets/{dashboard-CUjyhohl.js → dashboard-CfOs70FN2.js} +0 -0
- /package/client/dist/assets/{dashboard-zH9quXks.js → dashboard-CzHDp14_2.js} +0 -0
- /package/client/dist/assets/{dashboard-03EpOoMM.js → dashboard-D6Woy2B5.js} +0 -0
- /package/client/dist/assets/{dashboard-C2owt3eN.js → dashboard-DwbH4oVH.js} +0 -0
- /package/client/dist/assets/{dashboard-Ch6H-457.js → dashboard-cWhU3krA2.js} +0 -0
- /package/client/dist/assets/{dockerfile-DcQ5CNiW.js → dockerfile-B_2_aaTO.js} +0 -0
- /package/client/dist/assets/{ecl-DZpiDRt6.js → ecl-rADUeXsV.js} +0 -0
- /package/client/dist/assets/{elixir-Dzj2lqtK.js → elixir-DOd-TuJO.js} +0 -0
- /package/client/dist/assets/{explore-CCcPXrHg.js → explore-B82VMUJ_.js} +0 -0
- /package/client/dist/assets/{explore-DQ0XEjed.js → explore-BGz1rvQE.js} +0 -0
- /package/client/dist/assets/{explore-xQoaak6e.js → explore-BzdMEpuf.js} +0 -0
- /package/client/dist/assets/{explore-B2n8r9Ye.js → explore-CbW0381i2.js} +0 -0
- /package/client/dist/assets/{explore-4SD1DxR0.js → explore-ChtxIiSM.js} +0 -0
- /package/client/dist/assets/{explore-BxR9q8Hq.js → explore-DfcUfiPw2.js} +0 -0
- /package/client/dist/assets/{explore-CZt4Ncpa.js → explore-yRF7wFSp2.js} +0 -0
- /package/client/dist/assets/{flow9-CFENCHIZ.js → flow9-Bf7zg_j0.js} +0 -0
- /package/client/dist/assets/{format-command-CMsBTOPN.js → format-command-D96da4fZ.js} +0 -0
- /package/client/dist/assets/{fsharp-D-4bv7FB.js → fsharp-BqROZjbA.js} +0 -0
- /package/client/dist/assets/{go-djxbTJq7.js → go-oQTP5uLe.js} +0 -0
- /package/client/dist/assets/{graphql-DHIFrkZ6.js → graphql-CSHfTU3q.js} +0 -0
- /package/client/dist/assets/{hcl-CXVoowNb.js → hcl-CeG-RoFJ.js} +0 -0
- /package/client/dist/assets/{ini-Crzc5kly.js → ini-B2Dv4ohc.js} +0 -0
- /package/client/dist/assets/{integrations-C7u7SInG.js → integrations-B0OBPU9_.js} +0 -0
- /package/client/dist/assets/{integrations-B17KyA-i.js → integrations-BA5pM05t.js} +0 -0
- /package/client/dist/assets/{integrations-DkBi-Gsh.js → integrations-BJvrlcc7.js} +0 -0
- /package/client/dist/assets/{integrations-DwSVdCpf.js → integrations-CPKYkG36.js} +0 -0
- /package/client/dist/assets/{integrations-A9f08E0o.js → integrations-CnrX7vqw2.js} +0 -0
- /package/client/dist/assets/{integrations-9qxUNhPD.js → integrations-DBou159M2.js} +0 -0
- /package/client/dist/assets/{integrations-B46ac3sf.js → integrations-DeJFRyXz2.js} +0 -0
- /package/client/dist/assets/{java-CYLaJrdE.js → java-aUDDeufb.js} +0 -0
- /package/client/dist/assets/{jira-Dht8qNck.js → jira-BDgxAFTF2.js} +0 -0
- /package/client/dist/assets/{jira-4Fin3fu7.js → jira-BwLBgmfI2.js} +0 -0
- /package/client/dist/assets/{jira-0ldfMByG.js → jira-D3GGzXOI.js} +0 -0
- /package/client/dist/assets/{jira-BpnpUFlb.js → jira-DeotPx6P2.js} +0 -0
- /package/client/dist/assets/{jira-DzIVvNmy.js → jira-NwlUCcQD.js} +0 -0
- /package/client/dist/assets/{jira-CBU0200d.js → jira-Srx2P5zS.js} +0 -0
- /package/client/dist/assets/{jira-01H1RfQj.js → jira-mi37H4Kt.js} +0 -0
- /package/client/dist/assets/{jobs-jEQidSIb.js → jobs-B56vQEkh2.js} +0 -0
- /package/client/dist/assets/{jobs-DM9owF1j.js → jobs-BYIk6Tg_.js} +0 -0
- /package/client/dist/assets/{jobs-Bw4hqEro.js → jobs-C-lM-iax2.js} +0 -0
- /package/client/dist/assets/{jobs-BF9raUkL.js → jobs-CYdevGgT.js} +0 -0
- /package/client/dist/assets/{jobs-ym72SIR9.js → jobs-D8adm2BX.js} +0 -0
- /package/client/dist/assets/{jobs-DcCONARH.js → jobs-K_Y8KAZ2.js} +0 -0
- /package/client/dist/assets/{jobs-Oz3UtLQn.js → jobs-OwM0ZWhI2.js} +0 -0
- /package/client/dist/assets/{julia-BJ7tUU-T.js → julia-C5LbruO5.js} +0 -0
- /package/client/dist/assets/{kotlin-CeWcU3lC.js → kotlin-C6mOuSKk.js} +0 -0
- /package/client/dist/assets/{less-CviwWNG4.js → less-D5qC3caW.js} +0 -0
- /package/client/dist/assets/{lexon-Dt28jqDS.js → lexon-Dr2La-fj.js} +0 -0
- /package/client/dist/assets/{loops-DE-2cmLw.js → loops-BDhEfnx82.js} +0 -0
- /package/client/dist/assets/{loops-mcoeFMat.js → loops-BM5QggwH.js} +0 -0
- /package/client/dist/assets/{loops-D_ZxkD4l.js → loops-CPjLAAxj.js} +0 -0
- /package/client/dist/assets/{loops-BYNUJVyD.js → loops-DKnk79TB2.js} +0 -0
- /package/client/dist/assets/{loops-B_gS4Pqu.js → loops-DLW0aFMm.js} +0 -0
- /package/client/dist/assets/{loops-Fv4Bs-9A.js → loops-Dcv3dFy_2.js} +0 -0
- /package/client/dist/assets/{loops-B_w7STrw.js → loops-y7wFRx6M.js} +0 -0
- /package/client/dist/assets/{lua-B6AOaJSi.js → lua-Zy6u5z6Z.js} +0 -0
- /package/client/dist/assets/{m3-VnMkHJcy.js → m3-C7XHeDz_.js} +0 -0
- /package/client/dist/assets/{markdown-8vKNdvIM.js → markdown-PiF7r-2h.js} +0 -0
- /package/client/dist/assets/{mips-DoEcuzan.js → mips-nn07GiyE.js} +0 -0
- /package/client/dist/assets/{msdax-CNzvHyEp.js → msdax-DaKFVMST.js} +0 -0
- /package/client/dist/assets/{mysql-Buk3vUtL.js → mysql-C6d6xrbU.js} +0 -0
- /package/client/dist/assets/{nav-Cw3_40fA.js → nav-1hj2izqB2.js} +0 -0
- /package/client/dist/assets/{nav-DNDJ3H-_.js → nav-BBUKMAu-2.js} +0 -0
- /package/client/dist/assets/{nav-CrG_mYRr.js → nav-CLqkP-26.js} +0 -0
- /package/client/dist/assets/{nav-DVp1nEsi.js → nav-Cv46L837.js} +0 -0
- /package/client/dist/assets/{nav-DbAbG5_k.js → nav-DgA-rjLk2.js} +0 -0
- /package/client/dist/assets/{nav-B5W9IMnf.js → nav-EG2pr6vN.js} +0 -0
- /package/client/dist/assets/{nav-_0vAgZ_k.js → nav-r3mIJVfU.js} +0 -0
- /package/client/dist/assets/{objective-c-DfOmda-5.js → objective-c-B6KMtI-k.js} +0 -0
- /package/client/dist/assets/{pascal-DoAA2yjy.js → pascal-DYr8MPE7.js} +0 -0
- /package/client/dist/assets/{pascaligo-C65Vn1fu.js → pascaligo-B3pd-jJ_.js} +0 -0
- /package/client/dist/assets/{perl-INlfQ_ro.js → perl-z2xUzoaL.js} +0 -0
- /package/client/dist/assets/{pgsql-DtwRzglx.js → pgsql-DUvT-09-.js} +0 -0
- /package/client/dist/assets/{php-DfHqVNet.js → php-CGyOmJfy.js} +0 -0
- /package/client/dist/assets/{pla-D3dNVRYk.js → pla-CMqgvyD0.js} +0 -0
- /package/client/dist/assets/{postiats-UKXD1rM4.js → postiats-Dx5LUn4Z.js} +0 -0
- /package/client/dist/assets/{powerquery-zE3E3O7s.js → powerquery-DazYxvJ6.js} +0 -0
- /package/client/dist/assets/{powershell-Df9b3zQl.js → powershell-B3nwlDka.js} +0 -0
- /package/client/dist/assets/{protobuf-BF0nUVrW.js → protobuf-BGuu2u2s.js} +0 -0
- /package/client/dist/assets/{pug-Bj6Yikv_.js → pug-Dbte1MXA.js} +0 -0
- /package/client/dist/assets/{qsharp-BI4h-raZ.js → qsharp-DJLwBOvG.js} +0 -0
- /package/client/dist/assets/{r-DhpnmaXx.js → r-DmGBRSHj.js} +0 -0
- /package/client/dist/assets/{redis-DwYYPr4d.js → redis-VvUYn0a4.js} +0 -0
- /package/client/dist/assets/{redshift-D2f3Bc-4.js → redshift-6GdDrxg3.js} +0 -0
- /package/client/dist/assets/{restructuredtext-Dkiif6fe.js → restructuredtext-CfAB8aRU.js} +0 -0
- /package/client/dist/assets/{ruby-C6hLmHy0.js → ruby-CIYK6MXY.js} +0 -0
- /package/client/dist/assets/{rust-X8WAGtxB.js → rust-CTHZfjj9.js} +0 -0
- /package/client/dist/assets/{sb-4M2la0Kr.js → sb-CkKTdkz_.js} +0 -0
- /package/client/dist/assets/{scala-CaCXz58E.js → scala-Bx-Wr9TM.js} +0 -0
- /package/client/dist/assets/{scheme-CMdjpmP7.js → scheme-Dcfi6f83.js} +0 -0
- /package/client/dist/assets/{scss-QopmvPyp.js → scss-ByL-7PFQ.js} +0 -0
- /package/client/dist/assets/{shell-CDBchS00.js → shell-Csnb9Yqd.js} +0 -0
- /package/client/dist/assets/{solidity-DvBfi5mC.js → solidity-Dbw5-0QP.js} +0 -0
- /package/client/dist/assets/{sophia-HSnXR17u.js → sophia-ZQ3saZQx.js} +0 -0
- /package/client/dist/assets/{sparql-DhG_ppup.js → sparql-BEtOel8u.js} +0 -0
- /package/client/dist/assets/{specs-CUE3xSFM.js → specs-B5XOoH-02.js} +0 -0
- /package/client/dist/assets/{specs-C2wW5bq8.js → specs-B8mwScoM2.js} +0 -0
- /package/client/dist/assets/{specs-Bku8SypT.js → specs-Bj_3fDrQ.js} +0 -0
- /package/client/dist/assets/{specs-CnH7dOiF.js → specs-CWNKAScX2.js} +0 -0
- /package/client/dist/assets/{specs-BvsFNKTs.js → specs-D4z5d8uq.js} +0 -0
- /package/client/dist/assets/{specs-D4ORogcT.js → specs-DgvIRZtM.js} +0 -0
- /package/client/dist/assets/{specs-D6Y76Bgi.js → specs-DuRzE5wE.js} +0 -0
- /package/client/dist/assets/{sql-DHeIS-tf.js → sql-DGPDbzB7.js} +0 -0
- /package/client/dist/assets/{st-CMWchiRU.js → st-GeW2MOgh.js} +0 -0
- /package/client/dist/assets/{swift-CDXvBefj.js → swift-BVYTN8jq.js} +0 -0
- /package/client/dist/assets/{systemverilog-0RTukYUE.js → systemverilog-Deg2a8Lr.js} +0 -0
- /package/client/dist/assets/{tcl-CbBF_Ttl.js → tcl-6DnLmROF.js} +0 -0
- /package/client/dist/assets/{terminal-BLh00ouM.js → terminal-B2sExUis.js} +0 -0
- /package/client/dist/assets/{terminal-Cz_Puz0q.js → terminal-CH0fdHvP.js} +0 -0
- /package/client/dist/assets/{terminal-DFEH9XTQ.js → terminal-CPMigUX7.js} +0 -0
- /package/client/dist/assets/{terminal-CB33IsO1.js → terminal-DOwfkxqa2.js} +0 -0
- /package/client/dist/assets/{terminal-CR6t-Oey.js → terminal-DjSSa5qP.js} +0 -0
- /package/client/dist/assets/{terminal-CY_sPfdD.js → terminal-DoMTHedv2.js} +0 -0
- /package/client/dist/assets/{terminal-BTanJIt_.js → terminal-w0i-OCp32.js} +0 -0
- /package/client/dist/assets/{tickets-D6f3GSYn.js → tickets-CQTana1u.js} +0 -0
- /package/client/dist/assets/{tickets-blQnNA4N.js → tickets-D00mSt832.js} +0 -0
- /package/client/dist/assets/{tickets-68LH1xp6.js → tickets-D7CSuWjO.js} +0 -0
- /package/client/dist/assets/{tickets-OrJwUxJR.js → tickets-Dq7HDy8n.js} +0 -0
- /package/client/dist/assets/{tickets-PtHNxQo5.js → tickets-DvbFg_-c2.js} +0 -0
- /package/client/dist/assets/{tickets-REr-EQx9.js → tickets-heDAaj8C2.js} +0 -0
- /package/client/dist/assets/{tickets-jxsTrApR.js → tickets-onKZz6Dd.js} +0 -0
- /package/client/dist/assets/{twig-DCcGd8FE.js → twig-XbbXW9Yz.js} +0 -0
- /package/client/dist/assets/{typespec-HTphp-Uh.js → typespec-CRlV8GhI.js} +0 -0
- /package/client/dist/assets/{vb-Cb_yUcVd.js → vb-BHE2izPH.js} +0 -0
- /package/client/dist/assets/{wgsl-DrKU3YXj.js → wgsl-Bf5vkfmY.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./chunk-
|
|
1
|
+
import{t as e}from"./chunk-BNv3lrIs.js";var t=e(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r():typeof define==`function`&&define.amd?define([],r):typeof e==`object`?e.WebglAddon=r():n.WebglAddon=r()})(self,(()=>(()=>{var e={965:(e,t,n)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.GlyphRenderer=void 0;let r=n(374),i=n(509),a=n(855),o=n(859),s=n(381),c=11*Float32Array.BYTES_PER_ELEMENT,l,u=0,d=0,f=0;class p extends o.Disposable{constructor(e,t,n,a){super(),this._terminal=e,this._gl=t,this._dimensions=n,this._optionsService=a,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array,attributesBuffers:[new Float32Array,new Float32Array]};let l=this._gl;i.TextureAtlas.maxAtlasPages===void 0&&(i.TextureAtlas.maxAtlasPages=Math.min(32,(0,r.throwIfFalsy)(l.getParameter(l.MAX_TEXTURE_IMAGE_UNITS))),i.TextureAtlas.maxTextureSize=(0,r.throwIfFalsy)(l.getParameter(l.MAX_TEXTURE_SIZE))),this._program=(0,r.throwIfFalsy)((0,s.createProgram)(l,`#version 300 es
|
|
2
2
|
layout (location = 0) in vec2 a_unitquad;
|
|
3
3
|
layout (location = 1) in vec2 a_cellpos;
|
|
4
4
|
layout (location = 2) in vec2 a_offset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as e}from"./chunk-BNv3lrIs.js";var t=e({aiEngine:()=>a,commandProposal:()=>l,contextScope:()=>i,costMeter:()=>c,default:()=>d,errors:()=>u,featureProposal:()=>r,modelCombobox:()=>s,modelSelector:()=>o,proposeModal:()=>n}),n={title:`Add Spec`,dialogDescription:`Create a new spec from a short idea, either immediately or through Explore mode.`,engineAriaLabel:`AI engine for this spec`,modeTablistLabel:`Spec creation mode`,mode:{quick:`Quick`,explore:`Explore`,raw:`Raw`,exploreHint:`interactive`,rawHint:`no AI`},modeDescription:{quick:`Describe the feature or change. Attach mockups, briefs, or data for more context.`,explore:`Describe a rough idea. Claude will help you shape it through conversation — you decide when to commit.`,raw:`Your prompt, as-is — saved as a spec ticket. No AI runs now; drag it to a rail to build it.`},editorPlaceholder:{quick:`e.g. Add a dark mode toggle to the settings page that persists the user's preference...`,explore:`e.g. dark mode — not sure where the toggle should live or how to persist it…`,raw:`Describe the feature, change, or idea. Markdown, images, and files supported…`},ideaAriaLabel:`Spec idea`,raw:{titleLabel:`Title`,titlePlaceholder:`Auto-filled from your prompt…`,priorityLabel:`Priority`,labelsLabel:`Labels`,removeLabel:`Remove label {{label}}`,addLabelAria:`Add label`,labelPlaceholder:`optional…`,bodyAriaLabel:`Raw spec body`},priority:{critical:`Critical`,high:`High`,medium:`Medium`,low:`Low`},fromWebsite:`From a website`,fromWebsiteTitle:`Open a real web page, select an area, and turn it into a spec`,capture:{responsiveSizes_one:`Responsive · {{count}} size`,responsiveSizes_other:`Responsive · {{count}} sizes`},submit:{quick:`Generate Spec`,explore:`Continue`,raw:`Create`,disabledTitle:`Write a prompt first`},toast:{createFailed:`Failed to create spec`,rawSavedWithId:`Saved as #{{id}} · Raw spec ready for rails`,rawCreated:`Raw spec created`,exploreNotWired:`Explore mode is not wired in this view`,generating:`Generating...`,failedToStart:`{{projectName}} · Failed to start`,unsupportedFileType:`Unsupported file type: {{name}}`,uploadFailed:`Upload failed for {{name}}: {{message}}`}},r={title:`Propose a Feature`,ideaIntro:`Describe your idea in plain language. Claude will read the codebase and structure it into a full proposal.`,ideaAriaLabel:`Feature idea`,ideaPlaceholder:`e.g. I want users to be able to set a budget alert so they get notified when API costs exceed a threshold...`,cmdEnterToSubmit:`Cmd+Enter to submit`,exploreIdea:`Explore Idea`,exploringTitle:`Exploring your idea...`,refiningTitle:`Refining proposal...`,reviewTitle:`Review Proposal`,readingCodebase_one:`Reading codebase... ({{count}} file explored)`,readingCodebase_other:`Reading codebase... ({{count}} files explored)`,refinementAriaLabel:`Refinement feedback`,refinementPlaceholder:`Ask for changes, add constraints, refine scope...`,sendRefinementTitle:`Send refinement (Cmd+Enter)`,cmdEnterToSend:`Cmd+Enter to send`,confirmCreateIssue:`Create a GitHub Issue from this proposal?`,yesCreateIssue:`Yes, create issue`,createGithubIssue:`Create GitHub Issue`,startOver:`Start Over`,creatingIssueTitle:`Creating GitHub Issue...`,creatingIssueViaCli:`Creating issue via GitHub CLI...`,issueCreated:`Issue Created`,proposeAnother:`Propose Another`,errorTitle:`Something went wrong`,errorFallback:`An error occurred`,tryAgain:`Try Again`,cancelledTitle:`Cancelled`,cancelledBody:`The proposal was cancelled.`},i={heading:`Context Awareness`,custom:`Custom`,customMix:`Custom mix — see Fine-tune below`,estimateUnavailable:`{{tier}} · estimate unavailable`,preset:{minimal:`Minimal`,light:`Light`,standard:`Standard`,rich:`Rich`,max:`Max`,desktop:`Desktop`},presetCost:{minimal:`1× cost · fastest first-token · no specs loaded`,light:`1.3× cost · Specrails specs loaded`,standard:`1.6× cost · Specrails + OpenSpec specs loaded`,rich:`2× cost · full repo read access`,max:`4× cost · full read + Contract Layer refinement`,desktop:`4–6× cost · all features + project & your approved MCPs`},smashCapable:`SMASH-capable`,smashHint:`Contract Layer is on, so this spec can later be decomposed into Sub-Specs.`,fineTune:`Fine-tune`,defaultLabel:`Context scope`,summaryMinimal:`minimal`,tags:{specrails:`specrails`,openspec:`openspec`,codebase:`codebase`,mcp:`mcp`,myMcp:`my-mcp`,contract:`contract`},checks:{specrailsLabel:`specrails tickets`,openspecLabel:`openspec specs`,fullLabel:`Full codebase`,mcpLabel:`Project MCPs`,mcpHint:`.mcp.json servers`,userMcpLabel:`My approved MCPs`,userMcpHint:`~/.claude · ~/.codex servers`,userMcpTooltip:`Your locally-approved MCP servers (claude mcp add / codex mcp add)`,exploreOnly:`Explore mode only`,contractLabel:`Enrich with Contract Layer`,contractHint:`post-commit refinement · enables SMASH`}},a={label:`AI engine`},o={presetHeading:`Model preset`,preset:{balanced:{label:`Balanced`,description:`{{model}} for all agents (recommended)`},budget:{label:`Budget`,description:`{{model}} for all agents — 3x cheaper, faster`},max:{label:`Max`,description:`{{topModel}} for architect + PM, {{baseModel}} for rest`}},overridesHeading:`Per-agent model overrides`,overriddenCount:`{{count}} overridden`,customBadge:`custom`,resetToDefault:`Reset to preset default`},s={alias:`Claude Code alias: {{alias}}`,tier:{balanced:`Balanced`,mostCapable:`Most capable`,fastest:`Fastest`}},c={heading:`Cost awareness`,meterAriaLabel:`cost tier`,estimateUnavailable:`tier-only — estimate unavailable`},l={heading:`Suggested command`,run:`Run`,dismiss:`Dismiss`},u={serverError:`Server error ({{status}})`,connectionFailed:`Connection failed: {{message}}`,sendRefinementFailed:`Failed to send refinement`,createIssueFailed:`Failed to create issue`},d={proposeModal:n,featureProposal:r,contextScope:i,aiEngine:a,modelSelector:o,modelCombobox:s,costMeter:c,commandProposal:l,errors:u};export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`Agente`,t=`Maneja Specrails conversando`,n=`Agente`,r=`Pídele al agente lo que necesites…`,i=`Enviar`,a=`Detener`,o=`Copiar`,s=`Maximizar`,c=`Restaurar`,l=`Minimizar`,u=`Cerrar`,d=`Nueva conversación`,f=`¿Qué debe hacer el agente?`,p=`Elige un proyecto y luego pregunta. El tablero se actualiza en vivo mientras el agente trabaja.`,m=`Pensando…`,h=`Conectando…`,g=`Consultando la app…`,_={compact:`Compacto`,comfortable:`Cómodo`,max:`Maximizar`},v={label:`Modelo`},y={hint:`Explorando historial de prompts — escribe para editar, ↑↓ para navegar`},b={label:`Proveedor`,claude:`Claude`,codex:`Codex`,gemini:`Gemini`},x={cycleHint:`⇧⇥ para cambiar`,observe:{name:`Observa`,desc:`Solo lectura — nada cambia`},edit:{name:`Edita`,desc:`Crear y editar (reversible)`},operate:{name:`Opera`,desc:`Lanzar IA — tiene coste`},autonomous:{name:`Autónomo`,desc:`Borrar y detener — irreversible`},lockedTitle:`Necesita un nivel superior`,lockedBody:`Esa acción necesita el nivel «{{level}}». Estás en «{{current}}».`,raiseHint:`⇧⇥ para subir el nivel, o pídelo de otra forma.`},S={title:`Confirmar acción`,costAction:`{{action}} · ~{{cost}} · {{tier}}`,approve:`Aprobar`,cancel:`Cancelar`,dontAskAgain:`No volver a preguntar en esta sesión`,approved:`Aprobado`,cancelled:`Cancelado`},C={home:`Inicio`,searchPlaceholder:`Habla con Specrails…`,recents:`Recientes`,allProjects:`Todos los proyectos`,searchAll:`Buscar en todos los proyectos`,addProject:`Añadir proyecto…`,homeHint:`Ningún proyecto seleccionado — operando en todos los proyectos.`,askCreateOrSearch:`No hay ningún proyecto seleccionado. ¿Quieres crear un proyecto nuevo o buscar en todos los proyectos?`},w={title:`No hay ningún proveedor de IA instalado`,body:`El agente necesita Claude, Codex o Gemini en tu máquina. Instala uno y vuelve a abrir el agente para empezar a chatear.`,placeholder:`Instala un proveedor de IA para usar el agente…`},T={title:`El MCP de Specrails está apagado`,body:`El agente necesita el servidor MCP integrado para manejar la app.`,enable:`Activar el MCP de Specrails`,enabling:`Activando…`,enabled:`MCP activado`},E={live:`en vivo`,queued:`en cola`,running:`en curso`,done:`hecho`,failed:`fallido`},D={generic:`Algo salió mal. Inténtalo de nuevo.`,busy:`El agente está ocupado. Inténtalo de nuevo en un momento.`},O={kindAgent:`Chat del agente`},k={title:e,subtitle:t,trigger:n,composerPlaceholder:r,send:i,stop:a,copy:o,maximize:s,restore:c,minimize:l,close:u,newConversation:d,emptyTitle:f,emptyHint:p,thinking:m,connecting:h,consultingCode:g,size:_,model:v,history:y,provider:b,tier:x,approval:S,project:C,noProvider:w,degraded:T,toolCard:E,error:D,chip:O};export{S as approval,O as chip,u as close,r as composerPlaceholder,h as connecting,g as consultingCode,o as copy,k as default,T as degraded,p as emptyHint,f as emptyTitle,D as error,y as history,s as maximize,l as minimize,v as model,d as newConversation,w as noProvider,C as project,b as provider,c as restore,i as send,_ as size,a as stop,t as subtitle,m as thinking,x as tier,e as title,E as toolCard,n as trigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`Agente`,t=`Gestisci Specrails chattando`,n=`Agente`,r=`Chiedi all'agente qualsiasi cosa…`,i=`Invia`,a=`Ferma`,o=`Copia`,s=`Massimizza`,c=`Ripristina`,l=`Riduci a icona`,u=`Chiudi`,d=`Nuova conversazione`,f=`Cosa deve fare l'agente?`,p=`Scegli un progetto, poi chiedi. La board si aggiorna in tempo reale mentre l'agente lavora.`,m=`Sto pensando…`,h=`Connessione…`,g=`Consulto l'app…`,_={compact:`Compatto`,comfortable:`Comodo`,max:`Ingrandisci`},v={label:`Modello`},y={hint:`Cronologia prompt — scrivi per modificare, ↑↓ per navigare`},b={label:`Provider`,claude:`Claude`,codex:`Codex`,gemini:`Gemini`},x={cycleHint:`⇧⇥ per cambiare`,observe:{name:`Osserva`,desc:`Solo lettura — niente cambia`},edit:{name:`Modifica`,desc:`Crea e modifica (reversibile)`},operate:{name:`Opera`,desc:`Avvia l'IA — ha un costo`},autonomous:{name:`Autonomo`,desc:`Elimina e arresta — irreversibile`},lockedTitle:`Serve un livello superiore`,lockedBody:`Quell'azione richiede il livello «{{level}}». Sei su «{{current}}».`,raiseHint:`⇧⇥ per alzare il livello, o chiedi in un altro modo.`},S={title:`Conferma azione`,costAction:`{{action}} · ~{{cost}} · {{tier}}`,approve:`Approva`,cancel:`Annulla`,dontAskAgain:`Non chiedere più in questa sessione`,approved:`Approvato`,cancelled:`Annullato`},C={home:`Home`,searchPlaceholder:`Parla con Specrails…`,recents:`Recenti`,allProjects:`Tutti i progetti`,searchAll:`Cerca in tutti i progetti`,addProject:`Aggiungi progetto…`,homeHint:`Nessun progetto selezionato — operando su tutti i progetti.`,askCreateOrSearch:`Nessun progetto è selezionato. Vuoi creare un nuovo progetto o cercare in tutti i progetti?`},w={title:`Nessun provider IA installato`,body:`L'agente richiede Claude, Codex o Gemini sul tuo computer. Installane uno e riapri l'agente per iniziare a chattare.`,placeholder:`Installa un provider IA per usare l'agente…`},T={title:`L'MCP di Specrails è spento`,body:`L'agente ha bisogno del server MCP integrato per gestire l'app.`,enable:`Attiva l'MCP di Specrails`,enabling:`Attivazione…`,enabled:`MCP attivato`},E={live:`in diretta`,queued:`in coda`,running:`in corso`,done:`completato`,failed:`fallito`},D={generic:`Qualcosa è andato storto. Riprova.`,busy:`L'agente è occupato. Riprova tra un momento.`},O={kindAgent:`Chat dell'agente`},k={title:e,subtitle:t,trigger:n,composerPlaceholder:r,send:i,stop:a,copy:o,maximize:s,restore:c,minimize:l,close:u,newConversation:d,emptyTitle:f,emptyHint:p,thinking:m,connecting:h,consultingCode:g,size:_,model:v,history:y,provider:b,tier:x,approval:S,project:C,noProvider:w,degraded:T,toolCard:E,error:D,chip:O};export{S as approval,O as chip,u as close,r as composerPlaceholder,h as connecting,g as consultingCode,o as copy,k as default,T as degraded,p as emptyHint,f as emptyTitle,D as error,y as history,s as maximize,l as minimize,v as model,d as newConversation,w as noProvider,C as project,b as provider,c as restore,i as send,_ as size,a as stop,t as subtitle,m as thinking,x as tier,e as title,E as toolCard,n as trigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`Agent`,t=`Specrails per Chat bedienen`,n=`Agent`,r=`Bitte den Agenten um alles…`,i=`Senden`,a=`Stopp`,o=`Kopieren`,s=`Maximieren`,c=`Wiederherstellen`,l=`Minimieren`,u=`Schließen`,d=`Neue Unterhaltung`,f=`Was soll der Agent tun?`,p=`Wähle ein Projekt und frag dann. Das Board aktualisiert sich live, während der Agent arbeitet.`,m=`Denkt nach…`,h=`Verbinden…`,g=`App wird abgefragt…`,_={compact:`Kompakt`,comfortable:`Komfortabel`,max:`Maximieren`},v={label:`Modell`},y={hint:`Verlauf durchsuchen — tippen zum Bearbeiten, ↑↓ zum Navigieren`},b={label:`Anbieter`,claude:`Claude`,codex:`Codex`,gemini:`Gemini`},x={cycleHint:`⇧⇥ zum Wechseln`,observe:{name:`Beobachten`,desc:`Nur lesen — nichts ändert sich`},edit:{name:`Bearbeiten`,desc:`Erstellen und bearbeiten (umkehrbar)`},operate:{name:`Ausführen`,desc:`KI starten — kostet Geld`},autonomous:{name:`Autonom`,desc:`Löschen und beenden — unumkehrbar`},lockedTitle:`Höhere Stufe erforderlich`,lockedBody:`Diese Aktion erfordert die Stufe „{{level}}“. Du bist auf „{{current}}“.`,raiseHint:`⇧⇥ um die Stufe zu erhöhen, oder frag anders.`},S={title:`Aktion bestätigen`,costAction:`{{action}} · ~{{cost}} · {{tier}}`,approve:`Genehmigen`,cancel:`Abbrechen`,dontAskAgain:`In dieser Sitzung nicht mehr fragen`,approved:`Genehmigt`,cancelled:`Abgebrochen`},C={home:`Start`,searchPlaceholder:`Mit Specrails sprechen…`,recents:`Zuletzt verwendet`,allProjects:`Alle Projekte`,searchAll:`In allen Projekten suchen`,addProject:`Projekt hinzufügen…`,homeHint:`Kein Projekt ausgewählt — über alle Projekte hinweg.`,askCreateOrSearch:`Es ist kein Projekt ausgewählt. Möchtest du ein neues Projekt erstellen oder über alle Projekte hinweg suchen?`},w={title:`Kein KI-Anbieter installiert`,body:`Der Agent benötigt Claude, Codex oder Gemini auf deinem Rechner. Installiere einen und öffne den Agenten erneut, um zu chatten.`,placeholder:`Installiere einen KI-Anbieter, um den Agenten zu nutzen…`},T={title:`Specrails MCP ist aus`,body:`Der Agent braucht den eingebetteten MCP-Server, um die App zu bedienen.`,enable:`Specrails MCP aktivieren`,enabling:`Wird aktiviert…`,enabled:`MCP aktiviert`},E={live:`live`,queued:`in Warteschlange`,running:`läuft`,done:`fertig`,failed:`fehlgeschlagen`},D={generic:`Etwas ist schiefgelaufen. Versuch es erneut.`,busy:`Der Agent ist beschäftigt. Versuch es gleich noch einmal.`},O={kindAgent:`Agent-Chat`},k={title:e,subtitle:t,trigger:n,composerPlaceholder:r,send:i,stop:a,copy:o,maximize:s,restore:c,minimize:l,close:u,newConversation:d,emptyTitle:f,emptyHint:p,thinking:m,connecting:h,consultingCode:g,size:_,model:v,history:y,provider:b,tier:x,approval:S,project:C,noProvider:w,degraded:T,toolCard:E,error:D,chip:O};export{S as approval,O as chip,u as close,r as composerPlaceholder,h as connecting,g as consultingCode,o as copy,k as default,T as degraded,p as emptyHint,f as emptyTitle,D as error,y as history,s as maximize,l as minimize,v as model,d as newConversation,w as noProvider,C as project,b as provider,c as restore,i as send,_ as size,a as stop,t as subtitle,m as thinking,x as tier,e as title,E as toolCard,n as trigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`Agente`,t=`Opere o Specrails conversando`,n=`Agente`,r=`Peça ao agente o que quiser…`,i=`Enviar`,a=`Parar`,o=`Copiar`,s=`Maximizar`,c=`Restaurar`,l=`Minimizar`,u=`Fechar`,d=`Nova conversa`,f=`O que o agente deve fazer?`,p=`Escolha um projeto e depois pergunte. O quadro é atualizado ao vivo enquanto o agente trabalha.`,m=`Pensando…`,h=`Conectando…`,g=`Consultando o app…`,_={compact:`Compacto`,comfortable:`Confortável`,max:`Maximizar`},v={label:`Modelo`},y={hint:`Explorando histórico — escreva para editar, ↑↓ para navegar`},b={label:`Provedor`,claude:`Claude`,codex:`Codex`,gemini:`Gemini`},x={cycleHint:`⇧⇥ para mudar`,observe:{name:`Observa`,desc:`Somente leitura — nada muda`},edit:{name:`Edita`,desc:`Criar e editar (reversível)`},operate:{name:`Opera`,desc:`Lançar IA — tem custo`},autonomous:{name:`Autônomo`,desc:`Excluir e encerrar — irreversível`},lockedTitle:`Precisa de um nível superior`,lockedBody:`Essa ação precisa do nível "{{level}}". Você está no "{{current}}".`,raiseHint:`⇧⇥ para aumentar o nível, ou peça de outra forma.`},S={title:`Confirmar ação`,costAction:`{{action}} · ~{{cost}} · {{tier}}`,approve:`Aprovar`,cancel:`Cancelar`,dontAskAgain:`Não perguntar de novo nesta sessão`,approved:`Aprovado`,cancelled:`Cancelado`},C={home:`Início`,searchPlaceholder:`Fale com o Specrails…`,recents:`Recentes`,allProjects:`Todos os projetos`,searchAll:`Buscar em todos os projetos`,addProject:`Adicionar projeto…`,homeHint:`Nenhum projeto selecionado — operando em todos os projetos.`,askCreateOrSearch:`Nenhum projeto está selecionado. Você quer criar um novo projeto ou buscar em todos os projetos?`},w={title:`Nenhum provedor de IA instalado`,body:`O agente precisa de Claude, Codex ou Gemini na sua máquina. Instale um e reabra o agente para começar a conversar.`,placeholder:`Instale um provedor de IA para usar o agente…`},T={title:`O MCP do Specrails está desligado`,body:`O agente precisa do servidor MCP integrado para operar o app.`,enable:`Ativar o MCP do Specrails`,enabling:`Ativando…`,enabled:`MCP ativado`},E={live:`ao vivo`,queued:`na fila`,running:`em execução`,done:`concluído`,failed:`falhou`},D={generic:`Algo deu errado. Tente novamente.`,busy:`O agente está ocupado. Tente novamente em um instante.`},O={kindAgent:`Chat do agente`},k={title:e,subtitle:t,trigger:n,composerPlaceholder:r,send:i,stop:a,copy:o,maximize:s,restore:c,minimize:l,close:u,newConversation:d,emptyTitle:f,emptyHint:p,thinking:m,connecting:h,consultingCode:g,size:_,model:v,history:y,provider:b,tier:x,approval:S,project:C,noProvider:w,degraded:T,toolCard:E,error:D,chip:O};export{S as approval,O as chip,u as close,r as composerPlaceholder,h as connecting,g as consultingCode,o as copy,k as default,T as degraded,p as emptyHint,f as emptyTitle,D as error,y as history,s as maximize,l as minimize,v as model,d as newConversation,w as noProvider,C as project,b as provider,c as restore,i as send,_ as size,a as stop,t as subtitle,m as thinking,x as tier,e as title,E as toolCard,n as trigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`エージェント`,t=`チャットで Specrails を操作`,n=`エージェント`,r=`エージェントに何でも頼んでください…`,i=`送信`,a=`停止`,o=`コピー`,s=`最大化`,c=`元に戻す`,l=`最小化`,u=`閉じる`,d=`新しい会話`,f=`エージェントに何をさせますか?`,p=`プロジェクトを選んでから尋ねてください。エージェントの作業中、ボードはリアルタイムで更新されます。`,m=`考え中…`,h=`接続中…`,g=`アプリを確認中…`,_={compact:`コンパクト`,comfortable:`快適`,max:`最大化`},v={label:`モデル`},y={hint:`プロンプト履歴を表示中 — 入力で編集、↑↓ で移動`},b={label:`プロバイダー`,claude:`Claude`,codex:`Codex`,gemini:`Gemini`},x={cycleHint:`⇧⇥ で変更`,observe:{name:`観察`,desc:`読み取り専用 — 何も変更しません`},edit:{name:`編集`,desc:`作成と編集(取り消し可能)`},operate:{name:`操作`,desc:`AI を起動 — 費用がかかります`},autonomous:{name:`自律`,desc:`削除と停止 — 取り消し不可`},lockedTitle:`より高いレベルが必要です`,lockedBody:`その操作には「{{level}}」レベルが必要です。現在は「{{current}}」です。`,raiseHint:`⇧⇥ でレベルを上げるか、別の方法で尋ねてください。`},S={title:`操作を確認`,costAction:`{{action}} · ~{{cost}} · {{tier}}`,approve:`承認`,cancel:`キャンセル`,dontAskAgain:`このセッションでは今後確認しない`,approved:`承認しました`,cancelled:`キャンセルしました`},C={home:`ホーム`,searchPlaceholder:`Specrails に話しかける…`,recents:`最近`,allProjects:`すべてのプロジェクト`,searchAll:`すべてのプロジェクトを検索`,addProject:`プロジェクトを追加…`,homeHint:`プロジェクトが未選択 — すべてのプロジェクトを横断して操作中。`,askCreateOrSearch:`プロジェクトが選択されていません。新しいプロジェクトを作成しますか、それともすべてのプロジェクトを検索しますか?`},w={title:`AIプロバイダーが未インストール`,body:`エージェントには Claude、Codex、Gemini のいずれかが必要です。インストールしてからエージェントを再度開いてください。`,placeholder:`AIプロバイダーをインストールしてエージェントを利用…`},T={title:`Specrails MCP がオフです`,body:`エージェントがアプリを操作するには、組み込みの MCP サーバーが必要です。`,enable:`Specrails MCP を有効化`,enabling:`有効化中…`,enabled:`MCP を有効化しました`},E={live:`ライブ`,queued:`待機中`,running:`実行中`,done:`完了`,failed:`失敗`},D={generic:`問題が発生しました。もう一度お試しください。`,busy:`エージェントは処理中です。しばらくしてからお試しください。`},O={kindAgent:`エージェントチャット`},k={title:e,subtitle:t,trigger:n,composerPlaceholder:r,send:i,stop:a,copy:o,maximize:s,restore:c,minimize:l,close:u,newConversation:d,emptyTitle:f,emptyHint:p,thinking:m,connecting:h,consultingCode:g,size:_,model:v,history:y,provider:b,tier:x,approval:S,project:C,noProvider:w,degraded:T,toolCard:E,error:D,chip:O};export{S as approval,O as chip,u as close,r as composerPlaceholder,h as connecting,g as consultingCode,o as copy,k as default,T as degraded,p as emptyHint,f as emptyTitle,D as error,y as history,s as maximize,l as minimize,v as model,d as newConversation,w as noProvider,C as project,b as provider,c as restore,i as send,_ as size,a as stop,t as subtitle,m as thinking,x as tier,e as title,E as toolCard,n as trigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`Agent`,t=`Pilotez Specrails en discutant`,n=`Agent`,r=`Demandez à l'agent ce que vous voulez…`,i=`Envoyer`,a=`Arrêter`,o=`Copier`,s=`Agrandir`,c=`Restaurer`,l=`Réduire`,u=`Fermer`,d=`Nouvelle conversation`,f=`Que doit faire l'agent ?`,p=`Choisissez un projet, puis demandez. Le tableau se met à jour en direct pendant que l'agent travaille.`,m=`Réflexion…`,h=`Connexion…`,g=`Consultation de l'app…`,_={compact:`Compact`,comfortable:`Confortable`,max:`Agrandir`},v={label:`Modèle`},y={hint:`Parcours de l'historique — tapez pour modifier, ↑↓ pour naviguer`},b={label:`Fournisseur`,claude:`Claude`,codex:`Codex`,gemini:`Gemini`},x={cycleHint:`⇧⇥ pour changer`,observe:{name:`Observer`,desc:`Lecture seule — rien ne change`},edit:{name:`Modifier`,desc:`Créer et modifier (réversible)`},operate:{name:`Opérer`,desc:`Lancer l'IA — c'est payant`},autonomous:{name:`Autonome`,desc:`Supprimer et arrêter — irréversible`},lockedTitle:`Nécessite un niveau supérieur`,lockedBody:`Cette action nécessite le niveau « {{level}} ». Vous êtes sur « {{current}} ».`,raiseHint:`⇧⇥ pour augmenter le niveau, ou demandez autrement.`},S={title:`Confirmer l'action`,costAction:`{{action}} · ~{{cost}} · {{tier}}`,approve:`Approuver`,cancel:`Annuler`,dontAskAgain:`Ne plus demander durant cette session`,approved:`Approuvé`,cancelled:`Annulé`},C={home:`Accueil`,searchPlaceholder:`Parlez à Specrails…`,recents:`Récents`,allProjects:`Tous les projets`,searchAll:`Rechercher dans tous les projets`,addProject:`Ajouter un projet…`,homeHint:`Aucun projet sélectionné — opération sur tous les projets.`,askCreateOrSearch:`Aucun projet n'est sélectionné. Voulez-vous créer un nouveau projet ou rechercher dans tous les projets ?`},w={title:`Aucun fournisseur d'IA installé`,body:`L'agent a besoin de Claude, Codex ou Gemini sur votre machine. Installez-en un, puis rouvrez l'agent pour discuter.`,placeholder:`Installez un fournisseur d'IA pour utiliser l'agent…`},T={title:`Le MCP Specrails est désactivé`,body:`L'agent a besoin du serveur MCP intégré pour piloter l'app.`,enable:`Activer le MCP Specrails`,enabling:`Activation…`,enabled:`MCP activé`},E={live:`en direct`,queued:`en file`,running:`en cours`,done:`terminé`,failed:`échoué`},D={generic:`Une erreur est survenue. Réessayez.`,busy:`L'agent est occupé. Réessayez dans un instant.`},O={kindAgent:`Chat de l'agent`},k={title:e,subtitle:t,trigger:n,composerPlaceholder:r,send:i,stop:a,copy:o,maximize:s,restore:c,minimize:l,close:u,newConversation:d,emptyTitle:f,emptyHint:p,thinking:m,connecting:h,consultingCode:g,size:_,model:v,history:y,provider:b,tier:x,approval:S,project:C,noProvider:w,degraded:T,toolCard:E,error:D,chip:O};export{S as approval,O as chip,u as close,r as composerPlaceholder,h as connecting,g as consultingCode,o as copy,k as default,T as degraded,p as emptyHint,f as emptyTitle,D as error,y as history,s as maximize,l as minimize,v as model,d as newConversation,w as noProvider,C as project,b as provider,c as restore,i as send,_ as size,a as stop,t as subtitle,m as thinking,x as tier,e as title,E as toolCard,n as trigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./chunk-BNv3lrIs.js";var t=e({approval:()=>w,chip:()=>A,close:()=>f,composerPlaceholder:()=>a,connecting:()=>_,consultingCode:()=>v,copy:()=>c,default:()=>j,degraded:()=>D,emptyHint:()=>h,emptyTitle:()=>m,error:()=>k,history:()=>x,maximize:()=>l,minimize:()=>d,model:()=>b,newConversation:()=>p,noProvider:()=>E,project:()=>T,provider:()=>S,restore:()=>u,send:()=>o,size:()=>y,stop:()=>s,subtitle:()=>r,thinking:()=>g,tier:()=>C,title:()=>n,toolCard:()=>O,trigger:()=>i}),n=`Agent`,r=`Operate Specrails by chatting`,i=`Agent`,a=`Ask the agent to do anything…`,o=`Send`,s=`Stop`,c=`Copy`,l=`Maximize`,u=`Restore`,d=`Minimize`,f=`Close`,p=`New conversation`,m=`What should the agent do?`,h=`Pick a project, then ask. The board updates live as the agent works.`,g=`Thinking…`,_=`Connecting…`,v=`Consulting the app…`,y={compact:`Compact`,comfortable:`Comfortable`,max:`Maximize`},b={label:`Model`},x={hint:`Browsing prompt history — type to edit, ↑↓ to navigate`},S={label:`Provider`,claude:`Claude`,codex:`Codex`,gemini:`Gemini`},C={cycleHint:`⇧⇥ to change`,observe:{name:`Observe`,desc:`Read only — nothing changes`},edit:{name:`Edit`,desc:`Create and edit (reversible)`},operate:{name:`Operate`,desc:`Launch AI — costs money`},autonomous:{name:`Autonomous`,desc:`Delete and kill — irreversible`},lockedTitle:`Needs a higher level`,lockedBody:`That action needs the "{{level}}" level. You're on "{{current}}".`,raiseHint:`⇧⇥ to raise the level, or ask another way.`},w={title:`Confirm action`,costAction:`{{action}} · ~{{cost}} · {{tier}}`,approve:`Approve`,cancel:`Cancel`,dontAskAgain:`Don't ask again this session`,approved:`Approved`,cancelled:`Cancelled`},T={home:`Home`,searchPlaceholder:`Talk to Specrails…`,recents:`Recents`,allProjects:`All projects`,searchAll:`Search across all projects`,addProject:`Add project…`,homeHint:`No project selected — operating across all projects.`,askCreateOrSearch:`No project is selected. Do you want to create a new project, or search across all projects?`},E={title:`No AI provider installed`,body:`The agent needs Claude, Codex or Gemini on your machine. Install one, then reopen the agent to start chatting.`,placeholder:`Install an AI provider to use the agent…`},D={title:`Specrails MCP is off`,body:`The agent needs the embedded MCP server to operate the app.`,enable:`Enable Specrails MCP`,enabling:`Enabling…`,enabled:`MCP enabled`},O={live:`live`,queued:`queued`,running:`running`,done:`done`,failed:`failed`},k={generic:`Something went wrong. Try again.`,busy:`The agent is busy. Try again in a moment.`},A={kindAgent:`Agent chat`},j={title:n,subtitle:r,trigger:i,composerPlaceholder:a,send:o,stop:s,copy:c,maximize:l,restore:u,minimize:d,close:f,newConversation:p,emptyTitle:m,emptyHint:h,thinking:g,connecting:_,consultingCode:v,size:y,model:b,history:x,provider:S,tier:C,approval:w,project:T,noProvider:E,degraded:D,toolCard:O,error:k,chip:A};export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`智能体`,t=`通过对话操作 Specrails`,n=`智能体`,r=`让智能体做任何事…`,i=`发送`,a=`停止`,o=`复制`,s=`最大化`,c=`还原`,l=`最小化`,u=`关闭`,d=`新对话`,f=`要让智能体做什么?`,p=`先选择一个项目,然后提问。智能体工作时看板会实时更新。`,m=`思考中…`,h=`连接中…`,g=`正在查询应用…`,_={compact:`紧凑`,comfortable:`舒适`,max:`最大化`},v={label:`模型`},y={hint:`浏览提示历史 — 输入以编辑,↑↓ 导航`},b={label:`提供方`,claude:`Claude`,codex:`Codex`,gemini:`Gemini`},x={cycleHint:`⇧⇥ 切换`,observe:{name:`观察`,desc:`只读 — 不做任何更改`},edit:{name:`编辑`,desc:`创建和编辑(可撤销)`},operate:{name:`操作`,desc:`启动 AI — 会产生费用`},autonomous:{name:`自主`,desc:`删除和终止 — 不可逆`},lockedTitle:`需要更高的级别`,lockedBody:`该操作需要「{{level}}」级别。你当前处于「{{current}}」。`,raiseHint:`⇧⇥ 提升级别,或换一种方式询问。`},S={title:`确认操作`,costAction:`{{action}} · ~{{cost}} · {{tier}}`,approve:`批准`,cancel:`取消`,dontAskAgain:`本次会话不再询问`,approved:`已批准`,cancelled:`已取消`},C={home:`主页`,searchPlaceholder:`与 Specrails 对话…`,recents:`最近`,allProjects:`所有项目`,searchAll:`在所有项目中搜索`,addProject:`添加项目…`,homeHint:`未选择项目 — 正在跨所有项目操作。`,askCreateOrSearch:`未选择任何项目。你想创建一个新项目,还是在所有项目中搜索?`},w={title:`未安装 AI 提供方`,body:`智能体需要在你的机器上安装 Claude、Codex 或 Gemini。安装其中之一后重新打开智能体即可开始对话。`,placeholder:`请安装 AI 提供方以使用智能体…`},T={title:`Specrails MCP 已关闭`,body:`智能体需要内置的 MCP 服务器来操作应用。`,enable:`启用 Specrails MCP`,enabling:`正在启用…`,enabled:`MCP 已启用`},E={live:`实时`,queued:`排队中`,running:`运行中`,done:`已完成`,failed:`失败`},D={generic:`出了点问题。请重试。`,busy:`智能体正忙。请稍后重试。`},O={kindAgent:`智能体聊天`},k={title:e,subtitle:t,trigger:n,composerPlaceholder:r,send:i,stop:a,copy:o,maximize:s,restore:c,minimize:l,close:u,newConversation:d,emptyTitle:f,emptyHint:p,thinking:m,connecting:h,consultingCode:g,size:_,model:v,history:y,provider:b,tier:x,approval:S,project:C,noProvider:w,degraded:T,toolCard:E,error:D,chip:O};export{S as approval,O as chip,u as close,r as composerPlaceholder,h as connecting,g as consultingCode,o as copy,k as default,T as degraded,p as emptyHint,f as emptyTitle,D as error,y as history,s as maximize,l as minimize,v as model,d as newConversation,w as noProvider,C as project,b as provider,c as restore,i as send,_ as size,a as stop,t as subtitle,m as thinking,x as tier,e as title,E as toolCard,n as trigger};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Agenti`,subtitle:`Gestisci i profili agente e il catalogo (upstream + custom) di questo progetto.`,tabs:{profiles:`Profili`,usage:`Utilizzo`,catalog:`Catalogo`},banner:{title:`La pipeline con profili richiede specrails-core {{required}}+`,body:`Questo progetto ha <code>{{version}}</code>. Esegui <code>{{command}}</code> nel progetto per sbloccare la modalità profili. I profili creati qui verranno comunque salvati; semplicemente non influiranno sulla pipeline finché core non viene aggiornato.`,unknownVersion:`sconosciuta`}},t={loading:`Caricamento del catalogo…`,aiEditChipLabel:`Modifica AI · {{agentId}}`,errors:{loadFailed:`Caricamento del catalogo non riuscito: {{status}}`,bodyLoadFailed:`Caricamento del corpo dell'agente non riuscito: {{status}}`,generateFailed:`Generazione non riuscita: {{status}}`,agentLoadFailed:`Caricamento non riuscito: {{status}}`},templates:{title:`Libreria di template agente`,countOf:`{{shown}} di {{total}}`,description:`Parti da un template curato tra engineering, prodotto, scienza, salute, legale e altro. Scegline uno e aprilo nello Studio per revisionarlo e modificarlo prima di salvare.`,searchPlaceholder:`Cerca per nome, descrizione, tag o categoria…`,allCategories:`Tutte`,tagFilter:`Filtro tag:`,noMatch:`Nessun template corrisponde ai filtri.`,clearFilters:`Cancella filtri`,openInStudio:`Apri nello Studio →`,tip:`Suggerimento: clicca un tag su una card per filtrare per quel tag.`},generate:{title:`Genera un agente custom`,agentIdLabel:`ID agente`,agentIdHint:`Deve iniziare con <code>custom-</code>.`,descriptionLabel:`Descrivi cosa deve fare questo agente`,descriptionPlaceholder:`es. Revisiona le modifiche Terraform/IaC e segnala configurazioni di sicurezza errate, permessi IAM eccessivi e bucket S3 pubblici prima del merge. Conservativo e conciso.`,note:`Claude redigerà un corpo <code>.md</code> completo. Lo revisionerai nello Studio e potrai modificarlo prima di salvare. Questo avvia un'invocazione claude one-shot e può richiedere fino a 90 secondi.`,generating:`Generazione…`,generateButton:`Genera`},empty:{title:`Nessun agente installato`,body:`Esegui <code>{{command}}</code> in questo progetto per installare gli agenti upstream, oppure crea subito un agente custom.`},actions:{template:`Template`,templateTitle:`Parti da un template`,generate:`Genera`,generateWithClaude:`Genera con Claude`,blank:`Vuoto`,blankTitle:`Parti da un template vuoto`},sidebar:{title:`Catalogo`,createLabel:`Crea un agente custom:`},sections:{upstream:`Upstream ({{count}})`,upstreamDescription:`Forniti da specrails-core; sola lettura.`,custom:`Custom ({{count}})`,customDescription:`I file custom-*.md del tuo progetto. Usa Template / Genera / Vuoto qui sopra per crearne uno.`,noCustomAgents:`Ancora nessun agente custom.`},detail:{defaultModel:`modello predefinito: {{model}}`,aiEdit:`Modifica AI`,aiEditTitle:`Raffina iterativamente questo agente con l'AI`,readOnly:`sola lettura`,editableHint:`modificabile — usa Modifica qui sopra`},kind:{upstream:`upstream`,custom:`custom`}},n={loading:`Caricamento dei profili…`,selectPrompt:`Seleziona un profilo da modificare`,errors:{listFailed:`Caricamento dell'elenco non riuscito: {{status}}`,loadFailed:`Caricamento non riuscito: {{status}}`,migrationFailed:`Migrazione non riuscita: {{status}}`,createFailed:`Creazione non riuscita: {{status}}`,duplicateFailed:`Duplicazione non riuscita: {{status}}`,deleteFailed:`Eliminazione non riuscita: {{status}}`,saveFailed:`Salvataggio non riuscito: {{status}}`},toasts:{migrated:`Profilo migrato`,migratedDescription:`profilo default creato dagli agenti attuali`,migrationFailed:`Migrazione non riuscita`,created:`Profilo creato`,createFailed:`Impossibile creare il profilo`,duplicated:`Profilo duplicato`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`Impossibile duplicare il profilo`,deleted:`Profilo eliminato`,deleteFailed:`Impossibile eliminare il profilo`,saved:`Profilo salvato`,saveFailed:`Impossibile salvare il profilo`,savedWithUntargeted:`Profilo salvato con agenti senza routing`,savedWithUntargetedDescription:`Nessuna regola di routing punta a: {{agents}}. Aggiungi una regola per tag o ridefinisci la regola default se vuoi che vengano eseguiti.`},createDialog:{title:`Nuovo profilo`,description:`Scegli un nome in kebab-case minuscolo (lettere, cifre e trattini).`,confirmLabel:`Crea`,invalidHint:`Deve iniziare con una lettera o una cifra e contenere solo lettere minuscole, cifre e trattini.`},duplicateDialog:{title:`Duplica "{{name}}"`,description:`Nome del nuovo profilo.`,invalidHint:`Solo kebab-case minuscolo.`},deleteDialog:{title:`Eliminare il profilo "{{name}}"?`,description:`Questa azione è irreversibile. I job già avviati con questo profilo mantengono il loro snapshot; i prossimi avvii ricadranno sull'ordine di risoluzione.`},empty:{title:`Ancora nessun profilo`,body:`I profili permettono di salvare combinazioni di orchestratore + agenti + routing e sceglierne una per rail.`,migrateButton:`Migra dagli agenti attuali`,blankButton:`Profilo vuoto`,migrateExplainer:`"Migra" legge i modelli dal frontmatter dei tuoi <code>.claude/agents/</code> esistenti e crea un profilo <code>default</code> che rispecchia il comportamento attuale — senza perdite.`},sidebar:{title:`Profili`,teamDefault:`(default del team)`},editorFooter:{fixValidationIssues:`Correggi i problemi di validazione prima di salvare`,issuesToResolve_one:`{{count}} problema da risolvere`,issuesToResolve_other:`{{count}} problemi da risolvere`}},r={title:`Utilizzo dei profili`,windowLabel:`{{days}}d`,subtitleEmpty:`Job avviati per profilo nella finestra selezionata.`,subtitle:`Job avviati per profilo negli ultimi {{count}} giorni.`,empty:`Ancora nessun job con profilo.`,jobsTooltip:`job`,jobsLabel_one:`job`,jobsLabel_other:`job`,successRateTooltip:`tasso di successo`,okSuffix:`ok`,avgDurationTooltip:`durata media`,avgTokensTooltip:`token medi`,tokensSuffix:`tok`},i={addTitle:`Aggiungi regola di routing`,editTitle:`Modifica regola di routing`,addDescription:`Aggiungi una regola di routing per tag usando tag in kebab-case minuscolo.`,editDescription:`Aggiorna i tag o l'agente di destinazione per questa regola.`,tagsLabel:`Tag`,tagsHint:`Separati da virgola. Usa kebab-case minuscolo come <code>frontend</code> o <code>api-design</code>.`,invalidTags_one:`Tag non valido: {{tags}}. I tag possono contenere solo lettere minuscole, cifre e trattini.`,invalidTags_other:`Tag non validi: {{tags}}. I tag possono contenere solo lettere minuscole, cifre e trattini.`,routeToLabel:`Instrada verso`,routeToHint:`Solo gli agenti nella catena di questo profilo possono essere destinazioni di routing.`,addRule:`Aggiungi regola`,saveChanges:`Salva modifiche`},a={profileTitle:`Profilo agente per questo rail`,noProfile:`Nessun profilo`,modelTitle:`Modello per questo rail ultracode`,engineTitle:`Engine AI per questo rail`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
1
|
+
var e={title:`Agenti`,subtitle:`Gestisci i profili agente e il catalogo (upstream + custom) di questo progetto.`,tabs:{profiles:`Profili`,usage:`Utilizzo`,catalog:`Catalogo`},banner:{title:`La pipeline con profili richiede specrails-core {{required}}+`,body:`Questo progetto ha <code>{{version}}</code>. Esegui <code>{{command}}</code> nel progetto per sbloccare la modalità profili. I profili creati qui verranno comunque salvati; semplicemente non influiranno sulla pipeline finché core non viene aggiornato.`,unknownVersion:`sconosciuta`}},t={loading:`Caricamento del catalogo…`,aiEditChipLabel:`Modifica AI · {{agentId}}`,errors:{loadFailed:`Caricamento del catalogo non riuscito: {{status}}`,bodyLoadFailed:`Caricamento del corpo dell'agente non riuscito: {{status}}`,generateFailed:`Generazione non riuscita: {{status}}`,agentLoadFailed:`Caricamento non riuscito: {{status}}`},templates:{title:`Libreria di template agente`,countOf:`{{shown}} di {{total}}`,description:`Parti da un template curato tra engineering, prodotto, scienza, salute, legale e altro. Scegline uno e aprilo nello Studio per revisionarlo e modificarlo prima di salvare.`,searchPlaceholder:`Cerca per nome, descrizione, tag o categoria…`,allCategories:`Tutte`,tagFilter:`Filtro tag:`,noMatch:`Nessun template corrisponde ai filtri.`,clearFilters:`Cancella filtri`,openInStudio:`Apri nello Studio →`,tip:`Suggerimento: clicca un tag su una card per filtrare per quel tag.`},generate:{title:`Genera un agente custom`,agentIdLabel:`ID agente`,agentIdHint:`Deve iniziare con <code>custom-</code>.`,descriptionLabel:`Descrivi cosa deve fare questo agente`,descriptionPlaceholder:`es. Revisiona le modifiche Terraform/IaC e segnala configurazioni di sicurezza errate, permessi IAM eccessivi e bucket S3 pubblici prima del merge. Conservativo e conciso.`,note:`Claude redigerà un corpo <code>.md</code> completo. Lo revisionerai nello Studio e potrai modificarlo prima di salvare. Questo avvia un'invocazione claude one-shot e può richiedere fino a 90 secondi.`,generating:`Generazione…`,generateButton:`Genera`},empty:{title:`Nessun agente installato`,body:`Esegui <code>{{command}}</code> in questo progetto per installare gli agenti upstream, oppure crea subito un agente custom.`},actions:{template:`Template`,templateTitle:`Parti da un template`,generate:`Genera`,generateWithClaude:`Genera con Claude`,blank:`Vuoto`,blankTitle:`Parti da un template vuoto`},sidebar:{title:`Catalogo`,createLabel:`Crea un agente custom:`},sections:{upstream:`Upstream ({{count}})`,upstreamDescription:`Forniti da specrails-core; sola lettura.`,custom:`Custom ({{count}})`,customDescription:`I file custom-*.md del tuo progetto. Usa Template / Genera / Vuoto qui sopra per crearne uno.`,noCustomAgents:`Ancora nessun agente custom.`},detail:{defaultModel:`modello predefinito: {{model}}`,aiEdit:`Modifica AI`,aiEditTitle:`Raffina iterativamente questo agente con l'AI`,readOnly:`sola lettura`,editableHint:`modificabile — usa Modifica qui sopra`},kind:{upstream:`upstream`,custom:`custom`}},n={loading:`Caricamento dei profili…`,selectPrompt:`Seleziona un profilo da modificare`,errors:{listFailed:`Caricamento dell'elenco non riuscito: {{status}}`,loadFailed:`Caricamento non riuscito: {{status}}`,migrationFailed:`Migrazione non riuscita: {{status}}`,createFailed:`Creazione non riuscita: {{status}}`,duplicateFailed:`Duplicazione non riuscita: {{status}}`,deleteFailed:`Eliminazione non riuscita: {{status}}`,saveFailed:`Salvataggio non riuscito: {{status}}`},toasts:{migrated:`Profilo migrato`,migratedDescription:`profilo default creato dagli agenti attuali`,migrationFailed:`Migrazione non riuscita`,created:`Profilo creato`,createFailed:`Impossibile creare il profilo`,duplicated:`Profilo duplicato`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`Impossibile duplicare il profilo`,deleted:`Profilo eliminato`,deleteFailed:`Impossibile eliminare il profilo`,saved:`Profilo salvato`,saveFailed:`Impossibile salvare il profilo`,savedWithUntargeted:`Profilo salvato con agenti senza routing`,savedWithUntargetedDescription:`Nessuna regola di routing punta a: {{agents}}. Aggiungi una regola per tag o ridefinisci la regola default se vuoi che vengano eseguiti.`},createDialog:{title:`Nuovo profilo`,description:`Scegli un nome in kebab-case minuscolo (lettere, cifre e trattini).`,confirmLabel:`Crea`,invalidHint:`Deve iniziare con una lettera o una cifra e contenere solo lettere minuscole, cifre e trattini.`},duplicateDialog:{title:`Duplica "{{name}}"`,description:`Nome del nuovo profilo.`,invalidHint:`Solo kebab-case minuscolo.`},deleteDialog:{title:`Eliminare il profilo "{{name}}"?`,description:`Questa azione è irreversibile. I job già avviati con questo profilo mantengono il loro snapshot; i prossimi avvii ricadranno sull'ordine di risoluzione.`},empty:{title:`Ancora nessun profilo`,body:`I profili permettono di salvare combinazioni di orchestratore + agenti + routing e sceglierne una per rail.`,migrateButton:`Migra dagli agenti attuali`,blankButton:`Profilo vuoto`,migrateExplainer:`"Migra" legge i modelli dal frontmatter dei tuoi <code>.claude/agents/</code> esistenti e crea un profilo <code>default</code> che rispecchia il comportamento attuale — senza perdite.`},sidebar:{title:`Profili`,teamDefault:`(default del team)`},editorFooter:{fixValidationIssues:`Correggi i problemi di validazione prima di salvare`,issuesToResolve_one:`{{count}} problema da risolvere`,issuesToResolve_other:`{{count}} problemi da risolvere`}},r={title:`Utilizzo dei profili`,windowLabel:`{{days}}d`,subtitleEmpty:`Job avviati per profilo nella finestra selezionata.`,subtitle:`Job avviati per profilo negli ultimi {{count}} giorni.`,empty:`Ancora nessun job con profilo.`,jobsTooltip:`job`,jobsLabel_one:`job`,jobsLabel_other:`job`,successRateTooltip:`tasso di successo`,okSuffix:`ok`,avgDurationTooltip:`durata media`,avgTokensTooltip:`token medi`,tokensSuffix:`tok`},i={addTitle:`Aggiungi regola di routing`,editTitle:`Modifica regola di routing`,addDescription:`Aggiungi una regola di routing per tag usando tag in kebab-case minuscolo.`,editDescription:`Aggiorna i tag o l'agente di destinazione per questa regola.`,tagsLabel:`Tag`,tagsHint:`Separati da virgola. Usa kebab-case minuscolo come <code>frontend</code> o <code>api-design</code>.`,invalidTags_one:`Tag non valido: {{tags}}. I tag possono contenere solo lettere minuscole, cifre e trattini.`,invalidTags_other:`Tag non validi: {{tags}}. I tag possono contenere solo lettere minuscole, cifre e trattini.`,routeToLabel:`Instrada verso`,routeToHint:`Solo gli agenti nella catena di questo profilo possono essere destinazioni di routing.`,addRule:`Aggiungi regola`,saveChanges:`Salva modifiche`},a={profileTitle:`Profilo agente per questo rail`,noProfile:`Nessun profilo`,modelTitle:`Modello per questo rail ultracode`,loopModelTitle:`Modello per questo loop`,engineTitle:`Engine AI per questo rail`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Agentes`,subtitle:`Gestiona los perfiles de agentes y el catálogo (upstream + personalizados) de este proyecto.`,tabs:{profiles:`Perfiles`,usage:`Uso`,catalog:`Catálogo`},banner:{title:`El pipeline con perfiles requiere specrails-core {{required}}+`,body:`Este proyecto tiene <code>{{version}}</code>. Ejecuta <code>{{command}}</code> dentro del proyecto para activar el modo perfiles. Los perfiles que crees aquí se guardarán igualmente; simplemente no afectarán al pipeline hasta que actualices core.`,unknownVersion:`desconocida`}},t={loading:`Cargando catálogo…`,aiEditChipLabel:`Edición IA · {{agentId}}`,errors:{loadFailed:`Error al cargar el catálogo: {{status}}`,bodyLoadFailed:`Error al cargar el cuerpo del agente: {{status}}`,generateFailed:`Error al generar: {{status}}`,agentLoadFailed:`Error al cargar: {{status}}`},templates:{title:`Biblioteca de plantillas de agentes`,countOf:`{{shown}} de {{total}}`,description:`Empieza desde una plantilla seleccionada de ingeniería, producto, ciencia, salud, legal y más. Elige una y ábrela en el Studio para revisarla y editarla antes de guardar.`,searchPlaceholder:`Buscar por nombre, descripción, etiqueta o categoría…`,allCategories:`Todas`,tagFilter:`Filtro de etiquetas:`,noMatch:`Ninguna plantilla coincide con tus filtros.`,clearFilters:`Limpiar filtros`,openInStudio:`Abrir en el Studio →`,tip:`Consejo: haz clic en una etiqueta de cualquier tarjeta para filtrar por ella.`},generate:{title:`Generar un agente personalizado`,agentIdLabel:`Id del agente`,agentIdHint:`Debe empezar por <code>custom-</code>.`,descriptionLabel:`Describe qué debe hacer este agente`,descriptionPlaceholder:`p. ej. Revisar cambios de Terraform/IaC y señalar errores de configuración de seguridad, permisos IAM excesivos y buckets S3 públicos antes del merge. Conservador y conciso.`,note:`Claude redactará un cuerpo <code>.md</code> completo. Lo revisarás en el Studio y podrás editarlo antes de guardar. Esto lanza una invocación puntual de claude y puede tardar hasta 90 segundos.`,generating:`Generando…`,generateButton:`Generar`},empty:{title:`No hay agentes instalados`,body:`Ejecuta <code>{{command}}</code> en este proyecto para instalar los agentes upstream, o crea ahora un agente personalizado.`},actions:{template:`Plantilla`,templateTitle:`Empezar desde una plantilla`,generate:`Generar`,generateWithClaude:`Generar con Claude`,blank:`En blanco`,blankTitle:`Empezar desde una plantilla en blanco`},sidebar:{title:`Catálogo`,createLabel:`Crear un agente personalizado:`},sections:{upstream:`Upstream ({{count}})`,upstreamDescription:`Incluidos con specrails-core; solo lectura.`,custom:`Personalizados ({{count}})`,customDescription:`Los archivos custom-*.md de tu proyecto. Usa Plantilla / Generar / En blanco arriba para crear uno.`,noCustomAgents:`Aún no hay agentes personalizados.`},detail:{defaultModel:`modelo por defecto: {{model}}`,aiEdit:`Edición IA`,aiEditTitle:`Refina este agente iterativamente con IA`,readOnly:`solo lectura`,editableHint:`editable — usa Editar arriba`},kind:{upstream:`upstream`,custom:`personalizado`}},n={loading:`Cargando perfiles…`,selectPrompt:`Selecciona un perfil para editarlo`,errors:{listFailed:`Error al listar: {{status}}`,loadFailed:`Error al cargar: {{status}}`,migrationFailed:`Error en la migración: {{status}}`,createFailed:`Error al crear: {{status}}`,duplicateFailed:`Error al duplicar: {{status}}`,deleteFailed:`Error al eliminar: {{status}}`,saveFailed:`Error al guardar: {{status}}`},toasts:{migrated:`Perfil migrado`,migratedDescription:`perfil default creado a partir de tus agentes actuales`,migrationFailed:`Error en la migración`,created:`Perfil creado`,createFailed:`No se pudo crear el perfil`,duplicated:`Perfil duplicado`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`No se pudo duplicar el perfil`,deleted:`Perfil eliminado`,deleteFailed:`No se pudo eliminar el perfil`,saved:`Perfil guardado`,saveFailed:`No se pudo guardar el perfil`,savedWithUntargeted:`Perfil guardado con agentes sin asignar`,savedWithUntargetedDescription:`Ninguna regla de enrutado apunta a: {{agents}}. Añade una regla por etiquetas o reorienta la regla por defecto si quieres que se ejecuten.`},createDialog:{title:`Nuevo perfil`,description:`Elige un nombre en minúsculas y kebab-case (letras, dígitos y guiones).`,confirmLabel:`Crear`,invalidHint:`Debe empezar por una letra o un dígito y contener solo letras minúsculas, dígitos y guiones.`},duplicateDialog:{title:`Duplicar «{{name}}»`,description:`Nombre para el nuevo perfil.`,invalidHint:`Solo minúsculas en kebab-case.`},deleteDialog:{title:`¿Eliminar el perfil «{{name}}»?`,description:`Esta acción no se puede deshacer. Los jobs ya lanzados con este perfil conservan su snapshot; los próximos lanzamientos usarán el orden de resolución.`},empty:{title:`Aún no hay perfiles`,body:`Los perfiles te permiten guardar combinaciones de orquestador + agentes + enrutado y elegir una por rail.`,migrateButton:`Migrar desde los agentes actuales`,blankButton:`Perfil en blanco`,migrateExplainer:`«Migrar» lee los modelos del frontmatter de tu <code>.claude/agents/</code> actual y crea un perfil <code>default</code> que replica el comportamiento de hoy — sin pérdidas.`},sidebar:{title:`Perfiles`,teamDefault:`(por defecto del equipo)`},editorFooter:{fixValidationIssues:`Corrige los problemas de validación antes de guardar`,issuesToResolve_one:`{{count}} problema por resolver`,issuesToResolve_other:`{{count}} problemas por resolver`}},r={title:`Uso de perfiles`,windowLabel:`{{days}}d`,subtitleEmpty:`Jobs lanzados por perfil en la ventana seleccionada.`,subtitle:`Jobs lanzados por perfil en los últimos {{count}} días.`,empty:`Aún no hay jobs con perfil.`,jobsTooltip:`jobs`,jobsLabel_one:`job`,jobsLabel_other:`jobs`,successRateTooltip:`tasa de éxito`,okSuffix:`ok`,avgDurationTooltip:`duración media`,avgTokensTooltip:`media de tokens`,tokensSuffix:`tok`},i={addTitle:`Añadir regla de enrutado`,editTitle:`Editar regla de enrutado`,addDescription:`Añade una regla de enrutado por etiquetas usando etiquetas en minúsculas y kebab-case.`,editDescription:`Actualiza las etiquetas o el agente de destino de esta regla.`,tagsLabel:`Etiquetas`,tagsHint:`Separadas por comas. Usa minúsculas en kebab-case, como <code>frontend</code> o <code>api-design</code>.`,invalidTags_one:`Etiqueta no válida: {{tags}}. Las etiquetas solo pueden contener letras minúsculas, dígitos y guiones.`,invalidTags_other:`Etiquetas no válidas: {{tags}}. Las etiquetas solo pueden contener letras minúsculas, dígitos y guiones.`,routeToLabel:`Enrutar a`,routeToHint:`Solo los agentes de la cadena de este perfil pueden ser destinos de enrutado.`,addRule:`Añadir regla`,saveChanges:`Guardar cambios`},a={profileTitle:`Perfil de agentes para este rail`,noProfile:`Sin perfil`,modelTitle:`Modelo para este rail ultracode`,engineTitle:`Motor de IA para este rail`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
1
|
+
var e={title:`Agentes`,subtitle:`Gestiona los perfiles de agentes y el catálogo (upstream + personalizados) de este proyecto.`,tabs:{profiles:`Perfiles`,usage:`Uso`,catalog:`Catálogo`},banner:{title:`El pipeline con perfiles requiere specrails-core {{required}}+`,body:`Este proyecto tiene <code>{{version}}</code>. Ejecuta <code>{{command}}</code> dentro del proyecto para activar el modo perfiles. Los perfiles que crees aquí se guardarán igualmente; simplemente no afectarán al pipeline hasta que actualices core.`,unknownVersion:`desconocida`}},t={loading:`Cargando catálogo…`,aiEditChipLabel:`Edición IA · {{agentId}}`,errors:{loadFailed:`Error al cargar el catálogo: {{status}}`,bodyLoadFailed:`Error al cargar el cuerpo del agente: {{status}}`,generateFailed:`Error al generar: {{status}}`,agentLoadFailed:`Error al cargar: {{status}}`},templates:{title:`Biblioteca de plantillas de agentes`,countOf:`{{shown}} de {{total}}`,description:`Empieza desde una plantilla seleccionada de ingeniería, producto, ciencia, salud, legal y más. Elige una y ábrela en el Studio para revisarla y editarla antes de guardar.`,searchPlaceholder:`Buscar por nombre, descripción, etiqueta o categoría…`,allCategories:`Todas`,tagFilter:`Filtro de etiquetas:`,noMatch:`Ninguna plantilla coincide con tus filtros.`,clearFilters:`Limpiar filtros`,openInStudio:`Abrir en el Studio →`,tip:`Consejo: haz clic en una etiqueta de cualquier tarjeta para filtrar por ella.`},generate:{title:`Generar un agente personalizado`,agentIdLabel:`Id del agente`,agentIdHint:`Debe empezar por <code>custom-</code>.`,descriptionLabel:`Describe qué debe hacer este agente`,descriptionPlaceholder:`p. ej. Revisar cambios de Terraform/IaC y señalar errores de configuración de seguridad, permisos IAM excesivos y buckets S3 públicos antes del merge. Conservador y conciso.`,note:`Claude redactará un cuerpo <code>.md</code> completo. Lo revisarás en el Studio y podrás editarlo antes de guardar. Esto lanza una invocación puntual de claude y puede tardar hasta 90 segundos.`,generating:`Generando…`,generateButton:`Generar`},empty:{title:`No hay agentes instalados`,body:`Ejecuta <code>{{command}}</code> en este proyecto para instalar los agentes upstream, o crea ahora un agente personalizado.`},actions:{template:`Plantilla`,templateTitle:`Empezar desde una plantilla`,generate:`Generar`,generateWithClaude:`Generar con Claude`,blank:`En blanco`,blankTitle:`Empezar desde una plantilla en blanco`},sidebar:{title:`Catálogo`,createLabel:`Crear un agente personalizado:`},sections:{upstream:`Upstream ({{count}})`,upstreamDescription:`Incluidos con specrails-core; solo lectura.`,custom:`Personalizados ({{count}})`,customDescription:`Los archivos custom-*.md de tu proyecto. Usa Plantilla / Generar / En blanco arriba para crear uno.`,noCustomAgents:`Aún no hay agentes personalizados.`},detail:{defaultModel:`modelo por defecto: {{model}}`,aiEdit:`Edición IA`,aiEditTitle:`Refina este agente iterativamente con IA`,readOnly:`solo lectura`,editableHint:`editable — usa Editar arriba`},kind:{upstream:`upstream`,custom:`personalizado`}},n={loading:`Cargando perfiles…`,selectPrompt:`Selecciona un perfil para editarlo`,errors:{listFailed:`Error al listar: {{status}}`,loadFailed:`Error al cargar: {{status}}`,migrationFailed:`Error en la migración: {{status}}`,createFailed:`Error al crear: {{status}}`,duplicateFailed:`Error al duplicar: {{status}}`,deleteFailed:`Error al eliminar: {{status}}`,saveFailed:`Error al guardar: {{status}}`},toasts:{migrated:`Perfil migrado`,migratedDescription:`perfil default creado a partir de tus agentes actuales`,migrationFailed:`Error en la migración`,created:`Perfil creado`,createFailed:`No se pudo crear el perfil`,duplicated:`Perfil duplicado`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`No se pudo duplicar el perfil`,deleted:`Perfil eliminado`,deleteFailed:`No se pudo eliminar el perfil`,saved:`Perfil guardado`,saveFailed:`No se pudo guardar el perfil`,savedWithUntargeted:`Perfil guardado con agentes sin asignar`,savedWithUntargetedDescription:`Ninguna regla de enrutado apunta a: {{agents}}. Añade una regla por etiquetas o reorienta la regla por defecto si quieres que se ejecuten.`},createDialog:{title:`Nuevo perfil`,description:`Elige un nombre en minúsculas y kebab-case (letras, dígitos y guiones).`,confirmLabel:`Crear`,invalidHint:`Debe empezar por una letra o un dígito y contener solo letras minúsculas, dígitos y guiones.`},duplicateDialog:{title:`Duplicar «{{name}}»`,description:`Nombre para el nuevo perfil.`,invalidHint:`Solo minúsculas en kebab-case.`},deleteDialog:{title:`¿Eliminar el perfil «{{name}}»?`,description:`Esta acción no se puede deshacer. Los jobs ya lanzados con este perfil conservan su snapshot; los próximos lanzamientos usarán el orden de resolución.`},empty:{title:`Aún no hay perfiles`,body:`Los perfiles te permiten guardar combinaciones de orquestador + agentes + enrutado y elegir una por rail.`,migrateButton:`Migrar desde los agentes actuales`,blankButton:`Perfil en blanco`,migrateExplainer:`«Migrar» lee los modelos del frontmatter de tu <code>.claude/agents/</code> actual y crea un perfil <code>default</code> que replica el comportamiento de hoy — sin pérdidas.`},sidebar:{title:`Perfiles`,teamDefault:`(por defecto del equipo)`},editorFooter:{fixValidationIssues:`Corrige los problemas de validación antes de guardar`,issuesToResolve_one:`{{count}} problema por resolver`,issuesToResolve_other:`{{count}} problemas por resolver`}},r={title:`Uso de perfiles`,windowLabel:`{{days}}d`,subtitleEmpty:`Jobs lanzados por perfil en la ventana seleccionada.`,subtitle:`Jobs lanzados por perfil en los últimos {{count}} días.`,empty:`Aún no hay jobs con perfil.`,jobsTooltip:`jobs`,jobsLabel_one:`job`,jobsLabel_other:`jobs`,successRateTooltip:`tasa de éxito`,okSuffix:`ok`,avgDurationTooltip:`duración media`,avgTokensTooltip:`media de tokens`,tokensSuffix:`tok`},i={addTitle:`Añadir regla de enrutado`,editTitle:`Editar regla de enrutado`,addDescription:`Añade una regla de enrutado por etiquetas usando etiquetas en minúsculas y kebab-case.`,editDescription:`Actualiza las etiquetas o el agente de destino de esta regla.`,tagsLabel:`Etiquetas`,tagsHint:`Separadas por comas. Usa minúsculas en kebab-case, como <code>frontend</code> o <code>api-design</code>.`,invalidTags_one:`Etiqueta no válida: {{tags}}. Las etiquetas solo pueden contener letras minúsculas, dígitos y guiones.`,invalidTags_other:`Etiquetas no válidas: {{tags}}. Las etiquetas solo pueden contener letras minúsculas, dígitos y guiones.`,routeToLabel:`Enrutar a`,routeToHint:`Solo los agentes de la cadena de este perfil pueden ser destinos de enrutado.`,addRule:`Añadir regla`,saveChanges:`Guardar cambios`},a={profileTitle:`Perfil de agentes para este rail`,noProfile:`Sin perfil`,modelTitle:`Modelo para este rail ultracode`,loopModelTitle:`Modelo para este loop`,engineTitle:`Motor de IA para este rail`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Agentes`,subtitle:`Faça a gestão dos perfis de agentes e do catálogo (upstream + personalizados) deste projeto.`,tabs:{profiles:`Perfis`,usage:`Utilização`,catalog:`Catálogo`},banner:{title:`O pipeline com suporte de perfis requer specrails-core {{required}}+`,body:`Este projeto tem <code>{{version}}</code>. Execute <code>{{command}}</code> dentro do projeto para desbloquear o modo de perfis. Os perfis que criar aqui continuam a ser guardados; simplesmente não afetam o pipeline até o core ser atualizado.`,unknownVersion:`desconhecida`}},t={loading:`A carregar o catálogo…`,aiEditChipLabel:`Edição com IA · {{agentId}}`,errors:{loadFailed:`Falha ao carregar o catálogo: {{status}}`,bodyLoadFailed:`Falha ao carregar o corpo do agente: {{status}}`,generateFailed:`Falha ao gerar: {{status}}`,agentLoadFailed:`Falha ao carregar: {{status}}`},templates:{title:`Biblioteca de templates de agentes`,countOf:`{{shown}} de {{total}}`,description:`Comece a partir de um template selecionado nas áreas de engenharia, produto, ciência, saúde, jurídico e mais. Escolha um e abra-o no Studio para rever e editar antes de guardar.`,searchPlaceholder:`Pesquisar por nome, descrição, tag ou categoria…`,allCategories:`Todas`,tagFilter:`Filtro de tags:`,noMatch:`Nenhum template corresponde aos seus filtros.`,clearFilters:`Limpar filtros`,openInStudio:`Abrir no Studio →`,tip:`Dica: clique numa tag em qualquer cartão para filtrar por essa tag.`},generate:{title:`Gerar um agente personalizado`,agentIdLabel:`ID do agente`,agentIdHint:`Tem de começar por <code>custom-</code>.`,descriptionLabel:`Descreva o que este agente deve fazer`,descriptionPlaceholder:`p. ex. Rever alterações de Terraform/IaC e assinalar configurações de segurança incorretas, permissões IAM excessivas e buckets S3 públicos antes do merge. Conservador e conciso.`,note:`O Claude vai redigir um corpo <code>.md</code> completo. Poderá revê-lo no Studio e editá-lo antes de guardar. Isto lança uma invocação única do claude e pode demorar até 90 segundos.`,generating:`A gerar…`,generateButton:`Gerar`},empty:{title:`Nenhum agente instalado`,body:`Execute <code>{{command}}</code> neste projeto para instalar os agentes upstream, ou crie já um agente personalizado.`},actions:{template:`Template`,templateTitle:`Começar a partir de um template`,generate:`Gerar`,generateWithClaude:`Gerar com o Claude`,blank:`Em branco`,blankTitle:`Começar a partir de um template em branco`},sidebar:{title:`Catálogo`,createLabel:`Criar um agente personalizado:`},sections:{upstream:`Upstream ({{count}})`,upstreamDescription:`Distribuídos pelo specrails-core; apenas de leitura.`,custom:`Personalizados ({{count}})`,customDescription:`Os ficheiros custom-*.md do seu projeto. Use Template / Gerar / Em branco acima para criar um.`,noCustomAgents:`Ainda não há agentes personalizados.`},detail:{defaultModel:`modelo predefinido: {{model}}`,aiEdit:`Edição com IA`,aiEditTitle:`Refinar este agente iterativamente com IA`,readOnly:`apenas leitura`,editableHint:`editável — use Editar acima`},kind:{upstream:`upstream`,custom:`personalizado`}},n={loading:`A carregar perfis…`,selectPrompt:`Selecione um perfil para editar`,errors:{listFailed:`Falha ao listar: {{status}}`,loadFailed:`Falha ao carregar: {{status}}`,migrationFailed:`Falha na migração: {{status}}`,createFailed:`Falha ao criar: {{status}}`,duplicateFailed:`Falha ao duplicar: {{status}}`,deleteFailed:`Falha ao eliminar: {{status}}`,saveFailed:`Falha ao guardar: {{status}}`},toasts:{migrated:`Perfil migrado`,migratedDescription:`perfil default criado a partir dos seus agentes atuais`,migrationFailed:`Falha na migração`,created:`Perfil criado`,createFailed:`Falha ao criar o perfil`,duplicated:`Perfil duplicado`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`Falha ao duplicar o perfil`,deleted:`Perfil eliminado`,deleteFailed:`Falha ao eliminar o perfil`,saved:`Perfil guardado`,saveFailed:`Falha ao guardar o perfil`,savedWithUntargeted:`Perfil guardado com agentes sem destino`,savedWithUntargetedDescription:`Nenhuma regra de encaminhamento aponta para: {{agents}}. Adicione uma regra de tags ou redirecione a regra predefinida se quiser que sejam executados.`},createDialog:{title:`Novo perfil`,description:`Escolha um nome em kebab-case minúsculo (letras, dígitos e hífenes).`,confirmLabel:`Criar`,invalidHint:`Tem de começar por uma letra ou dígito e conter apenas letras minúsculas, dígitos e hífenes.`},duplicateDialog:{title:`Duplicar "{{name}}"`,description:`Nome para o novo perfil.`,invalidHint:`Apenas kebab-case minúsculo.`},deleteDialog:{title:`Eliminar o perfil "{{name}}"?`,description:`Esta ação não pode ser anulada. Os jobs já lançados com este perfil mantêm o seu snapshot; os próximos lançamentos recorrem à ordem de resolução.`},empty:{title:`Ainda não há perfis`,body:`Os perfis permitem guardar combinações de orquestrador + agentes + encaminhamento e escolher uma por rail.`,migrateButton:`Migrar a partir dos agentes atuais`,blankButton:`Perfil em branco`,migrateExplainer:`"Migrar" lê os modelos do frontmatter existente em <code>.claude/agents/</code> e cria um perfil <code>default</code> que reflete o comportamento atual — sem perdas.`},sidebar:{title:`Perfis`,teamDefault:`(predefinição da equipa)`},editorFooter:{fixValidationIssues:`Corrija os problemas de validação antes de guardar`,issuesToResolve_one:`{{count}} problema por resolver`,issuesToResolve_other:`{{count}} problemas por resolver`}},r={title:`Utilização de perfis`,windowLabel:`{{days}}d`,subtitleEmpty:`Jobs lançados por perfil na janela selecionada.`,subtitle:`Jobs lançados por perfil nos últimos {{count}} dias.`,empty:`Ainda não há jobs associados a perfis.`,jobsTooltip:`jobs`,jobsLabel_one:`job`,jobsLabel_other:`jobs`,successRateTooltip:`taxa de sucesso`,okSuffix:`ok`,avgDurationTooltip:`duração média`,avgTokensTooltip:`média de tokens`,tokensSuffix:`tok`},i={addTitle:`Adicionar regra de encaminhamento`,editTitle:`Editar regra de encaminhamento`,addDescription:`Adicione uma regra de encaminhamento por tags usando tags em kebab-case minúsculo.`,editDescription:`Atualize as tags ou o agente de destino desta regra.`,tagsLabel:`Tags`,tagsHint:`Separadas por vírgulas. Use kebab-case minúsculo como <code>frontend</code> ou <code>api-design</code>.`,invalidTags_one:`Tag inválida: {{tags}}. As tags só podem usar letras minúsculas, dígitos e hífenes.`,invalidTags_other:`Tags inválidas: {{tags}}. As tags só podem usar letras minúsculas, dígitos e hífenes.`,routeToLabel:`Encaminhar para`,routeToHint:`Apenas os agentes da cadeia deste perfil podem ser destinos de encaminhamento.`,addRule:`Adicionar regra`,saveChanges:`Guardar alterações`},a={profileTitle:`Perfil de agentes para este rail`,noProfile:`Sem perfil`,modelTitle:`Modelo para este rail ultracode`,engineTitle:`Motor de IA para este rail`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
1
|
+
var e={title:`Agentes`,subtitle:`Faça a gestão dos perfis de agentes e do catálogo (upstream + personalizados) deste projeto.`,tabs:{profiles:`Perfis`,usage:`Utilização`,catalog:`Catálogo`},banner:{title:`O pipeline com suporte de perfis requer specrails-core {{required}}+`,body:`Este projeto tem <code>{{version}}</code>. Execute <code>{{command}}</code> dentro do projeto para desbloquear o modo de perfis. Os perfis que criar aqui continuam a ser guardados; simplesmente não afetam o pipeline até o core ser atualizado.`,unknownVersion:`desconhecida`}},t={loading:`A carregar o catálogo…`,aiEditChipLabel:`Edição com IA · {{agentId}}`,errors:{loadFailed:`Falha ao carregar o catálogo: {{status}}`,bodyLoadFailed:`Falha ao carregar o corpo do agente: {{status}}`,generateFailed:`Falha ao gerar: {{status}}`,agentLoadFailed:`Falha ao carregar: {{status}}`},templates:{title:`Biblioteca de templates de agentes`,countOf:`{{shown}} de {{total}}`,description:`Comece a partir de um template selecionado nas áreas de engenharia, produto, ciência, saúde, jurídico e mais. Escolha um e abra-o no Studio para rever e editar antes de guardar.`,searchPlaceholder:`Pesquisar por nome, descrição, tag ou categoria…`,allCategories:`Todas`,tagFilter:`Filtro de tags:`,noMatch:`Nenhum template corresponde aos seus filtros.`,clearFilters:`Limpar filtros`,openInStudio:`Abrir no Studio →`,tip:`Dica: clique numa tag em qualquer cartão para filtrar por essa tag.`},generate:{title:`Gerar um agente personalizado`,agentIdLabel:`ID do agente`,agentIdHint:`Tem de começar por <code>custom-</code>.`,descriptionLabel:`Descreva o que este agente deve fazer`,descriptionPlaceholder:`p. ex. Rever alterações de Terraform/IaC e assinalar configurações de segurança incorretas, permissões IAM excessivas e buckets S3 públicos antes do merge. Conservador e conciso.`,note:`O Claude vai redigir um corpo <code>.md</code> completo. Poderá revê-lo no Studio e editá-lo antes de guardar. Isto lança uma invocação única do claude e pode demorar até 90 segundos.`,generating:`A gerar…`,generateButton:`Gerar`},empty:{title:`Nenhum agente instalado`,body:`Execute <code>{{command}}</code> neste projeto para instalar os agentes upstream, ou crie já um agente personalizado.`},actions:{template:`Template`,templateTitle:`Começar a partir de um template`,generate:`Gerar`,generateWithClaude:`Gerar com o Claude`,blank:`Em branco`,blankTitle:`Começar a partir de um template em branco`},sidebar:{title:`Catálogo`,createLabel:`Criar um agente personalizado:`},sections:{upstream:`Upstream ({{count}})`,upstreamDescription:`Distribuídos pelo specrails-core; apenas de leitura.`,custom:`Personalizados ({{count}})`,customDescription:`Os ficheiros custom-*.md do seu projeto. Use Template / Gerar / Em branco acima para criar um.`,noCustomAgents:`Ainda não há agentes personalizados.`},detail:{defaultModel:`modelo predefinido: {{model}}`,aiEdit:`Edição com IA`,aiEditTitle:`Refinar este agente iterativamente com IA`,readOnly:`apenas leitura`,editableHint:`editável — use Editar acima`},kind:{upstream:`upstream`,custom:`personalizado`}},n={loading:`A carregar perfis…`,selectPrompt:`Selecione um perfil para editar`,errors:{listFailed:`Falha ao listar: {{status}}`,loadFailed:`Falha ao carregar: {{status}}`,migrationFailed:`Falha na migração: {{status}}`,createFailed:`Falha ao criar: {{status}}`,duplicateFailed:`Falha ao duplicar: {{status}}`,deleteFailed:`Falha ao eliminar: {{status}}`,saveFailed:`Falha ao guardar: {{status}}`},toasts:{migrated:`Perfil migrado`,migratedDescription:`perfil default criado a partir dos seus agentes atuais`,migrationFailed:`Falha na migração`,created:`Perfil criado`,createFailed:`Falha ao criar o perfil`,duplicated:`Perfil duplicado`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`Falha ao duplicar o perfil`,deleted:`Perfil eliminado`,deleteFailed:`Falha ao eliminar o perfil`,saved:`Perfil guardado`,saveFailed:`Falha ao guardar o perfil`,savedWithUntargeted:`Perfil guardado com agentes sem destino`,savedWithUntargetedDescription:`Nenhuma regra de encaminhamento aponta para: {{agents}}. Adicione uma regra de tags ou redirecione a regra predefinida se quiser que sejam executados.`},createDialog:{title:`Novo perfil`,description:`Escolha um nome em kebab-case minúsculo (letras, dígitos e hífenes).`,confirmLabel:`Criar`,invalidHint:`Tem de começar por uma letra ou dígito e conter apenas letras minúsculas, dígitos e hífenes.`},duplicateDialog:{title:`Duplicar "{{name}}"`,description:`Nome para o novo perfil.`,invalidHint:`Apenas kebab-case minúsculo.`},deleteDialog:{title:`Eliminar o perfil "{{name}}"?`,description:`Esta ação não pode ser anulada. Os jobs já lançados com este perfil mantêm o seu snapshot; os próximos lançamentos recorrem à ordem de resolução.`},empty:{title:`Ainda não há perfis`,body:`Os perfis permitem guardar combinações de orquestrador + agentes + encaminhamento e escolher uma por rail.`,migrateButton:`Migrar a partir dos agentes atuais`,blankButton:`Perfil em branco`,migrateExplainer:`"Migrar" lê os modelos do frontmatter existente em <code>.claude/agents/</code> e cria um perfil <code>default</code> que reflete o comportamento atual — sem perdas.`},sidebar:{title:`Perfis`,teamDefault:`(predefinição da equipa)`},editorFooter:{fixValidationIssues:`Corrija os problemas de validação antes de guardar`,issuesToResolve_one:`{{count}} problema por resolver`,issuesToResolve_other:`{{count}} problemas por resolver`}},r={title:`Utilização de perfis`,windowLabel:`{{days}}d`,subtitleEmpty:`Jobs lançados por perfil na janela selecionada.`,subtitle:`Jobs lançados por perfil nos últimos {{count}} dias.`,empty:`Ainda não há jobs associados a perfis.`,jobsTooltip:`jobs`,jobsLabel_one:`job`,jobsLabel_other:`jobs`,successRateTooltip:`taxa de sucesso`,okSuffix:`ok`,avgDurationTooltip:`duração média`,avgTokensTooltip:`média de tokens`,tokensSuffix:`tok`},i={addTitle:`Adicionar regra de encaminhamento`,editTitle:`Editar regra de encaminhamento`,addDescription:`Adicione uma regra de encaminhamento por tags usando tags em kebab-case minúsculo.`,editDescription:`Atualize as tags ou o agente de destino desta regra.`,tagsLabel:`Tags`,tagsHint:`Separadas por vírgulas. Use kebab-case minúsculo como <code>frontend</code> ou <code>api-design</code>.`,invalidTags_one:`Tag inválida: {{tags}}. As tags só podem usar letras minúsculas, dígitos e hífenes.`,invalidTags_other:`Tags inválidas: {{tags}}. As tags só podem usar letras minúsculas, dígitos e hífenes.`,routeToLabel:`Encaminhar para`,routeToHint:`Apenas os agentes da cadeia deste perfil podem ser destinos de encaminhamento.`,addRule:`Adicionar regra`,saveChanges:`Guardar alterações`},a={profileTitle:`Perfil de agentes para este rail`,noProfile:`Sem perfil`,modelTitle:`Modelo para este rail ultracode`,loopModelTitle:`Modelo para este loop`,engineTitle:`Motor de IA para este rail`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as e}from"./chunk-BNv3lrIs.js";var t=e({catalog:()=>r,default:()=>c,page:()=>n,profiles:()=>i,railSelectors:()=>s,routingRule:()=>o,usage:()=>a}),n={title:`Agents`,subtitle:`Manage agent profiles and the catalog (upstream + custom) for this project.`,tabs:{profiles:`Profiles`,usage:`Usage`,catalog:`Catalog`},banner:{title:`Profile-aware pipeline requires specrails-core {{required}}+`,body:`This project has <code>{{version}}</code>. Run <code>{{command}}</code> inside the project to unlock profile mode. Profiles you create here will still save; they just won't affect the pipeline until core is updated.`,unknownVersion:`unknown`}},r={loading:`Loading catalog…`,aiEditChipLabel:`AI Edit · {{agentId}}`,errors:{loadFailed:`Catalog load failed: {{status}}`,bodyLoadFailed:`Agent body load failed: {{status}}`,generateFailed:`Generate failed: {{status}}`,agentLoadFailed:`Load failed: {{status}}`},templates:{title:`Agent template library`,countOf:`{{shown}} of {{total}}`,description:`Start from a curated template across engineering, product, science, health, legal, and more. Pick one and open it in the Studio for review and editing before saving.`,searchPlaceholder:`Search by name, description, tag, or category…`,allCategories:`All`,tagFilter:`Tag filter:`,noMatch:`No templates match your filters.`,clearFilters:`Clear filters`,openInStudio:`Open in Studio →`,tip:`Tip: click a tag pill on any card to filter by that tag.`},generate:{title:`Generate a custom agent`,agentIdLabel:`Agent id`,agentIdHint:`Must start with <code>custom-</code>.`,descriptionLabel:`Describe what this agent should do`,descriptionPlaceholder:`e.g. Review Terraform/IaC changes and flag security misconfigurations, excessive IAM permissions, and public S3 buckets before merging. Conservative and terse.`,note:`Claude will draft a full <code>.md</code> body. You'll review it in the Studio and can edit before saving. This spawns a one-shot claude invocation and can take up to 90 seconds.`,generating:`Generating…`,generateButton:`Generate`},empty:{title:`No agents installed`,body:`Run <code>{{command}}</code> in this project to install the upstream agents, or create a custom agent now.`},actions:{template:`Template`,templateTitle:`Start from a template`,generate:`Generate`,generateWithClaude:`Generate with Claude`,blank:`Blank`,blankTitle:`Start from a blank template`},sidebar:{title:`Catalog`,createLabel:`Create a custom agent:`},sections:{upstream:`Upstream ({{count}})`,upstreamDescription:`Shipped by specrails-core; read-only.`,custom:`Custom ({{count}})`,customDescription:`Your project's custom-*.md files. Use Template / Generate / Blank above to create one.`,noCustomAgents:`No custom agents yet.`},detail:{defaultModel:`default model: {{model}}`,aiEdit:`AI Edit`,aiEditTitle:`Iteratively refine this agent with AI`,readOnly:`read-only`,editableHint:`editable — use Edit above`},kind:{upstream:`upstream`,custom:`custom`}},i={loading:`Loading profiles…`,selectPrompt:`Select a profile to edit`,errors:{listFailed:`List failed: {{status}}`,loadFailed:`Load failed: {{status}}`,migrationFailed:`Migration failed: {{status}}`,createFailed:`Create failed: {{status}}`,duplicateFailed:`Duplicate failed: {{status}}`,deleteFailed:`Delete failed: {{status}}`,saveFailed:`Save failed: {{status}}`},toasts:{migrated:`Profile migrated`,migratedDescription:`default profile created from your current agents`,migrationFailed:`Migration failed`,created:`Profile created`,createFailed:`Failed to create profile`,duplicated:`Profile duplicated`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`Failed to duplicate profile`,deleted:`Profile deleted`,deleteFailed:`Failed to delete profile`,saved:`Profile saved`,saveFailed:`Failed to save profile`,savedWithUntargeted:`Profile saved with untargeted agents`,savedWithUntargetedDescription:`No routing rule points to: {{agents}}. Add a tag rule or retarget the default rule if you want them to run.`},createDialog:{title:`New profile`,description:`Pick a lowercase kebab-case name (letters, digits, and hyphens).`,confirmLabel:`Create`,invalidHint:`Must start with a letter or digit and contain only lowercase letters, digits, and hyphens.`},duplicateDialog:{title:`Duplicate "{{name}}"`,description:`Name for the new profile.`,invalidHint:`Lowercase kebab-case only.`},deleteDialog:{title:`Delete profile "{{name}}"?`,description:`This cannot be undone. Jobs already launched with this profile keep their snapshot; future launches will fall back to the resolution order.`},empty:{title:`No profiles yet`,body:`Profiles let you save orchestrator + agent + routing combinations and pick one per rail.`,migrateButton:`Migrate from current agents`,blankButton:`Blank profile`,migrateExplainer:`"Migrate" reads your existing <code>.claude/agents/</code> frontmatter models and creates a <code>default</code> profile mirroring today's behavior — zero-loss.`},sidebar:{title:`Profiles`,teamDefault:`(team default)`},editorFooter:{fixValidationIssues:`Fix validation issues before saving`,issuesToResolve_one:`{{count}} issue to resolve`,issuesToResolve_other:`{{count}} issues to resolve`}},a={title:`Profile usage`,windowLabel:`{{days}}d`,subtitleEmpty:`Jobs launched per profile in the selected window.`,subtitle:`Jobs launched per profile in the last {{count}} days.`,empty:`No profile-scoped jobs yet.`,jobsTooltip:`jobs`,jobsLabel_one:`job`,jobsLabel_other:`jobs`,successRateTooltip:`success rate`,okSuffix:`ok`,avgDurationTooltip:`avg duration`,avgTokensTooltip:`avg tokens`,tokensSuffix:`tok`},o={addTitle:`Add routing rule`,editTitle:`Edit routing rule`,addDescription:`Add a tag-matched routing rule using lowercase kebab-case tags.`,editDescription:`Update the tags or target agent for this rule.`,tagsLabel:`Tags`,tagsHint:`Comma-separated. Use lowercase kebab-case like <code>frontend</code> or <code>api-design</code>.`,invalidTags_one:`Invalid tag: {{tags}}. Tags must use lowercase letters, digits, and hyphens only.`,invalidTags_other:`Invalid tags: {{tags}}. Tags must use lowercase letters, digits, and hyphens only.`,routeToLabel:`Route to`,routeToHint:`Only agents in this profile's chain can be routing targets.`,addRule:`Add rule`,saveChanges:`Save changes`},s={profileTitle:`Agent profile for this rail`,noProfile:`No profile`,modelTitle:`Model for this ultracode rail`,loopModelTitle:`Model for this loop`,engineTitle:`AI engine for this rail`},c={page:n,catalog:r,profiles:i,usage:a,routingRule:o,railSelectors:s};export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Agents`,subtitle:`Agent-Profile und den Katalog (Upstream + Custom) für dieses Projekt verwalten.`,tabs:{profiles:`Profile`,usage:`Nutzung`,catalog:`Katalog`},banner:{title:`Profilgestützte Pipeline erfordert specrails-core {{required}}+`,body:`Dieses Projekt hat <code>{{version}}</code>. Führe <code>{{command}}</code> im Projekt aus, um den Profilmodus freizuschalten. Hier erstellte Profile werden trotzdem gespeichert; sie wirken sich nur erst nach dem Core-Update auf die Pipeline aus.`,unknownVersion:`unbekannt`}},t={loading:`Katalog wird geladen…`,aiEditChipLabel:`AI Edit · {{agentId}}`,errors:{loadFailed:`Katalog konnte nicht geladen werden: {{status}}`,bodyLoadFailed:`Agent-Inhalt konnte nicht geladen werden: {{status}}`,generateFailed:`Generierung fehlgeschlagen: {{status}}`,agentLoadFailed:`Laden fehlgeschlagen: {{status}}`},templates:{title:`Agent-Vorlagenbibliothek`,countOf:`{{shown}} von {{total}}`,description:`Starte mit einer kuratierten Vorlage aus Engineering, Produkt, Wissenschaft, Gesundheit, Recht und mehr. Wähle eine aus und öffne sie im Studio, um sie vor dem Speichern zu prüfen und zu bearbeiten.`,searchPlaceholder:`Nach Name, Beschreibung, Tag oder Kategorie suchen…`,allCategories:`Alle`,tagFilter:`Tag-Filter:`,noMatch:`Keine Vorlagen entsprechen deinen Filtern.`,clearFilters:`Filter zurücksetzen`,openInStudio:`Im Studio öffnen →`,tip:`Tipp: Klicke auf einen Tag-Chip auf einer Karte, um nach diesem Tag zu filtern.`},generate:{title:`Custom-Agent generieren`,agentIdLabel:`Agent-ID`,agentIdHint:`Muss mit <code>custom-</code> beginnen.`,descriptionLabel:`Beschreibe, was dieser Agent tun soll`,descriptionPlaceholder:`z. B. Terraform-/IaC-Änderungen reviewen und Sicherheits-Fehlkonfigurationen, übermäßige IAM-Berechtigungen und öffentliche S3-Buckets vor dem Merge markieren. Konservativ und knapp.`,note:`Claude entwirft einen vollständigen <code>.md</code>-Inhalt. Du prüfst ihn im Studio und kannst ihn vor dem Speichern bearbeiten. Dabei wird ein einmaliger claude-Aufruf gestartet, der bis zu 90 Sekunden dauern kann.`,generating:`Wird generiert…`,generateButton:`Generieren`},empty:{title:`Keine Agents installiert`,body:`Führe <code>{{command}}</code> in diesem Projekt aus, um die Upstream-Agents zu installieren, oder erstelle jetzt einen Custom-Agent.`},actions:{template:`Vorlage`,templateTitle:`Mit einer Vorlage starten`,generate:`Generieren`,generateWithClaude:`Mit Claude generieren`,blank:`Leer`,blankTitle:`Mit einer leeren Vorlage starten`},sidebar:{title:`Katalog`,createLabel:`Custom-Agent erstellen:`},sections:{upstream:`Upstream ({{count}})`,upstreamDescription:`Wird von specrails-core mitgeliefert; schreibgeschützt.`,custom:`Custom ({{count}})`,customDescription:`Die custom-*.md-Dateien deines Projekts. Nutze Vorlage / Generieren / Leer oben, um einen zu erstellen.`,noCustomAgents:`Noch keine Custom-Agents.`},detail:{defaultModel:`Standardmodell: {{model}}`,aiEdit:`AI Edit`,aiEditTitle:`Diesen Agent iterativ mit KI verfeinern`,readOnly:`schreibgeschützt`,editableHint:`bearbeitbar – nutze Bearbeiten oben`},kind:{upstream:`upstream`,custom:`custom`}},n={loading:`Profile werden geladen…`,selectPrompt:`Wähle ein Profil zum Bearbeiten`,errors:{listFailed:`Auflisten fehlgeschlagen: {{status}}`,loadFailed:`Laden fehlgeschlagen: {{status}}`,migrationFailed:`Migration fehlgeschlagen: {{status}}`,createFailed:`Erstellen fehlgeschlagen: {{status}}`,duplicateFailed:`Duplizieren fehlgeschlagen: {{status}}`,deleteFailed:`Löschen fehlgeschlagen: {{status}}`,saveFailed:`Speichern fehlgeschlagen: {{status}}`},toasts:{migrated:`Profil migriert`,migratedDescription:`default-Profil aus deinen aktuellen Agents erstellt`,migrationFailed:`Migration fehlgeschlagen`,created:`Profil erstellt`,createFailed:`Profil konnte nicht erstellt werden`,duplicated:`Profil dupliziert`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`Profil konnte nicht dupliziert werden`,deleted:`Profil gelöscht`,deleteFailed:`Profil konnte nicht gelöscht werden`,saved:`Profil gespeichert`,saveFailed:`Profil konnte nicht gespeichert werden`,savedWithUntargeted:`Profil mit nicht angesteuerten Agents gespeichert`,savedWithUntargetedDescription:`Keine Routing-Regel zeigt auf: {{agents}}. Füge eine Tag-Regel hinzu oder ändere das Ziel der Default-Regel, wenn sie laufen sollen.`},createDialog:{title:`Neues Profil`,description:`Wähle einen Namen in Kleinbuchstaben im kebab-case (Buchstaben, Ziffern und Bindestriche).`,confirmLabel:`Erstellen`,invalidHint:`Muss mit einem Buchstaben oder einer Ziffer beginnen und darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.`},duplicateDialog:{title:`„{{name}}“ duplizieren`,description:`Name für das neue Profil.`,invalidHint:`Nur Kleinbuchstaben im kebab-case.`},deleteDialog:{title:`Profil „{{name}}“ löschen?`,description:`Dies kann nicht rückgängig gemacht werden. Bereits mit diesem Profil gestartete Jobs behalten ihren Snapshot; künftige Starts fallen auf die Auflösungsreihenfolge zurück.`},empty:{title:`Noch keine Profile`,body:`Mit Profilen speicherst du Kombinationen aus Orchestrator + Agents + Routing und wählst pro Rail eines aus.`,migrateButton:`Aus aktuellen Agents migrieren`,blankButton:`Leeres Profil`,migrateExplainer:`„Migrieren“ liest die Frontmatter-Modelle deiner bestehenden <code>.claude/agents/</code>-Dateien und erstellt ein <code>default</code>-Profil, das das heutige Verhalten verlustfrei abbildet.`},sidebar:{title:`Profile`,teamDefault:`(Team-Standard)`},editorFooter:{fixValidationIssues:`Behebe Validierungsprobleme vor dem Speichern`,issuesToResolve_one:`{{count}} Problem zu beheben`,issuesToResolve_other:`{{count}} Probleme zu beheben`}},r={title:`Profilnutzung`,windowLabel:`{{days}}d`,subtitleEmpty:`Gestartete Jobs pro Profil im gewählten Zeitraum.`,subtitle:`Gestartete Jobs pro Profil in den letzten {{count}} Tagen.`,empty:`Noch keine profilgebundenen Jobs.`,jobsTooltip:`Jobs`,jobsLabel_one:`Job`,jobsLabel_other:`Jobs`,successRateTooltip:`Erfolgsquote`,okSuffix:`ok`,avgDurationTooltip:`Ø Dauer`,avgTokensTooltip:`Ø Tokens`,tokensSuffix:`tok`},i={addTitle:`Routing-Regel hinzufügen`,editTitle:`Routing-Regel bearbeiten`,addDescription:`Füge eine Tag-basierte Routing-Regel mit kebab-case-Tags in Kleinbuchstaben hinzu.`,editDescription:`Aktualisiere die Tags oder den Ziel-Agent dieser Regel.`,tagsLabel:`Tags`,tagsHint:`Kommagetrennt. Verwende kebab-case in Kleinbuchstaben wie <code>frontend</code> oder <code>api-design</code>.`,invalidTags_one:`Ungültiger Tag: {{tags}}. Tags dürfen nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.`,invalidTags_other:`Ungültige Tags: {{tags}}. Tags dürfen nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.`,routeToLabel:`Weiterleiten an`,routeToHint:`Nur Agents in der Kette dieses Profils können Routing-Ziele sein.`,addRule:`Regel hinzufügen`,saveChanges:`Änderungen speichern`},a={profileTitle:`Agent-Profil für diese Rail`,noProfile:`Kein Profil`,modelTitle:`Modell für diese ultracode-Rail`,engineTitle:`KI-Engine für diese Rail`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
1
|
+
var e={title:`Agents`,subtitle:`Agent-Profile und den Katalog (Upstream + Custom) für dieses Projekt verwalten.`,tabs:{profiles:`Profile`,usage:`Nutzung`,catalog:`Katalog`},banner:{title:`Profilgestützte Pipeline erfordert specrails-core {{required}}+`,body:`Dieses Projekt hat <code>{{version}}</code>. Führe <code>{{command}}</code> im Projekt aus, um den Profilmodus freizuschalten. Hier erstellte Profile werden trotzdem gespeichert; sie wirken sich nur erst nach dem Core-Update auf die Pipeline aus.`,unknownVersion:`unbekannt`}},t={loading:`Katalog wird geladen…`,aiEditChipLabel:`AI Edit · {{agentId}}`,errors:{loadFailed:`Katalog konnte nicht geladen werden: {{status}}`,bodyLoadFailed:`Agent-Inhalt konnte nicht geladen werden: {{status}}`,generateFailed:`Generierung fehlgeschlagen: {{status}}`,agentLoadFailed:`Laden fehlgeschlagen: {{status}}`},templates:{title:`Agent-Vorlagenbibliothek`,countOf:`{{shown}} von {{total}}`,description:`Starte mit einer kuratierten Vorlage aus Engineering, Produkt, Wissenschaft, Gesundheit, Recht und mehr. Wähle eine aus und öffne sie im Studio, um sie vor dem Speichern zu prüfen und zu bearbeiten.`,searchPlaceholder:`Nach Name, Beschreibung, Tag oder Kategorie suchen…`,allCategories:`Alle`,tagFilter:`Tag-Filter:`,noMatch:`Keine Vorlagen entsprechen deinen Filtern.`,clearFilters:`Filter zurücksetzen`,openInStudio:`Im Studio öffnen →`,tip:`Tipp: Klicke auf einen Tag-Chip auf einer Karte, um nach diesem Tag zu filtern.`},generate:{title:`Custom-Agent generieren`,agentIdLabel:`Agent-ID`,agentIdHint:`Muss mit <code>custom-</code> beginnen.`,descriptionLabel:`Beschreibe, was dieser Agent tun soll`,descriptionPlaceholder:`z. B. Terraform-/IaC-Änderungen reviewen und Sicherheits-Fehlkonfigurationen, übermäßige IAM-Berechtigungen und öffentliche S3-Buckets vor dem Merge markieren. Konservativ und knapp.`,note:`Claude entwirft einen vollständigen <code>.md</code>-Inhalt. Du prüfst ihn im Studio und kannst ihn vor dem Speichern bearbeiten. Dabei wird ein einmaliger claude-Aufruf gestartet, der bis zu 90 Sekunden dauern kann.`,generating:`Wird generiert…`,generateButton:`Generieren`},empty:{title:`Keine Agents installiert`,body:`Führe <code>{{command}}</code> in diesem Projekt aus, um die Upstream-Agents zu installieren, oder erstelle jetzt einen Custom-Agent.`},actions:{template:`Vorlage`,templateTitle:`Mit einer Vorlage starten`,generate:`Generieren`,generateWithClaude:`Mit Claude generieren`,blank:`Leer`,blankTitle:`Mit einer leeren Vorlage starten`},sidebar:{title:`Katalog`,createLabel:`Custom-Agent erstellen:`},sections:{upstream:`Upstream ({{count}})`,upstreamDescription:`Wird von specrails-core mitgeliefert; schreibgeschützt.`,custom:`Custom ({{count}})`,customDescription:`Die custom-*.md-Dateien deines Projekts. Nutze Vorlage / Generieren / Leer oben, um einen zu erstellen.`,noCustomAgents:`Noch keine Custom-Agents.`},detail:{defaultModel:`Standardmodell: {{model}}`,aiEdit:`AI Edit`,aiEditTitle:`Diesen Agent iterativ mit KI verfeinern`,readOnly:`schreibgeschützt`,editableHint:`bearbeitbar – nutze Bearbeiten oben`},kind:{upstream:`upstream`,custom:`custom`}},n={loading:`Profile werden geladen…`,selectPrompt:`Wähle ein Profil zum Bearbeiten`,errors:{listFailed:`Auflisten fehlgeschlagen: {{status}}`,loadFailed:`Laden fehlgeschlagen: {{status}}`,migrationFailed:`Migration fehlgeschlagen: {{status}}`,createFailed:`Erstellen fehlgeschlagen: {{status}}`,duplicateFailed:`Duplizieren fehlgeschlagen: {{status}}`,deleteFailed:`Löschen fehlgeschlagen: {{status}}`,saveFailed:`Speichern fehlgeschlagen: {{status}}`},toasts:{migrated:`Profil migriert`,migratedDescription:`default-Profil aus deinen aktuellen Agents erstellt`,migrationFailed:`Migration fehlgeschlagen`,created:`Profil erstellt`,createFailed:`Profil konnte nicht erstellt werden`,duplicated:`Profil dupliziert`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`Profil konnte nicht dupliziert werden`,deleted:`Profil gelöscht`,deleteFailed:`Profil konnte nicht gelöscht werden`,saved:`Profil gespeichert`,saveFailed:`Profil konnte nicht gespeichert werden`,savedWithUntargeted:`Profil mit nicht angesteuerten Agents gespeichert`,savedWithUntargetedDescription:`Keine Routing-Regel zeigt auf: {{agents}}. Füge eine Tag-Regel hinzu oder ändere das Ziel der Default-Regel, wenn sie laufen sollen.`},createDialog:{title:`Neues Profil`,description:`Wähle einen Namen in Kleinbuchstaben im kebab-case (Buchstaben, Ziffern und Bindestriche).`,confirmLabel:`Erstellen`,invalidHint:`Muss mit einem Buchstaben oder einer Ziffer beginnen und darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.`},duplicateDialog:{title:`„{{name}}“ duplizieren`,description:`Name für das neue Profil.`,invalidHint:`Nur Kleinbuchstaben im kebab-case.`},deleteDialog:{title:`Profil „{{name}}“ löschen?`,description:`Dies kann nicht rückgängig gemacht werden. Bereits mit diesem Profil gestartete Jobs behalten ihren Snapshot; künftige Starts fallen auf die Auflösungsreihenfolge zurück.`},empty:{title:`Noch keine Profile`,body:`Mit Profilen speicherst du Kombinationen aus Orchestrator + Agents + Routing und wählst pro Rail eines aus.`,migrateButton:`Aus aktuellen Agents migrieren`,blankButton:`Leeres Profil`,migrateExplainer:`„Migrieren“ liest die Frontmatter-Modelle deiner bestehenden <code>.claude/agents/</code>-Dateien und erstellt ein <code>default</code>-Profil, das das heutige Verhalten verlustfrei abbildet.`},sidebar:{title:`Profile`,teamDefault:`(Team-Standard)`},editorFooter:{fixValidationIssues:`Behebe Validierungsprobleme vor dem Speichern`,issuesToResolve_one:`{{count}} Problem zu beheben`,issuesToResolve_other:`{{count}} Probleme zu beheben`}},r={title:`Profilnutzung`,windowLabel:`{{days}}d`,subtitleEmpty:`Gestartete Jobs pro Profil im gewählten Zeitraum.`,subtitle:`Gestartete Jobs pro Profil in den letzten {{count}} Tagen.`,empty:`Noch keine profilgebundenen Jobs.`,jobsTooltip:`Jobs`,jobsLabel_one:`Job`,jobsLabel_other:`Jobs`,successRateTooltip:`Erfolgsquote`,okSuffix:`ok`,avgDurationTooltip:`Ø Dauer`,avgTokensTooltip:`Ø Tokens`,tokensSuffix:`tok`},i={addTitle:`Routing-Regel hinzufügen`,editTitle:`Routing-Regel bearbeiten`,addDescription:`Füge eine Tag-basierte Routing-Regel mit kebab-case-Tags in Kleinbuchstaben hinzu.`,editDescription:`Aktualisiere die Tags oder den Ziel-Agent dieser Regel.`,tagsLabel:`Tags`,tagsHint:`Kommagetrennt. Verwende kebab-case in Kleinbuchstaben wie <code>frontend</code> oder <code>api-design</code>.`,invalidTags_one:`Ungültiger Tag: {{tags}}. Tags dürfen nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.`,invalidTags_other:`Ungültige Tags: {{tags}}. Tags dürfen nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.`,routeToLabel:`Weiterleiten an`,routeToHint:`Nur Agents in der Kette dieses Profils können Routing-Ziele sein.`,addRule:`Regel hinzufügen`,saveChanges:`Änderungen speichern`},a={profileTitle:`Agent-Profil für diese Rail`,noProfile:`Kein Profil`,modelTitle:`Modell für diese ultracode-Rail`,loopModelTitle:`Modell für diesen Loop`,engineTitle:`KI-Engine für diese Rail`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`エージェント`,subtitle:`このプロジェクトのエージェントプロファイルとカタログ(アップストリーム + カスタム)を管理します。`,tabs:{profiles:`プロファイル`,usage:`使用状況`,catalog:`カタログ`},banner:{title:`プロファイル対応パイプラインには specrails-core {{required}}+ が必要です`,body:`このプロジェクトのバージョンは <code>{{version}}</code> です。プロジェクト内で <code>{{command}}</code> を実行するとプロファイルモードが有効になります。ここで作成したプロファイルは保存されますが、core を更新するまでパイプラインには影響しません。`,unknownVersion:`不明`}},t={loading:`カタログを読み込み中…`,aiEditChipLabel:`AI編集 · {{agentId}}`,errors:{loadFailed:`カタログの読み込みに失敗しました: {{status}}`,bodyLoadFailed:`エージェント本文の読み込みに失敗しました: {{status}}`,generateFailed:`生成に失敗しました: {{status}}`,agentLoadFailed:`読み込みに失敗しました: {{status}}`},templates:{title:`エージェントテンプレートライブラリ`,countOf:`{{shown}} / {{total}}`,description:`エンジニアリング、プロダクト、科学、医療、法務など、厳選されたテンプレートから始められます。1つ選んで Studio で開き、確認・編集してから保存してください。`,searchPlaceholder:`名前、説明、タグ、カテゴリで検索…`,allCategories:`すべて`,tagFilter:`タグフィルター:`,noMatch:`フィルターに一致するテンプレートはありません。`,clearFilters:`フィルターをクリア`,openInStudio:`Studio で開く →`,tip:`ヒント: カードのタグをクリックすると、そのタグで絞り込めます。`},generate:{title:`カスタムエージェントを生成`,agentIdLabel:`エージェント ID`,agentIdHint:`<code>custom-</code> で始まる必要があります。`,descriptionLabel:`このエージェントの役割を記述してください`,descriptionPlaceholder:`例: Terraform/IaC の変更をレビューし、マージ前にセキュリティ設定ミス、過剰な IAM 権限、公開 S3 バケットを指摘する。保守的かつ簡潔に。`,note:`Claude が完全な <code>.md</code> 本文をドラフトします。Studio で確認し、保存前に編集できます。ワンショットの claude 呼び出しが起動され、最大 90 秒かかることがあります。`,generating:`生成中…`,generateButton:`生成`},empty:{title:`エージェントがインストールされていません`,body:`このプロジェクトで <code>{{command}}</code> を実行してアップストリームのエージェントをインストールするか、今すぐカスタムエージェントを作成してください。`},actions:{template:`テンプレート`,templateTitle:`テンプレートから始める`,generate:`生成`,generateWithClaude:`Claude で生成`,blank:`ブランク`,blankTitle:`空のテンプレートから始める`},sidebar:{title:`カタログ`,createLabel:`カスタムエージェントを作成:`},sections:{upstream:`アップストリーム ({{count}})`,upstreamDescription:`specrails-core 付属。読み取り専用です。`,custom:`カスタム ({{count}})`,customDescription:`このプロジェクトの custom-*.md ファイルです。上のテンプレート / 生成 / ブランクから作成できます。`,noCustomAgents:`カスタムエージェントはまだありません。`},detail:{defaultModel:`デフォルトモデル: {{model}}`,aiEdit:`AI編集`,aiEditTitle:`AI でこのエージェントを反復的に改良`,readOnly:`読み取り専用`,editableHint:`編集可能 — 上の「編集」を使用`},kind:{upstream:`アップストリーム`,custom:`カスタム`}},n={loading:`プロファイルを読み込み中…`,selectPrompt:`編集するプロファイルを選択してください`,errors:{listFailed:`一覧の取得に失敗しました: {{status}}`,loadFailed:`読み込みに失敗しました: {{status}}`,migrationFailed:`移行に失敗しました: {{status}}`,createFailed:`作成に失敗しました: {{status}}`,duplicateFailed:`複製に失敗しました: {{status}}`,deleteFailed:`削除に失敗しました: {{status}}`,saveFailed:`保存に失敗しました: {{status}}`},toasts:{migrated:`プロファイルを移行しました`,migratedDescription:`現在のエージェントから default プロファイルを作成しました`,migrationFailed:`移行に失敗しました`,created:`プロファイルを作成しました`,createFailed:`プロファイルの作成に失敗しました`,duplicated:`プロファイルを複製しました`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`プロファイルの複製に失敗しました`,deleted:`プロファイルを削除しました`,deleteFailed:`プロファイルの削除に失敗しました`,saved:`プロファイルを保存しました`,saveFailed:`プロファイルの保存に失敗しました`,savedWithUntargeted:`未ターゲットのエージェントを含むプロファイルを保存しました`,savedWithUntargetedDescription:`ルーティングルールが次のエージェントを指していません: {{agents}}。実行させたい場合は、タグルールを追加するか default ルールのターゲットを変更してください。`},createDialog:{title:`新規プロファイル`,description:`小文字のケバブケース名(英小文字、数字、ハイフン)を指定してください。`,confirmLabel:`作成`,invalidHint:`先頭は英小文字または数字で、英小文字・数字・ハイフンのみ使用できます。`},duplicateDialog:{title:`「{{name}}」を複製`,description:`新しいプロファイルの名前。`,invalidHint:`小文字のケバブケースのみ。`},deleteDialog:{title:`プロファイル「{{name}}」を削除しますか?`,description:`この操作は元に戻せません。このプロファイルで起動済みのジョブはスナップショットを保持します。今後の起動は解決順序にフォールバックします。`},empty:{title:`プロファイルはまだありません`,body:`プロファイルを使うと、オーケストレーター + エージェント + ルーティングの組み合わせを保存し、レールごとに選択できます。`,migrateButton:`現在のエージェントから移行`,blankButton:`空のプロファイル`,migrateExplainer:`「移行」は既存の <code>.claude/agents/</code> フロントマターのモデルを読み取り、現在の動作をそのまま再現する <code>default</code> プロファイルを作成します — 損失ゼロです。`},sidebar:{title:`プロファイル`,teamDefault:`(チームデフォルト)`},editorFooter:{fixValidationIssues:`保存する前に検証エラーを修正してください`,issuesToResolve_one:`未解決の問題が {{count}} 件`,issuesToResolve_other:`未解決の問題が {{count}} 件`}},r={title:`プロファイル使用状況`,windowLabel:`{{days}}日`,subtitleEmpty:`選択した期間にプロファイルごとに起動されたジョブ数。`,subtitle:`過去 {{count}} 日間にプロファイルごとに起動されたジョブ数。`,empty:`プロファイル指定のジョブはまだありません。`,jobsTooltip:`ジョブ`,jobsLabel_one:`ジョブ`,jobsLabel_other:`ジョブ`,successRateTooltip:`成功率`,okSuffix:`ok`,avgDurationTooltip:`平均実行時間`,avgTokensTooltip:`平均トークン数`,tokensSuffix:`tok`},i={addTitle:`ルーティングルールを追加`,editTitle:`ルーティングルールを編集`,addDescription:`小文字ケバブケースのタグでマッチするルーティングルールを追加します。`,editDescription:`このルールのタグまたはターゲットエージェントを更新します。`,tagsLabel:`タグ`,tagsHint:`カンマ区切り。<code>frontend</code> や <code>api-design</code> のような小文字ケバブケースを使用してください。`,invalidTags_one:`無効なタグ: {{tags}}。タグには英小文字・数字・ハイフンのみ使用できます。`,invalidTags_other:`無効なタグ: {{tags}}。タグには英小文字・数字・ハイフンのみ使用できます。`,routeToLabel:`ルーティング先`,routeToHint:`このプロファイルのチェーンに含まれるエージェントのみルーティング先に指定できます。`,addRule:`ルールを追加`,saveChanges:`変更を保存`},a={profileTitle:`このレールのエージェントプロファイル`,noProfile:`プロファイルなし`,modelTitle:`この ultracode レールのモデル`,engineTitle:`このレールの AI エンジン`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
1
|
+
var e={title:`エージェント`,subtitle:`このプロジェクトのエージェントプロファイルとカタログ(アップストリーム + カスタム)を管理します。`,tabs:{profiles:`プロファイル`,usage:`使用状況`,catalog:`カタログ`},banner:{title:`プロファイル対応パイプラインには specrails-core {{required}}+ が必要です`,body:`このプロジェクトのバージョンは <code>{{version}}</code> です。プロジェクト内で <code>{{command}}</code> を実行するとプロファイルモードが有効になります。ここで作成したプロファイルは保存されますが、core を更新するまでパイプラインには影響しません。`,unknownVersion:`不明`}},t={loading:`カタログを読み込み中…`,aiEditChipLabel:`AI編集 · {{agentId}}`,errors:{loadFailed:`カタログの読み込みに失敗しました: {{status}}`,bodyLoadFailed:`エージェント本文の読み込みに失敗しました: {{status}}`,generateFailed:`生成に失敗しました: {{status}}`,agentLoadFailed:`読み込みに失敗しました: {{status}}`},templates:{title:`エージェントテンプレートライブラリ`,countOf:`{{shown}} / {{total}}`,description:`エンジニアリング、プロダクト、科学、医療、法務など、厳選されたテンプレートから始められます。1つ選んで Studio で開き、確認・編集してから保存してください。`,searchPlaceholder:`名前、説明、タグ、カテゴリで検索…`,allCategories:`すべて`,tagFilter:`タグフィルター:`,noMatch:`フィルターに一致するテンプレートはありません。`,clearFilters:`フィルターをクリア`,openInStudio:`Studio で開く →`,tip:`ヒント: カードのタグをクリックすると、そのタグで絞り込めます。`},generate:{title:`カスタムエージェントを生成`,agentIdLabel:`エージェント ID`,agentIdHint:`<code>custom-</code> で始まる必要があります。`,descriptionLabel:`このエージェントの役割を記述してください`,descriptionPlaceholder:`例: Terraform/IaC の変更をレビューし、マージ前にセキュリティ設定ミス、過剰な IAM 権限、公開 S3 バケットを指摘する。保守的かつ簡潔に。`,note:`Claude が完全な <code>.md</code> 本文をドラフトします。Studio で確認し、保存前に編集できます。ワンショットの claude 呼び出しが起動され、最大 90 秒かかることがあります。`,generating:`生成中…`,generateButton:`生成`},empty:{title:`エージェントがインストールされていません`,body:`このプロジェクトで <code>{{command}}</code> を実行してアップストリームのエージェントをインストールするか、今すぐカスタムエージェントを作成してください。`},actions:{template:`テンプレート`,templateTitle:`テンプレートから始める`,generate:`生成`,generateWithClaude:`Claude で生成`,blank:`ブランク`,blankTitle:`空のテンプレートから始める`},sidebar:{title:`カタログ`,createLabel:`カスタムエージェントを作成:`},sections:{upstream:`アップストリーム ({{count}})`,upstreamDescription:`specrails-core 付属。読み取り専用です。`,custom:`カスタム ({{count}})`,customDescription:`このプロジェクトの custom-*.md ファイルです。上のテンプレート / 生成 / ブランクから作成できます。`,noCustomAgents:`カスタムエージェントはまだありません。`},detail:{defaultModel:`デフォルトモデル: {{model}}`,aiEdit:`AI編集`,aiEditTitle:`AI でこのエージェントを反復的に改良`,readOnly:`読み取り専用`,editableHint:`編集可能 — 上の「編集」を使用`},kind:{upstream:`アップストリーム`,custom:`カスタム`}},n={loading:`プロファイルを読み込み中…`,selectPrompt:`編集するプロファイルを選択してください`,errors:{listFailed:`一覧の取得に失敗しました: {{status}}`,loadFailed:`読み込みに失敗しました: {{status}}`,migrationFailed:`移行に失敗しました: {{status}}`,createFailed:`作成に失敗しました: {{status}}`,duplicateFailed:`複製に失敗しました: {{status}}`,deleteFailed:`削除に失敗しました: {{status}}`,saveFailed:`保存に失敗しました: {{status}}`},toasts:{migrated:`プロファイルを移行しました`,migratedDescription:`現在のエージェントから default プロファイルを作成しました`,migrationFailed:`移行に失敗しました`,created:`プロファイルを作成しました`,createFailed:`プロファイルの作成に失敗しました`,duplicated:`プロファイルを複製しました`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`プロファイルの複製に失敗しました`,deleted:`プロファイルを削除しました`,deleteFailed:`プロファイルの削除に失敗しました`,saved:`プロファイルを保存しました`,saveFailed:`プロファイルの保存に失敗しました`,savedWithUntargeted:`未ターゲットのエージェントを含むプロファイルを保存しました`,savedWithUntargetedDescription:`ルーティングルールが次のエージェントを指していません: {{agents}}。実行させたい場合は、タグルールを追加するか default ルールのターゲットを変更してください。`},createDialog:{title:`新規プロファイル`,description:`小文字のケバブケース名(英小文字、数字、ハイフン)を指定してください。`,confirmLabel:`作成`,invalidHint:`先頭は英小文字または数字で、英小文字・数字・ハイフンのみ使用できます。`},duplicateDialog:{title:`「{{name}}」を複製`,description:`新しいプロファイルの名前。`,invalidHint:`小文字のケバブケースのみ。`},deleteDialog:{title:`プロファイル「{{name}}」を削除しますか?`,description:`この操作は元に戻せません。このプロファイルで起動済みのジョブはスナップショットを保持します。今後の起動は解決順序にフォールバックします。`},empty:{title:`プロファイルはまだありません`,body:`プロファイルを使うと、オーケストレーター + エージェント + ルーティングの組み合わせを保存し、レールごとに選択できます。`,migrateButton:`現在のエージェントから移行`,blankButton:`空のプロファイル`,migrateExplainer:`「移行」は既存の <code>.claude/agents/</code> フロントマターのモデルを読み取り、現在の動作をそのまま再現する <code>default</code> プロファイルを作成します — 損失ゼロです。`},sidebar:{title:`プロファイル`,teamDefault:`(チームデフォルト)`},editorFooter:{fixValidationIssues:`保存する前に検証エラーを修正してください`,issuesToResolve_one:`未解決の問題が {{count}} 件`,issuesToResolve_other:`未解決の問題が {{count}} 件`}},r={title:`プロファイル使用状況`,windowLabel:`{{days}}日`,subtitleEmpty:`選択した期間にプロファイルごとに起動されたジョブ数。`,subtitle:`過去 {{count}} 日間にプロファイルごとに起動されたジョブ数。`,empty:`プロファイル指定のジョブはまだありません。`,jobsTooltip:`ジョブ`,jobsLabel_one:`ジョブ`,jobsLabel_other:`ジョブ`,successRateTooltip:`成功率`,okSuffix:`ok`,avgDurationTooltip:`平均実行時間`,avgTokensTooltip:`平均トークン数`,tokensSuffix:`tok`},i={addTitle:`ルーティングルールを追加`,editTitle:`ルーティングルールを編集`,addDescription:`小文字ケバブケースのタグでマッチするルーティングルールを追加します。`,editDescription:`このルールのタグまたはターゲットエージェントを更新します。`,tagsLabel:`タグ`,tagsHint:`カンマ区切り。<code>frontend</code> や <code>api-design</code> のような小文字ケバブケースを使用してください。`,invalidTags_one:`無効なタグ: {{tags}}。タグには英小文字・数字・ハイフンのみ使用できます。`,invalidTags_other:`無効なタグ: {{tags}}。タグには英小文字・数字・ハイフンのみ使用できます。`,routeToLabel:`ルーティング先`,routeToHint:`このプロファイルのチェーンに含まれるエージェントのみルーティング先に指定できます。`,addRule:`ルールを追加`,saveChanges:`変更を保存`},a={profileTitle:`このレールのエージェントプロファイル`,noProfile:`プロファイルなし`,modelTitle:`この ultracode レールのモデル`,loopModelTitle:`このループのモデル`,engineTitle:`このレールの AI エンジン`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Agents`,subtitle:`Gérez les profils d'agents et le catalogue (upstream + personnalisés) de ce projet.`,tabs:{profiles:`Profils`,usage:`Utilisation`,catalog:`Catalogue`},banner:{title:`Le pipeline avec profils nécessite specrails-core {{required}}+`,body:`Ce projet utilise <code>{{version}}</code>. Exécutez <code>{{command}}</code> dans le projet pour débloquer le mode profil. Les profils créés ici seront tout de même enregistrés ; ils n'affecteront simplement pas le pipeline tant que core n'est pas mis à jour.`,unknownVersion:`inconnue`}},t={loading:`Chargement du catalogue…`,aiEditChipLabel:`Édition IA · {{agentId}}`,errors:{loadFailed:`Échec du chargement du catalogue : {{status}}`,bodyLoadFailed:`Échec du chargement du corps de l'agent : {{status}}`,generateFailed:`Échec de la génération : {{status}}`,agentLoadFailed:`Échec du chargement : {{status}}`},templates:{title:`Bibliothèque de templates d'agents`,countOf:`{{shown}} sur {{total}}`,description:`Partez d'un template sélectionné dans l'ingénierie, le produit, la science, la santé, le juridique et plus encore. Choisissez-en un et ouvrez-le dans le Studio pour le relire et le modifier avant d'enregistrer.`,searchPlaceholder:`Rechercher par nom, description, tag ou catégorie…`,allCategories:`Toutes`,tagFilter:`Filtre de tags :`,noMatch:`Aucun template ne correspond à vos filtres.`,clearFilters:`Effacer les filtres`,openInStudio:`Ouvrir dans le Studio →`,tip:`Astuce : cliquez sur la pastille d'un tag sur une carte pour filtrer sur ce tag.`},generate:{title:`Générer un agent personnalisé`,agentIdLabel:`ID de l'agent`,agentIdHint:`Doit commencer par <code>custom-</code>.`,descriptionLabel:`Décrivez ce que cet agent doit faire`,descriptionPlaceholder:`ex. Relire les modifications Terraform/IaC et signaler les erreurs de configuration de sécurité, les permissions IAM excessives et les buckets S3 publics avant le merge. Conservateur et concis.`,note:`Claude rédigera un corps <code>.md</code> complet. Vous le relirez dans le Studio et pourrez le modifier avant d'enregistrer. Cela lance une invocation claude unique et peut prendre jusqu'à 90 secondes.`,generating:`Génération…`,generateButton:`Générer`},empty:{title:`Aucun agent installé`,body:`Exécutez <code>{{command}}</code> dans ce projet pour installer les agents upstream, ou créez un agent personnalisé dès maintenant.`},actions:{template:`Template`,templateTitle:`Partir d'un template`,generate:`Générer`,generateWithClaude:`Générer avec Claude`,blank:`Vierge`,blankTitle:`Partir d'un template vierge`},sidebar:{title:`Catalogue`,createLabel:`Créer un agent personnalisé :`},sections:{upstream:`Upstream ({{count}})`,upstreamDescription:`Fournis par specrails-core ; lecture seule.`,custom:`Personnalisés ({{count}})`,customDescription:`Les fichiers custom-*.md de votre projet. Utilisez Template / Générer / Vierge ci-dessus pour en créer un.`,noCustomAgents:`Aucun agent personnalisé pour l'instant.`},detail:{defaultModel:`modèle par défaut : {{model}}`,aiEdit:`Édition IA`,aiEditTitle:`Affiner cet agent de manière itérative avec l'IA`,readOnly:`lecture seule`,editableHint:`modifiable — utilisez Modifier ci-dessus`},kind:{upstream:`upstream`,custom:`personnalisé`}},n={loading:`Chargement des profils…`,selectPrompt:`Sélectionnez un profil à modifier`,errors:{listFailed:`Échec du listage : {{status}}`,loadFailed:`Échec du chargement : {{status}}`,migrationFailed:`Échec de la migration : {{status}}`,createFailed:`Échec de la création : {{status}}`,duplicateFailed:`Échec de la duplication : {{status}}`,deleteFailed:`Échec de la suppression : {{status}}`,saveFailed:`Échec de l'enregistrement : {{status}}`},toasts:{migrated:`Profil migré`,migratedDescription:`profil default créé à partir de vos agents actuels`,migrationFailed:`Échec de la migration`,created:`Profil créé`,createFailed:`Échec de la création du profil`,duplicated:`Profil dupliqué`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`Échec de la duplication du profil`,deleted:`Profil supprimé`,deleteFailed:`Échec de la suppression du profil`,saved:`Profil enregistré`,saveFailed:`Échec de l'enregistrement du profil`,savedWithUntargeted:`Profil enregistré avec des agents non ciblés`,savedWithUntargetedDescription:`Aucune règle de routage ne pointe vers : {{agents}}. Ajoutez une règle de tag ou reciblez la règle par défaut si vous voulez qu'ils s'exécutent.`},createDialog:{title:`Nouveau profil`,description:`Choisissez un nom en kebab-case minuscule (lettres, chiffres et tirets).`,confirmLabel:`Créer`,invalidHint:`Doit commencer par une lettre ou un chiffre et ne contenir que des lettres minuscules, des chiffres et des tirets.`},duplicateDialog:{title:`Dupliquer « {{name}} »`,description:`Nom du nouveau profil.`,invalidHint:`Kebab-case minuscule uniquement.`},deleteDialog:{title:`Supprimer le profil « {{name}} » ?`,description:`Cette action est irréversible. Les jobs déjà lancés avec ce profil conservent leur snapshot ; les prochains lancements reviendront à l'ordre de résolution.`},empty:{title:`Aucun profil pour l'instant`,body:`Les profils vous permettent d'enregistrer des combinaisons orchestrateur + agents + routage et d'en choisir une par rail.`,migrateButton:`Migrer depuis les agents actuels`,blankButton:`Profil vierge`,migrateExplainer:`« Migrer » lit les modèles du frontmatter de vos <code>.claude/agents/</code> existants et crée un profil <code>default</code> reproduisant le comportement actuel — sans aucune perte.`},sidebar:{title:`Profils`,teamDefault:`(défaut de l'équipe)`},editorFooter:{fixValidationIssues:`Corrigez les problèmes de validation avant d'enregistrer`,issuesToResolve_one:`{{count}} problème à résoudre`,issuesToResolve_other:`{{count}} problèmes à résoudre`}},r={title:`Utilisation des profils`,windowLabel:`{{days}}j`,subtitleEmpty:`Jobs lancés par profil sur la période sélectionnée.`,subtitle:`Jobs lancés par profil au cours des {{count}} derniers jours.`,empty:`Aucun job lié à un profil pour l'instant.`,jobsTooltip:`jobs`,jobsLabel_one:`job`,jobsLabel_other:`jobs`,successRateTooltip:`taux de réussite`,okSuffix:`ok`,avgDurationTooltip:`durée moyenne`,avgTokensTooltip:`tokens en moyenne`,tokensSuffix:`tok`},i={addTitle:`Ajouter une règle de routage`,editTitle:`Modifier la règle de routage`,addDescription:`Ajoutez une règle de routage par tags en kebab-case minuscule.`,editDescription:`Mettez à jour les tags ou l'agent cible de cette règle.`,tagsLabel:`Tags`,tagsHint:`Séparés par des virgules. Utilisez le kebab-case minuscule, comme <code>frontend</code> ou <code>api-design</code>.`,invalidTags_one:`Tag invalide : {{tags}}. Les tags ne peuvent contenir que des lettres minuscules, des chiffres et des tirets.`,invalidTags_other:`Tags invalides : {{tags}}. Les tags ne peuvent contenir que des lettres minuscules, des chiffres et des tirets.`,routeToLabel:`Router vers`,routeToHint:`Seuls les agents de la chaîne de ce profil peuvent être des cibles de routage.`,addRule:`Ajouter la règle`,saveChanges:`Enregistrer les modifications`},a={profileTitle:`Profil d'agents pour ce rail`,noProfile:`Aucun profil`,modelTitle:`Modèle pour ce rail ultracode`,engineTitle:`Moteur IA pour ce rail`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
1
|
+
var e={title:`Agents`,subtitle:`Gérez les profils d'agents et le catalogue (upstream + personnalisés) de ce projet.`,tabs:{profiles:`Profils`,usage:`Utilisation`,catalog:`Catalogue`},banner:{title:`Le pipeline avec profils nécessite specrails-core {{required}}+`,body:`Ce projet utilise <code>{{version}}</code>. Exécutez <code>{{command}}</code> dans le projet pour débloquer le mode profil. Les profils créés ici seront tout de même enregistrés ; ils n'affecteront simplement pas le pipeline tant que core n'est pas mis à jour.`,unknownVersion:`inconnue`}},t={loading:`Chargement du catalogue…`,aiEditChipLabel:`Édition IA · {{agentId}}`,errors:{loadFailed:`Échec du chargement du catalogue : {{status}}`,bodyLoadFailed:`Échec du chargement du corps de l'agent : {{status}}`,generateFailed:`Échec de la génération : {{status}}`,agentLoadFailed:`Échec du chargement : {{status}}`},templates:{title:`Bibliothèque de templates d'agents`,countOf:`{{shown}} sur {{total}}`,description:`Partez d'un template sélectionné dans l'ingénierie, le produit, la science, la santé, le juridique et plus encore. Choisissez-en un et ouvrez-le dans le Studio pour le relire et le modifier avant d'enregistrer.`,searchPlaceholder:`Rechercher par nom, description, tag ou catégorie…`,allCategories:`Toutes`,tagFilter:`Filtre de tags :`,noMatch:`Aucun template ne correspond à vos filtres.`,clearFilters:`Effacer les filtres`,openInStudio:`Ouvrir dans le Studio →`,tip:`Astuce : cliquez sur la pastille d'un tag sur une carte pour filtrer sur ce tag.`},generate:{title:`Générer un agent personnalisé`,agentIdLabel:`ID de l'agent`,agentIdHint:`Doit commencer par <code>custom-</code>.`,descriptionLabel:`Décrivez ce que cet agent doit faire`,descriptionPlaceholder:`ex. Relire les modifications Terraform/IaC et signaler les erreurs de configuration de sécurité, les permissions IAM excessives et les buckets S3 publics avant le merge. Conservateur et concis.`,note:`Claude rédigera un corps <code>.md</code> complet. Vous le relirez dans le Studio et pourrez le modifier avant d'enregistrer. Cela lance une invocation claude unique et peut prendre jusqu'à 90 secondes.`,generating:`Génération…`,generateButton:`Générer`},empty:{title:`Aucun agent installé`,body:`Exécutez <code>{{command}}</code> dans ce projet pour installer les agents upstream, ou créez un agent personnalisé dès maintenant.`},actions:{template:`Template`,templateTitle:`Partir d'un template`,generate:`Générer`,generateWithClaude:`Générer avec Claude`,blank:`Vierge`,blankTitle:`Partir d'un template vierge`},sidebar:{title:`Catalogue`,createLabel:`Créer un agent personnalisé :`},sections:{upstream:`Upstream ({{count}})`,upstreamDescription:`Fournis par specrails-core ; lecture seule.`,custom:`Personnalisés ({{count}})`,customDescription:`Les fichiers custom-*.md de votre projet. Utilisez Template / Générer / Vierge ci-dessus pour en créer un.`,noCustomAgents:`Aucun agent personnalisé pour l'instant.`},detail:{defaultModel:`modèle par défaut : {{model}}`,aiEdit:`Édition IA`,aiEditTitle:`Affiner cet agent de manière itérative avec l'IA`,readOnly:`lecture seule`,editableHint:`modifiable — utilisez Modifier ci-dessus`},kind:{upstream:`upstream`,custom:`personnalisé`}},n={loading:`Chargement des profils…`,selectPrompt:`Sélectionnez un profil à modifier`,errors:{listFailed:`Échec du listage : {{status}}`,loadFailed:`Échec du chargement : {{status}}`,migrationFailed:`Échec de la migration : {{status}}`,createFailed:`Échec de la création : {{status}}`,duplicateFailed:`Échec de la duplication : {{status}}`,deleteFailed:`Échec de la suppression : {{status}}`,saveFailed:`Échec de l'enregistrement : {{status}}`},toasts:{migrated:`Profil migré`,migratedDescription:`profil default créé à partir de vos agents actuels`,migrationFailed:`Échec de la migration`,created:`Profil créé`,createFailed:`Échec de la création du profil`,duplicated:`Profil dupliqué`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`Échec de la duplication du profil`,deleted:`Profil supprimé`,deleteFailed:`Échec de la suppression du profil`,saved:`Profil enregistré`,saveFailed:`Échec de l'enregistrement du profil`,savedWithUntargeted:`Profil enregistré avec des agents non ciblés`,savedWithUntargetedDescription:`Aucune règle de routage ne pointe vers : {{agents}}. Ajoutez une règle de tag ou reciblez la règle par défaut si vous voulez qu'ils s'exécutent.`},createDialog:{title:`Nouveau profil`,description:`Choisissez un nom en kebab-case minuscule (lettres, chiffres et tirets).`,confirmLabel:`Créer`,invalidHint:`Doit commencer par une lettre ou un chiffre et ne contenir que des lettres minuscules, des chiffres et des tirets.`},duplicateDialog:{title:`Dupliquer « {{name}} »`,description:`Nom du nouveau profil.`,invalidHint:`Kebab-case minuscule uniquement.`},deleteDialog:{title:`Supprimer le profil « {{name}} » ?`,description:`Cette action est irréversible. Les jobs déjà lancés avec ce profil conservent leur snapshot ; les prochains lancements reviendront à l'ordre de résolution.`},empty:{title:`Aucun profil pour l'instant`,body:`Les profils vous permettent d'enregistrer des combinaisons orchestrateur + agents + routage et d'en choisir une par rail.`,migrateButton:`Migrer depuis les agents actuels`,blankButton:`Profil vierge`,migrateExplainer:`« Migrer » lit les modèles du frontmatter de vos <code>.claude/agents/</code> existants et crée un profil <code>default</code> reproduisant le comportement actuel — sans aucune perte.`},sidebar:{title:`Profils`,teamDefault:`(défaut de l'équipe)`},editorFooter:{fixValidationIssues:`Corrigez les problèmes de validation avant d'enregistrer`,issuesToResolve_one:`{{count}} problème à résoudre`,issuesToResolve_other:`{{count}} problèmes à résoudre`}},r={title:`Utilisation des profils`,windowLabel:`{{days}}j`,subtitleEmpty:`Jobs lancés par profil sur la période sélectionnée.`,subtitle:`Jobs lancés par profil au cours des {{count}} derniers jours.`,empty:`Aucun job lié à un profil pour l'instant.`,jobsTooltip:`jobs`,jobsLabel_one:`job`,jobsLabel_other:`jobs`,successRateTooltip:`taux de réussite`,okSuffix:`ok`,avgDurationTooltip:`durée moyenne`,avgTokensTooltip:`tokens en moyenne`,tokensSuffix:`tok`},i={addTitle:`Ajouter une règle de routage`,editTitle:`Modifier la règle de routage`,addDescription:`Ajoutez une règle de routage par tags en kebab-case minuscule.`,editDescription:`Mettez à jour les tags ou l'agent cible de cette règle.`,tagsLabel:`Tags`,tagsHint:`Séparés par des virgules. Utilisez le kebab-case minuscule, comme <code>frontend</code> ou <code>api-design</code>.`,invalidTags_one:`Tag invalide : {{tags}}. Les tags ne peuvent contenir que des lettres minuscules, des chiffres et des tirets.`,invalidTags_other:`Tags invalides : {{tags}}. Les tags ne peuvent contenir que des lettres minuscules, des chiffres et des tirets.`,routeToLabel:`Router vers`,routeToHint:`Seuls les agents de la chaîne de ce profil peuvent être des cibles de routage.`,addRule:`Ajouter la règle`,saveChanges:`Enregistrer les modifications`},a={profileTitle:`Profil d'agents pour ce rail`,noProfile:`Aucun profil`,modelTitle:`Modèle pour ce rail ultracode`,loopModelTitle:`Modèle pour ce loop`,engineTitle:`Moteur IA pour ce rail`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Agents`,subtitle:`管理此项目的 Agent Profile 和目录(上游 + 自定义)。`,tabs:{profiles:`Profile`,usage:`用量`,catalog:`目录`},banner:{title:`Profile 感知流水线需要 specrails-core {{required}}+`,body:`此项目当前为 <code>{{version}}</code>。在项目内运行 <code>{{command}}</code> 以解锁 Profile 模式。在此创建的 Profile 仍会保存,只是在 core 更新前不会影响流水线。`,unknownVersion:`未知`}},t={loading:`正在加载目录…`,aiEditChipLabel:`AI 编辑 · {{agentId}}`,errors:{loadFailed:`目录加载失败:{{status}}`,bodyLoadFailed:`Agent 正文加载失败:{{status}}`,generateFailed:`生成失败:{{status}}`,agentLoadFailed:`加载失败:{{status}}`},templates:{title:`Agent 模板库`,countOf:`{{shown}} / {{total}}`,description:`从精选模板开始,覆盖工程、产品、科学、健康、法律等领域。挑选一个并在 Studio 中打开,审阅和编辑后再保存。`,searchPlaceholder:`按名称、描述、标签或分类搜索…`,allCategories:`全部`,tagFilter:`标签筛选:`,noMatch:`没有符合筛选条件的模板。`,clearFilters:`清除筛选`,openInStudio:`在 Studio 中打开 →`,tip:`提示:点击任意卡片上的标签即可按该标签筛选。`},generate:{title:`生成自定义 Agent`,agentIdLabel:`Agent ID`,agentIdHint:`必须以 <code>custom-</code> 开头。`,descriptionLabel:`描述此 Agent 的职责`,descriptionPlaceholder:`例如:审查 Terraform/IaC 变更,在合并前标记安全配置错误、过度的 IAM 权限和公开的 S3 存储桶。风格保守、简洁。`,note:`Claude 会起草完整的 <code>.md</code> 正文。你将在 Studio 中审阅,并可在保存前编辑。此操作会启动一次性的 claude 调用,最长可能需要 90 秒。`,generating:`正在生成…`,generateButton:`生成`},empty:{title:`尚未安装任何 Agent`,body:`在此项目中运行 <code>{{command}}</code> 安装上游 Agent,或立即创建一个自定义 Agent。`},actions:{template:`模板`,templateTitle:`从模板开始`,generate:`生成`,generateWithClaude:`用 Claude 生成`,blank:`空白`,blankTitle:`从空白模板开始`},sidebar:{title:`目录`,createLabel:`创建自定义 Agent:`},sections:{upstream:`上游({{count}})`,upstreamDescription:`由 specrails-core 提供;只读。`,custom:`自定义({{count}})`,customDescription:`项目中的 custom-*.md 文件。使用上方的模板 / 生成 / 空白来创建。`,noCustomAgents:`暂无自定义 Agent。`},detail:{defaultModel:`默认模型:{{model}}`,aiEdit:`AI 编辑`,aiEditTitle:`用 AI 迭代优化此 Agent`,readOnly:`只读`,editableHint:`可编辑——使用上方的“编辑”`},kind:{upstream:`上游`,custom:`自定义`}},n={loading:`正在加载 Profile…`,selectPrompt:`选择要编辑的 Profile`,errors:{listFailed:`列表加载失败:{{status}}`,loadFailed:`加载失败:{{status}}`,migrationFailed:`迁移失败:{{status}}`,createFailed:`创建失败:{{status}}`,duplicateFailed:`复制失败:{{status}}`,deleteFailed:`删除失败:{{status}}`,saveFailed:`保存失败:{{status}}`},toasts:{migrated:`Profile 已迁移`,migratedDescription:`已根据当前 Agent 创建 default Profile`,migrationFailed:`迁移失败`,created:`Profile 已创建`,createFailed:`创建 Profile 失败`,duplicated:`Profile 已复制`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`复制 Profile 失败`,deleted:`Profile 已删除`,deleteFailed:`删除 Profile 失败`,saved:`Profile 已保存`,saveFailed:`保存 Profile 失败`,savedWithUntargeted:`Profile 已保存,但存在未被路由的 Agent`,savedWithUntargetedDescription:`没有路由规则指向:{{agents}}。如需让它们运行,请添加标签规则或调整默认规则的目标。`},createDialog:{title:`新建 Profile`,description:`请使用小写 kebab-case 名称(字母、数字和连字符)。`,confirmLabel:`创建`,invalidHint:`必须以字母或数字开头,且只能包含小写字母、数字和连字符。`},duplicateDialog:{title:`复制“{{name}}”`,description:`新 Profile 的名称。`,invalidHint:`仅限小写 kebab-case。`},deleteDialog:{title:`删除 Profile“{{name}}”?`,description:`此操作无法撤销。已使用此 Profile 启动的任务会保留其快照;之后的启动将回退到解析顺序。`},empty:{title:`暂无 Profile`,body:`Profile 可保存编排器 + Agent + 路由的组合,并为每条 rail 单独选用。`,migrateButton:`从当前 Agent 迁移`,blankButton:`空白 Profile`,migrateExplainer:`“迁移”会读取现有 <code>.claude/agents/</code> frontmatter 中的模型,并创建一个 <code>default</code> Profile,完整复刻当前行为——零损失。`},sidebar:{title:`Profile`,teamDefault:`(团队默认)`},editorFooter:{fixValidationIssues:`保存前请先修复校验问题`,issuesToResolve_one:`{{count}} 个待解决问题`,issuesToResolve_other:`{{count}} 个待解决问题`}},r={title:`Profile 用量`,windowLabel:`{{days}}天`,subtitleEmpty:`所选时间窗口内各 Profile 启动的任务数。`,subtitle:`最近 {{count}} 天内各 Profile 启动的任务数。`,empty:`暂无使用 Profile 的任务。`,jobsTooltip:`任务`,jobsLabel_one:`个任务`,jobsLabel_other:`个任务`,successRateTooltip:`成功率`,okSuffix:`成功`,avgDurationTooltip:`平均时长`,avgTokensTooltip:`平均 token 数`,tokensSuffix:`tok`},i={addTitle:`添加路由规则`,editTitle:`编辑路由规则`,addDescription:`添加按标签匹配的路由规则,标签使用小写 kebab-case。`,editDescription:`更新此规则的标签或目标 Agent。`,tagsLabel:`标签`,tagsHint:`以逗号分隔。使用小写 kebab-case,如 <code>frontend</code> 或 <code>api-design</code>。`,invalidTags_one:`无效标签:{{tags}}。标签只能使用小写字母、数字和连字符。`,invalidTags_other:`无效标签:{{tags}}。标签只能使用小写字母、数字和连字符。`,routeToLabel:`路由到`,routeToHint:`只有此 Profile 链中的 Agent 才能作为路由目标。`,addRule:`添加规则`,saveChanges:`保存更改`},a={profileTitle:`此 rail 使用的 Agent Profile`,noProfile:`无 Profile`,modelTitle:`此 Ultracode rail 使用的模型`,engineTitle:`此 rail 使用的 AI 引擎`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
1
|
+
var e={title:`Agents`,subtitle:`管理此项目的 Agent Profile 和目录(上游 + 自定义)。`,tabs:{profiles:`Profile`,usage:`用量`,catalog:`目录`},banner:{title:`Profile 感知流水线需要 specrails-core {{required}}+`,body:`此项目当前为 <code>{{version}}</code>。在项目内运行 <code>{{command}}</code> 以解锁 Profile 模式。在此创建的 Profile 仍会保存,只是在 core 更新前不会影响流水线。`,unknownVersion:`未知`}},t={loading:`正在加载目录…`,aiEditChipLabel:`AI 编辑 · {{agentId}}`,errors:{loadFailed:`目录加载失败:{{status}}`,bodyLoadFailed:`Agent 正文加载失败:{{status}}`,generateFailed:`生成失败:{{status}}`,agentLoadFailed:`加载失败:{{status}}`},templates:{title:`Agent 模板库`,countOf:`{{shown}} / {{total}}`,description:`从精选模板开始,覆盖工程、产品、科学、健康、法律等领域。挑选一个并在 Studio 中打开,审阅和编辑后再保存。`,searchPlaceholder:`按名称、描述、标签或分类搜索…`,allCategories:`全部`,tagFilter:`标签筛选:`,noMatch:`没有符合筛选条件的模板。`,clearFilters:`清除筛选`,openInStudio:`在 Studio 中打开 →`,tip:`提示:点击任意卡片上的标签即可按该标签筛选。`},generate:{title:`生成自定义 Agent`,agentIdLabel:`Agent ID`,agentIdHint:`必须以 <code>custom-</code> 开头。`,descriptionLabel:`描述此 Agent 的职责`,descriptionPlaceholder:`例如:审查 Terraform/IaC 变更,在合并前标记安全配置错误、过度的 IAM 权限和公开的 S3 存储桶。风格保守、简洁。`,note:`Claude 会起草完整的 <code>.md</code> 正文。你将在 Studio 中审阅,并可在保存前编辑。此操作会启动一次性的 claude 调用,最长可能需要 90 秒。`,generating:`正在生成…`,generateButton:`生成`},empty:{title:`尚未安装任何 Agent`,body:`在此项目中运行 <code>{{command}}</code> 安装上游 Agent,或立即创建一个自定义 Agent。`},actions:{template:`模板`,templateTitle:`从模板开始`,generate:`生成`,generateWithClaude:`用 Claude 生成`,blank:`空白`,blankTitle:`从空白模板开始`},sidebar:{title:`目录`,createLabel:`创建自定义 Agent:`},sections:{upstream:`上游({{count}})`,upstreamDescription:`由 specrails-core 提供;只读。`,custom:`自定义({{count}})`,customDescription:`项目中的 custom-*.md 文件。使用上方的模板 / 生成 / 空白来创建。`,noCustomAgents:`暂无自定义 Agent。`},detail:{defaultModel:`默认模型:{{model}}`,aiEdit:`AI 编辑`,aiEditTitle:`用 AI 迭代优化此 Agent`,readOnly:`只读`,editableHint:`可编辑——使用上方的“编辑”`},kind:{upstream:`上游`,custom:`自定义`}},n={loading:`正在加载 Profile…`,selectPrompt:`选择要编辑的 Profile`,errors:{listFailed:`列表加载失败:{{status}}`,loadFailed:`加载失败:{{status}}`,migrationFailed:`迁移失败:{{status}}`,createFailed:`创建失败:{{status}}`,duplicateFailed:`复制失败:{{status}}`,deleteFailed:`删除失败:{{status}}`,saveFailed:`保存失败:{{status}}`},toasts:{migrated:`Profile 已迁移`,migratedDescription:`已根据当前 Agent 创建 default Profile`,migrationFailed:`迁移失败`,created:`Profile 已创建`,createFailed:`创建 Profile 失败`,duplicated:`Profile 已复制`,duplicatedDescription:`{{from}} → {{to}}`,duplicateFailed:`复制 Profile 失败`,deleted:`Profile 已删除`,deleteFailed:`删除 Profile 失败`,saved:`Profile 已保存`,saveFailed:`保存 Profile 失败`,savedWithUntargeted:`Profile 已保存,但存在未被路由的 Agent`,savedWithUntargetedDescription:`没有路由规则指向:{{agents}}。如需让它们运行,请添加标签规则或调整默认规则的目标。`},createDialog:{title:`新建 Profile`,description:`请使用小写 kebab-case 名称(字母、数字和连字符)。`,confirmLabel:`创建`,invalidHint:`必须以字母或数字开头,且只能包含小写字母、数字和连字符。`},duplicateDialog:{title:`复制“{{name}}”`,description:`新 Profile 的名称。`,invalidHint:`仅限小写 kebab-case。`},deleteDialog:{title:`删除 Profile“{{name}}”?`,description:`此操作无法撤销。已使用此 Profile 启动的任务会保留其快照;之后的启动将回退到解析顺序。`},empty:{title:`暂无 Profile`,body:`Profile 可保存编排器 + Agent + 路由的组合,并为每条 rail 单独选用。`,migrateButton:`从当前 Agent 迁移`,blankButton:`空白 Profile`,migrateExplainer:`“迁移”会读取现有 <code>.claude/agents/</code> frontmatter 中的模型,并创建一个 <code>default</code> Profile,完整复刻当前行为——零损失。`},sidebar:{title:`Profile`,teamDefault:`(团队默认)`},editorFooter:{fixValidationIssues:`保存前请先修复校验问题`,issuesToResolve_one:`{{count}} 个待解决问题`,issuesToResolve_other:`{{count}} 个待解决问题`}},r={title:`Profile 用量`,windowLabel:`{{days}}天`,subtitleEmpty:`所选时间窗口内各 Profile 启动的任务数。`,subtitle:`最近 {{count}} 天内各 Profile 启动的任务数。`,empty:`暂无使用 Profile 的任务。`,jobsTooltip:`任务`,jobsLabel_one:`个任务`,jobsLabel_other:`个任务`,successRateTooltip:`成功率`,okSuffix:`成功`,avgDurationTooltip:`平均时长`,avgTokensTooltip:`平均 token 数`,tokensSuffix:`tok`},i={addTitle:`添加路由规则`,editTitle:`编辑路由规则`,addDescription:`添加按标签匹配的路由规则,标签使用小写 kebab-case。`,editDescription:`更新此规则的标签或目标 Agent。`,tagsLabel:`标签`,tagsHint:`以逗号分隔。使用小写 kebab-case,如 <code>frontend</code> 或 <code>api-design</code>。`,invalidTags_one:`无效标签:{{tags}}。标签只能使用小写字母、数字和连字符。`,invalidTags_other:`无效标签:{{tags}}。标签只能使用小写字母、数字和连字符。`,routeToLabel:`路由到`,routeToHint:`只有此 Profile 链中的 Agent 才能作为路由目标。`,addRule:`添加规则`,saveChanges:`保存更改`},a={profileTitle:`此 rail 使用的 Agent Profile`,noProfile:`无 Profile`,modelTitle:`此 Ultracode rail 使用的模型`,loopModelTitle:`此 Loop 使用的模型`,engineTitle:`此 rail 使用的 AI 引擎`},o={page:e,catalog:t,profiles:n,usage:r,routingRule:i,railSelectors:a};export{t as catalog,o as default,e as page,n as profiles,a as railSelectors,i as routingRule,r as usage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-CilyBKbf.js";var t=e({agentSelector:()=>a,default:()=>s,profileEditor:()=>i,refine:()=>r,studio:()=>n,templates:()=>o}),n={loadingAgent:`Loading agent…`,modeCreate:`New custom agent`,modeEdit:`Edit custom agent`,create:`Create`,unsaved:`● unsaved`,resumeAiEdit:`Resume AI Edit`,resumeAiEditTitle:`Hand this draft back to the AI Edit overlay`,loadingAiDraft:`loading AI draft…`,testButton:`Test`,testButtonTitle:`Test this agent against a sample task`,historyButton:`History`,historyButtonTitle:`Version history`,deleteConfirm:{title:`Delete agent "{{agentId}}"?`,description:`This removes the .md from disk. Version history stays in the DB — use a fresh custom agent if you want to recover the body later.`},errors:{loadDraftFailed:`Load draft failed: {{status}}`,loadFailed:`Load failed: {{status}}`,saveFailed:`Save failed: {{status}}`,deleteFailed:`Delete failed: {{status}}`,testFailed:`Test failed: {{status}}`},toasts:{agentCreated:`Agent created`,agentSaved:`Agent saved`,agentDeleted:`Agent deleted`,createFailed:`Failed to create agent`,saveFailed:`Failed to save agent`,deleteFailed:`Failed to delete agent`},validation:{namePattern:`Name must start with <code>custom-</code> and contain only lowercase letters, digits, and hyphens.`,missingFrontmatter:`Missing YAML frontmatter (needs opening <code>---</code> on the first line).`},sampleTasks:{pick:`— pick a sample task —`,terraform:`Terraform: public S3 bucket`,sqlInjection:`Code review: SQL injection`,accessibility:`Frontend: accessibility`,schemaChange:`Data: schema change`,slowQuery:`Performance: slow query`},testPane:{header:`Test agent`,sampleTaskLabel:`Sample task`,placeholder:`Describe what the agent should do, or pick a sample above.`,run:`Run`,running:`Running…`,sandboxNote:`Sandboxed; no files written.`,tokens_one:`<mono>{{count}}</mono> token`,tokens_other:`<mono>{{count}}</mono> tokens`,emptyHint:`Run a sample task against the current draft. Output appears here.`},versions:{header:`Version history`,empty:`No prior versions recorded for this agent.`,restoreHint:`Click a version to restore its body into the editor (you still need to Save).`}},r={eyebrow:`AI Edit`,headline:`Refine your agent`,streamingHeadline:`Refining your agent…`,placeholderInitial:`Describe how to refine this agent…`,placeholderFollowUp:`Send a follow-up refinement…`,viewCurrentBody:`View current agent body`,appliedAsVersion:`Applied as version {{version}}.`,openInStudio:`Open draft in Studio for manual editing`,chips:{tightenTools:`Tighten the tool list`,stricterPersonality:`Make the personality stricter`,workflowSection:`Add a Workflow protocol section`,sharpenDescription:`Shorten and sharpen the description`,matchDeveloperStyle:`Match the sr-developer style`}},i={validation:{missingBaseline:`Missing required baseline agent: {{agent}}`,multipleDefaultRules:`Routing may have at most one default rule (found {{found}})`,defaultRuleNotLast:`The default routing rule must be the last entry`,unknownRoutingAgent:`Routing references agent not in the chain: {{agent}}`,invalidTags:`Routing rule {{agent}} has invalid tags: {{tags}} (use lowercase kebab-case)`},validationSummary_one:`{{count}} validation issue`,validationSummary_other:`{{count}} validation issues`,nameLabel:`Name`,descriptionLabel:`Description`,descriptionPlaceholder:`What is this profile for?`,orchestrator:{heading:`Orchestrator`,description:`Top-level model for both commands. batch-implement delegates to implement per feature, so every rail it spawns inherits this profile's agent chain.`},agentChain:{heading:`Agent chain ({{n}})`,addTitle:`Add an agent from the catalog`,addDisabledTitle:`All catalog agents are already in the chain`,pickFromCatalog:`Pick from catalog ({{n}} available)`,emptyCatalog:`No more agents in the catalog. Add custom agents from the Agents Catalog tab.`,kind:{upstream:`upstream`,custom:`custom`}},routing:{heading:`Routing ({{n}})`,addDefault:`Add default`,addRule:`Add rule`,needAgentsTitle:`Add at least one agent before creating routing rules`,explainer:`First matching rule wins. Rules are editable and removable, and the default catch-all stays last when present. If you leave routing empty, the pipeline falls back to the first developer-shaped agent in the chain.`,untargetedTitle:`Untargeted agents in the chain`,untargetedDetail:`No routing rule points to: <mono>{{agents}}</mono>. Add a tag rule or retarget the default rule if you want them to run.`},agentRow:{dragTitle:`Drag to reorder`,dragHandleAria:`Drag handle`,pinnedFirst:`first`,pinnedFirstTitle:`Pinned to first position — pipeline always starts with sr-architect`,pinnedLast:`last`,pinnedLastTitle:`Pinned to last position — merge phase always runs last`,required:`required`,requiredRemoveTitle:`Required baseline agent — the pipeline depends on this row`},routingRow:{everythingElse:`everything else`,defaultTargetAria:`Default routing target (core, read-only)`,defaultTargetTitle:`Core fallback — not editable`,targetAria:`Routing target for rule {{ordinal}}`,editTitle:`Edit rule`,editAria:`Edit rule {{ordinal}}`,moveDown:`Move down`,moveUp:`Move up`,coreDefaultBadge:`core · default`,coreDefaultTitle:`Core fallback — the pipeline's last-resort rule, pinned to sr-developer`}},a={selectedCount:`{{selected}} / {{total}} agents selected`,selectAll:`Select all`,coreBadge:`core`,categories:{architecture:`Architecture`,development:`Development`,review:`Review`,product:`Product`,utilities:`Utilities`},agents:{"sr-architect":{name:`Architect`,description:`Architecture design, change specs, implementation planning`},"sr-developer":{name:`Developer`,description:`Full-stack implementation across all layers`},"sr-frontend-developer":{name:`Frontend Dev`,description:`Frontend implementation (React, Vue, Angular, etc.)`},"sr-backend-developer":{name:`Backend Dev`,description:`Backend specialization (APIs, databases, services)`},"sr-reviewer":{name:`Reviewer`,description:`General code review — the final quality gate`},"sr-frontend-reviewer":{name:`Frontend Reviewer`,description:`Frontend review (UI, accessibility, performance)`},"sr-backend-reviewer":{name:`Backend Reviewer`,description:`Backend review (APIs, security, scalability)`},"sr-security-reviewer":{name:`Security Reviewer`,description:`Security analysis — OWASP, vulnerabilities, hardening`},"sr-performance-reviewer":{name:`Perf Reviewer`,description:`Performance analysis — profiling, bottlenecks, optimization`},"sr-product-manager":{name:`Product Manager`,description:`Product discovery, VPC personas, backlog management`},"sr-product-analyst":{name:`Product Analyst`,description:`Backlog analysis, spec gap analysis, reporting`},"sr-test-writer":{name:`Test Writer`,description:`Comprehensive test generation (unit, integration, E2E)`},"sr-doc-sync":{name:`Doc Sync`,description:`Documentation sync — keeps docs aligned with code`},"sr-merge-resolver":{name:`Merge Resolver`,description:`Merge conflict resolution with context awareness`}}},o={"security-reviewer":{label:`Security Reviewer`,blurb:`Finds auth, injection, and data-exposure bugs in a diff before it ships.`},"performance-profiler":{label:`Performance Profiler`,blurb:`Finds hot paths, N+1 queries, unbounded loops, bundle bloat.`},"data-engineer":{label:`Data Engineer`,blurb:`Schema migrations, ETL pipelines, data transformations.`},"ui-ux-polisher":{label:`UI / UX Polisher`,blurb:`Accessibility, spacing, empty states, error handling.`},"api-designer":{label:`API Designer`,blurb:`Versioning, pagination, error shapes, backward compatibility.`},"database-architect":{label:`Database Architect`,blurb:`Indexes, normalization vs denormalization, query shapes.`},"devops-sre":{label:`DevOps / SRE`,blurb:`CI/CD, observability, incident-readiness, runbooks.`},"mobile-engineer":{label:`Mobile Engineer`,blurb:`iOS + Android patterns, offline-first, battery-aware.`},"ml-engineer":{label:`ML Engineer`,blurb:`Pipelines, eval, reproducibility, drift monitoring.`},"accessibility-auditor":{label:`Accessibility Auditor`,blurb:`WCAG 2.2 review: contrast, focus, ARIA, keyboard.`},"qa-test-strategist":{label:`QA Test Strategist`,blurb:`Test plans: unit / integration / E2E split, coverage gaps.`},"load-tester":{label:`Load / Stress Tester`,blurb:`Capacity planning, k6 / Locust scenarios, bottleneck hunting.`},"integration-tester":{label:`Integration Tester`,blurb:`Cross-service contracts, fixtures, flake reduction.`},"regression-hunter":{label:`Regression Hunter`,blurb:`Bisects, repros, writes the failing test first.`},"data-analyst":{label:`Data Analyst`,blurb:`Turns vague questions into queries + readable findings.`},"etl-reviewer":{label:`ETL Pipeline Reviewer`,blurb:`Idempotency, backfills, late-arriving data.`},"dashboard-designer":{label:`Dashboard Designer`,blurb:`One-glance dashboards, honest axes, action-per-chart.`},"iac-reviewer":{label:`IaC / Cloud Reviewer`,blurb:`Terraform / CloudFormation: IAM, public exposure, costs.`},"compliance-reviewer":{label:`Compliance Reviewer`,blurb:`GDPR / SOC2 / HIPAA-adjacent checks on data flows.`},"threat-modeler":{label:`Threat Modeler`,blurb:`STRIDE / LINDDUN over architecture diagrams.`},"product-manager":{label:`Product Manager`,blurb:`Problem framing, PRDs, prioritization.`},"ux-researcher":{label:`UX Researcher`,blurb:`Interview scripts, usability test plans, synthesis.`},"technical-writer":{label:`Technical Writer`,blurb:`Docs that are actually read — tutorials, references, changelogs.`},"design-reviewer":{label:`Design System Reviewer`,blurb:`Token drift, component misuse, consistency across flows.`},"financial-analyst":{label:`Financial Analyst`,blurb:`Unit economics, cohort models, scenario analysis.`},"pricing-strategist":{label:`Pricing Strategist`,blurb:`Tiering, packaging, willingness-to-pay studies.`},"market-researcher":{label:`Market Researcher`,blurb:`TAM/SAM/SOM, competitive maps, customer segments.`},"ops-optimizer":{label:`Operations Optimizer`,blurb:`Cycle-time, bottleneck-finding, automation candidates.`},"seo-auditor":{label:`SEO Auditor`,blurb:`Technical + content SEO: indexability, IA, intent match.`},"growth-hacker":{label:`Growth Experimenter`,blurb:`Funnel diagnosis, lift experiments, activation loops.`},"social-strategist":{label:`Social Media Strategist`,blurb:`Channel-fit content, editorial calendar, voice consistency.`},"literature-reviewer":{label:`Literature Reviewer`,blurb:`Systematic review summaries, citation graphs, conflicts.`},"experiment-designer":{label:`Experiment Designer`,blurb:`Hypotheses, controls, sample size, pre-registration.`},"statistical-analyst":{label:`Statistical Analyst`,blurb:`Chooses the right test, reports effect sizes, not just p-values.`},"scientific-writer":{label:`Scientific Writer`,blurb:`IMRaD structure, honest limits, readable abstracts.`},"curriculum-designer":{label:`Curriculum Designer`,blurb:`Learning outcomes → activities → assessment.`},"assessment-author":{label:`Assessment Author`,blurb:`Items that measure understanding, not recall.`},"tutor-explainer":{label:`Tutor / Explainer`,blurb:`Feynman-style simple explanations with worked examples.`},"clinical-guideline-reviewer":{label:`Clinical Guideline Reviewer`,blurb:`Map practice against latest evidence-based guidelines.`},"medical-summarizer":{label:`Medical Literature Summarizer`,blurb:`Abstracts to clinicians: what changed, evidence quality.`},"protocol-designer":{label:`Protocol Designer`,blurb:`Clinical protocols: endpoints, inclusion criteria, safety.`},"contract-reviewer":{label:`Contract Reviewer`,blurb:`Flags risky clauses; explains what they actually mean.`},"privacy-counsel":{label:`Privacy Counsel`,blurb:`GDPR / CCPA / LGPD applied to concrete flows.`},"copy-editor":{label:`Copy Editor`,blurb:`Line edits: voice, cadence, cut 30% without losing meaning.`},"brand-voice-guardian":{label:`Brand Voice Guardian`,blurb:`Enforces voice rules; catches off-brand phrasing.`},"creative-brainstormer":{label:`Creative Brainstormer`,blurb:`Divergent then convergent; kills sacred cows politely.`},"hiring-interviewer":{label:`Hiring Interviewer`,blurb:`Structured interviews, signal-focused, bias-aware.`},"strategic-planner":{label:`Strategic Planner`,blurb:`Goals → bets → metrics; prunes pet projects.`},"coach-1on1":{label:`1:1 Coach`,blurb:`Helps frame feedback, career growth, difficult conversations.`},"meeting-facilitator":{label:`Meeting Facilitator`,blurb:`Agendas that produce decisions, not updates.`}},s={studio:n,refine:r,profileEditor:i,agentSelector:a,templates:o};export{t};
|
|
1
|
+
import{r as e}from"./chunk-BNv3lrIs.js";var t=e({agentSelector:()=>a,default:()=>s,profileEditor:()=>i,refine:()=>r,studio:()=>n,templates:()=>o}),n={loadingAgent:`Loading agent…`,modeCreate:`New custom agent`,modeEdit:`Edit custom agent`,create:`Create`,unsaved:`● unsaved`,resumeAiEdit:`Resume AI Edit`,resumeAiEditTitle:`Hand this draft back to the AI Edit overlay`,loadingAiDraft:`loading AI draft…`,testButton:`Test`,testButtonTitle:`Test this agent against a sample task`,historyButton:`History`,historyButtonTitle:`Version history`,deleteConfirm:{title:`Delete agent "{{agentId}}"?`,description:`This removes the .md from disk. Version history stays in the DB — use a fresh custom agent if you want to recover the body later.`},errors:{loadDraftFailed:`Load draft failed: {{status}}`,loadFailed:`Load failed: {{status}}`,saveFailed:`Save failed: {{status}}`,deleteFailed:`Delete failed: {{status}}`,testFailed:`Test failed: {{status}}`},toasts:{agentCreated:`Agent created`,agentSaved:`Agent saved`,agentDeleted:`Agent deleted`,createFailed:`Failed to create agent`,saveFailed:`Failed to save agent`,deleteFailed:`Failed to delete agent`},validation:{namePattern:`Name must start with <code>custom-</code> and contain only lowercase letters, digits, and hyphens.`,missingFrontmatter:`Missing YAML frontmatter (needs opening <code>---</code> on the first line).`},sampleTasks:{pick:`— pick a sample task —`,terraform:`Terraform: public S3 bucket`,sqlInjection:`Code review: SQL injection`,accessibility:`Frontend: accessibility`,schemaChange:`Data: schema change`,slowQuery:`Performance: slow query`},testPane:{header:`Test agent`,sampleTaskLabel:`Sample task`,placeholder:`Describe what the agent should do, or pick a sample above.`,run:`Run`,running:`Running…`,sandboxNote:`Sandboxed; no files written.`,tokens_one:`<mono>{{count}}</mono> token`,tokens_other:`<mono>{{count}}</mono> tokens`,emptyHint:`Run a sample task against the current draft. Output appears here.`},versions:{header:`Version history`,empty:`No prior versions recorded for this agent.`,restoreHint:`Click a version to restore its body into the editor (you still need to Save).`}},r={eyebrow:`AI Edit`,headline:`Refine your agent`,streamingHeadline:`Refining your agent…`,placeholderInitial:`Describe how to refine this agent…`,placeholderFollowUp:`Send a follow-up refinement…`,viewCurrentBody:`View current agent body`,appliedAsVersion:`Applied as version {{version}}.`,openInStudio:`Open draft in Studio for manual editing`,chips:{tightenTools:`Tighten the tool list`,stricterPersonality:`Make the personality stricter`,workflowSection:`Add a Workflow protocol section`,sharpenDescription:`Shorten and sharpen the description`,matchDeveloperStyle:`Match the sr-developer style`}},i={validation:{missingBaseline:`Missing required baseline agent: {{agent}}`,multipleDefaultRules:`Routing may have at most one default rule (found {{found}})`,defaultRuleNotLast:`The default routing rule must be the last entry`,unknownRoutingAgent:`Routing references agent not in the chain: {{agent}}`,invalidTags:`Routing rule {{agent}} has invalid tags: {{tags}} (use lowercase kebab-case)`},validationSummary_one:`{{count}} validation issue`,validationSummary_other:`{{count}} validation issues`,nameLabel:`Name`,descriptionLabel:`Description`,descriptionPlaceholder:`What is this profile for?`,orchestrator:{heading:`Orchestrator`,description:`Top-level model for both commands. batch-implement delegates to implement per feature, so every rail it spawns inherits this profile's agent chain.`},agentChain:{heading:`Agent chain ({{n}})`,addTitle:`Add an agent from the catalog`,addDisabledTitle:`All catalog agents are already in the chain`,pickFromCatalog:`Pick from catalog ({{n}} available)`,emptyCatalog:`No more agents in the catalog. Add custom agents from the Agents Catalog tab.`,kind:{upstream:`upstream`,custom:`custom`}},routing:{heading:`Routing ({{n}})`,addDefault:`Add default`,addRule:`Add rule`,needAgentsTitle:`Add at least one agent before creating routing rules`,explainer:`First matching rule wins. Rules are editable and removable, and the default catch-all stays last when present. If you leave routing empty, the pipeline falls back to the first developer-shaped agent in the chain.`,untargetedTitle:`Untargeted agents in the chain`,untargetedDetail:`No routing rule points to: <mono>{{agents}}</mono>. Add a tag rule or retarget the default rule if you want them to run.`},agentRow:{dragTitle:`Drag to reorder`,dragHandleAria:`Drag handle`,pinnedFirst:`first`,pinnedFirstTitle:`Pinned to first position — pipeline always starts with sr-architect`,pinnedLast:`last`,pinnedLastTitle:`Pinned to last position — merge phase always runs last`,required:`required`,requiredRemoveTitle:`Required baseline agent — the pipeline depends on this row`},routingRow:{everythingElse:`everything else`,defaultTargetAria:`Default routing target (core, read-only)`,defaultTargetTitle:`Core fallback — not editable`,targetAria:`Routing target for rule {{ordinal}}`,editTitle:`Edit rule`,editAria:`Edit rule {{ordinal}}`,moveDown:`Move down`,moveUp:`Move up`,coreDefaultBadge:`core · default`,coreDefaultTitle:`Core fallback — the pipeline's last-resort rule, pinned to sr-developer`}},a={selectedCount:`{{selected}} / {{total}} agents selected`,selectAll:`Select all`,coreBadge:`core`,categories:{architecture:`Architecture`,development:`Development`,review:`Review`,product:`Product`,utilities:`Utilities`},agents:{"sr-architect":{name:`Architect`,description:`Architecture design, change specs, implementation planning`},"sr-developer":{name:`Developer`,description:`Full-stack implementation across all layers`},"sr-frontend-developer":{name:`Frontend Dev`,description:`Frontend implementation (React, Vue, Angular, etc.)`},"sr-backend-developer":{name:`Backend Dev`,description:`Backend specialization (APIs, databases, services)`},"sr-reviewer":{name:`Reviewer`,description:`General code review — the final quality gate`},"sr-frontend-reviewer":{name:`Frontend Reviewer`,description:`Frontend review (UI, accessibility, performance)`},"sr-backend-reviewer":{name:`Backend Reviewer`,description:`Backend review (APIs, security, scalability)`},"sr-security-reviewer":{name:`Security Reviewer`,description:`Security analysis — OWASP, vulnerabilities, hardening`},"sr-performance-reviewer":{name:`Perf Reviewer`,description:`Performance analysis — profiling, bottlenecks, optimization`},"sr-product-manager":{name:`Product Manager`,description:`Product discovery, VPC personas, backlog management`},"sr-product-analyst":{name:`Product Analyst`,description:`Backlog analysis, spec gap analysis, reporting`},"sr-test-writer":{name:`Test Writer`,description:`Comprehensive test generation (unit, integration, E2E)`},"sr-doc-sync":{name:`Doc Sync`,description:`Documentation sync — keeps docs aligned with code`},"sr-merge-resolver":{name:`Merge Resolver`,description:`Merge conflict resolution with context awareness`}}},o={"security-reviewer":{label:`Security Reviewer`,blurb:`Finds auth, injection, and data-exposure bugs in a diff before it ships.`},"performance-profiler":{label:`Performance Profiler`,blurb:`Finds hot paths, N+1 queries, unbounded loops, bundle bloat.`},"data-engineer":{label:`Data Engineer`,blurb:`Schema migrations, ETL pipelines, data transformations.`},"ui-ux-polisher":{label:`UI / UX Polisher`,blurb:`Accessibility, spacing, empty states, error handling.`},"api-designer":{label:`API Designer`,blurb:`Versioning, pagination, error shapes, backward compatibility.`},"database-architect":{label:`Database Architect`,blurb:`Indexes, normalization vs denormalization, query shapes.`},"devops-sre":{label:`DevOps / SRE`,blurb:`CI/CD, observability, incident-readiness, runbooks.`},"mobile-engineer":{label:`Mobile Engineer`,blurb:`iOS + Android patterns, offline-first, battery-aware.`},"ml-engineer":{label:`ML Engineer`,blurb:`Pipelines, eval, reproducibility, drift monitoring.`},"accessibility-auditor":{label:`Accessibility Auditor`,blurb:`WCAG 2.2 review: contrast, focus, ARIA, keyboard.`},"qa-test-strategist":{label:`QA Test Strategist`,blurb:`Test plans: unit / integration / E2E split, coverage gaps.`},"load-tester":{label:`Load / Stress Tester`,blurb:`Capacity planning, k6 / Locust scenarios, bottleneck hunting.`},"integration-tester":{label:`Integration Tester`,blurb:`Cross-service contracts, fixtures, flake reduction.`},"regression-hunter":{label:`Regression Hunter`,blurb:`Bisects, repros, writes the failing test first.`},"data-analyst":{label:`Data Analyst`,blurb:`Turns vague questions into queries + readable findings.`},"etl-reviewer":{label:`ETL Pipeline Reviewer`,blurb:`Idempotency, backfills, late-arriving data.`},"dashboard-designer":{label:`Dashboard Designer`,blurb:`One-glance dashboards, honest axes, action-per-chart.`},"iac-reviewer":{label:`IaC / Cloud Reviewer`,blurb:`Terraform / CloudFormation: IAM, public exposure, costs.`},"compliance-reviewer":{label:`Compliance Reviewer`,blurb:`GDPR / SOC2 / HIPAA-adjacent checks on data flows.`},"threat-modeler":{label:`Threat Modeler`,blurb:`STRIDE / LINDDUN over architecture diagrams.`},"product-manager":{label:`Product Manager`,blurb:`Problem framing, PRDs, prioritization.`},"ux-researcher":{label:`UX Researcher`,blurb:`Interview scripts, usability test plans, synthesis.`},"technical-writer":{label:`Technical Writer`,blurb:`Docs that are actually read — tutorials, references, changelogs.`},"design-reviewer":{label:`Design System Reviewer`,blurb:`Token drift, component misuse, consistency across flows.`},"financial-analyst":{label:`Financial Analyst`,blurb:`Unit economics, cohort models, scenario analysis.`},"pricing-strategist":{label:`Pricing Strategist`,blurb:`Tiering, packaging, willingness-to-pay studies.`},"market-researcher":{label:`Market Researcher`,blurb:`TAM/SAM/SOM, competitive maps, customer segments.`},"ops-optimizer":{label:`Operations Optimizer`,blurb:`Cycle-time, bottleneck-finding, automation candidates.`},"seo-auditor":{label:`SEO Auditor`,blurb:`Technical + content SEO: indexability, IA, intent match.`},"growth-hacker":{label:`Growth Experimenter`,blurb:`Funnel diagnosis, lift experiments, activation loops.`},"social-strategist":{label:`Social Media Strategist`,blurb:`Channel-fit content, editorial calendar, voice consistency.`},"literature-reviewer":{label:`Literature Reviewer`,blurb:`Systematic review summaries, citation graphs, conflicts.`},"experiment-designer":{label:`Experiment Designer`,blurb:`Hypotheses, controls, sample size, pre-registration.`},"statistical-analyst":{label:`Statistical Analyst`,blurb:`Chooses the right test, reports effect sizes, not just p-values.`},"scientific-writer":{label:`Scientific Writer`,blurb:`IMRaD structure, honest limits, readable abstracts.`},"curriculum-designer":{label:`Curriculum Designer`,blurb:`Learning outcomes → activities → assessment.`},"assessment-author":{label:`Assessment Author`,blurb:`Items that measure understanding, not recall.`},"tutor-explainer":{label:`Tutor / Explainer`,blurb:`Feynman-style simple explanations with worked examples.`},"clinical-guideline-reviewer":{label:`Clinical Guideline Reviewer`,blurb:`Map practice against latest evidence-based guidelines.`},"medical-summarizer":{label:`Medical Literature Summarizer`,blurb:`Abstracts to clinicians: what changed, evidence quality.`},"protocol-designer":{label:`Protocol Designer`,blurb:`Clinical protocols: endpoints, inclusion criteria, safety.`},"contract-reviewer":{label:`Contract Reviewer`,blurb:`Flags risky clauses; explains what they actually mean.`},"privacy-counsel":{label:`Privacy Counsel`,blurb:`GDPR / CCPA / LGPD applied to concrete flows.`},"copy-editor":{label:`Copy Editor`,blurb:`Line edits: voice, cadence, cut 30% without losing meaning.`},"brand-voice-guardian":{label:`Brand Voice Guardian`,blurb:`Enforces voice rules; catches off-brand phrasing.`},"creative-brainstormer":{label:`Creative Brainstormer`,blurb:`Divergent then convergent; kills sacred cows politely.`},"hiring-interviewer":{label:`Hiring Interviewer`,blurb:`Structured interviews, signal-focused, bias-aware.`},"strategic-planner":{label:`Strategic Planner`,blurb:`Goals → bets → metrics; prunes pet projects.`},"coach-1on1":{label:`1:1 Coach`,blurb:`Helps frame feedback, career growth, difficult conversations.`},"meeting-facilitator":{label:`Meeting Facilitator`,blurb:`Agendas that produce decisions, not updates.`}},s={studio:n,refine:r,profileEditor:i,agentSelector:a,templates:o};export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as e}from"./chunk-BNv3lrIs.js";var t=e({composer:()=>r,default:()=>o,diffView:()=>i,refine:()=>a,shell:()=>n}),n={backAriaLabel:`Back (Esc)`,apply:`Apply`,somethingWentWrong:`Something went wrong`,quickPrompts:`Quick prompts`,workingOnRefinement:`Working on your refinement…`,history:`History`,viewCurrentContent:`View current content`,conversation:`Conversation`,applied:`Applied.`,you:`You`,autoTestResult:`Auto-test result`,ai:`AI`,refinementReady:`Refinement ready — review the diff on the right.`,diffPreview:`Diff preview`,proposedChanges:`Proposed changes`,wordLevelDiff:`word-level diff`,forceApply:`Force apply`,conflict:{diskChanged:`The file changed on disk while you were editing. Apply was blocked.`,nameChanged:`The AI changed the agent name. Renaming is a separate explicit action — adjust the draft or rename in Studio.`},discardDialog:{ariaLabel:`Discard changes?`,title:`Discard refinement?`,body:`The current draft will be cancelled and not applied.`,keepEditing:`Keep editing`},composer:{sendAriaLabel:`Send (⌘⏎)`,kbdSubmit:`submit`,kbdCancel:`cancel`}},r={title:`AI Edit`,placeholder:`Describe the changes you want…`,submit:`Submit`,unsupportedFileType:`Unsupported file type: {{name}}`,uploadFailed:`Upload failed for {{name}}: {{message}}`},i={inserted:`inserted`,removed:`removed`},a={serverError:`Server error ({{status}})`,connectionFailed:`Connection failed: {{message}}`,applyFailed:`Apply failed ({{status}})`,loadAgentFailed:`Failed to load agent ({{status}})`,loadSessionFailed:`Failed to load session ({{status}})`,rehydrateFailed:`Failed to restore session: {{message}}`},o={shell:n,composer:r,diffView:i,refine:a};export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as e}from"./chunk-BNv3lrIs.js";var t=e({default:()=>g,desktop:()=>h,hero:()=>s,models:()=>d,page:()=>o,periods:()=>r,providerCard:()=>c,quickVsExplore:()=>u,runs_one:()=>i,runs_other:()=>a,scatter:()=>f,surfaces:()=>n,table:()=>m,timeline:()=>l,topTickets:()=>p}),n={job:`Jobs`,quickSpec:`Quick`,exploreSpec:`Explore`,aiEdit:`Refine`,smash:`SMASH`,fileSummary:`File summaries`,loop:`Loops`},r={d7:`7d`,d30:`30d`,d90:`90d`,all:`All`,custom:`Custom`,startDate:`Start date`,endDate:`End date`,to:`to`},i=`{{count}} run`,a=`{{count}} runs`,o={title:`Analytics`,all:`All`,engine:`Engine`,ticketChip:`ticket #{{id}} · ✕`,failedToLoad:`Failed to load: {{error}}`,modelChip:`Model: {{model}}`,clearModelFilter:`Clear model filter`},s={spending:`Spending`,vsPrev:`{{pct}}% vs prev`,invocations_one:`{{count}} invocation`,invocations_other:`{{count}} invocations`,tokens:`· {{tokens}} tokens`,tokensTooltip:`Total tokens = fresh input + output + cache-read + cache-create across all invocations in this window.`,includesEstimated:`· includes ~{{amount}} estimated`,includesEstimatedTooltip:`Includes {{amount}} of estimated cost from providers without a native cost field (e.g. codex via the local pricing table).`,trackingStarted:`Tracking started {{date}}`,trackingStartedFallback:`Tracking started on first invocation`,emptyState:`No invocations yet for this filter window.`,segmentTitle:`{{label}}: {{value}}`},c={title:`By provider`,description:`How cost splits across the AI CLIs in this project. The <tilde>~</tilde> prefix marks rows where cost is estimated from the local pricing table (the provider does not report it natively).`,noCost:`No cost recorded yet in this window.`,segmentTitle:`{{label}}: {{value}} ({{count}})`,costUnavailable:`cost unavailable`,costUnavailableTooltip:`This provider ran but its model is not in the pricing table, so no cost could be computed.`},l={title:`Daily timeline`,subtitle:`stacked by surface`,empty:`No spend in this period.`},u={title:`Quick vs Explore`,quick:`Quick`,explore:`Explore`,sparseCta:`Try Explore for richer specs`,runsSoFar_one:`{{count}} run so far`,runsSoFar_other:`{{count}} runs so far`,perSpec:`per spec`,createdRuns:`<strong>{{created}}</strong> created · {{runs}} runs`,avgDuration:`{{duration}} avg`,ratio:`{{ratio}}× more per spec`,estimatedTooltip:`Estimated cost (codex/gemini pricing-table fallback, not provider-billed)`,estimatedFootnote:`~ Includes estimated costs (codex/gemini)`},d={title:`Models`,empty:`No models recorded.`,estimatedTooltip:`Estimated from the local pricing table — this provider does not report cost natively.`},f={title:`Cost vs Turns`,empty:`No invocations to plot.`,turnsLabel:`turns`,costLabel:`cost`,truncated:`Showing {{shown}} of {{total}} — the costliest point is kept, but earlier points are hidden`},p={title:`Top tickets`,empty:`No ticket activity in this period.`,breakdownItem:`{{n}} {{label}}`,unattributed:`Unattributed`,deletedTicket:`deleted ticket #{{id}}`},m={title:`All invocations`,statusFilterAria:`Status filter`,minCostFilterAria:`Minimum cost filter`,minCostPlaceholder:`≥ $0.00`,allStatus:`All status`,success:`Success`,failed:`Failed`,aborted:`Aborted`,empty:`No invocations match the current filters.`,colSurface:`Surface`,colTicket:`Ticket`,colCost:`Cost`,colTurns:`Turns`,colTokens:`Tokens`,colModel:`Model`,colStatus:`Status`,colStarted:`Started`,contractLayer:`Contract Layer`,contractLayerRefinement:`Contract Layer refinement`,deleted:`(deleted)`,provisionalTitleTooltip:`Provisional Explore title — not yet committed`,estimatedCostTooltip:`Estimated from local pricing table — this provider does not report cost natively.`,inferred:`inferred`,statusValue:{success:`success`,failed:`failed`,aborted:`aborted`},truncated:`Showing first {{shown}} of {{total}} matching rows.`,colProvider:`Provider`,sortLabel:`Sort`,sortRecency:`Recent`,sortCost:`Cost`},h={title:`Desktop Analytics`,refreshAria:`Refresh analytics`,failedToLoad:`Failed to load analytics: {{error}}`,totalCost:`Total Cost`,costToday:`{{value}} today`,totalJobs:`Total Jobs`,jobsToday:`{{n}} today`,successRate:`Success Rate`,acrossAllProjects:`across all projects`,avgCostPerJob:`Avg Cost / Job`,periodAverage:`period average`,costOverTime:`Cross-Project Cost Over Time`,noCostData:`No cost data for this period`,projectComparison:`Project Comparison`,noProjects:`No projects registered.`,jobsCount_one:`{{count}} job`,jobsCount_other:`{{count}} jobs`,successPct:`{{pct}}% success`,costByProject:`Cost by Project`,includesEstimated:`~{{amount}} estimated`,includesEstimatedTooltip:`Includes {{amount}} of rate-card estimated cost (codex/gemini), not provider-billed.`,includesEstimatedShort:`incl. estimated`,timelineEstimatedTooltip:`Some days include rate-card estimated cost (codex/gemini) marked with ~.`,estimatedBadge:`est.`,projectEstimatedTooltip:`{{amount}} of this project's cost is a rate-card estimate (codex/gemini), not provider-billed.`,statusBarEstimatedTooltip:`Includes rate-card estimated cost (codex/gemini), not provider-billed.`},g={surfaces:n,periods:r,runs_one:i,runs_other:a,page:o,hero:s,providerCard:c,timeline:l,quickVsExplore:u,models:d,scatter:f,topTickets:p,table:m,export:{summaryCsv:`Summary CSV`,rawCsv:`Raw CSV`,summaryJson:`Summary JSON`,rawJson:`Raw JSON`,downloading:`Downloading…`,noData:`No data for current filters`,failed:`Export failed`},desktop:h};export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as e}from"./chunk-BNv3lrIs.js";var t=e({chip:()=>i,default:()=>l,editor:()=>a,errors:()=>r,lightbox:()=>s,removeFile:()=>n,section:()=>o,sessionBar:()=>c}),n=`Remove {{name}}`,r={uploadFailed:`Upload failed ({{status}})`,uploadFailedFile:`Upload failed: {{name}}`,deleteFailed:`Delete failed ({{status}})`,bulkDeleteFailed:`Bulk delete failed ({{status}})`,listFailed:`List failed ({{status}})`,fetchFailed:`Fetch failed ({{status}})`,removeFailed:`Failed to remove attachment`,loadFailed:`Failed to load attachment`},i={uploading:`Uploading…`,genericFile:`file`},a={attachFiles:`Attach files`,uploadingFiles_one:`Uploading {{count}} file…`,uploadingFiles_other:`Uploading {{count}} files…`,dropToAddContext:`Drop to add context`},o={ariaLabel:`Attachments`,title:`Resources`,fileCount_one:`{{count}} file`,fileCount_other:`{{count}} files`},s={preview:`Preview {{name}}`,backToDesktop:`Back to Specrails`,download:`Download`,downloadFile:`Download {{name}}`,loading:`Loading attachment...`,loadError:`Could not load attachment: {{error}}`,previewUnavailable:`Preview not available for this file type.`},c={empty:`No pinned resources — drop files or click Add`},l={removeFile:n,errors:r,chip:i,editor:a,section:o,lightbox:s,sessionBar:c};export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as e}from"./chunk-BNv3lrIs.js";var t=e({default:()=>o,domPanel:()=>i,editor:()=>r,modal:()=>n,session:()=>a}),n={dialogLabel:`Browser capture`,nav:{forward:`Forward`,reload:`Reload`},address:{placeholder:`Enter a URL and press Go…`,label:`Address bar`,go:`Go`},viewport:{groupLabel:`Viewport size`,presetLabel:`Viewport {{preset}}`,presetTitle:`Viewport: {{preset}}`,fit:`fit`,desktop:`desktop`,tablet:`tablet`,mobile:`mobile`},network:{ariaLabel:`Capture network requests`,titleOn:`Capturing the page’s network requests (click to disable)`,titleOff:`Network capture off (click to enable)`,button:`Network`},allSizes:{ariaLabel:`Capture at all screen sizes`,titleOn:`Will capture this element at desktop, tablet and mobile (click to disable)`,titleOff:`Capture at all sizes: desktop, tablet and mobile`,button:`All sizes`},select:{active:`Click an element or drag…`,start:`Select to create spec`,hint:`Click a highlighted element to capture it, or drag a custom rectangle. Use the breadcrumb (or ↑/↓) to refine. Press Esc to cancel.`},closeBrowser:`Close browser`,status:{connecting:`Connecting browser…`,unavailable:`Browser unavailable`,opening:`Opening browser…`,capturing:`Capturing…`},error:{unavailable:`The browser is unavailable.`,devHint:`In dev, run <cmd>npx playwright install chromium</cmd> once. In the desktop app, Chromium is bundled.`},breadcrumb:{hint:`↑ parent · ↓ child`},toast:{captured:`Captured page selection`,captureFailed:`Capture failed`}},r={tools:{arrow:`Arrow (A)`,box:`Box (R)`,text:`Text (T)`,blur:`Blur / redact (B)`,step:`Step number (N)`},notePrompt:`Note text:`,colorLabel:`Colour {{color}}`,undo:`Undo`,undoTitle:`Undo (⌘Z)`,redo:`Redo`,redoTitle:`Redo (⌘⇧Z)`,capturedAlt:`Captured selection`,discardConfirm:`Discard annotations?`,reselect:`Reselect`,createSpec:`Create spec`,skipContinue:`Skip & continue`},i={header:`Captured page · {{title}}`,badge:{elements_one:`{{count}} element`,elements_other:`{{count}} elements`,tokens:`tokens`,requests:`{{count}} req`,truncated:`truncated`},removeLabel:`Remove captured page context`,noMarkup:`(no markup captured)`,appliedCss:`Applied CSS`,appliedCssTruncated:`Applied CSS (truncated)`,designTokens:`Design tokens`,fonts:`Fonts:`,copyJson:`Copy as JSON`,copied:`Copied!`,network_one:`Network · {{count}} request`,network_other:`Network · {{count}} requests`},a={connectionError:`Connection error`,lostConnection:`Lost connection to the browser. Close and reopen “From a website”.`,tooManySessions:`Too many open browser sessions. Close one and retry.`,launchFailed:`The browser failed to launch on the server.`,openFailed:`Could not open the browser.`},o={modal:n,editor:r,domPanel:i,session:a};export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as e}from"./chunk-BNv3lrIs.js";var t=e({chip:()=>c,default:()=>l,dock:()=>s,errors:()=>o,header:()=>r,input:()=>i,messageList:()=>a,panel:()=>n}),n={openChat:`Open chat`,dragToResize:`Drag to resize`,tabTitle:`Chat {{n}}`,startConversation:`Start a conversation about this project`,noConversations:`No conversations yet`,newConversation:`New conversation`,suggestions:{projectStatus:`What's the project status?`,recentFailures:`Show recent job failures`,commands:`What commands should I run?`,explainCodebase:`Explain the codebase`}},r={fallbackTitle:`Chat`,newConversation:`New conversation`,deleteConversation:`Delete conversation`,restorePanel:`Restore chat panel`,maximizePanel:`Maximize chat panel`,closeChat:`Close chat`},i={placeholder:`Message...`,send:`Send`,stop:`Stop`,modelLocked:`Cannot change model during an active conversation`},a={contextLoaded:`Context loaded — ready to help`,noMessages:`No messages yet`,askAnything:`Ask Claude anything about your project`,suggestions:{currentStatus:`What's the current project status?`,recentFailures:`Show me recent job failures`,testsToRun:`What tests should I run?`,mainArchitecture:`Explain the main architecture`}},o={sendFailed:`Failed to send message`},s={minimizedSessions_one:`{{count}} minimized session`,minimizedSessions_other:`{{count}} minimized sessions`,minimizedCount:`{{count}} minimized`,unknownProject:`Unknown project`},c={restore:`Restore {{label}}`,close:`Close {{label}}`,continueEditing:`Continue editing · {{projectName}}`,kindAiEdit:`AI Edit`,kindExploreSpec:`Explore Spec`},l={panel:n,header:r,input:i,messageList:a,errors:o,dock:s,chip:c};export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e);export{u as a,d as i,o as n,c as r,s as t};
|