@cat-factory/app 0.54.3 → 0.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/app/app.vue +14 -0
  2. package/app/components/auth/UserMenu.vue +1 -1
  3. package/app/components/board/AddTaskModal.vue +5 -4
  4. package/app/components/board/nodes/AgentChip.vue +2 -2
  5. package/app/components/board/nodes/BlockNode.vue +12 -8
  6. package/app/components/board/nodes/DraggableTask.vue +1 -1
  7. package/app/components/board/nodes/EpicNode.vue +1 -1
  8. package/app/components/board/nodes/ModuleFrame.vue +7 -4
  9. package/app/components/board/nodes/TaskCard.vue +2 -2
  10. package/app/components/board/nodes/TaskPipelineMini.vue +3 -3
  11. package/app/components/brainstorm/BrainstormWindow.vue +8 -7
  12. package/app/components/clarity/ClarityReviewWindow.vue +8 -7
  13. package/app/components/consensus/ConsensusSessionWindow.vue +2 -2
  14. package/app/components/documents/ContextDocumentPicker.vue +4 -4
  15. package/app/components/documents/SpawnPreviewModal.vue +4 -4
  16. package/app/components/focus/BlockFocusView.vue +11 -4
  17. package/app/components/fragments/FragmentLibraryManager.vue +5 -5
  18. package/app/components/gates/GateResultView.vue +3 -3
  19. package/app/components/github/GitHubPanel.vue +5 -2
  20. package/app/components/humanTest/HumanTestWindow.vue +1 -1
  21. package/app/components/kaizen/KaizenPanel.vue +5 -5
  22. package/app/components/kaizen/KaizenStepStatus.vue +2 -2
  23. package/app/components/layout/BoardSwitcher.vue +4 -4
  24. package/app/components/layout/CommandBar.vue +1 -1
  25. package/app/components/layout/IntegrationBackTitle.vue +2 -1
  26. package/app/components/layout/IntegrationsHub.vue +10 -4
  27. package/app/components/layout/LanguageSwitcher.vue +1 -1
  28. package/app/components/layout/NotificationsInbox.vue +1 -1
  29. package/app/components/layout/PersonalSetupModal.vue +5 -2
  30. package/app/components/layout/SideBar.vue +5 -3
  31. package/app/components/media/ArtifactLightbox.vue +5 -5
  32. package/app/components/media/ImageCompare.vue +6 -1
  33. package/app/components/observability/StepMetricsBar.vue +6 -2
  34. package/app/components/palettes/AgentPalette.vue +4 -4
  35. package/app/components/panels/AgentStepDetail.vue +12 -12
  36. package/app/components/panels/GenericStructuredResultView.vue +1 -1
  37. package/app/components/panels/InspectorPanel.vue +2 -2
  38. package/app/components/panels/ObservabilityPanel.vue +6 -6
  39. package/app/components/panels/StepMetadataCard.vue +1 -1
  40. package/app/components/panels/inspector/ContainerSummary.vue +2 -2
  41. package/app/components/panels/inspector/EpicChildren.vue +3 -3
  42. package/app/components/panels/inspector/RecurringScheduleSettings.vue +1 -1
  43. package/app/components/panels/inspector/ServiceFragments.vue +1 -1
  44. package/app/components/panels/inspector/ServiceTestConfig.vue +1 -1
  45. package/app/components/panels/inspector/TaskDependencies.vue +1 -1
  46. package/app/components/panels/inspector/TaskEstimateBadge.vue +1 -1
  47. package/app/components/panels/inspector/TaskExecution.vue +9 -9
  48. package/app/components/panels/inspector/TaskRunSettings.vue +2 -2
  49. package/app/components/panels/inspector/TaskStructure.vue +1 -1
  50. package/app/components/pipeline/IterationCapPrompt.vue +1 -0
  51. package/app/components/pipeline/PipelineBuilder.vue +8 -8
  52. package/app/components/pipeline/PipelineProgress.vue +4 -4
  53. package/app/components/providers/ApiKeysSection.vue +2 -2
  54. package/app/components/providers/PersonalSubscriptionSection.vue +2 -2
  55. package/app/components/providers/VendorCredentialsModal.vue +2 -2
  56. package/app/components/provisioning/ProvisioningLogsDrawer.vue +1 -1
  57. package/app/components/requirements/RequirementsReviewWindow.vue +9 -8
  58. package/app/components/sandbox/SandboxPanel.vue +17 -17
  59. package/app/components/settings/LocalModelEndpointsPanel.vue +1 -1
  60. package/app/components/settings/ModelConfigurationPanel.vue +4 -3
  61. package/app/components/settings/OpenRouterCatalogPanel.vue +3 -3
  62. package/app/components/settings/ServiceFragmentDefaultsPanel.vue +1 -1
  63. package/app/components/spec/ServiceSpecWindow.vue +3 -3
  64. package/app/components/tasks/ContextIssuePicker.vue +5 -5
  65. package/app/components/tasks/TaskContextIssues.vue +1 -1
  66. package/app/components/tasks/TaskImportModal.vue +1 -1
  67. package/app/components/testing/TestReportWindow.vue +5 -5
  68. package/app/components/visualConfirm/VisualConfirmationWindow.vue +2 -2
  69. package/app/pages/index.vue +1 -1
  70. package/i18n/i18n.config.ts +9 -0
  71. package/i18n/locales/he.json +3385 -0
  72. package/nuxt.config.ts +1 -0
  73. package/package.json +2 -2
@@ -331,7 +331,7 @@ async function doSpawnEpic() {
331
331
  >
332
332
  <button
333
333
  type="button"
334
- class="min-w-0 flex-1 text-left disabled:cursor-not-allowed disabled:opacity-60"
334
+ class="min-w-0 flex-1 text-start disabled:cursor-not-allowed disabled:opacity-60"
335
335
  :disabled="!containerId"
336
336
  :title="
337
337
  containerId
@@ -381,7 +381,7 @@ const GROUP_STATUS_META: Record<ScenarioGroup['status'], { icon: string; text: s
381
381
  </span>
382
382
  <span
383
383
  v-if="infraSetup.durationMs != null"
384
- class="ml-auto text-[11px] text-slate-500"
384
+ class="ms-auto text-[11px] text-slate-500"
385
385
  >
386
386
  {{
387
387
  t('testing.standup.took', {
@@ -484,7 +484,7 @@ const GROUP_STATUS_META: Record<ScenarioGroup['status'], { icon: string; text: s
484
484
  : t('testing.fixerTimeline.failed')
485
485
  }}
486
486
  </UBadge>
487
- <span class="ml-auto text-[11px] text-slate-500">{{
487
+ <span class="ms-auto text-[11px] text-slate-500">{{
488
488
  d(new Date(a.at), 'short')
489
489
  }}</span>
490
490
  </div>
@@ -541,7 +541,7 @@ const GROUP_STATUS_META: Record<ScenarioGroup['status'], { icon: string; text: s
541
541
  class="overflow-hidden rounded-lg border border-slate-800 bg-slate-900/60"
542
542
  >
543
543
  <button
544
- class="flex w-full items-center gap-2 px-3 py-2 text-left hover:bg-slate-800/40"
544
+ class="flex w-full items-center gap-2 px-3 py-2 text-start hover:bg-slate-800/40"
545
545
  @click="toggle(g.key)"
546
546
  >
547
547
  <UIcon
@@ -584,7 +584,7 @@ const GROUP_STATUS_META: Record<ScenarioGroup['status'], { icon: string; text: s
584
584
  </span>
585
585
  </button>
586
586
 
587
- <div v-if="!collapsed.has(g.key)" class="space-y-1 px-3 pb-3 pl-9">
587
+ <div v-if="!collapsed.has(g.key)" class="space-y-1 px-3 pb-3 ps-9">
588
588
  <!-- Outcomes -->
589
589
  <div
590
590
  v-for="(o, oi) in g.outcomes"
@@ -710,7 +710,7 @@ const GROUP_STATUS_META: Record<ScenarioGroup['status'], { icon: string; text: s
710
710
 
711
711
  <!-- Sidebar: metadata -->
712
712
  <aside
713
- class="hidden w-60 shrink-0 flex-col gap-4 border-l border-slate-800 bg-slate-900/50 px-4 py-4 lg:flex"
713
+ class="hidden w-60 shrink-0 flex-col gap-4 border-s border-slate-800 bg-slate-900/50 px-4 py-4 lg:flex"
714
714
  >
715
715
  <div v-if="report">
716
716
  <h4 class="mb-2 text-[11px] font-semibold uppercase tracking-wide text-slate-500">
@@ -315,7 +315,7 @@ const canApprove = computed(
315
315
  type="file"
316
316
  accept="image/png,image/jpeg"
317
317
  :disabled="busy || !uploadView.trim()"
318
- class="text-[12px] text-slate-300 file:mr-2 file:rounded file:border-0 file:bg-slate-800 file:px-2 file:py-1 file:text-slate-200 disabled:opacity-40"
318
+ class="text-[12px] text-slate-300 file:me-2 file:rounded file:border-0 file:bg-slate-800 file:px-2 file:py-1 file:text-slate-200 disabled:opacity-40"
319
319
  @change="onFilePicked"
320
320
  />
321
321
  </div>
@@ -378,7 +378,7 @@ const canApprove = computed(
378
378
  t('visualConfirm.history.fixRequested')
379
379
  }}</span>
380
380
  <span
381
- class="ml-1.5 rounded px-1 text-[10px] uppercase"
381
+ class="ms-1.5 rounded px-1 text-[10px] uppercase"
382
382
  :class="
383
383
  r.outcome === 'completed'
384
384
  ? 'bg-emerald-500/15 text-emerald-300'
@@ -243,7 +243,7 @@ watch(
243
243
  <!-- z-30 keeps the trigger above the centered BoardToolbar (z-20), whose
244
244
  max-width can otherwise reach this corner on the narrowest viewports. -->
245
245
  <UButton
246
- class="absolute left-3 top-3 z-30 lg:hidden"
246
+ class="absolute start-3 top-3 z-30 lg:hidden"
247
247
  icon="i-lucide-menu"
248
248
  color="neutral"
249
249
  variant="soft"
@@ -61,6 +61,11 @@ export default defineI18nConfig(() => ({
61
61
  currency: { style: 'currency', currency: 'USD', currencyDisplay: 'narrowSymbol' },
62
62
  percent: { style: 'percent', maximumFractionDigits: 1 },
63
63
  },
64
+ he: {
65
+ decimal: { style: 'decimal' },
66
+ currency: { style: 'currency', currency: 'USD', currencyDisplay: 'narrowSymbol' },
67
+ percent: { style: 'percent', maximumFractionDigits: 1 },
68
+ },
64
69
  },
65
70
  datetimeFormats: {
66
71
  en: {
@@ -83,5 +88,9 @@ export default defineI18nConfig(() => ({
83
88
  short: { dateStyle: 'medium' },
84
89
  long: { dateStyle: 'long', timeStyle: 'short' },
85
90
  },
91
+ he: {
92
+ short: { dateStyle: 'medium' },
93
+ long: { dateStyle: 'long', timeStyle: 'short' },
94
+ },
86
95
  },
87
96
  }))