@rackbops/docket-types 0.15.0 → 0.17.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 +12 -7
- package/dist/extract.d.ts +33 -3
- package/dist/extract.d.ts.map +1 -1
- package/dist/extract.js +118 -9
- package/dist/extract.js.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -7
- package/dist/index.js.map +1 -1
- package/dist/money.d.ts +12 -1
- package/dist/money.d.ts.map +1 -1
- package/dist/money.js +22 -2
- package/dist/money.js.map +1 -1
- package/dist/price.d.ts +9 -2
- package/dist/price.d.ts.map +1 -1
- package/dist/price.js +23 -5
- package/dist/price.js.map +1 -1
- package/dist/reminder.d.ts +4 -1
- package/dist/reminder.d.ts.map +1 -1
- package/dist/reminder.js +7 -3
- package/dist/reminder.js.map +1 -1
- package/dist/renewal.d.ts +2 -1
- package/dist/renewal.d.ts.map +1 -1
- package/dist/renewal.js.map +1 -1
- package/dist/research-answer.d.ts.map +1 -1
- package/dist/research-answer.js +12 -3
- package/dist/research-answer.js.map +1 -1
- package/dist/research-sources.d.ts.map +1 -1
- package/dist/research-sources.js +6 -3
- package/dist/research-sources.js.map +1 -1
- package/dist/research.d.ts +1 -4
- package/dist/research.d.ts.map +1 -1
- package/dist/research.js +5 -19
- package/dist/research.js.map +1 -1
- package/dist/retry.d.ts +26 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +30 -0
- package/dist/retry.js.map +1 -0
- package/dist/scout.d.ts +5 -1
- package/dist/scout.d.ts.map +1 -1
- package/dist/scout.js +13 -21
- package/dist/scout.js.map +1 -1
- package/dist/want-ebay.d.ts +3 -3
- package/dist/want-ebay.d.ts.map +1 -1
- package/dist/want-ebay.js +8 -17
- package/dist/want-ebay.js.map +1 -1
- package/dist/want-shopify.d.ts +5 -2
- package/dist/want-shopify.d.ts.map +1 -1
- package/dist/want-shopify.js +9 -21
- package/dist/want-shopify.js.map +1 -1
- package/dist/want-sources.d.ts +23 -4
- package/dist/want-sources.d.ts.map +1 -1
- package/dist/want-sources.js +38 -17
- package/dist/want-sources.js.map +1 -1
- package/dist/want-text.d.ts +19 -0
- package/dist/want-text.d.ts.map +1 -0
- package/dist/want-text.js +41 -0
- package/dist/want-text.js.map +1 -0
- package/dist/wantjudge.d.ts.map +1 -1
- package/dist/wantjudge.js +26 -34
- package/dist/wantjudge.js.map +1 -1
- package/dist/wantlist.d.ts +31 -1
- package/dist/wantlist.d.ts.map +1 -1
- package/dist/wantlist.js +93 -26
- package/dist/wantlist.js.map +1 -1
- package/package.json +2 -2
package/dist/scout.d.ts
CHANGED
|
@@ -105,7 +105,11 @@ export interface ScoutItem {
|
|
|
105
105
|
price?: string;
|
|
106
106
|
url: string;
|
|
107
107
|
}
|
|
108
|
-
/**
|
|
108
|
+
/**
|
|
109
|
+
* The key an item is remembered by: a digest of its URL without the fragment or the per-view
|
|
110
|
+
* parameters the want sources drop (`utm_*`, the click ids; docket#64), so one item linked two
|
|
111
|
+
* ways is one item. A URL with none of them keys as it always did.
|
|
112
|
+
*/
|
|
109
113
|
export declare function itemKey(url: string): string;
|
|
110
114
|
/** The state as stored, or a fresh one; anything unreadable in it is dropped. */
|
|
111
115
|
export declare function scoutState(value: unknown): ScoutState;
|
package/dist/scout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scout.d.ts","sourceRoot":"","sources":["../src/scout.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"scout.d.ts","sourceRoot":"","sources":["../src/scout.ts"],"names":[],"mappings":"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"}
|
package/dist/scout.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import { clean, DEFAULT_ALLOWED_TOOLS, DEFAULT_DISALLOWED_TOOLS, defineTaskType, } from "@rackbops/docket-core";
|
|
3
|
-
import { AUTH_RETRY_MS, MAX_TRIES } from "./research.js";
|
|
2
|
+
import { clean, DEFAULT_ALLOWED_TOOLS, DEFAULT_DISALLOWED_TOOLS, defineTaskType, FOLLOW_UP_PREFIX, } from "@rackbops/docket-core";
|
|
4
3
|
import { fitMessage, safeUrl } from "./research-answer.js";
|
|
4
|
+
import { retryOutcome } from "./retry.js";
|
|
5
|
+
import { withoutPerView } from "./want-sources.js";
|
|
5
6
|
/**
|
|
6
7
|
* Category 1, the interest scout (plan 1.2 row 1; E9, rackbops-bot-plugins#83): a recurring model
|
|
7
8
|
* run that looks on the web for things a person would find interesting, through a gift lens, and
|
|
@@ -83,10 +84,13 @@ export const SCOUT_SCHEMA = {
|
|
|
83
84
|
function isObj(v) {
|
|
84
85
|
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
85
86
|
}
|
|
86
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* The key an item is remembered by: a digest of its URL without the fragment or the per-view
|
|
89
|
+
* parameters the want sources drop (`utm_*`, the click ids; docket#64), so one item linked two
|
|
90
|
+
* ways is one item. A URL with none of them keys as it always did.
|
|
91
|
+
*/
|
|
87
92
|
export function itemKey(url) {
|
|
88
|
-
const u = new URL(url);
|
|
89
|
-
u.hash = "";
|
|
93
|
+
const u = withoutPerView(new URL(url));
|
|
90
94
|
return createHash("sha256").update(u.toString()).digest("hex").slice(0, 32);
|
|
91
95
|
}
|
|
92
96
|
/** The state as stored, or a fresh one; anything unreadable in it is dropped. */
|
|
@@ -195,13 +199,6 @@ export function renderScout(title, items, shortfall, repeats) {
|
|
|
195
199
|
lines.push("", `Fewer than ${MIN_ITEMS}: ${shortfall}`);
|
|
196
200
|
return fitMessage(lines);
|
|
197
201
|
}
|
|
198
|
-
const RETRIED = new Set([
|
|
199
|
-
"schema_miss",
|
|
200
|
-
"malformed",
|
|
201
|
-
"timeout",
|
|
202
|
-
"error",
|
|
203
|
-
"auth_failed",
|
|
204
|
-
]);
|
|
205
202
|
const SAID = {
|
|
206
203
|
auth_failed: "the runner could not sign in",
|
|
207
204
|
turn_cap: "it needed more steps than one run is allowed",
|
|
@@ -214,14 +211,9 @@ const SAID = {
|
|
|
214
211
|
function failed(ctx, state, kind, detail) {
|
|
215
212
|
const failures = state.failures + 1;
|
|
216
213
|
const summary = clean(`scout ${kind} (try ${failures}): ${detail}`, 300, true);
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
return {
|
|
220
|
-
state: { ...state, failures },
|
|
221
|
-
followUp: wait > 0 ? { at: new Date(ctx.now.getTime() + wait).toISOString() } : {},
|
|
222
|
-
summary,
|
|
223
|
-
};
|
|
224
|
-
}
|
|
214
|
+
const retry = retryOutcome(kind, failures, ctx.now);
|
|
215
|
+
if (retry)
|
|
216
|
+
return { state: { ...state, failures }, followUp: retry.followUp, summary };
|
|
225
217
|
const narrower = kind === "turn_cap" || kind === "budget_cap" ? " Fewer or narrower interests may help." : "";
|
|
226
218
|
return {
|
|
227
219
|
// The next scheduled run starts with a clean count.
|
|
@@ -302,7 +294,7 @@ export const scout = defineTaskType({
|
|
|
302
294
|
async finish(ctx, result) {
|
|
303
295
|
const stored = scoutState(ctx.state);
|
|
304
296
|
// Only a retry (a follow-up) carries the count on: a scheduled run starts its own.
|
|
305
|
-
const state = ctx.occurrence.dedupeKey.startsWith(
|
|
297
|
+
const state = ctx.occurrence.dedupeKey.startsWith(FOLLOW_UP_PREFIX)
|
|
306
298
|
? stored
|
|
307
299
|
: { ...stored, failures: 0 };
|
|
308
300
|
if (result.kind !== "success")
|
package/dist/scout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scout.js","sourceRoot":"","sources":["../src/scout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scout.js","sourceRoot":"","sources":["../src/scout.ts"],"names":[],"mappings":"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"}
|
package/dist/want-ebay.d.ts
CHANGED
|
@@ -43,9 +43,9 @@ export interface EbaySearch {
|
|
|
43
43
|
/**
|
|
44
44
|
* The request for a search: the words as sent (cut at a word, like Shopify's), newest first, at
|
|
45
45
|
* most `EBAY_LIMIT`, and at or under the top price. eBay US prices in USD, so the price filter is
|
|
46
|
-
* sent only for a watch in USD (or naming no currency); a watch in another
|
|
47
|
-
*
|
|
48
|
-
* decimals. Pure.
|
|
46
|
+
* sent only for a watch in USD (or naming no valid currency, `currencyCode`); a watch in another
|
|
47
|
+
* currency gets no filter here, and the want-list type never searches for one (`pollWant` answers
|
|
48
|
+
* it with a miss the owner hears, docket#41). The filter is in whole units with decimals. Pure.
|
|
49
49
|
*/
|
|
50
50
|
export declare function ebayRequest(s: EbaySearch): EbayRequest;
|
|
51
51
|
/**
|
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":"
|
|
1
|
+
{"version":3,"file":"want-ebay.d.ts","sourceRoot":"","sources":["../src/want-ebay.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,OAAO,EAGZ,KAAK,MAAM,EAGZ,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,gBAAgB,uCAAuC,CAAA;AACpE,eAAO,MAAM,gBAAgB,YAAY,CAAA;AACzC,eAAO,MAAM,aAAa,QAAQ,CAAA;AAClC,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAE1C,uHAAuH;AACvH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,gBAAgB,CAAA;IAC7B,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,CAsCvE;AAED,oIAAoI;AACpI,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAoBrD"}
|
package/dist/want-ebay.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { clean } from "@rackbops/docket-core";
|
|
2
|
+
import { currencyCode, minorUnits } from "./money.js";
|
|
2
3
|
import { safeUrl } from "./research-answer.js";
|
|
3
|
-
import { matchesWords,
|
|
4
|
-
import { isEbayHost, MAX_LISTINGS, SourceMiss,
|
|
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
6
|
/**
|
|
6
7
|
* The eBay source (Rod, 2026-10-20, "Build it" on the eBay Browse API card): listings from eBay's
|
|
7
8
|
* own Browse API, `GET /buy/browse/v1/item_summary/search` (developer.ebay.com, read 2026-10-20),
|
|
@@ -27,19 +28,15 @@ export const EBAY_MARKETPLACE = "EBAY_US";
|
|
|
27
28
|
export const EBAY_CURRENCY = "USD";
|
|
28
29
|
export const EBAY_LIMIT = 50;
|
|
29
30
|
export const EBAY_ATTRIBUTION = "via eBay";
|
|
30
|
-
const TITLE_CHARS = 150;
|
|
31
|
-
const CONDITION_CHARS = 40;
|
|
32
|
-
const SELLER_CHARS = 80;
|
|
33
31
|
/**
|
|
34
32
|
* The request for a search: the words as sent (cut at a word, like Shopify's), newest first, at
|
|
35
33
|
* most `EBAY_LIMIT`, and at or under the top price. eBay US prices in USD, so the price filter is
|
|
36
|
-
* sent only for a watch in USD (or naming no currency); a watch in another
|
|
37
|
-
*
|
|
38
|
-
* decimals. Pure.
|
|
34
|
+
* sent only for a watch in USD (or naming no valid currency, `currencyCode`); a watch in another
|
|
35
|
+
* currency gets no filter here, and the want-list type never searches for one (`pollWant` answers
|
|
36
|
+
* it with a miss the owner hears, docket#41). The filter is in whole units with decimals. Pure.
|
|
39
37
|
*/
|
|
40
38
|
export function ebayRequest(s) {
|
|
41
|
-
const
|
|
42
|
-
const currency = asked === "" ? EBAY_CURRENCY : asked;
|
|
39
|
+
const currency = currencyCode(s.currency) ?? EBAY_CURRENCY;
|
|
43
40
|
const params = {
|
|
44
41
|
q: shopifyQuery(s.query),
|
|
45
42
|
limit: String(EBAY_LIMIT),
|
|
@@ -54,7 +51,6 @@ export function ebayRequest(s) {
|
|
|
54
51
|
}
|
|
55
52
|
return { path: EBAY_SEARCH_PATH, params, marketplace: EBAY_MARKETPLACE };
|
|
56
53
|
}
|
|
57
|
-
const isObj = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
58
54
|
/** eBay's `{ value, currency }`, value a decimal string: as a number and a code; null without both. */
|
|
59
55
|
function amountOf(v) {
|
|
60
56
|
if (!isObj(v))
|
|
@@ -164,12 +160,7 @@ export function ebaySource(browse) {
|
|
|
164
160
|
throw new SourceMiss(`eBay could not be searched: ${clean(err instanceof Error ? err.message : String(err), 200, true)}`, { cause: err });
|
|
165
161
|
}
|
|
166
162
|
// Keys eBay refuses, or an app without Browse access: no later look succeeds until someone acts.
|
|
167
|
-
|
|
168
|
-
throw new SourceUnavailableError("eBay refused the app's keys");
|
|
169
|
-
if (status === 429 || status >= 500)
|
|
170
|
-
throw new SourceMiss(`eBay is busy (HTTP ${status})`);
|
|
171
|
-
if (status !== 200)
|
|
172
|
-
throw new SourceMiss(`eBay answered HTTP ${status}`);
|
|
163
|
+
checkSearchStatus(status, "eBay", "eBay refused the app's keys");
|
|
173
164
|
return parseEbayAnswer(body, target);
|
|
174
165
|
},
|
|
175
166
|
};
|
package/dist/want-ebay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"want-ebay.js","sourceRoot":"","sources":["../src/want-ebay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"want-ebay.js","sourceRoot":"","sources":["../src/want-ebay.ts"],"names":[],"mappings":"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"}
|
package/dist/want-shopify.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { minorUnits } from "./money.js";
|
|
1
2
|
import { type Listing, type SearchLimits, type Source } from "./want-sources.js";
|
|
2
3
|
/**
|
|
3
4
|
* The Shopify source (Rod, 2026-10-19: "add Shopify to watches, daily"): new copies in stock at
|
|
@@ -52,12 +53,14 @@ export interface ShopifySearch extends SearchLimits {
|
|
|
52
53
|
/** The request for a search: in stock, at or under the top price (minor units, rounded down), in USD unless the watch names a valid three-letter code. Pure. */
|
|
53
54
|
export declare function shopifyRequest(s: ShopifySearch): ShopifyRequest;
|
|
54
55
|
export declare function shopifyQuery(query: string): string;
|
|
56
|
+
/** Letters and digits, lower-cased, accents folded (an accented "e" matches a plain one). */
|
|
57
|
+
export declare function wordsOf(text: string): string[];
|
|
55
58
|
/** The words a title must hold: those of the query as sent, in any order. */
|
|
56
59
|
export declare function searchWords(query: string): string[];
|
|
57
60
|
/** Whether `title` holds every one of `words` as a whole word. Pure. */
|
|
58
61
|
export declare function matchesWords(title: string, words: readonly string[]): boolean;
|
|
59
|
-
/**
|
|
60
|
-
export
|
|
62
|
+
/** Re-exported from `money.ts`, its home since docket#61, for callers that import it from here. */
|
|
63
|
+
export { minorUnits };
|
|
61
64
|
/**
|
|
62
65
|
* The listings in one search answer (Firecrawl's body): each product whose title holds every word
|
|
63
66
|
* of `query`, and in it each variant that is available, new or unmarked, with an address -- titled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"want-shopify.d.ts","sourceRoot":"","sources":["../src/want-shopify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"want-shopify.d.ts","sourceRoot":"","sources":["../src/want-shopify.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,UAAU,EAAE,MAAM,YAAY,CAAA;AAErD,OAAO,EAIL,KAAK,OAAO,EAGZ,KAAK,YAAY,EACjB,KAAK,MAAM,EAGZ,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,gBAAgB,YAAY,CAAA;AACzC,eAAO,MAAM,kBAAkB,2BAA2B,CAAA;AAC1D,0EAA0E;AAC1E,eAAO,MAAM,eAAe,IAAI,CAAA;AAChC,eAAO,MAAM,aAAa,KAAK,CAAA;AAC/B,eAAO,MAAM,eAAe,OAAO,CAAA;AACnC,eAAO,MAAM,gBAAgB,QAAQ,CAAA;AACrC,eAAO,MAAM,mBAAmB,gBAAgB,CAAA;AAGhD,8IAA8I;AAC9I,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,gBAAgB,CAAA;IACjC,UAAU,EAAE,OAAO,kBAAkB,CAAA;IACrC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE;YAAE,SAAS,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAA;KACtD,CAAA;CACF;AAED,mHAAmH;AACnH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AAEnG,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,KAAK,EAAE,MAAM,CAAA;CACd;AAED,gKAAgK;AAChK,wBAAgB,cAAc,CAAC,CAAC,EAAE,aAAa,GAAG,cAAc,CAgB/D;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED,6FAA6F;AAC7F,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ9C;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnD;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAG7E;AAiBD,mGAAmG;AACnG,OAAO,EAAE,UAAU,EAAE,CAAA;AAoBrB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAqD1E;AAED,uIAAuI;AACvI,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAsB3D"}
|
package/dist/want-shopify.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { clean } from "@rackbops/docket-core";
|
|
2
|
+
import { currencyCode, minorUnits } from "./money.js";
|
|
2
3
|
import { safeUrl } from "./research-answer.js";
|
|
3
|
-
import { MAX_LISTINGS, SourceMiss,
|
|
4
|
+
import { checkSearchStatus, isObj, MAX_LISTINGS, SELLER_CHARS, SourceMiss, TITLE_CHARS, } from "./want-sources.js";
|
|
4
5
|
/**
|
|
5
6
|
* The Shopify source (Rod, 2026-10-19: "add Shopify to watches, daily"): new copies in stock at
|
|
6
7
|
* Shopify stores, from Shopify's catalog search as Firecrawl's Alexandria runs it -- provider
|
|
@@ -27,12 +28,9 @@ export const SHOPIFY_COUNTRY = "US";
|
|
|
27
28
|
export const SHOPIFY_CURRENCY = "USD";
|
|
28
29
|
export const SHOPIFY_ATTRIBUTION = "via Shopify";
|
|
29
30
|
const MAX_VARIANTS = 20;
|
|
30
|
-
const TITLE_CHARS = 150;
|
|
31
|
-
const SELLER_CHARS = 80;
|
|
32
31
|
/** The request for a search: in stock, at or under the top price (minor units, rounded down), in USD unless the watch names a valid three-letter code. Pure. */
|
|
33
32
|
export function shopifyRequest(s) {
|
|
34
|
-
const
|
|
35
|
-
const currency = /^[A-Z]{3}$/.test(asked) ? asked : SHOPIFY_CURRENCY;
|
|
33
|
+
const currency = currencyCode(s.currency) ?? SHOPIFY_CURRENCY;
|
|
36
34
|
const filters = { available: true };
|
|
37
35
|
if (s.maxPrice !== undefined && Number.isFinite(s.maxPrice) && s.maxPrice >= 0)
|
|
38
36
|
filters.price = { max: Math.floor(s.maxPrice * minorUnits(currency) + 1e-6) };
|
|
@@ -48,7 +46,6 @@ export function shopifyRequest(s) {
|
|
|
48
46
|
},
|
|
49
47
|
};
|
|
50
48
|
}
|
|
51
|
-
const isObj = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
52
49
|
/** The words as sent to Shopify: one line, at most `QUERY_CHARS` and cut at a word, never with an ellipsis. */
|
|
53
50
|
const QUERY_CHARS = 200;
|
|
54
51
|
export function shopifyQuery(query) {
|
|
@@ -60,7 +57,7 @@ export function shopifyQuery(query) {
|
|
|
60
57
|
return (space > 0 ? cut.slice(0, space) : line.slice(0, QUERY_CHARS)).trim();
|
|
61
58
|
}
|
|
62
59
|
/** Letters and digits, lower-cased, accents folded (an accented "e" matches a plain one). */
|
|
63
|
-
function wordsOf(text) {
|
|
60
|
+
export function wordsOf(text) {
|
|
64
61
|
return (text
|
|
65
62
|
.normalize("NFKD")
|
|
66
63
|
.replace(/\p{M}+/gu, "")
|
|
@@ -95,14 +92,8 @@ function listingUrl(raw) {
|
|
|
95
92
|
u.searchParams.delete(key);
|
|
96
93
|
return safeUrl(u.toString());
|
|
97
94
|
}
|
|
98
|
-
/**
|
|
99
|
-
|
|
100
|
-
const THREE_DECIMAL = new Set("BHD IQD JOD KWD LYD OMR TND".split(" "));
|
|
101
|
-
/** How many minor units make one of `currency` (100 for USD, 1 for JPY, 1000 for KWD). */
|
|
102
|
-
export function minorUnits(currency) {
|
|
103
|
-
const c = currency.toUpperCase();
|
|
104
|
-
return ZERO_DECIMAL.has(c) ? 1 : THREE_DECIMAL.has(c) ? 1000 : 100;
|
|
105
|
-
}
|
|
95
|
+
/** Re-exported from `money.ts`, its home since docket#61, for callers that import it from here. */
|
|
96
|
+
export { minorUnits };
|
|
106
97
|
/** A price object `{ amount, currency }` in minor units, as a value and a code; null without both. */
|
|
107
98
|
function priceOf(v) {
|
|
108
99
|
if (!isObj(v))
|
|
@@ -208,12 +199,9 @@ export function shopifySource(scrape) {
|
|
|
208
199
|
throw new SourceMiss(`Shopify could not be searched: ${clean(err instanceof Error ? err.message : String(err), 200, true)}`, { cause: err });
|
|
209
200
|
}
|
|
210
201
|
// A bad key, or no credits left: no later look succeeds until someone acts.
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
throw new SourceMiss(`Firecrawl is busy (HTTP ${status})`);
|
|
215
|
-
if (status !== 200)
|
|
216
|
-
throw new SourceMiss(`Firecrawl answered HTTP ${status}`);
|
|
202
|
+
checkSearchStatus(status, "Firecrawl", "Firecrawl refused the key", {
|
|
203
|
+
402: "the Firecrawl account is out of credits",
|
|
204
|
+
});
|
|
217
205
|
return parseShopifyAnswer(body, target);
|
|
218
206
|
},
|
|
219
207
|
};
|
package/dist/want-shopify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"want-shopify.js","sourceRoot":"","sources":["../src/want-shopify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"want-shopify.js","sourceRoot":"","sources":["../src/want-shopify.ts"],"names":[],"mappings":"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"}
|
package/dist/want-sources.d.ts
CHANGED
|
@@ -56,6 +56,17 @@ export declare class SourceUnavailableError extends SourceMiss {
|
|
|
56
56
|
name: string;
|
|
57
57
|
}
|
|
58
58
|
export declare const MAX_LISTINGS = 100;
|
|
59
|
+
/** The longest listing title, condition and seller kept, for every source (docket#68). */
|
|
60
|
+
export declare const TITLE_CHARS = 150;
|
|
61
|
+
export declare const CONDITION_CHARS = 40;
|
|
62
|
+
export declare const SELLER_CHARS = 80;
|
|
63
|
+
/**
|
|
64
|
+
* What a search source's HTTP status means, for every source that searches through the host
|
|
65
|
+
* (docket#68): 401 and 403, and any status in `unavailable`, are a `SourceUnavailableError` (no
|
|
66
|
+
* later look succeeds until someone acts); 429 and 5xx are `who` being busy; anything else but
|
|
67
|
+
* 200 is a plain miss. Returns on 200.
|
|
68
|
+
*/
|
|
69
|
+
export declare function checkSearchStatus(status: number, who: string, refused: string, unavailable?: Readonly<Record<number, string>>): void;
|
|
59
70
|
/** The key a listing is remembered by: a digest of its id, so the state stays small whatever the URLs. */
|
|
60
71
|
export declare function listingKey(id: string): string;
|
|
61
72
|
/**
|
|
@@ -65,15 +76,23 @@ export declare function listingKey(id: string): string;
|
|
|
65
76
|
* A host's Fetch adapter must honour it and strip it.
|
|
66
77
|
*/
|
|
67
78
|
export declare const NEVER_EBAY = "x-tracker-never-ebay";
|
|
68
|
-
/**
|
|
79
|
+
/**
|
|
80
|
+
* eBay's own hosts (and its short links), as a hostname with no trailing dot. The one pattern for
|
|
81
|
+
* eBay: `isEbayHost` and research's `BARRED_SITES` both test it.
|
|
82
|
+
*/
|
|
83
|
+
export declare const EBAY_HOST: RegExp;
|
|
84
|
+
/** eBay's own hosts (and its short links). A fully qualified `ebay.com.` is eBay too. */
|
|
69
85
|
export declare function isEbayHost(host: string): boolean;
|
|
86
|
+
export type Json = Record<string, unknown>;
|
|
87
|
+
export declare const isObj: (v: unknown) => v is Json;
|
|
88
|
+
/** Drops `u`'s fragment and its per-view parameters (`PER_VIEW`), in place; returns it. */
|
|
89
|
+
export declare function withoutPerView(u: URL): URL;
|
|
70
90
|
/**
|
|
71
91
|
* The listings in a page's JSON-LD: each `ItemList`'s elements (a `ListItem`'s `item`, or the
|
|
72
92
|
* element itself) and each standalone product, in page order, without repeats. A product with no
|
|
73
|
-
* address of its own is the page itself (a product page).
|
|
93
|
+
* address of its own is the page itself (a product page). Also how many `ItemList`s the page
|
|
94
|
+
* declares: an empty one is a search with no results, not an unreadable page. Pure.
|
|
74
95
|
*/
|
|
75
|
-
export declare function listingsFromJsonLd(html: string, pageUrl: string): Listing[];
|
|
76
|
-
/** `listingsFromJsonLd`, and how many `ItemList`s the page declares: an empty one is a search with no results, not an unreadable page. */
|
|
77
96
|
export declare function readListings(html: string, pageUrl: string): {
|
|
78
97
|
listings: Listing[];
|
|
79
98
|
lists: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"want-sources.d.ts","sourceRoot":"","sources":["../src/want-sources.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAIzD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,OAAO;IACtB,8FAA8F;IAC9F,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;AACpE,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAAgD,CAAA;AAE1F,qJAAqJ;AACrJ,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,QAAQ,CAAA;IACZ,0FAA0F;IAC1F,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;CAC5F;AAED,4GAA4G;AAC5G,qBAAa,UAAW,SAAQ,KAAK;IAC1B,IAAI,SAAe;CAC7B;AAED,+GAA+G;AAC/G,qBAAa,sBAAuB,SAAQ,UAAU;IAC3C,IAAI,SAA2B;CACzC;AAED,eAAO,MAAM,YAAY,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"want-sources.d.ts","sourceRoot":"","sources":["../src/want-sources.ts"],"names":[],"mappings":"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"}
|
package/dist/want-sources.js
CHANGED
|
@@ -12,9 +12,25 @@ export class SourceUnavailableError extends SourceMiss {
|
|
|
12
12
|
name = "SourceUnavailableError";
|
|
13
13
|
}
|
|
14
14
|
export const MAX_LISTINGS = 100;
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
const
|
|
15
|
+
/** The longest listing title, condition and seller kept, for every source (docket#68). */
|
|
16
|
+
export const TITLE_CHARS = 150;
|
|
17
|
+
export const CONDITION_CHARS = 40;
|
|
18
|
+
export const SELLER_CHARS = 80;
|
|
19
|
+
/**
|
|
20
|
+
* What a search source's HTTP status means, for every source that searches through the host
|
|
21
|
+
* (docket#68): 401 and 403, and any status in `unavailable`, are a `SourceUnavailableError` (no
|
|
22
|
+
* later look succeeds until someone acts); 429 and 5xx are `who` being busy; anything else but
|
|
23
|
+
* 200 is a plain miss. Returns on 200.
|
|
24
|
+
*/
|
|
25
|
+
export function checkSearchStatus(status, who, refused, unavailable = {}) {
|
|
26
|
+
const said = unavailable[status] ?? (status === 401 || status === 403 ? refused : undefined);
|
|
27
|
+
if (said !== undefined)
|
|
28
|
+
throw new SourceUnavailableError(said);
|
|
29
|
+
if (status === 429 || status >= 500)
|
|
30
|
+
throw new SourceMiss(`${who} is busy (HTTP ${status})`);
|
|
31
|
+
if (status !== 200)
|
|
32
|
+
throw new SourceMiss(`${who} answered HTTP ${status}`);
|
|
33
|
+
}
|
|
18
34
|
const MAX_DEPTH = 8;
|
|
19
35
|
/** The key a listing is remembered by: a digest of its id, so the state stays small whatever the URLs. */
|
|
20
36
|
export function listingKey(id) {
|
|
@@ -27,11 +43,16 @@ export function listingKey(id) {
|
|
|
27
43
|
* A host's Fetch adapter must honour it and strip it.
|
|
28
44
|
*/
|
|
29
45
|
export const NEVER_EBAY = "x-tracker-never-ebay";
|
|
30
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* eBay's own hosts (and its short links), as a hostname with no trailing dot. The one pattern for
|
|
48
|
+
* eBay: `isEbayHost` and research's `BARRED_SITES` both test it.
|
|
49
|
+
*/
|
|
50
|
+
export const EBAY_HOST = /(^|\.)ebay\.[a-z]{2,3}(\.[a-z]{2})?$/i;
|
|
51
|
+
/** eBay's own hosts (and its short links). A fully qualified `ebay.com.` is eBay too. */
|
|
31
52
|
export function isEbayHost(host) {
|
|
32
|
-
return
|
|
53
|
+
return EBAY_HOST.test(host.replace(/\.$/, ""));
|
|
33
54
|
}
|
|
34
|
-
const isObj = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
55
|
+
export const isObj = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
35
56
|
function typesOf(node) {
|
|
36
57
|
const t = node["@type"];
|
|
37
58
|
const all = Array.isArray(t) ? t : [t];
|
|
@@ -73,16 +94,19 @@ function firstOffer(offers) {
|
|
|
73
94
|
* keeps one id from poll to poll and is not sent again as new.
|
|
74
95
|
*/
|
|
75
96
|
const PER_VIEW = /^(utm_[a-z]+|_pos|_sid|_ss|_psq|srsltid|gclid|gbraid|wbraid|fbclid|msclkid|mc_cid|mc_eid|pf_rd_[a-z]+|pd_rd_[a-z]+)$/i;
|
|
97
|
+
/** Drops `u`'s fragment and its per-view parameters (`PER_VIEW`), in place; returns it. */
|
|
98
|
+
export function withoutPerView(u) {
|
|
99
|
+
u.hash = "";
|
|
100
|
+
for (const key of [...u.searchParams.keys()])
|
|
101
|
+
if (PER_VIEW.test(key))
|
|
102
|
+
u.searchParams.delete(key);
|
|
103
|
+
return u;
|
|
104
|
+
}
|
|
76
105
|
function absolute(raw, base) {
|
|
77
106
|
if (typeof raw !== "string" || raw.trim() === "")
|
|
78
107
|
return null;
|
|
79
108
|
try {
|
|
80
|
-
|
|
81
|
-
u.hash = "";
|
|
82
|
-
for (const key of [...u.searchParams.keys()])
|
|
83
|
-
if (PER_VIEW.test(key))
|
|
84
|
-
u.searchParams.delete(key);
|
|
85
|
-
return safeUrl(u.toString());
|
|
109
|
+
return safeUrl(withoutPerView(new URL(raw.trim(), base)).toString());
|
|
86
110
|
}
|
|
87
111
|
catch {
|
|
88
112
|
return null;
|
|
@@ -111,12 +135,9 @@ function listingOf(node, base, fallbackUrl) {
|
|
|
111
135
|
/**
|
|
112
136
|
* The listings in a page's JSON-LD: each `ItemList`'s elements (a `ListItem`'s `item`, or the
|
|
113
137
|
* element itself) and each standalone product, in page order, without repeats. A product with no
|
|
114
|
-
* address of its own is the page itself (a product page).
|
|
138
|
+
* address of its own is the page itself (a product page). Also how many `ItemList`s the page
|
|
139
|
+
* declares: an empty one is a search with no results, not an unreadable page. Pure.
|
|
115
140
|
*/
|
|
116
|
-
export function listingsFromJsonLd(html, pageUrl) {
|
|
117
|
-
return readListings(html, pageUrl).listings;
|
|
118
|
-
}
|
|
119
|
-
/** `listingsFromJsonLd`, and how many `ItemList`s the page declares: an empty one is a search with no results, not an unreadable page. */
|
|
120
141
|
export function readListings(html, pageUrl) {
|
|
121
142
|
let lists = 0;
|
|
122
143
|
const out = [];
|