@rackbops/docket-types 0.9.0 → 0.11.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 +98 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/research-answer.d.ts.map +1 -1
- package/dist/research-answer.js +3 -2
- package/dist/research-answer.js.map +1 -1
- package/dist/research-sources.d.ts +61 -4
- package/dist/research-sources.d.ts.map +1 -1
- package/dist/research-sources.js +209 -15
- package/dist/research-sources.js.map +1 -1
- package/dist/research-web.d.ts +63 -0
- package/dist/research-web.d.ts.map +1 -0
- package/dist/research-web.js +136 -0
- package/dist/research-web.js.map +1 -0
- package/dist/research.d.ts +36 -3
- package/dist/research.d.ts.map +1 -1
- package/dist/research.js +166 -20
- package/dist/research.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -92,6 +92,104 @@ The tracker's task types, built on `@rackbops/docket-core`'s contract. Shipped s
|
|
|
92
92
|
asking for it. A second pass that is never readied, with one retry in
|
|
93
93
|
every phase, is a chain of eight runs, inside core's `MAX_FOLLOW_UPS` (9 from 0.9.0).
|
|
94
94
|
|
|
95
|
+
**Every part of the question** (0.10.0): before searching, the research run splits the question
|
|
96
|
+
into the parts it needs answered, including any list the question takes for granted, and
|
|
97
|
+
settles a part another depends on first: "the best game of 2026 in each major category" is the
|
|
98
|
+
major categories, then the best in each. It answers every part, in the summary and the findings,
|
|
99
|
+
and names in `uncertain` any part it could not settle and why. The reviewer works out the same
|
|
100
|
+
parts before its other checks, and never approves an answer that silently skips one: `revise`
|
|
101
|
+
(fill the part from the sources, or name it in `uncertain` when they cannot settle it) or
|
|
102
|
+
`reject`. The second pass asks the same of an update: a part the earlier answer left unsettled
|
|
103
|
+
that the pages settle is a new finding, and an update that skips it is revised or rejected. The
|
|
104
|
+
split is prompt-only, with no `parts` field: the summary and the findings already carry each
|
|
105
|
+
part's answer, a separate list would repeat them inside the DM's 1,900 characters, and each of
|
|
106
|
+
its lines would be a claim with no source of its own. So the schemas (but for the wider
|
|
107
|
+
`blocked` description, below), the DM, stored states and the 0.9.0 flows are as they were.
|
|
108
|
+
|
|
109
|
+
**The best source** (0.10.0): before searching, the research run names each part's reference
|
|
110
|
+
site -- BoardGameGeek for board games, eBay for listings and sold prices, otherwise the maker,
|
|
111
|
+
the standards body or the official record -- and rests the answer on it. A `web` first pass and
|
|
112
|
+
its reviewer open BoardGameGeek like any site (an ordinary read, nothing to get round a
|
|
113
|
+
refusal; from 0.11.0, one more try through `firecrawl_scrape`, below). eBay is never opened by any run (eBay's User Agreement, section 3 (automated access)):
|
|
114
|
+
a web first pass and its reviewer deny its fetches (`WEB_DISALLOWED_TOOLS`, new; before 0.10.0 a
|
|
115
|
+
web run had no eBay denial), and a run on gathered pages (a `sent` request, a second pass) never
|
|
116
|
+
opens either site (`SENT_DISALLOWED_TOOLS`, now built from `BARRED_SITES`). Only fetches are
|
|
117
|
+
denied: WebSearch has no domain filter, so a search can still list their pages.
|
|
118
|
+
|
|
119
|
+
`researchJob` and `reviewJob` take `ResearchJobOptions` as a new last argument; called directly
|
|
120
|
+
they default to `canWait: false`. The answer schema's `blocked` description now also covers the best source for a part that the
|
|
121
|
+
run could not or may not open. What the run does with a best source it could not open depends on whether a fuller pass can
|
|
122
|
+
follow (`ResearchJobOptions.canWait`, which `prepare` sets for a `web` first pass whose host has
|
|
123
|
+
`readSources`):
|
|
124
|
+
- **It can:** the source goes in `blocked` -- a refused page (a 403, a CAPTCHA or challenge
|
|
125
|
+
page, an empty or blocked body, a sign-in wall) or eBay -- with its URL only when that is the
|
|
126
|
+
page's real address (such as BoardGameGeek's ranking or browse page), never a guessed one, and
|
|
127
|
+
never as "I didn't check" in the summary or `uncertain`. The reviewer revises an answer that
|
|
128
|
+
leans on secondary sources while the best source is neither cited nor in `blocked`, adding it
|
|
129
|
+
there, and moves a "didn't check" line to `blocked`.
|
|
130
|
+
- **It cannot** (no store, a `sent` request, a second pass): `blocked` is never shown, so the run
|
|
131
|
+
names the missing source in one short `uncertain` line ("BoardGameGeek was not among the pages
|
|
132
|
+
read"), and a web reviewer revises an answer to add that line.
|
|
133
|
+
- A web reviewer moves a claim resting only on an eBay address (a search listing, never an opened
|
|
134
|
+
page) to `uncertain`.
|
|
135
|
+
|
|
136
|
+
The wait's list is the research run's own, then on a revise any the reviewer added (an approve
|
|
137
|
+
sends the stored draft, so it adds none; no reviewer drops one), one entry per page
|
|
138
|
+
(`uniqueBlocked`, keyed by `blockedKey`: host and path, without query or end slash, for an entry
|
|
139
|
+
with a URL; the site's name for one without, which merges into any entry on its site, so
|
|
140
|
+
"BoardGameGeek" and a boardgamegeek.com page are one entry and two BoardGameGeek pages are two;
|
|
141
|
+
only the known aliases merge -- BGG/BoardGameGeek/geekdo.com and eBay/ebay.* -- so amazon.de and
|
|
142
|
+
amazon.co.uk stay two), then the belt's: `withBarredSites` adds `{site,
|
|
143
|
+
why: NOT_OPENED_WHY}` (no URL) for a site of `BARRED_SITES` that a sentence of the summary or an
|
|
144
|
+
uncertain line names as not read -- the outgoing answer's, or the research run's own draft's, so
|
|
145
|
+
a reviewer that rewords "I didn't check BoardGameGeek" into "No rating-based ranking was
|
|
146
|
+
available" still leaves the wait. "Not read" must be tied to the site (straight or curly
|
|
147
|
+
apostrophe): a negated reading verb with the site as its object, at most three words apart
|
|
148
|
+
("didn't check BoardGameGeek", "unable to load the BGG page", "without opening BGG"); the site
|
|
149
|
+
as the subject of a failure, at most three words apart ("BGG refused the request", "the
|
|
150
|
+
BoardGameGeek ranking was not checked", "eBay could not be opened", "returned 403", "required
|
|
151
|
+
sign-in"); or "no <site> data/ratings/rankings/results". "e.g." and "i.e." do not end a
|
|
152
|
+
sentence. A negation about something else does not count: "not common on eBay", "the game is
|
|
153
|
+
not in print", "BGG users do not agree". eBay also counts when a finding of the outgoing answer
|
|
154
|
+
or of the draft rests only on eBay addresses, so a reviewer that moves such a claim to
|
|
155
|
+
`uncertain`, as told, keeps the wait. A passing mention counts for neither, so a question that
|
|
156
|
+
only mentions eBay starts no 14-day wait. An entry on the site by name or by URL host stops the
|
|
157
|
+
belt (a "BoardGameGeek" entry with an archive.org URL counts). BoardGameGeek is left alone when a finding of the
|
|
158
|
+
outgoing answer cites one of its pages; eBay, never opened, has no such exemption. At most 6 in
|
|
159
|
+
all. Nothing the model wrote is stripped from the DM; the "Couldn't open:" list and the queued
|
|
160
|
+
line say what was not opened.
|
|
161
|
+
|
|
162
|
+
**Firecrawl** (0.11.0): a `web` first pass and its reviewer may also use the Firecrawl MCP
|
|
163
|
+
tools, `mcp__firecrawl__firecrawl_search` and `mcp__firecrawl__firecrawl_scrape`
|
|
164
|
+
(`FIRECRAWL_TOOLS`; their allowed list is `WEB_ALLOWED_TOOLS`, the core's `DEFAULT_ALLOWED_TOOLS`
|
|
165
|
+
and then these two). The prompts say: WebFetch first; a page that refuses it (a 403, a block, a
|
|
166
|
+
CAPTCHA) is read with `firecrawl_scrape`, always with `proxy: "basic"`, never "stealth",
|
|
167
|
+
"enhanced" or "auto", one page at a time and never several pages of one site in parallel; no
|
|
168
|
+
eBay URL through any tool; `firecrawl_search` like web search; a page Firecrawl is refused too
|
|
169
|
+
is handled as a refused page (`blocked` or `uncertain`, as above). Permission rules cannot see
|
|
170
|
+
a tool's parameters, so the prompt is the only control for the proxy and for eBay through
|
|
171
|
+
Firecrawl (`WEB_DISALLOWED_TOOLS` still denies eBay to WebFetch). The reviewer's eBay handling
|
|
172
|
+
and the belt read the answer's addresses, so they apply whichever tool fetched the page. A run
|
|
173
|
+
on gathered pages keeps `DEFAULT_ALLOWED_TOOLS` and `SENT_DISALLOWED_TOOLS`. These Jobs need
|
|
174
|
+
runner 0.0.6 or later, whose ceiling admits the two names and which drops them when it has no
|
|
175
|
+
Firecrawl key; an older runner fails them (0.0.5 throws `ToolCeilingError`), so the runner is
|
|
176
|
+
released first.
|
|
177
|
+
|
|
178
|
+
**The site's own categories** (0.11.0): when the question asks about categories (or "each of
|
|
179
|
+
the major" kinds) and the best source defines its own, every research run uses that taxonomy
|
|
180
|
+
and says so, rather than inventing genres or saying no source defines them -- for board games,
|
|
181
|
+
BoardGameGeek's eight category rankings (`BGG_CATEGORIES`: Strategy, Family, Thematic, Party,
|
|
182
|
+
Abstract, Customizable, Children's, Wargames). A category with no qualifying entry is answered
|
|
183
|
+
"none yet", with the reason, never skipped. The summary names every category's pick in one
|
|
184
|
+
compact run ("Strategy: X; Family: Y; ..."), with each pick's source in the findings: the DM is
|
|
185
|
+
fitted to 1,900 characters by dropping lines from the end, and the summary comes first. A
|
|
186
|
+
second pass keeps the rest of the rule, but its summary, which says what changed, names only
|
|
187
|
+
the categories whose pick changed. A web first pass also gets a hint: a BGG advanced
|
|
188
|
+
search (`bggCategoryUrl(familyId, year)`) shows one category for one year, with the
|
|
189
|
+
`familyids[0]` ids as observed on the site on 2026-10-18 (not documented by BGG). The reviewer
|
|
190
|
+
of a full answer revises one that invents categories where the source defines them, or skips
|
|
191
|
+
an empty one.
|
|
192
|
+
|
|
95
193
|
- `scout` (category 1, E9): execute lane, `calendar` every N days at the owner's hour (the host bounds N; the tracker
|
|
96
194
|
plugin allows 1 to 30). One
|
|
97
195
|
`claude -p` Job a run (WebSearch and WebFetch; 30 turns, 1.50 USD, 10 minutes, item 61 proposed)
|
package/dist/index.d.ts
CHANGED
|
@@ -15,9 +15,10 @@ export { money } from "./money.js";
|
|
|
15
15
|
export { BASELINE_RULES, type BaselineRule, DEFAULT_BASELINE, DEFAULT_DROP_PERCENT, MISSES_BEFORE_TELLING, type PriceConfig, type PriceState, price, reference, } from "./price.js";
|
|
16
16
|
export { DEFAULT_SNOOZE_MS, type ReminderConfig, reminder, snoozeUntil } from "./reminder.js";
|
|
17
17
|
export { decisionOf, isRenewalDecision, RENEWAL_DECISIONS, type RenewalConfig, type RenewalDecision, type RenewalState, renewal, } from "./renewal.js";
|
|
18
|
-
export { AUTH_RETRY_MS, deadlineOf, draftJson, MAX_CONTEXT_CHARS, MAX_QUESTION_CHARS, MAX_TRIES, MIN_SOURCES_WAIT_MS, RESEARCH_MAX_BUDGET_USD, RESEARCH_MAX_TURNS, RESEARCH_TIMEOUT_MS, REVIEW_MAX_BUDGET_USD, REVIEW_MAX_TURNS, REVIEW_TIMEOUT_MS, type ResearchConfig, type ResearchOptions, type ResearchPhase, type ResearchState, research, researchJob, researchState, researchType, reviewJob, usesSentSources, } from "./research.js";
|
|
18
|
+
export { AUTH_RETRY_MS, deadlineOf, draftJson, MAX_CONTEXT_CHARS, MAX_QUESTION_CHARS, MAX_TRIES, MIN_SOURCES_WAIT_MS, RESEARCH_MAX_BUDGET_USD, RESEARCH_MAX_TURNS, RESEARCH_TIMEOUT_MS, REVIEW_MAX_BUDGET_USD, REVIEW_MAX_TURNS, REVIEW_TIMEOUT_MS, type ResearchConfig, type ResearchJobOptions, type ResearchOptions, type ResearchPhase, type ResearchState, research, researchJob, researchState, researchType, reviewJob, usesSentSources, } from "./research.js";
|
|
19
19
|
export { ANSWER_SCHEMA, type BlockedPage, clean, fitMessage, MAX_BLOCKED, MAX_MESSAGE_CHARS, parseAnswer, parseBlocked, parseReview, REVIEW_SCHEMA, type ResearchAnswer, type ResearchFinding, type Review, renderAnswer, renderUpdate, safeUrl, VERDICTS, type Verdict, ZWSP, } from "./research-answer.js";
|
|
20
|
-
export { type GatheredPage, gatheredPages, MAX_GATHERED_CHARS, MAX_GATHERED_PAGES, MAX_PAGE_CHARS, MAX_PAGE_TITLE_CHARS, MIN_PAGE_CHARS, pagesBlock, pagesJson, type ReadSources, SENT_DISALLOWED_TOOLS, SOURCES_DEADLINE_MARGIN_MINUTES, SOURCES_DEADLINE_MARGIN_MS, SOURCES_WAIT_DAYS, SOURCES_WAIT_MS, sourcesExpiry, } from "./research-sources.js";
|
|
20
|
+
export { BARRED_SITES, blockedKey, type GatheredPage, gatheredPages, MAX_GATHERED_CHARS, MAX_GATHERED_PAGES, MAX_PAGE_CHARS, MAX_PAGE_TITLE_CHARS, MIN_PAGE_CHARS, NOT_OPENED_WHY, pagesBlock, pagesJson, type ReadSources, SENT_DISALLOWED_TOOLS, SOURCES_DEADLINE_MARGIN_MINUTES, SOURCES_DEADLINE_MARGIN_MS, SOURCES_WAIT_DAYS, SOURCES_WAIT_MS, sourcesExpiry, uniqueBlocked, WEB_DISALLOWED_TOOLS, withBarredSites, } from "./research-sources.js";
|
|
21
|
+
export { BGG_CATEGORIES, bggCategoryUrl, FIRECRAWL_TOOLS, WEB_ALLOWED_TOOLS, } from "./research-web.js";
|
|
21
22
|
export { itemKey, LENS_TEXT, LENSES, type Lens, lensOf, MAX_FOR_CHARS, MAX_INTEREST_CHARS, MAX_INTERESTS, MAX_ITEMS, MAX_SCOUT_NOTES, MAX_SHOWN, MIN_ITEMS, PROMPT_SHOWN, parseScout, renderScout, SCOUT_MAX_BUDGET_USD, SCOUT_MAX_TURNS, SCOUT_SCHEMA, SCOUT_TIMEOUT_MS, type ScoutConfig, type ScoutItem, type ScoutState, type ShownItem, scout, scoutJob, scoutState, } from "./scout.js";
|
|
22
23
|
export { BGG_ATTRIBUTION, BGG_HOST, BGG_SPACING_MS, type BggOptions, bggSource, bggThingUrl, MAX_SCANNED, parseBggThingId, parseMarketplace, } from "./want-bgg.js";
|
|
23
24
|
export { inboxSource, isEbayHost, type Listing, listingKey, listingsFromJsonLd, MAX_LISTINGS, NEVER_EBAY, pageSource, type ReadInbox, readListings, SOURCE_IDS, type Source, type SourceId, SourceMiss, SourceUnavailableError, type Submitted, submittedListing, } from "./want-sources.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAUrD,YAAY,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EACL,KAAK,cAAc,EACnB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EACL,cAAc,EACd,KAAK,YAAY,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,EACL,SAAS,GACV,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC7F,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,OAAO,GACR,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,aAAa,EACb,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,YAAY,EACZ,SAAS,EACT,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,KAAK,OAAO,EACZ,IAAI,GACL,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,KAAK,YAAY,EACjB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,SAAS,EACT,KAAK,WAAW,EAChB,qBAAqB,EACrB,+BAA+B,EAC/B,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -23,7 +23,8 @@ export { DEFAULT_SNOOZE_MS, reminder, snoozeUntil } from "./reminder.js";
|
|
|
23
23
|
export { decisionOf, isRenewalDecision, RENEWAL_DECISIONS, renewal, } from "./renewal.js";
|
|
24
24
|
export { AUTH_RETRY_MS, deadlineOf, draftJson, MAX_CONTEXT_CHARS, MAX_QUESTION_CHARS, MAX_TRIES, MIN_SOURCES_WAIT_MS, RESEARCH_MAX_BUDGET_USD, RESEARCH_MAX_TURNS, RESEARCH_TIMEOUT_MS, REVIEW_MAX_BUDGET_USD, REVIEW_MAX_TURNS, REVIEW_TIMEOUT_MS, research, researchJob, researchState, researchType, reviewJob, usesSentSources, } from "./research.js";
|
|
25
25
|
export { ANSWER_SCHEMA, clean, fitMessage, MAX_BLOCKED, MAX_MESSAGE_CHARS, parseAnswer, parseBlocked, parseReview, REVIEW_SCHEMA, renderAnswer, renderUpdate, safeUrl, VERDICTS, ZWSP, } from "./research-answer.js";
|
|
26
|
-
export { gatheredPages, MAX_GATHERED_CHARS, MAX_GATHERED_PAGES, MAX_PAGE_CHARS, MAX_PAGE_TITLE_CHARS, MIN_PAGE_CHARS, pagesBlock, pagesJson, SENT_DISALLOWED_TOOLS, SOURCES_DEADLINE_MARGIN_MINUTES, SOURCES_DEADLINE_MARGIN_MS, SOURCES_WAIT_DAYS, SOURCES_WAIT_MS, sourcesExpiry, } from "./research-sources.js";
|
|
26
|
+
export { BARRED_SITES, blockedKey, gatheredPages, MAX_GATHERED_CHARS, MAX_GATHERED_PAGES, MAX_PAGE_CHARS, MAX_PAGE_TITLE_CHARS, MIN_PAGE_CHARS, NOT_OPENED_WHY, pagesBlock, pagesJson, SENT_DISALLOWED_TOOLS, SOURCES_DEADLINE_MARGIN_MINUTES, SOURCES_DEADLINE_MARGIN_MS, SOURCES_WAIT_DAYS, SOURCES_WAIT_MS, sourcesExpiry, uniqueBlocked, WEB_DISALLOWED_TOOLS, withBarredSites, } from "./research-sources.js";
|
|
27
|
+
export { BGG_CATEGORIES, bggCategoryUrl, FIRECRAWL_TOOLS, WEB_ALLOWED_TOOLS, } from "./research-web.js";
|
|
27
28
|
export { itemKey, LENS_TEXT, LENSES, lensOf, MAX_FOR_CHARS, MAX_INTEREST_CHARS, MAX_INTERESTS, MAX_ITEMS, MAX_SCOUT_NOTES, MAX_SHOWN, MIN_ITEMS, PROMPT_SHOWN, parseScout, renderScout, SCOUT_MAX_BUDGET_USD, SCOUT_MAX_TURNS, SCOUT_SCHEMA, SCOUT_TIMEOUT_MS, scout, scoutJob, scoutState, } from "./scout.js";
|
|
28
29
|
export { BGG_ATTRIBUTION, BGG_HOST, BGG_SPACING_MS, bggSource, bggThingUrl, MAX_SCANNED, parseBggThingId, parseMarketplace, } from "./want-bgg.js";
|
|
29
30
|
export { inboxSource, isEbayHost, listingKey, listingsFromJsonLd, MAX_LISTINGS, NEVER_EBAY, pageSource, readListings, SOURCE_IDS, SourceMiss, SourceUnavailableError, submittedListing, } from "./want-sources.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,EAEL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EACL,cAAc,EAEd,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EAGrB,KAAK,EACL,SAAS,GACV,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,iBAAiB,EAAuB,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC7F,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EAIjB,OAAO,GACR,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,aAAa,EACb,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,EAEL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EACL,cAAc,EAEd,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EAGrB,KAAK,EACL,SAAS,GACV,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,iBAAiB,EAAuB,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC7F,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EAIjB,OAAO,GACR,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,aAAa,EACb,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EAMjB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,YAAY,EACZ,SAAS,EACT,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EAEb,KAAK,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EAIb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,QAAQ,EAER,IAAI,GACL,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,YAAY,EACZ,UAAU,EAEV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,UAAU,EACV,SAAS,EAET,qBAAqB,EACrB,+BAA+B,EAC/B,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,eAAe,GAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,OAAO,EACP,SAAS,EACT,MAAM,EAEN,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,eAAe,EACf,SAAS,EACT,SAAS,EACT,YAAY,EACZ,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAKhB,KAAK,EACL,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,eAAe,EACf,QAAQ,EACR,cAAc,EAEd,SAAS,EACT,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,WAAW,EACX,UAAU,EAEV,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,UAAU,EAEV,YAAY,EACZ,UAAU,EAGV,UAAU,EACV,sBAAsB,EAEtB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,IAAI,EAEJ,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAIhB,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,GACd,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,IAAI,EACJ,KAAK,EACL,cAAc,EACd,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,IAAI,EAEJ,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,EAGX,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,eAAe,CAAA;AAEtB;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,OAAO;IACP,UAAU;IACV,WAAW;CACH,CAAA;AAIV,2FAA2F;AAC3F,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,OAAQ,QAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AACxD,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAgD,MAAM,CAAC,MAAM,CAAC;IACnF,QAAQ,EAAE,QAA6B;IACvC,OAAO,EAAE,OAA4B;IACrC,KAAK,EAAE,KAA0B;IACjC,QAAQ,EAAE,QAA6B;IACvC,KAAK,EAAE,KAA0B;IACjC,0FAA0F;IAC1F,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAsB;IACjE,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAsB;CACpE,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research-answer.d.ts","sourceRoot":"","sources":["../src/research-answer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAEnD,gGAAgG;AAChG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AAEtB,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,eAAe,EAAE,CAAA;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,WAAW,EAAE,CAAA;CACxB;AAED,eAAO,MAAM,iBAAiB,OAAO,CAAA;AACrC,eAAO,MAAM,eAAe,MAAM,CAAA;AAClC,eAAO,MAAM,aAAa,MAAM,CAAA;AAChC,eAAO,MAAM,YAAY,KAAK,CAAA;AAC9B,eAAO,MAAM,uBAAuB,IAAI,CAAA;AACxC,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,eAAO,MAAM,mBAAmB,MAAM,CAAA;AACtC,eAAO,MAAM,WAAW,IAAI,CAAA;AAC5B,eAAO,MAAM,sBAAsB,MAAM,CAAA;AACzC,eAAO,MAAM,qBAAqB,MAAM,CAAA;AACxC,8FAA8F;AAC9F,eAAO,MAAM,iBAAiB,OAAO,CAAA;AAErC,iGAAiG;AACjG,eAAO,MAAM,aAAa;aACxB,IAAI,EAAE,QAAQ;aACd,UAAU;iBACR,OAAO;qBAAI,IAAI,EAAE,QAAQ;qBAAE,WAAW,EAAE,kCAAkC;;iBAC1E,QAAQ;qBACN,IAAI,EAAE,OAAO;qBACb,KAAK;yBACH,IAAI,EAAE,QAAQ;yBACd,UAAU;6BACR,KAAK;iCAAI,IAAI,EAAE,QAAQ;;6BACvB,OAAO;iCACL,IAAI,EAAE,OAAO;iCACb,KAAK;qCAAI,IAAI,EAAE,QAAQ;qCAAE,WAAW,EAAE,mBAAmB;;;;yBAG7D,QAAQ,YAAG,OAAO,EAAE,SAAS;;;iBAGjC,SAAS;qBAAI,IAAI,EAAE,OAAO;qBAAE,KAAK;yBAAI,IAAI,EAAE,QAAQ;;;iBACnD,OAAO;qBACL,IAAI,EAAE,OAAO;qBACb,WAAW;
|
|
1
|
+
{"version":3,"file":"research-answer.d.ts","sourceRoot":"","sources":["../src/research-answer.ts"],"names":[],"mappings":"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"}
|
package/dist/research-answer.js
CHANGED
|
@@ -42,8 +42,9 @@ export const ANSWER_SCHEMA = {
|
|
|
42
42
|
uncertain: { type: "array", items: { type: "string" } },
|
|
43
43
|
blocked: {
|
|
44
44
|
type: "array",
|
|
45
|
-
description: "Pages you needed but could not open (refused, 403, CAPTCHA, sign-in wall)
|
|
46
|
-
"
|
|
45
|
+
description: "Pages you needed but could not open (refused, 403, CAPTCHA, sign-in wall), and the " +
|
|
46
|
+
"best source for a part that you could not or may not open; leave it out or empty " +
|
|
47
|
+
"when there were none.",
|
|
47
48
|
items: {
|
|
48
49
|
type: "object",
|
|
49
50
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research-answer.js","sourceRoot":"","sources":["../src/research-answer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAEnD,gGAAgG;AAChG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AA6BtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;AAClC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAChC,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAA;AAC9B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAC9B,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;AACtC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;AACzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;AACxC,8FAA8F;AAC9F,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAErC,iGAAiG;AACjG,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;QAC5E,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;qBAC5D;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;aAC/B;SACF;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACvD,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"research-answer.js","sourceRoot":"","sources":["../src/research-answer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { type BlockedPage, type ResearchAnswer } from "./research-answer.js";
|
|
1
2
|
/**
|
|
2
3
|
* Pages gathered for a research request by the person's own browser (rackbops-bot-plugins#125,
|
|
3
|
-
* E9): the research half of the Claude in Chrome route. BoardGameGeek refuses the runner's
|
|
4
|
-
* and declined API access, and eBay is never opened by the tracker (Rod, 2026-10-05
|
|
4
|
+
* E9): the research half of the Claude in Chrome route. BoardGameGeek often refuses the runner's
|
|
5
|
+
* reads and declined API access, and eBay is never opened by the tracker (Rod, 2026-10-05; eBay's
|
|
6
|
+
* User Agreement, section 3 (automated access)), so a request
|
|
5
7
|
* made with `sources: "sent"` waits until the person's browser -- Claude in Chrome, when they ask
|
|
6
8
|
* it to -- has read pages for it and the host has stored them. The research run and its reviewer
|
|
7
9
|
* then work from those pages' text, quoted into their prompts as data; neither run may fetch
|
|
@@ -27,8 +29,28 @@ export declare const MAX_PAGE_CHARS = 12000;
|
|
|
27
29
|
/** Text kept from all of a request's pages together; a page past it is cut, the rest dropped. */
|
|
28
30
|
export declare const MAX_GATHERED_CHARS = 100000;
|
|
29
31
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
+
* The sites a run on gathered pages never opens (0.10.0, one list for the tool denials, the
|
|
33
|
+
* de-duplication of `blocked` and the belt): BoardGameGeek, whose pages there come from the
|
|
34
|
+
* person's browser, and eBay, which the tracker never opens (eBay's User Agreement, section 3
|
|
35
|
+
* (automated access)). A first pass on the web opens BoardGameGeek like any site (Rod, 2026-10-16)
|
|
36
|
+
* and lists a refused page in `blocked`; it never opens eBay (`everywhere`). Each is the best
|
|
37
|
+
* source for its field (board games; listings and prices). Only fetches are denied: WebSearch has
|
|
38
|
+
* no domain filter, so a search may still list their pages. `domains` are the permission-rule
|
|
39
|
+
* hosts (each also as `*.host`); `host` tells a URL's hostname on the site; `names` are the ways
|
|
40
|
+
* text names it, as a pattern source.
|
|
41
|
+
*/
|
|
42
|
+
export declare const BARRED_SITES: readonly {
|
|
43
|
+
site: string;
|
|
44
|
+
domains: readonly string[];
|
|
45
|
+
host: RegExp;
|
|
46
|
+
names: string;
|
|
47
|
+
/** Never opened by any run, a web first pass included: eBay. */
|
|
48
|
+
everywhere: boolean;
|
|
49
|
+
}[];
|
|
50
|
+
/**
|
|
51
|
+
* What a run on gathered pages may not fetch: BoardGameGeek, whose pages there come from the
|
|
52
|
+
* person's browser, and eBay, which the tracker never opens (eBay's User Agreement, section 3
|
|
53
|
+
* (automated access)). Claude Code permission rules (code.claude.com/docs/en/permissions,
|
|
32
54
|
* read 2026-10-13): `domain:host` matches that host only, `domain:*.host` any subdomain at any
|
|
33
55
|
* depth, and a `*` elsewhere one label, so `ebay.*` is `ebay.fr` and `ebay.co.*` is `ebay.co.uk`.
|
|
34
56
|
* Whether `*.ebay.*` (a leading and a later `*`) is accepted is inferred from that wording. Deny
|
|
@@ -37,6 +59,41 @@ export declare const MAX_GATHERED_CHARS = 100000;
|
|
|
37
59
|
* them: not covered).
|
|
38
60
|
*/
|
|
39
61
|
export declare const SENT_DISALLOWED_TOOLS: string[];
|
|
62
|
+
/**
|
|
63
|
+
* What a web first pass, and its reviewer, may not fetch (0.10.0): eBay only (eBay's User
|
|
64
|
+
* Agreement, section 3 (automated access)). BoardGameGeek they open like any site, and list a page
|
|
65
|
+
* that refuses them in `blocked`.
|
|
66
|
+
*/
|
|
67
|
+
export declare const WEB_DISALLOWED_TOOLS: string[];
|
|
68
|
+
/**
|
|
69
|
+
* The key one entry of `blocked` is told apart by (0.10.0): its page (`pageOf`) when it has a
|
|
70
|
+
* URL, so two pages on one site are two entries; its site (`siteOf`) when it has none.
|
|
71
|
+
*/
|
|
72
|
+
export declare function blockedKey(entry: BlockedPage): string;
|
|
73
|
+
/**
|
|
74
|
+
* `entries` with one entry per page, at most `MAX_BLOCKED` (0.10.0). Two entries with one page
|
|
75
|
+
* (`blockedKey`) are one, the first kept. An entry with no URL merges into any entry on its site
|
|
76
|
+
* (`sitesOf`): after one, it is dropped; before one, the entry with the URL takes its place. So
|
|
77
|
+
* "BoardGameGeek" and a boardgamegeek.com page are one entry, and two BoardGameGeek pages are two.
|
|
78
|
+
*/
|
|
79
|
+
export declare function uniqueBlocked(entries: readonly BlockedPage[]): BlockedPage[];
|
|
80
|
+
/** What the belt says of a barred site the answer leaves unread and unlisted. */
|
|
81
|
+
export declare const NOT_OPENED_WHY = "not opened by the research run";
|
|
82
|
+
/**
|
|
83
|
+
* The belt under the prompts (0.10.0): `blocked` with an entry `{site, why: NOT_OPENED_WHY}`, no
|
|
84
|
+
* URL, added for each site of `BARRED_SITES` the answer leaves unread without listing it. It reads
|
|
85
|
+
* the outgoing `answer` and the research run's own `draft`, so a reviewer's rewording or a claim
|
|
86
|
+
* moved to `uncertain` cannot hide it. A site counts as unread when a sentence of a summary or an
|
|
87
|
+
* uncertain line says so in one of `unreadShapes` ("I didn't check BoardGameGeek", "BGG refused
|
|
88
|
+
* the request", "no BGG ratings"); eBay, which no run opens, also when a finding of either rests
|
|
89
|
+
* only on eBay addresses (a search listing, never an opened page). A passing mention, or a
|
|
90
|
+
* negation that is not about the site, counts for neither. BoardGameGeek is left alone when a
|
|
91
|
+
* finding of the outgoing answer cites one of its pages (a web first pass may open it); eBay has
|
|
92
|
+
* no such exemption. An entry on the site, by its site's name or its URL's host (`sitesOf`: a
|
|
93
|
+
* "BoardGameGeek" entry with an archive.org URL counts), stops it; past `MAX_BLOCKED` nothing is
|
|
94
|
+
* added.
|
|
95
|
+
*/
|
|
96
|
+
export declare function withBarredSites(answer: ResearchAnswer, blocked: readonly BlockedPage[], draft?: ResearchAnswer | null): BlockedPage[];
|
|
40
97
|
/** A page whose text would be cut shorter than this to fit the whole is dropped instead. */
|
|
41
98
|
export declare const MIN_PAGE_CHARS = 200;
|
|
42
99
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research-sources.d.ts","sourceRoot":"","sources":["../src/research-sources.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"research-sources.d.ts","sourceRoot":"","sources":["../src/research-sources.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAe,KAAK,cAAc,EAAW,MAAM,sBAAsB,CAAA;AAElG;;;;;;;;;;;;;GAaG;AAEH,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,mGAAmG;AACnG,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAA;AAE9E,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,KAAK,CAAA;AACpC,eAAO,MAAM,oBAAoB,MAAM,CAAA;AACvC,+BAA+B;AAC/B,eAAO,MAAM,cAAc,QAAS,CAAA;AACpC,iGAAiG;AACjG,eAAO,MAAM,kBAAkB,SAAU,CAAA;AAEzC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,EAAE,OAAO,CAAA;CACpB,EAeA,CAAA;AA0ED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,UAA4D,CAAA;AAE9F;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,UAAgE,CAAA;AAkCjG;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAErD;AASD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,EAAE,CAoB5E;AAED,iFAAiF;AACjF,eAAO,MAAM,cAAc,mCAAmC,CAAA;AAE9D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI,GAC5B,WAAW,EAAE,CAkBf;AAED,4FAA4F;AAC5F,eAAO,MAAM,cAAc,MAAM,CAAA;AAEjC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,OAAO,EAAE,GAAG,YAAY,EAAE,CAoBrE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAEhE;AAED,0FAA0F;AAC1F,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAanE;AAED,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,eAAO,MAAM,eAAe,QAA0C,CAAA;AAEtE;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,KAAK,CAAA;AACjD,eAAO,MAAM,0BAA0B,QAA8C,CAAA;AAErF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CASjG"}
|
package/dist/research-sources.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { clean } from "@rackbops/docket-core";
|
|
2
|
-
import { safeUrl } from "./research-answer.js";
|
|
2
|
+
import { MAX_BLOCKED, safeUrl } from "./research-answer.js";
|
|
3
3
|
/** Pages one request uses: the first this many usable ones, by address. */
|
|
4
4
|
export const MAX_GATHERED_PAGES = 10;
|
|
5
5
|
export const MAX_PAGE_TITLE_CHARS = 200;
|
|
@@ -8,8 +8,91 @@ export const MAX_PAGE_CHARS = 12_000;
|
|
|
8
8
|
/** Text kept from all of a request's pages together; a page past it is cut, the rest dropped. */
|
|
9
9
|
export const MAX_GATHERED_CHARS = 100_000;
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* The sites a run on gathered pages never opens (0.10.0, one list for the tool denials, the
|
|
12
|
+
* de-duplication of `blocked` and the belt): BoardGameGeek, whose pages there come from the
|
|
13
|
+
* person's browser, and eBay, which the tracker never opens (eBay's User Agreement, section 3
|
|
14
|
+
* (automated access)). A first pass on the web opens BoardGameGeek like any site (Rod, 2026-10-16)
|
|
15
|
+
* and lists a refused page in `blocked`; it never opens eBay (`everywhere`). Each is the best
|
|
16
|
+
* source for its field (board games; listings and prices). Only fetches are denied: WebSearch has
|
|
17
|
+
* no domain filter, so a search may still list their pages. `domains` are the permission-rule
|
|
18
|
+
* hosts (each also as `*.host`); `host` tells a URL's hostname on the site; `names` are the ways
|
|
19
|
+
* text names it, as a pattern source.
|
|
20
|
+
*/
|
|
21
|
+
export const BARRED_SITES = [
|
|
22
|
+
{
|
|
23
|
+
site: "boardgamegeek.com",
|
|
24
|
+
domains: ["boardgamegeek.com", "geekdo.com"],
|
|
25
|
+
host: /(^|\.)(boardgamegeek|geekdo)\.com$/i,
|
|
26
|
+
names: "board\\s?game\\s?geek|bgg|geekdo",
|
|
27
|
+
everywhere: false,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
site: "ebay.com",
|
|
31
|
+
domains: ["ebay.*", "ebay.co.*", "ebay.com.*"],
|
|
32
|
+
host: /(^|\.)ebay(\.[a-z]{2,3}){1,2}$/i,
|
|
33
|
+
names: "ebay",
|
|
34
|
+
everywhere: true,
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
/** Text that names the site `b`. */
|
|
38
|
+
function namedIn(b) {
|
|
39
|
+
return new RegExp(`\\b(?:${b.names})\\b`, "i");
|
|
40
|
+
}
|
|
41
|
+
/** Up to three words between a site and what is said of it ("the BGG ranking page was"). */
|
|
42
|
+
const GAP = "(?:[\\w'-]+[,):]?\\s+){0,3}";
|
|
43
|
+
/**
|
|
44
|
+
* A verb for reading a source, in any of its forms. "use" and "see" are left out: "I didn't use
|
|
45
|
+
* the BGG weight" and "I didn't see anything on BGG suggesting a reprint" are not unread pages.
|
|
46
|
+
*/
|
|
47
|
+
const READ_VERB = "(?:(?:check|open|read|access|reach|load|consult|get|visit|fetch|look(?:\\s+at)?)" +
|
|
48
|
+
"(?:ed|ing|s)?|verif(?:y|ies|ied|ying)|retriev(?:e|es|ed|ing))";
|
|
49
|
+
/** A negation before a reading verb: didn't, couldn't, haven't, unable to, not, without. */
|
|
50
|
+
const NEG_BEFORE = "(?:(?:did|could|can|would|should|have|has|had|do|does) ?n[o']?t|cannot|(?:was|were) ?n[o']?t able to|" +
|
|
51
|
+
"unable to|never|not|without)\\s+(?:be(?:en)?\\s+able\\s+to\\s+)?";
|
|
52
|
+
/** What a source did, or was not, after its name: refused, blocked, 403, not opened. */
|
|
53
|
+
const FAILED_AFTER = "(?:refused|blocked|(?:was|were) blocked|returned (?:a |an )?(?:403|error)|403|forbidden|" +
|
|
54
|
+
"showed a captcha|captcha|required (?:a )?sign-?in|inaccessible|unavailable|unreachable|" +
|
|
55
|
+
"failed to (?:load|open)|timed out|(?:access )?(?:was )?denied|" +
|
|
56
|
+
"(?:could|can|did|would|was|were|is|are|has|have|had) ?n[o']?t (?:be(?:en)? )?" +
|
|
57
|
+
"(?:checked|opened|read|accessed|reached|loaded|load|open|consulted|used|available|reachable|accessible|" +
|
|
58
|
+
"looked at)|not (?:been )?(?:checked|opened|read|accessed|reached|loaded|consulted|" +
|
|
59
|
+
"available|reachable|accessible|looked at))\\b";
|
|
60
|
+
/**
|
|
61
|
+
* The shapes in which a sentence says the site `b` was not read (0.10.0), with `’` read as `'`:
|
|
62
|
+
* a negated reading verb with the site as its object, a few words apart at most ("I didn't
|
|
63
|
+
* check BoardGameGeek", "without opening BGG", "unable to load the BGG page"); the site as the
|
|
64
|
+
* subject of a failure, a few words apart at most ("BGG refused the request", "the BoardGameGeek
|
|
65
|
+
* ranking was not checked", "eBay could not be opened"); or "no <site> data, ratings, rankings
|
|
66
|
+
* or results". A negation elsewhere in the sentence ("the game is not in print", "BGG users do
|
|
67
|
+
* not agree") is not one of them.
|
|
68
|
+
*/
|
|
69
|
+
function unreadShapes(b) {
|
|
70
|
+
const site = `(?:${b.names})(?:'s)?[,):]?`;
|
|
71
|
+
return [
|
|
72
|
+
new RegExp(`\\b${NEG_BEFORE}${READ_VERB}\\s+${GAP}${site}`, "i"),
|
|
73
|
+
new RegExp(`\\b${site}\\s+${GAP}${FAILED_AFTER}`, "i"),
|
|
74
|
+
new RegExp(`\\bno (?:${b.names})(?:'s)? (?:data|ratings?|rankings?|ranks?|scores?|results?)\\b`, "i"),
|
|
75
|
+
];
|
|
76
|
+
}
|
|
77
|
+
/** The sentences of `text`, split at a stop, a semicolon or a line break; "e.g." and "i.e." are no stop. */
|
|
78
|
+
function sentences(text) {
|
|
79
|
+
return text
|
|
80
|
+
.replace(/[\u2018\u2019]/g, "'")
|
|
81
|
+
.replace(/\b(e)\.(g)\.|\b(i)\.(e)\./gi, (_m, a, b, c, d) => `${a ?? c}${b ?? d}`)
|
|
82
|
+
.split(/(?<=[.!?;])\s+|\n/);
|
|
83
|
+
}
|
|
84
|
+
/** True when a sentence of `lines` says `b` was not read, in one of `unreadShapes`. */
|
|
85
|
+
function saysUnread(b, lines) {
|
|
86
|
+
const shapes = unreadShapes(b);
|
|
87
|
+
return lines.flatMap(sentences).some((line) => shapes.some((r) => r.test(line)));
|
|
88
|
+
}
|
|
89
|
+
function barredDomains(everywhereOnly = false) {
|
|
90
|
+
return BARRED_SITES.filter((b) => !everywhereOnly || b.everywhere).flatMap((b) => b.domains.flatMap((d) => [d, `*.${d}`]));
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* What a run on gathered pages may not fetch: BoardGameGeek, whose pages there come from the
|
|
94
|
+
* person's browser, and eBay, which the tracker never opens (eBay's User Agreement, section 3
|
|
95
|
+
* (automated access)). Claude Code permission rules (code.claude.com/docs/en/permissions,
|
|
13
96
|
* read 2026-10-13): `domain:host` matches that host only, `domain:*.host` any subdomain at any
|
|
14
97
|
* depth, and a `*` elsewhere one label, so `ebay.*` is `ebay.fr` and `ebay.co.*` is `ebay.co.uk`.
|
|
15
98
|
* Whether `*.ebay.*` (a leading and a later `*`) is accepted is inferred from that wording. Deny
|
|
@@ -17,18 +100,129 @@ export const MAX_GATHERED_CHARS = 100_000;
|
|
|
17
100
|
* still list their pages; the run cannot open them there (a cache or proxy site could still serve
|
|
18
101
|
* them: not covered).
|
|
19
102
|
*/
|
|
20
|
-
export const SENT_DISALLOWED_TOOLS =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
103
|
+
export const SENT_DISALLOWED_TOOLS = barredDomains().map((host) => `WebFetch(domain:${host})`);
|
|
104
|
+
/**
|
|
105
|
+
* What a web first pass, and its reviewer, may not fetch (0.10.0): eBay only (eBay's User
|
|
106
|
+
* Agreement, section 3 (automated access)). BoardGameGeek they open like any site, and list a page
|
|
107
|
+
* that refuses them in `blocked`.
|
|
108
|
+
*/
|
|
109
|
+
export const WEB_DISALLOWED_TOOLS = barredDomains(true).map((host) => `WebFetch(domain:${host})`);
|
|
110
|
+
function hostOf(url) {
|
|
111
|
+
try {
|
|
112
|
+
return new URL(url).hostname;
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
return "";
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* A site name or host as one site: a barred site's own name for any of its aliases (BGG,
|
|
120
|
+
* BoardGameGeek, geekdo.com; eBay, ebay.co.uk), otherwise the text lower-cased without `www.`.
|
|
121
|
+
* Nothing else is merged: amazon.de and amazon.co.uk stay two sites.
|
|
122
|
+
*/
|
|
123
|
+
function siteOf(text) {
|
|
124
|
+
const t = text
|
|
125
|
+
.trim()
|
|
126
|
+
.toLowerCase()
|
|
127
|
+
.replace(/^www\./, "");
|
|
128
|
+
for (const b of BARRED_SITES)
|
|
129
|
+
if (b.host.test(t) || namedIn(b).test(t))
|
|
130
|
+
return b.site;
|
|
131
|
+
return t;
|
|
132
|
+
}
|
|
133
|
+
/** A URL as one page: its site (`siteOf` its host), then its path, with no query or end slash. */
|
|
134
|
+
function pageOf(url) {
|
|
135
|
+
try {
|
|
136
|
+
const u = new URL(url);
|
|
137
|
+
return `${siteOf(u.hostname)}${u.pathname.replace(/\/+$/, "")}`;
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
return "";
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* The key one entry of `blocked` is told apart by (0.10.0): its page (`pageOf`) when it has a
|
|
145
|
+
* URL, so two pages on one site are two entries; its site (`siteOf`) when it has none.
|
|
146
|
+
*/
|
|
147
|
+
export function blockedKey(entry) {
|
|
148
|
+
return entry.url ? pageOf(entry.url) : siteOf(entry.site);
|
|
149
|
+
}
|
|
150
|
+
/** The sites an entry is on: its site's name, and its URL's host, each through `siteOf`. */
|
|
151
|
+
function sitesOf(entry) {
|
|
152
|
+
const out = new Set([siteOf(entry.site)]);
|
|
153
|
+
if (entry.url)
|
|
154
|
+
out.add(siteOf(hostOf(entry.url)));
|
|
155
|
+
return out;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* `entries` with one entry per page, at most `MAX_BLOCKED` (0.10.0). Two entries with one page
|
|
159
|
+
* (`blockedKey`) are one, the first kept. An entry with no URL merges into any entry on its site
|
|
160
|
+
* (`sitesOf`): after one, it is dropped; before one, the entry with the URL takes its place. So
|
|
161
|
+
* "BoardGameGeek" and a boardgamegeek.com page are one entry, and two BoardGameGeek pages are two.
|
|
162
|
+
*/
|
|
163
|
+
export function uniqueBlocked(entries) {
|
|
164
|
+
const out = [];
|
|
165
|
+
for (const e of entries) {
|
|
166
|
+
const key = blockedKey(e);
|
|
167
|
+
if (out.some((o) => o.url && blockedKey(o) === key))
|
|
168
|
+
continue;
|
|
169
|
+
if (!e.url) {
|
|
170
|
+
const site = siteOf(e.site);
|
|
171
|
+
if (out.some((o) => sitesOf(o).has(site)))
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
const sites = sitesOf(e);
|
|
176
|
+
const bare = out.findIndex((o) => !o.url && sites.has(siteOf(o.site)));
|
|
177
|
+
if (bare >= 0) {
|
|
178
|
+
out[bare] = e;
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
if (out.length >= MAX_BLOCKED)
|
|
183
|
+
break;
|
|
184
|
+
out.push(e);
|
|
185
|
+
}
|
|
186
|
+
return out;
|
|
187
|
+
}
|
|
188
|
+
/** What the belt says of a barred site the answer leaves unread and unlisted. */
|
|
189
|
+
export const NOT_OPENED_WHY = "not opened by the research run";
|
|
190
|
+
/**
|
|
191
|
+
* The belt under the prompts (0.10.0): `blocked` with an entry `{site, why: NOT_OPENED_WHY}`, no
|
|
192
|
+
* URL, added for each site of `BARRED_SITES` the answer leaves unread without listing it. It reads
|
|
193
|
+
* the outgoing `answer` and the research run's own `draft`, so a reviewer's rewording or a claim
|
|
194
|
+
* moved to `uncertain` cannot hide it. A site counts as unread when a sentence of a summary or an
|
|
195
|
+
* uncertain line says so in one of `unreadShapes` ("I didn't check BoardGameGeek", "BGG refused
|
|
196
|
+
* the request", "no BGG ratings"); eBay, which no run opens, also when a finding of either rests
|
|
197
|
+
* only on eBay addresses (a search listing, never an opened page). A passing mention, or a
|
|
198
|
+
* negation that is not about the site, counts for neither. BoardGameGeek is left alone when a
|
|
199
|
+
* finding of the outgoing answer cites one of its pages (a web first pass may open it); eBay has
|
|
200
|
+
* no such exemption. An entry on the site, by its site's name or its URL's host (`sitesOf`: a
|
|
201
|
+
* "BoardGameGeek" entry with an archive.org URL counts), stops it; past `MAX_BLOCKED` nothing is
|
|
202
|
+
* added.
|
|
203
|
+
*/
|
|
204
|
+
export function withBarredSites(answer, blocked, draft) {
|
|
205
|
+
const out = [...blocked];
|
|
206
|
+
const lines = [answer.summary, ...answer.uncertain];
|
|
207
|
+
if (draft)
|
|
208
|
+
lines.push(draft.summary, ...draft.uncertain);
|
|
209
|
+
const findings = [...answer.findings, ...(draft?.findings ?? [])];
|
|
210
|
+
const cited = answer.findings.flatMap((f) => f.sources.map(hostOf));
|
|
211
|
+
for (const b of BARRED_SITES) {
|
|
212
|
+
if (out.length >= MAX_BLOCKED)
|
|
213
|
+
break;
|
|
214
|
+
const onlyOn = findings.some((f) => f.sources.length > 0 && f.sources.every((u) => b.host.test(hostOf(u))));
|
|
215
|
+
const unread = saysUnread(b, lines) || (b.everywhere && onlyOn);
|
|
216
|
+
if (!unread)
|
|
217
|
+
continue;
|
|
218
|
+
if (!b.everywhere && cited.some((h) => b.host.test(h)))
|
|
219
|
+
continue;
|
|
220
|
+
if (out.some((e) => sitesOf(e).has(b.site)))
|
|
221
|
+
continue;
|
|
222
|
+
out.push({ site: b.site, why: NOT_OPENED_WHY });
|
|
223
|
+
}
|
|
224
|
+
return out;
|
|
225
|
+
}
|
|
32
226
|
/** A page whose text would be cut shorter than this to fit the whole is dropped instead. */
|
|
33
227
|
export const MIN_PAGE_CHARS = 200;
|
|
34
228
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research-sources.js","sourceRoot":"","sources":["../src/research-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"research-sources.js","sourceRoot":"","sources":["../src/research-sources.ts"],"names":[],"mappings":"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"}
|