@liforma/publisher 0.1.2 → 0.4.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/README.md +11 -2
- package/dist/browser.d.ts +4 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +5 -0
- package/dist/browser.js.map +1 -0
- package/dist/createPublisher.d.ts +170 -83
- package/dist/createPublisher.d.ts.map +1 -1
- package/dist/createPublisher.js +252 -103
- package/dist/createPublisher.js.map +1 -1
- package/dist/errors.d.ts +3 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +0 -1
- package/dist/errors.js.map +1 -1
- package/dist/hash.d.ts +1 -1
- package/dist/hash.d.ts.map +1 -1
- package/dist/http.d.ts +3 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +8 -23
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/jobs.d.ts +7 -5
- package/dist/jobs.d.ts.map +1 -1
- package/dist/jobs.js +49 -52
- package/dist/jobs.js.map +1 -1
- package/dist/retry.d.ts +16 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +52 -0
- package/dist/retry.js.map +1 -0
- package/dist/schemas.d.ts +448 -89
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +122 -36
- package/dist/schemas.js.map +1 -1
- package/dist/upload.d.ts +1 -0
- package/dist/upload.d.ts.map +1 -1
- package/dist/upload.js +41 -18
- package/dist/upload.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -2
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,uBAAuB;;;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.js
CHANGED
|
@@ -1,13 +1,40 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
const isoDateTime = z.string().min(1);
|
|
3
3
|
const nullableString = z.string().nullable();
|
|
4
|
-
|
|
4
|
+
/** Keep in sync with `api.liforma.ai/src/lib/server/catalog/persona.ts` labels. */
|
|
5
|
+
export const PERSONA_GENDER_VALUES = ['female', 'male', 'non-binary'];
|
|
6
|
+
/** Appearance groups for facial features, hair, and skin colour — not census identity. */
|
|
7
|
+
export const PERSONA_ETHNICITY_VALUES = [
|
|
8
|
+
'african',
|
|
9
|
+
'east-asian',
|
|
10
|
+
'european',
|
|
11
|
+
'indigenous',
|
|
12
|
+
'mediterranean',
|
|
13
|
+
'middle-eastern',
|
|
14
|
+
'mixed',
|
|
15
|
+
'north-african',
|
|
16
|
+
'pacific-islander',
|
|
17
|
+
'south-asian',
|
|
18
|
+
'southeast-asian'
|
|
19
|
+
];
|
|
20
|
+
export const personaGenderSchema = z.enum(PERSONA_GENDER_VALUES);
|
|
21
|
+
export const personaEthnicitySchema = z.enum(PERSONA_ETHNICITY_VALUES);
|
|
22
|
+
/** Apparent age in years, including very old non-human characters. */
|
|
23
|
+
export const personaAgeSchema = z.number().int().min(1).max(1000);
|
|
24
|
+
/** Free-text avatar catalogue labels (species, style). Not enums. */
|
|
25
|
+
export const avatarCatalogLabelSchema = z.string().trim().min(1).max(64);
|
|
26
|
+
export const publishResourceStatusSchema = z.enum(['processing', 'ready', 'failed']);
|
|
27
|
+
export const appearanceResourceStatusSchema = z.enum(['processing', 'ready', 'failed', 'archived']);
|
|
28
|
+
export const libraryItemStatusSchema = z.enum(['active', 'archived']);
|
|
29
|
+
export const locationResourceStatusSchema = z.enum(['processing', 'ready', 'failed', 'archived']);
|
|
30
|
+
export const experienceStatusSchema = z.enum(['draft', 'published', 'archived']);
|
|
31
|
+
export const publishJobErrorSchema = z
|
|
5
32
|
.object({
|
|
6
33
|
code: z.string(),
|
|
7
34
|
message: z.string()
|
|
8
35
|
})
|
|
9
36
|
.strict();
|
|
10
|
-
export const
|
|
37
|
+
export const publishJobSchema = z
|
|
11
38
|
.object({
|
|
12
39
|
id: z.string(),
|
|
13
40
|
status: z.enum(['queued', 'running', 'waiting_processor', 'succeeded', 'failed']),
|
|
@@ -15,9 +42,6 @@ export const authoringJobSchema = z
|
|
|
15
42
|
pollUrl: z.string(),
|
|
16
43
|
targetId: z.string(),
|
|
17
44
|
requiredOk: z.boolean(),
|
|
18
|
-
claimCount: z.number().int(),
|
|
19
|
-
failureCount: z.number().int(),
|
|
20
|
-
nextRunAt: isoDateTime.nullable(),
|
|
21
45
|
stage: z.string().nullable(),
|
|
22
46
|
progress: z
|
|
23
47
|
.object({
|
|
@@ -25,31 +49,39 @@ export const authoringJobSchema = z
|
|
|
25
49
|
requiredTotal: z.number().int()
|
|
26
50
|
})
|
|
27
51
|
.strict(),
|
|
28
|
-
error:
|
|
29
|
-
enrichment: z
|
|
30
|
-
.object({
|
|
31
|
-
status: z.enum(['pending', 'running', 'complete', 'failed', 'not_applicable']),
|
|
32
|
-
verified: z.number().int(),
|
|
33
|
-
total: z.number().int(),
|
|
34
|
-
error: authoringJobErrorSchema.nullable()
|
|
35
|
-
})
|
|
36
|
-
.strict()
|
|
52
|
+
error: publishJobErrorSchema.nullable()
|
|
37
53
|
})
|
|
38
54
|
.strict();
|
|
39
|
-
export const
|
|
55
|
+
export const publishStubSchema = z
|
|
40
56
|
.object({
|
|
41
|
-
kind: z.enum(['clothes', 'hair', 'location']),
|
|
42
57
|
id: z.string(),
|
|
43
|
-
status:
|
|
58
|
+
status: publishResourceStatusSchema
|
|
59
|
+
})
|
|
60
|
+
.strict();
|
|
61
|
+
export const createClothesPublishResponseSchema = z
|
|
62
|
+
.object({
|
|
63
|
+
job: publishJobSchema,
|
|
64
|
+
clothes: publishStubSchema
|
|
65
|
+
})
|
|
66
|
+
.strict();
|
|
67
|
+
export const createHairPublishResponseSchema = z
|
|
68
|
+
.object({
|
|
69
|
+
job: publishJobSchema,
|
|
70
|
+
hair: publishStubSchema
|
|
44
71
|
})
|
|
45
72
|
.strict();
|
|
46
|
-
export const
|
|
73
|
+
export const createLocationPublishResponseSchema = z
|
|
47
74
|
.object({
|
|
48
|
-
job:
|
|
49
|
-
|
|
75
|
+
job: publishJobSchema,
|
|
76
|
+
location: publishStubSchema
|
|
50
77
|
})
|
|
51
78
|
.strict();
|
|
52
|
-
export const
|
|
79
|
+
export const createPublishResponseSchema = z.union([
|
|
80
|
+
createClothesPublishResponseSchema,
|
|
81
|
+
createHairPublishResponseSchema,
|
|
82
|
+
createLocationPublishResponseSchema
|
|
83
|
+
]);
|
|
84
|
+
export const getJobResponseSchema = z.object({ job: publishJobSchema }).strict();
|
|
53
85
|
export const createUploadResponseSchema = z
|
|
54
86
|
.object({
|
|
55
87
|
upload: z
|
|
@@ -85,11 +117,8 @@ export const clothesResourceSchema = z
|
|
|
85
117
|
id: z.string(),
|
|
86
118
|
avatarId: z.string(),
|
|
87
119
|
name: z.string(),
|
|
88
|
-
status:
|
|
120
|
+
status: appearanceResourceStatusSchema,
|
|
89
121
|
source: z.string(),
|
|
90
|
-
renderKind: z.string(),
|
|
91
|
-
catalogueKey: nullableString,
|
|
92
|
-
assetPath: nullableString,
|
|
93
122
|
externalId: nullableString,
|
|
94
123
|
createdAt: isoDateTime,
|
|
95
124
|
updatedAt: isoDateTime
|
|
@@ -101,10 +130,8 @@ export const hairResourceSchema = z
|
|
|
101
130
|
id: z.string(),
|
|
102
131
|
avatarId: z.string(),
|
|
103
132
|
name: z.string(),
|
|
104
|
-
status:
|
|
133
|
+
status: appearanceResourceStatusSchema,
|
|
105
134
|
source: z.string(),
|
|
106
|
-
catalogueKey: nullableString,
|
|
107
|
-
assetPath: nullableString,
|
|
108
135
|
externalId: nullableString,
|
|
109
136
|
createdAt: isoDateTime,
|
|
110
137
|
updatedAt: isoDateTime
|
|
@@ -114,15 +141,16 @@ export const locationResourceSchema = z
|
|
|
114
141
|
.object({
|
|
115
142
|
kind: z.literal('location'),
|
|
116
143
|
id: z.string(),
|
|
117
|
-
status:
|
|
144
|
+
status: locationResourceStatusSchema,
|
|
118
145
|
name: z.string(),
|
|
119
146
|
depthEncoding: nullableString,
|
|
147
|
+
style: avatarCatalogLabelSchema.nullable().optional(),
|
|
120
148
|
externalId: nullableString
|
|
121
149
|
})
|
|
122
150
|
.strict();
|
|
123
|
-
export const getClothesResponseSchema = z.object({
|
|
124
|
-
export const getHairResponseSchema = z.object({
|
|
125
|
-
export const getLocationResponseSchema = z.object({
|
|
151
|
+
export const getClothesResponseSchema = z.object({ clothes: clothesResourceSchema }).strict();
|
|
152
|
+
export const getHairResponseSchema = z.object({ hair: hairResourceSchema }).strict();
|
|
153
|
+
export const getLocationResponseSchema = z.object({ location: locationResourceSchema }).strict();
|
|
126
154
|
export const characterSchema = z
|
|
127
155
|
.object({
|
|
128
156
|
id: z.string(),
|
|
@@ -135,6 +163,11 @@ export const characterSchema = z
|
|
|
135
163
|
hairId: nullableString,
|
|
136
164
|
personality: nullableString,
|
|
137
165
|
generalInstructions: nullableString,
|
|
166
|
+
gender: personaGenderSchema.nullable().optional(),
|
|
167
|
+
age: personaAgeSchema.nullable().optional(),
|
|
168
|
+
ethnicity: personaEthnicitySchema.nullable().optional(),
|
|
169
|
+
style: avatarCatalogLabelSchema.nullable().optional(),
|
|
170
|
+
status: libraryItemStatusSchema,
|
|
138
171
|
externalId: nullableString,
|
|
139
172
|
createdAt: isoDateTime,
|
|
140
173
|
updatedAt: isoDateTime
|
|
@@ -145,6 +178,8 @@ export const placeSchema = z
|
|
|
145
178
|
id: z.string(),
|
|
146
179
|
name: z.string(),
|
|
147
180
|
locationId: z.string(),
|
|
181
|
+
style: avatarCatalogLabelSchema.nullable().optional(),
|
|
182
|
+
status: libraryItemStatusSchema,
|
|
148
183
|
externalId: nullableString,
|
|
149
184
|
createdAt: isoDateTime,
|
|
150
185
|
updatedAt: isoDateTime
|
|
@@ -156,9 +191,19 @@ export const experienceSchema = z
|
|
|
156
191
|
projectId: z.string(),
|
|
157
192
|
title: z.string(),
|
|
158
193
|
slug: z.string(),
|
|
159
|
-
status:
|
|
160
|
-
|
|
194
|
+
status: experienceStatusSchema,
|
|
195
|
+
hasPublishedRevision: z.boolean(),
|
|
196
|
+
hasUnpublishedChanges: z.boolean(),
|
|
197
|
+
published: z
|
|
198
|
+
.boolean()
|
|
199
|
+
.describe('Deprecated compatibility alias. Use hasPublishedRevision together with status instead.')
|
|
200
|
+
.meta({ deprecated: true }),
|
|
161
201
|
attributes: z.record(z.string(), z.string()),
|
|
202
|
+
characterId: nullableString,
|
|
203
|
+
placeId: nullableString,
|
|
204
|
+
startingMessage: nullableString,
|
|
205
|
+
systemInstructions: nullableString,
|
|
206
|
+
introduction: nullableString,
|
|
162
207
|
externalId: nullableString,
|
|
163
208
|
createdAt: isoDateTime,
|
|
164
209
|
updatedAt: isoDateTime
|
|
@@ -167,12 +212,42 @@ export const experienceSchema = z
|
|
|
167
212
|
export const createCharacterResponseSchema = z.object({ character: characterSchema }).strict();
|
|
168
213
|
export const createPlaceResponseSchema = z.object({ place: placeSchema }).strict();
|
|
169
214
|
export const experienceResponseSchema = z.object({ experience: experienceSchema }).strict();
|
|
170
|
-
export const
|
|
215
|
+
export const libraryUsageSchema = z
|
|
216
|
+
.object({
|
|
217
|
+
draftExperienceIds: z.array(z.string()),
|
|
218
|
+
publishedExperienceIds: z.array(z.string()),
|
|
219
|
+
historicalRevisionCount: z.number().int().nonnegative(),
|
|
220
|
+
activeCharacterIds: z.array(z.string()).optional(),
|
|
221
|
+
activePlaceIds: z.array(z.string()).optional(),
|
|
222
|
+
archivedCharacterIds: z.array(z.string()).optional(),
|
|
223
|
+
archivedPlaceIds: z.array(z.string()).optional(),
|
|
224
|
+
archivedDependencies: z
|
|
225
|
+
.array(z
|
|
226
|
+
.object({
|
|
227
|
+
resourceType: z.string(),
|
|
228
|
+
resourceIds: z.array(z.string())
|
|
229
|
+
})
|
|
230
|
+
.strict())
|
|
231
|
+
.optional()
|
|
232
|
+
})
|
|
233
|
+
.strict();
|
|
234
|
+
export const deletedResourceResponseSchema = z
|
|
235
|
+
.object({
|
|
236
|
+
deleted: z.literal(true),
|
|
237
|
+
id: z.string()
|
|
238
|
+
})
|
|
239
|
+
.strict();
|
|
240
|
+
export const avatarSchema = z
|
|
171
241
|
.object({
|
|
172
242
|
id: z.string(),
|
|
173
243
|
displayName: z.string(),
|
|
174
244
|
defaultVoiceId: z.string(),
|
|
175
245
|
defaultSttLang: z.string(),
|
|
246
|
+
gender: personaGenderSchema.nullable().optional(),
|
|
247
|
+
age: personaAgeSchema.nullable().optional(),
|
|
248
|
+
ethnicity: personaEthnicitySchema.nullable().optional(),
|
|
249
|
+
species: avatarCatalogLabelSchema.nullable().optional(),
|
|
250
|
+
style: avatarCatalogLabelSchema.nullable().optional(),
|
|
176
251
|
clothes: z.array(z
|
|
177
252
|
.object({
|
|
178
253
|
id: z.string(),
|
|
@@ -193,7 +268,18 @@ export const authoringAvatarSchema = z
|
|
|
193
268
|
.strict();
|
|
194
269
|
export const listAvatarsResponseSchema = z
|
|
195
270
|
.object({
|
|
196
|
-
avatars: z.array(
|
|
271
|
+
avatars: z.array(avatarSchema)
|
|
272
|
+
})
|
|
273
|
+
.strict();
|
|
274
|
+
export const structuredPublisherErrorSchema = z
|
|
275
|
+
.object({
|
|
276
|
+
error: z
|
|
277
|
+
.object({
|
|
278
|
+
code: z.string(),
|
|
279
|
+
message: z.string(),
|
|
280
|
+
requestId: z.string()
|
|
281
|
+
})
|
|
282
|
+
.passthrough()
|
|
197
283
|
})
|
|
198
284
|
.strict();
|
|
199
285
|
//# sourceMappingURL=schemas.js.map
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/upload.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ImageBytes } from './hash.js';
|
|
2
2
|
export type { ImageBytes };
|
|
3
3
|
import { type PublisherHttp } from './http.js';
|
|
4
|
+
export declare const MAX_UPLOAD_BYTES: number;
|
|
4
5
|
export type UploadedImage = {
|
|
5
6
|
readonly uploadId: string;
|
|
6
7
|
readonly purpose: 'colour' | 'depth';
|
package/dist/upload.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAErE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC3B,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAErE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC3B,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAI9E,eAAO,MAAM,gBAAgB,QAAmB,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC9B,CAAC;AAEF,wBAAsB,WAAW,CAChC,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,kBAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED,wBAAsB,cAAc,CACnC,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,kBAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,CAExB;AAuGD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,CASvE"}
|
package/dist/upload.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { LiformaPublisherError } from './errors.js';
|
|
2
2
|
import { sha256Hex, toUint8Array } from './hash.js';
|
|
3
3
|
import { projectPath, publisherRequest } from './http.js';
|
|
4
|
+
import { exponentialDelayMs, retryAfterMs, sleep } from './retry.js';
|
|
4
5
|
import { completeUploadResponseSchema, createUploadResponseSchema } from './schemas.js';
|
|
6
|
+
export const MAX_UPLOAD_BYTES = 20 * 1024 * 1024;
|
|
5
7
|
export async function uploadImage(http, input, options) {
|
|
6
8
|
return uploadWithPurpose(http, input, { ...options, purpose: 'colour' });
|
|
7
9
|
}
|
|
@@ -13,6 +15,11 @@ async function uploadWithPurpose(http, input, options) {
|
|
|
13
15
|
if (bytes.byteLength === 0) {
|
|
14
16
|
throw new LiformaPublisherError('Image bytes must be non-empty.', { code: 'INVALID_IMAGE_INPUT' });
|
|
15
17
|
}
|
|
18
|
+
if (bytes.byteLength > MAX_UPLOAD_BYTES) {
|
|
19
|
+
throw new LiformaPublisherError('Image bytes must not exceed 20 MiB.', {
|
|
20
|
+
code: 'UPLOAD_TOO_LARGE'
|
|
21
|
+
});
|
|
22
|
+
}
|
|
16
23
|
const contentType = options.contentType.trim();
|
|
17
24
|
if (!contentType) {
|
|
18
25
|
throw new LiformaPublisherError('contentType is required.', { code: 'INVALID_IMAGE_INPUT' });
|
|
@@ -28,24 +35,8 @@ async function uploadWithPurpose(http, input, options) {
|
|
|
28
35
|
},
|
|
29
36
|
signal: options.signal
|
|
30
37
|
});
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
try {
|
|
34
|
-
putResponse = await http.fetchImpl(created.data.put.url, {
|
|
35
|
-
method: 'PUT',
|
|
36
|
-
headers: putHeaders,
|
|
37
|
-
body: Buffer.from(bytes),
|
|
38
|
-
signal: options.signal
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
catch (error) {
|
|
42
|
-
throw new LiformaPublisherError(error instanceof Error ? error.message : 'Presigned upload PUT failed.', { code: 'UPLOAD_PUT_FAILED', retryable: true, cause: error });
|
|
43
|
-
}
|
|
44
|
-
if (!putResponse.ok) {
|
|
45
|
-
const text = await putResponse.text().catch(() => '');
|
|
46
|
-
throw new LiformaPublisherError(text.trim().slice(0, 500) || `Presigned upload PUT failed (${putResponse.status}).`, { code: 'UPLOAD_PUT_FAILED', status: putResponse.status, retryable: putResponse.status >= 500 });
|
|
47
|
-
}
|
|
48
|
-
const completed = await publisherRequest(http, projectPath(http, `/uploads/${encodeURIComponent(created.data.upload.id)}/complete`), completeUploadResponseSchema, { method: 'POST', signal: options.signal });
|
|
38
|
+
await putPresignedUpload(http, created.data.put.url, created.data.put.headers, bytes, options.signal);
|
|
39
|
+
const completed = await publisherRequest(http, projectPath(http, `/uploads/${encodeURIComponent(created.data.upload.id)}/complete`), completeUploadResponseSchema, { method: 'POST', signal: options.signal, retry: true });
|
|
49
40
|
return {
|
|
50
41
|
uploadId: completed.data.upload.id,
|
|
51
42
|
purpose: options.purpose,
|
|
@@ -54,6 +45,38 @@ async function uploadWithPurpose(http, input, options) {
|
|
|
54
45
|
sha256: completed.data.upload.sha256 ?? sha256
|
|
55
46
|
};
|
|
56
47
|
}
|
|
48
|
+
async function putPresignedUpload(http, url, headers, bytes, signal) {
|
|
49
|
+
for (let attempt = 1; attempt <= http.retryPolicy.maxAttempts; attempt += 1) {
|
|
50
|
+
signal?.throwIfAborted();
|
|
51
|
+
let response;
|
|
52
|
+
try {
|
|
53
|
+
response = await http.fetchImpl(url, {
|
|
54
|
+
method: 'PUT',
|
|
55
|
+
headers: { ...headers },
|
|
56
|
+
body: Buffer.from(bytes),
|
|
57
|
+
signal
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
signal?.throwIfAborted();
|
|
62
|
+
if (attempt < http.retryPolicy.maxAttempts) {
|
|
63
|
+
await sleep(exponentialDelayMs(attempt, http.retryPolicy), signal);
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
throw new LiformaPublisherError(error instanceof Error ? error.message : 'Presigned upload PUT failed.', { code: 'UPLOAD_PUT_FAILED', retryable: true, cause: error });
|
|
67
|
+
}
|
|
68
|
+
if (response.ok)
|
|
69
|
+
return;
|
|
70
|
+
const text = await response.text().catch(() => '');
|
|
71
|
+
const retryable = response.status === 429 || response.status >= 500;
|
|
72
|
+
if (retryable && attempt < http.retryPolicy.maxAttempts) {
|
|
73
|
+
await sleep(retryAfterMs(response.headers.get('retry-after')) ??
|
|
74
|
+
exponentialDelayMs(attempt, http.retryPolicy), signal);
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
throw new LiformaPublisherError(text.trim().slice(0, 500) || `Presigned upload PUT failed (${response.status}).`, { code: 'UPLOAD_PUT_FAILED', status: response.status, retryable });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
57
80
|
export function uploadIdFromImage(image) {
|
|
58
81
|
if (typeof image === 'string') {
|
|
59
82
|
const id = image.trim();
|
package/dist/upload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAsB,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,UAAU,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liforma/publisher",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Server SDK for Liforma
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Server SDK for the Liforma Publisher API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"homepage": "https://docs.liforma.ai/_alpha/publisher-sdk",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"exports": {
|
|
20
20
|
".": {
|
|
21
21
|
"types": "./dist/index.d.ts",
|
|
22
|
+
"browser": "./dist/browser.js",
|
|
22
23
|
"import": "./dist/index.js",
|
|
23
24
|
"default": "./dist/index.js"
|
|
24
25
|
}
|