@nocobase/app-plugin-agents 2.0.0-beta.6 → 2.0.0-beta.7

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 (218) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +4 -2
  3. package/dist/client/chat/controller.d.ts.map +1 -1
  4. package/dist/client/chat/controller.js +3 -2
  5. package/dist/client/chat/controller.js.map +1 -1
  6. package/dist/client/chat/notices.d.ts +12 -0
  7. package/dist/client/chat/notices.d.ts.map +1 -0
  8. package/dist/client/chat/notices.js +15 -0
  9. package/dist/client/chat/notices.js.map +1 -0
  10. package/dist/client/chat/submissions.d.ts +16 -0
  11. package/dist/client/chat/submissions.d.ts.map +1 -1
  12. package/dist/client/chat/submissions.js +22 -0
  13. package/dist/client/chat/submissions.js.map +1 -1
  14. package/dist/client/chat.d.ts +1 -0
  15. package/dist/client/chat.d.ts.map +1 -1
  16. package/dist/client/chat.js +1 -0
  17. package/dist/client/chat.js.map +1 -1
  18. package/dist/client/components/ui/alert-dialog.d.ts +3 -1
  19. package/dist/client/components/ui/alert-dialog.d.ts.map +1 -1
  20. package/dist/client/components/ui/alert-dialog.js +2 -2
  21. package/dist/client/components/ui/alert-dialog.js.map +1 -1
  22. package/dist/client/locales/de-DE.d.ts.map +1 -1
  23. package/dist/client/locales/de-DE.js +134 -109
  24. package/dist/client/locales/de-DE.js.map +1 -1
  25. package/dist/client/locales/en-US.d.ts +1 -0
  26. package/dist/client/locales/en-US.d.ts.map +1 -1
  27. package/dist/client/locales/en-US.js +3 -2
  28. package/dist/client/locales/en-US.js.map +1 -1
  29. package/dist/client/locales/es-ES.d.ts.map +1 -1
  30. package/dist/client/locales/es-ES.js +211 -186
  31. package/dist/client/locales/es-ES.js.map +1 -1
  32. package/dist/client/locales/fr-FR.d.ts.map +1 -1
  33. package/dist/client/locales/fr-FR.js +143 -118
  34. package/dist/client/locales/fr-FR.js.map +1 -1
  35. package/dist/client/locales/id-ID.d.ts.map +1 -1
  36. package/dist/client/locales/id-ID.js +132 -107
  37. package/dist/client/locales/id-ID.js.map +1 -1
  38. package/dist/client/locales/index.d.ts.map +1 -1
  39. package/dist/client/locales/index.js +2 -0
  40. package/dist/client/locales/index.js.map +1 -1
  41. package/dist/client/locales/ja-JP.d.ts.map +1 -1
  42. package/dist/client/locales/ja-JP.js +215 -190
  43. package/dist/client/locales/ja-JP.js.map +1 -1
  44. package/dist/client/locales/ko-KR.d.ts +5 -0
  45. package/dist/client/locales/ko-KR.d.ts.map +1 -0
  46. package/dist/client/locales/ko-KR.js +1311 -0
  47. package/dist/client/locales/ko-KR.js.map +1 -0
  48. package/dist/client/locales/pt-BR.d.ts.map +1 -1
  49. package/dist/client/locales/pt-BR.js +205 -180
  50. package/dist/client/locales/pt-BR.js.map +1 -1
  51. package/dist/client/locales/ru-RU.d.ts +5 -0
  52. package/dist/client/locales/ru-RU.d.ts.map +1 -0
  53. package/dist/client/locales/ru-RU.js +1341 -0
  54. package/dist/client/locales/ru-RU.js.map +1 -0
  55. package/dist/client/locales/runtimes.en-US.d.ts +1 -0
  56. package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
  57. package/dist/client/locales/runtimes.en-US.js +3 -2
  58. package/dist/client/locales/runtimes.en-US.js.map +1 -1
  59. package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
  60. package/dist/client/locales/runtimes.zh-CN.js +3 -2
  61. package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
  62. package/dist/client/locales/vi-VN.d.ts.map +1 -1
  63. package/dist/client/locales/vi-VN.js +171 -146
  64. package/dist/client/locales/vi-VN.js.map +1 -1
  65. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  66. package/dist/client/locales/zh-CN.js +3 -2
  67. package/dist/client/locales/zh-CN.js.map +1 -1
  68. package/dist/client/locales/zh-TW.d.ts.map +1 -1
  69. package/dist/client/locales/zh-TW.js +148 -123
  70. package/dist/client/locales/zh-TW.js.map +1 -1
  71. package/dist/client/pages/runtimes/quota.d.ts +3 -2
  72. package/dist/client/pages/runtimes/quota.d.ts.map +1 -1
  73. package/dist/client/pages/runtimes/quota.js +8 -3
  74. package/dist/client/pages/runtimes/quota.js.map +1 -1
  75. package/dist/client/pages/runtimes/runner-tools.d.ts.map +1 -1
  76. package/dist/client/pages/runtimes/runner-tools.js +7 -16
  77. package/dist/client/pages/runtimes/runner-tools.js.map +1 -1
  78. package/dist/client/pages/usage/date-range-picker.d.ts.map +1 -1
  79. package/dist/client/pages/usage/date-range-picker.js +3 -1
  80. package/dist/client/pages/usage/date-range-picker.js.map +1 -1
  81. package/dist/database/migrations/.manifest.json +8 -0
  82. package/dist/database/migrations/202611070001_ag_run_runner_pin.d.ts +4 -0
  83. package/dist/database/migrations/202611070001_ag_run_runner_pin.d.ts.map +1 -0
  84. package/dist/database/migrations/202611070001_ag_run_runner_pin.js +17 -0
  85. package/dist/database/migrations/202611070001_ag_run_runner_pin.js.map +1 -0
  86. package/dist/database/migrations/202611080002_ag_run_failure_params.d.ts +4 -0
  87. package/dist/database/migrations/202611080002_ag_run_failure_params.d.ts.map +1 -0
  88. package/dist/database/migrations/202611080002_ag_run_failure_params.js +17 -0
  89. package/dist/database/migrations/202611080002_ag_run_failure_params.js.map +1 -0
  90. package/dist/package.json +1 -1
  91. package/dist/server/composition.d.ts +2 -0
  92. package/dist/server/composition.d.ts.map +1 -1
  93. package/dist/server/composition.js +1 -1
  94. package/dist/server/composition.js.map +1 -1
  95. package/dist/server/core/agents/agent.service.d.ts +2 -1
  96. package/dist/server/core/agents/agent.service.d.ts.map +1 -1
  97. package/dist/server/core/agents/agent.service.js.map +1 -1
  98. package/dist/server/core/agents/agent.store.d.ts +2 -2
  99. package/dist/server/core/agents/agent.store.d.ts.map +1 -1
  100. package/dist/server/core/agents/agent.store.js +8 -2
  101. package/dist/server/core/agents/agent.store.js.map +1 -1
  102. package/dist/server/core/brief/brief.d.ts +10 -5
  103. package/dist/server/core/brief/brief.d.ts.map +1 -1
  104. package/dist/server/core/brief/brief.js +36 -13
  105. package/dist/server/core/brief/brief.js.map +1 -1
  106. package/dist/server/core/brief/index.d.ts +1 -1
  107. package/dist/server/core/brief/index.d.ts.map +1 -1
  108. package/dist/server/core/brief/index.js +1 -1
  109. package/dist/server/core/brief/index.js.map +1 -1
  110. package/dist/server/core/runs/claim.d.ts +13 -3
  111. package/dist/server/core/runs/claim.d.ts.map +1 -1
  112. package/dist/server/core/runs/claim.js +203 -36
  113. package/dist/server/core/runs/claim.js.map +1 -1
  114. package/dist/server/core/runs/extensions.d.ts +4 -1
  115. package/dist/server/core/runs/extensions.d.ts.map +1 -1
  116. package/dist/server/core/runs/extensions.js +3 -1
  117. package/dist/server/core/runs/extensions.js.map +1 -1
  118. package/dist/server/core/runs/git-credentials.d.ts.map +1 -1
  119. package/dist/server/core/runs/git-credentials.js +24 -2
  120. package/dist/server/core/runs/git-credentials.js.map +1 -1
  121. package/dist/server/core/runs/identity.d.ts.map +1 -1
  122. package/dist/server/core/runs/identity.js +9 -0
  123. package/dist/server/core/runs/identity.js.map +1 -1
  124. package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
  125. package/dist/server/core/runs/lifecycle.js +14 -0
  126. package/dist/server/core/runs/lifecycle.js.map +1 -1
  127. package/dist/server/core/runs/ports.d.ts +7 -0
  128. package/dist/server/core/runs/ports.d.ts.map +1 -1
  129. package/dist/server/core/runs/ports.js.map +1 -1
  130. package/dist/server/core/runs/preview.d.ts +1 -4
  131. package/dist/server/core/runs/preview.d.ts.map +1 -1
  132. package/dist/server/core/runs/preview.js +10 -5
  133. package/dist/server/core/runs/preview.js.map +1 -1
  134. package/dist/server/core/runs/quota-wait.d.ts +7 -0
  135. package/dist/server/core/runs/quota-wait.d.ts.map +1 -0
  136. package/dist/server/core/runs/quota-wait.js +56 -0
  137. package/dist/server/core/runs/quota-wait.js.map +1 -0
  138. package/dist/server/core/runs/run-data-purge.d.ts.map +1 -1
  139. package/dist/server/core/runs/run-data-purge.js +1 -0
  140. package/dist/server/core/runs/run-data-purge.js.map +1 -1
  141. package/dist/server/core/runs/run.service.d.ts +13 -0
  142. package/dist/server/core/runs/run.service.d.ts.map +1 -1
  143. package/dist/server/core/runs/run.service.js +84 -3
  144. package/dist/server/core/runs/run.service.js.map +1 -1
  145. package/dist/server/core/runs/run.store.d.ts +2 -0
  146. package/dist/server/core/runs/run.store.d.ts.map +1 -1
  147. package/dist/server/core/runs/run.store.js +3 -0
  148. package/dist/server/core/runs/run.store.js.map +1 -1
  149. package/dist/server/core/runs/sweeper.d.ts.map +1 -1
  150. package/dist/server/core/runs/sweeper.js +2 -0
  151. package/dist/server/core/runs/sweeper.js.map +1 -1
  152. package/dist/server/core/runs/transitions.d.ts +1 -0
  153. package/dist/server/core/runs/transitions.d.ts.map +1 -1
  154. package/dist/server/core/runs/transitions.js +15 -1
  155. package/dist/server/core/runs/transitions.js.map +1 -1
  156. package/dist/server/core/runs/workload.d.ts +1 -1
  157. package/dist/server/core/runs/workload.d.ts.map +1 -1
  158. package/dist/server/core/runs/workload.js +19 -4
  159. package/dist/server/core/runs/workload.js.map +1 -1
  160. package/dist/server/kernel/clock.d.ts +2 -0
  161. package/dist/server/kernel/clock.d.ts.map +1 -1
  162. package/dist/server/kernel/clock.js +14 -0
  163. package/dist/server/kernel/clock.js.map +1 -1
  164. package/dist/server/kernel/events.d.ts +4 -1
  165. package/dist/server/kernel/events.d.ts.map +1 -1
  166. package/dist/server/kernel/events.js.map +1 -1
  167. package/dist/server/locales/de-DE.js +3 -3
  168. package/dist/server/locales/de-DE.js.map +1 -1
  169. package/dist/server/locales/es-ES.js +6 -6
  170. package/dist/server/locales/es-ES.js.map +1 -1
  171. package/dist/server/locales/fr-FR.js +4 -4
  172. package/dist/server/locales/fr-FR.js.map +1 -1
  173. package/dist/server/locales/id-ID.js +5 -5
  174. package/dist/server/locales/id-ID.js.map +1 -1
  175. package/dist/server/locales/index.d.ts.map +1 -1
  176. package/dist/server/locales/index.js +2 -0
  177. package/dist/server/locales/index.js.map +1 -1
  178. package/dist/server/locales/ja-JP.d.ts.map +1 -1
  179. package/dist/server/locales/ja-JP.js +6 -6
  180. package/dist/server/locales/ja-JP.js.map +1 -1
  181. package/dist/server/locales/ko-KR.d.ts +5 -0
  182. package/dist/server/locales/ko-KR.d.ts.map +1 -0
  183. package/dist/server/locales/ko-KR.js +59 -0
  184. package/dist/server/locales/ko-KR.js.map +1 -0
  185. package/dist/server/locales/pt-BR.js +6 -6
  186. package/dist/server/locales/pt-BR.js.map +1 -1
  187. package/dist/server/locales/ru-RU.d.ts +5 -0
  188. package/dist/server/locales/ru-RU.d.ts.map +1 -0
  189. package/dist/server/locales/ru-RU.js +59 -0
  190. package/dist/server/locales/ru-RU.js.map +1 -0
  191. package/dist/server/locales/vi-VN.js +6 -6
  192. package/dist/server/locales/vi-VN.js.map +1 -1
  193. package/dist/server/locales/zh-TW.d.ts.map +1 -1
  194. package/dist/server/locales/zh-TW.js +6 -6
  195. package/dist/server/locales/zh-TW.js.map +1 -1
  196. package/dist/server/routes/admin.d.ts.map +1 -1
  197. package/dist/server/routes/admin.js +27 -1
  198. package/dist/server/routes/admin.js.map +1 -1
  199. package/dist/server/routes/runners/admin.d.ts.map +1 -1
  200. package/dist/server/routes/runners/admin.js +3 -3
  201. package/dist/server/routes/runners/admin.js.map +1 -1
  202. package/dist/server/routes/runners/runner.d.ts.map +1 -1
  203. package/dist/server/routes/runners/runner.js +13 -22
  204. package/dist/server/routes/runners/runner.js.map +1 -1
  205. package/dist/server/routes/schemas.d.ts +4 -0
  206. package/dist/server/routes/schemas.d.ts.map +1 -1
  207. package/dist/server/routes/schemas.js +17 -4
  208. package/dist/server/routes/schemas.js.map +1 -1
  209. package/dist/server/runners/runner.service.d.ts.map +1 -1
  210. package/dist/server/runners/runner.service.js +17 -5
  211. package/dist/server/runners/runner.service.js.map +1 -1
  212. package/dist/shared/briefs.d.ts +2 -6
  213. package/dist/shared/briefs.d.ts.map +1 -1
  214. package/dist/shared/runs.d.ts +4 -0
  215. package/dist/shared/runs.d.ts.map +1 -1
  216. package/dist/shared/runs.js.map +1 -1
  217. package/package.json +11 -11
  218. package/skills/nocobase-app-plugin-agents/references/runners.md +1 -1
@@ -1,5 +1,3 @@
1
- import runtimesEnUS from './runtimes.en-US.js';
2
- import chatEnUS from './chat.en-US.js';
3
1
  const idID = {
4
2
  modelSuggestions: {
5
3
  design: 'Penalaran terkuat: usulan, arsitektur, penyelidikan rumit dan peninjauan perubahan penting; juga implementasi rutin dan perubahan lintas paket.',
@@ -55,7 +53,7 @@ const idID = {
55
53
  title: 'Buang perubahan yang belum disimpan?',
56
54
  },
57
55
  errors: {
58
- boundRunnerIncompatible: 'Runner ini tidak dapat menjalankan Agent yang dipilih. Ganti runner atau mulai percakapan baru.',
56
+ boundRunnerIncompatible: 'Lingkungan ini tidak dapat menjalankan Agent yang dipilih. Ganti lingkungan untuk melanjutkan.',
59
57
  CONFLICT: 'Sementara itu, keadaannya berubah. Muat ulang dan coba lagi.',
60
58
  REVISION_CONFLICT: 'Sementara itu, keadaannya berubah. Muat ulang dan coba lagi.',
61
59
  FORBIDDEN: 'Kamu tidak diperbolehkan melakukan ini.',
@@ -100,7 +98,7 @@ const idID = {
100
98
  agents: {
101
99
  unavailableNow: 'Tidak tersedia saat ini',
102
100
  title: 'Agen',
103
- description: 'Tambahkan agen dari model yang dilaporkan runner. Lead Agent menugaskan setiap langkah tugas kepada agen yang deskripsinya sesuai.',
101
+ description: 'Tambahkan Agent dari model yang dilaporkan lingkungan runtime. Lead Agent menyerahkan setiap langkah tugas kepada Agent yang deskripsinya sesuai.',
104
102
  fromRunners: 'Agen dari runner',
105
103
  display: {
106
104
  search: 'Model atau penyedia pencarian',
@@ -108,18 +106,18 @@ const idID = {
108
106
  showDisabled: 'Tampilkan nonaktif',
109
107
  hideDisabled: 'Sembunyikan nonaktif',
110
108
  },
111
- filterLabel: 'Tunjukkan agen',
109
+ filterLabel: 'Tunjukkan Agent',
112
110
  filters: {
113
111
  all: 'Semua {{count}}',
114
112
  enabled: 'Mengaktifkan {{count}}',
115
113
  unreported: 'Tidak ada runner {{count}}',
116
114
  },
117
- loadFailed: 'Tidak dapat memuat agen',
115
+ loadFailed: 'Tidak dapat memuat Agent',
118
116
  loadMore: 'Muat lebih banyak',
119
- emptyTitle: 'Belum ada agen',
120
- emptyDescription: 'Hubungkan runner dengan alat pengkodean yang sudah masuk ke akun, lalu tambahkan agen melalui “Model yang tersedia”.',
121
- noneInFilter: 'Tidak ada agen di sini.',
122
- howToAdd: 'Untuk menambahkan agen, instal alat pengkodean pada runner dan masuk ke akun untuk menggunakan model yang tersedia. Setelah runner melaporkannya, tambahkan agen melalui “Model yang tersedia” dan tuliskan keahliannya. Agen langsung diaktifkan saat ditambahkan. Agen yang hanya tersedia pada runner pribadi hanya mengerjakan tugas yang dimulai oleh pemiliknya.',
117
+ emptyTitle: 'Belum ada Agent',
118
+ emptyDescription: 'Hubungkan runner dengan alat pengkodean yang sudah masuk ke akun, lalu tambahkan Agent melalui “Model yang tersedia”.',
119
+ noneInFilter: 'Tidak ada Agent di sini.',
120
+ howToAdd: 'Untuk menambahkan Agent, pasang alat pemrograman di lingkungan runtime dan masuk ke model yang boleh Anda gunakan: setelah lingkungan runtime melaporkannya, tambahkan dari Model yang tersedia dengan menuliskan keunggulannya. Agent yang hanya dimiliki lingkungan runtime pribadi hanya mengerjakan tugas yang dimulai pemiliknya.',
123
121
  goodAtMissing: 'Belum ditulis',
124
122
  columns: {
125
123
  agent: 'Agen',
@@ -160,10 +158,10 @@ const idID = {
160
158
  reportedBy_one: 'Dilaporkan oleh runner {{count}} online: {{names}}.',
161
159
  reportedBy_other: 'Dilaporkan oleh runner online {{count}}: {{names}}.',
162
160
  noRunnerNow: 'Tidak ada runner yang memilikinya yang online sekarang.',
163
- goodAtHint: 'Lead Agent memutuskan apa yang akan diserahkan kepada agen ini dengan kata-kata ini. Katakan apa yang cocok dan apa yang tidak.',
161
+ goodAtHint: 'Lead Agent memutuskan apa yang akan diserahkan kepada Agent ini dengan kata-kata ini. Katakan apa yang cocok dan apa yang tidak.',
164
162
  goodAtRequired: 'Tulis kelebihannya sebelum mengaktifkannya.',
165
163
  effortHint: 'Lead Agent tidak dapat mengubahnya ketika penyerahan pekerjaan.',
166
- personalOnly: 'Hanya runner pribadi yang memilikinya: Lead Agent menyerahkan pekerjaan hanya pada masalah yang dimulai oleh pemiliknya.',
164
+ personalOnly: 'Hanya lingkungan runtime pribadi yang memilikinya: Lead Agent hanya menyerahkan tugas yang dimulai pemiliknya.',
167
165
  },
168
166
  edit: {
169
167
  button: 'Edit',
@@ -173,9 +171,9 @@ const idID = {
173
171
  done: '{{name}} disimpan',
174
172
  },
175
173
  available: {
176
- open: 'Tambahkan agen',
174
+ open: 'Tambahkan Agent',
177
175
  title: 'Model yang tersedia',
178
- description: 'Hanya alat yang dicentang di runtime yang akan dideteksi dan ditampilkan di sini. Kombinasi yang direkomendasikan aplikasi akan membuat dan mengaktifkan dirinya sendiri begitu runner melaporkannya; tambahkan agen dari yang lainnya.',
176
+ description: 'Hanya alat yang dicentang di runtime yang akan dideteksi dan ditampilkan di sini. Kombinasi yang direkomendasikan aplikasi akan membuat dan mengaktifkan dirinya sendiri begitu runner melaporkannya; tambahkan Agent dari yang lainnya.',
179
177
  recommended: 'Diaktifkan otomatis saat dilaporkan',
180
178
  added: 'Ditambahkan',
181
179
  add: 'Tambahkan',
@@ -202,45 +200,45 @@ const idID = {
202
200
  selectedCount_one: '{{count}} dipilih',
203
201
  selectedCount_other: '{{count}} dipilih',
204
202
  addSelected: 'Tambahkan {{count}}',
205
- confirmTitle_one: 'Tambahkan {{count}} agen',
206
- confirmTitle_other: 'Tambahkan {{count}} agen',
203
+ confirmTitle_one: 'Tambahkan {{count}} Agent',
204
+ confirmTitle_other: 'Tambahkan {{count}} Agent',
207
205
  confirmAction_one: 'Tambahkan {{count}}',
208
206
  confirmAction_other: 'Tambahkan {{count}}',
209
207
  goodAtNeeded: 'Apa keahliannya?',
210
- addedCount_one: '{{count}} agen ditambahkan.',
211
- addedCount_other: '{{count}} agen ditambahkan.',
208
+ addedCount_one: '{{count}} Agent ditambahkan.',
209
+ addedCount_other: '{{count}} Agent ditambahkan.',
212
210
  addedPartial: '{{succeeded}} ditambahkan, {{failed}} tidak dapat ditambahkan. Alasan ada di bawah masing-masing.',
213
211
  addFailed: '{{failed}} tidak dapat ditambahkan. Alasan ada di bawah masing-masing; coba lagi.',
214
212
  },
215
213
  },
216
214
  agentTypes: {
217
215
  label: 'Tipe agen',
218
- question: 'Agen macam apa?',
216
+ question: 'Agent macam apa?',
219
217
  online: 'Daring',
220
218
  runner: 'Runner',
221
- onlineHint: 'Jawaban dalam hitungan detik di server melalui layanan model. Tidak diperlukan waktu proses; itu tidak dapat menyentuh kode.',
219
+ onlineHint: 'Jawaban dalam hitungan detik di server melalui layanan model. Tidak diperlukan lingkungan runtime; itu tidak dapat menyentuh kode.',
222
220
  runnerHint: 'Menggerakan alat pengkodean saat runtime dan bekerja di direktori kerja: kode, file, perintah.',
223
- immutable: 'Seorang agen menjaga tipenya; buat agen lain untuk jenis lainnya.',
221
+ immutable: 'Seorang Agent menjaga tipenya; buat Agent lain untuk jenis lainnya.',
224
222
  onServer: 'Di server',
225
223
  filterAll: 'Semua tipe',
226
- noneOfType: 'Tidak ada agen jenis ini.',
224
+ noneOfType: 'Tidak ada Agent jenis ini.',
227
225
  },
228
226
  agentSkills: {
229
227
  title: 'Keterampilan',
230
- description: 'Manual yang dibaca agen ketika suatu tugas cocok dengan deskripsinya. Ditempatkan di direktori kerjanya sebelum dijalankan.',
228
+ description: 'Manual yang dibaca Agent ketika suatu tugas cocok dengan deskripsinya. Ditempatkan di direktori kerjanya sebelum dijalankan.',
231
229
  manage: 'Kelola keterampilan',
232
230
  placeholder: 'Pilih keterampilan',
233
231
  empty: 'Belum ada keterampilan.',
234
232
  save: 'Simpan keterampilan',
235
- descriptionOnline: 'Manual yang dibaca agen ketika tugas cocok dengan deskripsinya, dalam kotak pasir hanya-baca di server.',
236
- onlineScripts: 'Skrip tidak dijalankan untuk agen online: agen dapat membacanya, bukan menjalankannya.',
233
+ descriptionOnline: 'Manual yang dibaca Agent ketika tugas cocok dengan deskripsinya, dalam kotak pasir hanya-baca di server.',
234
+ onlineScripts: 'Skrip tidak dijalankan untuk Agent online: Agent dapat membacanya, bukan menjalankannya.',
237
235
  skippedScripts: ': {{paths}}',
238
236
  pathSeparator: ', ',
239
237
  },
240
238
  brief: {
241
239
  preview: 'Pratinjau perintah lengkap',
242
240
  previewTitle: 'Pratinjau perintah lengkap',
243
- previewDescription: 'Gambaran apa yang akan dikirimkan agen ini sekarang, dengan subjek yang dibuat-buat. Tidak ada yang antri.',
241
+ previewDescription: 'Gambaran apa yang akan dikirimkan Agent ini sekarang, dengan subjek yang dibuat-buat. Tidak ada yang antri.',
244
242
  scenario: 'Skenario',
245
243
  sample: 'Tentang subjek yang dibuat-buat: {{subject}}. Nilai yang ditandai [sampel] dibuat-buat.',
246
244
  previewFailed: 'Tidak dapat menampilkan perintah penuh.',
@@ -249,9 +247,9 @@ const idID = {
249
247
  rendered: 'Diberikan',
250
248
  raw: 'Mentah',
251
249
  platform: 'Aturan dan tugas platform · tentang karakter {{size}} (Bahasa Inggris)',
252
- platformNote: 'Aturan platform dikirim dalam bahasa Inggris; agen masih membalas dalam bahasa Anda.',
250
+ platformNote: 'Aturan platform dikirim dalam bahasa Inggris; Agent masih membalas dalam bahasa Anda.',
253
251
  agentPrompt: 'Perintah agen (ditulis oleh Anda)',
254
- noAgentPrompt: 'Agen ini tidak memiliki perintahnya sendiri.',
252
+ noAgentPrompt: 'Agent ini tidak memiliki perintahnya sendiri.',
255
253
  firstMessage: 'Pesan pertama',
256
254
  empty: 'Kosong',
257
255
  previewPlaceholders: 'Catatan dalam tanda kurung tentang runtime diisi oleh runtime yang menjalankannya: direktori kerjanya, dan perintah inisialisasi dari direktori yang baru saja disiapkan.',
@@ -266,7 +264,7 @@ const idID = {
266
264
  },
267
265
  envVars: {
268
266
  title: 'Variabel lingkungan',
269
- description: 'Diteruskan ke alat pengkodean pada setiap proses dan disembunyikan dalam catatan proses; nilai tidak ditampilkan lagi setelah disimpan. Siapapun yang mungkin menggunakan agen bersama dapat menerima nilai-nilai ini di komputer mereka sendiri; tandai rahasia berisiko tinggi "Hanya runtime tim".',
267
+ description: 'Diteruskan ke alat pengkodean pada setiap proses dan disembunyikan dalam catatan proses; nilai tidak ditampilkan lagi setelah disimpan. Siapapun yang mungkin menggunakan Agent bersama dapat menerima nilai-nilai ini di komputer mereka sendiri; tandai rahasia berisiko tinggi "Hanya runtime tim".',
270
268
  add: 'Tambahkan variabel',
271
269
  addTitle: 'Tambahkan variabel lingkungan',
272
270
  editTitle: 'Ganti {{name}}',
@@ -277,11 +275,11 @@ const idID = {
277
275
  valueTooLong: 'Nilainya lebih besar dari 8 KB.',
278
276
  keepValueHint: 'Biarkan kosong untuk mempertahankan nilai saat ini.',
279
277
  teamRunnersOnly: 'Waktu proses tim saja',
280
- teamRunnersOnlyHint: 'Tanpanya, proses akan mengirimkan nilai ke waktu proses yang memerlukannya, termasuk waktu proses pribadi siapa pun yang mungkin menggunakan agen tersebut. Dengan itu, hanya runtime tim yang menjalankan variabel ini yang dijalankan.',
278
+ teamRunnersOnlyHint: 'Tanpanya, proses akan mengirimkan nilai ke lingkungan runtime yang memerlukannya, termasuk lingkungan runtime pribadi siapa pun yang mungkin menggunakan Agent tersebut. Dengan itu, hanya runtime tim yang menjalankan variabel ini yang dijalankan.',
281
279
  teamRunnersOnlyBadge: 'Waktu proses tim saja',
282
280
  fromRunner: 'Ambil dari runtime',
283
- fromRunnerHint: 'Tidak ada nilai yang disimpan di sini: waktu proses yang dijalankan menyediakannya dari mesinnya sendiri, disetel di sana dengan {{command}} atau diteruskan dengan `--pass-env`. Runtime yang tidak menyediakannya akan gagal dijalankan sebelum dimulai.',
284
- fromRunnerBadge: 'Dari waktu proses',
281
+ fromRunnerHint: 'Tidak ada nilai yang disimpan di sini: lingkungan runtime yang dijalankan menyediakannya dari mesinnya sendiri, disetel di sana dengan {{command}} atau diteruskan dengan `--pass-env`. Runtime yang tidak menyediakannya akan gagal dijalankan sebelum dimulai.',
282
+ fromRunnerBadge: 'Dari lingkungan runtime',
285
283
  valueRequired: 'Masukkan nilai, atau terus ambil dari runtime.',
286
284
  empty: 'Tidak ada variabel lingkungan.',
287
285
  scope: 'Cakupan',
@@ -322,7 +320,7 @@ const idID = {
322
320
  },
323
321
  scopeVariables: {
324
322
  title: 'Variabel dan rahasia',
325
- description: 'Diberikan kepada setiap agen yang bekerja di sini. Variabel yang lebih spesifik (direktori kerja, kemudian agen) menang atas hal ini.',
323
+ description: 'Diberikan kepada setiap Agent yang bekerja di sini. Variabel yang lebih spesifik (direktori kerja, kemudian Agent) menang atas hal ini.',
326
324
  },
327
325
  scopes: {
328
326
  workdir: 'Direktori kerja',
@@ -334,7 +332,7 @@ const idID = {
334
332
  usage: {
335
333
  otherUse: {
336
334
  title: 'Penggunaan model lainnya',
337
- description: 'Panggilan model di luar menjalankan agen, seperti pengindeksan dan pencarian basis pengetahuan.',
335
+ description: 'Panggilan model di luar menjalankan Agent, seperti pengindeksan dan pencarian basis pengetahuan.',
338
336
  purpose: 'Gunakan',
339
337
  source: 'Ditanyakan oleh',
340
338
  model: 'Model',
@@ -347,7 +345,7 @@ const idID = {
347
345
  },
348
346
  },
349
347
  title: 'Penggunaan',
350
- description: 'Agen apa yang digunakan dan berapa biayanya dengan harga model saat ini.',
348
+ description: 'Agent apa yang digunakan dan berapa biayanya dengan harga model saat ini.',
351
349
  loadFailed: 'Tidak dapat memuat penggunaan',
352
350
  groupBy: 'Kelompokkan menurut',
353
351
  groupByValue: 'Kelompokkan berdasarkan {{group}}',
@@ -369,7 +367,7 @@ const idID = {
369
367
  filters: {
370
368
  allGroups: 'Semua: {{group}}',
371
369
  agent: 'Agen',
372
- allAgents: 'Semua agen',
370
+ allAgents: 'Semua Agent',
373
371
  person: 'Dibangunkan oleh',
374
372
  allPeople: 'Semuanya',
375
373
  range: 'Rentang tanggal',
@@ -404,7 +402,7 @@ const idID = {
404
402
  },
405
403
  defaultSkills: {
406
404
  title: 'Keterampilan bawaan',
407
- description: 'Setiap agen yang bekerja di sini mendapatkan keterampilan ini juga.',
405
+ description: 'Setiap Agent yang bekerja di sini mendapatkan keterampilan ini juga.',
408
406
  save: 'Simpan keterampilan',
409
407
  saved: 'Keterampilan default disimpan.',
410
408
  },
@@ -421,7 +419,7 @@ const idID = {
421
419
  filters: {
422
420
  agent: 'Agen',
423
421
  status: 'Status',
424
- allAgents: 'Semua agen',
422
+ allAgents: 'Semua Agent',
425
423
  allStatuses: 'Semua status',
426
424
  },
427
425
  noMatch: 'Tidak ada proses yang cocok dengan filter ini.',
@@ -434,7 +432,7 @@ const idID = {
434
432
  retried: 'Proses kembali masuk antrean',
435
433
  viewBrief: 'Lihat perintah lengkap',
436
434
  briefTitle: 'Perintah penuh',
437
- briefDescription: 'Apa yang diberitahukan kepada agen saat proses ini terakhir kali diklaim.',
435
+ briefDescription: 'Apa yang diberitahukan kepada Agent saat proses ini terakhir kali diklaim.',
438
436
  briefOf: 'Percobaan {{attempt}}, diklaim {{time}}',
439
437
  briefUnavailable: 'Tidak ada perintah lengkap yang tersedia untuk proses ini.',
440
438
  processDataCleared: 'Data proses yang dijalankan telah dihapus berdasarkan kebijakan penyimpanan.',
@@ -442,7 +440,7 @@ const idID = {
442
440
  workspaceReset: {
443
441
  button: 'Bersihkan direktori kerja',
444
442
  title: 'Bersihkan direktori kerja?',
445
- description: 'Proses selanjutnya dimulai dari checkout baru dan diberikan perintah inisialisasi lagi. Perubahan yang tidak didorong akan hilang pada waktu proses tersebut. Direktori yang digunakan di tempatnya tidak pernah dihapus.',
443
+ description: 'Proses selanjutnya dimulai dari checkout baru dan diberikan perintah inisialisasi lagi. Perubahan yang tidak didorong akan hilang pada lingkungan runtime tersebut. Direktori yang digunakan di tempatnya tidak pernah dihapus.',
446
444
  confirm: 'Bersih',
447
445
  done: 'Proses selanjutnya dimulai dari checkout baru.',
448
446
  },
@@ -478,7 +476,7 @@ const idID = {
478
476
  transcript: {
479
477
  title: 'Transkrip proses',
480
478
  notFound: 'Proses ini tidak ada.',
481
- waiting: 'Menunggu agen memulai…',
479
+ waiting: 'Menunggu Agent memulai…',
482
480
  empty: 'Lari ini tidak mencatat kejadian apa pun.',
483
481
  fetchFailed: 'Tidak dapat mengambil acara baru. Mencoba lagi…',
484
482
  expand: 'Tunjukkan semuanya',
@@ -486,10 +484,10 @@ const idID = {
486
484
  summary_one: 'Membuat acara {{created}} · {{count}}',
487
485
  summary_other: 'Membuat acara {{created}} · {{count}}',
488
486
  took: 'mengambil {{duration}}',
489
- pendingInputs_one: 'Komentar {{count}} menunggu agen',
490
- pendingInputs_other: 'Komentar {{count}} menunggu agen',
491
- inputDelivered_one: 'Dikirim ke agen',
492
- inputDelivered_other: 'Input {{count}} dikirim ke agen',
487
+ pendingInputs_one: 'Komentar {{count}} menunggu Agent',
488
+ pendingInputs_other: 'Komentar {{count}} menunggu Agent',
489
+ inputDelivered_one: 'Dikirim ke Agent',
490
+ inputDelivered_other: 'Input {{count}} dikirim ke Agent',
493
491
  tokens: 'Token {{input}} masuk, {{output}} keluar',
494
492
  kinds: {
495
493
  text: 'Agen',
@@ -513,29 +511,30 @@ const idID = {
513
511
  leaseExpired: 'Waktu proses berhenti melaporkan.',
514
512
  startTimeout: 'Waktu proses tidak memulai proses tepat waktu.',
515
513
  cancelled: 'Dibatalkan.',
516
- idleTimeout: 'Agen berhenti membuat kemajuan.',
514
+ idleTimeout: 'Agent berhenti membuat kemajuan.',
517
515
  setupFailed: 'Pelarian tidak dapat dipersiapkan.',
518
516
  cliUnavailable: 'Runtime tidak dapat menginstal aplikasi CLI.',
519
517
  workspaceBusy: 'Direktori kerja sedang sibuk; menunggu upaya lain.',
520
518
  checkoutFailed: 'Checkout repositori gagal.',
521
519
  toolAuth: 'Alat pengkodean tidak masuk pada saat runtime.',
522
520
  toolQuota: 'Alat pengkodean kehabisan kuota.',
521
+ sessionUnavailable: 'Sesi awal alat pemrograman tidak dapat dilanjutkan.',
523
522
  toolRateLimit: 'Alat pengkodean memiliki tingkat terbatas.',
524
523
  toolNetwork: 'Alat pengkodean tidak dapat mencapai layanannya.',
525
524
  toolProcess: 'Alat pengkodean keluar secara tidak terduga.',
526
525
  contextOverflow: 'Percakapan menjadi terlalu panjang bagi sang model.',
527
526
  delegatedQueueTimeout: 'Batas waktu antrian delegasi; ditarik',
528
527
  queuedExpired: 'Tidak ada runtime yang berjalan tepat waktu.',
529
- modelUnavailable: 'Model agen tidak tersedia.',
530
- stepLimit: 'Agen terlalu sering memanggil alat tanpa menjawab.',
528
+ modelUnavailable: 'Model Agent tidak tersedia.',
529
+ stepLimit: 'Agent terlalu sering memanggil alat tanpa menjawab.',
531
530
  policyRefused: 'Tidak ada kebijakan runtime yang memungkinkan hal ini dilakukan.',
532
531
  prepareNetwork: 'Runtime tidak dapat mencapai host repositori saat mempersiapkan proses.',
533
- repoAccessUnavailable: 'Kredensial repositori tidak dapat diterbitkan saat ini; lari akan dicoba lagi.',
532
+ repoAccessUnavailable: 'Akses repositori untuk sementara tidak tersedia.',
534
533
  repoAccessDenied: 'Aplikasi tidak akan mengeluarkan kredensial untuk salah satu repositori proses.',
535
534
  unknown: 'Pelariannya gagal.',
536
535
  },
537
536
  runtimes: {
538
- pathHint: runtimesEnUS.runtimes.pathHint,
537
+ pathHint: 'Runner mencari alat pemrograman menggunakan PATH miliknya sendiri. Di terminal tempat which codex / which claude berfungsi, jalankan lagi nocobase-runner service install dan mulai ulang layanan (atau jalankan lagi nocobase-runner start) agar runner mendapat PATH yang benar.',
539
538
  quota: {
540
539
  workspaceStatus: {
541
540
  active: 'Pekerjaan berlanjut',
@@ -561,13 +560,13 @@ const idID = {
561
560
  since: 'sejak {{time}}',
562
561
  marks_one: 'tanda kuota {{count}}',
563
562
  marks_other: 'tanda kuota {{count}}',
564
- queueHint: 'Agen dengan kuota masih dapat dipilih. Pekerjaan akan mengantri dengan batas waktu tunggu yang ada.',
563
+ queueHint: 'Agent dengan kuota masih dapat dipilih. Pekerjaan akan mengantri dengan batas waktu tunggu yang ada.',
565
564
  partial: 'Berjalan pada {{available}} · {{blocked}} sesuai kuota',
566
565
  workspaceSize: 'Ukuran ruang kerja: {{value}}',
567
566
  providers_one: 'Penyedia {{count}} dengan kuota',
568
567
  providers_other: 'Penyedia {{count}} dengan kuota',
569
568
  runColumns: {
570
- issue: 'Masalah / percakapan',
569
+ issue: 'Tugas / percakapan',
571
570
  agent: 'Agen',
572
571
  status: 'Status',
573
572
  started: 'Dimulai',
@@ -602,12 +601,13 @@ const idID = {
602
601
  resets: 'Mereset {{time}}',
603
602
  near: 'Mendekati batas',
604
603
  clear: 'Bersihkan',
605
- clearMark: 'Tanda yang jelas',
606
- confirm: 'Hapus tanda ini? {{target}} mulai berfungsi lagi.',
604
+ clearMark: 'Hapus tanda',
605
+ confirmTitle: 'Hapus tanda kuota pada {{target}}?',
606
+ confirm: 'Hapus hanya setelah memastikan kuota sudah pulih. {{target}} langsung menerima pekerjaan lagi; jika kuota masih habis, eksekusi berikutnya menandainya lagi.',
607
607
  observed: 'Terakhir dilaporkan {{time}}',
608
608
  usedPercent: '{{percent}}% digunakan',
609
609
  ok: 'Oke',
610
- hint: 'Waktu reset yang diketahui memulihkan kelayakan secara otomatis. Untuk penyetelan ulang yang tidak diketahui, pulihkan kuota dan hapus tandanya. Hanya pemilik runtime dan administrator yang dapat menghapus tanda.',
610
+ hint: 'Tanda hilang dengan sendirinya pada waktu reset yang diketahui, atau saat alat melaporkan kuota tersedia lagi. Hapus secara manual hanya setelah memastikan kuota sudah pulih. Hanya pemilik runtime dan administrator yang dapat menghapus tanda.',
611
611
  },
612
612
  workspaces: {
613
613
  paused: 'Pekerjaan baru dihentikan sementara hingga ruang disk pulih. Proses yang ada terus berlanjut.',
@@ -654,11 +654,11 @@ const idID = {
654
654
  },
655
655
  },
656
656
  title: 'Lingkungan runtime',
657
- description: 'Runtime yang menjalankan agen, dan alat pengkodean masing-masing dilaporkan.',
658
- add: 'Tambahkan waktu proses',
657
+ description: 'Runtime yang menjalankan Agent, dan alat pengkodean masing-masing dilaporkan.',
658
+ add: 'Tambahkan lingkungan runtime',
659
659
  loadFailed: 'Tidak dapat memuat runtime',
660
660
  emptyTitle: 'Belum ada runtime yang terhubung',
661
- emptyDescription: 'Setelah runtime terhubung, agen runner mulai bekerja di sana dengan alat pengkodeannya.',
661
+ emptyDescription: 'Setelah runtime terhubung, Agent runner mulai bekerja di sana dengan alat pengkodeannya.',
662
662
  noneConnected: 'Tidak ada runtime yang terhubung.',
663
663
  revokedList_one: '{{count}} mencabut runtime',
664
664
  revokedList_other: '{{count}} mencabut runtime',
@@ -702,8 +702,8 @@ const idID = {
702
702
  },
703
703
  variables: {
704
704
  title: 'Variabel dari mesin ini',
705
- description: 'Variabel yang disediakan untuk proses yang mengambilnya dari waktu proses, berdasarkan nama; nilainya tetap ada di mesin. Tetapkan satu di sana dengan `nocobase-runner env set NAME`, atau teruskan dengan `--pass-env NAME`.',
706
- none: 'Tidak ada: proses yang mengambil variabel dari waktu proses gagal di sini sebelum dimulai.',
705
+ description: 'Variabel yang disediakan untuk proses yang mengambilnya dari lingkungan runtime, berdasarkan nama; nilainya tetap ada di mesin. Tetapkan satu di sana dengan `nocobase-runner env set NAME`, atau teruskan dengan `--pass-env NAME`.',
706
+ none: 'Tidak ada: proses yang mengambil variabel dari lingkungan runtime gagal di sini sebelum dimulai.',
707
707
  unknown: 'Tidak dilaporkan: runnernya lebih tua dari fitur ini. Perbarui runner untuk melihatnya.',
708
708
  },
709
709
  jobs: {
@@ -748,8 +748,8 @@ const idID = {
748
748
  },
749
749
  upgradeRequired: {
750
750
  title: 'Waktu proses ini memerlukan peningkatan',
751
- older: 'Runnernya {{version}} berbicara protokol agen {{protocol}}; aplikasi ini membutuhkan protokol {{required}}. Itu tetap terhubung tetapi tidak menjalankan apa pun sampai diperbarui.',
752
- newer: 'Runnernya {{version}} menggunakan protokol agen {{protocol}}, lebih baru dari aplikasi ini (protokol {{required}}). Itu tetap terhubung tetapi tidak menjalankan apa pun sampai menjalankan runner yang dilayani aplikasi ini.',
751
+ older: 'Runnernya {{version}} berbicara protokol Agent {{protocol}}; aplikasi ini membutuhkan protokol {{required}}. Itu tetap terhubung tetapi tidak menjalankan apa pun sampai diperbarui.',
752
+ newer: 'Runnernya {{version}} menggunakan protokol Agent {{protocol}}, lebih baru dari aplikasi ini (protokol {{required}}). Itu tetap terhubung tetapi tidak menjalankan apa pun sampai menjalankan runner yang dilayani aplikasi ini.',
753
753
  latest: 'Aplikasi ini melayani runner {{latest}}. Jalankan ini di hostnya untuk memperbaruinya:',
754
754
  noLatest: 'Instal runner yang menggunakan protokol {{required}}, atau jalankan ini di hostnya untuk memperbaruinya:',
755
755
  reinstall: 'Runnernya tidak menyebutkan cara pemasangannya. Instal lagi di hostnya dengan perintah dari Add runtime.',
@@ -768,7 +768,7 @@ const idID = {
768
768
  version: 'Versi {{version}}',
769
769
  },
770
770
  trust: {
771
- isolationHint: runtimesEnUS.runtimes.trust.isolationHint,
771
+ isolationHint: 'Untuk lingkungan runtime pribadi maupun bersama, jalankan runner di VM atau lingkungan terisolasi: Agent memiliki akses penuh dan runner bukan sandbox.',
772
772
  label: 'Untuk siapa ini bekerja',
773
773
  team: 'Tim',
774
774
  teamHint: 'Pekerjaan yang dijalankan dimulai oleh siapa pun di tim, dengan variabel dan rahasianya. Untuk server bersama dan VM.',
@@ -796,7 +796,7 @@ const idID = {
796
796
  badge: 'Dapat diupgrade',
797
797
  title: 'Runner baru untuk {{name}}',
798
798
  description: 'Menginstal {{version}}, aplikasi ini menyajikan {{latest}}.',
799
- hint: 'Ia memperbarui dirinya sendiri setelah tidak ada agen yang berjalan. Untuk memperbaruinya sekarang, jalankan ini di hostnya.',
799
+ hint: 'Ia memperbarui dirinya sendiri setelah tidak ada Agent yang berjalan. Untuk memperbaruinya sekarang, jalankan ini di hostnya.',
800
800
  },
801
801
  revoke: {
802
802
  title: 'Cabut kredensial {{name}}?',
@@ -812,8 +812,18 @@ const idID = {
812
812
  },
813
813
  },
814
814
  connect: {
815
- ...runtimesEnUS.connect,
816
- title: 'Tambahkan waktu proses',
815
+ manual: 'Atau pasang sendiri',
816
+ promptTitle: 'Biarkan Agent menyiapkannya',
817
+ promptCopy: 'Salin prompt untuk Agent',
818
+ promptShow: 'Lihat prompt',
819
+ promptHide: 'Sembunyikan prompt',
820
+ promptHint: 'Salin prompt ini ke Agent (Claude Code, Codex, dan sejenisnya) di mesin tujuan, dan Agent akan menjalankan langkah di bawah untuk Anda. Prompt ini berisi kredensial sekali pakai: berikan hanya kepada Agent tersebut.',
821
+ windowsPowerShell: '1. Pasang WSL: jalankan di PowerShell, lalu mulai ulang Windows:',
822
+ windowsUbuntu: '2. Buka Ubuntu dan jalankan perintah Linux di bawah. Pasang Node.js dan alat pemrograman di dalam WSL Ubuntu.',
823
+ windowsNetwork: 'Jika WSL tidak dapat mengakses internet, aktifkan jaringan mirrored di WSL.',
824
+ promptWindows: 'PERTAMA, pastikan apakah kamu berjalan di dalam WSL Ubuntu. Jika TIDAK di WSL Ubuntu, BERHENTI: jangan jalankan perintah pemasangan atau pendaftaran apa pun. Minta pengguna menjalankan wsl --install di PowerShell, memulai ulang Windows, lalu membuka Agent di dalam WSL Ubuntu dan menjalankan prompt ini lagi. Lanjutkan langkah di bawah HANYA di dalam WSL Ubuntu. Pasang Node.js dan alat pemrograman di dalam WSL. Jika WSL tidak dapat mengakses internet, aktifkan jaringan mirrored.\n\n',
825
+ promptBody: 'Siapkan mesin ini sebagai lingkungan runtime NocoBase. Gunakan VM atau lingkungan terisolasi: Agent memiliki akses penuh dan runner bukan sandbox.\n\nPeriksa bahwa Node.js 24 atau lebih baru tersedia dan alat pemrograman berikut sudah terpasang dan masuk: {{tools}}. Gunakan cara pemasangan resminya, bukan paket snap.\n\nJalankan perintah pendaftaran sekali pakai ini untuk memasang runner dan CLI aplikasi, mendaftarkannya, dan memasang layanan latar belakangnya:\n{{command}}\n\nAtasi masalah penyiapan umum: pastikan PATH layanan berisi alat pemrograman (periksa which codex / which claude di terminal pemasangan, lalu jalankan lagi nocobase-runner service install dan mulai ulang layanan); atur proxy yang diperlukan untuk unduhan dan layanan; atasi izin pemasangan global npm dengan prefix milik pengguna atau pengelola versi Node, tanpa sudo npm install.\n\nAkhiri dengan nocobase-runner status dan pastikan koneksi serta alat pemrograman. Laporkan langkah masuk atau jaringan yang masih perlu saya selesaikan. Perlakukan kredensial pendaftaran sebagai rahasia dan jangan cantumkan dalam laporan.',
826
+ title: 'Tambahkan lingkungan runtime',
817
827
  description: 'Jalankan perintah di bawah ini pada host yang memiliki alat pengkodean terpasang: server, VM, atau perangkat Anda sendiri. Agen berjalan di sana dengan akses penuh, sebagai pengguna yang menjalankan runner, dan dapat membaca serta mengubah apa pun yang dapat dilakukan pengguna, termasuk kunci SSH dan kredensial lainnya. Runner bukanlah batasan keamanan: jalankan sebagai pengguna khusus, dalam container, atau di VM.',
818
828
  createCredential: 'Hasilkan perintah instalasi',
819
829
  advanced: 'Lanjutan: batasan per alat pengkodean',
@@ -840,8 +850,23 @@ const idID = {
840
850
  },
841
851
  chat: {
842
852
  // Keep new guidance available in English until this locale is translated.
843
- executionFailed: chatEnUS.chat.executionFailed,
844
- fileInputFailures: chatEnUS.chat.fileInputFailures,
853
+ executionFailed: 'Eksekusi gagal. Tinjau percakapan yang tersimpan sebelum mencoba lagi.',
854
+ fileInputFailures: {
855
+ imageCapability: 'Input gambar belum dikonfigurasi untuk model ini. Beralihlah ke model yang dukungan gambarnya sudah terverifikasi.',
856
+ unsupportedFormat: 'Input untuk format lampiran ini belum dikonfigurasi pada model yang dipilih, dan tidak ada ekstraktor teks lokal yang mendukungnya. Gunakan format dokumen yang didukung atau model yang dukungan filenya sudah terverifikasi.',
857
+ formatMismatch: 'Nama file lampiran dan jenis medianya menunjukkan format dokumen yang berbeda. Periksa format file lalu unggah ulang.',
858
+ invalidInline: 'Data file lampiran tidak valid atau terlalu besar. Unggah ulang file atau gunakan file yang lebih kecil.',
859
+ fileTooLarge: 'Sebuah lampiran melebihi batas ukurannya. Gunakan file yang lebih kecil.',
860
+ inputTooLarge: 'Lampiran percakapan melebihi batas input. Gunakan file yang lebih kecil atau mulai percakapan baru.',
861
+ documentTooLarge: 'Lampiran melebihi batas teks yang diekstrak. Gunakan file yang lebih kecil.',
862
+ contextTooLarge: 'Lampiran percakapan melebihi batas teks yang diekstrak. Gunakan file yang lebih kecil atau mulai percakapan baru.',
863
+ fileCount: 'Percakapan melebihi batas 100 file input. Mulai percakapan baru.',
864
+ nativeFileCount: 'Percakapan melebihi batas file native yang dikonfigurasi. Gunakan lebih sedikit lampiran atau ubah menjadi dokumen teks yang didukung.',
865
+ unreadable: 'Lampiran tidak berisi teks yang dapat dibaca. Dokumen hasil pindaian memerlukan OCR.',
866
+ extractionFailed: 'Teks lampiran tidak dapat diekstrak. Pastikan dokumen dapat dibaca lalu unggah ulang.',
867
+ extractionTimeout: 'Ekstraksi teks lampiran melewati batas waktu. Gunakan file yang lebih kecil atau coba lagi.',
868
+ preparationFailed: 'Lampiran tidak dapat disiapkan. Periksa akses Anda dan format file, lalu coba lagi.',
869
+ },
845
870
  untitled: 'Percakapan tanpa judul',
846
871
  renamed: 'Berganti nama',
847
872
  archivedNamed: 'Diarsipkan “{{title}}”',
@@ -859,22 +884,22 @@ const idID = {
859
884
  modelUnavailable: 'Model tidak tersedia',
860
885
  },
861
886
  offline: {
862
- fallbackDone: 'Percakapan ini sekarang menggunakan agen lain',
887
+ fallbackDone: 'Percakapan ini sekarang menggunakan Agent lain',
863
888
  restoreDone: 'Beralih kembali',
864
- newSession: 'Agen memulai sesi baru dan membaca percakapan ini.',
889
+ newSession: 'Agent memulai sesi baru dan membaca percakapan ini.',
865
890
  },
866
891
  notice: {
867
892
  switchedToDefault: 'Beralih ke {{name}}, default sistem, hingga {{own}} kembali.',
868
893
  switchedToOnline: '{{own}} tidak memiliki runner untuk Anda sekarang, jadi {{name}} menjawab hingga {{own}} kembali.',
869
- onlineFallbackUnavailable: 'Agen fallback online tidak dapat menjawab ({{reason}}). Percakapan ini tetap ada di {{own}} sambil menunggu runner.',
894
+ onlineFallbackUnavailable: 'Agent fallback online tidak dapat menjawab ({{reason}}). Percakapan ini tetap ada di {{own}} sambil menunggu runner.',
870
895
  switchedAgent: 'Beralih ke {{name}} dengan mempertahankan riwayat percakapan ini.',
871
896
  switchedBack: 'Kembali dengan {{name}}.',
872
- runFailed: 'Agen itu berhenti sebelum menjawab.',
873
- runFailedReason: 'Agen berhenti sebelum menjawab: {{reason}}',
897
+ runFailed: 'Agent itu berhenti sebelum menjawab.',
898
+ runFailedReason: 'Agent berhenti sebelum menjawab: {{reason}}',
874
899
  runCancelled: 'Pembatalan diminta.',
875
900
  },
876
901
  consultation: {
877
- unavailableTitle: 'Agen yang berkonsultasi tidak tersedia',
902
+ unavailableTitle: 'Agent yang berkonsultasi tidak tersedia',
878
903
  snapshotTitle: 'Meminta {{name}} pada saat itu',
879
904
  title: 'Berkonsultasi dengan {{name}}',
880
905
  },
@@ -885,31 +910,31 @@ const idID = {
885
910
  },
886
911
  agents: {
887
912
  personalOnly: 'Hanya runner pribadi',
888
- hint: 'Mencantumkan agen yang diaktifkan dan menjelaskan mengapa seseorang tidak dapat menjawab Anda sekarang. Jawaban dijalankan pada runner: balasan pertama menunggu seseorang untuk mengambilnya, biasanya beberapa detik.',
889
- chooseFor: 'Pilih agen',
890
- empty: 'Tidak ada agen yang boleh Anda pilih',
891
- none: 'Tidak ada agen',
892
- unknown: 'Agen tidak dikenal',
893
- placeholder: 'Pilih agen',
913
+ hint: 'Mencantumkan Agent yang diaktifkan dan menjelaskan mengapa seseorang tidak dapat menjawab Anda sekarang. Jawaban dijalankan pada runner: balasan pertama menunggu seseorang untuk mengambilnya, biasanya beberapa detik.',
914
+ chooseFor: 'Pilih Agent',
915
+ empty: 'Tidak ada Agent yang boleh Anda pilih',
916
+ none: 'Tidak ada Agent',
917
+ unknown: 'Agent tidak dikenal',
918
+ placeholder: 'Pilih Agent',
894
919
  myDefault: 'Default saya',
895
920
  systemDefault: 'Default sistem',
896
921
  },
897
922
  },
898
923
  chatProfile: {
899
- loadFailed: 'Tidak dapat memuat pengaturan agen Anda',
900
- defaultAgent: 'Agen obrolan default saya',
924
+ loadFailed: 'Tidak dapat memuat pengaturan Agent Anda',
925
+ defaultAgent: 'Agent obrolan default saya',
901
926
  systemDefault: 'Default sistem',
902
927
  systemDefaultNamed: 'Default sistem ({{name}})',
903
928
  noDefault: 'Tidak ada default sistem yang ditetapkan.',
904
- saved: 'Agen obrolan default disimpan',
929
+ saved: 'Agent obrolan default disimpan',
905
930
  },
906
931
  models: {
907
932
  title: 'Model',
908
- description: 'Model layanan panggilan agen online, dan model yang ditawarkan masing-masing: model obrolan untuk agen, model penyematan dan peringkat ulang untuk pencarian.',
933
+ description: 'Model layanan panggilan Agent online, dan model yang ditawarkan masing-masing: model obrolan untuk Agent, model penyematan dan peringkat ulang untuk pencarian.',
909
934
  },
910
935
  defaultModel: {
911
936
  title: 'Model obrolan default',
912
- description: 'Agen online yang tidak memiliki model jawaban sendiri, seperti agen baru atau yang disertakan dengan aplikasi.',
937
+ description: 'Agent online yang tidak memiliki model jawaban sendiri, seperti Agent baru atau yang disertakan dengan aplikasi.',
913
938
  none: 'Belum ada model obrolan yang diaktifkan. Tambahkan layanan model dan aktifkan model obrolan: yang pertama menjadi default.',
914
939
  saved: 'Model obrolan default sekarang adalah {{model}}.',
915
940
  },
@@ -923,7 +948,7 @@ const idID = {
923
948
  loadFailed: 'Tidak dapat memuat layanan model',
924
949
  empty: {
925
950
  title: 'Belum ada layanan model',
926
- description: 'Setelah Anda menambahkan layanan model, agen online dapat menjawabnya.',
951
+ description: 'Setelah Anda menambahkan layanan model, Agent online dapat menjawabnya.',
927
952
  readOnly: 'Minta administrator untuk menambahkan layanan model.',
928
953
  },
929
954
  add: {
@@ -948,7 +973,7 @@ const idID = {
948
973
  turnedOff: '{{title}} mati.',
949
974
  name: 'Nama',
950
975
  enabled: 'Aktif',
951
- enabledHint: 'Agen online hanya dapat menggunakan modelnya saat modelnya aktif.',
976
+ enabledHint: 'Agent online hanya dapat menggunakan modelnya saat modelnya aktif.',
952
977
  saved: '{{title}} disimpan.',
953
978
  delete: 'Hapus',
954
979
  deleteTitle: 'Hapus {{title}}?',
@@ -971,7 +996,7 @@ const idID = {
971
996
  },
972
997
  models: {
973
998
  title: 'Model',
974
- description: 'Periksa model yang ditawarkan layanan ini, dan jelaskan kegunaan masing-masing model: agen penjawab model obrolan, penyematan teks indeks model untuk pencarian, peringkat ulang model hasil pencarian pesanan. Model penyematan mungkin meminta vektor dengan ukuran tertentu.',
999
+ description: 'Periksa model yang ditawarkan layanan ini, dan jelaskan kegunaan masing-masing model: Agent penjawab model obrolan, penyematan teks indeks model untuk pencarian, peringkat ulang model hasil pencarian pesanan. Model penyematan mungkin meminta vektor dengan ukuran tertentu.',
975
1000
  fetching: 'Mengambil model penyedia…',
976
1001
  fetchFailed: 'Penyedia tidak akan mencantumkan modelnya: {{message}}',
977
1002
  fetch: 'Ambil model',
@@ -1069,10 +1094,10 @@ const idID = {
1069
1094
  loadFailed: 'Tidak dapat memuat keterampilan',
1070
1095
  backToList: 'Kembali ke keterampilan',
1071
1096
  emptyTitle: 'Belum ada keterampilan',
1072
- emptyDescription: 'Setelah Anda menambahkan keterampilan, agen membaca SKILL.md-nya setiap kali ada tugas yang memerlukannya.',
1097
+ emptyDescription: 'Setelah Anda menambahkan keterampilan, Agent membaca SKILL.md-nya setiap kali ada tugas yang memerlukannya.',
1073
1098
  emptyReadOnly: 'Minta administrator untuk menambahkan keterampilan.',
1074
1099
  content: 'SKILL.md',
1075
- contentHint: 'Nama bagian depan adalah nama folder skill: mengubahnya akan mengganti nama skill. Deskripsi tersebut memberi tahu agen kapan harus membacanya.',
1100
+ contentHint: 'Nama bagian depan adalah nama folder skill: mengubahnya akan mengganti nama skill. Deskripsi tersebut memberi tahu Agent kapan harus membacanya.',
1076
1101
  contentTooLarge: 'SKILL.md lebih besar dari {{max}}.',
1077
1102
  emptyContent: 'Keterampilan ini belum memiliki konten.',
1078
1103
  created: 'Menciptakan keterampilan "{{name}}"',
@@ -1085,14 +1110,14 @@ const idID = {
1085
1110
  edit: 'Edit',
1086
1111
  delete: 'Hapus keterampilan',
1087
1112
  deleteTitle: 'Hapus keterampilan "{{name}}"?',
1088
- deleteDescription: 'Setiap agen dan setiap tempat yang menggunakan keterampilan ini sebagai default akan kehilangannya.',
1113
+ deleteDescription: 'Setiap Agent dan setiap tempat yang menggunakan keterampilan ini sebagai default akan kehilangannya.',
1089
1114
  readOnly: 'Hanya pembuat keterampilan dan administrator ruang kerja yang dapat mengubah keterampilan ini.',
1090
1115
  conflict: 'Orang lain baru saja mengubah keterampilan ini. Versi terbaru telah dimuat; coba lagi.',
1091
1116
  conflictTitle: 'Orang lain baru saja mengubah keterampilan ini',
1092
1117
  conflictDraft: 'Seseorang menyimpan versi baru setelah Anda mulai mengedit, jadi perubahan Anda tidak disimpan. Salin apa yang ingin Anda simpan, lalu muat versi terbaru dan edit lagi.',
1093
1118
  loadLatest: 'Muat versi terbaru',
1094
- mountedAgents: 'Agen terlampir',
1095
- noAgents: 'Belum terikat pada agen mana pun.',
1119
+ mountedAgents: 'Agent terlampir',
1120
+ noAgents: 'Belum terikat pada Agent mana pun.',
1096
1121
  defaults: 'Keterampilan default: {{places}}.',
1097
1122
  defaultsSeparator: ', ',
1098
1123
  files: 'File',
@@ -1105,7 +1130,7 @@ const idID = {
1105
1130
  binaryFile: 'File biner, {{size}}. Itu tidak dapat diedit di sini.',
1106
1131
  executable: 'Dapat dieksekusi',
1107
1132
  scriptBadge: 'Naskah',
1108
- scriptsNote: 'Memiliki skrip: agen online dapat membacanya tetapi tidak pernah menjalankannya',
1133
+ scriptsNote: 'Memiliki skrip: Agent online dapat membacanya tetapi tidak pernah menjalankannya',
1109
1134
  compatibility: 'Kompatibilitas: {{value}}',
1110
1135
  fileContent: 'Konten {{path}}',
1111
1136
  export: 'Ekspor',
@@ -1136,8 +1161,8 @@ const idID = {
1136
1161
  name: 'Nama',
1137
1162
  renameTitle: 'Ganti nama "{{name}}"',
1138
1163
  conventional: {
1139
- scripts: 'Agen kode dapat berjalan. Agen online hanya membacanya.',
1140
- references: 'Agen dokumentasi membaca saat mereka membutuhkannya.',
1164
+ scripts: 'Agent kode dapat berjalan. Agent online hanya membacanya.',
1165
+ references: 'Agent dokumentasi membaca saat mereka membutuhkannya.',
1141
1166
  assets: 'Templat, gambar, dan sumber daya lainnya.',
1142
1167
  },
1143
1168
  problems: {
@@ -1172,7 +1197,7 @@ const idID = {
1172
1197
  },
1173
1198
  },
1174
1199
  template: {
1175
- description: 'Apa fungsi keterampilan ini, dan kapan agen harus menggunakannya.',
1200
+ description: 'Apa fungsi keterampilan ini, dan kapan Agent harus menggunakannya.',
1176
1201
  title: 'Keterampilan baru',
1177
1202
  whenToUse: 'Kapan digunakan',
1178
1203
  whenToUseHint: 'Jelaskan tugas-tugas yang membutuhkan keterampilan ini.',
@@ -1191,7 +1216,7 @@ const idID = {
1191
1216
  },
1192
1217
  versions: {
1193
1218
  title: 'Versi',
1194
- description: 'Setiap penyimpanan membuat versi baru; agen selalu mendapatkan versi terbaru.',
1219
+ description: 'Setiap penyimpanan membuat versi baru; Agent selalu mendapatkan versi terbaru.',
1195
1220
  current: 'Saat ini',
1196
1221
  compare: 'Bandingkan',
1197
1222
  compareTitle: 'Versi {{version}} → versi {{current}}',
@@ -1199,7 +1224,7 @@ const idID = {
1199
1224
  unchanged: 'tidak berubah',
1200
1225
  restore: 'Pulihkan',
1201
1226
  restoreTitle: 'Pulihkan versi {{version}}?',
1202
- restoreDescription: 'Disimpan lagi sebagai versi terbaru; agen mendapatkannya pada putaran berikutnya. Tidak ada yang hilang: versi saat ini tetap ada dalam sejarah.',
1227
+ restoreDescription: 'Disimpan lagi sebagai versi terbaru; Agent mendapatkannya pada putaran berikutnya. Tidak ada yang hilang: versi saat ini tetap ada dalam sejarah.',
1203
1228
  restored: 'Versi {{version}} yang dipulihkan sebagai versi {{current}}.',
1204
1229
  },
1205
1230
  },
@@ -1212,14 +1237,14 @@ const idID = {
1212
1237
  incompatible: 'Runner yang terhubung tidak mendukung beban kerja ini; diperlukan peningkatan',
1213
1238
  restricted: 'Kebijakan runner, direktori, atau pembatasan variabel',
1214
1239
  unknown: 'Kelayakan beban kerja belum ditetapkan',
1215
- agentArchived: 'Agen diarsipkan',
1240
+ agentArchived: 'Agent diarsipkan',
1216
1241
  delayed: 'Dijadwalkan untuk {{until}}',
1217
- noRunnerOnline: 'Tidak ada waktu proses online',
1242
+ noRunnerOnline: 'Tidak ada lingkungan runtime online',
1218
1243
  runnersOffline: 'Waktu prosesnya sedang offline',
1219
1244
  toolQuota: 'Kuota alat habis; waktu reset: {{until}}',
1220
1245
  toolUnavailable: 'Alat tidak masuk, dinonaktifkan, atau model yang diminta tidak tersedia ({{tool}})',
1221
1246
  noSharedRunner: 'Hanya runner pribadi orang lain yang online',
1222
- missingFeatures: 'Tidak ada waktu proses yang mendukung {{features}}',
1247
+ missingFeatures: 'Tidak ada lingkungan runtime yang mendukung {{features}}',
1223
1248
  secretsNotAllowed: 'Membutuhkan runtime tim: {{variables}} hanya untuk runtime tim',
1224
1249
  sameWorkActive: 'Setelah dijalankan sudah di atasnya',
1225
1250
  concurrencyFull: 'Konkurensi penuh ({{active}}/{{limit}})',
@@ -1241,12 +1266,12 @@ const idID = {
1241
1266
  description: 'Agen tim dan keterampilan yang mereka gunakan.',
1242
1267
  actions: {
1243
1268
  edit: {
1244
- title: 'Ubah agen dan keterampilan',
1245
- description: 'Mengubah pengaturan agen, keterampilan dan variabel, mengarsipkan, memulihkan dan menghapusnya, dan mengedit keterampilan. Seorang agen tidak diberikan kemampuan selain kemampuan editor',
1246
- related: 'Agen perubahan dan keterampilan (agen yang mereka miliki dan keterampilan yang mereka ciptakan)',
1269
+ title: 'Ubah Agent dan keterampilan',
1270
+ description: 'Mengubah pengaturan Agent, keterampilan dan variabel, mengarsipkan, memulihkan dan menghapusnya, dan mengedit keterampilan. Seorang Agent tidak diberikan kemampuan selain kemampuan editor',
1271
+ related: 'Agent perubahan dan keterampilan (Agent yang mereka miliki dan keterampilan yang mereka ciptakan)',
1247
1272
  relatedLabel: 'Agen yang saya miliki dan keterampilan yang saya buat',
1248
1273
  relatedHint: 'Agen yang saya miliki, dan keterampilan yang saya ciptakan',
1249
- all: 'Agen perubahan dan keterampilan (semua)',
1274
+ all: 'Agent perubahan dan keterampilan (semua)',
1250
1275
  },
1251
1276
  },
1252
1277
  },
@@ -1266,7 +1291,7 @@ const idID = {
1266
1291
  keyScopes: {
1267
1292
  agents: {
1268
1293
  title: 'Agen',
1269
- description: 'Lihat agen, keterampilan, dan lari; ubah agen dan keterampilan, batalkan dan coba lagi.',
1294
+ description: 'Lihat Agent, keterampilan, dan lari; ubah Agent dan keterampilan, batalkan dan coba lagi.',
1270
1295
  },
1271
1296
  runners: {
1272
1297
  title: 'Lingkungan runtime',