@cat-factory/app 0.198.1 → 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 (46) hide show
  1. package/README.md +6 -1
  2. package/app/components/foundational/FoundationalContractSummary.vue +36 -0
  3. package/app/components/foundational/FoundationalServiceCatalogList.vue +170 -0
  4. package/app/components/foundational/FoundationalServiceManager.vue +111 -0
  5. package/app/components/foundational/FoundationalServicePanel.vue +37 -0
  6. package/app/components/foundational/FoundationalServiceRegistry.vue +339 -0
  7. package/app/components/foundational/FoundationalServiceSources.vue +398 -0
  8. package/app/components/foundational/FoundationalSuppressions.vue +75 -0
  9. package/app/components/layout/AccountFoundationalSettings.vue +25 -0
  10. package/app/components/layout/BoardToolbar.vue +1 -1
  11. package/app/components/layout/CommandBar.vue +8 -2
  12. package/app/components/layout/SideBar.vue +24 -3
  13. package/app/components/settings/AccountSettingsPanel.vue +17 -1
  14. package/app/components/settings/WorkspaceMetadataSettings.vue +151 -0
  15. package/app/components/settings/WorkspaceSettingsPanel.vue +27 -0
  16. package/app/composables/api/foundationalServices.ts +131 -0
  17. package/app/composables/useApi.ts +2 -0
  18. package/app/composables/useNavContributions.ts +92 -1
  19. package/app/composables/usePipelineErrorToast.ts +4 -0
  20. package/app/docs/consumer-extensions.md +76 -10
  21. package/app/modular/external-tools.spec.ts +281 -0
  22. package/app/modular/external-tools.ts +265 -0
  23. package/app/modular/nav-contributions.spec.ts +38 -14
  24. package/app/modular/nav-contributions.ts +58 -1
  25. package/app/modular/registry.ts +2 -0
  26. package/app/modular/slots.ts +15 -0
  27. package/app/modular/workspace-metadata.spec.ts +160 -0
  28. package/app/modular/workspace-metadata.ts +173 -0
  29. package/app/pages/index.vue +4 -0
  30. package/app/stores/foundationalServices.spec.ts +121 -0
  31. package/app/stores/foundationalServices.ts +276 -0
  32. package/app/stores/ui/modals.ts +12 -0
  33. package/app/stores/workspaceSettings.ts +3 -0
  34. package/app/types/domain.ts +2 -0
  35. package/app/types/foundationalServices.ts +32 -0
  36. package/i18n/locales/de.json +162 -6
  37. package/i18n/locales/en.json +162 -6
  38. package/i18n/locales/es.json +162 -6
  39. package/i18n/locales/fr.json +162 -6
  40. package/i18n/locales/he.json +162 -6
  41. package/i18n/locales/it.json +162 -6
  42. package/i18n/locales/ja.json +162 -6
  43. package/i18n/locales/pl.json +162 -6
  44. package/i18n/locales/tr.json +162 -6
  45. package/i18n/locales/uk.json +162 -6
  46. 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": {
@@ -781,6 +782,7 @@
781
782
  "merge": "Criteri di rischio",
782
783
  "tracker": "Tracker degli issue",
783
784
  "fragments": "Best practice dei servizi",
785
+ "metadata": "Metadati",
784
786
  "members": "Membri"
785
787
  },
786
788
  "waiting": {
@@ -846,6 +848,12 @@
846
848
  "body": "Al termine di ogni run, l'agente Kaizen valuta l'andamento di ogni passo dell'agente, da fluido ed efficiente a confuso e caotico, e raccomanda miglioramenti al prompt/modello. Una combinazione di prompt + agente + modello che ottiene una valutazione elevata senza raccomandazioni per cinque volte di fila viene contrassegnata come verificata e non viene piu valutata. La valutazione viene eseguita in background ed e mostrata all'interno dei dettagli del run e nella schermata Kaizen. Imposta il modello del valutatore in Configurazione del modello (l'agente \"Kaizen\").",
847
849
  "toggle": "Valuta i run degli agenti con Kaizen"
848
850
  },
851
+ "metadata": {
852
+ "heading": "Metadati dell'area di lavoro",
853
+ "body": "Valori dei campi personalizzati definiti da questa installazione. Gli strumenti esterni li leggono per aprirsi sul progetto giusto per quest'area di lavoro.",
854
+ "empty": "Questa installazione non definisce campi personalizzati per l'area di lavoro.",
855
+ "unset": "Non impostato"
856
+ },
849
857
  "budget": {
850
858
  "heading": "Budget di spesa mensile",
851
859
  "body": "L'utilizzo dei token viene contabilizzato per chiamata LLM, prezzato e regolato da questi budget. Un run va in pausa quando qualsiasi livello a cui appartiene si esaurisce. Lascia un campo vuoto per nessun limite su quel livello (il livello del workspace eredita allora il valore predefinito integrato, circa 100 EUR/mese).",
@@ -2107,6 +2115,7 @@
2107
2115
  "create": "Crea",
2108
2116
  "repositories": "Repository",
2109
2117
  "integrations": "Integrazioni",
2118
+ "externalTools": "Strumenti esterni",
2110
2119
  "workspace": "Workspace",
2111
2120
  "account": "Account"
2112
2121
  },
@@ -2133,7 +2142,8 @@
2133
2142
  "shortcuts": "Scorciatoie da tastiera",
2134
2143
  "bugHunt": "Caccia ai bug",
2135
2144
  "toggleUiMode": "Cambia modalità interfaccia",
2136
- "tutorial": "Fai un tour"
2145
+ "tutorial": "Fai un tour",
2146
+ "foundationalServices": "Servizi fondamentali"
2137
2147
  },
2138
2148
  "keywords": {
2139
2149
  "newPipeline": "pipeline agenti catena",
@@ -2156,7 +2166,8 @@
2156
2166
  "shortcuts": "scorciatoie da tastiera tasti hotkey cheatsheet aiuto",
2157
2167
  "bugHunt": "bug caccia triage backlog ticket non assegnati",
2158
2168
  "toggleUiMode": "interfaccia modalità base avanzata mostra nascondi",
2159
- "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"
2160
2171
  }
2161
2172
  },
2162
2173
  "shortcuts": {
@@ -2316,6 +2327,9 @@
2316
2327
  "title": "Scegli un ambiente di test predefinito",
2317
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.",
2318
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."
2319
2333
  }
2320
2334
  },
2321
2335
  "board": {
@@ -4203,6 +4217,135 @@
4203
4217
  },
4204
4218
  "unavailable": "La libreria di frammenti di prompt non e abilitata per questo deployment."
4205
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
+ },
4206
4349
  "brainstorm": {
4207
4350
  "title": {
4208
4351
  "architecture": "Brainstorm sull'architettura",
@@ -4635,12 +4778,14 @@
4635
4778
  "kaizen": "Kaizen",
4636
4779
  "workspaceContext": "Contesto dello workspace",
4637
4780
  "contextFragments": "Frammenti di contesto",
4781
+ "externalTools": "Strumenti esterni",
4638
4782
  "configuration": "Configurazione",
4639
4783
  "workspaceSettings": "Impostazioni dello workspace",
4640
4784
  "modelConfiguration": "Configurazione del modello",
4641
4785
  "accountSettings": "Impostazioni dell'account",
4642
4786
  "operatorDashboard": "Osservabilità della piattaforma",
4643
- "reports": "Report"
4787
+ "reports": "Report",
4788
+ "foundationalServices": "Servizi fondamentali"
4644
4789
  },
4645
4790
  "errors": {
4646
4791
  "generic": {
@@ -4709,7 +4854,8 @@
4709
4854
  "pipeline_schedule_attached": "Una pianificazione ricorrente usa questa pipeline",
4710
4855
  "pipeline_schedule_requires_recurring": "Una pianificazione ricorrente richiede questa pipeline",
4711
4856
  "pipeline_schedule_intake_unconfigured": "La pianificazione non ha raccolta ticket",
4712
- "foundational_service_exists": "Il servizio fondamentale esiste già"
4857
+ "foundational_service_exists": "Il servizio fondamentale esiste già",
4858
+ "foundational_service_not_inherited": "Questa bacheca ha registrato quel servizio"
4713
4859
  },
4714
4860
  "description": {
4715
4861
  "dependencies_unmet": "Questa attività dipende da altre non ancora completate. Completale o sbloccale, poi avviala di nuovo.",
@@ -4738,7 +4884,8 @@
4738
4884
  "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.",
4739
4885
  "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.",
4740
4886
  "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.",
4741
- "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."
4887
+ "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_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."
4742
4889
  },
4743
4890
  "action": {
4744
4891
  "connectGitHub": "Collega GitHub",
@@ -6115,5 +6262,14 @@
6115
6262
  }
6116
6263
  }
6117
6264
  }
6265
+ },
6266
+ "externalTools": {
6267
+ "unavailable": {
6268
+ "title": "Impossibile aprire {tool}",
6269
+ "missingMetadata": "Compila prima {fields} nella scheda Metadati delle impostazioni dell'area di lavoro.",
6270
+ "unresolved": "Questo strumento non ha restituito un indirizzo per l'area di lavoro corrente.",
6271
+ "resolverFailed": "Questo strumento non è riuscito a calcolare il proprio indirizzo. La causa è nella console del browser, per chi gestisce questa installazione.",
6272
+ "unsafeUrl": "Questo strumento ha restituito un indirizzo che non è un collegamento web, quindi non è stato aperto."
6273
+ }
6118
6274
  }
6119
6275
  }
@@ -120,12 +120,14 @@
120
120
  "kaizen": "Kaizen",
121
121
  "workspaceContext": "ワークスペースコンテキスト",
122
122
  "contextFragments": "コンテキストフラグメント",
123
+ "externalTools": "外部ツール",
123
124
  "configuration": "設定",
124
125
  "workspaceSettings": "ワークスペース設定",
125
126
  "modelConfiguration": "モデル設定",
126
127
  "accountSettings": "アカウント設定",
127
128
  "operatorDashboard": "プラットフォームの可観測性",
128
- "reports": "レポート"
129
+ "reports": "レポート",
130
+ "foundationalServices": "基盤サービス"
129
131
  },
130
132
  "board": {
131
133
  "toast": {
@@ -543,7 +545,8 @@
543
545
  "pipeline_schedule_attached": "定期スケジュールがこのパイプラインを使用しています",
544
546
  "pipeline_schedule_requires_recurring": "定期スケジュールにこのパイプラインが必要です",
545
547
  "pipeline_schedule_intake_unconfigured": "スケジュールに課題取り込み設定がありません",
546
- "foundational_service_exists": "その基盤サービスはすでに存在します"
548
+ "foundational_service_exists": "その基盤サービスはすでに存在します",
549
+ "foundational_service_not_inherited": "このボードが登録したサービスです"
547
550
  },
548
551
  "description": {
549
552
  "dependencies_unmet": "このタスクは、まだ完了していない他のタスクに依存しています。それらを完了または解除してから、もう一度開始してください。",
@@ -572,7 +575,8 @@
572
575
  "pipeline_schedule_attached": "定期スケジュールがまだこのパイプラインを参照しており、開始する実行はすべて ID でパイプラインを解決します。先にそのスケジュールを解除または削除してから、パイプラインを削除してください。",
573
576
  "pipeline_schedule_requires_recurring": "定期スケジュールがまだこのパイプラインを参照しているため、単発専用にすると今後の実行がすべて失敗します。先にそのスケジュールを解除してください。",
574
577
  "pipeline_schedule_intake_unconfigured": "バグ取り込みステップはスケジュールの課題取り込み設定から作業を取得しますが、関連付けられたスケジュールにその設定がありません。先にスケジュールで課題取り込みを設定してください。",
575
- "foundational_service_exists": "この ID の基盤サービスはこのスコープにすでに登録されています。既存のエントリを開いて編集してください。ID は設計でアーキテクトが指定する名前なので、2 つのサービスが同じ ID を共有することはできません。"
578
+ "foundational_service_exists": "この ID の基盤サービスはこのスコープにすでに登録されています。既存のエントリを開いて編集してください。ID は設計でアーキテクトが指定する名前なので、2 つのサービスが同じ ID を共有することはできません。",
579
+ "foundational_service_not_inherited": "除外はアカウントから継承したサービスに対する操作です。この ID はこのボード自身が登録しているため、除外するものがありません。代わりにボード自身のエントリを削除してください。"
576
580
  },
577
581
  "action": {
578
582
  "connectGitHub": "GitHub に接続",
@@ -2049,6 +2053,7 @@
2049
2053
  "create": "作成",
2050
2054
  "repositories": "リポジトリ",
2051
2055
  "integrations": "Integrations",
2056
+ "externalTools": "外部ツール",
2052
2057
  "workspace": "ワークスペース",
2053
2058
  "account": "アカウント"
2054
2059
  },
@@ -2075,7 +2080,8 @@
2075
2080
  "shortcuts": "キーボードショートカット",
2076
2081
  "bugHunt": "バグハント",
2077
2082
  "toggleUiMode": "インターフェースモードを切り替え",
2078
- "tutorial": "ツアーを開始"
2083
+ "tutorial": "ツアーを開始",
2084
+ "foundationalServices": "基盤サービス"
2079
2085
  },
2080
2086
  "keywords": {
2081
2087
  "newPipeline": "pipeline agents chain パイプライン エージェント チェーン",
@@ -2098,7 +2104,8 @@
2098
2104
  "shortcuts": "キーボード ショートカット キー ヘルプ",
2099
2105
  "bugHunt": "bug バグ ハント トリアージ バックログ 課題 未割り当て",
2100
2106
  "toggleUiMode": "インターフェース モード 基本 詳細 表示 非表示",
2101
- "tutorial": "チュートリアル ツアー ガイド ヘルプ 使い方 オンボーディング"
2107
+ "tutorial": "チュートリアル ツアー ガイド ヘルプ 使い方 オンボーディング",
2108
+ "foundationalServices": "共通機能 プラットフォーム サービス api コントラクト openapi カタログ"
2102
2109
  }
2103
2110
  },
2104
2111
  "integrationsHub": {
@@ -2258,6 +2265,9 @@
2258
2265
  "title": "既定のテスト環境を選択してください",
2259
2266
  "body": "このボードでは、サービスがテスト環境をどのように用意するかがまだ決まっていません。既定を選ぶと、以降に追加するサービスは個別に設定しなくてもその設定で始まります。サービスごとの変更も引き続き可能です。",
2260
2267
  "action": "既定を選択"
2268
+ },
2269
+ "accountFoundational": {
2270
+ "intro": "この組織がすでに運用している共通機能 - ファイルストレージ、通知、監査 - とその API コントラクト。すべてのボードがこれらを継承し、アーキテクトには作り直しを提案せず利用するよう指示されます。"
2261
2271
  }
2262
2272
  },
2263
2273
  "settings": {
@@ -2312,7 +2322,8 @@
2312
2322
  "tabs": {
2313
2323
  "team": "チームとアクセス",
2314
2324
  "fragments": "コンテキストフラグメント",
2315
- "skills": "スキル"
2325
+ "skills": "スキル",
2326
+ "foundational": "基盤サービス"
2316
2327
  }
2317
2328
  },
2318
2329
  "infrastructure": {
@@ -3042,6 +3053,7 @@
3042
3053
  "merge": "リスクポリシー",
3043
3054
  "tracker": "課題トラッカー",
3044
3055
  "fragments": "サービスのベストプラクティス",
3056
+ "metadata": "メタデータ",
3045
3057
  "members": "メンバー"
3046
3058
  },
3047
3059
  "waiting": {
@@ -3107,6 +3119,12 @@
3107
3119
  "body": "各実行が完了するたびに、Kaizen エージェントは各エージェントステップの進み具合を、スムーズで効率的なものから混乱して無秩序なものまで採点し、プロンプトやモデルの改善を提案します。プロンプト + エージェント + モデルの組み合わせが提案なしで高評価を 5 回連続で得ると、検証済みとしてマークされ、以降は採点されなくなります。採点はバックグラウンドで実行され、実行詳細と Kaizen 画面の中に表示されます。採点者のモデルはモデル設定 (「Kaizen」エージェント) で指定します。",
3108
3120
  "toggle": "Kaizen でエージェントの実行を採点する"
3109
3121
  },
3122
+ "metadata": {
3123
+ "heading": "ワークスペースのメタデータ",
3124
+ "body": "このデプロイメントが定義するカスタムフィールドの値です。外部ツールがこれらを読み取り、このワークスペースに対応するプロジェクトを直接開きます。",
3125
+ "empty": "このデプロイメントにはカスタムのワークスペースフィールドが定義されていません。",
3126
+ "unset": "未設定"
3127
+ },
3110
3128
  "budget": {
3111
3129
  "heading": "月間の支出予算",
3112
3130
  "body": "トークン使用量は LLM 呼び出しごとに計測され、価格付けされ、これらの予算で制限されます。実行は、それが属するいずれかの階層が使い切られると一時停止します。その階層に上限を設けない場合はフィールドを空欄のままにします (ワークスペース階層は組み込みのデフォルト、月額約 100 EUR を継承します)。",
@@ -5168,6 +5186,135 @@
5168
5186
  },
5169
5187
  "unavailable": "このデプロイではプロンプトフラグメントライブラリが有効になっていません。"
5170
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
+ },
5171
5318
  "sandbox": {
5172
5319
  "title": "Sandbox: プロンプトとモデルのテスト",
5173
5320
  "description": "プロンプトのバージョンとモデルを採点付きフィクスチャに対して試し、ジャッジモデルでスコアリングします。",
@@ -6115,5 +6262,14 @@
6115
6262
  }
6116
6263
  }
6117
6264
  }
6265
+ },
6266
+ "externalTools": {
6267
+ "unavailable": {
6268
+ "title": "{tool} を開けません",
6269
+ "missingMetadata": "先にワークスペース設定のメタデータタブで {fields} を入力してください。",
6270
+ "unresolved": "このツールは現在のワークスペース向けのアドレスを返しませんでした。",
6271
+ "resolverFailed": "このツールはアドレスの算出中にエラーが発生しました。原因はブラウザーのコンソールに出力されています (このデプロイメントの管理者向け)。",
6272
+ "unsafeUrl": "このツールが返したアドレスはウェブリンクではないため、開きませんでした。"
6273
+ }
6118
6274
  }
6119
6275
  }