Skip to content

Commit 8352f1e

Browse files
authored
Merge branch 'anomalyco:dev' into dev
2 parents 591e530 + de796d9 commit 8352f1e

47 files changed

Lines changed: 4188 additions & 497 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/app/src/pages/session/helpers.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe("createOpenReviewFile", () => {
1616

1717
openReviewFile("src/a.ts")
1818

19-
expect(calls).toEqual(["show", "tab:src/a.ts", "open:file://src/a.ts", "load:src/a.ts"])
19+
expect(calls).toEqual(["show", "load:src/a.ts", "tab:src/a.ts", "open:file://src/a.ts"])
2020
})
2121
})
2222

packages/app/src/pages/session/helpers.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@ export const createOpenReviewFile = (input: {
2424
showAllFiles: () => void
2525
tabForPath: (path: string) => string
2626
openTab: (tab: string) => void
27-
loadFile: (path: string) => void
27+
loadFile: (path: string) => any | Promise<void>
2828
}) => {
2929
return (path: string) => {
3030
batch(() => {
3131
input.showAllFiles()
32-
input.openTab(input.tabForPath(path))
33-
input.loadFile(path)
32+
const maybePromise = input.loadFile(path)
33+
const openTab = () => input.openTab(input.tabForPath(path))
34+
if (maybePromise instanceof Promise) maybePromise.then(openTab)
35+
else openTab()
3436
})
3537
}
3638
}

packages/console/app/src/i18n/ar.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,7 @@ export const dict = {
243243
"black.hero.title": "الوصول إلى أفضل نماذج البرمجة في العالم",
244244
"black.hero.subtitle": "بما في ذلك Claude، GPT، Gemini والمزيد",
245245
"black.title": "OpenCode Black | الأسعار",
246+
"black.paused": "التسجيل في خطة Black متوقف مؤقتًا.",
246247
"black.plan.icon20": "خطة Black 20",
247248
"black.plan.icon100": "خطة Black 100",
248249
"black.plan.icon200": "خطة Black 200",
@@ -344,6 +345,7 @@ export const dict = {
344345
"workspace.usage.breakdown.output": "الخرج",
345346
"workspace.usage.breakdown.reasoning": "المنطق",
346347
"workspace.usage.subscription": "الاشتراك (${{amount}})",
348+
"workspace.usage.lite": "lite (${{amount}})",
347349
"workspace.usage.byok": "BYOK (${{amount}})",
348350

349351
"workspace.cost.title": "التكلفة",
@@ -353,6 +355,7 @@ export const dict = {
353355
"workspace.cost.deletedSuffix": "(محذوف)",
354356
"workspace.cost.empty": "لا توجد بيانات استخدام متاحة للفترة المحددة.",
355357
"workspace.cost.subscriptionShort": "اشتراك",
358+
"workspace.cost.liteShort": "lite",
356359

357360
"workspace.keys.title": "مفاتيح API",
358361
"workspace.keys.subtitle": "إدارة مفاتيح API الخاصة بك للوصول إلى خدمات opencode.",
@@ -480,6 +483,31 @@ export const dict = {
480483
"workspace.black.waitlist.enrolled": "مسجل",
481484
"workspace.black.waitlist.enrollNote": 'عند النقر فوق "تسجيل"، يبدأ اشتراكك على الفور وسيتم خصم الرسوم من بطاقتك.',
482485

486+
"workspace.lite.loading": "جارٍ التحميل...",
487+
"workspace.lite.time.day": "يوم",
488+
"workspace.lite.time.days": "أيام",
489+
"workspace.lite.time.hour": "ساعة",
490+
"workspace.lite.time.hours": "ساعات",
491+
"workspace.lite.time.minute": "دقيقة",
492+
"workspace.lite.time.minutes": "دقائق",
493+
"workspace.lite.time.fewSeconds": "بضع ثوان",
494+
"workspace.lite.subscription.title": "اشتراك Lite",
495+
"workspace.lite.subscription.message": "أنت مشترك في OpenCode Lite.",
496+
"workspace.lite.subscription.manage": "إدارة الاشتراك",
497+
"workspace.lite.subscription.rollingUsage": "الاستخدام المتجدد",
498+
"workspace.lite.subscription.weeklyUsage": "الاستخدام الأسبوعي",
499+
"workspace.lite.subscription.monthlyUsage": "الاستخدام الشهري",
500+
"workspace.lite.subscription.resetsIn": "إعادة تعيين في",
501+
"workspace.lite.subscription.useBalance": "استخدم رصيدك المتوفر بعد الوصول إلى حدود الاستخدام",
502+
"workspace.lite.other.title": "اشتراك Lite",
503+
"workspace.lite.other.message":
504+
"عضو آخر في مساحة العمل هذه مشترك بالفعل في OpenCode Lite. يمكن لعضو واحد فقط لكل مساحة عمل الاشتراك.",
505+
"workspace.lite.promo.title": "OpenCode Lite",
506+
"workspace.lite.promo.description":
507+
"احصل على وصول إلى أفضل النماذج المفتوحة — Kimi K2.5، و GLM-5، و MiniMax M2.5 — مع حدود استخدام سخية مقابل $10 شهريًا.",
508+
"workspace.lite.promo.subscribe": "الاشتراك في Lite",
509+
"workspace.lite.promo.subscribing": "جارٍ إعادة التوجيه...",
510+
483511
"download.title": "OpenCode | تنزيل",
484512
"download.meta.description": "نزّل OpenCode لـ macOS، Windows، وLinux",
485513
"download.hero.title": "تنزيل OpenCode",

packages/console/app/src/i18n/br.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ export const dict = {
247247
"black.hero.title": "Acesse os melhores modelos de codificação do mundo",
248248
"black.hero.subtitle": "Incluindo Claude, GPT, Gemini e mais",
249249
"black.title": "OpenCode Black | Preços",
250+
"black.paused": "A inscrição no plano Black está temporariamente pausada.",
250251
"black.plan.icon20": "Plano Black 20",
251252
"black.plan.icon100": "Plano Black 100",
252253
"black.plan.icon200": "Plano Black 200",
@@ -349,6 +350,7 @@ export const dict = {
349350
"workspace.usage.breakdown.output": "Saída",
350351
"workspace.usage.breakdown.reasoning": "Raciocínio",
351352
"workspace.usage.subscription": "assinatura (${{amount}})",
353+
"workspace.usage.lite": "lite (${{amount}})",
352354
"workspace.usage.byok": "BYOK (${{amount}})",
353355

354356
"workspace.cost.title": "Custo",
@@ -358,6 +360,7 @@ export const dict = {
358360
"workspace.cost.deletedSuffix": "(excluído)",
359361
"workspace.cost.empty": "Nenhum dado de uso disponível para o período selecionado.",
360362
"workspace.cost.subscriptionShort": "ass",
363+
"workspace.cost.liteShort": "lite",
361364

362365
"workspace.keys.title": "Chaves de API",
363366
"workspace.keys.subtitle": "Gerencie suas chaves de API para acessar os serviços opencode.",
@@ -486,6 +489,31 @@ export const dict = {
486489
"workspace.black.waitlist.enrollNote":
487490
"Ao clicar em Inscrever-se, sua assinatura começará imediatamente e seu cartão será cobrado.",
488491

492+
"workspace.lite.loading": "Carregando...",
493+
"workspace.lite.time.day": "dia",
494+
"workspace.lite.time.days": "dias",
495+
"workspace.lite.time.hour": "hora",
496+
"workspace.lite.time.hours": "horas",
497+
"workspace.lite.time.minute": "minuto",
498+
"workspace.lite.time.minutes": "minutos",
499+
"workspace.lite.time.fewSeconds": "alguns segundos",
500+
"workspace.lite.subscription.title": "Assinatura Lite",
501+
"workspace.lite.subscription.message": "Você assina o OpenCode Lite.",
502+
"workspace.lite.subscription.manage": "Gerenciar Assinatura",
503+
"workspace.lite.subscription.rollingUsage": "Uso Contínuo",
504+
"workspace.lite.subscription.weeklyUsage": "Uso Semanal",
505+
"workspace.lite.subscription.monthlyUsage": "Uso Mensal",
506+
"workspace.lite.subscription.resetsIn": "Reinicia em",
507+
"workspace.lite.subscription.useBalance": "Use seu saldo disponível após atingir os limites de uso",
508+
"workspace.lite.other.title": "Assinatura Lite",
509+
"workspace.lite.other.message":
510+
"Outro membro neste workspace já assina o OpenCode Lite. Apenas um membro por workspace pode assinar.",
511+
"workspace.lite.promo.title": "OpenCode Lite",
512+
"workspace.lite.promo.description":
513+
"Tenha acesso aos melhores modelos abertos — Kimi K2.5, GLM-5 e MiniMax M2.5 — com limites de uso generosos por $10 por mês.",
514+
"workspace.lite.promo.subscribe": "Assinar Lite",
515+
"workspace.lite.promo.subscribing": "Redirecionando...",
516+
489517
"download.title": "OpenCode | Baixar",
490518
"download.meta.description": "Baixe o OpenCode para macOS, Windows e Linux",
491519
"download.hero.title": "Baixar OpenCode",

packages/console/app/src/i18n/da.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ export const dict = {
245245
"black.hero.title": "Få adgang til verdens bedste kodningsmodeller",
246246
"black.hero.subtitle": "Inklusive Claude, GPT, Gemini og mere",
247247
"black.title": "OpenCode Black | Priser",
248+
"black.paused": "Black-plantilmelding er midlertidigt sat på pause.",
248249
"black.plan.icon20": "Black 20-plan",
249250
"black.plan.icon100": "Black 100-plan",
250251
"black.plan.icon200": "Black 200-plan",
@@ -347,6 +348,7 @@ export const dict = {
347348
"workspace.usage.breakdown.output": "Output",
348349
"workspace.usage.breakdown.reasoning": "Ræsonnement",
349350
"workspace.usage.subscription": "abonnement (${{amount}})",
351+
"workspace.usage.lite": "lite (${{amount}})",
350352
"workspace.usage.byok": "BYOK (${{amount}})",
351353

352354
"workspace.cost.title": "Omkostninger",
@@ -356,6 +358,7 @@ export const dict = {
356358
"workspace.cost.deletedSuffix": "(slettet)",
357359
"workspace.cost.empty": "Ingen brugsdata tilgængelige for den valgte periode.",
358360
"workspace.cost.subscriptionShort": "sub",
361+
"workspace.cost.liteShort": "lite",
359362

360363
"workspace.keys.title": "API-nøgler",
361364
"workspace.keys.subtitle": "Administrer dine API-nøgler for at få adgang til opencode-tjenester.",
@@ -484,6 +487,31 @@ export const dict = {
484487
"workspace.black.waitlist.enrollNote":
485488
"Når du klikker på Tilmeld, starter dit abonnement med det samme, og dit kort vil blive debiteret.",
486489

490+
"workspace.lite.loading": "Indlæser...",
491+
"workspace.lite.time.day": "dag",
492+
"workspace.lite.time.days": "dage",
493+
"workspace.lite.time.hour": "time",
494+
"workspace.lite.time.hours": "timer",
495+
"workspace.lite.time.minute": "minut",
496+
"workspace.lite.time.minutes": "minutter",
497+
"workspace.lite.time.fewSeconds": "et par sekunder",
498+
"workspace.lite.subscription.title": "Lite-abonnement",
499+
"workspace.lite.subscription.message": "Du abonnerer på OpenCode Lite.",
500+
"workspace.lite.subscription.manage": "Administrer abonnement",
501+
"workspace.lite.subscription.rollingUsage": "Løbende forbrug",
502+
"workspace.lite.subscription.weeklyUsage": "Ugentligt forbrug",
503+
"workspace.lite.subscription.monthlyUsage": "Månedligt forbrug",
504+
"workspace.lite.subscription.resetsIn": "Nulstiller i",
505+
"workspace.lite.subscription.useBalance": "Brug din tilgængelige saldo, når du har nået forbrugsgrænserne",
506+
"workspace.lite.other.title": "Lite-abonnement",
507+
"workspace.lite.other.message":
508+
"Et andet medlem i dette workspace abonnerer allerede på OpenCode Lite. Kun ét medlem pr. workspace kan abonnere.",
509+
"workspace.lite.promo.title": "OpenCode Lite",
510+
"workspace.lite.promo.description":
511+
"Få adgang til de bedste åbne modeller — Kimi K2.5, GLM-5 og MiniMax M2.5 — med generøse forbrugsgrænser for $10 om måneden.",
512+
"workspace.lite.promo.subscribe": "Abonner på Lite",
513+
"workspace.lite.promo.subscribing": "Omdirigerer...",
514+
487515
"download.title": "OpenCode | Download",
488516
"download.meta.description": "Download OpenCode til macOS, Windows og Linux",
489517
"download.hero.title": "Download OpenCode",

packages/console/app/src/i18n/de.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ export const dict = {
247247
"black.hero.title": "Zugriff auf die weltweit besten Coding-Modelle",
248248
"black.hero.subtitle": "Einschließlich Claude, GPT, Gemini und mehr",
249249
"black.title": "OpenCode Black | Preise",
250+
"black.paused": "Die Anmeldung zum Black-Plan ist vorübergehend pausiert.",
250251
"black.plan.icon20": "Black 20 Plan",
251252
"black.plan.icon100": "Black 100 Plan",
252253
"black.plan.icon200": "Black 200 Plan",
@@ -349,6 +350,7 @@ export const dict = {
349350
"workspace.usage.breakdown.output": "Output",
350351
"workspace.usage.breakdown.reasoning": "Reasoning",
351352
"workspace.usage.subscription": "Abonnement (${{amount}})",
353+
"workspace.usage.lite": "lite (${{amount}})",
352354
"workspace.usage.byok": "BYOK (${{amount}})",
353355

354356
"workspace.cost.title": "Kosten",
@@ -358,6 +360,7 @@ export const dict = {
358360
"workspace.cost.deletedSuffix": "(gelöscht)",
359361
"workspace.cost.empty": "Keine Nutzungsdaten für den gewählten Zeitraum verfügbar.",
360362
"workspace.cost.subscriptionShort": "Abo",
363+
"workspace.cost.liteShort": "lite",
361364

362365
"workspace.keys.title": "API Keys",
363366
"workspace.keys.subtitle": "Verwalte deine API Keys für den Zugriff auf OpenCode-Dienste.",
@@ -486,6 +489,31 @@ export const dict = {
486489
"workspace.black.waitlist.enrollNote":
487490
"Wenn du auf Einschreiben klickst, startet dein Abo sofort und deine Karte wird belastet.",
488491

492+
"workspace.lite.loading": "Lade...",
493+
"workspace.lite.time.day": "Tag",
494+
"workspace.lite.time.days": "Tage",
495+
"workspace.lite.time.hour": "Stunde",
496+
"workspace.lite.time.hours": "Stunden",
497+
"workspace.lite.time.minute": "Minute",
498+
"workspace.lite.time.minutes": "Minuten",
499+
"workspace.lite.time.fewSeconds": "einige Sekunden",
500+
"workspace.lite.subscription.title": "Lite-Abonnement",
501+
"workspace.lite.subscription.message": "Du hast OpenCode Lite abonniert.",
502+
"workspace.lite.subscription.manage": "Abo verwalten",
503+
"workspace.lite.subscription.rollingUsage": "Fortlaufende Nutzung",
504+
"workspace.lite.subscription.weeklyUsage": "Wöchentliche Nutzung",
505+
"workspace.lite.subscription.monthlyUsage": "Monatliche Nutzung",
506+
"workspace.lite.subscription.resetsIn": "Setzt zurück in",
507+
"workspace.lite.subscription.useBalance": "Nutze dein verfügbares Guthaben, nachdem die Nutzungslimits erreicht sind",
508+
"workspace.lite.other.title": "Lite-Abonnement",
509+
"workspace.lite.other.message":
510+
"Ein anderes Mitglied in diesem Workspace hat OpenCode Lite bereits abonniert. Nur ein Mitglied pro Workspace kann abonnieren.",
511+
"workspace.lite.promo.title": "OpenCode Lite",
512+
"workspace.lite.promo.description":
513+
"Erhalte Zugriff auf die besten offenen Modelle — Kimi K2.5, GLM-5 und MiniMax M2.5 — mit großzügigen Nutzungslimits für $10 pro Monat.",
514+
"workspace.lite.promo.subscribe": "Lite abonnieren",
515+
"workspace.lite.promo.subscribing": "Leite weiter...",
516+
489517
"download.title": "OpenCode | Download",
490518
"download.meta.description": "Lade OpenCode für macOS, Windows und Linux herunter",
491519
"download.hero.title": "OpenCode herunterladen",

packages/console/app/src/i18n/en.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,7 @@ export const dict = {
239239
"black.hero.title": "Access all the world's best coding models",
240240
"black.hero.subtitle": "Including Claude, GPT, Gemini and more",
241241
"black.title": "OpenCode Black | Pricing",
242+
"black.paused": "Black plan enrollment is temporarily paused.",
242243
"black.plan.icon20": "Black 20 plan",
243244
"black.plan.icon100": "Black 100 plan",
244245
"black.plan.icon200": "Black 200 plan",
@@ -341,6 +342,7 @@ export const dict = {
341342
"workspace.usage.breakdown.output": "Output",
342343
"workspace.usage.breakdown.reasoning": "Reasoning",
343344
"workspace.usage.subscription": "subscription (${{amount}})",
345+
"workspace.usage.lite": "lite (${{amount}})",
344346
"workspace.usage.byok": "BYOK (${{amount}})",
345347

346348
"workspace.cost.title": "Cost",
@@ -350,6 +352,7 @@ export const dict = {
350352
"workspace.cost.deletedSuffix": "(deleted)",
351353
"workspace.cost.empty": "No usage data available for the selected period.",
352354
"workspace.cost.subscriptionShort": "sub",
355+
"workspace.cost.liteShort": "lite",
353356

354357
"workspace.keys.title": "API Keys",
355358
"workspace.keys.subtitle": "Manage your API keys for accessing opencode services.",
@@ -478,6 +481,31 @@ export const dict = {
478481
"workspace.black.waitlist.enrollNote":
479482
"When you click Enroll, your subscription starts immediately and your card will be charged.",
480483

484+
"workspace.lite.loading": "Loading...",
485+
"workspace.lite.time.day": "day",
486+
"workspace.lite.time.days": "days",
487+
"workspace.lite.time.hour": "hour",
488+
"workspace.lite.time.hours": "hours",
489+
"workspace.lite.time.minute": "minute",
490+
"workspace.lite.time.minutes": "minutes",
491+
"workspace.lite.time.fewSeconds": "a few seconds",
492+
"workspace.lite.subscription.title": "Lite Subscription",
493+
"workspace.lite.subscription.message": "You are subscribed to OpenCode Lite.",
494+
"workspace.lite.subscription.manage": "Manage Subscription",
495+
"workspace.lite.subscription.rollingUsage": "Rolling Usage",
496+
"workspace.lite.subscription.weeklyUsage": "Weekly Usage",
497+
"workspace.lite.subscription.monthlyUsage": "Monthly Usage",
498+
"workspace.lite.subscription.resetsIn": "Resets in",
499+
"workspace.lite.subscription.useBalance": "Use your available balance after reaching the usage limits",
500+
"workspace.lite.other.title": "Lite Subscription",
501+
"workspace.lite.other.message":
502+
"Another member in this workspace is already subscribed to OpenCode Lite. Only one member per workspace can subscribe.",
503+
"workspace.lite.promo.title": "OpenCode Lite",
504+
"workspace.lite.promo.description":
505+
"Get access to the best open models — Kimi K2.5, GLM-5, and MiniMax M2.5 — with generous usage limits for $10 per month.",
506+
"workspace.lite.promo.subscribe": "Subscribe to Lite",
507+
"workspace.lite.promo.subscribing": "Redirecting...",
508+
481509
"download.title": "OpenCode | Download",
482510
"download.meta.description": "Download OpenCode for macOS, Windows, and Linux",
483511
"download.hero.title": "Download OpenCode",

packages/console/app/src/i18n/es.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ export const dict = {
248248
"black.hero.title": "Accede a los mejores modelos de codificación del mundo",
249249
"black.hero.subtitle": "Incluyendo Claude, GPT, Gemini y más",
250250
"black.title": "OpenCode Black | Precios",
251+
"black.paused": "La inscripción al plan Black está temporalmente pausada.",
251252
"black.plan.icon20": "Plan Black 20",
252253
"black.plan.icon100": "Plan Black 100",
253254
"black.plan.icon200": "Plan Black 200",
@@ -350,6 +351,7 @@ export const dict = {
350351
"workspace.usage.breakdown.output": "Salida",
351352
"workspace.usage.breakdown.reasoning": "Razonamiento",
352353
"workspace.usage.subscription": "suscripción (${{amount}})",
354+
"workspace.usage.lite": "lite (${{amount}})",
353355
"workspace.usage.byok": "BYOK (${{amount}})",
354356

355357
"workspace.cost.title": "Costo",
@@ -359,6 +361,7 @@ export const dict = {
359361
"workspace.cost.deletedSuffix": "(eliminado)",
360362
"workspace.cost.empty": "No hay datos de uso disponibles para el periodo seleccionado.",
361363
"workspace.cost.subscriptionShort": "sub",
364+
"workspace.cost.liteShort": "lite",
362365

363366
"workspace.keys.title": "Claves API",
364367
"workspace.keys.subtitle": "Gestiona tus claves API para acceder a los servicios de opencode.",
@@ -487,6 +490,31 @@ export const dict = {
487490
"workspace.black.waitlist.enrollNote":
488491
"Cuando haces clic en Inscribirse, tu suscripción comienza inmediatamente y se cargará a tu tarjeta.",
489492

493+
"workspace.lite.loading": "Cargando...",
494+
"workspace.lite.time.day": "día",
495+
"workspace.lite.time.days": "días",
496+
"workspace.lite.time.hour": "hora",
497+
"workspace.lite.time.hours": "horas",
498+
"workspace.lite.time.minute": "minuto",
499+
"workspace.lite.time.minutes": "minutos",
500+
"workspace.lite.time.fewSeconds": "unos pocos segundos",
501+
"workspace.lite.subscription.title": "Suscripción Lite",
502+
"workspace.lite.subscription.message": "Estás suscrito a OpenCode Lite.",
503+
"workspace.lite.subscription.manage": "Gestionar Suscripción",
504+
"workspace.lite.subscription.rollingUsage": "Uso Continuo",
505+
"workspace.lite.subscription.weeklyUsage": "Uso Semanal",
506+
"workspace.lite.subscription.monthlyUsage": "Uso Mensual",
507+
"workspace.lite.subscription.resetsIn": "Se reinicia en",
508+
"workspace.lite.subscription.useBalance": "Usa tu saldo disponible después de alcanzar los límites de uso",
509+
"workspace.lite.other.title": "Suscripción Lite",
510+
"workspace.lite.other.message":
511+
"Otro miembro de este espacio de trabajo ya está suscrito a OpenCode Lite. Solo un miembro por espacio de trabajo puede suscribirse.",
512+
"workspace.lite.promo.title": "OpenCode Lite",
513+
"workspace.lite.promo.description":
514+
"Obtén acceso a los mejores modelos abiertos — Kimi K2.5, GLM-5 y MiniMax M2.5 — con generosos límites de uso por $10 al mes.",
515+
"workspace.lite.promo.subscribe": "Suscribirse a Lite",
516+
"workspace.lite.promo.subscribing": "Redirigiendo...",
517+
490518
"download.title": "OpenCode | Descargar",
491519
"download.meta.description": "Descarga OpenCode para macOS, Windows y Linux",
492520
"download.hero.title": "Descargar OpenCode",

0 commit comments

Comments
 (0)