@rslsp1/fa-app-tools 10.1.3 → 10.3.3
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/dist/StageEngine-O5I654LD.js +1243 -0
- package/dist/StageEngine-PYWITIIY.mjs +1243 -0
- package/dist/chunk-DDH2SGZM.js +311 -0
- package/dist/chunk-FTLEDU6C.js +157 -0
- package/dist/chunk-GKLCL2VQ.mjs +311 -0
- package/dist/chunk-QERFD7BY.js +1418 -0
- package/dist/{chunk-C5CGSPP3.mjs → chunk-RFTANBQ5.mjs} +80 -0
- package/dist/chunk-VSHSZEGV.js +26933 -0
- package/dist/{chunk-5SYVLULG.mjs → chunk-XLNA2BD6.mjs} +19108 -13258
- package/dist/{contracts-DdYOMBl9.d.mts → contracts-B3AbzYQ4.d.mts} +1 -1
- package/dist/{contracts-DdYOMBl9.d.ts → contracts-B3AbzYQ4.d.ts} +1 -1
- package/dist/{hfEventTypes-BUztJySs.d.mts → hfEventTypes-DQPjEP4T.d.mts} +12 -1
- package/dist/{hfEventTypes-fAdA-0A9.d.ts → hfEventTypes-DharkVsi.d.ts} +12 -1
- package/dist/index.d.mts +78 -6
- package/dist/index.d.ts +78 -6
- package/dist/index.js +1880 -22319
- package/dist/index.mjs +582 -401
- package/dist/{storeContract-CJi0fpCA.d.mts → storeContract-C-em5E61.d.ts} +140 -14
- package/dist/{storeContract-gc2dxews.d.ts → storeContract-Cc8tFavd.d.mts} +140 -14
- package/dist/szenen-contract.d.mts +2 -2
- package/dist/szenen-contract.d.ts +2 -2
- package/dist/szenen-contract.js +12 -1474
- package/dist/szenen-contract.mjs +1 -1
- package/dist/szenen.d.mts +1251 -566
- package/dist/szenen.d.ts +1251 -566
- package/dist/szenen.js +1373 -23637
- package/dist/szenen.mjs +141 -128
- package/package.json +4 -2
package/dist/szenen.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { A as ALL_PUBLISH_RULES, a as AngezeigterTag, b as AnnotateRunsOptions, C as CHAIN_EDGES,
|
|
3
|
-
import { T as TextGenerationPort, Q as QueryResult, C as CommandResult } from './contracts-
|
|
4
|
-
export { S as SIMULATION_PROVIDER,
|
|
5
|
-
import { g as HFStateSnapshot, F as FlowGenerateText } from './hfEventTypes-
|
|
6
|
-
export { C as CreateFlowTextGenerationPortOptions, r as createFlowTextGenerationPort } from './hfEventTypes-
|
|
1
|
+
import { K as ElementEvent, Q as ElementStoreState, a9 as PromptConstructionTag, G as DraftChainMeta, am as ReferenceResolver, q as DerivableType, a4 as PreferredHeadResolution, ag as PublishFinding, ay as SchemaError, af as PublishCheckResult, aF as SzenenElementType, aM as TargetModelResolution, a1 as PageRequest, Y as LibraryTagRef, aa as PromptRunAnnotation, a0 as Page, z as DerivationInputMode, V as ImageProvenance, v as DerivationFailure, Z as NotDerivable, s as DerivationConflict, x as DerivationFollowUp, t as DerivationDiagnostic, r as DerivationAssessment, k as ContextChainPort, d as AuthoritativeSzenenStore, aE as SzenenElementStore, y as DerivationImage, aH as SzenenQueries, aD as SzenenCommands, aO as UnusableProposal, O as ElementSnapshot, J as ElementAnnotation } from './storeContract-Cc8tFavd.mjs';
|
|
2
|
+
export { A as ALL_PUBLISH_RULES, a as AngezeigterTag, b as AnnotateElementsOptions, c as AnnotateRunsOptions, C as CHAIN_EDGES, e as CHAIN_LINK_FIELDS, f as CatalogueEntry, g as ChainLinkField, h as ChainTarget, i as ChainVerdict, j as CompiledSchemas, l as ContractCheck, m as ContractCheckResult, n as ContractRunResult, o as ContractViolation, p as CreateElementInput, D as DERIVABLE_TYPES, u as DerivationEnvelope, w as DerivationFailureClass, B as DerivationPolicyPayload, E as DerivationProposal, F as DraftChainLink, H as DraftFork, I as DraftRecord, L as ElementListFilter, M as ElementMetadata, N as ElementRecord, P as ElementStoreContractHarness, R as ElementVersionValidation, S as FindingSeverity, T as ImageBatchPersistedImage, U as ImageBatchPersistedPayload, W as KEINE_BILDER, X as LOAD_MORE_PAGE_SIZE, _ as OptionalCommand, $ as PROBE_VERSION_ID, a2 as ParentRelation, a3 as PreferredHeadOutcome, a5 as PreferredHeadSelection, a6 as PreferredHeadSource, a7 as ProjectionState, a8 as ProjectionStatus, ab as PromptRunPreviewImage, ac as PromptRunTagsSetPayload, ad as PromptTagSelector, ae as PublishCheckInput, ah as PublishRejected, ai as PublishVersionInput, aj as PublishedVersion, ak as REFERENCE_FIELD, al as ReducerFinding, an as ResolvePreferredHeadOptions, ao as ResolvedVersion, ap as ReviseMetadataInput, aq as STYLE_PAYLOAD, ar as STYLE_PAYLOAD_V2, as as SZENEN_ELEMENT_TYPES, at as SZENEN_EVENT_PREFIX, au as SZENEN_EVENT_TYPES, av as SceneDerivationInput, aw as SceneDerivationOutcome, ax as SceneDerivationOutput, az as SchemaValidationResult, aA as SetPreferredHeadInput, aB as StoreAuthority, aC as SzenenCommandResult, aG as SzenenProjection, aI as TagHerkunft, aJ as TargetModelCandidate, aK as TargetModelQueries, aL as TargetModelQuery, aN as UnsupportedSchemaError, aP as VersionDag, aQ as VersionDagError, aR as VersionNode, aS as VersionParentLink, aT as WriteConflict, aU as WriteDraftInput, aV as annotateElementsFromEvents, aW as annotateRunsFromEvents, aX as annotatedElementsPageOver, aY as assessDerivationResponse, aZ as buildDerivationSystemInstruction, a_ as buildDerivationUserPrompt, a$ as buildVersionDag, b0 as checkChainTargets, b1 as checkDerivationResponse, b2 as checkDraftChainMeta, b3 as collectPromptRunTags, b4 as collectVersionRefs, b5 as compileSchemas, b6 as createSimulationSceneDerivationPort, b7 as describeTargetModelFailure, b8 as draftRevisionOf, b9 as effectivePromptVocabulary, ba as elementStoreContractChecks, bb as elementsByActivity, bc as formatSchemaErrors, bd as getSzenenSchemas, be as isOk, bf as isProjectionCurrent, bg as labelsOf, bh as linkFor, bi as listElementsPageOver, bj as logRevisionOf, bk as mergeRunTags, bl as pageOf, bm as pageRequestFrom, bn as parseDerivationResponse, bo as preferredHeadRevisionOf, bp as preferredVersionId, bq as promptRunTagsOf, br as promptTagGroup, bs as reduceElementEvents, bt as resolvePreferredHead, bu as resolvePromptConstructionTags, bv as resolveTargetModelOver, bw as resolverFromQueries, bx as runElementStoreContract, by as runPublishChecks, bz as runSceneDerivation, bA as showChain, bB as tagRefsAus, bC as validateAgainst, bD as validateDerivationInput, bE as validateElementVersion, bF as validatePayload, bG as withReference } from './storeContract-Cc8tFavd.mjs';
|
|
3
|
+
import { T as TextGenerationImage, c as TextGenerationPort, Q as QueryResult, C as CommandResult } from './contracts-B3AbzYQ4.mjs';
|
|
4
|
+
export { S as SIMULATION_PROVIDER, d as TextGenerationRequest, e as TextGenerationResult, h as createFakeTextGenerationPort, i as createSimulationTextGenerationPort, s as simulatedAnswerFor } from './contracts-B3AbzYQ4.mjs';
|
|
5
|
+
import { e as HFMetadataEntry, g as HFStateSnapshot, F as FlowGenerateText } from './hfEventTypes-DQPjEP4T.mjs';
|
|
6
|
+
export { C as CreateFlowTextGenerationPortOptions, r as createFlowTextGenerationPort } from './hfEventTypes-DQPjEP4T.mjs';
|
|
7
7
|
import React__default from 'react';
|
|
8
8
|
|
|
9
9
|
/** Aktuelle Fassung des Dateiformats. */
|
|
@@ -104,6 +104,444 @@ declare const SZENEN_SCHEMAS: Readonly<Record<string, RawSchema>>;
|
|
|
104
104
|
/** Dateiname des Umschlagschemas — Einstieg jeder Validierung. */
|
|
105
105
|
declare const ELEMENT_VERSION_SCHEMA_FILE = "element-version.schema.json";
|
|
106
106
|
|
|
107
|
+
declare const STAGE_MIGRATION_ID = "stage_floor_center_v1";
|
|
108
|
+
declare const STAGE_MIGRATION_EVENT = "szenen.stage_convention_migrated";
|
|
109
|
+
type Payload$1 = Record<string, any>;
|
|
110
|
+
interface StageMigrationEntry {
|
|
111
|
+
element_id: string;
|
|
112
|
+
version_id?: string;
|
|
113
|
+
draft_id?: string;
|
|
114
|
+
revision?: number;
|
|
115
|
+
before: Payload$1;
|
|
116
|
+
after: Payload$1;
|
|
117
|
+
}
|
|
118
|
+
interface StageMigration {
|
|
119
|
+
migration_id: typeof STAGE_MIGRATION_ID;
|
|
120
|
+
entries: StageMigrationEntry[];
|
|
121
|
+
report: {
|
|
122
|
+
remaining_boxes: string[];
|
|
123
|
+
changed_camera_views: string[];
|
|
124
|
+
placements: number;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/** One atomic log event, retaining identities and references under the issue's MVP migration exception. */
|
|
128
|
+
declare function prepareStageMigration(state: ElementStoreState): StageMigration;
|
|
129
|
+
|
|
130
|
+
/** Der Subtyp, der ohne jede weitere Bedingung gilt (Auftrag §1). */
|
|
131
|
+
declare const GENERAL_POLICY_SUBTYPE = "general";
|
|
132
|
+
/**
|
|
133
|
+
* Eine automatisch aufgeloeste Policy — mit vollstaendiger Provenienz (D-22).
|
|
134
|
+
*
|
|
135
|
+
* `chain_index` ist **nicht** Teil des `RendererInput`: Er ordnet, er ist kein
|
|
136
|
+
* Herkunftsnachweis der Regel. Die entstandene Reihenfolge friert der Lauf
|
|
137
|
+
* ohnehin woertlich ein.
|
|
138
|
+
*/
|
|
139
|
+
interface ResolvedScenePolicy {
|
|
140
|
+
element_id: string;
|
|
141
|
+
version_id: string;
|
|
142
|
+
subtype: string;
|
|
143
|
+
rank: number;
|
|
144
|
+
text: string;
|
|
145
|
+
locale: string | null;
|
|
146
|
+
/** Glied der Kontextkette, auf dem das Element liegt. `0` = Arbeitskontext. */
|
|
147
|
+
chain_index: number;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Das Ergebnis der Aufloesung — drei Ausgaenge, drei Sachverhalte.
|
|
151
|
+
*
|
|
152
|
+
* `rejected` ist fachlich (ein Fork, ueber den jemand entscheiden muss),
|
|
153
|
+
* `error` technisch bzw. ein Datenfehler. Sie zusammenzulegen hiesse, einen
|
|
154
|
+
* Speicherdefekt als Normalzustand anzuzeigen.
|
|
155
|
+
*/
|
|
156
|
+
type ScenePolicyResult = {
|
|
157
|
+
kind: 'ok';
|
|
158
|
+
policies: readonly ResolvedScenePolicy[];
|
|
159
|
+
} | {
|
|
160
|
+
kind: 'rejected';
|
|
161
|
+
message: string;
|
|
162
|
+
element_id: string;
|
|
163
|
+
heads: readonly string[];
|
|
164
|
+
} | {
|
|
165
|
+
kind: 'error';
|
|
166
|
+
message: string;
|
|
167
|
+
retryable: boolean;
|
|
168
|
+
};
|
|
169
|
+
/** Ein Lesevorgang der Momentaufnahme, so schmal wie moeglich beschrieben. */
|
|
170
|
+
interface SnapshotRead<T> {
|
|
171
|
+
kind: string;
|
|
172
|
+
message?: string;
|
|
173
|
+
value?: T;
|
|
174
|
+
}
|
|
175
|
+
/** Der Ausschnitt einer Momentaufnahme, den diese Aufloesung braucht. */
|
|
176
|
+
interface PolicySnapshot {
|
|
177
|
+
getElement(elementId: string): SnapshotRead<{
|
|
178
|
+
element: {
|
|
179
|
+
element_id: string;
|
|
180
|
+
type: string;
|
|
181
|
+
context_id?: string | null;
|
|
182
|
+
};
|
|
183
|
+
versions?: readonly {
|
|
184
|
+
version_id: string;
|
|
185
|
+
element_id: string;
|
|
186
|
+
payload: unknown;
|
|
187
|
+
}[];
|
|
188
|
+
preferredHeads?: readonly {
|
|
189
|
+
context_id: string | null;
|
|
190
|
+
version_id?: string;
|
|
191
|
+
}[];
|
|
192
|
+
} | null>;
|
|
193
|
+
/**
|
|
194
|
+
* Die Elemente eines Kettenglieds — **optional im Typ, nicht im Betrieb.**
|
|
195
|
+
*
|
|
196
|
+
* Optional, weil der Shot-Pfad dieselbe Momentaufnahme benutzt und dort
|
|
197
|
+
* keine Liste braucht. Fehlt sie im Szene-Direktlauf, ist das ein
|
|
198
|
+
* unvollstaendiger Hostadapter und wird laut gemeldet — nicht als „keine
|
|
199
|
+
* Policy vorhanden" ausgelegt (Grundsatzregel 4).
|
|
200
|
+
*/
|
|
201
|
+
listElements?(filter: {
|
|
202
|
+
contextId: string | null;
|
|
203
|
+
type: string;
|
|
204
|
+
}): SnapshotRead<readonly {
|
|
205
|
+
element_id: string;
|
|
206
|
+
type: string;
|
|
207
|
+
}[]>;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Die deterministische Ordnung automatisch gefundener Policies (Auftrag §6).
|
|
211
|
+
*
|
|
212
|
+
* Eine automatisch entdeckte Menge hat keine gespeicherte Array-Reihenfolge;
|
|
213
|
+
* `rank` allein reicht deshalb nicht aus, sobald zwei Regeln denselben Rang
|
|
214
|
+
* tragen. Keine Deduplizierung nach `name`: verschiedene Elemente sind
|
|
215
|
+
* verschiedene Regeln.
|
|
216
|
+
*/
|
|
217
|
+
declare function sortScenePolicies(policies: readonly ResolvedScenePolicy[]): readonly ResolvedScenePolicy[];
|
|
218
|
+
/**
|
|
219
|
+
* Der Vergleichswert zweier Aufloesungen — fuer die A/B-Stabilitaetspruefung.
|
|
220
|
+
*
|
|
221
|
+
* Verglichen wird Element **und** Version in der entstandenen Reihenfolge:
|
|
222
|
+
* Genau dann ist der Policy-Satz derselbe, den der Nutzer gesehen hat. Der
|
|
223
|
+
* Text gehoert nicht hinein — eine veroeffentlichte Version ist
|
|
224
|
+
* unveraenderlich, und ein abweichender Text bei gleicher Kennung waere ein
|
|
225
|
+
* Speicherdefekt, kein Wettlauf.
|
|
226
|
+
*/
|
|
227
|
+
declare function scenePolicyFingerprint(policies: readonly ResolvedScenePolicy[]): string;
|
|
228
|
+
/**
|
|
229
|
+
* Die allgemeinen Policies, die fuer einen Szene-Direktlauf gelten.
|
|
230
|
+
*
|
|
231
|
+
* Ausgewertet wird die **vollstaendige** Kontextkette: Arbeitskontext, geerbte
|
|
232
|
+
* Kontexte, global. Je sichtbarem `prompt_policy`-Element wird die wirksame
|
|
233
|
+
* Version ausschliesslich mit der vorhandenen Preferred-Head-Logik bestimmt
|
|
234
|
+
* (D-36) — hier wird nichts neu ausgelegt und nichts geraten.
|
|
235
|
+
*
|
|
236
|
+
* Kein Netzzugriff: Gelesen wird genau die uebergebene Momentaufnahme. Das ist
|
|
237
|
+
* die Voraussetzung dafuer, dass die Auswahl in dieselbe Konsistenzgrenze
|
|
238
|
+
* faellt wie das Einfrieren der Szene (Gegenpruefung P2).
|
|
239
|
+
*/
|
|
240
|
+
declare function resolveGeneralScenePolicies(snapshot: PolicySnapshot, contextChain: readonly (string | null)[],
|
|
241
|
+
/**
|
|
242
|
+
* Das gewaehlte Zielmodell dieses Laufs, oder `null` fuer einen generischen.
|
|
243
|
+
*
|
|
244
|
+
* Nur seinetwegen kommen `target_model`-Policies ueberhaupt in Betracht;
|
|
245
|
+
* ohne Zielmodell bleibt die Auswahl exakt die von Schritt 03.
|
|
246
|
+
*/
|
|
247
|
+
targetModelElementId?: string | null): ScenePolicyResult;
|
|
248
|
+
|
|
249
|
+
/** Ein eingefrorener Kettenknoten — die Provenienz des Laufs (D-98). */
|
|
250
|
+
interface FrozenChainNode {
|
|
251
|
+
type: DerivableType;
|
|
252
|
+
element_id: string;
|
|
253
|
+
draft_id: string;
|
|
254
|
+
revision: number;
|
|
255
|
+
}
|
|
256
|
+
interface FreezeSuccess {
|
|
257
|
+
kind: 'ok';
|
|
258
|
+
chainId: string;
|
|
259
|
+
nodes: readonly FrozenChainNode[];
|
|
260
|
+
input: RendererInput;
|
|
261
|
+
/**
|
|
262
|
+
* Der Rekonstruktionslauf, aus dem die Kette entstand (D-123, A2).
|
|
263
|
+
*
|
|
264
|
+
* Alle Knoten einer Kette teilen dieselben Kettenmetadaten (D-96) — die
|
|
265
|
+
* Übernahme entsteht aus **einer** Operation aus **einem** Ursprung —, daher
|
|
266
|
+
* genügt der Wert eines beliebigen erfassten Knotens, hier der des Shots.
|
|
267
|
+
*/
|
|
268
|
+
sourceRunId?: string;
|
|
269
|
+
/** Gesetzt, wenn der Inhalt der Kette aus einer Recovery-Arbeitsfassung kam. */
|
|
270
|
+
sourceRecoveryId?: string;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Warum eine Kette nicht eingefroren werden konnte.
|
|
274
|
+
*
|
|
275
|
+
* `conflict` ist bewusst von `rejected` getrennt: Das eine ist ein Wettlauf und
|
|
276
|
+
* beim nächsten Versuch weg, das andere ein Mangel der Kette, den jemand
|
|
277
|
+
* beheben muss. Sie gleich zu behandeln hieße, dem Nutzer „nochmal versuchen"
|
|
278
|
+
* für einen unvollständigen Shot anzubieten.
|
|
279
|
+
*
|
|
280
|
+
* `error` kam mit Stufe 6.7.1 (D-125) dazu: **technisch**, nicht fachlich —
|
|
281
|
+
* Netz, Drosselung, Speicher nicht erreichbar. Vor 6.7.1 landete ein solcher
|
|
282
|
+
* Lesefehler beim Einfrieren als `rejected`, und ein HF-429 sah dadurch wie
|
|
283
|
+
* ein Mangel der Kette aus (der reale 429-Durchstich vom 2026-08-13). HF671-10
|
|
284
|
+
* verlangt, dass er stattdessen hier ankommt.
|
|
285
|
+
*/
|
|
286
|
+
type FreezeFailure = {
|
|
287
|
+
kind: 'conflict';
|
|
288
|
+
message: string;
|
|
289
|
+
/** Der Knoten, der sich zwischen den beiden Lesedurchgängen änderte. */
|
|
290
|
+
node: {
|
|
291
|
+
type: DerivableType;
|
|
292
|
+
element_id: string;
|
|
293
|
+
draft_id: string;
|
|
294
|
+
};
|
|
295
|
+
expectedRevision: number;
|
|
296
|
+
actualRevision: number;
|
|
297
|
+
} | {
|
|
298
|
+
kind: 'rejected';
|
|
299
|
+
message: string;
|
|
300
|
+
failure?: ResolveFailure;
|
|
301
|
+
} | {
|
|
302
|
+
kind: 'error';
|
|
303
|
+
message: string;
|
|
304
|
+
retryable: boolean;
|
|
305
|
+
};
|
|
306
|
+
type FreezeResult = FreezeSuccess | FreezeFailure;
|
|
307
|
+
/** Ein einzelnes Element aus einer Momentaufnahme — kein Netzzugriff mehr. */
|
|
308
|
+
interface ChainSnapshot {
|
|
309
|
+
promptConstructionTags?(): readonly PromptConstructionTag[];
|
|
310
|
+
referenceSentenceTags?(): readonly ReferenceSentenceTag[];
|
|
311
|
+
getElement(elementId: string): {
|
|
312
|
+
kind: string;
|
|
313
|
+
message?: string;
|
|
314
|
+
value?: {
|
|
315
|
+
element: {
|
|
316
|
+
element_id: string;
|
|
317
|
+
type: string;
|
|
318
|
+
context_id?: string | null;
|
|
319
|
+
};
|
|
320
|
+
draft: {
|
|
321
|
+
draft_id: string;
|
|
322
|
+
revision: number;
|
|
323
|
+
payload: unknown;
|
|
324
|
+
chain?: DraftChainMeta;
|
|
325
|
+
} | null;
|
|
326
|
+
draftFork?: unknown | null;
|
|
327
|
+
/**
|
|
328
|
+
* Veröffentlichte Versionen — für den Szene-Direktpfad (D-135).
|
|
329
|
+
*
|
|
330
|
+
* Eine Draft-Kette friert ausschließlich Entwürfe ein; eine Szene kann
|
|
331
|
+
* dagegen längst veröffentlicht sein und gar keinen Entwurf mehr haben.
|
|
332
|
+
* Beide Hosts liefern die Liste bereits mit (`ElementSnapshot`), sie war
|
|
333
|
+
* hier nur nicht deklariert.
|
|
334
|
+
*/
|
|
335
|
+
versions?: readonly {
|
|
336
|
+
version_id: string;
|
|
337
|
+
element_id: string;
|
|
338
|
+
payload: unknown;
|
|
339
|
+
parents?: unknown;
|
|
340
|
+
}[];
|
|
341
|
+
preferredHeads?: readonly {
|
|
342
|
+
context_id: string | null;
|
|
343
|
+
version_id?: string;
|
|
344
|
+
}[];
|
|
345
|
+
} | null;
|
|
346
|
+
};
|
|
347
|
+
/**
|
|
348
|
+
* Die Elemente eines Kettenglieds — fuer die allgemeinen Kontext-Policies
|
|
349
|
+
* des Szene-Direktlaufs (Schritt 03 §3).
|
|
350
|
+
*
|
|
351
|
+
* Optional im Typ, weil der Shot-Pfad dieselbe Momentaufnahme benutzt und
|
|
352
|
+
* dort keine Liste braucht. Im Szene-Direktlauf ist sie **Pflicht**: Fehlt
|
|
353
|
+
* sie, meldet die Policy-Aufloesung einen Fehler, statt „keine Policy"
|
|
354
|
+
* zu behaupten (Grundsatzregel 4).
|
|
355
|
+
*
|
|
356
|
+
* Aus **derselben** Momentaufnahme wie `getElement` — genau das haelt die
|
|
357
|
+
* Policy-Auswahl in der A/B-Konsistenzgrenze und verhindert einen dritten
|
|
358
|
+
* Live-Leseweg (Gegenpruefung P2).
|
|
359
|
+
*/
|
|
360
|
+
listElements?(filter: {
|
|
361
|
+
contextId: string | null;
|
|
362
|
+
type: string;
|
|
363
|
+
}): {
|
|
364
|
+
kind: string;
|
|
365
|
+
message?: string;
|
|
366
|
+
value?: readonly {
|
|
367
|
+
element_id: string;
|
|
368
|
+
type: string;
|
|
369
|
+
}[];
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Was das Einfrieren vom Elementspeicher braucht — bewusst schmal.
|
|
374
|
+
*
|
|
375
|
+
* Seit Stufe 6.7.1 (D-125) keine sechs unabhängigen `getElement()`-Aufrufe
|
|
376
|
+
* mehr, sondern genau zwei Momentaufnahmen: `readSnapshot({ fresh: false })`
|
|
377
|
+
* für Durchgang A, `readSnapshot({ fresh: true })` für Durchgang B. „Frisch"
|
|
378
|
+
* heißt dabei D-125 — inkrementell gegen den Kanal synchronisiert, nicht ein
|
|
379
|
+
* zweites Mal aus demselben TTL-Cache bedient (sonst könnte B den Konflikt aus
|
|
380
|
+
* HF671-8/9 nicht mehr sehen).
|
|
381
|
+
*/
|
|
382
|
+
interface ChainQueries {
|
|
383
|
+
readSnapshot(options: {
|
|
384
|
+
fresh: boolean;
|
|
385
|
+
withReferenceSentence?: boolean;
|
|
386
|
+
withPromptTags?: boolean;
|
|
387
|
+
}): Promise<ChainSnapshot>;
|
|
388
|
+
}
|
|
389
|
+
interface FreezeDraftChainInput {
|
|
390
|
+
withCameraPreview?: boolean;
|
|
391
|
+
/** Das Shot-**Element** der Kette. Eine Version gibt es hier gerade nicht. */
|
|
392
|
+
shotElementId: string;
|
|
393
|
+
store: ChainQueries;
|
|
394
|
+
resolver: ReferenceResolver;
|
|
395
|
+
contextChain: readonly (string | null)[];
|
|
396
|
+
userInstruction?: string | null;
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Friert die vom Shot erreichbare Draft-Kette ein und baut die Renderer-Eingabe.
|
|
400
|
+
*
|
|
401
|
+
* Bei **jedem** Fehlausgang gilt: null Provideraufrufe. Diese Funktion ruft
|
|
402
|
+
* ohnehin kein Modell — sie liefert nur die Eingabe, und der Aufrufer entscheidet
|
|
403
|
+
* danach, ob er sie benutzt.
|
|
404
|
+
*/
|
|
405
|
+
declare function freezeDraftChain(input: FreezeDraftChainInput): Promise<FreezeResult>;
|
|
406
|
+
/**
|
|
407
|
+
* Was eingefroren wurde — **eines** von beidem, nie beides und nie erfunden.
|
|
408
|
+
*
|
|
409
|
+
* Ein Entwurf hat `draft_id` und `revision` und keine `version_id`; eine
|
|
410
|
+
* veröffentlichte Version genau umgekehrt. Ein Feld, das ehrlich `null` ist,
|
|
411
|
+
* ist besser als eine Kennung, die wie eine echte aussieht (D-75/D-98).
|
|
412
|
+
*/
|
|
413
|
+
interface FrozenSceneState {
|
|
414
|
+
element_id: string;
|
|
415
|
+
draft_id: string | null;
|
|
416
|
+
revision: number | null;
|
|
417
|
+
version_id: string | null;
|
|
418
|
+
}
|
|
419
|
+
interface FreezeSceneSuccess {
|
|
420
|
+
kind: 'ok';
|
|
421
|
+
scene: FrozenSceneState;
|
|
422
|
+
input: RendererInput;
|
|
423
|
+
/**
|
|
424
|
+
* Die automatisch aufgeloesten allgemeinen Kontext-Policies (Schritt 03).
|
|
425
|
+
*
|
|
426
|
+
* Redundant zu `input.policies` und trotzdem hier: Der Aufrufer sieht so den
|
|
427
|
+
* Satz **mit** `chain_index`, ohne die Ordnung nachbauen zu muessen. Der
|
|
428
|
+
* eingefrorene Lauf traegt weiterhin ausschliesslich `input`.
|
|
429
|
+
*/
|
|
430
|
+
policies: readonly ResolvedScenePolicy[];
|
|
431
|
+
/**
|
|
432
|
+
* Das eingefrorene Zielmodell, oder `null` fuer einen generischen Lauf.
|
|
433
|
+
*
|
|
434
|
+
* Wie `policies` redundant zu `input` und trotzdem hier: Der Aufrufer sieht
|
|
435
|
+
* die Provenienz, ohne sie aus `renderer_input` zurueckrechnen zu muessen.
|
|
436
|
+
*/
|
|
437
|
+
targetModel: FrozenSceneTargetModel | null;
|
|
438
|
+
}
|
|
439
|
+
type FreezeSceneResult = FreezeSceneSuccess | FreezeFailure;
|
|
440
|
+
interface FreezeSceneWorkingStateInput {
|
|
441
|
+
/** Das Szenen-**Element**. Ob Entwurf oder Version, entscheidet der Bestand. */
|
|
442
|
+
sceneElementId: string;
|
|
443
|
+
store: ChainQueries;
|
|
444
|
+
resolver: ReferenceResolver;
|
|
445
|
+
contextChain: readonly (string | null)[];
|
|
446
|
+
userInstruction?: string | null;
|
|
447
|
+
/**
|
|
448
|
+
* Das gewaehlte Zielmodell (Kette `szenen-direktlauf-target-model-policy`).
|
|
449
|
+
*
|
|
450
|
+
* Optional: Ohne Angabe bleibt der Ablauf exakt der generische von D-135 —
|
|
451
|
+
* kein Zielmodell im `RendererInput`, keine `target_model`-Policy.
|
|
452
|
+
*/
|
|
453
|
+
targetModelElementId?: string | null;
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Das gewaehlte Zielmodell eines Szene-Direktlaufs — Kette
|
|
457
|
+
* `szenen-direktlauf-target-model-policy`, Schritt 01.
|
|
458
|
+
*
|
|
459
|
+
* **Warum ueber die `element_id` und nicht ueber den Key.** Der Shot-Pfad sucht
|
|
460
|
+
* ein Zielmodell ueber `prompt_render_settings.target_model_id`, also ueber
|
|
461
|
+
* einen freien Key entlang der Kette — mit allen Ausgaengen, die dazugehoeren
|
|
462
|
+
* (`not_found`, `ambiguous`, `retired`, `fork`). Der Szene-Direktlauf bekommt
|
|
463
|
+
* das Modell dagegen von einem Menschen ausgewaehlt, und der waehlt es aus
|
|
464
|
+
* einer Liste, die schon aufgeloest ist. Die Kennung ist damit eindeutig, und
|
|
465
|
+
* sie ist dieselbe, die eine `target_model`-Policy in
|
|
466
|
+
* `applicable_target_models` nennt. Eine zweite Suche ueber einen geratenen
|
|
467
|
+
* Namen waere fehleranfaelliger als die Kennung, die vorliegt.
|
|
468
|
+
*
|
|
469
|
+
* Die **Version** waehlt trotzdem niemand von Hand: Sie kommt aus derselben
|
|
470
|
+
* D-36-Preferred-Head-Aufloesung wie der Arbeitsstand der Szene daneben.
|
|
471
|
+
*/
|
|
472
|
+
interface FrozenSceneTargetModel {
|
|
473
|
+
element_id: string;
|
|
474
|
+
version_id: string;
|
|
475
|
+
/** Glied der Kontextkette, auf dem das Element liegt. `0` = Arbeitskontext. */
|
|
476
|
+
chain_index: number;
|
|
477
|
+
payload: unknown;
|
|
478
|
+
head: PreferredHeadResolution;
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Friert den Arbeitsstand **einer Szene** ein und baut die Renderer-Eingabe
|
|
482
|
+
* (D-135).
|
|
483
|
+
*
|
|
484
|
+
* Dasselbe optimistische Zwei-Durchgang-Verfahren wie bei der Draft-Kette
|
|
485
|
+
* (D-97): lesen, kopieren, frisch nachlesen, Revision vergleichen, und den
|
|
486
|
+
* Snapshot aus den **kopierten** Inhalten bauen. Ein Konflikt bleibt ein
|
|
487
|
+
* echter Blocker — **vor** dem kostenpflichtigen Provideraufruf. Dieser Goal
|
|
488
|
+
* lockert daran nichts (Goal §8.1).
|
|
489
|
+
*
|
|
490
|
+
* Eine veröffentlichte Version ist unveränderlich; für sie kann Durchgang B
|
|
491
|
+
* keinen Revisionskonflikt finden. Er läuft trotzdem: Verschwindet die Version
|
|
492
|
+
* zwischen den Durchgängen aus der wirksamen Sicht — stillgelegt, ein anderer
|
|
493
|
+
* Preferred Head —, ist der Stand nicht mehr der, den der Nutzer gesehen hat.
|
|
494
|
+
*/
|
|
495
|
+
declare function freezeSceneWorkingState(input: FreezeSceneWorkingStateInput): Promise<FreezeSceneResult>;
|
|
496
|
+
|
|
497
|
+
interface ReferenceSentenceTag {
|
|
498
|
+
category: string;
|
|
499
|
+
label: string;
|
|
500
|
+
value: string;
|
|
501
|
+
context_id: string | null;
|
|
502
|
+
}
|
|
503
|
+
interface FrozenReferenceSentence {
|
|
504
|
+
tag: string;
|
|
505
|
+
tag_context_id: string | null;
|
|
506
|
+
/** Historical runs may carry provenance of the former fragment link. */
|
|
507
|
+
element_id?: string;
|
|
508
|
+
version_id?: string;
|
|
509
|
+
template_text: string;
|
|
510
|
+
text: string;
|
|
511
|
+
reference_image_token: string;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
interface CameraPreviewContext {
|
|
515
|
+
camera_id: string;
|
|
516
|
+
background_color: string;
|
|
517
|
+
composition_reference_sent: boolean;
|
|
518
|
+
reference_image_token: string | null;
|
|
519
|
+
coordinate_system: 'blender_z_up_meters';
|
|
520
|
+
objects: {
|
|
521
|
+
node_id: string;
|
|
522
|
+
label: string;
|
|
523
|
+
type: string;
|
|
524
|
+
preview_color: {
|
|
525
|
+
hex: string;
|
|
526
|
+
name: string;
|
|
527
|
+
};
|
|
528
|
+
proxy: {
|
|
529
|
+
primitive: string;
|
|
530
|
+
dimensions_m: readonly number[];
|
|
531
|
+
position_m: readonly number[];
|
|
532
|
+
rotation_euler_deg: readonly number[];
|
|
533
|
+
scale: readonly number[];
|
|
534
|
+
};
|
|
535
|
+
contributions: RendererInput['scene']['nodes'][number]['contributions'];
|
|
536
|
+
properties: Record<string, unknown>;
|
|
537
|
+
image_references: NonNullable<RendererInput['scene']['nodes'][number]['media_refs']>;
|
|
538
|
+
solid_color_pixels?: number;
|
|
539
|
+
}[];
|
|
540
|
+
excluded_hidden_node_ids: string[];
|
|
541
|
+
}
|
|
542
|
+
/** Built from precisely the same frame and palette as the PNG, without interpreting image contents. */
|
|
543
|
+
declare function buildCameraPreviewContext(input: RendererInput, pixels?: Readonly<Record<string, number>>): CameraPreviewContext;
|
|
544
|
+
|
|
107
545
|
/**
|
|
108
546
|
* Ist dieses Scene Setup platzierbar?
|
|
109
547
|
*
|
|
@@ -391,125 +829,6 @@ declare function sceneOnlyCapabilities(scenePayload: unknown): {
|
|
|
391
829
|
can_place: CapabilityFlag;
|
|
392
830
|
};
|
|
393
831
|
|
|
394
|
-
/** Der Subtyp, der ohne jede weitere Bedingung gilt (Auftrag §1). */
|
|
395
|
-
declare const GENERAL_POLICY_SUBTYPE = "general";
|
|
396
|
-
/**
|
|
397
|
-
* Eine automatisch aufgeloeste Policy — mit vollstaendiger Provenienz (D-22).
|
|
398
|
-
*
|
|
399
|
-
* `chain_index` ist **nicht** Teil des `RendererInput`: Er ordnet, er ist kein
|
|
400
|
-
* Herkunftsnachweis der Regel. Die entstandene Reihenfolge friert der Lauf
|
|
401
|
-
* ohnehin woertlich ein.
|
|
402
|
-
*/
|
|
403
|
-
interface ResolvedScenePolicy {
|
|
404
|
-
element_id: string;
|
|
405
|
-
version_id: string;
|
|
406
|
-
subtype: string;
|
|
407
|
-
rank: number;
|
|
408
|
-
text: string;
|
|
409
|
-
locale: string | null;
|
|
410
|
-
/** Glied der Kontextkette, auf dem das Element liegt. `0` = Arbeitskontext. */
|
|
411
|
-
chain_index: number;
|
|
412
|
-
}
|
|
413
|
-
/**
|
|
414
|
-
* Das Ergebnis der Aufloesung — drei Ausgaenge, drei Sachverhalte.
|
|
415
|
-
*
|
|
416
|
-
* `rejected` ist fachlich (ein Fork, ueber den jemand entscheiden muss),
|
|
417
|
-
* `error` technisch bzw. ein Datenfehler. Sie zusammenzulegen hiesse, einen
|
|
418
|
-
* Speicherdefekt als Normalzustand anzuzeigen.
|
|
419
|
-
*/
|
|
420
|
-
type ScenePolicyResult = {
|
|
421
|
-
kind: 'ok';
|
|
422
|
-
policies: readonly ResolvedScenePolicy[];
|
|
423
|
-
} | {
|
|
424
|
-
kind: 'rejected';
|
|
425
|
-
message: string;
|
|
426
|
-
element_id: string;
|
|
427
|
-
heads: readonly string[];
|
|
428
|
-
} | {
|
|
429
|
-
kind: 'error';
|
|
430
|
-
message: string;
|
|
431
|
-
retryable: boolean;
|
|
432
|
-
};
|
|
433
|
-
/** Ein Lesevorgang der Momentaufnahme, so schmal wie moeglich beschrieben. */
|
|
434
|
-
interface SnapshotRead<T> {
|
|
435
|
-
kind: string;
|
|
436
|
-
message?: string;
|
|
437
|
-
value?: T;
|
|
438
|
-
}
|
|
439
|
-
/** Der Ausschnitt einer Momentaufnahme, den diese Aufloesung braucht. */
|
|
440
|
-
interface PolicySnapshot {
|
|
441
|
-
getElement(elementId: string): SnapshotRead<{
|
|
442
|
-
element: {
|
|
443
|
-
element_id: string;
|
|
444
|
-
type: string;
|
|
445
|
-
context_id?: string | null;
|
|
446
|
-
};
|
|
447
|
-
versions?: readonly {
|
|
448
|
-
version_id: string;
|
|
449
|
-
element_id: string;
|
|
450
|
-
payload: unknown;
|
|
451
|
-
}[];
|
|
452
|
-
preferredHeads?: readonly {
|
|
453
|
-
context_id: string | null;
|
|
454
|
-
version_id?: string;
|
|
455
|
-
}[];
|
|
456
|
-
} | null>;
|
|
457
|
-
/**
|
|
458
|
-
* Die Elemente eines Kettenglieds — **optional im Typ, nicht im Betrieb.**
|
|
459
|
-
*
|
|
460
|
-
* Optional, weil der Shot-Pfad dieselbe Momentaufnahme benutzt und dort
|
|
461
|
-
* keine Liste braucht. Fehlt sie im Szene-Direktlauf, ist das ein
|
|
462
|
-
* unvollstaendiger Hostadapter und wird laut gemeldet — nicht als „keine
|
|
463
|
-
* Policy vorhanden" ausgelegt (Grundsatzregel 4).
|
|
464
|
-
*/
|
|
465
|
-
listElements?(filter: {
|
|
466
|
-
contextId: string | null;
|
|
467
|
-
type: string;
|
|
468
|
-
}): SnapshotRead<readonly {
|
|
469
|
-
element_id: string;
|
|
470
|
-
type: string;
|
|
471
|
-
}[]>;
|
|
472
|
-
}
|
|
473
|
-
/**
|
|
474
|
-
* Die deterministische Ordnung automatisch gefundener Policies (Auftrag §6).
|
|
475
|
-
*
|
|
476
|
-
* Eine automatisch entdeckte Menge hat keine gespeicherte Array-Reihenfolge;
|
|
477
|
-
* `rank` allein reicht deshalb nicht aus, sobald zwei Regeln denselben Rang
|
|
478
|
-
* tragen. Keine Deduplizierung nach `name`: verschiedene Elemente sind
|
|
479
|
-
* verschiedene Regeln.
|
|
480
|
-
*/
|
|
481
|
-
declare function sortScenePolicies(policies: readonly ResolvedScenePolicy[]): readonly ResolvedScenePolicy[];
|
|
482
|
-
/**
|
|
483
|
-
* Der Vergleichswert zweier Aufloesungen — fuer die A/B-Stabilitaetspruefung.
|
|
484
|
-
*
|
|
485
|
-
* Verglichen wird Element **und** Version in der entstandenen Reihenfolge:
|
|
486
|
-
* Genau dann ist der Policy-Satz derselbe, den der Nutzer gesehen hat. Der
|
|
487
|
-
* Text gehoert nicht hinein — eine veroeffentlichte Version ist
|
|
488
|
-
* unveraenderlich, und ein abweichender Text bei gleicher Kennung waere ein
|
|
489
|
-
* Speicherdefekt, kein Wettlauf.
|
|
490
|
-
*/
|
|
491
|
-
declare function scenePolicyFingerprint(policies: readonly ResolvedScenePolicy[]): string;
|
|
492
|
-
/**
|
|
493
|
-
* Die allgemeinen Policies, die fuer einen Szene-Direktlauf gelten.
|
|
494
|
-
*
|
|
495
|
-
* Ausgewertet wird die **vollstaendige** Kontextkette: Arbeitskontext, geerbte
|
|
496
|
-
* Kontexte, global. Je sichtbarem `prompt_policy`-Element wird die wirksame
|
|
497
|
-
* Version ausschliesslich mit der vorhandenen Preferred-Head-Logik bestimmt
|
|
498
|
-
* (D-36) — hier wird nichts neu ausgelegt und nichts geraten.
|
|
499
|
-
*
|
|
500
|
-
* Kein Netzzugriff: Gelesen wird genau die uebergebene Momentaufnahme. Das ist
|
|
501
|
-
* die Voraussetzung dafuer, dass die Auswahl in dieselbe Konsistenzgrenze
|
|
502
|
-
* faellt wie das Einfrieren der Szene (Gegenpruefung P2).
|
|
503
|
-
*/
|
|
504
|
-
declare function resolveGeneralScenePolicies(snapshot: PolicySnapshot, contextChain: readonly (string | null)[],
|
|
505
|
-
/**
|
|
506
|
-
* Das gewaehlte Zielmodell dieses Laufs, oder `null` fuer einen generischen.
|
|
507
|
-
*
|
|
508
|
-
* Nur seinetwegen kommen `target_model`-Policies ueberhaupt in Betracht;
|
|
509
|
-
* ohne Zielmodell bleibt die Auswahl exakt die von Schritt 03.
|
|
510
|
-
*/
|
|
511
|
-
targetModelElementId?: string | null): ScenePolicyResult;
|
|
512
|
-
|
|
513
832
|
/** Ein Beitrag zur Beschreibung eines Knotens, mit Herkunft (D-50). */
|
|
514
833
|
interface NodeContribution {
|
|
515
834
|
source: 'component' | 'node_semantic' | 'setup_override';
|
|
@@ -523,6 +842,26 @@ interface NodeContribution {
|
|
|
523
842
|
/** Ein Knoten der aufgelösten Szene. */
|
|
524
843
|
interface ResolvedNode {
|
|
525
844
|
node_id: string;
|
|
845
|
+
label?: string;
|
|
846
|
+
media_refs?: readonly {
|
|
847
|
+
asset_id: string;
|
|
848
|
+
role: string;
|
|
849
|
+
position?: number;
|
|
850
|
+
}[];
|
|
851
|
+
/** Die wirksame einfache Geometrie desselben Nodes (#569). */
|
|
852
|
+
proxy_3d?: {
|
|
853
|
+
primitive: string;
|
|
854
|
+
dimensions: readonly number[];
|
|
855
|
+
variant?: string;
|
|
856
|
+
pose_ref?: string | null;
|
|
857
|
+
origin?: 'floor_center';
|
|
858
|
+
morph?: {
|
|
859
|
+
build?: number;
|
|
860
|
+
gender?: number;
|
|
861
|
+
};
|
|
862
|
+
preview_color?: string | null;
|
|
863
|
+
} | null;
|
|
864
|
+
anchors?: Readonly<Record<string, readonly number[]>>;
|
|
526
865
|
type: string;
|
|
527
866
|
/** Additiv nach `rank`, nie vorgemischt (D-50). */
|
|
528
867
|
contributions: readonly NodeContribution[];
|
|
@@ -532,6 +871,19 @@ interface ResolvedNode {
|
|
|
532
871
|
/** Vom Shot ausgeblendet (D-40). Der Knoten bleibt im Graphen (D-21). */
|
|
533
872
|
hidden: boolean;
|
|
534
873
|
}
|
|
874
|
+
/**
|
|
875
|
+
* Die aufgelöste Umgebung der Szene (#563).
|
|
876
|
+
*
|
|
877
|
+
* Dieselbe Form wie bei einem Knoten: `environment.component_refs` werden zu
|
|
878
|
+
* Beiträgen mit Herkunft aufgelöst, statt als rohe Versionskennungen an den
|
|
879
|
+
* Renderer zu gehen. Mit Kennungen allein kann das Modell nichts formulieren.
|
|
880
|
+
*/
|
|
881
|
+
interface ResolvedEnvironment {
|
|
882
|
+
text: string | null;
|
|
883
|
+
/** Nur `source: 'component'`, additiv nach `rank` (D-50). */
|
|
884
|
+
contributions: readonly NodeContribution[];
|
|
885
|
+
properties: Record<string, unknown>;
|
|
886
|
+
}
|
|
535
887
|
interface ResolvedPlacement {
|
|
536
888
|
position: readonly number[];
|
|
537
889
|
rotation_euler_deg?: readonly number[];
|
|
@@ -539,6 +891,8 @@ interface ResolvedPlacement {
|
|
|
539
891
|
}
|
|
540
892
|
interface ResolvedCamera {
|
|
541
893
|
camera_id: string;
|
|
894
|
+
/** Historische Kameras ohne Format behalten die Abwesenheit des Feldes. */
|
|
895
|
+
aspect_ratio?: string;
|
|
542
896
|
name: string | null;
|
|
543
897
|
/** `null`, wenn das Preset nicht auflösbar war — kein erfundenes Objektiv. */
|
|
544
898
|
preset: unknown;
|
|
@@ -563,6 +917,10 @@ interface ResolvedCamera {
|
|
|
563
917
|
* es nichts zu formulieren (Goal §5.3).
|
|
564
918
|
*/
|
|
565
919
|
interface RendererInput {
|
|
920
|
+
preview_instruction?: PromptConstructionTag;
|
|
921
|
+
camera_preview_context?: CameraPreviewContext;
|
|
922
|
+
/** Eingefrorener Texttag, nur bei einem Kamera-Referenzlauf (D-22). */
|
|
923
|
+
reference_sentence?: FrozenReferenceSentence;
|
|
566
924
|
/** `null` bei einem Lauf ohne Shot (Szene-Direktpfad). */
|
|
567
925
|
shot: {
|
|
568
926
|
version_id: string;
|
|
@@ -597,7 +955,7 @@ interface RendererInput {
|
|
|
597
955
|
version_id: string;
|
|
598
956
|
nodes: readonly ResolvedNode[];
|
|
599
957
|
relations: readonly unknown[];
|
|
600
|
-
environment:
|
|
958
|
+
environment: ResolvedEnvironment | null;
|
|
601
959
|
unit_system: unknown | null;
|
|
602
960
|
};
|
|
603
961
|
/** `null`, wenn der Lauf ohne konkrete Kamera entstand. */
|
|
@@ -631,6 +989,7 @@ interface RendererInput {
|
|
|
631
989
|
text: string;
|
|
632
990
|
locale: string | null;
|
|
633
991
|
}[];
|
|
992
|
+
prompt_tags?: readonly PromptConstructionTag[];
|
|
634
993
|
fragments: readonly {
|
|
635
994
|
channel: string;
|
|
636
995
|
rank: number;
|
|
@@ -706,6 +1065,9 @@ interface RendererInput {
|
|
|
706
1065
|
* für Aufrufer bildet, die eine Fähigkeit ausdrücklich als Tor benutzen wollen.
|
|
707
1066
|
*/
|
|
708
1067
|
type ResolveFailure = {
|
|
1068
|
+
class: 'prompt_tags_unresolvable';
|
|
1069
|
+
message: string;
|
|
1070
|
+
} | {
|
|
709
1071
|
class: 'not_a_shot';
|
|
710
1072
|
message: string;
|
|
711
1073
|
type: string;
|
|
@@ -896,6 +1258,38 @@ declare function resolveScenePayload(input: ResolveScenePayloadInput): Promise<R
|
|
|
896
1258
|
*/
|
|
897
1259
|
declare function capabilityGate(report: CapabilityReport, flag: 'can_render_prompt' | 'can_place'): ResolveFailure | null;
|
|
898
1260
|
|
|
1261
|
+
declare const CAMERA_ASPECT_RATIOS: readonly ["1:1", "4:3", "3:4", "16:9", "9:16"];
|
|
1262
|
+
/** Kein Default: Ein historischer Stand ohne Format ist keine 1:1-Kamera. */
|
|
1263
|
+
declare function cameraAspectRatioValue(aspectRatio: string): number;
|
|
1264
|
+
/**
|
|
1265
|
+
* Additiver Leservertrag, strenger Schreibabschluss: Neue/geänderte Kameras
|
|
1266
|
+
* brauchen ein Format. Unveränderte historische Kameras bleiben erhalten.
|
|
1267
|
+
* Eltern sind explizite eigene Basis-/Parent-Payloads, keine geratene Version.
|
|
1268
|
+
* Entwürfe dürfen weiterhin unvollständig sein; spätestens Publish prüft dies.
|
|
1269
|
+
*/
|
|
1270
|
+
declare function checkCameraAspectRatioChanges(type: string, payload: unknown, previousPayloads?: readonly unknown[]): SchemaError[];
|
|
1271
|
+
/** Optik ausschließlich aus dem aufgelösten Preset, Format aus der Kamera. */
|
|
1272
|
+
declare function cameraPerspective(camera: ResolvedCamera): {
|
|
1273
|
+
aspect_ratio: string;
|
|
1274
|
+
aspect: number;
|
|
1275
|
+
focal_length_mm: number;
|
|
1276
|
+
sensor_width_mm: number;
|
|
1277
|
+
vertical_fov_deg: number;
|
|
1278
|
+
};
|
|
1279
|
+
/** Das eingefrorene Kameraformat ist autoritativ, auch nach einem Reload. */
|
|
1280
|
+
declare function frozenCameraAspectRatio(input: unknown): string | undefined;
|
|
1281
|
+
|
|
1282
|
+
interface CameraPreview extends TextGenerationImage {
|
|
1283
|
+
solid_color_pixels?: Readonly<Record<string, number>>;
|
|
1284
|
+
width: number;
|
|
1285
|
+
height: number;
|
|
1286
|
+
camera_id: string;
|
|
1287
|
+
sha256: string;
|
|
1288
|
+
}
|
|
1289
|
+
type CameraPreviewDescriptor = Omit<CameraPreview, 'data' | 'solid_color_pixels'>;
|
|
1290
|
+
type CameraPreviewRenderer = (input: RendererInput) => Promise<CameraPreview>;
|
|
1291
|
+
declare function supportsCompositionReference(model: unknown): boolean;
|
|
1292
|
+
|
|
899
1293
|
interface VisibilityNode {
|
|
900
1294
|
node_id: string;
|
|
901
1295
|
state: string;
|
|
@@ -991,7 +1385,13 @@ declare function checkRunResponse(value: unknown, input: RendererInput): {
|
|
|
991
1385
|
* kein Lauf, sondern ein Betriebsfehler und darf nicht als „das Modell hat
|
|
992
1386
|
* abgelehnt" gespeichert werden.
|
|
993
1387
|
*/
|
|
994
|
-
|
|
1388
|
+
/** Shared by the pre-generation inspector and the actual provider call. */
|
|
1389
|
+
declare function preparePromptDerivation(input: RendererInput, preview?: CameraPreview): {
|
|
1390
|
+
input: RendererInput;
|
|
1391
|
+
system_prompt: string;
|
|
1392
|
+
prompt: string;
|
|
1393
|
+
};
|
|
1394
|
+
declare function runPromptDerivation(input: RendererInput, port: TextGenerationPort, preview?: CameraPreview): Promise<PromptRunOutcome & {
|
|
995
1395
|
system_prompt: string;
|
|
996
1396
|
}>;
|
|
997
1397
|
|
|
@@ -1053,6 +1453,7 @@ type PromptRunSource = {
|
|
|
1053
1453
|
};
|
|
1054
1454
|
};
|
|
1055
1455
|
interface PromptRunRecord {
|
|
1456
|
+
camera_preview?: CameraPreviewDescriptor;
|
|
1056
1457
|
run_id: string;
|
|
1057
1458
|
/**
|
|
1058
1459
|
* Herkunft: die veröffentlichte Shot-Version, aus der der Lauf entstand.
|
|
@@ -1200,6 +1601,13 @@ declare function groupKeyOf(run: PromptRunPageRecord): string;
|
|
|
1200
1601
|
* zweite Wahrheit.
|
|
1201
1602
|
*/
|
|
1202
1603
|
declare function siblingsOf(run: PromptRunRecord, alle: readonly PromptRunRecord[]): readonly PromptRunRecord[];
|
|
1604
|
+
/** Index ausschließlich veröffentlichter, unveränderlicher Szenenversionen. */
|
|
1605
|
+
declare function sceneVersionElementsOf(state: ElementStoreState): ReadonlyMap<string, string>;
|
|
1606
|
+
interface SceneRunState {
|
|
1607
|
+
key: string;
|
|
1608
|
+
/** Chronologischer Stand im gesamten Szenenbestand, unabhängig vom Seitenschnitt. */
|
|
1609
|
+
number: number | null;
|
|
1610
|
+
}
|
|
1203
1611
|
/**
|
|
1204
1612
|
* Das Element, das einen Lauf **benennt** — oder `null`.
|
|
1205
1613
|
*
|
|
@@ -1280,10 +1688,9 @@ declare function selectPromptRuns(alle: readonly PromptRunRecord[], filter?: Pro
|
|
|
1280
1688
|
/**
|
|
1281
1689
|
* Woher die Laeufe einer Seite kommen.
|
|
1282
1690
|
*
|
|
1283
|
-
*
|
|
1284
|
-
*
|
|
1285
|
-
*
|
|
1286
|
-
* vergleichen denselben `groupKeyOf`, den auch die Geschwister benutzen.
|
|
1691
|
+
* `scene_history` liest den eingefrorenen Szeneninput über alle Herkünfte.
|
|
1692
|
+
* `scene`, `draft_chain` und `published` behalten ihre bisherige
|
|
1693
|
+
* Herkunftsauswahl über `groupKeyOf`; `all` liest ohne Anker.
|
|
1287
1694
|
*/
|
|
1288
1695
|
type PromptRunPageSource = {
|
|
1289
1696
|
kind: 'all';
|
|
@@ -1296,6 +1703,11 @@ type PromptRunPageSource = {
|
|
|
1296
1703
|
} | {
|
|
1297
1704
|
kind: 'scene';
|
|
1298
1705
|
sceneElementId: string;
|
|
1706
|
+
}
|
|
1707
|
+
/** Fachliche Szenenhistorie über alle technischen Herkünfte. */
|
|
1708
|
+
| {
|
|
1709
|
+
kind: 'scene_history';
|
|
1710
|
+
sceneElementId: string;
|
|
1299
1711
|
};
|
|
1300
1712
|
/** Der Herkunftsfilter der gemeinsamen Sicht — dieselben Namen wie `PromptRunGroup`. */
|
|
1301
1713
|
type PromptRunOriginFilter = PromptRunGroup['kind'];
|
|
@@ -1304,6 +1716,8 @@ interface PromptRunPageFilter extends PromptRunFilter {
|
|
|
1304
1716
|
origin?: PromptRunOriginFilter;
|
|
1305
1717
|
}
|
|
1306
1718
|
interface PromptRunPageInput {
|
|
1719
|
+
/** Host-Index für alte eingefrorene Inputs ohne element_id; keine aktuellen Heads. */
|
|
1720
|
+
sceneVersionElements?: ReadonlyMap<string, string>;
|
|
1307
1721
|
source?: PromptRunPageSource;
|
|
1308
1722
|
filter?: PromptRunPageFilter;
|
|
1309
1723
|
/** Ohne Angabe wird nicht geschnitten — dann ist die Seite der ganze Bestand. */
|
|
@@ -1366,6 +1780,8 @@ interface PromptRunPage extends Omit<PromptRunListing, 'runs'>, Page<PromptRunPa
|
|
|
1366
1780
|
runs: readonly PromptRunPageRecord[];
|
|
1367
1781
|
/** Rundennummer je `run_id`, nur fuer die Laeufe dieser Seite. */
|
|
1368
1782
|
rounds: Readonly<Record<string, number>>;
|
|
1783
|
+
sceneStates?: Readonly<Record<string, SceneRunState>>;
|
|
1784
|
+
sceneImageCount?: number;
|
|
1369
1785
|
/** Laeufe, die der Herkunftsfilter ausgeblendet hat. */
|
|
1370
1786
|
hiddenByOrigin: number;
|
|
1371
1787
|
/**
|
|
@@ -1594,249 +2010,6 @@ declare function findProviderCheck(events: readonly ElementEvent[], checkId: str
|
|
|
1594
2010
|
*/
|
|
1595
2011
|
declare function totalModelCalls(checks: readonly ProviderCheckRecord[]): number;
|
|
1596
2012
|
|
|
1597
|
-
/** Ein eingefrorener Kettenknoten — die Provenienz des Laufs (D-98). */
|
|
1598
|
-
interface FrozenChainNode {
|
|
1599
|
-
type: DerivableType;
|
|
1600
|
-
element_id: string;
|
|
1601
|
-
draft_id: string;
|
|
1602
|
-
revision: number;
|
|
1603
|
-
}
|
|
1604
|
-
interface FreezeSuccess {
|
|
1605
|
-
kind: 'ok';
|
|
1606
|
-
chainId: string;
|
|
1607
|
-
nodes: readonly FrozenChainNode[];
|
|
1608
|
-
input: RendererInput;
|
|
1609
|
-
/**
|
|
1610
|
-
* Der Rekonstruktionslauf, aus dem die Kette entstand (D-123, A2).
|
|
1611
|
-
*
|
|
1612
|
-
* Alle Knoten einer Kette teilen dieselben Kettenmetadaten (D-96) — die
|
|
1613
|
-
* Übernahme entsteht aus **einer** Operation aus **einem** Ursprung —, daher
|
|
1614
|
-
* genügt der Wert eines beliebigen erfassten Knotens, hier der des Shots.
|
|
1615
|
-
*/
|
|
1616
|
-
sourceRunId: string;
|
|
1617
|
-
/** Gesetzt, wenn der Inhalt der Kette aus einer Recovery-Arbeitsfassung kam. */
|
|
1618
|
-
sourceRecoveryId?: string;
|
|
1619
|
-
}
|
|
1620
|
-
/**
|
|
1621
|
-
* Warum eine Kette nicht eingefroren werden konnte.
|
|
1622
|
-
*
|
|
1623
|
-
* `conflict` ist bewusst von `rejected` getrennt: Das eine ist ein Wettlauf und
|
|
1624
|
-
* beim nächsten Versuch weg, das andere ein Mangel der Kette, den jemand
|
|
1625
|
-
* beheben muss. Sie gleich zu behandeln hieße, dem Nutzer „nochmal versuchen"
|
|
1626
|
-
* für einen unvollständigen Shot anzubieten.
|
|
1627
|
-
*
|
|
1628
|
-
* `error` kam mit Stufe 6.7.1 (D-125) dazu: **technisch**, nicht fachlich —
|
|
1629
|
-
* Netz, Drosselung, Speicher nicht erreichbar. Vor 6.7.1 landete ein solcher
|
|
1630
|
-
* Lesefehler beim Einfrieren als `rejected`, und ein HF-429 sah dadurch wie
|
|
1631
|
-
* ein Mangel der Kette aus (der reale 429-Durchstich vom 2026-08-13). HF671-10
|
|
1632
|
-
* verlangt, dass er stattdessen hier ankommt.
|
|
1633
|
-
*/
|
|
1634
|
-
type FreezeFailure = {
|
|
1635
|
-
kind: 'conflict';
|
|
1636
|
-
message: string;
|
|
1637
|
-
/** Der Knoten, der sich zwischen den beiden Lesedurchgängen änderte. */
|
|
1638
|
-
node: {
|
|
1639
|
-
type: DerivableType;
|
|
1640
|
-
element_id: string;
|
|
1641
|
-
draft_id: string;
|
|
1642
|
-
};
|
|
1643
|
-
expectedRevision: number;
|
|
1644
|
-
actualRevision: number;
|
|
1645
|
-
} | {
|
|
1646
|
-
kind: 'rejected';
|
|
1647
|
-
message: string;
|
|
1648
|
-
failure?: ResolveFailure;
|
|
1649
|
-
} | {
|
|
1650
|
-
kind: 'error';
|
|
1651
|
-
message: string;
|
|
1652
|
-
retryable: boolean;
|
|
1653
|
-
};
|
|
1654
|
-
type FreezeResult = FreezeSuccess | FreezeFailure;
|
|
1655
|
-
/** Ein einzelnes Element aus einer Momentaufnahme — kein Netzzugriff mehr. */
|
|
1656
|
-
interface ChainSnapshot {
|
|
1657
|
-
getElement(elementId: string): {
|
|
1658
|
-
kind: string;
|
|
1659
|
-
message?: string;
|
|
1660
|
-
value?: {
|
|
1661
|
-
element: {
|
|
1662
|
-
element_id: string;
|
|
1663
|
-
type: string;
|
|
1664
|
-
context_id?: string | null;
|
|
1665
|
-
};
|
|
1666
|
-
draft: {
|
|
1667
|
-
draft_id: string;
|
|
1668
|
-
revision: number;
|
|
1669
|
-
payload: unknown;
|
|
1670
|
-
chain?: DraftChainMeta;
|
|
1671
|
-
} | null;
|
|
1672
|
-
draftFork?: unknown | null;
|
|
1673
|
-
/**
|
|
1674
|
-
* Veröffentlichte Versionen — für den Szene-Direktpfad (D-135).
|
|
1675
|
-
*
|
|
1676
|
-
* Eine Draft-Kette friert ausschließlich Entwürfe ein; eine Szene kann
|
|
1677
|
-
* dagegen längst veröffentlicht sein und gar keinen Entwurf mehr haben.
|
|
1678
|
-
* Beide Hosts liefern die Liste bereits mit (`ElementSnapshot`), sie war
|
|
1679
|
-
* hier nur nicht deklariert.
|
|
1680
|
-
*/
|
|
1681
|
-
versions?: readonly {
|
|
1682
|
-
version_id: string;
|
|
1683
|
-
element_id: string;
|
|
1684
|
-
payload: unknown;
|
|
1685
|
-
parents?: unknown;
|
|
1686
|
-
}[];
|
|
1687
|
-
preferredHeads?: readonly {
|
|
1688
|
-
context_id: string | null;
|
|
1689
|
-
version_id?: string;
|
|
1690
|
-
}[];
|
|
1691
|
-
} | null;
|
|
1692
|
-
};
|
|
1693
|
-
/**
|
|
1694
|
-
* Die Elemente eines Kettenglieds — fuer die allgemeinen Kontext-Policies
|
|
1695
|
-
* des Szene-Direktlaufs (Schritt 03 §3).
|
|
1696
|
-
*
|
|
1697
|
-
* Optional im Typ, weil der Shot-Pfad dieselbe Momentaufnahme benutzt und
|
|
1698
|
-
* dort keine Liste braucht. Im Szene-Direktlauf ist sie **Pflicht**: Fehlt
|
|
1699
|
-
* sie, meldet die Policy-Aufloesung einen Fehler, statt „keine Policy"
|
|
1700
|
-
* zu behaupten (Grundsatzregel 4).
|
|
1701
|
-
*
|
|
1702
|
-
* Aus **derselben** Momentaufnahme wie `getElement` — genau das haelt die
|
|
1703
|
-
* Policy-Auswahl in der A/B-Konsistenzgrenze und verhindert einen dritten
|
|
1704
|
-
* Live-Leseweg (Gegenpruefung P2).
|
|
1705
|
-
*/
|
|
1706
|
-
listElements?(filter: {
|
|
1707
|
-
contextId: string | null;
|
|
1708
|
-
type: string;
|
|
1709
|
-
}): {
|
|
1710
|
-
kind: string;
|
|
1711
|
-
message?: string;
|
|
1712
|
-
value?: readonly {
|
|
1713
|
-
element_id: string;
|
|
1714
|
-
type: string;
|
|
1715
|
-
}[];
|
|
1716
|
-
};
|
|
1717
|
-
}
|
|
1718
|
-
/**
|
|
1719
|
-
* Was das Einfrieren vom Elementspeicher braucht — bewusst schmal.
|
|
1720
|
-
*
|
|
1721
|
-
* Seit Stufe 6.7.1 (D-125) keine sechs unabhängigen `getElement()`-Aufrufe
|
|
1722
|
-
* mehr, sondern genau zwei Momentaufnahmen: `readSnapshot({ fresh: false })`
|
|
1723
|
-
* für Durchgang A, `readSnapshot({ fresh: true })` für Durchgang B. „Frisch"
|
|
1724
|
-
* heißt dabei D-125 — inkrementell gegen den Kanal synchronisiert, nicht ein
|
|
1725
|
-
* zweites Mal aus demselben TTL-Cache bedient (sonst könnte B den Konflikt aus
|
|
1726
|
-
* HF671-8/9 nicht mehr sehen).
|
|
1727
|
-
*/
|
|
1728
|
-
interface ChainQueries {
|
|
1729
|
-
readSnapshot(options: {
|
|
1730
|
-
fresh: boolean;
|
|
1731
|
-
}): Promise<ChainSnapshot>;
|
|
1732
|
-
}
|
|
1733
|
-
interface FreezeDraftChainInput {
|
|
1734
|
-
/** Das Shot-**Element** der Kette. Eine Version gibt es hier gerade nicht. */
|
|
1735
|
-
shotElementId: string;
|
|
1736
|
-
store: ChainQueries;
|
|
1737
|
-
resolver: ReferenceResolver;
|
|
1738
|
-
contextChain: readonly (string | null)[];
|
|
1739
|
-
userInstruction?: string | null;
|
|
1740
|
-
}
|
|
1741
|
-
/**
|
|
1742
|
-
* Friert die vom Shot erreichbare Draft-Kette ein und baut die Renderer-Eingabe.
|
|
1743
|
-
*
|
|
1744
|
-
* Bei **jedem** Fehlausgang gilt: null Provideraufrufe. Diese Funktion ruft
|
|
1745
|
-
* ohnehin kein Modell — sie liefert nur die Eingabe, und der Aufrufer entscheidet
|
|
1746
|
-
* danach, ob er sie benutzt.
|
|
1747
|
-
*/
|
|
1748
|
-
declare function freezeDraftChain(input: FreezeDraftChainInput): Promise<FreezeResult>;
|
|
1749
|
-
/**
|
|
1750
|
-
* Was eingefroren wurde — **eines** von beidem, nie beides und nie erfunden.
|
|
1751
|
-
*
|
|
1752
|
-
* Ein Entwurf hat `draft_id` und `revision` und keine `version_id`; eine
|
|
1753
|
-
* veröffentlichte Version genau umgekehrt. Ein Feld, das ehrlich `null` ist,
|
|
1754
|
-
* ist besser als eine Kennung, die wie eine echte aussieht (D-75/D-98).
|
|
1755
|
-
*/
|
|
1756
|
-
interface FrozenSceneState {
|
|
1757
|
-
element_id: string;
|
|
1758
|
-
draft_id: string | null;
|
|
1759
|
-
revision: number | null;
|
|
1760
|
-
version_id: string | null;
|
|
1761
|
-
}
|
|
1762
|
-
interface FreezeSceneSuccess {
|
|
1763
|
-
kind: 'ok';
|
|
1764
|
-
scene: FrozenSceneState;
|
|
1765
|
-
input: RendererInput;
|
|
1766
|
-
/**
|
|
1767
|
-
* Die automatisch aufgeloesten allgemeinen Kontext-Policies (Schritt 03).
|
|
1768
|
-
*
|
|
1769
|
-
* Redundant zu `input.policies` und trotzdem hier: Der Aufrufer sieht so den
|
|
1770
|
-
* Satz **mit** `chain_index`, ohne die Ordnung nachbauen zu muessen. Der
|
|
1771
|
-
* eingefrorene Lauf traegt weiterhin ausschliesslich `input`.
|
|
1772
|
-
*/
|
|
1773
|
-
policies: readonly ResolvedScenePolicy[];
|
|
1774
|
-
/**
|
|
1775
|
-
* Das eingefrorene Zielmodell, oder `null` fuer einen generischen Lauf.
|
|
1776
|
-
*
|
|
1777
|
-
* Wie `policies` redundant zu `input` und trotzdem hier: Der Aufrufer sieht
|
|
1778
|
-
* die Provenienz, ohne sie aus `renderer_input` zurueckrechnen zu muessen.
|
|
1779
|
-
*/
|
|
1780
|
-
targetModel: FrozenSceneTargetModel | null;
|
|
1781
|
-
}
|
|
1782
|
-
type FreezeSceneResult = FreezeSceneSuccess | FreezeFailure;
|
|
1783
|
-
interface FreezeSceneWorkingStateInput {
|
|
1784
|
-
/** Das Szenen-**Element**. Ob Entwurf oder Version, entscheidet der Bestand. */
|
|
1785
|
-
sceneElementId: string;
|
|
1786
|
-
store: ChainQueries;
|
|
1787
|
-
resolver: ReferenceResolver;
|
|
1788
|
-
contextChain: readonly (string | null)[];
|
|
1789
|
-
userInstruction?: string | null;
|
|
1790
|
-
/**
|
|
1791
|
-
* Das gewaehlte Zielmodell (Kette `szenen-direktlauf-target-model-policy`).
|
|
1792
|
-
*
|
|
1793
|
-
* Optional: Ohne Angabe bleibt der Ablauf exakt der generische von D-135 —
|
|
1794
|
-
* kein Zielmodell im `RendererInput`, keine `target_model`-Policy.
|
|
1795
|
-
*/
|
|
1796
|
-
targetModelElementId?: string | null;
|
|
1797
|
-
}
|
|
1798
|
-
/**
|
|
1799
|
-
* Das gewaehlte Zielmodell eines Szene-Direktlaufs — Kette
|
|
1800
|
-
* `szenen-direktlauf-target-model-policy`, Schritt 01.
|
|
1801
|
-
*
|
|
1802
|
-
* **Warum ueber die `element_id` und nicht ueber den Key.** Der Shot-Pfad sucht
|
|
1803
|
-
* ein Zielmodell ueber `prompt_render_settings.target_model_id`, also ueber
|
|
1804
|
-
* einen freien Key entlang der Kette — mit allen Ausgaengen, die dazugehoeren
|
|
1805
|
-
* (`not_found`, `ambiguous`, `retired`, `fork`). Der Szene-Direktlauf bekommt
|
|
1806
|
-
* das Modell dagegen von einem Menschen ausgewaehlt, und der waehlt es aus
|
|
1807
|
-
* einer Liste, die schon aufgeloest ist. Die Kennung ist damit eindeutig, und
|
|
1808
|
-
* sie ist dieselbe, die eine `target_model`-Policy in
|
|
1809
|
-
* `applicable_target_models` nennt. Eine zweite Suche ueber einen geratenen
|
|
1810
|
-
* Namen waere fehleranfaelliger als die Kennung, die vorliegt.
|
|
1811
|
-
*
|
|
1812
|
-
* Die **Version** waehlt trotzdem niemand von Hand: Sie kommt aus derselben
|
|
1813
|
-
* D-36-Preferred-Head-Aufloesung wie der Arbeitsstand der Szene daneben.
|
|
1814
|
-
*/
|
|
1815
|
-
interface FrozenSceneTargetModel {
|
|
1816
|
-
element_id: string;
|
|
1817
|
-
version_id: string;
|
|
1818
|
-
/** Glied der Kontextkette, auf dem das Element liegt. `0` = Arbeitskontext. */
|
|
1819
|
-
chain_index: number;
|
|
1820
|
-
payload: unknown;
|
|
1821
|
-
head: PreferredHeadResolution;
|
|
1822
|
-
}
|
|
1823
|
-
/**
|
|
1824
|
-
* Friert den Arbeitsstand **einer Szene** ein und baut die Renderer-Eingabe
|
|
1825
|
-
* (D-135).
|
|
1826
|
-
*
|
|
1827
|
-
* Dasselbe optimistische Zwei-Durchgang-Verfahren wie bei der Draft-Kette
|
|
1828
|
-
* (D-97): lesen, kopieren, frisch nachlesen, Revision vergleichen, und den
|
|
1829
|
-
* Snapshot aus den **kopierten** Inhalten bauen. Ein Konflikt bleibt ein
|
|
1830
|
-
* echter Blocker — **vor** dem kostenpflichtigen Provideraufruf. Dieser Goal
|
|
1831
|
-
* lockert daran nichts (Goal §8.1).
|
|
1832
|
-
*
|
|
1833
|
-
* Eine veröffentlichte Version ist unveränderlich; für sie kann Durchgang B
|
|
1834
|
-
* keinen Revisionskonflikt finden. Er läuft trotzdem: Verschwindet die Version
|
|
1835
|
-
* zwischen den Durchgängen aus der wirksamen Sicht — stillgelegt, ein anderer
|
|
1836
|
-
* Preferred Head —, ist der Stand nicht mehr der, den der Nutzer gesehen hat.
|
|
1837
|
-
*/
|
|
1838
|
-
declare function freezeSceneWorkingState(input: FreezeSceneWorkingStateInput): Promise<FreezeSceneResult>;
|
|
1839
|
-
|
|
1840
2013
|
/**
|
|
1841
2014
|
* Wie brauchbar das Material einer Arbeitsfassung ist.
|
|
1842
2015
|
*
|
|
@@ -2119,6 +2292,7 @@ interface ImageGenerationStartedPayload {
|
|
|
2119
2292
|
request: {
|
|
2120
2293
|
image_count: number;
|
|
2121
2294
|
aspect_ratio?: string;
|
|
2295
|
+
reference_asset_ids?: readonly string[];
|
|
2122
2296
|
seeds?: readonly number[];
|
|
2123
2297
|
callable_model_id: string;
|
|
2124
2298
|
/**
|
|
@@ -2235,6 +2409,9 @@ interface IdFactory {
|
|
|
2235
2409
|
newId(): string;
|
|
2236
2410
|
}
|
|
2237
2411
|
interface CreateHfElementStoreOptions {
|
|
2412
|
+
readPromptConstructionTags?: () => Promise<readonly PromptConstructionTag[]>;
|
|
2413
|
+
/** Host-injected read of the existing Library vocabulary, no second tag store. */
|
|
2414
|
+
readReferenceSentenceTags?: () => Promise<readonly ReferenceSentenceTag[]>;
|
|
2238
2415
|
channel: ElementEventChannel;
|
|
2239
2416
|
ids?: IdFactory;
|
|
2240
2417
|
/**
|
|
@@ -2432,6 +2609,7 @@ declare function checkSetPreferredHeadInput(input: {
|
|
|
2432
2609
|
declare function checkReviseMetadataInput(input: {
|
|
2433
2610
|
elementId: unknown;
|
|
2434
2611
|
title: unknown;
|
|
2612
|
+
cover_media_ref?: unknown;
|
|
2435
2613
|
expectedRevision: unknown;
|
|
2436
2614
|
}): InputError;
|
|
2437
2615
|
/** Bequemlichkeit für Aufrufer, die den Typ eng brauchen. */
|
|
@@ -2524,6 +2702,7 @@ interface ImageExecutionRoute {
|
|
|
2524
2702
|
}
|
|
2525
2703
|
/** Ein Zielmodell, so wie die Auswahl es braucht. */
|
|
2526
2704
|
interface ExecutionTargetModel {
|
|
2705
|
+
supportedControlInputs?: readonly string[];
|
|
2527
2706
|
key: string;
|
|
2528
2707
|
title: string;
|
|
2529
2708
|
provider: string | null;
|
|
@@ -2534,6 +2713,7 @@ interface ExecutionTargetModel {
|
|
|
2534
2713
|
}
|
|
2535
2714
|
/** Eine wirklich ausführbare Kombination aus Zielmodell und Profil. */
|
|
2536
2715
|
interface ExecutableImageModel {
|
|
2716
|
+
accepts_reference_image?: boolean;
|
|
2537
2717
|
/** Kennung der Auswahl: Zielmodell **und** Profil, weil beides zählt. */
|
|
2538
2718
|
selection_id: string;
|
|
2539
2719
|
target_model_key: string;
|
|
@@ -2638,6 +2818,11 @@ interface GeneratedImage {
|
|
|
2638
2818
|
}
|
|
2639
2819
|
/** Die Eingabe an den tatsächlichen Provideraufruf — abgeleitet aus dem eingefrorenen Lauf. */
|
|
2640
2820
|
interface ImageProviderInput {
|
|
2821
|
+
referenceImages?: readonly {
|
|
2822
|
+
data: string;
|
|
2823
|
+
mime_type: string;
|
|
2824
|
+
asset_id: string;
|
|
2825
|
+
}[];
|
|
2641
2826
|
/** Das Zielmodell, mit dem ausgeführt wird — die fachliche Kennung (D-131). */
|
|
2642
2827
|
targetModelKey: string;
|
|
2643
2828
|
/** Der Aufrufweg aus dem gewählten Profil; der Adapter prüft, ob er ihn hat. */
|
|
@@ -2750,6 +2935,9 @@ interface SzenenImageGenerationPort {
|
|
|
2750
2935
|
startFromPromptRun(input: StartImageGenerationInput): Promise<ImageGenerationResult>;
|
|
2751
2936
|
}
|
|
2752
2937
|
interface CreateImageGenerationPortOptions {
|
|
2938
|
+
loadCameraPreview?(runId: string): Promise<QueryResult<CameraPreview & {
|
|
2939
|
+
asset_id: string;
|
|
2940
|
+
}>>;
|
|
2753
2941
|
runs: ImageGenerationRunReader;
|
|
2754
2942
|
provider: ImageGenerationProviderPort;
|
|
2755
2943
|
batches: ImageGenerationBatchPersistence;
|
|
@@ -3287,6 +3475,13 @@ interface StartRunInput {
|
|
|
3287
3475
|
}
|
|
3288
3476
|
/** Lesen und Starten von Prompt-Läufen. */
|
|
3289
3477
|
interface SzenenRunPort {
|
|
3478
|
+
supportsCameraPreview?: boolean;
|
|
3479
|
+
/** Wiederholt ausschließlich die Medienablage eines bereits gespeicherten Laufs. */
|
|
3480
|
+
retryCameraPreview?(runId: string, render: CameraPreviewRenderer): Promise<CommandResult<PromptRunRecord>>;
|
|
3481
|
+
/** Das gespeicherte Kamera-Preview eines Laufs zum Anzeigen; fehlt, wenn der Host es nicht lesen kann. */
|
|
3482
|
+
loadCameraPreview?(runId: string): Promise<QueryResult<CameraPreview & {
|
|
3483
|
+
asset_id: string;
|
|
3484
|
+
}>>;
|
|
3290
3485
|
/**
|
|
3291
3486
|
* Alle Läufe einer Shot-Version, chronologisch.
|
|
3292
3487
|
*
|
|
@@ -3496,8 +3691,10 @@ type StartRunFromDraftResult = {
|
|
|
3496
3691
|
kind: 'error';
|
|
3497
3692
|
message: string;
|
|
3498
3693
|
retryable: boolean;
|
|
3694
|
+
storedRunId?: string;
|
|
3499
3695
|
};
|
|
3500
3696
|
interface StartRunFromDraftInput {
|
|
3697
|
+
previewRenderer?: CameraPreviewRenderer;
|
|
3501
3698
|
/** Das Shot-**Element** der Kette. Eine Version gibt es hier gerade nicht. */
|
|
3502
3699
|
shotElementId: string;
|
|
3503
3700
|
userInstruction?: string;
|
|
@@ -3860,6 +4057,17 @@ interface SzenenMediaPort {
|
|
|
3860
4057
|
}): Promise<CommandResult<{
|
|
3861
4058
|
removed: boolean;
|
|
3862
4059
|
}>>;
|
|
4060
|
+
/**
|
|
4061
|
+
* Eine anzeigbare Vorschau (`<img src>`-faehig) fuer ein Medien-Asset —
|
|
4062
|
+
* Kette `szenen-design`, P4: die Referenzbilder am Szenen-Node
|
|
4063
|
+
* (`sceneNode.media_refs[].asset_id`).
|
|
4064
|
+
*
|
|
4065
|
+
* Optional (R11): Ein Host, der `media_assets` nicht aufloesen kann, laesst
|
|
4066
|
+
* die Operation weg, und die Ansicht nennt dann den Grund statt einer leeren
|
|
4067
|
+
* Kachel. Aufgeloest wird nur, was der Nutzer selbst fuehrt; ein fremdes
|
|
4068
|
+
* oder unbekanntes Asset ist ein `error` mit Begruendung, kein leeres Bild.
|
|
4069
|
+
*/
|
|
4070
|
+
loadAssetPreview?(assetId: string): Promise<QueryResult<string>>;
|
|
3863
4071
|
}
|
|
3864
4072
|
/**
|
|
3865
4073
|
* Ein Bild eines Batches, wie der Lesepfad es liefert.
|
|
@@ -3871,6 +4079,8 @@ interface SzenenMediaPort {
|
|
|
3871
4079
|
*/
|
|
3872
4080
|
interface PromptBatchImageRef {
|
|
3873
4081
|
asset_id?: string;
|
|
4082
|
+
/** Rolle am Item; `reference` ist ein Kamera-Preview und kein Ergebnisbild. */
|
|
4083
|
+
role?: string;
|
|
3874
4084
|
media_ref: string;
|
|
3875
4085
|
position: number;
|
|
3876
4086
|
file?: string;
|
|
@@ -4233,7 +4443,7 @@ interface HfImageStore {
|
|
|
4233
4443
|
* wäre für jeden Leser ein Fehler; umgekehrt ist es nur eine Datei, die noch
|
|
4234
4444
|
* kein Ereignis kennt.
|
|
4235
4445
|
*/
|
|
4236
|
-
putWithId(id: string, base64: string, mimeType: string,
|
|
4446
|
+
putWithId(id: string, base64: string, mimeType: string, prompt?: string, provenance?: Pick<HFMetadataEntry, 'source' | 'flow_provenance' | 'title'>): Promise<void>;
|
|
4237
4447
|
/** Löst eine Kennung auf. `mimeType` ist ein Hinweis, kein Zwang. */
|
|
4238
4448
|
resolve(id: string, mimeType?: string | null): Promise<AufgeloestesBild>;
|
|
4239
4449
|
/**
|
|
@@ -4384,7 +4594,7 @@ interface LadeVorschauenOptionen {
|
|
|
4384
4594
|
* als ein Wähler ohne Kacheln, und ob das Bild wirklich fehlt, entscheidet der
|
|
4385
4595
|
* Lauf selbst über `resolveImage()`.
|
|
4386
4596
|
*/
|
|
4387
|
-
declare function ladeVorschauen(port: SzenenImageLibraryPort, mediaRefs: readonly string[], fertig: (mediaRef: string, quelle: string) => void, optionen?: LadeVorschauenOptionen): Promise<void>;
|
|
4597
|
+
declare function ladeVorschauen(port: Pick<SzenenImageLibraryPort, 'loadPreview'>, mediaRefs: readonly string[], fertig: (mediaRef: string, quelle: string) => void, optionen?: LadeVorschauenOptionen): Promise<void>;
|
|
4388
4598
|
|
|
4389
4599
|
/**
|
|
4390
4600
|
* Der Anbieter eines manuell erfassten Laufs.
|
|
@@ -4426,40 +4636,572 @@ interface ManualPromptEntry {
|
|
|
4426
4636
|
/** Wer eingetragen hat. */
|
|
4427
4637
|
entered_by: string;
|
|
4428
4638
|
}
|
|
4429
|
-
/** Ein Lauf, der von Hand eingetragen wurde. */
|
|
4430
|
-
type ManualPromptRunRecord = PromptRunRecord & {
|
|
4431
|
-
manual_entry: ManualPromptEntry;
|
|
4639
|
+
/** Ein Lauf, der von Hand eingetragen wurde. */
|
|
4640
|
+
type ManualPromptRunRecord = PromptRunRecord & {
|
|
4641
|
+
manual_entry: ManualPromptEntry;
|
|
4642
|
+
};
|
|
4643
|
+
interface BuildManualPromptRunInput {
|
|
4644
|
+
runId: string;
|
|
4645
|
+
/** Der eingefrorene Szenenstand — woertlich der von `freezeSceneWorkingState()`. */
|
|
4646
|
+
scene: FrozenSceneState;
|
|
4647
|
+
/** Die eingefrorene Renderer-Eingabe desselben Einfrierens (D-22). */
|
|
4648
|
+
input: RendererInput;
|
|
4649
|
+
/** Der Prompttext, **unveraendert** wie eingegeben. */
|
|
4650
|
+
promptText: string;
|
|
4651
|
+
note?: string | null;
|
|
4652
|
+
derivedFromRunId?: string | null;
|
|
4653
|
+
enteredBy: string;
|
|
4654
|
+
now?: () => Date;
|
|
4655
|
+
}
|
|
4656
|
+
type BuildManualPromptRunResult = {
|
|
4657
|
+
kind: 'ok';
|
|
4658
|
+
record: ManualPromptRunRecord;
|
|
4659
|
+
} | {
|
|
4660
|
+
kind: 'rejected';
|
|
4661
|
+
message: string;
|
|
4662
|
+
};
|
|
4663
|
+
/**
|
|
4664
|
+
* Baut den Lauf. Prueft nur, was ohne Bestandszugriff pruefbar ist.
|
|
4665
|
+
*
|
|
4666
|
+
* Ein leerer Prompttext ist eine Ablehnung und kein Lauf: Er waere ein
|
|
4667
|
+
* erfolgreicher Lauf ohne Ergebnis und wuerde in jeder Leseansicht als
|
|
4668
|
+
* vollwertige Runde erscheinen.
|
|
4669
|
+
*/
|
|
4670
|
+
declare function buildManualPromptRunRecord(eingabe: BuildManualPromptRunInput): BuildManualPromptRunResult;
|
|
4671
|
+
/** Der Handeingabe-Block eines Laufs, oder `null` bei jedem anderen Lauf. */
|
|
4672
|
+
declare function manualEntryOf(run: PromptRunPageRecord): ManualPromptEntry | null;
|
|
4673
|
+
|
|
4674
|
+
type StagePlane = 'top' | 'side' | 'camera' | 'free';
|
|
4675
|
+
type Vec3$1 = [number, number, number];
|
|
4676
|
+
declare const STAGE_CATALOGUE: readonly [{
|
|
4677
|
+
readonly label: "Mensch";
|
|
4678
|
+
readonly type: "subject";
|
|
4679
|
+
readonly dimensions: readonly [0.55, 0.35, 1.75];
|
|
4680
|
+
readonly primitive: "humanoid_proxy";
|
|
4681
|
+
readonly pose_ref: "standing";
|
|
4682
|
+
}, {
|
|
4683
|
+
readonly label: "Stuhl";
|
|
4684
|
+
readonly type: "object";
|
|
4685
|
+
readonly dimensions: readonly [0.5, 0.5, 0.9];
|
|
4686
|
+
readonly primitive: "furniture_proxy";
|
|
4687
|
+
readonly variant: "chair";
|
|
4688
|
+
}, {
|
|
4689
|
+
readonly label: "Tisch";
|
|
4690
|
+
readonly type: "surface";
|
|
4691
|
+
readonly dimensions: readonly [1.2, 0.7, 0.75];
|
|
4692
|
+
readonly primitive: "furniture_proxy";
|
|
4693
|
+
readonly variant: "table";
|
|
4694
|
+
}, {
|
|
4695
|
+
readonly label: "Lampe";
|
|
4696
|
+
readonly type: "light";
|
|
4697
|
+
readonly dimensions: readonly [0.35, 0.35, 1.5];
|
|
4698
|
+
readonly primitive: "furniture_proxy";
|
|
4699
|
+
readonly variant: "floor_lamp";
|
|
4700
|
+
}, {
|
|
4701
|
+
readonly label: "Raum";
|
|
4702
|
+
readonly type: "object";
|
|
4703
|
+
readonly dimensions: readonly [5, 4, 2.8];
|
|
4704
|
+
readonly primitive: "room_shell";
|
|
4705
|
+
}];
|
|
4706
|
+
/**
|
|
4707
|
+
* Unterhalb dieses Abstands gelten zwei Markerfarben als schwer unterscheidbar
|
|
4708
|
+
* („redmean“-Abstand im RGB-Raum, 0…~765). Runde 6 zeigte #df995f gegen
|
|
4709
|
+
* #e89254 (Abstand ≈ 26) — das konnte das Bildmodell nicht trennen.
|
|
4710
|
+
*/
|
|
4711
|
+
declare const PREVIEW_COLOR_MIN_DISTANCE = 75;
|
|
4712
|
+
/** `#RRGGBB` in beliebiger Schreibweise → `#rrggbb`, sonst `null`. */
|
|
4713
|
+
declare function normalizePreviewColor(value: unknown): string | null;
|
|
4714
|
+
/** Wahrnehmungsnaher Abstand zweier Farben („redmean“). */
|
|
4715
|
+
declare function previewColorDistance(a: string, b: string): number;
|
|
4716
|
+
type ColorNode = Pick<ResolvedNode, 'node_id' | 'type'> & {
|
|
4717
|
+
proxy_3d?: {
|
|
4718
|
+
preview_color?: string | null;
|
|
4719
|
+
} | null;
|
|
4720
|
+
};
|
|
4721
|
+
/**
|
|
4722
|
+
* Die wirksame Markerfarbe je Node.
|
|
4723
|
+
*
|
|
4724
|
+
* Eine gespeicherte `proxy_3d.preview_color` gilt immer — auch wenn sie einer
|
|
4725
|
+
* anderen ähnelt; das meldet `previewColorConflicts`. Nodes ohne gespeicherte
|
|
4726
|
+
* Farbe bekommen, in `node_id`-Reihenfolge, die Typfarbe oder die nächste
|
|
4727
|
+
* Ersatzfarbe, die von allen bereits vergebenen deutlich abweicht. Damit
|
|
4728
|
+
* Ersatzfarben stabil bleiben, schreiben Editor und MCP sie bei jeder
|
|
4729
|
+
* Bühnenänderung fest (`pinPreviewColors`).
|
|
4730
|
+
*/
|
|
4731
|
+
declare function stageColors(nodes: readonly ColorNode[]): Record<string, {
|
|
4732
|
+
hex: string;
|
|
4733
|
+
name: string;
|
|
4734
|
+
explicit: boolean;
|
|
4735
|
+
}>;
|
|
4736
|
+
/**
|
|
4737
|
+
* Hinweis für Markerfarben, die im Kamera-Preview schlecht als Marker taugen:
|
|
4738
|
+
* sehr dunkel (liest sich als Schatten oder dunkle Kleidung) oder sehr hell
|
|
4739
|
+
* (verschwindet im hellen Preview-Hintergrund). Keine Sperre — nur ein Hinweis.
|
|
4740
|
+
*/
|
|
4741
|
+
declare function previewColorLegibility(hex: string): 'too_dark' | 'too_light' | null;
|
|
4742
|
+
type PreviewColorConflict = {
|
|
4743
|
+
node_ids: [string, string];
|
|
4744
|
+
hexes: [string, string];
|
|
4745
|
+
distance: number;
|
|
4746
|
+
identical: boolean;
|
|
4747
|
+
};
|
|
4748
|
+
/** Paare wirksamer Markerfarben, die gleich oder schwer unterscheidbar sind. */
|
|
4749
|
+
declare function previewColorConflicts(nodes: readonly ColorNode[]): PreviewColorConflict[];
|
|
4750
|
+
/** Nur die zwei sichtbaren Achsen ändern; die verborgene Tiefe bleibt erhalten. */
|
|
4751
|
+
declare function dragPosition(position: readonly number[], point: readonly number[], plane: StagePlane): Vec3$1;
|
|
4752
|
+
declare function stageNode(node: ResolvedNode): {
|
|
4753
|
+
node_id: string;
|
|
4754
|
+
type: string;
|
|
4755
|
+
primitive: string;
|
|
4756
|
+
dimensions: Vec3$1;
|
|
4757
|
+
variant: string | undefined;
|
|
4758
|
+
pose_ref: string | null | undefined;
|
|
4759
|
+
morph: {
|
|
4760
|
+
build?: number;
|
|
4761
|
+
gender?: number;
|
|
4762
|
+
} | undefined;
|
|
4763
|
+
position: Vec3$1;
|
|
4764
|
+
rotation: Vec3$1;
|
|
4765
|
+
scale: Vec3$1;
|
|
4766
|
+
anchors: Readonly<Record<string, readonly number[]>> | undefined;
|
|
4767
|
+
};
|
|
4768
|
+
/** Rendern ist nur bei vollständigen Daten zulässig, niemals mit geratenen Positionen. */
|
|
4769
|
+
declare function stageFrame(input: RendererInput): {
|
|
4770
|
+
nodes: {
|
|
4771
|
+
preview_color: {
|
|
4772
|
+
hex: string;
|
|
4773
|
+
name: string;
|
|
4774
|
+
};
|
|
4775
|
+
node_id: string;
|
|
4776
|
+
type: string;
|
|
4777
|
+
primitive: string;
|
|
4778
|
+
dimensions: Vec3$1;
|
|
4779
|
+
variant: string | undefined;
|
|
4780
|
+
pose_ref: string | null | undefined;
|
|
4781
|
+
morph: {
|
|
4782
|
+
build?: number;
|
|
4783
|
+
gender?: number;
|
|
4784
|
+
} | undefined;
|
|
4785
|
+
position: Vec3$1;
|
|
4786
|
+
rotation: Vec3$1;
|
|
4787
|
+
scale: Vec3$1;
|
|
4788
|
+
anchors: Readonly<Record<string, readonly number[]>> | undefined;
|
|
4789
|
+
}[];
|
|
4790
|
+
camera: {
|
|
4791
|
+
position: Vec3$1;
|
|
4792
|
+
orientation: Record<string, unknown>;
|
|
4793
|
+
aspect_ratio: string;
|
|
4794
|
+
aspect: number;
|
|
4795
|
+
focal_length_mm: number;
|
|
4796
|
+
sensor_width_mm: number;
|
|
4797
|
+
vertical_fov_deg: number;
|
|
4798
|
+
camera_id: string;
|
|
4799
|
+
name: string | null;
|
|
4800
|
+
preset: unknown;
|
|
4801
|
+
placement: unknown;
|
|
4802
|
+
framing: unknown;
|
|
4803
|
+
focus: unknown;
|
|
4804
|
+
pattern: unknown | null;
|
|
4805
|
+
};
|
|
4806
|
+
};
|
|
4807
|
+
|
|
4808
|
+
type Payload = Record<string, any>;
|
|
4809
|
+
type Vec3 = [number, number, number];
|
|
4810
|
+
declare const NODE_TYPES: readonly ["subject", "object", "surface", "light", "camera_target", "group", "other"];
|
|
4811
|
+
declare const PROXY_PRIMITIVES: readonly ["humanoid_proxy", "box", "cylinder", "sphere", "plane", "room_shell", "furniture_proxy"];
|
|
4812
|
+
type StageOperation = {
|
|
4813
|
+
op: 'add_node';
|
|
4814
|
+
node_id?: string;
|
|
4815
|
+
label?: string;
|
|
4816
|
+
type: string;
|
|
4817
|
+
description: string;
|
|
4818
|
+
properties?: Record<string, unknown>;
|
|
4819
|
+
primitive?: string;
|
|
4820
|
+
dimensions?: Vec3;
|
|
4821
|
+
variant?: string;
|
|
4822
|
+
pose_ref?: string;
|
|
4823
|
+
morph?: {
|
|
4824
|
+
build?: number;
|
|
4825
|
+
gender?: number;
|
|
4826
|
+
};
|
|
4827
|
+
preview_color?: string;
|
|
4828
|
+
position?: Vec3;
|
|
4829
|
+
rotation_euler_deg?: Vec3;
|
|
4830
|
+
scale?: Vec3;
|
|
4831
|
+
} | {
|
|
4832
|
+
op: 'update_node';
|
|
4833
|
+
node_id: string;
|
|
4834
|
+
label?: string | null;
|
|
4835
|
+
type?: string;
|
|
4836
|
+
description?: string;
|
|
4837
|
+
properties?: Record<string, unknown>;
|
|
4838
|
+
primitive?: string;
|
|
4839
|
+
dimensions?: Vec3;
|
|
4840
|
+
variant?: string;
|
|
4841
|
+
pose_ref?: string;
|
|
4842
|
+
morph?: {
|
|
4843
|
+
build?: number;
|
|
4844
|
+
gender?: number;
|
|
4845
|
+
};
|
|
4846
|
+
/** `null` setzt auf die automatisch vergebene Standardfarbe zurück. */
|
|
4847
|
+
preview_color?: string | null;
|
|
4848
|
+
} | {
|
|
4849
|
+
op: 'place_node';
|
|
4850
|
+
node_id: string;
|
|
4851
|
+
position?: Vec3;
|
|
4852
|
+
rotation_euler_deg?: Vec3;
|
|
4853
|
+
scale?: Vec3;
|
|
4854
|
+
} | {
|
|
4855
|
+
op: 'remove_node';
|
|
4856
|
+
node_id: string;
|
|
4857
|
+
} | {
|
|
4858
|
+
op: 'add_camera';
|
|
4859
|
+
camera: Payload;
|
|
4860
|
+
} | {
|
|
4861
|
+
op: 'update_camera';
|
|
4862
|
+
camera_id: string;
|
|
4863
|
+
changes: Payload;
|
|
4864
|
+
} | {
|
|
4865
|
+
op: 'set_shot_camera';
|
|
4866
|
+
camera_id: string;
|
|
4867
|
+
};
|
|
4868
|
+
interface StagePayloads {
|
|
4869
|
+
scene: Payload;
|
|
4870
|
+
setup: Payload;
|
|
4871
|
+
shot: Payload | null;
|
|
4872
|
+
}
|
|
4873
|
+
type StageOperationsResult = {
|
|
4874
|
+
kind: 'ok';
|
|
4875
|
+
payloads: StagePayloads;
|
|
4876
|
+
changed: {
|
|
4877
|
+
scene: boolean;
|
|
4878
|
+
setup: boolean;
|
|
4879
|
+
shot: boolean;
|
|
4880
|
+
};
|
|
4881
|
+
created_node_ids: string[];
|
|
4882
|
+
/** Gesetzte Reihenfolge der Writes, so dass kein Zwischenstand verwaist. */
|
|
4883
|
+
write_order: ('scene' | 'setup' | 'shot')[];
|
|
4884
|
+
color_conflicts: PreviewColorConflict[];
|
|
4885
|
+
} | {
|
|
4886
|
+
kind: 'rejected';
|
|
4887
|
+
message: string;
|
|
4888
|
+
operation_index: number | null;
|
|
4889
|
+
};
|
|
4890
|
+
/**
|
|
4891
|
+
* Die Nodes, wie der Editor sie färbt: alle nicht ausgeblendeten, mit der
|
|
4892
|
+
* wirksamen Proxy-Geometrie (eine `proxy_3d`-Überschreibung im Aufbau gilt vor
|
|
4893
|
+
* der Szene — dieselbe Regel wie in `resolve`).
|
|
4894
|
+
*/
|
|
4895
|
+
declare function previewColorNodes(scene: Payload, setup: Payload | null, shot: Payload | null): {
|
|
4896
|
+
node_id: string;
|
|
4897
|
+
type: string;
|
|
4898
|
+
proxy_3d: any;
|
|
4899
|
+
}[];
|
|
4900
|
+
/**
|
|
4901
|
+
* Schreibt die wirksamen Markerfarben aller Proxy-Nodes der Szene fest.
|
|
4902
|
+
*
|
|
4903
|
+
* Ersatzfarben hängen von den anderen Nodes ab; ohne Festschreiben könnte das
|
|
4904
|
+
* Hinzufügen oder Entfernen eines Nodes die Farbe eines anderen verschieben.
|
|
4905
|
+
* Sichtbare Nodes behalten genau ihre angezeigte Farbe, ausgeblendete bekommen
|
|
4906
|
+
* eine davon deutlich verschiedene. Nodes, deren Geometrie im Aufbau
|
|
4907
|
+
* überschrieben ist, bleiben unberührt — ihre Farbe wirkt dort.
|
|
4908
|
+
*/
|
|
4909
|
+
declare function pinPreviewColors(scene: Payload, setup: Payload | null, shot: Payload | null): Payload;
|
|
4910
|
+
/**
|
|
4911
|
+
* Rechnet die Operationen auf die drei Payloads um. Schreibt nichts.
|
|
4912
|
+
*
|
|
4913
|
+
* Abgelehnt wird jede Operation, die einen inkonsistenten Endstand ergäbe:
|
|
4914
|
+
* unbekannte oder doppelte Node-IDs, Placements ohne Node, Kameras ohne
|
|
4915
|
+
* Eintrag im Rig, ein entfernter Node, auf den noch eine Kamera oder der Shot
|
|
4916
|
+
* zeigt. Hinzufügen und Entfernen in einem Aufruf wird abgelehnt: Für diese
|
|
4917
|
+
* Kombination gibt es keine Schreibreihenfolge ohne verwaisten Zwischenstand.
|
|
4918
|
+
*/
|
|
4919
|
+
declare function applyStageOperations(input: StagePayloads, operations: readonly StageOperation[]): StageOperationsResult;
|
|
4920
|
+
|
|
4921
|
+
type StageElementsPort = Pick<SzenenQueries, 'getElement' | 'listElements'> & Pick<SzenenCommands, 'createElement' | 'writeDraft'>;
|
|
4922
|
+
interface StageChainState {
|
|
4923
|
+
chain_id: string;
|
|
4924
|
+
scene: ElementSnapshot;
|
|
4925
|
+
setup: ElementSnapshot;
|
|
4926
|
+
shot: ElementSnapshot;
|
|
4927
|
+
}
|
|
4928
|
+
/**
|
|
4929
|
+
* Die bestehende Bühnenkette einer Szene, oder `null`, wenn die Szene keinen
|
|
4930
|
+
* Kettenentwurf hat. Eine unvollständige oder mehrdeutige Kette ist ein Fehler
|
|
4931
|
+
* und wird nicht geraten.
|
|
4932
|
+
*/
|
|
4933
|
+
declare function findStageDraftChain(elements: StageElementsPort, sceneElementId: string): Promise<StageChainState | null>;
|
|
4934
|
+
interface OpenStageDraftChainInput {
|
|
4935
|
+
sceneElementId: string;
|
|
4936
|
+
setupElementId: string;
|
|
4937
|
+
/** Die veröffentlichte Aufbauversion, von der aus begonnen wird; `null` = sein Entwurf. */
|
|
4938
|
+
setupVersionId: string | null;
|
|
4939
|
+
contextId: string | null;
|
|
4940
|
+
/** Zielmodell für einen neu angelegten Shot, sonst weggelassen. */
|
|
4941
|
+
targetModelId?: string | null;
|
|
4942
|
+
newChainId?: () => string;
|
|
4943
|
+
}
|
|
4944
|
+
/**
|
|
4945
|
+
* Legt die Bühnenkette an oder setzt eine bestehende fort — genau der Ablauf,
|
|
4946
|
+
* mit dem der Editor eine Ansicht in einen 3D-Entwurf überführt.
|
|
4947
|
+
*
|
|
4948
|
+
* Kein erfundener Shot und keine erfundene Version: Ein Shot dieser Kette wird
|
|
4949
|
+
* wiederverwendet, sonst wird genau einer angelegt.
|
|
4950
|
+
*/
|
|
4951
|
+
declare function openStageDraftChain(elements: StageElementsPort, input: OpenStageDraftChainInput): Promise<StageChainState>;
|
|
4952
|
+
|
|
4953
|
+
/**
|
|
4954
|
+
* Der Anbieter, der in einem so entstandenen Lauf steht.
|
|
4955
|
+
*
|
|
4956
|
+
* `mcp_client` und nicht `openai`/`chatgpt`: Was der Server sicher weiss, ist
|
|
4957
|
+
* dass **sein MCP-Aufrufer** formuliert hat. Welcher Anbieter dahinter steht,
|
|
4958
|
+
* sagt ihm niemand — und ein geratener Anbietername waere im Lauf spaeter
|
|
4959
|
+
* nicht mehr von einem belegten zu unterscheiden (D-107).
|
|
4960
|
+
*/
|
|
4961
|
+
declare const MCP_CLIENT_PROVIDER = "mcp_client";
|
|
4962
|
+
/**
|
|
4963
|
+
* Die Modellkennung, wenn der Host keine belegte liefert — und das tut er nie.
|
|
4964
|
+
*
|
|
4965
|
+
* Bewusst ein sprechender Platzhalter statt einer Modellversion: `model_id`
|
|
4966
|
+
* ist das Feld, an dem ein Leser ablesen soll, **womit** formuliert wurde.
|
|
4967
|
+
* Eine dort eingetragene Selbstauskunft saehe aus wie eine belegte Kennung.
|
|
4968
|
+
* Die Selbstauskunft steht deshalb in `execution_origin.declared_model_id` und
|
|
4969
|
+
* traegt dort sichtbar, dass sie unbelegt ist.
|
|
4970
|
+
*/
|
|
4971
|
+
declare const UNVERIFIED_MODEL_ID = "mcp-client-unspecified";
|
|
4972
|
+
/**
|
|
4973
|
+
* Die Herkunft der Ausfuehrung, so ehrlich wie sie belegbar ist.
|
|
4974
|
+
*
|
|
4975
|
+
* Additiv am Lauf und nicht in `model_id`/`provider` versteckt: Der
|
|
4976
|
+
* Unterschied zwischen „das war Modell X" und „der Aufrufer sagt, es war
|
|
4977
|
+
* Modell X" ist genau der, um den es geht.
|
|
4978
|
+
*/
|
|
4979
|
+
interface PromptExecutionOrigin {
|
|
4980
|
+
/** Wer den Lauf eingereicht hat — hier immer der MCP-Werkzeugweg. */
|
|
4981
|
+
host: 'mcp';
|
|
4982
|
+
/** Was der Aufrufer ueber sich selbst gesagt hat, unveraendert und unbelegt. */
|
|
4983
|
+
declared_model_id?: string;
|
|
4984
|
+
/**
|
|
4985
|
+
* Ob die unten mitgegebene Renderer-Anweisung die tatsaechliche
|
|
4986
|
+
* Systemnachricht des formulierenden Chats war.
|
|
4987
|
+
*
|
|
4988
|
+
* Sie war es nie: Der MCP reicht sie als Werkzeugergebnis heraus; was im
|
|
4989
|
+
* Chat als Systemprompt stand, kennt der Server nicht. Das Feld steht
|
|
4990
|
+
* trotzdem im Lauf, weil `system_prompt` sonst genau so gelesen wuerde.
|
|
4991
|
+
*/
|
|
4992
|
+
renderer_instruction_was_system_prompt: false;
|
|
4993
|
+
}
|
|
4994
|
+
/** Der Antwortvertrag, den der Aufrufer erfuellen muss — maschinenlesbar. */
|
|
4995
|
+
interface PromptResponseContract {
|
|
4996
|
+
format: 'json';
|
|
4997
|
+
/** Pflichtfelder der Antwort, wie `checkRunResponse()` sie prueft. */
|
|
4998
|
+
required_fields: readonly string[];
|
|
4999
|
+
/** Ob ein Negativ-Prompt zugesagt ist (sonst muss `negative` null bleiben). */
|
|
5000
|
+
negative_prompt_allowed: boolean;
|
|
5001
|
+
/** Jeder dieser Knoten muss in `visibility.nodes` erscheinen (D-21). */
|
|
5002
|
+
node_ids: readonly string[];
|
|
5003
|
+
/** Die Sprache, in der `positive` formuliert wird. */
|
|
5004
|
+
prompt_language: string;
|
|
5005
|
+
}
|
|
5006
|
+
/** Ein vorbereiteter Promptvorgang — dauerhaft unter `operation_id`. */
|
|
5007
|
+
interface PreparedPromptOperation {
|
|
5008
|
+
operation_id: string;
|
|
5009
|
+
/** Die eingefrorene Szene: genau ein Entwurfs- oder Versionsstand (D-135). */
|
|
5010
|
+
scene: FrozenSceneState;
|
|
5011
|
+
context_id: string | null;
|
|
5012
|
+
/** Die Arbeitsanweisung des Nutzers, soweit eine gegeben wurde. */
|
|
5013
|
+
user_instruction: string | null;
|
|
5014
|
+
/** Der eingefrorene `RendererInput` — woertlich der des bestehenden Pfads. */
|
|
5015
|
+
renderer_input: RendererInput;
|
|
5016
|
+
/**
|
|
5017
|
+
* Die Renderer-Anweisung (`buildSystemInstruction`).
|
|
5018
|
+
*
|
|
5019
|
+
* Sie ist **Material fuer den Aufrufer**, nicht sein Systemprompt. Beim
|
|
5020
|
+
* Abschluss landet sie unveraendert in `system_prompt` des Laufs, weil das
|
|
5021
|
+
* Feld seit Stufe 3 genau diese Anweisung fuehrt.
|
|
5022
|
+
*/
|
|
5023
|
+
renderer_instruction: string;
|
|
5024
|
+
/** Die Nutzernachricht: die Renderer-Eingabe als JSON (D-47). */
|
|
5025
|
+
renderer_payload: string;
|
|
5026
|
+
response_contract: PromptResponseContract;
|
|
5027
|
+
prepared_by: string;
|
|
5028
|
+
created_at: string;
|
|
5029
|
+
}
|
|
5030
|
+
/** Nutzlast von `promptOperationPrepared`. */
|
|
5031
|
+
type PromptOperationPreparedPayload = PreparedPromptOperation;
|
|
5032
|
+
/** Liest alle vorbereiteten Vorgaenge aus dem Ereignislog. */
|
|
5033
|
+
declare function collectPromptOperations(events: readonly ElementEvent[]): readonly PreparedPromptOperation[];
|
|
5034
|
+
/** Ein einzelner vorbereiteter Vorgang, oder `null`. */
|
|
5035
|
+
declare function findPromptOperation(events: readonly ElementEvent[], operationId: string): PreparedPromptOperation | null;
|
|
5036
|
+
interface PreparePromptOperationInput {
|
|
5037
|
+
sceneElementId: string;
|
|
5038
|
+
operationId: string;
|
|
5039
|
+
store: ChainQueries;
|
|
5040
|
+
resolver: ReferenceResolver;
|
|
5041
|
+
contextChain: readonly (string | null)[];
|
|
5042
|
+
contextId: string | null;
|
|
5043
|
+
userInstruction?: string | null;
|
|
5044
|
+
/**
|
|
5045
|
+
* Das gewaehlte Zielmodell (Kette `szenen-direktlauf-target-model-policy`).
|
|
5046
|
+
*
|
|
5047
|
+
* Optional. Ohne Angabe bleibt der Vorgang exakt der generische von D-135;
|
|
5048
|
+
* mit Angabe traegt der eingefrorene `RendererInput` die Modellprovenienz,
|
|
5049
|
+
* und `completePromptOperation()` schreibt ihre `version_id` ohne Zutun in
|
|
5050
|
+
* `target_model_version_id` des Laufs.
|
|
5051
|
+
*/
|
|
5052
|
+
targetModelElementId?: string | null;
|
|
5053
|
+
preparedBy: string;
|
|
5054
|
+
now?: () => Date;
|
|
5055
|
+
}
|
|
5056
|
+
type PreparePromptOperationResult = {
|
|
5057
|
+
kind: 'ok';
|
|
5058
|
+
operation: PreparedPromptOperation;
|
|
5059
|
+
} | FreezeFailure;
|
|
5060
|
+
/**
|
|
5061
|
+
* Friert den Arbeitsstand einer Szene ein und baut daraus den Vorgang.
|
|
5062
|
+
*
|
|
5063
|
+
* Ruft **kein** Modell — hier entstehen keine Kosten. Das Einfrieren ist
|
|
5064
|
+
* woertlich `freezeSceneWorkingState()`, also derselbe Zwei-Durchgang-Vergleich
|
|
5065
|
+
* mit denselben drei Ausgaengen wie im bestehenden Pfad (D-97/D-135). Ein
|
|
5066
|
+
* Konflikt bleibt ein Konflikt, kein „nochmal versuchen".
|
|
5067
|
+
*/
|
|
5068
|
+
declare function preparePromptOperation(input: PreparePromptOperationInput): Promise<PreparePromptOperationResult>;
|
|
5069
|
+
/**
|
|
5070
|
+
* Der Antwortvertrag, abgelesen an derselben Eingabe wie die Anweisung.
|
|
5071
|
+
*
|
|
5072
|
+
* Bewusst abgelesen und nicht danebengeschrieben: Was `checkRunResponse()
|
|
5073
|
+
* prueft, entscheidet allein `promptRun.ts`. Ein hier gepflegter zweiter
|
|
5074
|
+
* Katalog liefe irgendwann auseinander, und der Aufrufer bekaeme einen
|
|
5075
|
+
* Vertrag, den die Pruefung nicht kennt.
|
|
5076
|
+
*/
|
|
5077
|
+
declare function responseContractOf(input: RendererInput): PromptResponseContract;
|
|
5078
|
+
interface CompletePromptOperationInput {
|
|
5079
|
+
operation: PreparedPromptOperation;
|
|
5080
|
+
/** Die Antwort des aufrufenden Modells, woertlich. */
|
|
5081
|
+
response: string;
|
|
5082
|
+
runId: string;
|
|
5083
|
+
/** Was der Aufrufer ueber sein eigenes Modell sagt — unbelegt (D-107). */
|
|
5084
|
+
declaredModelId?: string | null;
|
|
5085
|
+
now?: () => Date;
|
|
5086
|
+
}
|
|
5087
|
+
type CompletePromptOperationResult = {
|
|
5088
|
+
kind: 'ok';
|
|
5089
|
+
record: PromptRunRecord;
|
|
5090
|
+
} | {
|
|
5091
|
+
kind: 'rejected';
|
|
5092
|
+
message: string;
|
|
5093
|
+
};
|
|
5094
|
+
/**
|
|
5095
|
+
* Macht aus der Antwort des Aufrufers einen normalen Promptlauf.
|
|
5096
|
+
*
|
|
5097
|
+
* **Eine ungueltige Antwort wird nicht als gescheiterter Lauf abgelegt.** Das
|
|
5098
|
+
* ist der eine bewusste Unterschied zum Providerpfad, und er hat einen Grund:
|
|
5099
|
+
* Dort belegt ein `failed` einen **bezahlten** Aufruf, der sich nicht
|
|
5100
|
+
* wiederholen laesst, ohne noch einmal zu kosten (D-23 §6). Hier hat niemand
|
|
5101
|
+
* bezahlt — der Aufrufer hat nur falsch formuliert und kann es unter derselben
|
|
5102
|
+
* `operation_id` sofort richtig tun. Ein Fehlerlauf waere hier kein Nachweis,
|
|
5103
|
+
* sondern Muell im autoritativen Bestand, und er wuerde die Wiederholung
|
|
5104
|
+
* ausserdem als Konflikt blockieren.
|
|
5105
|
+
*/
|
|
5106
|
+
declare function completePromptOperation(input: CompletePromptOperationInput): CompletePromptOperationResult;
|
|
5107
|
+
/**
|
|
5108
|
+
* Der Lauf, der aus diesem Vorgang schon entstanden ist — oder `null`.
|
|
5109
|
+
*
|
|
5110
|
+
* Grundlage der Idempotenz: Derselbe Vorgang mit derselben Antwort liefert
|
|
5111
|
+
* denselben Lauf; eine **andere** Antwort unter derselben Kennung ist ein
|
|
5112
|
+
* Konflikt und kein zweiter Lauf. Verglichen wird die woertliche Antwort aus
|
|
5113
|
+
* `raw_output` — es braucht keinen Fingerabdruck neben etwas, das der Lauf
|
|
5114
|
+
* ohnehin vollstaendig traegt.
|
|
5115
|
+
*/
|
|
5116
|
+
declare function runOfOperation(runs: readonly PromptRunRecord[], operationId: string): PromptRunRecord | null;
|
|
5117
|
+
/** Ob eine eingereichte Antwort woertlich die des bereits gespeicherten Laufs ist. */
|
|
5118
|
+
declare function sameResponseAs(run: PromptRunRecord, response: string): boolean;
|
|
5119
|
+
|
|
5120
|
+
/** Die Rolle des Kamera-Previews unter den Eingangsbildern. */
|
|
5121
|
+
declare const CAMERA_PREVIEW_ASSET_ROLE = "camera_preview";
|
|
5122
|
+
/** Ein Eingangsbild, so wie der Quelllauf es tatsaechlich benutzt hat. */
|
|
5123
|
+
interface PromptRunInputAsset {
|
|
5124
|
+
/** Kanonische Asset-Kennung — nie ein Dateiname oder Blob. */
|
|
5125
|
+
asset_id: string;
|
|
5126
|
+
role: typeof CAMERA_PREVIEW_ASSET_ROLE;
|
|
5127
|
+
/** Platz in der geordneten Eingangsliste, ab 0, luckenlos. */
|
|
5128
|
+
position: number;
|
|
5129
|
+
/** Die Schreibweise im Prompt, wie sie das eingefrorene Zielmodell festlegt. */
|
|
5130
|
+
prompt_token: string | null;
|
|
5131
|
+
/** Pruefsumme der Bytes — muss zum eingefrorenen Preview passen. */
|
|
5132
|
+
sha256: string;
|
|
5133
|
+
/** Wo das Asset liegt: Lauf und Run-Item, an dem es gespeichert ist. */
|
|
5134
|
+
origin: {
|
|
5135
|
+
run_id: string;
|
|
5136
|
+
item_id: string;
|
|
5137
|
+
};
|
|
5138
|
+
}
|
|
5139
|
+
/** Die Herkunft eines Variantenlaufs. */
|
|
5140
|
+
interface PromptRunVariantOf {
|
|
5141
|
+
source_run_id: string;
|
|
5142
|
+
operation_id: string;
|
|
5143
|
+
input_assets: readonly PromptRunInputAsset[];
|
|
5144
|
+
}
|
|
5145
|
+
type PromptRunVariantRecord = PromptRunRecord & {
|
|
5146
|
+
operation_id: string;
|
|
5147
|
+
execution_origin: PromptExecutionOrigin;
|
|
5148
|
+
variant_of: PromptRunVariantOf;
|
|
4432
5149
|
};
|
|
4433
|
-
interface
|
|
5150
|
+
interface BuildPromptRunVariantInput {
|
|
4434
5151
|
runId: string;
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
promptText: string;
|
|
5152
|
+
operationId: string;
|
|
5153
|
+
/** Der gespeicherte Quelllauf, unveraendert aus dem autoritativen Log. */
|
|
5154
|
+
source: PromptRunRecord;
|
|
5155
|
+
positive: string;
|
|
5156
|
+
negative?: string | null;
|
|
4441
5157
|
note?: string | null;
|
|
4442
|
-
|
|
4443
|
-
|
|
5158
|
+
declaredModelId?: string | null;
|
|
5159
|
+
inputAssets: readonly PromptRunInputAsset[];
|
|
4444
5160
|
now?: () => Date;
|
|
4445
5161
|
}
|
|
4446
|
-
type
|
|
5162
|
+
type BuildPromptRunVariantResult = {
|
|
4447
5163
|
kind: 'ok';
|
|
4448
|
-
record:
|
|
5164
|
+
record: PromptRunVariantRecord;
|
|
4449
5165
|
} | {
|
|
4450
5166
|
kind: 'rejected';
|
|
4451
5167
|
message: string;
|
|
4452
5168
|
};
|
|
5169
|
+
type Verdict = {
|
|
5170
|
+
ok: true;
|
|
5171
|
+
} | {
|
|
5172
|
+
ok: false;
|
|
5173
|
+
message: string;
|
|
5174
|
+
};
|
|
4453
5175
|
/**
|
|
4454
|
-
*
|
|
5176
|
+
* Prueft die geordneten Eingangsbilder gegen den eingefrorenen Lauf.
|
|
4455
5177
|
*
|
|
4456
|
-
* Ein
|
|
4457
|
-
*
|
|
4458
|
-
* vollwertige Runde erscheinen.
|
|
5178
|
+
* Ein Lauf mit Kamera-Preview braucht genau dieses Preview als Eingang — ein
|
|
5179
|
+
* fehlendes waere ein stilles Weglassen, ein abweichendes ein Ersatzbild.
|
|
4459
5180
|
*/
|
|
4460
|
-
declare function
|
|
4461
|
-
/**
|
|
4462
|
-
|
|
5181
|
+
declare function checkVariantInputAssets(assets: unknown, cameraPreview: PromptRunRecord['camera_preview'] | undefined): Verdict;
|
|
5182
|
+
/**
|
|
5183
|
+
* Prueft den Variantenblock eines Laufs. Additiv und optional: Ein Lauf ohne
|
|
5184
|
+
* `variant_of` bleibt unveraendert gueltig.
|
|
5185
|
+
*/
|
|
5186
|
+
declare function checkVariantBlock(record: Record<string, unknown>): Verdict;
|
|
5187
|
+
/**
|
|
5188
|
+
* Baut den Variantenlauf. Prueft, was ohne Bestandszugriff pruefbar ist; die
|
|
5189
|
+
* Rechte und die Erreichbarkeit der Assets prueft der Host vorher.
|
|
5190
|
+
*/
|
|
5191
|
+
declare function buildPromptRunVariantRecord(eingabe: BuildPromptRunVariantInput): BuildPromptRunVariantResult;
|
|
5192
|
+
/** Der Variantenblock eines Laufs, oder `null` bei jedem anderen Lauf. */
|
|
5193
|
+
declare function variantOf(run: PromptRunPageRecord | PromptRunRecord): PromptRunVariantOf | null;
|
|
5194
|
+
/**
|
|
5195
|
+
* Ist dieser gespeicherte Lauf genau die angefragte Variante? Grundlage der
|
|
5196
|
+
* Idempotenz: dieselbe operation_id mit derselben Anfrage liefert denselben
|
|
5197
|
+
* Lauf, eine abweichende ist ein Konflikt.
|
|
5198
|
+
*/
|
|
5199
|
+
declare function sameVariantRequest(run: PromptRunRecord, anfrage: {
|
|
5200
|
+
sourceRunId: string;
|
|
5201
|
+
positive: string;
|
|
5202
|
+
negative?: string | null;
|
|
5203
|
+
note?: string | null;
|
|
5204
|
+
}): boolean;
|
|
4463
5205
|
|
|
4464
5206
|
interface CreateMemoryViewPortOptions {
|
|
4465
5207
|
/**
|
|
@@ -4497,6 +5239,14 @@ interface CreateMemoryViewPortOptions {
|
|
|
4497
5239
|
items?: boolean;
|
|
4498
5240
|
/** Ob der Port Medien anbietet (Stufe 5 vorhanden). */
|
|
4499
5241
|
media?: boolean;
|
|
5242
|
+
/**
|
|
5243
|
+
* Anzeigbare Vorschauen je `asset_id` (Kette `szenen-design`, P4).
|
|
5244
|
+
*
|
|
5245
|
+
* Gesetzt bietet der Medienport `loadAssetPreview()` an und beantwortet eine
|
|
5246
|
+
* unbekannte Kennung mit einem Fehler. Fehlt die Angabe, fehlt auch die
|
|
5247
|
+
* Operation — wie in einem Host, der Assets nicht aufloesen kann (R11).
|
|
5248
|
+
*/
|
|
5249
|
+
assetPreviews?: Readonly<Record<string, string>>;
|
|
4500
5250
|
/**
|
|
4501
5251
|
* Ob der Port einen Bildbestand anbietet (D-94).
|
|
4502
5252
|
*
|
|
@@ -4611,7 +5361,7 @@ declare const FLOW_EXECUTION_PATH = "google_flow";
|
|
|
4611
5361
|
/**
|
|
4612
5362
|
* Ein Provideraufruf je Bild — dieselbe Begründung wie beim React-Adapter
|
|
4613
5363
|
* (`reactImageProvider.ts`): Das SDK kennt keinen Mehrbild-Parameter
|
|
4614
|
-
* (
|
|
5364
|
+
* (the Flow SDK host contract, CONVERGE-Fundstelle „4 Varianten gleichzeitig").
|
|
4615
5365
|
* Teilfehler verwerfen nichts: Bricht der k-te Aufruf ab, werden die ersten
|
|
4616
5366
|
* k-1 Bilder zurückgegeben; nur wenn **kein** Bild zustande kam, wirft der
|
|
4617
5367
|
* Adapter.
|
|
@@ -4635,6 +5385,8 @@ interface CreateFlowSzenenViewPortOptions {
|
|
|
4635
5385
|
textPort?: TextGenerationPort;
|
|
4636
5386
|
/** Existing channel for tests or embedded hosts. Otherwise HF credentials are required. */
|
|
4637
5387
|
channel?: ElementEventChannel;
|
|
5388
|
+
readPromptConstructionTags?: () => Promise<readonly PromptConstructionTag[]>;
|
|
5389
|
+
readReferenceSentenceTags?: () => Promise<readonly ReferenceSentenceTag[]>;
|
|
4638
5390
|
namespace?: string;
|
|
4639
5391
|
token?: string;
|
|
4640
5392
|
context?: ContextChainPort;
|
|
@@ -4731,6 +5483,11 @@ declare function createBrowserTextGenerationPort(options?: CreateBrowserTextGene
|
|
|
4731
5483
|
* Providerantwort und leitet keine Runde ab. Er speichert, was er bekommt.
|
|
4732
5484
|
*/
|
|
4733
5485
|
interface PromptRunPersistencePort {
|
|
5486
|
+
storeCameraPreview?(runId: string, preview: CameraPreview): Promise<CommandResult<void>>;
|
|
5487
|
+
/** Liest genau das am Run-Item gespeicherte Preview (geprüft gegen den Lauf). */
|
|
5488
|
+
loadCameraPreview?(runId: string): Promise<QueryResult<CameraPreview & {
|
|
5489
|
+
asset_id: string;
|
|
5490
|
+
}>>;
|
|
4734
5491
|
listForShot(shotVersionId: string): Promise<QueryResult<readonly PromptRunRecord[]>>;
|
|
4735
5492
|
get(runId: string): Promise<QueryResult<PromptRunRecord | null>>;
|
|
4736
5493
|
/** Legt den fertigen Lauf autoritativ ab. Ohne Bestätigung gibt es keinen Lauf. */
|
|
@@ -5020,6 +5777,7 @@ interface SelectableTargetModel {
|
|
|
5020
5777
|
* Kombinationen trifft `executableImageModels()`, nicht diese Datei.
|
|
5021
5778
|
*/
|
|
5022
5779
|
executionProfiles: readonly unknown[];
|
|
5780
|
+
supportedControlInputs?: readonly string[];
|
|
5023
5781
|
/** Glied der Kette, auf dem der Treffer lag. `0` = Arbeitskontext. */
|
|
5024
5782
|
chainIndex: number;
|
|
5025
5783
|
}
|
|
@@ -5069,173 +5827,6 @@ interface TargetModelChoices {
|
|
|
5069
5827
|
*/
|
|
5070
5828
|
declare function selectableTargetModels(queries: VisibilityQueries, contextChain: readonly (string | null)[]): Promise<QueryResult<TargetModelChoices>>;
|
|
5071
5829
|
|
|
5072
|
-
/**
|
|
5073
|
-
* Der Anbieter, der in einem so entstandenen Lauf steht.
|
|
5074
|
-
*
|
|
5075
|
-
* `mcp_client` und nicht `openai`/`chatgpt`: Was der Server sicher weiss, ist
|
|
5076
|
-
* dass **sein MCP-Aufrufer** formuliert hat. Welcher Anbieter dahinter steht,
|
|
5077
|
-
* sagt ihm niemand — und ein geratener Anbietername waere im Lauf spaeter
|
|
5078
|
-
* nicht mehr von einem belegten zu unterscheiden (D-107).
|
|
5079
|
-
*/
|
|
5080
|
-
declare const MCP_CLIENT_PROVIDER = "mcp_client";
|
|
5081
|
-
/**
|
|
5082
|
-
* Die Modellkennung, wenn der Host keine belegte liefert — und das tut er nie.
|
|
5083
|
-
*
|
|
5084
|
-
* Bewusst ein sprechender Platzhalter statt einer Modellversion: `model_id`
|
|
5085
|
-
* ist das Feld, an dem ein Leser ablesen soll, **womit** formuliert wurde.
|
|
5086
|
-
* Eine dort eingetragene Selbstauskunft saehe aus wie eine belegte Kennung.
|
|
5087
|
-
* Die Selbstauskunft steht deshalb in `execution_origin.declared_model_id` und
|
|
5088
|
-
* traegt dort sichtbar, dass sie unbelegt ist.
|
|
5089
|
-
*/
|
|
5090
|
-
declare const UNVERIFIED_MODEL_ID = "mcp-client-unspecified";
|
|
5091
|
-
/**
|
|
5092
|
-
* Die Herkunft der Ausfuehrung, so ehrlich wie sie belegbar ist.
|
|
5093
|
-
*
|
|
5094
|
-
* Additiv am Lauf und nicht in `model_id`/`provider` versteckt: Der
|
|
5095
|
-
* Unterschied zwischen „das war Modell X" und „der Aufrufer sagt, es war
|
|
5096
|
-
* Modell X" ist genau der, um den es geht.
|
|
5097
|
-
*/
|
|
5098
|
-
interface PromptExecutionOrigin {
|
|
5099
|
-
/** Wer den Lauf eingereicht hat — hier immer der MCP-Werkzeugweg. */
|
|
5100
|
-
host: 'mcp';
|
|
5101
|
-
/** Was der Aufrufer ueber sich selbst gesagt hat, unveraendert und unbelegt. */
|
|
5102
|
-
declared_model_id?: string;
|
|
5103
|
-
/**
|
|
5104
|
-
* Ob die unten mitgegebene Renderer-Anweisung die tatsaechliche
|
|
5105
|
-
* Systemnachricht des formulierenden Chats war.
|
|
5106
|
-
*
|
|
5107
|
-
* Sie war es nie: Der MCP reicht sie als Werkzeugergebnis heraus; was im
|
|
5108
|
-
* Chat als Systemprompt stand, kennt der Server nicht. Das Feld steht
|
|
5109
|
-
* trotzdem im Lauf, weil `system_prompt` sonst genau so gelesen wuerde.
|
|
5110
|
-
*/
|
|
5111
|
-
renderer_instruction_was_system_prompt: false;
|
|
5112
|
-
}
|
|
5113
|
-
/** Der Antwortvertrag, den der Aufrufer erfuellen muss — maschinenlesbar. */
|
|
5114
|
-
interface PromptResponseContract {
|
|
5115
|
-
format: 'json';
|
|
5116
|
-
/** Pflichtfelder der Antwort, wie `checkRunResponse()` sie prueft. */
|
|
5117
|
-
required_fields: readonly string[];
|
|
5118
|
-
/** Ob ein Negativ-Prompt zugesagt ist (sonst muss `negative` null bleiben). */
|
|
5119
|
-
negative_prompt_allowed: boolean;
|
|
5120
|
-
/** Jeder dieser Knoten muss in `visibility.nodes` erscheinen (D-21). */
|
|
5121
|
-
node_ids: readonly string[];
|
|
5122
|
-
/** Die Sprache, in der `positive` formuliert wird. */
|
|
5123
|
-
prompt_language: string;
|
|
5124
|
-
}
|
|
5125
|
-
/** Ein vorbereiteter Promptvorgang — dauerhaft unter `operation_id`. */
|
|
5126
|
-
interface PreparedPromptOperation {
|
|
5127
|
-
operation_id: string;
|
|
5128
|
-
/** Die eingefrorene Szene: genau ein Entwurfs- oder Versionsstand (D-135). */
|
|
5129
|
-
scene: FrozenSceneState;
|
|
5130
|
-
context_id: string | null;
|
|
5131
|
-
/** Die Arbeitsanweisung des Nutzers, soweit eine gegeben wurde. */
|
|
5132
|
-
user_instruction: string | null;
|
|
5133
|
-
/** Der eingefrorene `RendererInput` — woertlich der des bestehenden Pfads. */
|
|
5134
|
-
renderer_input: RendererInput;
|
|
5135
|
-
/**
|
|
5136
|
-
* Die Renderer-Anweisung (`buildSystemInstruction`).
|
|
5137
|
-
*
|
|
5138
|
-
* Sie ist **Material fuer den Aufrufer**, nicht sein Systemprompt. Beim
|
|
5139
|
-
* Abschluss landet sie unveraendert in `system_prompt` des Laufs, weil das
|
|
5140
|
-
* Feld seit Stufe 3 genau diese Anweisung fuehrt.
|
|
5141
|
-
*/
|
|
5142
|
-
renderer_instruction: string;
|
|
5143
|
-
/** Die Nutzernachricht: die Renderer-Eingabe als JSON (D-47). */
|
|
5144
|
-
renderer_payload: string;
|
|
5145
|
-
response_contract: PromptResponseContract;
|
|
5146
|
-
prepared_by: string;
|
|
5147
|
-
created_at: string;
|
|
5148
|
-
}
|
|
5149
|
-
/** Nutzlast von `promptOperationPrepared`. */
|
|
5150
|
-
type PromptOperationPreparedPayload = PreparedPromptOperation;
|
|
5151
|
-
/** Liest alle vorbereiteten Vorgaenge aus dem Ereignislog. */
|
|
5152
|
-
declare function collectPromptOperations(events: readonly ElementEvent[]): readonly PreparedPromptOperation[];
|
|
5153
|
-
/** Ein einzelner vorbereiteter Vorgang, oder `null`. */
|
|
5154
|
-
declare function findPromptOperation(events: readonly ElementEvent[], operationId: string): PreparedPromptOperation | null;
|
|
5155
|
-
interface PreparePromptOperationInput {
|
|
5156
|
-
sceneElementId: string;
|
|
5157
|
-
operationId: string;
|
|
5158
|
-
store: ChainQueries;
|
|
5159
|
-
resolver: ReferenceResolver;
|
|
5160
|
-
contextChain: readonly (string | null)[];
|
|
5161
|
-
contextId: string | null;
|
|
5162
|
-
userInstruction?: string | null;
|
|
5163
|
-
/**
|
|
5164
|
-
* Das gewaehlte Zielmodell (Kette `szenen-direktlauf-target-model-policy`).
|
|
5165
|
-
*
|
|
5166
|
-
* Optional. Ohne Angabe bleibt der Vorgang exakt der generische von D-135;
|
|
5167
|
-
* mit Angabe traegt der eingefrorene `RendererInput` die Modellprovenienz,
|
|
5168
|
-
* und `completePromptOperation()` schreibt ihre `version_id` ohne Zutun in
|
|
5169
|
-
* `target_model_version_id` des Laufs.
|
|
5170
|
-
*/
|
|
5171
|
-
targetModelElementId?: string | null;
|
|
5172
|
-
preparedBy: string;
|
|
5173
|
-
now?: () => Date;
|
|
5174
|
-
}
|
|
5175
|
-
type PreparePromptOperationResult = {
|
|
5176
|
-
kind: 'ok';
|
|
5177
|
-
operation: PreparedPromptOperation;
|
|
5178
|
-
} | FreezeFailure;
|
|
5179
|
-
/**
|
|
5180
|
-
* Friert den Arbeitsstand einer Szene ein und baut daraus den Vorgang.
|
|
5181
|
-
*
|
|
5182
|
-
* Ruft **kein** Modell — hier entstehen keine Kosten. Das Einfrieren ist
|
|
5183
|
-
* woertlich `freezeSceneWorkingState()`, also derselbe Zwei-Durchgang-Vergleich
|
|
5184
|
-
* mit denselben drei Ausgaengen wie im bestehenden Pfad (D-97/D-135). Ein
|
|
5185
|
-
* Konflikt bleibt ein Konflikt, kein „nochmal versuchen".
|
|
5186
|
-
*/
|
|
5187
|
-
declare function preparePromptOperation(input: PreparePromptOperationInput): Promise<PreparePromptOperationResult>;
|
|
5188
|
-
/**
|
|
5189
|
-
* Der Antwortvertrag, abgelesen an derselben Eingabe wie die Anweisung.
|
|
5190
|
-
*
|
|
5191
|
-
* Bewusst abgelesen und nicht danebengeschrieben: Was `checkRunResponse()
|
|
5192
|
-
* prueft, entscheidet allein `promptRun.ts`. Ein hier gepflegter zweiter
|
|
5193
|
-
* Katalog liefe irgendwann auseinander, und der Aufrufer bekaeme einen
|
|
5194
|
-
* Vertrag, den die Pruefung nicht kennt.
|
|
5195
|
-
*/
|
|
5196
|
-
declare function responseContractOf(input: RendererInput): PromptResponseContract;
|
|
5197
|
-
interface CompletePromptOperationInput {
|
|
5198
|
-
operation: PreparedPromptOperation;
|
|
5199
|
-
/** Die Antwort des aufrufenden Modells, woertlich. */
|
|
5200
|
-
response: string;
|
|
5201
|
-
runId: string;
|
|
5202
|
-
/** Was der Aufrufer ueber sein eigenes Modell sagt — unbelegt (D-107). */
|
|
5203
|
-
declaredModelId?: string | null;
|
|
5204
|
-
now?: () => Date;
|
|
5205
|
-
}
|
|
5206
|
-
type CompletePromptOperationResult = {
|
|
5207
|
-
kind: 'ok';
|
|
5208
|
-
record: PromptRunRecord;
|
|
5209
|
-
} | {
|
|
5210
|
-
kind: 'rejected';
|
|
5211
|
-
message: string;
|
|
5212
|
-
};
|
|
5213
|
-
/**
|
|
5214
|
-
* Macht aus der Antwort des Aufrufers einen normalen Promptlauf.
|
|
5215
|
-
*
|
|
5216
|
-
* **Eine ungueltige Antwort wird nicht als gescheiterter Lauf abgelegt.** Das
|
|
5217
|
-
* ist der eine bewusste Unterschied zum Providerpfad, und er hat einen Grund:
|
|
5218
|
-
* Dort belegt ein `failed` einen **bezahlten** Aufruf, der sich nicht
|
|
5219
|
-
* wiederholen laesst, ohne noch einmal zu kosten (D-23 §6). Hier hat niemand
|
|
5220
|
-
* bezahlt — der Aufrufer hat nur falsch formuliert und kann es unter derselben
|
|
5221
|
-
* `operation_id` sofort richtig tun. Ein Fehlerlauf waere hier kein Nachweis,
|
|
5222
|
-
* sondern Muell im autoritativen Bestand, und er wuerde die Wiederholung
|
|
5223
|
-
* ausserdem als Konflikt blockieren.
|
|
5224
|
-
*/
|
|
5225
|
-
declare function completePromptOperation(input: CompletePromptOperationInput): CompletePromptOperationResult;
|
|
5226
|
-
/**
|
|
5227
|
-
* Der Lauf, der aus diesem Vorgang schon entstanden ist — oder `null`.
|
|
5228
|
-
*
|
|
5229
|
-
* Grundlage der Idempotenz: Derselbe Vorgang mit derselben Antwort liefert
|
|
5230
|
-
* denselben Lauf; eine **andere** Antwort unter derselben Kennung ist ein
|
|
5231
|
-
* Konflikt und kein zweiter Lauf. Verglichen wird die woertliche Antwort aus
|
|
5232
|
-
* `raw_output` — es braucht keinen Fingerabdruck neben etwas, das der Lauf
|
|
5233
|
-
* ohnehin vollstaendig traegt.
|
|
5234
|
-
*/
|
|
5235
|
-
declare function runOfOperation(runs: readonly PromptRunRecord[], operationId: string): PromptRunRecord | null;
|
|
5236
|
-
/** Ob eine eingereichte Antwort woertlich die des bereits gespeicherten Laufs ist. */
|
|
5237
|
-
declare function sameResponseAs(run: PromptRunRecord, response: string): boolean;
|
|
5238
|
-
|
|
5239
5830
|
/** Die waehlbaren Pausen zwischen zwei Auftraegen, in Sekunden (§4). */
|
|
5240
5831
|
declare const PAUSE_SEKUNDEN_OPTIONEN: readonly number[];
|
|
5241
5832
|
/** Die Vorgabe, wenn der Nutzer nichts waehlt (§4). */
|
|
@@ -5469,6 +6060,91 @@ declare function noticeFor(ergebnis: {
|
|
|
5469
6060
|
[k: string]: unknown;
|
|
5470
6061
|
}, was: string): Notice;
|
|
5471
6062
|
|
|
6063
|
+
/** Was der Host über den Lauf wissen muss, um einen Auftrag anzubieten. */
|
|
6064
|
+
interface SzenenServerJobKontext {
|
|
6065
|
+
cameraAspectRatio?: string;
|
|
6066
|
+
needsCameraReference?: boolean;
|
|
6067
|
+
/** Wie der Prompt das Referenzbild nennt — aus dem eingefrorenen Zielmodell des Laufs. */
|
|
6068
|
+
cameraReferenceToken?: string | null;
|
|
6069
|
+
/** Das gespeicherte Kamera-Preview zum Anzeigen (Data-URL), sobald geladen. */
|
|
6070
|
+
cameraPreviewSrc?: string | null;
|
|
6071
|
+
/** Der Promptlauf — Ziel der kanonischen Speicherung. */
|
|
6072
|
+
runId: string;
|
|
6073
|
+
/** Das Element, aus dem der Lauf stammt — die Herkunft des Auftrags. */
|
|
6074
|
+
elementId: string | null;
|
|
6075
|
+
/** Der eingefrorene positive Prompt dieses Laufs (D-103). */
|
|
6076
|
+
prompt: string;
|
|
6077
|
+
/**
|
|
6078
|
+
* Die auf diesem Host ausführbaren Modelle des Laufs — dieselbe Auswahl,
|
|
6079
|
+
* die auch die eingebaute Bilderzeugung anbietet.
|
|
6080
|
+
*
|
|
6081
|
+
* Der Host bekommt sie **fertig aufgelöst** statt einer Rohliste von
|
|
6082
|
+
* Profilen: `execution_path` und `execution_model_id` stehen darin
|
|
6083
|
+
* unverändert so, wie das Ausführungsprofil sie führt. Was der Host damit
|
|
6084
|
+
* macht — ob er sie auf einen eigenen Katalog abbildet und was passiert,
|
|
6085
|
+
* wenn das nicht aufgeht —, ist seine Sache und nicht die der Domain.
|
|
6086
|
+
*/
|
|
6087
|
+
models: readonly ExecutableImageModel[];
|
|
6088
|
+
/**
|
|
6089
|
+
* Sagt der Laufansicht, dass sich ihr Bildbestand geändert hat.
|
|
6090
|
+
*
|
|
6091
|
+
* Der Host speichert außerhalb dieser Ansicht — sein Auftrag läuft auf einem
|
|
6092
|
+
* Server weiter, während der Nutzer hier steht. Ohne diesen Rückruf bliebe
|
|
6093
|
+
* die Ansicht auf dem Stand von vorhin stehen: Das Bild ist gespeichert und
|
|
6094
|
+
* über `listRunBatches` auch abrufbar, aber niemand fragt danach. Genau das
|
|
6095
|
+
* sah in der Abnahme wie „das Bild ist verloren" aus — zwölf Bilder vor dem
|
|
6096
|
+
* Lauf, zwölf danach, obwohl das dreizehnte längst im Bestand lag.
|
|
6097
|
+
*
|
|
6098
|
+
* Der Host ruft ihn, wenn ein Auftrag Bilder kanonisch abgelegt hat.
|
|
6099
|
+
*/
|
|
6100
|
+
onBestandGeaendert: () => void;
|
|
6101
|
+
/**
|
|
6102
|
+
* Meldet die Serverauftraege des Hosts an die gemeinsame Zeitleiste der
|
|
6103
|
+
* Laufansicht (Kette `szenen-design`, P5, Entscheidung 4).
|
|
6104
|
+
*
|
|
6105
|
+
* Die Laufansicht kennt den Serverjobpfad nicht; sie zeigt nur, was der
|
|
6106
|
+
* Host hier als fertige Zeilen meldet — neben den Auftraegen aus dem
|
|
6107
|
+
* Order-Log des Ports. Der Host ruft ihn bei jedem neuen Stand seiner
|
|
6108
|
+
* Auftragsliste mit dem **vollstaendigen** Satz, nicht mit einer Differenz.
|
|
6109
|
+
*/
|
|
6110
|
+
onAuftraegeGeaendert: (zeilen: readonly ServerAuftragZeile[]) => void;
|
|
6111
|
+
}
|
|
6112
|
+
/** Wie eine Zeile der Auftrags-Zeitleiste ausgegangen ist. */
|
|
6113
|
+
type AuftragZustand = 'fertig' | 'teilweise' | 'fehlgeschlagen' | 'laeuft' | 'abgebrochen';
|
|
6114
|
+
/** Eine Handlung an einer Zeitleistenzeile — etwa einen gesammelten Auftrag freigeben. */
|
|
6115
|
+
interface AuftragAktion {
|
|
6116
|
+
label: string;
|
|
6117
|
+
onAusfuehren: () => void;
|
|
6118
|
+
/** Stabile Kennung fuer Tests und Schluessel. */
|
|
6119
|
+
id: string;
|
|
6120
|
+
}
|
|
6121
|
+
/**
|
|
6122
|
+
* Ein Auftrag, wie die Zeitleiste ihn zeigt — vom Host fertig beschrieben.
|
|
6123
|
+
*
|
|
6124
|
+
* Alles ist Anzeige: Die Zeitleiste deutet keine Felder, sie setzt sie nur.
|
|
6125
|
+
*/
|
|
6126
|
+
interface ServerAuftragZeile {
|
|
6127
|
+
/** Die Auftrags-ID des Hosts — Schluessel und Teil der Meldung. */
|
|
6128
|
+
id: string;
|
|
6129
|
+
zustand: AuftragZustand;
|
|
6130
|
+
/** Modell, Format, Anzahl — eine Zeile. */
|
|
6131
|
+
titel: string;
|
|
6132
|
+
/** Das Ergebnis in Worten, etwa „fertig · 1 von 1 Bild gespeichert". */
|
|
6133
|
+
ergebnis: string;
|
|
6134
|
+
/** Die vollstaendige Meldung (Fehlertext, Task-Kennung …), zum Aufklappen. */
|
|
6135
|
+
meldung: readonly string[];
|
|
6136
|
+
aktionen?: readonly AuftragAktion[];
|
|
6137
|
+
/** Das Referenzbild, das dieser Auftrag mitgibt — nur wenn er eines hat. */
|
|
6138
|
+
referenzBild?: {
|
|
6139
|
+
src: string | null;
|
|
6140
|
+
beschriftung: string;
|
|
6141
|
+
};
|
|
6142
|
+
/** Der Prompt genau so, wie der Auftrag ihn eingefroren hat. */
|
|
6143
|
+
prompt?: string;
|
|
6144
|
+
}
|
|
6145
|
+
/** Der Knoten, den der Host am Lauf zeigen will — oder nichts. */
|
|
6146
|
+
type SzenenServerJobSlot = (kontext: SzenenServerJobKontext) => React__default.ReactNode;
|
|
6147
|
+
|
|
5472
6148
|
interface SzenenViewProps {
|
|
5473
6149
|
port: SzenenViewPort;
|
|
5474
6150
|
/** Arbeitskontext. Die wirksame Kette löst der Port auf, nicht die View. */
|
|
@@ -5488,6 +6164,15 @@ interface SzenenViewProps {
|
|
|
5488
6164
|
fokus?: SzenenFokus | null;
|
|
5489
6165
|
/** Zurück dorthin, woher der Fokus kam. Fehlt, wenn es kein Zurück gibt. */
|
|
5490
6166
|
onFokusVerlassen?: () => void;
|
|
6167
|
+
/**
|
|
6168
|
+
* Ein hosteigener Serverauftrag am Promptlauf — optional.
|
|
6169
|
+
*
|
|
6170
|
+
* Die Ansicht ruft ihn nur auf und zeigt, was zurückkommt. Ein Host ohne
|
|
6171
|
+
* eigenen Serverjobpfad (Flow-FA) lässt ihn weg und sieht exakt dieselbe
|
|
6172
|
+
* Oberfläche wie bisher; die Flow-/HF-Ausführung wird dadurch weder
|
|
6173
|
+
* berührt noch umgeleitet.
|
|
6174
|
+
*/
|
|
6175
|
+
serverJobSlot?: SzenenServerJobSlot | null;
|
|
5491
6176
|
}
|
|
5492
6177
|
/** Das angesteuerte Ziel. Genau eines — nie beides und nie geraten. */
|
|
5493
6178
|
type SzenenFokus = {
|
|
@@ -5509,4 +6194,4 @@ type SzenenFokus = {
|
|
|
5509
6194
|
declare function areaForFokus(fokus: SzenenFokus): SzenenAreaId;
|
|
5510
6195
|
declare const SzenenView: React__default.FC<SzenenViewProps>;
|
|
5511
6196
|
|
|
5512
|
-
export { type AddManualSceneRunInput, type AttachLibraryItemInput, type AttachLibraryItemResult, AuthoritativeSzenenStore, type BestandsGalerieEintrag, type BestandsItem, type BuildManualPromptRunInput, CATALOGUE_TYPES, CapabilityAnchorError, type CapabilityFlag, type CapabilityFlagName, type CapabilityReason, type CapabilityReport, type CapabilityReportInput, type CapabilityScope, type CapabilityState, type ChainQueries, type ClaimAndRunResult, type ClientDerivationChannel, type ClientDerivationStore, type CompletePromptOperationInput, type CompletePromptOperationResult, ContextChainPort, type CreateBrowserTextGenerationPortOptions, type CreateClientDerivationPortOptions, type CreateClientRunPortOptions, type CreateFlowSzenenViewPortOptions, type CreateHfElementStoreOptions, type CreateHfEventChannelOptions, type CreateHfImageBatchHistoryOptions, type CreateHfImageBatchPersistenceOptions, type CreateImageGenerationPortOptions, type CreateImageJobPortOptions, type CreateMemoryViewPortOptions, DEFAULT_SEED_VORLAGE, DerivableType, DerivationAssessment, DerivationConflict, DerivationDiagnostic, DerivationFailure, DerivationImage, DerivationInputMode, type DeriveItemInput, type DerivedItem, type DerivedLineage, type DerivedRelationship, type DerivedSzenenReference, type DifferentialResult, type DifferentialStep, type Divergence, DraftChainMeta, ELEMENT_VERSION_SCHEMA_FILE, ElementAnnotation, ElementEvent, type ElementEventChannel, type ExecutableImageModel, type ExecutionTargetModel, type ExistingSzenenItem, FLOW_EXECUTION_PATH, type FlowGenerateImage, type FlowGenerateImageParams, FlowGenerateText, type FreezeDraftChainInput, type FreezeFailure, type FreezeResult, type FreezeSceneResult, type FreezeSceneSuccess, type FreezeSceneWorkingStateInput, type FreezeSuccess, type FrozenChainNode, type FrozenSceneState, GENERAL_POLICY_SUBTYPE, type GeneratedImage, type GruppierbaresBild, type HfImageStore, type HfImageStoreOptions, type IdFactory, type ImageExecutionProfile, type ImageExecutionRoute, type ImageExecutionTargetModelReader, type ImageGenerationBatchPersistence, type ImageGenerationEventChannel, type ImageGenerationFinishedPayload, type ImageGenerationOrder, type ImageGenerationProviderPort, type ImageGenerationResult, type ImageGenerationRunReader, type ImageGenerationStartedPayload, type ImageHostCapability, type ImageJob, type ImageJobChannel, type ImageJobClaimedPayload, type ImageJobEintrag, type ImageJobHerkunft, type ImageJobQuery, type ImageJobRequestedPayload, type ImageJobSeite, type ImageJobSettledPayload, type ImageJobStatusFilter, type ImageModelChoice, type ImageModelParameters, ImageProvenance, type ImageProviderInput, type ImportBatchImageInput, type ImportBatchInput, type InMemoryEventChannel, type InputError, type IntegrityVerdict, type ItemDerivationFailure, type ItemDerivationFailureClass, type ItemDerivationResult, type ItemMedium, type LetztesErzeugtesBild, type LibraryImage, type LibraryImageItem, LibraryTagRef, MANUAL_MODEL_ID, MANUAL_NODE_STATE, MANUAL_PROVIDER, MANUAL_VISIBILITY_BASIS, MCP_CLIENT_PROVIDER, type ManualPromptEntry, type ManualPromptRunRecord, type NodeContribution, NotDerivable, type Notice, type NoticeTone, PAUSE_SEKUNDEN_OPTIONEN, PAUSE_SEKUNDEN_VORGABE, PROMPT_AUSZUG_ZEICHEN, PROMPT_RULE_EFFECT, PROMPT_RUN_DETAIL_FIELDS, Page, PageRequest, type PolicySnapshot, PreferredHeadResolution, type PreparePromptOperationInput, type PreparePromptOperationResult, type PreparedPromptOperation, type PromptBatchImageRef, type PromptBatchOrigin, type PromptDiagnostic, type PromptEffect, type PromptExecutionOrigin, type PromptImageBatch, type PromptOperationPreparedPayload, type PromptResponseContract, PromptRunAnnotation, type PromptRunFilter, type PromptRunGroup, type PromptRunListRecord, type PromptRunListing, type PromptRunOriginFilter, type PromptRunOutcome, type PromptRunOutput, type PromptRunPage, type PromptRunPageFilter, type PromptRunPageInput, type PromptRunPageRecord, type PromptRunPageSource, type PromptRunPersistencePort, type PromptRunRecord, type PromptRunRecordedPayload, type PromptRunSource, type PromptRunStatusFilter, type ProviderCheckRecord, type ProviderCheckRecordedPayload, type ProviderCheckResult, PublishCheckResult, PublishFinding, type QueueAusgang, type QueueFortschritt, type QueueLaufOptionen, type QueueZustand, RULES_WITHOUT_CAPABILITY_EFFECT, RULE_SCOPES, type RawSchema, type RecordedDerivationInput, type RecordedProposal, type RecoveryStatus, ReferenceResolver, type RendererInput, type RequestMoreImagesInput, type RequestMoreImagesResult, type ResolveFailure, type ResolveResult, type ResolveScenePayloadInput, type ResolveShotInput, type ResolveShotPayloadInput, ResolveTechnicalError, type ResolvedCamera, type ResolvedNode, type ResolvedPlacement, type ResolvedScenePolicy, type RunBild, type RunEventChannel, type RunFailure, type RunFailureClass, type RunItemReference, SZENEN_ITEM_PREFIX, SZENEN_SCHEMAS, SZENEN_SNAPSHOT_FILE, SZENEN_SNAPSHOT_PREFIX, SZENEN_SNAPSHOT_SCHEMA_VERSION, type SaveRunAsItemInput, type SceneDerivationPersistencePort, type SceneDerivationRecord, type SceneDerivationRecordedPayload, type SceneDerivationRecoveryRecord, type SceneDerivationRecoveryRecordedPayload, type ScenePolicyResult, SchemaError, type SeedVorlage, type SeedZuordnung, type SeedZuordnungEintrag, type SelectableTargetModel, type StartImageGenerationInput, type StartRunFromSceneInput, type StartRunInput, type StepState, type SzenenArea, type SzenenAreaId, type SzenenBatchOrigin, type SzenenBatchOriginFailure, type SzenenBatchOriginVerdict, type SzenenBatchSourceKind, SzenenCommands, SzenenElementStore, SzenenElementType, type SzenenFokus, type SzenenImageBatchHistoryPort, type SzenenImageBatchWritePort, type SzenenImageGenerationPort as SzenenImageGenerationPortContract, type SzenenImageJobPort, type SzenenImageLibraryPort, type SzenenItemPort, type SzenenLeseErgebnis, type SzenenMediaPort, SzenenQueries, type SzenenRunPort, type SzenenSeedTemplatePort, type SzenenSnapshot, SzenenView, type SzenenViewCapabilities, type SzenenViewPort, type SzenenViewProps, TargetModelResolution, TextGenerationPort, UNCHECKED_PUBLISH_RULES, UNVERIFIED_MODEL_ID, UPLOAD_MAX_BYTES, type UnselectableTargetModel, UnusableProposal, type VersionMedium, type VisibilityNode, type ZipBild, areaForFokus, areasFor, batchesForPromptRun, bildPfad, bilderDesLaufs, buildManualPromptRunRecord, buildSystemInstruction, buildSzenenSnapshot, buildUserPrompt, callOptional, capabilitiesOf, capabilityGate, capabilityReport, catalogueFor, checkCreateElementInput, checkElementType, checkImageExecutionProfile, checkImageExecutionProfiles, checkImageModelParameters, checkOptionalId, checkParents, checkPayloadPresent, checkPromptRunRecord, checkPublishVersionInput, checkRequiredId, checkReviseMetadataInput, checkRevision, checkRunResponse, checkSceneDerivationRecord, checkSceneDerivationRecoveryRecord, checkSetPreferredHeadInput, checkSzenenBatchOrigin, checkTitle, checkWriteDraftInput, claimWon, collectImageBatches, collectImageGenerationOrders, collectImageJobs, collectPromptOperations, collectPromptRuns, collectProviderChecks, collectSceneDerivationRecoveries, collectSceneDerivations, completePromptOperation, contextOfRun, createBrowserTextGenerationPort, createClientDerivationPort, createClientRunPort, createEventLogDerivationPersistence, createEventLogRunPersistence, createFlowImageProvider, createFlowSzenenViewPort, createHfElementStore, createHfEventChannel, createHfImageBatchHistory, createHfImageBatchWrite, createHfImageGenerationBatchPersistence, createHfImageLibrary, createHfImageStore, createImageGenerationPort, createImageJobPort, createInMemoryEventChannel, createMemoryViewPort, derivationPoliciesOf, deriveItemFromRun, deriveLineage, describableContent, detailFehlt, diagnosticOfFinding, diagnosticOfSchemaError, differentialSteps, executableImageModels, findExecutableImageModel, findImageBatch, findImageGenerationOrder, findImageJob, findPromptOperation, findPromptRun, findProviderCheck, findSceneDerivation, findSceneDerivationRecovery, firstError, formatSeedListe, freezeDraftChain, freezeSceneWorkingState, fuehreQueueAus, generationBatchIdOf, gesamtHerkunft, groupKeyOf, groupOf, gruppiereZuItems, hasPlacementCapability, isKnownElementType, isSzenenItemId, istGueltigePause, istOffen, istSzenenSnapshotDatei, istZipDatei, itemIdForRun, itemsAusBestand, jobsForPromptRun, ladeVorschauen, leseBilderAusZip, letztesErzeugtesBild, locatorAus, locatorTeile, manualEntryOf, mergeSnapshotAndPending, mergeSzenenBatchOrigin, mimeTypAus, mitDefaultVorlage, namingElementOf, noticeFor, ordersForPromptRun, ordneSeedsZu, pagePromptRuns, parseRunResponse, parseSeedListe, parseSzenenSnapshot, preparePromptOperation, promptDiagnosticsOf, promptRunPageForTransport, promptRunPageFromTransport, publishedHeadsOf, recoveriesForRun, recoveryStatusOf, resolveArea, resolveGeneralScenePolicies, resolveScenePayload, resolveShot, resolveShotPayload, responseContractOf, roundOfRun, roundsOf, rulesWithoutPromptEffect, runOfOperation, runPromptDerivation, runStoreDifferential, sameResponseAs, sceneOnlyCapabilities, scenePolicyFingerprint, scopeOfPath, seedFehlerText, selectImageJobs, selectPromptRuns, selectableTargetModels, siblingsOf, sortScenePolicies, sourceOf, szenenSnapshotFilename, totalModelCalls, typAusBytes, unclassifiedPublishRules, unsupportedReason };
|
|
6197
|
+
export { type AddManualSceneRunInput, type AttachLibraryItemInput, type AttachLibraryItemResult, type AuftragAktion, type AuftragZustand, AuthoritativeSzenenStore, type BestandsGalerieEintrag, type BestandsItem, type BuildManualPromptRunInput, type BuildPromptRunVariantInput, type BuildPromptRunVariantResult, CAMERA_ASPECT_RATIOS, CAMERA_PREVIEW_ASSET_ROLE, CATALOGUE_TYPES, type CameraPreview, type CameraPreviewContext, type CameraPreviewDescriptor, type CameraPreviewRenderer, CapabilityAnchorError, type CapabilityFlag, type CapabilityFlagName, type CapabilityReason, type CapabilityReport, type CapabilityReportInput, type CapabilityScope, type CapabilityState, type ChainQueries, type ClaimAndRunResult, type ClientDerivationChannel, type ClientDerivationStore, type CompletePromptOperationInput, type CompletePromptOperationResult, ContextChainPort, type CreateBrowserTextGenerationPortOptions, type CreateClientDerivationPortOptions, type CreateClientRunPortOptions, type CreateFlowSzenenViewPortOptions, type CreateHfElementStoreOptions, type CreateHfEventChannelOptions, type CreateHfImageBatchHistoryOptions, type CreateHfImageBatchPersistenceOptions, type CreateImageGenerationPortOptions, type CreateImageJobPortOptions, type CreateMemoryViewPortOptions, DEFAULT_SEED_VORLAGE, DerivableType, DerivationAssessment, DerivationConflict, DerivationDiagnostic, DerivationFailure, DerivationImage, DerivationInputMode, type DeriveItemInput, type DerivedItem, type DerivedLineage, type DerivedRelationship, type DerivedSzenenReference, type DifferentialResult, type DifferentialStep, type Divergence, DraftChainMeta, ELEMENT_VERSION_SCHEMA_FILE, ElementAnnotation, ElementEvent, type ElementEventChannel, ElementSnapshot, ElementStoreState, type ExecutableImageModel, type ExecutionTargetModel, type ExistingSzenenItem, FLOW_EXECUTION_PATH, type FlowGenerateImage, type FlowGenerateImageParams, FlowGenerateText, type FreezeDraftChainInput, type FreezeFailure, type FreezeResult, type FreezeSceneResult, type FreezeSceneSuccess, type FreezeSceneWorkingStateInput, type FreezeSuccess, type FrozenChainNode, type FrozenReferenceSentence, type FrozenSceneState, GENERAL_POLICY_SUBTYPE, type GeneratedImage, type GruppierbaresBild, type HfImageStore, type HfImageStoreOptions, type IdFactory, type ImageExecutionProfile, type ImageExecutionRoute, type ImageExecutionTargetModelReader, type ImageGenerationBatchPersistence, type ImageGenerationEventChannel, type ImageGenerationFinishedPayload, type ImageGenerationOrder, type ImageGenerationProviderPort, type ImageGenerationResult, type ImageGenerationRunReader, type ImageGenerationStartedPayload, type ImageHostCapability, type ImageJob, type ImageJobChannel, type ImageJobClaimedPayload, type ImageJobEintrag, type ImageJobHerkunft, type ImageJobQuery, type ImageJobRequestedPayload, type ImageJobSeite, type ImageJobSettledPayload, type ImageJobStatusFilter, type ImageModelChoice, type ImageModelParameters, ImageProvenance, type ImageProviderInput, type ImportBatchImageInput, type ImportBatchInput, type InMemoryEventChannel, type InputError, type IntegrityVerdict, type ItemDerivationFailure, type ItemDerivationFailureClass, type ItemDerivationResult, type ItemMedium, type LetztesErzeugtesBild, type LibraryImage, type LibraryImageItem, LibraryTagRef, MANUAL_MODEL_ID, MANUAL_NODE_STATE, MANUAL_PROVIDER, MANUAL_VISIBILITY_BASIS, MCP_CLIENT_PROVIDER, type ManualPromptEntry, type ManualPromptRunRecord, NODE_TYPES, type NodeContribution, NotDerivable, type Notice, type NoticeTone, type OpenStageDraftChainInput, PAUSE_SEKUNDEN_OPTIONEN, PAUSE_SEKUNDEN_VORGABE, PREVIEW_COLOR_MIN_DISTANCE, PROMPT_AUSZUG_ZEICHEN, PROMPT_RULE_EFFECT, PROMPT_RUN_DETAIL_FIELDS, PROXY_PRIMITIVES, Page, PageRequest, type PolicySnapshot, PreferredHeadResolution, type PreparePromptOperationInput, type PreparePromptOperationResult, type PreparedPromptOperation, type PromptBatchImageRef, type PromptBatchOrigin, PromptConstructionTag, type PromptDiagnostic, type PromptEffect, type PromptExecutionOrigin, type PromptImageBatch, type PromptOperationPreparedPayload, type PromptResponseContract, PromptRunAnnotation, type PromptRunFilter, type PromptRunGroup, type PromptRunInputAsset, type PromptRunListRecord, type PromptRunListing, type PromptRunOriginFilter, type PromptRunOutcome, type PromptRunOutput, type PromptRunPage, type PromptRunPageFilter, type PromptRunPageInput, type PromptRunPageRecord, type PromptRunPageSource, type PromptRunPersistencePort, type PromptRunRecord, type PromptRunRecordedPayload, type PromptRunSource, type PromptRunStatusFilter, type PromptRunVariantOf, type PromptRunVariantRecord, type ProviderCheckRecord, type ProviderCheckRecordedPayload, type ProviderCheckResult, PublishCheckResult, PublishFinding, type QueueAusgang, type QueueFortschritt, type QueueLaufOptionen, type QueueZustand, RULES_WITHOUT_CAPABILITY_EFFECT, RULE_SCOPES, type RawSchema, type RecordedDerivationInput, type RecordedProposal, type RecoveryStatus, ReferenceResolver, type ReferenceSentenceTag, type RendererInput, type RequestMoreImagesInput, type RequestMoreImagesResult, type ResolveFailure, type ResolveResult, type ResolveScenePayloadInput, type ResolveShotInput, type ResolveShotPayloadInput, ResolveTechnicalError, type ResolvedCamera, type ResolvedNode, type ResolvedPlacement, type ResolvedScenePolicy, type RunBild, type RunEventChannel, type RunFailure, type RunFailureClass, type RunItemReference, STAGE_CATALOGUE, STAGE_MIGRATION_EVENT, STAGE_MIGRATION_ID, SZENEN_ITEM_PREFIX, SZENEN_SCHEMAS, SZENEN_SNAPSHOT_FILE, SZENEN_SNAPSHOT_PREFIX, SZENEN_SNAPSHOT_SCHEMA_VERSION, type SaveRunAsItemInput, type SceneDerivationPersistencePort, type SceneDerivationRecord, type SceneDerivationRecordedPayload, type SceneDerivationRecoveryRecord, type SceneDerivationRecoveryRecordedPayload, type ScenePolicyResult, SchemaError, type SeedVorlage, type SeedZuordnung, type SeedZuordnungEintrag, type SelectableTargetModel, type ServerAuftragZeile, type StageChainState, type StageOperation, type StageOperationsResult, type StagePayloads, type StartImageGenerationInput, type StartRunFromSceneInput, type StartRunInput, type StepState, type SzenenArea, type SzenenAreaId, type SzenenBatchOrigin, type SzenenBatchOriginFailure, type SzenenBatchOriginVerdict, type SzenenBatchSourceKind, SzenenCommands, SzenenElementStore, SzenenElementType, type SzenenFokus, type SzenenImageBatchHistoryPort, type SzenenImageBatchWritePort, type SzenenImageGenerationPort as SzenenImageGenerationPortContract, type SzenenImageJobPort, type SzenenImageLibraryPort, type SzenenItemPort, type SzenenLeseErgebnis, type SzenenMediaPort, SzenenQueries, type SzenenRunPort, type SzenenSeedTemplatePort, type SzenenServerJobKontext, type SzenenServerJobSlot, type SzenenSnapshot, SzenenView, type SzenenViewCapabilities, type SzenenViewPort, type SzenenViewProps, TargetModelResolution, TextGenerationPort, UNCHECKED_PUBLISH_RULES, UNVERIFIED_MODEL_ID, UPLOAD_MAX_BYTES, type UnselectableTargetModel, UnusableProposal, type VersionMedium, type VisibilityNode, type ZipBild, applyStageOperations, areaForFokus, areasFor, batchesForPromptRun, bildPfad, bilderDesLaufs, buildCameraPreviewContext, buildManualPromptRunRecord, buildPromptRunVariantRecord, buildSystemInstruction, buildSzenenSnapshot, buildUserPrompt, callOptional, cameraAspectRatioValue, cameraPerspective, capabilitiesOf, capabilityGate, capabilityReport, catalogueFor, checkCameraAspectRatioChanges, checkCreateElementInput, checkElementType, checkImageExecutionProfile, checkImageExecutionProfiles, checkImageModelParameters, checkOptionalId, checkParents, checkPayloadPresent, checkPromptRunRecord, checkPublishVersionInput, checkRequiredId, checkReviseMetadataInput, checkRevision, checkRunResponse, checkSceneDerivationRecord, checkSceneDerivationRecoveryRecord, checkSetPreferredHeadInput, checkSzenenBatchOrigin, checkTitle, checkVariantBlock, checkVariantInputAssets, checkWriteDraftInput, claimWon, collectImageBatches, collectImageGenerationOrders, collectImageJobs, collectPromptOperations, collectPromptRuns, collectProviderChecks, collectSceneDerivationRecoveries, collectSceneDerivations, completePromptOperation, contextOfRun, createBrowserTextGenerationPort, createClientDerivationPort, createClientRunPort, createEventLogDerivationPersistence, createEventLogRunPersistence, createFlowImageProvider, createFlowSzenenViewPort, createHfElementStore, createHfEventChannel, createHfImageBatchHistory, createHfImageBatchWrite, createHfImageGenerationBatchPersistence, createHfImageLibrary, createHfImageStore, createImageGenerationPort, createImageJobPort, createInMemoryEventChannel, createMemoryViewPort, derivationPoliciesOf, deriveItemFromRun, deriveLineage, describableContent, detailFehlt, diagnosticOfFinding, diagnosticOfSchemaError, differentialSteps, dragPosition, executableImageModels, findExecutableImageModel, findImageBatch, findImageGenerationOrder, findImageJob, findPromptOperation, findPromptRun, findProviderCheck, findSceneDerivation, findSceneDerivationRecovery, findStageDraftChain, firstError, formatSeedListe, freezeDraftChain, freezeSceneWorkingState, frozenCameraAspectRatio, fuehreQueueAus, generationBatchIdOf, gesamtHerkunft, groupKeyOf, groupOf, gruppiereZuItems, hasPlacementCapability, isKnownElementType, isSzenenItemId, istGueltigePause, istOffen, istSzenenSnapshotDatei, istZipDatei, itemIdForRun, itemsAusBestand, jobsForPromptRun, ladeVorschauen, leseBilderAusZip, letztesErzeugtesBild, locatorAus, locatorTeile, manualEntryOf, mergeSnapshotAndPending, mergeSzenenBatchOrigin, mimeTypAus, mitDefaultVorlage, namingElementOf, normalizePreviewColor, noticeFor, openStageDraftChain, ordersForPromptRun, ordneSeedsZu, pagePromptRuns, parseRunResponse, parseSeedListe, parseSzenenSnapshot, pinPreviewColors, preparePromptDerivation, preparePromptOperation, prepareStageMigration, previewColorConflicts, previewColorDistance, previewColorLegibility, previewColorNodes, promptDiagnosticsOf, promptRunPageForTransport, promptRunPageFromTransport, publishedHeadsOf, recoveriesForRun, recoveryStatusOf, resolveArea, resolveGeneralScenePolicies, resolveScenePayload, resolveShot, resolveShotPayload, responseContractOf, roundOfRun, roundsOf, rulesWithoutPromptEffect, runOfOperation, runPromptDerivation, runStoreDifferential, sameResponseAs, sameVariantRequest, sceneOnlyCapabilities, scenePolicyFingerprint, sceneVersionElementsOf, scopeOfPath, seedFehlerText, selectImageJobs, selectPromptRuns, selectableTargetModels, siblingsOf, sortScenePolicies, sourceOf, stageColors, stageFrame, stageNode, supportsCompositionReference, szenenSnapshotFilename, totalModelCalls, typAusBytes, unclassifiedPublishRules, unsupportedReason, variantOf };
|