@liforma/publisher 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -2
- package/dist/browser.d.ts +4 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +5 -0
- package/dist/browser.js.map +1 -0
- package/dist/createPublisher.d.ts +120 -83
- package/dist/createPublisher.d.ts.map +1 -1
- package/dist/createPublisher.js +175 -104
- package/dist/createPublisher.js.map +1 -1
- package/dist/errors.d.ts +3 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +0 -1
- package/dist/errors.js.map +1 -1
- package/dist/hash.d.ts +1 -1
- package/dist/hash.d.ts.map +1 -1
- package/dist/http.d.ts +2 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +8 -23
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/jobs.d.ts +7 -5
- package/dist/jobs.d.ts.map +1 -1
- package/dist/jobs.js +49 -52
- package/dist/jobs.js.map +1 -1
- package/dist/retry.d.ts +16 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +52 -0
- package/dist/retry.js.map +1 -0
- package/dist/schemas.d.ts +290 -89
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +61 -36
- package/dist/schemas.js.map +1 -1
- package/dist/upload.d.ts +1 -0
- package/dist/upload.d.ts.map +1 -1
- package/dist/upload.js +41 -18
- package/dist/upload.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @liforma/publisher
|
|
2
2
|
|
|
3
|
-
Server SDK for Liforma
|
|
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 @@
|
|
|
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"}
|
package/dist/browser.js
ADDED
|
@@ -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
|
|
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<
|
|
79
|
-
startClothes: (input: CreateClothesInput) => Promise<
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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: "
|
|
130
|
-
kind: "
|
|
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: "
|
|
159
|
-
kind: "
|
|
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: "
|
|
188
|
-
kind: "
|
|
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: "
|
|
216
|
-
kind: "
|
|
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
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
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
|
-
|
|
242
|
-
|
|
266
|
+
clothes: {
|
|
267
|
+
id: string;
|
|
268
|
+
status: "processing" | "ready" | "failed";
|
|
269
|
+
};
|
|
270
|
+
} | {
|
|
243
271
|
job: {
|
|
244
272
|
id: string;
|
|
245
|
-
status: "
|
|
246
|
-
kind: "
|
|
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
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
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
|
-
|
|
273
|
-
kind: "location" | "clothes" | "hair";
|
|
310
|
+
location: {
|
|
274
311
|
id: string;
|
|
275
|
-
status:
|
|
312
|
+
status: "processing" | "ready" | "failed";
|
|
276
313
|
};
|
|
277
314
|
}>;
|
|
278
315
|
};
|
|
279
316
|
};
|
|
280
317
|
export type Publisher = ReturnType<typeof createPublisher>;
|
|
281
|
-
export type {
|
|
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":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"createPublisher.d.ts","sourceRoot":"","sources":["../src/createPublisher.ts"],"names":[],"mappings":"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"}
|