specrails-desktop 2.57.0 → 2.58.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 (336) hide show
  1. package/README.md +1 -1
  2. package/cli/dist/args.js +10 -4
  3. package/cli/dist/help.js +1 -1
  4. package/client/dist/assets/{ActivityFeedPage-DdMNmVBk.js → ActivityFeedPage-BQGppIR0.js} +1 -1
  5. package/client/dist/assets/{AgentBrowserCapture-CeerUf--.js → AgentBrowserCapture-PI-cxyxi.js} +1 -1
  6. package/client/dist/assets/{AgentModeAnalyticsPane-BjGb-8rh.js → AgentModeAnalyticsPane-mQsOqdXx.js} +2 -2
  7. package/client/dist/assets/{AgentModeCodePane-8XRkQEo_.js → AgentModeCodePane-BL-vpmlY.js} +2 -2
  8. package/client/dist/assets/{AgentModeJobsPane-BN3dgJOA.js → AgentModeJobsPane-DR_06oqH.js} +1 -1
  9. package/client/dist/assets/AgentsPage-BKIKjm_1.js +118 -0
  10. package/client/dist/assets/{AnalyticsPage-CyfhYiBn.js → AnalyticsPage-069npRVo.js} +1 -1
  11. package/client/dist/assets/{CodePage-C2Nf-Q5W.js → CodePage-Alitorrv.js} +2 -2
  12. package/client/dist/assets/DesktopAnalyticsPage-qtWAPM47.js +1 -0
  13. package/client/dist/assets/{DocsDialog-Br3bczCp.js → DocsDialog-DwL6rgcT.js} +1 -1
  14. package/client/dist/assets/{DocsPage-BcDr2cBm.js → DocsPage-BA1hiJZ-.js} +1 -1
  15. package/client/dist/assets/{ExportDropdown-BVGKEgkd.js → ExportDropdown-BcMpvV89.js} +1 -1
  16. package/client/dist/assets/InteractiveJobComposer-B3H1YHr6.js +19 -0
  17. package/client/dist/assets/JobDetailModal-XZQ9eAAy.js +1 -0
  18. package/client/dist/assets/{JobDetailPage-vBbNeRuz.js → JobDetailPage-B-SIaq_q.js} +1 -1
  19. package/client/dist/assets/{JobsPage-CJCtPhIz.js → JobsPage-iQXAv2mx.js} +1 -1
  20. package/client/dist/assets/LoopBuilderPage-B_gbFAHn.js +1 -0
  21. package/client/dist/assets/LoopPreviewModal-je5pSCf-.js +1 -0
  22. package/client/dist/assets/LoopsPage-BZwcY5cu.js +2 -0
  23. package/client/dist/assets/{MinimizedChatsContext-D3QzgV0B.js → MinimizedChatsContext-CNx_0bZu.js} +1 -1
  24. package/client/dist/assets/{PluginsPage-DOpTV75p.js → PluginsPage-DFocnoHX.js} +2 -2
  25. package/client/dist/assets/{ProjectSettingsDialog-Dkwrn0z1.js → ProjectSettingsDialog-Bh3S6EBB.js} +1 -1
  26. package/client/dist/assets/{RepositoryDeliveries-Du2UCf1a.js → RepositoryDeliveries-BiwJuS8r.js} +1 -1
  27. package/client/dist/assets/{RepositoryScopeSelector-hPGZNRBm.js → RepositoryScopeSelector-C2mvWBQ6.js} +1 -1
  28. package/client/dist/assets/{ReviewPacketPage-DcOq-UTA.js → ReviewPacketPage-CrAf-WDy.js} +2 -2
  29. package/client/dist/assets/TemplatePreviewModal-C7DordpN.js +1 -0
  30. package/client/dist/assets/{TicketDetailModalContext-DAK-NoK6.js → TicketDetailModalContext-B-DySpKL.js} +1 -1
  31. package/client/dist/assets/{Trans-DEbgkuAY.js → Trans-D3AfDylf.js} +1 -1
  32. package/client/dist/assets/agentRuntime-BeUb3g9g.js +1 -0
  33. package/client/dist/assets/agentRuntime-Bg9tbmqm.js +1 -0
  34. package/client/dist/assets/agentRuntime-D-GJVGkj.js +1 -0
  35. package/client/dist/assets/agentRuntime-D2__CVI_.js +1 -0
  36. package/client/dist/assets/agentRuntime-D35dGVOP.js +1 -0
  37. package/client/dist/assets/agentRuntime-DGz_IqKW.js +1 -0
  38. package/client/dist/assets/agentRuntime-O1liDt6G.js +1 -0
  39. package/client/dist/assets/agentRuntime-hInH9Fzj.js +1 -0
  40. package/client/dist/assets/agentstudio-B2CTtQgZ.js +1 -0
  41. package/client/dist/assets/agentstudio-BWAKeGgB.js +1 -0
  42. package/client/dist/assets/{agentstudio-DR7doNBV.js → agentstudio-Cja8Sjcp.js} +1 -1
  43. package/client/dist/assets/agentstudio-DtfPcr99.js +1 -0
  44. package/client/dist/assets/agentstudio-QdAJIDef.js +1 -0
  45. package/client/dist/assets/agentstudio-X70BKf6u.js +1 -0
  46. package/client/dist/assets/agentstudio-fLXpRGIi.js +1 -0
  47. package/client/dist/assets/agentstudio-qXKqVnWS.js +1 -0
  48. package/client/dist/assets/{analytics-jzCkOec3.js → analytics-B1DIQd4m.js} +1 -1
  49. package/client/dist/assets/{analytics-CoEzWPx4.js → analytics-BAIZ9vE_.js} +1 -1
  50. package/client/dist/assets/{analytics-DjLlE7jS.js → analytics-BTqgmgBd.js} +1 -1
  51. package/client/dist/assets/analytics-BWynXPEm.js +1 -0
  52. package/client/dist/assets/{analytics-nZIjjtCc.js → analytics-DGcUsQ44.js} +1 -1
  53. package/client/dist/assets/{analytics-BNgZ1Nj7.js → analytics-GnSnpJ4W.js} +1 -1
  54. package/client/dist/assets/{analytics-DFh5lSOl.js → analytics-TWgYaoO0.js} +1 -1
  55. package/client/dist/assets/{analytics-DZp-DS2U.js → analytics-kJy6Tuko.js} +1 -1
  56. package/client/dist/assets/builder-C0FyvM83.js +1 -0
  57. package/client/dist/assets/builder-C1neIYGR.js +1 -0
  58. package/client/dist/assets/builder-CvnFm0im.js +1 -0
  59. package/client/dist/assets/builder-CzW5ovyI.js +1 -0
  60. package/client/dist/assets/builder-D06L7iPy.js +1 -0
  61. package/client/dist/assets/builder-DGETbtZj.js +1 -0
  62. package/client/dist/assets/builder-DXEJUlC0.js +1 -0
  63. package/client/dist/assets/builder-DyQperXU.js +1 -0
  64. package/client/dist/assets/common-BCK7c9Pv.js +1 -0
  65. package/client/dist/assets/common-C0BOdeNi.js +1 -0
  66. package/client/dist/assets/common-C4Yvvhp6.js +1 -0
  67. package/client/dist/assets/{common-BrlwEnL7.js → common-DmsclwjP.js} +1 -1
  68. package/client/dist/assets/common-DpLWwgI1.js +1 -0
  69. package/client/dist/assets/common-OCvl3c8t.js +1 -0
  70. package/client/dist/assets/common-c0aujEZC.js +1 -0
  71. package/client/dist/assets/common-od8WThlf.js +1 -0
  72. package/client/dist/assets/dashboard-B1ndRHuC.js +1 -0
  73. package/client/dist/assets/dashboard-BX7KXiqA.js +1 -0
  74. package/client/dist/assets/dashboard-B_BSNxcN.js +1 -0
  75. package/client/dist/assets/dashboard-CCeFN7-V.js +1 -0
  76. package/client/dist/assets/dashboard-CRl0WtFJ.js +1 -0
  77. package/client/dist/assets/dashboard-XGdQ5mjw.js +1 -0
  78. package/client/dist/assets/dashboard-_oltA6Jd.js +1 -0
  79. package/client/dist/assets/dashboard-bAuf5KVk.js +1 -0
  80. package/client/dist/assets/{formatDistanceToNow-Cc2u5FwQ.js → formatDistanceToNow-aBss1Nai.js} +1 -1
  81. package/client/dist/assets/{getTimezoneOffsetInMilliseconds-BHm2U-w1.js → getTimezoneOffsetInMilliseconds-DOGj1Mfz.js} +1 -1
  82. package/client/dist/assets/index-BS7KCWkV.css +2 -0
  83. package/client/dist/assets/{index-Cxb288Rj.js → index-C4Mv6tV6.js} +32 -32
  84. package/client/dist/assets/{jira-api-DrGxiD9p.js → jira-api-BYbEPlkr.js} +1 -1
  85. package/client/dist/assets/{jobs-DSp9DoD_.js → jobs-6_-r75yC.js} +1 -1
  86. package/client/dist/assets/{jobs-C6qmvUAi.js → jobs-B1yqyId5.js} +1 -1
  87. package/client/dist/assets/{jobs-DoFaEl9g.js → jobs-BFuV7ttH.js} +1 -1
  88. package/client/dist/assets/{jobs-DTQO08nJ.js → jobs-BKa8LuwA.js} +1 -1
  89. package/client/dist/assets/{jobs-DrF8Do8s.js → jobs-BKiK-ZWh.js} +1 -1
  90. package/client/dist/assets/{jobs-DLHdDkHc.js → jobs-DmKV7b7d.js} +1 -1
  91. package/client/dist/assets/{jobs-C9j2PuwW.js → jobs-KG4Sn12X.js} +1 -1
  92. package/client/dist/assets/{jobs-Dpw6AEOP.js → jobs-pPv4KWjb.js} +1 -1
  93. package/client/dist/assets/loop-layout-BF8xMiNv.js +7 -0
  94. package/client/dist/assets/loops-B4_D-nbg.js +1 -0
  95. package/client/dist/assets/loops-BJDY9FTh.js +1 -0
  96. package/client/dist/assets/loops-BO3V8244.js +1 -0
  97. package/client/dist/assets/loops-C-hZK8pf.js +1 -0
  98. package/client/dist/assets/loops-CDOWZ0ci.js +1 -0
  99. package/client/dist/assets/loops-Dv849ckF.js +1 -0
  100. package/client/dist/assets/loops-Q9LIgGkq.js +1 -0
  101. package/client/dist/assets/loops-eUnCfLjC.js +1 -0
  102. package/client/dist/assets/{project-repositories-9Wzs0coQ.js → project-repositories-CSnfzUpg.js} +1 -1
  103. package/client/dist/assets/settings-3o4Ntzi5.js +1 -0
  104. package/client/dist/assets/settings-B97jlkwD.js +1 -0
  105. package/client/dist/assets/settings-BTaT_bsS.js +1 -0
  106. package/client/dist/assets/settings-CT8w7WiC.js +1 -0
  107. package/client/dist/assets/settings-Cvr8_tvh.js +1 -0
  108. package/client/dist/assets/settings-Dn1qgAC8.js +1 -0
  109. package/client/dist/assets/settings-EShDdg4J.js +1 -0
  110. package/client/dist/assets/settings-tfLhQZRN.js +1 -0
  111. package/client/dist/assets/{setup-Dwzt5nO1.js → setup-CBMu3tqH.js} +1 -1
  112. package/client/dist/assets/{setup-B5FHuxvB.js → setup-CPh-e6J2.js} +1 -1
  113. package/client/dist/assets/{setup-DpqzaEEA.js → setup-CRKLp_ke.js} +1 -1
  114. package/client/dist/assets/{setup-CROyqD5N.js → setup-Cy302v4J.js} +1 -1
  115. package/client/dist/assets/{setup-C9Fy9PKQ.js → setup-D681vTPf.js} +1 -1
  116. package/client/dist/assets/{setup-BihzXadx.js → setup-DYK0VBkE.js} +1 -1
  117. package/client/dist/assets/{setup-BtC6Hg4K.js → setup-KAuiIiVs.js} +1 -1
  118. package/client/dist/assets/{setup-zLEDnG7N.js → setup-OGX-oCfI.js} +1 -1
  119. package/client/dist/assets/{spending-T5GM7wpn.js → spending-HBSk-6jv.js} +1 -1
  120. package/client/dist/assets/{useDesktop-QogiN0zR.js → useDesktop-0unHDBJJ.js} +1 -1
  121. package/client/dist/assets/useRuntimeRuns-BN1rhyEm.js +1 -0
  122. package/client/dist/assets/{useSharedWebSocket-Dz-HI6De.js → useSharedWebSocket-BZMrX4jr.js} +2 -2
  123. package/client/dist/index.html +25 -25
  124. package/docs/agent-live-steering.md +16 -0
  125. package/docs/cli.md +7 -7
  126. package/docs/codex.md +2 -2
  127. package/docs/customizing.md +1 -1
  128. package/docs/gemini.md +1 -1
  129. package/docs/getting-started.md +1 -1
  130. package/docs/guide/de/integrations/7-local-engines.md +1 -1
  131. package/docs/guide/de/pipeline/1-rails-and-jobs.md +8 -6
  132. package/docs/guide/de/pipeline/2-the-job-detail-view.md +11 -2
  133. package/docs/guide/de/pipeline/4-picking-an-engine-per-rail.md +2 -2
  134. package/docs/guide/de/pipeline/5-the-loop-builder.md +24 -5
  135. package/docs/guide/en/integrations/7-local-engines.md +1 -1
  136. package/docs/guide/en/pipeline/1-rails-and-jobs.md +8 -6
  137. package/docs/guide/en/pipeline/2-the-job-detail-view.md +11 -2
  138. package/docs/guide/en/pipeline/4-picking-an-engine-per-rail.md +2 -2
  139. package/docs/guide/en/pipeline/5-the-loop-builder.md +34 -5
  140. package/docs/guide/en/settings/3-pipeline-telemetry-and-diagnostics.md +1 -1
  141. package/docs/guide/es/integrations/7-local-engines.md +1 -1
  142. package/docs/guide/es/pipeline/1-rails-and-jobs.md +8 -6
  143. package/docs/guide/es/pipeline/2-the-job-detail-view.md +11 -2
  144. package/docs/guide/es/pipeline/4-picking-an-engine-per-rail.md +2 -2
  145. package/docs/guide/es/pipeline/5-the-loop-builder.md +30 -5
  146. package/docs/guide/es/settings/3-pipeline-telemetry-and-diagnostics.md +1 -2
  147. package/docs/guide/fr/integrations/7-local-engines.md +1 -1
  148. package/docs/guide/fr/pipeline/1-rails-and-jobs.md +8 -6
  149. package/docs/guide/fr/pipeline/2-the-job-detail-view.md +11 -2
  150. package/docs/guide/fr/pipeline/4-picking-an-engine-per-rail.md +2 -2
  151. package/docs/guide/fr/pipeline/5-the-loop-builder.md +24 -5
  152. package/docs/guide/it/integrations/7-local-engines.md +1 -1
  153. package/docs/guide/it/pipeline/1-rails-and-jobs.md +8 -6
  154. package/docs/guide/it/pipeline/2-the-job-detail-view.md +11 -2
  155. package/docs/guide/it/pipeline/4-picking-an-engine-per-rail.md +2 -2
  156. package/docs/guide/it/pipeline/5-the-loop-builder.md +24 -5
  157. package/docs/guide/ja/integrations/7-local-engines.md +1 -1
  158. package/docs/guide/ja/pipeline/1-rails-and-jobs.md +8 -6
  159. package/docs/guide/ja/pipeline/2-the-job-detail-view.md +11 -2
  160. package/docs/guide/ja/pipeline/4-picking-an-engine-per-rail.md +2 -2
  161. package/docs/guide/ja/pipeline/5-the-loop-builder.md +24 -5
  162. package/docs/guide/pt/integrations/7-local-engines.md +1 -1
  163. package/docs/guide/pt/pipeline/1-rails-and-jobs.md +8 -6
  164. package/docs/guide/pt/pipeline/2-the-job-detail-view.md +11 -2
  165. package/docs/guide/pt/pipeline/4-picking-an-engine-per-rail.md +2 -2
  166. package/docs/guide/pt/pipeline/5-the-loop-builder.md +24 -5
  167. package/docs/guide/zh/integrations/7-local-engines.md +1 -1
  168. package/docs/guide/zh/pipeline/1-rails-and-jobs.md +8 -6
  169. package/docs/guide/zh/pipeline/2-the-job-detail-view.md +11 -2
  170. package/docs/guide/zh/pipeline/4-picking-an-engine-per-rail.md +2 -2
  171. package/docs/guide/zh/pipeline/5-the-loop-builder.md +24 -5
  172. package/docs/internals/api-reference.md +2 -2
  173. package/docs/internals/ci-performance.md +71 -0
  174. package/docs/internals/companion-rails-as-loops-contract.md +4 -3
  175. package/docs/internals/configuration.md +3 -3
  176. package/docs/internals/core-runtime-updates.md +3 -2
  177. package/docs/internals/interactive-jobs.md +2 -2
  178. package/docs/internals/loop-step-log-explorer.md +42 -0
  179. package/docs/internals/mission-rail-cards.md +1 -1
  180. package/docs/internals/operations-runbook.md +22 -0
  181. package/docs/internals/programmatic-agent-runtime.md +130 -7
  182. package/docs/internals/project-builder.md +35 -16
  183. package/docs/internals/source-map.md +48 -2
  184. package/docs/kimi.md +2 -2
  185. package/docs/local-providers.md +1 -1
  186. package/docs/running-pipelines.md +26 -18
  187. package/docs/tracking-cost.md +10 -1
  188. package/package.json +2 -1
  189. package/server/dist/core-compat.js +8 -3
  190. package/server/dist/core-execution.js +49 -3
  191. package/server/dist/db/migrations.js +101 -0
  192. package/server/dist/desktop-db.js +28 -0
  193. package/server/dist/desktop-router.js +2 -0
  194. package/server/dist/mcp/guide.js +6 -3
  195. package/server/dist/mcp/tools/jobs.js +14 -1
  196. package/server/dist/mcp/tools/loops.js +17 -8
  197. package/server/dist/mcp/tools/rails.js +3 -3
  198. package/server/dist/modules/agent-runtime/runtime/agent-runtime-bridge.js +313 -9
  199. package/server/dist/modules/agent-runtime/runtime/agent-runtime-controls-router.js +34 -1
  200. package/server/dist/modules/agent-runtime/runtime/agent-runtime-controls.js +203 -21
  201. package/server/dist/modules/agent-runtime/runtime/agent-runtime-effective-config.js +46 -1
  202. package/server/dist/modules/agent-runtime/runtime/agent-runtime-engines.js +10 -0
  203. package/server/dist/modules/agent-runtime/runtime/agent-runtime-loader.js +68 -3
  204. package/server/dist/modules/agent-runtime/runtime/agent-runtime-metrics.js +16 -8
  205. package/server/dist/modules/agent-runtime/runtime/agent-runtime-package-gc.js +81 -0
  206. package/server/dist/modules/agent-runtime/runtime/agent-runtime-package-lock.js +37 -0
  207. package/server/dist/modules/agent-runtime/runtime/agent-runtime-package.js +30 -24
  208. package/server/dist/modules/agent-runtime/runtime/agent-runtime-retention-host.js +87 -0
  209. package/server/dist/modules/agent-runtime/runtime/agent-runtime-retention-quarantine.js +231 -0
  210. package/server/dist/modules/agent-runtime/runtime/agent-runtime-retention-records.js +32 -0
  211. package/server/dist/modules/agent-runtime/runtime/agent-runtime-retention.js +102 -0
  212. package/server/dist/modules/agent-runtime/runtime/agent-runtime-settings-router.js +12 -7
  213. package/server/dist/modules/agent-runtime/runtime/agent-runtime-settings.js +57 -13
  214. package/server/dist/modules/agents/runtime/agent-catalog.js +32 -0
  215. package/server/dist/modules/agents/runtime/agent-refine-manager.js +12 -0
  216. package/server/dist/modules/agents/runtime/agent-role-descriptor.js +64 -0
  217. package/server/dist/modules/agents/runtime/profiles-router.js +26 -34
  218. package/server/dist/modules/builder/runtime/milestone-chain.js +121 -73
  219. package/server/dist/modules/delivery/runtime/definition-fork.js +158 -0
  220. package/server/dist/modules/delivery/runtime/delivery-evidence.js +56 -10
  221. package/server/dist/modules/delivery/runtime/isolated-settlement-reconstruction.js +99 -0
  222. package/server/dist/modules/delivery/runtime/isolated-settlement-store.js +53 -0
  223. package/server/dist/modules/delivery/runtime/multi-repo-execution-store.js +3 -1
  224. package/server/dist/modules/delivery/runtime/rail-isolated-launch.js +388 -203
  225. package/server/dist/modules/delivery/runtime/rail-launch-parser.js +3 -2
  226. package/server/dist/modules/delivery/runtime/rail-pr-store.js +6 -1
  227. package/server/dist/modules/delivery/runtime/rails-router.js +66 -10
  228. package/server/dist/modules/execution/runtime/queue-manager.js +11 -2
  229. package/server/dist/modules/loops/runtime/builtin-loops.js +70 -0
  230. package/server/dist/modules/loops/runtime/definition-cancellation.js +31 -0
  231. package/server/dist/modules/loops/runtime/legacy-launch-telemetry.js +78 -0
  232. package/server/dist/modules/loops/runtime/loop-command-catalog.js +13 -12
  233. package/server/dist/modules/loops/runtime/loop-compat.js +219 -0
  234. package/server/dist/modules/loops/runtime/loop-core-factory.js +42 -0
  235. package/server/dist/modules/loops/runtime/loop-definition-controls.js +48 -0
  236. package/server/dist/modules/loops/runtime/loop-definition-events.js +145 -0
  237. package/server/dist/modules/loops/runtime/loop-definition-recovery.js +106 -0
  238. package/server/dist/modules/loops/runtime/loop-definition-run.js +36 -0
  239. package/server/dist/modules/loops/runtime/loop-definition.js +246 -0
  240. package/server/dist/modules/loops/runtime/loop-effect.js +10 -1
  241. package/server/dist/modules/loops/runtime/loop-executors.js +63 -3
  242. package/server/dist/modules/loops/runtime/loop-factory.js +35 -15
  243. package/server/dist/modules/loops/runtime/loop-graph.js +84 -8
  244. package/server/dist/modules/loops/runtime/loop-migration.js +36 -0
  245. package/server/dist/modules/loops/runtime/loop-preview.js +10 -0
  246. package/server/dist/modules/loops/runtime/loop-run-manager.js +206 -13
  247. package/server/dist/modules/loops/runtime/loop-runs-store.js +271 -7
  248. package/server/dist/modules/loops/runtime/loop-templates.js +205 -45
  249. package/server/dist/modules/loops/runtime/loops-router.js +246 -29
  250. package/server/dist/modules/loops/runtime/loops-store.js +140 -20
  251. package/server/dist/modules/missions/runtime/agent-operator-prompt.js +14 -11
  252. package/server/dist/modules/specs/runtime/spec-addenda.js +28 -0
  253. package/server/dist/project-registry.js +87 -51
  254. package/server/dist/project-router-jobs.js +17 -6
  255. package/server/dist/project-router-loop-runs.js +200 -0
  256. package/server/dist/project-router-spending.js +17 -0
  257. package/server/dist/project-router.js +8 -6
  258. package/server/dist/schemas/agent-runtime.schema.json +93 -1
  259. package/server/dist/schemas/workflow-definition.schema.json +312 -0
  260. package/server/dist/vitest-setup.js +22 -0
  261. package/server/dist/worktree-overlay.js +1 -1
  262. package/client/dist/assets/AgentsPage-DfHWgP_x.js +0 -87
  263. package/client/dist/assets/DesktopAnalyticsPage-tc0p4jJW.js +0 -1
  264. package/client/dist/assets/InteractiveJobComposer-DFPpdg2D.js +0 -19
  265. package/client/dist/assets/JobDetailModal-BdOv-l-M.js +0 -1
  266. package/client/dist/assets/LoopBuilderPage-BemvUOxy.js +0 -7
  267. package/client/dist/assets/LoopPreviewModal-C6hNAeYN.js +0 -1
  268. package/client/dist/assets/LoopsPage-BZr0quvh.js +0 -1
  269. package/client/dist/assets/TemplatePreviewModal-Cejcquah.js +0 -1
  270. package/client/dist/assets/agentRuntime-BUimiX__.js +0 -1
  271. package/client/dist/assets/agentRuntime-BcN97sAB.js +0 -1
  272. package/client/dist/assets/agentRuntime-Ckyg-ahT.js +0 -1
  273. package/client/dist/assets/agentRuntime-DJCwyX4t.js +0 -1
  274. package/client/dist/assets/agentRuntime-DVzPJOl0.js +0 -1
  275. package/client/dist/assets/agentRuntime-V9AZTG3c.js +0 -1
  276. package/client/dist/assets/agentRuntime-bAAjw1vw.js +0 -1
  277. package/client/dist/assets/agentRuntime-v4qKAYH-.js +0 -1
  278. package/client/dist/assets/agentstudio-BNUth0uj.js +0 -1
  279. package/client/dist/assets/agentstudio-BNdB5hkr.js +0 -1
  280. package/client/dist/assets/agentstudio-C7-bt8FO.js +0 -1
  281. package/client/dist/assets/agentstudio-C8uNchpV.js +0 -1
  282. package/client/dist/assets/agentstudio-CKabyMlg.js +0 -1
  283. package/client/dist/assets/agentstudio-CN2pokQu.js +0 -1
  284. package/client/dist/assets/agentstudio-y2dVDXeM.js +0 -1
  285. package/client/dist/assets/analytics-BlypLLR6.js +0 -1
  286. package/client/dist/assets/builder-765NeYTp.js +0 -1
  287. package/client/dist/assets/builder-8MG3V6ea.js +0 -1
  288. package/client/dist/assets/builder-B-1UBs5K.js +0 -1
  289. package/client/dist/assets/builder-BTiGnPT0.js +0 -1
  290. package/client/dist/assets/builder-Cx9Rz-7u.js +0 -1
  291. package/client/dist/assets/builder-DKFMELBl.js +0 -1
  292. package/client/dist/assets/builder-OcmKrC0h.js +0 -1
  293. package/client/dist/assets/builder-P9qVBXFZ.js +0 -1
  294. package/client/dist/assets/common-B5AZNYMH.js +0 -1
  295. package/client/dist/assets/common-BFZ0c_vN.js +0 -1
  296. package/client/dist/assets/common-BttQx3z4.js +0 -1
  297. package/client/dist/assets/common-CM65k_-e.js +0 -1
  298. package/client/dist/assets/common-D4mvFFlu.js +0 -1
  299. package/client/dist/assets/common-TZ9Ny96S.js +0 -1
  300. package/client/dist/assets/common-nFpSF4GC.js +0 -1
  301. package/client/dist/assets/dashboard-B9uWNGO2.js +0 -1
  302. package/client/dist/assets/dashboard-BIwmO9wc.js +0 -1
  303. package/client/dist/assets/dashboard-BV4vOZkR.js +0 -1
  304. package/client/dist/assets/dashboard-Bf6MPVsM.js +0 -1
  305. package/client/dist/assets/dashboard-C8klWVvZ.js +0 -1
  306. package/client/dist/assets/dashboard-D1ORhPF0.js +0 -1
  307. package/client/dist/assets/dashboard-DSubvs9x.js +0 -1
  308. package/client/dist/assets/dashboard-px_vlRx_.js +0 -1
  309. package/client/dist/assets/index-C51x61Bz.css +0 -2
  310. package/client/dist/assets/loops-B7YpGizO.js +0 -1
  311. package/client/dist/assets/loops-BomD2J-h.js +0 -1
  312. package/client/dist/assets/loops-BrQHSQw3.js +0 -1
  313. package/client/dist/assets/loops-BvBwvTPA.js +0 -1
  314. package/client/dist/assets/loops-CODk6Slz.js +0 -1
  315. package/client/dist/assets/loops-DC6k-Ym-.js +0 -1
  316. package/client/dist/assets/loops-DSEg8-uY.js +0 -1
  317. package/client/dist/assets/loops-DhCoXD_v.js +0 -1
  318. package/client/dist/assets/settings-BsehKpty.js +0 -1
  319. package/client/dist/assets/settings-CQWob3SB.js +0 -1
  320. package/client/dist/assets/settings-CgCl0hzy.js +0 -1
  321. package/client/dist/assets/settings-DLRLd22L.js +0 -1
  322. package/client/dist/assets/settings-Dn5prAFl.js +0 -1
  323. package/client/dist/assets/settings-HZSu-K4l.js +0 -1
  324. package/client/dist/assets/settings-p4OVIyRh.js +0 -1
  325. package/client/dist/assets/settings-rddaldUp.js +0 -1
  326. package/client/dist/assets/useRuntimeRuns-Dqmz9fS9.js +0 -1
  327. package/docs/guide/de/pipeline/3-batch-implement-and-multi-feature.md +0 -84
  328. package/docs/guide/en/pipeline/3-batch-implement-and-multi-feature.md +0 -126
  329. package/docs/guide/es/pipeline/3-batch-implement-and-multi-feature.md +0 -114
  330. package/docs/guide/fr/pipeline/3-batch-implement-and-multi-feature.md +0 -84
  331. package/docs/guide/it/pipeline/3-batch-implement-and-multi-feature.md +0 -84
  332. package/docs/guide/ja/pipeline/3-batch-implement-and-multi-feature.md +0 -84
  333. package/docs/guide/pt/pipeline/3-batch-implement-and-multi-feature.md +0 -84
  334. package/docs/guide/zh/pipeline/3-batch-implement-and-multi-feature.md +0 -84
  335. package/server/dist/modules/loops/runtime/loop-templates-ported.js +0 -675
  336. /package/client/dist/assets/{LoopBuilderPage-DtxX27Jz.css → loop-layout-DtxX27Jz.css} +0 -0
@@ -1 +1 @@
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`,localEngine:`local`},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`,costUnknownLocalTooltip:`Coût inconnu (moteur local). Ajoutez des tarifs à la connexion pour voir une estimation.`},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
+ 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`,localEngine:`local`},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`,costUnknownLocalTooltip:`Coût inconnu (moteur local). Ajoutez des tarifs à la connexion pour voir une estimation.`},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={title:`Utilisation des anciens workflows`,refresh:`Actualiser les compteurs`,scope:`Tous les événements enregistrés pour ce projet, indépendamment des filtres de dépenses.`,unavailable:`Impossible d’actualiser ces compteurs.`,loading:`Chargement de l’utilisation enregistrée…`,total:`Événements enregistrés : {{count}}`,last:`Dernier événement :`,evidence:`Ces compteurs seuls ne prouvent pas que la compatibilité antérieure peut être retirée.`,kinds:{legacy_loop_traversal:`Boucles classiques`,queue_manager_slash:`Commandes en attente`,merge_back:`Intégrations locales`}},_={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,legacyUsage:g};export{h as agentMissions,_ as default,p as desktop,a as hero,g as legacyUsage,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 +1 @@
1
- var e={job:`Job`,quickSpec:`Quick`,exploreSpec:`Explore`,aiEdit:`Raffinamento`,smash:`SMASH`,fileSummary:`Riepiloghi file`,loop:`Loops`,chatSidebar:`Chat`,specLauncher:`Avvio spec`,proposal:`Proposta`,agentStudio:`Agent Studio`,setup:`Configurazione`},t={d7:`7d`,d30:`30d`,d90:`90d`,all:`Tutto`,custom:`Personalizzato`,startDate:`Data di inizio`,endDate:`Data di fine`,to:`a`},n=`{{count}} esecuzione`,r=`{{count}} esecuzioni`,i={title:`Analytics`,all:`Tutti`,engine:`Engine`,ticketChip:`ticket #{{id}} · ✕`,failedToLoad:`Caricamento non riuscito: {{error}}`,modelChip:`Modello: {{model}}`,clearModelFilter:`Rimuovi filtro modello`,localEngine:`locale`},a={spending:`Spesa`,vsPrev:`{{pct}}% vs prec.`,invocations_one:`{{count}} invocazione`,invocations_other:`{{count}} invocazioni`,tokens:`· {{tokens}} token`,tokensTooltip:`Token totali = input nuovo + output + lettura cache + creazione cache su tutte le invocazioni in questa finestra.`,usageUnavailable:`· utilizzo dei token non disponibile`,usageUnavailableTooltip:`Il provider ha completato queste invocazioni senza esporre la telemetria dei token.`,usagePartiallyUnavailable:`· {{tokens}} token noti; senza dati: {{count}}`,usagePartiallyUnavailableTooltip:`Solo subtotale noto; alcune invocazioni non espongono la telemetria dei token.`,costUnavailable:`costo non disponibile`,costUnavailableTooltip:`Il provider ha completato queste invocazioni senza esporre telemetria sufficiente per determinarne il costo.`,costPartiallyUnavailable:`· subtotale noto; senza costo: {{count}}`,costPartiallyUnavailableTooltip:`Solo subtotale noto; alcune invocazioni non espongono telemetria sufficiente per determinarne il costo.`,includesEstimated:`· include ~{{amount}} stimati`,includesEstimatedTooltip:`Include {{amount}} di costo stimato da provider senza un campo di costo nativo (es. codex tramite la tabella prezzi locale).`,trackingStarted:`Tracciamento iniziato il {{date}}`,trackingStartedFallback:`Il tracciamento inizia alla prima invocazione`,emptyState:`Ancora nessuna invocazione per questa finestra di filtri.`,segmentTitle:`{{label}}: {{value}}`},o={title:`Per provider`,description:`Come si ripartisce il costo tra le CLI AI di questo progetto. Il prefisso <tilde>~</tilde> indica le righe in cui il costo è stimato dalla tabella prezzi locale (il provider non lo riporta nativamente).`,noCost:`Ancora nessun costo registrato in questa finestra.`,segmentTitle:`{{label}}: {{value}} ({{count}})`,costUnavailable:`costo non disponibile`,costUnavailableTooltip:`Questo provider è stato eseguito ma il suo modello non è nella tabella prezzi, quindi non è stato possibile calcolare alcun costo.`,costPartiallyUnavailable:`· non disponibili: {{count}}`,costPartiallyUnavailableTooltip:`Solo subtotale noto; il costo di alcune esecuzioni non è disponibile.`},s={title:`Timeline giornaliera`,subtitle:`impilata per origine`,empty:`Nessuna spesa in questo periodo.`,costUnavailable:`Sono state registrate invocazioni, ma la telemetria dei costi non è disponibile.`,costPartiallyUnavailable:`costi noti · non disponibili: {{count}}`},c={title:`Quick vs Explore`,quick:`Quick`,explore:`Explore`,sparseCta:`Prova Explore per spec più ricche`,runsSoFar_one:`{{count}} esecuzione finora`,runsSoFar_other:`{{count}} esecuzioni finora`,perSpec:`per spec`,createdRuns:`<strong>{{created}}</strong> create · {{runs}} esecuzioni`,avgDuration:`{{duration}} in media`,ratio:`{{ratio}}× in più per spec`,estimatedTooltip:`Costo stimato (stima da tabella prezzi per codex/gemini, non fatturato dal provider)`,estimatedFootnote:`~ Include costi stimati (codex/gemini)`,costUnavailable:`costo per spec non disponibile`,costUnavailableTooltip:`Non è possibile calcolare la media per spec perché una o più esecuzioni non espongono il costo.`},l={title:`Modelli`,empty:`Nessun modello registrato.`,estimatedTooltip:`Stimato dalla tabella prezzi locale — questo provider non riporta il costo in modo nativo.`,others:`Altri`,costUnavailableWithRuns:`— · {{count}}`,costUnavailableTooltip:`La telemetria dei costi non è disponibile per tutte le esecuzioni di questo modello.`,costPartiallyUnavailable:`· non disponibili: {{count}}`,costPartiallyUnavailableTooltip:`Solo subtotale noto; alcune esecuzioni di questo modello non hanno telemetria dei costi.`},u={title:`Costo vs Turni`,empty:`Nessuna invocazione da rappresentare.`,turnsLabel:`turni`,costLabel:`costo`,truncated:`Visualizzati {{shown}} di {{total}} — il punto più costoso viene mantenuto, ma i punti precedenti sono nascosti`,costUnavailable:`Sono state registrate invocazioni, ma non sono disponibili dati di costo da rappresentare.`,costPartiallyUnavailable:`Il grafico include solo le esecuzioni con costo; costo non disponibile: {{count}}.`},d={title:`Top ticket`,empty:`Nessuna attività sui ticket in questo periodo.`,breakdownItem:`{{n}} {{label}}`,unattributed:`Non attribuito`,deletedTicket:`ticket eliminato #{{id}}`,costUnavailable:`costo non disponibile`,costUnavailableTooltip:`Nessuna esecuzione di questo ticket ha esposto telemetria dei costi.`,costPartiallyUnavailable:`non disponibili: {{count}}`,costPartiallyUnavailableTooltip:`Solo subtotale noto; alcune esecuzioni di questo ticket non hanno un costo disponibile.`},f={title:`Tutte le invocazioni`,statusFilterAria:`Filtro stato`,minCostFilterAria:`Filtro costo minimo`,minCostPlaceholder:`≥ $0.00`,allStatus:`Tutti gli stati`,success:`Riuscita`,failed:`Fallita`,aborted:`Interrotta`,empty:`Nessuna invocazione corrisponde ai filtri attuali.`,colSurface:`Origine`,colTicket:`Ticket`,colCost:`Costo`,colTurns:`Turni`,colTokens:`Token`,colModel:`Modello`,colStatus:`Stato`,colStarted:`Avvio`,contractLayer:`Contract Layer`,contractLayerRefinement:`Raffinamento Contract Layer`,deleted:`(eliminato)`,provisionalTitleTooltip:`Titolo Explore provvisorio — non ancora confermato`,estimatedCostTooltip:`Stimato dalla tabella prezzi locale — questo provider non riporta il costo nativamente.`,inferred:`dedotto`,statusValue:{success:`riuscita`,failed:`fallita`,aborted:`interrotta`},truncated:`Mostrate le prime {{shown}} di {{total}} righe corrispondenti.`,colProvider:`Provider`,sortLabel:`Ordina`,sortRecency:`Recenti`,sortCost:`Costo`,costUnknownLocalTooltip:`Costo sconosciuto (motore locale). Aggiungi tariffe alla connessione per vedere una stima.`},p={title:`Analytics di Desktop`,refreshAria:`Aggiorna le analytics`,failedToLoad:`Impossibile caricare le analytics: {{error}}`,totalCost:`Costo totale`,costToday:`{{value}} oggi`,costTodayUnavailable:`costo non disponibile oggi`,totalJobs:`Job totali`,jobsToday:`{{n}} oggi`,successRate:`Tasso di successo`,acrossAllProjects:`su tutti i progetti`,avgCostPerJob:`Costo medio / job`,periodAverage:`media del periodo`,averageUnavailable:`media non disponibile con telemetria dei costi incompleta`,costOverTime:`Costo nel tempo tra i progetti`,noCostData:`Nessun dato di costo per questo periodo`,projectComparison:`Confronto progetti`,noProjects:`Nessun progetto registrato.`,jobsCount_one:`{{count}} job`,jobsCount_other:`{{count}} job`,successPct:`{{pct}}% di successo`,costByProject:`Costo per progetto`,includesEstimated:`~{{amount}} stimato`,includesEstimatedTooltip:`Include {{amount}} di costo stimato da tabella prezzi (codex/gemini), non fatturato dal provider.`,includesEstimatedShort:`incl. stimato`,timelineEstimatedTooltip:`Alcuni giorni includono un costo stimato da tabella prezzi (codex/gemini) contrassegnato con ~.`,estimatedBadge:`stim.`,projectEstimatedTooltip:`{{amount}} del costo di questo progetto è una stima da tabella prezzi (codex/gemini), non fatturato dal provider.`,statusBarEstimatedTooltip:`Include un costo stimato da tabella prezzi (codex/gemini), non fatturato dal provider.`,costUnavailable:`Sono state registrate invocazioni, ma la telemetria dei costi non è disponibile.`,costUnavailableShort:`non disponibile`,costPartiallyUnavailable:`Subtotale dei costi noti; invocazioni senza costo: {{count}}.`},m={"7d":`Ultimi 7 giorni`,"30d":`Ultimi 30 giorni`,"90d":`Ultimi 90 giorni`,all:`Sempre`,custom:`Intervallo personalizzato`},h={title:`Missioni dell’agente`,subtitle:`Turni di Agent Chat fissati a questo progetto`,vsPrev:`vs periodo precedente`,turnsAndTokens:`{{turns}} turni · {{tokens}} token`,untitled:`Missione senza titolo`,estimatedNote:`Include costi stimati`},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 riepilogo`,rawCsv:`CSV raw`,summaryJson:`JSON riepilogo`,rawJson:`JSON raw`,downloading:`Download in corso…`,noData:`Nessun dato per i filtri attuali`,failed:`Esportazione non riuscita`},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
+ var e={job:`Job`,quickSpec:`Quick`,exploreSpec:`Explore`,aiEdit:`Raffinamento`,smash:`SMASH`,fileSummary:`Riepiloghi file`,loop:`Loops`,chatSidebar:`Chat`,specLauncher:`Avvio spec`,proposal:`Proposta`,agentStudio:`Agent Studio`,setup:`Configurazione`},t={d7:`7d`,d30:`30d`,d90:`90d`,all:`Tutto`,custom:`Personalizzato`,startDate:`Data di inizio`,endDate:`Data di fine`,to:`a`},n=`{{count}} esecuzione`,r=`{{count}} esecuzioni`,i={title:`Analytics`,all:`Tutti`,engine:`Engine`,ticketChip:`ticket #{{id}} · ✕`,failedToLoad:`Caricamento non riuscito: {{error}}`,modelChip:`Modello: {{model}}`,clearModelFilter:`Rimuovi filtro modello`,localEngine:`locale`},a={spending:`Spesa`,vsPrev:`{{pct}}% vs prec.`,invocations_one:`{{count}} invocazione`,invocations_other:`{{count}} invocazioni`,tokens:`· {{tokens}} token`,tokensTooltip:`Token totali = input nuovo + output + lettura cache + creazione cache su tutte le invocazioni in questa finestra.`,usageUnavailable:`· utilizzo dei token non disponibile`,usageUnavailableTooltip:`Il provider ha completato queste invocazioni senza esporre la telemetria dei token.`,usagePartiallyUnavailable:`· {{tokens}} token noti; senza dati: {{count}}`,usagePartiallyUnavailableTooltip:`Solo subtotale noto; alcune invocazioni non espongono la telemetria dei token.`,costUnavailable:`costo non disponibile`,costUnavailableTooltip:`Il provider ha completato queste invocazioni senza esporre telemetria sufficiente per determinarne il costo.`,costPartiallyUnavailable:`· subtotale noto; senza costo: {{count}}`,costPartiallyUnavailableTooltip:`Solo subtotale noto; alcune invocazioni non espongono telemetria sufficiente per determinarne il costo.`,includesEstimated:`· include ~{{amount}} stimati`,includesEstimatedTooltip:`Include {{amount}} di costo stimato da provider senza un campo di costo nativo (es. codex tramite la tabella prezzi locale).`,trackingStarted:`Tracciamento iniziato il {{date}}`,trackingStartedFallback:`Il tracciamento inizia alla prima invocazione`,emptyState:`Ancora nessuna invocazione per questa finestra di filtri.`,segmentTitle:`{{label}}: {{value}}`},o={title:`Per provider`,description:`Come si ripartisce il costo tra le CLI AI di questo progetto. Il prefisso <tilde>~</tilde> indica le righe in cui il costo è stimato dalla tabella prezzi locale (il provider non lo riporta nativamente).`,noCost:`Ancora nessun costo registrato in questa finestra.`,segmentTitle:`{{label}}: {{value}} ({{count}})`,costUnavailable:`costo non disponibile`,costUnavailableTooltip:`Questo provider è stato eseguito ma il suo modello non è nella tabella prezzi, quindi non è stato possibile calcolare alcun costo.`,costPartiallyUnavailable:`· non disponibili: {{count}}`,costPartiallyUnavailableTooltip:`Solo subtotale noto; il costo di alcune esecuzioni non è disponibile.`},s={title:`Timeline giornaliera`,subtitle:`impilata per origine`,empty:`Nessuna spesa in questo periodo.`,costUnavailable:`Sono state registrate invocazioni, ma la telemetria dei costi non è disponibile.`,costPartiallyUnavailable:`costi noti · non disponibili: {{count}}`},c={title:`Quick vs Explore`,quick:`Quick`,explore:`Explore`,sparseCta:`Prova Explore per spec più ricche`,runsSoFar_one:`{{count}} esecuzione finora`,runsSoFar_other:`{{count}} esecuzioni finora`,perSpec:`per spec`,createdRuns:`<strong>{{created}}</strong> create · {{runs}} esecuzioni`,avgDuration:`{{duration}} in media`,ratio:`{{ratio}}× in più per spec`,estimatedTooltip:`Costo stimato (stima da tabella prezzi per codex/gemini, non fatturato dal provider)`,estimatedFootnote:`~ Include costi stimati (codex/gemini)`,costUnavailable:`costo per spec non disponibile`,costUnavailableTooltip:`Non è possibile calcolare la media per spec perché una o più esecuzioni non espongono il costo.`},l={title:`Modelli`,empty:`Nessun modello registrato.`,estimatedTooltip:`Stimato dalla tabella prezzi locale — questo provider non riporta il costo in modo nativo.`,others:`Altri`,costUnavailableWithRuns:`— · {{count}}`,costUnavailableTooltip:`La telemetria dei costi non è disponibile per tutte le esecuzioni di questo modello.`,costPartiallyUnavailable:`· non disponibili: {{count}}`,costPartiallyUnavailableTooltip:`Solo subtotale noto; alcune esecuzioni di questo modello non hanno telemetria dei costi.`},u={title:`Costo vs Turni`,empty:`Nessuna invocazione da rappresentare.`,turnsLabel:`turni`,costLabel:`costo`,truncated:`Visualizzati {{shown}} di {{total}} — il punto più costoso viene mantenuto, ma i punti precedenti sono nascosti`,costUnavailable:`Sono state registrate invocazioni, ma non sono disponibili dati di costo da rappresentare.`,costPartiallyUnavailable:`Il grafico include solo le esecuzioni con costo; costo non disponibile: {{count}}.`},d={title:`Top ticket`,empty:`Nessuna attività sui ticket in questo periodo.`,breakdownItem:`{{n}} {{label}}`,unattributed:`Non attribuito`,deletedTicket:`ticket eliminato #{{id}}`,costUnavailable:`costo non disponibile`,costUnavailableTooltip:`Nessuna esecuzione di questo ticket ha esposto telemetria dei costi.`,costPartiallyUnavailable:`non disponibili: {{count}}`,costPartiallyUnavailableTooltip:`Solo subtotale noto; alcune esecuzioni di questo ticket non hanno un costo disponibile.`},f={title:`Tutte le invocazioni`,statusFilterAria:`Filtro stato`,minCostFilterAria:`Filtro costo minimo`,minCostPlaceholder:`≥ $0.00`,allStatus:`Tutti gli stati`,success:`Riuscita`,failed:`Fallita`,aborted:`Interrotta`,empty:`Nessuna invocazione corrisponde ai filtri attuali.`,colSurface:`Origine`,colTicket:`Ticket`,colCost:`Costo`,colTurns:`Turni`,colTokens:`Token`,colModel:`Modello`,colStatus:`Stato`,colStarted:`Avvio`,contractLayer:`Contract Layer`,contractLayerRefinement:`Raffinamento Contract Layer`,deleted:`(eliminato)`,provisionalTitleTooltip:`Titolo Explore provvisorio — non ancora confermato`,estimatedCostTooltip:`Stimato dalla tabella prezzi locale — questo provider non riporta il costo nativamente.`,inferred:`dedotto`,statusValue:{success:`riuscita`,failed:`fallita`,aborted:`interrotta`},truncated:`Mostrate le prime {{shown}} di {{total}} righe corrispondenti.`,colProvider:`Provider`,sortLabel:`Ordina`,sortRecency:`Recenti`,sortCost:`Costo`,costUnknownLocalTooltip:`Costo sconosciuto (motore locale). Aggiungi tariffe alla connessione per vedere una stima.`},p={title:`Analytics di Desktop`,refreshAria:`Aggiorna le analytics`,failedToLoad:`Impossibile caricare le analytics: {{error}}`,totalCost:`Costo totale`,costToday:`{{value}} oggi`,costTodayUnavailable:`costo non disponibile oggi`,totalJobs:`Job totali`,jobsToday:`{{n}} oggi`,successRate:`Tasso di successo`,acrossAllProjects:`su tutti i progetti`,avgCostPerJob:`Costo medio / job`,periodAverage:`media del periodo`,averageUnavailable:`media non disponibile con telemetria dei costi incompleta`,costOverTime:`Costo nel tempo tra i progetti`,noCostData:`Nessun dato di costo per questo periodo`,projectComparison:`Confronto progetti`,noProjects:`Nessun progetto registrato.`,jobsCount_one:`{{count}} job`,jobsCount_other:`{{count}} job`,successPct:`{{pct}}% di successo`,costByProject:`Costo per progetto`,includesEstimated:`~{{amount}} stimato`,includesEstimatedTooltip:`Include {{amount}} di costo stimato da tabella prezzi (codex/gemini), non fatturato dal provider.`,includesEstimatedShort:`incl. stimato`,timelineEstimatedTooltip:`Alcuni giorni includono un costo stimato da tabella prezzi (codex/gemini) contrassegnato con ~.`,estimatedBadge:`stim.`,projectEstimatedTooltip:`{{amount}} del costo di questo progetto è una stima da tabella prezzi (codex/gemini), non fatturato dal provider.`,statusBarEstimatedTooltip:`Include un costo stimato da tabella prezzi (codex/gemini), non fatturato dal provider.`,costUnavailable:`Sono state registrate invocazioni, ma la telemetria dei costi non è disponibile.`,costUnavailableShort:`non disponibile`,costPartiallyUnavailable:`Subtotale dei costi noti; invocazioni senza costo: {{count}}.`},m={"7d":`Ultimi 7 giorni`,"30d":`Ultimi 30 giorni`,"90d":`Ultimi 90 giorni`,all:`Sempre`,custom:`Intervallo personalizzato`},h={title:`Missioni dell’agente`,subtitle:`Turni di Agent Chat fissati a questo progetto`,vsPrev:`vs periodo precedente`,turnsAndTokens:`{{turns}} turni · {{tokens}} token`,untitled:`Missione senza titolo`,estimatedNote:`Include costi stimati`},g={title:`Utilizzo dei workflow precedenti`,refresh:`Aggiorna contatori`,scope:`Tutti gli eventi registrati per questo progetto, indipendentemente dai filtri di spesa.`,unavailable:`Impossibile aggiornare questi contatori.`,loading:`Caricamento dell’utilizzo registrato…`,total:`Eventi registrati: {{count}}`,last:`Ultimo evento:`,evidence:`Questi contatori da soli non dimostrano che la compatibilità precedente possa essere rimossa.`,kinds:{legacy_loop_traversal:`Loop classici`,queue_manager_slash:`Comandi in coda`,merge_back:`Integrazioni locali`}},_={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 riepilogo`,rawCsv:`CSV raw`,summaryJson:`JSON riepilogo`,rawJson:`JSON raw`,downloading:`Download in corso…`,noData:`Nessun dato per i filtri attuali`,failed:`Esportazione non riuscita`},desktop:p,windowLabels:m,agentMissions:h,legacyUsage:g};export{h as agentMissions,_ as default,p as desktop,a as hero,g as legacyUsage,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 +1 @@
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`,localEngine:`local`},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`,costUnknownLocalTooltip:`Coste desconocido (motor local). Añade tarifas a la conexión para ver una estimación.`},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
+ 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`,localEngine:`local`},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`,costUnknownLocalTooltip:`Coste desconocido (motor local). Añade tarifas a la conexión para ver una estimación.`},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={title:`Uso de workflows anteriores`,refresh:`Actualizar contadores`,scope:`Todos los eventos registrados de este proyecto, sin aplicar los filtros de gasto.`,unavailable:`No se han podido actualizar estos contadores.`,loading:`Cargando uso registrado…`,total:`Eventos registrados: {{count}}`,last:`Último evento:`,evidence:`Estos contadores por sí solos no acreditan que se pueda retirar la compatibilidad anterior.`,kinds:{legacy_loop_traversal:`Loops clásicos`,queue_manager_slash:`Comandos en cola`,merge_back:`Integraciones locales`}},_={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,legacyUsage:g};export{h as agentMissions,_ as default,p as desktop,a as hero,g as legacyUsage,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};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-CNC7AqOf.js";var t=e({agentMissions:()=>_,default:()=>y,desktop:()=>h,hero:()=>s,legacyUsage:()=>v,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`,localEngine:`local`},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`,costUnknownLocalTooltip:`Cost unknown (local engine). Add rates to the connection to see an estimate.`},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={title:`Legacy workflow usage`,refresh:`Refresh counts`,scope:`All recorded events for this project, independent of spending filters.`,unavailable:`Could not refresh these counters.`,loading:`Loading recorded usage…`,total:`Recorded events: {{count}}`,last:`Last event:`,evidence:`These counters alone do not prove that legacy compatibility can be retired.`,kinds:{legacy_loop_traversal:`Classic loops`,queue_manager_slash:`Queued commands`,merge_back:`Local integrations`}},y={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:_,legacyUsage:v};export{t};
@@ -1 +1 @@
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:`清除模型筛选`,localEngine:`本地`},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:`成本`,costUnknownLocalTooltip:`费用未知(本地引擎)。为连接添加费率以查看估算。`},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
+ 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:`清除模型筛选`,localEngine:`本地`},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:`成本`,costUnknownLocalTooltip:`费用未知(本地引擎)。为连接添加费率以查看估算。`},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={title:`旧版工作流使用情况`,refresh:`刷新计数`,scope:`此项目记录的所有事件,不受支出筛选条件影响。`,unavailable:`无法刷新这些计数。`,loading:`正在加载已记录的使用情况…`,total:`已记录事件:{{count}}`,last:`最近事件:`,evidence:`仅凭这些计数不能证明可以移除旧版兼容功能。`,kinds:{legacy_loop_traversal:`经典循环`,queue_manager_slash:`排队命令`,merge_back:`本地集成`}},_={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,legacyUsage:g};export{h as agentMissions,_ as default,p as desktop,a as hero,g as legacyUsage,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 +1 @@
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`,localEngine:`local`},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`,costUnknownLocalTooltip:`Custo desconhecido (motor local). Adicione tarifas à conexão para ver uma estimativa.`},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
+ 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`,localEngine:`local`},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`,costUnknownLocalTooltip:`Custo desconhecido (motor local). Adicione tarifas à conexão para ver uma estimativa.`},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={title:`Uso de workflows anteriores`,refresh:`Atualizar contadores`,scope:`Todos os eventos registados neste projeto, independentemente dos filtros de custos.`,unavailable:`Não foi possível atualizar estes contadores.`,loading:`A carregar utilização registada…`,total:`Eventos registados: {{count}}`,last:`Último evento:`,evidence:`Estes contadores, por si só, não comprovam que a compatibilidade anterior possa ser removida.`,kinds:{legacy_loop_traversal:`Loops clássicos`,queue_manager_slash:`Comandos em fila`,merge_back:`Integrações locais`}},_={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,legacyUsage:g};export{h as agentMissions,_ as default,p as desktop,a as hero,g as legacyUsage,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 +1 @@
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:`モデルフィルターをクリア`,localEngine:`ローカル`},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:`コスト`,costUnknownLocalTooltip:`コスト不明(ローカルエンジン)。接続に料金を追加すると概算が表示されます。`},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
+ 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:`モデルフィルターをクリア`,localEngine:`ローカル`},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:`コスト`,costUnknownLocalTooltip:`コスト不明(ローカルエンジン)。接続に料金を追加すると概算が表示されます。`},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={title:`従来のワークフローの使用状況`,refresh:`件数を更新`,scope:`このプロジェクトで記録されたすべてのイベント。支出フィルターは適用されません。`,unavailable:`件数を更新できませんでした。`,loading:`記録された使用状況を読み込み中…`,total:`記録されたイベント: {{count}}`,last:`最終イベント:`,evidence:`これらの件数だけでは、従来の互換性を廃止できることの証明にはなりません。`,kinds:{legacy_loop_traversal:`従来のループ`,queue_manager_slash:`キュー内のコマンド`,merge_back:`ローカル統合`}},_={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,legacyUsage:g};export{h as agentMissions,_ as default,p as desktop,a as hero,g as legacyUsage,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 +1 @@
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`,localEngine:`lokal`},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`,costUnknownLocalTooltip:`Kosten unbekannt (lokale Engine). Tarife in der Verbindung hinterlegen, um eine Schätzung zu sehen.`},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
+ 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`,localEngine:`lokal`},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`,costUnknownLocalTooltip:`Kosten unbekannt (lokale Engine). Tarife in der Verbindung hinterlegen, um eine Schätzung zu sehen.`},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={title:`Nutzung älterer Workflows`,refresh:`Zähler aktualisieren`,scope:`Alle erfassten Ereignisse dieses Projekts, unabhängig von Kostenfiltern.`,unavailable:`Diese Zähler konnten nicht aktualisiert werden.`,loading:`Erfasste Nutzung wird geladen…`,total:`Erfasste Ereignisse: {{count}}`,last:`Letztes Ereignis:`,evidence:`Diese Zähler allein belegen nicht, dass ältere Kompatibilität entfernt werden kann.`,kinds:{legacy_loop_traversal:`Klassische Loops`,queue_manager_slash:`Befehle in der Warteschlange`,merge_back:`Lokale Integrationen`}},_={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,legacyUsage:g};export{h as agentMissions,_ as default,p as desktop,a as hero,g as legacyUsage,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};
@@ -0,0 +1 @@
1
+ var e={title:`Construtor de projetos`,subtitle:`Da ideia ao backlog do Marco 1`,close:`Fechar o Construtor`,emptyTitle:`Descreva sua ideia de app`,emptyHint:`Uma ou duas frases bastam — o Construtor fará uma breve entrevista e proporá um blueprint completo. Você também pode deixá-lo decidir tudo.`,surpriseMe:`Surpreenda-me`,inputPlaceholder:`Um app que…`,createSpecs:`Criar specs`,createSpecsHint:`Disponível quando as specs do Marco 1 passarem na auditoria`,providerUnavailable:`O Construtor requer um provedor com modo nativo sem ferramentas ou somente leitura. Este provedor não está disponível aqui.`},t={title:`Blueprint`,product:`Produto`,coreFlow:`Fluxo principal`,platform:`Plataforma`,stack:`Stack`,milestones:`Marcos`,milestonesValue:`{{count}} planejados`,assumptions:`Suposições`,m1Specs:`Specs do Marco 1 ({{count}})`,dependsOn:`depende de #{{index}}`,criteriaCount:`{{count}} critérios de aceitação`,laterMilestones:`Marcos posteriores`,empty:`O blueprint se preenche enquanto você conversa.`,specsComplete:`Completas`,specsInProgress:`Em andamento`,specWriting:`a escrever…`,specPendingBody:`ainda por escrever`},n={title:`Criar o projeto`,description:`Nada toca o disco até você confirmar. O repo fica intocado — os artefatos do Specrails vivem fora dele.`,nameLabel:`Nome do projeto`,locationLabel:`Local`,locationHint:`Uma nova pasta será criada aqui (vazia ou inexistente).`,providersLabel:`Provedores de IA`,githubLabel:`Criar repositório privado no GitHub`,githubAuthHint:`Inicie sessão primeiro: gh auth login`,back:`Voltar`,submit:`Criar projeto`,creating:`Criando…`,errors:{generic:`O commit não pôde iniciar. Verifique os valores e tente de novo.`,invalid_name:`O nome do projeto é obrigatório.`,invalid_location:`O local é obrigatório.`,providers_required:`Selecione pelo menos um provedor.`,unknown_provider:`Um dos provedores selecionados não está disponível.`,invalid_blueprint:`O blueprint está incompleto — volte e termine com o Construtor.`,m1_specs_required:`O blueprint ainda não tem specs do Marco 1.`,m1_specs_over_cap:`O Marco 1 tem specs demais (máx. 10). Peça ao Construtor para enxugá-lo.`,m1_spec_quality_invalid:`As specs geradas ainda não estão prontas para implementação. Volte ao Construtor e refine o item indicado.`,bundled_framework_missing:`O framework embutido está ausente — reinstale o app Specrails.`,location_not_empty:`Essa pasta já existe e não está vazia. Escolha outro local.`,location_already_registered:`Esse local já pertence a um projeto registrado.`,commit_failed:`A criação do projeto falhou — veja a lista de passos para o motivo.`}},r={title:`Criando seu projeto…`,steps:{"create-dir":`Criar a pasta do projeto`,"git-init":`Inicializar o repositório git + README`,assemble:`Montar o workspace do Specrails (offline)`,blueprint:`Gravar o blueprint`,tickets:`Inserir as specs do Marco 1`,register:`Registrar o projeto`,github:`Criar o repositório no GitHub`},githubErrors:{gh_not_installed:`GitHub CLI (gh) não está instalado — repositório não criado`,gh_not_authenticated:`gh sem sessão (execute gh auth login) — repositório não criado`,gh_scope:`Seu token do gh não pode criar repositórios (falta o scope repo)`,gh_repo_exists:`Já existe um repositório com esse nome na sua conta`,gh_network:`Erro de rede com o GitHub — repositório não criado`,generic:`Falha ao criar o repositório do GitHub`}},i={title:`Projeto criado`,description:`Seu backlog do Marco 1 está no quadro, com a etiqueta M1.`,launchM1:`Lançar o Marco 1`,openProject:`Abrir o projeto`,launchFailed:`Não foi possível lançar o Marco 1`},a={title:`Blueprint`,milestone:`M{{n}}`,launchM1:`Lançar o Marco 1`,generateNext:`Gerar M{{n}}`,generateHint:`Abre uma sessão de specs ancorada no código, semeada com o blueprint`,generateUnavailable:`A geração de marcos requer um modo nativo somente leitura`},o={startFailed:`Não foi possível iniciar a conversa do Construtor.`,turnFailed:`O turno do Construtor falhou.`,commitFailed:`A criação do projeto falhou.`},s={title:`Gerar {{label}}`,inputPlaceholder:`Refine as specs…`,commit:`Confirmar {{count}} specs como {{label}}`,commitToast:`{{count}} specs adicionadas ao quadro como {{label}}`,commitFailed:`Não foi possível confirmar o marco`,providerUnavailable:`A geração de marcos não está disponível porque este provedor não tem modo nativo somente leitura.`},c={title:`Construtor de projetos`,subtitle:`O agente está construindo um projeto novo`,exit:`Sair`,exitConfirmTitle:`Sair do Construtor?`,exitConfirmBody:`O Construtor para agora. Seu blueprint fica salvo — retome-o em “Continue de onde parou” na próxima vez que abrir o Construtor.`,exitConfirmCancel:`Continuar construindo`,exitConfirmDiscard:`Descartar e sair`},l={surpriseMe:`Surpreenda-me — proponha valores sensatos para todas as dimensões do blueprint, mantenha m1Specs vazio e deixe-me aprovar o plano antes de gerar as specs detalhadas.`,milestoneSeed:`Gere as specs detalhadas do marco {{label}} ("{{title}}"). Leia primeiro o código real, valide o lote completo e só então emita TODAS as specs detalhadas do marco em uma única resposta/snapshot blueprint-draft.`,milestoneSeedWithPlanned:`Gere as specs detalhadas do marco {{label}} ("{{title}}"). Títulos de specs planejadas: {{planned}}. Leia primeiro o código real, valide o lote completo e só então emita TODAS as specs detalhadas do marco em uma única resposta/snapshot blueprint-draft.`,repairSnapshot:`Seu último bloco blueprint-draft não pôde ser usado pelo app ({{reason}}). Reemita o snapshot COMPLETO como JSON estritamente válido (quebras de linha dentro de strings escapadas como \\n, sem vírgulas finais, sem blocos de código aninhados) — apenas o bloco.`,approve:`Aprovado — gera agora o backlog detalhado do Marco 1.`},u={eyebrow:`{{milestone}} · Spec {{index}}`,close:`Fechar`,open:`Ver detalhe da spec`,empty:`Ainda sem descrição.`,summary:`Resumo`,priority:`Prioridade`,description:`Descrição da spec`,acceptanceCriteria:`Critérios de aceitação`,criteriaEmpty:`Ainda não há critérios de aceitação.`},d={writing:`A escrever as specs do Milestone 1…`,specCount:`spec {{n}}`,turn:`turno {{turn}}/{{total}}`,phase:{outline:`A esboçar as specs do Milestone 1…`,details:`A escrever em detalhe as specs {{from}}–{{to}} de {{total}}…`,audit:`A auditar as {{total}} specs…`,repair:`A pedir de novo as specs {{from}}–{{to}}…`}},f={title:`Pronto para criar as specs?`,steps:{blueprint:`Blueprint aprovado`,specs:`Specs do Marco 1 geradas`,audit:`Auditoria de qualidade`},details:{blueprint:{done:`{{filled}}/{{total}} dimensões`,pending:`{{filled}}/{{total}} dimensões`,blocked:`{{filled}}/{{total}} dimensões`},specs:{done:`{{count}} specs · completas`,pending:`{{count}} de {{min}}–{{max}}`,blocked:`{{count}} specs · precisa de {{min}}–{{max}}`,writing:`{{written}} de {{count}} escritas`},audit:{done:`sem problemas`,pending:`aguardando as specs`,blocked:`{{count}} a corrigir`,writing:`quando as specs estiverem escritas`}},hints:{blueprint:{pending:`Termine a entrevista ou diga “surpreenda-me” — {{filled}}/{{total}} dimensões até agora.`,blocked:`O blueprint está incompleto.`},specs:{pending:`Aprove o blueprint e o Construtor gerará o backlog do Marco 1.`,blocked:`O Marco 1 precisa de {{min}}–{{max}} specs (agora {{count}}). Peça ao Construtor para ajustar.`,writing:`O Construtor está a escrever cada spec por completo — a auditoria de qualidade corre quando o lote estiver completo.`},audit:{pending:`Aguardando as specs.`,blocked:`{{count}} problema(s) de auditoria bloqueiam o commit — abra a lista abaixo.`,writing:`A auditoria corre quando todas as specs estiverem escritas.`}},issuesCount_one:`{{count}} problema de auditoria`,issuesCount_other:`{{count}} problemas de auditoria`,askFix:`Pedir ao Construtor para corrigir`},p={repairing:{invalid_json:`Reparando o snapshot (o último bloco não era JSON válido)…`,truncated:`Solicitando o snapshot novamente (a resposta foi cortada)…`,quality:`Pedindo ao Construtor para corrigir os problemas de auditoria…`,automatic:`automático`},rejected:{title:`O último snapshot do Construtor não pôde ser usado`,invalid_json:`O bloco do blueprint não era JSON válido, então o painel ainda mostra o estado anterior.`,missing_version:`O bloco não era um snapshot de blueprint (blueprintVersion ausente).`,truncated:`A resposta foi cortada antes de fechar o bloco, então nada foi recebido.`,autoRepairFailed:`Uma reparação automática já foi tentada.`,retry:`Pedir o snapshot novamente`},repairedNote:`Snapshot reparado automaticamente`,nothingToRepair:`Não há nada para reparar — continue conversando com o Construtor.`,noSession:`Esta conversa não pode ser retomada com seu provedor; envie uma nova mensagem.`,alreadyStreaming:`O Construtor ainda está respondendo.`,halted:{title:`A geração de specs parou cedo demais`,detail:`{{written}} de {{total}} specs escritas por completo. As restantes ainda são só títulos do esboço.`,resume:`Continuar a gerar`}},m={title:`Continue de onde parou`,untitled:`Blueprint sem título`,specsComplete:`{{count}} specs prontas`,specsInProgress:`{{count}} specs em andamento`,dimensions:`{{filled}}/{{total}} dimensões`,pendingIssue:`snapshot a reparar`,discard:`Descartar`,discardConfirm:`Confirmar descarte`,discardCancel:`Manter`,resumeFailed:`Não foi possível retomar esse blueprint.`,discardFailed:`Não foi possível descartar esse blueprint.`},h={batch_incomplete:`O Construtor ainda não marcou o lote como completo.`,spec_count:`O lote precisa de {{min}}–{{max}} specs (agora {{count}}).`,invalid_shape:`A spec {{n}} não é um objeto válido.`,invalid_kind:`A spec {{n}} precisa de um tipo válido (scaffold, feature ou verification).`,scaffold_first:`A primeira spec deve ser o scaffold do projeto.`,duplicate_scaffold:`A spec {{n}} não pode ser um segundo scaffold.`,title_required:`A spec {{n}} precisa de um título.`,title_duplicate:`A spec {{n}} repete o título da spec {{other}}.`,summary:`A spec {{n}} precisa de um resumo de uma linha com menos de 240 caracteres.`,invalid_priority:`A spec {{n}} precisa de uma prioridade válida.`,canonical_sections:`Faltam à spec {{n}} as cinco seções canônicas em ordem.`,empty_section:`A spec {{n}} tem a seção “{{heading}}” vazia.`,section_bullets:`A spec {{n}} precisa de pelo menos {{min}} marcadores em "{{heading}}".`,complexity_format:`A spec {{n}} precisa de um nível de complexidade com justificativa.`,scaffold_readme:`A spec de scaffold deve mencionar o README existente.`,criteria_count:`A spec {{n}} precisa de {{min}}–{{max}} critérios de aceitação (tem {{count}}).`,criterion_quality:`Spec {{n}}, critério {{criterion}}: não é concreto o suficiente.`,duplicate_criterion:`A spec {{n}} repete o critério de aceitação {{criterion}}.`,milestone_label:`A spec {{n}} precisa do rótulo {{label}}.`,domain_label:`A spec {{n}} precisa de um rótulo de domínio além de {{label}}.`,invalid_dependency:`A spec {{n}} só pode depender de uma spec anterior.`,scaffold_dependency:`A spec de scaffold não pode declarar dependência.`,section_depth:`A spec {{n}} precisa de um "{{heading}}" mais completo (pelo menos {{min}} caracteres).`},g={state:{planned:`Planeado`,committed:`Pronto a lançar`,running:`Em curso`,delivered:`Entregue — a aguardar revisão`,done:`Concluído`},counts:`{{delivered}} de {{total}} entregues · {{done}} concluídas`,failedNote_one:`{{count}} spec falhou na última tentativa`,failedNote_other:`{{count}} specs falharam na última tentativa`,legend:{done:`Concluídas`,onReview:`Em revisão`,inProgress:`Em curso`,failed:`Falharam na última tentativa`,todo:`Pendentes`},rail:{fallbackName:`Rail {{n}}`,chunk:`Rail {{k}} da cadeia`,running:`A correr · {{elapsed}}`,review:`Rever`,open:`Abrir o rail`,noDelivery:`Ainda sem entrega`},chain:{title:`Cadeia sequencial`,parallelTitle:`Lançamento paralelo`,progress:`rail {{k}} de {{n}}`,waiting:`à espera que o rail {{k}} termine`,stackedOn:`o próximo rail parte de {{branch}}`,paused:`Em pausa — {{reason}}`,completed:`Todos os rails lançados`,cancelled:`Cadeia cancelada`,resume:`Retomar`,cancel:`Cancelar cadeia`,resumed:`Cadeia retomada`,resumeFailed:`Não foi possível retomar a cadeia`,cancelledToast:`Cadeia cancelada — os rails em curso continuam`,reasons:{chunk_failed:`o último rail falhou`,chunk_stalled:`o último rail travou (sem saída do fornecedor)`,chunk_stopped:`o último rail foi parado`,launch_rejected:`o próximo rail não pôde ser lançado ({{detail}})`,head_missing:`o ramo de base já não existe`,head_discarded:`a entrega de que o próximo rail parte foi descartada`,run_lost:`o rail em execução não foi encontrado após um reinício`,unknown:`em pausa`,provider_limit:`o limite de utilização do fornecedor foi atingido`,rail_limit_reached:`todos os rails têm um PR à espera da tua decisão — faz merge ou descarta PRs pendentes para libertar um rail e depois retoma`},checkpoint:`Rail {{k}} de {{n}} entregue — lançar o rail {{next}}?`,launchNext:`Lançar o próximo rail`,nextLaunched:`Próximo rail lançado`,autoAdvance:`Continuar automaticamente`,autoAdvanceHint:`Lança cada rail seguinte assim que o anterior é entregue`,checkpointHint:`Para após cada rail e pergunta antes de lançar o próximo`,checkpointNote:`para após este rail`,autoOn:`Continuação automática ligada — os próximos rails são lançados sozinhos`,autoOff:`Continuação automática desligada — será perguntado antes de cada rail`,autoFailed:`Não foi possível atualizar a cadeia`},toast:{launched:`{{milestone}} lançado — a spec 1 de {{n}} está no seu rail; as specs seguintes seguem automaticamente, um rail cada`,launchedAll:`{{milestone}} lançado — uma spec por rail ({{n}} no total)`,chainActive:`{{milestone}} já está a ser lançado — veja o painel Blueprint`,chunkLaunched:`{{milestone}} — rail {{k}} de {{n}} lançado`,paused:`{{milestone}} em pausa — {{reason}}`,resume:`Retomar`,delivered:`{{milestone}} entregue — {{count}} specs aguardam a sua revisão`,review:`Rever`,completed:`{{milestone}} concluído — todas as specs integradas`,launchedCheckpoint:`{{milestone}} lançado — a spec 1 de {{n}} está no seu rail; será perguntado antes de cada seguinte`,checkpoint:`{{milestone}} — rail {{k}} de {{n}} entregue. Lançar o próximo rail?`,launchNext:`Lançar o próximo rail`,autoContinue:`Continuar auto`,railLimitReached:`{{milestone}} não pôde ser lançado — todos os rails têm um PR à espera da tua decisão. Faz merge ou descarta PRs pendentes para libertar um rail.`},sequentialHint:`Uma spec por rail, por ordem de dependências — cada rail parte do ramo do rail anterior`},_={settledLabel:`Decisão tomada`,surprise:{label:`Construtor`,hint:`Poderás ajustar qualquer decisão depois`,title:`Surpreende-me`,description:`Deixa o Construtor decidir produto, fluxo principal, plataforma, stack e marcos, e apresentar-te o blueprint para aprovares ou afinares.`,cta:`Surpreende-me`,settledTitle:`Surpreende-me`,settledDescription:`Deixaste o Construtor decidir todas as dimensões do blueprint.`},approve:{label:`Blueprint pronto`,hint:`Ou escreve o que queres mudar`,title:`Aprovar o blueprint`,description:`Todas as dimensões estão decididas. Aprova-o e o Construtor escreve as specs do Marco 1 por completo, duas de cada vez, e depois audita o lote.`,cta:`Aprovar e gerar specs`,settledTitle:`Blueprint aprovado`,settledDescription:`O Construtor está a gerar o backlog do Marco 1 a partir deste blueprint.`}},v={shell:e,panel:t,commit:n,progress:r,done:i,sidebar:a,errors:o,milestone:s,mode:c,prompts:l,specModal:u,generation:d,readiness:f,snapshot:p,recent:m,quality:h,milestoneProgress:g,decisionCard:_};export{n as commit,_ as decisionCard,v as default,i as done,o as errors,d as generation,s as milestone,g as milestoneProgress,c as mode,t as panel,r as progress,l as prompts,h as quality,f as readiness,m as recent,e as shell,a as sidebar,p as snapshot,u as specModal};
@@ -0,0 +1 @@
1
+ var e={title:`Costruttore di progetti`,subtitle:`Dall'idea al backlog della Milestone 1`,close:`Chiudi il Costruttore`,emptyTitle:`Descrivi la tua idea di app`,emptyHint:`Bastano una o due frasi — il Costruttore ti intervisterà brevemente e proporrà un blueprint completo. Puoi anche lasciargli decidere tutto.`,surpriseMe:`Sorprendimi`,inputPlaceholder:`Un'app che…`,createSpecs:`Crea le spec`,createSpecsHint:`Disponibile quando le spec della Milestone 1 superano l’audit`,providerUnavailable:`Il Costruttore richiede un provider con modalità nativa senza strumenti o di sola lettura. Questo provider non è disponibile qui.`},t={title:`Blueprint`,product:`Prodotto`,coreFlow:`Flusso principale`,platform:`Piattaforma`,stack:`Stack`,milestones:`Milestone`,milestonesValue:`{{count}} pianificate`,assumptions:`Assunzioni`,m1Specs:`Spec della Milestone 1 ({{count}})`,dependsOn:`dipende da #{{index}}`,criteriaCount:`{{count}} criteri di accettazione`,laterMilestones:`Milestone successive`,empty:`Il blueprint si riempie mentre conversi.`,specsComplete:`Complete`,specsInProgress:`In corso`,specWriting:`in scrittura…`,specPendingBody:`non ancora scritta`},n={title:`Crea il progetto`,description:`Nulla tocca il disco finché non confermi. Il repo resta intatto — gli artefatti Specrails vivono altrove.`,nameLabel:`Nome del progetto`,locationLabel:`Percorso`,locationHint:`Qui verrà creata una nuova cartella (vuota o inesistente).`,providersLabel:`Provider IA`,githubLabel:`Crea repository GitHub privato`,githubAuthHint:`Accedi prima: gh auth login`,back:`Indietro`,submit:`Crea progetto`,creating:`Creazione…`,errors:{generic:`Il commit non è potuto partire. Controlla i valori e riprova.`,invalid_name:`Il nome del progetto è obbligatorio.`,invalid_location:`Il percorso è obbligatorio.`,providers_required:`Seleziona almeno un provider.`,unknown_provider:`Uno dei provider selezionati non è disponibile.`,invalid_blueprint:`Il blueprint è incompleto — torna indietro e completalo col Costruttore.`,m1_specs_required:`Il blueprint non ha ancora spec della Milestone 1.`,m1_specs_over_cap:`La Milestone 1 ha troppe spec (max 10). Chiedi al Costruttore di snellirla.`,m1_spec_quality_invalid:`Le spec generate non sono ancora pronte per l'implementazione. Torna al Costruttore e perfeziona l'elemento indicato.`,bundled_framework_missing:`Manca il framework integrato — reinstalla l'app Specrails.`,location_not_empty:`Quella cartella esiste già e non è vuota. Scegli un altro percorso.`,location_already_registered:`Quel percorso appartiene già a un progetto registrato.`,commit_failed:`La creazione del progetto è fallita — vedi l'elenco dei passi per il motivo.`}},r={title:`Creazione del progetto…`,steps:{"create-dir":`Crea la cartella del progetto`,"git-init":`Inizializza il repository git + README`,assemble:`Assembla il workspace Specrails (offline)`,blueprint:`Scrivi il blueprint`,tickets:`Inserisci le spec della Milestone 1`,register:`Registra il progetto`,github:`Crea il repository GitHub`},githubErrors:{gh_not_installed:`GitHub CLI (gh) non è installato — repository non creato`,gh_not_authenticated:`gh non è autenticato (esegui gh auth login) — repository non creato`,gh_scope:`Il tuo token gh non può creare repository (manca lo scope repo)`,gh_repo_exists:`Esiste già un repository con questo nome nel tuo account`,gh_network:`Errore di rete con GitHub — repository non creato`,generic:`Creazione del repository GitHub non riuscita`}},i={title:`Progetto creato`,description:`Il backlog della Milestone 1 è sulla board, etichettato M1.`,launchM1:`Lancia la Milestone 1`,openProject:`Apri il progetto`,launchFailed:`Impossibile lanciare la Milestone 1`},a={title:`Blueprint`,milestone:`M{{n}}`,launchM1:`Lancia la Milestone 1`,generateNext:`Genera M{{n}}`,generateHint:`Apre una sessione di spec ancorata al codice, seminata col blueprint`,generateUnavailable:`La generazione delle milestone richiede una modalità nativa di sola lettura`},o={startFailed:`Impossibile avviare la conversazione del Costruttore.`,turnFailed:`Il turno del Costruttore è fallito.`,commitFailed:`La creazione del progetto è fallita.`},s={title:`Genera {{label}}`,inputPlaceholder:`Rifinisci le spec…`,commit:`Conferma {{count}} spec come {{label}}`,commitToast:`{{count}} spec aggiunte alla board come {{label}}`,commitFailed:`Impossibile confermare la milestone`,providerUnavailable:`La generazione delle milestone non è disponibile perché questo provider non ha una modalità nativa di sola lettura.`},c={title:`Costruttore di progetti`,subtitle:`L'agente sta costruendo un nuovo progetto`,exit:`Esci`,exitConfirmTitle:`Uscire dal Costruttore?`,exitConfirmBody:`Il Builder si ferma ora. Il tuo blueprint resta salvato: riprendilo da «Continua da dove eri rimasto» alla prossima apertura del Builder.`,exitConfirmCancel:`Continua a costruire`,exitConfirmDiscard:`Scarta ed esci`},l={surpriseMe:`Sorprendimi — proponi valori sensati per tutte le dimensioni del blueprint, lascia m1Specs vuoto e fammi approvare il piano prima di generare le spec dettagliate.`,milestoneSeed:`Genera le spec dettagliate della milestone {{label}} ("{{title}}"). Leggi prima il codice reale, valida il lotto completo e solo allora emetti TUTTE le spec dettagliate della milestone in un'unica risposta/snapshot blueprint-draft.`,milestoneSeedWithPlanned:`Genera le spec dettagliate della milestone {{label}} ("{{title}}"). Titoli di spec pianificate: {{planned}}. Leggi prima il codice reale, valida il lotto completo e solo allora emetti TUTTE le spec dettagliate della milestone in un'unica risposta/snapshot blueprint-draft.`,repairSnapshot:`Il tuo ultimo blocco blueprint-draft non è stato utilizzabile dall’app ({{reason}}). Riemetti lo snapshot COMPLETO come JSON strettamente valido (a capo nelle stringhe come \\n, niente virgole finali, niente blocchi di codice annidati) — solo il blocco.`,approve:`Approvato — genera ora il backlog dettagliato della Milestone 1.`},u={eyebrow:`{{milestone}} · Spec {{index}}`,close:`Chiudi`,open:`Vedi dettaglio della spec`,empty:`Ancora nessuna descrizione.`,summary:`Riepilogo`,priority:`Priorità`,description:`Descrizione della spec`,acceptanceCriteria:`Criteri di accettazione`,criteriaEmpty:`Ancora nessun criterio di accettazione.`},d={writing:`Scrittura delle spec della Milestone 1…`,specCount:`spec {{n}}`,turn:`turno {{turn}}/{{total}}`,phase:{outline:`Bozza delle spec della Milestone 1…`,details:`Scrittura dettagliata delle spec {{from}}–{{to}} di {{total}}…`,audit:`Verifica di tutte le {{total}} spec…`,repair:`Nuova richiesta delle spec {{from}}–{{to}}…`}},f={title:`Pronto a creare le spec?`,steps:{blueprint:`Blueprint approvato`,specs:`Spec della Milestone 1 generate`,audit:`Audit di qualità`},details:{blueprint:{done:`{{filled}}/{{total}} dimensioni`,pending:`{{filled}}/{{total}} dimensioni`,blocked:`{{filled}}/{{total}} dimensioni`},specs:{done:`{{count}} spec · complete`,pending:`{{count}} di {{min}}–{{max}}`,blocked:`{{count}} spec · servono {{min}}–{{max}}`,writing:`{{written}} di {{count}} scritte`},audit:{done:`nessun problema`,pending:`in attesa delle spec`,blocked:`{{count}} da correggere`,writing:`quando le spec saranno scritte`}},hints:{blueprint:{pending:`Completa l’intervista o di’ «sorprendimi» — finora {{filled}}/{{total}} dimensioni.`,blocked:`Il blueprint è incompleto.`},specs:{pending:`Approva il blueprint e il Builder genererà il backlog della Milestone 1.`,blocked:`La Milestone 1 richiede {{min}}–{{max}} spec (ora {{count}}). Chiedi al Builder di ridimensionarla.`,writing:`Il Builder sta scrivendo ogni spec per intero — l'audit di qualità parte quando il lotto è completo.`},audit:{pending:`In attesa delle spec.`,blocked:`{{count}} problema/i di audit bloccano il commit — apri l’elenco qui sotto.`,writing:`L'audit parte quando tutte le spec sono scritte.`}},issuesCount_one:`{{count}} problema di audit`,issuesCount_other:`{{count}} problemi di audit`,askFix:`Chiedi al Builder di correggerli`},p={repairing:{invalid_json:`Riparazione dello snapshot (l’ultimo blocco non era JSON valido)…`,truncated:`Nuova richiesta dello snapshot (la risposta è stata troncata)…`,quality:`Richiesta al Builder di correggere i problemi di audit…`,automatic:`automatica`},rejected:{title:`L’ultimo snapshot del Builder non è stato utilizzabile`,invalid_json:`Il blocco del blueprint non era JSON valido, quindi il pannello mostra ancora lo stato precedente.`,missing_version:`Il blocco non era uno snapshot di blueprint (manca blueprintVersion).`,truncated:`La risposta è stata troncata prima della chiusura del blocco: non è arrivato nulla.`,autoRepairFailed:`Una riparazione automatica è già stata tentata.`,retry:`Richiedi di nuovo lo snapshot`},repairedNote:`Snapshot riparato automaticamente`,nothingToRepair:`Non c’è nulla da riparare — continua a parlare con il Builder.`,noSession:`Questa conversazione non può essere ripresa con il suo provider; invia invece un nuovo messaggio.`,alreadyStreaming:`Il Builder sta ancora rispondendo.`,halted:{title:`La generazione delle spec si è fermata in anticipo`,detail:`{{written}} spec su {{total}} scritte per intero. Le altre sono ancora solo titoli della bozza.`,resume:`Continua a generare`}},m={title:`Continua da dove eri rimasto`,untitled:`Blueprint senza titolo`,specsComplete:`{{count}} spec pronte`,specsInProgress:`{{count}} spec in corso`,dimensions:`{{filled}}/{{total}} dimensioni`,pendingIssue:`snapshot da riparare`,discard:`Scarta`,discardConfirm:`Conferma eliminazione`,discardCancel:`Mantieni`,resumeFailed:`Impossibile riprendere questo blueprint.`,discardFailed:`Impossibile scartare questo blueprint.`},h={batch_incomplete:`Il Builder non ha ancora segnato il batch come completo.`,spec_count:`Il batch richiede {{min}}–{{max}} spec (ora {{count}}).`,invalid_shape:`La spec {{n}} non è un oggetto valido.`,invalid_kind:`La spec {{n}} richiede un tipo valido (scaffold, feature o verification).`,scaffold_first:`La prima spec deve essere lo scaffold del progetto.`,duplicate_scaffold:`La spec {{n}} non può essere un secondo scaffold.`,title_required:`La spec {{n}} richiede un titolo.`,title_duplicate:`La spec {{n}} ripete il titolo della spec {{other}}.`,summary:`La spec {{n}} richiede un riassunto di una riga sotto i 240 caratteri.`,invalid_priority:`La spec {{n}} richiede una priorità valida.`,canonical_sections:`Alla spec {{n}} mancano le cinque sezioni canoniche in ordine.`,empty_section:`La sezione «{{heading}}» della spec {{n}} è vuota.`,section_bullets:`La spec {{n}} richiede almeno {{min}} punti sotto "{{heading}}".`,complexity_format:`La spec {{n}} richiede un livello di complessità motivato.`,scaffold_readme:`La spec di scaffold deve citare il README esistente.`,criteria_count:`La spec {{n}} richiede {{min}}–{{max}} criteri di accettazione (ne ha {{count}}).`,criterion_quality:`Spec {{n}}, criterio {{criterion}}: non abbastanza concreto.`,duplicate_criterion:`La spec {{n}} ripete il criterio di accettazione {{criterion}}.`,milestone_label:`La spec {{n}} richiede l’etichetta {{label}}.`,domain_label:`La spec {{n}} richiede un’etichetta di dominio oltre a {{label}}.`,invalid_dependency:`La spec {{n}} può dipendere solo da una spec precedente.`,scaffold_dependency:`La spec di scaffold non può dichiarare dipendenze.`,section_depth:`La spec {{n}} richiede una sezione "{{heading}}" più completa (almeno {{min}} caratteri).`},g={state:{planned:`Pianificato`,committed:`Pronto al lancio`,running:`In corso`,delivered:`Consegnato — in attesa di revisione`,done:`Fatto`},counts:`{{delivered}} di {{total}} consegnate · {{done}} fatte`,failedNote_one:`{{count}} spec è fallita all'ultimo tentativo`,failedNote_other:`{{count}} spec sono fallite all'ultimo tentativo`,legend:{done:`Fatte`,onReview:`In revisione`,inProgress:`In corso`,failed:`Fallite all'ultimo tentativo`,todo:`In attesa`},rail:{fallbackName:`Rail {{n}}`,chunk:`Rail {{k}} della catena`,running:`In esecuzione · {{elapsed}}`,review:`Rivedi`,open:`Apri il rail`,noDelivery:`Nessuna consegna ancora`},chain:{title:`Catena sequenziale`,parallelTitle:`Lancio parallelo`,progress:`rail {{k}} di {{n}}`,waiting:`in attesa che il rail {{k}} termini`,stackedOn:`il rail successivo parte da {{branch}}`,paused:`In pausa — {{reason}}`,completed:`Tutti i rail lanciati`,cancelled:`Catena annullata`,resume:`Riprendi`,cancel:`Annulla catena`,resumed:`Catena ripresa`,resumeFailed:`Impossibile riprendere la catena`,cancelledToast:`Catena annullata — i rail in corso continuano`,reasons:{chunk_failed:`l'ultimo rail è fallito`,chunk_stalled:`l'ultimo rail si è bloccato (nessun output dal provider)`,chunk_stopped:`l'ultimo rail è stato fermato`,launch_rejected:`il rail successivo non è partito ({{detail}})`,head_missing:`il branch di base non esiste più`,head_discarded:`la consegna su cui parte il rail successivo è stata scartata`,run_lost:`il rail in esecuzione non è stato trovato dopo un riavvio`,unknown:`in pausa`,provider_limit:`raggiunto il limite d'uso del provider`,rail_limit_reached:`ogni rail ha una PR in attesa della tua decisione — unisci o scarta le PR in sospeso per liberare un rail, poi riprendi`},checkpoint:`Rail {{k}} di {{n}} consegnato — avviare il rail {{next}}?`,launchNext:`Avvia il prossimo rail`,nextLaunched:`Prossimo rail avviato`,autoAdvance:`Continua automaticamente`,autoAdvanceHint:`Avvia ogni rail successivo appena il precedente è consegnato`,checkpointHint:`Si ferma dopo ogni rail e chiede prima di avviare il successivo`,checkpointNote:`si ferma dopo questo rail`,autoOn:`Continuazione automatica attiva — i prossimi rail partono da soli`,autoOff:`Continuazione automatica disattivata — ti verrà chiesto prima di ogni rail`,autoFailed:`Impossibile aggiornare la catena`},toast:{launched:`{{milestone}} lanciato — la spec 1 di {{n}} è sul suo rail; le spec successive seguono automaticamente, un rail ciascuna`,launchedAll:`{{milestone}} lanciato — una spec per rail ({{n}} in totale)`,chainActive:`{{milestone}} è già in lancio — vedi il pannello Blueprint`,chunkLaunched:`{{milestone}} — rail {{k}} di {{n}} lanciato`,paused:`{{milestone}} in pausa — {{reason}}`,resume:`Riprendi`,delivered:`{{milestone}} consegnato — {{count}} spec attendono la tua revisione`,review:`Rivedi`,completed:`{{milestone}} completato — tutte le spec integrate`,launchedCheckpoint:`{{milestone}} avviato — la spec 1 di {{n}} è sul suo rail; ti verrà chiesto prima di ogni successiva`,checkpoint:`{{milestone}} — rail {{k}} di {{n}} consegnato. Avviare il prossimo rail?`,launchNext:`Avvia il prossimo rail`,autoContinue:`Continua auto`,railLimitReached:`{{milestone}} non è partito — ogni rail ha una PR in attesa della tua decisione. Unisci o scarta le PR in sospeso per liberare un rail.`},sequentialHint:`Una spec per rail, in ordine di dipendenza — ogni rail parte dal branch del rail precedente`},_={settledLabel:`Decisione presa`,surprise:{label:`Builder`,hint:`Potrai ritoccare ogni decisione dopo`,title:`Sorprendimi`,description:`Lascia che il Builder decida prodotto, flusso principale, piattaforma, stack e milestone, e ti presenti il blueprint da approvare o ritoccare.`,cta:`Sorprendimi`,settledTitle:`Sorprendimi`,settledDescription:`Hai lasciato che il Builder decidesse tutte le dimensioni del blueprint.`},approve:{label:`Blueprint pronto`,hint:`Oppure scrivi cosa vuoi cambiare`,title:`Approva il blueprint`,description:`Tutte le dimensioni sono decise. Approvalo e il Builder scrive le spec della Milestone 1 per intero, due alla volta, poi verifica il lotto.`,cta:`Approva e genera le spec`,settledTitle:`Blueprint approvato`,settledDescription:`Il Builder sta generando il backlog della Milestone 1 da questo blueprint.`}},v={shell:e,panel:t,commit:n,progress:r,done:i,sidebar:a,errors:o,milestone:s,mode:c,prompts:l,specModal:u,generation:d,readiness:f,snapshot:p,recent:m,quality:h,milestoneProgress:g,decisionCard:_};export{n as commit,_ as decisionCard,v as default,i as done,o as errors,d as generation,s as milestone,g as milestoneProgress,c as mode,t as panel,r as progress,l as prompts,h as quality,f as readiness,m as recent,e as shell,a as sidebar,p as snapshot,u as specModal};
@@ -0,0 +1 @@
1
+ var e={title:`Constructor de proyectos`,subtitle:`De la idea al backlog del Hito 1`,close:`Cerrar el Constructor`,emptyTitle:`Describe tu idea de app`,emptyHint:`Con una o dos frases basta — el Constructor te entrevistará brevemente y propondrá un blueprint completo. También puedes pedirle que lo decida todo por ti.`,surpriseMe:`Sorpréndeme`,inputPlaceholder:`Una app que…`,createSpecs:`Crear specs`,createSpecsHint:`Disponible cuando las specs del Hito 1 pasen la auditoría`,providerUnavailable:`El Constructor requiere un proveedor con modo nativo sin herramientas o de solo lectura. Este proveedor no está disponible aquí.`},t={title:`Blueprint`,product:`Producto`,coreFlow:`Flujo principal`,platform:`Plataforma`,stack:`Stack`,milestones:`Hitos`,milestonesValue:`{{count}} planificados`,assumptions:`Suposiciones`,m1Specs:`Specs del Hito 1 ({{count}})`,dependsOn:`depende de #{{index}}`,criteriaCount:`{{count}} criterios de aceptación`,laterMilestones:`Hitos posteriores`,empty:`El blueprint se completa mientras conversas.`,specsComplete:`Completas`,specsInProgress:`En curso`,specWriting:`escribiendo…`,specPendingBody:`aún sin escribir`},n={title:`Crear el proyecto`,description:`Nada toca el disco hasta que confirmes. El repo queda prístino — los artefactos de Specrails viven fuera.`,nameLabel:`Nombre del proyecto`,locationLabel:`Ubicación`,locationHint:`Se creará una carpeta nueva aquí (debe estar vacía o no existir).`,providersLabel:`Proveedores de IA`,githubLabel:`Crear repositorio privado en GitHub`,githubAuthHint:`Inicia sesión primero: gh auth login`,back:`Atrás`,submit:`Crear proyecto`,creating:`Creando…`,errors:{generic:`No se pudo iniciar el commit. Revisa los valores e inténtalo de nuevo.`,invalid_name:`El nombre del proyecto es obligatorio.`,invalid_location:`La ubicación es obligatoria.`,providers_required:`Selecciona al menos un proveedor.`,unknown_provider:`Uno de los proveedores seleccionados no está disponible.`,invalid_blueprint:`El blueprint está incompleto — vuelve atrás y termínalo con el Constructor.`,m1_specs_required:`El blueprint aún no tiene specs del Hito 1.`,m1_specs_over_cap:`El Hito 1 tiene demasiadas specs (máx. 10). Pide al Constructor que lo reduzca.`,m1_spec_quality_invalid:`Las specs generadas todavía no están listas para implementar. Vuelve al Constructor y refina el elemento indicado.`,bundled_framework_missing:`Falta el framework incluido — reinstala la app de Specrails.`,location_not_empty:`Esa carpeta ya existe y no está vacía. Elige otra ubicación.`,location_already_registered:`Esa ubicación ya pertenece a un proyecto registrado.`,commit_failed:`La creación del proyecto falló — mira la lista de pasos para ver el motivo.`}},r={title:`Creando tu proyecto…`,steps:{"create-dir":`Crear la carpeta del proyecto`,"git-init":`Inicializar el repositorio git + README`,assemble:`Ensamblar el workspace de Specrails (offline)`,blueprint:`Escribir el blueprint`,tickets:`Insertar las specs del Hito 1`,register:`Registrar el proyecto`,github:`Crear el repositorio en GitHub`},githubErrors:{gh_not_installed:`GitHub CLI (gh) no está instalado — repositorio no creado`,gh_not_authenticated:`gh no tiene sesión (ejecuta gh auth login) — repositorio no creado`,gh_scope:`Tu token de gh no puede crear repositorios (falta el scope repo)`,gh_repo_exists:`Ya existe un repositorio con ese nombre en tu cuenta`,gh_network:`Error de red con GitHub — repositorio no creado`,generic:`No se pudo crear el repositorio de GitHub`}},i={title:`Proyecto creado`,description:`Tu backlog del Hito 1 está en el tablero, etiquetado M1.`,launchM1:`Lanzar el Hito 1`,openProject:`Abrir el proyecto`,launchFailed:`No se pudo lanzar el Hito 1`},a={title:`Blueprint`,milestone:`M{{n}}`,launchM1:`Lanzar el Hito 1`,generateNext:`Generar M{{n}}`,generateHint:`Abre una sesión de specs con contexto real sembrada con el blueprint`,generateUnavailable:`La generación de hitos requiere un modo nativo de solo lectura`},o={startFailed:`No se pudo iniciar la conversación del Constructor.`,turnFailed:`El turno del Constructor falló.`,commitFailed:`La creación del proyecto falló.`},s={title:`Generar {{label}}`,inputPlaceholder:`Refina las specs…`,commit:`Confirmar {{count}} specs como {{label}}`,commitToast:`{{count}} specs añadidas al tablero como {{label}}`,commitFailed:`No se pudo confirmar el hito`,providerUnavailable:`La generación de hitos no está disponible porque este proveedor no tiene modo nativo de solo lectura.`},c={title:`Constructor de proyectos`,subtitle:`El agente está construyendo un proyecto nuevo`,exit:`Salir`,exitConfirmTitle:`¿Salir del Constructor?`,exitConfirmBody:`El Constructor se detiene ahora. Tu blueprint queda guardado: retómalo desde «Continúa donde lo dejaste» la próxima vez que abras el Constructor.`,exitConfirmCancel:`Seguir construyendo`,exitConfirmDiscard:`Descartar y salir`},l={surpriseMe:`Sorpréndeme — propón valores sensatos para todas las dimensiones del blueprint, deja m1Specs vacío y permíteme aprobar el plan antes de generar las specs detalladas.`,milestoneSeed:`Genera las specs detalladas del hito {{label}} ("{{title}}"). Lee primero el código real, valida el lote completo y, solo entonces, emite TODAS las specs detalladas del hito en una única respuesta/snapshot blueprint-draft.`,milestoneSeedWithPlanned:`Genera las specs detalladas del hito {{label}} ("{{title}}"). Títulos de specs planificadas: {{planned}}. Lee primero el código real, valida el lote completo y, solo entonces, emite TODAS las specs detalladas del hito en una única respuesta/snapshot blueprint-draft.`,repairSnapshot:`Tu último bloque blueprint-draft no pudo usarse en la app ({{reason}}). Vuelve a emitir el snapshot COMPLETO como JSON estrictamente válido (saltos de línea dentro de cadenas escapados como \\n, sin comas finales, sin bloques de código anidados): solo el bloque.`,approve:`Aprobado — genera ahora el backlog detallado del Hito 1.`},u={eyebrow:`{{milestone}} · Spec {{index}}`,close:`Cerrar`,open:`Ver detalle de la spec`,empty:`Aún sin descripción.`,summary:`Resumen`,priority:`Prioridad`,description:`Descripción de la spec`,acceptanceCriteria:`Criterios de aceptación`,criteriaEmpty:`Aún no hay criterios de aceptación.`},d={writing:`Escribiendo las specs del Milestone 1…`,specCount:`spec {{n}}`,turn:`turno {{turn}}/{{total}}`,phase:{outline:`Esbozando las specs del Milestone 1…`,details:`Escribiendo al detalle las specs {{from}}–{{to}} de {{total}}…`,audit:`Auditando las {{total}} specs…`,repair:`Volviendo a pedir las specs {{from}}–{{to}}…`}},f={title:`¿Listo para crear las specs?`,steps:{blueprint:`Blueprint aprobado`,specs:`Specs del Hito 1 generadas`,audit:`Auditoría de calidad`},details:{blueprint:{done:`{{filled}}/{{total}} dimensiones`,pending:`{{filled}}/{{total}} dimensiones`,blocked:`{{filled}}/{{total}} dimensiones`},specs:{done:`{{count}} specs · completas`,pending:`{{count}} de {{min}}–{{max}}`,blocked:`{{count}} specs · requiere {{min}}–{{max}}`,writing:`{{written}} de {{count}} escritas`},audit:{done:`sin problemas`,pending:`a la espera de las specs`,blocked:`{{count}} por corregir`,writing:`cuando las specs estén escritas`}},hints:{blueprint:{pending:`Termina la entrevista o di «sorpréndeme»: {{filled}}/{{total}} dimensiones por ahora.`,blocked:`El blueprint está incompleto.`},specs:{pending:`Aprueba el blueprint y el Constructor generará el backlog del Hito 1.`,blocked:`El Hito 1 necesita {{min}}–{{max}} specs (ahora {{count}}). Pide al Constructor que lo ajuste.`,writing:`El Constructor está escribiendo cada spec al detalle — la auditoría de calidad se ejecuta cuando el lote esté completo.`},audit:{pending:`A la espera de las specs.`,blocked:`{{count}} problema(s) de auditoría bloquean el commit: abre la lista de abajo.`,writing:`La auditoría se ejecuta cuando todas las specs estén escritas.`}},issuesCount_one:`{{count}} problema de auditoría`,issuesCount_other:`{{count}} problemas de auditoría`,askFix:`Pedir al Constructor que lo corrija`},p={repairing:{invalid_json:`Reparando el snapshot (el último bloque no era JSON válido)…`,truncated:`Volviendo a pedir el snapshot (la respuesta se cortó)…`,quality:`Pidiendo al Constructor que corrija los problemas de auditoría…`,automatic:`automático`},rejected:{title:`El último snapshot del Constructor no pudo usarse`,invalid_json:`El bloque del blueprint no era JSON válido, así que el panel sigue mostrando el estado anterior.`,missing_version:`El bloque no era un snapshot de blueprint (falta blueprintVersion).`,truncated:`La respuesta se cortó antes de cerrar el bloque, así que no se recibió nada.`,autoRepairFailed:`Ya se intentó una reparación automática.`,retry:`Volver a pedir el snapshot`},repairedNote:`Snapshot reparado automáticamente`,nothingToRepair:`No hay nada que reparar: sigue conversando con el Constructor.`,noSession:`Esta conversación no puede reanudarse con su proveedor; envía un mensaje nuevo.`,alreadyStreaming:`El Constructor todavía está respondiendo.`,halted:{title:`La generación de specs se detuvo antes de tiempo`,detail:`{{written}} de {{total}} specs escritas por completo. El resto siguen siendo solo títulos del esquema.`,resume:`Continuar generando`}},m={title:`Continúa donde lo dejaste`,untitled:`Blueprint sin título`,specsComplete:`{{count}} specs listas`,specsInProgress:`{{count}} specs en curso`,dimensions:`{{filled}}/{{total}} dimensiones`,pendingIssue:`snapshot por reparar`,discard:`Descartar`,discardConfirm:`Confirmar descarte`,discardCancel:`Conservar`,resumeFailed:`No se pudo reanudar ese blueprint.`,discardFailed:`No se pudo descartar ese blueprint.`},h={batch_incomplete:`El Constructor aún no ha marcado el lote como completo.`,spec_count:`El lote necesita {{min}}–{{max}} specs (ahora {{count}}).`,invalid_shape:`La spec {{n}} no es un objeto válido.`,invalid_kind:`La spec {{n}} necesita un tipo válido (scaffold, feature o verification).`,scaffold_first:`La primera spec debe ser el scaffold del proyecto.`,duplicate_scaffold:`La spec {{n}} no puede ser un segundo scaffold.`,title_required:`La spec {{n}} necesita un título.`,title_duplicate:`La spec {{n}} repite el título de la spec {{other}}.`,summary:`La spec {{n}} necesita un resumen de una línea de menos de 240 caracteres.`,invalid_priority:`La spec {{n}} necesita una prioridad válida.`,canonical_sections:`A la spec {{n}} le faltan las cinco secciones canónicas en orden.`,empty_section:`La spec {{n}} tiene vacía la sección «{{heading}}».`,section_bullets:`La spec {{n}} necesita al menos {{min}} viñetas en "{{heading}}".`,complexity_format:`La spec {{n}} necesita un nivel de complejidad con justificación.`,scaffold_readme:`La spec de scaffold debe mencionar el README existente.`,criteria_count:`La spec {{n}} necesita {{min}}–{{max}} criterios de aceptación (tiene {{count}}).`,criterion_quality:`Spec {{n}}, criterio {{criterion}}: no es lo bastante concreto.`,duplicate_criterion:`La spec {{n}} repite el criterio de aceptación {{criterion}}.`,milestone_label:`La spec {{n}} necesita la etiqueta {{label}}.`,domain_label:`La spec {{n}} necesita una etiqueta de dominio además de {{label}}.`,invalid_dependency:`La spec {{n}} solo puede depender de una spec anterior.`,scaffold_dependency:`La spec de scaffold no puede declarar una dependencia.`,section_depth:`La spec {{n}} necesita un "{{heading}}" más completo (al menos {{min}} caracteres).`},g={state:{planned:`Planificado`,committed:`Listo para lanzar`,running:`En curso`,delivered:`Entregado — pendiente de revisión`,done:`Hecho`},counts:`{{delivered}} de {{total}} entregadas · {{done}} hechas`,failedNote_one:`{{count}} spec falló en su último intento`,failedNote_other:`{{count}} specs fallaron en su último intento`,legend:{done:`Hechas`,onReview:`En revisión`,inProgress:`En curso`,failed:`Fallaron el último intento`,todo:`Pendientes`},rail:{fallbackName:`Rail {{n}}`,chunk:`Rail {{k}} de la cadena`,running:`En ejecución · {{elapsed}}`,review:`Revisar`,open:`Abrir el rail`,noDelivery:`Sin entrega aún`},chain:{title:`Cadena secuencial`,parallelTitle:`Lanzamiento paralelo`,progress:`rail {{k}} de {{n}}`,waiting:`esperando a que asiente el rail {{k}}`,stackedOn:`el siguiente rail parte de {{branch}}`,paused:`En pausa — {{reason}}`,completed:`Todos los rails lanzados`,cancelled:`Cadena cancelada`,resume:`Reanudar`,cancel:`Cancelar cadena`,resumed:`Cadena reanudada`,resumeFailed:`No se pudo reanudar la cadena`,cancelledToast:`Cadena cancelada — los rails en curso continúan`,reasons:{chunk_failed:`el último rail falló`,chunk_stalled:`el último rail se atascó (sin salida del proveedor)`,chunk_stopped:`el último rail fue detenido`,launch_rejected:`el siguiente rail no pudo lanzarse ({{detail}})`,head_missing:`la rama sobre la que construir ya no existe`,head_discarded:`se descartó la entrega sobre la que parte el siguiente rail`,run_lost:`no se encontró el rail en ejecución tras un reinicio`,unknown:`en pausa`,provider_limit:`se alcanzó el límite de uso del proveedor`,rail_limit_reached:`todos los rails tienen un PR pendiente de tu decisión — fusiona o descarta PRs pendientes para liberar un rail y luego reanuda`},checkpoint:`Rail {{k}} de {{n}} entregado — ¿lanzar el rail {{next}}?`,launchNext:`Lanzar siguiente rail`,nextLaunched:`Siguiente rail lanzado`,autoAdvance:`Continuar automáticamente`,autoAdvanceHint:`Lanza cada rail siguiente en cuanto se entrega el anterior`,checkpointHint:`Se detiene tras cada rail y pregunta antes de lanzar el siguiente`,checkpointNote:`se detiene tras este rail`,autoOn:`Continuación automática activada — los siguientes rails se lanzan solos`,autoOff:`Continuación automática desactivada — se te preguntará antes de cada rail`,autoFailed:`No se pudo actualizar la cadena`},toast:{launched:`{{milestone}} lanzado — la spec 1 de {{n}} está en su rail; las siguientes specs siguen automáticamente, un rail cada una`,launchedAll:`{{milestone}} lanzado — una spec por rail ({{n}} en total)`,chainActive:`{{milestone}} ya se está lanzando — mira el panel Blueprint`,chunkLaunched:`{{milestone}} — rail {{k}} de {{n}} lanzado`,paused:`{{milestone}} en pausa — {{reason}}`,resume:`Reanudar`,delivered:`{{milestone}} entregado — {{count}} specs esperan tu revisión`,review:`Revisar`,completed:`{{milestone}} completado — todas las specs integradas`,launchedCheckpoint:`{{milestone}} lanzado — la spec 1 de {{n}} está en su rail; se te preguntará antes de cada siguiente`,checkpoint:`{{milestone}} — rail {{k}} de {{n}} entregado. ¿Lanzar el siguiente rail?`,launchNext:`Lanzar siguiente rail`,autoContinue:`Continuar automáticamente`,railLimitReached:`{{milestone}} no se pudo lanzar — todos los rails tienen un PR pendiente de tu decisión. Fusiona o descarta PRs pendientes para liberar un rail.`},sequentialHint:`Una spec por rail, en orden de dependencias — cada rail parte de la rama del rail anterior`},_={settledLabel:`Decisión tomada`,surprise:{label:`Constructor`,hint:`Podrás ajustar cualquier decisión después`,title:`Sorpréndeme`,description:`Deja que el Constructor decida producto, flujo principal, plataforma, stack e hitos, y te presente el blueprint para aprobarlo o retocarlo.`,cta:`Sorpréndeme`,settledTitle:`Sorpréndeme`,settledDescription:`Dejaste que el Constructor decidiera todas las dimensiones del blueprint.`},approve:{label:`Blueprint listo`,hint:`O escribe qué quieres cambiar`,title:`Aprobar el blueprint`,description:`Todas las dimensiones están decididas. Apruébalo y el Constructor escribe las specs del Hito 1 al detalle, de dos en dos, y después audita el lote.`,cta:`Aprobar y generar specs`,settledTitle:`Blueprint aprobado`,settledDescription:`El Constructor está generando el backlog del Hito 1 a partir de este blueprint.`}},v={shell:e,panel:t,commit:n,progress:r,done:i,sidebar:a,errors:o,milestone:s,mode:c,prompts:l,specModal:u,generation:d,readiness:f,snapshot:p,recent:m,quality:h,milestoneProgress:g,decisionCard:_};export{n as commit,_ as decisionCard,v as default,i as done,o as errors,d as generation,s as milestone,g as milestoneProgress,c as mode,t as panel,r as progress,l as prompts,h as quality,f as readiness,m as recent,e as shell,a as sidebar,p as snapshot,u as specModal};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-CNC7AqOf.js";var t=e({commit:()=>i,decisionCard:()=>y,default:()=>b,done:()=>o,errors:()=>c,generation:()=>p,milestone:()=>l,milestoneProgress:()=>v,mode:()=>u,panel:()=>r,progress:()=>a,prompts:()=>d,quality:()=>_,readiness:()=>m,recent:()=>g,shell:()=>n,sidebar:()=>s,snapshot:()=>h,specModal:()=>f}),n={title:`Project Builder`,subtitle:`From idea to Milestone-1 backlog`,close:`Close the Builder`,emptyTitle:`Describe your app idea`,emptyHint:`One or two sentences are enough — the Builder will interview you briefly and propose a full blueprint. You can also ask it to decide everything for you.`,surpriseMe:`Surprise me`,inputPlaceholder:`An app that…`,createSpecs:`Create specs`,createSpecsHint:`Available once the Milestone-1 specs pass the audit`,providerUnavailable:`Project Builder requires a provider with a native no-tools or read-only mode. This provider is unavailable here.`},r={title:`Blueprint`,product:`Product`,coreFlow:`Core flow`,platform:`Platform`,stack:`Stack`,milestones:`Milestones`,milestonesValue:`{{count}} planned`,assumptions:`Assumptions`,m1Specs:`Milestone 1 specs ({{count}})`,dependsOn:`builds on #{{index}}`,criteriaCount:`{{count}} acceptance criteria`,laterMilestones:`Later milestones`,empty:`The blueprint fills in as you talk.`,specsComplete:`Complete`,specsInProgress:`In progress`,specWriting:`writing…`,specPendingBody:`not written yet`},i={title:`Create the project`,description:`Nothing touches disk until you confirm. The repo stays pristine — Specrails artifacts live outside it.`,nameLabel:`Project name`,locationLabel:`Location`,locationHint:`A new folder will be created here (must be empty or absent).`,providersLabel:`AI providers`,githubLabel:`Create private GitHub repository`,githubAuthHint:`Sign in first: gh auth login`,back:`Back`,submit:`Create project`,creating:`Creating…`,errors:{generic:`The commit could not start. Check the values and try again.`,invalid_name:`The project name is required.`,invalid_location:`The location is required.`,providers_required:`Select at least one provider.`,unknown_provider:`One of the selected providers is not available.`,invalid_blueprint:`The blueprint is incomplete — go back and finish it with the Builder.`,m1_specs_required:`The blueprint has no Milestone-1 specs yet.`,m1_specs_over_cap:`Milestone 1 has too many specs (max 10). Ask the Builder to slim it down.`,m1_spec_quality_invalid:`The generated specs are not implementation-ready yet. Return to the Builder and refine the indicated item.`,bundled_framework_missing:`The bundled framework is missing — reinstall the Specrails app.`,location_not_empty:`That folder already exists and is not empty. Pick another location.`,location_already_registered:`That location already belongs to a registered project.`,commit_failed:`The project creation failed — see the step list for the reason.`}},a={title:`Creating your project…`,steps:{"create-dir":`Create project folder`,"git-init":`Initialize git repository + README`,assemble:`Assemble the Specrails workspace (offline)`,blueprint:`Write the blueprint`,tickets:`Insert Milestone-1 specs`,register:`Register the project`,github:`Create GitHub repository`},githubErrors:{gh_not_installed:`GitHub CLI (gh) is not installed — repository not created`,gh_not_authenticated:`gh is not signed in (run gh auth login) — repository not created`,gh_scope:`Your gh token cannot create repositories (missing repo scope)`,gh_repo_exists:`A repository with that name already exists on your account`,gh_network:`Network error talking to GitHub — repository not created`,generic:`GitHub repository creation failed`}},o={title:`Project created`,description:`Your Milestone-1 backlog is on the board, labeled M1.`,launchM1:`Launch Milestone 1`,openProject:`Open the project`,launchFailed:`Could not launch Milestone 1`},s={title:`Blueprint`,milestone:`M{{n}}`,launchM1:`Launch Milestone 1`,generateNext:`Generate M{{n}}`,generateHint:`Opens a grounded spec session seeded with the blueprint`,generateUnavailable:`Milestone generation requires a provider with native read-only mode`},c={startFailed:`Could not start the Builder conversation.`,turnFailed:`The Builder turn failed.`,commitFailed:`Project creation failed.`},l={title:`Generate {{label}}`,inputPlaceholder:`Refine the specs…`,commit:`Commit {{count}} specs as {{label}}`,commitToast:`{{count}} specs committed to the board as {{label}}`,commitFailed:`Could not commit the milestone`,providerUnavailable:`Milestone generation is unavailable because this provider has no native read-only mode.`},u={title:`Project Builder`,subtitle:`The agent is building a new project`,exit:`Exit`,exitConfirmTitle:`Leave the Builder?`,exitConfirmBody:`The Builder stops now. Your blueprint is saved — pick it up again from "Continue where you left off" the next time you open the Builder.`,exitConfirmCancel:`Keep building`,exitConfirmDiscard:`Discard and exit`},d={surpriseMe:`Surprise me — propose sensible defaults for every blueprint dimension, keep m1Specs empty, and let me approve the plan before generating detailed specs.`,milestoneSeed:`Generate the detailed specs for milestone {{label}} ("{{title}}"). Read the real codebase first, validate the complete batch, then emit ALL detailed milestone specs in one blueprint-draft response/snapshot.`,milestoneSeedWithPlanned:`Generate the detailed specs for milestone {{label}} ("{{title}}"). Planned spec titles: {{planned}}. Read the real codebase first, validate the complete batch, then emit ALL detailed milestone specs in one blueprint-draft response/snapshot.`,repairSnapshot:`Your last blueprint-draft block could not be used by the app ({{reason}}). Re-emit the COMPLETE snapshot as strictly valid JSON (newlines inside strings escaped as \\n, no trailing commas, no nested code fences) — only the block.`,approve:`Approved — generate the detailed Milestone-1 backlog now.`},f={eyebrow:`{{milestone}} · Spec {{index}}`,close:`Close`,open:`View spec detail`,empty:`No description yet.`,summary:`Summary`,priority:`Priority`,description:`Spec description`,acceptanceCriteria:`Acceptance criteria`,criteriaEmpty:`No acceptance criteria yet.`},p={writing:`Writing the Milestone-1 specs…`,specCount:`spec {{n}}`,turn:`turn {{turn}}/{{total}}`,phase:{outline:`Outlining the Milestone-1 specs…`,details:`Writing specs {{from}}–{{to}} of {{total}} in full…`,audit:`Auditing all {{total}} specs…`,repair:`Re-asking for specs {{from}}–{{to}}…`}},m={title:`Ready to create specs?`,steps:{blueprint:`Blueprint approved`,specs:`Milestone-1 specs generated`,audit:`Quality audit`},details:{blueprint:{done:`{{filled}}/{{total}} dimensions`,pending:`{{filled}}/{{total}} dimensions`,blocked:`{{filled}}/{{total}} dimensions`},specs:{done:`{{count}} specs · complete`,pending:`{{count}} of {{min}}–{{max}}`,blocked:`{{count}} specs · needs {{min}}–{{max}}`,writing:`{{written}} of {{count}} written`},audit:{done:`no issues`,pending:`waiting for specs`,blocked:`{{count}} to fix`,writing:`after the specs are written`}},hints:{blueprint:{pending:`Finish the interview or say "surprise me" — {{filled}}/{{total}} dimensions so far.`,blocked:`The blueprint is incomplete.`},specs:{pending:`Approve the blueprint and the Builder will generate the Milestone-1 backlog.`,blocked:`Milestone 1 needs {{min}}–{{max}} specs (currently {{count}}). Ask the Builder to resize it.`,writing:`The Builder is writing every spec in full — the quality audit runs once the batch is complete.`},audit:{pending:`Waiting for the specs.`,blocked:`{{count}} audit issue(s) block the commit — open the list below.`,writing:`The audit runs once every spec is written.`}},issuesCount_one:`{{count}} audit issue`,issuesCount_other:`{{count}} audit issues`,askFix:`Ask the Builder to fix these`},h={repairing:{invalid_json:`Repairing the snapshot (the last block was not valid JSON)…`,truncated:`Re-requesting the snapshot (the reply was cut off)…`,quality:`Asking the Builder to fix the audit issues…`,automatic:`automatic`},rejected:{title:`The Builder's last snapshot could not be used`,invalid_json:`The blueprint block was not valid JSON, so the panel still shows the previous state.`,missing_version:`The block was not a blueprint snapshot (missing blueprintVersion).`,truncated:`The reply was cut off before the block closed, so nothing was received.`,autoRepairFailed:`An automatic repair was already attempted.`,retry:`Ask for the snapshot again`},repairedNote:`Snapshot repaired automatically`,nothingToRepair:`There is nothing to repair — keep talking with the Builder.`,noSession:`This conversation cannot be resumed with its provider; send a new message instead.`,alreadyStreaming:`The Builder is still answering.`,halted:{title:`Spec generation stopped early`,detail:`{{written}} of {{total}} specs written in full. The rest are still outline titles.`,resume:`Continue generating`}},g={title:`Continue where you left off`,untitled:`Untitled blueprint`,specsComplete:`{{count}} specs ready`,specsInProgress:`{{count}} specs in progress`,dimensions:`{{filled}}/{{total}} dimensions`,pendingIssue:`snapshot to repair`,discard:`Discard`,discardConfirm:`Confirm discard`,discardCancel:`Keep`,resumeFailed:`Could not resume that blueprint.`,discardFailed:`Could not discard that blueprint.`},_={batch_incomplete:`The Builder has not marked the batch as complete yet.`,spec_count:`The batch needs {{min}}–{{max}} specs (currently {{count}}).`,invalid_shape:`Spec {{n}} is not a valid object.`,invalid_kind:`Spec {{n}} needs a valid kind (scaffold, feature or verification).`,scaffold_first:`The first spec must be the project scaffold.`,duplicate_scaffold:`Spec {{n}} cannot be a second scaffold.`,title_required:`Spec {{n}} needs a title.`,title_duplicate:`Spec {{n}} repeats the title of spec {{other}}.`,summary:`Spec {{n}} needs a one-line summary under 240 characters.`,invalid_priority:`Spec {{n}} needs a valid priority.`,canonical_sections:`Spec {{n}} is missing the five canonical sections in order.`,empty_section:`Spec {{n}} has an empty "{{heading}}" section.`,section_bullets:`Spec {{n}} needs at least {{min}} bullets under "{{heading}}".`,complexity_format:`Spec {{n}} needs a complexity level with a justification.`,scaffold_readme:`The scaffold spec must mention the existing README.`,criteria_count:`Spec {{n}} needs {{min}}–{{max}} acceptance criteria (has {{count}}).`,criterion_quality:`Spec {{n}}, criterion {{criterion}} is not concrete enough.`,duplicate_criterion:`Spec {{n}} repeats acceptance criterion {{criterion}}.`,milestone_label:`Spec {{n}} needs the {{label}} label.`,domain_label:`Spec {{n}} needs a domain label besides {{label}}.`,invalid_dependency:`Spec {{n}} may only depend on an earlier spec.`,scaffold_dependency:`The scaffold spec cannot declare a dependency.`,section_depth:`Spec {{n}} needs a fuller "{{heading}}" (at least {{min}} characters).`},v={state:{planned:`Planned`,committed:`Ready to launch`,running:`In progress`,delivered:`Delivered — awaiting review`,done:`Done`},counts:`{{delivered}} of {{total}} delivered · {{done}} done`,failedNote_one:`{{count}} spec failed its last attempt`,failedNote_other:`{{count}} specs failed their last attempt`,legend:{done:`Done`,onReview:`In review`,inProgress:`In progress`,failed:`Failed last attempt`,todo:`Pending`},rail:{fallbackName:`Rail {{n}}`,chunk:`Rail {{k}} of the chain`,running:`Running · {{elapsed}}`,review:`Review`,open:`Open the rail`,noDelivery:`No delivery yet`},chain:{title:`Sequential chain`,parallelTitle:`Parallel launch`,progress:`rail {{k}} of {{n}}`,waiting:`waiting for rail {{k}} to settle`,stackedOn:`next rail builds on {{branch}}`,paused:`Paused — {{reason}}`,completed:`All rails launched`,cancelled:`Chain cancelled`,resume:`Resume`,cancel:`Cancel chain`,resumed:`Chain resumed`,resumeFailed:`Could not resume the chain`,cancelledToast:`Chain cancelled — running rails keep going`,reasons:{chunk_failed:`the last rail failed`,chunk_stalled:`the last rail stalled (no provider output)`,chunk_stopped:`the last rail was stopped`,launch_rejected:`the next rail could not launch ({{detail}})`,head_missing:`the branch to build on no longer exists`,head_discarded:`the delivery the next rail builds on was discarded`,run_lost:`the running rail could not be found after a restart`,unknown:`paused`,provider_limit:`the provider's usage limit was reached`,rail_limit_reached:`every rail holds a PR awaiting your decision — merge or discard pending PRs to free a rail, then resume`},checkpoint:`Rail {{k}} of {{n}} delivered — launch rail {{next}}?`,launchNext:`Launch next rail`,nextLaunched:`Next rail launched`,autoAdvance:`Continue automatically`,autoAdvanceHint:`Launch each next rail as soon as the previous one is delivered`,checkpointHint:`Stop after each rail and ask before launching the next`,checkpointNote:`stops after this rail`,autoOn:`Auto-continue on — the next rails launch on their own`,autoOff:`Auto-continue off — you'll be asked before each next rail`,autoFailed:`Could not update the chain`},toast:{launched:`{{milestone}} launched — spec 1 of {{n}} is on its rail; the next specs follow automatically, one rail each`,launchedAll:`{{milestone}} launched — one spec per rail ({{n}} in total)`,chainActive:`{{milestone}} is already launching — see the Blueprint panel`,chunkLaunched:`{{milestone}} — rail {{k}} of {{n}} launched`,paused:`{{milestone}} paused — {{reason}}`,resume:`Resume`,delivered:`{{milestone}} delivered — {{count}} specs waiting for your review`,review:`Review`,completed:`{{milestone}} complete — every spec merged`,launchedCheckpoint:`{{milestone}} launched — spec 1 of {{n}} is on its rail; you'll be asked before each next one`,checkpoint:`{{milestone}} — rail {{k}} of {{n}} delivered. Launch the next rail?`,launchNext:`Launch next rail`,autoContinue:`Auto-continue`,railLimitReached:`{{milestone}} could not launch — every rail holds a PR awaiting your decision. Merge or discard pending PRs to free a rail.`},sequentialHint:`One spec per rail, in dependency order — each rail builds on the previous rail's branch`},y={settledLabel:`Decision taken`,surprise:{label:`Builder`,hint:`You can adjust any decision afterwards`,title:`Surprise me`,description:`Let the Builder decide the product, core flow, platform, stack and milestones, then present the blueprint for you to approve or tweak.`,cta:`Surprise me`,settledTitle:`Surprise me`,settledDescription:`You let the Builder decide every blueprint dimension.`},approve:{label:`Blueprint ready`,hint:`Or type what you want to change`,title:`Approve the blueprint`,description:`Every dimension is decided. Approve it and the Builder writes the Milestone-1 specs in full, two at a time, then audits the batch.`,cta:`Approve & generate specs`,settledTitle:`Blueprint approved`,settledDescription:`The Builder is generating the Milestone-1 backlog from this blueprint.`}},b={shell:n,panel:r,commit:i,progress:a,done:o,sidebar:s,errors:c,milestone:l,mode:u,prompts:d,specModal:f,generation:p,readiness:m,snapshot:h,recent:g,quality:_,milestoneProgress:v,decisionCard:y};export{t};
@@ -0,0 +1 @@
1
+ var e={title:`Projekt-Builder`,subtitle:`Von der Idee zum Meilenstein-1-Backlog`,close:`Builder schließen`,emptyTitle:`Beschreibe deine App-Idee`,emptyHint:`Ein oder zwei Sätze genügen — der Builder interviewt dich kurz und schlägt einen vollständigen Blueprint vor. Du kannst ihn auch alles entscheiden lassen.`,surpriseMe:`Überrasch mich`,inputPlaceholder:`Eine App, die…`,createSpecs:`Specs erstellen`,createSpecsHint:`Verfügbar, sobald die Specs von Meilenstein 1 die Prüfung bestehen`,providerUnavailable:`Der Projekt-Builder benötigt einen nativen Modus ohne Werkzeuge oder mit Lesezugriff. Dieser Anbieter ist hier nicht verfügbar.`},t={title:`Blueprint`,product:`Produkt`,coreFlow:`Kernablauf`,platform:`Plattform`,stack:`Stack`,milestones:`Meilensteine`,milestonesValue:`{{count}} geplant`,assumptions:`Annahmen`,m1Specs:`Meilenstein-1-Specs ({{count}})`,dependsOn:`baut auf #{{index}} auf`,criteriaCount:`{{count}} Akzeptanzkriterien`,laterMilestones:`Spätere Meilensteine`,empty:`Der Blueprint füllt sich während des Gesprächs.`,specsComplete:`Vollständig`,specsInProgress:`In Arbeit`,specWriting:`wird geschrieben…`,specPendingBody:`noch nicht geschrieben`},n={title:`Projekt erstellen`,description:`Nichts berührt die Festplatte, bis du bestätigst. Das Repo bleibt unberührt — Specrails-Artefakte liegen außerhalb.`,nameLabel:`Projektname`,locationLabel:`Speicherort`,locationHint:`Hier wird ein neuer Ordner erstellt (muss leer sein oder fehlen).`,providersLabel:`KI-Anbieter`,githubLabel:`Privates GitHub-Repository erstellen`,githubAuthHint:`Zuerst anmelden: gh auth login`,back:`Zurück`,submit:`Projekt erstellen`,creating:`Wird erstellt…`,errors:{generic:`Der Commit konnte nicht starten. Prüfe die Werte und versuche es erneut.`,invalid_name:`Der Projektname ist erforderlich.`,invalid_location:`Der Speicherort ist erforderlich.`,providers_required:`Wähle mindestens einen Anbieter.`,unknown_provider:`Einer der gewählten Anbieter ist nicht verfügbar.`,invalid_blueprint:`Der Blueprint ist unvollständig — geh zurück und vervollständige ihn mit dem Builder.`,m1_specs_required:`Der Blueprint hat noch keine Meilenstein-1-Specs.`,m1_specs_over_cap:`Meilenstein 1 hat zu viele Specs (max. 10). Bitte den Builder, ihn zu verschlanken.`,m1_spec_quality_invalid:`Die generierten Specs sind noch nicht umsetzungsreif. Kehre zum Builder zurück und verfeinere den angegebenen Punkt.`,bundled_framework_missing:`Das mitgelieferte Framework fehlt — installiere die Specrails-App neu.`,location_not_empty:`Dieser Ordner existiert bereits und ist nicht leer. Wähle einen anderen Ort.`,location_already_registered:`Dieser Ort gehört bereits zu einem registrierten Projekt.`,commit_failed:`Die Projekterstellung ist fehlgeschlagen — der Grund steht in der Schrittliste.`}},r={title:`Dein Projekt wird erstellt…`,steps:{"create-dir":`Projektordner erstellen`,"git-init":`Git-Repository + README initialisieren`,assemble:`Specrails-Workspace zusammenbauen (offline)`,blueprint:`Blueprint schreiben`,tickets:`Meilenstein-1-Specs einfügen`,register:`Projekt registrieren`,github:`GitHub-Repository erstellen`},githubErrors:{gh_not_installed:`GitHub CLI (gh) ist nicht installiert — Repository nicht erstellt`,gh_not_authenticated:`gh ist nicht angemeldet (gh auth login ausführen) — Repository nicht erstellt`,gh_scope:`Dein gh-Token kann keine Repositories erstellen (repo-Scope fehlt)`,gh_repo_exists:`Ein Repository mit diesem Namen existiert bereits in deinem Konto`,gh_network:`Netzwerkfehler mit GitHub — Repository nicht erstellt`,generic:`GitHub-Repository konnte nicht erstellt werden`}},i={title:`Projekt erstellt`,description:`Dein Meilenstein-1-Backlog ist auf dem Board, mit M1 gelabelt.`,launchM1:`Meilenstein 1 starten`,openProject:`Projekt öffnen`,launchFailed:`Meilenstein 1 konnte nicht gestartet werden`},a={title:`Blueprint`,milestone:`M{{n}}`,launchM1:`Meilenstein 1 starten`,generateNext:`M{{n}} generieren`,generateHint:`Öffnet eine im Code verankerte Spec-Session, gesät mit dem Blueprint`,generateUnavailable:`Die Meilenstein-Generierung benötigt einen nativen Nur-Lese-Modus`},o={startFailed:`Die Builder-Konversation konnte nicht gestartet werden.`,turnFailed:`Der Builder-Turn ist fehlgeschlagen.`,commitFailed:`Die Projekterstellung ist fehlgeschlagen.`},s={title:`{{label}} generieren`,inputPlaceholder:`Specs verfeinern…`,commit:`{{count}} Specs als {{label}} übernehmen`,commitToast:`{{count}} Specs als {{label}} auf das Board übernommen`,commitFailed:`Der Meilenstein konnte nicht übernommen werden`,providerUnavailable:`Die Meilenstein-Generierung ist nicht verfügbar, da dieser Anbieter keinen nativen Nur-Lese-Modus hat.`},c={title:`Projekt-Builder`,subtitle:`Der Agent baut ein neues Projekt`,exit:`Beenden`,exitConfirmTitle:`Builder verlassen?`,exitConfirmBody:`Der Builder stoppt jetzt. Dein Blueprint bleibt gespeichert – nimm ihn beim nächsten Öffnen des Builders unter „Dort weitermachen, wo du aufgehört hast“ wieder auf.`,exitConfirmCancel:`Weiterbauen`,exitConfirmDiscard:`Verwerfen und beenden`},l={surpriseMe:`Überrasch mich — schlage sinnvolle Werte für alle Blueprint-Dimensionen vor, lasse m1Specs leer und lass mich den Plan vor der Erstellung detaillierter Specs genehmigen.`,milestoneSeed:`Generiere die detaillierten Specs für Meilenstein {{label}} ("{{title}}"). Lies zuerst die echte Codebasis, validiere den vollständigen Satz und gib erst dann ALLE detaillierten Specs des Meilensteins in einer einzigen blueprint-draft-Antwort/einem einzigen Snapshot aus.`,milestoneSeedWithPlanned:`Generiere die detaillierten Specs für Meilenstein {{label}} ("{{title}}"). Geplante Spec-Titel: {{planned}}. Lies zuerst die echte Codebasis, validiere den vollständigen Satz und gib erst dann ALLE detaillierten Specs des Meilensteins in einer einzigen blueprint-draft-Antwort/einem einzigen Snapshot aus.`,repairSnapshot:`Dein letzter blueprint-draft-Block konnte von der App nicht verwendet werden ({{reason}}). Gib den VOLLSTÄNDIGEN Snapshot erneut als streng gültiges JSON aus (Zeilenumbrüche in Strings als \\n escapen, keine abschließenden Kommas, keine verschachtelten Codeblöcke) – nur den Block.`,approve:`Freigegeben — erstelle jetzt das detaillierte Backlog für Meilenstein 1.`},u={eyebrow:`{{milestone}} · Spec {{index}}`,close:`Schließen`,open:`Spec-Details ansehen`,empty:`Noch keine Beschreibung.`,summary:`Zusammenfassung`,priority:`Priorität`,description:`Spec-Beschreibung`,acceptanceCriteria:`Akzeptanzkriterien`,criteriaEmpty:`Noch keine Akzeptanzkriterien.`},d={writing:`Milestone-1-Specs werden geschrieben…`,specCount:`Spec {{n}}`,turn:`Zug {{turn}}/{{total}}`,phase:{outline:`Milestone-1-Specs werden skizziert…`,details:`Specs {{from}}–{{to}} von {{total}} werden ausformuliert…`,audit:`Alle {{total}} Specs werden geprüft…`,repair:`Specs {{from}}–{{to}} werden erneut angefordert…`}},f={title:`Bereit, die Specs zu erstellen?`,steps:{blueprint:`Blueprint freigegeben`,specs:`Specs für Meilenstein 1 generiert`,audit:`Qualitätsprüfung`},details:{blueprint:{done:`{{filled}}/{{total}} Dimensionen`,pending:`{{filled}}/{{total}} Dimensionen`,blocked:`{{filled}}/{{total}} Dimensionen`},specs:{done:`{{count}} Specs · vollständig`,pending:`{{count}} von {{min}}–{{max}}`,blocked:`{{count}} Specs · {{min}}–{{max}} nötig`,writing:`{{written}} von {{count}} geschrieben`},audit:{done:`keine Probleme`,pending:`wartet auf Specs`,blocked:`{{count}} zu beheben`,writing:`sobald die Specs geschrieben sind`}},hints:{blueprint:{pending:`Beende das Interview oder sag „überrasch mich“ – bisher {{filled}}/{{total}} Dimensionen.`,blocked:`Der Blueprint ist unvollständig.`},specs:{pending:`Gib den Blueprint frei, dann generiert der Builder das Backlog für Meilenstein 1.`,blocked:`Meilenstein 1 braucht {{min}}–{{max}} Specs (aktuell {{count}}). Bitte den Builder, das anzupassen.`,writing:`Der Builder schreibt jede Spec vollständig — die Qualitätsprüfung läuft, sobald der Stapel komplett ist.`},audit:{pending:`Wartet auf die Specs.`,blocked:`{{count}} Prüfungsproblem(e) blockieren den Commit – öffne die Liste unten.`,writing:`Die Prüfung läuft, sobald alle Specs geschrieben sind.`}},issuesCount_one:`{{count}} Prüfungsproblem`,issuesCount_other:`{{count}} Prüfungsprobleme`,askFix:`Builder um Korrektur bitten`},p={repairing:{invalid_json:`Snapshot wird repariert (der letzte Block war kein gültiges JSON)…`,truncated:`Snapshot wird erneut angefordert (die Antwort wurde abgeschnitten)…`,quality:`Builder wird gebeten, die Prüfungsprobleme zu beheben…`,automatic:`automatisch`},rejected:{title:`Der letzte Snapshot des Builders konnte nicht verwendet werden`,invalid_json:`Der Blueprint-Block war kein gültiges JSON, daher zeigt das Panel weiterhin den vorherigen Stand.`,missing_version:`Der Block war kein Blueprint-Snapshot (blueprintVersion fehlt).`,truncated:`Die Antwort wurde abgeschnitten, bevor der Block geschlossen wurde – nichts kam an.`,autoRepairFailed:`Eine automatische Reparatur wurde bereits versucht.`,retry:`Snapshot erneut anfordern`},repairedNote:`Snapshot automatisch repariert`,nothingToRepair:`Nichts zu reparieren – sprich einfach weiter mit dem Builder.`,noSession:`Diese Unterhaltung kann mit ihrem Anbieter nicht fortgesetzt werden; sende stattdessen eine neue Nachricht.`,alreadyStreaming:`Der Builder antwortet noch.`,halted:{title:`Die Spec-Generierung wurde vorzeitig gestoppt`,detail:`{{written}} von {{total}} Specs vollständig geschrieben. Der Rest besteht noch aus reinen Gliederungstiteln.`,resume:`Generierung fortsetzen`}},m={title:`Dort weitermachen, wo du aufgehört hast`,untitled:`Unbenannter Blueprint`,specsComplete:`{{count}} Specs bereit`,specsInProgress:`{{count}} Specs in Arbeit`,dimensions:`{{filled}}/{{total}} Dimensionen`,pendingIssue:`Snapshot zu reparieren`,discard:`Verwerfen`,discardConfirm:`Verwerfen bestätigen`,discardCancel:`Behalten`,resumeFailed:`Dieser Blueprint konnte nicht fortgesetzt werden.`,discardFailed:`Dieser Blueprint konnte nicht verworfen werden.`},h={batch_incomplete:`Der Builder hat den Batch noch nicht als vollständig markiert.`,spec_count:`Der Batch braucht {{min}}–{{max}} Specs (aktuell {{count}}).`,invalid_shape:`Spec {{n}} ist kein gültiges Objekt.`,invalid_kind:`Spec {{n}} braucht einen gültigen Typ (scaffold, feature oder verification).`,scaffold_first:`Die erste Spec muss das Projekt-Scaffold sein.`,duplicate_scaffold:`Spec {{n}} darf kein zweites Scaffold sein.`,title_required:`Spec {{n}} braucht einen Titel.`,title_duplicate:`Spec {{n}} wiederholt den Titel von Spec {{other}}.`,summary:`Spec {{n}} braucht eine einzeilige Zusammenfassung unter 240 Zeichen.`,invalid_priority:`Spec {{n}} braucht eine gültige Priorität.`,canonical_sections:`Spec {{n}} fehlen die fünf kanonischen Abschnitte in der richtigen Reihenfolge.`,empty_section:`Der Abschnitt „{{heading}}“ von Spec {{n}} ist leer.`,section_bullets:`Spec {{n}} braucht mindestens {{min}} Punkte unter „{{heading}}“.`,complexity_format:`Spec {{n}} braucht eine Komplexitätsstufe mit Begründung.`,scaffold_readme:`Die Scaffold-Spec muss die vorhandene README erwähnen.`,criteria_count:`Spec {{n}} braucht {{min}}–{{max}} Akzeptanzkriterien (hat {{count}}).`,criterion_quality:`Spec {{n}}, Kriterium {{criterion}}: nicht konkret genug.`,duplicate_criterion:`Spec {{n}} wiederholt Akzeptanzkriterium {{criterion}}.`,milestone_label:`Spec {{n}} braucht das Label {{label}}.`,domain_label:`Spec {{n}} braucht zusätzlich zu {{label}} ein Domänen-Label.`,invalid_dependency:`Spec {{n}} darf nur von einer früheren Spec abhängen.`,scaffold_dependency:`Die Scaffold-Spec darf keine Abhängigkeit deklarieren.`,section_depth:`Spec {{n}} braucht einen ausführlicheren Abschnitt „{{heading}}“ (mindestens {{min}} Zeichen).`},g={state:{planned:`Geplant`,committed:`Startbereit`,running:`Läuft`,delivered:`Geliefert – wartet auf Review`,done:`Fertig`},counts:`{{delivered}} von {{total}} geliefert · {{done}} fertig`,failedNote_one:`{{count}} Spec ist beim letzten Versuch fehlgeschlagen`,failedNote_other:`{{count}} Specs sind beim letzten Versuch fehlgeschlagen`,legend:{done:`Fertig`,onReview:`Im Review`,inProgress:`Läuft`,failed:`Letzter Versuch fehlgeschlagen`,todo:`Ausstehend`},rail:{fallbackName:`Rail {{n}}`,chunk:`Rail {{k}} der Kette`,running:`Läuft · {{elapsed}}`,review:`Prüfen`,open:`Rail öffnen`,noDelivery:`Noch keine Lieferung`},chain:{title:`Sequenzielle Kette`,parallelTitle:`Paralleler Start`,progress:`Rail {{k}} von {{n}}`,waiting:`wartet, bis Rail {{k}} abgeschlossen ist`,stackedOn:`das nächste Rail baut auf {{branch}} auf`,paused:`Pausiert – {{reason}}`,completed:`Alle Rails gestartet`,cancelled:`Kette abgebrochen`,resume:`Fortsetzen`,cancel:`Kette abbrechen`,resumed:`Kette fortgesetzt`,resumeFailed:`Kette konnte nicht fortgesetzt werden`,cancelledToast:`Kette abgebrochen – laufende Rails laufen weiter`,reasons:{chunk_failed:`das letzte Rail ist fehlgeschlagen`,chunk_stalled:`das letzte Rail hing (keine Provider-Ausgabe)`,chunk_stopped:`das letzte Rail wurde gestoppt`,launch_rejected:`das nächste Rail konnte nicht starten ({{detail}})`,head_missing:`der Basis-Branch existiert nicht mehr`,head_discarded:`die Lieferung, auf der das nächste Rail aufbaut, wurde verworfen`,run_lost:`das laufende Rail wurde nach einem Neustart nicht gefunden`,unknown:`pausiert`,provider_limit:`das Nutzungslimit des Anbieters ist erreicht`,rail_limit_reached:`jedes Rail hat einen PR, der auf deine Entscheidung wartet – merge oder verwirf offene PRs, um ein Rail freizugeben, und setze dann fort`},checkpoint:`Rail {{k}} von {{n}} geliefert — Rail {{next}} starten?`,launchNext:`Nächstes Rail starten`,nextLaunched:`Nächstes Rail gestartet`,autoAdvance:`Automatisch fortfahren`,autoAdvanceHint:`Startet jedes nächste Rail, sobald das vorherige geliefert ist`,checkpointHint:`Hält nach jedem Rail an und fragt vor dem nächsten Start`,checkpointNote:`hält nach diesem Rail an`,autoOn:`Automatisches Fortfahren an — die nächsten Rails starten von selbst`,autoOff:`Automatisches Fortfahren aus — vor jedem Rail wird gefragt`,autoFailed:`Kette konnte nicht aktualisiert werden`},toast:{launched:`{{milestone}} gestartet – Spec 1 von {{n}} läuft auf seinem Rail; die nächsten Specs folgen automatisch, je ein Rail`,launchedAll:`{{milestone}} gestartet – ein Spec pro Rail ({{n}} insgesamt)`,chainActive:`{{milestone}} wird bereits gestartet – siehe Blueprint-Panel`,chunkLaunched:`{{milestone}} – Rail {{k}} von {{n}} gestartet`,paused:`{{milestone}} pausiert – {{reason}}`,resume:`Fortsetzen`,delivered:`{{milestone}} geliefert – {{count}} Specs warten auf dein Review`,review:`Prüfen`,completed:`{{milestone}} abgeschlossen – alle Specs gemergt`,launchedCheckpoint:`{{milestone}} gestartet – Spec 1 von {{n}} läuft auf seinem Rail; vor jedem weiteren wird gefragt`,checkpoint:`{{milestone}} — Rail {{k}} von {{n}} geliefert. Nächstes Rail starten?`,launchNext:`Nächstes Rail starten`,autoContinue:`Automatisch weiter`,railLimitReached:`{{milestone}} konnte nicht starten – jedes Rail hat einen PR, der auf deine Entscheidung wartet. Merge oder verwirf offene PRs, um ein Rail freizugeben.`},sequentialHint:`Ein Spec pro Rail, in Abhängigkeitsreihenfolge – jedes Rail baut auf dem Branch des vorherigen Rails auf`},_={settledLabel:`Entscheidung getroffen`,surprise:{label:`Builder`,hint:`Jede Entscheidung lässt sich danach anpassen`,title:`Überrasch mich`,description:`Lass den Builder Produkt, Kernablauf, Plattform, Stack und Meilensteine festlegen und dir den Blueprint zur Freigabe oder Anpassung vorlegen.`,cta:`Überrasch mich`,settledTitle:`Überrasch mich`,settledDescription:`Du hast den Builder alle Blueprint-Dimensionen festlegen lassen.`},approve:{label:`Blueprint bereit`,hint:`Oder schreib, was du ändern möchtest`,title:`Blueprint freigeben`,description:`Alle Dimensionen sind festgelegt. Gib ihn frei und der Builder schreibt die Specs für Meilenstein 1 vollständig, jeweils zwei auf einmal, und prüft dann den Stapel.`,cta:`Freigeben und Specs erzeugen`,settledTitle:`Blueprint freigegeben`,settledDescription:`Der Builder erzeugt aus diesem Blueprint das Backlog für Meilenstein 1.`}},v={shell:e,panel:t,commit:n,progress:r,done:i,sidebar:a,errors:o,milestone:s,mode:c,prompts:l,specModal:u,generation:d,readiness:f,snapshot:p,recent:m,quality:h,milestoneProgress:g,decisionCard:_};export{n as commit,_ as decisionCard,v as default,i as done,o as errors,d as generation,s as milestone,g as milestoneProgress,c as mode,t as panel,r as progress,l as prompts,h as quality,f as readiness,m as recent,e as shell,a as sidebar,p as snapshot,u as specModal};