@lumenkey/cli 0.3.1 → 0.4.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/README.md +36 -2
  2. package/dist/cli/copied.js +86 -85
  3. package/dist/cli/index.js +56 -44
  4. package/dist/cli/render.js +3 -2
  5. package/dist/core/asset-stream.d.ts +16 -0
  6. package/dist/core/asset-stream.js +64 -0
  7. package/dist/core/atomic-config-file.js +8 -7
  8. package/dist/core/chinese-messages.d.ts +4 -0
  9. package/dist/core/chinese-messages.js +907 -0
  10. package/dist/core/chinese-script.d.ts +7 -0
  11. package/dist/core/chinese-script.js +28 -0
  12. package/dist/core/client.js +2 -1
  13. package/dist/core/config-dir.js +2 -1
  14. package/dist/core/config.js +7 -6
  15. package/dist/core/download-root.d.ts +5 -0
  16. package/dist/core/download-root.js +64 -0
  17. package/dist/core/download.js +15 -12
  18. package/dist/core/generation-input.js +3 -2
  19. package/dist/core/generation.d.ts +8 -1
  20. package/dist/core/generation.js +13 -10
  21. package/dist/core/job-display.js +7 -6
  22. package/dist/core/locale.js +163 -148
  23. package/dist/core/outcome.js +6 -4
  24. package/dist/core/output-path.d.ts +3 -1
  25. package/dist/core/output-path.js +5 -2
  26. package/dist/core/params.js +26 -25
  27. package/dist/core/profiles.js +5 -4
  28. package/dist/core/set-values.d.ts +0 -1
  29. package/dist/core/set-values.js +7 -7
  30. package/dist/core/submission-journal.js +31 -16
  31. package/dist/core/version.js +2 -3
  32. package/dist/mcp/server.js +30 -29
  33. package/dist/studio/asset-integrity-hash.d.ts +28 -0
  34. package/dist/studio/asset-integrity-hash.js +93 -0
  35. package/dist/studio/asset-integrity-queue.d.ts +24 -0
  36. package/dist/studio/asset-integrity-queue.js +94 -0
  37. package/dist/studio/asset-store.d.ts +52 -0
  38. package/dist/studio/asset-store.js +352 -0
  39. package/dist/studio/canvas/LICENSES.txt +1590 -0
  40. package/dist/studio/canvas/dependencies.json +862 -0
  41. package/dist/studio/canvas/director-source-manifest.json +47 -0
  42. package/dist/studio/canvas/editor.css +239 -0
  43. package/dist/studio/canvas/editor.js +4613 -0
  44. package/dist/studio/canvas/integration-source-manifest.json +384 -0
  45. package/dist/studio/canvas/source-manifest.json +240 -0
  46. package/dist/studio/canvas-store.d.ts +1254 -0
  47. package/dist/studio/canvas-store.js +205 -0
  48. package/dist/studio/capture-placement.d.ts +11 -0
  49. package/dist/studio/capture-placement.js +85 -0
  50. package/dist/studio/cloud-contract.d.ts +128 -0
  51. package/dist/studio/cloud-contract.js +229 -0
  52. package/dist/studio/cloud-service.d.ts +178 -0
  53. package/dist/studio/cloud-service.js +202 -0
  54. package/dist/studio/director-captures.d.ts +59 -0
  55. package/dist/studio/director-captures.js +141 -0
  56. package/dist/studio/director-contract.d.ts +1489 -0
  57. package/dist/studio/director-contract.js +288 -0
  58. package/dist/studio/director-png.d.ts +6 -0
  59. package/dist/studio/director-png.js +41 -0
  60. package/dist/studio/director-relations.d.ts +40 -0
  61. package/dist/studio/director-relations.js +103 -0
  62. package/dist/studio/document-authority.d.ts +7 -0
  63. package/dist/studio/document-authority.js +50 -0
  64. package/dist/studio/draft-store.d.ts +95 -0
  65. package/dist/studio/draft-store.js +100 -0
  66. package/dist/studio/errors.d.ts +85 -0
  67. package/dist/studio/errors.js +94 -0
  68. package/dist/studio/launch.d.ts +5 -0
  69. package/dist/studio/launch.js +31 -0
  70. package/dist/studio/media.d.ts +9 -0
  71. package/dist/studio/media.js +50 -0
  72. package/dist/studio/output-save-contract.d.ts +1321 -0
  73. package/dist/studio/output-save-contract.js +26 -0
  74. package/dist/studio/output-save-journal.d.ts +971 -0
  75. package/dist/studio/output-save-journal.js +287 -0
  76. package/dist/studio/output-save-recovery.d.ts +18 -0
  77. package/dist/studio/output-save-recovery.js +161 -0
  78. package/dist/studio/output-save-service.d.ts +436 -0
  79. package/dist/studio/output-save-service.js +251 -0
  80. package/dist/studio/output-save-worker.d.ts +40 -0
  81. package/dist/studio/output-save-worker.js +360 -0
  82. package/dist/studio/paths.d.ts +6 -0
  83. package/dist/studio/paths.js +68 -0
  84. package/dist/studio/run-journal.d.ts +993 -0
  85. package/dist/studio/run-journal.js +125 -0
  86. package/dist/studio/server.d.ts +17 -0
  87. package/dist/studio/server.js +440 -0
  88. package/dist/studio/session.d.ts +6 -0
  89. package/dist/studio/session.js +26 -0
  90. package/dist/studio/shell.d.ts +3 -0
  91. package/dist/studio/shell.js +23 -0
  92. package/dist/studio/style.d.ts +2 -0
  93. package/dist/studio/style.js +29 -0
  94. package/dist/studio/types.d.ts +26 -0
  95. package/dist/studio/types.js +2 -0
  96. package/dist/studio/web/app.d.ts +2 -0
  97. package/dist/studio/web/app.js +662 -0
  98. package/dist/studio/web/asset-controller.d.ts +37 -0
  99. package/dist/studio/web/asset-controller.js +191 -0
  100. package/dist/studio/web/asset-model.d.ts +29 -0
  101. package/dist/studio/web/asset-model.js +51 -0
  102. package/dist/studio/web/controller.d.ts +113 -0
  103. package/dist/studio/web/controller.js +401 -0
  104. package/dist/studio/web/messages.d.ts +2 -0
  105. package/dist/studio/web/messages.js +74 -0
  106. package/dist/studio/web/model.d.ts +75 -0
  107. package/dist/studio/web/model.js +182 -0
  108. package/dist/studio/web/save-controller.d.ts +85 -0
  109. package/dist/studio/web/save-controller.js +495 -0
  110. package/dist/studio/web/save-model.d.ts +63 -0
  111. package/dist/studio/web/save-model.js +64 -0
  112. package/dist/studio/web/save-queue.d.ts +7 -0
  113. package/dist/studio/web/save-queue.js +62 -0
  114. package/dist/studio/web/save-view.d.ts +9 -0
  115. package/dist/studio/web/save-view.js +19 -0
  116. package/dist/studio/writer-lock.d.ts +5 -0
  117. package/dist/studio/writer-lock.js +88 -0
  118. package/package.json +11 -5
  119. package/dist/cli/copied.d.ts.map +0 -1
  120. package/dist/cli/copied.js.map +0 -1
  121. package/dist/cli/index.d.ts.map +0 -1
  122. package/dist/cli/index.js.map +0 -1
  123. package/dist/cli/render.d.ts.map +0 -1
  124. package/dist/cli/render.js.map +0 -1
  125. package/dist/core/atomic-config-file.d.ts.map +0 -1
  126. package/dist/core/atomic-config-file.js.map +0 -1
  127. package/dist/core/chat.d.ts.map +0 -1
  128. package/dist/core/chat.js.map +0 -1
  129. package/dist/core/client.d.ts.map +0 -1
  130. package/dist/core/client.js.map +0 -1
  131. package/dist/core/config-dir.d.ts.map +0 -1
  132. package/dist/core/config-dir.js.map +0 -1
  133. package/dist/core/config-error.d.ts.map +0 -1
  134. package/dist/core/config-error.js.map +0 -1
  135. package/dist/core/config.d.ts.map +0 -1
  136. package/dist/core/config.js.map +0 -1
  137. package/dist/core/credit-cap.d.ts.map +0 -1
  138. package/dist/core/credit-cap.js.map +0 -1
  139. package/dist/core/download.d.ts.map +0 -1
  140. package/dist/core/download.js.map +0 -1
  141. package/dist/core/error-result.d.ts.map +0 -1
  142. package/dist/core/error-result.js.map +0 -1
  143. package/dist/core/explain.d.ts.map +0 -1
  144. package/dist/core/explain.js.map +0 -1
  145. package/dist/core/generation-input.d.ts.map +0 -1
  146. package/dist/core/generation-input.js.map +0 -1
  147. package/dist/core/generation-result.d.ts.map +0 -1
  148. package/dist/core/generation-result.js.map +0 -1
  149. package/dist/core/generation.d.ts.map +0 -1
  150. package/dist/core/generation.js.map +0 -1
  151. package/dist/core/job-display.d.ts.map +0 -1
  152. package/dist/core/job-display.js.map +0 -1
  153. package/dist/core/locale.d.ts.map +0 -1
  154. package/dist/core/locale.js.map +0 -1
  155. package/dist/core/origin.d.ts.map +0 -1
  156. package/dist/core/origin.js.map +0 -1
  157. package/dist/core/outcome.d.ts.map +0 -1
  158. package/dist/core/outcome.js.map +0 -1
  159. package/dist/core/output-path.d.ts.map +0 -1
  160. package/dist/core/output-path.js.map +0 -1
  161. package/dist/core/params.d.ts.map +0 -1
  162. package/dist/core/params.js.map +0 -1
  163. package/dist/core/poller.d.ts.map +0 -1
  164. package/dist/core/poller.js.map +0 -1
  165. package/dist/core/profiles.d.ts.map +0 -1
  166. package/dist/core/profiles.js.map +0 -1
  167. package/dist/core/set-values.d.ts.map +0 -1
  168. package/dist/core/set-values.js.map +0 -1
  169. package/dist/core/submission-journal.d.ts.map +0 -1
  170. package/dist/core/submission-journal.js.map +0 -1
  171. package/dist/core/types.d.ts.map +0 -1
  172. package/dist/core/types.js.map +0 -1
  173. package/dist/core/version.d.ts.map +0 -1
  174. package/dist/core/version.js.map +0 -1
  175. package/dist/core/wait.d.ts.map +0 -1
  176. package/dist/core/wait.js.map +0 -1
  177. package/dist/index.d.ts.map +0 -1
  178. package/dist/index.js.map +0 -1
  179. package/dist/mcp/render.d.ts.map +0 -1
  180. package/dist/mcp/render.js.map +0 -1
  181. package/dist/mcp/server.d.ts.map +0 -1
  182. package/dist/mcp/server.js.map +0 -1
@@ -0,0 +1,971 @@
1
+ import { z } from 'zod';
2
+ import { StudioError } from './errors.js';
3
+ import type { StudioRoot } from './types.js';
4
+ import { type SaveOperation, type SaveAcceptInput, type SaveUpdate, type SaveTransfer } from './output-save-contract.js';
5
+ declare const observationValue: z.ZodEffects<z.ZodObject<{
6
+ file: z.ZodEnum<["NOT_CHECKED", "ABSENT", "PARTIAL", "VERIFIED", "MISSING", "MODIFIED", "UNSAFE", "UNKNOWN"]>;
7
+ checkedAt: z.ZodNullable<z.ZodString>;
8
+ integrityCheck: z.ZodEnum<["IDLE", "PENDING"]>;
9
+ signature: z.ZodOptional<z.ZodString>;
10
+ errorCode: z.ZodOptional<z.ZodEnum<["SAVE_FILE_MISSING", "SAVE_FILE_MODIFIED", "SAVE_FILE_UNSAFE", "SAVE_FILE_READ_FAILED"]>>;
11
+ }, "strict", z.ZodTypeAny, {
12
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
13
+ checkedAt: string | null;
14
+ integrityCheck: "PENDING" | "IDLE";
15
+ signature?: string | undefined;
16
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
17
+ }, {
18
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
19
+ checkedAt: string | null;
20
+ integrityCheck: "PENDING" | "IDLE";
21
+ signature?: string | undefined;
22
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
23
+ }>, {
24
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
25
+ checkedAt: string | null;
26
+ integrityCheck: "PENDING" | "IDLE";
27
+ signature?: string | undefined;
28
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
29
+ }, {
30
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
31
+ checkedAt: string | null;
32
+ integrityCheck: "PENDING" | "IDLE";
33
+ signature?: string | undefined;
34
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
35
+ }>;
36
+ declare const observation: z.ZodEffects<z.ZodObject<{
37
+ assetId: z.ZodString;
38
+ revision: z.ZodNumber;
39
+ value: z.ZodEffects<z.ZodObject<{
40
+ file: z.ZodEnum<["NOT_CHECKED", "ABSENT", "PARTIAL", "VERIFIED", "MISSING", "MODIFIED", "UNSAFE", "UNKNOWN"]>;
41
+ checkedAt: z.ZodNullable<z.ZodString>;
42
+ integrityCheck: z.ZodEnum<["IDLE", "PENDING"]>;
43
+ signature: z.ZodOptional<z.ZodString>;
44
+ errorCode: z.ZodOptional<z.ZodEnum<["SAVE_FILE_MISSING", "SAVE_FILE_MODIFIED", "SAVE_FILE_UNSAFE", "SAVE_FILE_READ_FAILED"]>>;
45
+ }, "strict", z.ZodTypeAny, {
46
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
47
+ checkedAt: string | null;
48
+ integrityCheck: "PENDING" | "IDLE";
49
+ signature?: string | undefined;
50
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
51
+ }, {
52
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
53
+ checkedAt: string | null;
54
+ integrityCheck: "PENDING" | "IDLE";
55
+ signature?: string | undefined;
56
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
57
+ }>, {
58
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
59
+ checkedAt: string | null;
60
+ integrityCheck: "PENDING" | "IDLE";
61
+ signature?: string | undefined;
62
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
63
+ }, {
64
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
65
+ checkedAt: string | null;
66
+ integrityCheck: "PENDING" | "IDLE";
67
+ signature?: string | undefined;
68
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
69
+ }>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ value: {
72
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
73
+ checkedAt: string | null;
74
+ integrityCheck: "PENDING" | "IDLE";
75
+ signature?: string | undefined;
76
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
77
+ };
78
+ assetId: string;
79
+ revision: number;
80
+ }, {
81
+ value: {
82
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
83
+ checkedAt: string | null;
84
+ integrityCheck: "PENDING" | "IDLE";
85
+ signature?: string | undefined;
86
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
87
+ };
88
+ assetId: string;
89
+ revision: number;
90
+ }>, {
91
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
92
+ checkedAt: string | null;
93
+ integrityCheck: "PENDING" | "IDLE";
94
+ signature?: string | undefined;
95
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
96
+ assetId: string;
97
+ revision: number;
98
+ }, {
99
+ value: {
100
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
101
+ checkedAt: string | null;
102
+ integrityCheck: "PENDING" | "IDLE";
103
+ signature?: string | undefined;
104
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
105
+ };
106
+ assetId: string;
107
+ revision: number;
108
+ }>;
109
+ export type IntegrityObservationValue = z.infer<typeof observationValue>;
110
+ export type IntegrityObservation = z.infer<typeof observation>;
111
+ declare const schema: z.ZodEffects<z.ZodObject<{
112
+ schemaVersion: z.ZodLiteral<2>;
113
+ revision: z.ZodNumber;
114
+ rootId: z.ZodString;
115
+ canonicalAssetsPath: z.ZodString;
116
+ connections: z.ZodArray<z.ZodObject<{
117
+ connectionId: z.ZodString;
118
+ bindingDigestRef: z.ZodString;
119
+ }, "strict", z.ZodTypeAny, {
120
+ connectionId: string;
121
+ bindingDigestRef: string;
122
+ }, {
123
+ connectionId: string;
124
+ bindingDigestRef: string;
125
+ }>, "many">;
126
+ operations: z.ZodArray<z.ZodEffects<z.ZodObject<{
127
+ connectionId: z.ZodString;
128
+ requestIds: z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>;
129
+ assetId: z.ZodString;
130
+ executionRevision: z.ZodDefault<z.ZodNumber>;
131
+ transfer: z.ZodOptional<z.ZodObject<{
132
+ temporaryName: z.ZodString;
133
+ owner: z.ZodOptional<z.ZodObject<{
134
+ dev: z.ZodString;
135
+ ino: z.ZodString;
136
+ birthtimeMs: z.ZodNumber;
137
+ }, "strict", z.ZodTypeAny, {
138
+ dev: string;
139
+ ino: string;
140
+ birthtimeMs: number;
141
+ }, {
142
+ dev: string;
143
+ ino: string;
144
+ birthtimeMs: number;
145
+ }>>;
146
+ completed: z.ZodOptional<z.ZodObject<{
147
+ mediaType: z.ZodEnum<["image/png", "image/jpeg", "image/webp", "video/mp4", "video/webm"]>;
148
+ byteLength: z.ZodNumber;
149
+ sha256: z.ZodString;
150
+ relativePath: z.ZodString;
151
+ }, "strict", z.ZodTypeAny, {
152
+ sha256: string;
153
+ byteLength: number;
154
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
155
+ relativePath: string;
156
+ }, {
157
+ sha256: string;
158
+ byteLength: number;
159
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
160
+ relativePath: string;
161
+ }>>;
162
+ }, "strict", z.ZodTypeAny, {
163
+ temporaryName: string;
164
+ owner?: {
165
+ dev: string;
166
+ ino: string;
167
+ birthtimeMs: number;
168
+ } | undefined;
169
+ completed?: {
170
+ sha256: string;
171
+ byteLength: number;
172
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
173
+ relativePath: string;
174
+ } | undefined;
175
+ }, {
176
+ temporaryName: string;
177
+ owner?: {
178
+ dev: string;
179
+ ino: string;
180
+ birthtimeMs: number;
181
+ } | undefined;
182
+ completed?: {
183
+ sha256: string;
184
+ byteLength: number;
185
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
186
+ relativePath: string;
187
+ } | undefined;
188
+ }>>;
189
+ receipt: z.ZodObject<{
190
+ state: z.ZodEnum<["ACCEPTED", "SAVING", "SAVED", "FAILED", "RECOVERY_REQUIRED", "BLOCKED"]>;
191
+ stage: z.ZodEnum<["QUEUED", "DOWNLOADING", "FILE_READY", "REGISTERED", "LINKED", "RECONCILING"]>;
192
+ attempt: z.ZodNumber;
193
+ asset: z.ZodNullable<z.ZodObject<{
194
+ assetId: z.ZodString;
195
+ displayName: z.ZodString;
196
+ mediaType: z.ZodEnum<["image/png", "image/jpeg", "image/webp", "video/mp4", "video/webm"]>;
197
+ byteLength: z.ZodNumber;
198
+ sha256: z.ZodString;
199
+ relativePath: z.ZodString;
200
+ absolutePath: z.ZodString;
201
+ contentUrl: z.ZodString;
202
+ }, "strict", z.ZodTypeAny, {
203
+ sha256: string;
204
+ byteLength: number;
205
+ assetId: string;
206
+ displayName: string;
207
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
208
+ relativePath: string;
209
+ absolutePath: string;
210
+ contentUrl: string;
211
+ }, {
212
+ sha256: string;
213
+ byteLength: number;
214
+ assetId: string;
215
+ displayName: string;
216
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
217
+ relativePath: string;
218
+ absolutePath: string;
219
+ contentUrl: string;
220
+ }>>;
221
+ error: z.ZodNullable<z.ZodObject<{
222
+ code: z.ZodString;
223
+ message: z.ZodString;
224
+ type: z.ZodString;
225
+ httpStatus: z.ZodOptional<z.ZodNumber>;
226
+ retryable: z.ZodBoolean;
227
+ mayAlreadyBeSaved: z.ZodNullable<z.ZodBoolean>;
228
+ }, "strict", z.ZodTypeAny, {
229
+ code: string;
230
+ message: string;
231
+ type: string;
232
+ retryable: boolean;
233
+ mayAlreadyBeSaved: boolean | null;
234
+ httpStatus?: number | undefined;
235
+ }, {
236
+ code: string;
237
+ message: string;
238
+ type: string;
239
+ retryable: boolean;
240
+ mayAlreadyBeSaved: boolean | null;
241
+ httpStatus?: number | undefined;
242
+ }>>;
243
+ retryable: z.ZodBoolean;
244
+ safeRetry: z.ZodBoolean;
245
+ mayAlreadyBeSaved: z.ZodNullable<z.ZodBoolean>;
246
+ } & {
247
+ facts: z.ZodObject<{
248
+ registration: z.ZodEnum<["ABSENT", "PRESENT", "UNKNOWN"]>;
249
+ relation: z.ZodEnum<["ABSENT", "PRESENT", "UNKNOWN"]>;
250
+ } & {
251
+ file: z.ZodEnum<["NOT_CHECKED", "ABSENT", "PARTIAL", "VERIFIED", "MISSING", "MODIFIED", "UNSAFE", "UNKNOWN"]>;
252
+ }, "strict", z.ZodTypeAny, {
253
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
254
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
255
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
256
+ }, {
257
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
258
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
259
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
260
+ }>;
261
+ checkedAt: z.ZodNullable<z.ZodString>;
262
+ integrityCheck: z.ZodDefault<z.ZodEnum<["IDLE", "PENDING"]>>;
263
+ operationId: z.ZodString;
264
+ revision: z.ZodNumber;
265
+ localOutputId: z.ZodString;
266
+ runId: z.ZodString;
267
+ jobId: z.ZodString;
268
+ gatewayAssetId: z.ZodString;
269
+ createdAt: z.ZodString;
270
+ updatedAt: z.ZodString;
271
+ }, "strict", z.ZodTypeAny, {
272
+ error: {
273
+ code: string;
274
+ message: string;
275
+ type: string;
276
+ retryable: boolean;
277
+ mayAlreadyBeSaved: boolean | null;
278
+ httpStatus?: number | undefined;
279
+ } | null;
280
+ createdAt: string;
281
+ state: "ACCEPTED" | "SAVING" | "SAVED" | "FAILED" | "RECOVERY_REQUIRED" | "BLOCKED";
282
+ jobId: string;
283
+ updatedAt: string;
284
+ revision: number;
285
+ runId: string;
286
+ retryable: boolean;
287
+ mayAlreadyBeSaved: boolean | null;
288
+ stage: "QUEUED" | "DOWNLOADING" | "FILE_READY" | "REGISTERED" | "LINKED" | "RECONCILING";
289
+ attempt: number;
290
+ facts: {
291
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
292
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
293
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
294
+ };
295
+ asset: {
296
+ sha256: string;
297
+ byteLength: number;
298
+ assetId: string;
299
+ displayName: string;
300
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
301
+ relativePath: string;
302
+ absolutePath: string;
303
+ contentUrl: string;
304
+ } | null;
305
+ safeRetry: boolean;
306
+ checkedAt: string | null;
307
+ integrityCheck: "PENDING" | "IDLE";
308
+ operationId: string;
309
+ localOutputId: string;
310
+ gatewayAssetId: string;
311
+ }, {
312
+ error: {
313
+ code: string;
314
+ message: string;
315
+ type: string;
316
+ retryable: boolean;
317
+ mayAlreadyBeSaved: boolean | null;
318
+ httpStatus?: number | undefined;
319
+ } | null;
320
+ createdAt: string;
321
+ state: "ACCEPTED" | "SAVING" | "SAVED" | "FAILED" | "RECOVERY_REQUIRED" | "BLOCKED";
322
+ jobId: string;
323
+ updatedAt: string;
324
+ revision: number;
325
+ runId: string;
326
+ retryable: boolean;
327
+ mayAlreadyBeSaved: boolean | null;
328
+ stage: "QUEUED" | "DOWNLOADING" | "FILE_READY" | "REGISTERED" | "LINKED" | "RECONCILING";
329
+ attempt: number;
330
+ facts: {
331
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
332
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
333
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
334
+ };
335
+ asset: {
336
+ sha256: string;
337
+ byteLength: number;
338
+ assetId: string;
339
+ displayName: string;
340
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
341
+ relativePath: string;
342
+ absolutePath: string;
343
+ contentUrl: string;
344
+ } | null;
345
+ safeRetry: boolean;
346
+ checkedAt: string | null;
347
+ operationId: string;
348
+ localOutputId: string;
349
+ gatewayAssetId: string;
350
+ integrityCheck?: "PENDING" | "IDLE" | undefined;
351
+ }>;
352
+ }, "strict", z.ZodTypeAny, {
353
+ assetId: string;
354
+ connectionId: string;
355
+ requestIds: string[];
356
+ executionRevision: number;
357
+ receipt: {
358
+ error: {
359
+ code: string;
360
+ message: string;
361
+ type: string;
362
+ retryable: boolean;
363
+ mayAlreadyBeSaved: boolean | null;
364
+ httpStatus?: number | undefined;
365
+ } | null;
366
+ createdAt: string;
367
+ state: "ACCEPTED" | "SAVING" | "SAVED" | "FAILED" | "RECOVERY_REQUIRED" | "BLOCKED";
368
+ jobId: string;
369
+ updatedAt: string;
370
+ revision: number;
371
+ runId: string;
372
+ retryable: boolean;
373
+ mayAlreadyBeSaved: boolean | null;
374
+ stage: "QUEUED" | "DOWNLOADING" | "FILE_READY" | "REGISTERED" | "LINKED" | "RECONCILING";
375
+ attempt: number;
376
+ facts: {
377
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
378
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
379
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
380
+ };
381
+ asset: {
382
+ sha256: string;
383
+ byteLength: number;
384
+ assetId: string;
385
+ displayName: string;
386
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
387
+ relativePath: string;
388
+ absolutePath: string;
389
+ contentUrl: string;
390
+ } | null;
391
+ safeRetry: boolean;
392
+ checkedAt: string | null;
393
+ integrityCheck: "PENDING" | "IDLE";
394
+ operationId: string;
395
+ localOutputId: string;
396
+ gatewayAssetId: string;
397
+ };
398
+ transfer?: {
399
+ temporaryName: string;
400
+ owner?: {
401
+ dev: string;
402
+ ino: string;
403
+ birthtimeMs: number;
404
+ } | undefined;
405
+ completed?: {
406
+ sha256: string;
407
+ byteLength: number;
408
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
409
+ relativePath: string;
410
+ } | undefined;
411
+ } | undefined;
412
+ }, {
413
+ assetId: string;
414
+ connectionId: string;
415
+ requestIds: string[];
416
+ receipt: {
417
+ error: {
418
+ code: string;
419
+ message: string;
420
+ type: string;
421
+ retryable: boolean;
422
+ mayAlreadyBeSaved: boolean | null;
423
+ httpStatus?: number | undefined;
424
+ } | null;
425
+ createdAt: string;
426
+ state: "ACCEPTED" | "SAVING" | "SAVED" | "FAILED" | "RECOVERY_REQUIRED" | "BLOCKED";
427
+ jobId: string;
428
+ updatedAt: string;
429
+ revision: number;
430
+ runId: string;
431
+ retryable: boolean;
432
+ mayAlreadyBeSaved: boolean | null;
433
+ stage: "QUEUED" | "DOWNLOADING" | "FILE_READY" | "REGISTERED" | "LINKED" | "RECONCILING";
434
+ attempt: number;
435
+ facts: {
436
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
437
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
438
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
439
+ };
440
+ asset: {
441
+ sha256: string;
442
+ byteLength: number;
443
+ assetId: string;
444
+ displayName: string;
445
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
446
+ relativePath: string;
447
+ absolutePath: string;
448
+ contentUrl: string;
449
+ } | null;
450
+ safeRetry: boolean;
451
+ checkedAt: string | null;
452
+ operationId: string;
453
+ localOutputId: string;
454
+ gatewayAssetId: string;
455
+ integrityCheck?: "PENDING" | "IDLE" | undefined;
456
+ };
457
+ executionRevision?: number | undefined;
458
+ transfer?: {
459
+ temporaryName: string;
460
+ owner?: {
461
+ dev: string;
462
+ ino: string;
463
+ birthtimeMs: number;
464
+ } | undefined;
465
+ completed?: {
466
+ sha256: string;
467
+ byteLength: number;
468
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
469
+ relativePath: string;
470
+ } | undefined;
471
+ } | undefined;
472
+ }>, {
473
+ assetId: string;
474
+ connectionId: string;
475
+ requestIds: string[];
476
+ executionRevision: number;
477
+ receipt: {
478
+ error: {
479
+ code: string;
480
+ message: string;
481
+ type: string;
482
+ retryable: boolean;
483
+ mayAlreadyBeSaved: boolean | null;
484
+ httpStatus?: number | undefined;
485
+ } | null;
486
+ createdAt: string;
487
+ state: "ACCEPTED" | "SAVING" | "SAVED" | "FAILED" | "RECOVERY_REQUIRED" | "BLOCKED";
488
+ jobId: string;
489
+ updatedAt: string;
490
+ revision: number;
491
+ runId: string;
492
+ retryable: boolean;
493
+ mayAlreadyBeSaved: boolean | null;
494
+ stage: "QUEUED" | "DOWNLOADING" | "FILE_READY" | "REGISTERED" | "LINKED" | "RECONCILING";
495
+ attempt: number;
496
+ facts: {
497
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
498
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
499
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
500
+ };
501
+ asset: {
502
+ sha256: string;
503
+ byteLength: number;
504
+ assetId: string;
505
+ displayName: string;
506
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
507
+ relativePath: string;
508
+ absolutePath: string;
509
+ contentUrl: string;
510
+ } | null;
511
+ safeRetry: boolean;
512
+ checkedAt: string | null;
513
+ integrityCheck: "PENDING" | "IDLE";
514
+ operationId: string;
515
+ localOutputId: string;
516
+ gatewayAssetId: string;
517
+ };
518
+ transfer?: {
519
+ temporaryName: string;
520
+ owner?: {
521
+ dev: string;
522
+ ino: string;
523
+ birthtimeMs: number;
524
+ } | undefined;
525
+ completed?: {
526
+ sha256: string;
527
+ byteLength: number;
528
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
529
+ relativePath: string;
530
+ } | undefined;
531
+ } | undefined;
532
+ }, {
533
+ assetId: string;
534
+ connectionId: string;
535
+ requestIds: string[];
536
+ receipt: {
537
+ error: {
538
+ code: string;
539
+ message: string;
540
+ type: string;
541
+ retryable: boolean;
542
+ mayAlreadyBeSaved: boolean | null;
543
+ httpStatus?: number | undefined;
544
+ } | null;
545
+ createdAt: string;
546
+ state: "ACCEPTED" | "SAVING" | "SAVED" | "FAILED" | "RECOVERY_REQUIRED" | "BLOCKED";
547
+ jobId: string;
548
+ updatedAt: string;
549
+ revision: number;
550
+ runId: string;
551
+ retryable: boolean;
552
+ mayAlreadyBeSaved: boolean | null;
553
+ stage: "QUEUED" | "DOWNLOADING" | "FILE_READY" | "REGISTERED" | "LINKED" | "RECONCILING";
554
+ attempt: number;
555
+ facts: {
556
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
557
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
558
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
559
+ };
560
+ asset: {
561
+ sha256: string;
562
+ byteLength: number;
563
+ assetId: string;
564
+ displayName: string;
565
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
566
+ relativePath: string;
567
+ absolutePath: string;
568
+ contentUrl: string;
569
+ } | null;
570
+ safeRetry: boolean;
571
+ checkedAt: string | null;
572
+ operationId: string;
573
+ localOutputId: string;
574
+ gatewayAssetId: string;
575
+ integrityCheck?: "PENDING" | "IDLE" | undefined;
576
+ };
577
+ executionRevision?: number | undefined;
578
+ transfer?: {
579
+ temporaryName: string;
580
+ owner?: {
581
+ dev: string;
582
+ ino: string;
583
+ birthtimeMs: number;
584
+ } | undefined;
585
+ completed?: {
586
+ sha256: string;
587
+ byteLength: number;
588
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
589
+ relativePath: string;
590
+ } | undefined;
591
+ } | undefined;
592
+ }>, "many">;
593
+ integrityObservations: z.ZodArray<z.ZodEffects<z.ZodObject<{
594
+ assetId: z.ZodString;
595
+ revision: z.ZodNumber;
596
+ } & {
597
+ file: z.ZodEnum<["NOT_CHECKED", "ABSENT", "PARTIAL", "VERIFIED", "MISSING", "MODIFIED", "UNSAFE", "UNKNOWN"]>;
598
+ checkedAt: z.ZodNullable<z.ZodString>;
599
+ integrityCheck: z.ZodEnum<["IDLE", "PENDING"]>;
600
+ signature: z.ZodOptional<z.ZodString>;
601
+ errorCode: z.ZodOptional<z.ZodEnum<["SAVE_FILE_MISSING", "SAVE_FILE_MODIFIED", "SAVE_FILE_UNSAFE", "SAVE_FILE_READ_FAILED"]>>;
602
+ }, "strict", z.ZodTypeAny, {
603
+ assetId: string;
604
+ revision: number;
605
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
606
+ checkedAt: string | null;
607
+ integrityCheck: "PENDING" | "IDLE";
608
+ signature?: string | undefined;
609
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
610
+ }, {
611
+ assetId: string;
612
+ revision: number;
613
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
614
+ checkedAt: string | null;
615
+ integrityCheck: "PENDING" | "IDLE";
616
+ signature?: string | undefined;
617
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
618
+ }>, {
619
+ assetId: string;
620
+ revision: number;
621
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
622
+ checkedAt: string | null;
623
+ integrityCheck: "PENDING" | "IDLE";
624
+ signature?: string | undefined;
625
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
626
+ }, {
627
+ assetId: string;
628
+ revision: number;
629
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
630
+ checkedAt: string | null;
631
+ integrityCheck: "PENDING" | "IDLE";
632
+ signature?: string | undefined;
633
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
634
+ }>, "many">;
635
+ }, "strict", z.ZodTypeAny, {
636
+ schemaVersion: 2;
637
+ revision: number;
638
+ rootId: string;
639
+ canonicalAssetsPath: string;
640
+ connections: {
641
+ connectionId: string;
642
+ bindingDigestRef: string;
643
+ }[];
644
+ operations: {
645
+ assetId: string;
646
+ connectionId: string;
647
+ requestIds: string[];
648
+ executionRevision: number;
649
+ receipt: {
650
+ error: {
651
+ code: string;
652
+ message: string;
653
+ type: string;
654
+ retryable: boolean;
655
+ mayAlreadyBeSaved: boolean | null;
656
+ httpStatus?: number | undefined;
657
+ } | null;
658
+ createdAt: string;
659
+ state: "ACCEPTED" | "SAVING" | "SAVED" | "FAILED" | "RECOVERY_REQUIRED" | "BLOCKED";
660
+ jobId: string;
661
+ updatedAt: string;
662
+ revision: number;
663
+ runId: string;
664
+ retryable: boolean;
665
+ mayAlreadyBeSaved: boolean | null;
666
+ stage: "QUEUED" | "DOWNLOADING" | "FILE_READY" | "REGISTERED" | "LINKED" | "RECONCILING";
667
+ attempt: number;
668
+ facts: {
669
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
670
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
671
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
672
+ };
673
+ asset: {
674
+ sha256: string;
675
+ byteLength: number;
676
+ assetId: string;
677
+ displayName: string;
678
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
679
+ relativePath: string;
680
+ absolutePath: string;
681
+ contentUrl: string;
682
+ } | null;
683
+ safeRetry: boolean;
684
+ checkedAt: string | null;
685
+ integrityCheck: "PENDING" | "IDLE";
686
+ operationId: string;
687
+ localOutputId: string;
688
+ gatewayAssetId: string;
689
+ };
690
+ transfer?: {
691
+ temporaryName: string;
692
+ owner?: {
693
+ dev: string;
694
+ ino: string;
695
+ birthtimeMs: number;
696
+ } | undefined;
697
+ completed?: {
698
+ sha256: string;
699
+ byteLength: number;
700
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
701
+ relativePath: string;
702
+ } | undefined;
703
+ } | undefined;
704
+ }[];
705
+ integrityObservations: {
706
+ assetId: string;
707
+ revision: number;
708
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
709
+ checkedAt: string | null;
710
+ integrityCheck: "PENDING" | "IDLE";
711
+ signature?: string | undefined;
712
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
713
+ }[];
714
+ }, {
715
+ schemaVersion: 2;
716
+ revision: number;
717
+ rootId: string;
718
+ canonicalAssetsPath: string;
719
+ connections: {
720
+ connectionId: string;
721
+ bindingDigestRef: string;
722
+ }[];
723
+ operations: {
724
+ assetId: string;
725
+ connectionId: string;
726
+ requestIds: string[];
727
+ receipt: {
728
+ error: {
729
+ code: string;
730
+ message: string;
731
+ type: string;
732
+ retryable: boolean;
733
+ mayAlreadyBeSaved: boolean | null;
734
+ httpStatus?: number | undefined;
735
+ } | null;
736
+ createdAt: string;
737
+ state: "ACCEPTED" | "SAVING" | "SAVED" | "FAILED" | "RECOVERY_REQUIRED" | "BLOCKED";
738
+ jobId: string;
739
+ updatedAt: string;
740
+ revision: number;
741
+ runId: string;
742
+ retryable: boolean;
743
+ mayAlreadyBeSaved: boolean | null;
744
+ stage: "QUEUED" | "DOWNLOADING" | "FILE_READY" | "REGISTERED" | "LINKED" | "RECONCILING";
745
+ attempt: number;
746
+ facts: {
747
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
748
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
749
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
750
+ };
751
+ asset: {
752
+ sha256: string;
753
+ byteLength: number;
754
+ assetId: string;
755
+ displayName: string;
756
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
757
+ relativePath: string;
758
+ absolutePath: string;
759
+ contentUrl: string;
760
+ } | null;
761
+ safeRetry: boolean;
762
+ checkedAt: string | null;
763
+ operationId: string;
764
+ localOutputId: string;
765
+ gatewayAssetId: string;
766
+ integrityCheck?: "PENDING" | "IDLE" | undefined;
767
+ };
768
+ executionRevision?: number | undefined;
769
+ transfer?: {
770
+ temporaryName: string;
771
+ owner?: {
772
+ dev: string;
773
+ ino: string;
774
+ birthtimeMs: number;
775
+ } | undefined;
776
+ completed?: {
777
+ sha256: string;
778
+ byteLength: number;
779
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
780
+ relativePath: string;
781
+ } | undefined;
782
+ } | undefined;
783
+ }[];
784
+ integrityObservations: {
785
+ assetId: string;
786
+ revision: number;
787
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
788
+ checkedAt: string | null;
789
+ integrityCheck: "PENDING" | "IDLE";
790
+ signature?: string | undefined;
791
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
792
+ }[];
793
+ }>, {
794
+ schemaVersion: 2;
795
+ revision: number;
796
+ rootId: string;
797
+ canonicalAssetsPath: string;
798
+ connections: {
799
+ connectionId: string;
800
+ bindingDigestRef: string;
801
+ }[];
802
+ operations: {
803
+ assetId: string;
804
+ connectionId: string;
805
+ requestIds: string[];
806
+ executionRevision: number;
807
+ receipt: {
808
+ error: {
809
+ code: string;
810
+ message: string;
811
+ type: string;
812
+ retryable: boolean;
813
+ mayAlreadyBeSaved: boolean | null;
814
+ httpStatus?: number | undefined;
815
+ } | null;
816
+ createdAt: string;
817
+ state: "ACCEPTED" | "SAVING" | "SAVED" | "FAILED" | "RECOVERY_REQUIRED" | "BLOCKED";
818
+ jobId: string;
819
+ updatedAt: string;
820
+ revision: number;
821
+ runId: string;
822
+ retryable: boolean;
823
+ mayAlreadyBeSaved: boolean | null;
824
+ stage: "QUEUED" | "DOWNLOADING" | "FILE_READY" | "REGISTERED" | "LINKED" | "RECONCILING";
825
+ attempt: number;
826
+ facts: {
827
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
828
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
829
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
830
+ };
831
+ asset: {
832
+ sha256: string;
833
+ byteLength: number;
834
+ assetId: string;
835
+ displayName: string;
836
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
837
+ relativePath: string;
838
+ absolutePath: string;
839
+ contentUrl: string;
840
+ } | null;
841
+ safeRetry: boolean;
842
+ checkedAt: string | null;
843
+ integrityCheck: "PENDING" | "IDLE";
844
+ operationId: string;
845
+ localOutputId: string;
846
+ gatewayAssetId: string;
847
+ };
848
+ transfer?: {
849
+ temporaryName: string;
850
+ owner?: {
851
+ dev: string;
852
+ ino: string;
853
+ birthtimeMs: number;
854
+ } | undefined;
855
+ completed?: {
856
+ sha256: string;
857
+ byteLength: number;
858
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
859
+ relativePath: string;
860
+ } | undefined;
861
+ } | undefined;
862
+ }[];
863
+ integrityObservations: {
864
+ assetId: string;
865
+ revision: number;
866
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
867
+ checkedAt: string | null;
868
+ integrityCheck: "PENDING" | "IDLE";
869
+ signature?: string | undefined;
870
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
871
+ }[];
872
+ }, {
873
+ schemaVersion: 2;
874
+ revision: number;
875
+ rootId: string;
876
+ canonicalAssetsPath: string;
877
+ connections: {
878
+ connectionId: string;
879
+ bindingDigestRef: string;
880
+ }[];
881
+ operations: {
882
+ assetId: string;
883
+ connectionId: string;
884
+ requestIds: string[];
885
+ receipt: {
886
+ error: {
887
+ code: string;
888
+ message: string;
889
+ type: string;
890
+ retryable: boolean;
891
+ mayAlreadyBeSaved: boolean | null;
892
+ httpStatus?: number | undefined;
893
+ } | null;
894
+ createdAt: string;
895
+ state: "ACCEPTED" | "SAVING" | "SAVED" | "FAILED" | "RECOVERY_REQUIRED" | "BLOCKED";
896
+ jobId: string;
897
+ updatedAt: string;
898
+ revision: number;
899
+ runId: string;
900
+ retryable: boolean;
901
+ mayAlreadyBeSaved: boolean | null;
902
+ stage: "QUEUED" | "DOWNLOADING" | "FILE_READY" | "REGISTERED" | "LINKED" | "RECONCILING";
903
+ attempt: number;
904
+ facts: {
905
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
906
+ registration: "ABSENT" | "UNKNOWN" | "PRESENT";
907
+ relation: "ABSENT" | "UNKNOWN" | "PRESENT";
908
+ };
909
+ asset: {
910
+ sha256: string;
911
+ byteLength: number;
912
+ assetId: string;
913
+ displayName: string;
914
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
915
+ relativePath: string;
916
+ absolutePath: string;
917
+ contentUrl: string;
918
+ } | null;
919
+ safeRetry: boolean;
920
+ checkedAt: string | null;
921
+ operationId: string;
922
+ localOutputId: string;
923
+ gatewayAssetId: string;
924
+ integrityCheck?: "PENDING" | "IDLE" | undefined;
925
+ };
926
+ executionRevision?: number | undefined;
927
+ transfer?: {
928
+ temporaryName: string;
929
+ owner?: {
930
+ dev: string;
931
+ ino: string;
932
+ birthtimeMs: number;
933
+ } | undefined;
934
+ completed?: {
935
+ sha256: string;
936
+ byteLength: number;
937
+ mediaType: "image/png" | "image/jpeg" | "image/webp" | "video/mp4" | "video/webm";
938
+ relativePath: string;
939
+ } | undefined;
940
+ } | undefined;
941
+ }[];
942
+ integrityObservations: {
943
+ assetId: string;
944
+ revision: number;
945
+ file: "MISSING" | "NOT_CHECKED" | "ABSENT" | "PARTIAL" | "UNSAFE" | "UNKNOWN" | "VERIFIED" | "MODIFIED";
946
+ checkedAt: string | null;
947
+ integrityCheck: "PENDING" | "IDLE";
948
+ signature?: string | undefined;
949
+ errorCode?: "SAVE_FILE_MISSING" | "SAVE_FILE_MODIFIED" | "SAVE_FILE_UNSAFE" | "SAVE_FILE_READ_FAILED" | undefined;
950
+ }[];
951
+ }>;
952
+ export type SaveAuthoritySnapshot = z.infer<typeof schema>;
953
+ export interface StudioSaveAuthority {
954
+ read(): Promise<SaveAuthoritySnapshot>;
955
+ readIntegrity(): Promise<SaveAuthoritySnapshot | undefined>;
956
+ observeIntegrity(assetId: string, expectedRevision: number, value: IntegrityObservationValue, proof?: unknown): Promise<IntegrityObservation>;
957
+ bind(bindingDigestRef: string): Promise<SaveAuthoritySnapshot>;
958
+ accept(input: SaveAcceptInput): Promise<SaveOperation>;
959
+ update(operationId: string, connectionId: string, expectedRevision: number, patch: SaveUpdate, transfer?: SaveTransfer): Promise<SaveOperation>;
960
+ advanceWorker(expected: SaveOperation, patch: SaveUpdate, transfer?: SaveTransfer): Promise<SaveOperation>;
961
+ }
962
+ /** Internal control flow, never a business failure or a new public error code. */
963
+ export declare class SaveIntegrityPending extends StudioError {
964
+ constructor();
965
+ }
966
+ /** Private authority; the asset-store owns the sole writer and shared lifecycle queue. */
967
+ export declare function createSaveAuthority(root: StudioRoot, serial: <T>(fn: () => Promise<T>) => Promise<T>, hooks?: {
968
+ beforeCommit?(): void | Promise<void>;
969
+ }): StudioSaveAuthority;
970
+ export {};
971
+ //# sourceMappingURL=output-save-journal.d.ts.map