@opencoredev/social-sdk 0.1.1 → 0.2.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 +10 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/cloud/common.d.ts.map +1 -1
- package/dist/cloud/common.js +48 -20
- package/dist/cloud/common.js.map +1 -1
- package/dist/cloud/lifecycle.d.ts.map +1 -1
- package/dist/cloud/lifecycle.js +5 -0
- package/dist/cloud/lifecycle.js.map +1 -1
- package/dist/cloud/media.d.ts.map +1 -1
- package/dist/cloud/media.js +12 -8
- package/dist/cloud/media.js.map +1 -1
- package/dist/cloud/outcomes.d.ts.map +1 -1
- package/dist/cloud/outcomes.js +17 -9
- package/dist/cloud/outcomes.js.map +1 -1
- package/dist/cloud/post-for-me.d.ts.map +1 -1
- package/dist/cloud/post-for-me.js +99 -28
- package/dist/cloud/post-for-me.js.map +1 -1
- package/dist/cloud/zernio.d.ts.map +1 -1
- package/dist/cloud/zernio.js +100 -9
- package/dist/cloud/zernio.js.map +1 -1
- package/dist/core/adapter.d.ts +42 -1
- package/dist/core/adapter.d.ts.map +1 -1
- package/dist/core/adapter.js.map +1 -1
- package/dist/core/client.d.ts +35 -1
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +503 -110
- package/dist/core/client.js.map +1 -1
- package/dist/core/concurrency.d.ts.map +1 -1
- package/dist/core/concurrency.js +5 -3
- package/dist/core/concurrency.js.map +1 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +14 -7
- package/dist/core/errors.js.map +1 -1
- package/dist/core/idempotency.d.ts.map +1 -1
- package/dist/core/idempotency.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/pagination.d.ts.map +1 -1
- package/dist/core/pagination.js +1 -0
- package/dist/core/pagination.js.map +1 -1
- package/dist/core/types.d.ts +70 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +10 -0
- package/dist/core/types.js.map +1 -1
- package/dist/platforms/bluesky.d.ts +131 -1
- package/dist/platforms/bluesky.d.ts.map +1 -1
- package/dist/platforms/bluesky.js +772 -44
- package/dist/platforms/bluesky.js.map +1 -1
- package/dist/platforms/instagram.d.ts +70 -3
- package/dist/platforms/instagram.d.ts.map +1 -1
- package/dist/platforms/instagram.js +403 -47
- package/dist/platforms/instagram.js.map +1 -1
- package/dist/platforms/linkedin.d.ts +55 -0
- package/dist/platforms/linkedin.d.ts.map +1 -1
- package/dist/platforms/linkedin.js +350 -39
- package/dist/platforms/linkedin.js.map +1 -1
- package/dist/platforms/threads.d.ts +37 -4
- package/dist/platforms/threads.d.ts.map +1 -1
- package/dist/platforms/threads.js +419 -44
- package/dist/platforms/threads.js.map +1 -1
- package/dist/platforms/tiktok.d.ts.map +1 -1
- package/dist/platforms/tiktok.js +109 -26
- package/dist/platforms/tiktok.js.map +1 -1
- package/dist/platforms/x-engagement.d.ts.map +1 -1
- package/dist/platforms/x-engagement.js +4 -0
- package/dist/platforms/x-engagement.js.map +1 -1
- package/dist/platforms/x.d.ts +227 -9
- package/dist/platforms/x.d.ts.map +1 -1
- package/dist/platforms/x.js +826 -49
- package/dist/platforms/x.js.map +1 -1
- package/dist/platforms/youtube-upload.d.ts.map +1 -1
- package/dist/platforms/youtube-upload.js +25 -9
- package/dist/platforms/youtube-upload.js.map +1 -1
- package/dist/platforms/youtube.d.ts +56 -2
- package/dist/platforms/youtube.d.ts.map +1 -1
- package/dist/platforms/youtube.js +571 -31
- package/dist/platforms/youtube.js.map +1 -1
- package/dist/server/connections.d.ts.map +1 -1
- package/dist/server/connections.js +4 -2
- package/dist/server/connections.js.map +1 -1
- package/dist/server/credentials.d.ts.map +1 -1
- package/dist/server/credentials.js +10 -16
- package/dist/server/credentials.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/oauth.d.ts +5 -0
- package/dist/server/oauth.d.ts.map +1 -1
- package/dist/server/oauth.js +118 -47
- package/dist/server/oauth.js.map +1 -1
- package/dist/server/webhooks.d.ts.map +1 -1
- package/dist/server/webhooks.js +11 -4
- package/dist/server/webhooks.js.map +1 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +153 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/transport/binary.d.ts.map +1 -1
- package/dist/transport/binary.js.map +1 -1
- package/dist/transport/budget.d.ts.map +1 -1
- package/dist/transport/budget.js.map +1 -1
- package/dist/transport/http.d.ts +2 -1
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +42 -12
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/json.d.ts +7 -1
- package/dist/transport/json.d.ts.map +1 -1
- package/dist/transport/json.js +7 -1
- package/dist/transport/json.js.map +1 -1
- package/dist/transport/upload.d.ts +1 -0
- package/dist/transport/upload.d.ts.map +1 -1
- package/dist/transport/upload.js +38 -17
- package/dist/transport/upload.js.map +1 -1
- package/dist/transport/validation.d.ts.map +1 -1
- package/dist/transport/validation.js +1 -0
- package/dist/transport/validation.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* oxlint-disable anti-slop/require-safety-comment-for-type-assertion -- validated external boundary or fixture contract. */
|
|
1
2
|
import { managedLifecycle } from "./lifecycle.js";
|
|
2
3
|
import { managedMedia } from "./media.js";
|
|
3
4
|
export { MemoryManagedMediaStore, } from "./media.js";
|
|
@@ -11,6 +12,7 @@ export function postForMe(options) {
|
|
|
11
12
|
const request = managedHttp("https://api.postforme.dev", options);
|
|
12
13
|
const mediaPipeline = managedMedia("post-for-me", options, (body, context) => request("/v1/media/create-upload-url", context, body));
|
|
13
14
|
const now = () => (options.clock?.() ?? new Date()).toISOString();
|
|
15
|
+
// oxlint-disable-next-line anti-slop/no-unknown-parameters -- provider payload is validated at this adapter boundary.
|
|
14
16
|
const account = (value, backend) => {
|
|
15
17
|
const row = object(value);
|
|
16
18
|
const handle = optionalString(row["username"]);
|
|
@@ -23,6 +25,7 @@ export function postForMe(options) {
|
|
|
23
25
|
accountId: string(row["id"]),
|
|
24
26
|
},
|
|
25
27
|
displayName: handle ?? string(row["user_id"]),
|
|
28
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
26
29
|
...(handle ? { handle } : {}),
|
|
27
30
|
status: row["status"] === "connected"
|
|
28
31
|
? "connected"
|
|
@@ -31,9 +34,22 @@ export function postForMe(options) {
|
|
|
31
34
|
: "unknown",
|
|
32
35
|
};
|
|
33
36
|
};
|
|
37
|
+
// oxlint-disable-next-line anti-slop/no-unknown-parameters -- validated by account at this boundary.
|
|
38
|
+
const supportedAccount = (value, backend) => {
|
|
39
|
+
try {
|
|
40
|
+
return account(value, backend);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
if (error instanceof SocialError && error.code === "unsupported_capability")
|
|
44
|
+
return undefined;
|
|
45
|
+
throw error;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
34
48
|
const feed = async (ref, context, metrics) => {
|
|
35
49
|
accountMatches(ref, context);
|
|
36
|
-
const result = object(await request(`/v1/social-account-feeds/${encodeURIComponent(ref.accountId)}`, context, undefined,
|
|
50
|
+
const result = object(await request(`/v1/social-account-feeds/${encodeURIComponent(ref.accountId)}`, context, undefined,
|
|
51
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
52
|
+
{ platform_post_id: ref.postId, limit: "1", ...(metrics ? { expand: "metrics" } : {}) }));
|
|
37
53
|
const row = array(result["data"])
|
|
38
54
|
.map(object)
|
|
39
55
|
.find((item) => item["platform_post_id"] === ref.postId && item["social_account_id"] === ref.accountId);
|
|
@@ -82,7 +98,11 @@ export function postForMe(options) {
|
|
|
82
98
|
const meta = object(result["meta"]);
|
|
83
99
|
const next = meta["next"] ? String(offset + limit) : undefined;
|
|
84
100
|
return {
|
|
85
|
-
items: rows.
|
|
101
|
+
items: rows.flatMap((value) => {
|
|
102
|
+
const parsed = supportedAccount(value, context.backendInstance);
|
|
103
|
+
return parsed ? [parsed] : [];
|
|
104
|
+
}),
|
|
105
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
86
106
|
...(next ? { nextCursor: next } : {}),
|
|
87
107
|
};
|
|
88
108
|
},
|
|
@@ -111,6 +131,7 @@ export function postForMe(options) {
|
|
|
111
131
|
});
|
|
112
132
|
const result = object(await request(`/v1/social-account-feeds/${encodeURIComponent(account.accountId)}`, context, undefined, {
|
|
113
133
|
limit: String(limit),
|
|
134
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
114
135
|
...(input.cursor === undefined ? {} : { cursor: input.cursor }),
|
|
115
136
|
}));
|
|
116
137
|
const rows = array(result["data"])
|
|
@@ -138,6 +159,13 @@ export function postForMe(options) {
|
|
|
138
159
|
: optionalString(meta["next"]) && cursor
|
|
139
160
|
? cursor
|
|
140
161
|
: undefined;
|
|
162
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
163
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- provider payload is validated at this adapter boundary.
|
|
164
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
165
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- validated external boundary or fixture contract.
|
|
166
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
167
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- validated external boundary or fixture contract.
|
|
168
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
141
169
|
return { items: rows, ...(next === undefined ? {} : { nextCursor: next }) };
|
|
142
170
|
},
|
|
143
171
|
prepareTarget(target) {
|
|
@@ -172,6 +200,7 @@ export function postForMe(options) {
|
|
|
172
200
|
media.push({ url: await mediaPipeline.resolve(item, target.account, context) });
|
|
173
201
|
const config = optionsObject(target);
|
|
174
202
|
const platformConfig = {};
|
|
203
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
175
204
|
if (target.account.platform === "instagram" && typeof config["shareToFeed"] === "boolean")
|
|
176
205
|
platformConfig["share_to_feed"] = config["shareToFeed"];
|
|
177
206
|
if (target.account.platform === "x" &&
|
|
@@ -181,6 +210,7 @@ export function postForMe(options) {
|
|
|
181
210
|
if (target.account.platform === "youtube") {
|
|
182
211
|
platformConfig["title"] = string(config["title"]);
|
|
183
212
|
platformConfig["privacy_status"] = string(config["visibility"]);
|
|
213
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
184
214
|
if (typeof config["madeForKids"] === "boolean")
|
|
185
215
|
platformConfig["made_for_kids"] = config["madeForKids"];
|
|
186
216
|
}
|
|
@@ -190,11 +220,16 @@ export function postForMe(options) {
|
|
|
190
220
|
platformConfig["auto_add_music"] = false;
|
|
191
221
|
platformConfig["allow_duet"] = !config["disableDuet"];
|
|
192
222
|
platformConfig["allow_stitch"] = !config["disableStitch"];
|
|
223
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- provider payload is validated at this adapter boundary.
|
|
193
224
|
platformConfig["disclose_your_brand"] = config["ownBrand"];
|
|
225
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- provider payload is validated at this adapter boundary.
|
|
194
226
|
platformConfig["is_ai_generated"] = config["aiGenerated"];
|
|
227
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- provider payload is validated at this adapter boundary.
|
|
195
228
|
platformConfig["is_draft"] = config["draft"];
|
|
229
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
196
230
|
if (typeof config["disableComments"] === "boolean")
|
|
197
231
|
platformConfig["allow_comment"] = !config["disableComments"];
|
|
232
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
198
233
|
if (typeof config["brandedContent"] === "boolean")
|
|
199
234
|
platformConfig["disclose_branded_content"] = config["brandedContent"];
|
|
200
235
|
}
|
|
@@ -202,8 +237,11 @@ export function postForMe(options) {
|
|
|
202
237
|
caption: target.content.text ?? "",
|
|
203
238
|
social_accounts: [target.account.accountId],
|
|
204
239
|
media,
|
|
240
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
205
241
|
...(target.schedule ? { scheduled_at: target.schedule.at } : {}),
|
|
242
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
206
243
|
...(context.targetIdempotencyKey ? { external_id: context.targetIdempotencyKey } : {}),
|
|
244
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
207
245
|
...(Object.keys(platformConfig).length
|
|
208
246
|
? { platform_configurations: { [target.account.platform]: platformConfig } }
|
|
209
247
|
: {}),
|
|
@@ -262,33 +300,65 @@ export function postForMe(options) {
|
|
|
262
300
|
if (row["metrics"] === undefined || row["metrics"] === null)
|
|
263
301
|
return [];
|
|
264
302
|
const metrics = object(row["metrics"]);
|
|
303
|
+
const values = ref.platform === "x" && metrics["public_metrics"] !== undefined
|
|
304
|
+
? object(metrics["public_metrics"])
|
|
305
|
+
: metrics;
|
|
265
306
|
const result = [];
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
"
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
307
|
+
const fields = ref.platform === "x"
|
|
308
|
+
? [
|
|
309
|
+
["likes", "like_count"],
|
|
310
|
+
["comments", "reply_count"],
|
|
311
|
+
["reposts", "repost_count"],
|
|
312
|
+
["impressions", "impression_count"],
|
|
313
|
+
]
|
|
314
|
+
: ref.platform === "linkedin"
|
|
315
|
+
? [
|
|
316
|
+
["likes", "likeCount"],
|
|
317
|
+
["comments", "commentCount"],
|
|
318
|
+
["impressions", "impressionCount"],
|
|
319
|
+
]
|
|
320
|
+
: ref.platform === "bluesky"
|
|
321
|
+
? [
|
|
322
|
+
["likes", "likeCount"],
|
|
323
|
+
["comments", "replyCount"],
|
|
324
|
+
["reposts", "repostCount"],
|
|
325
|
+
]
|
|
326
|
+
: // Other platforms report provider-shaped counters; accept the common spellings.
|
|
327
|
+
[
|
|
328
|
+
["likes", "likes"],
|
|
329
|
+
["likes", "like_count"],
|
|
330
|
+
["likes", "likeCount"],
|
|
331
|
+
["comments", "comments"],
|
|
332
|
+
["comments", "comment_count"],
|
|
333
|
+
["comments", "commentCount"],
|
|
334
|
+
["comments", "replies"],
|
|
335
|
+
["shares", "shares"],
|
|
336
|
+
["shares", "share_count"],
|
|
337
|
+
["reposts", "reposts"],
|
|
338
|
+
["reposts", "repost_count"],
|
|
339
|
+
["views", "views"],
|
|
340
|
+
["views", "view_count"],
|
|
341
|
+
["views", "viewCount"],
|
|
342
|
+
["impressions", "impressions"],
|
|
343
|
+
["reach", "reach"],
|
|
344
|
+
];
|
|
345
|
+
const seen = new Set();
|
|
346
|
+
for (const [name, key] of fields) {
|
|
347
|
+
if (seen.has(name))
|
|
348
|
+
continue;
|
|
349
|
+
const value = optionalNumber(values[key]);
|
|
350
|
+
if (value === undefined)
|
|
351
|
+
continue;
|
|
352
|
+
seen.add(name);
|
|
353
|
+
result.push({
|
|
354
|
+
name,
|
|
355
|
+
value,
|
|
356
|
+
unit: "count",
|
|
357
|
+
period: "lifetime",
|
|
358
|
+
fetchedAt: now(),
|
|
359
|
+
freshness: "unknown",
|
|
360
|
+
source: `post-for-me:${ref.platform}:feed`,
|
|
361
|
+
});
|
|
292
362
|
}
|
|
293
363
|
return result;
|
|
294
364
|
},
|
|
@@ -315,6 +385,7 @@ export function postForMe(options) {
|
|
|
315
385
|
platform: input.platform,
|
|
316
386
|
external_id: input.externalId,
|
|
317
387
|
permissions: input.permissions,
|
|
388
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
318
389
|
...(input.redirectUrl ? { redirect_url_override: input.redirectUrl } : {}),
|
|
319
390
|
}));
|
|
320
391
|
return { url: string(result["url"]), platform: string(result["platform"]) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-for-me.js","sourceRoot":"","sources":["../../src/cloud/post-for-me.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"post-for-me.js","sourceRoot":"","sources":["../../src/cloud/post-for-me.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zernio.d.ts","sourceRoot":"","sources":["../../src/cloud/zernio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"zernio.d.ts","sourceRoot":"","sources":["../../src/cloud/zernio.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AAIpB,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EACvB,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,UAAU,EAEV,WAAW,EACX,eAAe,EACf,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EASL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;oBAgHtB;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,WAAW,uBAAuB;;;;iBAuCxE,mBAAmB,WAAW,uBAAuB;;;sBAsDzD,mBAAmB,SACrB;YAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,WACnD,uBAAuB;;mBA4Gf,UAAU,EAAE;;8BAOT,qBAAqB;8BAuBf,qBAAqB,WAAW,uBAAuB;yBA0F5E;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,WACxE,uBAAuB;iBAiBnB,eAAe,WAAW,uBAAuB;;;;;;+BAczD,mBAAmB,WACf,uBAAuB,GAC/B,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;4BA6C3B,eAAe,WACX,uBAAuB,GAC/B,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;;;kBAwC3B,eAAe,SACb;YAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,WACnD,uBAAuB;;;;mBAoD3B,UAAU,WACN;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,WAChB,uBAAuB,GAC/B,OAAO,CAAC,UAAU,CAAC;;;+BAuBf,mBAAmB,SACjB;YAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,WACnD,uBAAuB;;;;0BA0C3B,eAAe,SACb;YAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,WACnD,uBAAuB;;;;kBA8C3B,eAAe,WACX;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,WAChB,uBAAuB,GAC/B,OAAO,CAAC,UAAU,CAAC;;;sBAyBF;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,UAAU,CAAA;SAAE;;;;sBAMjD;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,UAAU,CAAA;SAAE,WACpC,uBAAuB,GAC/B,OAAO,CAAC,UAAU,CAAC;;;gCAYQ,uBAAuB,WAAW,uBAAuB;;;;8BAwB3D,uBAAuB;;EASxD"}
|
package/dist/cloud/zernio.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* oxlint-disable anti-slop/no-runtime-typeof -- validated external boundary or fixture contract. */
|
|
1
2
|
import { managedLifecycle } from "./lifecycle.js";
|
|
2
3
|
import { managedMedia } from "./media.js";
|
|
3
4
|
export { MemoryManagedMediaStore, } from "./media.js";
|
|
@@ -11,6 +12,7 @@ export function zernio(options) {
|
|
|
11
12
|
const request = managedHttp("https://zernio.com/api", options);
|
|
12
13
|
const mediaPipeline = managedMedia("zernio", options, (body, context) => request("/v1/media/presign", context, body));
|
|
13
14
|
const now = () => (options.clock?.() ?? new Date()).toISOString();
|
|
15
|
+
// oxlint-disable-next-line anti-slop/no-unknown-parameters -- provider payload is validated at this adapter boundary.
|
|
14
16
|
const account = (value, backend) => {
|
|
15
17
|
const row = object(value);
|
|
16
18
|
const handle = optionalString(row["username"]);
|
|
@@ -23,6 +25,7 @@ export function zernio(options) {
|
|
|
23
25
|
accountId: string(row["_id"]),
|
|
24
26
|
},
|
|
25
27
|
displayName: optionalString(row["displayName"]) ?? handle ?? string(row["_id"]),
|
|
28
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
26
29
|
...(handle ? { handle } : {}),
|
|
27
30
|
status: row["isActive"] === true
|
|
28
31
|
? "connected"
|
|
@@ -31,6 +34,17 @@ export function zernio(options) {
|
|
|
31
34
|
: "unknown",
|
|
32
35
|
};
|
|
33
36
|
};
|
|
37
|
+
// oxlint-disable-next-line anti-slop/no-unknown-parameters -- validated by account at this boundary.
|
|
38
|
+
const supportedAccount = (value, backend) => {
|
|
39
|
+
try {
|
|
40
|
+
return account(value, backend);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
if (error instanceof SocialError && error.code === "unsupported_capability")
|
|
44
|
+
return undefined;
|
|
45
|
+
throw error;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
34
48
|
const analytics = async (ref, context) => {
|
|
35
49
|
accountMatches(ref, context);
|
|
36
50
|
return object(await request("/v1/analytics", context, undefined, {
|
|
@@ -109,14 +123,41 @@ export function zernio(options) {
|
|
|
109
123
|
const pagination = result["pagination"] ? object(result["pagination"]) : {};
|
|
110
124
|
const pages = optionalNumber(pagination["pages"]) ?? optionalNumber(pagination["totalPages"]);
|
|
111
125
|
return {
|
|
112
|
-
items: array(result["accounts"]).
|
|
126
|
+
items: array(result["accounts"]).flatMap((value) => {
|
|
127
|
+
const parsed = supportedAccount(value, context.backendInstance);
|
|
128
|
+
return parsed ? [parsed] : [];
|
|
129
|
+
}),
|
|
130
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
113
131
|
...(pages !== undefined && page < pages ? { nextCursor: String(page + 1) } : {}),
|
|
114
132
|
};
|
|
115
133
|
},
|
|
116
134
|
async get(ref, context) {
|
|
117
135
|
accountMatches(ref, context);
|
|
118
|
-
const
|
|
119
|
-
|
|
136
|
+
const platform = ref.platform === "x" ? "twitter" : ref.platform;
|
|
137
|
+
let raw;
|
|
138
|
+
// The list endpoint is paginated, so keep reading until the account appears.
|
|
139
|
+
for (let page = 1; page <= 100 && !raw; page++) {
|
|
140
|
+
const response = object(await request("/v1/accounts", context, undefined, {
|
|
141
|
+
platform,
|
|
142
|
+
page: String(page),
|
|
143
|
+
limit: "100",
|
|
144
|
+
}));
|
|
145
|
+
raw = array(response["accounts"])
|
|
146
|
+
.map(object)
|
|
147
|
+
.find((item) => item["_id"] === ref.accountId &&
|
|
148
|
+
(item["platform"] === ref.platform || item["platform"] === platform));
|
|
149
|
+
const pagination = response["pagination"] ? object(response["pagination"]) : {};
|
|
150
|
+
const pages = optionalNumber(pagination["pages"]) ?? optionalNumber(pagination["totalPages"]);
|
|
151
|
+
if (pages === undefined || page >= pages)
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
if (!raw)
|
|
155
|
+
throw new SocialError({
|
|
156
|
+
code: "not_found",
|
|
157
|
+
operation: "accounts.read",
|
|
158
|
+
message: "Provider account was not found.",
|
|
159
|
+
});
|
|
160
|
+
const result = account(raw, context.backendInstance);
|
|
120
161
|
if (result.ref.accountId !== ref.accountId || result.ref.platform !== ref.platform)
|
|
121
162
|
throw new SocialError({
|
|
122
163
|
code: "unauthorized",
|
|
@@ -157,26 +198,47 @@ export function zernio(options) {
|
|
|
157
198
|
: [];
|
|
158
199
|
const destination = destinations.find((item) => {
|
|
159
200
|
const value = item["accountId"];
|
|
160
|
-
const id =
|
|
201
|
+
const id =
|
|
202
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
203
|
+
typeof value === "string"
|
|
161
204
|
? value
|
|
162
|
-
:
|
|
163
|
-
|
|
164
|
-
|
|
205
|
+
: // oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
206
|
+
value && typeof value === "object"
|
|
207
|
+
? object(value)["_id"]
|
|
208
|
+
: undefined;
|
|
165
209
|
return (id === account.accountId &&
|
|
166
210
|
(item["platform"] === account.platform ||
|
|
167
211
|
item["platform"] === (account.platform === "x" ? "twitter" : account.platform)));
|
|
168
212
|
});
|
|
169
213
|
if (destination === undefined)
|
|
170
214
|
return [];
|
|
171
|
-
const platformPostId =
|
|
215
|
+
const platformPostId =
|
|
216
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
217
|
+
typeof destination["platformPostId"] === "string"
|
|
172
218
|
? destination["platformPostId"]
|
|
173
219
|
: undefined;
|
|
174
220
|
return [
|
|
221
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- provider payload is validated at this adapter boundary.
|
|
175
222
|
{
|
|
223
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
224
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
225
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
226
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- validated external boundary or fixture contract.
|
|
227
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
228
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- validated external boundary or fixture contract.
|
|
229
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
176
230
|
...(typeof row["_id"] === "string" ? { backendPostId: row["_id"] } : {}),
|
|
231
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
177
232
|
...(platformPostId === undefined ? {} : { platformPostId }),
|
|
178
233
|
platform: account.platform,
|
|
179
234
|
accountId: account.accountId,
|
|
235
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
236
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
237
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
238
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- validated external boundary or fixture contract.
|
|
239
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
240
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- validated external boundary or fixture contract.
|
|
241
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
180
242
|
...(typeof destination["platformPostUrl"] === "string"
|
|
181
243
|
? { platformPostUrl: destination["platformPostUrl"] }
|
|
182
244
|
: {}),
|
|
@@ -195,7 +257,9 @@ export function zernio(options) {
|
|
|
195
257
|
const pagination = result["pagination"] === undefined ? {} : object(result["pagination"]);
|
|
196
258
|
const totalPages = optionalNumber(pagination["pages"]) ?? optionalNumber(pagination["totalPages"]);
|
|
197
259
|
return {
|
|
260
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- provider payload is validated at this adapter boundary.
|
|
198
261
|
items: rows,
|
|
262
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
199
263
|
...(totalPages !== undefined && page < totalPages
|
|
200
264
|
? { nextCursor: String(page + 1) }
|
|
201
265
|
: {}),
|
|
@@ -227,7 +291,9 @@ export function zernio(options) {
|
|
|
227
291
|
media.push({
|
|
228
292
|
type: item.kind,
|
|
229
293
|
url: await mediaPipeline.resolve(item, target.account, context),
|
|
294
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
230
295
|
...(item.altText === undefined ? {} : { altText: item.altText }),
|
|
296
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
231
297
|
...(item.mimeType === undefined ? {} : { mimeType: item.mimeType }),
|
|
232
298
|
});
|
|
233
299
|
const config = optionsObject(target);
|
|
@@ -235,9 +301,11 @@ export function zernio(options) {
|
|
|
235
301
|
if (target.account.platform === "youtube") {
|
|
236
302
|
native["title"] = string(config["title"]);
|
|
237
303
|
native["visibility"] = string(config["visibility"]);
|
|
304
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
238
305
|
if (typeof config["madeForKids"] === "boolean")
|
|
239
306
|
native["madeForKids"] = config["madeForKids"];
|
|
240
307
|
}
|
|
308
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
241
309
|
if (target.account.platform === "instagram" && typeof config["shareToFeed"] === "boolean")
|
|
242
310
|
native["shareToFeed"] = config["shareToFeed"];
|
|
243
311
|
if (target.account.platform === "x" &&
|
|
@@ -251,13 +319,19 @@ export function zernio(options) {
|
|
|
251
319
|
native["autoAddMusic"] = false;
|
|
252
320
|
native["allowDuet"] = !config["disableDuet"];
|
|
253
321
|
native["allowStitch"] = !config["disableStitch"];
|
|
322
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- provider payload is validated at this adapter boundary.
|
|
254
323
|
native["isBrandOrganicPost"] = config["ownBrand"];
|
|
324
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- provider payload is validated at this adapter boundary.
|
|
255
325
|
native["videoMadeWithAi"] = config["aiGenerated"];
|
|
326
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- provider payload is validated at this adapter boundary.
|
|
256
327
|
native["draft"] = config["draft"];
|
|
328
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
257
329
|
if (typeof config["photoCoverIndex"] === "number")
|
|
258
330
|
native["photoCoverIndex"] = config["photoCoverIndex"];
|
|
331
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
259
332
|
if (typeof config["disableComments"] === "boolean")
|
|
260
333
|
native["allowComment"] = !config["disableComments"];
|
|
334
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
261
335
|
if (typeof config["brandedContent"] === "boolean")
|
|
262
336
|
native["brandPartnerPromote"] = config["brandedContent"];
|
|
263
337
|
}
|
|
@@ -268,12 +342,14 @@ export function zernio(options) {
|
|
|
268
342
|
{
|
|
269
343
|
platform: target.account.platform === "x" ? "twitter" : target.account.platform,
|
|
270
344
|
accountId: target.account.accountId,
|
|
345
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
271
346
|
...(Object.keys(native).length ? { platformSpecificData: native } : {}),
|
|
272
347
|
},
|
|
273
348
|
],
|
|
274
349
|
...(target.schedule
|
|
275
350
|
? {
|
|
276
351
|
scheduledFor: target.schedule.at,
|
|
352
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
277
353
|
...(target.schedule.timeZone ? { timezone: target.schedule.timeZone } : {}),
|
|
278
354
|
}
|
|
279
355
|
: { publishNow: true }),
|
|
@@ -395,10 +471,12 @@ export function zernio(options) {
|
|
|
395
471
|
const result = object(await request(`/v1/inbox/comments/${encodeURIComponent(ref.postId)}`, context, undefined, {
|
|
396
472
|
accountId: ref.accountId,
|
|
397
473
|
limit: String(limit),
|
|
474
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
398
475
|
...(input.cursor === undefined ? {} : { cursor: input.cursor }),
|
|
399
476
|
}));
|
|
400
477
|
const pagination = result["pagination"] ? object(result["pagination"]) : {};
|
|
401
478
|
const cursor = optionalString(pagination["cursor"]);
|
|
479
|
+
const hasMore = pagination["hasMore"];
|
|
402
480
|
return {
|
|
403
481
|
items: array(result["comments"]).map((entry) => publicFields(entry, [
|
|
404
482
|
"id",
|
|
@@ -414,7 +492,8 @@ export function zernio(options) {
|
|
|
414
492
|
"canDelete",
|
|
415
493
|
"canHide",
|
|
416
494
|
])),
|
|
417
|
-
|
|
495
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
496
|
+
...(hasMore === false || !cursor ? {} : { nextCursor: cursor }),
|
|
418
497
|
};
|
|
419
498
|
},
|
|
420
499
|
async reply(ref, content, context) {
|
|
@@ -446,6 +525,7 @@ export function zernio(options) {
|
|
|
446
525
|
const result = object(await request("/v1/inbox/conversations", context, undefined, {
|
|
447
526
|
accountId: ref.accountId,
|
|
448
527
|
limit: String(limit),
|
|
528
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
449
529
|
...(input.cursor === undefined ? {} : { cursor: input.cursor }),
|
|
450
530
|
}));
|
|
451
531
|
const pagination = result["pagination"] === undefined ? {} : object(result["pagination"]);
|
|
@@ -461,6 +541,7 @@ export function zernio(options) {
|
|
|
461
541
|
"updatedTime",
|
|
462
542
|
"unreadCount",
|
|
463
543
|
])),
|
|
544
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
464
545
|
...(cursor ? { nextCursor: cursor } : {}),
|
|
465
546
|
};
|
|
466
547
|
},
|
|
@@ -476,6 +557,7 @@ export function zernio(options) {
|
|
|
476
557
|
const result = object(await request(`/v1/inbox/conversations/${encodeURIComponent(ref.conversationId)}/messages`, context, undefined, {
|
|
477
558
|
accountId: ref.accountId,
|
|
478
559
|
limit: String(limit),
|
|
560
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
479
561
|
...(input.cursor === undefined ? {} : { cursor: input.cursor }),
|
|
480
562
|
}));
|
|
481
563
|
const pagination = result["pagination"] ? object(result["pagination"]) : {};
|
|
@@ -490,6 +572,7 @@ export function zernio(options) {
|
|
|
490
572
|
"createdAt",
|
|
491
573
|
"deliveryStatus",
|
|
492
574
|
])),
|
|
575
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
493
576
|
...(cursor ? { nextCursor: cursor } : {}),
|
|
494
577
|
};
|
|
495
578
|
},
|
|
@@ -504,6 +587,7 @@ export function zernio(options) {
|
|
|
504
587
|
});
|
|
505
588
|
const data = object(result["data"]);
|
|
506
589
|
const messageId = optionalString(data["messageId"]);
|
|
590
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
507
591
|
return { state: "sent", ...(messageId ? { messageId } : {}) };
|
|
508
592
|
},
|
|
509
593
|
},
|
|
@@ -529,6 +613,13 @@ export function zernio(options) {
|
|
|
529
613
|
const response = object(await request(`/v1/connect/${input.platform === "x" ? "twitter" : encodeURIComponent(input.platform)}`, context, undefined, { profileId: input.profileId, redirect_url: input.redirectUrl }));
|
|
530
614
|
return {
|
|
531
615
|
url: string(response["authUrl"]),
|
|
616
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- provider payload is validated at this adapter boundary.
|
|
617
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- provider payload is validated at this adapter boundary.
|
|
618
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
619
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- validated external boundary or fixture contract.
|
|
620
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
621
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- validated external boundary or fixture contract.
|
|
622
|
+
// oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated external boundary or fixture contract.
|
|
532
623
|
...(typeof response["state"] === "string" ? { providerState: response["state"] } : {}),
|
|
533
624
|
};
|
|
534
625
|
},
|