@liforma/publisher 0.4.0 → 0.5.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 (63) hide show
  1. package/README.md +23 -6
  2. package/dist/createPublisher.d.ts +20 -350
  3. package/dist/createPublisher.d.ts.map +1 -1
  4. package/dist/createPublisher.js +17 -316
  5. package/dist/createPublisher.js.map +1 -1
  6. package/dist/index.d.ts +10 -3
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/jobs.d.ts +11 -13
  10. package/dist/jobs.d.ts.map +1 -1
  11. package/dist/jobs.js +10 -23
  12. package/dist/jobs.js.map +1 -1
  13. package/dist/options.d.ts +11 -0
  14. package/dist/options.d.ts.map +1 -0
  15. package/dist/options.js +2 -0
  16. package/dist/options.js.map +1 -0
  17. package/dist/publishStart.d.ts +7 -0
  18. package/dist/publishStart.d.ts.map +1 -0
  19. package/dist/publishStart.js +10 -0
  20. package/dist/publishStart.js.map +1 -0
  21. package/dist/resources/avatars.d.ts +8 -0
  22. package/dist/resources/avatars.d.ts.map +1 -0
  23. package/dist/resources/avatars.js +11 -0
  24. package/dist/resources/avatars.js.map +1 -0
  25. package/dist/resources/backdrops.d.ts +25 -0
  26. package/dist/resources/backdrops.d.ts.map +1 -0
  27. package/dist/resources/backdrops.js +62 -0
  28. package/dist/resources/backdrops.js.map +1 -0
  29. package/dist/resources/characters.d.ts +40 -0
  30. package/dist/resources/characters.d.ts.map +1 -0
  31. package/dist/resources/characters.js +71 -0
  32. package/dist/resources/characters.js.map +1 -0
  33. package/dist/resources/clothes.d.ts +28 -0
  34. package/dist/resources/clothes.d.ts.map +1 -0
  35. package/dist/resources/clothes.js +55 -0
  36. package/dist/resources/clothes.js.map +1 -0
  37. package/dist/resources/experiences.d.ts +36 -0
  38. package/dist/resources/experiences.d.ts.map +1 -0
  39. package/dist/resources/experiences.js +71 -0
  40. package/dist/resources/experiences.js.map +1 -0
  41. package/dist/resources/hair.d.ts +19 -0
  42. package/dist/resources/hair.d.ts.map +1 -0
  43. package/dist/resources/hair.js +43 -0
  44. package/dist/resources/hair.js.map +1 -0
  45. package/dist/resources/sets.d.ts +22 -0
  46. package/dist/resources/sets.d.ts.map +1 -0
  47. package/dist/resources/sets.js +49 -0
  48. package/dist/resources/sets.js.map +1 -0
  49. package/dist/schemas.d.ts +700 -20
  50. package/dist/schemas.d.ts.map +1 -1
  51. package/dist/schemas.js +62 -4
  52. package/dist/schemas.js.map +1 -1
  53. package/dist/spatial.d.ts +3 -0
  54. package/dist/spatial.d.ts.map +1 -0
  55. package/dist/spatial.js +13 -0
  56. package/dist/spatial.js.map +1 -0
  57. package/dist/validate.d.ts +3 -0
  58. package/dist/validate.d.ts.map +1 -0
  59. package/dist/validate.js +13 -0
  60. package/dist/validate.js.map +1 -0
  61. package/dist/version.d.ts +1 -1
  62. package/dist/version.js +1 -1
  63. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ import { projectPath, publisherRequest } from './http.js';
2
+ export async function startJobFromEnvelope(http, path, schema, body, signal) {
3
+ const { data } = await publisherRequest(http, projectPath(http, path), schema, {
4
+ method: 'POST',
5
+ body,
6
+ signal
7
+ });
8
+ return data.job;
9
+ }
10
+ //# sourceMappingURL=publishStart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishStart.js","sourceRoot":"","sources":["../src/publishStart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAsB,MAAM,WAAW,CAAC;AAI9E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,IAAmB,EACnB,IAAY,EACZ,MAAsC,EACtC,IAA6B,EAC7B,MAAoB;IAEpB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE;QAC9E,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,MAAM;KACN,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,GAAG,CAAC;AACjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type PublisherHttp } from '../http.js';
2
+ import type { RequestOptions } from '../options.js';
3
+ import { type Avatar } from '../schemas.js';
4
+ export type AvatarsClient = {
5
+ list(options?: RequestOptions): Promise<Avatar[]>;
6
+ };
7
+ export declare function createAvatarsClient(http: PublisherHttp): AvatarsClient;
8
+ //# sourceMappingURL=avatars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatars.d.ts","sourceRoot":"","sources":["../../src/resources/avatars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAYtE"}
@@ -0,0 +1,11 @@
1
+ import { projectPath, publisherRequest } from '../http.js';
2
+ import { listAvatarsResponseSchema } from '../schemas.js';
3
+ export function createAvatarsClient(http) {
4
+ return {
5
+ list: async (options) => {
6
+ const { data } = await publisherRequest(http, projectPath(http, '/avatars'), listAvatarsResponseSchema, { method: 'GET', signal: options?.signal, retry: true });
7
+ return data.avatars;
8
+ }
9
+ };
10
+ }
11
+ //# sourceMappingURL=avatars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatars.js","sourceRoot":"","sources":["../../src/resources/avatars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAsB,MAAM,YAAY,CAAC;AAE/E,OAAO,EAAE,yBAAyB,EAAe,MAAM,eAAe,CAAC;AAMvE,MAAM,UAAU,mBAAmB,CAAC,IAAmB;IACtD,OAAO;QACN,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CACtC,IAAI,EACJ,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,EAC7B,yBAAyB,EACzB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CACvD,CAAC;YACF,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type PublisherHttp } from '../http.js';
2
+ import type { RequestOptions, WaitOptions } from '../options.js';
3
+ import { type BackdropResource, type DeletedResource, type PublishJob } from '../schemas.js';
4
+ import { type UploadedImage } from '../upload.js';
5
+ export type CreateBackdropInput = {
6
+ readonly name: string;
7
+ readonly image: UploadedImage | string;
8
+ readonly externalId?: string;
9
+ readonly forceNew?: boolean;
10
+ readonly depth?: {
11
+ readonly image: UploadedImage | string;
12
+ readonly depthMapType?: 'disparity';
13
+ readonly metersPerDepth?: number;
14
+ };
15
+ };
16
+ export type BackdropsClient = {
17
+ startCreate(input: CreateBackdropInput, options?: RequestOptions): Promise<PublishJob>;
18
+ create(input: CreateBackdropInput, options?: WaitOptions): Promise<BackdropResource>;
19
+ get(id: string, options?: RequestOptions): Promise<BackdropResource>;
20
+ archive(id: string, options?: RequestOptions): Promise<BackdropResource>;
21
+ restore(id: string, options?: RequestOptions): Promise<BackdropResource>;
22
+ delete(id: string, options?: RequestOptions): Promise<DeletedResource>;
23
+ };
24
+ export declare function createBackdropsClient(http: PublisherHttp): BackdropsClient;
25
+ //# sourceMappingURL=backdrops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backdrops.d.ts","sourceRoot":"","sources":["../../src/resources/backdrops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/E,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAIN,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGrE,MAAM,MAAM,mBAAmB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC;QACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;QACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,WAAW,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvF,MAAM,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrF,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACvE,CAAC;AA6BF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,CAwD1E"}
@@ -0,0 +1,62 @@
1
+ import { projectPath, publisherRequest } from '../http.js';
2
+ import { LiformaPublisherError } from '../errors.js';
3
+ import { waitForJob } from '../jobs.js';
4
+ import { startJobFromEnvelope } from '../publishStart.js';
5
+ import { createBackdropPublishResponseSchema, deletedResourceResponseSchema, getBackdropResponseSchema } from '../schemas.js';
6
+ import { uploadIdFromImage } from '../upload.js';
7
+ import { requireInput, requiredString } from '../validate.js';
8
+ function createBody(input) {
9
+ requireInput(input);
10
+ const metersPerDepth = input.depth?.metersPerDepth;
11
+ if (metersPerDepth !== undefined && (!Number.isFinite(metersPerDepth) || metersPerDepth <= 0)) {
12
+ throw new LiformaPublisherError('depth.metersPerDepth must be a positive number.', {
13
+ code: 'INVALID_BODY'
14
+ });
15
+ }
16
+ return {
17
+ name: requiredString(input.name, 'name'),
18
+ uploadId: uploadIdFromImage(input.image),
19
+ ...(input.externalId !== undefined ? { externalId: input.externalId } : {}),
20
+ ...(input.forceNew !== undefined ? { forceNew: input.forceNew } : {}),
21
+ ...(input.depth
22
+ ? {
23
+ depth: {
24
+ uploadId: uploadIdFromImage(input.depth.image),
25
+ ...(input.depth.depthMapType !== undefined
26
+ ? { depthMapType: input.depth.depthMapType }
27
+ : {}),
28
+ ...(metersPerDepth !== undefined ? { metersPerDepth } : {})
29
+ }
30
+ }
31
+ : {})
32
+ };
33
+ }
34
+ export function createBackdropsClient(http) {
35
+ const get = async (id, options) => {
36
+ const { data } = await publisherRequest(http, projectPath(http, `/backdrops/${encodeURIComponent(id)}`), getBackdropResponseSchema, { method: 'GET', signal: options?.signal, retry: true });
37
+ return data.backdrop;
38
+ };
39
+ const startCreate = async (input, options) => startJobFromEnvelope(http, '/backdrops', createBackdropPublishResponseSchema, createBody(input), options?.signal);
40
+ return {
41
+ startCreate,
42
+ create: async (input, options = {}) => {
43
+ const started = await startCreate(input, options);
44
+ const completed = await waitForJob(http, started.id, options);
45
+ return get(completed.targetId, options);
46
+ },
47
+ get,
48
+ archive: async (id, options) => {
49
+ const { data } = await publisherRequest(http, projectPath(http, `/backdrops/${encodeURIComponent(id)}/archive`), getBackdropResponseSchema, { method: 'POST', signal: options?.signal });
50
+ return data.backdrop;
51
+ },
52
+ restore: async (id, options) => {
53
+ const { data } = await publisherRequest(http, projectPath(http, `/backdrops/${encodeURIComponent(id)}/restore`), getBackdropResponseSchema, { method: 'POST', signal: options?.signal });
54
+ return data.backdrop;
55
+ },
56
+ delete: async (id, options) => {
57
+ const { data } = await publisherRequest(http, projectPath(http, `/backdrops/${encodeURIComponent(id)}`), deletedResourceResponseSchema, { method: 'DELETE', signal: options?.signal });
58
+ return data;
59
+ }
60
+ };
61
+ }
62
+ //# sourceMappingURL=backdrops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backdrops.js","sourceRoot":"","sources":["../../src/resources/backdrops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { type PublisherHttp } from '../http.js';
2
+ import type { RequestOptions } from '../options.js';
3
+ import { type CharacterResource, type DeletedResource, type PersonaEthnicity, type PersonaGender } from '../schemas.js';
4
+ export type CreateCharacterInput = {
5
+ readonly avatarId: string;
6
+ readonly name: string;
7
+ readonly voice: string;
8
+ readonly sttLang: string;
9
+ readonly clothesId?: string;
10
+ readonly hairId?: string;
11
+ readonly personality?: string;
12
+ readonly generalInstructions?: string;
13
+ readonly gender?: PersonaGender;
14
+ readonly age?: number;
15
+ readonly ethnicity?: PersonaEthnicity;
16
+ readonly externalId?: string;
17
+ };
18
+ export type UpdateCharacterInput = {
19
+ readonly avatarId?: string;
20
+ readonly name?: string;
21
+ readonly voice?: string;
22
+ readonly sttLang?: string;
23
+ readonly clothesId?: string | null;
24
+ readonly hairId?: string | null;
25
+ readonly personality?: string | null;
26
+ readonly generalInstructions?: string | null;
27
+ readonly gender?: PersonaGender | null;
28
+ readonly age?: number | null;
29
+ readonly ethnicity?: PersonaEthnicity | null;
30
+ };
31
+ export type CharactersClient = {
32
+ create(input: CreateCharacterInput, options?: RequestOptions): Promise<CharacterResource>;
33
+ get(id: string, options?: RequestOptions): Promise<CharacterResource>;
34
+ update(id: string, patch: UpdateCharacterInput, options?: RequestOptions): Promise<CharacterResource>;
35
+ archive(id: string, options?: RequestOptions): Promise<CharacterResource>;
36
+ restore(id: string, options?: RequestOptions): Promise<CharacterResource>;
37
+ delete(id: string, options?: RequestOptions): Promise<DeletedResource>;
38
+ };
39
+ export declare function createCharactersClient(http: PublisherHttp): CharactersClient;
40
+ //# sourceMappingURL=characters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characters.d.ts","sourceRoot":"","sources":["../../src/resources/characters.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,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,oBAAoB,GAAG;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1F,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACtE,MAAM,CACL,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,oBAAoB,EAC3B,OAAO,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1E,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACvE,CAAC;AAsBF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB,CA8E5E"}
@@ -0,0 +1,71 @@
1
+ import { projectPath, publisherRequest } from '../http.js';
2
+ import { createCharacterResponseSchema, deletedResourceResponseSchema } from '../schemas.js';
3
+ import { requireInput, requiredString } from '../validate.js';
4
+ function createBody(input) {
5
+ requireInput(input);
6
+ return {
7
+ avatarId: requiredString(input.avatarId, 'avatarId'),
8
+ name: requiredString(input.name, 'name'),
9
+ voice: requiredString(input.voice, 'voice'),
10
+ sttLang: requiredString(input.sttLang, 'sttLang'),
11
+ ...(input.clothesId !== undefined ? { clothesId: input.clothesId } : {}),
12
+ ...(input.hairId !== undefined ? { hairId: input.hairId } : {}),
13
+ ...(input.personality !== undefined ? { personality: input.personality } : {}),
14
+ ...(input.generalInstructions !== undefined
15
+ ? { generalInstructions: input.generalInstructions }
16
+ : {}),
17
+ ...(input.gender !== undefined ? { gender: input.gender } : {}),
18
+ ...(input.age !== undefined ? { age: input.age } : {}),
19
+ ...(input.ethnicity !== undefined ? { ethnicity: input.ethnicity } : {}),
20
+ ...(input.externalId !== undefined ? { externalId: input.externalId } : {})
21
+ };
22
+ }
23
+ export function createCharactersClient(http) {
24
+ const load = async (id, options) => {
25
+ const { data } = await publisherRequest(http, projectPath(http, `/characters/${encodeURIComponent(id)}`), createCharacterResponseSchema, { method: 'GET', signal: options?.signal, retry: true });
26
+ return data.character;
27
+ };
28
+ return {
29
+ create: async (input, options) => {
30
+ const { data } = await publisherRequest(http, projectPath(http, '/characters'), createCharacterResponseSchema, { method: 'POST', body: createBody(input), signal: options?.signal });
31
+ return data.character;
32
+ },
33
+ get: load,
34
+ update: async (id, patch, options) => {
35
+ const { data } = await publisherRequest(http, projectPath(http, `/characters/${encodeURIComponent(id)}`), createCharacterResponseSchema, {
36
+ method: 'PATCH',
37
+ body: {
38
+ ...(patch.avatarId !== undefined ? { avatarId: patch.avatarId } : {}),
39
+ ...(patch.name !== undefined ? { name: patch.name } : {}),
40
+ ...(patch.voice !== undefined ? { voice: patch.voice } : {}),
41
+ ...(patch.sttLang !== undefined ? { sttLang: patch.sttLang } : {}),
42
+ ...(patch.clothesId !== undefined ? { clothesId: patch.clothesId } : {}),
43
+ ...(patch.hairId !== undefined ? { hairId: patch.hairId } : {}),
44
+ ...(patch.personality !== undefined ? { personality: patch.personality } : {}),
45
+ ...(patch.generalInstructions !== undefined
46
+ ? { generalInstructions: patch.generalInstructions }
47
+ : {}),
48
+ ...(patch.gender !== undefined ? { gender: patch.gender } : {}),
49
+ ...(patch.age !== undefined ? { age: patch.age } : {}),
50
+ ...(patch.ethnicity !== undefined ? { ethnicity: patch.ethnicity } : {})
51
+ },
52
+ signal: options?.signal,
53
+ retry: true
54
+ });
55
+ return data.character;
56
+ },
57
+ archive: async (id, options) => {
58
+ const { data } = await publisherRequest(http, projectPath(http, `/characters/${encodeURIComponent(id)}/archive`), createCharacterResponseSchema, { method: 'POST', signal: options?.signal });
59
+ return data.character;
60
+ },
61
+ restore: async (id, options) => {
62
+ const { data } = await publisherRequest(http, projectPath(http, `/characters/${encodeURIComponent(id)}/restore`), createCharacterResponseSchema, { method: 'POST', signal: options?.signal });
63
+ return data.character;
64
+ },
65
+ delete: async (id, options) => {
66
+ const { data } = await publisherRequest(http, projectPath(http, `/characters/${encodeURIComponent(id)}`), deletedResourceResponseSchema, { method: 'DELETE', signal: options?.signal });
67
+ return data;
68
+ }
69
+ };
70
+ }
71
+ //# sourceMappingURL=characters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characters.js","sourceRoot":"","sources":["../../src/resources/characters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAsB,MAAM,YAAY,CAAC;AAE/E,OAAO,EACN,6BAA6B,EAC7B,6BAA6B,EAK7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA4C9D,SAAS,UAAU,CAAC,KAA2B;IAC9C,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO;QACN,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;QACpD,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;QACxC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;QAC3C,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE;YACpD,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAmB;IACzD,MAAM,IAAI,GAAG,KAAK,EAAE,EAAU,EAAE,OAAwB,EAAE,EAAE;QAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CACtC,IAAI,EACJ,WAAW,CAAC,IAAI,EAAE,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,EAC1D,6BAA6B,EAC7B,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CACvD,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO;QACN,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAChC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CACtC,IAAI,EACJ,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,EAChC,6BAA6B,EAC7B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACpE,CAAC;YACF,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;QACD,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CACtC,IAAI,EACJ,WAAW,CAAC,IAAI,EAAE,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,EAC1D,6BAA6B,EAC7B;gBACC,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE;oBACL,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzD,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9E,GAAG,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS;wBAC1C,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE;wBACpD,CAAC,CAAC,EAAE,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxE;gBACD,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,IAAI;aACX,CACD,CAAC;YACF,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;YAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CACtC,IAAI,EACJ,WAAW,CAAC,IAAI,EAAE,eAAe,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,EAClE,6BAA6B,EAC7B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAC3C,CAAC;YACF,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;YAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CACtC,IAAI,EACJ,WAAW,CAAC,IAAI,EAAE,eAAe,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,EAClE,6BAA6B,EAC7B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAC3C,CAAC;YACF,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;YAC7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CACtC,IAAI,EACJ,WAAW,CAAC,IAAI,EAAE,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,EAC1D,6BAA6B,EAC7B,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAC7C,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type PublisherHttp } from '../http.js';
2
+ import type { RequestOptions, WaitOptions } from '../options.js';
3
+ import { type ClothesResource, type DeletedResource, type PublishJob } from '../schemas.js';
4
+ import { type UploadedImage } from '../upload.js';
5
+ export type BackgroundMode = 'remove' | 'transparent';
6
+ export type CreateClothesInput = {
7
+ readonly avatarId: string;
8
+ readonly image: UploadedImage | string;
9
+ readonly name?: string;
10
+ readonly backgroundMode?: BackgroundMode;
11
+ readonly externalId?: string;
12
+ readonly forceNew?: boolean;
13
+ };
14
+ export type UpdateClothesInput = {
15
+ readonly name: string;
16
+ };
17
+ export type ClothesClient = {
18
+ startCreate(input: CreateClothesInput, options?: RequestOptions): Promise<PublishJob>;
19
+ create(input: CreateClothesInput, options?: WaitOptions): Promise<ClothesResource>;
20
+ get(id: string, options?: RequestOptions): Promise<ClothesResource>;
21
+ update(id: string, patch: UpdateClothesInput, options?: RequestOptions): Promise<ClothesResource>;
22
+ archive(id: string, options?: RequestOptions): Promise<ClothesResource>;
23
+ restore(id: string, options?: RequestOptions): Promise<ClothesResource>;
24
+ delete(id: string, options?: RequestOptions): Promise<DeletedResource>;
25
+ };
26
+ export declare function wardrobePublishBody(input: CreateClothesInput): Record<string, unknown>;
27
+ export declare function createClothesClient(http: PublisherHttp): ClothesClient;
28
+ //# sourceMappingURL=clothes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clothes.d.ts","sourceRoot":"","sources":["../../src/resources/clothes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAIN,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGrE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,WAAW,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtF,MAAM,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACnF,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACvE,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUtF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAsEtE"}
@@ -0,0 +1,55 @@
1
+ import { projectPath, publisherRequest } from '../http.js';
2
+ import { waitForJob } from '../jobs.js';
3
+ import { startJobFromEnvelope } from '../publishStart.js';
4
+ import { createClothesPublishResponseSchema, deletedResourceResponseSchema, getClothesResponseSchema } from '../schemas.js';
5
+ import { uploadIdFromImage } from '../upload.js';
6
+ import { requireInput, requiredString } from '../validate.js';
7
+ export function wardrobePublishBody(input) {
8
+ requireInput(input);
9
+ return {
10
+ avatarId: requiredString(input.avatarId, 'avatarId'),
11
+ uploadId: uploadIdFromImage(input.image),
12
+ ...(input.name !== undefined ? { name: input.name } : {}),
13
+ ...(input.externalId !== undefined ? { externalId: input.externalId } : {}),
14
+ ...(input.backgroundMode !== undefined ? { backgroundMode: input.backgroundMode } : {}),
15
+ ...(input.forceNew !== undefined ? { forceNew: input.forceNew } : {})
16
+ };
17
+ }
18
+ export function createClothesClient(http) {
19
+ const get = async (id, options) => {
20
+ const { data } = await publisherRequest(http, projectPath(http, `/clothes/${encodeURIComponent(id)}`), getClothesResponseSchema, { method: 'GET', signal: options?.signal, retry: true });
21
+ return data.clothes;
22
+ };
23
+ const startCreate = async (input, options) => startJobFromEnvelope(http, '/clothes', createClothesPublishResponseSchema, wardrobePublishBody(input), options?.signal);
24
+ return {
25
+ startCreate,
26
+ create: async (input, options = {}) => {
27
+ const started = await startCreate(input, options);
28
+ const completed = await waitForJob(http, started.id, options);
29
+ return get(completed.targetId, options);
30
+ },
31
+ get,
32
+ update: async (id, patch, options) => {
33
+ const { data } = await publisherRequest(http, projectPath(http, `/clothes/${encodeURIComponent(id)}`), getClothesResponseSchema, {
34
+ method: 'PATCH',
35
+ body: { name: patch.name },
36
+ signal: options?.signal,
37
+ retry: true
38
+ });
39
+ return data.clothes;
40
+ },
41
+ archive: async (id, options) => {
42
+ const { data } = await publisherRequest(http, projectPath(http, `/clothes/${encodeURIComponent(id)}/archive`), getClothesResponseSchema, { method: 'POST', signal: options?.signal });
43
+ return data.clothes;
44
+ },
45
+ restore: async (id, options) => {
46
+ const { data } = await publisherRequest(http, projectPath(http, `/clothes/${encodeURIComponent(id)}/restore`), getClothesResponseSchema, { method: 'POST', signal: options?.signal });
47
+ return data.clothes;
48
+ },
49
+ delete: async (id, options) => {
50
+ const { data } = await publisherRequest(http, projectPath(http, `/clothes/${encodeURIComponent(id)}`), deletedResourceResponseSchema, { method: 'DELETE', signal: options?.signal });
51
+ return data;
52
+ }
53
+ };
54
+ }
55
+ //# sourceMappingURL=clothes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clothes.js","sourceRoot":"","sources":["../../src/resources/clothes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type PublisherHttp } from '../http.js';
2
+ import type { RequestOptions } from '../options.js';
3
+ import { type DeletedResource, type ExperienceResource } from '../schemas.js';
4
+ export type CreateExperienceInput = {
5
+ readonly title: string;
6
+ readonly characterId: string;
7
+ readonly setId: string;
8
+ readonly slug?: string;
9
+ readonly attributes?: Record<string, string>;
10
+ readonly startingMessage?: string;
11
+ readonly systemInstructions?: string;
12
+ readonly introduction?: string;
13
+ readonly publish?: boolean;
14
+ readonly externalId?: string;
15
+ };
16
+ export type UpdateExperienceInput = {
17
+ readonly title?: string;
18
+ readonly slug?: string;
19
+ readonly attributes?: Record<string, string>;
20
+ readonly characterId?: string;
21
+ readonly setId?: string;
22
+ readonly startingMessage?: string;
23
+ readonly systemInstructions?: string;
24
+ readonly introduction?: string;
25
+ };
26
+ export type ExperiencesClient = {
27
+ create(input: CreateExperienceInput, options?: RequestOptions): Promise<ExperienceResource>;
28
+ get(id: string, options?: RequestOptions): Promise<ExperienceResource>;
29
+ update(id: string, patch: UpdateExperienceInput, options?: RequestOptions): Promise<ExperienceResource>;
30
+ archive(id: string, options?: RequestOptions): Promise<ExperienceResource>;
31
+ restore(id: string, options?: RequestOptions): Promise<ExperienceResource>;
32
+ delete(id: string, options?: RequestOptions): Promise<DeletedResource>;
33
+ publish(id: string, options?: RequestOptions): Promise<ExperienceResource>;
34
+ };
35
+ export declare function createExperiencesClient(http: PublisherHttp): ExperiencesClient;
36
+ //# sourceMappingURL=experiences.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,71 @@
1
+ import { projectPath, publisherRequest } from '../http.js';
2
+ import { deletedResourceResponseSchema, experienceResponseSchema } from '../schemas.js';
3
+ import { requireInput, requiredString } from '../validate.js';
4
+ function createBody(input) {
5
+ requireInput(input);
6
+ return {
7
+ title: requiredString(input.title, 'title'),
8
+ characterId: requiredString(input.characterId, 'characterId'),
9
+ setId: requiredString(input.setId, 'setId'),
10
+ ...(input.slug !== undefined ? { slug: input.slug } : {}),
11
+ ...(input.attributes !== undefined ? { attributes: input.attributes } : {}),
12
+ ...(input.startingMessage !== undefined ? { startingMessage: input.startingMessage } : {}),
13
+ ...(input.systemInstructions !== undefined
14
+ ? { systemInstructions: input.systemInstructions }
15
+ : {}),
16
+ ...(input.introduction !== undefined ? { introduction: input.introduction } : {}),
17
+ ...(input.publish !== undefined ? { publish: input.publish } : {}),
18
+ ...(input.externalId !== undefined ? { externalId: input.externalId } : {})
19
+ };
20
+ }
21
+ export function createExperiencesClient(http) {
22
+ return {
23
+ create: async (input, options) => {
24
+ const { data } = await publisherRequest(http, projectPath(http, '/experiences'), experienceResponseSchema, { method: 'POST', body: createBody(input), signal: options?.signal });
25
+ return data.experience;
26
+ },
27
+ get: async (id, options) => {
28
+ const { data } = await publisherRequest(http, projectPath(http, `/experiences/${encodeURIComponent(id)}`), experienceResponseSchema, { method: 'GET', signal: options?.signal, retry: true });
29
+ return data.experience;
30
+ },
31
+ update: async (id, patch, options) => {
32
+ const { data } = await publisherRequest(http, projectPath(http, `/experiences/${encodeURIComponent(id)}`), experienceResponseSchema, {
33
+ method: 'PATCH',
34
+ body: {
35
+ ...(patch.title !== undefined ? { title: patch.title } : {}),
36
+ ...(patch.slug !== undefined ? { slug: patch.slug } : {}),
37
+ ...(patch.attributes !== undefined ? { attributes: patch.attributes } : {}),
38
+ ...(patch.characterId !== undefined ? { characterId: patch.characterId } : {}),
39
+ ...(patch.setId !== undefined ? { setId: patch.setId } : {}),
40
+ ...(patch.startingMessage !== undefined
41
+ ? { startingMessage: patch.startingMessage }
42
+ : {}),
43
+ ...(patch.systemInstructions !== undefined
44
+ ? { systemInstructions: patch.systemInstructions }
45
+ : {}),
46
+ ...(patch.introduction !== undefined ? { introduction: patch.introduction } : {})
47
+ },
48
+ signal: options?.signal,
49
+ retry: true
50
+ });
51
+ return data.experience;
52
+ },
53
+ archive: async (id, options) => {
54
+ const { data } = await publisherRequest(http, projectPath(http, `/experiences/${encodeURIComponent(id)}/archive`), experienceResponseSchema, { method: 'POST', signal: options?.signal });
55
+ return data.experience;
56
+ },
57
+ restore: async (id, options) => {
58
+ const { data } = await publisherRequest(http, projectPath(http, `/experiences/${encodeURIComponent(id)}/restore`), experienceResponseSchema, { method: 'POST', signal: options?.signal });
59
+ return data.experience;
60
+ },
61
+ delete: async (id, options) => {
62
+ const { data } = await publisherRequest(http, projectPath(http, `/experiences/${encodeURIComponent(id)}`), deletedResourceResponseSchema, { method: 'DELETE', signal: options?.signal });
63
+ return data;
64
+ },
65
+ publish: async (id, options) => {
66
+ const { data } = await publisherRequest(http, projectPath(http, `/experiences/${encodeURIComponent(id)}/publish`), experienceResponseSchema, { method: 'POST', signal: options?.signal });
67
+ return data.experience;
68
+ }
69
+ };
70
+ }
71
+ //# sourceMappingURL=experiences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experiences.js","sourceRoot":"","sources":["../../src/resources/experiences.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type PublisherHttp } from '../http.js';
2
+ import type { RequestOptions, WaitOptions } from '../options.js';
3
+ import { type CreateClothesInput } from './clothes.js';
4
+ import { type DeletedResource, type HairResource, type PublishJob } from '../schemas.js';
5
+ export type CreateHairInput = CreateClothesInput;
6
+ export type UpdateHairInput = {
7
+ readonly name: string;
8
+ };
9
+ export type HairClient = {
10
+ startCreate(input: CreateHairInput, options?: RequestOptions): Promise<PublishJob>;
11
+ create(input: CreateHairInput, options?: WaitOptions): Promise<HairResource>;
12
+ get(id: string, options?: RequestOptions): Promise<HairResource>;
13
+ update(id: string, patch: UpdateHairInput, options?: RequestOptions): Promise<HairResource>;
14
+ archive(id: string, options?: RequestOptions): Promise<HairResource>;
15
+ restore(id: string, options?: RequestOptions): Promise<HairResource>;
16
+ delete(id: string, options?: RequestOptions): Promise<DeletedResource>;
17
+ };
18
+ export declare function createHairClient(http: PublisherHttp): HairClient;
19
+ //# sourceMappingURL=hair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hair.d.ts","sourceRoot":"","sources":["../../src/resources/hair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAIN,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;AACjD,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACxB,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACnF,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5F,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACvE,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAsEhE"}
@@ -0,0 +1,43 @@
1
+ import { projectPath, publisherRequest } from '../http.js';
2
+ import { waitForJob } from '../jobs.js';
3
+ import { startJobFromEnvelope } from '../publishStart.js';
4
+ import { wardrobePublishBody } from './clothes.js';
5
+ import { createHairPublishResponseSchema, deletedResourceResponseSchema, getHairResponseSchema } from '../schemas.js';
6
+ export function createHairClient(http) {
7
+ const get = async (id, options) => {
8
+ const { data } = await publisherRequest(http, projectPath(http, `/hair/${encodeURIComponent(id)}`), getHairResponseSchema, { method: 'GET', signal: options?.signal, retry: true });
9
+ return data.hair;
10
+ };
11
+ const startCreate = async (input, options) => startJobFromEnvelope(http, '/hair', createHairPublishResponseSchema, wardrobePublishBody(input), options?.signal);
12
+ return {
13
+ startCreate,
14
+ create: async (input, options = {}) => {
15
+ const started = await startCreate(input, options);
16
+ const completed = await waitForJob(http, started.id, options);
17
+ return get(completed.targetId, options);
18
+ },
19
+ get,
20
+ update: async (id, patch, options) => {
21
+ const { data } = await publisherRequest(http, projectPath(http, `/hair/${encodeURIComponent(id)}`), getHairResponseSchema, {
22
+ method: 'PATCH',
23
+ body: { name: patch.name },
24
+ signal: options?.signal,
25
+ retry: true
26
+ });
27
+ return data.hair;
28
+ },
29
+ archive: async (id, options) => {
30
+ const { data } = await publisherRequest(http, projectPath(http, `/hair/${encodeURIComponent(id)}/archive`), getHairResponseSchema, { method: 'POST', signal: options?.signal });
31
+ return data.hair;
32
+ },
33
+ restore: async (id, options) => {
34
+ const { data } = await publisherRequest(http, projectPath(http, `/hair/${encodeURIComponent(id)}/restore`), getHairResponseSchema, { method: 'POST', signal: options?.signal });
35
+ return data.hair;
36
+ },
37
+ delete: async (id, options) => {
38
+ const { data } = await publisherRequest(http, projectPath(http, `/hair/${encodeURIComponent(id)}`), deletedResourceResponseSchema, { method: 'DELETE', signal: options?.signal });
39
+ return data;
40
+ }
41
+ };
42
+ }
43
+ //# sourceMappingURL=hair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hair.js","sourceRoot":"","sources":["../../src/resources/hair.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { type PublisherHttp } from '../http.js';
2
+ import type { RequestOptions } from '../options.js';
3
+ import { type DeletedResource, type SetResource } from '../schemas.js';
4
+ export type CreateSetInput = {
5
+ readonly backdropId: string;
6
+ readonly name?: string;
7
+ readonly externalId?: string;
8
+ };
9
+ export type UpdateSetInput = {
10
+ readonly name?: string;
11
+ readonly backdropId?: string;
12
+ };
13
+ export type SetsClient = {
14
+ create(input: CreateSetInput, options?: RequestOptions): Promise<SetResource>;
15
+ get(id: string, options?: RequestOptions): Promise<SetResource>;
16
+ update(id: string, patch: UpdateSetInput, options?: RequestOptions): Promise<SetResource>;
17
+ archive(id: string, options?: RequestOptions): Promise<SetResource>;
18
+ restore(id: string, options?: RequestOptions): Promise<SetResource>;
19
+ delete(id: string, options?: RequestOptions): Promise<DeletedResource>;
20
+ };
21
+ export declare function createSetsClient(http: PublisherHttp): SetsClient;
22
+ //# sourceMappingURL=sets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sets.d.ts","sourceRoot":"","sources":["../../src/resources/sets.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,WAAW,EAChB,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACxB,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9E,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1F,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACvE,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CA0EhE"}