@cat-factory/app 0.199.0 → 0.200.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 (32) hide show
  1. package/app/components/foundational/FoundationalContractSummary.vue +36 -0
  2. package/app/components/foundational/FoundationalServiceCatalogList.vue +170 -0
  3. package/app/components/foundational/FoundationalServiceManager.vue +111 -0
  4. package/app/components/foundational/FoundationalServicePanel.vue +37 -0
  5. package/app/components/foundational/FoundationalServiceRegistry.vue +339 -0
  6. package/app/components/foundational/FoundationalServiceSources.vue +398 -0
  7. package/app/components/foundational/FoundationalSuppressions.vue +75 -0
  8. package/app/components/layout/AccountFoundationalSettings.vue +25 -0
  9. package/app/components/settings/AccountSettingsPanel.vue +17 -1
  10. package/app/composables/api/foundationalServices.ts +131 -0
  11. package/app/composables/useApi.ts +2 -0
  12. package/app/composables/useNavContributions.ts +1 -0
  13. package/app/composables/usePipelineErrorToast.ts +4 -0
  14. package/app/modular/nav-contributions.spec.ts +6 -0
  15. package/app/modular/nav-contributions.ts +26 -0
  16. package/app/pages/index.vue +4 -0
  17. package/app/stores/foundationalServices.spec.ts +121 -0
  18. package/app/stores/foundationalServices.ts +276 -0
  19. package/app/stores/ui/modals.ts +12 -0
  20. package/app/types/domain.ts +1 -0
  21. package/app/types/foundationalServices.ts +32 -0
  22. package/i18n/locales/de.json +144 -6
  23. package/i18n/locales/en.json +144 -6
  24. package/i18n/locales/es.json +144 -6
  25. package/i18n/locales/fr.json +144 -6
  26. package/i18n/locales/he.json +144 -6
  27. package/i18n/locales/it.json +144 -6
  28. package/i18n/locales/ja.json +144 -6
  29. package/i18n/locales/pl.json +144 -6
  30. package/i18n/locales/tr.json +144 -6
  31. package/i18n/locales/uk.json +144 -6
  32. package/package.json +2 -2
@@ -126,7 +126,8 @@
126
126
  "modelConfiguration": "モデル設定",
127
127
  "accountSettings": "アカウント設定",
128
128
  "operatorDashboard": "プラットフォームの可観測性",
129
- "reports": "レポート"
129
+ "reports": "レポート",
130
+ "foundationalServices": "基盤サービス"
130
131
  },
131
132
  "board": {
132
133
  "toast": {
@@ -544,7 +545,8 @@
544
545
  "pipeline_schedule_attached": "定期スケジュールがこのパイプラインを使用しています",
545
546
  "pipeline_schedule_requires_recurring": "定期スケジュールにこのパイプラインが必要です",
546
547
  "pipeline_schedule_intake_unconfigured": "スケジュールに課題取り込み設定がありません",
547
- "foundational_service_exists": "その基盤サービスはすでに存在します"
548
+ "foundational_service_exists": "その基盤サービスはすでに存在します",
549
+ "foundational_service_not_inherited": "このボードが登録したサービスです"
548
550
  },
549
551
  "description": {
550
552
  "dependencies_unmet": "このタスクは、まだ完了していない他のタスクに依存しています。それらを完了または解除してから、もう一度開始してください。",
@@ -573,7 +575,8 @@
573
575
  "pipeline_schedule_attached": "定期スケジュールがまだこのパイプラインを参照しており、開始する実行はすべて ID でパイプラインを解決します。先にそのスケジュールを解除または削除してから、パイプラインを削除してください。",
574
576
  "pipeline_schedule_requires_recurring": "定期スケジュールがまだこのパイプラインを参照しているため、単発専用にすると今後の実行がすべて失敗します。先にそのスケジュールを解除してください。",
575
577
  "pipeline_schedule_intake_unconfigured": "バグ取り込みステップはスケジュールの課題取り込み設定から作業を取得しますが、関連付けられたスケジュールにその設定がありません。先にスケジュールで課題取り込みを設定してください。",
576
- "foundational_service_exists": "この ID の基盤サービスはこのスコープにすでに登録されています。既存のエントリを開いて編集してください。ID は設計でアーキテクトが指定する名前なので、2 つのサービスが同じ ID を共有することはできません。"
578
+ "foundational_service_exists": "この ID の基盤サービスはこのスコープにすでに登録されています。既存のエントリを開いて編集してください。ID は設計でアーキテクトが指定する名前なので、2 つのサービスが同じ ID を共有することはできません。",
579
+ "foundational_service_not_inherited": "除外はアカウントから継承したサービスに対する操作です。この ID はこのボード自身が登録しているため、除外するものがありません。代わりにボード自身のエントリを削除してください。"
577
580
  },
578
581
  "action": {
579
582
  "connectGitHub": "GitHub に接続",
@@ -2077,7 +2080,8 @@
2077
2080
  "shortcuts": "キーボードショートカット",
2078
2081
  "bugHunt": "バグハント",
2079
2082
  "toggleUiMode": "インターフェースモードを切り替え",
2080
- "tutorial": "ツアーを開始"
2083
+ "tutorial": "ツアーを開始",
2084
+ "foundationalServices": "基盤サービス"
2081
2085
  },
2082
2086
  "keywords": {
2083
2087
  "newPipeline": "pipeline agents chain パイプライン エージェント チェーン",
@@ -2100,7 +2104,8 @@
2100
2104
  "shortcuts": "キーボード ショートカット キー ヘルプ",
2101
2105
  "bugHunt": "bug バグ ハント トリアージ バックログ 課題 未割り当て",
2102
2106
  "toggleUiMode": "インターフェース モード 基本 詳細 表示 非表示",
2103
- "tutorial": "チュートリアル ツアー ガイド ヘルプ 使い方 オンボーディング"
2107
+ "tutorial": "チュートリアル ツアー ガイド ヘルプ 使い方 オンボーディング",
2108
+ "foundationalServices": "共通機能 プラットフォーム サービス api コントラクト openapi カタログ"
2104
2109
  }
2105
2110
  },
2106
2111
  "integrationsHub": {
@@ -2260,6 +2265,9 @@
2260
2265
  "title": "既定のテスト環境を選択してください",
2261
2266
  "body": "このボードでは、サービスがテスト環境をどのように用意するかがまだ決まっていません。既定を選ぶと、以降に追加するサービスは個別に設定しなくてもその設定で始まります。サービスごとの変更も引き続き可能です。",
2262
2267
  "action": "既定を選択"
2268
+ },
2269
+ "accountFoundational": {
2270
+ "intro": "この組織がすでに運用している共通機能 - ファイルストレージ、通知、監査 - とその API コントラクト。すべてのボードがこれらを継承し、アーキテクトには作り直しを提案せず利用するよう指示されます。"
2263
2271
  }
2264
2272
  },
2265
2273
  "settings": {
@@ -2314,7 +2322,8 @@
2314
2322
  "tabs": {
2315
2323
  "team": "チームとアクセス",
2316
2324
  "fragments": "コンテキストフラグメント",
2317
- "skills": "スキル"
2325
+ "skills": "スキル",
2326
+ "foundational": "基盤サービス"
2318
2327
  }
2319
2328
  },
2320
2329
  "infrastructure": {
@@ -5177,6 +5186,135 @@
5177
5186
  },
5178
5187
  "unavailable": "このデプロイではプロンプトフラグメントライブラリが有効になっていません。"
5179
5188
  },
5189
+ "foundational": {
5190
+ "unavailable": "基盤サービスのカタログはこのデプロイでは有効になっていません。",
5191
+ "owner": {
5192
+ "workspace": "このボード",
5193
+ "account": "このアカウント"
5194
+ },
5195
+ "tab": {
5196
+ "catalog": "カタログ",
5197
+ "sources": "リポジトリ連携"
5198
+ },
5199
+ "panel": {
5200
+ "title": "基盤サービス",
5201
+ "subtitle": "組織がすでに運用している共通機能。設計がこれらを作り直さずに利用できるようにします。"
5202
+ },
5203
+ "tier": {
5204
+ "account": "アカウント",
5205
+ "workspace": "ボード"
5206
+ },
5207
+ "format": {
5208
+ "openapi": "OpenAPI",
5209
+ "toadContract": "toad-contracts",
5210
+ "lokaliseApiContract": "lokalise/api-contract"
5211
+ },
5212
+ "contracts": {
5213
+ "omitted": "他 {count} 件は未掲載",
5214
+ "none": "API コントラクトが添付されていません。エージェントには、インターフェースが不明であることが伝えられます(推測はさせません)。"
5215
+ },
5216
+ "catalog": {
5217
+ "intro": "このボードで設計するアーキテクトに渡される内容です。識別情報、機能タグ、オペレーション名のみで、コントラクト文書は設計がそのサービスを宣言したときにだけ読み込まれます。",
5218
+ "empty": "基盤サービスはまだありません。下で登録するか、それらを記述したリポジトリを連携してください。",
5219
+ "suppress": "このボードではこのサービスを提示しない",
5220
+ "showDocuments": "コントラクト文書を表示",
5221
+ "hideDocuments": "コントラクト文書を隠す"
5222
+ },
5223
+ "suppressions": {
5224
+ "title": "このボードで除外中",
5225
+ "intro": "これらのアカウントのサービスは、このボードの設計から隠されています。削除はされておらず、他のボードではそのまま利用されます。",
5226
+ "restore": "再び提示する",
5227
+ "shadowsNothing": "現在この ID で継承されているものはないため、この除外は何も隠していません。"
5228
+ },
5229
+ "registry": {
5230
+ "empty": "このスコープにはまだ何も登録されていません。",
5231
+ "add": "サービスを登録",
5232
+ "addTitle": "基盤サービスを登録",
5233
+ "editTitle": "基盤サービスを編集",
5234
+ "edit": "編集",
5235
+ "delete": "削除",
5236
+ "save": "保存",
5237
+ "cancel": "キャンセル",
5238
+ "fromSource": "連携リポジトリから同期されています({path})。リポジトリ側で編集してください。ここでの変更は次回の同期で上書きされます。",
5239
+ "idFixed": "アーキテクトが設計に書く ID。登録後は変更できません",
5240
+ "idPlaceholder": "ID(小文字とハイフン。例: file-storage)",
5241
+ "namePlaceholder": "名前(例: File Storage)",
5242
+ "summaryPlaceholder": "1 行の要約 - 何のためのものか",
5243
+ "descriptionPlaceholder": "何をするか、いつ使うか、何を対象としないか",
5244
+ "capabilitiesPlaceholder": "機能タグ(カンマ区切り。例: file-storage, cdn)",
5245
+ "contractsTitle": "API コントラクト",
5246
+ "contractsKeep": "保存済みの文書を維持する場合は、ここに触れないでください。",
5247
+ "contractsReplace": "保存すると、保存済みの一式がここに並ぶ内容で置き換えられます。",
5248
+ "addContract": "コントラクトを追加",
5249
+ "removeContract": "このコントラクトを削除",
5250
+ "contractIdPlaceholder": "コントラクト ID(小文字とハイフン。例: openapi)",
5251
+ "contractTitlePlaceholder": "タイトル(例: HTTP API)",
5252
+ "contractBodyPlaceholder": "文書を貼り付け: OpenAPI 3.x ファイル、またはコントラクトモジュールのソース"
5253
+ },
5254
+ "sources": {
5255
+ "empty": "連携リポジトリはありません。下で連携すると、サービス定義とコントラクトファイルが同期されます。",
5256
+ "linkTitle": "リポジトリを連携",
5257
+ "link": "連携して同期",
5258
+ "metaSynced": "同期日時 {date} · ref {ref}",
5259
+ "metaNever": "未同期 · ref {ref}",
5260
+ "metaFiles": "{service} · コントラクトファイル {count} 件",
5261
+ "metaDirectory": "サブディレクトリごとに 1 サービス",
5262
+ "changes": "変更あり",
5263
+ "check": "変更を確認",
5264
+ "sync": "再同期",
5265
+ "unlink": "連携解除",
5266
+ "selectedDir": "ディレクトリ:",
5267
+ "selectedFiles": "選択したファイル: {count}",
5268
+ "wholeRepo": "リポジトリ全体(ルート)。",
5269
+ "ownerPlaceholder": "オーナー",
5270
+ "repoPlaceholder": "リポジトリ",
5271
+ "dirPlaceholder": "ディレクトリのパス(例: foundational)",
5272
+ "filePathsPlaceholder": "コントラクトファイルのパス(1 行に 1 つ)",
5273
+ "refPlaceholder": "ref(既定は HEAD)",
5274
+ "githubRequired": "リポジトリの連携にはソース管理の連携が必要です。まずいずれかのボードで接続してください。",
5275
+ "serviceIdPlaceholder": "サービス ID(小文字とハイフン)",
5276
+ "serviceNamePlaceholder": "サービス名",
5277
+ "serviceSummaryPlaceholder": "1 行の要約(任意)",
5278
+ "mode": {
5279
+ "directory": "サービスをまとめたフォルダ",
5280
+ "files": "特定のファイル、1 サービス",
5281
+ "directoryHint": "連携したパスの各サブディレクトリが 1 つのサービスで、service.md で説明され、その横にコントラクトファイルが置かれます。",
5282
+ "filesHint": "列挙したファイルはすべて、ここで指定する 1 つのサービスを説明します。従うべきフォルダ規約がない場合に使います。"
5283
+ }
5284
+ },
5285
+ "confirmUnlinkSource": {
5286
+ "title": "このリポジトリの連携を解除しますか?",
5287
+ "body": "「{repo}」と、そこから同期されたサービスがカタログから削除されます。あとで再度連携できます。",
5288
+ "confirm": "連携解除"
5289
+ },
5290
+ "confirmDelete": {
5291
+ "title": "このサービスを削除しますか?",
5292
+ "body": "「{name}」とアップロード済みのコントラクト文書が、このスコープから削除されます。",
5293
+ "bodyWorkspace": "「{name}」とアップロード済みのコントラクト文書が、このボードから削除されます。同じ id のサービスがアカウントに登録されている場合、このボードはそれの継承も停止します。「このボードで除外中」から元に戻せます。",
5294
+ "confirm": "削除"
5295
+ },
5296
+ "toast": {
5297
+ "created": "サービスを登録しました",
5298
+ "updated": "サービスを更新しました",
5299
+ "deleted": "サービスを削除しました",
5300
+ "saveFailed": "サービスを保存できませんでした",
5301
+ "deleteFailed": "サービスを削除できませんでした",
5302
+ "suppressed": "このボードの設計から隠しました",
5303
+ "suppressFailed": "サービスを隠せませんでした",
5304
+ "restored": "このボードで再び提示されます",
5305
+ "restoreFailed": "サービスを元に戻せませんでした",
5306
+ "contractsFailed": "コントラクト文書を読み込めませんでした",
5307
+ "sourceLinked": "リポジトリを連携して同期しました",
5308
+ "linkSourceFailed": "リポジトリを連携できませんでした",
5309
+ "synced": "同期完了: {updated} 件更新、{removed} 件削除",
5310
+ "syncFailed": "リポジトリを同期できませんでした",
5311
+ "changesAvailable": "上流に変更があります",
5312
+ "upToDate": "すでに最新です",
5313
+ "checkSourceFailed": "リポジトリを確認できませんでした",
5314
+ "sourceUnlinked": "リポジトリの連携を解除しました",
5315
+ "unlinkSourceFailed": "リポジトリの連携を解除できませんでした"
5316
+ }
5317
+ },
5180
5318
  "sandbox": {
5181
5319
  "title": "Sandbox: プロンプトとモデルのテスト",
5182
5320
  "description": "プロンプトのバージョンとモデルを採点付きフィクスチャに対して試し、ジャッジモデルでスコアリングします。",
@@ -126,7 +126,8 @@
126
126
  "accountSettings": "Ustawienia konta",
127
127
  "operatorDashboard": "Obserwowalność platformy",
128
128
  "reports": "Raporty",
129
- "infrastructure": "Infrastruktura"
129
+ "infrastructure": "Infrastruktura",
130
+ "foundationalServices": "Usługi fundamentalne"
130
131
  },
131
132
  "board": {
132
133
  "toast": {
@@ -544,7 +545,8 @@
544
545
  "pipeline_schedule_attached": "Harmonogram cykliczny używa tego potoku",
545
546
  "pipeline_schedule_requires_recurring": "Harmonogram cykliczny wymaga tego potoku",
546
547
  "pipeline_schedule_intake_unconfigured": "Harmonogram nie ma pobierania zgłoszeń",
547
- "foundational_service_exists": "Usługa fundamentalna już istnieje"
548
+ "foundational_service_exists": "Usługa fundamentalna już istnieje",
549
+ "foundational_service_not_inherited": "Ta tablica zarejestrowała tę usługę"
548
550
  },
549
551
  "description": {
550
552
  "dependencies_unmet": "To zadanie zależy od innych, które nie zostały jeszcze ukończone. Ukończ je lub odblokuj, a następnie uruchom je ponownie.",
@@ -573,7 +575,8 @@
573
575
  "pipeline_schedule_attached": "Harmonogram cykliczny nadal wskazuje ten potok, a każde uruchomienie odnajduje go po identyfikatorze. Najpierw odłącz lub usuń ten harmonogram, a dopiero potem usuń potok.",
574
576
  "pipeline_schedule_requires_recurring": "Harmonogram cykliczny nadal wskazuje ten potok, więc ograniczenie go do jednorazowego zepsułoby każde przyszłe uruchomienie. Najpierw odłącz ten harmonogram.",
575
577
  "pipeline_schedule_intake_unconfigured": "Krok pobierania błędów czerpie pracę z ustawień pobierania zgłoszeń harmonogramu, a powiązany harmonogram ich nie ma. Najpierw skonfiguruj pobieranie zgłoszeń w harmonogramie.",
576
- "foundational_service_exists": "Usługa fundamentalna o tym identyfikatorze jest już zarejestrowana w tym zakresie. Otwórz istniejący wpis i go edytuj — dwie usługi nie mogą współdzielić identyfikatora, ponieważ to jego nazwą architekt posługuje się w projekcie."
578
+ "foundational_service_exists": "Usługa fundamentalna o tym identyfikatorze jest już zarejestrowana w tym zakresie. Otwórz istniejący wpis i go edytuj — dwie usługi nie mogą współdzielić identyfikatora, ponieważ to jego nazwą architekt posługuje się w projekcie.",
579
+ "foundational_service_not_inherited": "Wyłączenie dotyczy usługi dziedziczonej z konta. Ten identyfikator jest zarejestrowany przez tę tablicę, więc nie ma czego wyłączać - usuń zamiast tego własny wpis tablicy."
577
580
  },
578
581
  "action": {
579
582
  "connectGitHub": "Połącz GitHub",
@@ -2077,7 +2080,8 @@
2077
2080
  "shortcuts": "Skróty klawiszowe",
2078
2081
  "bugHunt": "Polowanie na błędy",
2079
2082
  "toggleUiMode": "Zmień tryb interfejsu",
2080
- "tutorial": "Rozpocznij przewodnik"
2083
+ "tutorial": "Rozpocznij przewodnik",
2084
+ "foundationalServices": "Usługi fundamentalne"
2081
2085
  },
2082
2086
  "keywords": {
2083
2087
  "newPipeline": "potok agenci łańcuch pipeline",
@@ -2100,7 +2104,8 @@
2100
2104
  "shortcuts": "skróty klawiatura klawisze pomoc",
2101
2105
  "bugHunt": "błąd bug polowanie triage zaległości zgłoszenia nieprzypisane",
2102
2106
  "toggleUiMode": "interfejs tryb podstawowy zaawansowany pokaż ukryj",
2103
- "tutorial": "samouczek przewodnik pomoc nauka wprowadzenie"
2107
+ "tutorial": "samouczek przewodnik pomoc nauka wprowadzenie",
2108
+ "foundationalServices": "wspólna możliwość platforma usługa api kontrakt openapi katalog"
2104
2109
  }
2105
2110
  },
2106
2111
  "integrationsHub": {
@@ -2260,6 +2265,9 @@
2260
2265
  "title": "Wybierz domyślne środowisko testowe",
2261
2266
  "body": "Ta tablica nie ma jeszcze ustalonego sposobu, w jaki jej usługi otrzymują środowisko testowe. Wybierz wartość domyślną, a każda kolejno dodawana usługa będzie od niej startować, zamiast być konfigurowana pojedynczo. Nadal możesz to zmienić dla poszczególnej usługi.",
2262
2267
  "action": "Wybierz domyślne"
2268
+ },
2269
+ "accountFoundational": {
2270
+ "intro": "Wspólne możliwości, które ta organizacja już utrzymuje - przechowywanie plików, powiadomienia, audyt - wraz z ich kontraktami API. Każda tablica je dziedziczy, a architekt dostaje polecenie, by z nich korzystać zamiast proponować budowę od nowa."
2263
2271
  }
2264
2272
  },
2265
2273
  "settings": {
@@ -2314,7 +2322,8 @@
2314
2322
  "tabs": {
2315
2323
  "team": "Zespół i dostęp",
2316
2324
  "fragments": "Fragmenty kontekstu",
2317
- "skills": "Umiejętności"
2325
+ "skills": "Umiejętności",
2326
+ "foundational": "Usługi fundamentalne"
2318
2327
  }
2319
2328
  },
2320
2329
  "providerConnection": {
@@ -5165,6 +5174,135 @@
5165
5174
  },
5166
5175
  "unavailable": "Biblioteka fragmentów promptów nie jest włączona w tym wdrożeniu."
5167
5176
  },
5177
+ "foundational": {
5178
+ "unavailable": "Katalog usług fundamentalnych nie jest włączony w tym wdrożeniu.",
5179
+ "owner": {
5180
+ "workspace": "Ta tablica",
5181
+ "account": "To konto"
5182
+ },
5183
+ "tab": {
5184
+ "catalog": "Katalog",
5185
+ "sources": "Powiązane repozytoria"
5186
+ },
5187
+ "panel": {
5188
+ "title": "Usługi fundamentalne",
5189
+ "subtitle": "Wspólne możliwości, które Twoja organizacja już utrzymuje, aby projekt z nich korzystał zamiast budować je od nowa."
5190
+ },
5191
+ "tier": {
5192
+ "account": "Konto",
5193
+ "workspace": "Tablica"
5194
+ },
5195
+ "format": {
5196
+ "openapi": "OpenAPI",
5197
+ "toadContract": "toad-contracts",
5198
+ "lokaliseApiContract": "lokalise/api-contract"
5199
+ },
5200
+ "contracts": {
5201
+ "omitted": "+{count} więcej, niewymienionych",
5202
+ "none": "Nie dołączono kontraktu API. Agent zostanie poinformowany, że interfejs jest nieznany, zamiast go zgadywać."
5203
+ },
5204
+ "catalog": {
5205
+ "intro": "To, co dostaje architekt projektujący na tej tablicy: tożsamość, znaczniki możliwości i nazwy operacji. Dokumenty kontraktów są czytane dopiero wtedy, gdy projekt zadeklaruje daną usługę.",
5206
+ "empty": "Brak usług fundamentalnych. Zarejestruj jedną poniżej albo powiąż repozytorium, które je opisuje.",
5207
+ "suppress": "Nie proponuj tej usługi na tej tablicy",
5208
+ "showDocuments": "Pokaż dokumenty kontraktów",
5209
+ "hideDocuments": "Ukryj dokumenty kontraktów"
5210
+ },
5211
+ "suppressions": {
5212
+ "title": "Wyłączone na tej tablicy",
5213
+ "intro": "Te usługi konta są ukryte przed projektami na tej tablicy. Nic nie zostało usunięte, a konto zachowuje je dla wszystkich pozostałych tablic.",
5214
+ "restore": "Proponuj ponownie",
5215
+ "shadowsNothing": "Pod tym identyfikatorem nic obecnie nie jest dziedziczone, więc to wyłączenie niczego teraz nie ukrywa."
5216
+ },
5217
+ "registry": {
5218
+ "empty": "W tym zakresie nic jeszcze nie zarejestrowano.",
5219
+ "add": "Zarejestruj usługę",
5220
+ "addTitle": "Zarejestruj usługę fundamentalną",
5221
+ "editTitle": "Edytuj usługę fundamentalną",
5222
+ "edit": "Edytuj",
5223
+ "delete": "Usuń",
5224
+ "save": "Zapisz",
5225
+ "cancel": "Anuluj",
5226
+ "fromSource": "Zsynchronizowane z powiązanego repozytorium ({path}). Edytuj je w repozytorium; następna synchronizacja nadpisze zmiany wprowadzone tutaj.",
5227
+ "idFixed": "identyfikator, który architekt zapisuje w projekcie - po rejestracji już niezmienny",
5228
+ "idPlaceholder": "identyfikator (małe litery i myślniki, np. file-storage)",
5229
+ "namePlaceholder": "nazwa (np. File Storage)",
5230
+ "summaryPlaceholder": "jednozdaniowe streszczenie - do czego służy",
5231
+ "descriptionPlaceholder": "co robi, kiedy jej używać i czego NIE obejmuje",
5232
+ "capabilitiesPlaceholder": "znaczniki możliwości, oddzielone przecinkami (np. file-storage, cdn)",
5233
+ "contractsTitle": "Kontrakty API",
5234
+ "contractsKeep": "Zostaw bez zmian, aby zachować zapisane dokumenty.",
5235
+ "contractsReplace": "Zapis ZASTĄPI cały zapisany zestaw tym, co jest wymienione tutaj.",
5236
+ "addContract": "Dodaj kontrakt",
5237
+ "removeContract": "Usuń ten kontrakt",
5238
+ "contractIdPlaceholder": "identyfikator kontraktu (małe litery i myślniki, np. openapi)",
5239
+ "contractTitlePlaceholder": "tytuł (np. HTTP API)",
5240
+ "contractBodyPlaceholder": "wklej dokument: plik OpenAPI 3.x albo źródło modułu kontraktu"
5241
+ },
5242
+ "sources": {
5243
+ "empty": "Brak powiązanych repozytoriów. Powiąż jedno poniżej, aby synchronizować definicje usług i ich pliki kontraktów.",
5244
+ "linkTitle": "Powiąż repozytorium",
5245
+ "link": "Powiąż i zsynchronizuj",
5246
+ "metaSynced": "zsynchronizowano {date} · ref {ref}",
5247
+ "metaNever": "nigdy nie synchronizowano · ref {ref}",
5248
+ "metaFiles": "{service} · {count} plików kontraktów",
5249
+ "metaDirectory": "jedna usługa na podkatalog",
5250
+ "changes": "Zmiany",
5251
+ "check": "Sprawdź zmiany",
5252
+ "sync": "Zsynchronizuj ponownie",
5253
+ "unlink": "Odłącz",
5254
+ "selectedDir": "Katalog:",
5255
+ "selectedFiles": "Wybrane pliki: {count}",
5256
+ "wholeRepo": "Całe repozytorium (katalog główny).",
5257
+ "ownerPlaceholder": "właściciel",
5258
+ "repoPlaceholder": "repozytorium",
5259
+ "dirPlaceholder": "ścieżka katalogu (np. foundational)",
5260
+ "filePathsPlaceholder": "ścieżki plików kontraktów, po jednej w wierszu",
5261
+ "refPlaceholder": "ref (domyślnie HEAD)",
5262
+ "githubRequired": "Powiązanie repozytorium wymaga integracji z systemem kontroli wersji. Podłącz ją najpierw na tablicy.",
5263
+ "serviceIdPlaceholder": "identyfikator usługi (małe litery i myślniki)",
5264
+ "serviceNamePlaceholder": "nazwa usługi",
5265
+ "serviceSummaryPlaceholder": "jednozdaniowe streszczenie (opcjonalne)",
5266
+ "mode": {
5267
+ "directory": "Katalog z usługami",
5268
+ "files": "Wybrane pliki, jedna usługa",
5269
+ "directoryHint": "Każdy podkatalog powiązanej ścieżki to jedna usługa, opisana plikiem service.md, obok którego leżą jej pliki kontraktów.",
5270
+ "filesHint": "Wymienione pliki opisują tę jedną usługę, którą tu nazywasz. Użyj tego, gdy nie ma konwencji katalogów do przyjęcia."
5271
+ }
5272
+ },
5273
+ "confirmUnlinkSource": {
5274
+ "title": "Odłączyć to repozytorium?",
5275
+ "body": "\"{repo}\" i usługi z niego zsynchronizowane zostaną usunięte z katalogu. Możesz powiązać je ponownie później.",
5276
+ "confirm": "Odłącz"
5277
+ },
5278
+ "confirmDelete": {
5279
+ "title": "Usunąć tę usługę?",
5280
+ "body": "\"{name}\" i przesłane dla niej dokumenty kontraktów zostaną usunięte z tego zakresu.",
5281
+ "bodyWorkspace": "\"{name}\" i przesłane dla niej dokumenty kontraktów zostaną usunięte z tej tablicy. Jeśli konto rejestruje usługę o tym samym id, ta tablica przestanie ją także dziedziczyć; możesz to cofnąć w sekcji \"Wyłączone na tej tablicy\".",
5282
+ "confirm": "Usuń"
5283
+ },
5284
+ "toast": {
5285
+ "created": "Usługa zarejestrowana",
5286
+ "updated": "Usługa zaktualizowana",
5287
+ "deleted": "Usługa usunięta",
5288
+ "saveFailed": "Nie udało się zapisać usługi",
5289
+ "deleteFailed": "Nie udało się usunąć usługi",
5290
+ "suppressed": "Ukryto przed projektami na tej tablicy",
5291
+ "suppressFailed": "Nie udało się ukryć usługi",
5292
+ "restored": "Ponownie proponowana na tej tablicy",
5293
+ "restoreFailed": "Nie udało się przywrócić usługi",
5294
+ "contractsFailed": "Nie udało się wczytać dokumentów kontraktów",
5295
+ "sourceLinked": "Repozytorium powiązane i zsynchronizowane",
5296
+ "linkSourceFailed": "Nie udało się powiązać repozytorium",
5297
+ "synced": "Zsynchronizowano: {updated} zaktualizowanych, {removed} usuniętych",
5298
+ "syncFailed": "Nie udało się zsynchronizować repozytorium",
5299
+ "changesAvailable": "W źródle są zmiany",
5300
+ "upToDate": "Już aktualne",
5301
+ "checkSourceFailed": "Nie udało się sprawdzić repozytorium",
5302
+ "sourceUnlinked": "Repozytorium odłączone",
5303
+ "unlinkSourceFailed": "Nie udało się odłączyć repozytorium"
5304
+ }
5305
+ },
5168
5306
  "sandbox": {
5169
5307
  "title": "Piaskownica: testowanie promptów i modeli",
5170
5308
  "description": "Testuj wersje promptów i modele na ocenianych fixture'ach, oceniane przez model sędziujący.",
@@ -126,7 +126,8 @@
126
126
  "modelConfiguration": "Model yapılandırması",
127
127
  "accountSettings": "Hesap ayarları",
128
128
  "operatorDashboard": "Platform gözlemlenebilirliği",
129
- "reports": "Raporlar"
129
+ "reports": "Raporlar",
130
+ "foundationalServices": "Temel hizmetler"
130
131
  },
131
132
  "board": {
132
133
  "toast": {
@@ -544,7 +545,8 @@
544
545
  "pipeline_schedule_attached": "Yinelenen bir zamanlama bu hattı kullanıyor",
545
546
  "pipeline_schedule_requires_recurring": "Yinelenen bir zamanlama bu hatta ihtiyaç duyuyor",
546
547
  "pipeline_schedule_intake_unconfigured": "Zamanlamada sorun alımı yok",
547
- "foundational_service_exists": "Temel hizmet zaten var"
548
+ "foundational_service_exists": "Temel hizmet zaten var",
549
+ "foundational_service_not_inherited": "Bu hizmeti bu pano kaydetti"
548
550
  },
549
551
  "description": {
550
552
  "dependencies_unmet": "Bu görev henüz tamamlanmamış başka görevlere bağlı. Onları tamamla veya engelini kaldır, ardından yeniden başlat.",
@@ -573,7 +575,8 @@
573
575
  "pipeline_schedule_attached": "Yinelenen bir zamanlama hâlâ bu hattı gösteriyor ve başlattığı her çalışma hattı kimliğiyle çözümlüyor. Önce o zamanlamayı ayırın veya silin, sonra hattı kaldırın.",
574
576
  "pipeline_schedule_requires_recurring": "Yinelenen bir zamanlama hâlâ bu hattı gösteriyor, bu yüzden yalnızca tek seferlik yapmak gelecekteki her çalışmayı bozar. Önce o zamanlamayı ayırın.",
575
577
  "pipeline_schedule_intake_unconfigured": "Hata alımı adımı işini zamanlamanın sorun alımı ayarlarından alır ve bağlı zamanlamada bu ayar yok. Önce zamanlamada sorun alımını yapılandırın.",
576
- "foundational_service_exists": "Bu kimliğe sahip bir temel hizmet bu kapsamda zaten kayıtlı. Var olan kaydı açıp düzenleyin — iki hizmet aynı kimliği paylaşamaz, çünkü kimlik bir mimarın tasarımında andığı addır."
578
+ "foundational_service_exists": "Bu kimliğe sahip bir temel hizmet bu kapsamda zaten kayıtlı. Var olan kaydı açıp düzenleyin — iki hizmet aynı kimliği paylaşamaz, çünkü kimlik bir mimarın tasarımında andığı addır.",
579
+ "foundational_service_not_inherited": "Devre dışı bırakma, hesaptan devralınan bir hizmet için geçerlidir. Bu kimlik bu pano tarafından kaydedilmiş, dolayısıyla devre dışı bırakılacak bir şey yok - bunun yerine panonun kendi kaydını silin."
577
580
  },
578
581
  "action": {
579
582
  "connectGitHub": "GitHub'ı bağla",
@@ -2077,7 +2080,8 @@
2077
2080
  "shortcuts": "Klavye kısayolları",
2078
2081
  "bugHunt": "Hata avı",
2079
2082
  "toggleUiMode": "Arayüz modunu değiştir",
2080
- "tutorial": "Tura başla"
2083
+ "tutorial": "Tura başla",
2084
+ "foundationalServices": "Temel hizmetler"
2081
2085
  },
2082
2086
  "keywords": {
2083
2087
  "newPipeline": "boru hattı ajanlar zincir",
@@ -2100,7 +2104,8 @@
2100
2104
  "shortcuts": "kısayollar klavye tuşlar yardım",
2101
2105
  "bugHunt": "hata bug av önceliklendirme birikmiş kayıt atanmamış",
2102
2106
  "toggleUiMode": "arayüz mod temel gelişmiş göster gizle",
2103
- "tutorial": "eğitim tur rehber yardım öğren tanıtım"
2107
+ "tutorial": "eğitim tur rehber yardım öğren tanıtım",
2108
+ "foundationalServices": "ortak yetenek platform hizmet api sözleşme openapi katalog"
2104
2109
  }
2105
2110
  },
2106
2111
  "integrationsHub": {
@@ -2260,6 +2265,9 @@
2260
2265
  "title": "Varsayılan test ortamı seçin",
2261
2266
  "body": "Bu pano, servislerinin test ortamını nasıl edineceğini henüz belirlemedi. Bir varsayılan seçin; bundan sonra eklediğiniz her servis tek tek kurulmak yerine bununla başlasın. Servis bazında yine değiştirebilirsiniz.",
2262
2267
  "action": "Varsayılanı seç"
2268
+ },
2269
+ "accountFoundational": {
2270
+ "intro": "Bu kuruluşun hâlihazırda işlettiği ortak yetenekler - dosya depolama, bildirimler, denetim - ve API sözleşmeleri. Her pano bunları devralır ve bir mimara, yeniden inşa önermek yerine bunları kullanması söylenir."
2263
2271
  }
2264
2272
  },
2265
2273
  "settings": {
@@ -2314,7 +2322,8 @@
2314
2322
  "tabs": {
2315
2323
  "team": "Ekip ve erişim",
2316
2324
  "fragments": "Bağlam parçaları",
2317
- "skills": "Beceriler"
2325
+ "skills": "Beceriler",
2326
+ "foundational": "Temel hizmetler"
2318
2327
  }
2319
2328
  },
2320
2329
  "infrastructure": {
@@ -5177,6 +5186,135 @@
5177
5186
  },
5178
5187
  "unavailable": "Bu dağıtımda istem parçası kütüphanesi etkin değil."
5179
5188
  },
5189
+ "foundational": {
5190
+ "unavailable": "Temel hizmetler kataloğu bu kurulumda etkin değil.",
5191
+ "owner": {
5192
+ "workspace": "Bu pano",
5193
+ "account": "Bu hesap"
5194
+ },
5195
+ "tab": {
5196
+ "catalog": "Katalog",
5197
+ "sources": "Bağlı depolar"
5198
+ },
5199
+ "panel": {
5200
+ "title": "Temel hizmetler",
5201
+ "subtitle": "Kuruluşunuzun hâlihazırda işlettiği ortak yetenekler; böylece bir tasarım onları yeniden inşa etmek yerine kullanır."
5202
+ },
5203
+ "tier": {
5204
+ "account": "Hesap",
5205
+ "workspace": "Pano"
5206
+ },
5207
+ "format": {
5208
+ "openapi": "OpenAPI",
5209
+ "toadContract": "toad-contracts",
5210
+ "lokaliseApiContract": "lokalise/api-contract"
5211
+ },
5212
+ "contracts": {
5213
+ "omitted": "+{count} tanesi listelenmedi",
5214
+ "none": "Ekli API sözleşmesi yok. Ajana arayüzün bilinmediği söylenecek; tahmin etmesine izin verilmeyecek."
5215
+ },
5216
+ "catalog": {
5217
+ "intro": "Bu panoda tasarım yapan bir mimara verilenler: kimlik, yetenek etiketleri ve operasyon adları. Sözleşme belgeleri yalnızca bir tasarım hizmeti bildirdiğinde okunur.",
5218
+ "empty": "Henüz temel hizmet yok. Aşağıdan bir tane kaydedin veya bunları tanımlayan bir depo bağlayın.",
5219
+ "suppress": "Bu hizmeti bu panoda sunma",
5220
+ "showDocuments": "Sözleşme belgelerini göster",
5221
+ "hideDocuments": "Sözleşme belgelerini gizle"
5222
+ },
5223
+ "suppressions": {
5224
+ "title": "Bu panoda devre dışı",
5225
+ "intro": "Bu hesap hizmetleri, bu panodaki tasarımlardan gizlenmiştir. Hiçbir şey silinmedi; hesap onları diğer tüm panolar için korur.",
5226
+ "restore": "Yeniden sun",
5227
+ "shadowsNothing": "Şu anda bu kimlik altında devralınan bir şey yok, dolayısıyla bu devre dışı bırakma şu an hiçbir şeyi gizlemiyor."
5228
+ },
5229
+ "registry": {
5230
+ "empty": "Bu kapsamda henüz bir kayıt yok.",
5231
+ "add": "Hizmet kaydet",
5232
+ "addTitle": "Temel hizmet kaydet",
5233
+ "editTitle": "Temel hizmeti düzenle",
5234
+ "edit": "Düzenle",
5235
+ "delete": "Sil",
5236
+ "save": "Kaydet",
5237
+ "cancel": "Vazgeç",
5238
+ "fromSource": "Bağlı bir depodan eşitlendi ({path}). Depoda düzenleyin; sonraki eşitleme burada yapılan değişiklikleri üzerine yazar.",
5239
+ "idFixed": "bir mimarın tasarımında yazdığı kimlik - kaydedildikten sonra değiştirilemez",
5240
+ "idPlaceholder": "kimlik (küçük harf ve tire, örn. file-storage)",
5241
+ "namePlaceholder": "ad (örn. File Storage)",
5242
+ "summaryPlaceholder": "tek satırlık özet - ne işe yaradığı",
5243
+ "descriptionPlaceholder": "ne yaptığı, ne zaman kullanılacağı ve neyi KAPSAMADIĞI",
5244
+ "capabilitiesPlaceholder": "yetenek etiketleri, virgülle ayrılmış (örn. file-storage, cdn)",
5245
+ "contractsTitle": "API sözleşmeleri",
5246
+ "contractsKeep": "Kayıtlı belgeleri korumak için dokunmadan bırakın.",
5247
+ "contractsReplace": "Kaydetmek, saklanan tüm kümeyi burada listelenenlerle DEĞİŞTİRİR.",
5248
+ "addContract": "Sözleşme ekle",
5249
+ "removeContract": "Bu sözleşmeyi kaldır",
5250
+ "contractIdPlaceholder": "sözleşme kimliği (küçük harf ve tire, örn. openapi)",
5251
+ "contractTitlePlaceholder": "başlık (örn. HTTP API)",
5252
+ "contractBodyPlaceholder": "belgeyi yapıştırın: bir OpenAPI 3.x dosyası ya da bir sözleşme modülünün kaynağı"
5253
+ },
5254
+ "sources": {
5255
+ "empty": "Bağlı depo yok. Hizmet tanımlarını ve sözleşme dosyalarını eşitlemek için aşağıdan bir depo bağlayın.",
5256
+ "linkTitle": "Depo bağla",
5257
+ "link": "Bağla ve eşitle",
5258
+ "metaSynced": "eşitlendi {date} · ref {ref}",
5259
+ "metaNever": "hiç eşitlenmedi · ref {ref}",
5260
+ "metaFiles": "{service} · {count} sözleşme dosyası",
5261
+ "metaDirectory": "her alt dizin için bir hizmet",
5262
+ "changes": "Değişiklikler",
5263
+ "check": "Değişiklikleri denetle",
5264
+ "sync": "Yeniden eşitle",
5265
+ "unlink": "Bağlantıyı kaldır",
5266
+ "selectedDir": "Dizin:",
5267
+ "selectedFiles": "Seçilen dosyalar: {count}",
5268
+ "wholeRepo": "Tüm depo (kök).",
5269
+ "ownerPlaceholder": "sahip",
5270
+ "repoPlaceholder": "depo",
5271
+ "dirPlaceholder": "dizin yolu (örn. foundational)",
5272
+ "filePathsPlaceholder": "sözleşme dosyası yolları, her satıra bir tane",
5273
+ "refPlaceholder": "ref (varsayılan HEAD)",
5274
+ "githubRequired": "Depo bağlamak için sürüm denetimi entegrasyonu gerekir. Önce bir panoda bağlayın.",
5275
+ "serviceIdPlaceholder": "hizmet kimliği (küçük harf ve tire)",
5276
+ "serviceNamePlaceholder": "hizmet adı",
5277
+ "serviceSummaryPlaceholder": "tek satırlık özet (isteğe bağlı)",
5278
+ "mode": {
5279
+ "directory": "Hizmetlerin bulunduğu bir klasör",
5280
+ "files": "Belirli dosyalar, tek hizmet",
5281
+ "directoryHint": "Bağlanan yolun her alt dizini bir hizmettir; bir service.md ile tanımlanır ve sözleşme dosyaları onun yanında durur.",
5282
+ "filesHint": "Listelenen dosyaların tamamı burada adlandırdığınız tek hizmeti tanımlar. Benimsenecek bir klasör düzeni yoksa bunu kullanın."
5283
+ }
5284
+ },
5285
+ "confirmUnlinkSource": {
5286
+ "title": "Bu deponun bağlantısı kaldırılsın mı?",
5287
+ "body": "\"{repo}\" ve eşitlediği hizmetler katalogdan kaldırılacak. Daha sonra yeniden bağlayabilirsiniz.",
5288
+ "confirm": "Bağlantıyı kaldır"
5289
+ },
5290
+ "confirmDelete": {
5291
+ "title": "Bu hizmet silinsin mi?",
5292
+ "body": "\"{name}\" ve yüklenen sözleşme belgeleri bu kapsamdan kaldırılacak.",
5293
+ "bodyWorkspace": "\"{name}\" ve yüklenen sözleşme belgeleri bu panodan kaldırılacak. Hesapta aynı id ile bir servis kayıtlıysa, bu pano onu devralmayı da bırakacak; bunu \"Bu panoda devre dışı\" bölümünden geri alabilirsiniz.",
5294
+ "confirm": "Sil"
5295
+ },
5296
+ "toast": {
5297
+ "created": "Hizmet kaydedildi",
5298
+ "updated": "Hizmet güncellendi",
5299
+ "deleted": "Hizmet silindi",
5300
+ "saveFailed": "Hizmet kaydedilemedi",
5301
+ "deleteFailed": "Hizmet silinemedi",
5302
+ "suppressed": "Bu panodaki tasarımlardan gizlendi",
5303
+ "suppressFailed": "Hizmet gizlenemedi",
5304
+ "restored": "Bu panoda yeniden sunuluyor",
5305
+ "restoreFailed": "Hizmet geri getirilemedi",
5306
+ "contractsFailed": "Sözleşme belgeleri yüklenemedi",
5307
+ "sourceLinked": "Depo bağlandı ve eşitlendi",
5308
+ "linkSourceFailed": "Depo bağlanamadı",
5309
+ "synced": "Eşitlendi: {updated} güncellendi, {removed} kaldırıldı",
5310
+ "syncFailed": "Depo eşitlenemedi",
5311
+ "changesAvailable": "Kaynakta değişiklikler var",
5312
+ "upToDate": "Zaten güncel",
5313
+ "checkSourceFailed": "Depo denetlenemedi",
5314
+ "sourceUnlinked": "Deponun bağlantısı kaldırıldı",
5315
+ "unlinkSourceFailed": "Deponun bağlantısı kaldırılamadı"
5316
+ }
5317
+ },
5180
5318
  "sandbox": {
5181
5319
  "title": "Sandbox: prompt ve model testi",
5182
5320
  "description": "Prompt sürümlerini ve modelleri notlandırılmış fixture'lara karşı deneyin, bir hakem modeli tarafından puanlanır.",