@liforma/publisher 0.6.0 → 0.9.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.
Files changed (76) hide show
  1. package/README.md +48 -3
  2. package/dist/createPublisher.d.ts +5 -1
  3. package/dist/createPublisher.d.ts.map +1 -1
  4. package/dist/createPublisher.js +4 -0
  5. package/dist/createPublisher.js.map +1 -1
  6. package/dist/errors.d.ts +6 -0
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +2 -0
  9. package/dist/errors.js.map +1 -1
  10. package/dist/http.d.ts +1 -0
  11. package/dist/http.d.ts.map +1 -1
  12. package/dist/http.js +2 -1
  13. package/dist/http.js.map +1 -1
  14. package/dist/imageSource.d.ts +28 -0
  15. package/dist/imageSource.d.ts.map +1 -0
  16. package/dist/imageSource.js +155 -0
  17. package/dist/imageSource.js.map +1 -0
  18. package/dist/index.d.ts +9 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/publishStart.d.ts +9 -0
  23. package/dist/publishStart.d.ts.map +1 -1
  24. package/dist/publishStart.js +10 -2
  25. package/dist/publishStart.js.map +1 -1
  26. package/dist/resources/avatars.d.ts +12 -0
  27. package/dist/resources/avatars.d.ts.map +1 -1
  28. package/dist/resources/avatars.js +24 -1
  29. package/dist/resources/avatars.js.map +1 -1
  30. package/dist/resources/backdrops.d.ts +6 -0
  31. package/dist/resources/backdrops.d.ts.map +1 -1
  32. package/dist/resources/backdrops.js +13 -0
  33. package/dist/resources/backdrops.js.map +1 -1
  34. package/dist/resources/characters.d.ts +30 -0
  35. package/dist/resources/characters.d.ts.map +1 -1
  36. package/dist/resources/characters.js +43 -2
  37. package/dist/resources/characters.js.map +1 -1
  38. package/dist/resources/clothes.d.ts +19 -1
  39. package/dist/resources/clothes.d.ts.map +1 -1
  40. package/dist/resources/clothes.js +34 -3
  41. package/dist/resources/clothes.js.map +1 -1
  42. package/dist/resources/costumes.d.ts +6 -2
  43. package/dist/resources/costumes.d.ts.map +1 -1
  44. package/dist/resources/costumes.js +30 -2
  45. package/dist/resources/costumes.js.map +1 -1
  46. package/dist/resources/createFrom.d.ts +108 -0
  47. package/dist/resources/createFrom.d.ts.map +1 -0
  48. package/dist/resources/createFrom.js +509 -0
  49. package/dist/resources/createFrom.js.map +1 -0
  50. package/dist/resources/experiences.d.ts +42 -1
  51. package/dist/resources/experiences.d.ts.map +1 -1
  52. package/dist/resources/experiences.js +50 -3
  53. package/dist/resources/experiences.js.map +1 -1
  54. package/dist/resources/hair.d.ts +10 -2
  55. package/dist/resources/hair.d.ts.map +1 -1
  56. package/dist/resources/hair.js +21 -2
  57. package/dist/resources/hair.js.map +1 -1
  58. package/dist/resources/library.d.ts +50 -0
  59. package/dist/resources/library.d.ts.map +1 -0
  60. package/dist/resources/library.js +60 -0
  61. package/dist/resources/library.js.map +1 -0
  62. package/dist/resources/sets.d.ts +20 -0
  63. package/dist/resources/sets.d.ts.map +1 -1
  64. package/dist/resources/sets.js +34 -3
  65. package/dist/resources/sets.js.map +1 -1
  66. package/dist/resources/taxonomy.d.ts +10 -0
  67. package/dist/resources/taxonomy.d.ts.map +1 -0
  68. package/dist/resources/taxonomy.js +19 -0
  69. package/dist/resources/taxonomy.js.map +1 -0
  70. package/dist/schemas.d.ts +996 -19
  71. package/dist/schemas.d.ts.map +1 -1
  72. package/dist/schemas.js +145 -11
  73. package/dist/schemas.js.map +1 -1
  74. package/dist/version.d.ts +1 -1
  75. package/dist/version.js +1 -1
  76. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFrom.d.ts","sourceRoot":"","sources":["../../src/resources/createFrom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,509 @@
1
+ import { LiformaPublisherError } from '../errors.js';
2
+ import { projectPath, publisherRequest } from '../http.js';
3
+ import { resolveImageSource } from '../imageSource.js';
4
+ import { waitForJob } from '../jobs.js';
5
+ import { startJobWithOutcome } from '../publishStart.js';
6
+ import { createBackdropPublishResponseSchema, createCharacterResponseSchema, createClothesPublishResponseSchema, createCostumePublishResponseSchema, createHairPublishResponseSchema, createSetResponseSchema, experienceResponseSchema, getBackdropResponseSchema, getClothesResponseSchema, getCostumeResponseSchema, getHairResponseSchema } from '../schemas.js';
7
+ import { requireInput, requiredString } from '../validate.js';
8
+ import { wardrobePublishBody } from './clothes.js';
9
+ /** Prefer explicit `{ id }` reuse when both id and create fields are present. */
10
+ function reuseId(value) {
11
+ if (!('id' in value))
12
+ return null;
13
+ const id = value.id;
14
+ if (typeof id !== 'string' || !id.trim())
15
+ return null;
16
+ return id.trim();
17
+ }
18
+ function withContext(error, step) {
19
+ if (error instanceof LiformaPublisherError) {
20
+ if (error.context?.operation === 'experiences.createFrom') {
21
+ return error;
22
+ }
23
+ return new LiformaPublisherError(error.message, {
24
+ code: error.code,
25
+ status: error.status,
26
+ requestId: error.requestId,
27
+ details: error.details,
28
+ retryable: error.retryable,
29
+ job: error.job,
30
+ cause: error,
31
+ context: {
32
+ operation: 'experiences.createFrom',
33
+ step
34
+ }
35
+ });
36
+ }
37
+ return new LiformaPublisherError(error instanceof Error ? error.message : 'experiences.createFrom failed.', {
38
+ code: 'UNKNOWN',
39
+ cause: error,
40
+ context: { operation: 'experiences.createFrom', step }
41
+ });
42
+ }
43
+ async function runStep(step, fn) {
44
+ try {
45
+ return await fn();
46
+ }
47
+ catch (error) {
48
+ throw withContext(error, step);
49
+ }
50
+ }
51
+ async function resolveUpload(http, image, options, purpose = 'colour') {
52
+ return runStep('resolveImage', () => resolveImageSource(http, image, { signal: options.signal, purpose }));
53
+ }
54
+ async function waitPlate(http, jobId, stage, options) {
55
+ return waitForJob(http, jobId, {
56
+ signal: options.signal,
57
+ timeoutMs: options.timeoutMs,
58
+ onProgress: options.onProgress
59
+ ? (job) => {
60
+ options.onProgress?.({ stage, job });
61
+ }
62
+ : undefined
63
+ });
64
+ }
65
+ async function getBackdrop(http, id, options) {
66
+ const { data } = await publisherRequest(http, projectPath(http, `/backdrops/${encodeURIComponent(id)}`), getBackdropResponseSchema, { method: 'GET', signal: options.signal, retry: true });
67
+ return data.backdrop;
68
+ }
69
+ async function getSet(http, id, options) {
70
+ const { data } = await publisherRequest(http, projectPath(http, `/sets/${encodeURIComponent(id)}`), createSetResponseSchema, { method: 'GET', signal: options.signal, retry: true });
71
+ return data.set;
72
+ }
73
+ async function getCharacter(http, id, options) {
74
+ const { data } = await publisherRequest(http, projectPath(http, `/characters/${encodeURIComponent(id)}`), createCharacterResponseSchema, { method: 'GET', signal: options.signal, retry: true });
75
+ return data.character;
76
+ }
77
+ async function resolveBackdrop(http, input, options, defaultName) {
78
+ const id = reuseId(input);
79
+ if (id) {
80
+ return runStep('backdrop', async () => ({
81
+ backdrop: await getBackdrop(http, id, options),
82
+ created: false
83
+ }));
84
+ }
85
+ if (!('image' in input)) {
86
+ throw new LiformaPublisherError('backdrop must be { id } or include image.', { code: 'INVALID_BODY' });
87
+ }
88
+ const create = input;
89
+ return runStep('backdrop', async () => {
90
+ const image = await resolveUpload(http, create.image, options, 'colour');
91
+ const depth = create.depth
92
+ ? {
93
+ image: await resolveUpload(http, create.depth.image, options, 'depth'),
94
+ ...(create.depth.depthMapType !== undefined
95
+ ? { depthMapType: create.depth.depthMapType }
96
+ : {}),
97
+ ...(create.depth.metersPerDepth !== undefined
98
+ ? { metersPerDepth: create.depth.metersPerDepth }
99
+ : {})
100
+ }
101
+ : undefined;
102
+ const metersPerDepth = depth?.metersPerDepth;
103
+ if (metersPerDepth !== undefined && (!Number.isFinite(metersPerDepth) || metersPerDepth <= 0)) {
104
+ throw new LiformaPublisherError('depth.metersPerDepth must be a positive number.', {
105
+ code: 'INVALID_BODY'
106
+ });
107
+ }
108
+ const started = await startJobWithOutcome(http, '/backdrops', createBackdropPublishResponseSchema, {
109
+ name: create.name?.trim() || defaultName,
110
+ uploadId: typeof image === 'string' ? image : image.uploadId,
111
+ ...(create.externalId !== undefined ? { externalId: create.externalId } : {}),
112
+ ...(create.forceNew !== undefined ? { forceNew: create.forceNew } : {}),
113
+ ...(depth
114
+ ? {
115
+ depth: {
116
+ uploadId: typeof depth.image === 'string' ? depth.image : depth.image.uploadId,
117
+ ...(depth.depthMapType !== undefined
118
+ ? { depthMapType: depth.depthMapType }
119
+ : {}),
120
+ ...(metersPerDepth !== undefined ? { metersPerDepth } : {})
121
+ }
122
+ }
123
+ : {})
124
+ }, options.signal);
125
+ const completed = await waitPlate(http, started.job.id, 'backdrop', options);
126
+ return {
127
+ backdrop: await getBackdrop(http, completed.targetId, options),
128
+ created: started.created
129
+ };
130
+ });
131
+ }
132
+ async function resolveWardrobePlate(http, args) {
133
+ const { plate, stage, options } = args;
134
+ const id = reuseId(plate);
135
+ if (id) {
136
+ return runStep(stage, async () => {
137
+ const { data } = await publisherRequest(http, projectPath(http, args.getPath(id)), args.getSchema, { method: 'GET', signal: options.signal, retry: true });
138
+ return { resource: args.pick(data), created: false };
139
+ });
140
+ }
141
+ if (!('image' in plate)) {
142
+ throw new LiformaPublisherError(`${stage} must be { id } or include image.`, {
143
+ code: 'INVALID_BODY'
144
+ });
145
+ }
146
+ const create = plate;
147
+ return runStep(stage, async () => {
148
+ const image = await resolveUpload(http, create.image, options, 'colour');
149
+ const started = await startJobWithOutcome(http, args.path, args.startSchema, wardrobePublishBody({
150
+ avatarId: args.avatarId,
151
+ image,
152
+ name: create.name,
153
+ backgroundMode: create.backgroundMode ?? 'remove',
154
+ externalId: create.externalId,
155
+ forceNew: create.forceNew,
156
+ description: create.description,
157
+ country: create.country,
158
+ taxonomy: create.taxonomy
159
+ }), options.signal);
160
+ const completed = await waitPlate(http, started.job.id, stage, options);
161
+ const { data } = await publisherRequest(http, projectPath(http, args.getPath(completed.targetId)), args.getSchema, { method: 'GET', signal: options.signal, retry: true });
162
+ return { resource: args.pick(data), created: started.created };
163
+ });
164
+ }
165
+ function assertAppearanceExclusive(character) {
166
+ const hasCostume = character.costume !== undefined;
167
+ const hasClothes = character.clothes !== undefined;
168
+ const hasHair = character.hair !== undefined;
169
+ if (hasCostume && (hasClothes || hasHair)) {
170
+ throw new LiformaPublisherError('Provide costume or clothes+hair, not both.', {
171
+ code: 'INVALID_BODY'
172
+ });
173
+ }
174
+ if (hasClothes !== hasHair) {
175
+ throw new LiformaPublisherError('clothes and hair must both be provided, or both omitted.', { code: 'INVALID_BODY' });
176
+ }
177
+ }
178
+ async function resolveAppearance(http, character, options) {
179
+ assertAppearanceExclusive(character);
180
+ if (character.costume) {
181
+ const costume = await resolveWardrobePlate(http, {
182
+ plate: character.costume,
183
+ stage: 'costume',
184
+ avatarId: character.avatarId,
185
+ path: '/costumes',
186
+ startSchema: createCostumePublishResponseSchema,
187
+ getPath: (id) => `/costumes/${encodeURIComponent(id)}`,
188
+ getSchema: getCostumeResponseSchema,
189
+ pick: (data) => data.costume,
190
+ options
191
+ });
192
+ return {
193
+ costume: costume.resource,
194
+ costumeId: costume.resource.id,
195
+ created: { costume: costume.created }
196
+ };
197
+ }
198
+ if (character.clothes && character.hair) {
199
+ const [clothes, hair] = await Promise.all([
200
+ resolveWardrobePlate(http, {
201
+ plate: character.clothes,
202
+ stage: 'clothes',
203
+ avatarId: character.avatarId,
204
+ path: '/clothes',
205
+ startSchema: createClothesPublishResponseSchema,
206
+ getPath: (id) => `/clothes/${encodeURIComponent(id)}`,
207
+ getSchema: getClothesResponseSchema,
208
+ pick: (data) => data.clothes,
209
+ options
210
+ }),
211
+ resolveWardrobePlate(http, {
212
+ plate: character.hair,
213
+ stage: 'hair',
214
+ avatarId: character.avatarId,
215
+ path: '/hair',
216
+ startSchema: createHairPublishResponseSchema,
217
+ getPath: (id) => `/hair/${encodeURIComponent(id)}`,
218
+ getSchema: getHairResponseSchema,
219
+ pick: (data) => data.hair,
220
+ options
221
+ })
222
+ ]);
223
+ return {
224
+ clothes: clothes.resource,
225
+ hair: hair.resource,
226
+ clothesId: clothes.resource.id,
227
+ hairId: hair.resource.id,
228
+ created: { clothes: clothes.created, hair: hair.created }
229
+ };
230
+ }
231
+ return { created: {} };
232
+ }
233
+ function characterCreateBody(body, appearance) {
234
+ return {
235
+ avatarId: requiredString(body.avatarId, 'character.avatarId'),
236
+ name: requiredString(body.name, 'character.name'),
237
+ voice: requiredString(body.voice, 'character.voice'),
238
+ sttLang: requiredString(body.sttLang, 'character.sttLang'),
239
+ ...(appearance?.costumeId !== undefined ? { costumeId: appearance.costumeId } : {}),
240
+ ...(appearance?.clothesId !== undefined ? { clothesId: appearance.clothesId } : {}),
241
+ ...(appearance?.hairId !== undefined ? { hairId: appearance.hairId } : {}),
242
+ ...(body.personality !== undefined ? { personality: body.personality } : {}),
243
+ ...(body.generalInstructions !== undefined
244
+ ? { generalInstructions: body.generalInstructions }
245
+ : {}),
246
+ ...(body.gender !== undefined ? { gender: body.gender } : {}),
247
+ ...(body.age !== undefined ? { age: body.age } : {}),
248
+ ...(body.ethnicity !== undefined ? { ethnicity: body.ethnicity } : {}),
249
+ ...(body.species !== undefined ? { species: body.species } : {}),
250
+ ...(body.style !== undefined ? { style: body.style } : {}),
251
+ ...(body.country !== undefined ? { country: body.country } : {}),
252
+ ...(body.taxonomy !== undefined ? { taxonomy: body.taxonomy } : {}),
253
+ ...(body.externalId !== undefined ? { externalId: body.externalId } : {})
254
+ };
255
+ }
256
+ function parseCharacterInput(input) {
257
+ const id = reuseId(input);
258
+ if (id) {
259
+ return { reuseId: id, create: null };
260
+ }
261
+ if (!('avatarId' in input)) {
262
+ throw new LiformaPublisherError('character must be { id } or include avatarId, name, voice, and sttLang.', { code: 'INVALID_BODY' });
263
+ }
264
+ requiredString(input.avatarId, 'character.avatarId');
265
+ requiredString(input.name, 'character.name');
266
+ requiredString(input.voice, 'character.voice');
267
+ requiredString(input.sttLang, 'character.sttLang');
268
+ assertAppearanceExclusive(input);
269
+ return { reuseId: null, create: input };
270
+ }
271
+ async function loadAppearanceFromCharacter(http, character, options) {
272
+ const created = {};
273
+ const out = { created };
274
+ if (character.costumeId) {
275
+ const { data } = await publisherRequest(http, projectPath(http, `/costumes/${encodeURIComponent(character.costumeId)}`), getCostumeResponseSchema, { method: 'GET', signal: options.signal, retry: true });
276
+ out.costume = data.costume;
277
+ out.costumeId = data.costume.id;
278
+ created.costume = false;
279
+ }
280
+ if (character.clothesId) {
281
+ const { data } = await publisherRequest(http, projectPath(http, `/clothes/${encodeURIComponent(character.clothesId)}`), getClothesResponseSchema, { method: 'GET', signal: options.signal, retry: true });
282
+ out.clothes = data.clothes;
283
+ out.clothesId = data.clothes.id;
284
+ created.clothes = false;
285
+ }
286
+ if (character.hairId) {
287
+ const { data } = await publisherRequest(http, projectPath(http, `/hair/${encodeURIComponent(character.hairId)}`), getHairResponseSchema, { method: 'GET', signal: options.signal, retry: true });
288
+ out.hair = data.hair;
289
+ out.hairId = data.hair.id;
290
+ created.hair = false;
291
+ }
292
+ return out;
293
+ }
294
+ /**
295
+ * Resolve character with externalId-safe wardrobe:
296
+ * - reuse `{ id }` → GET, no wardrobe create
297
+ * - create with externalId → probe create without appearance; on reuse skip wardrobe;
298
+ * on new create, build wardrobe then PATCH appearance
299
+ * - create without externalId → wardrobe first, then create with appearance
300
+ */
301
+ async function resolveCharacter(http, parsed, options, appearanceFactory) {
302
+ return runStep('character', async () => {
303
+ if (parsed.reuseId) {
304
+ const character = await getCharacter(http, parsed.reuseId, options);
305
+ const appearance = await loadAppearanceFromCharacter(http, character, options);
306
+ return { character, created: false, appearance };
307
+ }
308
+ const body = parsed.create;
309
+ const wantsAppearance = body.costume !== undefined || body.clothes !== undefined || body.hair !== undefined;
310
+ if (body.externalId) {
311
+ const { data, status } = await publisherRequest(http, projectPath(http, '/characters'), createCharacterResponseSchema, {
312
+ method: 'POST',
313
+ body: characterCreateBody(body),
314
+ signal: options.signal
315
+ });
316
+ const created = status === 201;
317
+ if (!created) {
318
+ const appearance = await loadAppearanceFromCharacter(http, data.character, options);
319
+ return { character: data.character, created: false, appearance };
320
+ }
321
+ if (!wantsAppearance) {
322
+ return { character: data.character, created: true, appearance: { created: {} } };
323
+ }
324
+ const appearance = await appearanceFactory();
325
+ const { data: patched } = await publisherRequest(http, projectPath(http, `/characters/${encodeURIComponent(data.character.id)}`), createCharacterResponseSchema, {
326
+ method: 'PATCH',
327
+ body: {
328
+ ...(appearance.costumeId !== undefined
329
+ ? { costumeId: appearance.costumeId }
330
+ : {}),
331
+ ...(appearance.clothesId !== undefined
332
+ ? { clothesId: appearance.clothesId }
333
+ : {}),
334
+ ...(appearance.hairId !== undefined ? { hairId: appearance.hairId } : {})
335
+ },
336
+ signal: options.signal,
337
+ retry: true
338
+ });
339
+ return { character: patched.character, created: true, appearance };
340
+ }
341
+ const appearance = wantsAppearance
342
+ ? await appearanceFactory()
343
+ : { created: {} };
344
+ const { data, status } = await publisherRequest(http, projectPath(http, '/characters'), createCharacterResponseSchema, {
345
+ method: 'POST',
346
+ body: characterCreateBody(body, appearance),
347
+ signal: options.signal
348
+ });
349
+ return {
350
+ character: data.character,
351
+ created: status === 201,
352
+ appearance
353
+ };
354
+ });
355
+ }
356
+ export async function createExperienceFrom(http, input, options = {}) {
357
+ requireInput(input);
358
+ const title = requiredString(input.title, 'title');
359
+ if (!input.backdrop || typeof input.backdrop !== 'object') {
360
+ throw new LiformaPublisherError('backdrop is required.', { code: 'INVALID_BODY' });
361
+ }
362
+ if (!input.character || typeof input.character !== 'object') {
363
+ throw new LiformaPublisherError('character is required.', { code: 'INVALID_BODY' });
364
+ }
365
+ const defaultName = title;
366
+ let parsedCharacter;
367
+ try {
368
+ parsedCharacter = parseCharacterInput(input.character);
369
+ }
370
+ catch (error) {
371
+ throw withContext(error, 'character');
372
+ }
373
+ const appearanceFactory = () => {
374
+ if (!parsedCharacter.create) {
375
+ return Promise.resolve({ created: {} });
376
+ }
377
+ return resolveAppearance(http, parsedCharacter.create, options);
378
+ };
379
+ // Backdrop can run in parallel with character probe / wardrobe when safe.
380
+ // Character with externalId probes first (inside resolveCharacter) before wardrobe.
381
+ const backdropPromise = resolveBackdrop(http, input.backdrop, options, defaultName);
382
+ const characterNeedsWardrobeFirst = parsedCharacter.create &&
383
+ !parsedCharacter.create.externalId &&
384
+ (parsedCharacter.create.costume !== undefined ||
385
+ parsedCharacter.create.clothes !== undefined ||
386
+ parsedCharacter.create.hair !== undefined);
387
+ let backdropOutcome;
388
+ let characterOutcome;
389
+ if (characterNeedsWardrobeFirst) {
390
+ const [backdrop, appearance] = await Promise.all([
391
+ backdropPromise,
392
+ appearanceFactory()
393
+ ]);
394
+ backdropOutcome = backdrop;
395
+ characterOutcome = await resolveCharacter(http, parsedCharacter, options, async () => appearance);
396
+ }
397
+ else {
398
+ const [backdrop, character] = await Promise.all([
399
+ backdropPromise,
400
+ resolveCharacter(http, parsedCharacter, options, appearanceFactory)
401
+ ]);
402
+ backdropOutcome = backdrop;
403
+ characterOutcome = character;
404
+ }
405
+ const setOutcome = await runStep('set', async () => {
406
+ const { data, status } = await publisherRequest(http, projectPath(http, '/sets'), createSetResponseSchema, {
407
+ method: 'POST',
408
+ body: {
409
+ backdropId: backdropOutcome.backdrop.id,
410
+ ...(input.set?.name !== undefined
411
+ ? { name: input.set.name }
412
+ : { name: defaultName }),
413
+ ...(input.set?.externalId !== undefined
414
+ ? { externalId: input.set.externalId }
415
+ : {}),
416
+ ...(input.set?.taxonomy !== undefined ? { taxonomy: input.set.taxonomy } : {}),
417
+ ...(input.set?.sides !== undefined ? { sides: input.set.sides } : {}),
418
+ ...(input.set?.country !== undefined ? { country: input.set.country } : {}),
419
+ ...(input.set?.city !== undefined ? { city: input.set.city } : {})
420
+ },
421
+ signal: options.signal
422
+ });
423
+ const created = status === 201;
424
+ if (!created) {
425
+ // Idempotent set reuse: return the set's real backdrop for a coherent snapshot.
426
+ const set = data.set;
427
+ const backdrop = await getBackdrop(http, set.backdropId, options);
428
+ backdropOutcome = { backdrop, created: false };
429
+ return { set, created: false };
430
+ }
431
+ return { set: data.set, created: true };
432
+ });
433
+ const experienceOutcome = await runStep('experience', async () => {
434
+ const { data, status } = await publisherRequest(http, projectPath(http, '/experiences'), experienceResponseSchema, {
435
+ method: 'POST',
436
+ body: {
437
+ title,
438
+ characterId: characterOutcome.character.id,
439
+ setId: setOutcome.set.id,
440
+ ...(input.slug !== undefined ? { slug: input.slug } : {}),
441
+ ...(input.attributes !== undefined ? { attributes: input.attributes } : {}),
442
+ ...(input.startingMessage !== undefined
443
+ ? { startingMessage: input.startingMessage }
444
+ : {}),
445
+ ...(input.systemInstructions !== undefined
446
+ ? { systemInstructions: input.systemInstructions }
447
+ : {}),
448
+ ...(input.introduction !== undefined ? { introduction: input.introduction } : {}),
449
+ ...(input.interaction !== undefined ? { interaction: input.interaction } : {}),
450
+ ...(input.publish !== undefined ? { publish: input.publish } : {}),
451
+ ...(input.externalId !== undefined ? { externalId: input.externalId } : {}),
452
+ ...(input.taxonomy !== undefined ? { taxonomy: input.taxonomy } : {}),
453
+ ...(input.playerSide !== undefined ? { playerSide: input.playerSide } : {}),
454
+ ...(input.country !== undefined ? { country: input.country } : {}),
455
+ ...(input.city !== undefined ? { city: input.city } : {})
456
+ },
457
+ signal: options.signal
458
+ });
459
+ return { experience: data.experience, created: status === 201 };
460
+ });
461
+ // Experience externalId reuse: rebuild composition from the returned experience
462
+ // so the snapshot matches what is actually live (not orphans from this call).
463
+ if (!experienceOutcome.created) {
464
+ const experience = experienceOutcome.experience;
465
+ const characterId = experience.characterId;
466
+ const setId = experience.setId;
467
+ if (!characterId || !setId) {
468
+ throw new LiformaPublisherError('Reused experience is missing characterId or setId.', { code: 'INVALID_RESPONSE' });
469
+ }
470
+ const character = await getCharacter(http, characterId, options);
471
+ const set = await getSet(http, setId, options);
472
+ const backdrop = await getBackdrop(http, set.backdropId, options);
473
+ const appearance = await loadAppearanceFromCharacter(http, character, options);
474
+ return {
475
+ experience,
476
+ character,
477
+ set,
478
+ backdrop,
479
+ ...(appearance.costume ? { costume: appearance.costume } : {}),
480
+ ...(appearance.clothes ? { clothes: appearance.clothes } : {}),
481
+ ...(appearance.hair ? { hair: appearance.hair } : {}),
482
+ created: {
483
+ experience: false,
484
+ character: false,
485
+ set: false,
486
+ backdrop: false,
487
+ ...appearance.created
488
+ }
489
+ };
490
+ }
491
+ const appearance = characterOutcome.appearance;
492
+ return {
493
+ experience: experienceOutcome.experience,
494
+ character: characterOutcome.character,
495
+ set: setOutcome.set,
496
+ backdrop: backdropOutcome.backdrop,
497
+ ...(appearance.costume ? { costume: appearance.costume } : {}),
498
+ ...(appearance.clothes ? { clothes: appearance.clothes } : {}),
499
+ ...(appearance.hair ? { hair: appearance.hair } : {}),
500
+ created: {
501
+ experience: experienceOutcome.created,
502
+ character: characterOutcome.created,
503
+ set: setOutcome.created,
504
+ backdrop: backdropOutcome.created,
505
+ ...appearance.created
506
+ }
507
+ };
508
+ }
509
+ //# sourceMappingURL=createFrom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFrom.js","sourceRoot":"","sources":["../../src/resources/createFrom.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type PublisherHttp } from '../http.js';
2
2
  import type { RequestOptions } from '../options.js';
3
- import { type DeletedResource, type ExperienceResource } from '../schemas.js';
3
+ import { type DeletedResource, type ExperienceInteractionInput, type ExperienceResource } from '../schemas.js';
4
+ import { type CreateFromExperienceInput, type CreateFromOptions, type CreateFromResult } from './createFrom.js';
4
5
  export type CreateExperienceInput = {
5
6
  readonly title: string;
6
7
  readonly characterId: string;
@@ -10,8 +11,17 @@ export type CreateExperienceInput = {
10
11
  readonly startingMessage?: string;
11
12
  readonly systemInstructions?: string;
12
13
  readonly introduction?: string;
14
+ readonly interaction?: ExperienceInteractionInput;
15
+ readonly look?: {
16
+ readonly type: string;
17
+ readonly [key: string]: unknown;
18
+ };
13
19
  readonly publish?: boolean;
14
20
  readonly externalId?: string;
21
+ readonly taxonomy?: Record<string, unknown>;
22
+ readonly playerSide?: 'service-provider' | 'customer' | null;
23
+ readonly country?: string | null;
24
+ readonly city?: string | null;
15
25
  };
16
26
  export type UpdateExperienceInput = {
17
27
  readonly title?: string;
@@ -22,15 +32,46 @@ export type UpdateExperienceInput = {
22
32
  readonly startingMessage?: string;
23
33
  readonly systemInstructions?: string;
24
34
  readonly introduction?: string;
35
+ readonly interaction?: ExperienceInteractionInput;
36
+ readonly look?: {
37
+ readonly type: string;
38
+ readonly [key: string]: unknown;
39
+ } | null;
40
+ readonly taxonomy?: Record<string, unknown>;
41
+ readonly playerSide?: 'service-provider' | 'customer' | null;
42
+ readonly country?: string | null;
43
+ readonly city?: string | null;
25
44
  };
45
+ export type ListExperiencesQuery = {
46
+ readonly universe?: string;
47
+ readonly era?: string;
48
+ readonly domains?: string | readonly string[];
49
+ readonly useCases?: string | readonly string[];
50
+ readonly purpose?: string;
51
+ readonly interactionMode?: string;
52
+ readonly playerSide?: string;
53
+ readonly country?: string;
54
+ readonly city?: string;
55
+ };
56
+ export type { CreateFromBackdropInput, CreateFromCharacterInput, CreateFromExperienceInput, CreateFromOptions, CreateFromProgress, CreateFromResult, CreateFromStage, PlateOrId } from './createFrom.js';
26
57
  export type ExperiencesClient = {
58
+ list(query?: ListExperiencesQuery, options?: RequestOptions): Promise<ExperienceResource[]>;
27
59
  create(input: CreateExperienceInput, options?: RequestOptions): Promise<ExperienceResource>;
60
+ createFrom(input: CreateFromExperienceInput, options?: CreateFromOptions): Promise<CreateFromResult>;
28
61
  get(id: string, options?: RequestOptions): Promise<ExperienceResource>;
29
62
  update(id: string, patch: UpdateExperienceInput, options?: RequestOptions): Promise<ExperienceResource>;
30
63
  archive(id: string, options?: RequestOptions): Promise<ExperienceResource>;
31
64
  restore(id: string, options?: RequestOptions): Promise<ExperienceResource>;
32
65
  delete(id: string, options?: RequestOptions): Promise<DeletedResource>;
33
66
  publish(id: string, options?: RequestOptions): Promise<ExperienceResource>;
67
+ move(input: {
68
+ readonly sourceProjectId: string;
69
+ readonly experienceIds: readonly string[];
70
+ readonly dryRun?: boolean;
71
+ readonly copyMissingOrigins?: boolean;
72
+ }, options: RequestOptions & {
73
+ readonly sourceApiKey: string;
74
+ }): Promise<import('./library.js').LibraryMoveResult>;
34
75
  };
35
76
  export declare function createExperiencesClient(http: PublisherHttp): ExperiencesClient;
36
77
  //# sourceMappingURL=experiences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"experiences.d.ts","sourceRoot":"","sources":["../../src/resources/experiences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAGN,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,qBAAqB,GAAG;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,MAAM,CAAC,KAAK,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5F,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvE,MAAM,CACL,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,qBAAqB,EAC5B,OAAO,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3E,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC3E,CAAC;AAoBF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,GAAG,iBAAiB,CAoF9E"}
1
+ {"version":3,"file":"experiences.d.ts","sourceRoot":"","sources":["../../src/resources/experiences.ts"],"names":[],"mappings":"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"}