@penclipai/server 2026.508.2 → 2026.511.0-canary.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 (192) hide show
  1. package/dist/adapters/builtin-adapter-types.d.ts.map +1 -1
  2. package/dist/adapters/builtin-adapter-types.js +1 -0
  3. package/dist/adapters/builtin-adapter-types.js.map +1 -1
  4. package/dist/adapters/registry.d.ts.map +1 -1
  5. package/dist/adapters/registry.js +17 -0
  6. package/dist/adapters/registry.js.map +1 -1
  7. package/dist/config.js +4 -4
  8. package/dist/config.js.map +1 -1
  9. package/dist/home-paths.d.ts +8 -11
  10. package/dist/home-paths.d.ts.map +1 -1
  11. package/dist/home-paths.js +14 -67
  12. package/dist/home-paths.js.map +1 -1
  13. package/dist/routes/agents.d.ts.map +1 -1
  14. package/dist/routes/agents.js +8 -0
  15. package/dist/routes/agents.js.map +1 -1
  16. package/dist/routes/environments.d.ts.map +1 -1
  17. package/dist/routes/environments.js +8 -1
  18. package/dist/routes/environments.js.map +1 -1
  19. package/dist/routes/plugins.d.ts.map +1 -1
  20. package/dist/routes/plugins.js +6 -0
  21. package/dist/routes/plugins.js.map +1 -1
  22. package/dist/routes/projects.d.ts.map +1 -1
  23. package/dist/routes/projects.js +6 -0
  24. package/dist/routes/projects.js.map +1 -1
  25. package/dist/routes/secrets.d.ts.map +1 -1
  26. package/dist/routes/secrets.js +269 -5
  27. package/dist/routes/secrets.js.map +1 -1
  28. package/dist/secrets/aws-secrets-manager-provider.d.ts +87 -0
  29. package/dist/secrets/aws-secrets-manager-provider.d.ts.map +1 -0
  30. package/dist/secrets/aws-secrets-manager-provider.js +748 -0
  31. package/dist/secrets/aws-secrets-manager-provider.js.map +1 -0
  32. package/dist/secrets/configured-provider.d.ts +3 -0
  33. package/dist/secrets/configured-provider.d.ts.map +1 -0
  34. package/dist/secrets/configured-provider.js +8 -0
  35. package/dist/secrets/configured-provider.js.map +1 -0
  36. package/dist/secrets/external-stub-providers.d.ts.map +1 -1
  37. package/dist/secrets/external-stub-providers.js +55 -5
  38. package/dist/secrets/external-stub-providers.js.map +1 -1
  39. package/dist/secrets/local-encrypted-provider.d.ts.map +1 -1
  40. package/dist/secrets/local-encrypted-provider.js +140 -12
  41. package/dist/secrets/local-encrypted-provider.js.map +1 -1
  42. package/dist/secrets/provider-registry.d.ts +2 -1
  43. package/dist/secrets/provider-registry.d.ts.map +1 -1
  44. package/dist/secrets/provider-registry.js +6 -2
  45. package/dist/secrets/provider-registry.js.map +1 -1
  46. package/dist/secrets/types.d.ts +117 -8
  47. package/dist/secrets/types.d.ts.map +1 -1
  48. package/dist/secrets/types.js +35 -1
  49. package/dist/secrets/types.js.map +1 -1
  50. package/dist/services/access.d.ts +27 -27
  51. package/dist/services/activity.d.ts +8 -8
  52. package/dist/services/agents.d.ts +9 -9
  53. package/dist/services/approvals.d.ts +10 -10
  54. package/dist/services/assets.d.ts +3 -3
  55. package/dist/services/board-auth.d.ts +24 -24
  56. package/dist/services/environment-config.d.ts +14 -2
  57. package/dist/services/environment-config.d.ts.map +1 -1
  58. package/dist/services/environment-config.js +57 -4
  59. package/dist/services/environment-config.js.map +1 -1
  60. package/dist/services/environment-execution-target.d.ts.map +1 -1
  61. package/dist/services/environment-execution-target.js +2 -0
  62. package/dist/services/environment-execution-target.js.map +1 -1
  63. package/dist/services/environment-runtime.d.ts.map +1 -1
  64. package/dist/services/environment-runtime.js +10 -2
  65. package/dist/services/environment-runtime.js.map +1 -1
  66. package/dist/services/feedback.d.ts +4 -4
  67. package/dist/services/finance.d.ts +8 -8
  68. package/dist/services/goals.d.ts +20 -20
  69. package/dist/services/heartbeat.d.ts +24 -19
  70. package/dist/services/heartbeat.d.ts.map +1 -1
  71. package/dist/services/heartbeat.js +82 -8
  72. package/dist/services/heartbeat.js.map +1 -1
  73. package/dist/services/inbox-dismissals.d.ts +2 -2
  74. package/dist/services/issue-approvals.d.ts +2 -2
  75. package/dist/services/issue-continuation-summary.d.ts +2 -0
  76. package/dist/services/issue-continuation-summary.d.ts.map +1 -1
  77. package/dist/services/issue-continuation-summary.js +10 -0
  78. package/dist/services/issue-continuation-summary.js.map +1 -1
  79. package/dist/services/issues.d.ts +18 -18
  80. package/dist/services/plugin-environment-driver.d.ts +6 -6
  81. package/dist/services/plugin-host-services.d.ts.map +1 -1
  82. package/dist/services/plugin-host-services.js +31 -4
  83. package/dist/services/plugin-host-services.js.map +1 -1
  84. package/dist/services/plugin-local-folders.d.ts +1 -0
  85. package/dist/services/plugin-local-folders.d.ts.map +1 -1
  86. package/dist/services/plugin-local-folders.js +45 -0
  87. package/dist/services/plugin-local-folders.js.map +1 -1
  88. package/dist/services/plugin-managed-agents.d.ts.map +1 -1
  89. package/dist/services/plugin-managed-agents.js +52 -9
  90. package/dist/services/plugin-managed-agents.js.map +1 -1
  91. package/dist/services/plugin-managed-skills.d.ts +14 -0
  92. package/dist/services/plugin-managed-skills.d.ts.map +1 -0
  93. package/dist/services/plugin-managed-skills.js +264 -0
  94. package/dist/services/plugin-managed-skills.js.map +1 -0
  95. package/dist/services/plugin-registry.d.ts +79 -79
  96. package/dist/services/plugin-secrets-handler.d.ts +2 -0
  97. package/dist/services/plugin-secrets-handler.d.ts.map +1 -1
  98. package/dist/services/plugin-secrets-handler.js +17 -80
  99. package/dist/services/plugin-secrets-handler.js.map +1 -1
  100. package/dist/services/recovery/service.d.ts +61 -0
  101. package/dist/services/recovery/service.d.ts.map +1 -1
  102. package/dist/services/recovery/service.js +63 -17
  103. package/dist/services/recovery/service.js.map +1 -1
  104. package/dist/services/routines.d.ts +18 -18
  105. package/dist/services/routines.d.ts.map +1 -1
  106. package/dist/services/routines.js +36 -4
  107. package/dist/services/routines.js.map +1 -1
  108. package/dist/services/secrets.d.ts +1566 -119
  109. package/dist/services/secrets.d.ts.map +1 -1
  110. package/dist/services/secrets.js +1465 -69
  111. package/dist/services/secrets.js.map +1 -1
  112. package/package.json +17 -16
  113. package/ui-dist/assets/{_basePickBy-5H35nb2M.js → _basePickBy-B0S0WJuO.js} +1 -1
  114. package/ui-dist/assets/{_baseUniq-BqsDtPj4.js → _baseUniq-DPfwHtaX.js} +1 -1
  115. package/ui-dist/assets/{arc-F3f4deZD.js → arc-dayO-_vQ.js} +1 -1
  116. package/ui-dist/assets/{architectureDiagram-VXUJARFQ-pBm1fRMv.js → architectureDiagram-VXUJARFQ-B7gjpAgc.js} +1 -1
  117. package/ui-dist/assets/{blockDiagram-VD42YOAC-CGtc9RP7.js → blockDiagram-VD42YOAC-e0_AbQkY.js} +1 -1
  118. package/ui-dist/assets/{browser-ponyfill-CkdJVj1i.js → browser-ponyfill-D5A0IJkC.js} +1 -1
  119. package/ui-dist/assets/{c4Diagram-YG6GDRKO-BXgVj8GH.js → c4Diagram-YG6GDRKO-D5OdXvo8.js} +1 -1
  120. package/ui-dist/assets/channel-BLi0LFH0.js +1 -0
  121. package/ui-dist/assets/{chunk-4BX2VUAB-Ds1Y5IYA.js → chunk-4BX2VUAB-uWBbpQP3.js} +1 -1
  122. package/ui-dist/assets/{chunk-55IACEB6-D8GwRmXK.js → chunk-55IACEB6-CFVDvwbd.js} +1 -1
  123. package/ui-dist/assets/{chunk-B4BG7PRW-R_v5U6_B.js → chunk-B4BG7PRW-Niy3z_vf.js} +1 -1
  124. package/ui-dist/assets/{chunk-DI55MBZ5-DO4X9EFt.js → chunk-DI55MBZ5-BSFdxpNJ.js} +1 -1
  125. package/ui-dist/assets/{chunk-FMBD7UC4-DUu61Scs.js → chunk-FMBD7UC4-Npjz_-5M.js} +1 -1
  126. package/ui-dist/assets/{chunk-QN33PNHL-Bw2VuHcK.js → chunk-QN33PNHL-C2BptvDe.js} +1 -1
  127. package/ui-dist/assets/{chunk-QZHKN3VN-BMGdo5T7.js → chunk-QZHKN3VN-B_lJernK.js} +1 -1
  128. package/ui-dist/assets/{chunk-TZMSLE5B-Cj_cdifl.js → chunk-TZMSLE5B-CNK1gBxt.js} +1 -1
  129. package/ui-dist/assets/classDiagram-2ON5EDUG-DGtCZCaT.js +1 -0
  130. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-DGtCZCaT.js +1 -0
  131. package/ui-dist/assets/clone-_FFZ0Kkl.js +1 -0
  132. package/ui-dist/assets/{cose-bilkent-S5V4N54A-3YDaxa6o.js → cose-bilkent-S5V4N54A-P5AbZ8TB.js} +1 -1
  133. package/ui-dist/assets/{dagre-6UL2VRFP-CmLvQKQL.js → dagre-6UL2VRFP-Byky8_ia.js} +1 -1
  134. package/ui-dist/assets/{diagram-PSM6KHXK-vZK9KPBu.js → diagram-PSM6KHXK-fWgBJ_Sk.js} +1 -1
  135. package/ui-dist/assets/{diagram-QEK2KX5R-Bu9JBN1e.js → diagram-QEK2KX5R-Di6U-VgU.js} +1 -1
  136. package/ui-dist/assets/{diagram-S2PKOQOG-gPR1ps4Q.js → diagram-S2PKOQOG--ALJobJP.js} +1 -1
  137. package/ui-dist/assets/{erDiagram-Q2GNP2WA-BpqETGGN.js → erDiagram-Q2GNP2WA-BPLxxd-8.js} +1 -1
  138. package/ui-dist/assets/{flowDiagram-NV44I4VS-B0iV5Bcy.js → flowDiagram-NV44I4VS-DsKtnwgY.js} +1 -1
  139. package/ui-dist/assets/{ganttDiagram-JELNMOA3-BxQL_kP7.js → ganttDiagram-JELNMOA3-D-RgqRnI.js} +1 -1
  140. package/ui-dist/assets/{gitGraphDiagram-V2S2FVAM-CSsc-XDT.js → gitGraphDiagram-V2S2FVAM-B9hWxZno.js} +1 -1
  141. package/ui-dist/assets/{graph-DWnTQd3e.js → graph-BR5K_DHH.js} +1 -1
  142. package/ui-dist/assets/{index-BEfD-NrI.js → index--jhL8HjG.js} +1 -1
  143. package/ui-dist/assets/{index-C24lwrRh.js → index-3FxOnh1Q.js} +1 -1
  144. package/ui-dist/assets/{index-CqFa1_Kx.js → index-B5iG7mfQ.js} +1 -1
  145. package/ui-dist/assets/{index-DRqmQ4ym.js → index-BC-VyJRT.js} +1 -1
  146. package/ui-dist/assets/{index-mfdF2CPG.js → index-BKJKSfwf.js} +1 -1
  147. package/ui-dist/assets/{index-DNyOAFyR.js → index-BP2zDr7N.js} +1 -1
  148. package/ui-dist/assets/{index-CmZ6XLj-.js → index-BVZZDphv.js} +1 -1
  149. package/ui-dist/assets/{index-DbsPCpm_.js → index-Bi7Lez4i.js} +1 -1
  150. package/ui-dist/assets/{index-CpOa4tDv.js → index-C5zaTUz3.js} +1 -1
  151. package/ui-dist/assets/index-CJyKYByK.js +538 -0
  152. package/ui-dist/assets/index-COTa6xTk.css +1 -0
  153. package/ui-dist/assets/{index-Dt3jXp2D.js → index-CP1her1A.js} +1 -1
  154. package/ui-dist/assets/{index-h9lpZQKL.js → index-CPBqNjLU.js} +1 -1
  155. package/ui-dist/assets/{index-CxnOSxK9.js → index-CY4Sacam.js} +1 -1
  156. package/ui-dist/assets/{index-DgU-HHpm.js → index-CrCHtJt9.js} +1 -1
  157. package/ui-dist/assets/{index-C3xGHm3G.js → index-D-kP_TCS.js} +1 -1
  158. package/ui-dist/assets/{index-Bw88aPGu.js → index-D0b0bdp9.js} +1 -1
  159. package/ui-dist/assets/{index-CaFk2kgt.js → index-DDo7a1ad.js} +1 -1
  160. package/ui-dist/assets/{index-Ckh-TE03.js → index-F8dNHc7L.js} +1 -1
  161. package/ui-dist/assets/{index-DUerGXI8.js → index-GIT3T29G.js} +1 -1
  162. package/ui-dist/assets/{index-DiPyhXNL.js → index-Ii2Zu1VC.js} +1 -1
  163. package/ui-dist/assets/{index-DvOzQrgz.js → index-cAXY17Km.js} +1 -1
  164. package/ui-dist/assets/{index-CzxxXvnl.js → index-vL5R__U-.js} +1 -1
  165. package/ui-dist/assets/{index-DNgm4Hx7.js → index-xy3NppqB.js} +1 -1
  166. package/ui-dist/assets/{infoDiagram-HS3SLOUP-C9a-DRdF.js → infoDiagram-HS3SLOUP-Cw5FMQPy.js} +1 -1
  167. package/ui-dist/assets/{journeyDiagram-XKPGCS4Q-Cu752PhZ.js → journeyDiagram-XKPGCS4Q-qqubogM5.js} +1 -1
  168. package/ui-dist/assets/{kanban-definition-3W4ZIXB7-PXy7IffE.js → kanban-definition-3W4ZIXB7-BHKa2WJW.js} +1 -1
  169. package/ui-dist/assets/{layout-Ci-UJJNd.js → layout-n4Wr5yzd.js} +1 -1
  170. package/ui-dist/assets/{linear-D8Qy6J5I.js → linear-BeRJXNne.js} +1 -1
  171. package/ui-dist/assets/{mermaid.core-RTrr9erR.js → mermaid.core-DelVCbRr.js} +4 -4
  172. package/ui-dist/assets/{mindmap-definition-VGOIOE7T-Ad_ky9GS.js → mindmap-definition-VGOIOE7T-DR-YsecJ.js} +1 -1
  173. package/ui-dist/assets/{pieDiagram-ADFJNKIX-BPWjI8Sm.js → pieDiagram-ADFJNKIX-CZXfqZBG.js} +1 -1
  174. package/ui-dist/assets/{quadrantDiagram-AYHSOK5B-DxY-Cew9.js → quadrantDiagram-AYHSOK5B-BBl26L66.js} +1 -1
  175. package/ui-dist/assets/{requirementDiagram-UZGBJVZJ-BiUlKNuF.js → requirementDiagram-UZGBJVZJ-CvVYsxxA.js} +1 -1
  176. package/ui-dist/assets/{sankeyDiagram-TZEHDZUN-t3mfJhUj.js → sankeyDiagram-TZEHDZUN-BVw2uYFt.js} +1 -1
  177. package/ui-dist/assets/{sequenceDiagram-WL72ISMW-D90qw9a6.js → sequenceDiagram-WL72ISMW--kspLpct.js} +1 -1
  178. package/ui-dist/assets/{stateDiagram-FKZM4ZOC-DB70vjUm.js → stateDiagram-FKZM4ZOC-DPx02LV8.js} +1 -1
  179. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-S-NvEffl.js +1 -0
  180. package/ui-dist/assets/{timeline-definition-IT6M3QCI-CYSOqO3s.js → timeline-definition-IT6M3QCI-CyMnn5_z.js} +1 -1
  181. package/ui-dist/assets/{treemap-GDKQZRPO-QqfwsQzN.js → treemap-GDKQZRPO-DwLh53A5.js} +1 -1
  182. package/ui-dist/assets/{xychartDiagram-PRI3JC2R-DZuSZ892.js → xychartDiagram-PRI3JC2R-xX5JJ2_4.js} +1 -1
  183. package/ui-dist/index.html +2 -2
  184. package/ui-dist/locales/en/common.json +629 -0
  185. package/ui-dist/locales/zh-CN/common.json +551 -0
  186. package/ui-dist/assets/channel-BklDDvhc.js +0 -1
  187. package/ui-dist/assets/classDiagram-2ON5EDUG-gSWbQXsC.js +0 -1
  188. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-gSWbQXsC.js +0 -1
  189. package/ui-dist/assets/clone-BhrAR33H.js +0 -1
  190. package/ui-dist/assets/index-GwA57FCP.js +0 -537
  191. package/ui-dist/assets/index-RH-ttKJp.css +0 -1
  192. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-WlT0xb9j.js +0 -1
@@ -1428,6 +1428,7 @@
1428
1428
  "agentConfig.noModelDetectedEnterManually": "尚未检测到模型。请手动输入 provider/model。",
1429
1429
  "agentConfig.noModelsFound": "没有找到匹配的模型。",
1430
1430
  "agentConfig.otherGroupLabel": "其他",
1431
+ "agentConfig.envVarEditorHelp": "KEY 填写进程需要的环境变量名,例如 GH_TOKEN。选择密钥后会在运行开始时解析已保存的值。PAPERCLIP_* 变量会自动注入。",
1431
1432
  "agentConfig.paperclipEnvVarsInjectedAutomatically": "`PAPERCLIP_*` 变量会在运行时自动注入。",
1432
1433
  "agentConfig.passed": "通过",
1433
1434
  "agentConfig.permissionsAndConfiguration": "权限与配置",
@@ -1448,13 +1449,17 @@
1448
1449
  "agentConfig.searchModelsCreateHint": "搜索模型...(输入后可直接创建)",
1449
1450
  "agentConfig.seconds": "秒",
1450
1451
  "agentConfig.secret": "密钥",
1452
+ "agentConfig.secretBindingsNeedAttention": "{{count}} 个密钥绑定需要处理:",
1453
+ "agentConfig.secretBindingsRemapHint": "重新映射或重新启用前,运行会失败。",
1451
1454
  "agentConfig.secretNamePrompt": "密钥名称",
1455
+ "agentConfig.secretVersion": "版本",
1452
1456
  "agentConfig.selectCompanyToCreateSecrets": "请先选择公司,再创建密钥。",
1453
1457
  "agentConfig.selectCompanyToTestEnvironment": "请先选择公司,再检测适配器环境。",
1454
1458
  "agentConfig.selectCompanyToUploadImages": "请先选择公司,再上传图片。",
1455
1459
  "agentConfig.selectModel": "请选择模型",
1456
1460
  "agentConfig.selectModelRequired": "请选择模型(必填)",
1457
1461
  "agentConfig.selectSecret": "选择密钥...",
1462
+ "agentConfig.missingSecretOption": "缺失({{id}}...)",
1458
1463
  "agentConfig.storeValueAsSecret": "将当前值存为密钥并替换为引用",
1459
1464
  "agentConfig.testEnvironment": "检测环境",
1460
1465
  "agentConfig.testingEnvironment": "检测中...",
@@ -1899,6 +1904,14 @@
1899
1904
  "dashboard.createOneHere": "在这里创建一个",
1900
1905
  "dashboard.createOrSelectCompany": "创建或选择一家公司以查看仪表盘。",
1901
1906
  "dashboard.getStarted": "开始使用",
1907
+ "dashboardLive.activeRecentTitle": "活跃 / 最近",
1908
+ "dashboardLive.breadcrumb": "实时运行",
1909
+ "dashboardLive.createCompanyEmpty": "创建一家公司后即可查看实时运行。",
1910
+ "dashboardLive.description": "优先显示活跃运行,随后显示最近完成的运行。",
1911
+ "dashboardLive.noActiveRuns": "还没有活跃或最近的智能体运行。",
1912
+ "dashboardLive.selectCompanyEmpty": "选择一家公司以查看实时运行。",
1913
+ "dashboardLive.showingLimit": "最多显示 {{count}} 条",
1914
+ "dashboardLive.title": "实时智能体运行",
1902
1915
  "dashboard.issuesByPriority": "按优先级统计任务",
1903
1916
  "dashboard.issuesByStatus": "按状态统计任务",
1904
1917
  "dashboard.last14Days": "最近 14 天",
@@ -2752,6 +2765,33 @@
2752
2765
  "issueChat.fallbackErrorBody": "已显示安全降级的对话回退视图,避免任务页面直接崩溃。",
2753
2766
  "issueChat.emptyConversation": "这个任务对话还是空的。请从下面发送第一条消息。",
2754
2767
  "issueChat.staleDispositionWarning": "处置状态过期警告",
2768
+ "issueChat.copySystemNoticeLink": "复制链接",
2769
+ "issueChat.copySystemNoticeLinkAria": "复制系统通知链接",
2770
+ "issueChat.copySystemNoticeText": "复制通知文本",
2771
+ "issueChat.copySystemNoticeTextAria": "复制系统通知",
2772
+ "systemNotice.successfulRunHandoff.missingDispositionTitle": "缺少任务处置状态",
2773
+ "systemNotice.successfulRunHandoff.missingDispositionBody": "需要先为这个任务记录处置状态,才能继续推进。",
2774
+ "systemNotice.successfulRunHandoff.recoveryBlockedTitle": "缺少处置状态的恢复已阻塞",
2775
+ "systemNotice.successfulRunHandoff.recoveryBlockedBody": "系统无法自动补齐这个任务缺失的处置状态。该任务已阻塞,等待恢复负责人处理。",
2776
+ "systemNotice.successfulRunHandoff.requiredAction": "需要处理",
2777
+ "systemNotice.successfulRunHandoff.runEvidence": "运行依据",
2778
+ "systemNotice.successfulRunHandoff.recoveryOwner": "恢复负责人",
2779
+ "systemNotice.successfulRunHandoff.sourceIssue": "来源任务",
2780
+ "systemNotice.successfulRunHandoff.assignee": "负责人",
2781
+ "systemNotice.successfulRunHandoff.missingDisposition": "缺失处置状态",
2782
+ "systemNotice.successfulRunHandoff.validDispositions": "有效处置状态",
2783
+ "systemNotice.successfulRunHandoff.successfulRun": "成功运行",
2784
+ "systemNotice.successfulRunHandoff.runStatus": "运行状态",
2785
+ "systemNotice.successfulRunHandoff.normalizedCause": "归一化原因",
2786
+ "systemNotice.successfulRunHandoff.detectedProgress": "检测到的进展",
2787
+ "systemNotice.successfulRunHandoff.automaticRetry": "自动重试",
2788
+ "systemNotice.successfulRunHandoff.recoveryIssue": "恢复任务",
2789
+ "systemNotice.successfulRunHandoff.sourceAssignee": "来源负责人",
2790
+ "systemNotice.successfulRunHandoff.suggestedAction": "建议操作",
2791
+ "systemNotice.successfulRunHandoff.sourceRun": "来源运行",
2792
+ "systemNotice.successfulRunHandoff.correctiveHandoffRun": "修正交接运行",
2793
+ "systemNotice.successfulRunHandoff.latestIssueStatus": "最新任务状态",
2794
+ "systemNotice.successfulRunHandoff.latestHandoffRunStatus": "最新交接运行状态",
2755
2795
  "issueDocuments.historicalPreviewNotice": "这是历史版本预览。恢复后会创建一个新的最新修订,并保持历史只追加不覆盖。",
2756
2796
  "issueDocuments.revisionNumber": "修订 {{number}}",
2757
2797
  "issueDocuments.remoteChangedNotice": "你编辑期间这份文档已在远端发生变化。你的本地草稿仍会保留,自动保存也会暂停。",
@@ -2966,6 +3006,67 @@
2966
3006
  "Local CodeBuddy agent": "本地 CodeBuddy 智能体",
2967
3007
  "Local Qwen agent": "本地 Qwen 智能体",
2968
3008
  "Local Hermes CLI agent": "本地 Hermes CLI 智能体",
3009
+ "Cursor Cloud": "Cursor Cloud",
3010
+ "Managed remote Cursor agent": "托管的远程 Cursor 智能体",
3011
+ "Repository URL": "仓库 URL",
3012
+ "Git repository URL Cursor should open for this agent.": "Cursor 为该智能体打开的 Git 仓库 URL。",
3013
+ "Starting ref": "起始引用",
3014
+ "Optional branch, tag, or SHA Cursor should start from.": "Cursor 应从中开始的可选分支、标签或 SHA。",
3015
+ "Pull request URL": "PR URL",
3016
+ "Optional PR URL when attaching the agent to an existing review branch.": "当智能体附加到现有评审分支时使用的可选 PR URL。",
3017
+ "Cursor runtime": "Cursor 运行环境",
3018
+ "Cursor hosted": "Cursor 托管",
3019
+ "Self-hosted pool": "自托管池",
3020
+ "Named machine": "指定机器",
3021
+ "Choose where Cursor should execute the remote agent.": "选择 Cursor 在哪里执行远程智能体。",
3022
+ "Runtime name": "运行环境名称",
3023
+ "Optional pool or machine name when targeting a non-default runtime.": "目标不是默认运行环境时,可填写池或机器名称。",
3024
+ "Work on current branch": "在当前分支工作",
3025
+ "Tell Cursor to continue on the current branch instead of making a new one.": "让 Cursor 在当前分支继续工作,而不是创建新分支。",
3026
+ "Auto-create PR": "自动创建 PR",
3027
+ "Allow Cursor to automatically create a pull request for the work.": "允许 Cursor 为本次工作自动创建 PR。",
3028
+ "Skip reviewer request": "跳过评审请求",
3029
+ "Suppress reviewer requests on auto-created pull requests.": "自动创建 PR 时不发送评审请求。",
3030
+ "jsonSchemaForm.add": "添加",
3031
+ "jsonSchemaForm.addItem": "添加项目",
3032
+ "jsonSchemaForm.error.exclusiveMaximum": "必须小于 {{count}}",
3033
+ "jsonSchemaForm.error.exclusiveMinimum": "必须大于 {{count}}",
3034
+ "jsonSchemaForm.error.integer": "必须是整数",
3035
+ "jsonSchemaForm.error.maxItems": "最多 {{count}} 项",
3036
+ "jsonSchemaForm.error.maxLength": "最多 {{count}} 个字符",
3037
+ "jsonSchemaForm.error.maximum": "必须不大于 {{count}}",
3038
+ "jsonSchemaForm.error.minItems": "至少 {{count}} 项",
3039
+ "jsonSchemaForm.error.minLength": "至少 {{count}} 个字符",
3040
+ "jsonSchemaForm.error.minimum": "必须不小于 {{count}}",
3041
+ "jsonSchemaForm.error.multipleOf": "必须是 {{count}} 的倍数",
3042
+ "jsonSchemaForm.error.pattern": "必须匹配模式:{{pattern}}",
3043
+ "jsonSchemaForm.error.required": "此字段必填",
3044
+ "jsonSchemaForm.error.validNumber": "必须是有效数字",
3045
+ "jsonSchemaForm.hideSecret": "隐藏密钥",
3046
+ "jsonSchemaForm.itemLabel": "第 {{count}} 项",
3047
+ "jsonSchemaForm.noConfigurationOptions": "没有可配置选项。",
3048
+ "jsonSchemaForm.noItems": "还没有添加项目。",
3049
+ "jsonSchemaForm.removeItem": "移除项目",
3050
+ "jsonSchemaForm.secretDescription": "此密钥会通过 Paperclip CN 密钥提供方安全存储。",
3051
+ "jsonSchemaForm.selectOption": "选择一个选项",
3052
+ "jsonSchemaForm.showSecret": "显示密钥",
3053
+ "First-party sandbox provider plugin that provisions Daytona sandboxes as Paperclip execution environments.": "第一方沙箱提供方插件,用于把 Daytona 沙箱配置为 Paperclip CN 执行环境。",
3054
+ "Provisions Daytona sandboxes with configurable image or snapshot selection, startup timeouts, and lease reuse.": "创建 Daytona 沙箱,并支持配置镜像或快照、启动超时和租约复用。",
3055
+ "Environment-specific Daytona API key. Paste a key or an existing Paperclip secret reference; saved environments store pasted values as company secrets. Falls back to DAYTONA_API_KEY if omitted.": "当前环境专用的 Daytona API 密钥。可粘贴密钥,也可填写已有 Paperclip CN 密钥引用;保存环境时,粘贴的值会作为公司密钥保存。留空时回退到 DAYTONA_API_KEY。",
3056
+ "Optional Daytona API base URL. If omitted, the Daytona SDK uses its configured default endpoint.": "可选 Daytona API 基础 URL。留空时,Daytona SDK 会使用其默认端点。",
3057
+ "Optional Daytona target/region identifier.": "可选 Daytona 目标/区域标识。",
3058
+ "Optional Daytona snapshot name to start from.": "可选的 Daytona 起始快照名称。",
3059
+ "Optional base image or Daytona Image reference. If set, the sandbox is created from this image instead of a snapshot.": "可选的基础镜像或 Daytona Image 引用。设置后,沙箱会从该镜像创建,而不是从快照创建。",
3060
+ "Optional Daytona language hint for direct code execution. If omitted, Daytona uses its default runtime.": "可选 Daytona 语言提示,用于直接执行代码。留空时,Daytona 会使用默认运行时。",
3061
+ "Optional CPU allocation in cores.": "可选 CPU 配额(核数)。",
3062
+ "Optional memory allocation in GiB.": "可选内存配额(GiB)。",
3063
+ "Optional disk allocation in GiB.": "可选磁盘配额(GiB)。",
3064
+ "Optional GPU allocation in units.": "可选 GPU 配额(单位数)。",
3065
+ "Timeout for Daytona create/start/stop/execute operations in milliseconds.": "Daytona 创建、启动、停止和执行操作的超时时间(毫秒)。",
3066
+ "Optional Daytona auto-stop interval in minutes. `0` disables auto-stop.": "可选 Daytona 自动停止间隔(分钟)。`0` 表示禁用自动停止。",
3067
+ "Optional Daytona auto-archive interval in minutes. `0` uses Daytona's max interval.": "可选 Daytona 自动归档间隔(分钟)。`0` 表示使用 Daytona 的最大间隔。",
3068
+ "Optional Daytona auto-delete interval in minutes. `-1` disables auto-delete and `0` deletes immediately after stop.": "可选 Daytona 自动删除间隔(分钟)。`-1` 表示禁用自动删除,`0` 表示停止后立即删除。",
3069
+ "Whether to stop and later resume the sandbox across runs instead of deleting it on release.": "是否在多次运行之间停止并稍后恢复沙箱,而不是在释放时删除。",
2969
3070
  "Session strategy": "会话策略",
2970
3071
  "Fixed": "固定",
2971
3072
  "Per issue": "按任务",
@@ -3244,6 +3345,7 @@
3244
3345
  "Danger Zone": "危险区域",
3245
3346
  "Select a company to create secrets": "请先选择公司再创建密钥",
3246
3347
  "Invites": "邀请",
3348
+ "Secrets": "密钥",
3247
3349
  "View profile": "查看资料",
3248
3350
  "Open your activity, task, and usage ledger.": "查看你的活动、任务和使用情况台账。",
3249
3351
  "Workspaces": "工作区",
@@ -3524,6 +3626,8 @@
3524
3626
  "companySettings.hostHint": "远程机器的 DNS 名称或 IP 地址。",
3525
3627
  "companySettings.knownHosts": "Known hosts",
3526
3628
  "companySettings.knownHostsHint": "启用严格主机密钥检查时使用的可选 known_hosts 内容。",
3629
+ "companySettings.installedSandboxProvidersLabel": "已安装的沙盒提供方",
3630
+ "companySettings.installedSandboxProvidersDescription": "它们不是适配器类型,而是为支持沙盒执行的适配器提供 Sandbox 驱动。",
3527
3631
  "companySettings.noEnvironments": "此公司尚未保存环境。",
3528
3632
  "companySettings.noSavedSecret": "未选择已保存密钥",
3529
3633
  "companySettings.port": "端口",
@@ -3539,6 +3643,7 @@
3539
3643
  "companySettings.sandboxNoExtraFields": "此提供方没有额外配置字段。",
3540
3644
  "companySettings.sandboxProvider": "沙盒提供方",
3541
3645
  "companySettings.sandboxProviderHint": "用于创建隔离执行目标的沙盒插件提供方。",
3646
+ "companySettings.sandboxViaPlugin": "插件沙盒",
3542
3647
  "companySettings.sshHostFallback": "SSH 主机",
3543
3648
  "companySettings.sshUserFallback": "用户",
3544
3649
  "companySettings.strictHostKeyChecking": "严格主机密钥检查",
@@ -3832,6 +3937,452 @@
3832
3937
  "runRetryState.reason.transientFailure": "暂时性失败",
3833
3938
  "runRetryState.retriedRun": "已重试运行",
3834
3939
  "runRetryState.retryExhausted": "重试已耗尽",
3940
+ "Agent sort": "智能体排序",
3941
+ "Agents section actions": "智能体分区操作",
3942
+ "Alphabetical": "按字母",
3943
+ "Browse agents": "浏览智能体",
3944
+ "Browse projects": "浏览项目",
3945
+ "Collapse {{label}}": "折叠{{label}}",
3946
+ "Expand {{label}}": "展开{{label}}",
3947
+ "Project paused by budget": "项目已因预算暂停",
3948
+ "Project sort": "项目排序",
3949
+ "Projects section actions": "项目分区操作",
3950
+ "Resize sidebar": "调整侧边栏宽度",
3951
+ "Top": "置顶",
3952
+ "{{label}} actions": "{{label}}操作",
3953
+ "common.activate": "启用",
3954
+ "common.archive": "归档",
3955
+ "common.back": "返回",
3956
+ "common.clear": "清除",
3957
+ "common.default": "默认",
3958
+ "common.defaultParenthetical": "(默认)",
3959
+ "common.delete": "删除",
3960
+ "common.description": "描述",
3961
+ "common.disable": "禁用",
3962
+ "common.done": "完成",
3963
+ "common.filter": "筛选",
3964
+ "common.filters": "筛选器",
3965
+ "common.loadingEllipsis": "加载中...",
3966
+ "common.name": "名称",
3967
+ "common.open": "打开",
3968
+ "common.optionalParenthetical": "(可选)",
3969
+ "common.retry": "重试",
3970
+ "common.status": "状态",
3971
+ "common.tryAgain": "请重试",
3972
+ "common.unarchive": "取消归档",
3973
+ "common.unexpectedError": "发生未知错误",
3974
+ "relative.daysAgoShort": "{{count}} 天前",
3975
+ "relative.hoursAgoShort": "{{count}} 小时前",
3976
+ "relative.minutesAgoShort": "{{count}} 分钟前",
3977
+ "relative.secondsAgoShort": "{{count}} 秒前",
3978
+ "status.comingSoon": "即将推出",
3979
+ "status.deleted": "已删除",
3980
+ "status.disabled": "已禁用",
3981
+ "status.ready": "就绪",
3982
+ "status.warning": "警告",
3983
+ "secretBindingPicker.boundTo": "已绑定到 {{version}} · {{key}}",
3984
+ "secretBindingPicker.createAndBind": "创建并绑定",
3985
+ "secretBindingPicker.createNewSecret": "新建密钥",
3986
+ "secretBindingPicker.createSecret": "创建密钥",
3987
+ "secretBindingPicker.descriptionPlaceholder": "可选备注(不要填写密钥值)",
3988
+ "secretBindingPicker.emptyHint": "没有匹配的密钥。创建一个并在此绑定。",
3989
+ "secretBindingPicker.externalProvider": "外部 · {{provider}}",
3990
+ "secretBindingPicker.latest": "最新",
3991
+ "secretBindingPicker.missingSecret": "缺失密钥({{id}}...)",
3992
+ "secretBindingPicker.selectedSecretMissing": "之前选择的密钥已不可用。请选择其他密钥或移除绑定。",
3993
+ "secretBindingPicker.statusPrefix": "状态:{{status}}。",
3994
+ "secretBindingPicker.valueHelp": "密钥值只会保存一次,之后不会再次显示。需要替换时请轮换。",
3995
+ "secretBindingPicker.valuePlaceholder": "粘贴密钥值",
3996
+ "secrets.accessEvents": "访问事件",
3997
+ "secrets.addVault": "添加密钥库",
3998
+ "secrets.address": "地址",
3999
+ "secrets.allProviders": "所有提供方",
4000
+ "secrets.allStatuses": "所有状态",
4001
+ "secrets.autoFromName": "根据名称自动生成",
4002
+ "secrets.awsManagedPath": "AWS 托管路径:",
4003
+ "secrets.awsRegion": "AWS 区域",
4004
+ "secrets.awsVaultDisabledManage": "AWS 密钥库已禁用 - 管理",
4005
+ "secrets.checkHealth": "检查健康状态",
4006
+ "secrets.configureAwsVaultToImport": "配置 AWS 提供方密钥库以启用远程导入",
4007
+ "secrets.createDescription": "选择由 Paperclip 负责后续提供方写入,还是仅在运行时解析已有提供方引用。",
4008
+ "secrets.createProviderVault": "创建提供方密钥库",
4009
+ "secrets.createSecret": "创建密钥",
4010
+ "secrets.createVault": "创建密钥库",
4011
+ "secrets.custody": "保管方式",
4012
+ "secrets.defaultForProvider": "{{provider}} 的默认项",
4013
+ "secrets.defaultVault": "默认密钥库",
4014
+ "secrets.deleteSecret": "删除密钥",
4015
+ "secrets.deleteSecretDescriptionPrefix": "将永久移除",
4016
+ "secrets.deleteSecretDescriptionSuffix": "在重新映射之前,活跃绑定会失败。",
4017
+ "secrets.deploymentDefault": "部署默认项",
4018
+ "secrets.deploymentDefaultCompatibility": "使用部署默认项会保留现有消费者的提供方路由行为。",
4019
+ "secrets.descriptionPlaceholder": "这个密钥用于什么?(不要填写密钥值)",
4020
+ "secrets.details": "详情",
4021
+ "secrets.displayName": "显示名称",
4022
+ "secrets.displayNamePlaceholder": "生产环境本地密钥库",
4023
+ "secrets.editProviderVault": "编辑提供方密钥库",
4024
+ "secrets.empty": "还没有密钥。创建第一个托管密钥或链接外部引用。",
4025
+ "secrets.environmentTag": "环境标签",
4026
+ "secrets.externalOnlyParenthetical": "(仅外部引用)",
4027
+ "secrets.externalReference": "外部引用",
4028
+ "secrets.externalReferenceHelp": "指向已有的提供方密钥。Paperclip 只保存元数据。",
4029
+ "secrets.failedToLoad": "加载密钥失败:",
4030
+ "secrets.failedToLoadProviderVaults": "加载提供方密钥库失败:",
4031
+ "secrets.filtersCount": "筛选:{{count}}",
4032
+ "secrets.healthNotChecked": "尚未检查健康状态",
4033
+ "secrets.healthStatusCheckedAt": "健康状态 {{status}} · {{time}}",
4034
+ "secrets.health.awsBackupMetadata": "请将 Paperclip 元数据与 AWS 托管密钥分开备份。",
4035
+ "secrets.health.awsCredentialCustodyWarning": "不要把 AWS root 凭据或长期 IAM 用户访问密钥存入 Paperclip company_secrets;AWS 提供方的启动凭据应放在部署基础设施、进程环境、AWS profile 或编排器密钥存储中。",
4036
+ "secrets.health.awsManagedCallsFailUntilConfigured": "在 AWS 提供方配置完成前,托管密钥的创建、轮换和解析调用都会失败。",
4037
+ "secrets.health.awsMissingConfig": "AWS Secrets Manager 提供方尚未就绪:缺少 {{names}}。",
4038
+ "secrets.health.awsMissingProviderConfig": "缺少必需的非密钥 AWS 提供方配置:{{names}}。",
4039
+ "secrets.health.awsRestoreRequirements": "恢复访问需要 Paperclip 数据库,以及相同的 AWS 密钥命名空间和 KMS 权限。",
4040
+ "secrets.health.awsRuntimeCredentialWarning": "Paperclip 服务器运行时必须能通过 AWS SDK 默认凭据链获取 AWS 启动凭据:IAM role/workload identity、AWS_PROFILE/SSO/shared credentials、web identity、容器/实例元数据或短期 shell 凭据。",
4041
+ "secrets.health.backupConfiguredMasterKey": "请将已配置的主密钥与数据库分开备份。",
4042
+ "secrets.health.backupKeyFileWithDatabase": "请将密钥文件与数据库备份一起备份。",
4043
+ "secrets.health.databaseAloneCannotRestore": "仅靠数据库无法恢复本地加密密钥值。",
4044
+ "secrets.health.externalReferencesMetadataOnly": "已链接的外部引用可以保存为元数据,但在此提供方配置完成前,运行时解析会失败。",
4045
+ "secrets.health.externalRuntimeNotConfigured": "{{provider}} 提供方可用于外部引用,但尚未配置运行时解析。",
4046
+ "secrets.health.invalidMasterKey": "PAPERCLIP_SECRETS_MASTER_KEY 无效;应为 32 字节 base64、64 字符 hex,或原始 32 字符字符串",
4047
+ "secrets.health.localFirstWriteCreatesKey": "第一次写入托管密钥时会以 0600 权限创建此密钥文件。",
4048
+ "secrets.health.localKeyFileMissing": "密钥文件尚不存在:{{path}}",
4049
+ "secrets.health.localUsingEnvKey": "本地加密提供方正在使用 PAPERCLIP_SECRETS_MASTER_KEY",
4050
+ "secrets.health.restoreNeedsDatabaseAndKey": "恢复需要数据库元数据以及同一个主密钥。",
4051
+ "secrets.howToUseChoose": "选择",
4052
+ "secrets.howToUseResolution": "运行开始时,Paperclip 会在服务端解析密钥值,并将它注入为对应环境变量。项目环境变量会应用到该项目的所有任务,并覆盖同名智能体环境变量。",
4053
+ "secrets.howToUseSelectVersion": "并选择已保存的密钥版本。",
4054
+ "secrets.howToUseStep": "在这里创建或链接密钥,然后打开智能体的环境变量,或项目的 Env 字段。添加进程需要的环境变量键,例如",
4055
+ "secrets.howToUseTitle": "通过把密钥绑定到运行时环境变量来使用它。",
4056
+ "secrets.importFromVault": "从密钥库导入",
4057
+ "secrets.key": "键",
4058
+ "secrets.kmsKeyId": "KMS key id",
4059
+ "secrets.lastResolved": "上次解析",
4060
+ "secrets.lastRotated": "上次轮换",
4061
+ "secrets.latestVersion": "最新版本",
4062
+ "secrets.linkReference": "链接引用",
4063
+ "secrets.linkedProviderReference": "已链接的提供方引用",
4064
+ "secrets.loadingProviderVaults": "正在加载提供方密钥库",
4065
+ "secrets.localEncryptedBackupWarning": "我理解备份和恢复同时需要数据库元数据以及本地加密主密钥文件。",
4066
+ "secrets.location": "位置",
4067
+ "secrets.makeDefault": "设为默认",
4068
+ "secrets.managedValue": "托管值",
4069
+ "secrets.mode": "模式",
4070
+ "secrets.mode.linkedExternal": "已链接外部引用",
4071
+ "secrets.mode.linkedExternalDescription": "Paperclip 会解析这个提供方引用,但不会轮换提供方里的密钥值。",
4072
+ "secrets.mode.paperclipManaged": "Paperclip 托管",
4073
+ "secrets.mode.paperclipManagedDescription": "Paperclip 负责为这个提供方密钥创建和轮换写入。",
4074
+ "secrets.mountPath": "挂载路径",
4075
+ "secrets.namespace": "命名空间",
4076
+ "secrets.neverRedisplaysValues": "Paperclip 不会再次显示已存储的密钥值。",
4077
+ "secrets.newSecret": "新建密钥",
4078
+ "secrets.newValue": "新值",
4079
+ "secrets.newValuePlaceholder": "粘贴新的密钥值",
4080
+ "secrets.noAccessEvents": "暂无访问事件。运行解析此密钥后会显示在这里。",
4081
+ "secrets.noActiveBindings": "还没有活跃绑定引用此密钥。",
4082
+ "secrets.noCompanyVaults": "还没有公司专属密钥库。密钥仍可使用部署默认提供方设置。",
4083
+ "secrets.noFilterMatches": "没有密钥匹配当前筛选。",
4084
+ "secrets.notConfiguredParenthetical": "(未配置)",
4085
+ "secrets.notYetSupported": "暂不支持。",
4086
+ "secrets.optionalSuffix": "· 可选",
4087
+ "secrets.owned": "自有",
4088
+ "secrets.ownerTag": "所有者标签",
4089
+ "secrets.paperclipManagedHelp": "Paperclip 会创建并轮换这个提供方密钥。",
4090
+ "secrets.projectId": "项目 ID",
4091
+ "secrets.provider": "提供方",
4092
+ "secrets.provider.localEncryptedDefault": "本地加密(默认)",
4093
+ "secrets.providerComingSoonHelp": "此提供方可以保存草稿路由元数据,但在提供方模块实现并通过评审前,运行时写入和解析仍会保持禁用。",
4094
+ "secrets.providerBlock.externalUnsupported": "{{provider}} 不支持已链接的外部引用。",
4095
+ "secrets.providerBlock.healthCheckFailed": "{{provider}} 健康检查失败:{{message}}",
4096
+ "secrets.providerBlock.managedUnsupported": "{{provider}} 不支持 Paperclip 托管密钥值。",
4097
+ "secrets.providerBlock.notConfigured": "{{provider}} 在此部署中尚未配置。",
4098
+ "secrets.providerBlock.notConfiguredWithMessage": "{{provider}} 在此部署中尚未配置。{{message}}",
4099
+ "secrets.providerBlock.selectProvider": "请选择提供方。",
4100
+ "secrets.providerBlock.vaultDisabled": "此提供方密钥库已禁用。",
4101
+ "secrets.providerBlock.vaultDraftOnly": "此提供方密钥库仅保存为草稿元数据。",
4102
+ "secrets.providerBlock.vaultHealthCheckFailed": "此提供方密钥库健康检查失败。",
4103
+ "secrets.providerManagedPath": "提供方托管路径",
4104
+ "secrets.providerVault": "提供方密钥库",
4105
+ "secrets.providerVaultDialogDescription": "配置 Paperclip 为此公司读取或写入提供方托管密钥的位置。",
4106
+ "secrets.providerVaults": "提供方密钥库",
4107
+ "secrets.reference": "引用",
4108
+ "secrets.referenceCountDescription": "{{name}} 被 {{count}} 处引用。",
4109
+ "secrets.references": "引用",
4110
+ "secrets.requiredSuffix": "· 必填",
4111
+ "secrets.rotateExternalReferenceHelp": "请先在提供方中轮换真实密钥值,再修改这个 Paperclip 引用。",
4112
+ "secrets.rotateWithDefaultHelp": "使用部署默认项轮换会保留当前回退行为。",
4113
+ "secrets.saveVault": "保存密钥库",
4114
+ "secrets.searchAria": "搜索密钥",
4115
+ "secrets.searchPlaceholder": "按名称、键、提供方或引用搜索密钥",
4116
+ "secrets.secretNamePrefix": "密钥名称前缀",
4117
+ "secrets.secretPathPrefix": "密钥路径前缀",
4118
+ "secrets.secretReferences": "密钥引用",
4119
+ "secrets.selectCompany": "选择一个公司来管理密钥。",
4120
+ "secrets.selectSecretFirst": "请先选择密钥",
4121
+ "secrets.toast.defaultUpdateFailed": "更新默认密钥库失败",
4122
+ "secrets.toast.defaultVaultSet": "已设置默认密钥库",
4123
+ "secrets.toast.deleteFailed": "删除失败",
4124
+ "secrets.toast.disableFailed": "禁用失败",
4125
+ "secrets.toast.healthCheckFailed": "健康检查失败",
4126
+ "secrets.toast.healthChecked": "健康检查完成",
4127
+ "secrets.toast.providerVaultCreated": "已创建提供方密钥库",
4128
+ "secrets.toast.providerVaultDisabled": "已禁用提供方密钥库",
4129
+ "secrets.toast.providerVaultUpdated": "已更新提供方密钥库",
4130
+ "secrets.toast.rotateFailed": "轮换失败",
4131
+ "secrets.toast.rotated": "已轮换",
4132
+ "secrets.toast.secretCreated": "已创建密钥",
4133
+ "secrets.toast.secretDeleted": "已删除密钥",
4134
+ "secrets.toast.secretStatusUpdated": "密钥已{{status}}",
4135
+ "secrets.toast.statusUpdateFailed": "状态更新失败",
4136
+ "secrets.unknownVault": "未知密钥库",
4137
+ "secrets.updateExternalReference": "更新外部引用",
4138
+ "secrets.updateExternalReferenceDescription": "创建一个新的 Paperclip 元数据版本,指向已有提供方密钥。Paperclip 不会写入新的提供方密钥值。",
4139
+ "secrets.updateReference": "更新引用",
4140
+ "secrets.updateSecretValue": "更新密钥值",
4141
+ "secrets.updateSecretValueDescription": "创建一个新的提供方托管版本。固定到最新版本的消费者会在下次运行时使用新值。",
4142
+ "secrets.updateValue": "更新值",
4143
+ "secrets.updatedReferencePlaceholder": "更新后的引用",
4144
+ "secrets.usage": "使用情况",
4145
+ "secrets.usageWithCount": "使用情况({{count}})",
4146
+ "secrets.value": "值",
4147
+ "secrets.valuePlaceholder": "只保存一次,不会再次显示",
4148
+ "secrets.vault": "密钥库",
4149
+ "secrets.viewReferencesFor": "查看 {{name}} 的引用",
4150
+ "secretsImport.allImported": "已导入全部 {{count}} 个密钥",
4151
+ "secretsImport.alreadyImported": "已导入",
4152
+ "secretsImport.awsDeniedListAccess": "AWS 拒绝列表访问",
4153
+ "secretsImport.awsThrottledListing": "AWS 对列表请求进行了限流",
4154
+ "secretsImport.blockedCount": "{{count}} 个已阻塞",
4155
+ "secretsImport.closeDialog": "关闭导入弹框",
4156
+ "secretsImport.continueToReview": "继续到评审",
4157
+ "secretsImport.couldNotLoadRemoteSecrets": "无法加载远程密钥",
4158
+ "secretsImport.created": "已创建",
4159
+ "secretsImport.createdCount": "已创建 {{count}} 个",
4160
+ "secretsImport.description": "将 AWS 托管密钥作为外部引用导入 Paperclip。",
4161
+ "secretsImport.descriptionOptional": "描述(可选)",
4162
+ "secretsImport.discardPendingImports": "丢弃 {{count}} 个待导入项?",
4163
+ "secretsImport.failed": "失败",
4164
+ "secretsImport.failedCount": "{{count}} 个失败",
4165
+ "secretsImport.iamReference": "IAM 参考",
4166
+ "secretsImport.importCount": "导入 {{count}} 个",
4167
+ "secretsImport.importing": "正在导入...",
4168
+ "secretsImport.lastChanged": "上次变更",
4169
+ "secretsImport.loadMore": "再加载 {{count}} 个",
4170
+ "secretsImport.loadedCount": "已加载 {{count}} 个",
4171
+ "secretsImport.manageVaults": "管理密钥库",
4172
+ "secretsImport.missingListSecretsPermission": "此密钥库背后的 AWS principal 缺少 secretsmanager:ListSecrets。请更新 IAM 后重试。",
4173
+ "secretsImport.needAttentionCount": "{{count}} 个需要处理后才能导入",
4174
+ "secretsImport.noAwsVault": "未配置 AWS 提供方密钥库。添加一个即可导入密钥。",
4175
+ "secretsImport.noRemoteSecretsMatch": "没有远程密钥匹配“{{query}}”。",
4176
+ "secretsImport.noSecretsSelected": "未选择密钥。返回选择要导入的远程密钥。",
4177
+ "secretsImport.noSecretsVisible": "此密钥库没有可见密钥。",
4178
+ "secretsImport.paperclipName": "Paperclip 名称",
4179
+ "secretsImport.readyCount": "{{count}} 个就绪",
4180
+ "secretsImport.readyToImportCount": "{{count}} 个密钥可导入",
4181
+ "secretsImport.refreshRemoteSecrets": "刷新远程密钥",
4182
+ "secretsImport.remoteName": "远程名称",
4183
+ "secretsImport.removeRemoteSecret": "移除 {{name}}",
4184
+ "secretsImport.requestFailed": "请求失败:{{status}}",
4185
+ "secretsImport.searchPlaceholder": "按名称、ARN、标签搜索",
4186
+ "secretsImport.searchRemoteSecrets": "搜索远程密钥",
4187
+ "secretsImport.selectAllLoaded": "选择已加载的全部({{count}})",
4188
+ "secretsImport.selectAwsVault": "选择 AWS 密钥库",
4189
+ "secretsImport.selectRemoteSecret": "选择 {{name}}",
4190
+ "secretsImport.selectRemoteSecretsToImport": "选择要导入的远程密钥",
4191
+ "secretsImport.selectableCount": "{{count}} 个可选",
4192
+ "secretsImport.selectedCount": "已选择 {{count}} 个",
4193
+ "secretsImport.selectedHiddenBySearch": "已选择 {{selected}} 个 · 当前搜索下隐藏 {{hidden}} 个",
4194
+ "secretsImport.showAll": "显示全部",
4195
+ "secretsImport.showSelected": "只看已选",
4196
+ "secretsImport.skipped": "已跳过",
4197
+ "secretsImport.skippedCount": "已跳过 {{count}} 个",
4198
+ "secretsImport.state": "状态",
4199
+ "secretsImport.status.conflict": "冲突",
4200
+ "secretsImport.status.imported": "已导入",
4201
+ "secretsImport.status.ready": "就绪",
4202
+ "secretsImport.step.result": "结果",
4203
+ "secretsImport.step.review": "评审",
4204
+ "secretsImport.step.select": "选择",
4205
+ "secretsImport.suggestedName": "建议名称",
4206
+ "secretsImport.title": "从 AWS Secrets Manager 导入",
4207
+ "secretsImport.toast.importComplete": "导入完成",
4208
+ "secretsImport.toast.importCompletedWithErrors": "导入完成但有错误",
4209
+ "secretsImport.toast.importCounts": "已创建 {{created}} 个 · 已跳过 {{skipped}} 个 · 失败 {{failed}} 个",
4210
+ "secretsImport.toast.importFailed": "导入失败",
4211
+ "secretsImport.toast.loadMoreFailed": "无法加载更多结果",
4212
+ "secretsImport.toast.noneImportedFromVault": "没有从 {{vault}} 导入任何密钥。",
4213
+ "secretsImport.validation.batchKeyExists": "本批次中已有另一行使用这个键。",
4214
+ "secretsImport.validation.batchNameExists": "本批次中已有另一行使用这个名称。",
4215
+ "secretsImport.validation.descriptionTooLong": "描述必须不超过 500 个字符。",
4216
+ "secretsImport.validation.keyExists": "已有 Paperclip 密钥使用这个键。",
4217
+ "secretsImport.validation.keyPattern": "键只能包含小写字母、数字、点、下划线或连字符。",
4218
+ "secretsImport.validation.keyRequired": "键为必填项。",
4219
+ "secretsImport.validation.keyTooLong": "键必须不超过 120 个字符。",
4220
+ "secretsImport.validation.nameExists": "已有 Paperclip 密钥使用这个名称。",
4221
+ "secretsImport.validation.nameRequired": "名称为必填项。",
4222
+ "secretsImport.validation.nameTooLong": "名称必须不超过 160 个字符。",
4223
+ "common.unavailable": "不可用",
4224
+ "common.unknown": "未知",
4225
+ "issueContinuationHandoff.badge": "交接",
4226
+ "issueContinuationHandoff.collapse": "折叠延续交接",
4227
+ "issueContinuationHandoff.expand": "展开延续交接",
4228
+ "issueContinuationHandoff.revisionSuffix": " - 修订 {{count}}",
4229
+ "issueContinuationHandoff.title": "延续交接",
4230
+ "issueContinuationHandoff.updated": "更新于 {{time}}",
4231
+ "issueProperties.clearAdapterOptions": "清除适配器选项",
4232
+ "issueProperties.customAdapterOptions": "自定义适配器选项",
4233
+ "issueProperties.customAdapterOptionsWithDetails": "自定义 · {{details}}",
4234
+ "issueProperties.defaultModel": "默认模型",
4235
+ "issueProperties.enableChromeFlag": "启用 Chrome(--chrome)",
4236
+ "issueProperties.noEditableIssueOverrides": "此指派对象的适配器不支持编辑任务级覆盖。",
4237
+ "issueProperties.noModelsFound": "未找到模型。",
4238
+ "issueProperties.primaryModel": "主模型",
4239
+ "issueProperties.searchModels": "搜索模型...",
4240
+ "issueProperties.selectCompatibleAssigneeForOverrides": "选择兼容的智能体指派对象来编辑这些覆盖项。",
4241
+ "issueRunLedger.ariaLabel": "任务运行账本",
4242
+ "issueRunLedger.byAgent": "由 {{agentName}} 运行",
4243
+ "issueRunLedger.childWork": "子任务",
4244
+ "issueRunLedger.childWorkAllTerminal": "全部 {{total}} 个已结束({{done}} 个完成,{{cancelled}} 个已取消)",
4245
+ "issueRunLedger.childWorkSummary": "{{active}} 个活跃,{{done}} 个完成,{{cancelled}} 个已取消",
4246
+ "issueRunLedger.continuationAttempt": "延续尝试 {{count}}",
4247
+ "issueRunLedger.elapsed": "耗时",
4248
+ "issueRunLedger.emptyHistoricalRuns": "关联到此任务后,缺少活跃性元数据的历史运行会显示在这里。",
4249
+ "issueRunLedger.emptyRunsAndActivity": "此任务产生历史后,运行和活动会显示在这里。",
4250
+ "issueRunLedger.exhausted": "已耗尽",
4251
+ "issueRunLedger.lastUsefulAction": "最近有效操作",
4252
+ "issueRunLedger.lastUsefulAction.noActionRecordedYet": "尚未记录操作",
4253
+ "issueRunLedger.lastUsefulAction.noConcreteAction": "没有具体操作",
4254
+ "issueRunLedger.lastUsefulAction.noUsefulOutput": "没有有效输出",
4255
+ "issueRunLedger.lastUsefulAction.noneRecorded": "未记录",
4256
+ "issueRunLedger.lastUsefulAction.waitingForNextAttempt": "等待下一次尝试",
4257
+ "issueRunLedger.latestRun": "最新运行",
4258
+ "issueRunLedger.live": "实时",
4259
+ "issueRunLedger.liveness.advanced": "有进展",
4260
+ "issueRunLedger.liveness.advancedDescription": "运行产生了具体进展证据。",
4261
+ "issueRunLedger.liveness.blocked": "已阻塞",
4262
+ "issueRunLedger.liveness.blockedDescription": "运行或任务声明了阻塞项。",
4263
+ "issueRunLedger.liveness.checksAfterFinish": "结束后检查",
4264
+ "issueRunLedger.liveness.checksAfterFinishDescription": "运行结束后会评估活跃性。",
4265
+ "issueRunLedger.liveness.completed": "已完成",
4266
+ "issueRunLedger.liveness.completedDescription": "任务已进入终态。",
4267
+ "issueRunLedger.liveness.emptyResponse": "空响应",
4268
+ "issueRunLedger.liveness.emptyResponseDescription": "运行结束时没有有效输出。",
4269
+ "issueRunLedger.liveness.failed": "失败",
4270
+ "issueRunLedger.liveness.failedDescription": "运行未成功结束。",
4271
+ "issueRunLedger.liveness.needsFollowup": "需要跟进",
4272
+ "issueRunLedger.liveness.needsFollowupDescription": "运行产生了有用输出,但未证明有具体进展。",
4273
+ "issueRunLedger.liveness.noLivenessData": "无活跃性数据",
4274
+ "issueRunLedger.liveness.noLivenessDataDescription": "此运行没有持久化的活跃性分类。",
4275
+ "issueRunLedger.liveness.planOnly": "仅规划",
4276
+ "issueRunLedger.liveness.planOnlyDescription": "运行描述了后续工作,但没有具体操作证据。",
4277
+ "issueRunLedger.liveness.retryPending": "重试待处理",
4278
+ "issueRunLedger.liveness.retryPendingDescription": "Paperclip 已排队一个尚未开始的自动重试。",
4279
+ "issueRunLedger.livenessReason.concreteActionEvidence": "运行产生了具体操作证据:{{evidence}}",
4280
+ "issueRunLedger.livenessReason.concreteBlocker": "运行输出声明了具体阻塞项",
4281
+ "issueRunLedger.livenessReason.futureWorkNotSafeToAutoContinue": "运行描述了不适合自动继续的后续工作",
4282
+ "issueRunLedger.livenessReason.futureWorkWithoutEvidence": "运行描述了可执行的后续工作,但没有具体操作证据",
4283
+ "issueRunLedger.livenessReason.issueIsDone": "任务已完成",
4284
+ "issueRunLedger.livenessReason.issueStatusBlocked": "任务状态为已阻塞",
4285
+ "issueRunLedger.livenessReason.noUsefulOutput": "没有有效输出",
4286
+ "issueRunLedger.livenessReason.runEndedWithCode": "运行以{{status}}结束({{code}})",
4287
+ "issueRunLedger.livenessReason.runEndedWithStatus": "运行以{{status}}结束",
4288
+ "issueRunLedger.livenessReason.usefulOutputNoEvidence": "运行产生了有用输出,但没有具体操作证据",
4289
+ "issueRunLedger.modelProfile.applied": "已应用:{{value}}",
4290
+ "issueRunLedger.modelProfile.cheapFellBackToPrimary": "低成本档位已回退到主模型",
4291
+ "issueRunLedger.modelProfile.fallback": "回退:{{value}}",
4292
+ "issueRunLedger.modelProfile.profile": "档位:{{value}}",
4293
+ "issueRunLedger.modelProfile.profileApplied": "档位:{{requested}} -> {{applied}}",
4294
+ "issueRunLedger.modelProfile.profileUnavailable": "档位:{{value}}(不可用)",
4295
+ "issueRunLedger.modelProfile.profileUnavailableBare": "{{value}} 档位不可用",
4296
+ "issueRunLedger.modelProfile.requested": "请求:{{value}}",
4297
+ "issueRunLedger.modelProfile.source": "来源:{{value}}",
4298
+ "issueRunLedger.moreCount": "+{{count}} 个更多",
4299
+ "issueRunLedger.nextActionPrefix": "下一步:",
4300
+ "issueRunLedger.noRunsLinkedYet": "尚未关联运行。",
4301
+ "issueRunLedger.olderItemsNotShown": "还有 {{count}} 个较早项目未显示",
4302
+ "issueRunLedger.outputSilence.silenceSnoozed": "静默已暂缓",
4303
+ "issueRunLedger.outputSilence.silenceWatch": "静默观察",
4304
+ "issueRunLedger.outputSilence.staleRun": "运行停滞",
4305
+ "issueRunLedger.retryOf": "重试来源",
4306
+ "issueRunLedger.silenceAge.hours": "{{count}} 小时",
4307
+ "issueRunLedger.silenceAge.minutes": "{{count}} 分钟",
4308
+ "issueRunLedger.silenceAge.oneHour": "1 小时",
4309
+ "issueRunLedger.silenceAge.oneMinute": "1 分钟",
4310
+ "issueRunLedger.silenceAge.underOneMinute": "不到 1 分钟",
4311
+ "issueRunLedger.stop": "停止原因",
4312
+ "issueRunLedger.stopReason.adapterFailed": "适配器失败",
4313
+ "issueRunLedger.stopReason.budgetPaused": "预算暂停",
4314
+ "issueRunLedger.stopReason.completedWithDuration": "已完成({{duration}})",
4315
+ "issueRunLedger.stopReason.maxTurnsExhausted": "达到最大轮次",
4316
+ "issueRunLedger.stopReason.pausedByBoard": "由面板暂停",
4317
+ "issueRunLedger.stopReason.processLost": "进程丢失",
4318
+ "issueRunLedger.stopReason.timeout": "超时",
4319
+ "issueRunLedger.stopReason.timeoutWithDuration": "超时({{duration}})",
4320
+ "issueRunLedger.stopStatus.noStopReason": "无停止原因",
4321
+ "issueRunLedger.stopStatus.retryPending": "重试待处理",
4322
+ "issueRunLedger.stopStatus.stillRunning": "仍在运行",
4323
+ "issueRunLedger.stopStatus.waitingToStart": "等待开始",
4324
+ "issueRunLedger.summary.automaticRetryScheduledFor": "已为 {{agentName}} 安排自动重试",
4325
+ "issueRunLedger.summary.queuedFor": "已为 {{agentName}} 排队",
4326
+ "issueRunLedger.summary.runningNowBy": "{{agentName}} 正在运行",
4327
+ "issueRunLedger.summary.statusBy": "{{agentName}} · {{status}}",
4328
+ "issueRunLedger.title": "运行账本",
4329
+ "issueRunLedger.waitingForFirstRunRecord": "等待第一条运行记录。",
4330
+ "issueRunLedger.watchdog.continueMonitoring": "继续监控",
4331
+ "issueRunLedger.watchdog.decisionNotRecorded": "未记录看门狗决定",
4332
+ "issueRunLedger.watchdog.extendedPeriod": "一段较长时间",
4333
+ "issueRunLedger.watchdog.forRecoveryContext": "查看恢复上下文。",
4334
+ "issueRunLedger.watchdog.latestRunSilentFor": "最新活跃运行已静默 {{duration}}。",
4335
+ "issueRunLedger.watchdog.markFalsePositive": "标记为误报",
4336
+ "issueRunLedger.watchdog.onlyBoardOrOwner": "只有面板或已指派的恢复负责人可以记录看门狗决定",
4337
+ "issueRunLedger.watchdog.outputSilenceWarning": "输出静默看门狗警告",
4338
+ "issueRunLedger.watchdog.recordFailed": "Paperclip 无法记录看门狗决定。",
4339
+ "issueRunLedger.watchdog.review": "查看",
4340
+ "issueRunLedger.watchdog.snoozeOneHour": "暂缓 1 小时",
4341
+ "issueRunLedger.watchdog.staleRunAlert": "运行停滞看门狗警报",
4342
+ "status.completed": "已完成",
4343
+ "userProfile.actions": "操作",
4344
+ "userProfile.allTimeTokens": "全部词元",
4345
+ "userProfile.chartPointTitle": "{{date}}:{{tokens}} 个词元,完成 {{completed}} 个",
4346
+ "userProfile.comments": "评论",
4347
+ "userProfile.commentsCount": "{{count}} 条评论",
4348
+ "userProfile.completed": "已完成",
4349
+ "userProfile.completionRate": "{{rate}} 完成率",
4350
+ "userProfile.createdCount": "已创建 {{count}} 个",
4351
+ "userProfile.openAssigned": "打开的已分配项",
4352
+ "userProfile.sevenDayActions": "7 天操作数",
4353
+ "userProfile.spentAmount": "已花费 {{amount}}",
4354
+ "userProfile.touched": "已触达",
4355
+ "agents": "智能体",
4356
+ "approval.limitObserved": "已观测上限",
4357
+ "approval.onApproval": "审批后",
4358
+ "approval.proposedComment": "建议评论",
4359
+ "approval.recommendedAction": "建议操作",
4360
+ "Approved": "已批准",
4361
+ "Checking...": "检查中...",
4362
+ "Claimed API key path": "声明的 API key 路径",
4363
+ "companyExport.exportButton": "导出",
4364
+ "companyExport.exportDownloadedBody": "公司导出已下载。",
4365
+ "companyExport.selectedCount": "已选择 {{count}} 项",
4366
+ "companyExport.warningCount": "{{count}} 个警告",
4367
+ "companyImport.conflictCount": "{{count}} 个冲突",
4368
+ "companyImport.errorCount": "{{count}} 个错误",
4369
+ "companyImport.importButton": "导入",
4370
+ "companyImport.importCompleteBody": "公司导入完成。",
4371
+ "In ": "在 ",
4372
+ "Loading...": "加载中...",
4373
+ "Look for repositories with ": "查找包含以下内容的仓库:",
4374
+ "No OpenCode models discovered. Run ": "未发现 OpenCode 模型。请运行 ",
4375
+ "operator": "操作员",
4376
+ "operator.admin": "操作员管理员",
4377
+ "Paperclip API URL override": "Paperclip API URL 覆盖",
4378
+ "Paste a local path, GitHub URL, or ": "粘贴本地路径、GitHub URL,或 ",
4379
+ "Plugin operations": "插件操作",
4380
+ "Rejected": "已拒绝",
4381
+ "Risks": "风险",
4382
+ "Scopes (comma-separated)": "范围(逗号分隔)",
4383
+ "Search users": "搜索用户",
4384
+ "Select a company to configure this plugin": "选择一个公司来配置此插件",
4385
+ "The long-form run page with the ": "包含 ",
3835
4386
  "foldCurtain.showMore": "显示更多",
3836
4387
  "foldCurtain.showLess": "收起"
3837
4388
  }
@@ -1 +0,0 @@
1
- import{U as a,C as n}from"./mermaid.core-RTrr9erR.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};