@lobehub/lobehub 2.0.0-next.37 → 2.0.0-next.39

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 (127) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/apps/desktop/src/main/modules/networkProxy/__tests__/dispatcher.test.ts +401 -0
  3. package/apps/desktop/src/main/modules/networkProxy/__tests__/tester.test.ts +531 -0
  4. package/apps/desktop/src/main/modules/networkProxy/__tests__/urlBuilder.test.ts +349 -0
  5. package/apps/desktop/src/main/modules/networkProxy/__tests__/validator.test.ts +492 -0
  6. package/changelog/v1.json +14 -0
  7. package/locales/ar/auth.json +45 -1
  8. package/locales/ar/modelProvider.json +13 -1
  9. package/locales/bg-BG/auth.json +45 -1
  10. package/locales/bg-BG/modelProvider.json +13 -1
  11. package/locales/de-DE/auth.json +45 -1
  12. package/locales/de-DE/modelProvider.json +13 -1
  13. package/locales/en-US/auth.json +45 -1
  14. package/locales/en-US/modelProvider.json +13 -1
  15. package/locales/es-ES/auth.json +45 -1
  16. package/locales/es-ES/modelProvider.json +13 -1
  17. package/locales/fa-IR/auth.json +45 -1
  18. package/locales/fa-IR/modelProvider.json +13 -1
  19. package/locales/fr-FR/auth.json +45 -1
  20. package/locales/fr-FR/modelProvider.json +13 -1
  21. package/locales/it-IT/auth.json +45 -1
  22. package/locales/it-IT/modelProvider.json +13 -1
  23. package/locales/ja-JP/auth.json +45 -1
  24. package/locales/ja-JP/modelProvider.json +13 -1
  25. package/locales/ko-KR/auth.json +45 -1
  26. package/locales/ko-KR/modelProvider.json +13 -1
  27. package/locales/nl-NL/auth.json +45 -1
  28. package/locales/nl-NL/modelProvider.json +13 -1
  29. package/locales/pl-PL/auth.json +45 -1
  30. package/locales/pl-PL/modelProvider.json +13 -1
  31. package/locales/pt-BR/auth.json +45 -1
  32. package/locales/pt-BR/modelProvider.json +13 -1
  33. package/locales/ru-RU/auth.json +45 -1
  34. package/locales/ru-RU/modelProvider.json +13 -1
  35. package/locales/tr-TR/auth.json +45 -1
  36. package/locales/tr-TR/modelProvider.json +13 -1
  37. package/locales/vi-VN/auth.json +45 -1
  38. package/locales/vi-VN/modelProvider.json +13 -1
  39. package/locales/zh-CN/auth.json +45 -1
  40. package/locales/zh-CN/modelProvider.json +13 -1
  41. package/locales/zh-TW/auth.json +45 -1
  42. package/locales/zh-TW/modelProvider.json +13 -1
  43. package/package.json +1 -1
  44. package/packages/context-engine/src/processors/MessageCleanup.ts +1 -0
  45. package/packages/context-engine/src/processors/__tests__/MessageCleanup.test.ts +28 -0
  46. package/packages/obervability-otel/package.json +3 -1
  47. package/packages/obervability-otel/src/api.ts +2 -0
  48. package/packages/obervability-otel/src/trpc/convention.ts +16 -0
  49. package/packages/obervability-otel/src/trpc/index.test.ts +38 -0
  50. package/packages/obervability-otel/src/trpc/index.ts +62 -0
  51. package/packages/obervability-otel/src/trpc/metrics.ts +31 -0
  52. package/packages/types/src/usage/usageRecord.ts +54 -0
  53. package/packages/web-crawler/src/crawImpl/browserless.ts +1 -1
  54. package/packages/web-crawler/src/crawImpl/naive.ts +9 -9
  55. package/packages/web-crawler/src/crawler.ts +5 -5
  56. package/packages/web-crawler/src/urlRules.ts +13 -13
  57. package/packages/web-crawler/src/utils/appUrlRules.ts +5 -5
  58. package/src/app/[variants]/(main)/profile/hooks/useCategory.tsx +10 -1
  59. package/src/app/[variants]/(main)/profile/usage/Client.tsx +114 -0
  60. package/src/app/[variants]/(main)/profile/usage/features/UsageCards/ActiveModels/ModelTable.tsx +175 -0
  61. package/src/app/[variants]/(main)/profile/usage/features/UsageCards/ActiveModels/index.tsx +126 -0
  62. package/src/app/[variants]/(main)/profile/usage/features/UsageCards/MonthSpend.tsx +53 -0
  63. package/src/app/[variants]/(main)/profile/usage/features/UsageCards/TodaySpend.tsx +67 -0
  64. package/src/app/[variants]/(main)/profile/usage/features/UsageCards/index.tsx +19 -0
  65. package/src/app/[variants]/(main)/profile/usage/features/UsageTable.tsx +145 -0
  66. package/src/app/[variants]/(main)/profile/usage/features/UsageTrends.tsx +107 -0
  67. package/src/app/[variants]/(main)/profile/usage/features/components/UsageBarChart.tsx +48 -0
  68. package/src/app/[variants]/(main)/profile/usage/page.tsx +23 -0
  69. package/src/features/Conversation/Messages/Assistant/Tool/Render/CustomRender.tsx +3 -3
  70. package/src/features/Conversation/Messages/Group/Actions/WithoutContentId.tsx +37 -14
  71. package/src/features/Conversation/Messages/Group/Error/index.tsx +1 -1
  72. package/src/features/Conversation/Messages/Group/GroupChildren.tsx +13 -35
  73. package/src/features/Conversation/Messages/Group/GroupItem.tsx +43 -0
  74. package/src/features/Conversation/Messages/Group/Tool/Inspector/index.tsx +1 -2
  75. package/src/features/Conversation/Messages/Group/Tool/Render/CustomRender.tsx +1 -1
  76. package/src/features/Conversation/Messages/Group/Tool/index.tsx +0 -2
  77. package/src/features/Conversation/Messages/Group/index.tsx +7 -2
  78. package/src/features/Conversation/components/Extras/Usage/UsageDetail/index.tsx +3 -0
  79. package/src/features/Conversation/hooks/useChatListActionsBar.tsx +21 -7
  80. package/src/features/PluginsUI/Render/BuiltinType/index.tsx +1 -1
  81. package/src/features/PluginsUI/Render/MCPType/index.tsx +52 -0
  82. package/src/features/PluginsUI/Render/StandaloneType/Iframe.tsx +2 -2
  83. package/src/features/PluginsUI/Render/index.tsx +17 -0
  84. package/src/libs/mcp/client.ts +3 -2
  85. package/src/libs/mcp/types.ts +71 -0
  86. package/src/libs/trpc/lambda/index.ts +5 -2
  87. package/src/libs/trpc/middleware/openTelemetry.ts +141 -0
  88. package/src/locales/default/auth.ts +44 -0
  89. package/src/locales/default/chat.ts +1 -0
  90. package/src/server/routers/desktop/mcp.ts +1 -3
  91. package/src/server/routers/lambda/index.ts +2 -0
  92. package/src/server/routers/lambda/usage.ts +36 -0
  93. package/src/server/routers/tools/mcp.ts +1 -3
  94. package/src/server/services/mcp/index.test.ts +28 -15
  95. package/src/server/services/mcp/index.ts +29 -18
  96. package/src/server/services/usage/index.test.ts +310 -0
  97. package/src/server/services/usage/index.ts +164 -0
  98. package/src/services/chat/contextEngineering.test.ts +4 -0
  99. package/src/services/mcp.test.ts +7 -1
  100. package/src/services/mcp.ts +13 -12
  101. package/src/services/usage.ts +13 -0
  102. package/src/store/chat/agents/createAgentExecutors.ts +2 -3
  103. package/src/store/chat/slices/aiChat/actions/conversationLifecycle.ts +40 -1
  104. package/src/store/chat/slices/aiChat/actions/streamingExecutor.ts +13 -5
  105. package/src/store/chat/slices/builtinTool/actions/__tests__/localSystem.test.ts +3 -3
  106. package/src/store/chat/slices/builtinTool/actions/__tests__/search.test.ts +6 -6
  107. package/src/store/chat/slices/builtinTool/actions/interpreter.ts +2 -2
  108. package/src/store/chat/slices/builtinTool/actions/localSystem.ts +2 -2
  109. package/src/store/chat/slices/builtinTool/actions/search.ts +6 -6
  110. package/src/store/chat/slices/message/actions/publicApi.ts +19 -1
  111. package/src/store/chat/slices/message/initialState.ts +5 -0
  112. package/src/store/chat/slices/message/selectors/chat.test.ts +22 -602
  113. package/src/store/chat/slices/message/selectors/chat.ts +0 -2
  114. package/src/store/chat/slices/message/selectors/dbMessage.test.ts +51 -0
  115. package/src/store/chat/slices/message/selectors/displayMessage.test.ts +818 -0
  116. package/src/store/chat/slices/message/selectors/displayMessage.ts +52 -1
  117. package/src/store/chat/slices/message/selectors/messageState.ts +2 -0
  118. package/src/store/chat/slices/plugin/action.test.ts +4 -4
  119. package/src/store/chat/slices/plugin/actions/index.ts +39 -0
  120. package/src/store/chat/slices/plugin/actions/internals.ts +83 -0
  121. package/src/store/chat/slices/plugin/actions/optimisticUpdate.ts +188 -0
  122. package/src/store/chat/slices/plugin/actions/pluginTypes.ts +213 -0
  123. package/src/store/chat/slices/plugin/actions/publicApi.ts +115 -0
  124. package/src/store/chat/slices/plugin/actions/workflow.ts +121 -0
  125. package/src/store/chat/store.ts +1 -1
  126. package/src/store/global/initialState.ts +1 -0
  127. package/src/store/chat/slices/plugin/action.ts +0 -539
@@ -145,6 +145,50 @@
145
145
  "apikey": "API-Schlüssel Verwaltung",
146
146
  "profile": "Profil",
147
147
  "security": "Sicherheit",
148
- "stats": "Statistiken"
148
+ "stats": "Statistiken",
149
+ "usage": "Nutzungsstatistik"
150
+ },
151
+ "usage": {
152
+ "activeModels": {
153
+ "modelTable": "Modellliste",
154
+ "models": "Aktive Modelle",
155
+ "providerTable": "Anbieterliste",
156
+ "providers": "Aktive Anbieter",
157
+ "table": {
158
+ "calls": "Anzahl der Aufrufe",
159
+ "model": "Modell",
160
+ "provider": "Anbieter",
161
+ "spend": "Kosten"
162
+ }
163
+ },
164
+ "cards": {
165
+ "month": {
166
+ "modelCalls": "Modellaufrufe",
167
+ "title": "Ausgaben dieses Monats"
168
+ },
169
+ "today": {
170
+ "title": "Heutige Ausgaben",
171
+ "yesterday": "Gestern"
172
+ }
173
+ },
174
+ "table": {
175
+ "actions": "Aktionen",
176
+ "createdAt": "Nutzungszeit",
177
+ "inputTokens": "Eingabe-Token",
178
+ "model": "Modell",
179
+ "outputTokens": "Ausgabe-Token",
180
+ "spend": "Kosten",
181
+ "tps": "TPS",
182
+ "ttft": "TTFT",
183
+ "type": "Aufruftyp"
184
+ },
185
+ "trends": {
186
+ "spend": "Betrag",
187
+ "tokens": "Token"
188
+ },
189
+ "welcome": {
190
+ "model": "Modell",
191
+ "provider": "Anbieter"
192
+ }
149
193
  }
150
194
  }
@@ -199,6 +199,12 @@
199
199
  "all": "Alle",
200
200
  "list": {
201
201
  "disabled": "Nicht aktiviert",
202
+ "disabledActions": {
203
+ "sort": "Sortieroptionen",
204
+ "sortAlphabetical": "Alphabetisch sortieren",
205
+ "sortAlphabeticalDesc": "In umgekehrter alphabetischer Reihenfolge sortieren",
206
+ "sortDefault": "Standard-Sortierung"
207
+ },
202
208
  "enabled": "Aktiviert"
203
209
  },
204
210
  "notFound": "Keine Suchergebnisse gefunden",
@@ -391,7 +397,13 @@
391
397
  "addNew": "Modell hinzufügen",
392
398
  "disabled": "Nicht aktiviert",
393
399
  "disabledActions": {
394
- "showMore": "Alle anzeigen"
400
+ "showMore": "Alle anzeigen",
401
+ "sort": "Sortieroptionen",
402
+ "sortAlphabetical": "Alphabetisch sortieren",
403
+ "sortAlphabeticalDesc": "In umgekehrter alphabetischer Reihenfolge sortieren",
404
+ "sortDefault": "Standard-Sortierung",
405
+ "sortReleasedAt": "Nach frühestem Veröffentlichungsdatum sortieren",
406
+ "sortReleasedAtDesc": "Nach neuestem Veröffentlichungsdatum sortieren"
395
407
  },
396
408
  "empty": {
397
409
  "desc": "Bitte erstellen Sie ein benutzerdefiniertes Modell oder ziehen Sie ein Modell, um zu beginnen.",
@@ -145,6 +145,50 @@
145
145
  "apikey": "API Key Management",
146
146
  "profile": "Profile",
147
147
  "security": "Security",
148
- "stats": "Statistics"
148
+ "stats": "Statistics",
149
+ "usage": "Usage Statistics"
150
+ },
151
+ "usage": {
152
+ "activeModels": {
153
+ "modelTable": "Model List",
154
+ "models": "Active Models",
155
+ "providerTable": "Provider List",
156
+ "providers": "Active Providers",
157
+ "table": {
158
+ "calls": "Calls",
159
+ "model": "Model",
160
+ "provider": "Provider",
161
+ "spend": "Spend"
162
+ }
163
+ },
164
+ "cards": {
165
+ "month": {
166
+ "modelCalls": "Model Calls",
167
+ "title": "This Month's Spend"
168
+ },
169
+ "today": {
170
+ "title": "Today's Spend",
171
+ "yesterday": "Yesterday"
172
+ }
173
+ },
174
+ "table": {
175
+ "actions": "Actions",
176
+ "createdAt": "Usage Time",
177
+ "inputTokens": "Input Tokens",
178
+ "model": "Model",
179
+ "outputTokens": "Output Tokens",
180
+ "spend": "Spend",
181
+ "tps": "TPS",
182
+ "ttft": "TTFT",
183
+ "type": "Call Type"
184
+ },
185
+ "trends": {
186
+ "spend": "Amount",
187
+ "tokens": "Tokens"
188
+ },
189
+ "welcome": {
190
+ "model": "Model",
191
+ "provider": "Provider"
192
+ }
149
193
  }
150
194
  }
@@ -199,6 +199,12 @@
199
199
  "all": "All",
200
200
  "list": {
201
201
  "disabled": "Disabled",
202
+ "disabledActions": {
203
+ "sort": "Sort By",
204
+ "sortAlphabetical": "Sort Alphabetically",
205
+ "sortAlphabeticalDesc": "Sort by Reverse Alphabetical Order",
206
+ "sortDefault": "Default Sort"
207
+ },
202
208
  "enabled": "Enabled"
203
209
  },
204
210
  "notFound": "No search results found",
@@ -391,7 +397,13 @@
391
397
  "addNew": "Add Model",
392
398
  "disabled": "Disabled",
393
399
  "disabledActions": {
394
- "showMore": "Show All"
400
+ "showMore": "Show All",
401
+ "sort": "Sort By",
402
+ "sortAlphabetical": "Sort Alphabetically",
403
+ "sortAlphabeticalDesc": "Sort by Reverse Alphabetical Order",
404
+ "sortDefault": "Default Sort",
405
+ "sortReleasedAt": "Sort by Earliest Release Date",
406
+ "sortReleasedAtDesc": "Sort by Latest Release Date"
395
407
  },
396
408
  "empty": {
397
409
  "desc": "Please create a custom model or pull a model to get started.",
@@ -145,6 +145,50 @@
145
145
  "apikey": "Gestión de Claves API",
146
146
  "profile": "Perfil",
147
147
  "security": "Seguridad",
148
- "stats": "Estadísticas"
148
+ "stats": "Estadísticas",
149
+ "usage": "Estadísticas de uso"
150
+ },
151
+ "usage": {
152
+ "activeModels": {
153
+ "modelTable": "Lista de modelos",
154
+ "models": "Modelos activos",
155
+ "providerTable": "Lista de proveedores",
156
+ "providers": "Proveedores activos",
157
+ "table": {
158
+ "calls": "Número de llamadas",
159
+ "model": "Modelo",
160
+ "provider": "Proveedor",
161
+ "spend": "Gasto"
162
+ }
163
+ },
164
+ "cards": {
165
+ "month": {
166
+ "modelCalls": "Llamadas del modelo",
167
+ "title": "Gastos de este mes"
168
+ },
169
+ "today": {
170
+ "title": "Gasto de hoy",
171
+ "yesterday": "Ayer"
172
+ }
173
+ },
174
+ "table": {
175
+ "actions": "Acciones",
176
+ "createdAt": "Fecha de uso",
177
+ "inputTokens": "Tokens de entrada",
178
+ "model": "Modelo",
179
+ "outputTokens": "Tokens de salida",
180
+ "spend": "Gasto",
181
+ "tps": "TPS",
182
+ "ttft": "TTFT",
183
+ "type": "Tipo de llamada"
184
+ },
185
+ "trends": {
186
+ "spend": "Importe",
187
+ "tokens": "Tokens"
188
+ },
189
+ "welcome": {
190
+ "model": "Modelo",
191
+ "provider": "Proveedor"
192
+ }
149
193
  }
150
194
  }
@@ -199,6 +199,12 @@
199
199
  "all": "Todo",
200
200
  "list": {
201
201
  "disabled": "No habilitado",
202
+ "disabledActions": {
203
+ "sort": "Ordenar por",
204
+ "sortAlphabetical": "Orden alfabético",
205
+ "sortAlphabeticalDesc": "Orden alfabético descendente",
206
+ "sortDefault": "Orden predeterminado"
207
+ },
202
208
  "enabled": "Habilitado"
203
209
  },
204
210
  "notFound": "No se encontraron resultados de búsqueda",
@@ -391,7 +397,13 @@
391
397
  "addNew": "Agregar modelo",
392
398
  "disabled": "No habilitado",
393
399
  "disabledActions": {
394
- "showMore": "Mostrar todo"
400
+ "showMore": "Mostrar todo",
401
+ "sort": "Ordenar por",
402
+ "sortAlphabetical": "Orden alfabético",
403
+ "sortAlphabeticalDesc": "Orden alfabético descendente",
404
+ "sortDefault": "Orden predeterminado",
405
+ "sortReleasedAt": "Ordenar por fecha de lanzamiento más antigua",
406
+ "sortReleasedAtDesc": "Ordenar por fecha de lanzamiento más reciente"
395
407
  },
396
408
  "empty": {
397
409
  "desc": "Por favor, crea un modelo personalizado o importa un modelo para comenzar a usarlo.",
@@ -145,6 +145,50 @@
145
145
  "apikey": "مدیریت کلید API",
146
146
  "profile": "پروفایل",
147
147
  "security": "امنیت",
148
- "stats": "آمار"
148
+ "stats": "آمار",
149
+ "usage": "آمار مصرف"
150
+ },
151
+ "usage": {
152
+ "activeModels": {
153
+ "modelTable": "فهرست مدل‌ها",
154
+ "models": "مدل‌های فعال",
155
+ "providerTable": "فهرست ارائه‌دهندگان",
156
+ "providers": "ارائه‌دهندگان فعال",
157
+ "table": {
158
+ "calls": "تعداد فراخوانی‌ها",
159
+ "model": "مدل",
160
+ "provider": "ارائه‌دهنده",
161
+ "spend": "هزینه"
162
+ }
163
+ },
164
+ "cards": {
165
+ "month": {
166
+ "modelCalls": "فراخوانی‌های مدل",
167
+ "title": "هزینه ماه جاری"
168
+ },
169
+ "today": {
170
+ "title": "هزینه امروز",
171
+ "yesterday": "دیروز"
172
+ }
173
+ },
174
+ "table": {
175
+ "actions": "عملیات",
176
+ "createdAt": "زمان استفاده",
177
+ "inputTokens": "توکن‌های ورودی",
178
+ "model": "مدل",
179
+ "outputTokens": "توکن‌های خروجی",
180
+ "spend": "هزینه",
181
+ "tps": "TPS",
182
+ "ttft": "TTFT",
183
+ "type": "نوع فراخوانی"
184
+ },
185
+ "trends": {
186
+ "spend": "مبلغ",
187
+ "tokens": "توکن‌ها"
188
+ },
189
+ "welcome": {
190
+ "model": "مدل",
191
+ "provider": "ارائه‌دهنده"
192
+ }
149
193
  }
150
194
  }
@@ -199,6 +199,12 @@
199
199
  "all": "همه",
200
200
  "list": {
201
201
  "disabled": "غیرفعال",
202
+ "disabledActions": {
203
+ "sort": "نحوه مرتب‌سازی",
204
+ "sortAlphabetical": "مرتب‌سازی الفبایی",
205
+ "sortAlphabeticalDesc": "مرتب‌سازی الفبایی معکوس",
206
+ "sortDefault": "مرتب‌سازی پیش‌فرض"
207
+ },
202
208
  "enabled": "فعال"
203
209
  },
204
210
  "notFound": "نتیجه‌ای برای جستجو پیدا نشد",
@@ -391,7 +397,13 @@
391
397
  "addNew": "مدل جدید اضافه کنید",
392
398
  "disabled": "غیرفعال",
393
399
  "disabledActions": {
394
- "showMore": "نمایش همه"
400
+ "showMore": "نمایش همه",
401
+ "sort": "نحوه مرتب‌سازی",
402
+ "sortAlphabetical": "مرتب‌سازی الفبایی",
403
+ "sortAlphabeticalDesc": "مرتب‌سازی الفبایی معکوس",
404
+ "sortDefault": "مرتب‌سازی پیش‌فرض",
405
+ "sortReleasedAt": "مرتب‌سازی بر اساس تاریخ انتشار قدیمی‌تر",
406
+ "sortReleasedAtDesc": "مرتب‌سازی بر اساس جدیدترین تاریخ انتشار"
395
407
  },
396
408
  "empty": {
397
409
  "desc": "لطفاً یک مدل سفارشی ایجاد کنید یا پس از بارگذاری مدل‌ها، شروع به استفاده کنید",
@@ -145,6 +145,50 @@
145
145
  "apikey": "Gestion des clés API",
146
146
  "profile": "Profil",
147
147
  "security": "Sécurité",
148
- "stats": "Statistiques"
148
+ "stats": "Statistiques",
149
+ "usage": "Statistiques d'utilisation"
150
+ },
151
+ "usage": {
152
+ "activeModels": {
153
+ "modelTable": "Liste des modèles",
154
+ "models": "Modèles actifs",
155
+ "providerTable": "Liste des fournisseurs",
156
+ "providers": "Fournisseurs actifs",
157
+ "table": {
158
+ "calls": "Nombre d'appels",
159
+ "model": "Modèle",
160
+ "provider": "Fournisseur",
161
+ "spend": "Dépenses"
162
+ }
163
+ },
164
+ "cards": {
165
+ "month": {
166
+ "modelCalls": "Appels par modèle",
167
+ "title": "Dépenses du mois"
168
+ },
169
+ "today": {
170
+ "title": "Dépenses d'aujourd'hui",
171
+ "yesterday": "Hier"
172
+ }
173
+ },
174
+ "table": {
175
+ "actions": "Actions",
176
+ "createdAt": "Date d'utilisation",
177
+ "inputTokens": "Tokens d'entrée",
178
+ "model": "Modèle",
179
+ "outputTokens": "Tokens de sortie",
180
+ "spend": "Dépenses",
181
+ "tps": "TPS",
182
+ "ttft": "TTFT",
183
+ "type": "Type d'appel"
184
+ },
185
+ "trends": {
186
+ "spend": "Montant",
187
+ "tokens": "Tokens"
188
+ },
189
+ "welcome": {
190
+ "model": "Modèle",
191
+ "provider": "Fournisseur"
192
+ }
149
193
  }
150
194
  }
@@ -199,6 +199,12 @@
199
199
  "all": "Tout",
200
200
  "list": {
201
201
  "disabled": "Non activé",
202
+ "disabledActions": {
203
+ "sort": "Méthode de tri",
204
+ "sortAlphabetical": "Trier par ordre alphabétique",
205
+ "sortAlphabeticalDesc": "Trier par ordre alphabétique décroissant",
206
+ "sortDefault": "Tri par défaut"
207
+ },
202
208
  "enabled": "Activé"
203
209
  },
204
210
  "notFound": "Aucun résultat trouvé",
@@ -391,7 +397,13 @@
391
397
  "addNew": "Ajouter un modèle",
392
398
  "disabled": "Non activé",
393
399
  "disabledActions": {
394
- "showMore": "Afficher tout"
400
+ "showMore": "Afficher tout",
401
+ "sort": "Méthode de tri",
402
+ "sortAlphabetical": "Trier par ordre alphabétique",
403
+ "sortAlphabeticalDesc": "Trier par ordre alphabétique décroissant",
404
+ "sortDefault": "Tri par défaut",
405
+ "sortReleasedAt": "Trier par date de sortie la plus ancienne",
406
+ "sortReleasedAtDesc": "Trier par date de sortie la plus récente"
395
407
  },
396
408
  "empty": {
397
409
  "desc": "Veuillez créer un modèle personnalisé ou importer un modèle pour commencer à l'utiliser.",
@@ -145,6 +145,50 @@
145
145
  "apikey": "Gestione Chiavi API",
146
146
  "profile": "Profilo",
147
147
  "security": "Sicurezza",
148
- "stats": "Statistiche"
148
+ "stats": "Statistiche",
149
+ "usage": "Statistiche di utilizzo"
150
+ },
151
+ "usage": {
152
+ "activeModels": {
153
+ "modelTable": "Elenco modelli",
154
+ "models": "Modelli attivi",
155
+ "providerTable": "Elenco fornitori",
156
+ "providers": "Fornitori attivi",
157
+ "table": {
158
+ "calls": "Numero di chiamate",
159
+ "model": "Modello",
160
+ "provider": "Fornitore",
161
+ "spend": "Spesa"
162
+ }
163
+ },
164
+ "cards": {
165
+ "month": {
166
+ "modelCalls": "Chiamate modello",
167
+ "title": "Spesa del mese"
168
+ },
169
+ "today": {
170
+ "title": "Spesa di oggi",
171
+ "yesterday": "Ieri"
172
+ }
173
+ },
174
+ "table": {
175
+ "actions": "Azioni",
176
+ "createdAt": "Data d'uso",
177
+ "inputTokens": "Token in ingresso",
178
+ "model": "Modello",
179
+ "outputTokens": "Token in uscita",
180
+ "spend": "Spesa",
181
+ "tps": "TPS",
182
+ "ttft": "TTFT",
183
+ "type": "Tipo di chiamata"
184
+ },
185
+ "trends": {
186
+ "spend": "Importo",
187
+ "tokens": "Token"
188
+ },
189
+ "welcome": {
190
+ "model": "Modello",
191
+ "provider": "Fornitore"
192
+ }
149
193
  }
150
194
  }
@@ -199,6 +199,12 @@
199
199
  "all": "Tutti",
200
200
  "list": {
201
201
  "disabled": "Non attivato",
202
+ "disabledActions": {
203
+ "sort": "Ordina per",
204
+ "sortAlphabetical": "Ordina alfabeticamente",
205
+ "sortAlphabeticalDesc": "Ordina in ordine alfabetico inverso",
206
+ "sortDefault": "Ordinamento predefinito"
207
+ },
202
208
  "enabled": "Attivato"
203
209
  },
204
210
  "notFound": "Nessun risultato trovato",
@@ -391,7 +397,13 @@
391
397
  "addNew": "Aggiungi modello",
392
398
  "disabled": "Non attivato",
393
399
  "disabledActions": {
394
- "showMore": "Mostra tutto"
400
+ "showMore": "Mostra tutto",
401
+ "sort": "Ordina per",
402
+ "sortAlphabetical": "Ordina alfabeticamente",
403
+ "sortAlphabeticalDesc": "Ordina in ordine alfabetico inverso",
404
+ "sortDefault": "Ordinamento predefinito",
405
+ "sortReleasedAt": "Ordina per data di rilascio (più vecchi prima)",
406
+ "sortReleasedAtDesc": "Ordina per data di rilascio (più recenti prima)"
395
407
  },
396
408
  "empty": {
397
409
  "desc": "Si prega di creare un modello personalizzato o di importare un modello per iniziare a utilizzarlo",
@@ -145,6 +145,50 @@
145
145
  "apikey": "APIキー管理",
146
146
  "profile": "プロフィール",
147
147
  "security": "セキュリティ",
148
- "stats": "統計"
148
+ "stats": "統計",
149
+ "usage": "使用量の統計"
150
+ },
151
+ "usage": {
152
+ "activeModels": {
153
+ "modelTable": "モデル一覧",
154
+ "models": "アクティブモデル",
155
+ "providerTable": "プロバイダー一覧",
156
+ "providers": "アクティブプロバイダー",
157
+ "table": {
158
+ "calls": "呼び出し回数",
159
+ "model": "モデル",
160
+ "provider": "プロバイダー",
161
+ "spend": "費用"
162
+ }
163
+ },
164
+ "cards": {
165
+ "month": {
166
+ "modelCalls": "モデル呼び出し回数",
167
+ "title": "今月の費用"
168
+ },
169
+ "today": {
170
+ "title": "今日の費用",
171
+ "yesterday": "昨日"
172
+ }
173
+ },
174
+ "table": {
175
+ "actions": "操作",
176
+ "createdAt": "使用時間",
177
+ "inputTokens": "入力トークン",
178
+ "model": "モデル",
179
+ "outputTokens": "出力トークン",
180
+ "spend": "費用",
181
+ "tps": "TPS",
182
+ "ttft": "TTFT",
183
+ "type": "呼び出しタイプ"
184
+ },
185
+ "trends": {
186
+ "spend": "金額",
187
+ "tokens": "トークン"
188
+ },
189
+ "welcome": {
190
+ "model": "モデル",
191
+ "provider": "プロバイダー"
192
+ }
149
193
  }
150
194
  }
@@ -199,6 +199,12 @@
199
199
  "all": "すべて",
200
200
  "list": {
201
201
  "disabled": "未使用",
202
+ "disabledActions": {
203
+ "sort": "並び替え方法",
204
+ "sortAlphabetical": "アルファベット順に並び替え",
205
+ "sortAlphabeticalDesc": "アルファベット逆順に並び替え",
206
+ "sortDefault": "デフォルトの並び順"
207
+ },
202
208
  "enabled": "使用中"
203
209
  },
204
210
  "notFound": "検索結果が見つかりません",
@@ -391,7 +397,13 @@
391
397
  "addNew": "モデルを追加",
392
398
  "disabled": "無効",
393
399
  "disabledActions": {
394
- "showMore": "すべて表示"
400
+ "showMore": "すべて表示",
401
+ "sort": "並び替え方法",
402
+ "sortAlphabetical": "アルファベット順に並び替え",
403
+ "sortAlphabeticalDesc": "アルファベット逆順に並び替え",
404
+ "sortDefault": "デフォルトの並び順",
405
+ "sortReleasedAt": "公開日が早い順に並び替え",
406
+ "sortReleasedAtDesc": "公開日が新しい順に並び替え"
395
407
  },
396
408
  "empty": {
397
409
  "desc": "カスタムモデルを作成するか、モデルを取得してから使用を開始してください",
@@ -145,6 +145,50 @@
145
145
  "apikey": "API 키 관리",
146
146
  "profile": "프로필",
147
147
  "security": "보안",
148
- "stats": "통계"
148
+ "stats": "통계",
149
+ "usage": "사용량 통계"
150
+ },
151
+ "usage": {
152
+ "activeModels": {
153
+ "modelTable": "모델 목록",
154
+ "models": "활성 모델",
155
+ "providerTable": "제공업체 목록",
156
+ "providers": "활성 제공업체",
157
+ "table": {
158
+ "calls": "호출 횟수",
159
+ "model": "모델",
160
+ "provider": "제공업체",
161
+ "spend": "비용"
162
+ }
163
+ },
164
+ "cards": {
165
+ "month": {
166
+ "modelCalls": "모델 호출",
167
+ "title": "이번 달 비용"
168
+ },
169
+ "today": {
170
+ "title": "오늘 비용",
171
+ "yesterday": "어제"
172
+ }
173
+ },
174
+ "table": {
175
+ "actions": "작업",
176
+ "createdAt": "사용 시간",
177
+ "inputTokens": "입력 토큰",
178
+ "model": "모델",
179
+ "outputTokens": "출력 토큰",
180
+ "spend": "비용",
181
+ "tps": "TPS",
182
+ "ttft": "TTFT",
183
+ "type": "호출 유형"
184
+ },
185
+ "trends": {
186
+ "spend": "금액",
187
+ "tokens": "토큰"
188
+ },
189
+ "welcome": {
190
+ "model": "모델",
191
+ "provider": "제공업체"
192
+ }
149
193
  }
150
194
  }
@@ -199,6 +199,12 @@
199
199
  "all": "전체",
200
200
  "list": {
201
201
  "disabled": "비활성화됨",
202
+ "disabledActions": {
203
+ "sort": "정렬 방식",
204
+ "sortAlphabetical": "가나다순 정렬",
205
+ "sortAlphabeticalDesc": "가나다역순 정렬",
206
+ "sortDefault": "기본 정렬"
207
+ },
202
208
  "enabled": "활성화됨"
203
209
  },
204
210
  "notFound": "검색 결과가 없습니다",
@@ -391,7 +397,13 @@
391
397
  "addNew": "모델 추가",
392
398
  "disabled": "비활성화됨",
393
399
  "disabledActions": {
394
- "showMore": "모두 보기"
400
+ "showMore": "모두 보기",
401
+ "sort": "정렬 방식",
402
+ "sortAlphabetical": "가나다순 정렬",
403
+ "sortAlphabeticalDesc": "가나다역순 정렬",
404
+ "sortDefault": "기본 정렬",
405
+ "sortReleasedAt": "최초 출시일 순 정렬",
406
+ "sortReleasedAtDesc": "최신 출시일 순 정렬"
395
407
  },
396
408
  "empty": {
397
409
  "desc": "사용자 정의 모델을 생성하거나 모델을 가져온 후 사용을 시작해 보세요",