@cogitator-ai/channels 0.10.1 → 0.11.1
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 +2 -1
- package/dist/channels/bluesky/feed.d.ts +12 -0
- package/dist/channels/bluesky/feed.d.ts.map +1 -1
- package/dist/channels/bluesky/feed.js +39 -13
- package/dist/channels/bluesky/feed.js.map +1 -1
- package/dist/channels/threads/client.d.ts +2 -0
- package/dist/channels/threads/client.d.ts.map +1 -1
- package/dist/channels/threads/client.js +5 -0
- package/dist/channels/threads/client.js.map +1 -1
- package/dist/channels/threads/feed.d.ts +25 -1
- package/dist/channels/threads/feed.d.ts.map +1 -1
- package/dist/channels/threads/feed.js +89 -10
- package/dist/channels/threads/feed.js.map +1 -1
- package/dist/feeds/errors.d.ts +3 -0
- package/dist/feeds/errors.d.ts.map +1 -1
- package/dist/feeds/errors.js +4 -0
- package/dist/feeds/errors.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -240,7 +240,7 @@ Outbound calls (`sendText`, `editText`, `sendFile`, `deleteMessage`) throw when
|
|
|
240
240
|
|
|
241
241
|
## Social Feeds
|
|
242
242
|
|
|
243
|
-
Feeds publish posts instead of answering people. `BlueskyFeed` and `ThreadsFeed` publish text with a link card, images with alt text, tags and
|
|
243
|
+
Feeds publish posts instead of answering people. `BlueskyFeed` and `ThreadsFeed` publish text with a link card, images with alt text, tags, replies and quotes of other posts. `FeedPublisher` sends one post to several feeds, now or at `publishAt`:
|
|
244
244
|
|
|
245
245
|
```typescript
|
|
246
246
|
import {
|
|
@@ -276,6 +276,7 @@ publisher.start(); // publishes scheduled posts and retries when they are due
|
|
|
276
276
|
```
|
|
277
277
|
|
|
278
278
|
- Each feed is tried on its own and each outcome saved as soon as it is known. A delivery keeps the feed's idempotency key from before its first attempt, so an attempt after a crash or a lost answer finds the post instead of publishing it twice (Bluesky publishes under that record key, Threads looks the post up). Retries wait as long as the feed asked or back off from one minute to an hour, and a full Threads quota is waited out without spending attempts.
|
|
279
|
+
- `replyTo` and `quote` name a post of one feed, so a reply or a quote goes to that feed only: take the id from that feed's delivery and publish with `feeds: [delivery.feed]`.
|
|
279
280
|
- Text is measured as each feed counts it (`graphemeLength` on Bluesky, with its 3000-byte limit too, `threadsLength` on Threads with emoji as their UTF-8 bytes) and fitted to each feed with an ellipsis (`overflow: 'fail'` fails instead). Each feed checks its rules before sending (images, links, tags) and fails with a `FeedError` that says whether retrying helps.
|
|
280
281
|
- Jobs live in `MemoryPublishStore`, `FilePublishStore` or `PostgresPublishStore` (several workers, claims with `FOR UPDATE SKIP LOCKED`). A worker takes one due job at a time, extends its claim while it works and saves only while the claim is its own. Sessions and tokens live in `MemoryTokenStore`, `FileTokenStore` (owner-only file, shared safely by the stores of one process) or `PostgresTokenStore`.
|
|
281
282
|
- The Threads token renews itself a week before its 60 days end. `BlueskyAccount` and `ThreadsAccount` share one session between a feed and a channel.
|
|
@@ -39,7 +39,13 @@ export declare class BlueskyFeed implements FeedChannel {
|
|
|
39
39
|
close(): Promise<void>;
|
|
40
40
|
private validate;
|
|
41
41
|
private upload;
|
|
42
|
+
/**
|
|
43
|
+
* The post's embed: its images or link card, the post it quotes, or the
|
|
44
|
+
* quote with its media.
|
|
45
|
+
*/
|
|
42
46
|
private embed;
|
|
47
|
+
/** The post's images, or its link card with an uploaded preview. */
|
|
48
|
+
private media;
|
|
43
49
|
/** The post record for `post`: text with facets, embed, reply, tags and languages. */
|
|
44
50
|
private record;
|
|
45
51
|
/** The account's post under `rkey`, from its own PDS, which knows a post as soon as it exists. */
|
|
@@ -51,6 +57,12 @@ export declare class BlueskyFeed implements FeedChannel {
|
|
|
51
57
|
* never waits for it.
|
|
52
58
|
*/
|
|
53
59
|
private replyRef;
|
|
60
|
+
/**
|
|
61
|
+
* A post as a strong reference, with the root of the thread it is in:
|
|
62
|
+
* from the posts this feed published, from the account's own PDS for its
|
|
63
|
+
* other posts, otherwise from the AppView.
|
|
64
|
+
*/
|
|
65
|
+
private locate;
|
|
54
66
|
/** Keeps where a published post sits, so replies to it need no lookup. */
|
|
55
67
|
private remember;
|
|
56
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/channels/bluesky/feed.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/channels/bluesky/feed.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGxD,8FAA8F;AAC9F,MAAM,MAAM,iBAAiB,GAAG,CAAC;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,GAAG,uBAAuB,CAAC,GAAG;IACxF,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,cAAc,EAAE,UAAU,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CAStB,CAAC;AAmCF,qDAAqD;AACrD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAkB;IAC7C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuD;gBAEhE,MAAM,EAAE,iBAAiB;IAKrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,0EAA0E;IAC1E,cAAc,IAAI,MAAM;IAIlB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;IA8CjF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE5B,OAAO,CAAC,QAAQ;YAwCF,MAAM;IASpB;;;OAGG;YACW,KAAK;IAQnB,oEAAoE;YACtD,KAAK;IA6CnB,sFAAsF;YACxE,MAAM;IA+BpB,kGAAkG;YACpF,UAAU;IA0BxB;;;;;OAKG;YACW,QAAQ;IAKtB;;;;OAIG;YACW,MAAM;IA0BpB,0EAA0E;IAC1E,OAAO,CAAC,QAAQ;CAOjB;AA8BD,sBAAsB;AACtB,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAElE"}
|
|
@@ -17,6 +17,7 @@ const encoder = new TextEncoder();
|
|
|
17
17
|
const POST_COLLECTION = 'app.bsky.feed.post';
|
|
18
18
|
const TID_CHARS = '234567abcdefghijklmnopqrstuvwxyz';
|
|
19
19
|
const TID_PATTERN = /^[234567abcdefghij][234567abcdefghijklmnopqrstuvwxyz]{12}$/;
|
|
20
|
+
const POST_URI = /^at:\/\/([^/]+)\/app\.bsky\.feed\.post\/([^/]+)$/;
|
|
20
21
|
const MAX_REFS = 500;
|
|
21
22
|
let lastTidMicros = 0;
|
|
22
23
|
/**
|
|
@@ -35,7 +36,7 @@ function nextTid() {
|
|
|
35
36
|
}
|
|
36
37
|
/** The public URL of a post from its `at://` URI. */
|
|
37
38
|
export function blueskyPostUrl(uri) {
|
|
38
|
-
const match =
|
|
39
|
+
const match = POST_URI.exec(uri);
|
|
39
40
|
if (!match)
|
|
40
41
|
throw new FeedError('bluesky', 'invalid_post', `Not a Bluesky post URI: ${uri}`);
|
|
41
42
|
return `https://bsky.app/profile/${match[1]}/post/${match[2]}`;
|
|
@@ -138,6 +139,9 @@ export class BlueskyFeed {
|
|
|
138
139
|
if (images.length > BLUESKY_LIMITS.maxImages) {
|
|
139
140
|
throw invalid(`The post has ${images.length} images, Bluesky takes ${BLUESKY_LIMITS.maxImages}`);
|
|
140
141
|
}
|
|
142
|
+
if (post.quote !== undefined && !POST_URI.test(post.quote)) {
|
|
143
|
+
throw invalid(`The post to quote must be an at:// post URI, got "${post.quote}"`);
|
|
144
|
+
}
|
|
141
145
|
if (images.length > 0 && post.link) {
|
|
142
146
|
throw invalid('Bluesky shows either images or a link card: put the link in the text');
|
|
143
147
|
}
|
|
@@ -168,7 +172,20 @@ export class BlueskyFeed {
|
|
|
168
172
|
throw blueskyError(error, 'Uploading an image');
|
|
169
173
|
}
|
|
170
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* The post's embed: its images or link card, the post it quotes, or the
|
|
177
|
+
* quote with its media.
|
|
178
|
+
*/
|
|
171
179
|
async embed(agent, post) {
|
|
180
|
+
const media = await this.media(agent, post);
|
|
181
|
+
if (!post.quote)
|
|
182
|
+
return media;
|
|
183
|
+
const quoted = (await this.locate(agent, post.quote, 'quote')).ref;
|
|
184
|
+
const record = { $type: 'app.bsky.embed.record', record: quoted };
|
|
185
|
+
return media ? { $type: 'app.bsky.embed.recordWithMedia', record, media } : record;
|
|
186
|
+
}
|
|
187
|
+
/** The post's images, or its link card with an uploaded preview. */
|
|
188
|
+
async media(agent, post) {
|
|
172
189
|
if (post.images?.length) {
|
|
173
190
|
const images = await Promise.all(post.images.map(async (image, index) => ({
|
|
174
191
|
image: await this.upload(agent, await attachmentBytes('bluesky', image.image, {
|
|
@@ -258,29 +275,38 @@ export class BlueskyFeed {
|
|
|
258
275
|
* never waits for it.
|
|
259
276
|
*/
|
|
260
277
|
async replyRef(agent, uri) {
|
|
278
|
+
const { ref, root } = await this.locate(agent, uri, 'reply to');
|
|
279
|
+
return { root, parent: ref };
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* A post as a strong reference, with the root of the thread it is in:
|
|
283
|
+
* from the posts this feed published, from the account's own PDS for its
|
|
284
|
+
* other posts, otherwise from the AppView.
|
|
285
|
+
*/
|
|
286
|
+
async locate(agent, uri, purpose) {
|
|
261
287
|
const known = this.refs.get(uri);
|
|
262
288
|
if (known)
|
|
263
|
-
return {
|
|
264
|
-
const match =
|
|
289
|
+
return { ref: { uri, cid: known.cid }, root: known.root };
|
|
290
|
+
const match = POST_URI.exec(uri);
|
|
265
291
|
if (match?.[1] && match[2] && match[1] === agent.did) {
|
|
266
292
|
const own = await this.findRecord(agent, match[1], match[2]);
|
|
267
293
|
if (!own)
|
|
268
|
-
throw new FeedError('bluesky', 'not_found', `No post ${uri} to
|
|
269
|
-
const
|
|
270
|
-
return { root: own.reply?.root ??
|
|
294
|
+
throw new FeedError('bluesky', 'not_found', `No post ${uri} to ${purpose}`);
|
|
295
|
+
const ref = { uri: own.uri, cid: own.cid };
|
|
296
|
+
return { ref, root: own.reply?.root ?? ref };
|
|
271
297
|
}
|
|
272
|
-
let
|
|
298
|
+
let found;
|
|
273
299
|
try {
|
|
274
300
|
const response = await agent.getPosts({ uris: [uri] });
|
|
275
|
-
|
|
301
|
+
found = response.data.posts[0];
|
|
276
302
|
}
|
|
277
303
|
catch (error) {
|
|
278
|
-
throw blueskyError(error,
|
|
304
|
+
throw blueskyError(error, `Loading the post to ${purpose}`);
|
|
279
305
|
}
|
|
280
|
-
if (!
|
|
281
|
-
throw new FeedError('bluesky', 'not_found', `No post ${uri} to
|
|
282
|
-
const
|
|
283
|
-
return {
|
|
306
|
+
if (!found)
|
|
307
|
+
throw new FeedError('bluesky', 'not_found', `No post ${uri} to ${purpose}`);
|
|
308
|
+
const ref = { uri: found.uri, cid: found.cid };
|
|
309
|
+
return { ref, root: replyRootOf(found.record) ?? ref };
|
|
284
310
|
}
|
|
285
311
|
/** Keeps where a published post sits, so replies to it need no lookup. */
|
|
286
312
|
remember(uri, cid, root) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../../../src/channels/bluesky/feed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../../../src/channels/bluesky/feed.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ interface GraphError {
|
|
|
9
9
|
error_user_msg?: string;
|
|
10
10
|
fbtrace_id?: string;
|
|
11
11
|
}
|
|
12
|
+
/** The Graph API code of an object that cannot be found, such as a media container. */
|
|
13
|
+
export declare const MEDIA_NOT_FOUND = 24;
|
|
12
14
|
/** The feed error code a Graph API error means. */
|
|
13
15
|
export declare function threadsErrorCode(status: number, error: GraphError): FeedErrorCode;
|
|
14
16
|
export type ThreadsParams = Record<string, string | number | boolean | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/channels/threads/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,aAAa,EAA+B,MAAM,oBAAoB,CAAC;AAEhG,eAAO,MAAM,WAAW,mCAAmC,CAAC;AAE5D,gDAAgD;AAChD,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/channels/threads/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,aAAa,EAA+B,MAAM,oBAAoB,CAAC;AAEhG,eAAO,MAAM,WAAW,mCAAmC,CAAC;AAE5D,gDAAgD;AAChD,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,uFAAuF;AACvF,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,mDAAmD;AACnD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,CAUjF;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAElF,uCAAuC;AACvC,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACX,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9F;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,KAAK,EAAE,aAAa,GACnB,aAAa,GAAG,SAAS,CAa3B;AAED,sFAAsF;AACtF,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;KAAO;IAE5E,GAAG,CAAC,CAAC,EACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,aAAkB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC;IAQP,IAAI,CAAC,CAAC,EACV,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,aAAkB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC;IASP,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;YAMhE,IAAI;CA4CnB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { FeedError, feedErrorCode, retryAfterOf } from '../../feeds/errors.js';
|
|
2
2
|
export const THREADS_API = 'https://graph.threads.net/v1.0';
|
|
3
3
|
const RATE_LIMIT_CODES = new Set([4, 17, 32, 613]);
|
|
4
|
+
/** The Graph API code of an object that cannot be found, such as a media container. */
|
|
5
|
+
export const MEDIA_NOT_FOUND = 24;
|
|
4
6
|
/** The feed error code a Graph API error means. */
|
|
5
7
|
export function threadsErrorCode(status, error) {
|
|
6
8
|
const text = `${error.message ?? ''} ${error.error_user_msg ?? ''}`;
|
|
@@ -13,6 +15,8 @@ export function threadsErrorCode(status, error) {
|
|
|
13
15
|
}
|
|
14
16
|
if (error.code === 10 || error.code === 200)
|
|
15
17
|
return 'auth';
|
|
18
|
+
if (error.code === MEDIA_NOT_FOUND)
|
|
19
|
+
return 'not_found';
|
|
16
20
|
return feedErrorCode(status);
|
|
17
21
|
}
|
|
18
22
|
/** The query of the page after `page`, or none when it was the last. */
|
|
@@ -92,6 +96,7 @@ export class ThreadsClient {
|
|
|
92
96
|
throw new FeedError('threads', threadsErrorCode(response.status, graph), `${init.method} ${path} failed: ${graph.error_user_msg ?? graph.message ?? `HTTP ${response.status}`}`, {
|
|
93
97
|
status: response.status,
|
|
94
98
|
...(retryAfter !== undefined && { retryAfter }),
|
|
99
|
+
...(graph.code !== undefined && { platformCode: graph.code }),
|
|
95
100
|
...(graph.error_subcode !== undefined && { subcode: graph.error_subcode }),
|
|
96
101
|
cause: body,
|
|
97
102
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/channels/threads/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhG,MAAM,CAAC,MAAM,WAAW,GAAG,gCAAgC,CAAC;AAY5D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/channels/threads/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,11 @@ export type ThreadsFeedConfig = ({
|
|
|
9
9
|
pollDelays?: readonly number[];
|
|
10
10
|
/** Checks the 24-hour publishing quota before each post (default true). */
|
|
11
11
|
checkQuota?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* The waits before publishing a ready post again when Threads answers that
|
|
14
|
+
* it cannot find it, in ms (default 2, 5 and 10 seconds).
|
|
15
|
+
*/
|
|
16
|
+
publishRetryDelays?: readonly number[];
|
|
12
17
|
};
|
|
13
18
|
/** What a Threads post accepts. */
|
|
14
19
|
export declare const THREADS_LIMITS: FeedLimits & {
|
|
@@ -36,6 +41,7 @@ export declare class ThreadsFeed implements FeedChannel {
|
|
|
36
41
|
private readonly timeout;
|
|
37
42
|
private readonly delays;
|
|
38
43
|
private readonly checkQuota;
|
|
44
|
+
private readonly publishRetryDelays;
|
|
39
45
|
/** The posts this feed published, by id, with the key each was published under. */
|
|
40
46
|
private readonly published;
|
|
41
47
|
/** The post each key was published as, so a retry in this process needs no lookup. */
|
|
@@ -53,6 +59,24 @@ export declare class ThreadsFeed implements FeedChannel {
|
|
|
53
59
|
* publishes it, with `topicTag` as its topic tag where given.
|
|
54
60
|
*/
|
|
55
61
|
private publishContainer;
|
|
62
|
+
/**
|
|
63
|
+
* Publishes a ready container. Threads sometimes answers that a container
|
|
64
|
+
* it just reported FINISHED cannot be found (Graph API code 24) and takes
|
|
65
|
+
* it seconds later, so that answer is tried again after the waits of
|
|
66
|
+
* `publishRetryDelays`. Before each try the container's status is read:
|
|
67
|
+
* PUBLISHED means an earlier call did publish it, so the post is looked up
|
|
68
|
+
* among the account's posts instead of going out twice. A post with neither
|
|
69
|
+
* text nor alt text cannot be told apart there, so it fails as `unknown`
|
|
70
|
+
* rather than going out twice or taking another post's id. A container still
|
|
71
|
+
* not found after the last wait fails as `unavailable`, for the publisher
|
|
72
|
+
* to try the post again later.
|
|
73
|
+
*/
|
|
74
|
+
private publishReady;
|
|
75
|
+
/**
|
|
76
|
+
* A container's status, failing as `invalid_post` when Threads gave up on
|
|
77
|
+
* it, and unknown while Threads cannot find it either.
|
|
78
|
+
*/
|
|
79
|
+
private containerStatus;
|
|
56
80
|
/** Checks the post against Threads' rules and returns its topic tag. */
|
|
57
81
|
private validate;
|
|
58
82
|
private assertQuota;
|
|
@@ -66,7 +90,7 @@ export declare class ThreadsFeed implements FeedChannel {
|
|
|
66
90
|
* The post an earlier attempt with the same key made: one of the account's
|
|
67
91
|
* posts (or replies to `post.replyTo`) since `since`, less the clock skew,
|
|
68
92
|
* that is the same post and that this feed did not publish under another
|
|
69
|
-
* key. Two posts the same in all Threads lists, published by other
|
|
93
|
+
* key, or at all when there is no key. Two posts the same in all Threads lists, published by other
|
|
70
94
|
* processes within that minute, cannot be told apart.
|
|
71
95
|
*/
|
|
72
96
|
private findEarlier;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/channels/threads/feed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAoB,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAG7F,MAAM,MAAM,iBAAiB,GAAG,CAAC;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,GAAG,oBAAoB,CAAC,GAAG;IACrF,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/channels/threads/feed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAoB,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAG7F,MAAM,MAAM,iBAAiB,GAAG,CAAC;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,GAAG,oBAAoB,CAAC,GAAG;IACrF,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,CAAC;AAEF,mCAAmC;AACnC,eAAO,MAAM,cAAc,EAAE,UAAU,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAOtF,CAAC;AA0JF;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAkB;IAC7C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;gBAE9C,MAAM,EAAE,iBAAiB;IAUrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,gFAAgF;IAChF,cAAc,IAAI,MAAM;IAIlB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;IA4CjF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;OAGG;YACW,gBAAgB;IAoE9B;;;;;;;;;;;OAWG;YACW,YAAY;IAsD1B;;;OAGG;YACW,eAAe;IAqB7B,wEAAwE;IACxE,OAAO,CAAC,QAAQ;YA8CF,WAAW;IAqBzB;;;;OAIG;YACW,YAAY;IA+B1B;;;;;;OAMG;YACW,WAAW;IAqCzB,6EAA6E;IAC7E,OAAO,CAAC,QAAQ;YAUF,KAAK;CA2BpB;AAED,sBAAsB;AACtB,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAElE"}
|
|
@@ -3,6 +3,7 @@ import { assertImage } from '../../feeds/attachments.js';
|
|
|
3
3
|
import { FeedError } from '../../feeds/errors.js';
|
|
4
4
|
import { threadsLength } from '../../feeds/text.js';
|
|
5
5
|
import { threadsAccountOf } from './account.js';
|
|
6
|
+
import { MEDIA_NOT_FOUND } from './client.js';
|
|
6
7
|
/** What a Threads post accepts. */
|
|
7
8
|
export const THREADS_LIMITS = {
|
|
8
9
|
maxLength: 500,
|
|
@@ -21,6 +22,7 @@ const CLOCK_SKEW = 60_000;
|
|
|
21
22
|
const QUOTA_MARGIN = 60_000;
|
|
22
23
|
const QUOTA_WINDOW = 86_400;
|
|
23
24
|
const LOOKUP_PAGES = 4;
|
|
25
|
+
const MEDIA_ID = /^\d+$/;
|
|
24
26
|
/**
|
|
25
27
|
* The Graph API error subcode of a post Threads refuses for its topic tag:
|
|
26
28
|
* an account that tags many posts can be blocked from tagging for a while,
|
|
@@ -29,7 +31,7 @@ const LOOKUP_PAGES = 4;
|
|
|
29
31
|
const TOPIC_TAG_BLOCKED = 2207051;
|
|
30
32
|
const MAX_PUBLISHED = 1000;
|
|
31
33
|
const QUOTA_PAGES = 12;
|
|
32
|
-
const LOOKUP_FIELDS = 'id,text,timestamp,permalink,media_type,link_attachment_url,topic_tag,alt_text';
|
|
34
|
+
const LOOKUP_FIELDS = 'id,text,timestamp,permalink,media_type,link_attachment_url,topic_tag,alt_text,quoted_post';
|
|
33
35
|
/** A URL as compared with the one Threads lists: no trailing slashes. */
|
|
34
36
|
function comparableUrl(url) {
|
|
35
37
|
let end = url.length;
|
|
@@ -44,17 +46,19 @@ function mediaTypeOf(post) {
|
|
|
44
46
|
}
|
|
45
47
|
/**
|
|
46
48
|
* Whether a listed post is `post` as published: the same kind, text, link
|
|
47
|
-
* card, topic tag, alt text of a single image and the
|
|
49
|
+
* card, topic tag, alt text of a single image, and the posts it answers and
|
|
50
|
+
* quotes. A quote post carries no link card, since Threads drops it.
|
|
48
51
|
* Anything missing or different makes it another post, since posting twice
|
|
49
52
|
* shows, while a post taken for another one is lost without a trace.
|
|
50
53
|
*/
|
|
51
54
|
function samePost(listed, post, topicTag) {
|
|
52
55
|
const images = post.images ?? [];
|
|
53
56
|
const alt = images.length === 1 ? (images[0]?.alt ?? '') : '';
|
|
54
|
-
const link = post.link ? comparableUrl(post.link.url) : '';
|
|
57
|
+
const link = post.link && !post.quote ? comparableUrl(post.link.url) : '';
|
|
55
58
|
return (listed.media_type === mediaTypeOf(post) &&
|
|
56
59
|
normalized(listed.text) === normalized(post.text) &&
|
|
57
60
|
listed.replied_to?.id === post.replyTo &&
|
|
61
|
+
listed.quoted_post?.id === post.quote &&
|
|
58
62
|
(listed.link_attachment_url ? comparableUrl(listed.link_attachment_url) : '') === link &&
|
|
59
63
|
(listed.topic_tag === undefined ||
|
|
60
64
|
listed.topic_tag.toLowerCase() === (topicTag ?? '').toLowerCase()) &&
|
|
@@ -129,6 +133,7 @@ export class ThreadsFeed {
|
|
|
129
133
|
timeout;
|
|
130
134
|
delays;
|
|
131
135
|
checkQuota;
|
|
136
|
+
publishRetryDelays;
|
|
132
137
|
/** The posts this feed published, by id, with the key each was published under. */
|
|
133
138
|
published = new Map();
|
|
134
139
|
/** The post each key was published as, so a retry in this process needs no lookup. */
|
|
@@ -140,6 +145,7 @@ export class ThreadsFeed {
|
|
|
140
145
|
? config.pollDelays
|
|
141
146
|
: [1000, 2000, 4000, 8000, 15000, 30000];
|
|
142
147
|
this.checkQuota = config.checkQuota ?? true;
|
|
148
|
+
this.publishRetryDelays = config.publishRetryDelays ?? [2000, 5000, 10000];
|
|
143
149
|
}
|
|
144
150
|
measure(text) {
|
|
145
151
|
return threadsLength(text);
|
|
@@ -169,14 +175,14 @@ export class ThreadsFeed {
|
|
|
169
175
|
await this.assertQuota(Boolean(post.replyTo), signal);
|
|
170
176
|
let published;
|
|
171
177
|
try {
|
|
172
|
-
published = await this.publishContainer(post, topicTag, signal);
|
|
178
|
+
published = await this.publishContainer(post, topicTag, idempotencyKey, signal);
|
|
173
179
|
}
|
|
174
180
|
catch (error) {
|
|
175
181
|
if (!topicTag || !(error instanceof FeedError) || error.subcode !== TOPIC_TAG_BLOCKED) {
|
|
176
182
|
throw error;
|
|
177
183
|
}
|
|
178
184
|
console.warn(`[threads] Threads blocked the topic tag "${topicTag}" for this account, publishing without it`);
|
|
179
|
-
published = await this.publishContainer(post, undefined, signal);
|
|
185
|
+
published = await this.publishContainer(post, undefined, idempotencyKey, signal);
|
|
180
186
|
}
|
|
181
187
|
let url = '';
|
|
182
188
|
try {
|
|
@@ -207,11 +213,12 @@ export class ThreadsFeed {
|
|
|
207
213
|
* Makes the post's media container, waits until Threads has it ready and
|
|
208
214
|
* publishes it, with `topicTag` as its topic tag where given.
|
|
209
215
|
*/
|
|
210
|
-
async publishContainer(post, topicTag, signal) {
|
|
216
|
+
async publishContainer(post, topicTag, key, signal) {
|
|
211
217
|
const user = this.account.userId;
|
|
212
218
|
const shared = {
|
|
213
219
|
...(topicTag && { topic_tag: topicTag }),
|
|
214
220
|
...(post.replyTo && { reply_to_id: post.replyTo }),
|
|
221
|
+
...(post.quote && { quote_post_id: post.quote }),
|
|
215
222
|
};
|
|
216
223
|
const images = post.images ?? [];
|
|
217
224
|
let container;
|
|
@@ -219,7 +226,7 @@ export class ThreadsFeed {
|
|
|
219
226
|
container = await this.account.post(`${user}/threads`, {
|
|
220
227
|
media_type: 'TEXT',
|
|
221
228
|
text: post.text,
|
|
222
|
-
...(post.link && { link_attachment: post.link.url }),
|
|
229
|
+
...(post.link && !post.quote && { link_attachment: post.link.url }),
|
|
223
230
|
...shared,
|
|
224
231
|
}, signal);
|
|
225
232
|
}
|
|
@@ -252,7 +259,75 @@ export class ThreadsFeed {
|
|
|
252
259
|
}, signal);
|
|
253
260
|
}
|
|
254
261
|
await this.ready(container.id, signal);
|
|
255
|
-
return this.
|
|
262
|
+
return this.publishReady(post, topicTag, key, container.id, signal);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Publishes a ready container. Threads sometimes answers that a container
|
|
266
|
+
* it just reported FINISHED cannot be found (Graph API code 24) and takes
|
|
267
|
+
* it seconds later, so that answer is tried again after the waits of
|
|
268
|
+
* `publishRetryDelays`. Before each try the container's status is read:
|
|
269
|
+
* PUBLISHED means an earlier call did publish it, so the post is looked up
|
|
270
|
+
* among the account's posts instead of going out twice. A post with neither
|
|
271
|
+
* text nor alt text cannot be told apart there, so it fails as `unknown`
|
|
272
|
+
* rather than going out twice or taking another post's id. A container still
|
|
273
|
+
* not found after the last wait fails as `unavailable`, for the publisher
|
|
274
|
+
* to try the post again later.
|
|
275
|
+
*/
|
|
276
|
+
async publishReady(post, topicTag, key, containerId, signal) {
|
|
277
|
+
const since = Date.now();
|
|
278
|
+
let wentOut = false;
|
|
279
|
+
let lastError;
|
|
280
|
+
for (let attempt = 0;; attempt++) {
|
|
281
|
+
if (wentOut) {
|
|
282
|
+
if (!identifiable(post)) {
|
|
283
|
+
throw new FeedError('threads', 'unknown', `Threads published container ${containerId}, but a post with neither text nor alt text cannot be told apart among the account's posts, so its id is unknown`, { platformCode: MEDIA_NOT_FOUND, ...(lastError && { cause: lastError }) });
|
|
284
|
+
}
|
|
285
|
+
const found = await this.findEarlier(post, topicTag, key, since, signal);
|
|
286
|
+
if (found)
|
|
287
|
+
return { id: found.id };
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
try {
|
|
291
|
+
return await this.account.post(`${this.account.userId}/threads_publish`, { creation_id: containerId }, signal);
|
|
292
|
+
}
|
|
293
|
+
catch (error) {
|
|
294
|
+
if (!(error instanceof FeedError) || error.platformCode !== MEDIA_NOT_FOUND)
|
|
295
|
+
throw error;
|
|
296
|
+
lastError = error;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
const wait = this.publishRetryDelays[attempt];
|
|
300
|
+
if (wait === undefined) {
|
|
301
|
+
throw new FeedError('threads', 'unavailable', wentOut
|
|
302
|
+
? `Threads published container ${containerId} but does not list the post yet`
|
|
303
|
+
: `Threads could not find the ready container ${containerId} to publish it`, {
|
|
304
|
+
...(lastError?.status !== undefined && { status: lastError.status }),
|
|
305
|
+
platformCode: MEDIA_NOT_FOUND,
|
|
306
|
+
cause: lastError,
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
await sleep(wait, signal);
|
|
310
|
+
if (!wentOut)
|
|
311
|
+
wentOut = (await this.containerStatus(containerId, signal)) === 'PUBLISHED';
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* A container's status, failing as `invalid_post` when Threads gave up on
|
|
316
|
+
* it, and unknown while Threads cannot find it either.
|
|
317
|
+
*/
|
|
318
|
+
async containerStatus(id, signal) {
|
|
319
|
+
try {
|
|
320
|
+
const { status, error_message } = await this.account.get(id, { fields: 'status,error_message' }, signal);
|
|
321
|
+
if (status === 'ERROR' || status === 'EXPIRED') {
|
|
322
|
+
throw new FeedError('threads', 'invalid_post', `Threads could not prepare the post (${status}${error_message ? `: ${error_message}` : ''})`);
|
|
323
|
+
}
|
|
324
|
+
return status;
|
|
325
|
+
}
|
|
326
|
+
catch (error) {
|
|
327
|
+
if (error instanceof FeedError && error.platformCode === MEDIA_NOT_FOUND)
|
|
328
|
+
return undefined;
|
|
329
|
+
throw error;
|
|
330
|
+
}
|
|
256
331
|
}
|
|
257
332
|
/** Checks the post against Threads' rules and returns its topic tag. */
|
|
258
333
|
validate(post) {
|
|
@@ -262,6 +337,9 @@ export class ThreadsFeed {
|
|
|
262
337
|
throw invalid(`The text is ${length} long, Threads takes ${THREADS_LIMITS.maxLength}`);
|
|
263
338
|
}
|
|
264
339
|
const images = post.images ?? [];
|
|
340
|
+
if (post.quote !== undefined && !MEDIA_ID.test(post.quote)) {
|
|
341
|
+
throw invalid(`The post to quote must be a Threads media id, got "${post.quote}"`);
|
|
342
|
+
}
|
|
265
343
|
if (images.length > 0 && post.link) {
|
|
266
344
|
throw invalid('Threads shows either images or a link card: put the link in the text');
|
|
267
345
|
}
|
|
@@ -335,7 +413,7 @@ export class ThreadsFeed {
|
|
|
335
413
|
* The post an earlier attempt with the same key made: one of the account's
|
|
336
414
|
* posts (or replies to `post.replyTo`) since `since`, less the clock skew,
|
|
337
415
|
* that is the same post and that this feed did not publish under another
|
|
338
|
-
* key. Two posts the same in all Threads lists, published by other
|
|
416
|
+
* key, or at all when there is no key. Two posts the same in all Threads lists, published by other
|
|
339
417
|
* processes within that minute, cannot be told apart.
|
|
340
418
|
*/
|
|
341
419
|
async findEarlier(post, topicTag, key, since, signal) {
|
|
@@ -346,7 +424,8 @@ export class ThreadsFeed {
|
|
|
346
424
|
limit: 50,
|
|
347
425
|
}, LOOKUP_PAGES, signal);
|
|
348
426
|
for await (const posts of pages) {
|
|
349
|
-
const match = posts.find((listed) => (!this.published.has(listed.id) ||
|
|
427
|
+
const match = posts.find((listed) => (!this.published.has(listed.id) ||
|
|
428
|
+
(key !== undefined && this.published.get(listed.id) === key)) &&
|
|
350
429
|
samePost(listed, post, topicTag));
|
|
351
430
|
if (match) {
|
|
352
431
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../../../src/channels/threads/feed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../../../src/channels/threads/feed.ts"],"names":[],"mappings":"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"}
|
package/dist/feeds/errors.d.ts
CHANGED
|
@@ -21,11 +21,14 @@ export declare class FeedError extends Error {
|
|
|
21
21
|
readonly status?: number;
|
|
22
22
|
/** How long to wait before trying again, in ms, where the feed said. */
|
|
23
23
|
readonly retryAfter?: number;
|
|
24
|
+
/** The platform's own error code where it gives one, such as a Graph API `code`. */
|
|
25
|
+
readonly platformCode?: number;
|
|
24
26
|
/** The platform's finer error code where it gives one, such as a Graph API `error_subcode`. */
|
|
25
27
|
readonly subcode?: number;
|
|
26
28
|
constructor(feed: string, code: FeedErrorCode, message: string, options?: {
|
|
27
29
|
status?: number;
|
|
28
30
|
retryAfter?: number;
|
|
31
|
+
platformCode?: number;
|
|
29
32
|
subcode?: number;
|
|
30
33
|
cause?: unknown;
|
|
31
34
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/feeds/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa;AACvB,sDAAsD;AACpD,MAAM;AACR,0DAA0D;GACxD,eAAe;AACjB,uDAAuD;GACrD,cAAc;AAChB,wDAAwD;GACtD,gBAAgB;AAClB,wFAAwF;GACtF,cAAc;AAChB,uDAAuD;GACrD,WAAW;AACb,oDAAoD;GAClD,aAAa,GACb,SAAS,CAAC;AAQd,wEAAwE;AACxE,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAGxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/feeds/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa;AACvB,sDAAsD;AACpD,MAAM;AACR,0DAA0D;GACxD,eAAe;AACjB,uDAAuD;GACrD,cAAc;AAChB,wDAAwD;GACtD,gBAAgB;AAClB,wFAAwF;GACtF,cAAc;AAChB,uDAAuD;GACrD,WAAW;AACb,oDAAoD;GAClD,aAAa,GACb,SAAS,CAAC;AAQd,wEAAwE;AACxE,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,oFAAoF;IACpF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAGxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ;IAYR,kDAAkD;IAClD,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAO3D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,SAAa,GAAG,MAAM,GAAG,SAAS,CAWnF"}
|
package/dist/feeds/errors.js
CHANGED
|
@@ -11,6 +11,8 @@ export class FeedError extends Error {
|
|
|
11
11
|
status;
|
|
12
12
|
/** How long to wait before trying again, in ms, where the feed said. */
|
|
13
13
|
retryAfter;
|
|
14
|
+
/** The platform's own error code where it gives one, such as a Graph API `code`. */
|
|
15
|
+
platformCode;
|
|
14
16
|
/** The platform's finer error code where it gives one, such as a Graph API `error_subcode`. */
|
|
15
17
|
subcode;
|
|
16
18
|
constructor(feed, code, message, options = {}) {
|
|
@@ -22,6 +24,8 @@ export class FeedError extends Error {
|
|
|
22
24
|
this.status = options.status;
|
|
23
25
|
if (options.retryAfter !== undefined)
|
|
24
26
|
this.retryAfter = options.retryAfter;
|
|
27
|
+
if (options.platformCode !== undefined)
|
|
28
|
+
this.platformCode = options.platformCode;
|
|
25
29
|
if (options.subcode !== undefined)
|
|
26
30
|
this.subcode = options.subcode;
|
|
27
31
|
}
|
package/dist/feeds/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/feeds/errors.ts"],"names":[],"mappings":"AAiBA,MAAM,SAAS,GAA+B,IAAI,GAAG,CAAC;IACpD,cAAc;IACd,gBAAgB;IAChB,aAAa;CACd,CAAC,CAAC;AAEH,wEAAwE;AACxE,MAAM,OAAO,SAAU,SAAQ,KAAK;IACzB,IAAI,CAAS;IACb,IAAI,CAAgB;IAC7B,yDAAyD;IAChD,MAAM,CAAU;IACzB,wEAAwE;IAC/D,UAAU,CAAU;IAC7B,+FAA+F;IACtF,OAAO,CAAU;IAE1B,YACE,IAAY,EACZ,IAAmB,EACnB,OAAe,EACf,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/feeds/errors.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitator-ai/channels",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "Messaging channel connectors and Gateway for Cogitator AI agents",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cogitator",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"dist"
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@cogitator-ai/core": "0.
|
|
37
|
-
"@cogitator-ai/memory": "0.12.
|
|
38
|
-
"@cogitator-ai/types": "0.
|
|
36
|
+
"@cogitator-ai/core": "0.39.0",
|
|
37
|
+
"@cogitator-ai/memory": "0.12.5",
|
|
38
|
+
"@cogitator-ai/types": "0.41.0",
|
|
39
39
|
"cron-parser": "^5.10.1",
|
|
40
40
|
"nanoid": "^6.0.1",
|
|
41
41
|
"zod": "^4.6.5"
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
"ws": "^8.22.0"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
|
-
"@cogitator-ai/browser": ">=0.4.
|
|
55
|
-
"@cogitator-ai/mcp": "^19.3.
|
|
54
|
+
"@cogitator-ai/browser": ">=0.4.15",
|
|
55
|
+
"@cogitator-ai/mcp": "^19.3.5",
|
|
56
56
|
"@cogitator-ai/models": "^18.4.0",
|
|
57
|
-
"@cogitator-ai/rag": ">=0.
|
|
57
|
+
"@cogitator-ai/rag": ">=0.7.0",
|
|
58
58
|
"@huggingface/transformers": ">=3.0.0",
|
|
59
59
|
"@slack/bolt": ">=3.0.0",
|
|
60
60
|
"@whiskeysockets/baileys": "^6.0.0 || >=7.0.0-0",
|