specrails-desktop 2.47.0 → 2.48.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.
Files changed (248) hide show
  1. package/README.md +2 -0
  2. package/client/dist/assets/{ActivityFeedPage-DSCpSOGV.js → ActivityFeedPage-CGq6QhP5.js} +1 -1
  3. package/client/dist/assets/AgentBrowserCapture-C4GZ-kdf.js +1 -0
  4. package/client/dist/assets/AgentModeAnalyticsPane-_IPmL0ZS.js +2 -0
  5. package/client/dist/assets/AgentModeCodePane-B5WG5DOP.js +2 -0
  6. package/client/dist/assets/{AgentModeJobsPane-Dw3DNFkh.js → AgentModeJobsPane-w1N_HIXh.js} +1 -1
  7. package/client/dist/assets/AgentsPage-CmwnnT46.js +87 -0
  8. package/client/dist/assets/AnalyticsPage-BUMsKtsJ.js +1 -0
  9. package/client/dist/assets/CodePage-PjgywJPS.js +3 -0
  10. package/client/dist/assets/DesktopAnalyticsPage-BXY1pH4y.js +1 -0
  11. package/client/dist/assets/DocsDialog-ccQETHKB.js +11 -0
  12. package/client/dist/assets/DocsPage-DzEgplB3.js +11 -0
  13. package/client/dist/assets/{ExportDropdown-BwuvqS2Y.js → ExportDropdown-B8bBGopr.js} +1 -1
  14. package/client/dist/assets/InteractiveJobComposer-CEwGkJ8F.js +19 -0
  15. package/client/dist/assets/JobDetailModal-BYXmuTDe.js +1 -0
  16. package/client/dist/assets/JobDetailPage-CWp6MwJj.js +1 -0
  17. package/client/dist/assets/JobsPage-D1O1uyG8.js +1 -0
  18. package/client/dist/assets/{LoopBuilderPage-Byvq8Oqx.js → LoopBuilderPage-DQE-7Vby.js} +2 -2
  19. package/client/dist/assets/{LoopPreviewModal-BMC9Mgj1.js → LoopPreviewModal-Bk7zIXD5.js} +1 -1
  20. package/client/dist/assets/LoopsPage-CqG7mx56.js +1 -0
  21. package/client/dist/assets/MinimizedChatsContext-UpnqccPx.js +1 -0
  22. package/client/dist/assets/PluginsPage-CjgVvmpW.js +2 -0
  23. package/client/dist/assets/{ProjectSettingsDialog-nspqxH-M.js → ProjectSettingsDialog-D6vBCoay.js} +1 -1
  24. package/client/dist/assets/{RepositoryDeliveries-Dq9NJOWi.js → RepositoryDeliveries-C36ipKp_.js} +1 -1
  25. package/client/dist/assets/{RepositoryScopeSelector-C3jKG2z0.js → RepositoryScopeSelector-0Gz_fR1E.js} +1 -1
  26. package/client/dist/assets/ReviewPacketPage-Dr9RYs7q.js +1 -0
  27. package/client/dist/assets/TemplatePreviewModal-sCMHYFJo.js +1 -0
  28. package/client/dist/assets/TicketDetailModalContext-C5GgJlEt.js +14 -0
  29. package/client/dist/assets/{Trans-C0KyPo2O.js → Trans-9pHTy2fH.js} +1 -1
  30. package/client/dist/assets/{addspec-D2YIQ0GU.js → addspec-BOvgmcgk.js} +1 -1
  31. package/client/dist/assets/{addspec-B_TPJt-R.js → addspec-Clmyfn_R.js} +1 -1
  32. package/client/dist/assets/{addspec-A1lDQa4M.js → addspec-CsNaBpHp.js} +1 -1
  33. package/client/dist/assets/{addspec-CQBjzt24.js → addspec-D2tvWmmV.js} +1 -1
  34. package/client/dist/assets/{addspec-CLYLvaVP.js → addspec-D3nFwvD0.js} +1 -1
  35. package/client/dist/assets/{addspec-BPpZ_olp.js → addspec-DVLEhK3w.js} +1 -1
  36. package/client/dist/assets/{addspec-iFdQ6D99.js → addspec-DXbK-tb0.js} +1 -1
  37. package/client/dist/assets/{addspec-BHZd0N5F.js → addspec-OHG8DFEn.js} +1 -1
  38. package/client/dist/assets/agentRuntime-BUimiX__.js +1 -0
  39. package/client/dist/assets/agentRuntime-BcN97sAB.js +1 -0
  40. package/client/dist/assets/agentRuntime-Ckyg-ahT.js +1 -0
  41. package/client/dist/assets/agentRuntime-DJCwyX4t.js +1 -0
  42. package/client/dist/assets/agentRuntime-DVzPJOl0.js +1 -0
  43. package/client/dist/assets/agentRuntime-V9AZTG3c.js +1 -0
  44. package/client/dist/assets/agentRuntime-bAAjw1vw.js +1 -0
  45. package/client/dist/assets/agentRuntime-v4qKAYH-.js +1 -0
  46. package/client/dist/assets/{agents-DyI4rbHa.js → agents-CA5eT1d0.js} +1 -1
  47. package/client/dist/assets/{agents-_5mJMkAE.js → agents-CAgy-5uS.js} +1 -1
  48. package/client/dist/assets/{agents-BIT1UdTy.js → agents-CNm6Qzlv.js} +1 -1
  49. package/client/dist/assets/{agents-CST-lpYX.js → agents-CTwbx-fb.js} +1 -1
  50. package/client/dist/assets/{agents-C7fKfvm8.js → agents-DEGV1Vao.js} +1 -1
  51. package/client/dist/assets/{agents-DsgGMGwU.js → agents-HsDF1aQU.js} +1 -1
  52. package/client/dist/assets/{agents-Cm2JYrAa.js → agents-IQjdA-z9.js} +1 -1
  53. package/client/dist/assets/{agents-H6tVQUNP.js → agents-RkGoteXh.js} +1 -1
  54. package/client/dist/assets/analytics-BNgZ1Nj7.js +1 -0
  55. package/client/dist/assets/analytics-BlypLLR6.js +1 -0
  56. package/client/dist/assets/analytics-CoEzWPx4.js +1 -0
  57. package/client/dist/assets/analytics-DFh5lSOl.js +1 -0
  58. package/client/dist/assets/analytics-DZp-DS2U.js +1 -0
  59. package/client/dist/assets/analytics-DjLlE7jS.js +1 -0
  60. package/client/dist/assets/analytics-jzCkOec3.js +1 -0
  61. package/client/dist/assets/analytics-nZIjjtCc.js +1 -0
  62. package/client/dist/assets/{dashboard-BK_mez-z.js → dashboard-C29Qwa-L.js} +1 -1
  63. package/client/dist/assets/{dashboard-BwkjxI6H.js → dashboard-CSJzf5OT.js} +1 -1
  64. package/client/dist/assets/{dashboard-C3bDKf7s.js → dashboard-CTfEtkqX.js} +1 -1
  65. package/client/dist/assets/{dashboard-Bt0cCzeG.js → dashboard-Cr4D8oMn.js} +1 -1
  66. package/client/dist/assets/{dashboard-fRrP0Kv0.js → dashboard-Csf1yGSN.js} +1 -1
  67. package/client/dist/assets/{dashboard-CdvjGfog.js → dashboard-D40HP2ks.js} +1 -1
  68. package/client/dist/assets/dashboard-DBAP2_SQ.js +1 -0
  69. package/client/dist/assets/{dashboard-B14uYXkG.js → dashboard-DMklepmz.js} +1 -1
  70. package/client/dist/assets/file-text-CFT-xXKN.js +1 -0
  71. package/client/dist/assets/{formatDistanceToNow-D44phX1J.js → formatDistanceToNow-w_2U5pm0.js} +1 -1
  72. package/client/dist/assets/{getTimezoneOffsetInMilliseconds-EAh9LFSx.js → getTimezoneOffsetInMilliseconds-BRymg1Kk.js} +1 -1
  73. package/client/dist/assets/index-D0ScFZvR.css +2 -0
  74. package/client/dist/assets/index-DORCrgbI.js +77 -0
  75. package/client/dist/assets/jira-api-BqHbSdxK.js +1 -0
  76. package/client/dist/assets/jobs-C6qmvUAi.js +1 -0
  77. package/client/dist/assets/jobs-C9j2PuwW.js +1 -0
  78. package/client/dist/assets/jobs-DLHdDkHc.js +1 -0
  79. package/client/dist/assets/jobs-DSp9DoD_.js +1 -0
  80. package/client/dist/assets/jobs-DTQO08nJ.js +1 -0
  81. package/client/dist/assets/jobs-DoFaEl9g.js +1 -0
  82. package/client/dist/assets/jobs-Dpw6AEOP.js +1 -0
  83. package/client/dist/assets/jobs-DrF8Do8s.js +1 -0
  84. package/client/dist/assets/{narration-UWi_xIZ-.js → narration--hUhjM5v.js} +1 -1
  85. package/client/dist/assets/{narration-DiPyj06T.js → narration-CHI06czm.js} +1 -1
  86. package/client/dist/assets/{narration-DrBAf8uv.js → narration-DjKB3pQZ.js} +1 -1
  87. package/client/dist/assets/{narration-CqNvgRi9.js → narration-DtCYvRLM.js} +1 -1
  88. package/client/dist/assets/{narration-B1uGfofH.js → narration-DvLQBW9U.js} +1 -1
  89. package/client/dist/assets/{narration-BKcL4Srl.js → narration-eSx3gR0W.js} +1 -1
  90. package/client/dist/assets/{narration-OyujFouL.js → narration-n3hOA7LY.js} +1 -1
  91. package/client/dist/assets/{narration-BtjKyHVM.js → narration-thJOeT2-.js} +1 -1
  92. package/client/dist/assets/packet-BNW8ODQw.js +1 -0
  93. package/client/dist/assets/packet-CXYvfdjy.js +1 -0
  94. package/client/dist/assets/packet-CtIlB8YE.js +1 -0
  95. package/client/dist/assets/packet-DA1SJkMH.js +1 -0
  96. package/client/dist/assets/packet-DYcWfBip.js +1 -0
  97. package/client/dist/assets/packet-DseX9yKC.js +1 -0
  98. package/client/dist/assets/packet-_m5aOy_d.js +1 -0
  99. package/client/dist/assets/packet-qOemUAm3.js +1 -0
  100. package/client/dist/assets/{project-repositories-GRYdjlKB.js → project-repositories-BsCs1PPA.js} +1 -1
  101. package/client/dist/assets/provider-capabilities-Vi1ZGvAK.js +1 -0
  102. package/client/dist/assets/settings-BsehKpty.js +1 -0
  103. package/client/dist/assets/settings-CQWob3SB.js +1 -0
  104. package/client/dist/assets/settings-CgCl0hzy.js +1 -0
  105. package/client/dist/assets/settings-DLRLd22L.js +1 -0
  106. package/client/dist/assets/settings-Dn5prAFl.js +1 -0
  107. package/client/dist/assets/settings-HZSu-K4l.js +1 -0
  108. package/client/dist/assets/{settings-DEgcA0jd.js → settings-p4OVIyRh.js} +1 -1
  109. package/client/dist/assets/settings-rddaldUp.js +1 -0
  110. package/client/dist/assets/setup-B5FHuxvB.js +1 -0
  111. package/client/dist/assets/setup-BihzXadx.js +1 -0
  112. package/client/dist/assets/setup-BtC6Hg4K.js +1 -0
  113. package/client/dist/assets/setup-C9Fy9PKQ.js +1 -0
  114. package/client/dist/assets/setup-CROyqD5N.js +1 -0
  115. package/client/dist/assets/setup-DpqzaEEA.js +1 -0
  116. package/client/dist/assets/setup-Dwzt5nO1.js +1 -0
  117. package/client/dist/assets/setup-zLEDnG7N.js +1 -0
  118. package/client/dist/assets/{spending-CN9PHM65.js → spending-hcgxHP4O.js} +1 -1
  119. package/client/dist/assets/{useDesktop-iius_s5d.js → useDesktop-CAisjKWC.js} +1 -1
  120. package/client/dist/assets/{useSharedWebSocket-D7hkZ3Ka.js → useSharedWebSocket-BHIfW4QT.js} +2 -2
  121. package/client/dist/assets/wrench-BfmNO9Vw.js +1 -0
  122. package/client/dist/index.html +27 -26
  123. package/docs/guide/de/integrations/7-local-engines.md +37 -0
  124. package/docs/guide/en/integrations/7-local-engines.md +37 -0
  125. package/docs/guide/es/integrations/7-local-engines.md +37 -0
  126. package/docs/guide/fr/integrations/7-local-engines.md +37 -0
  127. package/docs/guide/it/integrations/7-local-engines.md +37 -0
  128. package/docs/guide/ja/integrations/7-local-engines.md +37 -0
  129. package/docs/guide/pt/integrations/7-local-engines.md +37 -0
  130. package/docs/guide/zh/integrations/7-local-engines.md +37 -0
  131. package/docs/internals/adding-a-provider.md +12 -0
  132. package/docs/internals/local-agent-runner.md +153 -0
  133. package/docs/internals/review-packet.md +8 -0
  134. package/docs/local-providers.md +215 -0
  135. package/local-runner/dist/specrails-local-runner.js +15815 -0
  136. package/package.json +7 -5
  137. package/server/dist/agent-chat-manager.js +8 -1
  138. package/server/dist/agent-chat-router.js +5 -2
  139. package/server/dist/agent-fence-promotion.js +53 -0
  140. package/server/dist/agent-mcp-config.js +4 -1
  141. package/server/dist/agent-runtime-bridge.js +7 -2
  142. package/server/dist/agent-runtime-controls-router.js +12 -1
  143. package/server/dist/agent-runtime-controls.js +37 -2
  144. package/server/dist/agent-runtime-effective-config.js +28 -7
  145. package/server/dist/agent-runtime-metrics.js +1 -1
  146. package/server/dist/agent-runtime-settings-router.js +76 -6
  147. package/server/dist/agent-runtime-settings.js +137 -7
  148. package/server/dist/agent-spec-framing.js +10 -4
  149. package/server/dist/binary-probe.js +12 -0
  150. package/server/dist/blueprint-router.js +3 -2
  151. package/server/dist/chat-manager.js +5 -1
  152. package/server/dist/desktop-router.js +87 -4
  153. package/server/dist/index.js +13 -0
  154. package/server/dist/interactive-job-session.js +3 -1
  155. package/server/dist/local-engine-detection.js +118 -0
  156. package/server/dist/loop-executors.js +2 -1
  157. package/server/dist/loop-role-engines.js +129 -0
  158. package/server/dist/loop-run-manager.js +4 -4
  159. package/server/dist/mcp/tools/app-settings.js +30 -4
  160. package/server/dist/mcp/tools/rails.js +1 -1
  161. package/server/dist/pr-body.js +11 -2
  162. package/server/dist/pricing.js +15 -0
  163. package/server/dist/provider-detection.js +63 -1
  164. package/server/dist/provider-selection.js +26 -1
  165. package/server/dist/providers/index.js +4 -1
  166. package/server/dist/providers/local-adapter-registry.js +56 -0
  167. package/server/dist/providers/local-adapter.js +426 -0
  168. package/server/dist/providers/registry.js +39 -4
  169. package/server/dist/rail-isolated-launch.js +3 -3
  170. package/server/dist/rails-router.js +66 -10
  171. package/server/dist/result-event.js +17 -0
  172. package/server/dist/review-packet.js +1 -0
  173. package/server/dist/schemas/agent-runtime.schema.json +10 -2
  174. package/server/dist/setup-manager.js +5 -1
  175. package/server/dist/spec-models.js +14 -2
  176. package/server/dist/worktree-node-modules.js +97 -65
  177. package/client/dist/assets/AgentBrowserCapture-mc1c5pgS.js +0 -1
  178. package/client/dist/assets/AgentModeAnalyticsPane--UkamBTm.js +0 -2
  179. package/client/dist/assets/AgentModeCodePane-DJCswsvU.js +0 -2
  180. package/client/dist/assets/AgentsPage-ChElPUL9.js +0 -87
  181. package/client/dist/assets/AnalyticsPage-BGtkFHBp.js +0 -1
  182. package/client/dist/assets/CodePage-BBnw3VGn.js +0 -3
  183. package/client/dist/assets/DesktopAnalyticsPage-B85tNScc.js +0 -1
  184. package/client/dist/assets/DocsDialog-D4cXrOMl.js +0 -11
  185. package/client/dist/assets/DocsPage-BCAbC6qy.js +0 -11
  186. package/client/dist/assets/InteractiveJobComposer-Coq-Zhk0.js +0 -19
  187. package/client/dist/assets/JobDetailModal--Mjam0Nc.js +0 -1
  188. package/client/dist/assets/JobDetailPage-B6ShWSBh.js +0 -1
  189. package/client/dist/assets/JobsPage-DHU_ep_B.js +0 -1
  190. package/client/dist/assets/LoopsPage-CFGl-Nw8.js +0 -1
  191. package/client/dist/assets/MinimizedChatsContext-DHjHBYqa.js +0 -1
  192. package/client/dist/assets/PluginsPage-BHygRnW6.js +0 -2
  193. package/client/dist/assets/ReviewPacketPage-C9mqhi65.js +0 -1
  194. package/client/dist/assets/TemplatePreviewModal-BmwoAjOr.js +0 -1
  195. package/client/dist/assets/TicketDetailModalContext-lYmoONrd.js +0 -14
  196. package/client/dist/assets/agentRuntime-62GWdc26.js +0 -1
  197. package/client/dist/assets/agentRuntime-BN1mKAuY.js +0 -1
  198. package/client/dist/assets/agentRuntime-BNBCzQLM.js +0 -1
  199. package/client/dist/assets/agentRuntime-BQE_K1GG.js +0 -1
  200. package/client/dist/assets/agentRuntime-CCU3HCtS.js +0 -1
  201. package/client/dist/assets/agentRuntime-DT72Bpdv.js +0 -1
  202. package/client/dist/assets/agentRuntime-ZfMPeeiP.js +0 -1
  203. package/client/dist/assets/agentRuntime-g3W8Ry4d.js +0 -1
  204. package/client/dist/assets/analytics-47pYygtV.js +0 -1
  205. package/client/dist/assets/analytics-B0vt1g5U.js +0 -1
  206. package/client/dist/assets/analytics-BMzCvrCU.js +0 -1
  207. package/client/dist/assets/analytics-BlFN3Zwx.js +0 -1
  208. package/client/dist/assets/analytics-CZYzL-nR.js +0 -1
  209. package/client/dist/assets/analytics-DAsb9MJ8.js +0 -1
  210. package/client/dist/assets/analytics-FXQlQ2Yt.js +0 -1
  211. package/client/dist/assets/analytics-RnFCNkah.js +0 -1
  212. package/client/dist/assets/dashboard-BfBir_6o.js +0 -1
  213. package/client/dist/assets/file-text-BcLCfcWZ.js +0 -1
  214. package/client/dist/assets/index-Cfh9aaep.css +0 -2
  215. package/client/dist/assets/index-DgMBighL.js +0 -76
  216. package/client/dist/assets/jira-api-BQR6G0YY.js +0 -1
  217. package/client/dist/assets/jobs-5PQJbdOf.js +0 -1
  218. package/client/dist/assets/jobs-B2B08Oy9.js +0 -1
  219. package/client/dist/assets/jobs-BJZtBbwb.js +0 -1
  220. package/client/dist/assets/jobs-BlWEsQb7.js +0 -1
  221. package/client/dist/assets/jobs-ConfD8xD.js +0 -1
  222. package/client/dist/assets/jobs-DMPU64ms.js +0 -1
  223. package/client/dist/assets/jobs-DojASiTp.js +0 -1
  224. package/client/dist/assets/jobs-kVHkNpB-.js +0 -1
  225. package/client/dist/assets/packet-BQ2tXfJI.js +0 -1
  226. package/client/dist/assets/packet-BdpOJ1Cy.js +0 -1
  227. package/client/dist/assets/packet-C3Ievb9R.js +0 -1
  228. package/client/dist/assets/packet-C4zJIG0Y.js +0 -1
  229. package/client/dist/assets/packet-Cx-zRuWn.js +0 -1
  230. package/client/dist/assets/packet-DUTGX52M.js +0 -1
  231. package/client/dist/assets/packet-DhsKtUPB.js +0 -1
  232. package/client/dist/assets/packet-z3LJ8Zyy.js +0 -1
  233. package/client/dist/assets/provider-capabilities-CXipwrXJ.js +0 -1
  234. package/client/dist/assets/settings-B3rWEwOx.js +0 -1
  235. package/client/dist/assets/settings-BcVoiMyw.js +0 -1
  236. package/client/dist/assets/settings-BlYvaQ7w.js +0 -1
  237. package/client/dist/assets/settings-CD5uEBiL.js +0 -1
  238. package/client/dist/assets/settings-CyhS0DLJ.js +0 -1
  239. package/client/dist/assets/settings-DCMFUGDs.js +0 -1
  240. package/client/dist/assets/settings-DmbYKyMJ.js +0 -1
  241. package/client/dist/assets/setup-2xGgu4Sk.js +0 -1
  242. package/client/dist/assets/setup-Ba11l2JA.js +0 -1
  243. package/client/dist/assets/setup-BzW4kMok.js +0 -1
  244. package/client/dist/assets/setup-COzwYhkJ.js +0 -1
  245. package/client/dist/assets/setup-CRVULhtF.js +0 -1
  246. package/client/dist/assets/setup-DgvlxwpE.js +0 -1
  247. package/client/dist/assets/setup-Dw_wYeEY.js +0 -1
  248. package/client/dist/assets/setup-ZPtEeJPW.js +0 -1
@@ -1 +0,0 @@
1
- var e={job:`任务`,quickSpec:`Quick`,exploreSpec:`Explore`,aiEdit:`AI 编辑`,smash:`SMASH`,fileSummary:`文件摘要`,loop:`Loops`,chatSidebar:`对话`,specLauncher:`规格启动器`,proposal:`提案`,agentStudio:`Agent Studio`,setup:`设置`},t={d7:`7天`,d30:`30天`,d90:`90天`,all:`全部`,custom:`自定义`,startDate:`开始日期`,endDate:`结束日期`,to:`至`},n=`{{count}} 次运行`,r=`{{count}} 次运行`,i={title:`分析`,all:`全部`,engine:`引擎`,ticketChip:`工单 #{{id}} · ✕`,failedToLoad:`加载失败:{{error}}`,modelChip:`模型:{{model}}`,clearModelFilter:`清除模型筛选`},a={spending:`支出`,vsPrev:`较上期 {{pct}}%`,invocations_one:`{{count}} 次调用`,invocations_other:`{{count}} 次调用`,tokens:`· {{tokens}} token`,tokensTooltip:`总 token 数 = 此时间窗口内所有调用的新输入 + 输出 + 缓存读取 + 缓存创建之和。`,usageUnavailable:`· token 使用量不可用`,usageUnavailableTooltip:`提供方已完成这些调用,但未提供 token 遥测数据。`,usagePartiallyUnavailable:`· 已知 {{tokens}} 个 token;{{count}} 次调用无数据`,usagePartiallyUnavailableTooltip:`仅显示已知 token 小计;部分调用未提供 token 遥测数据。`,costUnavailable:`成本不可用`,costUnavailableTooltip:`提供方已完成这些调用,但未提供足以确定成本的遥测数据。`,costPartiallyUnavailable:`· 已知小计;{{count}} 次调用无成本数据`,costPartiallyUnavailableTooltip:`仅显示已知成本小计;部分调用未提供足以确定成本的遥测数据。`,includesEstimated:`· 含约 {{amount}} 估算值`,includesEstimatedTooltip:`包含 {{amount}} 的估算成本,来自不原生上报成本的提供方(例如 codex,按本地价格表估算)。`,trackingStarted:`追踪始于 {{date}}`,trackingStartedFallback:`首次调用后开始追踪`,emptyState:`当前筛选窗口内暂无调用。`,segmentTitle:`{{label}}:{{value}}`},o={title:`按提供方`,description:`此项目中各 AI CLI 的成本分布。<tilde>~</tilde> 前缀表示该行成本由本地价格表估算(提供方不原生上报)。`,noCost:`此时间窗口内暂无成本记录。`,segmentTitle:`{{label}}:{{value}}({{count}})`,costUnavailable:`成本不可用`,costUnavailableTooltip:`此提供方已运行,但未提供足以确定成本的遥测数据。`,costPartiallyUnavailable:`· {{count}} 次不可用`,costPartiallyUnavailableTooltip:`仅显示已知小计;部分运行的成本不可用。`},s={title:`每日时间线`,subtitle:`按来源堆叠`,empty:`此期间没有支出。`,costUnavailable:`已记录调用,但成本遥测数据不可用。`,costPartiallyUnavailable:`已知成本 · {{count}} 次不可用`},c={title:`Quick vs Explore`,quick:`Quick`,explore:`Explore`,sparseCta:`试试 Explore,获得更丰富的 spec`,runsSoFar_one:`目前 {{count}} 次运行`,runsSoFar_other:`目前 {{count}} 次运行`,perSpec:`每个 spec`,createdRuns:`已创建 <strong>{{created}}</strong> · {{runs}} 次运行`,avgDuration:`平均 {{duration}}`,ratio:`每个 spec 多 {{ratio}}×`,estimatedTooltip:`估算成本(codex/gemini 价格表回退,非提供商计费)`,estimatedFootnote:`~ 包含估算成本(codex/gemini)`,costUnavailable:`每个 spec 的成本不可用`,costUnavailableTooltip:`由于一次或多次运行未提供成本遥测数据,无法计算每个 spec 的平均成本。`},l={title:`模型`,empty:`暂无模型记录。`,estimatedTooltip:`根据本地价格表估算 — 此提供商不原生报告成本。`,others:`其他`,costUnavailableWithRuns:`— · {{count}}`,costUnavailableTooltip:`此模型的所有运行均无成本遥测数据。`,costPartiallyUnavailable:`· {{count}} 次不可用`,costPartiallyUnavailableTooltip:`仅显示已知小计;此模型的部分运行无成本遥测数据。`},u={title:`成本 vs 轮次`,empty:`暂无可绘制的调用。`,turnsLabel:`轮次`,costLabel:`成本`,truncated:`显示 {{total}} 中的 {{shown}} 个 — 保留成本最高的点,但隐藏较早的点`,costUnavailable:`已记录调用,但没有可供绘图的成本遥测数据。`,costPartiallyUnavailable:`图表仅包含有成本数据的运行;{{count}} 次运行的成本不可用。`},d={title:`热门工单`,empty:`此期间没有工单活动。`,breakdownItem:`{{n}} {{label}}`,unattributed:`未归属`,deletedTicket:`已删除工单 #{{id}}`,costUnavailable:`成本不可用`,costUnavailableTooltip:`此工单的所有运行均未提供成本遥测数据。`,costPartiallyUnavailable:`{{count}} 次不可用`,costPartiallyUnavailableTooltip:`仅显示已知小计;此工单的部分运行成本不可用。`},f={title:`全部调用`,statusFilterAria:`状态筛选`,minCostFilterAria:`最低成本筛选`,minCostPlaceholder:`≥ $0.00`,allStatus:`全部状态`,success:`成功`,failed:`失败`,aborted:`已中止`,empty:`没有符合当前筛选条件的调用。`,colSurface:`来源`,colTicket:`工单`,colCost:`成本`,colTurns:`轮次`,colTokens:`Token`,colModel:`模型`,colStatus:`状态`,colStarted:`开始时间`,contractLayer:`Contract Layer`,contractLayerRefinement:`Contract Layer 增强`,deleted:`(已删除)`,provisionalTitleTooltip:`Explore 临时标题——尚未提交`,estimatedCostTooltip:`按本地价格表估算——此提供方不原生上报成本。`,inferred:`推断`,statusValue:{success:`成功`,failed:`失败`,aborted:`已中止`},truncated:`显示前 {{shown}} 条,共 {{total}} 条匹配记录。`,colProvider:`提供商`,sortLabel:`排序`,sortRecency:`最近`,sortCost:`成本`},p={title:`Desktop 分析`,refreshAria:`刷新分析数据`,failedToLoad:`加载分析数据失败:{{error}}`,totalCost:`总成本`,costToday:`今日 {{value}}`,costTodayUnavailable:`今日成本不可用`,totalJobs:`任务总数`,jobsToday:`今日 {{n}} 个`,successRate:`成功率`,acrossAllProjects:`所有项目汇总`,avgCostPerJob:`平均成本 / 任务`,periodAverage:`期间平均`,averageUnavailable:`成本遥测数据不完整,平均值不可用`,costOverTime:`跨项目成本走势`,noCostData:`此期间无成本数据`,projectComparison:`项目对比`,noProjects:`尚未注册任何项目。`,jobsCount_one:`{{count}} 个任务`,jobsCount_other:`{{count}} 个任务`,successPct:`成功率 {{pct}}%`,costByProject:`按项目统计成本`,includesEstimated:`~{{amount}} 估算`,includesEstimatedTooltip:`包含 {{amount}} 的价格表估算成本(codex/gemini),非提供商计费。`,includesEstimatedShort:`含估算`,timelineEstimatedTooltip:`某些天包含以 ~ 标记的价格表估算成本(codex/gemini)。`,estimatedBadge:`估算`,projectEstimatedTooltip:`此项目成本中的 {{amount}} 为价格表估算(codex/gemini),非提供商计费。`,statusBarEstimatedTooltip:`包含价格表估算成本(codex/gemini),非提供商计费。`,costUnavailable:`已记录调用,但成本遥测数据不可用。`,costUnavailableShort:`不可用`,costPartiallyUnavailable:`已知成本小计;{{count}} 次调用不可用。`},m={"7d":`最近 7 天`,"30d":`最近 30 天`,"90d":`最近 90 天`,all:`全部时间`,custom:`自定义范围`},h={title:`代理任务`,subtitle:`固定到此项目的 Agent Chat 轮次`,vsPrev:`对比上一周期`,turnsAndTokens:`{{turns}} 轮 · {{tokens}} tokens`,untitled:`未命名任务`,estimatedNote:`包含估算成本`},g={surfaces:e,periods:t,runs_one:n,runs_other:r,page:i,hero:a,providerCard:o,timeline:s,quickVsExplore:c,models:l,scatter:u,topTickets:d,table:f,export:{summaryCsv:`摘要 CSV`,rawCsv:`原始 CSV`,summaryJson:`摘要 JSON`,rawJson:`原始 JSON`,downloading:`正在下载…`,noData:`当前筛选条件下无数据`,failed:`导出失败`},desktop:p,windowLabels:m,agentMissions:h};export{h as agentMissions,g as default,p as desktop,a as hero,l as models,i as page,t as periods,o as providerCard,c as quickVsExplore,n as runs_one,r as runs_other,u as scatter,e as surfaces,f as table,s as timeline,d as topTickets,m as windowLabels};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-CNC7AqOf.js";var t=e({agentMissions:()=>_,default:()=>v,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,windowLabels:()=>g}),n={job:`Jobs`,quickSpec:`Quick`,exploreSpec:`Explore`,aiEdit:`Refine`,smash:`SMASH`,fileSummary:`File summaries`,loop:`Loops`,chatSidebar:`Chat`,specLauncher:`Spec launcher`,proposal:`Proposal`,agentStudio:`Agent Studio`,setup:`Setup`},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.`,usageUnavailable:`· token usage unavailable`,usageUnavailableTooltip:`The provider completed these invocations but did not expose token telemetry.`,usagePartiallyUnavailable:`· {{tokens}} known tokens; {{count}} run(s) unavailable`,usagePartiallyUnavailableTooltip:`Known token subtotal only; some invocations did not expose token telemetry.`,costUnavailable:`cost unavailable`,costUnavailableTooltip:`The provider completed these invocations but did not expose enough telemetry to determine their cost.`,costPartiallyUnavailable:`· known subtotal; {{count}} run(s) without cost`,costPartiallyUnavailableTooltip:`Known cost subtotal only; some invocations did not expose enough telemetry to determine cost.`,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 did not expose enough telemetry to determine cost.`,costPartiallyUnavailable:`· {{count}} unavailable`,costPartiallyUnavailableTooltip:`Known subtotal only; cost is unavailable for some runs.`},l={title:`Daily timeline`,subtitle:`stacked by surface`,empty:`No spend in this period.`,costUnavailable:`Invocations were recorded, but cost telemetry is unavailable.`,costPartiallyUnavailable:`known costs · {{count}} unavailable`},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)`,costUnavailable:`cost unavailable per spec`,costUnavailableTooltip:`A per-spec average cannot be computed because one or more runs did not expose cost telemetry.`},d={title:`Models`,empty:`No models recorded.`,estimatedTooltip:`Estimated from the local pricing table — this provider does not report cost natively.`,others:`Others`,costUnavailableWithRuns:`— · {{count}}`,costUnavailableTooltip:`Cost telemetry is unavailable for every run of this model.`,costPartiallyUnavailable:`· {{count}} unavailable`,costPartiallyUnavailableTooltip:`Known subtotal only; some runs of this model have no cost telemetry.`},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`,costUnavailable:`Invocations were recorded, but no cost telemetry is available to plot.`,costPartiallyUnavailable:`Plot includes priced runs only; {{count}} run(s) have unavailable cost.`},p={title:`Top tickets`,empty:`No ticket activity in this period.`,breakdownItem:`{{n}} {{label}}`,unattributed:`Unattributed`,deletedTicket:`deleted ticket #{{id}}`,costUnavailable:`cost unavailable`,costUnavailableTooltip:`None of this ticket's runs exposed cost telemetry.`,costPartiallyUnavailable:`{{count}} unavailable`,costPartiallyUnavailableTooltip:`Known subtotal only; some runs for this ticket have unavailable cost.`},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`,costTodayUnavailable:`cost unavailable today`,totalJobs:`Total Jobs`,jobsToday:`{{n}} today`,successRate:`Success Rate`,acrossAllProjects:`across all projects`,avgCostPerJob:`Avg Cost / Job`,periodAverage:`period average`,averageUnavailable:`average unavailable with incomplete cost telemetry`,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.`,costUnavailable:`Invocations were recorded, but cost telemetry is unavailable.`,costUnavailableShort:`unavailable`,costPartiallyUnavailable:`Known cost subtotal; {{count}} invocation(s) unavailable.`},g={"7d":`Last 7 days`,"30d":`Last 30 days`,"90d":`Last 90 days`,all:`All time`,custom:`Custom range`},_={title:`Agent missions`,subtitle:`Agent Chat turns pinned to this project`,vsPrev:`vs previous period`,turnsAndTokens:`{{turns}} turns · {{tokens}} tokens`,untitled:`Untitled mission`,estimatedNote:`Includes estimated costs`},v={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,windowLabels:g,agentMissions:_};export{t};
@@ -1 +0,0 @@
1
- var e={job:`Jobs`,quickSpec:`Quick`,exploreSpec:`Explore`,aiEdit:`Affinage`,smash:`SMASH`,fileSummary:`Résumés de fichiers`,loop:`Loops`,chatSidebar:`Chat`,specLauncher:`Lanceur de spec`,proposal:`Proposition`,agentStudio:`Agent Studio`,setup:`Configuration`},t={d7:`7j`,d30:`30j`,d90:`90j`,all:`Tout`,custom:`Personnalisé`,startDate:`Date de début`,endDate:`Date de fin`,to:`au`},n=`{{count}} exécution`,r=`{{count}} exécutions`,i={title:`Analytics`,all:`Tout`,engine:`Moteur`,ticketChip:`ticket #{{id}} · ✕`,failedToLoad:`Échec du chargement : {{error}}`,modelChip:`Modèle : {{model}}`,clearModelFilter:`Effacer le filtre de modèle`},a={spending:`Dépenses`,vsPrev:`{{pct}} % vs préc.`,invocations_one:`{{count}} invocation`,invocations_other:`{{count}} invocations`,tokens:`· {{tokens}} tokens`,tokensTooltip:`Total des tokens = entrée fraîche + sortie + lecture cache + création cache, sur toutes les invocations de cette période.`,usageUnavailable:`· utilisation des tokens indisponible`,usageUnavailableTooltip:`Le fournisseur a terminé ces invocations sans exposer de télémétrie des tokens.`,usagePartiallyUnavailable:`· {{tokens}} tokens connus ; sans données : {{count}}`,usagePartiallyUnavailableTooltip:`Sous-total connu uniquement ; certaines invocations n'exposent pas de télémétrie des tokens.`,costUnavailable:`coût indisponible`,costUnavailableTooltip:`Le fournisseur a terminé ces invocations sans exposer assez de télémétrie pour déterminer leur coût.`,costPartiallyUnavailable:`· sous-total connu ; sans coût : {{count}}`,costPartiallyUnavailableTooltip:`Sous-total connu uniquement ; certaines invocations n'exposent pas assez de télémétrie pour déterminer leur coût.`,includesEstimated:`· inclut ~{{amount}} estimés`,includesEstimatedTooltip:`Inclut {{amount}} de coût estimé pour les fournisseurs sans champ de coût natif (ex. codex via la table de tarifs locale).`,trackingStarted:`Suivi démarré le {{date}}`,trackingStartedFallback:`Le suivi démarre à la première invocation`,emptyState:`Aucune invocation pour cette période de filtrage.`,segmentTitle:`{{label}} : {{value}}`},o={title:`Par fournisseur`,description:`Répartition du coût entre les CLI IA de ce projet. Le préfixe <tilde>~</tilde> marque les lignes dont le coût est estimé à partir de la table de tarifs locale (le fournisseur ne le rapporte pas nativement).`,noCost:`Aucun coût enregistré sur cette période.`,segmentTitle:`{{label}} : {{value}} ({{count}})`,costUnavailable:`coût indisponible`,costUnavailableTooltip:`Ce fournisseur s'est exécuté mais son modèle n'est pas dans la table de tarifs, donc aucun coût n'a pu être calculé.`,costPartiallyUnavailable:`· indisponibles : {{count}}`,costPartiallyUnavailableTooltip:`Sous-total connu uniquement ; le coût de certaines exécutions est indisponible.`},s={title:`Chronologie quotidienne`,subtitle:`empilée par surface`,empty:`Aucune dépense sur cette période.`,costUnavailable:`Des invocations ont été enregistrées, mais la télémétrie de coût est indisponible.`,costPartiallyUnavailable:`coûts connus · indisponibles : {{count}}`},c={title:`Quick vs Explore`,quick:`Quick`,explore:`Explore`,sparseCta:`Essayez Explore pour des specs plus riches`,runsSoFar_one:`{{count}} exécution pour l'instant`,runsSoFar_other:`{{count}} exécutions pour l'instant`,perSpec:`par spec`,createdRuns:`<strong>{{created}}</strong> créées · {{runs}} exécutions`,avgDuration:`{{duration}} en moyenne`,ratio:`{{ratio}}× de plus par spec`,estimatedTooltip:`Coût estimé (repli sur la table de tarifs codex/gemini, non facturé par le fournisseur)`,estimatedFootnote:`~ Inclut des coûts estimés (codex/gemini)`,costUnavailable:`coût par spec indisponible`,costUnavailableTooltip:`La moyenne par spec ne peut pas être calculée car une ou plusieurs exécutions n'exposent pas leur coût.`},l={title:`Modèles`,empty:`Aucun modèle enregistré.`,estimatedTooltip:`Estimé à partir de la table de tarifs locale — ce fournisseur ne signale pas le coût de manière native.`,others:`Autres`,costUnavailableWithRuns:`— · {{count}}`,costUnavailableTooltip:`La télémétrie de coût est indisponible pour toutes les exécutions de ce modèle.`,costPartiallyUnavailable:`· indisponibles : {{count}}`,costPartiallyUnavailableTooltip:`Sous-total connu uniquement ; certaines exécutions de ce modèle n'ont pas de télémétrie de coût.`},u={title:`Coût vs tours`,empty:`Aucune invocation à tracer.`,turnsLabel:`tours`,costLabel:`coût`,truncated:`Affichage de {{shown}} sur {{total}} — le point le plus coûteux est conservé, mais les points précédents sont masqués`,costUnavailable:`Des invocations ont été enregistrées, mais aucune télémétrie de coût n'est disponible pour le graphique.`,costPartiallyUnavailable:`Le graphique ne contient que les exécutions tarifées ; coûts indisponibles : {{count}}.`},d={title:`Top tickets`,empty:`Aucune activité de ticket sur cette période.`,breakdownItem:`{{n}} {{label}}`,unattributed:`Non attribué`,deletedTicket:`ticket supprimé #{{id}}`,costUnavailable:`coût indisponible`,costUnavailableTooltip:`Aucune exécution de ce ticket n'a exposé de télémétrie de coût.`,costPartiallyUnavailable:`indisponibles : {{count}}`,costPartiallyUnavailableTooltip:`Sous-total connu uniquement ; certaines exécutions de ce ticket ont un coût indisponible.`},f={title:`Toutes les invocations`,statusFilterAria:`Filtre de statut`,minCostFilterAria:`Filtre de coût minimum`,minCostPlaceholder:`≥ $0.00`,allStatus:`Tous les statuts`,success:`Succès`,failed:`Échec`,aborted:`Interrompu`,empty:`Aucune invocation ne correspond aux filtres actuels.`,colSurface:`Surface`,colTicket:`Ticket`,colCost:`Coût`,colTurns:`Tours`,colTokens:`Tokens`,colModel:`Modèle`,colStatus:`Statut`,colStarted:`Démarré`,contractLayer:`Contract Layer`,contractLayerRefinement:`Affinage Contract Layer`,deleted:`(supprimé)`,provisionalTitleTooltip:`Titre Explore provisoire — pas encore validé`,estimatedCostTooltip:`Estimé à partir de la table de tarifs locale — ce fournisseur ne rapporte pas le coût nativement.`,inferred:`inféré`,statusValue:{success:`succès`,failed:`échec`,aborted:`interrompu`},truncated:`Affichage des {{shown}} premières lignes sur {{total}} correspondantes.`,colProvider:`Fournisseur`,sortLabel:`Trier`,sortRecency:`Récent`,sortCost:`Coût`},p={title:`Analytics de Desktop`,refreshAria:`Actualiser les analytics`,failedToLoad:`Échec du chargement des analytics : {{error}}`,totalCost:`Coût total`,costToday:`{{value}} aujourd'hui`,costTodayUnavailable:`coût indisponible aujourd'hui`,totalJobs:`Total des jobs`,jobsToday:`{{n}} aujourd'hui`,successRate:`Taux de réussite`,acrossAllProjects:`sur tous les projets`,avgCostPerJob:`Coût moyen / job`,periodAverage:`moyenne de la période`,averageUnavailable:`moyenne indisponible avec une télémétrie de coût incomplète`,costOverTime:`Coût inter-projets dans le temps`,noCostData:`Aucune donnée de coût pour cette période`,projectComparison:`Comparaison des projets`,noProjects:`Aucun projet enregistré.`,jobsCount_one:`{{count}} job`,jobsCount_other:`{{count}} jobs`,successPct:`{{pct}} % de réussite`,costByProject:`Coût par projet`,includesEstimated:`~{{amount}} estimé`,includesEstimatedTooltip:`Inclut {{amount}} de coût estimé par la table de tarifs (codex/gemini), non facturé par le fournisseur.`,includesEstimatedShort:`incl. estimé`,timelineEstimatedTooltip:`Certains jours incluent un coût estimé par la table de tarifs (codex/gemini) marqué d'un ~.`,estimatedBadge:`est.`,projectEstimatedTooltip:`{{amount}} du coût de ce projet est une estimation par table de tarifs (codex/gemini), non facturé par le fournisseur.`,statusBarEstimatedTooltip:`Inclut un coût estimé par la table de tarifs (codex/gemini), non facturé par le fournisseur.`,costUnavailable:`Des invocations ont été enregistrées, mais la télémétrie de coût est indisponible.`,costUnavailableShort:`indisponible`,costPartiallyUnavailable:`Sous-total des coûts connus ; invocations sans coût : {{count}}.`},m={"7d":`7 derniers jours`,"30d":`30 derniers jours`,"90d":`90 derniers jours`,all:`Tout l'historique`,custom:`Plage personnalisée`},h={title:`Missions de l’agent`,subtitle:`Tours d’Agent Chat épinglés à ce projet`,vsPrev:`vs période précédente`,turnsAndTokens:`{{turns}} tours · {{tokens}} tokens`,untitled:`Mission sans titre`,estimatedNote:`Inclut des coûts estimés`},g={surfaces:e,periods:t,runs_one:n,runs_other:r,page:i,hero:a,providerCard:o,timeline:s,quickVsExplore:c,models:l,scatter:u,topTickets:d,table:f,export:{summaryCsv:`CSV résumé`,rawCsv:`CSV brut`,summaryJson:`JSON résumé`,rawJson:`JSON brut`,downloading:`Téléchargement…`,noData:`Aucune donnée pour les filtres actuels`,failed:`Échec de l'export`},desktop:p,windowLabels:m,agentMissions:h};export{h as agentMissions,g as default,p as desktop,a as hero,l as models,i as page,t as periods,o as providerCard,c as quickVsExplore,n as runs_one,r as runs_other,u as scatter,e as surfaces,f as table,s as timeline,d as topTickets,m as windowLabels};
@@ -1 +0,0 @@
1
- var e={job:`Jobs`,quickSpec:`Quick`,exploreSpec:`Explore`,aiEdit:`Refinado`,smash:`SMASH`,fileSummary:`Resúmenes de archivo`,loop:`Loops`,chatSidebar:`Chat`,specLauncher:`Lanzador de specs`,proposal:`Propuesta`,agentStudio:`Agent Studio`,setup:`Configuración`},t={d7:`7d`,d30:`30d`,d90:`90d`,all:`Todo`,custom:`Personalizado`,startDate:`Fecha de inicio`,endDate:`Fecha de fin`,to:`a`},n=`{{count}} ejecución`,r=`{{count}} ejecuciones`,i={title:`Analíticas`,all:`Todo`,engine:`Motor`,ticketChip:`ticket #{{id}} · ✕`,failedToLoad:`Error al cargar: {{error}}`,modelChip:`Modelo: {{model}}`,clearModelFilter:`Quitar filtro de modelo`},a={spending:`Gasto`,vsPrev:`{{pct}}% vs anterior`,invocations_one:`{{count}} invocación`,invocations_other:`{{count}} invocaciones`,tokens:`· {{tokens}} tokens`,tokensTooltip:`Tokens totales = entrada nueva + salida + lectura de caché + creación de caché en todas las invocaciones de esta ventana.`,usageUnavailable:`· uso de tokens no disponible`,usageUnavailableTooltip:`El proveedor completó estas invocaciones pero no expuso telemetría de tokens.`,usagePartiallyUnavailable:`· {{tokens}} tokens conocidos; {{count}} ejecución(es) sin datos`,usagePartiallyUnavailableTooltip:`Solo subtotal de tokens conocido; algunas invocaciones no expusieron telemetría.`,costUnavailable:`coste no disponible`,costUnavailableTooltip:`El proveedor completó estas invocaciones pero no expuso telemetría suficiente para determinar su coste.`,costPartiallyUnavailable:`· subtotal conocido; {{count}} ejecución(es) sin coste`,costPartiallyUnavailableTooltip:`Solo subtotal de coste conocido; algunas invocaciones no expusieron telemetría suficiente.`,includesEstimated:`· incluye ~{{amount}} estimado`,includesEstimatedTooltip:`Incluye {{amount}} de coste estimado de proveedores sin campo de coste nativo (p. ej. codex mediante la tabla de precios local).`,trackingStarted:`Seguimiento iniciado el {{date}}`,trackingStartedFallback:`El seguimiento empieza con la primera invocación`,emptyState:`Aún no hay invocaciones para esta ventana de filtros.`,segmentTitle:`{{label}}: {{value}}`},o={title:`Por proveedor`,description:`Cómo se reparte el coste entre las CLI de IA de este proyecto. El prefijo <tilde>~</tilde> marca las filas cuyo coste se estima con la tabla de precios local (el proveedor no lo informa de forma nativa).`,noCost:`Aún no hay coste registrado en esta ventana.`,segmentTitle:`{{label}}: {{value}} ({{count}})`,costUnavailable:`coste no disponible`,costUnavailableTooltip:`Este proveedor se ejecutó pero no expuso telemetría suficiente para determinar el coste.`,costPartiallyUnavailable:`· {{count}} no disponible(s)`,costPartiallyUnavailableTooltip:`Solo subtotal conocido; algunas ejecuciones no tienen coste disponible.`},s={title:`Cronología diaria`,subtitle:`apilada por superficie`,empty:`Sin gasto en este periodo.`,costUnavailable:`Hay invocaciones registradas, pero la telemetría de coste no está disponible.`,costPartiallyUnavailable:`costes conocidos · {{count}} no disponible(s)`},c={title:`Quick vs Explore`,quick:`Quick`,explore:`Explore`,sparseCta:`Prueba Explore para conseguir specs más completas`,runsSoFar_one:`{{count}} ejecución hasta ahora`,runsSoFar_other:`{{count}} ejecuciones hasta ahora`,perSpec:`por spec`,createdRuns:`<strong>{{created}}</strong> creadas · {{runs}} ejecuciones`,avgDuration:`{{duration}} de media`,ratio:`{{ratio}}× más por spec`,estimatedTooltip:`Coste estimado (estimación con tabla de precios para codex/gemini, no facturado por el proveedor)`,estimatedFootnote:`~ Incluye costes estimados (codex/gemini)`,costUnavailable:`coste por spec no disponible`,costUnavailableTooltip:`No se puede calcular la media por spec porque una o más ejecuciones no expusieron telemetría de coste.`},l={title:`Modelos`,empty:`No hay modelos registrados.`,estimatedTooltip:`Estimado a partir de la tabla de precios local — este proveedor no informa el coste de forma nativa.`,others:`Otros`,costUnavailableWithRuns:`— · {{count}}`,costUnavailableTooltip:`El coste no está disponible para ninguna ejecución de este modelo.`,costPartiallyUnavailable:`· {{count}} no disponible(s)`,costPartiallyUnavailableTooltip:`Solo subtotal conocido; algunas ejecuciones de este modelo no tienen telemetría de coste.`},u={title:`Coste vs turnos`,empty:`No hay invocaciones que representar.`,turnsLabel:`turnos`,costLabel:`coste`,truncated:`Mostrando {{shown}} de {{total}} — se conserva el punto más costoso, pero se ocultan los anteriores`,costUnavailable:`Hay invocaciones registradas, pero no existe telemetría de coste para representarlas.`,costPartiallyUnavailable:`La gráfica solo incluye ejecuciones con precio; {{count}} no tienen coste disponible.`},d={title:`Tickets principales`,empty:`Sin actividad de tickets en este periodo.`,breakdownItem:`{{n}} {{label}}`,unattributed:`Sin atribuir`,deletedTicket:`ticket eliminado #{{id}}`,costUnavailable:`coste no disponible`,costUnavailableTooltip:`Ninguna ejecución de este ticket expuso telemetría de coste.`,costPartiallyUnavailable:`{{count}} no disponible(s)`,costPartiallyUnavailableTooltip:`Solo subtotal conocido; algunas ejecuciones de este ticket no tienen coste disponible.`},f={title:`Todas las invocaciones`,statusFilterAria:`Filtro de estado`,minCostFilterAria:`Filtro de coste mínimo`,minCostPlaceholder:`≥ $0.00`,allStatus:`Todos los estados`,success:`Éxito`,failed:`Fallido`,aborted:`Abortado`,empty:`Ninguna invocación coincide con los filtros actuales.`,colSurface:`Superficie`,colTicket:`Ticket`,colCost:`Coste`,colTurns:`Turnos`,colTokens:`Tokens`,colModel:`Modelo`,colStatus:`Estado`,colStarted:`Inicio`,contractLayer:`Contract Layer`,contractLayerRefinement:`Refinamiento de Contract Layer`,deleted:`(eliminado)`,provisionalTitleTooltip:`Título provisional de Explore — aún sin confirmar`,estimatedCostTooltip:`Estimado con la tabla de precios local — este proveedor no informa el coste de forma nativa.`,inferred:`inferido`,statusValue:{success:`éxito`,failed:`fallido`,aborted:`abortado`},truncated:`Mostrando las primeras {{shown}} de {{total}} filas coincidentes.`,colProvider:`Proveedor`,sortLabel:`Ordenar`,sortRecency:`Reciente`,sortCost:`Coste`},p={title:`Analíticas de Desktop`,refreshAria:`Actualizar analíticas`,failedToLoad:`No se pudieron cargar las analíticas: {{error}}`,totalCost:`Coste total`,costToday:`{{value}} hoy`,costTodayUnavailable:`coste no disponible hoy`,totalJobs:`Jobs totales`,jobsToday:`{{n}} hoy`,successRate:`Tasa de éxito`,acrossAllProjects:`en todos los proyectos`,avgCostPerJob:`Coste medio / job`,periodAverage:`media del periodo`,averageUnavailable:`media no disponible con telemetría de coste incompleta`,costOverTime:`Coste entre proyectos a lo largo del tiempo`,noCostData:`Sin datos de coste para este periodo`,projectComparison:`Comparación de proyectos`,noProjects:`No hay proyectos registrados.`,jobsCount_one:`{{count}} job`,jobsCount_other:`{{count}} jobs`,successPct:`{{pct}}% de éxito`,costByProject:`Coste por proyecto`,includesEstimated:`~{{amount}} estimado`,includesEstimatedTooltip:`Incluye {{amount}} de coste estimado por tabla de precios (codex/gemini), no facturado por el proveedor.`,includesEstimatedShort:`incl. estimado`,timelineEstimatedTooltip:`Algunos días incluyen coste estimado por tabla de precios (codex/gemini) marcado con ~.`,estimatedBadge:`est.`,projectEstimatedTooltip:`{{amount}} del coste de este proyecto es una estimación por tabla de precios (codex/gemini), no facturado por el proveedor.`,statusBarEstimatedTooltip:`Incluye coste estimado por tabla de precios (codex/gemini), no facturado por el proveedor.`,costUnavailable:`Hay invocaciones registradas, pero la telemetría de coste no está disponible.`,costUnavailableShort:`no disponible`,costPartiallyUnavailable:`Subtotal de coste conocido; {{count}} invocación(es) sin datos.`},m={"7d":`Últimos 7 días`,"30d":`Últimos 30 días`,"90d":`Últimos 90 días`,all:`Todo el tiempo`,custom:`Rango personalizado`},h={title:`Misiones del agente`,subtitle:`Turnos de Agent Chat anclados a este proyecto`,vsPrev:`vs periodo anterior`,turnsAndTokens:`{{turns}} turnos · {{tokens}} tokens`,untitled:`Misión sin título`,estimatedNote:`Incluye costes estimados`},g={surfaces:e,periods:t,runs_one:n,runs_other:r,page:i,hero:a,providerCard:o,timeline:s,quickVsExplore:c,models:l,scatter:u,topTickets:d,table:f,export:{summaryCsv:`CSV resumen`,rawCsv:`CSV en bruto`,summaryJson:`JSON resumen`,rawJson:`JSON en bruto`,downloading:`Descargando…`,noData:`Sin datos para los filtros actuales`,failed:`Error al exportar`},desktop:p,windowLabels:m,agentMissions:h};export{h as agentMissions,g as default,p as desktop,a as hero,l as models,i as page,t as periods,o as providerCard,c as quickVsExplore,n as runs_one,r as runs_other,u as scatter,e as surfaces,f as table,s as timeline,d as topTickets,m as windowLabels};
@@ -1 +0,0 @@
1
- var e={job:`Jobs`,quickSpec:`Quick`,exploreSpec:`Explore`,aiEdit:`Verfeinern`,smash:`SMASH`,fileSummary:`Dateizusammenfassungen`,loop:`Loops`,chatSidebar:`Chat`,specLauncher:`Spec-Starter`,proposal:`Vorschlag`,agentStudio:`Agent Studio`,setup:`Einrichtung`},t={d7:`7d`,d30:`30d`,d90:`90d`,all:`Alle`,custom:`Benutzerdefiniert`,startDate:`Startdatum`,endDate:`Enddatum`,to:`bis`},n=`{{count}} Lauf`,r=`{{count}} Läufe`,i={title:`Analytics`,all:`Alle`,engine:`Engine`,ticketChip:`Ticket #{{id}} · ✕`,failedToLoad:`Laden fehlgeschlagen: {{error}}`,modelChip:`Modell: {{model}}`,clearModelFilter:`Modellfilter zurücksetzen`},a={spending:`Ausgaben`,vsPrev:`{{pct}} % ggü. Vorperiode`,invocations_one:`{{count}} Aufruf`,invocations_other:`{{count}} Aufrufe`,tokens:`· {{tokens}} Tokens`,tokensTooltip:`Tokens gesamt = neue Eingabe + Ausgabe + Cache-Read + Cache-Create über alle Aufrufe in diesem Zeitraum.`,usageUnavailable:`· Token-Nutzung nicht verfügbar`,usageUnavailableTooltip:`Der Anbieter hat diese Aufrufe abgeschlossen, aber keine Token-Telemetrie bereitgestellt.`,usagePartiallyUnavailable:`· {{tokens}} bekannte Tokens; ohne Daten: {{count}}`,usagePartiallyUnavailableTooltip:`Nur bekannte Token-Zwischensumme; einige Aufrufe haben keine Token-Telemetrie bereitgestellt.`,costUnavailable:`Kosten nicht verfügbar`,costUnavailableTooltip:`Der Anbieter hat diese Aufrufe abgeschlossen, aber nicht genügend Telemetrie zur Kostenermittlung bereitgestellt.`,costPartiallyUnavailable:`· bekannte Zwischensumme; ohne Kosten: {{count}}`,costPartiallyUnavailableTooltip:`Nur bekannte Kosten-Zwischensumme; einige Aufrufe haben nicht genügend Telemetrie zur Kostenermittlung bereitgestellt.`,includesEstimated:`· enthält ~{{amount}} geschätzt`,includesEstimatedTooltip:`Enthält {{amount}} geschätzte Kosten von Providern ohne natives Kostenfeld (z. B. codex über die lokale Preistabelle).`,trackingStarted:`Tracking gestartet am {{date}}`,trackingStartedFallback:`Tracking beginnt mit dem ersten Aufruf`,emptyState:`Noch keine Aufrufe für diesen Filterzeitraum.`,segmentTitle:`{{label}}: {{value}}`},o={title:`Nach Provider`,description:`So verteilen sich die Kosten auf die KI-CLIs in diesem Projekt. Das Präfix <tilde>~</tilde> markiert Zeilen, deren Kosten über die lokale Preistabelle geschätzt sind (der Provider meldet sie nicht nativ).`,noCost:`Noch keine Kosten in diesem Zeitraum erfasst.`,segmentTitle:`{{label}}: {{value}} ({{count}})`,costUnavailable:`Kosten nicht verfügbar`,costUnavailableTooltip:`Dieser Anbieter lief, aber sein Modell ist nicht in der Preistabelle, daher konnten keine Kosten berechnet werden.`,costPartiallyUnavailable:`· nicht verfügbar: {{count}}`,costPartiallyUnavailableTooltip:`Nur bekannte Zwischensumme; für einige Aufrufe sind keine Kosten verfügbar.`},s={title:`Täglicher Verlauf`,subtitle:`gestapelt nach Surface`,empty:`Keine Ausgaben in diesem Zeitraum.`,costUnavailable:`Aufrufe wurden erfasst, aber die Kostentelemetrie ist nicht verfügbar.`,costPartiallyUnavailable:`bekannte Kosten · nicht verfügbar: {{count}}`},c={title:`Quick vs. Explore`,quick:`Quick`,explore:`Explore`,sparseCta:`Probiere Explore für reichhaltigere Specs`,runsSoFar_one:`bisher {{count}} Lauf`,runsSoFar_other:`bisher {{count}} Läufe`,perSpec:`pro Spec`,createdRuns:`<strong>{{created}}</strong> erstellt · {{runs}} Läufe`,avgDuration:`Ø {{duration}}`,ratio:`{{ratio}}× mehr pro Spec`,estimatedTooltip:`Geschätzte Kosten (Rückgriff auf Preistabelle für codex/gemini, nicht vom Anbieter abgerechnet)`,estimatedFootnote:`~ Enthält geschätzte Kosten (codex/gemini)`,costUnavailable:`Kosten pro Spec nicht verfügbar`,costUnavailableTooltip:`Ein Durchschnitt pro Spec kann nicht berechnet werden, da für mindestens einen Aufruf die Kostentelemetrie fehlt.`},l={title:`Modelle`,empty:`Keine Modelle erfasst.`,estimatedTooltip:`Geschätzt aus der lokalen Preistabelle — dieser Anbieter meldet die Kosten nicht nativ.`,others:`Andere`,costUnavailableWithRuns:`— · {{count}}`,costUnavailableTooltip:`Für alle Aufrufe dieses Modells fehlt die Kostentelemetrie.`,costPartiallyUnavailable:`· nicht verfügbar: {{count}}`,costPartiallyUnavailableTooltip:`Nur bekannte Zwischensumme; für einige Aufrufe dieses Modells fehlen Kostendaten.`},u={title:`Kosten vs. Turns`,empty:`Keine Aufrufe zum Darstellen.`,turnsLabel:`Turns`,costLabel:`Kosten`,truncated:`Zeige {{shown}} von {{total}} — der teuerste Punkt bleibt erhalten, frühere Punkte werden ausgeblendet`,costUnavailable:`Aufrufe wurden erfasst, aber es sind keine Kostendaten zum Darstellen verfügbar.`,costPartiallyUnavailable:`Das Diagramm enthält nur Aufrufe mit Kosten; Kosten nicht verfügbar: {{count}}.`},d={title:`Top-Tickets`,empty:`Keine Ticket-Aktivität in diesem Zeitraum.`,breakdownItem:`{{n}} {{label}}`,unattributed:`Nicht zugeordnet`,deletedTicket:`gelöschtes Ticket #{{id}}`,costUnavailable:`Kosten nicht verfügbar`,costUnavailableTooltip:`Keiner der Aufrufe dieses Tickets hat Kostentelemetrie bereitgestellt.`,costPartiallyUnavailable:`nicht verfügbar: {{count}}`,costPartiallyUnavailableTooltip:`Nur bekannte Zwischensumme; für einige Aufrufe dieses Tickets sind keine Kosten verfügbar.`},f={title:`Alle Aufrufe`,statusFilterAria:`Statusfilter`,minCostFilterAria:`Mindestkosten-Filter`,minCostPlaceholder:`≥ $0.00`,allStatus:`Alle Status`,success:`Erfolgreich`,failed:`Fehlgeschlagen`,aborted:`Abgebrochen`,empty:`Keine Aufrufe entsprechen den aktuellen Filtern.`,colSurface:`Surface`,colTicket:`Ticket`,colCost:`Kosten`,colTurns:`Turns`,colTokens:`Tokens`,colModel:`Modell`,colStatus:`Status`,colStarted:`Gestartet`,contractLayer:`Contract Layer`,contractLayerRefinement:`Contract-Layer-Verfeinerung`,deleted:`(gelöscht)`,provisionalTitleTooltip:`Vorläufiger Explore-Titel – noch nicht committet`,estimatedCostTooltip:`Geschätzt anhand der lokalen Preistabelle – dieser Provider meldet Kosten nicht nativ.`,inferred:`abgeleitet`,statusValue:{success:`erfolgreich`,failed:`fehlgeschlagen`,aborted:`abgebrochen`},truncated:`Zeige die ersten {{shown}} von {{total}} passenden Zeilen.`,colProvider:`Anbieter`,sortLabel:`Sortieren`,sortRecency:`Neueste`,sortCost:`Kosten`},p={title:`Desktop-Analytics`,refreshAria:`Analytics aktualisieren`,failedToLoad:`Analytics konnten nicht geladen werden: {{error}}`,totalCost:`Gesamtkosten`,costToday:`{{value}} heute`,costTodayUnavailable:`Kosten heute nicht verfügbar`,totalJobs:`Jobs gesamt`,jobsToday:`{{n}} heute`,successRate:`Erfolgsquote`,acrossAllProjects:`über alle Projekte`,avgCostPerJob:`Ø Kosten / Job`,periodAverage:`Durchschnitt im Zeitraum`,averageUnavailable:`Durchschnitt bei unvollständiger Kostentelemetrie nicht verfügbar`,costOverTime:`Projektübergreifende Kosten im Zeitverlauf`,noCostData:`Keine Kostendaten für diesen Zeitraum`,projectComparison:`Projektvergleich`,noProjects:`Keine Projekte registriert.`,jobsCount_one:`{{count}} Job`,jobsCount_other:`{{count}} Jobs`,successPct:`{{pct}} % Erfolg`,costByProject:`Kosten nach Projekt`,includesEstimated:`~{{amount}} geschätzt`,includesEstimatedTooltip:`Enthält {{amount}} geschätzte Kosten aus der Preistabelle (codex/gemini), nicht vom Anbieter abgerechnet.`,includesEstimatedShort:`inkl. geschätzt`,timelineEstimatedTooltip:`Einige Tage enthalten geschätzte Kosten aus der Preistabelle (codex/gemini), markiert mit ~.`,estimatedBadge:`gesch.`,projectEstimatedTooltip:`{{amount}} der Kosten dieses Projekts sind eine Schätzung aus der Preistabelle (codex/gemini), nicht vom Anbieter abgerechnet.`,statusBarEstimatedTooltip:`Enthält geschätzte Kosten aus der Preistabelle (codex/gemini), nicht vom Anbieter abgerechnet.`,costUnavailable:`Aufrufe wurden erfasst, aber die Kostentelemetrie ist nicht verfügbar.`,costUnavailableShort:`nicht verfügbar`,costPartiallyUnavailable:`Bekannte Kosten-Zwischensumme; Aufrufe ohne Kosten: {{count}}.`},m={"7d":`Letzte 7 Tage`,"30d":`Letzte 30 Tage`,"90d":`Letzte 90 Tage`,all:`Gesamter Zeitraum`,custom:`Benutzerdefiniert`},h={title:`Agent-Missionen`,subtitle:`An dieses Projekt angeheftete Agent-Chat-Züge`,vsPrev:`ggü. Vorperiode`,turnsAndTokens:`{{turns}} Züge · {{tokens}} Tokens`,untitled:`Unbenannte Mission`,estimatedNote:`Enthält geschätzte Kosten`},g={surfaces:e,periods:t,runs_one:n,runs_other:r,page:i,hero:a,providerCard:o,timeline:s,quickVsExplore:c,models:l,scatter:u,topTickets:d,table:f,export:{summaryCsv:`Zusammenfassung (CSV)`,rawCsv:`Rohdaten (CSV)`,summaryJson:`Zusammenfassung (JSON)`,rawJson:`Rohdaten (JSON)`,downloading:`Wird heruntergeladen…`,noData:`Keine Daten für aktuelle Filter`,failed:`Export fehlgeschlagen`},desktop:p,windowLabels:m,agentMissions:h};export{h as agentMissions,g as default,p as desktop,a as hero,l as models,i as page,t as periods,o as providerCard,c as quickVsExplore,n as runs_one,r as runs_other,u as scatter,e as surfaces,f as table,s as timeline,d as topTickets,m as windowLabels};
@@ -1 +0,0 @@
1
- var e={job:`Jobs`,quickSpec:`Quick`,exploreSpec:`Explore`,aiEdit:`Refinamento`,smash:`SMASH`,fileSummary:`Resumos de ficheiros`,loop:`Loops`,chatSidebar:`Chat`,specLauncher:`Lançador de specs`,proposal:`Proposta`,agentStudio:`Agent Studio`,setup:`Configuração`},t={d7:`7d`,d30:`30d`,d90:`90d`,all:`Tudo`,custom:`Personalizado`,startDate:`Data de início`,endDate:`Data de fim`,to:`até`},n=`{{count}} execução`,r=`{{count}} execuções`,i={title:`Analytics`,all:`Tudo`,engine:`Motor`,ticketChip:`ticket #{{id}} · ✕`,failedToLoad:`Falha ao carregar: {{error}}`,modelChip:`Modelo: {{model}}`,clearModelFilter:`Limpar filtro de modelo`},a={spending:`Gastos`,vsPrev:`{{pct}}% vs anterior`,invocations_one:`{{count}} invocação`,invocations_other:`{{count}} invocações`,tokens:`· {{tokens}} tokens`,tokensTooltip:`Total de tokens = input novo + output + leitura de cache + criação de cache em todas as invocações desta janela.`,usageUnavailable:`· utilização de tokens indisponível`,usageUnavailableTooltip:`O fornecedor concluiu estas invocações, mas não forneceu telemetria de tokens.`,usagePartiallyUnavailable:`· {{tokens}} tokens conhecidos; sem dados: {{count}}`,usagePartiallyUnavailableTooltip:`Apenas o subtotal conhecido de tokens; algumas invocações não forneceram telemetria de tokens.`,costUnavailable:`custo indisponível`,costUnavailableTooltip:`O fornecedor concluiu estas invocações, mas não forneceu telemetria suficiente para determinar o custo.`,costPartiallyUnavailable:`· subtotal conhecido; sem custo: {{count}}`,costPartiallyUnavailableTooltip:`Apenas o subtotal conhecido de custo; algumas invocações não forneceram telemetria suficiente para determinar o custo.`,includesEstimated:`· inclui ~{{amount}} estimado`,includesEstimatedTooltip:`Inclui {{amount}} de custo estimado de fornecedores sem campo de custo nativo (p. ex. codex através da tabela de preços local).`,trackingStarted:`Registo iniciado em {{date}}`,trackingStartedFallback:`O registo começa na primeira invocação`,emptyState:`Ainda não há invocações para esta janela de filtros.`,segmentTitle:`{{label}}: {{value}}`},o={title:`Por fornecedor`,description:`Como o custo se divide entre as CLIs de IA deste projeto. O prefixo <tilde>~</tilde> assinala as linhas em que o custo é estimado a partir da tabela de preços local (o fornecedor não o reporta nativamente).`,noCost:`Ainda não há custo registado nesta janela.`,segmentTitle:`{{label}}: {{value}} ({{count}})`,costUnavailable:`custo indisponível`,costUnavailableTooltip:`Este fornecedor foi executado, mas não forneceu telemetria suficiente para determinar o custo.`,costPartiallyUnavailable:`· indisponíveis: {{count}}`,costPartiallyUnavailableTooltip:`Apenas o subtotal conhecido; o custo de algumas execuções está indisponível.`},s={title:`Cronologia diária`,subtitle:`empilhada por superfície`,empty:`Sem gastos neste período.`,costUnavailable:`Foram registadas invocações, mas a telemetria de custo está indisponível.`,costPartiallyUnavailable:`custos conhecidos · indisponíveis: {{count}}`},c={title:`Quick vs Explore`,quick:`Quick`,explore:`Explore`,sparseCta:`Experimente o Explore para specs mais ricas`,runsSoFar_one:`{{count}} execução até agora`,runsSoFar_other:`{{count}} execuções até agora`,perSpec:`por spec`,createdRuns:`<strong>{{created}}</strong> criadas · {{runs}} execuções`,avgDuration:`{{duration}} em média`,ratio:`{{ratio}}× mais por spec`,estimatedTooltip:`Custo estimado (estimativa pela tabela de preços para codex/gemini, não faturado pelo provedor)`,estimatedFootnote:`~ Inclui custos estimados (codex/gemini)`,costUnavailable:`custo por spec indisponível`,costUnavailableTooltip:`Não é possível calcular a média por spec porque uma ou mais execuções não forneceram telemetria de custo.`},l={title:`Modelos`,empty:`Nenhum modelo registado.`,estimatedTooltip:`Estimado a partir da tabela de preços local — este provedor não informa o custo nativamente.`,others:`Outros`,costUnavailableWithRuns:`— · {{count}}`,costUnavailableTooltip:`A telemetria de custo está indisponível para todas as execuções deste modelo.`,costPartiallyUnavailable:`· indisponíveis: {{count}}`,costPartiallyUnavailableTooltip:`Apenas o subtotal conhecido; algumas execuções deste modelo não têm telemetria de custo.`},u={title:`Custo vs Turnos`,empty:`Sem invocações para representar.`,turnsLabel:`turnos`,costLabel:`custo`,truncated:`Mostrando {{shown}} de {{total}} — o ponto mais caro é mantido, mas os pontos anteriores ficam ocultos`,costUnavailable:`Foram registadas invocações, mas não existe telemetria de custo disponível para representar.`,costPartiallyUnavailable:`O gráfico inclui apenas execuções com custo; custo indisponível: {{count}}.`},d={title:`Top tickets`,empty:`Sem atividade de tickets neste período.`,breakdownItem:`{{n}} {{label}}`,unattributed:`Sem atribuição`,deletedTicket:`ticket eliminado #{{id}}`,costUnavailable:`custo indisponível`,costUnavailableTooltip:`Nenhuma execução deste ticket forneceu telemetria de custo.`,costPartiallyUnavailable:`indisponíveis: {{count}}`,costPartiallyUnavailableTooltip:`Apenas o subtotal conhecido; algumas execuções deste ticket têm custo indisponível.`},f={title:`Todas as invocações`,statusFilterAria:`Filtro de estado`,minCostFilterAria:`Filtro de custo mínimo`,minCostPlaceholder:`≥ $0.00`,allStatus:`Todos os estados`,success:`Sucesso`,failed:`Falhadas`,aborted:`Abortadas`,empty:`Nenhuma invocação corresponde aos filtros atuais.`,colSurface:`Superfície`,colTicket:`Ticket`,colCost:`Custo`,colTurns:`Turnos`,colTokens:`Tokens`,colModel:`Modelo`,colStatus:`Estado`,colStarted:`Início`,contractLayer:`Contract Layer`,contractLayerRefinement:`Refinamento do Contract Layer`,deleted:`(eliminado)`,provisionalTitleTooltip:`Título provisório do Explore — ainda não confirmado`,estimatedCostTooltip:`Estimado a partir da tabela de preços local — este fornecedor não reporta o custo nativamente.`,inferred:`inferido`,statusValue:{success:`sucesso`,failed:`falhada`,aborted:`abortada`},truncated:`A mostrar as primeiras {{shown}} de {{total}} linhas correspondentes.`,colProvider:`Provedor`,sortLabel:`Ordenar`,sortRecency:`Recente`,sortCost:`Custo`},p={title:`Analytics do Desktop`,refreshAria:`Atualizar analytics`,failedToLoad:`Falha ao carregar as analytics: {{error}}`,totalCost:`Custo total`,costToday:`{{value}} hoje`,costTodayUnavailable:`custo indisponível hoje`,totalJobs:`Total de jobs`,jobsToday:`{{n}} hoje`,successRate:`Taxa de sucesso`,acrossAllProjects:`em todos os projetos`,avgCostPerJob:`Custo médio / job`,periodAverage:`média do período`,averageUnavailable:`média indisponível com telemetria de custo incompleta`,costOverTime:`Custo entre projetos ao longo do tempo`,noCostData:`Sem dados de custo para este período`,projectComparison:`Comparação de projetos`,noProjects:`Nenhum projeto registado.`,jobsCount_one:`{{count}} job`,jobsCount_other:`{{count}} jobs`,successPct:`{{pct}}% de sucesso`,costByProject:`Custo por projeto`,includesEstimated:`~{{amount}} estimado`,includesEstimatedTooltip:`Inclui {{amount}} de custo estimado pela tabela de preços (codex/gemini), não faturado pelo provedor.`,includesEstimatedShort:`incl. estimado`,timelineEstimatedTooltip:`Alguns dias incluem custo estimado pela tabela de preços (codex/gemini) marcado com ~.`,estimatedBadge:`est.`,projectEstimatedTooltip:`{{amount}} do custo deste projeto é uma estimativa pela tabela de preços (codex/gemini), não faturado pelo provedor.`,statusBarEstimatedTooltip:`Inclui custo estimado pela tabela de preços (codex/gemini), não faturado pelo provedor.`,costUnavailable:`Foram registadas invocações, mas a telemetria de custo está indisponível.`,costUnavailableShort:`indisponível`,costPartiallyUnavailable:`Subtotal de custo conhecido; invocações sem custo: {{count}}.`},m={"7d":`Últimos 7 dias`,"30d":`Últimos 30 dias`,"90d":`Últimos 90 dias`,all:`Todo o período`,custom:`Intervalo personalizado`},h={title:`Missões do agente`,subtitle:`Turnos do Agent Chat afixados a este projeto`,vsPrev:`vs período anterior`,turnsAndTokens:`{{turns}} turnos · {{tokens}} tokens`,untitled:`Missão sem título`,estimatedNote:`Inclui custos estimados`},g={surfaces:e,periods:t,runs_one:n,runs_other:r,page:i,hero:a,providerCard:o,timeline:s,quickVsExplore:c,models:l,scatter:u,topTickets:d,table:f,export:{summaryCsv:`CSV de resumo`,rawCsv:`CSV em bruto`,summaryJson:`JSON de resumo`,rawJson:`JSON em bruto`,downloading:`A transferir…`,noData:`Sem dados para os filtros atuais`,failed:`Falha na exportação`},desktop:p,windowLabels:m,agentMissions:h};export{h as agentMissions,g as default,p as desktop,a as hero,l as models,i as page,t as periods,o as providerCard,c as quickVsExplore,n as runs_one,r as runs_other,u as scatter,e as surfaces,f as table,s as timeline,d as topTickets,m as windowLabels};
@@ -1 +0,0 @@
1
- var e={job:`ジョブ`,quickSpec:`クイック`,exploreSpec:`Explore`,aiEdit:`リファイン`,smash:`SMASH`,fileSummary:`ファイル要約`,loop:`Loops`,chatSidebar:`チャット`,specLauncher:`スペックランチャー`,proposal:`提案`,agentStudio:`エージェントスタジオ`,setup:`セットアップ`},t={d7:`7日`,d30:`30日`,d90:`90日`,all:`すべて`,custom:`カスタム`,startDate:`開始日`,endDate:`終了日`,to:`〜`},n=`{{count}} 回の実行`,r=`{{count}} 回の実行`,i={title:`アナリティクス`,all:`すべて`,engine:`エンジン`,ticketChip:`チケット #{{id}} · ✕`,failedToLoad:`読み込みに失敗しました: {{error}}`,modelChip:`モデル:{{model}}`,clearModelFilter:`モデルフィルターをクリア`},a={spending:`支出`,vsPrev:`前期間比 {{pct}}%`,invocations_one:`{{count}} 回の呼び出し`,invocations_other:`{{count}} 回の呼び出し`,tokens:`· {{tokens}} トークン`,tokensTooltip:`合計トークン = この期間の全呼び出しにおける新規入力 + 出力 + キャッシュ読み取り + キャッシュ作成の合計。`,usageUnavailable:`· トークン使用量は利用できません`,usageUnavailableTooltip:`プロバイダーはこれらの呼び出しを完了しましたが、トークンのテレメトリを提供しませんでした。`,usagePartiallyUnavailable:`· 既知のトークン {{tokens}};{{count}} 件はデータなし`,usagePartiallyUnavailableTooltip:`既知のトークン小計のみです。一部の呼び出しではトークンのテレメトリが提供されませんでした。`,costUnavailable:`コスト利用不可`,costUnavailableTooltip:`プロバイダーはこれらの呼び出しを完了しましたが、コストを特定するための十分なテレメトリを提供しませんでした。`,costPartiallyUnavailable:`· 既知の小計;{{count}} 件はコスト不明`,costPartiallyUnavailableTooltip:`既知のコスト小計のみです。一部の呼び出しではコストを特定するための十分なテレメトリが提供されませんでした。`,includesEstimated:`· 約 {{amount}} の推定値を含む`,includesEstimatedTooltip:`ネイティブのコストフィールドを持たないプロバイダーからの推定コスト {{amount}} を含みます(例: ローカル料金表で算出する codex)。`,trackingStarted:`トラッキング開始: {{date}}`,trackingStartedFallback:`最初の呼び出しからトラッキングを開始`,emptyState:`このフィルター期間の呼び出しはまだありません。`,segmentTitle:`{{label}}: {{value}}`},o={title:`プロバイダー別`,description:`このプロジェクトの AI CLI 間でのコストの内訳。<tilde>~</tilde> プレフィックスは、コストがローカル料金表からの推定値である行を示します(プロバイダーがネイティブに報告しない場合)。`,noCost:`この期間に記録されたコストはまだありません。`,segmentTitle:`{{label}}: {{value}} ({{count}})`,costUnavailable:`コスト利用不可`,costUnavailableTooltip:`このプロバイダーは実行されましたが、コストを特定するための十分なテレメトリを提供しませんでした。`,costPartiallyUnavailable:`· {{count}} 件は利用不可`,costPartiallyUnavailableTooltip:`既知の小計のみです。一部の実行ではコストを利用できません。`},s={title:`日次タイムライン`,subtitle:`サーフェス別の積み上げ`,empty:`この期間の支出はありません。`,costUnavailable:`呼び出しは記録されていますが、コストのテレメトリは利用できません。`,costPartiallyUnavailable:`既知のコスト · {{count}} 件は利用不可`},c={title:`クイック vs Explore`,quick:`クイック`,explore:`Explore`,sparseCta:`より充実したスペックには Explore をお試しください`,runsSoFar_one:`これまで {{count}} 回実行`,runsSoFar_other:`これまで {{count}} 回実行`,perSpec:`スペックあたり`,createdRuns:`<strong>{{created}}</strong> 件作成 · {{runs}} 回実行`,avgDuration:`平均 {{duration}}`,ratio:`スペックあたり {{ratio}}× 多い`,estimatedTooltip:`推定コスト(codex/gemini の料金表フォールバック、プロバイダー請求ではありません)`,estimatedFootnote:`~ 推定コストを含みます(codex/gemini)`,costUnavailable:`spec あたりのコストは利用不可`,costUnavailableTooltip:`1 件以上の実行でコストのテレメトリが提供されなかったため、spec あたりの平均を計算できません。`},l={title:`モデル`,empty:`記録されたモデルはありません。`,estimatedTooltip:`ローカルの料金表からの推定値 — このプロバイダーはコストをネイティブに報告しません。`,others:`その他`,costUnavailableWithRuns:`— · {{count}}`,costUnavailableTooltip:`このモデルのすべての実行でコストのテレメトリを利用できません。`,costPartiallyUnavailable:`· {{count}} 件は利用不可`,costPartiallyUnavailableTooltip:`既知の小計のみです。このモデルの一部の実行ではコストのテレメトリがありません。`},u={title:`コスト vs ターン`,empty:`プロットする呼び出しがありません。`,turnsLabel:`ターン`,costLabel:`コスト`,truncated:`{{total}} 件中 {{shown}} 件を表示 — 最もコストの高いポイントは保持されますが、それ以前のポイントは非表示になります`,costUnavailable:`呼び出しは記録されていますが、プロットできるコストのテレメトリがありません。`,costPartiallyUnavailable:`プロットにはコストが判明している実行のみ含まれます。{{count}} 件はコストを利用できません。`},d={title:`上位チケット`,empty:`この期間のチケットアクティビティはありません。`,breakdownItem:`{{n}} {{label}}`,unattributed:`未割り当て`,deletedTicket:`削除済みチケット #{{id}}`,costUnavailable:`コスト利用不可`,costUnavailableTooltip:`このチケットの実行ではコストのテレメトリが提供されませんでした。`,costPartiallyUnavailable:`{{count}} 件は利用不可`,costPartiallyUnavailableTooltip:`既知の小計のみです。このチケットの一部の実行ではコストを利用できません。`},f={title:`すべての呼び出し`,statusFilterAria:`ステータスフィルター`,minCostFilterAria:`最小コストフィルター`,minCostPlaceholder:`≥ $0.00`,allStatus:`すべてのステータス`,success:`成功`,failed:`失敗`,aborted:`中断`,empty:`現在のフィルターに一致する呼び出しはありません。`,colSurface:`サーフェス`,colTicket:`チケット`,colCost:`コスト`,colTurns:`ターン`,colTokens:`トークン`,colModel:`モデル`,colStatus:`ステータス`,colStarted:`開始`,contractLayer:`Contract Layer`,contractLayerRefinement:`Contract Layer の改良`,deleted:`(削除済み)`,provisionalTitleTooltip:`暫定の Explore タイトル — まだコミットされていません`,estimatedCostTooltip:`ローカル料金表からの推定値 — このプロバイダーはコストをネイティブに報告しません。`,inferred:`推定`,statusValue:{success:`成功`,failed:`失敗`,aborted:`中断`},truncated:`一致する {{total}} 行のうち最初の {{shown}} 行を表示しています。`,colProvider:`プロバイダー`,sortLabel:`並べ替え`,sortRecency:`最近`,sortCost:`コスト`},p={title:`Desktop アナリティクス`,refreshAria:`アナリティクスを更新`,failedToLoad:`アナリティクスの読み込みに失敗しました: {{error}}`,totalCost:`合計コスト`,costToday:`本日 {{value}}`,costTodayUnavailable:`本日のコストは利用不可`,totalJobs:`合計ジョブ数`,jobsToday:`本日 {{n}} 件`,successRate:`成功率`,acrossAllProjects:`全プロジェクト`,avgCostPerJob:`ジョブあたり平均コスト`,periodAverage:`期間平均`,averageUnavailable:`コストのテレメトリが不完全なため平均は利用不可`,costOverTime:`プロジェクト横断のコスト推移`,noCostData:`この期間のコストデータはありません`,projectComparison:`プロジェクト比較`,noProjects:`登録されたプロジェクトはありません。`,jobsCount_one:`{{count}} 件のジョブ`,jobsCount_other:`{{count}} 件のジョブ`,successPct:`成功率 {{pct}}%`,costByProject:`プロジェクト別コスト`,includesEstimated:`~{{amount}} 推定`,includesEstimatedTooltip:`料金表による推定コスト {{amount}} を含みます(codex/gemini)。プロバイダー請求ではありません。`,includesEstimatedShort:`推定含む`,timelineEstimatedTooltip:`一部の日には ~ で示された料金表による推定コスト(codex/gemini)が含まれます。`,estimatedBadge:`推定`,projectEstimatedTooltip:`このプロジェクトのコストのうち {{amount}} は料金表による推定値です(codex/gemini)。プロバイダー請求ではありません。`,statusBarEstimatedTooltip:`料金表による推定コスト(codex/gemini)を含みます。プロバイダー請求ではありません。`,costUnavailable:`呼び出しは記録されていますが、コストのテレメトリは利用できません。`,costUnavailableShort:`利用不可`,costPartiallyUnavailable:`既知のコスト小計;{{count}} 件の呼び出しは利用不可。`},m={"7d":`過去 7 日間`,"30d":`過去 30 日間`,"90d":`過去 90 日間`,all:`全期間`,custom:`カスタム範囲`},h={title:`エージェントミッション`,subtitle:`このプロジェクトにピン留めされた Agent Chat ターン`,vsPrev:`前期間比`,turnsAndTokens:`{{turns}} ターン · {{tokens}} トークン`,untitled:`無題のミッション`,estimatedNote:`推定コストを含む`},g={surfaces:e,periods:t,runs_one:n,runs_other:r,page:i,hero:a,providerCard:o,timeline:s,quickVsExplore:c,models:l,scatter:u,topTickets:d,table:f,export:{summaryCsv:`サマリー CSV`,rawCsv:`生データ CSV`,summaryJson:`サマリー JSON`,rawJson:`生データ JSON`,downloading:`ダウンロード中…`,noData:`現在のフィルターにデータがありません`,failed:`エクスポートに失敗しました`},desktop:p,windowLabels:m,agentMissions:h};export{h as agentMissions,g as default,p as desktop,a as hero,l as models,i as page,t as periods,o as providerCard,c as quickVsExplore,n as runs_one,r as runs_other,u as scatter,e as surfaces,f as table,s as timeline,d as topTickets,m as windowLabels};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-CNC7AqOf.js";var t=e({default:()=>f,freestyleDialog:()=>l,launchAll:()=>a,launchAllDialog:()=>o,railControls:()=>s,railPr:()=>r,railRow:()=>c,railsBoard:()=>i,targetPr:()=>d,toasts:()=>n,useRails:()=>u}),n={railAdded:`Rail {{n}} added`,railRemoved:`{{rail}} removed`,railLimitReached:`Rail limit reached ({{max}} max)`,railDeleteFailed:`Couldn't remove the rail — it holds specs, is running, or has a pending PR decision`,launchTicketsInFlight:`A spec on this rail is already being worked by an active run`,launchTicketCap:`This rail has {{count}} specs — a launch takes at most {{max}} per rail. Split them across rails.`,launchAllSummary_one:`{{count}} rail launched in parallel`,launchAllSummary_other:`{{count}} rails launched in parallel`,launchAllNoneEligible:`No rails ready to launch — assign specs to an idle rail first`,launchAllFailed:`No rails could be launched`,railCompleted:`Rail {{n}} completed`,railFailed:`Rail {{n}} failed — specs returned to Specs`,railEnded:`Rail {{n}} {{status}} — specs returned to Specs`,alreadyOnRail:`Already on {{rail}}`,movedToRail:`Moved to {{rail}}`,railRunningStopFirst:`{{rail}} is running — stop it before removing`,removedFromRail:`Removed from {{rail}}`,queuedOnRail:`Queued on {{rail}}`,queuedOnRailDescription:`Rail is currently running`,railStopped:`{{rail}} stopped`,stopFailed:`Failed to stop rail`,syncTicketsFailed:`Failed to sync rail tickets`,launchFailed:`Failed to launch rail`,launchNetworkError:`Network error launching rail`,railLaunched:`{{rail}} launched`,launchDescription_one:`{{mode}} with {{count}} spec`,launchDescription_other:`{{mode}} with {{count}} specs`,railWorktreeNeedsReview:`Rail {{n}}: spec #{{ticket}} needs review after merge`,railWorktreesNoGit:`Worktree isolation unavailable: this project isn't a git repository — running in shared mode.`,railWorktreesNoCommits:`Worktree isolation unavailable: the repository has no commits yet — make an initial commit, then relaunch.`,railWorktreesError:`Worktree isolation failed — this run continues WITHOUT the PR review flow (no implementation card). See the error detail below.`,onReviewCannotMoveToRail:`This spec is awaiting PR review — resolve the PR decision first`,onReviewNotLaunchable:`A spec on this rail is awaiting PR review — resolve the PR decision before launching`},r={operation:{inProgress:`Action in progress…`,"create-pr":`Creating PR…`,publish:`Publishing…`,discard:`Discarding…`,dismiss:`Dismissing follow-up…`,"poll-merge":`Checking merge…`,reopen:`Reopening…`,"merge-local":`Integrating locally…`,"recover-and-retry":`Committing and retrying the preserved result…`,"acknowledge-no-changes":`Marking done…`},readyForReview:`Ready for review`,openReview:`Review`,openReviewTooltip:`Open the plain-language review`,draftPr:`Draft PR`,branchPushed:`Branch pushed — PR pending`,branchPushedHint:`The branch was pushed but the PR couldn't be created (GitHub CLI unavailable). Retry to create it.`,localOnly:`Changes available locally`,localOnlyHint:`The implementation completed, but the changes have not been pushed. Integrate them locally or retry publishing when the remote is available.`,noChanges:`No changes needed`,markDone:`Mark done`,refine:`Refine`,completedToast:`Confirmed — specs moved to Done`,markDoneConfirmTitle:`Mark these specs done?`,markDoneConfirmBody:`The implementation confirmed that no code changes are needed. The specs will move to Done and the no-change worktree will be cleaned up.`,refineConfirmTitle:`Refine these specs?`,refineConfirmBody:`The no-change result will be closed and the specs will return to the backlog so you can refine them. The run logs remain available.`,partial:`{{succeeded}} of {{total}} implementations ready`,createPartialPr:`Create PR with {{count}}`,deliveryBlocked:`Implementation complete — delivery needs attention`,updateFailed:`Implementation complete — update failed`,retryPush:`Retry push`,retryPushVerified:`Push verified · commit {{sha}} is in the PR`,commitAlreadyVerified:`Commit {{sha}} is already verified in the PR`,deliveryCommit:`commit {{sha}}`,prClosed:`PR closed without merge`,reopen:`Reopen`,iteratingPr:`Updating PR`,prReady:`PR ready`,implementationFailed:`Implementation failed`,implementationFailedHint:`The implementation run failed. Open the run log, then discard this card before relaunching.`,prFailed:`PR failed`,prFailedDetail:`PR failed: {{detail}}`,createDegraded:`Couldn't publish the PR — {{detail}}. Retry when resolved.`,createPr:`Create PR`,createPrTooltip:`→ {{base}}`,publish:`Publish`,publishTooltip:`Open this draft PR for team review`,checkout:`Checkout`,checkoutTooltip:`Check out {{branch}} in the main project folder`,checkoutSuccess:`Checked out {{branch}}`,checkoutFailed:`Could not check out the implementation branch`,checkoutDirtyTitle:`Checkout blocked to protect your changes`,checkoutDirtyBody:`The main project folder has uncommitted changes. Commit or stash them, then retry. Nothing was changed.`,checkoutSafetyUnknownTitle:`Checkout paused because safety could not be verified`,checkoutSafetyUnknownBody:`Specrails could not read the main project folder’s Git status. Nothing was released or changed. Retry after Git is available.`,checkoutNotDeliverableTitle:`This branch is not the preserved implementation`,checkoutNotDeliverableBody:`No exact delivery commit has been verified yet. Inspect or recover the local result instead.`,inspectLocalResult:`Inspect local result`,inspectLocalResultTooltip:`Reveal the preserved isolated worktree and copy its path`,localResultPathCopied:`Local result path copied`,localResultPath:`Preserved local result`,localResultUnavailableHere:`No recoverable worktree is available on this computer. Review the run log from the machine where it executed.`,recoverAndRetry:`Commit & retry push`,recoverAndRetryConfirmTitle:`Commit and push the preserved result?`,recoverAndRetryConfirmBody:`Specrails will use only the isolated worktree or recorded fast-forward branch for {{branch}}. It will commit deliverable files if needed, then push the exact commit only if the PR is still open on the expected head and base. Your main project folder and its uncommitted changes will not be touched.`,recoverAndRetryVerified:`Recovered commit {{sha}} is verified in the PR`,recoveryStillBlocked:`Local recovery still needs attention`,recheckRecovery:`Check again`,recheckRecoveryConfirmTitle:`Check this computer again?`,recheckRecoveryConfirmBody:`Specrails will rescan this clone’s delivery-owned worktree, branch, refs, reflogs, and orphan Git objects for {{branch}}. If it proves one result, it may commit isolated changes and retry the exact push. Your main project folder will not be touched.`,recoveryUnavailable:`Recovery could not be verified on this computer`,recoveryUnavailableBody:`Specrails could not safely prove one delivery-owned result in this clone. Nothing was changed or removed. Inspect the stage detail and run logs. If the run executed on another computer, open Specrails there, then check again.`,recoveryDetailSummary:`Technical recovery detail`,discard:`Discard`,dismiss:`Dismiss follow-up`,discardLocalResult:`Discard local result`,discardTooltip:`Close the delivery and return its tickets to Specs; changed local work is preserved`,retryPr:`Retry PR`,retry:`Retry`,checkMerge:`Check merge`,verifyPr:`Verify PR`,verifyPrTooltip:`Verify the exact commit in GitHub and check whether the PR is merged`,checkMergeTooltip:`Ask GitHub whether the PR has been merged`,prLinkFallback:`PR`,openPrTitle:`Open the PR on GitHub`,notMergedYet:`Not merged yet`,commitMissingRetry:`The delivery commit is no longer in the PR. Retry push is available again.`,prVerifiedWaiting:`Commit {{sha}} verified · waiting for merge`,alreadyResolved:`Already resolved elsewhere`,ghFailed:`GitHub CLI failed: {{detail}}`,actionFailed:`Couldn't apply the PR decision`,mergedToast:`PR merged — tickets moved to Done`,discardedToast:`PR discarded — tickets returned to Specs`,decisionPending:`This rail has a pending PR decision — create, publish or discard it before relaunching`,discardConfirmTitle:`Discard this delivery?`,discardConfirmBody:`The PR will be closed without deleting its remote branch. Only SpecRails-owned local branches and worktrees that are still at their recorded commit will be removed; anything changed will be preserved with a warning. The tickets will return to the Specs backlog. Removed local resources cannot be recovered.`,implementationFailedDiscardTitle:`Discard this failed delivery?`,implementationFailedDiscardBody:`The card will be cleared and its tickets will return to Specs. Local work and branches will be kept for inspection. Only resources proven safe to clean up may be removed.`,dismissConfirmTitle:`Dismiss this follow-up?`,dismissConfirmBody:`This follow-up card will be cleared. Its owned worktree will be removed only if it is still safe; otherwise it will be preserved with a warning. The existing PR, its branch, and review state will remain unchanged.`,discardLocalConfirmTitle:`Discard the local result?`,discardLocalConfirmBody:`The recoverable local iteration will be removed only if it is still safe; if it changed, it will be preserved with a warning. Any existing PR and its branch will remain unchanged. A removed result cannot be recovered.`,mergeLocal:`Integrate locally`,mergeLocalTooltip:`Merge the delivered branches into {{base}} in your local checkout (no GitHub needed)`,mergeLocalConfirmTitle:`Integrate locally?`,mergeLocalConfirmBody:`The delivered branches will be merged into {{base}} locally. Existing changes are preserved; overlapping edits may require resolution before integration.`,mergeLocalBlockedDirty:`Cannot integrate: local changes on {{base}} overlap the delivery. Commit or stash those changes, then retry.`,mergeLocalBlockedBranch:`Cannot integrate: your checkout is on {{current}}, not {{base}}. Check out {{base}}, then retry.`,mergeLocalFailed:`Local merge failed: {{detail}}`,mergedLocally:`Integrated into {{base}} locally`,viewRunLog:`View run log for {{ref}}`,cleanupIncomplete_one:`Cleanup is incomplete ({{count}} warning)`,cleanupIncomplete_other:`Cleanup is incomplete ({{count}} warnings)`,cleanupIncompleteHint:`Local recovery data was preserved. Inspect these details before removing anything manually.`,copyCleanupDetails:`Copy recovery details`,safetyArchiveTitle:`Safety archive ({{count}})`,safetyArchiveHint:`Temporary workspace files were preserved outside the PR as a precaution. You can inspect or remove them manually.`,copySafetyArchive:`Copy paths`,unit:{failed:`implementation failed`,blocked:`delivery blocked`,noChanges:`no changes`,succeeded:`ready`},discardStackedNote:`Later rails of this milestone were built on this delivery. Discarding it pauses the milestone chain; the later rails keep their work.`},i={title:`Rails`,runningCount_one:`{{count}} running`,runningCount_other:`{{count}} running`,launchAll:`Launch all`,launchAllTitle:`Launch every ready rail in parallel — each run is isolated in its own git worktree`},a={skipRunning_one:`{{count}} already running`,skipRunning_other:`{{count}} already running`,skipEmpty_one:`{{count}} without specs`,skipEmpty_other:`{{count}} without specs`,skipPendingDecision_one:`{{count}} awaiting a PR decision`,skipPendingDecision_other:`{{count}} awaiting a PR decision`,skipOnReview_one:`{{count}} with specs on review`,skipOnReview_other:`{{count}} with specs on review`,skipInFlight_one:`{{count}} skipped (spec already in flight)`,skipInFlight_other:`{{count}} skipped (specs already in flight)`,failedCount_one:`{{count}} failed`,failedCount_other:`{{count}} failed`},o={title:`Launch all rails`,railsCount_one:`{{count}} rail`,railsCount_other:`{{count}} rails`,specsCount_one:`{{count}} spec`,specsCount_other:`{{count}} specs`,isolationTitle:`Parallel & isolated.`,isolationBody:`Each rail runs in its own git worktree — concurrent launches never collide.`,pipelinesTitle_one:`{{count}} AI pipeline.`,pipelinesTitle_other:`{{count}} AI pipelines.`,pipelinesBody:`One launch per rail, each with its configured mode, engine and profile.`,costTitle:`Multiplied cost.`,costBody:`Every rail spawns its own AI run — spend scales with the number of rails.`,launch_one:`Launch {{count}} rail`,launch_other:`Launch {{count}} rails`},s={viewJobLog:`View job log`,log:`Log`,implement:`Implement`,batch:`Batch`,freestyle:`Freestyle`,freestyleTitle:`Freestyle — the selected provider implements the spec autonomously, no pipeline`,loop:`Loop`,loopTitle:`Loop — run a published automation loop against the rail's specs`,pickLoop:`Pick a loop…`,effortTitle:`Reasoning effort`,stop:`Stop`,play:`Play`,failedRetry:`Job failed — click to retry`,addSpecsFirst:`Add specs to this rail first`,builtInLoops:`Built-in`,customLoops:`Custom loops`,worktreesMerged:`{{count}} merged`,worktreesNeedsReview:`{{count}} need review`,execSteps:`{{count}} steps`,execLines:`{{count}} lines`,openspec:`OpenSpec`},c={moveToSpecs:`Move to Specs`,deleteRail:`Delete {{label}}`,dropHere:`Drop here`,dropOnThisRail:`Drop on this rail`,dragSpecsHere:`Drag specs here`},l={title:`Launch in Freestyle mode`,context_one:`{{rail}} · {{count}} spec`,context_other:`{{rail}} · {{count}} specs`,noPipelineTitle:`No OpenSpec pipeline.`,noPipelineBody:`The structured architect → developer → reviewer flow is skipped entirely.`,autonomyTitle:`Native {{provider}} autonomy.`,autonomyBody:`{{provider}} works on its own using native agents and dynamic workflows.`,costTitle:`Variable cost.`,costBody:`Spend depends on what {{provider}} decides to do — it can be higher than expected.`,continue:`Continue`},u={fetchFailed:`Failed to fetch rails: {{status}}`},d={chipNew:`New PR`,chipTitle:`Deliver into an existing PR`,clear:`Clear PR target`,newPr:`New PR (default)`,loading:`Loading open PRs…`,none:`No open PRs found`,fork:`Fork — not pushable`,manualPlaceholder:`PR number`,manualUse:`Use`,confirmTitle:`Deliver into existing PR?`,confirmBody:`This run works on the PR's head branch and pushes into it — no new PR is created.`,confirmBranch:`Head branch`,confirmLaunch:`Launch into PR #{{number}}`,errors:{invalid_target_pr:`Invalid PR number`,target_pr_requires_pr_mode:`Delivering into an existing PR needs the isolated PR flow`,target_pr_not_found:`PR not found on this repository`,target_pr_not_open:`That PR is not open anymore`,target_pr_fork:`That PR comes from a fork and cannot be pushed to`,target_pr_invalid:`The PR's branches are unusable as a delivery target`,target_pr_unfetchable:`The PR's head branch could not be fetched`}},f={toasts:n,railPr:r,railsBoard:i,launchAll:a,launchAllDialog:o,railControls:s,railRow:c,freestyleDialog:l,useRails:u,targetPr:d};export{t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-Bjbbp_KS.js";var t=e(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),n=e(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]);export{t as n,n as t};