@rslsp1/fa-app-tools 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-TCJ3CMCK.mjs → chunk-566GHYAT.mjs} +1398 -567
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1435 -650
- package/dist/index.mjs +3 -3
- package/dist/szenen.d.mts +355 -17
- package/dist/szenen.d.ts +355 -17
- package/dist/szenen.js +1654 -720
- package/dist/szenen.mjs +138 -25
- package/package.json +1 -1
package/dist/szenen.mjs
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
FLOW_EXECUTION_PATH,
|
|
10
10
|
MAX_PROPOSAL_TITLE_LENGTH,
|
|
11
11
|
PROBE_VERSION_ID,
|
|
12
|
+
PROMPT_RULE_EFFECT,
|
|
12
13
|
REFERENCE_FIELD,
|
|
13
14
|
RULES_WITHOUT_CAPABILITY_EFFECT,
|
|
14
15
|
RULE_SCOPES,
|
|
@@ -42,6 +43,7 @@ import {
|
|
|
42
43
|
checkDraftChainMeta,
|
|
43
44
|
checkElementType,
|
|
44
45
|
checkImageExecutionProfile,
|
|
46
|
+
checkImageExecutionProfiles,
|
|
45
47
|
checkImageModelParameters,
|
|
46
48
|
checkOptionalId,
|
|
47
49
|
checkParents,
|
|
@@ -83,7 +85,10 @@ import {
|
|
|
83
85
|
derivationPoliciesOf,
|
|
84
86
|
deriveItemFromRun,
|
|
85
87
|
deriveLineage,
|
|
88
|
+
describableContent,
|
|
86
89
|
describeTargetModelFailure,
|
|
90
|
+
diagnosticOfFinding,
|
|
91
|
+
diagnosticOfSchemaError,
|
|
87
92
|
draftRevisionOf,
|
|
88
93
|
executableImageModels,
|
|
89
94
|
findExecutableImageModel,
|
|
@@ -95,6 +100,7 @@ import {
|
|
|
95
100
|
firstError,
|
|
96
101
|
formatSchemaErrors,
|
|
97
102
|
freezeDraftChain,
|
|
103
|
+
freezeSceneWorkingState,
|
|
98
104
|
getSzenenSchemas,
|
|
99
105
|
hasPlacementCapability,
|
|
100
106
|
isKnownElementType,
|
|
@@ -110,19 +116,23 @@ import {
|
|
|
110
116
|
parseDerivationResponse,
|
|
111
117
|
parseRunResponse,
|
|
112
118
|
preferredHeadRevisionOf,
|
|
119
|
+
promptDiagnosticsOf,
|
|
113
120
|
publishedHeadsOf,
|
|
114
121
|
recoveriesForRun,
|
|
115
122
|
recoveryStatusOf,
|
|
116
123
|
reduceElementEvents,
|
|
117
124
|
resolveArea,
|
|
125
|
+
resolveScenePayload,
|
|
118
126
|
resolveShot,
|
|
119
127
|
resolveShotPayload,
|
|
120
128
|
resolveTargetModelOver,
|
|
121
129
|
resolverFromQueries,
|
|
122
130
|
roundOfRun,
|
|
131
|
+
rulesWithoutPromptEffect,
|
|
123
132
|
runPromptDerivation,
|
|
124
133
|
runPublishChecks,
|
|
125
134
|
runSceneDerivation,
|
|
135
|
+
sceneOnlyCapabilities,
|
|
126
136
|
scopeOfPath,
|
|
127
137
|
selectableTargetModels,
|
|
128
138
|
showChain,
|
|
@@ -135,7 +145,7 @@ import {
|
|
|
135
145
|
validateElementVersion,
|
|
136
146
|
validatePayload,
|
|
137
147
|
withReference
|
|
138
|
-
} from "./chunk-
|
|
148
|
+
} from "./chunk-566GHYAT.mjs";
|
|
139
149
|
import {
|
|
140
150
|
ContractViolation,
|
|
141
151
|
STYLE_PAYLOAD,
|
|
@@ -392,7 +402,7 @@ async function runStoreDifferential(left, right) {
|
|
|
392
402
|
// src/lib/szenen/memoryViewPort.ts
|
|
393
403
|
var MEMORY_IMAGE_CAPABILITY = {
|
|
394
404
|
environment_id: "memory",
|
|
395
|
-
execution_paths: ["memory"]
|
|
405
|
+
execution_paths: [{ execution_path: "memory", provider: "google" }]
|
|
396
406
|
};
|
|
397
407
|
function ok(value) {
|
|
398
408
|
return { kind: "ok", value };
|
|
@@ -519,6 +529,44 @@ function createMemoryViewPort(options = {}) {
|
|
|
519
529
|
return ok(laeufe.filter(
|
|
520
530
|
(r) => r.source?.kind === "draft_chain" && r.source.chain_id === chainId
|
|
521
531
|
));
|
|
532
|
+
},
|
|
533
|
+
// ── Der Lauf direkt aus einer Szene (D-135) ───────────────────────────
|
|
534
|
+
//
|
|
535
|
+
// Wie beim Kettenlauf bildet der Speicherport nur die **Form** ab: ein
|
|
536
|
+
// Lauf mit `source.kind === 'scene_direct'`, ohne Shot und ohne
|
|
537
|
+
// Versionskennungen. Ob ein Arbeitsstand einfrierbar ist, entscheidet
|
|
538
|
+
// `clientRunPort` gegen einen echten Speicher — hier waere es eine zweite
|
|
539
|
+
// Wahrheit.
|
|
540
|
+
async startRunFromScene(input) {
|
|
541
|
+
const runId = ids();
|
|
542
|
+
const basis = (options.deriveRun ?? simulierterLauf)(
|
|
543
|
+
{ shotVersionId: "", ...input.userInstruction ? { userInstruction: input.userInstruction } : {} },
|
|
544
|
+
runId
|
|
545
|
+
);
|
|
546
|
+
const lauf = {
|
|
547
|
+
...basis,
|
|
548
|
+
shot_version_id: "",
|
|
549
|
+
shot_element_id: "",
|
|
550
|
+
scene_setup_version_id: "",
|
|
551
|
+
camera_id: "",
|
|
552
|
+
target_model_version_id: "",
|
|
553
|
+
source: {
|
|
554
|
+
kind: "scene_direct",
|
|
555
|
+
scene: {
|
|
556
|
+
element_id: input.sceneElementId,
|
|
557
|
+
draft_id: `draft-${input.sceneElementId}`,
|
|
558
|
+
revision: 1,
|
|
559
|
+
version_id: null
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
};
|
|
563
|
+
laeufe.push(lauf);
|
|
564
|
+
return done(lauf);
|
|
565
|
+
},
|
|
566
|
+
async listRunsForScene(sceneElementId) {
|
|
567
|
+
return ok(laeufe.filter(
|
|
568
|
+
(r) => r.source?.kind === "scene_direct" && r.source.scene.element_id === sceneElementId
|
|
569
|
+
));
|
|
522
570
|
}
|
|
523
571
|
};
|
|
524
572
|
const itemPort = {
|
|
@@ -996,41 +1044,83 @@ var FAILURE_CLASSES = [
|
|
|
996
1044
|
];
|
|
997
1045
|
var PFLICHTFELDER = [
|
|
998
1046
|
"run_id",
|
|
999
|
-
"shot_version_id",
|
|
1000
|
-
"shot_element_id",
|
|
1001
|
-
"scene_setup_version_id",
|
|
1002
|
-
"camera_id",
|
|
1003
|
-
"target_model_version_id",
|
|
1004
1047
|
"provider",
|
|
1005
1048
|
"model_id",
|
|
1006
1049
|
"system_prompt",
|
|
1007
1050
|
"created_at"
|
|
1008
1051
|
];
|
|
1052
|
+
var TEXTFELDER = [
|
|
1053
|
+
"shot_version_id",
|
|
1054
|
+
"shot_element_id",
|
|
1055
|
+
"scene_setup_version_id",
|
|
1056
|
+
"camera_id",
|
|
1057
|
+
"target_model_version_id"
|
|
1058
|
+
];
|
|
1059
|
+
var PFLICHT_JE_HERKUNFT = {
|
|
1060
|
+
published: ["shot_version_id", "shot_element_id", "scene_setup_version_id"],
|
|
1061
|
+
draft_chain: ["shot_element_id"],
|
|
1062
|
+
scene_direct: []
|
|
1063
|
+
};
|
|
1064
|
+
var VERBOTEN_JE_HERKUNFT = {
|
|
1065
|
+
published: [],
|
|
1066
|
+
draft_chain: ["shot_version_id", "scene_setup_version_id"],
|
|
1067
|
+
scene_direct: ["shot_version_id", "shot_element_id", "scene_setup_version_id", "camera_id"]
|
|
1068
|
+
};
|
|
1009
1069
|
function istText(wert) {
|
|
1010
1070
|
return typeof wert === "string" && wert.trim().length > 0;
|
|
1011
1071
|
}
|
|
1012
1072
|
function isObject(wert) {
|
|
1013
1073
|
return typeof wert === "object" && wert !== null && !Array.isArray(wert);
|
|
1014
1074
|
}
|
|
1015
|
-
var VERSIONSFELDER = ["shot_version_id", "scene_setup_version_id"];
|
|
1016
1075
|
var KETTEN_TYPEN = ["scene", "scene_setup", "shot"];
|
|
1076
|
+
var HERKUENFTE = ["published", "draft_chain", "scene_direct"];
|
|
1017
1077
|
function pruefeLaufherkunft(quelle) {
|
|
1018
1078
|
if (!isObject(quelle)) {
|
|
1019
1079
|
return { ok: false, message: '"source" muss ein Objekt sein.' };
|
|
1020
1080
|
}
|
|
1081
|
+
if (!HERKUENFTE.includes(quelle.kind)) {
|
|
1082
|
+
return {
|
|
1083
|
+
ok: false,
|
|
1084
|
+
message: `"source.kind" ist unbekannt: ${JSON.stringify(quelle.kind)}. Erlaubt: ${HERKUENFTE.join(", ")}.`
|
|
1085
|
+
};
|
|
1086
|
+
}
|
|
1021
1087
|
if (quelle.kind === "published") {
|
|
1022
|
-
for (const feld of
|
|
1088
|
+
for (const feld of ["shot_version_id", "scene_setup_version_id"]) {
|
|
1023
1089
|
if (!istText(quelle[feld])) {
|
|
1024
1090
|
return { ok: false, message: `"source.${feld}" fehlt oder ist leer.` };
|
|
1025
1091
|
}
|
|
1026
1092
|
}
|
|
1027
1093
|
return { ok: true };
|
|
1028
1094
|
}
|
|
1029
|
-
if (quelle.kind
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
message:
|
|
1033
|
-
}
|
|
1095
|
+
if (quelle.kind === "scene_direct") {
|
|
1096
|
+
const szene = quelle.scene;
|
|
1097
|
+
if (!isObject(szene)) {
|
|
1098
|
+
return { ok: false, message: '"source.scene" muss ein Objekt sein.' };
|
|
1099
|
+
}
|
|
1100
|
+
if (!istText(szene.element_id)) {
|
|
1101
|
+
return { ok: false, message: '"source.scene.element_id" fehlt oder ist leer.' };
|
|
1102
|
+
}
|
|
1103
|
+
const ausEntwurf = istText(szene.draft_id);
|
|
1104
|
+
const ausVersion = istText(szene.version_id);
|
|
1105
|
+
if (ausEntwurf === ausVersion) {
|
|
1106
|
+
return {
|
|
1107
|
+
ok: false,
|
|
1108
|
+
message: ausEntwurf ? '"source.scene" nennt draft_id und version_id zugleich. Eingefroren wurde genau ein Stand (D-135).' : '"source.scene" nennt weder draft_id noch version_id. Ohne den eingefrorenen Stand ist der Lauf nicht nachvollziehbar (D-97).'
|
|
1109
|
+
};
|
|
1110
|
+
}
|
|
1111
|
+
if (ausEntwurf && (typeof szene.revision !== "number" || !Number.isInteger(szene.revision))) {
|
|
1112
|
+
return {
|
|
1113
|
+
ok: false,
|
|
1114
|
+
message: '"source.scene.revision" muss eine ganze Zahl sein \u2014 ohne sie ist der eingefrorene Entwurfsstand nicht benennbar (D-97).'
|
|
1115
|
+
};
|
|
1116
|
+
}
|
|
1117
|
+
if (ausVersion && szene.revision !== null && szene.revision !== void 0) {
|
|
1118
|
+
return {
|
|
1119
|
+
ok: false,
|
|
1120
|
+
message: '"source.scene.revision" ist bei einer veroeffentlichten Version gesetzt. Eine Version ist unveraenderlich und hat keine Revision (D-02).'
|
|
1121
|
+
};
|
|
1122
|
+
}
|
|
1123
|
+
return { ok: true };
|
|
1034
1124
|
}
|
|
1035
1125
|
if (!istText(quelle.chain_id)) {
|
|
1036
1126
|
return { ok: false, message: '"source.chain_id" fehlt oder ist leer.' };
|
|
@@ -1081,25 +1171,38 @@ function checkPromptRunRecord(candidate) {
|
|
|
1081
1171
|
}
|
|
1082
1172
|
const record = candidate;
|
|
1083
1173
|
const quelle = record.source;
|
|
1084
|
-
const ausKette = isObject(quelle) && quelle.kind === "draft_chain";
|
|
1085
1174
|
if (quelle !== void 0) {
|
|
1086
1175
|
const urteil2 = pruefeLaufherkunft(quelle);
|
|
1087
1176
|
if (!urteil2.ok) return urteil2;
|
|
1088
1177
|
}
|
|
1089
|
-
const
|
|
1090
|
-
for (const feld of
|
|
1178
|
+
const herkunft = isObject(quelle) && typeof quelle.kind === "string" ? quelle.kind : "published";
|
|
1179
|
+
for (const feld of PFLICHTFELDER) {
|
|
1091
1180
|
if (!istText(record[feld])) {
|
|
1092
1181
|
return { ok: false, message: `"${feld}" fehlt oder ist leer.` };
|
|
1093
1182
|
}
|
|
1094
1183
|
}
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1184
|
+
for (const feld of TEXTFELDER) {
|
|
1185
|
+
if (typeof record[feld] !== "string") {
|
|
1186
|
+
return {
|
|
1187
|
+
ok: false,
|
|
1188
|
+
message: `"${feld}" fehlt. Wo es keinen Wert gibt, gehoert eine leere Zeichenkette hin \u2014 kein fehlendes Feld (D-135).`
|
|
1189
|
+
};
|
|
1190
|
+
}
|
|
1191
|
+
}
|
|
1192
|
+
for (const feld of PFLICHT_JE_HERKUNFT[herkunft] ?? []) {
|
|
1193
|
+
if (!istText(record[feld])) {
|
|
1194
|
+
return {
|
|
1195
|
+
ok: false,
|
|
1196
|
+
message: `"${feld}" fehlt oder ist leer, wird bei Herkunft "${herkunft}" aber gebraucht.`
|
|
1197
|
+
};
|
|
1198
|
+
}
|
|
1199
|
+
}
|
|
1200
|
+
for (const feld of VERBOTEN_JE_HERKUNFT[herkunft] ?? []) {
|
|
1201
|
+
if (istText(record[feld])) {
|
|
1202
|
+
return {
|
|
1203
|
+
ok: false,
|
|
1204
|
+
message: `"${feld}" ist bei einem Lauf der Herkunft "${herkunft}" gesetzt. Dort gibt es diesen Wert nicht, und erfundene sind unzulaessig (D-98/D-135).`
|
|
1205
|
+
};
|
|
1103
1206
|
}
|
|
1104
1207
|
}
|
|
1105
1208
|
if (record.status !== "succeeded" && record.status !== "failed") {
|
|
@@ -1475,6 +1578,7 @@ export {
|
|
|
1475
1578
|
ELEMENT_VERSION_SCHEMA_FILE,
|
|
1476
1579
|
FLOW_EXECUTION_PATH,
|
|
1477
1580
|
PROBE_VERSION_ID,
|
|
1581
|
+
PROMPT_RULE_EFFECT,
|
|
1478
1582
|
REFERENCE_FIELD,
|
|
1479
1583
|
RULES_WITHOUT_CAPABILITY_EFFECT,
|
|
1480
1584
|
RULE_SCOPES,
|
|
@@ -1511,6 +1615,7 @@ export {
|
|
|
1511
1615
|
checkDraftChainMeta,
|
|
1512
1616
|
checkElementType,
|
|
1513
1617
|
checkImageExecutionProfile,
|
|
1618
|
+
checkImageExecutionProfiles,
|
|
1514
1619
|
checkImageModelParameters,
|
|
1515
1620
|
checkOptionalId,
|
|
1516
1621
|
checkParents,
|
|
@@ -1559,7 +1664,10 @@ export {
|
|
|
1559
1664
|
derivationPoliciesOf,
|
|
1560
1665
|
deriveItemFromRun,
|
|
1561
1666
|
deriveLineage,
|
|
1667
|
+
describableContent,
|
|
1562
1668
|
describeTargetModelFailure,
|
|
1669
|
+
diagnosticOfFinding,
|
|
1670
|
+
diagnosticOfSchemaError,
|
|
1563
1671
|
differentialSteps,
|
|
1564
1672
|
draftRevisionOf,
|
|
1565
1673
|
elementStoreContractChecks,
|
|
@@ -1574,6 +1682,7 @@ export {
|
|
|
1574
1682
|
firstError,
|
|
1575
1683
|
formatSchemaErrors,
|
|
1576
1684
|
freezeDraftChain,
|
|
1685
|
+
freezeSceneWorkingState,
|
|
1577
1686
|
getSzenenSchemas,
|
|
1578
1687
|
hasPlacementCapability,
|
|
1579
1688
|
isKnownElementType,
|
|
@@ -1590,22 +1699,26 @@ export {
|
|
|
1590
1699
|
parseRunResponse,
|
|
1591
1700
|
preferredHeadRevisionOf,
|
|
1592
1701
|
preferredVersionId,
|
|
1702
|
+
promptDiagnosticsOf,
|
|
1593
1703
|
publishedHeadsOf,
|
|
1594
1704
|
recoveriesForRun,
|
|
1595
1705
|
recoveryStatusOf,
|
|
1596
1706
|
reduceElementEvents,
|
|
1597
1707
|
resolveArea,
|
|
1598
1708
|
resolvePreferredHead,
|
|
1709
|
+
resolveScenePayload,
|
|
1599
1710
|
resolveShot,
|
|
1600
1711
|
resolveShotPayload,
|
|
1601
1712
|
resolveTargetModelOver,
|
|
1602
1713
|
resolverFromQueries,
|
|
1603
1714
|
roundOfRun,
|
|
1715
|
+
rulesWithoutPromptEffect,
|
|
1604
1716
|
runElementStoreContract,
|
|
1605
1717
|
runPromptDerivation,
|
|
1606
1718
|
runPublishChecks,
|
|
1607
1719
|
runSceneDerivation,
|
|
1608
1720
|
runStoreDifferential,
|
|
1721
|
+
sceneOnlyCapabilities,
|
|
1609
1722
|
scopeOfPath,
|
|
1610
1723
|
selectableTargetModels,
|
|
1611
1724
|
showChain,
|