@cat-factory/app 0.199.0 → 0.200.2

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 (39) 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/layout/AccountSkillSettings.vue +1 -1
  10. package/app/components/settings/AccountSettingsPanel.vue +17 -1
  11. package/app/components/skills/SkillLibraryManager.vue +1 -1
  12. package/app/composables/api/foundationalServices.ts +131 -0
  13. package/app/composables/api/skills.ts +1 -1
  14. package/app/composables/useApi.ts +2 -0
  15. package/app/composables/useNavContributions.ts +1 -0
  16. package/app/composables/usePipelineErrorToast.ts +8 -0
  17. package/app/modular/nav-contributions.spec.ts +6 -0
  18. package/app/modular/nav-contributions.ts +26 -0
  19. package/app/pages/index.vue +4 -0
  20. package/app/stores/foundationalServices.spec.ts +121 -0
  21. package/app/stores/foundationalServices.ts +276 -0
  22. package/app/stores/skillLibrary.ts +1 -1
  23. package/app/stores/skills.spec.ts +1 -1
  24. package/app/stores/skills.ts +1 -1
  25. package/app/stores/ui/modals.ts +12 -0
  26. package/app/types/domain.ts +1 -0
  27. package/app/types/foundationalServices.ts +32 -0
  28. package/app/types/skills.ts +1 -1
  29. package/i18n/locales/de.json +146 -6
  30. package/i18n/locales/en.json +146 -6
  31. package/i18n/locales/es.json +146 -6
  32. package/i18n/locales/fr.json +146 -6
  33. package/i18n/locales/he.json +146 -6
  34. package/i18n/locales/it.json +146 -6
  35. package/i18n/locales/ja.json +146 -6
  36. package/i18n/locales/pl.json +146 -6
  37. package/i18n/locales/tr.json +146 -6
  38. package/i18n/locales/uk.json +146 -6
  39. package/package.json +2 -2
@@ -51,7 +51,8 @@
51
51
  "tabs": {
52
52
  "team": "Team e accesso",
53
53
  "fragments": "Frammenti di contesto",
54
- "skills": "Competenze"
54
+ "skills": "Competenze",
55
+ "foundational": "Servizi fondamentali"
55
56
  }
56
57
  },
57
58
  "infrastructure": {
@@ -2141,7 +2142,8 @@
2141
2142
  "shortcuts": "Scorciatoie da tastiera",
2142
2143
  "bugHunt": "Caccia ai bug",
2143
2144
  "toggleUiMode": "Cambia modalità interfaccia",
2144
- "tutorial": "Fai un tour"
2145
+ "tutorial": "Fai un tour",
2146
+ "foundationalServices": "Servizi fondamentali"
2145
2147
  },
2146
2148
  "keywords": {
2147
2149
  "newPipeline": "pipeline agenti catena",
@@ -2164,7 +2166,8 @@
2164
2166
  "shortcuts": "scorciatoie da tastiera tasti hotkey cheatsheet aiuto",
2165
2167
  "bugHunt": "bug caccia triage backlog ticket non assegnati",
2166
2168
  "toggleUiMode": "interfaccia modalità base avanzata mostra nascondi",
2167
- "tutorial": "tutorial tour guida aiuto imparare introduzione"
2169
+ "tutorial": "tutorial tour guida aiuto imparare introduzione",
2170
+ "foundationalServices": "capacità condivisa piattaforma servizio api contratto openapi catalogo"
2168
2171
  }
2169
2172
  },
2170
2173
  "shortcuts": {
@@ -2324,6 +2327,9 @@
2324
2327
  "title": "Scegli un ambiente di test predefinito",
2325
2328
  "body": "Questa board non ha ancora stabilito come i suoi servizi ottengono un ambiente di test. Scegli un valore predefinito e ogni servizio che aggiungerai partirà con quello, invece di essere configurato uno alla volta. Potrai comunque cambiarlo per singolo servizio.",
2326
2329
  "action": "Scegli predefinito"
2330
+ },
2331
+ "accountFoundational": {
2332
+ "intro": "Le capacità condivise che questa organizzazione già gestisce - archiviazione file, notifiche, audit - con i loro contratti API. Ogni bacheca le eredita, e a un architetto viene detto di utilizzarle invece di proporre di ricostruirle."
2327
2333
  }
2328
2334
  },
2329
2335
  "board": {
@@ -4211,6 +4217,135 @@
4211
4217
  },
4212
4218
  "unavailable": "La libreria di frammenti di prompt non e abilitata per questo deployment."
4213
4219
  },
4220
+ "foundational": {
4221
+ "unavailable": "Il catalogo dei servizi fondamentali non è abilitato in questa installazione.",
4222
+ "owner": {
4223
+ "workspace": "Questa bacheca",
4224
+ "account": "Questo account"
4225
+ },
4226
+ "tab": {
4227
+ "catalog": "Catalogo",
4228
+ "sources": "Repo collegati"
4229
+ },
4230
+ "panel": {
4231
+ "title": "Servizi fondamentali",
4232
+ "subtitle": "Le capacità condivise che la tua organizzazione già gestisce, così che una progettazione le utilizzi invece di ricostruirle."
4233
+ },
4234
+ "tier": {
4235
+ "account": "Account",
4236
+ "workspace": "Bacheca"
4237
+ },
4238
+ "format": {
4239
+ "openapi": "OpenAPI",
4240
+ "toadContract": "toad-contracts",
4241
+ "lokaliseApiContract": "lokalise/api-contract"
4242
+ },
4243
+ "contracts": {
4244
+ "omitted": "+{count} non elencate",
4245
+ "none": "Nessun contratto API allegato. All'agente verrà detto che l'interfaccia è sconosciuta, invece di lasciargliela indovinare."
4246
+ },
4247
+ "catalog": {
4248
+ "intro": "Ciò che riceve un architetto che progetta su questa bacheca: identità, tag di capacità e nomi delle operazioni. I documenti di contratto vengono letti solo quando una progettazione dichiara il servizio.",
4249
+ "empty": "Ancora nessun servizio fondamentale. Registrane uno qui sotto, o collega un repository che li descriva.",
4250
+ "suppress": "Non proporre questo servizio su questa bacheca",
4251
+ "showDocuments": "Mostra i documenti di contratto",
4252
+ "hideDocuments": "Nascondi i documenti di contratto"
4253
+ },
4254
+ "suppressions": {
4255
+ "title": "Esclusi su questa bacheca",
4256
+ "intro": "Questi servizi dell'account sono nascosti alle progettazioni di questa bacheca. Nulla è stato eliminato e l'account li mantiene per tutte le altre bacheche.",
4257
+ "restore": "Proponi di nuovo",
4258
+ "shadowsNothing": "Al momento non si eredita nulla con questo id, quindi questa esclusione non nasconde nulla."
4259
+ },
4260
+ "registry": {
4261
+ "empty": "Non è ancora registrato nulla a questo livello.",
4262
+ "add": "Registra un servizio",
4263
+ "addTitle": "Registra un servizio fondamentale",
4264
+ "editTitle": "Modifica il servizio fondamentale",
4265
+ "edit": "Modifica",
4266
+ "delete": "Elimina",
4267
+ "save": "Salva",
4268
+ "cancel": "Annulla",
4269
+ "fromSource": "Sincronizzato da un repository collegato ({path}). Modificalo nel repository; la prossima sincronizzazione sovrascrive le modifiche fatte qui.",
4270
+ "idFixed": "l'id che un architetto scrive nella sua progettazione, fisso una volta registrato",
4271
+ "idPlaceholder": "id (minuscolo con trattini, es. file-storage)",
4272
+ "namePlaceholder": "nome (es. File Storage)",
4273
+ "summaryPlaceholder": "riepilogo di una riga: a cosa serve",
4274
+ "descriptionPlaceholder": "cosa fa, quando usarlo e cosa NON copre",
4275
+ "capabilitiesPlaceholder": "tag di capacità separati da virgole (es. file-storage, cdn)",
4276
+ "contractsTitle": "Contratti API",
4277
+ "contractsKeep": "Lascia invariato per conservare i documenti memorizzati.",
4278
+ "contractsReplace": "Il salvataggio SOSTITUISCE l'intero insieme memorizzato con quanto elencato qui.",
4279
+ "addContract": "Aggiungi un contratto",
4280
+ "removeContract": "Rimuovi questo contratto",
4281
+ "contractIdPlaceholder": "id contratto (minuscolo con trattini, es. openapi)",
4282
+ "contractTitlePlaceholder": "titolo (es. HTTP API)",
4283
+ "contractBodyPlaceholder": "incolla il documento: un file OpenAPI 3.x, o il sorgente di un modulo di contratto"
4284
+ },
4285
+ "sources": {
4286
+ "empty": "Nessun repository collegato. Collegane uno qui sotto per sincronizzare le definizioni dei servizi e i loro file di contratto.",
4287
+ "linkTitle": "Collega un repository",
4288
+ "link": "Collega e sincronizza",
4289
+ "metaSynced": "sincronizzato {date} · ref {ref}",
4290
+ "metaNever": "mai sincronizzato · ref {ref}",
4291
+ "metaFiles": "{service} · {count} file di contratto",
4292
+ "metaDirectory": "un servizio per sottocartella",
4293
+ "changes": "Modifiche",
4294
+ "check": "Cerca modifiche",
4295
+ "sync": "Risincronizza",
4296
+ "unlink": "Scollega",
4297
+ "selectedDir": "Cartella:",
4298
+ "selectedFiles": "File scelti: {count}",
4299
+ "wholeRepo": "Intero repository (radice).",
4300
+ "ownerPlaceholder": "proprietario",
4301
+ "repoPlaceholder": "repo",
4302
+ "dirPlaceholder": "percorso cartella (es. foundational)",
4303
+ "filePathsPlaceholder": "percorsi dei file di contratto, uno per riga",
4304
+ "refPlaceholder": "ref (predefinito HEAD)",
4305
+ "githubRequired": "Collegare un repository richiede l'integrazione di controllo del codice. Collegala prima su una bacheca.",
4306
+ "serviceIdPlaceholder": "id del servizio (minuscolo con trattini)",
4307
+ "serviceNamePlaceholder": "nome del servizio",
4308
+ "serviceSummaryPlaceholder": "riepilogo di una riga (facoltativo)",
4309
+ "mode": {
4310
+ "directory": "Una cartella di servizi",
4311
+ "files": "File specifici, un solo servizio",
4312
+ "directoryHint": "Ogni sottocartella del percorso collegato è un servizio, descritto da un service.md con accanto i suoi file di contratto.",
4313
+ "filesHint": "I file elencati descrivono tutti l'unico servizio che indichi qui. Usalo quando non c'è una convenzione di cartelle da adottare."
4314
+ }
4315
+ },
4316
+ "confirmUnlinkSource": {
4317
+ "title": "Scollegare questo repository?",
4318
+ "body": "\"{repo}\" e i servizi che ha sincronizzato saranno rimossi dal catalogo. Potrai ricollegarlo in seguito.",
4319
+ "confirm": "Scollega"
4320
+ },
4321
+ "confirmDelete": {
4322
+ "title": "Eliminare questo servizio?",
4323
+ "body": "\"{name}\" e i suoi documenti di contratto caricati saranno rimossi da questo ambito.",
4324
+ "bodyWorkspace": "\"{name}\" e i suoi documenti di contratto caricati saranno rimossi da questa bacheca. Se l'account registra un servizio con lo stesso id, anche questa bacheca smetterà di ereditarlo; puoi annullarlo in \"Esclusi su questa bacheca\".",
4325
+ "confirm": "Elimina"
4326
+ },
4327
+ "toast": {
4328
+ "created": "Servizio registrato",
4329
+ "updated": "Servizio aggiornato",
4330
+ "deleted": "Servizio eliminato",
4331
+ "saveFailed": "Impossibile salvare il servizio",
4332
+ "deleteFailed": "Impossibile eliminare il servizio",
4333
+ "suppressed": "Nascosto alle progettazioni di questa bacheca",
4334
+ "suppressFailed": "Impossibile nascondere il servizio",
4335
+ "restored": "Di nuovo proposto su questa bacheca",
4336
+ "restoreFailed": "Impossibile ripristinare il servizio",
4337
+ "contractsFailed": "Impossibile caricare i documenti di contratto",
4338
+ "sourceLinked": "Repository collegato e sincronizzato",
4339
+ "linkSourceFailed": "Impossibile collegare il repository",
4340
+ "synced": "Sincronizzato: {updated} aggiornati, {removed} rimossi",
4341
+ "syncFailed": "Impossibile sincronizzare il repository",
4342
+ "changesAvailable": "Sono disponibili modifiche a monte",
4343
+ "upToDate": "Già aggiornato",
4344
+ "checkSourceFailed": "Impossibile controllare il repository",
4345
+ "sourceUnlinked": "Repository scollegato",
4346
+ "unlinkSourceFailed": "Impossibile scollegare il repository"
4347
+ }
4348
+ },
4214
4349
  "brainstorm": {
4215
4350
  "title": {
4216
4351
  "architecture": "Brainstorm sull'architettura",
@@ -4649,7 +4784,8 @@
4649
4784
  "modelConfiguration": "Configurazione del modello",
4650
4785
  "accountSettings": "Impostazioni dell'account",
4651
4786
  "operatorDashboard": "Osservabilità della piattaforma",
4652
- "reports": "Report"
4787
+ "reports": "Report",
4788
+ "foundationalServices": "Servizi fondamentali"
4653
4789
  },
4654
4790
  "errors": {
4655
4791
  "generic": {
@@ -4718,7 +4854,9 @@
4718
4854
  "pipeline_schedule_attached": "Una pianificazione ricorrente usa questa pipeline",
4719
4855
  "pipeline_schedule_requires_recurring": "Una pianificazione ricorrente richiede questa pipeline",
4720
4856
  "pipeline_schedule_intake_unconfigured": "La pianificazione non ha raccolta ticket",
4721
- "foundational_service_exists": "Il servizio fondamentale esiste già"
4857
+ "foundational_service_exists": "Il servizio fondamentale esiste già",
4858
+ "binary_output_service_invalid": "Impossibile risolvere il servizio per gli output binari",
4859
+ "foundational_service_not_inherited": "Questa bacheca ha registrato quel servizio"
4722
4860
  },
4723
4861
  "description": {
4724
4862
  "dependencies_unmet": "Questa attività dipende da altre non ancora completate. Completale o sbloccale, poi avviala di nuovo.",
@@ -4747,7 +4885,9 @@
4747
4885
  "pipeline_schedule_attached": "Una pianificazione ricorrente punta ancora a questa pipeline e ogni esecuzione che avvia la risolve tramite id. Scollega o elimina prima quella pianificazione, poi rimuovi la pipeline.",
4748
4886
  "pipeline_schedule_requires_recurring": "Una pianificazione ricorrente punta ancora a questa pipeline, quindi renderla solo una tantum interromperebbe ogni esecuzione futura. Scollega prima quella pianificazione.",
4749
4887
  "pipeline_schedule_intake_unconfigured": "Un passo di raccolta bug prende il lavoro dalle impostazioni di raccolta ticket della pianificazione, e la pianificazione collegata non le ha. Configura prima la raccolta ticket sulla pianificazione.",
4750
- "foundational_service_exists": "Un servizio fondamentale con questo identificatore è già registrato in questo ambito. Apri la voce esistente e modificala: due servizi non possono condividere un identificatore, perché è il nome che un architetto indica nella sua progettazione."
4888
+ "foundational_service_exists": "Un servizio fondamentale con questo identificatore è già registrato in questo ambito. Apri la voce esistente e modificala: due servizi non possono condividere un identificatore, perché è il nome che un architetto indica nella sua progettazione.",
4889
+ "binary_output_service_invalid": "Un passaggio che genera output binari seleziona un servizio fondamentale che il catalogo di questo workspace non riesce a risolvere: l'identificatore è sconosciuto, oppure il servizio di archiviazione scelto non ha la capacità asset-storage. Correggi la selezione del passaggio o registra il servizio, poi riavvia.",
4890
+ "foundational_service_not_inherited": "L'esclusione vale per un servizio ereditato dall'account. Questo id è registrato da questa bacheca, quindi non c'è nulla da escludere: elimina invece la voce propria della bacheca."
4751
4891
  },
4752
4892
  "action": {
4753
4893
  "connectGitHub": "Collega GitHub",
@@ -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,9 @@
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
+ "binary_output_service_invalid": "バイナリ出力用のサービスを解決できません",
550
+ "foundational_service_not_inherited": "このボードが登録したサービスです"
548
551
  },
549
552
  "description": {
550
553
  "dependencies_unmet": "このタスクは、まだ完了していない他のタスクに依存しています。それらを完了または解除してから、もう一度開始してください。",
@@ -573,7 +576,9 @@
573
576
  "pipeline_schedule_attached": "定期スケジュールがまだこのパイプラインを参照しており、開始する実行はすべて ID でパイプラインを解決します。先にそのスケジュールを解除または削除してから、パイプラインを削除してください。",
574
577
  "pipeline_schedule_requires_recurring": "定期スケジュールがまだこのパイプラインを参照しているため、単発専用にすると今後の実行がすべて失敗します。先にそのスケジュールを解除してください。",
575
578
  "pipeline_schedule_intake_unconfigured": "バグ取り込みステップはスケジュールの課題取り込み設定から作業を取得しますが、関連付けられたスケジュールにその設定がありません。先にスケジュールで課題取り込みを設定してください。",
576
- "foundational_service_exists": "この ID の基盤サービスはこのスコープにすでに登録されています。既存のエントリを開いて編集してください。ID は設計でアーキテクトが指定する名前なので、2 つのサービスが同じ ID を共有することはできません。"
579
+ "foundational_service_exists": "この ID の基盤サービスはこのスコープにすでに登録されています。既存のエントリを開いて編集してください。ID は設計でアーキテクトが指定する名前なので、2 つのサービスが同じ ID を共有することはできません。",
580
+ "binary_output_service_invalid": "バイナリ出力を生成するステップが、このワークスペースのカタログでは解決できない基盤サービスを選択しています。ID が不明か、選択した保存先サービスに asset-storage ケイパビリティがありません。ステップの選択を修正するかサービスを登録して、もう一度開始してください。",
581
+ "foundational_service_not_inherited": "除外はアカウントから継承したサービスに対する操作です。この ID はこのボード自身が登録しているため、除外するものがありません。代わりにボード自身のエントリを削除してください。"
577
582
  },
578
583
  "action": {
579
584
  "connectGitHub": "GitHub に接続",
@@ -2077,7 +2082,8 @@
2077
2082
  "shortcuts": "キーボードショートカット",
2078
2083
  "bugHunt": "バグハント",
2079
2084
  "toggleUiMode": "インターフェースモードを切り替え",
2080
- "tutorial": "ツアーを開始"
2085
+ "tutorial": "ツアーを開始",
2086
+ "foundationalServices": "基盤サービス"
2081
2087
  },
2082
2088
  "keywords": {
2083
2089
  "newPipeline": "pipeline agents chain パイプライン エージェント チェーン",
@@ -2100,7 +2106,8 @@
2100
2106
  "shortcuts": "キーボード ショートカット キー ヘルプ",
2101
2107
  "bugHunt": "bug バグ ハント トリアージ バックログ 課題 未割り当て",
2102
2108
  "toggleUiMode": "インターフェース モード 基本 詳細 表示 非表示",
2103
- "tutorial": "チュートリアル ツアー ガイド ヘルプ 使い方 オンボーディング"
2109
+ "tutorial": "チュートリアル ツアー ガイド ヘルプ 使い方 オンボーディング",
2110
+ "foundationalServices": "共通機能 プラットフォーム サービス api コントラクト openapi カタログ"
2104
2111
  }
2105
2112
  },
2106
2113
  "integrationsHub": {
@@ -2260,6 +2267,9 @@
2260
2267
  "title": "既定のテスト環境を選択してください",
2261
2268
  "body": "このボードでは、サービスがテスト環境をどのように用意するかがまだ決まっていません。既定を選ぶと、以降に追加するサービスは個別に設定しなくてもその設定で始まります。サービスごとの変更も引き続き可能です。",
2262
2269
  "action": "既定を選択"
2270
+ },
2271
+ "accountFoundational": {
2272
+ "intro": "この組織がすでに運用している共通機能 - ファイルストレージ、通知、監査 - とその API コントラクト。すべてのボードがこれらを継承し、アーキテクトには作り直しを提案せず利用するよう指示されます。"
2263
2273
  }
2264
2274
  },
2265
2275
  "settings": {
@@ -2314,7 +2324,8 @@
2314
2324
  "tabs": {
2315
2325
  "team": "チームとアクセス",
2316
2326
  "fragments": "コンテキストフラグメント",
2317
- "skills": "スキル"
2327
+ "skills": "スキル",
2328
+ "foundational": "基盤サービス"
2318
2329
  }
2319
2330
  },
2320
2331
  "infrastructure": {
@@ -5177,6 +5188,135 @@
5177
5188
  },
5178
5189
  "unavailable": "このデプロイではプロンプトフラグメントライブラリが有効になっていません。"
5179
5190
  },
5191
+ "foundational": {
5192
+ "unavailable": "基盤サービスのカタログはこのデプロイでは有効になっていません。",
5193
+ "owner": {
5194
+ "workspace": "このボード",
5195
+ "account": "このアカウント"
5196
+ },
5197
+ "tab": {
5198
+ "catalog": "カタログ",
5199
+ "sources": "リポジトリ連携"
5200
+ },
5201
+ "panel": {
5202
+ "title": "基盤サービス",
5203
+ "subtitle": "組織がすでに運用している共通機能。設計がこれらを作り直さずに利用できるようにします。"
5204
+ },
5205
+ "tier": {
5206
+ "account": "アカウント",
5207
+ "workspace": "ボード"
5208
+ },
5209
+ "format": {
5210
+ "openapi": "OpenAPI",
5211
+ "toadContract": "toad-contracts",
5212
+ "lokaliseApiContract": "lokalise/api-contract"
5213
+ },
5214
+ "contracts": {
5215
+ "omitted": "他 {count} 件は未掲載",
5216
+ "none": "API コントラクトが添付されていません。エージェントには、インターフェースが不明であることが伝えられます(推測はさせません)。"
5217
+ },
5218
+ "catalog": {
5219
+ "intro": "このボードで設計するアーキテクトに渡される内容です。識別情報、機能タグ、オペレーション名のみで、コントラクト文書は設計がそのサービスを宣言したときにだけ読み込まれます。",
5220
+ "empty": "基盤サービスはまだありません。下で登録するか、それらを記述したリポジトリを連携してください。",
5221
+ "suppress": "このボードではこのサービスを提示しない",
5222
+ "showDocuments": "コントラクト文書を表示",
5223
+ "hideDocuments": "コントラクト文書を隠す"
5224
+ },
5225
+ "suppressions": {
5226
+ "title": "このボードで除外中",
5227
+ "intro": "これらのアカウントのサービスは、このボードの設計から隠されています。削除はされておらず、他のボードではそのまま利用されます。",
5228
+ "restore": "再び提示する",
5229
+ "shadowsNothing": "現在この ID で継承されているものはないため、この除外は何も隠していません。"
5230
+ },
5231
+ "registry": {
5232
+ "empty": "このスコープにはまだ何も登録されていません。",
5233
+ "add": "サービスを登録",
5234
+ "addTitle": "基盤サービスを登録",
5235
+ "editTitle": "基盤サービスを編集",
5236
+ "edit": "編集",
5237
+ "delete": "削除",
5238
+ "save": "保存",
5239
+ "cancel": "キャンセル",
5240
+ "fromSource": "連携リポジトリから同期されています({path})。リポジトリ側で編集してください。ここでの変更は次回の同期で上書きされます。",
5241
+ "idFixed": "アーキテクトが設計に書く ID。登録後は変更できません",
5242
+ "idPlaceholder": "ID(小文字とハイフン。例: file-storage)",
5243
+ "namePlaceholder": "名前(例: File Storage)",
5244
+ "summaryPlaceholder": "1 行の要約 - 何のためのものか",
5245
+ "descriptionPlaceholder": "何をするか、いつ使うか、何を対象としないか",
5246
+ "capabilitiesPlaceholder": "機能タグ(カンマ区切り。例: file-storage, cdn)",
5247
+ "contractsTitle": "API コントラクト",
5248
+ "contractsKeep": "保存済みの文書を維持する場合は、ここに触れないでください。",
5249
+ "contractsReplace": "保存すると、保存済みの一式がここに並ぶ内容で置き換えられます。",
5250
+ "addContract": "コントラクトを追加",
5251
+ "removeContract": "このコントラクトを削除",
5252
+ "contractIdPlaceholder": "コントラクト ID(小文字とハイフン。例: openapi)",
5253
+ "contractTitlePlaceholder": "タイトル(例: HTTP API)",
5254
+ "contractBodyPlaceholder": "文書を貼り付け: OpenAPI 3.x ファイル、またはコントラクトモジュールのソース"
5255
+ },
5256
+ "sources": {
5257
+ "empty": "連携リポジトリはありません。下で連携すると、サービス定義とコントラクトファイルが同期されます。",
5258
+ "linkTitle": "リポジトリを連携",
5259
+ "link": "連携して同期",
5260
+ "metaSynced": "同期日時 {date} · ref {ref}",
5261
+ "metaNever": "未同期 · ref {ref}",
5262
+ "metaFiles": "{service} · コントラクトファイル {count} 件",
5263
+ "metaDirectory": "サブディレクトリごとに 1 サービス",
5264
+ "changes": "変更あり",
5265
+ "check": "変更を確認",
5266
+ "sync": "再同期",
5267
+ "unlink": "連携解除",
5268
+ "selectedDir": "ディレクトリ:",
5269
+ "selectedFiles": "選択したファイル: {count}",
5270
+ "wholeRepo": "リポジトリ全体(ルート)。",
5271
+ "ownerPlaceholder": "オーナー",
5272
+ "repoPlaceholder": "リポジトリ",
5273
+ "dirPlaceholder": "ディレクトリのパス(例: foundational)",
5274
+ "filePathsPlaceholder": "コントラクトファイルのパス(1 行に 1 つ)",
5275
+ "refPlaceholder": "ref(既定は HEAD)",
5276
+ "githubRequired": "リポジトリの連携にはソース管理の連携が必要です。まずいずれかのボードで接続してください。",
5277
+ "serviceIdPlaceholder": "サービス ID(小文字とハイフン)",
5278
+ "serviceNamePlaceholder": "サービス名",
5279
+ "serviceSummaryPlaceholder": "1 行の要約(任意)",
5280
+ "mode": {
5281
+ "directory": "サービスをまとめたフォルダ",
5282
+ "files": "特定のファイル、1 サービス",
5283
+ "directoryHint": "連携したパスの各サブディレクトリが 1 つのサービスで、service.md で説明され、その横にコントラクトファイルが置かれます。",
5284
+ "filesHint": "列挙したファイルはすべて、ここで指定する 1 つのサービスを説明します。従うべきフォルダ規約がない場合に使います。"
5285
+ }
5286
+ },
5287
+ "confirmUnlinkSource": {
5288
+ "title": "このリポジトリの連携を解除しますか?",
5289
+ "body": "「{repo}」と、そこから同期されたサービスがカタログから削除されます。あとで再度連携できます。",
5290
+ "confirm": "連携解除"
5291
+ },
5292
+ "confirmDelete": {
5293
+ "title": "このサービスを削除しますか?",
5294
+ "body": "「{name}」とアップロード済みのコントラクト文書が、このスコープから削除されます。",
5295
+ "bodyWorkspace": "「{name}」とアップロード済みのコントラクト文書が、このボードから削除されます。同じ id のサービスがアカウントに登録されている場合、このボードはそれの継承も停止します。「このボードで除外中」から元に戻せます。",
5296
+ "confirm": "削除"
5297
+ },
5298
+ "toast": {
5299
+ "created": "サービスを登録しました",
5300
+ "updated": "サービスを更新しました",
5301
+ "deleted": "サービスを削除しました",
5302
+ "saveFailed": "サービスを保存できませんでした",
5303
+ "deleteFailed": "サービスを削除できませんでした",
5304
+ "suppressed": "このボードの設計から隠しました",
5305
+ "suppressFailed": "サービスを隠せませんでした",
5306
+ "restored": "このボードで再び提示されます",
5307
+ "restoreFailed": "サービスを元に戻せませんでした",
5308
+ "contractsFailed": "コントラクト文書を読み込めませんでした",
5309
+ "sourceLinked": "リポジトリを連携して同期しました",
5310
+ "linkSourceFailed": "リポジトリを連携できませんでした",
5311
+ "synced": "同期完了: {updated} 件更新、{removed} 件削除",
5312
+ "syncFailed": "リポジトリを同期できませんでした",
5313
+ "changesAvailable": "上流に変更があります",
5314
+ "upToDate": "すでに最新です",
5315
+ "checkSourceFailed": "リポジトリを確認できませんでした",
5316
+ "sourceUnlinked": "リポジトリの連携を解除しました",
5317
+ "unlinkSourceFailed": "リポジトリの連携を解除できませんでした"
5318
+ }
5319
+ },
5180
5320
  "sandbox": {
5181
5321
  "title": "Sandbox: プロンプトとモデルのテスト",
5182
5322
  "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,9 @@
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
+ "binary_output_service_invalid": "Nie można rozpoznać usługi dla wyników binarnych",
550
+ "foundational_service_not_inherited": "Ta tablica zarejestrowała tę usługę"
548
551
  },
549
552
  "description": {
550
553
  "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 +576,9 @@
573
576
  "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
577
  "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
578
  "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."
579
+ "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.",
580
+ "binary_output_service_invalid": "Krok generujący wyniki binarne wybiera usługę fundamentalną, której katalog tego obszaru roboczego nie może rozpoznać: identyfikator jest nieznany albo wybrana usługa przechowywania nie ma zdolności asset-storage. Popraw wybór w kroku lub zarejestruj usługę, a następnie uruchom ponownie.",
581
+ "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
582
  },
578
583
  "action": {
579
584
  "connectGitHub": "Połącz GitHub",
@@ -2077,7 +2082,8 @@
2077
2082
  "shortcuts": "Skróty klawiszowe",
2078
2083
  "bugHunt": "Polowanie na błędy",
2079
2084
  "toggleUiMode": "Zmień tryb interfejsu",
2080
- "tutorial": "Rozpocznij przewodnik"
2085
+ "tutorial": "Rozpocznij przewodnik",
2086
+ "foundationalServices": "Usługi fundamentalne"
2081
2087
  },
2082
2088
  "keywords": {
2083
2089
  "newPipeline": "potok agenci łańcuch pipeline",
@@ -2100,7 +2106,8 @@
2100
2106
  "shortcuts": "skróty klawiatura klawisze pomoc",
2101
2107
  "bugHunt": "błąd bug polowanie triage zaległości zgłoszenia nieprzypisane",
2102
2108
  "toggleUiMode": "interfejs tryb podstawowy zaawansowany pokaż ukryj",
2103
- "tutorial": "samouczek przewodnik pomoc nauka wprowadzenie"
2109
+ "tutorial": "samouczek przewodnik pomoc nauka wprowadzenie",
2110
+ "foundationalServices": "wspólna możliwość platforma usługa api kontrakt openapi katalog"
2104
2111
  }
2105
2112
  },
2106
2113
  "integrationsHub": {
@@ -2260,6 +2267,9 @@
2260
2267
  "title": "Wybierz domyślne środowisko testowe",
2261
2268
  "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
2269
  "action": "Wybierz domyślne"
2270
+ },
2271
+ "accountFoundational": {
2272
+ "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
2273
  }
2264
2274
  },
2265
2275
  "settings": {
@@ -2314,7 +2324,8 @@
2314
2324
  "tabs": {
2315
2325
  "team": "Zespół i dostęp",
2316
2326
  "fragments": "Fragmenty kontekstu",
2317
- "skills": "Umiejętności"
2327
+ "skills": "Umiejętności",
2328
+ "foundational": "Usługi fundamentalne"
2318
2329
  }
2319
2330
  },
2320
2331
  "providerConnection": {
@@ -5165,6 +5176,135 @@
5165
5176
  },
5166
5177
  "unavailable": "Biblioteka fragmentów promptów nie jest włączona w tym wdrożeniu."
5167
5178
  },
5179
+ "foundational": {
5180
+ "unavailable": "Katalog usług fundamentalnych nie jest włączony w tym wdrożeniu.",
5181
+ "owner": {
5182
+ "workspace": "Ta tablica",
5183
+ "account": "To konto"
5184
+ },
5185
+ "tab": {
5186
+ "catalog": "Katalog",
5187
+ "sources": "Powiązane repozytoria"
5188
+ },
5189
+ "panel": {
5190
+ "title": "Usługi fundamentalne",
5191
+ "subtitle": "Wspólne możliwości, które Twoja organizacja już utrzymuje, aby projekt z nich korzystał zamiast budować je od nowa."
5192
+ },
5193
+ "tier": {
5194
+ "account": "Konto",
5195
+ "workspace": "Tablica"
5196
+ },
5197
+ "format": {
5198
+ "openapi": "OpenAPI",
5199
+ "toadContract": "toad-contracts",
5200
+ "lokaliseApiContract": "lokalise/api-contract"
5201
+ },
5202
+ "contracts": {
5203
+ "omitted": "+{count} więcej, niewymienionych",
5204
+ "none": "Nie dołączono kontraktu API. Agent zostanie poinformowany, że interfejs jest nieznany, zamiast go zgadywać."
5205
+ },
5206
+ "catalog": {
5207
+ "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ę.",
5208
+ "empty": "Brak usług fundamentalnych. Zarejestruj jedną poniżej albo powiąż repozytorium, które je opisuje.",
5209
+ "suppress": "Nie proponuj tej usługi na tej tablicy",
5210
+ "showDocuments": "Pokaż dokumenty kontraktów",
5211
+ "hideDocuments": "Ukryj dokumenty kontraktów"
5212
+ },
5213
+ "suppressions": {
5214
+ "title": "Wyłączone na tej tablicy",
5215
+ "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.",
5216
+ "restore": "Proponuj ponownie",
5217
+ "shadowsNothing": "Pod tym identyfikatorem nic obecnie nie jest dziedziczone, więc to wyłączenie niczego teraz nie ukrywa."
5218
+ },
5219
+ "registry": {
5220
+ "empty": "W tym zakresie nic jeszcze nie zarejestrowano.",
5221
+ "add": "Zarejestruj usługę",
5222
+ "addTitle": "Zarejestruj usługę fundamentalną",
5223
+ "editTitle": "Edytuj usługę fundamentalną",
5224
+ "edit": "Edytuj",
5225
+ "delete": "Usuń",
5226
+ "save": "Zapisz",
5227
+ "cancel": "Anuluj",
5228
+ "fromSource": "Zsynchronizowane z powiązanego repozytorium ({path}). Edytuj je w repozytorium; następna synchronizacja nadpisze zmiany wprowadzone tutaj.",
5229
+ "idFixed": "identyfikator, który architekt zapisuje w projekcie - po rejestracji już niezmienny",
5230
+ "idPlaceholder": "identyfikator (małe litery i myślniki, np. file-storage)",
5231
+ "namePlaceholder": "nazwa (np. File Storage)",
5232
+ "summaryPlaceholder": "jednozdaniowe streszczenie - do czego służy",
5233
+ "descriptionPlaceholder": "co robi, kiedy jej używać i czego NIE obejmuje",
5234
+ "capabilitiesPlaceholder": "znaczniki możliwości, oddzielone przecinkami (np. file-storage, cdn)",
5235
+ "contractsTitle": "Kontrakty API",
5236
+ "contractsKeep": "Zostaw bez zmian, aby zachować zapisane dokumenty.",
5237
+ "contractsReplace": "Zapis ZASTĄPI cały zapisany zestaw tym, co jest wymienione tutaj.",
5238
+ "addContract": "Dodaj kontrakt",
5239
+ "removeContract": "Usuń ten kontrakt",
5240
+ "contractIdPlaceholder": "identyfikator kontraktu (małe litery i myślniki, np. openapi)",
5241
+ "contractTitlePlaceholder": "tytuł (np. HTTP API)",
5242
+ "contractBodyPlaceholder": "wklej dokument: plik OpenAPI 3.x albo źródło modułu kontraktu"
5243
+ },
5244
+ "sources": {
5245
+ "empty": "Brak powiązanych repozytoriów. Powiąż jedno poniżej, aby synchronizować definicje usług i ich pliki kontraktów.",
5246
+ "linkTitle": "Powiąż repozytorium",
5247
+ "link": "Powiąż i zsynchronizuj",
5248
+ "metaSynced": "zsynchronizowano {date} · ref {ref}",
5249
+ "metaNever": "nigdy nie synchronizowano · ref {ref}",
5250
+ "metaFiles": "{service} · {count} plików kontraktów",
5251
+ "metaDirectory": "jedna usługa na podkatalog",
5252
+ "changes": "Zmiany",
5253
+ "check": "Sprawdź zmiany",
5254
+ "sync": "Zsynchronizuj ponownie",
5255
+ "unlink": "Odłącz",
5256
+ "selectedDir": "Katalog:",
5257
+ "selectedFiles": "Wybrane pliki: {count}",
5258
+ "wholeRepo": "Całe repozytorium (katalog główny).",
5259
+ "ownerPlaceholder": "właściciel",
5260
+ "repoPlaceholder": "repozytorium",
5261
+ "dirPlaceholder": "ścieżka katalogu (np. foundational)",
5262
+ "filePathsPlaceholder": "ścieżki plików kontraktów, po jednej w wierszu",
5263
+ "refPlaceholder": "ref (domyślnie HEAD)",
5264
+ "githubRequired": "Powiązanie repozytorium wymaga integracji z systemem kontroli wersji. Podłącz ją najpierw na tablicy.",
5265
+ "serviceIdPlaceholder": "identyfikator usługi (małe litery i myślniki)",
5266
+ "serviceNamePlaceholder": "nazwa usługi",
5267
+ "serviceSummaryPlaceholder": "jednozdaniowe streszczenie (opcjonalne)",
5268
+ "mode": {
5269
+ "directory": "Katalog z usługami",
5270
+ "files": "Wybrane pliki, jedna usługa",
5271
+ "directoryHint": "Każdy podkatalog powiązanej ścieżki to jedna usługa, opisana plikiem service.md, obok którego leżą jej pliki kontraktów.",
5272
+ "filesHint": "Wymienione pliki opisują tę jedną usługę, którą tu nazywasz. Użyj tego, gdy nie ma konwencji katalogów do przyjęcia."
5273
+ }
5274
+ },
5275
+ "confirmUnlinkSource": {
5276
+ "title": "Odłączyć to repozytorium?",
5277
+ "body": "\"{repo}\" i usługi z niego zsynchronizowane zostaną usunięte z katalogu. Możesz powiązać je ponownie później.",
5278
+ "confirm": "Odłącz"
5279
+ },
5280
+ "confirmDelete": {
5281
+ "title": "Usunąć tę usługę?",
5282
+ "body": "\"{name}\" i przesłane dla niej dokumenty kontraktów zostaną usunięte z tego zakresu.",
5283
+ "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\".",
5284
+ "confirm": "Usuń"
5285
+ },
5286
+ "toast": {
5287
+ "created": "Usługa zarejestrowana",
5288
+ "updated": "Usługa zaktualizowana",
5289
+ "deleted": "Usługa usunięta",
5290
+ "saveFailed": "Nie udało się zapisać usługi",
5291
+ "deleteFailed": "Nie udało się usunąć usługi",
5292
+ "suppressed": "Ukryto przed projektami na tej tablicy",
5293
+ "suppressFailed": "Nie udało się ukryć usługi",
5294
+ "restored": "Ponownie proponowana na tej tablicy",
5295
+ "restoreFailed": "Nie udało się przywrócić usługi",
5296
+ "contractsFailed": "Nie udało się wczytać dokumentów kontraktów",
5297
+ "sourceLinked": "Repozytorium powiązane i zsynchronizowane",
5298
+ "linkSourceFailed": "Nie udało się powiązać repozytorium",
5299
+ "synced": "Zsynchronizowano: {updated} zaktualizowanych, {removed} usuniętych",
5300
+ "syncFailed": "Nie udało się zsynchronizować repozytorium",
5301
+ "changesAvailable": "W źródle są zmiany",
5302
+ "upToDate": "Już aktualne",
5303
+ "checkSourceFailed": "Nie udało się sprawdzić repozytorium",
5304
+ "sourceUnlinked": "Repozytorium odłączone",
5305
+ "unlinkSourceFailed": "Nie udało się odłączyć repozytorium"
5306
+ }
5307
+ },
5168
5308
  "sandbox": {
5169
5309
  "title": "Piaskownica: testowanie promptów i modeli",
5170
5310
  "description": "Testuj wersje promptów i modele na ocenianych fixture'ach, oceniane przez model sędziujący.",