@liforma/publisher 0.1.2 → 0.3.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 +120 -83
- package/dist/createPublisher.d.ts.map +1 -1
- package/dist/createPublisher.js +175 -104
- 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 +2 -0
- 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 +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -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 +290 -89
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +61 -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.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
const isoDateTime = z.string().min(1);
|
|
3
3
|
const nullableString = z.string().nullable();
|
|
4
|
-
export const
|
|
4
|
+
export const publishResourceStatusSchema = z.enum(['processing', 'ready', 'failed']);
|
|
5
|
+
export const appearanceResourceStatusSchema = z.enum(['processing', 'ready', 'failed']);
|
|
6
|
+
export const locationResourceStatusSchema = z.enum(['processing', 'ready', 'failed', 'archived']);
|
|
7
|
+
export const experienceStatusSchema = z.enum(['draft', 'published', 'archived']);
|
|
8
|
+
export const publishJobErrorSchema = z
|
|
5
9
|
.object({
|
|
6
10
|
code: z.string(),
|
|
7
11
|
message: z.string()
|
|
8
12
|
})
|
|
9
13
|
.strict();
|
|
10
|
-
export const
|
|
14
|
+
export const publishJobSchema = z
|
|
11
15
|
.object({
|
|
12
16
|
id: z.string(),
|
|
13
17
|
status: z.enum(['queued', 'running', 'waiting_processor', 'succeeded', 'failed']),
|
|
@@ -15,9 +19,6 @@ export const authoringJobSchema = z
|
|
|
15
19
|
pollUrl: z.string(),
|
|
16
20
|
targetId: z.string(),
|
|
17
21
|
requiredOk: z.boolean(),
|
|
18
|
-
claimCount: z.number().int(),
|
|
19
|
-
failureCount: z.number().int(),
|
|
20
|
-
nextRunAt: isoDateTime.nullable(),
|
|
21
22
|
stage: z.string().nullable(),
|
|
22
23
|
progress: z
|
|
23
24
|
.object({
|
|
@@ -25,31 +26,39 @@ export const authoringJobSchema = z
|
|
|
25
26
|
requiredTotal: z.number().int()
|
|
26
27
|
})
|
|
27
28
|
.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()
|
|
29
|
+
error: publishJobErrorSchema.nullable()
|
|
37
30
|
})
|
|
38
31
|
.strict();
|
|
39
|
-
export const
|
|
32
|
+
export const publishStubSchema = z
|
|
40
33
|
.object({
|
|
41
|
-
kind: z.enum(['clothes', 'hair', 'location']),
|
|
42
34
|
id: z.string(),
|
|
43
|
-
status:
|
|
35
|
+
status: publishResourceStatusSchema
|
|
44
36
|
})
|
|
45
37
|
.strict();
|
|
46
|
-
export const
|
|
38
|
+
export const createClothesPublishResponseSchema = z
|
|
47
39
|
.object({
|
|
48
|
-
job:
|
|
49
|
-
|
|
40
|
+
job: publishJobSchema,
|
|
41
|
+
clothes: publishStubSchema
|
|
50
42
|
})
|
|
51
43
|
.strict();
|
|
52
|
-
export const
|
|
44
|
+
export const createHairPublishResponseSchema = z
|
|
45
|
+
.object({
|
|
46
|
+
job: publishJobSchema,
|
|
47
|
+
hair: publishStubSchema
|
|
48
|
+
})
|
|
49
|
+
.strict();
|
|
50
|
+
export const createLocationPublishResponseSchema = z
|
|
51
|
+
.object({
|
|
52
|
+
job: publishJobSchema,
|
|
53
|
+
location: publishStubSchema
|
|
54
|
+
})
|
|
55
|
+
.strict();
|
|
56
|
+
export const createPublishResponseSchema = z.union([
|
|
57
|
+
createClothesPublishResponseSchema,
|
|
58
|
+
createHairPublishResponseSchema,
|
|
59
|
+
createLocationPublishResponseSchema
|
|
60
|
+
]);
|
|
61
|
+
export const getJobResponseSchema = z.object({ job: publishJobSchema }).strict();
|
|
53
62
|
export const createUploadResponseSchema = z
|
|
54
63
|
.object({
|
|
55
64
|
upload: z
|
|
@@ -85,11 +94,8 @@ export const clothesResourceSchema = z
|
|
|
85
94
|
id: z.string(),
|
|
86
95
|
avatarId: z.string(),
|
|
87
96
|
name: z.string(),
|
|
88
|
-
status:
|
|
97
|
+
status: appearanceResourceStatusSchema,
|
|
89
98
|
source: z.string(),
|
|
90
|
-
renderKind: z.string(),
|
|
91
|
-
catalogueKey: nullableString,
|
|
92
|
-
assetPath: nullableString,
|
|
93
99
|
externalId: nullableString,
|
|
94
100
|
createdAt: isoDateTime,
|
|
95
101
|
updatedAt: isoDateTime
|
|
@@ -101,10 +107,8 @@ export const hairResourceSchema = z
|
|
|
101
107
|
id: z.string(),
|
|
102
108
|
avatarId: z.string(),
|
|
103
109
|
name: z.string(),
|
|
104
|
-
status:
|
|
110
|
+
status: appearanceResourceStatusSchema,
|
|
105
111
|
source: z.string(),
|
|
106
|
-
catalogueKey: nullableString,
|
|
107
|
-
assetPath: nullableString,
|
|
108
112
|
externalId: nullableString,
|
|
109
113
|
createdAt: isoDateTime,
|
|
110
114
|
updatedAt: isoDateTime
|
|
@@ -114,15 +118,15 @@ export const locationResourceSchema = z
|
|
|
114
118
|
.object({
|
|
115
119
|
kind: z.literal('location'),
|
|
116
120
|
id: z.string(),
|
|
117
|
-
status:
|
|
121
|
+
status: locationResourceStatusSchema,
|
|
118
122
|
name: z.string(),
|
|
119
123
|
depthEncoding: nullableString,
|
|
120
124
|
externalId: nullableString
|
|
121
125
|
})
|
|
122
126
|
.strict();
|
|
123
|
-
export const getClothesResponseSchema = z.object({
|
|
124
|
-
export const getHairResponseSchema = z.object({
|
|
125
|
-
export const getLocationResponseSchema = z.object({
|
|
127
|
+
export const getClothesResponseSchema = z.object({ clothes: clothesResourceSchema }).strict();
|
|
128
|
+
export const getHairResponseSchema = z.object({ hair: hairResourceSchema }).strict();
|
|
129
|
+
export const getLocationResponseSchema = z.object({ location: locationResourceSchema }).strict();
|
|
126
130
|
export const characterSchema = z
|
|
127
131
|
.object({
|
|
128
132
|
id: z.string(),
|
|
@@ -156,9 +160,19 @@ export const experienceSchema = z
|
|
|
156
160
|
projectId: z.string(),
|
|
157
161
|
title: z.string(),
|
|
158
162
|
slug: z.string(),
|
|
159
|
-
status:
|
|
160
|
-
|
|
163
|
+
status: experienceStatusSchema,
|
|
164
|
+
hasPublishedRevision: z.boolean(),
|
|
165
|
+
hasUnpublishedChanges: z.boolean(),
|
|
166
|
+
published: z
|
|
167
|
+
.boolean()
|
|
168
|
+
.describe('Deprecated compatibility alias. Use hasPublishedRevision together with status instead.')
|
|
169
|
+
.meta({ deprecated: true }),
|
|
161
170
|
attributes: z.record(z.string(), z.string()),
|
|
171
|
+
characterId: nullableString,
|
|
172
|
+
placeId: nullableString,
|
|
173
|
+
startingMessage: nullableString,
|
|
174
|
+
systemInstructions: nullableString,
|
|
175
|
+
introduction: nullableString,
|
|
162
176
|
externalId: nullableString,
|
|
163
177
|
createdAt: isoDateTime,
|
|
164
178
|
updatedAt: isoDateTime
|
|
@@ -167,7 +181,7 @@ export const experienceSchema = z
|
|
|
167
181
|
export const createCharacterResponseSchema = z.object({ character: characterSchema }).strict();
|
|
168
182
|
export const createPlaceResponseSchema = z.object({ place: placeSchema }).strict();
|
|
169
183
|
export const experienceResponseSchema = z.object({ experience: experienceSchema }).strict();
|
|
170
|
-
export const
|
|
184
|
+
export const avatarSchema = z
|
|
171
185
|
.object({
|
|
172
186
|
id: z.string(),
|
|
173
187
|
displayName: z.string(),
|
|
@@ -193,7 +207,18 @@ export const authoringAvatarSchema = z
|
|
|
193
207
|
.strict();
|
|
194
208
|
export const listAvatarsResponseSchema = z
|
|
195
209
|
.object({
|
|
196
|
-
avatars: z.array(
|
|
210
|
+
avatars: z.array(avatarSchema)
|
|
211
|
+
})
|
|
212
|
+
.strict();
|
|
213
|
+
export const structuredPublisherErrorSchema = z
|
|
214
|
+
.object({
|
|
215
|
+
error: z
|
|
216
|
+
.object({
|
|
217
|
+
code: z.string(),
|
|
218
|
+
message: z.string(),
|
|
219
|
+
requestId: z.string()
|
|
220
|
+
})
|
|
221
|
+
.passthrough()
|
|
197
222
|
})
|
|
198
223
|
.strict();
|
|
199
224
|
//# 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;
|
|
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":"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,kBAAkB,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAExF,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAejD,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,IAAmB,EACnB,KAAiB,EACjB,OAA2B;IAE3B,OAAO,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,IAAmB,EACnB,KAAiB,EACjB,OAA2B;IAE3B,OAAO,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,IAAmB,EACnB,KAAiB,EACjB,OAA6D;IAE7D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,qBAAqB,CAAC,gCAAgC,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,GAAG,gBAAgB,EAAE,CAAC;QACzC,MAAM,IAAI,qBAAqB,CAAC,qCAAqC,EAAE;YACtE,IAAI,EAAE,kBAAkB;SACxB,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,IAAI,qBAAqB,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACrC,IAAI,EACJ,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,EAC7B,0BAA0B,EAC1B;QACC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW;YACX,KAAK,EAAE,KAAK,CAAC,UAAU;YACvB,MAAM;SACN;QACD,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CACD,CAAC;IAEF,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtG,MAAM,SAAS,GAAG,MAAM,gBAAgB,CACvC,IAAI,EACJ,WAAW,CAAC,IAAI,EAAE,YAAY,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,EACpF,4BAA4B,EAC5B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CACvD,CAAC;IAEF,OAAO;QACN,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAClC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW;QACX,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU;QACtD,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM;KAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAChC,IAAmB,EACnB,GAAW,EACX,OAAyC,EACzC,KAAiB,EACjB,MAAoB;IAEpB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAC7E,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;gBACpC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxB,MAAM;aACN,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,EAAE,cAAc,EAAE,CAAC;YACzB,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC5C,MAAM,KAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;gBACnE,SAAS;YACV,CAAC;YACD,MAAM,IAAI,qBAAqB,CAC9B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,EACvE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAC5D,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,EAAE;YAAE,OAAO;QAExB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC;QACpE,IAAI,SAAS,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,KAAK,CACV,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAChD,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAC9C,MAAM,CACN,CAAC;YACF,SAAS;QACV,CAAC;QACD,MAAM,IAAI,qBAAqB,CAC9B,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,gCAAgC,QAAQ,CAAC,MAAM,IAAI,EAChF,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CACjE,CAAC;IACH,CAAC;AACF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,MAAM,IAAI,qBAAqB,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC;AACvB,CAAC"}
|
|
@@ -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.3.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
|
}
|