@azure-id/orc 0.56.0 → 1.0.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 (153) hide show
  1. package/CHANGELOG.md +228 -0
  2. package/README-id.md +143 -53
  3. package/README.md +124 -103
  4. package/bin/build-agents.js +18 -11
  5. package/bin/cli.js +4139 -315
  6. package/bin/onboarding-content.js +0 -3
  7. package/bin/test-run.js +491 -0
  8. package/bin/verify-contracts.js +4256 -3277
  9. package/bin/verify-package.js +563 -498
  10. package/bin/webui/api.js +1186 -1163
  11. package/bin/webui/app.html +9 -0
  12. package/bin/webui/css/06-responsive.css +120 -108
  13. package/bin/webui/css/panels/extra.css +29 -0
  14. package/bin/webui/css/panels/lanes.css +134 -0
  15. package/bin/webui/css/panels/settings.css +79 -3
  16. package/bin/webui/fixtures/extra.js +2036 -1934
  17. package/bin/webui/fixtures/flow.js +2 -2
  18. package/bin/webui/fixtures/index.js +503 -486
  19. package/bin/webui/fixtures/lanes.js +218 -0
  20. package/bin/webui/fixtures/settings.js +261 -34
  21. package/bin/webui/fixtures/stats.js +3 -3
  22. package/bin/webui/i18n/TERMS.md +135 -134
  23. package/bin/webui/i18n/en/extra.json +345 -313
  24. package/bin/webui/i18n/en/lanes.json +29 -0
  25. package/bin/webui/i18n/en/nav.json +1 -0
  26. package/bin/webui/i18n/en/overview.json +2 -0
  27. package/bin/webui/i18n/en/settings.json +16 -5
  28. package/bin/webui/i18n/id/extra.json +345 -313
  29. package/bin/webui/i18n/id/lanes.json +29 -0
  30. package/bin/webui/i18n/id/nav.json +1 -0
  31. package/bin/webui/i18n/id/overview.json +2 -0
  32. package/bin/webui/i18n/id/settings.json +15 -4
  33. package/bin/webui/js/01-i18n.js +1 -0
  34. package/bin/webui/js/panels/extra.js +3199 -3011
  35. package/bin/webui/js/panels/lanes.js +259 -0
  36. package/bin/webui/js/panels/overview.js +10 -0
  37. package/bin/webui/js/panels/settings.js +149 -3
  38. package/package.json +3 -3
  39. package/templates/agents/MODEL-MAPPING.md +23 -35
  40. package/templates/agents/orc-executor-opus-4-7-high.md +1 -1
  41. package/templates/agents/orc-executor-opus-4-7-med.md +1 -1
  42. package/templates/agents/orc-executor-opus-4-8-high.md +1 -1
  43. package/templates/agents/orc-executor-opus-5-high.md +1 -1
  44. package/templates/agents/orc-executor-opus-5-low.md +1 -1
  45. package/templates/agents/orc-executor-opus-5-med.md +1 -1
  46. package/templates/agents/orc-retro-opus-5-med.md +73 -73
  47. package/templates/agents/orc-retro-sonnet-5-high.md +72 -72
  48. package/templates/agents/orc-trace-writer-haiku-4-5.md +107 -107
  49. package/templates/commands/orc-route.md +1 -1
  50. package/templates/commands/orc.md +1 -1
  51. package/templates/skills/_shared/README.md +7 -3
  52. package/templates/skills/_shared/config-precedence.md +198 -0
  53. package/templates/skills/_shared/drift-recovery.md +1 -1
  54. package/templates/skills/_shared/extra-dispatch.md +292 -6
  55. package/templates/skills/_shared/interview.md +1 -1
  56. package/templates/skills/_shared/opus5-only.md +9 -7
  57. package/templates/skills/_shared/phases/README.md +82 -0
  58. package/templates/skills/{orc/references → _shared/phases}/analyst-gates.md +15 -3
  59. package/templates/skills/_shared/phases/execution.md +143 -0
  60. package/templates/skills/{orc/references → _shared/phases}/house-rules.md +13 -1
  61. package/templates/skills/{orc/references → _shared/phases}/intake.md +15 -2
  62. package/templates/skills/_shared/phases/mock-example.md +56 -0
  63. package/templates/skills/{orc/references → _shared/phases}/plan-handoff.md +16 -3
  64. package/templates/skills/_shared/phases/planning.md +135 -0
  65. package/templates/skills/_shared/phases/preflight.md +76 -0
  66. package/templates/skills/_shared/phases/review.md +53 -0
  67. package/templates/skills/_shared/phases/scoring.md +65 -0
  68. package/templates/skills/{orc/references → _shared/phases}/security-checklist.md +12 -1
  69. package/templates/skills/_shared/phases/security.md +55 -0
  70. package/templates/skills/_shared/phases/ship.md +88 -0
  71. package/templates/skills/{orc/references/stop-and-resume.md → _shared/phases/stop-resume.md} +169 -160
  72. package/templates/skills/_shared/phases/summary.md +48 -0
  73. package/templates/skills/_shared/phases/testgen.md +51 -0
  74. package/templates/skills/{orc/references/trace-protocol.md → _shared/phases/trace.md} +49 -6
  75. package/templates/skills/_shared/phases/verify.md +70 -0
  76. package/templates/skills/{orc/references → _shared/phases}/wave-grouping.md +14 -2
  77. package/templates/skills/{orc/references → _shared/phases}/wiki-consult.md +13 -1
  78. package/templates/skills/_shared/read-ladder.md +48 -0
  79. package/templates/skills/context-combiner/SKILL.md +214 -187
  80. package/templates/skills/orc/README.md +148 -150
  81. package/templates/skills/orc/SKILL.md +70 -358
  82. package/templates/skills/orc/config.md +137 -389
  83. package/templates/skills/orc/examples/full-run-mock.md +1 -1
  84. package/templates/skills/orc/references/effort-and-mode.md +16 -18
  85. package/templates/skills/orc/references/phases/intake.md +47 -0
  86. package/templates/skills/orc/references/phases/integration.md +19 -0
  87. package/templates/skills/orc/references/preflight-report.md +4 -4
  88. package/templates/skills/orc/references/ultra-mode.md +117 -123
  89. package/templates/skills/orc/schemas/planning-output.md +279 -279
  90. package/templates/skills/orc/subskills/orc-planner/SKILL.md +260 -264
  91. package/templates/skills/orc/subskills/orc-pr/stack-gate.md +4 -1
  92. package/templates/skills/orc-aftermath/SKILL.md +153 -136
  93. package/templates/skills/orc-analyze/SKILL.md +247 -220
  94. package/templates/skills/orc-analyze/references/branching.md +51 -51
  95. package/templates/skills/orc-analyze/references/thin-input.md +1 -1
  96. package/templates/skills/orc-analyze-mini/SKILL.md +128 -112
  97. package/templates/skills/orc-boundary/SKILL.md +244 -208
  98. package/templates/skills/orc-brainstorm/SKILL.md +372 -339
  99. package/templates/skills/orc-budget/SKILL.md +243 -225
  100. package/templates/skills/orc-challenge/README.md +1 -1
  101. package/templates/skills/orc-challenge/SKILL.md +293 -255
  102. package/templates/skills/orc-challenge/examples/council-full-roster.md +1 -1
  103. package/templates/skills/orc-claude/SKILL.md +216 -199
  104. package/templates/skills/orc-diy/README.md +2 -1
  105. package/templates/skills/orc-diy/SKILL.md +129 -70
  106. package/templates/skills/orc-diy/references/blocks/analyze.md +1 -1
  107. package/templates/skills/orc-diy/references/compile.md +21 -7
  108. package/templates/skills/orc-diy/references/flow-schema.md +2 -2
  109. package/templates/skills/orc-doc/SKILL.md +44 -7
  110. package/templates/skills/orc-explain/SKILL.md +19 -0
  111. package/templates/skills/orc-export/SKILL.md +26 -5
  112. package/templates/skills/orc-fast/SKILL.md +215 -187
  113. package/templates/skills/orc-grill/SKILL.md +233 -207
  114. package/templates/skills/orc-handoff/SKILL.md +223 -204
  115. package/templates/skills/orc-learn/SKILL.md +176 -156
  116. package/templates/skills/orc-mini/SKILL.md +41 -23
  117. package/templates/skills/orc-pact/SKILL.md +250 -218
  118. package/templates/skills/orc-pattern/SKILL.md +149 -124
  119. package/templates/skills/orc-poly/SKILL.md +237 -216
  120. package/templates/skills/orc-poly/references/gather.md +1 -1
  121. package/templates/skills/orc-pr-driver/SKILL.md +196 -167
  122. package/templates/skills/orc-pr-driver/references/orc-run-split.md +1 -1
  123. package/templates/skills/orc-pr-setup/SKILL.md +212 -184
  124. package/templates/skills/orc-quick/README.md +2 -2
  125. package/templates/skills/orc-quick/SKILL.md +346 -313
  126. package/templates/skills/orc-quick/references/dispatch-gate.md +12 -4
  127. package/templates/skills/orc-retro/SKILL.md +244 -222
  128. package/templates/skills/orc-retro/examples/retro-mock.md +171 -171
  129. package/templates/skills/orc-route/SKILL.md +183 -165
  130. package/templates/skills/orc-verify/SKILL.md +100 -86
  131. package/templates/skills/orc-wiki/SKILL.md +55 -206
  132. package/templates/skills/orc-wiki/references/phases/phase-0.md +71 -0
  133. package/templates/skills/orc-wiki/references/phases/phase-1.md +35 -0
  134. package/templates/skills/orc-wiki/references/phases/phase-2.md +52 -0
  135. package/templates/skills/orc-wiki/references/phases/phase-3.md +57 -0
  136. package/templates/skills/orc-wiki/references/phases/phase-3c.md +36 -0
  137. package/templates/agents/orc-advisor-fable-5.md +0 -50
  138. package/templates/agents/orc-analyst-fable-5.md +0 -115
  139. package/templates/agents/orc-judge-fable-5.md +0 -79
  140. package/templates/agents/orc-planner-fable-5.md +0 -152
  141. package/templates/agents/orc-reviewer-fable-5.md +0 -57
  142. package/templates/skills/_shared/fable5-override.md +0 -56
  143. package/templates/skills/orc-diy/references/blocks/execution.md +0 -42
  144. package/templates/skills/orc-diy/references/blocks/mock-example.md +0 -22
  145. package/templates/skills/orc-diy/references/blocks/planning.md +0 -34
  146. package/templates/skills/orc-diy/references/blocks/review.md +0 -18
  147. package/templates/skills/orc-diy/references/blocks/scoring.md +0 -16
  148. package/templates/skills/orc-diy/references/blocks/security.md +0 -25
  149. package/templates/skills/orc-diy/references/blocks/ship.md +0 -25
  150. package/templates/skills/orc-diy/references/blocks/summary.md +0 -18
  151. package/templates/skills/orc-diy/references/blocks/testgen.md +0 -17
  152. package/templates/skills/orc-diy/references/blocks/trace.md +0 -28
  153. package/templates/skills/orc-diy/references/blocks/verify.md +0 -25
@@ -1,313 +1,345 @@
1
- {
2
- "extra.title": "Extra",
3
- "extra.sub": "Integrasi dengan model AI lain",
4
- "extra.why": "Mengapa dibuat seperti ini",
5
- "extra.tab.setup": "Penyiapan",
6
- "extra.tab.routing": "Perutean",
7
- "extra.tab.limits": "Batas",
8
- "extra.tab.spending": "Pengeluaran",
9
- "extra.tab.providers": "Penyedia",
10
- "extra.boundary.title": "Sebelum menghubungkan apa pun, baca ini",
11
- "extra.boundary.leaves": "Yang keluar dari mesin ini: potongan tugas yang disusun ORC — permintaan Anda, isi berkas yang disebut tugas itu, hasil tool yang diminta pekerja, dan kode yang ditulisnya kembali.",
12
- "extra.boundary.whom": "Yang menerimanya: penyedia yang Anda atur di bawah, pada base URL yang tertera di profilnya. Tidak ada pihak lain di jalur itu, dan ORC tidak menambahkan telemetri apa pun.",
13
- "extra.boundary.cannot": "Yang tidak bisa ORC janjikan: berapa lama penyedia itu menyimpan prompt Anda, apakah mereka melatih model dengannya, atau di negara mana ia dijalankan. Itu syarat mereka, bukan syarat ORC — katalog menautkannya, dan membacanya adalah keputusan Anda.",
14
- "extra.boundary.fence": "Hanya satu engine yang menyusun sendiri isi permintaannya, dan hanya engine itu yang bisa menahan pekerja pada berkas yang disebut tugas atau membawa kebijakan privasi. Dua lainnya mengirim instruksi dan percaya alatnya patuh. Tiap profil di bawah menyebut engine-nya.",
15
- "extra.boundary.probe": "Panel ini tidak pernah berbicara dengan model. Menguji koneksi menjalankan perintah yang sama seperti yang Anda ketik sendiri, dan koneksinya milik CLI.",
16
- "extra.strip.profiles": "profil",
17
- "extra.strip.verified": "terverifikasi",
18
- "extra.strip.routed": "band terarah",
19
- "extra.strip.findings": "temuan",
20
- "extra.strip.catalog": "katalog bertanggal",
21
- "extra.providers.title": "Penyedia yang bisa dijangkau ORC",
22
- "extra.providers.sub": "Ini katalog penyedia bawaan yang bisa dijangkau ORC, beserta tanggal terbitnya.",
23
- "extra.providers.subWhy": "Katalog ini memuat base URL, variabel tempat setiap penyedia membaca kuncinya, dan ketentuan yang perlu Anda baca.",
24
- "extra.providers.noModels": "Nama model tidak ikut dikirim: nama itu berubah dalam hitungan bulan, dan nama basi berarti kegagalan di tengah proses. Menguji koneksi membaca daftar terbaru langsung dari penyedia.",
25
- "extra.providers.stale": "Katalog ini lebih tua dari batas yang dipercaya ORC. Sebuah base URL mungkin sudah pindah — periksa dokumentasi penyedia sebelum mempercayai sebuah kegagalan.",
26
- "extra.providers.engines": "engine",
27
- "extra.providers.regions": "wilayah",
28
- "extra.providers.docs": "panduan setup",
29
- "extra.providers.terms": "syarat",
30
- "extra.profiles.title": "Koneksi Anda",
31
- "extra.profiles.none": "Belum ada koneksi yang diatur.",
32
- "extra.profiles.noneHint": "Tidak ada yang dialihkan ke tempat lain sampai Anda menambah satu, mengujinya, dan memetakan sebuah band ke sana. Sampai saat itu semua tugas berjalan seperti hari ini.",
33
- "extra.profiles.addWhy": "Menambahkan sebuah koneksi. Tidak ada yang dikirim ke mana pun dan langkah ini tidak menyimpan kunci.",
34
- "extra.profiles.pingWhy": "Uji koneksi. Inilah gerbangnya: tidak ada yang diarahkan ke koneksi yang belum pernah menjawab.",
35
- "extra.profile.provider": "penyedia",
36
- "extra.profile.engine": "engine",
37
- "extra.profile.base": "base URL",
38
- "extra.profile.region": "wilayah",
39
- "extra.profile.credential": "kunci",
40
- "extra.profile.credentialEnv": "dibaca dari variabel {name}",
41
- "extra.profile.credentialVault": "disimpan di sini, terenkripsi",
42
- "extra.profile.present": "ditemukan",
43
- "extra.profile.missing": "tidak ditemukan",
44
- "extra.profile.verifiedAt": "menjawab {when} · {how}",
45
- "extra.profile.latency": "{ms} ms",
46
- "extra.profile.never": "belum pernah diuji",
47
- "extra.profile.modelsLabel": "model",
48
- "extra.profile.models": "{n} nama model tersimpan",
49
- "extra.profile.modelsNone": "belum ada nama model tersimpan",
50
- "extra.profile.fidelity": "diukur pada pengiriman pertama",
51
- "extra.profile.privacy": "kebijakan privasi diatur",
52
- "extra.vault.stored": "kunci tersimpan",
53
- "extra.vault.wiped": "kunci dihapus",
54
- "extra.vault.none": "tidak ada yang tersimpan",
55
- "extra.vault.attempts": "{used} dari {max} percobaan salah terpakai",
56
- "extra.vault.attemptsNone": "belum ada percobaan salah",
57
- "extra.vault.wipedWhen": "dihapus {when} setelah terlalu banyak passphrase salah. Tempelkan kunci baru dari penyedia Anda.",
58
- "extra.findings.title": "Yang perlu Anda perhatikan",
59
- "extra.findings.none": "Tidak ada yang perlu dilaporkan.",
60
- "extra.findings.notFixable": "yang satu ini tidak ada perbaikannya — teksnya menyebutkan apa yang harus dilakukan",
61
- "extra.findings.cmdWhy": "Menyebutkan satu per satu, beserta alasannya.",
62
- "extra.load.providers": "Katalog penyedia tidak bisa dibaca.",
63
- "extra.load.profiles": "Daftar koneksi tidak bisa dibaca.",
64
- "extra.add.button": "Tambah koneksi",
65
- "extra.add.title": "Tambah koneksi",
66
- "extra.add.name": "nama",
67
- "extra.add.namePh": "cheap",
68
- "extra.add.nameHint": "Nama pendek pilihan Anda. Inilah yang ditunjuk oleh sebuah baris routing.",
69
- "extra.add.provider": "penyedia",
70
- "extra.add.engine": "engine",
71
- "extra.add.engineHint": "Hanya yang benar-benar disediakan penyedia ini yang ditawarkan.",
72
- "extra.add.region": "wilayah",
73
- "extra.add.base": "base URL",
74
- "extra.add.baseHint": "Kosongkan untuk memakai yang ada di katalog.",
75
- "extra.add.cliBin": "perintah",
76
- "extra.add.cliBinHint": "Alat yang dijalankan ORC. Harus alat yang punya adapter di ORC, dan ORC akan bilang kalau bukan.",
77
- "extra.add.cliAgent": "agent",
78
- "extra.add.cliAgentPh": "build",
79
- "extra.add.credential": "kredensial",
80
- "extra.add.sourceEnv": "NAMA sebuah environment variable (disarankan)",
81
- "extra.add.sourceVault": "tempel kuncinya dan simpan di sini, terenkripsi",
82
- "extra.add.sourceTool": "alat ini masuk sendiri — tidak perlu kunci",
83
- "extra.add.sourceToolHint": "Alat ini menyimpan kredensialnya sendiri. ORC tidak mengirim kunci dan tidak pernah menulis penyimpanan kredensial alat lain. Pilih environment variable atau vault hanya jika Anda ingin ORC memegang kunci terpisah.",
84
- "extra.add.envKey": "nama variabel",
85
- "extra.add.envKeyHint": "Namanya saja. ORC tidak pernah membaca nilainya ke tempat yang bisa dicetak.",
86
- "extra.add.key": "kuncinya",
87
- "extra.add.keyPh": "tempel di sini",
88
- "extra.add.keyHint": "Dikirim sekali, untuk menguji koneksi. Tidak ditulis ke mana pun kecuali pengujian berhasil dan Anda memberi passphrase.",
89
- "extra.add.vaultWarn": "Environment variable yang sudah dilindungi sistem operasi Anda lebih baik daripada passphrase yang akan Anda lupakan. Simpan kunci di sini hanya jika Anda memang enggan mengurus variabel — dan catat passphrase-nya dulu, karena ORC tidak bisa memulihkannya.",
90
- "extra.add.needName": "Beri nama dulu.",
91
- "extra.probe.head": "Apa yang dilakukan pengujian ini, sebelum Anda menekannya",
92
- "extra.probe.free": "Pertama ia meminta daftar model milik penyedia. Ini tidak berbiaya dan tidak ada model yang berjalan.",
93
- "extra.probe.paid": "Hanya jika daftar itu tidak tersedia ia mengirim satu permintaan satu token, yang berbiaya sepersekian sen. ORC memberi tahu setelahnya mana dari keduanya yang benar-benar menjawab.",
94
- "extra.wire.you": "mesin ini",
95
- "extra.wire.provider": "penyedia",
96
- "extra.test.button": "Uji koneksi",
97
- "extra.test.running": "menguji…",
98
- "extra.test.title": "Uji {name}",
99
- "extra.test.vaultedNote": "Kunci koneksi ini tersimpan di sini, terenkripsi. Berikan passphrase Anda dan ORC membuka kuncinya hanya selama pengujian — kuncinya tidak pernah dicetak dan tidak pernah ditulis ke mana pun. Passphrase yang salah memakai satu percobaan Anda, sama seperti di tempat lain.",
100
- "extra.result.verified": "menjawab · {how}",
101
- "extra.result.reverted": "Pengujian gagal, jadi tidak ada yang disimpan: kuncinya dibuang dan koneksinya dihapus. Tidak ada yang tertinggal setengah jadi.",
102
- "extra.save.head": "Simpan kunci ini?",
103
- "extra.save.warning": "Catat passphrase Anda di tempat aman sekarang. ORC tidak menyimpannya dan tidak bisa memulihkannya. Jika hilang, kunci yang tersimpan ikut hilang dan Anda menempelkan kunci baru dari penyedia. Setelah sepuluh percobaan salah ORC menghapus kunci itu dengan sengaja.",
104
- "extra.save.pass": "passphrase",
105
- "extra.save.passPh": "tidak ditampilkan",
106
- "extra.save.passHint": "Hanya Anda yang tahu ini. Tidak pernah disimpan, tidak pernah dicatat, dan tidak pernah ditunjukkan ke model.",
107
- "extra.save.again": "ulangi",
108
- "extra.save.againPh": "ketik sekali lagi",
109
- "extra.save.button": "Simpan kuncinya",
110
- "extra.save.mismatch": "Kedua passphrase tidak sama. Tidak ada yang disimpan.",
111
- "extra.save.stored": "Kunci tersimpan, terenkripsi (pepper: {pepper}).",
112
- "extra.unlock.button": "Buktikan passphrase",
113
- "extra.unlock.title": "Buka kunci {name}",
114
- "extra.unlock.what": "Ini hanya memeriksa passphrase Anda. Kuncinya tidak pernah dicetak dan tidak pernah keluar dari vault. Kalau benar, hitungan percobaan salah kembali ke nol.",
115
- "extra.unlock.ok": "Benar. Hitungan percobaan salah kembali ke nol, dan kuncinya tidak dicetak ke mana pun.",
116
- "extra.remove.button": "Hapus",
117
- "extra.remove.title": "Hapus {name}",
118
- "extra.remove.what": "Ini menghapus koneksi {name} dan setiap baris routing yang menunjuk ke sana. Pekerjaan yang tadinya dikirim ke sana kembali ke tempatnya berjalan hari ini.",
119
- "extra.remove.reason": "alasan",
120
- "extra.remove.reasonPh": "kenapa Anda menghapusnya?",
121
- "extra.remove.reasonHint": "Wajib. Perubahan cara repo ini membangun tanpa alasan tercatat adalah perubahan yang tak bisa dijelaskan siapa pun tiga minggu lagi.",
122
- "extra.remove.done": "{name} dihapus.",
123
- "extra.fixture": "Ini mode fixture: tidak ada yang benar-benar dijalankan dan tidak ada yang dihubungi.",
124
- "extra.routing.title": "Di mana tiap tugas berjalan",
125
- "extra.routing.sub": "Setiap baris adalah satu rentang skor. Klik satu baris untuk mengubah tempat rentang itu dijalankan.",
126
- "extra.routing.gapNote": "Setiap rentang yang tidak Anda hubungkan tetap di Claude, dan barisnya tetap ada.",
127
- "extra.routing.gapWhy": "Celah bukan lubang. Setiap rentang yang tidak Anda hubungkan ke mana pun digambar dengan warna Claude beserta agen yang benar-benar dipakai, supaya “saya sengaja meninggalkan pekerjaan terberat di Claude” dan “tidak ada band teratas” tidak pernah terlihat sama.",
128
- "extra.routing.legendExtra": "Pekerjaan ini keluar dari mesin Anda.",
129
- "extra.routing.legendClaude": "Pekerjaan ini tetap di Claude.",
130
- "extra.routing.locked": "Belum ada yang bisa diarahkan.",
131
- "extra.routing.lockedHint": "Uji satu koneksi dulu. Pekerjaan tidak pernah dikirim ke tempat yang belum menjawab, jadi editornya terbuka begitu ada satu yang menjawab.",
132
- "extra.routing.editNote": "Tidak ada yang ditulis sampai Anda menekan Apply. Tiap baris ditulis sendiri-sendiri, jadi satu baris yang ditolak CLI tidak membatalkan yang lain.",
133
- "extra.routing.pickProfile": "pilih koneksi…",
134
- "extra.routing.untested": "(belum diuji)",
135
- "extra.routing.modelPh": "nama model",
136
- "extra.routing.route": "Kirim rentang ini ke sana",
137
- "extra.routing.clear": "Kembali ke Claude",
138
- "extra.routing.kvProfile": "Koneksi",
139
- "extra.routing.kvModel": "Model",
140
- "extra.routing.kvSmall": "Model kecil",
141
- "extra.routing.kvTurns": "Batas putaran",
142
- "extra.routing.staged": "menunggu Apply",
143
- "extra.routing.stagedSet": "{target}",
144
- "extra.routing.stagedClear": "kembali ke Claude",
145
- "extra.routing.modelGone": "model tak terdaftar",
146
- "extra.reset.title": "Kembalikan guardrail ke bawaan",
147
- "extra.reset.body": "Ini menghapus pengaturan berikut dari file config Anda, sehingga masing-masing kembali ke bawaan ORC. Koneksi dan routing Anda TIDAK disentuh.",
148
- "extra.reset.note": "Menghapus sebuah pengaturan tidak sama dengan mengisinya dengan nilai bawaan — kuncinya tidak lagi ada di file sama sekali.",
149
- "extra.reset.apply": "Reset",
150
- "extra.reset.done": "{n} pengaturan kembali ke bawaan.",
151
- "extra.reset.label": "Reset guardrail",
152
- "extra.routing.undo": "Batalkan",
153
- "extra.slots.title": "Tempat setiap tugas tetap berjalan",
154
- "extra.slots.sub": "Beberapa jalur tidak memberi skor. Mereka memberi satu tugas ke satu agen. Pilih tempat setiap tugas berjalan.",
155
- "extra.slots.subWhy": "Skor adalah yang dibutuhkan sebuah rentang, dan empat jalur tidak pernah menghasilkannya. Sampai v0.55.0 jalur itu dirutekan dengan membaca rentang skor agen yang mereka kunci — aritmetika atas angka yang tidak dipilih siapa pun. Sebuah tugas kini adalah posisi bernama dengan satu koneksi dan satu model.",
156
- "extra.slots.keepsSlotWhy": "Tugas tanpa koneksi tetap punya barisnya sendiri dan digambar sebagai agen Claude tempat ia kembali. Menyembunyikannya akan membuat “saya sengaja membiarkan checker di Claude” dan “tidak ada checker” terlihat sama.",
157
- "extra.slots.asked": "Anda ditanya di gerbang, setiap kali",
158
- "extra.slots.hold": "Kirim tugas ini ke sana",
159
- "extra.slots.clear": "Kembali ke Claude",
160
- "extra.slots.displaces": "Ini mengambil tugas dari: {agents}",
161
- "extra.slots.kvDisplaces": "Mengambil tugas dari",
162
- "extra.slots.stagedSet": "{slot} → {target}",
163
- "extra.slots.stagedClear": "kembali ke {agent}",
164
- "extra.slots.confirmReplace": "{slot} sudah berjalan di {old}. Ganti dengan {next}?",
165
- "extra.slots.unreachable": "Peran ini bisa diatur di konfigurasi Anda, dan belum ada yang menjalankannya:",
166
- "extra.guard.title": "Batas yang Anda tetapkan",
167
- "extra.guard.sub": "Ubah satu batas di sini, lalu tekan Apply.",
168
- "extra.guard.subWhy": "Ini setelan ORC biasa, ditampilkan di sini karena di sinilah setelan itu berarti. Semuanya dibaca dari berkas yang sama dengan yang disunting panel Settings, dan ditulis oleh perintah yang sama.",
169
- "extra.guard.none": "Tidak ada pengaturan yang dikembalikan.",
170
- "extra.cost.title": "Apa yang dijalankan, dan berapa biayanya",
171
- "extra.cost.none": "Belum ada yang dikirim ke tempat lain.",
172
- "extra.cost.noneHint": "Bagian ini terisi pertama kali sebuah tugas benar-benar berjalan di tempat lain. ORC mencatat setiap kejadian saat itu juga.",
173
- "extra.cost.dispatches": "{n} tugas dikirim",
174
- "extra.cost.scanned": "dari {n} jejak",
175
- "extra.cost.sources": "{log} dicatat ORC · {traces} dibaca dari jejak · {backfill} dipulihkan dari hasil run tersimpan",
176
- "extra.cost.sourcesWhy": "ORC menulis setiap pengiriman ke luar ke catatannya sendiri begitu pekerja menjawab, sehingga angka biaya tidak pernah bergantung pada sebuah run yang harus ingat menarasikannya. Jejak dan hasil run tersimpan juga dibaca, sehingga pengiriman yang dibuat sebelum catatan itu ada tetap muncul. Pengiriman yang sama hanya pernah dihitung sekali.",
177
- "extra.cost.unreadable": "Sebagian baris pada catatan tidak dapat dibaca: {n}. Pengiriman itu tidak dihitung pada total di bawah.",
178
- "extra.cost.undated": "Sebagian hasil run tersimpan tidak memuat tanggal: {n}. Filter tanggal mengabaikannya. Hapus filter untuk menyertakannya.",
179
- "extra.cost.priceTable": "Harga berasal dari tabel bertanggal {as_of} (umur {days} hari). Tidak ada yang diberi harga kecuali ORC punya tarifnya.",
180
- "extra.cost.nDispatches": "{n} dikirim",
181
- "extra.cost.never": "Belum ada yang berjalan di rentang ini, jadi tidak ada yang bisa dilaporkan — bukan biaya nol, melainkan tidak ada pengukuran sama sekali.",
182
- "extra.cost.unrouted": "tidak lagi diarahkan",
183
- "extra.cost.partial": "Angka ini berasal dari {got} dari {of} tugas — {missing} tidak melaporkan angka sama sekali. Sisanya tidak diketahui, bukan nol.",
184
- "extra.cost.usd": "usd {usd}",
185
- "extra.cost.noRate": "usd — · tidak ada tarif untuk {provider} di tabel harga, dan angka yang tidak dihitung ORC sendiri tidak pernah dicetak.",
186
- "extra.cost.substitutions": "Anda tidak mendapat model yang diminta",
187
- "extra.cost.reroutes": "Modelnya tetap dan perusahaan lain yang melayaninya",
188
- "extra.cost.fallbacks": "Gagal, dan Claude yang menyelesaikannya",
189
- "extra.cost.more": "…dan {n} lagi",
190
- "extra.cost.missingRates": "Pasangan tanpa harga",
191
- "extra.cost.ratesWhy": "Mencetak JSON untuk ditempel bagi setiap pasangan penyedia dan model yang belum punya tarif.",
192
- "extra.routing.recomputed": "dihitung ulang saat Apply",
193
- "extra.test.passHint": "Membuka kunci tersimpan untuk pengujian ini saja. Biarkan kosong jika Anda menempelkan kunci pengganti di bawah.",
194
- "extra.test.replaceKey": "atau tempel kunci baru",
195
- "extra.test.replaceKeyHint": "Hanya jika Anda mengganti kuncinya di penyedia. Ini MENGGANTI yang tersimpan, dan meminta passphrase lagi setelah pengujian berhasil.",
196
- "extra.gate.hidden": "Hubungkan satu penyedia lalu uji. Perutean, batas, dan pengeluaran muncul setelah itu.",
197
- "extra.gate.hiddenWhy": "Semuanya adalah kendali untuk pekerjaan yang belum bisa terjadi sampai ada yang menjawab, dan mengaturnya sekarang hanya akan terlihat seolah ada yang terjadi.",
198
- "extra.gate.neverTested": "Anda punya koneksi, tetapi belum pernah menjawab. Ujilah — tidak ada yang pernah dikirim ke tempat yang belum terbukti bekerja.",
199
- "extra.gate.noConnection": "Belum ada yang terhubung, jadi belum ada tujuan untuk pekerjaan. Pasang alat di atas, atau tambahkan koneksi ke penyedia dan beri kuncinya.",
200
- "extra.gate.title": "Siapkan satu koneksi dulu",
201
- "extra.live.cacheRead": "dibaca dari cache",
202
- "extra.live.cacheWrite": "ditulis ke cache",
203
- "extra.live.input": "masukan baru",
204
- "extra.live.noReport": "alat ini tidak memberi tahu model mana yang menjawab, jadi kalau diam-diam memakai model lain, tidak ada cara mengetahuinya dari sini",
205
- "extra.live.output": "keluaran",
206
- "extra.live.reply": "yang kembali",
207
- "extra.live.reported": "model yang menjawab",
208
- "extra.live.requested": "model yang diminta",
209
- "extra.live.truncated": "Dipendekkan. ORC hanya menyimpan bagian awal jawaban.",
210
- "extra.probe.cliFree": "ORC memeriksa empat hal gratis dulu. Programnya ada. Versinya cukup baru. Ada sesi masuk. Ia mendaftar model yang bisa dijangkau akun Anda. Tidak ada model yang berjalan, dan tidak ada biaya.",
211
- "extra.probe.cliPaid": "Mengirim pesan sungguhan adalah tombol terpisah. Pada alat seperti ini biayanya tidak murah. Alat itu memuat instruksinya sendiri dulu. Satu pesan pendek lalu memakan ribuan kata input.",
212
- "extra.test.live": "Kirim pesan sungguhan",
213
- "extra.test.model": "model yang diuji",
214
- "extra.test.modelHint": "Hanya dipakai oleh tombol pesan sungguhan. Model yang ada di daftar ini berarti penyedianya menawarkannya — bukan berarti ia bekerja.",
215
- "extra.tools.absentWhat": "Program ini belum terpasang di sini. Tidak ada tempat untuk masuk dan tidak ada model untuk didaftar. Pasang dulu, lalu hubungkan.",
216
- "extra.tools.altNone": "Tidak ada cara memakai yang satu ini tanpa memasangnya. Ini bukan sesuatu yang lupa dicari ORC — alat ini memang tidak punya alamat yang bisa dituju.",
217
- "extra.tools.altYes": "Anda juga bisa melakukannya tanpa memasang apa pun, memakai:",
218
- "extra.tools.auth": "sudah masuk",
219
- "extra.tools.authNo": "tidak",
220
- "extra.tools.authYes": "ya",
221
- "extra.tools.connect": "Hubungkan",
222
- "extra.tools.connectedAs": "terhubung sebagai",
223
- "extra.tools.connectedUntested": "Koneksi ke alat ini sudah ada, dan belum pernah menjawab tes. Tes dulu sebelum ORC mengirim pekerjaan ke sana.",
224
- "extra.tools.test": "Tes",
225
- "extra.tools.addAnother": "Tambah koneksi lain",
226
- "extra.tools.floor": "paling tua yang didukung",
227
- "extra.tools.install": "Pasangkan untuk saya",
228
- "extra.tools.keyhelpNoProfile": "Tambahkan koneksi dulu — kunci mana yang dipakai adalah milik koneksi, bukan milik alatnya.",
229
- "extra.tools.keyhelpSub": "Apa yang dibutuhkan alat ini dari Anda, dan bagian mana yang bisa dikerjakan ORC untuk Anda.",
230
- "extra.tools.loginManual": "ORC tidak bisa mengetikkannya untuk Anda: alat ini selalu bertanya di papan ketik. Tekan dan ORC membuka terminal tepat pada perintah itu.",
231
- "extra.tools.models": "model yang ditawarkan",
232
- "extra.tools.more": "Rincian",
233
- "extra.tools.neverElevates": "ORC tidak pernah meminta hak administrator dan tidak pernah menjalankan apa pun sebagai pengguna lain. Kalau pemasangannya butuh itu, Anda akan melihatnya meminta, di jendela Anda sendiri, dan itu keputusan Anda.",
234
- "extra.tools.noCommand": "ORC tidak punya perintah pemasangan untuk komputer ini. Dokumentasinya sendiri adalah jalannya.",
235
- "extra.tools.none": "Tidak ada di katalog yang berjalan sebagai program lokal.",
236
- "extra.tools.outdatedWhat": "Versi Anda lebih lama dari yang bisa dijalankan ORC. Versi lama memakai opsi yang berbeda. Kegagalannya lalu terlihat seperti masalah model, bukan masalah versi.",
237
- "extra.tools.recheck": "Periksa lagi",
238
- "extra.tools.recheckWhy": "Tekan ini setelah Anda memasang sesuatu di jendela lain.",
239
- "extra.tools.sub": "ORC memeriksa program ini di komputer Anda setiap kali Anda membuka halaman ini.",
240
- "extra.tools.subWhy": "Sebagian tujuan kerja ORC adalah program yang terpasang di komputer Anda sendiri, bukan situs yang dipanggilnya. Sebuah program bisa saja tidak ada, jadi jawabannya tidak pernah diingat.",
241
- "extra.tools.title": "Alat yang ada di komputer ini",
242
- "extra.tools.unauthWhat": "Sudah terpasang, tetapi tidak ada masuk-akun yang bisa dilihat ORC. Ini yang dibutuhkan:",
243
- "extra.tools.version": "versi",
244
- "extra.tools.versionUnknown": "tidak diketahui — ORC tidak bisa membacanya, dan itu tidak dianggap terlalu tua",
245
- "extra.tools.willRun": "ORC akan menjalankan persis ini, di jendela terminal yang bisa Anda lihat:",
246
- "extra.profile.credentialTool": "alatnya menyimpan masuk-akunnya sendiri — ORC tidak punya kunci untuk yang ini dan memang tidak perlu",
247
- "extra.strip.passphrase": "passphrase sampai",
248
- "extra.session.title": "Simpan passphrase",
249
- "extra.session.keepFor": "Simpan passphrase ini selama",
250
- "extra.session.keepForHint": "Setelah tanggal ini ORC menghentikan run, bukan memindahkan pekerjaan kembali ke Claude. Anda yang menetapkan tanggalnya; ORC menaatinya.",
251
- "extra.session.days": "{n} hari",
252
- "extra.session.until": "Disimpan sampai {date}.",
253
- "extra.session.honesty": "Selama passphrase ini tersimpan, apa pun yang bisa berjalan sebagai Anda di komputer ini bisa membuka koneksinya. Tenggatnya yang membatasi itu. Menyalin folder proyek ke komputer lain tidak membukanya.",
254
- "extra.session.save": "Simpan",
255
- "extra.session.abandon": "Jangan simpan · putuskan koneksi ini",
256
- "extra.session.opened": "Masukkan passphrase di jendela yang baru terbuka.",
257
- "extra.session.active": "passphrase sampai {date}",
258
- "extra.session.expiring": "passphrase sampai {date} · sisa {days} hari",
259
- "extra.session.expired": "passphrase kedaluwarsa",
260
- "extra.session.none": "passphrase belum disimpan",
261
- "extra.session.extend": "Tenggat baru",
262
- "extra.session.forget": "Lupakan sekarang",
263
- "extra.session.forgetWhat": "ORC menghapus passphrase tersimpan untuk {name}. Kunci yang tersimpan tetap ada. Run berikutnya berhenti dan meminta Anda menghubungkan lagi.",
264
- "extra.lanes.title": "Band ini mengatur lane yang mana",
265
- "extra.lanes.sub": "Setiap baris menyatakan apakah lane itu bisa mengirim pekerjaan keluar dari Claude.",
266
- "extra.lanes.subWhy": "Band adalah hitungan. Lane yang diaturnya adalah keputusan. ORC menghitung setiap baris di bawah; panel ini hanya menampilkannya.",
267
- "extra.lanes.none": "Belum ada informasi lane.",
268
- "extra.lanes.edges": "band {band} · tepi {edges} · kedua tepi sepakat: {agree}",
269
- "extra.keyhelp.session": "Hanya untuk terminal ini",
270
- "extra.keyhelp.persist": "Agar tetap ada setelah terminal ditutup",
271
- "extra.tab.recovery": "Pemulihan",
272
- "extra.recovery.title": "Pengiriman yang tidak selesai",
273
- "extra.recovery.note": "Pekerja yang berhenti di tengah jalan meninggalkan perubahannya di disk. ORC mencatat keadaan berkas sebelum pekerja itu mulai, jadi ORC dapat memberi tahu Anda apa saja yang berubah.",
274
- "extra.recovery.noteWhy": "Sampai v0.54.0, pengiriman asing yang gagal dikirim ulang dari awal, seolah-olah repositori belum tersentuh. Biasanya tidak begitu: pekerja yang menulis lima dari enam baris lalu kehilangan koneksi meninggalkan berkas setengah jadi, dan pelaksana pengganti akan menulis ulang pekerjaan yang sudah Anda bayar atau menebak-nebak berdasarkan gambaran yang tidak lagi cocok dengan disk. Jurnal inilah yang membuat perbedaannya terlihat, dan jurnal ditulis oleh CLI saat pengiriman berjalan — bukan oleh lane yang bisa lupa.",
275
- "extra.recovery.none": "Belum ada pengiriman asing yang tercatat",
276
- "extra.recovery.noneHint": "ORC mulai mencatat begitu sebuah tugas dikirim ke pekerja non-Claude. Belum ada yang dikirim.",
277
- "extra.recovery.count": "{n} tercatat",
278
- "extra.recovery.orphans": "{n} tidak pernah melapor kembali",
279
- "extra.recovery.inFlight": "{n} masih berjalan",
280
- "extra.recovery.retention": "disimpan {days} hari setelah selesai bersih",
281
- "extra.recovery.chipLive": "masih berjalan",
282
- "extra.recovery.chipOrphan": "tidak pernah melapor kembali",
283
- "extra.recovery.chipAttempts": "{n} percobaan",
284
- "extra.recovery.attempt": "percobaan {n} dari {of}",
285
- "extra.recovery.neverReported": "Pengiriman ini tidak pernah melapor kembali. Prosesnya berakhir sebelum sempat menyampaikan apa yang terjadi.",
286
- "extra.recovery.attribution": "penyebabnya",
287
- "extra.recovery.holdWave": "Mengirim tugas ini ke Claude pun akan gagal. Perbaiki penyebabnya dahulu.",
288
- "extra.recovery.position": "yang berubah di disk",
289
- "extra.recovery.undeclared": "{path} berubah, dan tugas ini tidak pernah mendeklarasikannya.",
290
- "extra.recovery.lastAction": "Tindakan terakhir: {action}",
291
- "extra.recovery.torn": "{n} baris log terpotong dan tidak dapat dibaca.",
292
- "extra.recovery.acceptance": "yang harus dicapai tugas ini",
293
- "extra.recovery.blocked": "Terhalang: {why}",
294
- "extra.recovery.target": "siapa yang harus melanjutkan",
295
- "extra.recovery.readFailed": "Perintah reconcile tidak menjawab.",
296
- "extra.recovery.resumeWhy": "Ini menulis berkas tugas baru yang membawa apa yang sudah ada di disk. Pekerja yang mengambilnya memakan biaya, jadi ORC tidak menjalankannya untuk Anda.",
297
- "extra.recovery.reconcileWhy": "Pembacaan ini gratis. Ia membandingkan berkas sekarang dengan yang dicatat ORC sebelum pengiriman dimulai.",
298
- "extra.recovery.prune.title": "Hapus catatan lama",
299
- "extra.recovery.prune.note": "Hanya catatan yang setiap percobaannya selesai bersih, dan yang tidak berubah selama 30 hari, yang dapat dihapus. Pengiriman yang tidak pernah melapor kembali tidak pernah dihapus.",
300
- "extra.recovery.prune.preview": "Lihat apa yang akan dihapus",
301
- "extra.recovery.prune.apply": "Hapus",
302
- "extra.recovery.prune.none": "Belum ada yang dapat dihapus.",
303
- "extra.recovery.prune.would": "{n} catatan akan dihapus:",
304
- "extra.rel.title": "seberapa sering setiap koneksi menyelesaikan tugas",
305
- "extra.rel.none": "Belum ada yang dikirim.",
306
- "extra.rel.counts": "{n} pengiriman · {failed} gagal · {resumed} dilanjutkan · {orphaned} tidak melapor kembali",
307
- "extra.rel.tooSmall": "sampel terlalu sedikit (perlu {floor})",
308
- "extra.rel.rate": "{pct}% tidak selesai",
309
- "extra.rel.attribution": "provider {provider} · network {network} · local {local} · worker {worker} · orc {orc} · unattributed {unattributed}",
310
- "extra.rel.mttf": "rata-rata waktu sebelum gagal: {s} detik",
311
- "extra.rel.unreadable": "{n} catatan tidak dapat dibaca dan tidak dihitung di atas.",
312
- "extra.rel.noResult": "{n} percobaan tidak punya hasil dan tidak dihitung di atas."
313
- }
1
+ {
2
+ "extra.title": "Extra",
3
+ "extra.sub": "Integrasi dengan model AI lain",
4
+ "extra.why": "Mengapa dibuat seperti ini",
5
+ "extra.tab.setup": "Penyiapan",
6
+ "extra.tab.routing": "Perutean",
7
+ "extra.tab.limits": "Batas",
8
+ "extra.tab.spending": "Pengeluaran",
9
+ "extra.tab.providers": "Penyedia",
10
+ "extra.boundary.title": "Sebelum menghubungkan apa pun, baca ini",
11
+ "extra.boundary.leaves": "Yang keluar dari mesin ini: potongan tugas yang disusun ORC — permintaan Anda, isi berkas yang disebut tugas itu, hasil tool yang diminta pekerja, dan kode yang ditulisnya kembali.",
12
+ "extra.boundary.whom": "Yang menerimanya: penyedia yang Anda atur di bawah, pada base URL yang tertera di profilnya. Tidak ada pihak lain di jalur itu, dan ORC tidak menambahkan telemetri apa pun.",
13
+ "extra.boundary.cannot": "Yang tidak bisa ORC janjikan: berapa lama penyedia itu menyimpan prompt Anda, apakah mereka melatih model dengannya, atau di negara mana ia dijalankan. Itu syarat mereka, bukan syarat ORC — katalog menautkannya, dan membacanya adalah keputusan Anda.",
14
+ "extra.boundary.fence": "Hanya satu engine yang menyusun sendiri isi permintaannya, dan hanya engine itu yang bisa menahan pekerja pada berkas yang disebut tugas atau membawa kebijakan privasi. Dua lainnya mengirim instruksi dan percaya alatnya patuh. Tiap profil di bawah menyebut engine-nya.",
15
+ "extra.boundary.probe": "Panel ini tidak pernah berbicara dengan model. Menguji koneksi menjalankan perintah yang sama seperti yang Anda ketik sendiri, dan koneksinya milik CLI.",
16
+ "extra.strip.profiles": "profil",
17
+ "extra.strip.verified": "terverifikasi",
18
+ "extra.strip.routed": "band terarah",
19
+ "extra.strip.findings": "temuan",
20
+ "extra.strip.catalog": "katalog bertanggal",
21
+ "extra.providers.title": "Penyedia yang bisa dijangkau ORC",
22
+ "extra.providers.sub": "Ini katalog penyedia bawaan yang bisa dijangkau ORC, beserta tanggal terbitnya.",
23
+ "extra.providers.subWhy": "Katalog ini memuat base URL, variabel tempat setiap penyedia membaca kuncinya, dan ketentuan yang perlu Anda baca.",
24
+ "extra.providers.noModels": "Nama model tidak ikut dikirim: nama itu berubah dalam hitungan bulan, dan nama basi berarti kegagalan di tengah proses. Menguji koneksi membaca daftar terbaru langsung dari penyedia.",
25
+ "extra.providers.stale": "Katalog ini lebih tua dari batas yang dipercaya ORC. Sebuah base URL mungkin sudah pindah — periksa dokumentasi penyedia sebelum mempercayai sebuah kegagalan.",
26
+ "extra.providers.engines": "engine",
27
+ "extra.providers.regions": "wilayah",
28
+ "extra.providers.docs": "panduan setup",
29
+ "extra.providers.terms": "syarat",
30
+ "extra.profiles.title": "Koneksi Anda",
31
+ "extra.profiles.none": "Belum ada koneksi yang diatur.",
32
+ "extra.profiles.noneHint": "Tidak ada yang dialihkan ke tempat lain sampai Anda menambah satu, mengujinya, dan memetakan sebuah band ke sana. Sampai saat itu semua tugas berjalan seperti hari ini.",
33
+ "extra.profiles.addWhy": "Menambahkan sebuah koneksi. Tidak ada yang dikirim ke mana pun dan langkah ini tidak menyimpan kunci.",
34
+ "extra.profiles.pingWhy": "Uji koneksi. Inilah gerbangnya: tidak ada yang diarahkan ke koneksi yang belum pernah menjawab.",
35
+ "extra.profile.provider": "penyedia",
36
+ "extra.profile.engine": "engine",
37
+ "extra.profile.base": "base URL",
38
+ "extra.profile.region": "wilayah",
39
+ "extra.profile.credential": "kunci",
40
+ "extra.profile.credentialEnv": "dibaca dari variabel {name}",
41
+ "extra.profile.credentialVault": "disimpan di sini, terenkripsi",
42
+ "extra.profile.present": "ditemukan",
43
+ "extra.profile.missing": "tidak ditemukan",
44
+ "extra.profile.verifiedAt": "menjawab {when} · {how}",
45
+ "extra.profile.latency": "{ms} ms",
46
+ "extra.profile.never": "belum pernah diuji",
47
+ "extra.profile.modelsLabel": "model",
48
+ "extra.profile.models": "{n} nama model tersimpan",
49
+ "extra.profile.modelsNone": "belum ada nama model tersimpan",
50
+ "extra.profile.fidelity": "diukur pada pengiriman pertama",
51
+ "extra.profile.privacy": "kebijakan privasi diatur",
52
+ "extra.vault.stored": "kunci tersimpan",
53
+ "extra.vault.wiped": "kunci dihapus",
54
+ "extra.vault.none": "tidak ada yang tersimpan",
55
+ "extra.vault.attempts": "{used} dari {max} percobaan salah terpakai",
56
+ "extra.vault.attemptsNone": "belum ada percobaan salah",
57
+ "extra.vault.wipedWhen": "dihapus {when} setelah terlalu banyak passphrase salah. Tempelkan kunci baru dari penyedia Anda.",
58
+ "extra.findings.title": "Yang perlu Anda perhatikan",
59
+ "extra.findings.none": "Tidak ada yang perlu dilaporkan.",
60
+ "extra.findings.notFixable": "yang satu ini tidak ada perbaikannya — teksnya menyebutkan apa yang harus dilakukan",
61
+ "extra.findings.cmdWhy": "Menyebutkan satu per satu, beserta alasannya.",
62
+ "extra.load.providers": "Katalog penyedia tidak bisa dibaca.",
63
+ "extra.load.profiles": "Daftar koneksi tidak bisa dibaca.",
64
+ "extra.add.button": "Tambah koneksi",
65
+ "extra.add.title": "Tambah koneksi",
66
+ "extra.add.name": "nama",
67
+ "extra.add.namePh": "cheap",
68
+ "extra.add.nameHint": "Nama pendek pilihan Anda. Inilah yang ditunjuk oleh sebuah baris routing.",
69
+ "extra.add.provider": "penyedia",
70
+ "extra.add.engine": "engine",
71
+ "extra.add.engineHint": "Hanya yang benar-benar disediakan penyedia ini yang ditawarkan.",
72
+ "extra.add.region": "wilayah",
73
+ "extra.add.base": "base URL",
74
+ "extra.add.baseHint": "Kosongkan untuk memakai yang ada di katalog.",
75
+ "extra.add.cliBin": "perintah",
76
+ "extra.add.cliBinHint": "Alat yang dijalankan ORC. Harus alat yang punya adapter di ORC, dan ORC akan bilang kalau bukan.",
77
+ "extra.add.cliAgent": "agent",
78
+ "extra.add.cliAgentPh": "build",
79
+ "extra.add.credential": "kredensial",
80
+ "extra.add.sourceEnv": "NAMA sebuah environment variable (disarankan)",
81
+ "extra.add.sourceVault": "tempel kuncinya dan simpan di sini, terenkripsi",
82
+ "extra.add.sourceTool": "alat ini masuk sendiri — tidak perlu kunci",
83
+ "extra.add.sourceToolHint": "Alat ini menyimpan kredensialnya sendiri. ORC tidak mengirim kunci dan tidak pernah menulis penyimpanan kredensial alat lain. Pilih environment variable atau vault hanya jika Anda ingin ORC memegang kunci terpisah.",
84
+ "extra.add.envKey": "nama variabel",
85
+ "extra.add.envKeyHint": "Namanya saja. ORC tidak pernah membaca nilainya ke tempat yang bisa dicetak.",
86
+ "extra.add.key": "kuncinya",
87
+ "extra.add.keyPh": "tempel di sini",
88
+ "extra.add.keyHint": "Dikirim sekali, untuk menguji koneksi. Tidak ditulis ke mana pun kecuali pengujian berhasil dan Anda memberi passphrase.",
89
+ "extra.add.vaultWarn": "Environment variable yang sudah dilindungi sistem operasi Anda lebih baik daripada passphrase yang akan Anda lupakan. Simpan kunci di sini hanya jika Anda memang enggan mengurus variabel — dan catat passphrase-nya dulu, karena ORC tidak bisa memulihkannya.",
90
+ "extra.add.needName": "Beri nama dulu.",
91
+ "extra.probe.head": "Apa yang dilakukan pengujian ini, sebelum Anda menekannya",
92
+ "extra.probe.free": "Pertama ia meminta daftar model milik penyedia. Ini tidak berbiaya dan tidak ada model yang berjalan.",
93
+ "extra.probe.paid": "Hanya jika daftar itu tidak tersedia ia mengirim satu permintaan satu token, yang berbiaya sepersekian sen. ORC memberi tahu setelahnya mana dari keduanya yang benar-benar menjawab.",
94
+ "extra.wire.you": "mesin ini",
95
+ "extra.wire.provider": "penyedia",
96
+ "extra.test.button": "Uji koneksi",
97
+ "extra.test.running": "menguji…",
98
+ "extra.test.title": "Uji {name}",
99
+ "extra.test.vaultedNote": "Kunci koneksi ini tersimpan di sini, terenkripsi. Berikan passphrase Anda dan ORC membuka kuncinya hanya selama pengujian — kuncinya tidak pernah dicetak dan tidak pernah ditulis ke mana pun. Passphrase yang salah memakai satu percobaan Anda, sama seperti di tempat lain.",
100
+ "extra.result.verified": "menjawab · {how}",
101
+ "extra.result.reverted": "Pengujian gagal, jadi tidak ada yang disimpan: kuncinya dibuang dan koneksinya dihapus. Tidak ada yang tertinggal setengah jadi.",
102
+ "extra.save.head": "Simpan kunci ini?",
103
+ "extra.save.warning": "Catat passphrase Anda di tempat aman sekarang. ORC tidak menyimpannya dan tidak bisa memulihkannya. Jika hilang, kunci yang tersimpan ikut hilang dan Anda menempelkan kunci baru dari penyedia. Setelah sepuluh percobaan salah ORC menghapus kunci itu dengan sengaja.",
104
+ "extra.save.pass": "passphrase",
105
+ "extra.save.passPh": "tidak ditampilkan",
106
+ "extra.save.passHint": "Hanya Anda yang tahu ini. Tidak pernah disimpan, tidak pernah dicatat, dan tidak pernah ditunjukkan ke model.",
107
+ "extra.save.again": "ulangi",
108
+ "extra.save.againPh": "ketik sekali lagi",
109
+ "extra.save.button": "Simpan kuncinya",
110
+ "extra.save.mismatch": "Kedua passphrase tidak sama. Tidak ada yang disimpan.",
111
+ "extra.save.stored": "Kunci tersimpan, terenkripsi (pepper: {pepper}).",
112
+ "extra.unlock.button": "Buktikan passphrase",
113
+ "extra.unlock.title": "Buka kunci {name}",
114
+ "extra.unlock.what": "Ini hanya memeriksa passphrase Anda. Kuncinya tidak pernah dicetak dan tidak pernah keluar dari vault. Kalau benar, hitungan percobaan salah kembali ke nol.",
115
+ "extra.unlock.ok": "Benar. Hitungan percobaan salah kembali ke nol, dan kuncinya tidak dicetak ke mana pun.",
116
+ "extra.remove.button": "Hapus",
117
+ "extra.remove.title": "Hapus {name}",
118
+ "extra.remove.what": "Ini menghapus koneksi {name} dan setiap baris routing yang menunjuk ke sana. Pekerjaan yang tadinya dikirim ke sana kembali ke tempatnya berjalan hari ini.",
119
+ "extra.remove.reason": "alasan",
120
+ "extra.remove.reasonPh": "kenapa Anda menghapusnya?",
121
+ "extra.remove.reasonHint": "Wajib. Perubahan cara repo ini membangun tanpa alasan tercatat adalah perubahan yang tak bisa dijelaskan siapa pun tiga minggu lagi.",
122
+ "extra.remove.done": "{name} dihapus.",
123
+ "extra.fixture": "Ini mode fixture: tidak ada yang benar-benar dijalankan dan tidak ada yang dihubungi.",
124
+ "extra.routing.title": "Di mana tiap tugas berjalan",
125
+ "extra.routing.sub": "Setiap baris adalah satu rentang skor. Klik satu baris untuk mengubah tempat rentang itu dijalankan.",
126
+ "extra.routing.gapNote": "Setiap rentang yang tidak Anda hubungkan tetap di Claude, dan barisnya tetap ada.",
127
+ "extra.routing.gapWhy": "Celah bukan lubang. Setiap rentang yang tidak Anda hubungkan ke mana pun digambar dengan warna Claude beserta agen yang benar-benar dipakai, supaya “saya sengaja meninggalkan pekerjaan terberat di Claude” dan “tidak ada band teratas” tidak pernah terlihat sama.",
128
+ "extra.routing.legendExtra": "Pekerjaan ini keluar dari mesin Anda.",
129
+ "extra.routing.legendClaude": "Pekerjaan ini tetap di Claude.",
130
+ "extra.routing.locked": "Belum ada yang bisa diarahkan.",
131
+ "extra.routing.lockedHint": "Uji satu koneksi dulu. Pekerjaan tidak pernah dikirim ke tempat yang belum menjawab, jadi editornya terbuka begitu ada satu yang menjawab.",
132
+ "extra.routing.editNote": "Tidak ada yang ditulis sampai Anda menekan Apply. Tiap baris ditulis sendiri-sendiri, jadi satu baris yang ditolak CLI tidak membatalkan yang lain.",
133
+ "extra.routing.pickProfile": "pilih koneksi…",
134
+ "extra.routing.untested": "(belum diuji)",
135
+ "extra.routing.modelPh": "nama model",
136
+ "extra.routing.route": "Kirim rentang ini ke sana",
137
+ "extra.routing.clear": "Kembali ke Claude",
138
+ "extra.routing.kvProfile": "Koneksi",
139
+ "extra.routing.kvModel": "Model",
140
+ "extra.routing.kvSmall": "Model kecil",
141
+ "extra.routing.kvTurns": "Batas putaran",
142
+ "extra.routing.staged": "menunggu Apply",
143
+ "extra.routing.stagedSet": "{target}",
144
+ "extra.routing.stagedClear": "kembali ke Claude",
145
+ "extra.routing.modelGone": "model tak terdaftar",
146
+ "extra.reset.title": "Kembalikan guardrail ke bawaan",
147
+ "extra.reset.body": "Ini menghapus pengaturan berikut dari file config Anda, sehingga masing-masing kembali ke bawaan ORC. Koneksi dan routing Anda TIDAK disentuh.",
148
+ "extra.reset.note": "Menghapus sebuah pengaturan tidak sama dengan mengisinya dengan nilai bawaan — kuncinya tidak lagi ada di file sama sekali.",
149
+ "extra.reset.apply": "Reset",
150
+ "extra.reset.done": "{n} pengaturan kembali ke bawaan.",
151
+ "extra.reset.label": "Reset guardrail",
152
+ "extra.routing.undo": "Batalkan",
153
+ "extra.slots.title": "Tempat setiap tugas tetap berjalan",
154
+ "extra.slots.sub": "Beberapa jalur tidak memberi skor. Mereka memberi satu tugas ke satu agen. Pilih tempat setiap tugas berjalan.",
155
+ "extra.slots.subWhy": "Skor adalah yang dibutuhkan sebuah rentang, dan empat jalur tidak pernah menghasilkannya. Sampai v0.55.0 jalur itu dirutekan dengan membaca rentang skor agen yang mereka kunci — aritmetika atas angka yang tidak dipilih siapa pun. Sebuah tugas kini adalah posisi bernama dengan satu koneksi dan satu model.",
156
+ "extra.slots.keepsSlotWhy": "Tugas tanpa koneksi tetap punya barisnya sendiri dan digambar sebagai agen Claude tempat ia kembali. Menyembunyikannya akan membuat “saya sengaja membiarkan checker di Claude” dan “tidak ada checker” terlihat sama.",
157
+ "extra.slots.asked": "Anda ditanya di gerbang, setiap kali",
158
+ "extra.slots.hold": "Kirim tugas ini ke sana",
159
+ "extra.slots.clear": "Kembali ke Claude",
160
+ "extra.slots.displaces": "Ini mengambil tugas dari: {agents}",
161
+ "extra.slots.kvDisplaces": "Mengambil tugas dari",
162
+ "extra.slots.stagedSet": "{slot} → {target}",
163
+ "extra.slots.stagedClear": "kembali ke {agent}",
164
+ "extra.slots.confirmReplace": "{slot} sudah berjalan di {old}. Ganti dengan {next}?",
165
+ "extra.slots.unreachable": "Peran ini bisa diatur di konfigurasi Anda, dan belum ada yang menjalankannya:",
166
+ "extra.guard.title": "Batas yang Anda tetapkan",
167
+ "extra.guard.sub": "Ubah satu batas di sini, lalu tekan Apply.",
168
+ "extra.guard.subWhy": "Ini setelan ORC biasa, ditampilkan di sini karena di sinilah setelan itu berarti. Semuanya dibaca dari berkas yang sama dengan yang disunting panel Settings, dan ditulis oleh perintah yang sama.",
169
+ "extra.guard.none": "Tidak ada pengaturan yang dikembalikan.",
170
+ "extra.cost.title": "Apa yang dijalankan, dan berapa biayanya",
171
+ "extra.cost.none": "Belum ada yang dikirim ke tempat lain.",
172
+ "extra.cost.noneHint": "Bagian ini terisi pertama kali sebuah tugas benar-benar berjalan di tempat lain. ORC mencatat setiap kejadian saat itu juga.",
173
+ "extra.cost.dispatches": "{n} tugas dikirim",
174
+ "extra.cost.scanned": "dari {n} jejak",
175
+ "extra.cost.sources": "{log} dicatat ORC · {traces} dibaca dari jejak · {backfill} dipulihkan dari hasil run tersimpan",
176
+ "extra.cost.sourcesWhy": "ORC menulis setiap pengiriman ke luar ke catatannya sendiri begitu pekerja menjawab, sehingga angka biaya tidak pernah bergantung pada sebuah run yang harus ingat menarasikannya. Jejak dan hasil run tersimpan juga dibaca, sehingga pengiriman yang dibuat sebelum catatan itu ada tetap muncul. Pengiriman yang sama hanya pernah dihitung sekali.",
177
+ "extra.cost.unreadable": "Sebagian baris pada catatan tidak dapat dibaca: {n}. Pengiriman itu tidak dihitung pada total di bawah.",
178
+ "extra.cost.undated": "Sebagian hasil run tersimpan tidak memuat tanggal: {n}. Filter tanggal mengabaikannya. Hapus filter untuk menyertakannya.",
179
+ "extra.cost.priceTable": "Harga berasal dari tabel bertanggal {as_of} (umur {days} hari). Tidak ada yang diberi harga kecuali ORC punya tarifnya.",
180
+ "extra.cost.nDispatches": "{n} dikirim",
181
+ "extra.cost.never": "Belum ada yang berjalan di rentang ini, jadi tidak ada yang bisa dilaporkan — bukan biaya nol, melainkan tidak ada pengukuran sama sekali.",
182
+ "extra.cost.unrouted": "tidak lagi diarahkan",
183
+ "extra.cost.partial": "Angka ini berasal dari {got} dari {of} tugas — {missing} tidak melaporkan angka sama sekali. Sisanya tidak diketahui, bukan nol.",
184
+ "extra.cost.usd": "usd {usd}",
185
+ "extra.cost.noRate": "usd — · tidak ada tarif untuk {provider} di tabel harga, dan angka yang tidak dihitung ORC sendiri tidak pernah dicetak.",
186
+ "extra.cost.substitutions": "Anda tidak mendapat model yang diminta",
187
+ "extra.cost.reroutes": "Modelnya tetap dan perusahaan lain yang melayaninya",
188
+ "extra.cost.fallbacks": "Gagal, dan Claude yang menyelesaikannya",
189
+ "extra.cost.more": "…dan {n} lagi",
190
+ "extra.cost.missingRates": "Pasangan tanpa harga",
191
+ "extra.cost.ratesWhy": "Mencetak JSON untuk ditempel bagi setiap pasangan penyedia dan model yang belum punya tarif.",
192
+ "extra.routing.recomputed": "dihitung ulang saat Apply",
193
+ "extra.test.passHint": "Membuka kunci tersimpan untuk pengujian ini saja. Biarkan kosong jika Anda menempelkan kunci pengganti di bawah.",
194
+ "extra.test.replaceKey": "atau tempel kunci baru",
195
+ "extra.test.replaceKeyHint": "Hanya jika Anda mengganti kuncinya di penyedia. Ini MENGGANTI yang tersimpan, dan meminta passphrase lagi setelah pengujian berhasil.",
196
+ "extra.gate.hidden": "Hubungkan satu penyedia lalu uji. Perutean, batas, dan pengeluaran muncul setelah itu.",
197
+ "extra.gate.hiddenWhy": "Semuanya adalah kendali untuk pekerjaan yang belum bisa terjadi sampai ada yang menjawab, dan mengaturnya sekarang hanya akan terlihat seolah ada yang terjadi.",
198
+ "extra.gate.neverTested": "Anda punya koneksi, tetapi belum pernah menjawab. Ujilah — tidak ada yang pernah dikirim ke tempat yang belum terbukti bekerja.",
199
+ "extra.gate.noConnection": "Belum ada yang terhubung, jadi belum ada tujuan untuk pekerjaan. Pasang alat di atas, atau tambahkan koneksi ke penyedia dan beri kuncinya.",
200
+ "extra.gate.title": "Siapkan satu koneksi dulu",
201
+ "extra.live.cacheRead": "dibaca dari cache",
202
+ "extra.live.cacheWrite": "ditulis ke cache",
203
+ "extra.live.input": "masukan baru",
204
+ "extra.live.noReport": "alat ini tidak memberi tahu model mana yang menjawab, jadi kalau diam-diam memakai model lain, tidak ada cara mengetahuinya dari sini",
205
+ "extra.live.output": "keluaran",
206
+ "extra.live.reply": "yang kembali",
207
+ "extra.live.reported": "model yang menjawab",
208
+ "extra.live.requested": "model yang diminta",
209
+ "extra.live.truncated": "Dipendekkan. ORC hanya menyimpan bagian awal jawaban.",
210
+ "extra.probe.cliFree": "ORC memeriksa empat hal gratis dulu. Programnya ada. Versinya cukup baru. Ada sesi masuk. Ia mendaftar model yang bisa dijangkau akun Anda. Tidak ada model yang berjalan, dan tidak ada biaya.",
211
+ "extra.probe.cliPaid": "Mengirim pesan sungguhan adalah tombol terpisah. Pada alat seperti ini biayanya tidak murah. Alat itu memuat instruksinya sendiri dulu. Satu pesan pendek lalu memakan ribuan kata input.",
212
+ "extra.test.live": "Kirim pesan sungguhan",
213
+ "extra.test.model": "model yang diuji",
214
+ "extra.test.modelHint": "Hanya dipakai oleh tombol pesan sungguhan. Model yang ada di daftar ini berarti penyedianya menawarkannya — bukan berarti ia bekerja.",
215
+ "extra.tools.absentWhat": "Program ini belum terpasang di sini. Tidak ada tempat untuk masuk dan tidak ada model untuk didaftar. Pasang dulu, lalu hubungkan.",
216
+ "extra.tools.altNone": "Tidak ada cara memakai yang satu ini tanpa memasangnya. Ini bukan sesuatu yang lupa dicari ORC — alat ini memang tidak punya alamat yang bisa dituju.",
217
+ "extra.tools.altYes": "Anda juga bisa melakukannya tanpa memasang apa pun, memakai:",
218
+ "extra.tools.auth": "sudah masuk",
219
+ "extra.tools.authNo": "tidak",
220
+ "extra.tools.authYes": "ya",
221
+ "extra.tools.connect": "Hubungkan",
222
+ "extra.tools.connectedAs": "terhubung sebagai",
223
+ "extra.tools.connectedUntested": "Koneksi ke alat ini sudah ada, dan belum pernah menjawab tes. Tes dulu sebelum ORC mengirim pekerjaan ke sana.",
224
+ "extra.tools.test": "Tes",
225
+ "extra.tools.addAnother": "Tambah koneksi lain",
226
+ "extra.tools.floor": "paling tua yang didukung",
227
+ "extra.tools.install": "Pasangkan untuk saya",
228
+ "extra.tools.keyhelpNoProfile": "Tambahkan koneksi dulu — kunci mana yang dipakai adalah milik koneksi, bukan milik alatnya.",
229
+ "extra.tools.keyhelpSub": "Apa yang dibutuhkan alat ini dari Anda, dan bagian mana yang bisa dikerjakan ORC untuk Anda.",
230
+ "extra.tools.loginManual": "ORC tidak bisa mengetikkannya untuk Anda: alat ini selalu bertanya di papan ketik. Tekan dan ORC membuka terminal tepat pada perintah itu.",
231
+ "extra.tools.models": "model yang ditawarkan",
232
+ "extra.tools.more": "Rincian",
233
+ "extra.tools.neverElevates": "ORC tidak pernah meminta hak administrator dan tidak pernah menjalankan apa pun sebagai pengguna lain. Kalau pemasangannya butuh itu, Anda akan melihatnya meminta, di jendela Anda sendiri, dan itu keputusan Anda.",
234
+ "extra.tools.noCommand": "ORC tidak punya perintah pemasangan untuk komputer ini. Dokumentasinya sendiri adalah jalannya.",
235
+ "extra.tools.none": "Tidak ada di katalog yang berjalan sebagai program lokal.",
236
+ "extra.tools.outdatedWhat": "Versi Anda lebih lama dari yang bisa dijalankan ORC. Versi lama memakai opsi yang berbeda. Kegagalannya lalu terlihat seperti masalah model, bukan masalah versi.",
237
+ "extra.tools.recheck": "Periksa lagi",
238
+ "extra.tools.recheckWhy": "Tekan ini setelah Anda memasang sesuatu di jendela lain.",
239
+ "extra.tools.sub": "ORC memeriksa program ini di komputer Anda setiap kali Anda membuka halaman ini.",
240
+ "extra.tools.subWhy": "Sebagian tujuan kerja ORC adalah program yang terpasang di komputer Anda sendiri, bukan situs yang dipanggilnya. Sebuah program bisa saja tidak ada, jadi jawabannya tidak pernah diingat.",
241
+ "extra.tools.title": "Alat yang ada di komputer ini",
242
+ "extra.tools.unauthWhat": "Sudah terpasang, tetapi tidak ada masuk-akun yang bisa dilihat ORC. Ini yang dibutuhkan:",
243
+ "extra.tools.version": "versi",
244
+ "extra.tools.versionUnknown": "tidak diketahui — ORC tidak bisa membacanya, dan itu tidak dianggap terlalu tua",
245
+ "extra.tools.willRun": "ORC akan menjalankan persis ini, di jendela terminal yang bisa Anda lihat:",
246
+ "extra.profile.credentialTool": "alatnya menyimpan masuk-akunnya sendiri — ORC tidak punya kunci untuk yang ini dan memang tidak perlu",
247
+ "extra.strip.passphrase": "passphrase sampai",
248
+ "extra.session.title": "Simpan passphrase",
249
+ "extra.session.keepFor": "Simpan passphrase ini selama",
250
+ "extra.session.keepForHint": "Setelah tanggal ini ORC menghentikan run, bukan memindahkan pekerjaan kembali ke Claude. Anda yang menetapkan tanggalnya; ORC menaatinya.",
251
+ "extra.session.days": "{n} hari",
252
+ "extra.session.until": "Disimpan sampai {date}.",
253
+ "extra.session.honesty": "Selama passphrase ini tersimpan, apa pun yang bisa berjalan sebagai Anda di komputer ini bisa membuka koneksinya. Tenggatnya yang membatasi itu. Menyalin folder proyek ke komputer lain tidak membukanya.",
254
+ "extra.session.save": "Simpan",
255
+ "extra.session.abandon": "Jangan simpan · putuskan koneksi ini",
256
+ "extra.session.opened": "Masukkan passphrase di jendela yang baru terbuka.",
257
+ "extra.session.active": "passphrase sampai {date}",
258
+ "extra.session.expiring": "passphrase sampai {date} · sisa {days} hari",
259
+ "extra.session.expired": "passphrase kedaluwarsa",
260
+ "extra.session.none": "passphrase belum disimpan",
261
+ "extra.session.extend": "Tenggat baru",
262
+ "extra.session.forget": "Lupakan sekarang",
263
+ "extra.session.forgetWhat": "ORC menghapus passphrase tersimpan untuk {name}. Kunci yang tersimpan tetap ada. Run berikutnya berhenti dan meminta Anda menghubungkan lagi.",
264
+ "extra.lanes.title": "Band ini mengatur lane yang mana",
265
+ "extra.lanes.sub": "Setiap baris menyatakan apakah lane itu bisa mengirim pekerjaan keluar dari Claude.",
266
+ "extra.lanes.subWhy": "Band adalah hitungan. Lane yang diaturnya adalah keputusan. ORC menghitung setiap baris di bawah; panel ini hanya menampilkannya.",
267
+ "extra.lanes.none": "Belum ada informasi lane.",
268
+ "extra.lanes.edges": "band {band} · tepi {edges} · kedua tepi sepakat: {agree}",
269
+ "extra.keyhelp.session": "Hanya untuk terminal ini",
270
+ "extra.keyhelp.persist": "Agar tetap ada setelah terminal ditutup",
271
+ "extra.tab.recovery": "Pemulihan",
272
+ "extra.recovery.title": "Pengiriman yang tidak selesai",
273
+ "extra.recovery.note": "Pekerja yang berhenti di tengah jalan meninggalkan perubahannya di disk. ORC mencatat keadaan berkas sebelum pekerja itu mulai, jadi ORC dapat memberi tahu Anda apa saja yang berubah.",
274
+ "extra.recovery.noteWhy": "Sampai v0.54.0, pengiriman asing yang gagal dikirim ulang dari awal, seolah-olah repositori belum tersentuh. Biasanya tidak begitu: pekerja yang menulis lima dari enam baris lalu kehilangan koneksi meninggalkan berkas setengah jadi, dan pelaksana pengganti akan menulis ulang pekerjaan yang sudah Anda bayar atau menebak-nebak berdasarkan gambaran yang tidak lagi cocok dengan disk. Jurnal inilah yang membuat perbedaannya terlihat, dan jurnal ditulis oleh CLI saat pengiriman berjalan — bukan oleh lane yang bisa lupa.",
275
+ "extra.recovery.none": "Belum ada pengiriman asing yang tercatat",
276
+ "extra.recovery.noneHint": "ORC mulai mencatat begitu sebuah tugas dikirim ke pekerja non-Claude. Belum ada yang dikirim.",
277
+ "extra.recovery.count": "{n} tercatat",
278
+ "extra.recovery.orphans": "{n} tidak pernah melapor kembali",
279
+ "extra.recovery.inFlight": "{n} masih berjalan",
280
+ "extra.recovery.retention": "disimpan {days} hari setelah selesai bersih",
281
+ "extra.recovery.chipLive": "masih berjalan",
282
+ "extra.recovery.chipOrphan": "tidak pernah melapor kembali",
283
+ "extra.recovery.chipAttempts": "{n} percobaan",
284
+ "extra.recovery.attempt": "percobaan {n} dari {of}",
285
+ "extra.recovery.neverReported": "Pengiriman ini tidak pernah melapor kembali. Prosesnya berakhir sebelum sempat menyampaikan apa yang terjadi.",
286
+ "extra.recovery.attribution": "penyebabnya",
287
+ "extra.recovery.holdWave": "Mengirim tugas ini ke Claude pun akan gagal. Perbaiki penyebabnya dahulu.",
288
+ "extra.recovery.position": "yang berubah di disk",
289
+ "extra.recovery.undeclared": "{path} berubah, dan tugas ini tidak pernah mendeklarasikannya.",
290
+ "extra.recovery.lastAction": "Tindakan terakhir: {action}",
291
+ "extra.recovery.torn": "{n} baris log terpotong dan tidak dapat dibaca.",
292
+ "extra.recovery.acceptance": "yang harus dicapai tugas ini",
293
+ "extra.recovery.blocked": "Terhalang: {why}",
294
+ "extra.recovery.target": "siapa yang harus melanjutkan",
295
+ "extra.recovery.readFailed": "Perintah reconcile tidak menjawab.",
296
+ "extra.recovery.resumeWhy": "Ini menulis berkas tugas baru yang membawa apa yang sudah ada di disk. Pekerja yang mengambilnya memakan biaya, jadi ORC tidak menjalankannya untuk Anda.",
297
+ "extra.recovery.reconcileWhy": "Pembacaan ini gratis. Ia membandingkan berkas sekarang dengan yang dicatat ORC sebelum pengiriman dimulai.",
298
+ "extra.recovery.prune.title": "Hapus catatan lama",
299
+ "extra.recovery.prune.note": "Hanya catatan yang setiap percobaannya selesai bersih, dan yang tidak berubah selama 30 hari, yang dapat dihapus. Pengiriman yang tidak pernah melapor kembali tidak pernah dihapus.",
300
+ "extra.recovery.prune.preview": "Lihat apa yang akan dihapus",
301
+ "extra.recovery.prune.apply": "Hapus",
302
+ "extra.recovery.prune.none": "Belum ada yang dapat dihapus.",
303
+ "extra.recovery.prune.would": "{n} catatan akan dihapus:",
304
+ "extra.rel.title": "seberapa sering setiap koneksi menyelesaikan tugas",
305
+ "extra.rel.none": "Belum ada yang dikirim.",
306
+ "extra.rel.counts": "{n} pengiriman · {failed} gagal · {resumed} dilanjutkan · {orphaned} tidak melapor kembali",
307
+ "extra.rel.tooSmall": "sampel terlalu sedikit (perlu {floor})",
308
+ "extra.rel.rate": "{pct}% tidak selesai",
309
+ "extra.rel.attribution": "provider {provider} · network {network} · local {local} · worker {worker} · orc {orc} · unattributed {unattributed}",
310
+ "extra.rel.mttf": "rata-rata waktu sebelum gagal: {s} detik",
311
+ "extra.rel.unreadable": "{n} catatan tidak dapat dibaca dan tidak dihitung di atas.",
312
+ "extra.rel.noResult": "{n} percobaan tidak punya hasil dan tidak dihitung di atas.",
313
+ "extra.demotion.title": "Penurunan pada run ini",
314
+ "extra.demotion.note": "Pekerja yang macet dua kali dalam satu run tetap di Claude untuk sisa run itu.",
315
+ "extra.demotion.noteWhy": "Kebalikan dari mengirim pekerjaan keluar Claude tanpa memberi tahu adalah lane yang diam-diam berhenti. Penurunan yang tidak terlihat siapa pun adalah subsistem yang mendadak sunyi, jadi kartu ini tetap tampil walau tidak ada yang diturunkan. Tidak ada yang disimpan di sini: putusannya dihitung ulang dari jurnal di disk setiap kali Anda membukanya. Hanya bagian manusianya — satu promote atau penurunan manual, dengan alasannya — yang dicatat, dan itu terhapus bersama run-nya.",
316
+ "extra.demotion.noRun": "Tidak ada run yang terbuka",
317
+ "extra.demotion.noRunHint": "Penurunan hanya berlaku pada satu run. Tanpa run yang terbuka tidak ada jam yang bisa dilaporkan.",
318
+ "extra.demotion.stateArmed": "aktif",
319
+ "extra.demotion.stateDemoted": "diturunkan",
320
+ "extra.demotion.clockConsecutive": "Jam beruntun",
321
+ "extra.demotion.clockStale": "Jam diam",
322
+ "extra.demotion.clockStalls": "{n} pengiriman macet",
323
+ "extra.demotion.clockMinutes": "{n} menit tanpa kemajuan",
324
+ "extra.demotion.clockOff": "mati",
325
+ "extra.demotion.ladder": "Tangga sekarang",
326
+ "extra.demotion.noProfiles": "Belum ada yang masuk jurnal",
327
+ "extra.demotion.noProfilesHint": "Belum ada pengiriman asing pada run ini yang melapor balik, jadi tidak ada jam yang punya sesuatu untuk dihitung.",
328
+ "extra.demotion.chipRouting": "berjalan",
329
+ "extra.demotion.chipDemoted": "diturunkan",
330
+ "extra.demotion.stalls": "macet {n}/{of}",
331
+ "extra.demotion.quiet": "percobaan aktif {task} diam selama {min}m",
332
+ "extra.demotion.resetBy": "penghitung disetel ulang oleh {task} ({outcome})",
333
+ "extra.demotion.resumes": "{n} lanjutan dari macet yang sama — tidak dihitung dua kali",
334
+ "extra.demotion.unattributed": "{n} percobaan jurnal tidak membawa run dan tidak dihitung oleh jam run mana pun.",
335
+ "extra.demotion.override": "{state} secara manual pada {at} — “{reason}”",
336
+ "extra.demotion.promote": "Naikkan kembali",
337
+ "extra.demotion.promoteHint": "Perlu alasan. Alasannya dicatat bersama run.",
338
+ "extra.demotion.promoteTitle": "Naikkan kembali run ini",
339
+ "extra.demotion.promoteWhat": "Run {run} akan mengarah ke {profiles} lagi.",
340
+ "extra.demotion.promoteWatermark": "Promote memaafkan bukti yang sudah dilihatnya. Itu tidak mematikan jamnya — dua kemacetan lagi pada run ini akan menurunkannya kembali.",
341
+ "extra.demotion.reasonPlaceholder": "Kenapa Anda menaikkannya kembali?",
342
+ "extra.demotion.reasonAria": "Alasan menaikkan kembali run ini",
343
+ "extra.demotion.reasonRequired": "Alasan wajib diisi. Perubahan status tanpa alasan tertulis tidak bisa diaudit siapa pun nanti.",
344
+ "extra.demotion.promoted": "Run {run} mengarah ke penyedia asing lagi."
345
+ }