@cat-factory/app 0.248.0 → 0.249.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 (33) hide show
  1. package/app/components/board/AddTaskModal.vue +1 -0
  2. package/app/components/board/nodes/BlockNode.vue +24 -0
  3. package/app/components/context/ContextAttachmentFields.vue +102 -0
  4. package/app/components/context/pastedLinkOffer.logic.spec.ts +35 -0
  5. package/app/components/context/pastedLinkOffer.logic.ts +50 -0
  6. package/app/components/documents/DocumentSourceConnectModal.vue +50 -0
  7. package/app/components/documents/SpawnPreviewModal.vue +92 -16
  8. package/app/components/documents/StartFromDesignModal.vue +237 -0
  9. package/app/components/layout/AccountDeploymentSettings.vue +122 -0
  10. package/app/composables/api/documents.ts +17 -6
  11. package/app/composables/useDocumentSourceConnect.ts +88 -0
  12. package/app/modular/external-tools.spec.ts +1 -0
  13. package/app/modular/nav-contributions.spec.ts +2 -0
  14. package/app/modular/nav-contributions.ts +10 -0
  15. package/app/modular/nav-gates.ts +4 -0
  16. package/app/modular/registry.spec.ts +1 -0
  17. package/app/modular/tutorial-tours.spec.ts +5 -0
  18. package/app/modular/tutorial-tours.ts +77 -0
  19. package/app/pages/index.vue +4 -0
  20. package/app/stores/documents.spec.ts +60 -0
  21. package/app/stores/documents.ts +52 -24
  22. package/app/stores/ui/modals.ts +15 -0
  23. package/i18n/locales/de.json +82 -6
  24. package/i18n/locales/en.json +82 -6
  25. package/i18n/locales/es.json +82 -6
  26. package/i18n/locales/fr.json +82 -6
  27. package/i18n/locales/he.json +82 -6
  28. package/i18n/locales/it.json +82 -6
  29. package/i18n/locales/ja.json +82 -6
  30. package/i18n/locales/pl.json +82 -6
  31. package/i18n/locales/tr.json +82 -6
  32. package/i18n/locales/uk.json +82 -6
  33. package/package.json +2 -2
@@ -430,7 +430,8 @@
430
430
  "accessDenied": {
431
431
  "title": "アクセスが拒否されました",
432
432
  "hint": "このサービスの基盤となるリポジトリにアクセスする権限がありません。"
433
- }
433
+ },
434
+ "startFromDesignTitle": "デザインから始める"
434
435
  },
435
436
  "decisionBadge": {
436
437
  "decisionNeeded": "判断が必要",
@@ -502,7 +503,11 @@
502
503
  "attachIssueDisabledConnect": "まず issue トラッカーを接続してください(連携)",
503
504
  "attachIssueDisabledEnable": "まず issue トラッカー連携を有効にしてください",
504
505
  "importsOnAdd": "追加時にインポート",
505
- "unreadable": "取得できませんでした: {error}"
506
+ "unreadable": "取得できませんでした: {error}",
507
+ "pastedLink": {
508
+ "offer": "この説明は {source} のページにリンクしています。コンテキストとして添付しますか?",
509
+ "attach": "添付"
510
+ }
506
511
  },
507
512
  "errors": {
508
513
  "generic": {
@@ -2031,6 +2036,18 @@
2031
2036
  "keysValidation": "S3 のアクセスキー ID とシークレットを入力してください",
2032
2037
  "saved": "コンテンツストレージを保存しました",
2033
2038
  "saveFailed": "コンテンツストレージを保存できませんでした"
2039
+ },
2040
+ "figma": {
2041
+ "title": "Figma アプリ (OAuth)",
2042
+ "description": "「Figma で接続」の流れを有効にします。設定しなくても、ワークスペースはパーソナルアクセストークンを貼り付けて Figma に接続できます。",
2043
+ "clientId": "クライアント ID",
2044
+ "clientSecret": "クライアントシークレット",
2045
+ "redirectUrl": "リダイレクト URL",
2046
+ "validation": "クライアント ID、シークレット、リダイレクト URL を入力してください",
2047
+ "saved": "Figma の OAuth を保存しました",
2048
+ "saveFailed": "Figma の OAuth を保存できませんでした",
2049
+ "cleared": "Figma の OAuth を削除しました",
2050
+ "clearFailed": "Figma の OAuth を削除できませんでした"
2034
2051
  }
2035
2052
  },
2036
2053
  "accountFragments": {
@@ -4306,13 +4323,19 @@
4306
4323
  "connect": {
4307
4324
  "title": "ソースを接続",
4308
4325
  "sourceFallback": "ソース",
4309
- "intro": "{source} を接続すると、要件、RFC、PRD をインポートし、ボード構造を生成したり、エージェントのコンテキストとしてタスクに添付したりできます。",
4326
+ "intro": "{source} を接続して、ページやデザインをこのボードに取り込みます。インポートしてボード構造に展開したり、タスクにエージェント用のコンテキストとして添付したりできます。",
4310
4327
  "disconnect": "切断",
4311
4328
  "connect": "接続",
4312
4329
  "update": "接続を更新",
4313
4330
  "connected": "{source} を接続しました",
4314
4331
  "disconnected": "{source} を切断しました",
4315
- "connectFailed": "接続できませんでした"
4332
+ "connectFailed": "接続できませんでした",
4333
+ "oauth": {
4334
+ "action": "{source} で接続",
4335
+ "scopes": "次の権限が求められます: {scopes}",
4336
+ "fallback": "トークンを使いますか?下のフィールドをご利用ください。",
4337
+ "failed": "{source} へのサインインを開始できませんでした"
4338
+ }
4316
4339
  },
4317
4340
  "spawn": {
4318
4341
  "title": "構造をプレビュー",
@@ -4327,7 +4350,15 @@
4327
4350
  "summary": "{frames} · {modules} · {tasks}",
4328
4351
  "frameCount": "{count} フレーム | {count} フレーム",
4329
4352
  "moduleCount": "{count} モジュール | {count} モジュール",
4330
- "taskCount": "{count} タスク | {count} タスク"
4353
+ "taskCount": "{count} タスク | {count} タスク",
4354
+ "reusedCount": "{count} 個のモジュールを再利用 | {count} 個のモジュールを再利用",
4355
+ "intoService": "選択したサービスの中に",
4356
+ "target": {
4357
+ "label": "サービスに追加",
4358
+ "help": "デザインが表すのはアーキテクチャではなく画面です。そのため計画は、すでに存在するサービスの中の作業を提案します。",
4359
+ "placeholder": "サービスを選択",
4360
+ "required": "このデザインが属するサービスを選んでください。"
4361
+ }
4331
4362
  },
4332
4363
  "taskDocs": {
4333
4364
  "heading": "コンテキストドキュメント",
@@ -4360,6 +4391,20 @@
4360
4391
  "remove": "削除",
4361
4392
  "linkFailed": "ドキュメントのリンクを更新できませんでした",
4362
4393
  "loadFailed": "ドキュメントテンプレートを読み込めませんでした"
4394
+ },
4395
+ "startFromDesign": {
4396
+ "title": "デザインから始める",
4397
+ "intro": "フレームまたはファイル全体のリンクを貼り付けてください。新しいタスクに添付され、エージェントがレイアウト・テキスト・コンポーネント・トークンを読み取ります。",
4398
+ "noSource": "デザインソースがまだ接続されていません。管理者が連携画面から Figma または Zeplin を接続できます。",
4399
+ "linkLabel": "デザインのリンク",
4400
+ "linkPlaceholder": "https://www.figma.com/design/…?node-id=1-2",
4401
+ "checking": "リンクを確認しています…",
4402
+ "trimmed": "このリンクのサポートされた形式に整形しました。",
4403
+ "widened": "フレーム {scope} を読み取れなかったため、ファイル全体を添付しました。",
4404
+ "unchecked": "今はリンクを確認できませんでした。タスク作成時に取得されます。",
4405
+ "uncheckedAmbiguous": "リンクを確認できず、デザインソースが複数接続されているため、どれに属するか判断できません。もう一度お試しください。",
4406
+ "rejected": "接続済みのデザインソースはどれもこのリンクを認識できません。",
4407
+ "continue": "続ける"
4363
4408
  }
4364
4409
  },
4365
4410
  "tasks": {
@@ -6969,7 +7014,8 @@
6969
7014
  "library": "この環境で有効なコンテキストフラグメントのライブラリ",
6970
7015
  "failedRun": "失敗した実行",
6971
7016
  "infrastructure": "このワークスペースに接続された実行バックエンド",
6972
- "advancedTier": "詳細インターフェースモード"
7017
+ "advancedTier": "詳細インターフェースモード",
7018
+ "designSource": "接続済みのデザインソース"
6973
7019
  },
6974
7020
  "overlay": {
6975
7021
  "next": "次へ",
@@ -7349,6 +7395,36 @@
7349
7395
  "body": "どれを使うか宣言した設計は、次のステップでその完全な契約を受け取ります。何も宣言しなければ何も受け取りません。ここを最新に保つことが、これが機能する条件です。"
7350
7396
  }
7351
7397
  }
7398
+ },
7399
+ "startFromDesign": {
7400
+ "title": "デザインから始める",
7401
+ "description": "デザインのフレームを、エージェントが実装できるタスクに変えます。",
7402
+ "steps": {
7403
+ "intro": {
7404
+ "title": "デザインから進める",
7405
+ "body": "デザインツールから仕事が始まるとき、フレームそのものが指示書です。このツアーではフレームを新しいタスクに添付します。"
7406
+ },
7407
+ "open": {
7408
+ "title": "デザインから始める",
7409
+ "body": "デザインソースを接続すると、すべてのサービスフレームにこのボタンが表示されます。"
7410
+ },
7411
+ "paste": {
7412
+ "title": "リンクを貼り付ける",
7413
+ "body": "デザインツールでフレームまたはファイル全体のリンクをコピーし、ここに貼り付けてください。"
7414
+ },
7415
+ "resolved": {
7416
+ "title": "添付された内容を確認する",
7417
+ "body": "リンクはサポートされた形式に整形されます。フレーム自体を読み取れなかった場合はファイル全体が添付され、その旨がここに表示されます。"
7418
+ },
7419
+ "continue": {
7420
+ "title": "タスクへ進む",
7421
+ "body": "デザインは新しいタスクに用意されています。望む結果を書いて作成してください。"
7422
+ },
7423
+ "finish": {
7424
+ "title": "実行の準備ができました",
7425
+ "body": "エージェントはデザインのレイアウト・テキスト・コンポーネント・トークンを読み取り、実行のたびにソースと照合し直します。"
7426
+ }
7427
+ }
7352
7428
  }
7353
7429
  },
7354
7430
  "nudge": {
@@ -430,7 +430,8 @@
430
430
  "accessDenied": {
431
431
  "title": "Brak uprawnień",
432
432
  "hint": "Nie masz dostępu do repozytorium powiązanego z tą usługą."
433
- }
433
+ },
434
+ "startFromDesignTitle": "Zacznij od projektu"
434
435
  },
435
436
  "decisionBadge": {
436
437
  "decisionNeeded": "Wymagana decyzja",
@@ -502,7 +503,11 @@
502
503
  "attachIssueDisabledConnect": "Najpierw połącz system zgłoszeń (Integracje)",
503
504
  "attachIssueDisabledEnable": "Najpierw włącz integrację systemu zgłoszeń",
504
505
  "importsOnAdd": "importowane przy dodaniu",
505
- "unreadable": "Nie udało się pobrać: {error}"
506
+ "unreadable": "Nie udało się pobrać: {error}",
507
+ "pastedLink": {
508
+ "offer": "Ten opis zawiera odnośnik do strony {source}. Dołączyć ją jako kontekst?",
509
+ "attach": "Dołącz"
510
+ }
506
511
  },
507
512
  "errors": {
508
513
  "generic": {
@@ -2031,6 +2036,18 @@
2031
2036
  "keysValidation": "Wprowadź identyfikator klucza dostępu i sekret S3",
2032
2037
  "saved": "Zapisano przechowywanie treści",
2033
2038
  "saveFailed": "Nie udało się zapisać przechowywania treści"
2039
+ },
2040
+ "figma": {
2041
+ "title": "Aplikacja Figma (OAuth)",
2042
+ "description": "Włącza przepływ „Połącz przez Figmę”. Bez niego przestrzenie robocze nadal mogą połączyć Figmę, wklejając osobisty token dostępu.",
2043
+ "clientId": "Identyfikator klienta",
2044
+ "clientSecret": "Sekret klienta",
2045
+ "redirectUrl": "Adres przekierowania",
2046
+ "validation": "Podaj identyfikator klienta, sekret i adres przekierowania",
2047
+ "saved": "Zapisano OAuth Figmy",
2048
+ "saveFailed": "Nie udało się zapisać OAuth Figmy",
2049
+ "cleared": "Usunięto OAuth Figmy",
2050
+ "clearFailed": "Nie udało się usunąć OAuth Figmy"
2034
2051
  }
2035
2052
  },
2036
2053
  "accountFragments": {
@@ -4306,13 +4323,19 @@
4306
4323
  "connect": {
4307
4324
  "title": "Połącz źródło",
4308
4325
  "sourceFallback": "Źródło",
4309
- "intro": "Połącz {source}, aby importować wymagania, dokumenty RFC i PRD, a następnie utworzyć strukturę tablicy lub dołączyć je do zadań jako kontekst dla agentów.",
4326
+ "intro": "Połącz {source}, aby przenieść jego strony i projekty na tę tablicę: zaimportuj je, rozwiń w strukturę tablicy albo dołącz do zadania jako kontekst dla agentów.",
4310
4327
  "disconnect": "Rozłącz",
4311
4328
  "connect": "Połącz",
4312
4329
  "update": "Zaktualizuj połączenie",
4313
4330
  "connected": "Połączono {source}",
4314
4331
  "disconnected": "Rozłączono {source}",
4315
- "connectFailed": "Nie udało się połączyć"
4332
+ "connectFailed": "Nie udało się połączyć",
4333
+ "oauth": {
4334
+ "action": "Połącz przez {source}",
4335
+ "scopes": "Zostaniesz poproszony o uprawnienia: {scopes}",
4336
+ "fallback": "Wolisz token? Skorzystaj z pól poniżej.",
4337
+ "failed": "Nie udało się rozpocząć logowania do {source}"
4338
+ }
4316
4339
  },
4317
4340
  "spawn": {
4318
4341
  "title": "Podgląd struktury",
@@ -4327,7 +4350,15 @@
4327
4350
  "summary": "{frames} · {modules} · {tasks}",
4328
4351
  "frameCount": "{count} ramka | {count} ramki | {count} ramek",
4329
4352
  "moduleCount": "{count} moduł | {count} moduły | {count} modułów",
4330
- "taskCount": "{count} zadanie | {count} zadania | {count} zadań"
4353
+ "taskCount": "{count} zadanie | {count} zadania | {count} zadań",
4354
+ "reusedCount": "ponownie użyto {count} modułu | ponownie użyto {count} modułów | ponownie użyto {count} modułów",
4355
+ "intoService": "wewnątrz wybranej usługi",
4356
+ "target": {
4357
+ "label": "Dodaj do usługi",
4358
+ "help": "Projekt opisuje ekrany, a nie architekturę, więc plan proponuje pracę wewnątrz usługi, która już istnieje.",
4359
+ "placeholder": "Wybierz usługę",
4360
+ "required": "Wybierz usługę, do której należy ten projekt."
4361
+ }
4331
4362
  },
4332
4363
  "taskDocs": {
4333
4364
  "heading": "Dokumenty kontekstowe",
@@ -4360,6 +4391,20 @@
4360
4391
  "remove": "Usuń",
4361
4392
  "linkFailed": "Nie udało się zaktualizować powiązania dokumentu",
4362
4393
  "loadFailed": "Nie udało się wczytać szablonów dokumentów"
4394
+ },
4395
+ "startFromDesign": {
4396
+ "title": "Zacznij od projektu",
4397
+ "intro": "Wklej link do ramki lub całego pliku. Zostanie dołączony do nowego zadania, a agent odczyta układ, teksty, komponenty i tokeny.",
4398
+ "noSource": "Nie podłączono jeszcze żadnego źródła projektów. Administrator może połączyć Figmę lub Zeplin w integracjach.",
4399
+ "linkLabel": "Link do projektu",
4400
+ "linkPlaceholder": "https://www.figma.com/design/…?node-id=1-2",
4401
+ "checking": "Sprawdzanie linku…",
4402
+ "trimmed": "Skrócono do obsługiwanej postaci tego linku.",
4403
+ "widened": "Nie udało się odczytać ramki {scope}, więc dołączony jest cały plik.",
4404
+ "unchecked": "Linku nie udało się teraz sprawdzić. Zostanie pobrany przy tworzeniu zadania.",
4405
+ "uncheckedAmbiguous": "Linku nie udało się sprawdzić, a podłączone jest więcej niż jedno źródło projektów, więc nie wiadomo, do którego należy. Spróbuj ponownie.",
4406
+ "rejected": "Żadne podłączone źródło projektów nie rozpoznaje tego linku.",
4407
+ "continue": "Dalej"
4363
4408
  }
4364
4409
  },
4365
4410
  "tasks": {
@@ -6969,7 +7014,8 @@
6969
7014
  "library": "Włączona w tym wdrożeniu biblioteka fragmentów kontekstu",
6970
7015
  "failedRun": "Nieudane uruchomienie",
6971
7016
  "infrastructure": "Backend wykonawczy podłączony do tego workspace’u",
6972
- "advancedTier": "Zaawansowany tryb interfejsu"
7017
+ "advancedTier": "Zaawansowany tryb interfejsu",
7018
+ "designSource": "Podłączone źródło projektów"
6973
7019
  },
6974
7020
  "overlay": {
6975
7021
  "next": "Dalej",
@@ -7349,6 +7395,36 @@
7349
7395
  "body": "Projekt, który zadeklaruje, które z nich używa, dostaje w następnym kroku ich pełne kontrakty. Taki, który nie deklaruje nic, nie dostaje nic: utrzymywanie tego na bieżąco jest warunkiem, żeby to działało."
7350
7396
  }
7351
7397
  }
7398
+ },
7399
+ "startFromDesign": {
7400
+ "title": "Zacznij od projektu",
7401
+ "description": "Zamień ramkę projektu w zadanie, które agent może zrealizować.",
7402
+ "steps": {
7403
+ "intro": {
7404
+ "title": "Praca od projektu",
7405
+ "body": "Gdy praca zaczyna się w narzędziu projektowym, ramka jest briefem. Ten przewodnik dołącza ją do nowego zadania."
7406
+ },
7407
+ "open": {
7408
+ "title": "Zacznij od projektu",
7409
+ "body": "Każda ramka usługi ma ten przycisk, gdy tylko podłączone jest źródło projektów."
7410
+ },
7411
+ "paste": {
7412
+ "title": "Wklej link",
7413
+ "body": "Skopiuj w narzędziu projektowym link do ramki lub całego pliku i wklej go tutaj."
7414
+ },
7415
+ "resolved": {
7416
+ "title": "Sprawdź, co dołączono",
7417
+ "body": "Link zostaje skrócony do obsługiwanej postaci. Jeśli samej ramki nie dało się odczytać, dołączany jest cały plik i jest to tutaj napisane."
7418
+ },
7419
+ "continue": {
7420
+ "title": "Przejdź do zadania",
7421
+ "body": "Projekt czeka przy nowym zadaniu. Opisz oczekiwany rezultat i utwórz je."
7422
+ },
7423
+ "finish": {
7424
+ "title": "Gotowe do uruchomienia",
7425
+ "body": "Agent czyta układ, teksty, komponenty i tokeny projektu, a każdy przebieg porównuje je na nowo ze źródłem."
7426
+ }
7427
+ }
7352
7428
  }
7353
7429
  },
7354
7430
  "nudge": {
@@ -430,7 +430,8 @@
430
430
  "accessDenied": {
431
431
  "title": "İzin reddedildi",
432
432
  "hint": "Bu hizmetin dayandığı depoya erişiminiz yok."
433
- }
433
+ },
434
+ "startFromDesignTitle": "Tasarımdan başla"
434
435
  },
435
436
  "decisionBadge": {
436
437
  "decisionNeeded": "Karar gerekiyor",
@@ -502,7 +503,11 @@
502
503
  "attachIssueDisabledConnect": "Önce bir sorun izleyici bağlayın (Entegrasyonlar)",
503
504
  "attachIssueDisabledEnable": "Önce sorun izleyici entegrasyonunu etkinleştirin",
504
505
  "importsOnAdd": "eklendiğinde içe aktarılır",
505
- "unreadable": "Getirilemedi: {error}"
506
+ "unreadable": "Getirilemedi: {error}",
507
+ "pastedLink": {
508
+ "offer": "Bu açıklama bir {source} sayfasına bağlantı veriyor. Bağlam olarak eklensin mi?",
509
+ "attach": "Ekle"
510
+ }
506
511
  },
507
512
  "errors": {
508
513
  "generic": {
@@ -2031,6 +2036,18 @@
2031
2036
  "keysValidation": "S3 erişim anahtarı kimliğini ve gizli anahtarı girin",
2032
2037
  "saved": "İçerik depolama kaydedildi",
2033
2038
  "saveFailed": "İçerik depolama kaydedilemedi"
2039
+ },
2040
+ "figma": {
2041
+ "title": "Figma uygulaması (OAuth)",
2042
+ "description": "\"Figma ile bağlan\" akışını etkinleştirir. Olmadan da çalışma alanları kişisel erişim belirteci yapıştırarak Figma’ya bağlanabilir.",
2043
+ "clientId": "İstemci kimliği",
2044
+ "clientSecret": "İstemci parolası",
2045
+ "redirectUrl": "Yönlendirme adresi",
2046
+ "validation": "İstemci kimliğini, parolayı ve yönlendirme adresini gir",
2047
+ "saved": "Figma OAuth kaydedildi",
2048
+ "saveFailed": "Figma OAuth kaydedilemedi",
2049
+ "cleared": "Figma OAuth temizlendi",
2050
+ "clearFailed": "Figma OAuth temizlenemedi"
2034
2051
  }
2035
2052
  },
2036
2053
  "accountFragments": {
@@ -4306,13 +4323,19 @@
4306
4323
  "connect": {
4307
4324
  "title": "Kaynak bağla",
4308
4325
  "sourceFallback": "Kaynak",
4309
- "intro": "Gereksinimleri, RFC'leri ve PRD'leri içe aktarmak için {source} bağla, ardından pano yapısı oluştur veya bunları agent bağlamı olarak görevlere ekle.",
4326
+ "intro": "{source} bağlantısını kur ve sayfalarını, tasarımlarını bu panoya getir: içe aktar, pano yapısına dönüştür veya bir göreve ajan bağlamı olarak ekle.",
4310
4327
  "disconnect": "Bağlantıyı kes",
4311
4328
  "connect": "Bağla",
4312
4329
  "update": "Bağlantıyı güncelle",
4313
4330
  "connected": "{source} bağlandı",
4314
4331
  "disconnected": "{source} bağlantısı kesildi",
4315
- "connectFailed": "Bağlanamadı"
4332
+ "connectFailed": "Bağlanamadı",
4333
+ "oauth": {
4334
+ "action": "{source} ile bağlan",
4335
+ "scopes": "Şu izinler istenecek: {scopes}",
4336
+ "fallback": "Belirteç mi tercih edersin? Aşağıdaki alanları kullan.",
4337
+ "failed": "{source} oturumu başlatılamadı"
4338
+ }
4316
4339
  },
4317
4340
  "spawn": {
4318
4341
  "title": "Yapıyı önizle",
@@ -4327,7 +4350,15 @@
4327
4350
  "summary": "{frames} · {modules} · {tasks}",
4328
4351
  "frameCount": "{count} çerçeve | {count} çerçeve",
4329
4352
  "moduleCount": "{count} modül | {count} modül",
4330
- "taskCount": "{count} görev | {count} görev"
4353
+ "taskCount": "{count} görev | {count} görev",
4354
+ "reusedCount": "{count} modül yeniden kullanıldı | {count} modül yeniden kullanıldı",
4355
+ "intoService": "seçilen servisin içinde",
4356
+ "target": {
4357
+ "label": "Servise ekle",
4358
+ "help": "Bir tasarım mimariyi değil ekranları anlatır; bu yüzden plan, hâlihazırda var olan bir servisin içindeki işi önerir.",
4359
+ "placeholder": "Bir servis seç",
4360
+ "required": "Bu tasarımın ait olduğu servisi seç."
4361
+ }
4331
4362
  },
4332
4363
  "taskDocs": {
4333
4364
  "heading": "Bağlam belgeleri",
@@ -4360,6 +4391,20 @@
4360
4391
  "remove": "Kaldır",
4361
4392
  "linkFailed": "Belge bağlantısı güncellenemedi",
4362
4393
  "loadFailed": "Belge şablonları yüklenemedi"
4394
+ },
4395
+ "startFromDesign": {
4396
+ "title": "Tasarımdan başla",
4397
+ "intro": "Bir çerçevenin ya da dosyanın bağlantısını yapıştır. Yeni göreve eklenir ve ajan düzenini, metinlerini, bileşenlerini ve token’larını okur.",
4398
+ "noSource": "Henüz bağlı bir tasarım kaynağı yok. Bir yönetici Entegrasyonlar’dan Figma veya Zeplin bağlayabilir.",
4399
+ "linkLabel": "Tasarım bağlantısı",
4400
+ "linkPlaceholder": "https://www.figma.com/design/…?node-id=1-2",
4401
+ "checking": "Bağlantı denetleniyor…",
4402
+ "trimmed": "Bu bağlantının desteklenen biçimine kısaltıldı.",
4403
+ "widened": "{scope} çerçevesi okunamadı, bu yüzden dosyanın tamamı eklendi.",
4404
+ "unchecked": "Bağlantı şu anda denetlenemedi. Görev oluşturulurken indirilecek.",
4405
+ "uncheckedAmbiguous": "Bağlantı denetlenemedi ve birden fazla tasarım kaynağı bağlı; hangisine ait olduğu bilinmiyor. Yeniden dene.",
4406
+ "rejected": "Bağlı hiçbir tasarım kaynağı bu bağlantıyı tanımıyor.",
4407
+ "continue": "Devam"
4363
4408
  }
4364
4409
  },
4365
4410
  "tasks": {
@@ -6969,7 +7014,8 @@
6969
7014
  "library": "Bu kurulumda etkinleştirilmiş bağlam parçaları kütüphanesi",
6970
7015
  "failedRun": "Başarısız olmuş bir çalıştırma",
6971
7016
  "infrastructure": "Bu çalışma alanına bağlı bir yürütme arka ucu",
6972
- "advancedTier": "Gelişmiş arayüz modu"
7017
+ "advancedTier": "Gelişmiş arayüz modu",
7018
+ "designSource": "Bağlı bir tasarım kaynağı"
6973
7019
  },
6974
7020
  "overlay": {
6975
7021
  "next": "İleri",
@@ -7349,6 +7395,36 @@
7349
7395
  "body": "Bunlardan hangilerini kullandığını bildiren bir tasarım, sonraki adımda onların tam sözleşmelerini alır. Hiçbir şey bildirmeyen hiçbir şey almaz: bunu güncel tutmak, işin işlemesinin koşuludur."
7350
7396
  }
7351
7397
  }
7398
+ },
7399
+ "startFromDesign": {
7400
+ "title": "Tasarımdan başla",
7401
+ "description": "Bir tasarım çerçevesini ajanın yapabileceği bir göreve dönüştür.",
7402
+ "steps": {
7403
+ "intro": {
7404
+ "title": "Tasarımdan çalışmak",
7405
+ "body": "İş bir tasarım aracında başlıyorsa brief çerçevenin kendisidir. Bu tur, bir çerçeveyi yeni bir göreve ekler."
7406
+ },
7407
+ "open": {
7408
+ "title": "Tasarımdan başla",
7409
+ "body": "Bir tasarım kaynağı bağlandığı anda her servis çerçevesinde bu düğme belirir."
7410
+ },
7411
+ "paste": {
7412
+ "title": "Bağlantıyı yapıştır",
7413
+ "body": "Tasarım aracında bir çerçevenin veya dosyanın bağlantısını kopyala ve buraya yapıştır."
7414
+ },
7415
+ "resolved": {
7416
+ "title": "Neyin eklendiğini denetle",
7417
+ "body": "Bağlantı desteklenen biçimine kısaltılır. Çerçevenin kendisi okunamadıysa dosyanın tamamı eklenir ve burada bu yazar."
7418
+ },
7419
+ "continue": {
7420
+ "title": "Göreve geç",
7421
+ "body": "Tasarım yeni görevde hazır. İstediğin sonucu anlat ve görevi oluştur."
7422
+ },
7423
+ "finish": {
7424
+ "title": "Çalıştırmaya hazır",
7425
+ "body": "Ajan tasarımın düzenini, metinlerini, bileşenlerini ve token’larını okur; her çalıştırma bunu kaynağa karşı yeniden denetler."
7426
+ }
7427
+ }
7352
7428
  }
7353
7429
  },
7354
7430
  "nudge": {
@@ -430,7 +430,8 @@
430
430
  "accessDenied": {
431
431
  "title": "Доступ заборонено",
432
432
  "hint": "У вас немає доступу до репозиторію, що стоїть за цією службою."
433
- }
433
+ },
434
+ "startFromDesignTitle": "Почати з дизайну"
434
435
  },
435
436
  "decisionBadge": {
436
437
  "decisionNeeded": "Потрібне рішення",
@@ -502,7 +503,11 @@
502
503
  "attachIssueDisabledConnect": "Спочатку підключіть трекер звернень (Інтеграції)",
503
504
  "attachIssueDisabledEnable": "Спочатку увімкніть інтеграцію трекера звернень",
504
505
  "importsOnAdd": "імпортується при додаванні",
505
- "unreadable": "Не вдалося отримати: {error}"
506
+ "unreadable": "Не вдалося отримати: {error}",
507
+ "pastedLink": {
508
+ "offer": "Цей опис містить посилання на сторінку {source}. Приєднати її як контекст?",
509
+ "attach": "Приєднати"
510
+ }
506
511
  },
507
512
  "errors": {
508
513
  "generic": {
@@ -2031,6 +2036,18 @@
2031
2036
  "keysValidation": "Введіть ідентифікатор ключа доступу та секрет S3",
2032
2037
  "saved": "Сховище вмісту збережено",
2033
2038
  "saveFailed": "Не вдалося зберегти сховище вмісту"
2039
+ },
2040
+ "figma": {
2041
+ "title": "Застосунок Figma (OAuth)",
2042
+ "description": "Вмикає потік «Підключити через Figma». Без нього робочі простори все одно можуть підключити Figma, вставивши персональний токен доступу.",
2043
+ "clientId": "Ідентифікатор клієнта",
2044
+ "clientSecret": "Секрет клієнта",
2045
+ "redirectUrl": "URL перенаправлення",
2046
+ "validation": "Введи ідентифікатор клієнта, секрет і URL перенаправлення",
2047
+ "saved": "OAuth Figma збережено",
2048
+ "saveFailed": "Не вдалося зберегти OAuth Figma",
2049
+ "cleared": "OAuth Figma очищено",
2050
+ "clearFailed": "Не вдалося очистити OAuth Figma"
2034
2051
  }
2035
2052
  },
2036
2053
  "accountFragments": {
@@ -4306,13 +4323,19 @@
4306
4323
  "connect": {
4307
4324
  "title": "Підключити джерело",
4308
4325
  "sourceFallback": "Джерело",
4309
- "intro": "Підключіть {source}, щоб імпортувати вимоги, RFC та PRD, а потім створити структуру дошки або долучити їх до завдань як контекст для агентів.",
4326
+ "intro": "Підключи {source}, щоб перенести його сторінки та дизайни на цю дошку: імпортуй, розгорни в структуру дошки або приєднай до задачі як контекст для агентів.",
4310
4327
  "disconnect": "Відключити",
4311
4328
  "connect": "Підключити",
4312
4329
  "update": "Оновити підключення",
4313
4330
  "connected": "{source} підключено",
4314
4331
  "disconnected": "{source} відключено",
4315
- "connectFailed": "Не вдалося підключитися"
4332
+ "connectFailed": "Не вдалося підключитися",
4333
+ "oauth": {
4334
+ "action": "Підключити через {source}",
4335
+ "scopes": "Буде запитано такі дозволи: {scopes}",
4336
+ "fallback": "Волієш токен? Скористайся полями нижче.",
4337
+ "failed": "Не вдалося розпочати вхід до {source}"
4338
+ }
4316
4339
  },
4317
4340
  "spawn": {
4318
4341
  "title": "Перегляд структури",
@@ -4327,7 +4350,15 @@
4327
4350
  "summary": "{frames} · {modules} · {tasks}",
4328
4351
  "frameCount": "{count} фрейм | {count} фрейми | {count} фреймів",
4329
4352
  "moduleCount": "{count} модуль | {count} модулі | {count} модулів",
4330
- "taskCount": "{count} завдання | {count} завдання | {count} завдань"
4353
+ "taskCount": "{count} завдання | {count} завдання | {count} завдань",
4354
+ "reusedCount": "повторно використано {count} модуль | повторно використано {count} модулі | повторно використано {count} модулів",
4355
+ "intoService": "усередині вибраного сервісу",
4356
+ "target": {
4357
+ "label": "Додати до сервісу",
4358
+ "help": "Дизайн описує екрани, а не архітектуру, тож план пропонує роботу всередині сервісу, який уже існує.",
4359
+ "placeholder": "Обери сервіс",
4360
+ "required": "Обери сервіс, до якого належить цей дизайн."
4361
+ }
4331
4362
  },
4332
4363
  "taskDocs": {
4333
4364
  "heading": "Контекстні документи",
@@ -4360,6 +4391,20 @@
4360
4391
  "remove": "Видалити",
4361
4392
  "linkFailed": "Не вдалося оновити зв'язок документа",
4362
4393
  "loadFailed": "Не вдалося завантажити шаблони документів"
4394
+ },
4395
+ "startFromDesign": {
4396
+ "title": "Почати з дизайну",
4397
+ "intro": "Встав посилання на фрейм або цілий файл. Він приєднається до нової задачі, а агент прочитає його розкладку, тексти, компоненти та токени.",
4398
+ "noSource": "Жодного джерела дизайну ще не підключено. Адміністратор може підключити Figma або Zeplin в інтеграціях.",
4399
+ "linkLabel": "Посилання на дизайн",
4400
+ "linkPlaceholder": "https://www.figma.com/design/…?node-id=1-2",
4401
+ "checking": "Перевіряємо посилання…",
4402
+ "trimmed": "Скорочено до підтримуваної форми цього посилання.",
4403
+ "widened": "Фрейм {scope} прочитати не вдалося, тож приєднано весь файл.",
4404
+ "unchecked": "Зараз посилання перевірити не вдалося. Його буде завантажено під час створення задачі.",
4405
+ "uncheckedAmbiguous": "Посилання перевірити не вдалося, а підключено більше ніж одне джерело дизайну, тож невідомо, якому воно належить. Спробуй ще раз.",
4406
+ "rejected": "Жодне підключене джерело дизайну не розпізнає це посилання.",
4407
+ "continue": "Далі"
4363
4408
  }
4364
4409
  },
4365
4410
  "tasks": {
@@ -6969,7 +7014,8 @@
6969
7014
  "library": "Увімкнена в цьому розгортанні бібліотека фрагментів контексту",
6970
7015
  "failedRun": "Запуск, що завершився помилкою",
6971
7016
  "infrastructure": "Бекенд виконання, підключений до цього робочого простору",
6972
- "advancedTier": "Розширений режим інтерфейсу"
7017
+ "advancedTier": "Розширений режим інтерфейсу",
7018
+ "designSource": "Підключене джерело дизайну"
6973
7019
  },
6974
7020
  "overlay": {
6975
7021
  "next": "Далі",
@@ -7349,6 +7395,36 @@
7349
7395
  "body": "Проєкт, який оголошує, якими з них користується, отримує їхні повні контракти на наступному кроці. Той, що не оголошує нічого, не отримує нічого: підтримувати це в актуальному стані — умова того, що воно працює."
7350
7396
  }
7351
7397
  }
7398
+ },
7399
+ "startFromDesign": {
7400
+ "title": "Почати з дизайну",
7401
+ "description": "Переточи фрейм дизайну на задачу, яку агент може виконати.",
7402
+ "steps": {
7403
+ "intro": {
7404
+ "title": "Працювати від дизайну",
7405
+ "body": "Коли робота починається в інструменті дизайну, брифом є сам фрейм. Цей тур приєднує його до нової задачі."
7406
+ },
7407
+ "open": {
7408
+ "title": "Почати з дизайну",
7409
+ "body": "Щойно підключено джерело дизайну, ця кнопка з’являється на кожному фреймі сервісу."
7410
+ },
7411
+ "paste": {
7412
+ "title": "Встав посилання",
7413
+ "body": "Скопіюй в інструменті дизайну посилання на фрейм або цілий файл і встав його сюди."
7414
+ },
7415
+ "resolved": {
7416
+ "title": "Перевір, що приєдналося",
7417
+ "body": "Посилання скорочується до підтримуваної форми. Якщо сам фрейм прочитати не вдалося, приєднується весь файл, і про це сказано тут."
7418
+ },
7419
+ "continue": {
7420
+ "title": "Переходь до задачі",
7421
+ "body": "Дизайн уже чекає на новій задачі. Опиши потрібний результат і створи її."
7422
+ },
7423
+ "finish": {
7424
+ "title": "Готово до запуску",
7425
+ "body": "Агент читає розкладку, тексти, компоненти й токени дизайну, і кожен запуск звіряє їх із джерелом наново."
7426
+ }
7427
+ }
7352
7428
  }
7353
7429
  },
7354
7430
  "nudge": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.248.0",
3
+ "version": "0.249.0",
4
4
  "description": "Reusable Nuxt layer for the Agent Architecture Board SPA (components, stores, composables, pages). Consume it from a thin deployment app via `extends: ['@cat-factory/app']` and point it at your backend with NUXT_PUBLIC_API_BASE. See deploy/frontend for an example.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -40,7 +40,7 @@
40
40
  "valibot": "^1.4.2",
41
41
  "vue": "3.5.40",
42
42
  "wretch": "^3.0.9",
43
- "@cat-factory/contracts": "0.270.0"
43
+ "@cat-factory/contracts": "0.271.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@toad-contracts/testing": "0.3.2",