@cat-factory/app 0.205.0 → 0.206.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.
- package/app/components/binaryOutput/BinaryOutputReport.vue +7 -0
- package/app/components/pipeline/BinaryOutputStepPicker.vue +11 -1
- package/app/composables/usePipelineErrorToast.ts +31 -3
- package/app/stores/agents.ts +15 -1
- package/app/stores/workspace/hydrate.ts +6 -1
- package/app/utils/binaryOutput.spec.ts +64 -0
- package/app/utils/binaryOutput.ts +38 -6
- package/i18n/locales/de.json +9 -1
- package/i18n/locales/en.json +9 -1
- package/i18n/locales/es.json +9 -1
- package/i18n/locales/fr.json +9 -1
- package/i18n/locales/he.json +9 -1
- package/i18n/locales/it.json +9 -1
- package/i18n/locales/ja.json +9 -1
- package/i18n/locales/pl.json +9 -1
- package/i18n/locales/tr.json +9 -1
- package/i18n/locales/uk.json +9 -1
- package/package.json +2 -2
|
@@ -194,6 +194,13 @@ const state = computed(() => {
|
|
|
194
194
|
)
|
|
195
195
|
}}
|
|
196
196
|
</li>
|
|
197
|
+
<!-- The third state of the same question, and the reason it is not the line above with an
|
|
198
|
+
empty list: an empty `unknownDeclaredGenerators` otherwise means every claimed id
|
|
199
|
+
checked out. Someone reading this panel to decide whether these artifacts are real
|
|
200
|
+
must not be handed a clean bill of health nobody issued. -->
|
|
201
|
+
<li v-if="view.generatorsUnverified" data-testid="binary-output-generators-unverified">
|
|
202
|
+
{{ t('binaryOutput.warning.generatorsUnverified') }}
|
|
203
|
+
</li>
|
|
197
204
|
<li v-if="view.misdirected" data-testid="binary-output-misdirected-note">
|
|
198
205
|
{{
|
|
199
206
|
t(
|
|
@@ -99,6 +99,7 @@ const pick = computed(() =>
|
|
|
99
99
|
catalog.resolved,
|
|
100
100
|
catalog.available,
|
|
101
101
|
agents.binaryGenerators,
|
|
102
|
+
agents.binaryGeneratorsUnavailable,
|
|
102
103
|
),
|
|
103
104
|
)
|
|
104
105
|
function has(issue: BinaryOutputPickIssue): boolean {
|
|
@@ -247,7 +248,16 @@ function setModalities(modalities: BinaryModality[]) {
|
|
|
247
248
|
</p>
|
|
248
249
|
<!-- The generative refusals stay their own lines, and their remedies point somewhere else
|
|
249
250
|
entirely: an unregistered integration is fixed in the DEPLOYMENT'S BUILD, not in this
|
|
250
|
-
workspace, which is the whole reason the backend keeps the two reason codes apart.
|
|
251
|
+
workspace, which is the whole reason the backend keeps the two reason codes apart.
|
|
252
|
+
Unless the set could not be READ, in which case none of them is a claim anyone can make:
|
|
253
|
+
it says so and stops, exactly as run admission does. -->
|
|
254
|
+
<p
|
|
255
|
+
v-if="has('generators_unavailable')"
|
|
256
|
+
class="text-[10px] text-amber-400"
|
|
257
|
+
data-testid="binary-output-generators-unavailable"
|
|
258
|
+
>
|
|
259
|
+
{{ t('pipeline.builder.binaryOutputGeneratorsUnavailable') }}
|
|
260
|
+
</p>
|
|
251
261
|
<p
|
|
252
262
|
v-if="has('unknown_generator')"
|
|
253
263
|
class="text-[10px] text-amber-400"
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
27
|
import { createBespokeConflictToasts } from '~/composables/pipelineErrorToast/bespokeConflicts'
|
|
28
|
-
import type { ApiErrorCode, ConflictReason } from '@cat-factory/contracts'
|
|
29
|
-
import { apiErrorEnvelope, apiErrorStatus } from './api/errors'
|
|
28
|
+
import type { ApiErrorCode, ConflictReason, UnavailableReason } from '@cat-factory/contracts'
|
|
29
|
+
import { apiErrorEnvelope, apiErrorReason, apiErrorStatus } from './api/errors'
|
|
30
30
|
|
|
31
31
|
/** The parsed shape of a backend conflict (`{ error: { code: 'conflict', details } }`). */
|
|
32
32
|
interface ConflictDetails {
|
|
@@ -285,6 +285,28 @@ const GENERIC_DESCRIPTION_KEYS: Record<Exclude<ApiErrorCode, 'conflict'>, string
|
|
|
285
285
|
internal: 'errors.generic.description.internal',
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
+
/**
|
|
289
|
+
* Translated description per REASON, for the non-conflict failures whose status class alone would
|
|
290
|
+
* describe them wrongly. Checked before {@link GENERIC_DESCRIPTION_KEYS} and falling through to
|
|
291
|
+
* it for every reason not listed, so this stays a short list of exceptions rather than a second
|
|
292
|
+
* vocabulary to keep in sync.
|
|
293
|
+
*
|
|
294
|
+
* It exists because the generic 503 copy has to commit to something, and what it commits to is
|
|
295
|
+
* "this deployment has not configured the capability this action needs". That is right for the
|
|
296
|
+
* common 503 (a module nobody wired) and exactly wrong for an outage: it tells an operator their
|
|
297
|
+
* build is missing a registration when the truth is that a set could not be read right now. On a
|
|
298
|
+
* mothership-mode node that is the misattribution this whole seam exists to remove, reappearing
|
|
299
|
+
* one layer up — with the honest wording demoted to untranslated detail behind a disclosure. So
|
|
300
|
+
* the reasons in {@link UNAVAILABLE_REASONS} carry their own copy, and the exhaustive `Record`
|
|
301
|
+
* over that union is the drift guard: a new user-reachable 503 reason fails this typecheck until
|
|
302
|
+
* it has wording.
|
|
303
|
+
*/
|
|
304
|
+
const UNAVAILABLE_DESCRIPTION_KEYS: Record<UnavailableReason, string> = {
|
|
305
|
+
binary_generators_unreachable: 'errors.unavailable.description.binary_generators_unreachable',
|
|
306
|
+
foundational_builtins_unreachable:
|
|
307
|
+
'errors.unavailable.description.foundational_builtins_unreachable',
|
|
308
|
+
}
|
|
309
|
+
|
|
288
310
|
/**
|
|
289
311
|
* The request never reached a server that answered in our envelope shape — offline, DNS, a dropped
|
|
290
312
|
* connection, CORS. Distinct from {@link UNEXPECTED_DESCRIPTION_KEY} on purpose: this one's remedy
|
|
@@ -326,7 +348,13 @@ export function describeGenericFailure(error: unknown): GenericFailure {
|
|
|
326
348
|
// don't know must resolve to `undefined`, which is exactly what the alias's index signature
|
|
327
349
|
// says and what a cast would have hidden. The narrow Record above stays the drift guard.
|
|
328
350
|
const byCode: Readonly<Record<string, string | undefined>> = GENERIC_DESCRIPTION_KEYS
|
|
329
|
-
|
|
351
|
+
// A REASON that has its own copy wins over the status class's, through the same widened-alias
|
|
352
|
+
// read and for the same reason: a `reason` this build doesn't know must resolve to `undefined`
|
|
353
|
+
// and fall through, never narrow the wire string to the union by casting.
|
|
354
|
+
const byReason: Readonly<Record<string, string | undefined>> = UNAVAILABLE_DESCRIPTION_KEYS
|
|
355
|
+
const reason = apiErrorReason(error)
|
|
356
|
+
const mapped =
|
|
357
|
+
(reason ? byReason[reason] : undefined) ?? (envelope?.code ? byCode[envelope.code] : undefined)
|
|
330
358
|
// No envelope at all AND no status ⇒ nothing answered; with a status, something did.
|
|
331
359
|
const unrecognised =
|
|
332
360
|
!envelope && apiErrorStatus(error) === undefined
|
package/app/stores/agents.ts
CHANGED
|
@@ -54,6 +54,15 @@ export const useAgentsStore = defineStore('agents', () => {
|
|
|
54
54
|
*/
|
|
55
55
|
const binaryGenerators = ref<RegisteredBinaryGenerator[]>([])
|
|
56
56
|
|
|
57
|
+
/**
|
|
58
|
+
* Whether that set could not be READ, straight off the snapshot's own flag. Its own piece of
|
|
59
|
+
* state rather than something inferred from an empty list, because the two are opposite facts:
|
|
60
|
+
* an empty list means this deployment registers none (fix it in the build), and an unreadable
|
|
61
|
+
* one means nobody knows (fix the connection). A picker that renders them alike sends someone
|
|
62
|
+
* to the wrong repository. False on every deployment that reads its integrations in-process.
|
|
63
|
+
*/
|
|
64
|
+
const binaryGeneratorsUnavailable = ref(false)
|
|
65
|
+
|
|
57
66
|
/**
|
|
58
67
|
* The merged CUSTOM catalog (consumer-slot → backend-manifest → runtime), each
|
|
59
68
|
* mapped to display metadata, de-duplicated, and never shadowing a built-in or
|
|
@@ -154,8 +163,12 @@ export const useAgentsStore = defineStore('agents', () => {
|
|
|
154
163
|
* exactly these ids, so they are the same set run admission resolves a step's `generatorIds`
|
|
155
164
|
* against — an id offered from anywhere else would save clean and be refused at run START.
|
|
156
165
|
*/
|
|
157
|
-
function hydrateBinaryGenerators(
|
|
166
|
+
function hydrateBinaryGenerators(
|
|
167
|
+
list: readonly RegisteredBinaryGenerator[],
|
|
168
|
+
unavailable = false,
|
|
169
|
+
) {
|
|
158
170
|
binaryGenerators.value = [...list]
|
|
171
|
+
binaryGeneratorsUnavailable.value = unavailable
|
|
159
172
|
}
|
|
160
173
|
|
|
161
174
|
/** Hydrate the deployment's registered agent-kind variants from the snapshot (straight replace). */
|
|
@@ -191,6 +204,7 @@ export const useAgentsStore = defineStore('agents', () => {
|
|
|
191
204
|
hydrateVariants,
|
|
192
205
|
variantsForKind,
|
|
193
206
|
binaryGenerators,
|
|
207
|
+
binaryGeneratorsUnavailable,
|
|
194
208
|
hydrateBinaryGenerators,
|
|
195
209
|
variantLabel,
|
|
196
210
|
}
|
|
@@ -102,7 +102,12 @@ export function applySnapshotToStores(snapshot: WorkspaceSnapshot, boardSince?:
|
|
|
102
102
|
useAgentsStore().hydrateVariants(snapshot.agentKindVariants ?? [])
|
|
103
103
|
// The deployment's registered generative binary integrations, so the builder's binary-output
|
|
104
104
|
// picker can offer a step's `generatorIds` from the same set run admission validates against.
|
|
105
|
-
|
|
105
|
+
// …and whether that set could not be read at all, which the picker must say rather than
|
|
106
|
+
// render as an empty deployment (see `binaryGeneratorsUnavailable` on the snapshot).
|
|
107
|
+
useAgentsStore().hydrateBinaryGenerators(
|
|
108
|
+
snapshot.binaryGenerators ?? [],
|
|
109
|
+
snapshot.binaryGeneratorsUnavailable === true,
|
|
110
|
+
)
|
|
106
111
|
useTaskTypesStore().hydrateCapabilities(capabilities)
|
|
107
112
|
// The account's repo-sourced Claude Skills catalog (shared across its workspaces), so the
|
|
108
113
|
// pipeline builder's per-step skill picker has its options. A straight replace.
|
|
@@ -253,6 +253,41 @@ describe('the generative half of the read model', () => {
|
|
|
253
253
|
expect(binaryOutputHasWarnings(view!)).toBe(true)
|
|
254
254
|
})
|
|
255
255
|
|
|
256
|
+
it('surfaces an UNCHECKED generative verdict, and does not let it read as a clean one', () => {
|
|
257
|
+
// The settlement-side twin of the picker's `generators_unavailable`. An empty
|
|
258
|
+
// `unknownDeclaredGenerators` normally means every claimed id checked out, so a reader
|
|
259
|
+
// deciding whether these artifacts are real would take silence here as confirmation. The
|
|
260
|
+
// flag has to reach both the line AND the collapsed summary's tone, or the one place it is
|
|
261
|
+
// stated is behind a section that looks like it has nothing to say.
|
|
262
|
+
const view = binaryOutputView(
|
|
263
|
+
step({
|
|
264
|
+
stepOptions: { binaryOutput: { storageServiceId: 'files', generatorIds: ['retro'] } },
|
|
265
|
+
binaryOutputs: report({
|
|
266
|
+
stored: [{ ...artifact('files', 'a.png'), generator: 'retro' }],
|
|
267
|
+
generatorsUnverified: true,
|
|
268
|
+
}),
|
|
269
|
+
}),
|
|
270
|
+
)
|
|
271
|
+
expect(view?.generatorsUnverified).toBe(true)
|
|
272
|
+
expect(view?.unknownDeclaredGenerators).toEqual([])
|
|
273
|
+
// The artifacts themselves survived the outage — that is the whole point of recording them.
|
|
274
|
+
expect(view?.rows).toHaveLength(1)
|
|
275
|
+
expect(binaryOutputHasWarnings(view!)).toBe(true)
|
|
276
|
+
})
|
|
277
|
+
|
|
278
|
+
it('reads a checked-and-clean report as clean, which is what makes the flag mean anything', () => {
|
|
279
|
+
const view = binaryOutputView(
|
|
280
|
+
step({
|
|
281
|
+
stepOptions: { binaryOutput: { storageServiceId: 'files', generatorIds: ['retro'] } },
|
|
282
|
+
binaryOutputs: report({
|
|
283
|
+
stored: [{ ...artifact('files', 'a.png'), generator: 'retro' }],
|
|
284
|
+
}),
|
|
285
|
+
}),
|
|
286
|
+
)
|
|
287
|
+
expect(view?.generatorsUnverified).toBe(false)
|
|
288
|
+
expect(binaryOutputHasWarnings(view!)).toBe(false)
|
|
289
|
+
})
|
|
290
|
+
|
|
256
291
|
it('carries the step selection through, and treats empty as a real state', () => {
|
|
257
292
|
const configured = binaryOutputView(
|
|
258
293
|
step({
|
|
@@ -332,6 +367,35 @@ describe('binaryOutputPickIssues, generative half', () => {
|
|
|
332
367
|
const pick = binaryOutputPickIssues({ storageServiceId: 'files' }, catalog, true, generators)
|
|
333
368
|
expect(pick.issues).toEqual([])
|
|
334
369
|
})
|
|
370
|
+
|
|
371
|
+
it('reports an UNREADABLE set as an outage and makes no claim about the selection', () => {
|
|
372
|
+
// The picker's half of the mothership-mode disposition. A failed read arrives as the same
|
|
373
|
+
// empty list an unregistering deployment produces, so judging the selection against it would
|
|
374
|
+
// tell someone their step names an integration nobody registered — about an id that is very
|
|
375
|
+
// likely fine, and with the remedy pointing at the wrong repository.
|
|
376
|
+
const pick = binaryOutputPickIssues(
|
|
377
|
+
{ storageServiceId: 'files', generatorIds: ['retro'], modalities: ['audio'] },
|
|
378
|
+
catalog,
|
|
379
|
+
true,
|
|
380
|
+
[],
|
|
381
|
+
true,
|
|
382
|
+
)
|
|
383
|
+
expect(pick.issues).toEqual(['generators_unavailable'])
|
|
384
|
+
expect(pick.unknownGeneratorIds).toEqual([])
|
|
385
|
+
expect(pick.uncoveredModalities).toEqual([])
|
|
386
|
+
})
|
|
387
|
+
|
|
388
|
+
it('still judges an EMPTY set, which is a real answer about the deployment', () => {
|
|
389
|
+
// The distinction the flag exists for: same empty list, opposite fact, opposite message.
|
|
390
|
+
const pick = binaryOutputPickIssues(
|
|
391
|
+
{ storageServiceId: 'files', generatorIds: ['retro'] },
|
|
392
|
+
catalog,
|
|
393
|
+
true,
|
|
394
|
+
[],
|
|
395
|
+
false,
|
|
396
|
+
)
|
|
397
|
+
expect(pick.issues).toContain('unknown_generator')
|
|
398
|
+
})
|
|
335
399
|
})
|
|
336
400
|
|
|
337
401
|
describe('binaryOutputPickIssues', () => {
|
|
@@ -126,6 +126,14 @@ export interface BinaryOutputView {
|
|
|
126
126
|
* would leave an artifact attributed to something nobody can look up, with nothing saying so.
|
|
127
127
|
*/
|
|
128
128
|
unknownDeclaredGenerators: readonly string[]
|
|
129
|
+
/**
|
|
130
|
+
* True when the deployment's integrations could not be READ at settlement, so no claimed id was
|
|
131
|
+
* checked against them. Rendered as its own line and never as an empty
|
|
132
|
+
* {@link unknownDeclaredGenerators}: that list being empty otherwise means "every id checked
|
|
133
|
+
* out", and a reader deciding whether these artifacts are real must not be shown a clean bill
|
|
134
|
+
* of health nobody actually issued.
|
|
135
|
+
*/
|
|
136
|
+
generatorsUnverified: boolean
|
|
129
137
|
/** Entries dropped because they were not `{ service, location }` objects. */
|
|
130
138
|
invalidEntries: number
|
|
131
139
|
/** Valid entries dropped past the report's cap — so {@link rows} is a PREFIX. */
|
|
@@ -173,6 +181,7 @@ export function binaryOutputView(step: PipelineStep | null | undefined): BinaryO
|
|
|
173
181
|
generators,
|
|
174
182
|
modalities,
|
|
175
183
|
unknownDeclaredGenerators: [],
|
|
184
|
+
generatorsUnverified: false,
|
|
176
185
|
invalidEntries: 0,
|
|
177
186
|
omitted: 0,
|
|
178
187
|
misdirected: 0,
|
|
@@ -200,6 +209,7 @@ export function binaryOutputView(step: PipelineStep | null | undefined): BinaryO
|
|
|
200
209
|
generators,
|
|
201
210
|
modalities,
|
|
202
211
|
unknownDeclaredGenerators: report.unknownGenerators,
|
|
212
|
+
generatorsUnverified: report.generatorsUnverified === true,
|
|
203
213
|
invalidEntries: report.invalidEntries,
|
|
204
214
|
omitted: report.omitted,
|
|
205
215
|
misdirected: rows.filter((row) => row.misdirected).length,
|
|
@@ -275,6 +285,10 @@ export const BINARY_OUTPUT_STATE_KEYS: Record<
|
|
|
275
285
|
* unknown service ids, dropped entries, a truncated list, or a misdirected artifact. Drives
|
|
276
286
|
* the collapsed summary row's tone, so a report with losses can't read as a clean one from
|
|
277
287
|
* the outside of a collapsed section.
|
|
288
|
+
*
|
|
289
|
+
* An UNCHECKED verdict counts as one of those qualifications, and it is the only member here
|
|
290
|
+
* that is not itself a loss: nothing went wrong with the run, but the report is quieter than it
|
|
291
|
+
* looks, and a collapsed section that renders it as clean would hide the one line saying so.
|
|
278
292
|
*/
|
|
279
293
|
export function binaryOutputHasWarnings(view: BinaryOutputView): boolean {
|
|
280
294
|
return (
|
|
@@ -283,6 +297,7 @@ export function binaryOutputHasWarnings(view: BinaryOutputView): boolean {
|
|
|
283
297
|
view.targetUnknown ||
|
|
284
298
|
view.unknownDeclaredServices.length > 0 ||
|
|
285
299
|
view.unknownDeclaredGenerators.length > 0 ||
|
|
300
|
+
view.generatorsUnverified ||
|
|
286
301
|
view.invalidEntries > 0 ||
|
|
287
302
|
view.omitted > 0 ||
|
|
288
303
|
view.misdirected > 0
|
|
@@ -310,6 +325,11 @@ export type BinaryOutputPickIssue =
|
|
|
310
325
|
| 'catalog_unavailable'
|
|
311
326
|
/** The catalog resolved, but nothing in it declares the `asset-storage` capability. */
|
|
312
327
|
| 'no_storage_service'
|
|
328
|
+
/** The deployment's registered integrations could not be READ (a mothership-mode node whose
|
|
329
|
+
* mothership is unreachable). Kept apart from an empty set for the same reason
|
|
330
|
+
* `catalog_unavailable` is: an empty picker is a claim about the deployment's BUILD, and
|
|
331
|
+
* acting on it during an outage sends someone looking in the wrong repository. */
|
|
332
|
+
| 'generators_unavailable'
|
|
313
333
|
/** An enabled generator step with no storage selection — refused at save AND at start. */
|
|
314
334
|
| 'not_selected'
|
|
315
335
|
/** The selected storage id is not in the resolved catalog (kernel's `unknown_service`). */
|
|
@@ -342,16 +362,24 @@ export interface BinaryOutputPickState {
|
|
|
342
362
|
* `binaryGeneratorSelectionIssues` so the builder surfaces the `binary_output_generator_invalid`
|
|
343
363
|
* refusal before the round trip rather than inventing a second opinion.
|
|
344
364
|
*
|
|
345
|
-
*
|
|
346
|
-
*
|
|
347
|
-
*
|
|
348
|
-
*
|
|
349
|
-
*
|
|
365
|
+
* `unavailable` is the one state that is NOT derivable from the list, which is why the snapshot
|
|
366
|
+
* carries it as its own flag. An empty list normally IS a real empty — this deployment registers
|
|
367
|
+
* none — and that is exactly why a selected id in that state is `unknown_generator` rather than
|
|
368
|
+
* silence. But on a mothership-mode deployment the set is read from the mothership, and a failed
|
|
369
|
+
* read is the same empty list about a completely different fact. Reporting `unknown_generator`
|
|
370
|
+
* there would tell someone their step names an integration nobody registered, about an id that
|
|
371
|
+
* is very likely fine — the same misattribution the backend refuses to make at admission. So an
|
|
372
|
+
* unavailable set reports THAT and stops: every other judgement below is a claim about a list
|
|
373
|
+
* nobody managed to read.
|
|
350
374
|
*/
|
|
351
375
|
function generatorPickIssues(
|
|
352
376
|
config: BinaryOutputConfig | undefined,
|
|
353
377
|
generators: readonly Pick<RegisteredBinaryGenerator, 'id' | 'modalities'>[],
|
|
378
|
+
unavailable: boolean,
|
|
354
379
|
): { issues: BinaryOutputPickIssue[]; unknownGeneratorIds: string[]; uncovered: BinaryModality[] } {
|
|
380
|
+
if (unavailable) {
|
|
381
|
+
return { issues: ['generators_unavailable'], unknownGeneratorIds: [], uncovered: [] }
|
|
382
|
+
}
|
|
355
383
|
const byId = new Map(generators.map((g) => [g.id, g]))
|
|
356
384
|
const selectedIds = config?.generatorIds ?? []
|
|
357
385
|
const unknownGeneratorIds = selectedIds.filter((id) => !byId.has(id))
|
|
@@ -398,6 +426,10 @@ export function binaryOutputPickIssues(
|
|
|
398
426
|
// omits this FLAGS a selection rather than passing it — the loud direction — and the default
|
|
399
427
|
// stays a legitimate value rather than a hole.
|
|
400
428
|
generators: readonly Pick<RegisteredBinaryGenerator, 'id' | 'modalities'>[] = [],
|
|
429
|
+
// Whether the deployment's integrations could not be READ. Defaulted to `false` — the honest
|
|
430
|
+
// default, since every deployment but a mothership-mode node reads them in-process and cannot
|
|
431
|
+
// fail — so an omitting call site judges the list it was given rather than claiming an outage.
|
|
432
|
+
generatorsUnavailable = false,
|
|
401
433
|
): BinaryOutputPickState {
|
|
402
434
|
const resolved = available === true
|
|
403
435
|
const issues: BinaryOutputPickIssue[] = []
|
|
@@ -405,7 +437,7 @@ export function binaryOutputPickIssues(
|
|
|
405
437
|
// resolve against different registries and a step missing its storage pick routinely has a
|
|
406
438
|
// generative fault too. Reporting them one round at a time is exactly the fix-and-retry cycle
|
|
407
439
|
// this function returns every issue to avoid.
|
|
408
|
-
const generative = generatorPickIssues(config, generators)
|
|
440
|
+
const generative = generatorPickIssues(config, generators, generatorsUnavailable)
|
|
409
441
|
const noStorageService =
|
|
410
442
|
resolved && !catalog.some((s) => s.capabilities.includes(ASSET_STORAGE_CAPABILITY))
|
|
411
443
|
if (available === false) issues.push('catalog_unavailable')
|
package/i18n/locales/de.json
CHANGED
|
@@ -3744,6 +3744,7 @@
|
|
|
3744
3744
|
"binaryOutputContextMissing": "Diese Kontextdienste sind nicht mehr im Katalog: {ids}",
|
|
3745
3745
|
"binaryOutputUnavailable": "Der Katalog der grundlegenden Dienste ist nicht erreichbar, deshalb lässt sich hier noch nichts wählen.",
|
|
3746
3746
|
"binaryOutputGenerators": "Erzeugen mit",
|
|
3747
|
+
"binaryOutputGeneratorsUnavailable": "Die generativen Integrationen dieser Installation konnten nicht gelesen werden, daher lässt sich hier noch nichts auswählen. Das ist ein Verbindungsproblem, keine fehlende Registrierung.",
|
|
3747
3748
|
"binaryOutputGeneratorsPlaceholder": "Keine Integration ausgewählt",
|
|
3748
3749
|
"binaryOutputModalities": "Muss liefern",
|
|
3749
3750
|
"binaryOutputModalitiesPlaceholder": "Keine Anforderung",
|
|
@@ -4445,7 +4446,8 @@
|
|
|
4445
4446
|
"misdirected": "1 Artefakt ging an einen anderen Dienst als {target}. | {count} Artefakte gingen an einen anderen Dienst als {target}.",
|
|
4446
4447
|
"invalidEntries": "1 angegebener Eintrag wurde verworfen: er nannte weder Dienst noch Ablageort. | {count} angegebene Einträge wurden verworfen: sie nannten weder Dienst noch Ablageort.",
|
|
4447
4448
|
"omitted": "1 weiteres Artefakt wurde jenseits der Berichtsgrenze angegeben und ist nicht aufgeführt. | {count} weitere Artefakte wurden jenseits der Berichtsgrenze angegeben und sind nicht aufgeführt.",
|
|
4448
|
-
"unknownGenerators": "Eine generative Integration genannt, die diese Installation nicht registriert: {ids}. Der Eintrag bleibt wie angegeben erhalten; die Integration wird im Code der Installation registriert, nicht in diesem Workspace. | Generative Integrationen genannt, die diese Installation nicht registriert: {ids}. Ihre Einträge bleiben wie angegeben erhalten; Integrationen werden im Code der Installation registriert, nicht in diesem Workspace."
|
|
4449
|
+
"unknownGenerators": "Eine generative Integration genannt, die diese Installation nicht registriert: {ids}. Der Eintrag bleibt wie angegeben erhalten; die Integration wird im Code der Installation registriert, nicht in diesem Workspace. | Generative Integrationen genannt, die diese Installation nicht registriert: {ids}. Ihre Einträge bleiben wie angegeben erhalten; Integrationen werden im Code der Installation registriert, nicht in diesem Workspace.",
|
|
4450
|
+
"generatorsUnverified": "Die generativen Integrationen dieser Installation konnten beim Abschluss des Schritts nicht gelesen werden, daher wurden die unten genannten Integrationen nicht dagegen geprüft. Die Einträge bleiben wie angegeben erhalten."
|
|
4449
4451
|
},
|
|
4450
4452
|
"unknownGeneratorBadge": "Nicht registriert"
|
|
4451
4453
|
},
|
|
@@ -4909,6 +4911,12 @@
|
|
|
4909
4911
|
"unexpected": "Der Server hat eine unerwartete Antwort zurückgegeben. Versuche es erneut und gib die Details an den Betreiber des Deployments weiter, wenn es weiterhin auftritt."
|
|
4910
4912
|
}
|
|
4911
4913
|
},
|
|
4914
|
+
"unavailable": {
|
|
4915
|
+
"description": {
|
|
4916
|
+
"binary_generators_unreachable": "Die generativen Integrationen dieser Installation konnten gerade nicht gelesen werden, deshalb wurde der Lauf nicht gestartet. Es ist nichts falsch konfiguriert und keine Änderung nötig: versuchen Sie es erneut, sobald die Verbindung wieder steht.",
|
|
4917
|
+
"foundational_builtins_unreachable": "Die integrierten Basisdienste dieser Installation konnten gerade nicht gelesen werden. Es ist nichts falsch konfiguriert und keine Änderung nötig: versuchen Sie es erneut, sobald die Verbindung wieder steht."
|
|
4918
|
+
}
|
|
4919
|
+
},
|
|
4912
4920
|
"action": {
|
|
4913
4921
|
"retryFailed": "Wiederholung fehlgeschlagen",
|
|
4914
4922
|
"startFailed": "Start fehlgeschlagen",
|
package/i18n/locales/en.json
CHANGED
|
@@ -548,6 +548,12 @@
|
|
|
548
548
|
}
|
|
549
549
|
}
|
|
550
550
|
},
|
|
551
|
+
"unavailable": {
|
|
552
|
+
"description": {
|
|
553
|
+
"binary_generators_unreachable": "This deployment's generative integrations could not be read just now, so the run was not started. Nothing is misconfigured and no change is needed: try again once the connection recovers.",
|
|
554
|
+
"foundational_builtins_unreachable": "This deployment's built-in foundational services could not be read just now. Nothing is misconfigured and no change is needed: try again once the connection recovers."
|
|
555
|
+
}
|
|
556
|
+
},
|
|
551
557
|
"action": {
|
|
552
558
|
"retryFailed": "Retry failed",
|
|
553
559
|
"startFailed": "Failed to start",
|
|
@@ -4223,6 +4229,7 @@
|
|
|
4223
4229
|
"binaryOutputContextMissing": "These context services are no longer in the catalog: {ids}",
|
|
4224
4230
|
"binaryOutputUnavailable": "The foundational services catalog is unreachable, so nothing can be picked here yet.",
|
|
4225
4231
|
"binaryOutputGenerators": "Generate with",
|
|
4232
|
+
"binaryOutputGeneratorsUnavailable": "This deployment's generative integrations could not be read, so nothing can be picked here yet. This is a connection problem, not a missing registration.",
|
|
4226
4233
|
"binaryOutputGeneratorsPlaceholder": "No integration selected",
|
|
4227
4234
|
"binaryOutputModalities": "Must deliver",
|
|
4228
4235
|
"binaryOutputModalitiesPlaceholder": "No requirement",
|
|
@@ -5657,7 +5664,8 @@
|
|
|
5657
5664
|
"misdirected": "1 artifact went to a service other than {target}. | {count} artifacts went to a service other than {target}.",
|
|
5658
5665
|
"invalidEntries": "1 declared entry was dropped: it named no service and location. | {count} declared entries were dropped: they named no service and location.",
|
|
5659
5666
|
"omitted": "1 more artifact was declared beyond the report's limit and is not listed. | {count} more artifacts were declared beyond the report's limit and are not listed.",
|
|
5660
|
-
"unknownGenerators": "Named a generative integration this deployment does not register: {ids}. The entry is kept as claimed; the integration is registered in the deployment's code, not in this workspace. | Named generative integrations this deployment does not register: {ids}. Their entries are kept as claimed; integrations are registered in the deployment's code, not in this workspace."
|
|
5667
|
+
"unknownGenerators": "Named a generative integration this deployment does not register: {ids}. The entry is kept as claimed; the integration is registered in the deployment's code, not in this workspace. | Named generative integrations this deployment does not register: {ids}. Their entries are kept as claimed; integrations are registered in the deployment's code, not in this workspace.",
|
|
5668
|
+
"generatorsUnverified": "This deployment's generative integrations could not be read when the step settled, so the integrations named below were not checked against them. The entries are kept as claimed."
|
|
5661
5669
|
},
|
|
5662
5670
|
"unknownGeneratorBadge": "Not registered"
|
|
5663
5671
|
},
|
package/i18n/locales/es.json
CHANGED
|
@@ -497,6 +497,12 @@
|
|
|
497
497
|
"unexpected": "El servidor devolvió una respuesta inesperada. Vuelve a intentarlo y comparte los detalles con el operador del despliegue si sigue ocurriendo."
|
|
498
498
|
}
|
|
499
499
|
},
|
|
500
|
+
"unavailable": {
|
|
501
|
+
"description": {
|
|
502
|
+
"binary_generators_unreachable": "No se han podido leer las integraciones generativas de esta instalación en este momento, así que no se ha iniciado la ejecución. No hay nada mal configurado ni hace falta ningún cambio: inténtalo de nuevo cuando se restablezca la conexión.",
|
|
503
|
+
"foundational_builtins_unreachable": "No se han podido leer los servicios fundamentales integrados de esta instalación en este momento. No hay nada mal configurado ni hace falta ningún cambio: inténtalo de nuevo cuando se restablezca la conexión."
|
|
504
|
+
}
|
|
505
|
+
},
|
|
500
506
|
"action": {
|
|
501
507
|
"retryFailed": "El reintento falló",
|
|
502
508
|
"startFailed": "No se pudo iniciar",
|
|
@@ -4096,6 +4102,7 @@
|
|
|
4096
4102
|
"binaryOutputContextMissing": "Estos servicios de contexto ya no están en el catálogo: {ids}",
|
|
4097
4103
|
"binaryOutputUnavailable": "El catálogo de servicios fundamentales no está disponible, así que aún no se puede elegir nada aquí.",
|
|
4098
4104
|
"binaryOutputGenerators": "Generar con",
|
|
4105
|
+
"binaryOutputGeneratorsUnavailable": "No se han podido leer las integraciones generativas de esta instalación, así que todavía no se puede elegir nada aquí. Es un problema de conexión, no un registro que falte.",
|
|
4099
4106
|
"binaryOutputGeneratorsPlaceholder": "Ninguna integración seleccionada",
|
|
4100
4107
|
"binaryOutputModalities": "Debe entregar",
|
|
4101
4108
|
"binaryOutputModalitiesPlaceholder": "Sin requisito",
|
|
@@ -5408,7 +5415,8 @@
|
|
|
5408
5415
|
"misdirected": "1 artefacto fue a un servicio distinto de {target}. | {count} artefactos fueron a un servicio distinto de {target}.",
|
|
5409
5416
|
"invalidEntries": "Se descartó 1 entrada declarada: no nombraba servicio ni ubicación. | Se descartaron {count} entradas declaradas: no nombraban servicio ni ubicación.",
|
|
5410
5417
|
"omitted": "Se declaró 1 artefacto más por encima del límite del informe y no aparece en la lista. | Se declararon {count} artefactos más por encima del límite del informe y no aparecen en la lista.",
|
|
5411
|
-
"unknownGenerators": "Nombró una integración generativa que esta instalación no registra: {ids}. La entrada se conserva tal como se declaró; la integración se registra en el código de la instalación, no en este espacio de trabajo. | Nombró integraciones generativas que esta instalación no registra: {ids}. Sus entradas se conservan tal como se declararon; las integraciones se registran en el código de la instalación, no en este espacio de trabajo."
|
|
5418
|
+
"unknownGenerators": "Nombró una integración generativa que esta instalación no registra: {ids}. La entrada se conserva tal como se declaró; la integración se registra en el código de la instalación, no en este espacio de trabajo. | Nombró integraciones generativas que esta instalación no registra: {ids}. Sus entradas se conservan tal como se declararon; las integraciones se registran en el código de la instalación, no en este espacio de trabajo.",
|
|
5419
|
+
"generatorsUnverified": "No se han podido leer las integraciones generativas de esta instalación al cerrarse el paso, así que las integraciones indicadas abajo no se han contrastado con ellas. Las entradas se conservan tal como se declararon."
|
|
5412
5420
|
},
|
|
5413
5421
|
"unknownGeneratorBadge": "No registrada"
|
|
5414
5422
|
},
|
package/i18n/locales/fr.json
CHANGED
|
@@ -497,6 +497,12 @@
|
|
|
497
497
|
"unexpected": "Le serveur a renvoyé une réponse inattendue. Réessayez, et transmettez les détails à l'opérateur du déploiement si le problème persiste."
|
|
498
498
|
}
|
|
499
499
|
},
|
|
500
|
+
"unavailable": {
|
|
501
|
+
"description": {
|
|
502
|
+
"binary_generators_unreachable": "Les intégrations génératives de ce déploiement n'ont pas pu être lues pour l'instant, l'exécution n'a donc pas démarré. Rien n'est mal configuré et aucune modification n'est nécessaire : réessayez une fois la connexion rétablie.",
|
|
503
|
+
"foundational_builtins_unreachable": "Les services fondamentaux intégrés de ce déploiement n'ont pas pu être lus pour l'instant. Rien n'est mal configuré et aucune modification n'est nécessaire : réessayez une fois la connexion rétablie."
|
|
504
|
+
}
|
|
505
|
+
},
|
|
500
506
|
"action": {
|
|
501
507
|
"retryFailed": "Échec de la nouvelle tentative",
|
|
502
508
|
"startFailed": "Échec du démarrage",
|
|
@@ -4096,6 +4102,7 @@
|
|
|
4096
4102
|
"binaryOutputContextMissing": "Ces services de contexte ne sont plus dans le catalogue : {ids}",
|
|
4097
4103
|
"binaryOutputUnavailable": "Le catalogue des services fondamentaux est injoignable, rien ne peut donc encore être choisi ici.",
|
|
4098
4104
|
"binaryOutputGenerators": "Générer avec",
|
|
4105
|
+
"binaryOutputGeneratorsUnavailable": "Les intégrations génératives de ce déploiement n'ont pas pu être lues, donc rien ne peut encore être choisi ici. C'est un problème de connexion, pas un enregistrement manquant.",
|
|
4099
4106
|
"binaryOutputGeneratorsPlaceholder": "Aucune intégration sélectionnée",
|
|
4100
4107
|
"binaryOutputModalities": "Doit livrer",
|
|
4101
4108
|
"binaryOutputModalitiesPlaceholder": "Aucune exigence",
|
|
@@ -5408,7 +5415,8 @@
|
|
|
5408
5415
|
"misdirected": "1 artefact est allé vers un service autre que {target}. | {count} artefacts sont allés vers un service autre que {target}.",
|
|
5409
5416
|
"invalidEntries": "1 entrée déclarée a été écartée : elle ne nommait ni service ni emplacement. | {count} entrées déclarées ont été écartées : elles ne nommaient ni service ni emplacement.",
|
|
5410
5417
|
"omitted": "1 artefact supplémentaire a été déclaré au-delà de la limite du rapport et n'est pas listé. | {count} artefacts supplémentaires ont été déclarés au-delà de la limite du rapport et ne sont pas listés.",
|
|
5411
|
-
"unknownGenerators": "A nommé une intégration générative que ce déploiement n'enregistre pas : {ids}. L'entrée est conservée telle que déclarée ; l'intégration s'enregistre dans le code du déploiement, pas dans cet espace de travail. | A nommé des intégrations génératives que ce déploiement n'enregistre pas : {ids}. Leurs entrées sont conservées telles que déclarées ; les intégrations s'enregistrent dans le code du déploiement, pas dans cet espace de travail."
|
|
5418
|
+
"unknownGenerators": "A nommé une intégration générative que ce déploiement n'enregistre pas : {ids}. L'entrée est conservée telle que déclarée ; l'intégration s'enregistre dans le code du déploiement, pas dans cet espace de travail. | A nommé des intégrations génératives que ce déploiement n'enregistre pas : {ids}. Leurs entrées sont conservées telles que déclarées ; les intégrations s'enregistrent dans le code du déploiement, pas dans cet espace de travail.",
|
|
5419
|
+
"generatorsUnverified": "Les intégrations génératives de ce déploiement n'ont pas pu être lues à la clôture de l'étape, les intégrations citées ci-dessous n'ont donc pas été vérifiées. Les entrées sont conservées telles que déclarées."
|
|
5412
5420
|
},
|
|
5413
5421
|
"unknownGeneratorBadge": "Non enregistrée"
|
|
5414
5422
|
},
|
package/i18n/locales/he.json
CHANGED
|
@@ -497,6 +497,12 @@
|
|
|
497
497
|
"unexpected": "השרת החזיר תגובה בלתי צפויה. נסה שוב, ואם התקלה חוזרת שתף את הפרטים עם מפעיל הפריסה."
|
|
498
498
|
}
|
|
499
499
|
},
|
|
500
|
+
"unavailable": {
|
|
501
|
+
"description": {
|
|
502
|
+
"binary_generators_unreachable": "לא ניתן היה לקרוא כרגע את האינטגרציות הגנרטיביות של הפריסה הזו, ולכן ההרצה לא התחילה. אין כאן תצורה שגויה ולא נדרש שום שינוי: נסו שוב כשהחיבור יחזור.",
|
|
503
|
+
"foundational_builtins_unreachable": "לא ניתן היה לקרוא כרגע את שירותי הבסיס המובנים של הפריסה הזו. אין כאן תצורה שגויה ולא נדרש שום שינוי: נסו שוב כשהחיבור יחזור."
|
|
504
|
+
}
|
|
505
|
+
},
|
|
500
506
|
"action": {
|
|
501
507
|
"retryFailed": "הניסיון החוזר נכשל",
|
|
502
508
|
"startFailed": "ההפעלה נכשלה",
|
|
@@ -4107,6 +4113,7 @@
|
|
|
4107
4113
|
"binaryOutputContextMissing": "שירותי ההקשר האלה כבר אינם בקטלוג: {ids}",
|
|
4108
4114
|
"binaryOutputUnavailable": "קטלוג שירותי הבסיס אינו זמין, ולכן עדיין אי אפשר לבחור כאן דבר.",
|
|
4109
4115
|
"binaryOutputGenerators": "ליצור באמצעות",
|
|
4116
|
+
"binaryOutputGeneratorsUnavailable": "לא ניתן היה לקרוא את האינטגרציות הגנרטיביות של הפריסה הזו, ולכן עדיין אי אפשר לבחור כאן דבר. זו תקלת חיבור, לא רישום חסר.",
|
|
4110
4117
|
"binaryOutputGeneratorsPlaceholder": "לא נבחרה אינטגרציה",
|
|
4111
4118
|
"binaryOutputModalities": "חייב לספק",
|
|
4112
4119
|
"binaryOutputModalitiesPlaceholder": "ללא דרישה",
|
|
@@ -5419,7 +5426,8 @@
|
|
|
5419
5426
|
"misdirected": "פריט אחד הגיע לשירות אחר מ- {target}. | {count} פריטים הגיעו לשירות אחר מ- {target}.",
|
|
5420
5427
|
"invalidEntries": "רשומה מוצהרת אחת נדחתה: לא צוינו בה שירות ומיקום. | {count} רשומות מוצהרות נדחו: לא צוינו בהן שירות ומיקום.",
|
|
5421
5428
|
"omitted": "פריט נוסף אחד הוצהר מעבר למגבלת הדוח ואינו מופיע ברשימה. | {count} פריטים נוספים הוצהרו מעבר למגבלת הדוח ואינם מופיעים ברשימה.",
|
|
5422
|
-
"unknownGenerators": "צוינה אינטגרציה גנרטיבית שההתקנה הזו אינה רושמת: {ids}. הרשומה נשמרת כפי שהוצהרה; האינטגרציה נרשמת בקוד ההתקנה, לא במרחב העבודה הזה. | צוינו אינטגרציות גנרטיביות שההתקנה הזו אינה רושמת: {ids}. הרשומות נשמרות כפי שהוצהרו; אינטגרציות נרשמות בקוד ההתקנה, לא במרחב העבודה הזה."
|
|
5429
|
+
"unknownGenerators": "צוינה אינטגרציה גנרטיבית שההתקנה הזו אינה רושמת: {ids}. הרשומה נשמרת כפי שהוצהרה; האינטגרציה נרשמת בקוד ההתקנה, לא במרחב העבודה הזה. | צוינו אינטגרציות גנרטיביות שההתקנה הזו אינה רושמת: {ids}. הרשומות נשמרות כפי שהוצהרו; אינטגרציות נרשמות בקוד ההתקנה, לא במרחב העבודה הזה.",
|
|
5430
|
+
"generatorsUnverified": "לא ניתן היה לקרוא את האינטגרציות הגנרטיביות של הפריסה הזו בעת סיום השלב, ולכן האינטגרציות המצוינות למטה לא נבדקו מולן. הרשומות נשמרות כפי שהוצהרו."
|
|
5423
5431
|
},
|
|
5424
5432
|
"unknownGeneratorBadge": "לא רשומה"
|
|
5425
5433
|
},
|
package/i18n/locales/it.json
CHANGED
|
@@ -3744,6 +3744,7 @@
|
|
|
3744
3744
|
"binaryOutputContextMissing": "Questi servizi di contesto non sono più nel catalogo: {ids}",
|
|
3745
3745
|
"binaryOutputUnavailable": "Il catalogo dei servizi fondamentali non è raggiungibile, quindi qui non si può ancora scegliere nulla.",
|
|
3746
3746
|
"binaryOutputGenerators": "Genera con",
|
|
3747
|
+
"binaryOutputGeneratorsUnavailable": "Non è stato possibile leggere le integrazioni generative di questa installazione, quindi qui non si può ancora scegliere nulla. È un problema di connessione, non una registrazione mancante.",
|
|
3747
3748
|
"binaryOutputGeneratorsPlaceholder": "Nessuna integrazione selezionata",
|
|
3748
3749
|
"binaryOutputModalities": "Deve fornire",
|
|
3749
3750
|
"binaryOutputModalitiesPlaceholder": "Nessun requisito",
|
|
@@ -4445,7 +4446,8 @@
|
|
|
4445
4446
|
"misdirected": "1 artefatto è finito su un servizio diverso da {target}. | {count} artefatti sono finiti su un servizio diverso da {target}.",
|
|
4446
4447
|
"invalidEntries": "1 voce dichiarata è stata scartata: non indicava né servizio né posizione. | {count} voci dichiarate sono state scartate: non indicavano né servizio né posizione.",
|
|
4447
4448
|
"omitted": "È stato dichiarato 1 altro artefatto oltre il limite del rapporto e non compare nell'elenco. | Sono stati dichiarati altri {count} artefatti oltre il limite del rapporto e non compaiono nell'elenco.",
|
|
4448
|
-
"unknownGenerators": "Ha indicato un'integrazione generativa che questa installazione non registra: {ids}. La voce viene mantenuta come dichiarata; l'integrazione si registra nel codice dell'installazione, non in questo spazio di lavoro. | Ha indicato integrazioni generative che questa installazione non registra: {ids}. Le loro voci vengono mantenute come dichiarate; le integrazioni si registrano nel codice dell'installazione, non in questo spazio di lavoro."
|
|
4449
|
+
"unknownGenerators": "Ha indicato un'integrazione generativa che questa installazione non registra: {ids}. La voce viene mantenuta come dichiarata; l'integrazione si registra nel codice dell'installazione, non in questo spazio di lavoro. | Ha indicato integrazioni generative che questa installazione non registra: {ids}. Le loro voci vengono mantenute come dichiarate; le integrazioni si registrano nel codice dell'installazione, non in questo spazio di lavoro.",
|
|
4450
|
+
"generatorsUnverified": "Non è stato possibile leggere le integrazioni generative di questa installazione alla chiusura del passaggio, quindi le integrazioni indicate sotto non sono state verificate. Le voci sono conservate come dichiarate."
|
|
4449
4451
|
},
|
|
4450
4452
|
"unknownGeneratorBadge": "Non registrata"
|
|
4451
4453
|
},
|
|
@@ -4909,6 +4911,12 @@
|
|
|
4909
4911
|
"unexpected": "Il server ha restituito una risposta inattesa. Riprova e, se continua, condividi i dettagli con l'operatore del deployment."
|
|
4910
4912
|
}
|
|
4911
4913
|
},
|
|
4914
|
+
"unavailable": {
|
|
4915
|
+
"description": {
|
|
4916
|
+
"binary_generators_unreachable": "Non è stato possibile leggere le integrazioni generative di questa installazione in questo momento, quindi l'esecuzione non è partita. Non c'è nulla di configurato male e non serve alcuna modifica: riprova quando la connessione sarà ripristinata.",
|
|
4917
|
+
"foundational_builtins_unreachable": "Non è stato possibile leggere i servizi fondamentali integrati di questa installazione in questo momento. Non c'è nulla di configurato male e non serve alcuna modifica: riprova quando la connessione sarà ripristinata."
|
|
4918
|
+
}
|
|
4919
|
+
},
|
|
4912
4920
|
"action": {
|
|
4913
4921
|
"retryFailed": "Nuovo tentativo non riuscito",
|
|
4914
4922
|
"startFailed": "Avvio non riuscito",
|
package/i18n/locales/ja.json
CHANGED
|
@@ -497,6 +497,12 @@
|
|
|
497
497
|
"unexpected": "サーバーが予期しない応答を返しました。もう一度お試しください。繰り返し発生する場合は、詳細をデプロイ運用者に共有してください。"
|
|
498
498
|
}
|
|
499
499
|
},
|
|
500
|
+
"unavailable": {
|
|
501
|
+
"description": {
|
|
502
|
+
"binary_generators_unreachable": "このデプロイメントの生成系インテグレーションを現在読み取れなかったため、実行は開始されませんでした。設定に誤りはなく、変更も不要です。接続が回復してからもう一度お試しください。",
|
|
503
|
+
"foundational_builtins_unreachable": "このデプロイメントの組み込み基盤サービスを現在読み取れませんでした。設定に誤りはなく、変更も不要です。接続が回復してからもう一度お試しください。"
|
|
504
|
+
}
|
|
505
|
+
},
|
|
500
506
|
"action": {
|
|
501
507
|
"retryFailed": "再試行に失敗しました",
|
|
502
508
|
"startFailed": "開始に失敗しました",
|
|
@@ -4108,6 +4114,7 @@
|
|
|
4108
4114
|
"binaryOutputContextMissing": "これらのコンテキストサービスはカタログに存在しません: {ids}",
|
|
4109
4115
|
"binaryOutputUnavailable": "基盤サービスのカタログに接続できないため、ここではまだ何も選択できません。",
|
|
4110
4116
|
"binaryOutputGenerators": "生成に使用",
|
|
4117
|
+
"binaryOutputGeneratorsUnavailable": "このデプロイメントの生成系インテグレーションを読み取れなかったため、ここではまだ何も選択できません。これは接続の問題であり、登録漏れではありません。",
|
|
4111
4118
|
"binaryOutputGeneratorsPlaceholder": "統合が未選択",
|
|
4112
4119
|
"binaryOutputModalities": "提供が必要",
|
|
4113
4120
|
"binaryOutputModalitiesPlaceholder": "要件なし",
|
|
@@ -5420,7 +5427,8 @@
|
|
|
5420
5427
|
"misdirected": "{count} 件の成果物が {target} 以外のサービスに保存されました。",
|
|
5421
5428
|
"invalidEntries": "サービスと場所のどちらも示さない宣言項目 {count} 件を破棄しました。",
|
|
5422
5429
|
"omitted": "レポートの上限を超えてさらに {count} 件が宣言されており、一覧には含まれていません。",
|
|
5423
|
-
"unknownGenerators": "このデプロイメントが登録していない生成統合が指定されました: {ids}。エントリは申告どおり保持されます。統合はこのワークスペースではなくデプロイメントのコードで登録します。"
|
|
5430
|
+
"unknownGenerators": "このデプロイメントが登録していない生成統合が指定されました: {ids}。エントリは申告どおり保持されます。統合はこのワークスペースではなくデプロイメントのコードで登録します。",
|
|
5431
|
+
"generatorsUnverified": "ステップの完了時にこのデプロイメントの生成系インテグレーションを読み取れなかったため、以下に記載されたインテグレーションは照合されていません。エントリは申告どおり保持されます。"
|
|
5424
5432
|
},
|
|
5425
5433
|
"unknownGeneratorBadge": "未登録"
|
|
5426
5434
|
},
|
package/i18n/locales/pl.json
CHANGED
|
@@ -497,6 +497,12 @@
|
|
|
497
497
|
"unexpected": "Serwer zwrócił nieoczekiwaną odpowiedź. Spróbuj ponownie, a jeśli problem się powtarza, przekaż szczegóły operatorowi wdrożenia."
|
|
498
498
|
}
|
|
499
499
|
},
|
|
500
|
+
"unavailable": {
|
|
501
|
+
"description": {
|
|
502
|
+
"binary_generators_unreachable": "Nie udało się teraz odczytać integracji generatywnych tego wdrożenia, więc uruchomienie nie wystartowało. Nic nie jest źle skonfigurowane i nie trzeba nic zmieniać: spróbuj ponownie, gdy połączenie wróci.",
|
|
503
|
+
"foundational_builtins_unreachable": "Nie udało się teraz odczytać wbudowanych usług podstawowych tego wdrożenia. Nic nie jest źle skonfigurowane i nie trzeba nic zmieniać: spróbuj ponownie, gdy połączenie wróci."
|
|
504
|
+
}
|
|
505
|
+
},
|
|
500
506
|
"action": {
|
|
501
507
|
"retryFailed": "Ponowienie nie powiodło się",
|
|
502
508
|
"startFailed": "Nie udało się uruchomić",
|
|
@@ -4096,6 +4102,7 @@
|
|
|
4096
4102
|
"binaryOutputContextMissing": "Tych usług kontekstu nie ma już w katalogu: {ids}",
|
|
4097
4103
|
"binaryOutputUnavailable": "Katalog usług podstawowych jest nieosiągalny, więc nic nie da się tu jeszcze wybrać.",
|
|
4098
4104
|
"binaryOutputGenerators": "Generuj za pomocą",
|
|
4105
|
+
"binaryOutputGeneratorsUnavailable": "Nie udało się odczytać integracji generatywnych tego wdrożenia, więc nie można tu jeszcze niczego wybrać. To problem z połączeniem, a nie brak rejestracji.",
|
|
4099
4106
|
"binaryOutputGeneratorsPlaceholder": "Nie wybrano integracji",
|
|
4100
4107
|
"binaryOutputModalities": "Musi dostarczyć",
|
|
4101
4108
|
"binaryOutputModalitiesPlaceholder": "Brak wymagania",
|
|
@@ -5408,7 +5415,8 @@
|
|
|
5408
5415
|
"misdirected": "1 artefakt trafił do usługi innej niż {target}. | {count} artefakty trafiły do usługi innej niż {target}. | {count} artefaktów trafiło do usługi innej niż {target}.",
|
|
5409
5416
|
"invalidEntries": "Odrzucono 1 zadeklarowany wpis: nie wskazywał usługi ani lokalizacji. | Odrzucono {count} zadeklarowane wpisy: nie wskazywały usługi ani lokalizacji. | Odrzucono {count} zadeklarowanych wpisów: nie wskazywały usługi ani lokalizacji.",
|
|
5410
5417
|
"omitted": "Zadeklarowano jeszcze 1 artefakt ponad limit raportu i nie ma go na liście. | Zadeklarowano jeszcze {count} artefakty ponad limit raportu i nie ma ich na liście. | Zadeklarowano jeszcze {count} artefaktów ponad limit raportu i nie ma ich na liście.",
|
|
5411
|
-
"unknownGenerators": "Wskazano integrację generatywną, której ta instalacja nie rejestruje: {ids}. Wpis zostaje zachowany zgodnie z deklaracją; integrację rejestruje się w kodzie instalacji, a nie w tym obszarze roboczym. | Wskazano integracje generatywne, których ta instalacja nie rejestruje: {ids}. Ich wpisy zostają zachowane zgodnie z deklaracją; integracje rejestruje się w kodzie instalacji, a nie w tym obszarze roboczym. | Wskazano integracji generatywnych, których ta instalacja nie rejestruje: {ids}. Ich wpisy zostają zachowane zgodnie z deklaracją; integracje rejestruje się w kodzie instalacji, a nie w tym obszarze roboczym."
|
|
5418
|
+
"unknownGenerators": "Wskazano integrację generatywną, której ta instalacja nie rejestruje: {ids}. Wpis zostaje zachowany zgodnie z deklaracją; integrację rejestruje się w kodzie instalacji, a nie w tym obszarze roboczym. | Wskazano integracje generatywne, których ta instalacja nie rejestruje: {ids}. Ich wpisy zostają zachowane zgodnie z deklaracją; integracje rejestruje się w kodzie instalacji, a nie w tym obszarze roboczym. | Wskazano integracji generatywnych, których ta instalacja nie rejestruje: {ids}. Ich wpisy zostają zachowane zgodnie z deklaracją; integracje rejestruje się w kodzie instalacji, a nie w tym obszarze roboczym.",
|
|
5419
|
+
"generatorsUnverified": "Nie udało się odczytać integracji generatywnych tego wdrożenia przy zamykaniu kroku, więc wymienione poniżej integracje nie zostały z nimi porównane. Wpisy są zachowane w takiej postaci, w jakiej je zgłoszono."
|
|
5412
5420
|
},
|
|
5413
5421
|
"unknownGeneratorBadge": "Niezarejestrowana"
|
|
5414
5422
|
},
|
package/i18n/locales/tr.json
CHANGED
|
@@ -497,6 +497,12 @@
|
|
|
497
497
|
"unexpected": "Sunucu beklenmeyen bir yanıt döndürdü. Yeniden dene; sorun sürerse ayrıntıları dağıtım yöneticisiyle paylaş."
|
|
498
498
|
}
|
|
499
499
|
},
|
|
500
|
+
"unavailable": {
|
|
501
|
+
"description": {
|
|
502
|
+
"binary_generators_unreachable": "Bu dağıtımın üretken entegrasyonları şu anda okunamadı, bu yüzden çalıştırma başlatılmadı. Yanlış yapılandırılmış bir şey yok ve bir değişiklik gerekmiyor: bağlantı düzeldiğinde yeniden deneyin.",
|
|
503
|
+
"foundational_builtins_unreachable": "Bu dağıtımın yerleşik temel hizmetleri şu anda okunamadı. Yanlış yapılandırılmış bir şey yok ve bir değişiklik gerekmiyor: bağlantı düzeldiğinde yeniden deneyin."
|
|
504
|
+
}
|
|
505
|
+
},
|
|
500
506
|
"action": {
|
|
501
507
|
"retryFailed": "Yeniden deneme başarısız oldu",
|
|
502
508
|
"startFailed": "Başlatılamadı",
|
|
@@ -4108,6 +4114,7 @@
|
|
|
4108
4114
|
"binaryOutputContextMissing": "Bu bağlam hizmetleri artık katalogda yok: {ids}",
|
|
4109
4115
|
"binaryOutputUnavailable": "Temel hizmetler katalogu erişilemez durumda, bu yüzden burada henüz bir şey seçilemiyor.",
|
|
4110
4116
|
"binaryOutputGenerators": "Şununla üret",
|
|
4117
|
+
"binaryOutputGeneratorsUnavailable": "Bu dağıtımın üretken entegrasyonları okunamadı, bu yüzden burada henüz bir seçim yapılamıyor. Bu bir bağlantı sorunudur, eksik bir kayıt değil.",
|
|
4111
4118
|
"binaryOutputGeneratorsPlaceholder": "Entegrasyon seçilmedi",
|
|
4112
4119
|
"binaryOutputModalities": "Teslim etmeli",
|
|
4113
4120
|
"binaryOutputModalitiesPlaceholder": "Gereksinim yok",
|
|
@@ -5420,7 +5427,8 @@
|
|
|
5420
5427
|
"misdirected": "1 ürün {target} dışında bir hizmete gitti. | {count} ürün {target} dışında bir hizmete gitti.",
|
|
5421
5428
|
"invalidEntries": "Bildirilen 1 kayıt düşürüldü: ne hizmet ne de konum belirtiyordu. | Bildirilen {count} kayıt düşürüldü: ne hizmet ne de konum belirtiyorlardı.",
|
|
5422
5429
|
"omitted": "Raporun sınırının ötesinde 1 ürün daha bildirildi ve listede yer almıyor. | Raporun sınırının ötesinde {count} ürün daha bildirildi ve listede yer almıyor.",
|
|
5423
|
-
"unknownGenerators": "Bu kurulumun kaydetmediği bir üretken entegrasyon belirtildi: {ids}. Kayıt bildirildiği gibi korunur; entegrasyon bu çalışma alanında değil, kurulumun kodunda kaydedilir. | Bu kurulumun kaydetmediği üretken entegrasyonlar belirtildi: {ids}. Kayıtları bildirildiği gibi korunur; entegrasyonlar bu çalışma alanında değil, kurulumun kodunda kaydedilir."
|
|
5430
|
+
"unknownGenerators": "Bu kurulumun kaydetmediği bir üretken entegrasyon belirtildi: {ids}. Kayıt bildirildiği gibi korunur; entegrasyon bu çalışma alanında değil, kurulumun kodunda kaydedilir. | Bu kurulumun kaydetmediği üretken entegrasyonlar belirtildi: {ids}. Kayıtları bildirildiği gibi korunur; entegrasyonlar bu çalışma alanında değil, kurulumun kodunda kaydedilir.",
|
|
5431
|
+
"generatorsUnverified": "Adım tamamlanırken bu dağıtımın üretken entegrasyonları okunamadı, bu yüzden aşağıda adı geçen entegrasyonlar bunlarla karşılaştırılmadı. Kayıtlar bildirildiği gibi saklanır."
|
|
5424
5432
|
},
|
|
5425
5433
|
"unknownGeneratorBadge": "Kayıtlı değil"
|
|
5426
5434
|
},
|
package/i18n/locales/uk.json
CHANGED
|
@@ -497,6 +497,12 @@
|
|
|
497
497
|
"unexpected": "Сервер повернув неочікувану відповідь. Спробуй ще раз, а якщо проблема повторюється, передай деталі оператору розгортання."
|
|
498
498
|
}
|
|
499
499
|
},
|
|
500
|
+
"unavailable": {
|
|
501
|
+
"description": {
|
|
502
|
+
"binary_generators_unreachable": "Наразі не вдалося прочитати генеративні інтеграції цього розгортання, тому запуск не почався. Нічого не налаштовано неправильно і жодних змін не потрібно: спробуйте ще раз, коли з'єднання відновиться.",
|
|
503
|
+
"foundational_builtins_unreachable": "Наразі не вдалося прочитати вбудовані базові служби цього розгортання. Нічого не налаштовано неправильно і жодних змін не потрібно: спробуйте ще раз, коли з'єднання відновиться."
|
|
504
|
+
}
|
|
505
|
+
},
|
|
500
506
|
"action": {
|
|
501
507
|
"retryFailed": "Не вдалося повторити",
|
|
502
508
|
"startFailed": "Не вдалося запустити",
|
|
@@ -4096,6 +4102,7 @@
|
|
|
4096
4102
|
"binaryOutputContextMissing": "Цих служб контексту більше немає в каталозі: {ids}",
|
|
4097
4103
|
"binaryOutputUnavailable": "Каталог базових служб недосяжний, тому тут ще нічого не можна обрати.",
|
|
4098
4104
|
"binaryOutputGenerators": "Генерувати за допомогою",
|
|
4105
|
+
"binaryOutputGeneratorsUnavailable": "Не вдалося прочитати генеративні інтеграції цього розгортання, тож тут поки що немає з чого обирати. Це проблема зі з'єднанням, а не відсутня реєстрація.",
|
|
4099
4106
|
"binaryOutputGeneratorsPlaceholder": "Інтеграцію не вибрано",
|
|
4100
4107
|
"binaryOutputModalities": "Має надати",
|
|
4101
4108
|
"binaryOutputModalitiesPlaceholder": "Без вимоги",
|
|
@@ -5408,7 +5415,8 @@
|
|
|
5408
5415
|
"misdirected": "1 артефакт потрапив до служби, відмінної від {target}. | {count} артефакти потрапили до служби, відмінної від {target}. | {count} артефактів потрапило до служби, відмінної від {target}.",
|
|
5409
5416
|
"invalidEntries": "Відкинуто 1 заявлений запис: у ньому не було ні служби, ні розташування. | Відкинуто {count} заявлені записи: у них не було ні служби, ні розташування. | Відкинуто {count} заявлених записів: у них не було ні служби, ні розташування.",
|
|
5410
5417
|
"omitted": "Ще 1 артефакт заявлено понад межу звіту, і його немає в списку. | Ще {count} артефакти заявлено понад межу звіту, і їх немає в списку. | Ще {count} артефактів заявлено понад межу звіту, і їх немає в списку.",
|
|
5411
|
-
"unknownGenerators": "Названо генеративну інтеграцію, якої ця інсталяція не реєструє: {ids}. Запис збережено як заявлено; інтеграція реєструється в коді інсталяції, а не в цьому робочому просторі. | Названо генеративні інтеграції, яких ця інсталяція не реєструє: {ids}. Їхні записи збережено як заявлено; інтеграції реєструються в коді інсталяції, а не в цьому робочому просторі. | Названо генеративних інтеграцій, яких ця інсталяція не реєструє: {ids}. Їхні записи збережено як заявлено; інтеграції реєструються в коді інсталяції, а не в цьому робочому просторі."
|
|
5418
|
+
"unknownGenerators": "Названо генеративну інтеграцію, якої ця інсталяція не реєструє: {ids}. Запис збережено як заявлено; інтеграція реєструється в коді інсталяції, а не в цьому робочому просторі. | Названо генеративні інтеграції, яких ця інсталяція не реєструє: {ids}. Їхні записи збережено як заявлено; інтеграції реєструються в коді інсталяції, а не в цьому робочому просторі. | Названо генеративних інтеграцій, яких ця інсталяція не реєструє: {ids}. Їхні записи збережено як заявлено; інтеграції реєструються в коді інсталяції, а не в цьому робочому просторі.",
|
|
5419
|
+
"generatorsUnverified": "Під час завершення кроку не вдалося прочитати генеративні інтеграції цього розгортання, тому названі нижче інтеграції не було з ними звірено. Записи збережено так, як їх заявлено."
|
|
5412
5420
|
},
|
|
5413
5421
|
"unknownGeneratorBadge": "Не зареєстровано"
|
|
5414
5422
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.206.0",
|
|
4
4
|
"description": "Reusable Nuxt layer for the Agent Architecture Board SPA (components, stores, composables, pages). Consume it from a thin deployment app via `extends: ['@cat-factory/app']` and point it at your backend with NUXT_PUBLIC_API_BASE. See deploy/frontend for an example.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"valibot": "^1.4.2",
|
|
41
41
|
"vue": "3.5.40",
|
|
42
42
|
"wretch": "^3.0.9",
|
|
43
|
-
"@cat-factory/contracts": "0.
|
|
43
|
+
"@cat-factory/contracts": "0.213.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@toad-contracts/testing": "0.3.2",
|