@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.
Files changed (42) hide show
  1. package/README.md +56 -0
  2. package/dist/index.d.ts +8 -6
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +8 -6
  5. package/dist/index.js.map +1 -1
  6. package/dist/news.d.ts +52 -0
  7. package/dist/news.d.ts.map +1 -1
  8. package/dist/news.js +243 -24
  9. package/dist/news.js.map +1 -1
  10. package/dist/research-answer.d.ts +138 -7
  11. package/dist/research-answer.d.ts.map +1 -1
  12. package/dist/research-answer.js +167 -12
  13. package/dist/research-answer.js.map +1 -1
  14. package/dist/research-social.d.ts +108 -0
  15. package/dist/research-social.d.ts.map +1 -0
  16. package/dist/research-social.js +320 -0
  17. package/dist/research-social.js.map +1 -0
  18. package/dist/research.d.ts +28 -0
  19. package/dist/research.d.ts.map +1 -1
  20. package/dist/research.js +55 -16
  21. package/dist/research.js.map +1 -1
  22. package/dist/social-links.d.ts +30 -0
  23. package/dist/social-links.d.ts.map +1 -0
  24. package/dist/social-links.js +129 -0
  25. package/dist/social-links.js.map +1 -0
  26. package/dist/want-ebay.d.ts +6 -3
  27. package/dist/want-ebay.d.ts.map +1 -1
  28. package/dist/want-ebay.js +77 -30
  29. package/dist/want-ebay.js.map +1 -1
  30. package/dist/want-sources.d.ts +21 -0
  31. package/dist/want-sources.d.ts.map +1 -1
  32. package/dist/want-sources.js +7 -0
  33. package/dist/want-sources.js.map +1 -1
  34. package/dist/wantjudge.d.ts +32 -3
  35. package/dist/wantjudge.d.ts.map +1 -1
  36. package/dist/wantjudge.js +207 -14
  37. package/dist/wantjudge.js.map +1 -1
  38. package/dist/wantlist.d.ts +7 -0
  39. package/dist/wantlist.d.ts.map +1 -1
  40. package/dist/wantlist.js +1 -0
  41. package/dist/wantlist.js.map +1 -1
  42. 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
- maxTurns: RESEARCH_MAX_TURNS,
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 ? [] : [...bestSourceChecks(canWait), ...firecrawlChecks()]),
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
- const answer = review.verdict === "approve" && state.draft ? state.draft : review.answer;
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
- /** A claim as compared for repeats: case, spacing and a trailing stop do not count. */
565
- function sameClaim(claim) {
566
- return claim
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
- const answer = review.verdict === "approve" && state.draft ? state.draft : review.answer;
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"research.js","sourceRoot":"","sources":["../src/research.ts"],"names":[],"mappings":"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"}
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":"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"}
@@ -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; a judged watch
27
- * never reads it.
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`; and its shipping. Null for an answer that is not an item. Pure.
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. */
@@ -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,EAGlB,KAAK,MAAM,EAGZ,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;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,CAwCvE;AAED,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;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAsBjE;AAED,oIAAoI;AACpI,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA8BrD"}
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; a judged watch
31
- * never reads it.
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 title = clean(item.title, TITLE_CHARS, true);
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
- const number = /\/itm\/([0-9]+)$/.exec(url)?.[1];
132
- if (!number || seen.has(number))
129
+ if (!listing || seen.has(listing.id))
133
130
  continue;
134
- seen.add(number);
135
- const options = Array.isArray(item.buyingOptions) ? item.buyingOptions : [];
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`; and its shipping. Null for an answer that is not an item. Pure.
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