@rackbops/docket-types 0.21.0 → 0.23.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 +56 -0
- package/dist/index.d.ts +8 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/news.d.ts +52 -0
- package/dist/news.d.ts.map +1 -1
- package/dist/news.js +243 -24
- package/dist/news.js.map +1 -1
- package/dist/research-answer.d.ts +138 -7
- package/dist/research-answer.d.ts.map +1 -1
- package/dist/research-answer.js +167 -12
- package/dist/research-answer.js.map +1 -1
- package/dist/research-social.d.ts +108 -0
- package/dist/research-social.d.ts.map +1 -0
- package/dist/research-social.js +320 -0
- package/dist/research-social.js.map +1 -0
- package/dist/research.d.ts +28 -0
- package/dist/research.d.ts.map +1 -1
- package/dist/research.js +55 -16
- package/dist/research.js.map +1 -1
- package/dist/social-links.d.ts +30 -0
- package/dist/social-links.d.ts.map +1 -0
- package/dist/social-links.js +129 -0
- package/dist/social-links.js.map +1 -0
- package/dist/want-ebay.d.ts +6 -3
- package/dist/want-ebay.d.ts.map +1 -1
- package/dist/want-ebay.js +77 -30
- package/dist/want-ebay.js.map +1 -1
- package/dist/want-sources.d.ts +21 -0
- package/dist/want-sources.d.ts.map +1 -1
- package/dist/want-sources.js +7 -0
- package/dist/want-sources.js.map +1 -1
- package/dist/wantjudge.d.ts +32 -3
- package/dist/wantjudge.d.ts.map +1 -1
- package/dist/wantjudge.js +207 -14
- package/dist/wantjudge.js.map +1 -1
- package/dist/wantlist.d.ts +7 -0
- package/dist/wantlist.d.ts.map +1 -1
- package/dist/wantlist.js +1 -0
- package/dist/wantlist.js.map +1 -1
- package/package.json +2 -2
package/dist/research.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DEFAULT_ALLOWED_TOOLS, DEFAULT_DISALLOWED_TOOLS, defineTaskType, } from "@rackbops/docket-core";
|
|
2
|
-
import { ANSWER_SCHEMA, clean, fitLines, fitMessage, parseAnswer, parseBlocked, parseReview, REVIEW_SCHEMA, renderAnswer, renderUpdate, } from "./research-answer.js";
|
|
2
|
+
import { ANSWER_SCHEMA, clean, fitLines, fitMessage, parseAnswer, parseBlocked, parseReview, REVIEW_SCHEMA, renderAnswer, renderUpdate, sameClaim, } from "./research-answer.js";
|
|
3
|
+
import { SOCIAL_MAX_TURNS, socialChecks, socialChoice, socialLines, socialOutgoing, } from "./research-social.js";
|
|
3
4
|
import { GATHERED_ALLOWED_TOOLS, GATHERED_DENIED_TOOLS, gatheredPages, pagesBlock, SENT_DISALLOWED_TOOLS, sourcesExpiry, uniqueBlocked, WEB_DISALLOWED_TOOLS, withBarredSites, } from "./research-sources.js";
|
|
4
5
|
import { bggSearchHint, categoryChecks, categoryLines, firecrawlChecks, firecrawlLines, WEB_ALLOWED_TOOLS, } from "./research-web.js";
|
|
5
6
|
import { retryOutcome } from "./retry.js";
|
|
@@ -86,6 +87,19 @@ export function deadlineOf(config) {
|
|
|
86
87
|
const at = Date.parse(config.deadline);
|
|
87
88
|
return Number.isNaN(at) ? null : new Date(at);
|
|
88
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* The `since` bound, or null when there is none or it does not parse: the start of the instant's
|
|
92
|
+
* UTC day, so the prompt's "on or after <day>", Bluesky's `since` filter and the belt agree.
|
|
93
|
+
*/
|
|
94
|
+
export function sinceOf(config) {
|
|
95
|
+
if (typeof config.since !== "string")
|
|
96
|
+
return null;
|
|
97
|
+
const at = Date.parse(config.since);
|
|
98
|
+
if (Number.isNaN(at))
|
|
99
|
+
return null;
|
|
100
|
+
const d = new Date(at);
|
|
101
|
+
return new Date(Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate()));
|
|
102
|
+
}
|
|
89
103
|
function contextLines(config) {
|
|
90
104
|
const c = typeof config.context === "string" ? clean(config.context, MAX_CONTEXT_CHARS) : "";
|
|
91
105
|
const deadline = deadlineOf(config);
|
|
@@ -143,6 +157,9 @@ export function researchJob(config, pages, earlier, options = {}) {
|
|
|
143
157
|
const canWait = options.canWait === true && pages === undefined && earlier === undefined;
|
|
144
158
|
const sent = pages !== undefined;
|
|
145
159
|
const webFirst = !sent && earlier === undefined;
|
|
160
|
+
const social = socialChoice(config.social);
|
|
161
|
+
// Social platforms (0.23.0): a web first pass only; a run on gathered pages cannot open pages.
|
|
162
|
+
const socialOn = webFirst && social.mode !== "none";
|
|
146
163
|
const prompt = [
|
|
147
164
|
"You are researching a one-off question for a person, who will read your answer as a " +
|
|
148
165
|
"Discord DM.",
|
|
@@ -165,6 +182,7 @@ export function researchJob(config, pages, earlier, options = {}) {
|
|
|
165
182
|
"",
|
|
166
183
|
...bestSourceLines(sent, canWait),
|
|
167
184
|
...(webFirst ? ["", ...firecrawlLines(), ...bggSearchHint()] : []),
|
|
185
|
+
...(socialOn ? socialLines(social, sinceOf(config)) : []),
|
|
168
186
|
"",
|
|
169
187
|
(sent
|
|
170
188
|
? "Use the pages and web search to check facts."
|
|
@@ -197,7 +215,8 @@ export function researchJob(config, pages, earlier, options = {}) {
|
|
|
197
215
|
jsonSchema: ANSWER_SCHEMA,
|
|
198
216
|
allowedTools: allowed(webFirst, sent),
|
|
199
217
|
disallowedTools: disallowed(sent),
|
|
200
|
-
|
|
218
|
+
// Decision 6 (docket#107): 20 turns when social search is on; the budget is unchanged.
|
|
219
|
+
maxTurns: socialOn ? SOCIAL_MAX_TURNS : RESEARCH_MAX_TURNS,
|
|
201
220
|
maxBudgetUsd: RESEARCH_MAX_BUDGET_USD,
|
|
202
221
|
timeoutMs: RESEARCH_TIMEOUT_MS,
|
|
203
222
|
};
|
|
@@ -307,7 +326,13 @@ export function reviewJob(config, draft, pages, earlier, options = {}) {
|
|
|
307
326
|
]
|
|
308
327
|
: []),
|
|
309
328
|
...(earlier ? updateChecks() : [...answerChecks(sent), ...categoryChecks()]),
|
|
310
|
-
...(earlier || sent
|
|
329
|
+
...(earlier || sent
|
|
330
|
+
? []
|
|
331
|
+
: [
|
|
332
|
+
...bestSourceChecks(canWait),
|
|
333
|
+
...firecrawlChecks(),
|
|
334
|
+
...socialChecks(socialChoice(config.social), sinceOf(config)),
|
|
335
|
+
]),
|
|
311
336
|
"",
|
|
312
337
|
"Then give a verdict: `approve` if the draft stands as is and covers every part (leave " +
|
|
313
338
|
"`answer` out: the draft is sent as it is); `revise` if it stands once corrected (return the corrected " +
|
|
@@ -479,16 +504,19 @@ function afterReview(ctx, state, output, canWait) {
|
|
|
479
504
|
};
|
|
480
505
|
}
|
|
481
506
|
// Approved: the draft as stored, so the reviewer cannot slip in changes under "approve".
|
|
482
|
-
// Revised: the reviewer's corrected answer.
|
|
483
|
-
|
|
507
|
+
// Revised: the reviewer's corrected answer. Then the social belt (0.23.0): a copied link once,
|
|
508
|
+
// a stock, price or availability claim on posts alone and a post before `since` to
|
|
509
|
+
// `uncertain`, the coverage completed. A `sent` request's runs were never asked to search
|
|
510
|
+
// (`researchJob`'s `socialOn`), so they get no coverage.
|
|
511
|
+
const answer = socialOutgoing(review.verdict === "approve" && state.draft ? state.draft : review.answer, usesSentSources(ctx.config) ? { mode: "none" } : socialChoice(ctx.config.social), sinceOf(ctx.config));
|
|
484
512
|
const n = answer.findings.length;
|
|
485
513
|
const verdict = review.verdict === "approve" ? "approved" : "revised";
|
|
486
514
|
// One finding per claim, its first source the one it is filed under (`parseAnswer` keeps only
|
|
487
|
-
// claims with at least one).
|
|
515
|
+
// claims with at least one); a post's finding is tagged `social` and its platform (0.23.0).
|
|
488
516
|
const findings = answer.findings.map((f) => ({
|
|
489
517
|
text: f.claim,
|
|
490
518
|
...(f.sources[0] ? { source: f.sources[0] } : {}),
|
|
491
|
-
tags: ["research", review.verdict],
|
|
519
|
+
tags: ["research", review.verdict, ...postTags(f)],
|
|
492
520
|
}));
|
|
493
521
|
const blocked = canWait ? blockedAfterReview(state, review, answer) : [];
|
|
494
522
|
if (blocked.length > 0) {
|
|
@@ -561,13 +589,9 @@ function waitTail(ctx, blocked, until) {
|
|
|
561
589
|
return (`${list}\n\nA fuller pass is queued: ask Claude in Chrome to gather pages for this request ` +
|
|
562
590
|
`(${id}), any time before ${until.toISOString()}.`);
|
|
563
591
|
}
|
|
564
|
-
/**
|
|
565
|
-
function
|
|
566
|
-
return
|
|
567
|
-
.toLowerCase()
|
|
568
|
-
.replace(/\s+/g, " ")
|
|
569
|
-
.trim()
|
|
570
|
-
.replace(/[.!]+$/, "");
|
|
592
|
+
/** The tags a finding from a post carries besides the type's (0.23.0): `social` and its platform. */
|
|
593
|
+
function postTags(f) {
|
|
594
|
+
return f.platform ? ["social", f.platform] : [];
|
|
571
595
|
}
|
|
572
596
|
/** True in the second pass: waiting for pages, or past its research run. */
|
|
573
597
|
function secondPass(state) {
|
|
@@ -595,7 +619,9 @@ function afterUpdateReview(ctx, state, review) {
|
|
|
595
619
|
if (review.verdict === "reject" || !review.answer) {
|
|
596
620
|
return stands(ctx, state, "the update could not be checked", `second pass rejected by review (${review.problems.length} problem(s))`);
|
|
597
621
|
}
|
|
598
|
-
|
|
622
|
+
// A second pass searches no platform, so no coverage (`mode: "none"`); the rest of the social
|
|
623
|
+
// belt (0.23.0) still applies to what the pages said.
|
|
624
|
+
const answer = socialOutgoing(review.verdict === "approve" && state.draft ? state.draft : review.answer, { mode: "none" }, sinceOf(ctx.config));
|
|
599
625
|
const before = new Set((state.earlier?.findings ?? []).map((f) => sameClaim(f.claim)));
|
|
600
626
|
const fresh = answer.findings.filter((f) => !before.has(sameClaim(f.claim)));
|
|
601
627
|
const update = { ...answer, findings: fresh };
|
|
@@ -606,7 +632,7 @@ function afterUpdateReview(ctx, state, review) {
|
|
|
606
632
|
findings: update.findings.map((f) => ({
|
|
607
633
|
text: f.claim,
|
|
608
634
|
...(f.sources[0] ? { source: f.sources[0] } : {}),
|
|
609
|
-
tags: ["research", review.verdict, "update"],
|
|
635
|
+
tags: ["research", review.verdict, "update", ...postTags(f)],
|
|
610
636
|
})),
|
|
611
637
|
complete: true,
|
|
612
638
|
summary: `second pass ${review.verdict === "approve" ? "approved" : "revised"}: ${n} new or corrected finding(s)`,
|
|
@@ -721,6 +747,19 @@ export function researchType(options = {}) {
|
|
|
721
747
|
required: false,
|
|
722
748
|
kind: "string",
|
|
723
749
|
},
|
|
750
|
+
{
|
|
751
|
+
name: "social",
|
|
752
|
+
description: "Social platforms: auto (searched when the question asks what people think), none, " +
|
|
753
|
+
"or some of youtube, tiktok, instagram, bluesky",
|
|
754
|
+
required: false,
|
|
755
|
+
kind: "string",
|
|
756
|
+
},
|
|
757
|
+
{
|
|
758
|
+
name: "since",
|
|
759
|
+
description: "Only posts from this date on count",
|
|
760
|
+
required: false,
|
|
761
|
+
kind: "datetime",
|
|
762
|
+
},
|
|
724
763
|
],
|
|
725
764
|
},
|
|
726
765
|
async prepare(ctx) {
|
package/dist/research.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research.js","sourceRoot":"","sources":["../src/research.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,GAQf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,aAAa,EAEb,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EAGb,YAAY,EACZ,YAAY,GACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EAErB,aAAa,EACb,UAAU,EAEV,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,eAAe,GAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AA2FzC,kDAAkD;AAClD,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAA;AAC7F,CAAC;AAsBD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAA;AACpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,+FAA+F;AAC/F,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAA;AAC1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAA;AACjC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAA;AAExC,MAAM,KAAK,GAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AAE5E,qFAAqF;AACrF,SAAS,UAAU,CACjB,CAA0B;IAE1B,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACtC,OAAO;QACL,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAA;IACpE,MAAM,CAAC,GAAG,KAAgC,CAAA;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IACnF,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAC3B,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,CAAA;IACjG,IAAI,CAAC,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,KAAK,CAAC,OAAO;YAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAA;QAChF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IAC3C,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAA;QAChE,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;QACjF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AAC5F,CAAC;AAED,2FAA2F;AAC3F,SAAS,cAAc,CAAC,MAAsB;IAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAA;AAC5F,CAAC;AAED,SAAS,QAAQ,CAAC,MAAsB;IACtC,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/F,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IAC1E,OAAO,CAAC,CAAA;AACV,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,UAAU,CAAC,MAAsB;IAC/C,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACpD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACtC,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,MAAsB;IAC1C,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5F,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACnC,OAAO;QACL,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,2BAA2B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AACzF,CAAC;AAED,+FAA+F;AAC/F,SAAS,YAAY,CAAC,OAAuB;IAC3C,OAAO;QACL,EAAE;QACF,yFAAyF;YACvF,8FAA8F;YAC9F,+FAA+F;QACjG,YAAY;QACZ,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAClC,YAAY;KACb,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAa;IAC/B,OAAO;QACL,GAAG,wBAAwB;QAC3B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,qBAAqB,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;KACxF,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,QAAiB,EAAE,IAAa;IAC/C,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,sBAAsB,CAAC,CAAA;IAC5C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAA;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,MAAsB,EACtB,KAA+B,EAC/B,OAAwB,EACxB,OAAO,GAAuB,EAAE;IAEhC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,CAAA;IACxF,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAA;IAChC,MAAM,QAAQ,GAAG,CAAC,IAAI,IAAI,OAAO,KAAK,SAAS,CAAA;IAC/C,MAAM,MAAM,GAAG;QACb,sFAAsF;YACpF,aAAa;QACf,EAAE;QACF,aAAa,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC/B,GAAG,YAAY,CAAC,MAAM,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,EAAE;QACF,GAAG,CAAC,IAAI;YACN,CAAC,CAAC;gBACE,iFAAiF;oBAC/E,qFAAqF;oBACrF,uCAAuC;gBACzC,EAAE;aACH;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC;QACpC,GAAG,aAAa,CAAC,OAAO,KAAK,SAAS,CAAC;QACvC,EAAE;QACF,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,EAAE;QACF,CAAC,IAAI;YACH,CAAC,CAAC,8CAA8C;YAChD,CAAC,CAAC,gDAAgD,CAAC;YACnD,0CAA0C;YAC1C,2FAA2F;YAC3F,yFAAyF;QAC3F,EAAE;QACF,yFAAyF;YACvF,wFAAwF;YACxF,yFAAyF;QAC3F,8FAA8F;YAC5F,4DAA4D;YAC5D,mEAAmE;YACnE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sDAAsD,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO;YACT,CAAC,CAAC;gBACE,EAAE;gBACF,kFAAkF;oBAChF,oFAAoF;oBACpF,8EAA8E;oBAC9E,6EAA6E;oBAC7E,8CAA8C;aACjD;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,OAAO;QACL,MAAM;QACN,UAAU,EAAE,aAAmD;QAC/D,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;QACrC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC;QACjC,QAAQ,EAAE,kBAAkB;QAC5B,YAAY,EAAE,uBAAuB;QACrC,SAAS,EAAE,mBAAmB;KAC/B,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,MAAe;IACjC,OAAO;QACL,wFAAwF;YACtF,wFAAwF;YACxF,sFAAsF;YACtF,wFAAwF;YACxF,uFAAuF;YACvF,wFAAwF;YACxF,WAAW;QACb,GAAG,CAAC,MAAM;YACR,CAAC,CAAC;gBACE,wFAAwF;oBACtF,gCAAgC;aACnC;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC;AAaD;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,KAAc,EAAE,OAAgB;IACvD,OAAO;QACL,2FAA2F;YACzF,sFAAsF;YACtF,qFAAqF;YACrF,2BAA2B;QAC7B,CAAC,KAAK;YACJ,CAAC,CAAC,wFAAwF;gBACxF,kFAAkF;gBAClF,sEAAsE;YACxE,CAAC,CAAC,wFAAwF;gBACxF,sEAAsE;gBACtE,kHAAkH;gBAClH,iFAAiF;gBACjF,2DAA2D,CAAC;YAC9D,CAAC,OAAO;gBACN,CAAC,CAAC,kFAAkF;oBAClF,qFAAqF;oBACrF,qFAAqF;oBACrF,iFAAiF;oBACjF,uDAAuD;gBACzD,CAAC,CAAC,mFAAmF;oBACnF,kCAAkC;oBAClC,CAAC,KAAK;wBACJ,CAAC,CAAC,8CAA8C;wBAChD,CAAC,CAAC,iEAAiE,CAAC;oBACtE,oFAAoF,CAAC;KAC5F,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,MAAsB,EACtB,KAAqB,EACrB,KAA+B,EAC/B,OAAwB,EACxB,OAAO,GAAuB,EAAE;IAEhC,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAA;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,SAAS,CAAA;IAC1E,MAAM,MAAM,GAAG;QACb,OAAO;YACL,CAAC,CAAC,sFAAsF;gBACtF,yFAAyF;gBACzF,oCAAoC;YACtC,CAAC,CAAC,uFAAuF;gBACvF,oEAAoE;QACxE,EAAE;QACF,aAAa,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC/B,GAAG,YAAY,CAAC,MAAM,CAAC;QACvB,EAAE;QACF,8FAA8F;YAC5F,0FAA0F;YAC1F,+CAA+C;QACjD,UAAU;QACV,SAAS,CAAC,KAAK,CAAC;QAChB,UAAU;QACV,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,EAAE;QACF,WAAW;QACX,GAAG,CAAC,IAAI;YACN,CAAC,CAAC;gBACE,qFAAqF;oBACnF,sEAAsE;gBACxE,mFAAmF;oBACjF,2DAA2D;aAC9D;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI;YACN,CAAC,CAAC;gBACE,mFAAmF;oBACjF,oDAAoD;aACvD;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;QAC5E,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC;QAChF,EAAE;QACF,wFAAwF;YACtF,wGAAwG;YACxG,yFAAyF;YACzF,4BAA4B;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,OAAO;QACL,MAAM;QACN,UAAU,EAAE,aAAmD;QAC/D,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,IAAI,CAAC;QAC3D,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC;QACjC,QAAQ,EAAE,gBAAgB;QAC1B,YAAY,EAAE,qBAAqB;QACnC,SAAS,EAAE,iBAAiB;KAC7B,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,IAAI,GAAG,KAAK;IAChC,OAAO;QACL,4FAA4F;YAC1F,qFAAqF;YACrF,wFAAwF;YACxF,uFAAuF;YACvF,qFAAqF;YACrF,uEAAuE;QACzE,CAAC,IAAI;YACH,CAAC,CAAC,yFAAyF;YAC3F,CAAC,CAAC,yFAAyF,CAAC;YAC5F,iGAAiG;YACjG,UAAU;QACZ,yFAAyF;QACzF,+CAA+C;KAChD,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO;QACL,wFAAwF;YACtF,0FAA0F;YAC1F,iFAAiF;YACjF,CAAC,OAAO;gBACN,CAAC,CAAC,qFAAqF;oBACrF,kFAAkF;oBAClF,kFAAkF;gBACpF,CAAC,CAAC,uFAAuF;oBACvF,kDAAkD,CAAC;QACzD,0FAA0F;YACxF,sFAAsF;YACtF,uFAAuF;YACvF,cAAc;QAChB,GAAG,CAAC,OAAO;YACT,CAAC,CAAC;gBACE,kFAAkF;oBAChF,gFAAgF;oBAChF,yEAAyE;aAC5E;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY;IACnB,OAAO;QACL,uFAAuF;YACrF,oCAAoC;QACtC,yFAAyF;YACvF,yFAAyF;YACzF,uFAAuF;YACvF,wFAAwF;YACxF,cAAc;QAChB,4FAA4F;YAC1F,iDAAiD;QACnD,4FAA4F;YAC1F,0DAA0D;QAC5D,4FAA4F;YAC1F,aAAa;QACf,uFAAuF;YACrF,+BAA+B;KAClC,CAAA;AACH,CAAC;AAED,8FAA8F;AAC9F,MAAM,IAAI,GAAiE;IACzE,WAAW,EAAE,uCAAuC;IACpD,QAAQ,EAAE,kDAAkD;IAC5D,UAAU,EAAE,0CAA0C;IACtD,WAAW,EAAE,yCAAyC;IACtD,SAAS,EAAE,yCAAyC;IACpD,OAAO,EAAE,kBAAkB;IAC3B,KAAK,EAAE,gBAAgB;CACxB,CAAA;AAED,SAAS,MAAM,CACb,GAA+B,EAC/B,KAAoB,EACpB,IAA+B,EAC/B,MAAc;IAEd,MAAM,KAAK,GACT,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAA;IACzF,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,SAAS,QAAQ,MAAM,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACjF,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IACnD,IAAI,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;IAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAA;IACjD,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,4FAA4F;QAC5F,OAAO,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,qCAAqC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAA;IAClF,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,YAAY,CAAA;IAC7D,MAAM,IAAI,GACR,KAAK,KAAK,QAAQ;QAChB,CAAC,CAAC,gEAAgE;QAClE,CAAC,CAAC,qBAAqB,CAAA;IAC3B,OAAO;QACL,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC5C,MAAM,EAAE;YACN,IAAI,EACF,aAAa,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,gBAAgB;gBACjF,UAAU,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,uCAAuC,EAAE;SAC9F;QACD,QAAQ,EAAE,IAAI;QACd,OAAO;KACR,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CACpB,GAA+B,EAC/B,KAAoB,EACpB,MAAe;IAEf,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,2CAA2C,CAAC,CAAA;IAC/F,IAAI,KAAK,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;QACrC,OAAO;YACL,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;YACjE,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,wBAAwB,KAAK,CAAC,QAAQ,CAAC,MAAM,4BAA4B;SACnF,CAAA;IACH,CAAC;IACD,OAAO;QACL,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE;QAC9C,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,YAAY,KAAK,CAAC,QAAQ,CAAC,MAAM,oCAAoC;KAC/E,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAClB,GAA+B,EAC/B,KAAoB,EACpB,MAAe,EACf,OAAgB;IAEhB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC,CAAA;IAC5D,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,4CAA4C,CAAC,CAAA;IACjG,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAC9C,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAClD,2FAA2F;QAC3F,MAAM,KAAK,GAAG;YACZ,aAAa,KAAK,EAAE;YACpB,EAAE;YACF,sFAAsF;gBACpF,8CAA8C;YAChD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACxC,CAAA;QACD,OAAO;YACL,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;YAClC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE;YACnC,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,uBAAuB,MAAM,CAAC,QAAQ,CAAC,MAAM,cAAc;SACrE,CAAA;IACH,CAAC;IACD,yFAAyF;IACzF,4CAA4C;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IACxF,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;IACrE,8FAA8F;IAC9F,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,EAAE,CAAC,CAAC,KAAK;QACb,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC;KACnC,CAAC,CAAC,CAAA;IACH,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACxE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/D,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,mBAAmB,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;YACtC,OAAO;gBACL,KAAK,EAAE;oBACL,KAAK,EAAE,gBAAgB;oBACvB,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,IAAI,EAAE,CAAC;oBACP,OAAO;oBACP,OAAO;iBACR;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;iBAClF;gBACD,QAAQ;gBACR,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE;gBACrC,OAAO,EAAE,GAAG,OAAO,KAAK,CAAC,gBAAgB,OAAO,CAAC,MAAM,6CAA6C,KAAK,CAAC,WAAW,EAAE,EAAE;aAC1H,CAAA;QACH,CAAC;QACD,6FAA6F;QAC7F,OAAO;YACL,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;YAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE;YAC5F,QAAQ;YACR,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,GAAG,OAAO,KAAK,CAAC,gBAAgB,OAAO,CAAC,MAAM,oCAAoC;SAC5F,CAAA;IACH,CAAC;IACD,OAAO;QACL,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;QAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAC9D,QAAQ;QACR,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,GAAG,OAAO,KAAK,CAAC,aAAa;KACvC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,KAAoB,EACpB,MAAc,EACd,MAAsB;IAEtB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAA;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/E,OAAO,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;AAChF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAA;AAE5C,4EAA4E;AAC5E,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAElC;;;GAGG;AACH,SAAS,QAAQ,CACf,GAA+B,EAC/B,OAA+B,EAC/B,KAAkB;IAElB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9E,CAAA;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,gBAAgB,EAAE,GAAG,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAA;IAC3E,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IACvC,OAAO,CACL,GAAG,IAAI,qFAAqF;QAC5F,IAAI,EAAE,sBAAsB,KAAK,CAAC,WAAW,EAAE,GAAG,CACnD,CAAA;AACH,CAAC;AAED,uFAAuF;AACvF,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAC1B,CAAC;AAED,4EAA4E;AAC5E,SAAS,UAAU,CAAC,KAAoB;IACtC,OAAO,KAAK,CAAC,KAAK,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAA;AAC7D,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CACb,GAA+B,EAC/B,KAAoB,EACpB,GAAW,EACX,OAAgB;IAEhB,MAAM,IAAI,GAAG,aAAa,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,GAAG,+BAA+B,CAAA;IACnG,OAAO;QACL,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;QAClC,MAAM,EAAE,EAAE,IAAI,EAAE;QAChB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,GAAG,2BAA2B,EAAE,GAAG,EAAE,IAAI,CAAC;KACxF,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CACxB,GAA+B,EAC/B,KAAoB,EACpB,MAAc;IAEd,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAClD,OAAO,MAAM,CACX,GAAG,EACH,KAAK,EACL,iCAAiC,EACjC,mCAAmC,MAAM,CAAC,QAAQ,CAAC,MAAM,cAAc,CACxE,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IACxF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;IAChC,OAAO;QACL,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;QAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,EAAE,CAAC,CAAC,KAAK;YACb,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;SAC7C,CAAC,CAAC;QACH,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,eAAe,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,8BAA8B;KAClH,CAAA;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,MAAM,CAAC,GAA+B,EAAE,QAAc;IAC7D,OAAO;QACL,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;QAClD,MAAM,EAAE;YACN,IAAI,EACF,aAAa,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,2BAA2B;gBACxE,IAAI,QAAQ,CAAC,WAAW,EAAE,2DAA2D;gBACrF,0DAA0D;SAC7D;QACD,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,0BAA0B;KACpC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,OAAO,CAAC,GAA+B,EAAE,KAAoB,EAAE,GAAW;IACjF,IAAI,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,iCAAiC,CAAC,CAAA;IACnF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAC9C,MAAM,IAAI,GACR,KAAK,CAAC,KAAK,KAAK,QAAQ;QACtB,CAAC,CAAC,aAAa,KAAK,OAAO,GAAG,4DAA4D;YACxF,yFAAyF;YACzF,uBAAuB;QACzB,CAAC,CAAC,aAAa,KAAK,OAAO,GAAG,yDAAyD;YACrF,yCAAyC,CAAA;IAC/C,OAAO;QACL,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;QACtE,MAAM,EAAE,EAAE,IAAI,EAAE;QAChB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,wBAAwB,GAAG,EAAE;KACrD,CAAA;AACH,CAAC;AAOD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAO,GAAoB,EAAE;IACxD,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IAC/B;;;;OAIG;IACH,KAAK,UAAU,QAAQ,CACrB,GAA+B,EAC/B,KAAoB;QAEpB,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,qCAAqC,CAAC,EAAE,CAAA;QAChG,MAAM,GAAG,GAAY,MAAM,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACpF,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,wBAAwB,CAAC,EAAE,CAAA;QACzF,OAAO,EAAE,KAAK,EAAE,CAAA;IAClB,CAAC;IACD;;;OAGG;IACH,KAAK,UAAU,SAAS,CACtB,GAA+B,EAC/B,KAAoB;QAEpB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,QAAQ,IAAI,GAAG,CAAC,GAAG,GAAG,QAAQ,EAAE,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,8CAA8C,CAAC,EAAE,CAAA;QACxF,CAAC;QACD,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,kBAAkB,CAAC,EAAE,CAAA;QAC5D,CAAC;QACD,MAAM,GAAG,GAAY,MAAM,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACpF,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,kBAAkB,CAAC,EAAE,CAAA;QAClF,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,cAAc,CAAiB;QACpC,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,CAAC,QAAQ,CAAC;QACxB,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtF;oBACE,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,4DAA4D;oBACzE,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,2EAA2E;oBACxF,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,UAAU;iBACjB;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,qDAAqD;oBAClE,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,UAAU;iBACjB;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,gEAAgE;oBAC7E,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;QACD,KAAK,CAAC,OAAO,CAAC,GAA+B;YAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACtC,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM;gBACxB,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAA;YACrE,IAAI,KAAK,CAAC,KAAK,KAAK,gBAAgB;gBAAE,OAAO,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAClE,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACxC,oFAAoF;YACpF,MAAM,OAAO,GAAG,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAA;YAClD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC5C,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBAC9B,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;gBAC9E,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBACtC,IAAI,SAAS,IAAI,GAAG;oBAAE,OAAO,GAAG,CAAA;gBAChC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC5D,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAC/D,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACvC,IAAI,QAAQ,IAAI,GAAG,CAAC,GAAG,GAAG,QAAQ;gBAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAA;YAC7E,IAAI,CAAC,IAAI;gBAAE,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;YAC5E,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACtC,OAAO,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QACpE,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAA+B,EAAE,MAAiB;YAC7D,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACtC,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM;gBAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;YAClF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACpF,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAC7B,CAAC,CAAC,WAAW,CACT,GAAG,EACH,KAAK,EACL,MAAM,CAAC,gBAAgB;gBACvB,gFAAgF;gBAChF,WAAW,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAC1D;gBACH,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACxD,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"research.js","sourceRoot":"","sources":["../src/research.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Social post links as one post, and the platform a link is on (0.23.0, docket#107). A leaf
|
|
3
|
+
* module: `research-answer.ts` canonicalises every source through it when it parses an answer, so
|
|
4
|
+
* a repost's `youtu.be` link and the watch page it points at are one source, and
|
|
5
|
+
* `research-social.ts` builds the prompt rules and the belts on it. Only links on the four
|
|
6
|
+
* phase-1 platforms are touched; any other URL is returned as it came, since its query may matter.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* The platforms a `web` first pass may search for posts (docs/social-sources.md, decision 3:
|
|
10
|
+
* YouTube, Bluesky, TikTok and Instagram; X skipped, Reddit blocked, Threads later).
|
|
11
|
+
*/
|
|
12
|
+
export declare const SOCIAL_PLATFORMS: readonly ["youtube", "tiktok", "instagram", "bluesky"];
|
|
13
|
+
export type SocialPlatform = (typeof SOCIAL_PLATFORMS)[number];
|
|
14
|
+
export declare function isSocialPlatform(value: unknown): value is SocialPlatform;
|
|
15
|
+
export declare function platformName(id: string): string;
|
|
16
|
+
/** The platform a link is a post, channel or profile on, by its host; null for any other page. */
|
|
17
|
+
export declare function platformOf(url: string): SocialPlatform | null;
|
|
18
|
+
/**
|
|
19
|
+
* A social post link as one post (docket#107: a repost or a copied link counts once). YouTube:
|
|
20
|
+
* `youtu.be/<id>`, `/shorts/<id>`, `/live/<id>`, `/embed/<id>`, `/v/<id>` and `/watch?v=<id>` on
|
|
21
|
+
* any YouTube host are `https://www.youtube.com/watch?v=<id>`. Instagram: `/p/`, `/reel/`,
|
|
22
|
+
* `/reels/` and `/tv/` share one shortcode space, so a post is
|
|
23
|
+
* `https://www.instagram.com/p/<code>/`. TikTok: a `/@user/video/<id>` (or `/photo/`) page on
|
|
24
|
+
* `www.tiktok.com` without its query; a short `vm.tiktok.com` link cannot be resolved here and is
|
|
25
|
+
* kept. Bluesky: a `bsky.app` page (the public API host is no post and is left alone). Any other
|
|
26
|
+
* link on these hosts loses its hash and tracking parameters only; a link anywhere else is
|
|
27
|
+
* returned unchanged, since its query may be part of the page.
|
|
28
|
+
*/
|
|
29
|
+
export declare function canonicalSocialUrl(url: string): string;
|
|
30
|
+
//# sourceMappingURL=social-links.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"social-links.d.ts","sourceRoot":"","sources":["../src/social-links.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,YAAI,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAU,CAAA;AAEtF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAgBD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/C;AAcD,kGAAkG;AAClG,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAS7D;AA8BD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA8BtD"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Social post links as one post, and the platform a link is on (0.23.0, docket#107). A leaf
|
|
3
|
+
* module: `research-answer.ts` canonicalises every source through it when it parses an answer, so
|
|
4
|
+
* a repost's `youtu.be` link and the watch page it points at are one source, and
|
|
5
|
+
* `research-social.ts` builds the prompt rules and the belts on it. Only links on the four
|
|
6
|
+
* phase-1 platforms are touched; any other URL is returned as it came, since its query may matter.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* The platforms a `web` first pass may search for posts (docs/social-sources.md, decision 3:
|
|
10
|
+
* YouTube, Bluesky, TikTok and Instagram; X skipped, Reddit blocked, Threads later).
|
|
11
|
+
*/
|
|
12
|
+
export const SOCIAL_PLATFORMS = ["youtube", "tiktok", "instagram", "bluesky"];
|
|
13
|
+
export function isSocialPlatform(value) {
|
|
14
|
+
return typeof value === "string" && SOCIAL_PLATFORMS.includes(value);
|
|
15
|
+
}
|
|
16
|
+
/** How a platform is named in a DM; an id not listed is shown as given. */
|
|
17
|
+
const NAMES = {
|
|
18
|
+
youtube: "YouTube",
|
|
19
|
+
tiktok: "TikTok",
|
|
20
|
+
instagram: "Instagram",
|
|
21
|
+
bluesky: "Bluesky",
|
|
22
|
+
reddit: "Reddit",
|
|
23
|
+
x: "X",
|
|
24
|
+
threads: "Threads",
|
|
25
|
+
facebook: "Facebook",
|
|
26
|
+
pinterest: "Pinterest",
|
|
27
|
+
mastodon: "Mastodon",
|
|
28
|
+
};
|
|
29
|
+
export function platformName(id) {
|
|
30
|
+
return NAMES[id.toLowerCase()] ?? id;
|
|
31
|
+
}
|
|
32
|
+
const HOSTS = [
|
|
33
|
+
{ platform: "youtube", host: /(^|\.)(youtube\.com|youtu\.be|youtube-nocookie\.com)$/ },
|
|
34
|
+
{ platform: "tiktok", host: /(^|\.)tiktok\.com$/ },
|
|
35
|
+
{ platform: "instagram", host: /(^|\.)(instagram\.com|instagr\.am)$/ },
|
|
36
|
+
// Post pages only: the public API host is not a post, and `bsky.social` handles serve none.
|
|
37
|
+
{ platform: "bluesky", host: /^(www\.)?bsky\.app$/ },
|
|
38
|
+
];
|
|
39
|
+
function hostOf(url) {
|
|
40
|
+
return url.hostname.toLowerCase().replace(/\.$/, "");
|
|
41
|
+
}
|
|
42
|
+
/** The platform a link is a post, channel or profile on, by its host; null for any other page. */
|
|
43
|
+
export function platformOf(url) {
|
|
44
|
+
let u;
|
|
45
|
+
try {
|
|
46
|
+
u = new URL(url);
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
const host = hostOf(u);
|
|
52
|
+
return HOSTS.find((h) => h.host.test(host))?.platform ?? null;
|
|
53
|
+
}
|
|
54
|
+
/** A YouTube video id: 11 URL-safe characters (the provider's own pattern). */
|
|
55
|
+
const VIDEO_ID = /^[A-Za-z0-9_-]{11}$/;
|
|
56
|
+
/**
|
|
57
|
+
* Query parameters that track a link's sharing or the viewer, not the page it points at:
|
|
58
|
+
* YouTube's `si`, `t`, `feature` and `pp`, Instagram's `igsh`, TikTok's share fields, Meta's and
|
|
59
|
+
* Google's click ids, a language `hl`/`lang`, and every `utm_*`.
|
|
60
|
+
*/
|
|
61
|
+
const TRACKING = /^(utm_.*|si|t|feature|pp|ab_channel|igsh|igshid|img_index|fbclid|gclid|ref|ref_src|_r|_t|is_from_webapp|sender_device|sender_web_id|web_id|lang|hl|is_copy_url|checksum|sec_uid|share_app_id|share_link_id|source|u_code|timestamp|user_id|tt_from)$/i;
|
|
62
|
+
/**
|
|
63
|
+
* `u` without its hash or credentials, on `host`, its tracking parameters dropped and the rest
|
|
64
|
+
* of its query kept, its path without an end slash.
|
|
65
|
+
*/
|
|
66
|
+
function stripped(u, host) {
|
|
67
|
+
const out = new URL(u.toString());
|
|
68
|
+
out.hostname = host;
|
|
69
|
+
out.hash = "";
|
|
70
|
+
out.username = "";
|
|
71
|
+
out.password = "";
|
|
72
|
+
for (const key of [...out.searchParams.keys()]) {
|
|
73
|
+
if (TRACKING.test(key))
|
|
74
|
+
out.searchParams.delete(key);
|
|
75
|
+
}
|
|
76
|
+
out.pathname = out.pathname.replace(/\/+$/, "") || "/";
|
|
77
|
+
return out.toString();
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* A social post link as one post (docket#107: a repost or a copied link counts once). YouTube:
|
|
81
|
+
* `youtu.be/<id>`, `/shorts/<id>`, `/live/<id>`, `/embed/<id>`, `/v/<id>` and `/watch?v=<id>` on
|
|
82
|
+
* any YouTube host are `https://www.youtube.com/watch?v=<id>`. Instagram: `/p/`, `/reel/`,
|
|
83
|
+
* `/reels/` and `/tv/` share one shortcode space, so a post is
|
|
84
|
+
* `https://www.instagram.com/p/<code>/`. TikTok: a `/@user/video/<id>` (or `/photo/`) page on
|
|
85
|
+
* `www.tiktok.com` without its query; a short `vm.tiktok.com` link cannot be resolved here and is
|
|
86
|
+
* kept. Bluesky: a `bsky.app` page (the public API host is no post and is left alone). Any other
|
|
87
|
+
* link on these hosts loses its hash and tracking parameters only; a link anywhere else is
|
|
88
|
+
* returned unchanged, since its query may be part of the page.
|
|
89
|
+
*/
|
|
90
|
+
export function canonicalSocialUrl(url) {
|
|
91
|
+
let u;
|
|
92
|
+
try {
|
|
93
|
+
u = new URL(url);
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return url;
|
|
97
|
+
}
|
|
98
|
+
const platform = platformOf(url);
|
|
99
|
+
if (!platform)
|
|
100
|
+
return url;
|
|
101
|
+
const host = hostOf(u);
|
|
102
|
+
const path = u.pathname;
|
|
103
|
+
if (platform === "youtube") {
|
|
104
|
+
let id = null;
|
|
105
|
+
if (/(^|\.)youtu\.be$/.test(host))
|
|
106
|
+
id = path.split("/")[1] ?? null;
|
|
107
|
+
else if (path === "/watch")
|
|
108
|
+
id = u.searchParams.get("v");
|
|
109
|
+
else
|
|
110
|
+
id = /^\/(?:shorts|live|embed|v)\/([^/?#]+)/.exec(path)?.[1] ?? null;
|
|
111
|
+
if (id && VIDEO_ID.test(id))
|
|
112
|
+
return `https://www.youtube.com/watch?v=${id}`;
|
|
113
|
+
return stripped(u, host);
|
|
114
|
+
}
|
|
115
|
+
if (platform === "instagram") {
|
|
116
|
+
const code = /^\/(?:[^/]+\/)?(?:p|reel|reels|tv)\/([A-Za-z0-9_-]+)/.exec(path)?.[1];
|
|
117
|
+
if (code)
|
|
118
|
+
return `https://www.instagram.com/p/${code}/`;
|
|
119
|
+
return stripped(u, host);
|
|
120
|
+
}
|
|
121
|
+
if (platform === "tiktok") {
|
|
122
|
+
const post = /^\/(@[^/]+)\/(video|photo)\/(\d+)/.exec(path);
|
|
123
|
+
if (post)
|
|
124
|
+
return `https://www.tiktok.com/${post[1]}/${post[2]}/${post[3]}`;
|
|
125
|
+
return stripped(u, host);
|
|
126
|
+
}
|
|
127
|
+
return stripped(u, host);
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=social-links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"social-links.js","sourceRoot":"","sources":["../src/social-links.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAU,CAAA;AAItF,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC7F,CAAC;AAED,2EAA2E;AAC3E,MAAM,KAAK,GAAqC;IAC9C,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,CAAC,EAAE,GAAG;IACN,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACrB,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,KAAK,GAA0D;IACnE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,uDAAuD,EAAE;IACtF,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAClD,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,qCAAqC,EAAE;IACtE,4FAA4F;IAC5F,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE;CACrD,CAAA;AAED,SAAS,MAAM,CAAC,GAAQ;IACtB,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AACtD,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAM,CAAA;IACV,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACtB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAA;AAC/D,CAAC;AAED,+EAA+E;AAC/E,MAAM,QAAQ,GAAG,qBAAqB,CAAA;AAEtC;;;;GAIG;AACH,MAAM,QAAQ,GACZ,uPAAuP,CAAA;AAEzP;;;GAGG;AACH,SAAS,QAAQ,CAAC,CAAM,EAAE,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IACjC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAA;IACnB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAA;IACb,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAA;IACjB,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAA;IACjB,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/C,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACtD,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAA;IACtD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACvB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,IAAI,CAAM,CAAA;IACV,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAA;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACtB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAA;IACvB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,EAAE,GAAkB,IAAI,CAAA;QAC5B,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;aAC7D,IAAI,IAAI,KAAK,QAAQ;YAAE,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;;YACnD,EAAE,GAAG,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QACzE,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,mCAAmC,EAAE,EAAE,CAAA;QAC3E,OAAO,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC;IACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,sDAAsD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACnF,IAAI,IAAI;YAAE,OAAO,+BAA+B,IAAI,GAAG,CAAA;QACvD,OAAO,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3D,IAAI,IAAI;YAAE,OAAO,0BAA0B,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1E,OAAO,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAC1B,CAAC"}
|
package/dist/want-ebay.d.ts
CHANGED
|
@@ -23,8 +23,9 @@ import { type Listing, type ListingDetail, type Source } from "./want-sources.js
|
|
|
23
23
|
* full through the same API, `GET /buy/browse/v1/item/{item_id}` (developer.ebay.com, getItem, read
|
|
24
24
|
* 2026-10-30): its item specifics (`localizedAspects`), short description and description, as text
|
|
25
25
|
* for the watch's `confirm` words, and its first shipping option's cost. Nothing of it is kept: the
|
|
26
|
-
* plain watch uses it for the one run and the DM, as it does the search answer
|
|
27
|
-
*
|
|
26
|
+
* plain watch uses it for the one run and the DM, as it does the search answer. A judged watch
|
|
27
|
+
* reads its held listings back through it (with the listing as it is now) for the model and for the
|
|
28
|
+
* DM, keeping only the item numbers between the two.
|
|
28
29
|
*/
|
|
29
30
|
export declare const EBAY_SEARCH_PATH = "/buy/browse/v1/item_summary/search";
|
|
30
31
|
/** getItem's path before the item id. */
|
|
@@ -77,7 +78,9 @@ export declare function ebayItemRequest(ref: string): EbayRequest | null;
|
|
|
77
78
|
/**
|
|
78
79
|
* What one getItem answer says, as `ListingDetail`: the title, short description, each item
|
|
79
80
|
* specific as "name: value", the product's own title (`fieldgroups=PRODUCT`), and the description as plain text, cleaned
|
|
80
|
-
* and capped at `DETAIL_CHARS`;
|
|
81
|
+
* and capped at `DETAIL_CHARS`; its shipping; and the listing itself as it is now (title, price,
|
|
82
|
+
* condition, seller, address), which a judged watch reads instead of keeping it. Null for an answer
|
|
83
|
+
* that is not an item. Pure.
|
|
81
84
|
*/
|
|
82
85
|
export declare function parseEbayItem(body: unknown): ListingDetail | null;
|
|
83
86
|
/** The `ebay` source over the host's `browse`: `target` is the words to search for, `limits` the watch's top price and currency. */
|
package/dist/want-ebay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"want-ebay.d.ts","sourceRoot":"","sources":["../src/want-ebay.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"want-ebay.d.ts","sourceRoot":"","sources":["../src/want-ebay.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,aAAa,EAIlB,KAAK,MAAM,EAIZ,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,eAAO,MAAM,gBAAgB,uCAAuC,CAAA;AACpE,yCAAyC;AACzC,eAAO,MAAM,cAAc,yBAAyB,CAAA;AACpD,eAAO,MAAM,gBAAgB,YAAY,CAAA;AACzC,eAAO,MAAM,aAAa,QAAQ,CAAA;AAClC,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAE1C,2IAA2I;AAC3I,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,gBAAgB,GAAG,GAAG,OAAO,cAAc,GAAG,MAAM,EAAE,CAAA;IACnE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,WAAW,EAAE,OAAO,gBAAgB,CAAA;CACrC;AAED,sJAAsJ;AACtJ,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AAE7F,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,WAAW,CAiBtD;AAsCD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAmBvE;AAmCD,6EAA6E;AAC7E,eAAO,MAAM,YAAY,QAAmC,CAAA;AAE5D,gFAAgF;AAChF,eAAO,MAAM,YAAY,QAAS,CAAA;AAGlC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAO/D;AA4CD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAwBjE;AAED,oIAAoI;AACpI,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAuDrD"}
|
package/dist/want-ebay.js
CHANGED
|
@@ -2,7 +2,7 @@ import { clean } from "@rackbops/docket-core";
|
|
|
2
2
|
import { currencyCode, minorUnits, money } from "./money.js";
|
|
3
3
|
import { safeUrl } from "./research-answer.js";
|
|
4
4
|
import { matchesWords, searchWords, shopifyQuery } from "./want-shopify.js";
|
|
5
|
-
import { CONDITION_CHARS, checkSearchStatus, isEbayHost, isObj, MAX_LISTINGS, SELLER_CHARS, SourceMiss, TITLE_CHARS, } from "./want-sources.js";
|
|
5
|
+
import { CONDITION_CHARS, checkSearchStatus, isEbayHost, isObj, ListingUnreadable, MAX_LISTINGS, SELLER_CHARS, SourceMiss, SourceUnavailableError, TITLE_CHARS, } from "./want-sources.js";
|
|
6
6
|
/**
|
|
7
7
|
* The eBay source (Rod, 2026-10-20, "Build it" on the eBay Browse API card): listings from eBay's
|
|
8
8
|
* own Browse API, `GET /buy/browse/v1/item_summary/search` (developer.ebay.com, read 2026-10-20),
|
|
@@ -27,8 +27,9 @@ import { CONDITION_CHARS, checkSearchStatus, isEbayHost, isObj, MAX_LISTINGS, SE
|
|
|
27
27
|
* full through the same API, `GET /buy/browse/v1/item/{item_id}` (developer.ebay.com, getItem, read
|
|
28
28
|
* 2026-10-30): its item specifics (`localizedAspects`), short description and description, as text
|
|
29
29
|
* for the watch's `confirm` words, and its first shipping option's cost. Nothing of it is kept: the
|
|
30
|
-
* plain watch uses it for the one run and the DM, as it does the search answer
|
|
31
|
-
*
|
|
30
|
+
* plain watch uses it for the one run and the DM, as it does the search answer. A judged watch
|
|
31
|
+
* reads its held listings back through it (with the listing as it is now) for the model and for the
|
|
32
|
+
* DM, keeping only the item numbers between the two.
|
|
32
33
|
*/
|
|
33
34
|
export const EBAY_SEARCH_PATH = "/buy/browse/v1/item_summary/search";
|
|
34
35
|
/** getItem's path before the item id. */
|
|
@@ -122,38 +123,51 @@ export function parseEbayAnswer(body, query) {
|
|
|
122
123
|
continue;
|
|
123
124
|
if (!matchesWords(item.title.slice(0, 2_000), words))
|
|
124
125
|
continue;
|
|
125
|
-
const
|
|
126
|
-
const url = itemUrl(item.itemWebUrl);
|
|
127
|
-
if (!title || !url || item.itemId.length > 120)
|
|
128
|
-
continue;
|
|
126
|
+
const listing = itemListing(item);
|
|
129
127
|
// Keyed by the listing's `/itm/<number>`, which its variations share: one listing is told once,
|
|
130
128
|
// whichever variation eBay puts first on a later look.
|
|
131
|
-
|
|
132
|
-
if (!number || seen.has(number))
|
|
129
|
+
if (!listing || seen.has(listing.id))
|
|
133
130
|
continue;
|
|
134
|
-
seen.add(
|
|
135
|
-
|
|
136
|
-
const auction = options.includes("AUCTION");
|
|
137
|
-
const buyNow = options.includes("FIXED_PRICE");
|
|
138
|
-
// A plain auction at its current bid; one with Buy It Now at that price, which buys it outright.
|
|
139
|
-
const price = amountOf(auction && !buyNow ? (item.currentBidPrice ?? item.price) : item.price);
|
|
140
|
-
const state = typeof item.condition === "string" ? clean(item.condition, 30, true) : "";
|
|
141
|
-
const kind = auction ? [buyNow ? "auction, Buy It Now" : "auction"] : [];
|
|
142
|
-
const condition = clean([state, ...kind].filter(Boolean).join(", "), CONDITION_CHARS, true);
|
|
143
|
-
const seller = sellerOf(item.seller);
|
|
144
|
-
const ref = EBAY_ITEM_ID.test(item.itemId) ? item.itemId : "";
|
|
145
|
-
out.push({
|
|
146
|
-
id: `ebay:${number}`,
|
|
147
|
-
title,
|
|
148
|
-
url,
|
|
149
|
-
...(ref ? { ref } : {}),
|
|
150
|
-
...(price ? { price: price.value, currency: price.currency } : {}),
|
|
151
|
-
...(condition ? { condition } : {}),
|
|
152
|
-
...(seller ? { seller } : {}),
|
|
153
|
-
});
|
|
131
|
+
seen.add(listing.id);
|
|
132
|
+
out.push(listing);
|
|
154
133
|
}
|
|
155
134
|
return out;
|
|
156
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* One eBay item, a search's summary or getItem's answer (the same fields): titled, with an eBay
|
|
138
|
+
* item address, priced (an auction at its current bid), with its condition, "auction" when it is
|
|
139
|
+
* one, and its seller; null without a title, an id or an item address. Pure.
|
|
140
|
+
*/
|
|
141
|
+
function itemListing(item) {
|
|
142
|
+
if (typeof item.title !== "string" || typeof item.itemId !== "string")
|
|
143
|
+
return null;
|
|
144
|
+
const title = clean(item.title, TITLE_CHARS, true);
|
|
145
|
+
const url = itemUrl(item.itemWebUrl);
|
|
146
|
+
if (!title || !url || item.itemId.length > 120)
|
|
147
|
+
return null;
|
|
148
|
+
const number = /\/itm\/([0-9]+)$/.exec(url)?.[1];
|
|
149
|
+
if (!number)
|
|
150
|
+
return null;
|
|
151
|
+
const options = Array.isArray(item.buyingOptions) ? item.buyingOptions : [];
|
|
152
|
+
const auction = options.includes("AUCTION");
|
|
153
|
+
const buyNow = options.includes("FIXED_PRICE");
|
|
154
|
+
// A plain auction at its current bid; one with Buy It Now at that price, which buys it outright.
|
|
155
|
+
const price = amountOf(auction && !buyNow ? (item.currentBidPrice ?? item.price) : item.price);
|
|
156
|
+
const state = typeof item.condition === "string" ? clean(item.condition, 30, true) : "";
|
|
157
|
+
const kind = auction ? [buyNow ? "auction, Buy It Now" : "auction"] : [];
|
|
158
|
+
const condition = clean([state, ...kind].filter(Boolean).join(", "), CONDITION_CHARS, true);
|
|
159
|
+
const seller = sellerOf(item.seller);
|
|
160
|
+
const ref = EBAY_ITEM_ID.test(item.itemId) ? item.itemId : "";
|
|
161
|
+
return {
|
|
162
|
+
id: `ebay:${number}`,
|
|
163
|
+
title,
|
|
164
|
+
url,
|
|
165
|
+
...(ref ? { ref } : {}),
|
|
166
|
+
...(price ? { price: price.value, currency: price.currency } : {}),
|
|
167
|
+
...(condition ? { condition } : {}),
|
|
168
|
+
...(seller ? { seller } : {}),
|
|
169
|
+
};
|
|
170
|
+
}
|
|
157
171
|
/** eBay's RESTful item id, `v1|<listing number>|<variation, 0 for none>`. */
|
|
158
172
|
export const EBAY_ITEM_ID = /^v1\|[0-9]{6,20}\|[0-9]{1,20}$/;
|
|
159
173
|
/** The longest text kept from one item read, and from its description alone. */
|
|
@@ -221,7 +235,9 @@ function shippingOf(options) {
|
|
|
221
235
|
/**
|
|
222
236
|
* What one getItem answer says, as `ListingDetail`: the title, short description, each item
|
|
223
237
|
* specific as "name: value", the product's own title (`fieldgroups=PRODUCT`), and the description as plain text, cleaned
|
|
224
|
-
* and capped at `DETAIL_CHARS`;
|
|
238
|
+
* and capped at `DETAIL_CHARS`; its shipping; and the listing itself as it is now (title, price,
|
|
239
|
+
* condition, seller, address), which a judged watch reads instead of keeping it. Null for an answer
|
|
240
|
+
* that is not an item. Pure.
|
|
225
241
|
*/
|
|
226
242
|
export function parseEbayItem(body) {
|
|
227
243
|
if (!isObj(body) || typeof body.itemId !== "string")
|
|
@@ -245,9 +261,11 @@ export function parseEbayItem(body) {
|
|
|
245
261
|
parts.push(clean(plain(body.description), DESCRIPTION_CHARS, true));
|
|
246
262
|
}
|
|
247
263
|
const shipping = shippingOf(body.shippingOptions);
|
|
264
|
+
const listing = itemListing(body);
|
|
248
265
|
return {
|
|
249
266
|
text: clean(parts.filter(Boolean).join("\n"), DETAIL_CHARS, true),
|
|
250
267
|
...(shipping ? { shipping } : {}),
|
|
268
|
+
...(listing ? { listing: { ...listing, ...(shipping ? { shipping } : {}) } } : {}),
|
|
251
269
|
};
|
|
252
270
|
}
|
|
253
271
|
/** The `ebay` source over the host's `browse`: `target` is the words to search for, `limits` the watch's top price and currency. */
|
|
@@ -282,6 +300,35 @@ export function ebaySource(browse) {
|
|
|
282
300
|
return null;
|
|
283
301
|
}
|
|
284
302
|
},
|
|
303
|
+
async reread(listing) {
|
|
304
|
+
const request = listing.ref ? ebayItemRequest(listing.ref) : null;
|
|
305
|
+
if (!request)
|
|
306
|
+
throw new SourceMiss("the held listing has no eBay item number");
|
|
307
|
+
let status;
|
|
308
|
+
let body;
|
|
309
|
+
try {
|
|
310
|
+
;
|
|
311
|
+
({ status, body } = await browse(request));
|
|
312
|
+
}
|
|
313
|
+
catch (err) {
|
|
314
|
+
// A fixed message: the host's own may echo the request or eBay's answer into run history.
|
|
315
|
+
throw new SourceMiss("eBay could not be reached for a held listing", { cause: err });
|
|
316
|
+
}
|
|
317
|
+
// Gone: 404 or 410, which is what eBay is taken to answer for an item it no longer has (inferred,
|
|
318
|
+
// not checked against a live ended listing). Busy (408, 429, 5xx) and refused keys (401, 403) are
|
|
319
|
+
// misses, tried again next look; any other answer for this one item will not change by asking
|
|
320
|
+
// again, so it is let go.
|
|
321
|
+
if (status === 404 || status === 410)
|
|
322
|
+
return null;
|
|
323
|
+
if (status === 401 || status === 403)
|
|
324
|
+
throw new SourceUnavailableError("eBay refused the app's keys");
|
|
325
|
+
if (status === 408 || status === 429 || status >= 500)
|
|
326
|
+
throw new SourceMiss(`eBay is busy (HTTP ${status})`);
|
|
327
|
+
const read = status === 200 ? parseEbayItem(body) : null;
|
|
328
|
+
if (!read?.listing)
|
|
329
|
+
throw new ListingUnreadable(`eBay answered HTTP ${status} for a held listing`);
|
|
330
|
+
return read;
|
|
331
|
+
},
|
|
285
332
|
};
|
|
286
333
|
}
|
|
287
334
|
//# sourceMappingURL=want-ebay.js.map
|