@liforma/publisher 0.1.1 → 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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @liforma/publisher
2
2
 
3
- Server SDK for Liforma programmatic authoring — upload images, create locations/places/clothes/hair/characters, and publish experiences.
3
+ Server SDK for the Liforma Publisher API — upload images, create locations, wrap places, create clothes/hair/characters, and publish experiences.
4
4
 
5
5
  ```bash
6
6
  npm install @liforma/publisher
@@ -10,7 +10,8 @@ npm install @liforma/publisher
10
10
  import { createPublisher } from '@liforma/publisher';
11
11
 
12
12
  const publisher = createPublisher(process.env.LIFORMA_PROJECT_ID!, {
13
- apiKey: process.env.LIFORMA_API_KEY!
13
+ apiKey: process.env.LIFORMA_API_KEY!,
14
+ retryPolicy: { maxAttempts: 3 }
14
15
  });
15
16
 
16
17
  const background = await publisher.uploadImage(lobbyPng, { contentType: 'image/png' });
@@ -18,6 +19,14 @@ const location = await publisher.createLocation({ name: 'Hotel lobby', image: ba
18
19
  const place = await publisher.createPlace({ name: 'Hotel lobby', locationId: location.id });
19
20
  ```
20
21
 
22
+ Reload with `getCharacter`, `getPlace`, `getExperience`, and `getLocation`. Edit drafts with `update*` — `updateExperience` does not publish. Pass `forceNew: true` on plate creates to skip content-addressed reuse.
23
+
24
+ Long-running creates poll durable Publisher jobs. Use `start*` to keep the job handle, `jobs.wait(jobId)` to resume polling, `jobs.watch(jobId)` for progress, and `jobs.retry(jobId)` after a failed job. Polling a job may resume serverless processing.
25
+
26
+ `jobs.wait` and `jobs.watch` throw `LiformaPublisherError` for failed or incomplete jobs. `error.job` contains the typed last job. `JOB_WAIT_TIMEOUT` only stops local waiting and is not retryable; resume explicitly with `jobs.wait(jobId)`. HTTP retries are bounded, honor `Retry-After`, and apply only to GET/PATCH, retry-safe job/upload operations, and the presigned upload PUT—not resource creates.
27
+
28
+ Experience responses describe the current draft. Use `hasPublishedRevision` and `hasUnpublishedChanges`; `published` is a deprecated 0.x compatibility alias.
29
+
21
30
  Use a **live** API key on the server only. Never ship this package or the key to a browser.
22
31
 
23
32
  Docs (alpha): https://docs.liforma.ai/_alpha/publisher-sdk
@@ -0,0 +1,4 @@
1
+ export { LiformaPublisherError, isRetryableError } from './errors.js';
2
+ export type * from './index.js';
3
+ export declare function createPublisher(): never;
4
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtE,mBAAmB,YAAY,CAAC;AAEhC,wBAAgB,eAAe,IAAI,KAAK,CAIvC"}
@@ -0,0 +1,5 @@
1
+ export { LiformaPublisherError, isRetryableError } from './errors.js';
2
+ export function createPublisher() {
3
+ throw new Error('@liforma/publisher is server-only and cannot be used in a browser bundle. Call it from server code.');
4
+ }
5
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGtE,MAAM,UAAU,eAAe;IAC9B,MAAM,IAAI,KAAK,CACd,qGAAqG,CACrG,CAAC;AACH,CAAC"}
@@ -1,15 +1,18 @@
1
1
  import { type WaitOptions } from './jobs.js';
2
- import { type AuthoringAvatar, type AuthoringJob, type CharacterResource, type ClothesResource, type CreatePublishResponse, type ExperienceResource, type HairResource, type LocationResource, type PlaceResource } from './schemas.js';
2
+ import { type Avatar, type PublishJob, type CharacterResource, type ClothesResource, type CreateClothesPublishResponse, type CreateHairPublishResponse, type CreateLocationPublishResponse, type ExperienceResource, type HairResource, type LocationResource, type PlaceResource } from './schemas.js';
3
3
  import type { ImageBytes } from './hash.js';
4
+ import { type RetryPolicy } from './retry.js';
4
5
  import { type UploadedImage } from './upload.js';
5
6
  export type CreatePublisherOptions = {
6
7
  readonly apiKey?: string;
7
8
  readonly baseUrl?: string;
8
9
  readonly fetch?: typeof fetch;
10
+ readonly retryPolicy?: RetryPolicy;
9
11
  };
10
12
  export type BackgroundMode = 'remove' | 'transparent';
11
13
  export type PollableCreateOptions = WaitOptions & {
12
14
  readonly externalId?: string;
15
+ readonly forceNew?: boolean;
13
16
  };
14
17
  export type CreateClothesInput = PollableCreateOptions & {
15
18
  readonly avatarId: string;
@@ -58,10 +61,39 @@ export type CreateExperienceInput = {
58
61
  readonly externalId?: string;
59
62
  readonly signal?: AbortSignal;
60
63
  };
64
+ export type UpdateCharacterInput = {
65
+ readonly avatarId?: string;
66
+ readonly name?: string;
67
+ readonly voice?: string;
68
+ readonly sttLang?: string;
69
+ readonly clothesId?: string | null;
70
+ readonly hairId?: string | null;
71
+ readonly personality?: string | null;
72
+ readonly generalInstructions?: string | null;
73
+ readonly signal?: AbortSignal;
74
+ };
75
+ export type UpdatePlaceInput = {
76
+ readonly name?: string;
77
+ readonly locationId?: string;
78
+ readonly signal?: AbortSignal;
79
+ };
80
+ export type UpdateHairInput = {
81
+ readonly name: string;
82
+ readonly signal?: AbortSignal;
83
+ };
84
+ export type UpdateClothesInput = {
85
+ readonly name: string;
86
+ readonly signal?: AbortSignal;
87
+ };
61
88
  export type UpdateExperienceInput = {
62
89
  readonly title?: string;
63
90
  readonly slug?: string;
64
91
  readonly attributes?: Record<string, string>;
92
+ readonly characterId?: string;
93
+ readonly placeId?: string;
94
+ readonly startingMessage?: string;
95
+ readonly systemInstructions?: string;
96
+ readonly introduction?: string;
65
97
  readonly signal?: AbortSignal;
66
98
  };
67
99
  export declare function createPublisher(projectId: string, options?: CreatePublisherOptions): {
@@ -75,50 +107,72 @@ export declare function createPublisher(projectId: string, options?: CreatePubli
75
107
  contentType: string;
76
108
  signal?: AbortSignal;
77
109
  }) => Promise<UploadedImage>;
78
- listAvatars: (signal?: AbortSignal) => Promise<AuthoringAvatar[]>;
79
- startClothes: (input: CreateClothesInput) => Promise<CreatePublishResponse>;
110
+ listAvatars: (signal?: AbortSignal) => Promise<Avatar[]>;
111
+ startClothes: (input: CreateClothesInput) => Promise<CreateClothesPublishResponse>;
80
112
  createClothes: (input: CreateClothesInput) => Promise<ClothesResource>;
81
113
  getClothes: (clothesId: string, signal?: AbortSignal) => Promise<{
82
114
  kind: "clothes";
83
115
  id: string;
84
116
  avatarId: string;
85
117
  name: string;
86
- status: string;
118
+ status: "processing" | "ready" | "failed";
87
119
  source: string;
88
- renderKind: string;
89
- catalogueKey: string | null;
90
- assetPath: string | null;
91
120
  externalId: string | null;
92
121
  createdAt: string;
93
122
  updatedAt: string;
94
123
  }>;
95
- startHair: (input: CreateHairInput) => Promise<CreatePublishResponse>;
124
+ updateClothes: (clothesId: string, input: UpdateClothesInput) => Promise<ClothesResource>;
125
+ startHair: (input: CreateHairInput) => Promise<CreateHairPublishResponse>;
96
126
  createHair: (input: CreateHairInput) => Promise<HairResource>;
97
127
  getHair: (hairId: string, signal?: AbortSignal) => Promise<{
98
128
  kind: "hair";
99
129
  id: string;
100
130
  avatarId: string;
101
131
  name: string;
102
- status: string;
132
+ status: "processing" | "ready" | "failed";
103
133
  source: string;
104
- catalogueKey: string | null;
105
- assetPath: string | null;
106
134
  externalId: string | null;
107
135
  createdAt: string;
108
136
  updatedAt: string;
109
137
  }>;
110
- startLocation: (input: CreateLocationInput) => Promise<CreatePublishResponse>;
138
+ updateHair: (hairId: string, input: UpdateHairInput) => Promise<HairResource>;
139
+ startLocation: (input: CreateLocationInput) => Promise<CreateLocationPublishResponse>;
111
140
  createLocation: (input: CreateLocationInput) => Promise<LocationResource>;
112
141
  getLocation: (locationId: string, signal?: AbortSignal) => Promise<{
113
142
  kind: "location";
114
143
  id: string;
115
- status: string;
144
+ status: "processing" | "ready" | "failed" | "archived";
116
145
  name: string;
117
146
  depthEncoding: string | null;
118
147
  externalId: string | null;
119
148
  }>;
149
+ getPlace: (placeId: string, signal?: AbortSignal) => Promise<{
150
+ id: string;
151
+ name: string;
152
+ locationId: string;
153
+ externalId: string | null;
154
+ createdAt: string;
155
+ updatedAt: string;
156
+ }>;
120
157
  createPlace: (input: CreatePlaceInput) => Promise<PlaceResource>;
158
+ getCharacter: (characterId: string, signal?: AbortSignal) => Promise<{
159
+ id: string;
160
+ projectId: string;
161
+ name: string;
162
+ avatarId: string;
163
+ voice: string;
164
+ sttLang: string;
165
+ clothesId: string | null;
166
+ hairId: string | null;
167
+ personality: string | null;
168
+ generalInstructions: string | null;
169
+ externalId: string | null;
170
+ createdAt: string;
171
+ updatedAt: string;
172
+ }>;
121
173
  createCharacter: (input: CreateCharacterInput) => Promise<CharacterResource>;
174
+ updateCharacter: (characterId: string, input: UpdateCharacterInput) => Promise<CharacterResource>;
175
+ updatePlace: (placeId: string, input: UpdatePlaceInput) => Promise<PlaceResource>;
122
176
  createExperience: (input: CreateExperienceInput) => Promise<ExperienceResource>;
123
177
  getExperience: (experienceId: string, signal?: AbortSignal) => Promise<ExperienceResource>;
124
178
  updateExperience: (experienceId: string, input: UpdateExperienceInput) => Promise<ExperienceResource>;
@@ -126,14 +180,11 @@ export declare function createPublisher(projectId: string, options?: CreatePubli
126
180
  jobs: {
127
181
  get: (jobId: string, signal?: AbortSignal) => Promise<{
128
182
  id: string;
129
- status: "queued" | "running" | "waiting_processor" | "succeeded" | "failed";
130
- kind: "location" | "clothes" | "hair";
183
+ status: "failed" | "queued" | "running" | "waiting_processor" | "succeeded";
184
+ kind: "clothes" | "hair" | "location";
131
185
  pollUrl: string;
132
186
  targetId: string;
133
187
  requiredOk: boolean;
134
- claimCount: number;
135
- failureCount: number;
136
- nextRunAt: string | null;
137
188
  stage: string | null;
138
189
  progress: {
139
190
  requiredVerified: number;
@@ -143,26 +194,14 @@ export declare function createPublisher(projectId: string, options?: CreatePubli
143
194
  code: string;
144
195
  message: string;
145
196
  } | null;
146
- enrichment: {
147
- status: "running" | "failed" | "pending" | "complete" | "not_applicable";
148
- verified: number;
149
- total: number;
150
- error: {
151
- code: string;
152
- message: string;
153
- } | null;
154
- };
155
197
  }>;
156
198
  wait: (jobId: string, waitOptions?: WaitOptions) => Promise<{
157
199
  id: string;
158
- status: "queued" | "running" | "waiting_processor" | "succeeded" | "failed";
159
- kind: "location" | "clothes" | "hair";
200
+ status: "failed" | "queued" | "running" | "waiting_processor" | "succeeded";
201
+ kind: "clothes" | "hair" | "location";
160
202
  pollUrl: string;
161
203
  targetId: string;
162
204
  requiredOk: boolean;
163
- claimCount: number;
164
- failureCount: number;
165
- nextRunAt: string | null;
166
205
  stage: string | null;
167
206
  progress: {
168
207
  requiredVerified: number;
@@ -172,26 +211,14 @@ export declare function createPublisher(projectId: string, options?: CreatePubli
172
211
  code: string;
173
212
  message: string;
174
213
  } | null;
175
- enrichment: {
176
- status: "running" | "failed" | "pending" | "complete" | "not_applicable";
177
- verified: number;
178
- total: number;
179
- error: {
180
- code: string;
181
- message: string;
182
- } | null;
183
- };
184
214
  }>;
185
215
  watch: (jobId: string, waitOptions?: WaitOptions) => AsyncGenerator<{
186
216
  id: string;
187
- status: "queued" | "running" | "waiting_processor" | "succeeded" | "failed";
188
- kind: "location" | "clothes" | "hair";
217
+ status: "failed" | "queued" | "running" | "waiting_processor" | "succeeded";
218
+ kind: "clothes" | "hair" | "location";
189
219
  pollUrl: string;
190
220
  targetId: string;
191
221
  requiredOk: boolean;
192
- claimCount: number;
193
- failureCount: number;
194
- nextRunAt: string | null;
195
222
  stage: string | null;
196
223
  progress: {
197
224
  requiredVerified: number;
@@ -201,25 +228,13 @@ export declare function createPublisher(projectId: string, options?: CreatePubli
201
228
  code: string;
202
229
  message: string;
203
230
  } | null;
204
- enrichment: {
205
- status: "running" | "failed" | "pending" | "complete" | "not_applicable";
206
- verified: number;
207
- total: number;
208
- error: {
209
- code: string;
210
- message: string;
211
- } | null;
212
- };
213
231
  }, {
214
232
  id: string;
215
- status: "queued" | "running" | "waiting_processor" | "succeeded" | "failed";
216
- kind: "location" | "clothes" | "hair";
233
+ status: "failed" | "queued" | "running" | "waiting_processor" | "succeeded";
234
+ kind: "clothes" | "hair" | "location";
217
235
  pollUrl: string;
218
236
  targetId: string;
219
237
  requiredOk: boolean;
220
- claimCount: number;
221
- failureCount: number;
222
- nextRunAt: string | null;
223
238
  stage: string | null;
224
239
  progress: {
225
240
  requiredVerified: number;
@@ -229,27 +244,37 @@ export declare function createPublisher(projectId: string, options?: CreatePubli
229
244
  code: string;
230
245
  message: string;
231
246
  } | null;
232
- enrichment: {
233
- status: "running" | "failed" | "pending" | "complete" | "not_applicable";
234
- verified: number;
235
- total: number;
247
+ }, void>;
248
+ retry: (jobId: string, signal?: AbortSignal) => Promise<{
249
+ job: {
250
+ id: string;
251
+ status: "failed" | "queued" | "running" | "waiting_processor" | "succeeded";
252
+ kind: "clothes" | "hair" | "location";
253
+ pollUrl: string;
254
+ targetId: string;
255
+ requiredOk: boolean;
256
+ stage: string | null;
257
+ progress: {
258
+ requiredVerified: number;
259
+ requiredTotal: number;
260
+ };
236
261
  error: {
237
262
  code: string;
238
263
  message: string;
239
264
  } | null;
240
265
  };
241
- }, void>;
242
- retry: (jobId: string, signal?: AbortSignal) => Promise<{
266
+ clothes: {
267
+ id: string;
268
+ status: "processing" | "ready" | "failed";
269
+ };
270
+ } | {
243
271
  job: {
244
272
  id: string;
245
- status: "queued" | "running" | "waiting_processor" | "succeeded" | "failed";
246
- kind: "location" | "clothes" | "hair";
273
+ status: "failed" | "queued" | "running" | "waiting_processor" | "succeeded";
274
+ kind: "clothes" | "hair" | "location";
247
275
  pollUrl: string;
248
276
  targetId: string;
249
277
  requiredOk: boolean;
250
- claimCount: number;
251
- failureCount: number;
252
- nextRunAt: string | null;
253
278
  stage: string | null;
254
279
  progress: {
255
280
  requiredVerified: number;
@@ -259,24 +284,36 @@ export declare function createPublisher(projectId: string, options?: CreatePubli
259
284
  code: string;
260
285
  message: string;
261
286
  } | null;
262
- enrichment: {
263
- status: "running" | "failed" | "pending" | "complete" | "not_applicable";
264
- verified: number;
265
- total: number;
266
- error: {
267
- code: string;
268
- message: string;
269
- } | null;
287
+ };
288
+ hair: {
289
+ id: string;
290
+ status: "processing" | "ready" | "failed";
291
+ };
292
+ } | {
293
+ job: {
294
+ id: string;
295
+ status: "failed" | "queued" | "running" | "waiting_processor" | "succeeded";
296
+ kind: "clothes" | "hair" | "location";
297
+ pollUrl: string;
298
+ targetId: string;
299
+ requiredOk: boolean;
300
+ stage: string | null;
301
+ progress: {
302
+ requiredVerified: number;
303
+ requiredTotal: number;
270
304
  };
305
+ error: {
306
+ code: string;
307
+ message: string;
308
+ } | null;
271
309
  };
272
- resource: {
273
- kind: "location" | "clothes" | "hair";
310
+ location: {
274
311
  id: string;
275
- status: string;
312
+ status: "processing" | "ready" | "failed";
276
313
  };
277
314
  }>;
278
315
  };
279
316
  };
280
317
  export type Publisher = ReturnType<typeof createPublisher>;
281
- export type { AuthoringJob, UploadedImage, WaitOptions };
318
+ export type { PublishJob, UploadedImage, WaitOptions };
282
319
  //# sourceMappingURL=createPublisher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createPublisher.d.ts","sourceRoot":"","sources":["../src/createPublisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createPublisher.d.ts","sourceRoot":"","sources":["../src/createPublisher.ts"],"names":[],"mappings":"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"}