@x12i/sdk 0.2.0 → 0.4.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/dist/client.d.ts CHANGED
@@ -1,29 +1,38 @@
1
1
  import { ParserRegistry, type ClassifyCandidate, type FetchResult, type ParsedResult, type Parser } from "@x12i/core";
2
- import { type FetchOptions } from "@x12i/fetcher";
2
+ import { type FetchOptions, type RetrieveOptions, type RetrieveBatchItem, type FetchCache, type SnapshotStore, type CachedRetrieveOptions, type ChangeCheckRequest, type ChangeCheckResult } from "@x12i/fetcher";
3
3
  import { type IngestOptions, type IngestResult } from "@x12i/ingest";
4
4
  import { type SearchConfig, type SearchProvider, type WebSearchRequest, type WebSearchResponse } from "@x12i/search";
5
+ import { type CrawlRequest, type CrawlResult } from "@x12i/crawl";
6
+ import { type ResearchPacket, type ResearchRequest } from "@x12i/research";
7
+ import { type ExtractRequest, type ExtractResult, type ExtractionAdapter } from "@x12i/extract";
8
+ import { type RunRecord, type RunStore, type ListItemsOptions, type ListItemsResult } from "@x12i/runs";
9
+ import { type AnalyzeWebChangesRequest, type AnalyzeWebSourceRequest, type AnswerFromWebRequest, type AuditWebResearchRequest, type CompareWebSubjectsRequest, type FuncxExecutor, type WebFunctionBinding } from "@x12i/web-functions";
5
10
  export interface WebAgentClientOptions {
6
- /** Provide your own registry (e.g. to only register a subset of parsers). Defaults to every first-party parser. */
7
11
  registry?: ParserRegistry;
8
- /** Default fetch options applied to every call, overridable per-call. */
9
12
  fetchOptions?: FetchOptions;
10
- /**
11
- * Reuse a single browser instance across calls instead of launching one
12
- * per fetch. Recommended for long-lived processes (the API/MCP server).
13
- * Call `.close()` when done.
14
- */
15
13
  reuseBrowser?: boolean;
16
- /** Inject a search provider, or Serper config. Defaults to Serper from env. Pass `null` to disable search. */
17
14
  search?: SearchProvider | SearchConfig | null;
15
+ fetchCache?: FetchCache;
16
+ snapshotStore?: SnapshotStore;
17
+ runStore?: RunStore;
18
+ extractionAdapter?: ExtractionAdapter;
19
+ /** When true, client owns and closes default in-memory stores it created. */
20
+ ownsDefaultStores?: boolean;
21
+ /** Injected FuncX executor. When omitted, built from env (default mode: disabled). */
22
+ funcxExecutor?: FuncxExecutor;
23
+ /** Operator-approved web function bindings. */
24
+ webFunctionBindings?: WebFunctionBinding[];
25
+ aiProfiles?: {
26
+ source?: "auto" | "remote" | "bundled";
27
+ catalogLane?: "text";
28
+ };
29
+ /** When true, SDK owns and may close an executor it constructed. Injected executors are never closed. */
30
+ ownsFuncxExecutor?: boolean;
18
31
  }
19
32
  export interface FetchSearchResultsOptions {
20
- /** 1-based organic positions to fetch. Ignored when `urls` is set. */
21
33
  positions?: number[];
22
- /** Explicit URLs to fetch (skips position selection). */
23
34
  urls?: string[];
24
- /** Max concurrent page fetches. Default 2. */
25
35
  concurrency?: number;
26
- /** When true, continue fetching after a page failure. Default true. */
27
36
  continueOnError?: boolean;
28
37
  fetchOptions?: FetchOptions;
29
38
  signal?: AbortSignal;
@@ -36,7 +45,6 @@ export interface FetchedSearchPage {
36
45
  error?: string;
37
46
  }
38
47
  export interface SearchAndFetchRequest extends WebSearchRequest {
39
- /** Fetch the first N organic results. Default 3. Ignored when positions/urls set. */
40
48
  top?: number;
41
49
  positions?: number[];
42
50
  urls?: string[];
@@ -50,9 +58,8 @@ export interface SearchAndFetchResult {
50
58
  pages: FetchedSearchPage[];
51
59
  }
52
60
  /**
53
- * The single entry point every other package (CLI, REST API, MCP server)
54
- * wraps: download a URL to Markdown, and/or classify+parse it into typed
55
- * JSON using the registered parsers.
61
+ * Canonical programmatic surface: fetch/retrieve/research/crawl/extract/runs.
62
+ * CLI, REST, and MCP are thin adapters around this client.
56
63
  */
57
64
  export declare class WebAgentClient {
58
65
  readonly registry: ParserRegistry;
@@ -60,50 +67,131 @@ export declare class WebAgentClient {
60
67
  private readonly reuseBrowser;
61
68
  private readonly searchProvider;
62
69
  private browserPromise;
70
+ readonly fetchCache: FetchCache;
71
+ readonly snapshotStore: SnapshotStore;
72
+ readonly runStore: RunStore;
73
+ private readonly extractionAdapter?;
74
+ private readonly ownsCache;
75
+ private readonly ownsSnapshots;
76
+ private readonly ownsRuns;
77
+ private readonly funcxExecutor;
78
+ private readonly ownsFuncxExecutor;
79
+ private webFunctionBindings;
80
+ private readonly hostPolicy;
81
+ private readonly aiProfilesSource;
82
+ private readonly functionCheckpoints;
83
+ private activeRunEventSink?;
63
84
  constructor(options?: WebAgentClientOptions);
64
- /** Register an additional parser on this client's registry. */
85
+ private loadBindingsFromEnv;
86
+ private webFunctionsDeps;
87
+ private buildResearchFunctionHooks;
65
88
  use<T>(parser: Parser<T>): this;
66
- /** Download a URL and return { url, html, markdown, ... }. */
89
+ /** Download a URL via Playwright (compatibility default: browser strategy). */
67
90
  fetch(url: string, options?: FetchOptions): Promise<FetchResult>;
68
- /** Fetch a URL, then rank every registered parser's fit without running parse(). */
91
+ /** Strategy-aware multi-format retrieval (default strategy: auto). */
92
+ retrieve(url: string, options?: RetrieveOptions): Promise<FetchResult>;
93
+ fetchBatch(request: {
94
+ urls: string[];
95
+ concurrency?: number;
96
+ continueOnError?: boolean;
97
+ retrieveOptions?: RetrieveOptions;
98
+ signal?: AbortSignal;
99
+ }): Promise<RetrieveBatchItem[]>;
100
+ retrieveCached(url: string, options?: CachedRetrieveOptions): Promise<FetchResult>;
69
101
  classify(url: string, options?: FetchOptions): Promise<ClassifyCandidate[]>;
70
- /** Fetch a URL, classify it, and parse it with the best-fit parser. */
71
102
  parse<T = unknown>(url: string, options?: FetchOptions): Promise<ParsedResult<T>>;
72
- /** Fetch a URL and force a specific parser by type id, skipping classification. */
73
103
  parseAs<T = unknown>(type: string, url: string, options?: FetchOptions): Promise<ParsedResult<T>>;
74
- /** List every registered parser's type id + description. */
75
104
  listParsers(): {
76
105
  type: string;
77
106
  description?: string;
78
107
  version?: string;
79
108
  }[];
80
- /**
81
- * Ingest a curated list / README URL: follow outbound GitHub skill links
82
- * one level deep and extract targeted files (SKILL.md, .md, .sh, …).
83
- * Uses GitHub raw/API — not Playwright.
84
- */
85
109
  ingest(rootUrl: string, options?: IngestOptions): Promise<IngestResult>;
86
- /**
87
- * Search the public web (Serper/Google). Returns ranked results and SERP
88
- * features — does not fetch page content.
89
- */
90
110
  search(request: WebSearchRequest, options?: {
91
111
  signal?: AbortSignal;
92
112
  }): Promise<WebSearchResponse>;
93
- /** Whether search is configured (API key present or provider injected). */
94
113
  searchConfigured(): boolean;
95
- /**
96
- * Explicitly fetch selected organic results from a prior `search()` response.
97
- * Does not run unless called — search never auto-fetches.
98
- */
99
114
  fetchSearchResults(searchResult: WebSearchResponse, options?: FetchSearchResultsOptions): Promise<FetchedSearchPage[]>;
100
- /**
101
- * Search, then fetch the top organic results (or explicit positions/URLs).
102
- * Convenience composition over `search()` + `fetchSearchResults()`.
103
- */
104
115
  searchAndFetch(request: SearchAndFetchRequest): Promise<SearchAndFetchResult>;
116
+ research(request: ResearchRequest, options?: {
117
+ signal?: AbortSignal;
118
+ }): Promise<ResearchPacket>;
119
+ startResearch(request: ResearchRequest, opts?: {
120
+ idempotencyKey?: string;
121
+ }): Promise<RunRecord>;
122
+ private runResearchJob;
123
+ crawl(request: CrawlRequest, options?: {
124
+ signal?: AbortSignal;
125
+ }): Promise<CrawlResult>;
126
+ startCrawl(request: CrawlRequest, opts?: {
127
+ idempotencyKey?: string;
128
+ }): Promise<RunRecord>;
129
+ private runCrawlJob;
130
+ extract(request: ExtractRequest): Promise<ExtractResult>;
131
+ checkChanges(request: ChangeCheckRequest & {
132
+ url?: string;
133
+ }): Promise<ChangeCheckResult>;
134
+ analyze(request: AnalyzeWebSourceRequest, opts?: {
135
+ signal?: AbortSignal;
136
+ }): Promise<import("@x12i/web-functions").AnalyzeWebSourceResult>;
137
+ answer(request: AnswerFromWebRequest, opts?: {
138
+ signal?: AbortSignal;
139
+ }): Promise<import("@x12i/web-functions").GroundedAnswer>;
140
+ compare(request: CompareWebSubjectsRequest, opts?: {
141
+ signal?: AbortSignal;
142
+ }): Promise<import("@x12i/web-functions").WebComparison>;
143
+ analyzeChanges(request: AnalyzeWebChangesRequest, opts?: {
144
+ signal?: AbortSignal;
145
+ }): Promise<import("@x12i/web-functions").AnalyzeWebChangesResult>;
146
+ auditResearch(request: AuditWebResearchRequest, opts?: {
147
+ signal?: AbortSignal;
148
+ }): Promise<import("@x12i/web-functions").ResearchAuditResult>;
149
+ listWebFunctions(options?: {
150
+ role?: WebFunctionBinding["role"];
151
+ }): Promise<{
152
+ mode: import("@x12i/web-functions").FuncxExecutorMode;
153
+ bindings: {
154
+ status: "available" | "unavailable" | "incompatible" | "disabled";
155
+ reasons: string[];
156
+ warnings: string[];
157
+ functionVersion?: string;
158
+ catalogSource?: string;
159
+ effectiveSlots?: import("@x12i/web-functions").WebFunctionModelConfig;
160
+ binding: WebFunctionBinding;
161
+ }[];
162
+ }>;
163
+ listWebAIProfiles(options?: {
164
+ role?: string;
165
+ }): Promise<{
166
+ profiles: import("@x12i/ai-profiles").AIProfileSummary[];
167
+ choices: import("@x12i/ai-profiles").AIProfileChoiceSummary[];
168
+ catalogLane: "text";
169
+ source: import("@x12i/ai-profiles").RegistrySourceMode;
170
+ roleHint: string | undefined;
171
+ }>;
172
+ previewWebAIProfile(request: {
173
+ profileChoice: string;
174
+ bindingId?: string;
175
+ }): Promise<{
176
+ profileChoice: string;
177
+ resolved: import("@x12i/ai-profiles").ResolvedAIProfile;
178
+ note: string;
179
+ bindingId: string | undefined;
180
+ slots: import("@x12i/web-functions").WebFunctionModelConfig | undefined;
181
+ }>;
182
+ startAnswer(request: AnswerFromWebRequest, opts?: {
183
+ idempotencyKey?: string;
184
+ }): Promise<RunRecord>;
185
+ private runAnswerJob;
186
+ startCompare(request: CompareWebSubjectsRequest, opts?: {
187
+ idempotencyKey?: string;
188
+ }): Promise<RunRecord>;
189
+ private runCompareJob;
190
+ getRun(runId: string): Promise<RunRecord | undefined>;
191
+ listRunItems(runId: string, options?: ListItemsOptions): Promise<ListItemsResult>;
192
+ cancelRun(runId: string): Promise<RunRecord>;
193
+ resumeRun(runId: string): Promise<RunRecord>;
105
194
  private getBrowser;
106
- /** Close the reused browser, if one was launched. No-op otherwise. */
107
195
  close(): Promise<void>;
108
196
  }
109
197
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1,7 +1,16 @@
1
- import { fetchUrl, launchBrowser } from "@x12i/fetcher";
1
+ import { fetchUrl, launchBrowser, retrieve, retrieveBatch, retrieveWithCache, checkChanges, InMemoryFetchCache, InMemorySnapshotStore, } from "@x12i/fetcher";
2
2
  import { ingestRepository } from "@x12i/ingest";
3
3
  import { createSerperProvider, loadSearchConfig, search as runSearch, } from "@x12i/search";
4
+ import { crawl } from "@x12i/crawl";
5
+ import { research } from "@x12i/research";
6
+ import { extract, } from "@x12i/extract";
7
+ import { InMemoryRunStore, } from "@x12i/runs";
8
+ import { InMemoryFunctionCheckpointStore, analyzeWebChanges, analyzeWebSource, answerFromWeb, auditWebResearch, compareWebSubjects, createExecutorFromPolicy, evaluateCandidate, listBindings, listWebAIProfiles, loadBindingsFromPath, loadHostPolicyFromEnv, planQueries, previewWebAIProfile, rankEvidenceBlocks, validateBindingCompatibility, } from "@x12i/web-functions";
9
+ import { createHash } from "node:crypto";
4
10
  import { createDefaultRegistry } from "./registry.js";
11
+ function requestHash(value) {
12
+ return createHash("sha256").update(JSON.stringify(value)).digest("hex").slice(0, 24);
13
+ }
5
14
  /**
6
15
  * Per-site fetch defaults so client-rendered pages actually populate before
7
16
  * we snapshot HTML. Caller-supplied options still win (spread after this).
@@ -14,7 +23,6 @@ function siteFetchDefaults(url) {
14
23
  if ((host === "openrouter.ai" || host.endsWith(".openrouter.ai")) &&
15
24
  (path === "/rankings" || path.startsWith("/rankings/"))) {
16
25
  return {
17
- // Live leaderboard rows are CSS-grid divs, not <table>s.
18
26
  waitForSelector: "div.grid.grid-cols-12.items-center",
19
27
  settleMs: 500,
20
28
  };
@@ -29,7 +37,6 @@ function siteFetchDefaults(url) {
29
37
  return { waitForSelector: "article h1, h1", settleMs: 800 };
30
38
  }
31
39
  if (host === "g2.com" || host === "www.g2.com" || host.endsWith(".g2.com")) {
32
- // G2 often serves a bot-challenge with no product <h1>; don't hard-wait.
33
40
  return { settleMs: 1500 };
34
41
  }
35
42
  }
@@ -39,9 +46,8 @@ function siteFetchDefaults(url) {
39
46
  return {};
40
47
  }
41
48
  /**
42
- * The single entry point every other package (CLI, REST API, MCP server)
43
- * wraps: download a URL to Markdown, and/or classify+parse it into typed
44
- * JSON using the registered parsers.
49
+ * Canonical programmatic surface: fetch/retrieve/research/crawl/extract/runs.
50
+ * CLI, REST, and MCP are thin adapters around this client.
45
51
  */
46
52
  export class WebAgentClient {
47
53
  registry;
@@ -49,18 +55,167 @@ export class WebAgentClient {
49
55
  reuseBrowser;
50
56
  searchProvider;
51
57
  browserPromise;
58
+ fetchCache;
59
+ snapshotStore;
60
+ runStore;
61
+ extractionAdapter;
62
+ ownsCache;
63
+ ownsSnapshots;
64
+ ownsRuns;
65
+ funcxExecutor;
66
+ ownsFuncxExecutor;
67
+ webFunctionBindings;
68
+ hostPolicy;
69
+ aiProfilesSource;
70
+ functionCheckpoints = new InMemoryFunctionCheckpointStore();
71
+ activeRunEventSink;
52
72
  constructor(options = {}) {
53
73
  this.registry = options.registry ?? createDefaultRegistry();
54
74
  this.defaultFetchOptions = options.fetchOptions ?? {};
55
75
  this.reuseBrowser = options.reuseBrowser ?? false;
56
76
  this.searchProvider = resolveSearchProvider(options.search);
77
+ this.ownsCache = !options.fetchCache;
78
+ this.ownsSnapshots = !options.snapshotStore;
79
+ this.ownsRuns = !options.runStore;
80
+ this.fetchCache = options.fetchCache ?? new InMemoryFetchCache();
81
+ this.snapshotStore = options.snapshotStore ?? new InMemorySnapshotStore();
82
+ this.runStore = options.runStore ?? new InMemoryRunStore();
83
+ this.extractionAdapter = options.extractionAdapter;
84
+ this.hostPolicy = loadHostPolicyFromEnv();
85
+ if (options.aiProfiles?.source)
86
+ this.hostPolicy.aiProfilesSource = options.aiProfiles.source;
87
+ this.aiProfilesSource = options.aiProfiles?.source ?? this.hostPolicy.aiProfilesSource ?? "auto";
88
+ this.ownsFuncxExecutor = options.ownsFuncxExecutor ?? !options.funcxExecutor;
89
+ this.funcxExecutor = options.funcxExecutor ?? createExecutorFromPolicy(this.hostPolicy);
90
+ this.webFunctionBindings = options.webFunctionBindings ?? [];
91
+ void this.loadBindingsFromEnv();
92
+ }
93
+ async loadBindingsFromEnv() {
94
+ const path = process.env.WEB_AGENTIC_FUNCTION_BINDINGS;
95
+ if (!path || this.webFunctionBindings.length)
96
+ return;
97
+ try {
98
+ this.webFunctionBindings = await loadBindingsFromPath(path);
99
+ }
100
+ catch {
101
+ // Bindings file is optional; function routes report not configured / incompatible.
102
+ }
103
+ }
104
+ webFunctionsDeps() {
105
+ return {
106
+ bindings: this.webFunctionBindings,
107
+ executor: this.funcxExecutor,
108
+ hostPolicy: this.hostPolicy,
109
+ checkpoints: this.functionCheckpoints,
110
+ onEvent: (type, data) => {
111
+ this.activeRunEventSink?.(type, data);
112
+ },
113
+ resolvePacket: async (runId) => {
114
+ for (const kind of ["research_packet", "packet", "grounded_answer"]) {
115
+ const items = await this.runStore.listItems(runId, { kind, limit: 1 });
116
+ const data = items.items[0]?.data;
117
+ if (kind === "grounded_answer")
118
+ continue;
119
+ if (data)
120
+ return data;
121
+ }
122
+ // Prefer packet item explicitly
123
+ const packetItems = await this.runStore.listItems(runId, { limit: 20 });
124
+ const packet = packetItems.items.find((i) => i.kind === "packet" || i.kind === "research_packet");
125
+ return packet?.data;
126
+ },
127
+ resolveRunSource: async (runId, sourceId) => {
128
+ const packet = await this.webFunctionsDeps().resolvePacket?.(runId);
129
+ return packet?.sources.find((s) => s.sourceId === sourceId);
130
+ },
131
+ retrieveUrl: async (url, opts) => {
132
+ const fetch = await this.retrieve(url, { strategy: "auto", signal: opts?.signal });
133
+ return {
134
+ sourceId: `src_${createHash("sha256").update(url).digest("hex").slice(0, 10)}`,
135
+ title: fetch.title,
136
+ fetch,
137
+ };
138
+ },
139
+ research: (req, opts) => this.research(req, opts),
140
+ checkChanges: async ({ url, againstSnapshotId, signal }) => {
141
+ void signal;
142
+ const previousSnapshot = await this.snapshotStore.get(againstSnapshotId);
143
+ return this.checkChanges({ url, previousSnapshot });
144
+ },
145
+ };
146
+ }
147
+ buildResearchFunctionHooks(request) {
148
+ if (!request.functions || this.funcxExecutor.mode === "disabled")
149
+ return undefined;
150
+ const fn = request.functions;
151
+ const deps = this.webFunctionsDeps();
152
+ return {
153
+ planQueries: fn.queryPlanBindingId
154
+ ? async (input) => planQueries(deps, {
155
+ bindingId: fn.queryPlanBindingId,
156
+ question: input.question,
157
+ constraints: input.constraints,
158
+ profileAlternativeId: input.profileAlternativeId ?? fn.profileAlternativeId,
159
+ signal: input.signal,
160
+ })
161
+ : undefined,
162
+ evaluateCandidate: fn.candidateEvaluateBindingId
163
+ ? async (input) => evaluateCandidate(deps, {
164
+ bindingId: fn.candidateEvaluateBindingId,
165
+ candidate: input.candidate,
166
+ profileAlternativeId: input.profileAlternativeId ?? fn.profileAlternativeId,
167
+ signal: input.signal,
168
+ })
169
+ : undefined,
170
+ analyzeSource: fn.sourceAnalyzeBindingId
171
+ ? async (input) => {
172
+ const result = await analyzeWebSource(deps, {
173
+ bindingId: fn.sourceAnalyzeBindingId,
174
+ profileAlternativeId: input.profileAlternativeId ?? fn.profileAlternativeId,
175
+ source: { researchSource: input.source },
176
+ includeOriginal: false,
177
+ }, { signal: input.signal });
178
+ return {
179
+ analysis: result.analysis,
180
+ warnings: result.warnings,
181
+ errors: result.errors,
182
+ };
183
+ }
184
+ : undefined,
185
+ enrichRecord: fn.recordEnrichBindingId
186
+ ? async (input) => {
187
+ const result = await analyzeWebSource(deps, {
188
+ bindingId: fn.recordEnrichBindingId,
189
+ profileAlternativeId: input.profileAlternativeId ?? fn.profileAlternativeId,
190
+ source: { researchSource: input.source },
191
+ enrichBindingId: fn.recordEnrichBindingId,
192
+ includeOriginal: true,
193
+ }, { signal: input.signal });
194
+ return {
195
+ original: result.original,
196
+ enriched: result.enriched,
197
+ conflicts: result.conflicts,
198
+ warnings: result.warnings,
199
+ errors: result.errors,
200
+ };
201
+ }
202
+ : undefined,
203
+ rankEvidence: fn.evidenceRankBindingId
204
+ ? async (input) => rankEvidenceBlocks(deps, {
205
+ bindingId: fn.evidenceRankBindingId,
206
+ blocks: input.blocks,
207
+ question: input.question,
208
+ profileAlternativeId: input.profileAlternativeId ?? fn.profileAlternativeId,
209
+ signal: input.signal,
210
+ })
211
+ : undefined,
212
+ };
57
213
  }
58
- /** Register an additional parser on this client's registry. */
59
214
  use(parser) {
60
215
  this.registry.register(parser);
61
216
  return this;
62
217
  }
63
- /** Download a URL and return { url, html, markdown, ... }. */
218
+ /** Download a URL via Playwright (compatibility default: browser strategy). */
64
219
  async fetch(url, options = {}) {
65
220
  const browser = this.reuseBrowser ? await this.getBrowser() : undefined;
66
221
  return fetchUrl(url, {
@@ -70,51 +225,67 @@ export class WebAgentClient {
70
225
  browser: browser ?? options.browser,
71
226
  });
72
227
  }
73
- /** Fetch a URL, then rank every registered parser's fit without running parse(). */
228
+ /** Strategy-aware multi-format retrieval (default strategy: auto). */
229
+ async retrieve(url, options = {}) {
230
+ const browser = this.reuseBrowser ? await this.getBrowser() : undefined;
231
+ return retrieve(url, {
232
+ ...this.defaultFetchOptions,
233
+ ...siteFetchDefaults(url),
234
+ strategy: "auto",
235
+ ...options,
236
+ browser: browser ?? options.browser,
237
+ });
238
+ }
239
+ async fetchBatch(request) {
240
+ const browser = this.reuseBrowser ? await this.getBrowser() : undefined;
241
+ return retrieveBatch({
242
+ ...request,
243
+ retrieveOptions: {
244
+ ...this.defaultFetchOptions,
245
+ strategy: "auto",
246
+ ...request.retrieveOptions,
247
+ browser: browser ?? request.retrieveOptions?.browser,
248
+ },
249
+ });
250
+ }
251
+ async retrieveCached(url, options = {}) {
252
+ const browser = this.reuseBrowser ? await this.getBrowser() : undefined;
253
+ return retrieveWithCache(url, {
254
+ ...this.defaultFetchOptions,
255
+ ...siteFetchDefaults(url),
256
+ strategy: "auto",
257
+ cache: this.fetchCache,
258
+ ...options,
259
+ browser: browser ?? options.browser,
260
+ });
261
+ }
74
262
  async classify(url, options = {}) {
75
263
  const fetched = await this.fetch(url, options);
76
264
  return this.registry.classify(fetched);
77
265
  }
78
- /** Fetch a URL, classify it, and parse it with the best-fit parser. */
79
266
  async parse(url, options = {}) {
80
267
  const fetched = await this.fetch(url, options);
81
268
  return this.registry.parse(fetched);
82
269
  }
83
- /** Fetch a URL and force a specific parser by type id, skipping classification. */
84
270
  async parseAs(type, url, options = {}) {
85
271
  const fetched = await this.fetch(url, options);
86
272
  return this.registry.parseAs(type, fetched);
87
273
  }
88
- /** List every registered parser's type id + description. */
89
274
  listParsers() {
90
275
  return this.registry.list();
91
276
  }
92
- /**
93
- * Ingest a curated list / README URL: follow outbound GitHub skill links
94
- * one level deep and extract targeted files (SKILL.md, .md, .sh, …).
95
- * Uses GitHub raw/API — not Playwright.
96
- */
97
277
  ingest(rootUrl, options = {}) {
98
278
  return ingestRepository(rootUrl, options);
99
279
  }
100
- /**
101
- * Search the public web (Serper/Google). Returns ranked results and SERP
102
- * features — does not fetch page content.
103
- */
104
280
  search(request, options = {}) {
105
281
  return runSearch(request, {
106
282
  provider: this.searchProvider ?? null,
107
283
  signal: options.signal,
108
284
  });
109
285
  }
110
- /** Whether search is configured (API key present or provider injected). */
111
286
  searchConfigured() {
112
287
  return this.searchProvider !== undefined;
113
288
  }
114
- /**
115
- * Explicitly fetch selected organic results from a prior `search()` response.
116
- * Does not run unless called — search never auto-fetches.
117
- */
118
289
  async fetchSearchResults(searchResult, options = {}) {
119
290
  const targets = resolveFetchTargets(searchResult, options);
120
291
  const concurrency = Math.max(1, options.concurrency ?? 2);
@@ -147,10 +318,6 @@ export class WebAgentClient {
147
318
  }
148
319
  return pages;
149
320
  }
150
- /**
151
- * Search, then fetch the top organic results (or explicit positions/URLs).
152
- * Convenience composition over `search()` + `fetchSearchResults()`.
153
- */
154
321
  async searchAndFetch(request) {
155
322
  const { top, positions, urls, concurrency, continueOnError, fetchOptions, signal, ...searchRequest } = request;
156
323
  const searchResult = await this.search(searchRequest, { signal });
@@ -164,17 +331,363 @@ export class WebAgentClient {
164
331
  });
165
332
  return { search: searchResult, pages };
166
333
  }
334
+ async research(request, options = {}) {
335
+ await this.loadBindingsFromEnv();
336
+ const browser = this.reuseBrowser ? await this.getBrowser() : undefined;
337
+ const deps = {
338
+ searchFn: (req, opts) => this.search(req, opts),
339
+ retrieveFn: (url, ropts) => retrieve(url, {
340
+ ...this.defaultFetchOptions,
341
+ strategy: "auto",
342
+ ...ropts,
343
+ browser,
344
+ }),
345
+ registry: this.registry,
346
+ signal: options.signal,
347
+ functionHooks: this.buildResearchFunctionHooks(request),
348
+ };
349
+ return research(request, deps);
350
+ }
351
+ async startResearch(request, opts) {
352
+ const run = await this.runStore.create({
353
+ type: "research",
354
+ request,
355
+ requestHash: requestHash(request),
356
+ idempotencyKey: opts?.idempotencyKey,
357
+ });
358
+ void this.runResearchJob(run.id, request);
359
+ return run;
360
+ }
361
+ async runResearchJob(runId, request) {
362
+ await this.runStore.update(runId, { status: "planning" });
363
+ await this.runStore.update(runId, { status: "running", phase: "research" });
364
+ try {
365
+ const packet = await this.research(request);
366
+ const status = packet.status === "completed"
367
+ ? "completed"
368
+ : packet.status === "failed"
369
+ ? "failed"
370
+ : packet.status === "cancelled"
371
+ ? "cancelled"
372
+ : packet.status === "partial"
373
+ ? "partial"
374
+ : "completed_with_errors";
375
+ await this.runStore.update(runId, { status });
376
+ await this.runStore.appendItem?.(runId, {
377
+ kind: "packet",
378
+ data: packet,
379
+ });
380
+ }
381
+ catch (err) {
382
+ await this.runStore.update(runId, {
383
+ status: "failed",
384
+ errors: [
385
+ {
386
+ code: "PARSER_FAILED",
387
+ message: err instanceof Error ? err.message : String(err),
388
+ phase: "export",
389
+ retryable: false,
390
+ },
391
+ ],
392
+ });
393
+ }
394
+ }
395
+ async crawl(request, options = {}) {
396
+ const browser = this.reuseBrowser ? await this.getBrowser() : undefined;
397
+ return crawl(request, {
398
+ retrieve: (url, ropts) => retrieve(url, {
399
+ ...this.defaultFetchOptions,
400
+ strategy: "auto",
401
+ includeLinks: true,
402
+ ...ropts,
403
+ browser,
404
+ }),
405
+ signal: options.signal,
406
+ });
407
+ }
408
+ async startCrawl(request, opts) {
409
+ const run = await this.runStore.create({
410
+ type: "crawl",
411
+ request,
412
+ requestHash: requestHash(request),
413
+ idempotencyKey: opts?.idempotencyKey,
414
+ });
415
+ void this.runCrawlJob(run.id, request);
416
+ return run;
417
+ }
418
+ async runCrawlJob(runId, request) {
419
+ await this.runStore.update(runId, { status: "running", phase: "crawl" });
420
+ try {
421
+ const result = await this.crawl(request);
422
+ await this.runStore.update(runId, {
423
+ status: result.terminationReason === "cancelled" ? "cancelled" : "completed",
424
+ usage: {
425
+ pagesFetched: result.usage.pagesFetched,
426
+ bytesFetched: result.usage.bytesFetched,
427
+ },
428
+ });
429
+ await this.runStore.appendItem?.(runId, {
430
+ kind: "crawl_result",
431
+ data: result,
432
+ });
433
+ }
434
+ catch (err) {
435
+ await this.runStore.update(runId, {
436
+ status: "failed",
437
+ errors: [
438
+ {
439
+ code: "PARSER_FAILED",
440
+ message: err instanceof Error ? err.message : String(err),
441
+ phase: "crawl",
442
+ retryable: false,
443
+ },
444
+ ],
445
+ });
446
+ }
447
+ }
448
+ async extract(request) {
449
+ const browser = this.reuseBrowser ? await this.getBrowser() : undefined;
450
+ return extract(request, {
451
+ registry: this.registry,
452
+ adapter: this.extractionAdapter,
453
+ retrieveFn: (url, opts) => retrieve(url, {
454
+ ...this.defaultFetchOptions,
455
+ strategy: "auto",
456
+ ...opts,
457
+ browser,
458
+ }),
459
+ });
460
+ }
461
+ async checkChanges(request) {
462
+ let current = request.current;
463
+ if (!current && request.url) {
464
+ current = await this.retrieve(request.url, { strategy: "auto" });
465
+ if (current.canonicalUrl) {
466
+ await this.snapshotStore.put({
467
+ canonicalUrl: current.canonicalUrl,
468
+ markdown: current.markdown,
469
+ rawContentHash: current.rawContentHash,
470
+ normalizedContentHash: current.normalizedContentHash,
471
+ });
472
+ }
473
+ }
474
+ let previousSnapshot = request.previousSnapshot;
475
+ if (!previousSnapshot && !request.previous && current?.canonicalUrl) {
476
+ previousSnapshot = await this.snapshotStore.latestForUrl(current.canonicalUrl);
477
+ }
478
+ return checkChanges({ ...request, current, previousSnapshot });
479
+ }
480
+ async analyze(request, opts) {
481
+ await this.loadBindingsFromEnv();
482
+ return analyzeWebSource(this.webFunctionsDeps(), request, opts);
483
+ }
484
+ async answer(request, opts) {
485
+ await this.loadBindingsFromEnv();
486
+ return answerFromWeb(this.webFunctionsDeps(), request, opts);
487
+ }
488
+ async compare(request, opts) {
489
+ await this.loadBindingsFromEnv();
490
+ return compareWebSubjects(this.webFunctionsDeps(), request, opts);
491
+ }
492
+ async analyzeChanges(request, opts) {
493
+ await this.loadBindingsFromEnv();
494
+ return analyzeWebChanges(this.webFunctionsDeps(), request, opts);
495
+ }
496
+ async auditResearch(request, opts) {
497
+ await this.loadBindingsFromEnv();
498
+ return auditWebResearch(this.webFunctionsDeps(), request, opts);
499
+ }
500
+ async listWebFunctions(options) {
501
+ await this.loadBindingsFromEnv();
502
+ const listed = listBindings(this.webFunctionBindings, { role: options?.role });
503
+ const statuses = await Promise.all(listed.map(async (binding) => {
504
+ const compat = await validateBindingCompatibility(binding, this.funcxExecutor, this.hostPolicy);
505
+ return { binding, ...compat };
506
+ }));
507
+ return {
508
+ mode: this.funcxExecutor.mode,
509
+ bindings: statuses,
510
+ };
511
+ }
512
+ async listWebAIProfiles(options) {
513
+ return listWebAIProfiles({
514
+ role: options?.role,
515
+ source: this.aiProfilesSource,
516
+ catalogLane: "text",
517
+ });
518
+ }
519
+ async previewWebAIProfile(request) {
520
+ return previewWebAIProfile({
521
+ profileChoice: request.profileChoice,
522
+ bindingId: request.bindingId,
523
+ source: this.aiProfilesSource,
524
+ hostPolicy: this.hostPolicy,
525
+ });
526
+ }
527
+ async startAnswer(request, opts) {
528
+ const run = await this.runStore.create({
529
+ type: "answer",
530
+ request,
531
+ requestHash: requestHash(request),
532
+ idempotencyKey: opts?.idempotencyKey,
533
+ });
534
+ void this.runAnswerJob(run.id, request);
535
+ return run;
536
+ }
537
+ async runAnswerJob(runId, request) {
538
+ await this.runStore.update(runId, { status: "running", phase: "function" });
539
+ this.activeRunEventSink = (type, data) => {
540
+ void this.runStore.appendEvent(runId, { type: type, data });
541
+ };
542
+ await this.runStore.appendEvent(runId, { type: "function_started", data: { bindingId: request.synthesisBindingId } });
543
+ try {
544
+ // Resume reuse: if a completed grounded_answer already exists, return it.
545
+ const existing = await this.runStore.listItems(runId, { kind: "grounded_answer", limit: 1 });
546
+ if (existing.items[0]?.data) {
547
+ const result = existing.items[0].data;
548
+ await this.runStore.update(runId, {
549
+ status: result.status === "failed"
550
+ ? "failed"
551
+ : result.status === "completed_with_errors"
552
+ ? "completed_with_errors"
553
+ : "completed",
554
+ });
555
+ return;
556
+ }
557
+ const result = await this.answer(request);
558
+ await this.runStore.appendItem?.(runId, { kind: "grounded_answer", data: result });
559
+ await this.runStore.appendEvent(runId, {
560
+ type: result.audit ? "audit_completed" : "function_completed",
561
+ data: { status: result.status },
562
+ });
563
+ await this.runStore.update(runId, {
564
+ status: result.status === "failed" ? "failed" : result.status === "completed_with_errors" ? "completed_with_errors" : "completed",
565
+ });
566
+ }
567
+ catch (err) {
568
+ await this.runStore.update(runId, {
569
+ status: "failed",
570
+ errors: [
571
+ {
572
+ code: "FUNCTION_INVOCATION_FAILED",
573
+ message: err instanceof Error ? err.message : String(err),
574
+ phase: "function",
575
+ retryable: false,
576
+ },
577
+ ],
578
+ });
579
+ }
580
+ finally {
581
+ this.activeRunEventSink = undefined;
582
+ }
583
+ }
584
+ async startCompare(request, opts) {
585
+ const run = await this.runStore.create({
586
+ type: "compare",
587
+ request,
588
+ requestHash: requestHash(request),
589
+ idempotencyKey: opts?.idempotencyKey,
590
+ });
591
+ void this.runCompareJob(run.id, request);
592
+ return run;
593
+ }
594
+ async runCompareJob(runId, request) {
595
+ await this.runStore.update(runId, { status: "running", phase: "function" });
596
+ this.activeRunEventSink = (type, data) => {
597
+ void this.runStore.appendEvent(runId, { type: type, data });
598
+ };
599
+ await this.runStore.appendEvent(runId, {
600
+ type: "function_started",
601
+ data: { bindingId: request.comparisonBindingId },
602
+ });
603
+ try {
604
+ const existing = await this.runStore.listItems(runId, { kind: "web_comparison", limit: 1 });
605
+ if (existing.items[0]?.data) {
606
+ const result = existing.items[0].data;
607
+ await this.runStore.update(runId, {
608
+ status: result.status === "failed"
609
+ ? "failed"
610
+ : result.status === "completed_with_errors"
611
+ ? "completed_with_errors"
612
+ : "completed",
613
+ });
614
+ return;
615
+ }
616
+ const result = await this.compare(request);
617
+ await this.runStore.appendItem?.(runId, { kind: "web_comparison", data: result });
618
+ await this.runStore.appendEvent(runId, {
619
+ type: result.audit ? "audit_completed" : "function_completed",
620
+ data: { status: result.status },
621
+ });
622
+ await this.runStore.update(runId, {
623
+ status: result.status === "failed"
624
+ ? "failed"
625
+ : result.status === "completed_with_errors"
626
+ ? "completed_with_errors"
627
+ : "completed",
628
+ });
629
+ }
630
+ catch (err) {
631
+ await this.runStore.update(runId, {
632
+ status: "failed",
633
+ errors: [
634
+ {
635
+ code: "FUNCTION_INVOCATION_FAILED",
636
+ message: err instanceof Error ? err.message : String(err),
637
+ phase: "function",
638
+ retryable: false,
639
+ },
640
+ ],
641
+ });
642
+ }
643
+ finally {
644
+ this.activeRunEventSink = undefined;
645
+ }
646
+ }
647
+ getRun(runId) {
648
+ return this.runStore.get(runId);
649
+ }
650
+ listRunItems(runId, options) {
651
+ return this.runStore.listItems(runId, options);
652
+ }
653
+ cancelRun(runId) {
654
+ return this.runStore.requestCancel(runId);
655
+ }
656
+ async resumeRun(runId) {
657
+ const run = await this.runStore.get(runId);
658
+ if (!run)
659
+ throw new Error("RUN_NOT_FOUND");
660
+ if (!["partial", "cancelled", "failed"].includes(run.status)) {
661
+ throw new Error("RUN_NOT_RESUMABLE");
662
+ }
663
+ await this.runStore.update(runId, { status: "queued", cancellationRequested: false });
664
+ if (run.type === "research") {
665
+ void this.runResearchJob(runId, run.request);
666
+ }
667
+ else if (run.type === "crawl") {
668
+ void this.runCrawlJob(runId, run.request);
669
+ }
670
+ else if (run.type === "answer") {
671
+ void this.runAnswerJob(runId, run.request);
672
+ }
673
+ else if (run.type === "compare") {
674
+ void this.runCompareJob(runId, run.request);
675
+ }
676
+ return (await this.runStore.get(runId));
677
+ }
167
678
  async getBrowser() {
168
679
  this.browserPromise ??= launchBrowser(this.defaultFetchOptions.executablePath);
169
680
  return this.browserPromise;
170
681
  }
171
- /** Close the reused browser, if one was launched. No-op otherwise. */
172
682
  async close() {
173
683
  if (this.browserPromise) {
174
684
  const browser = await this.browserPromise;
175
685
  await browser.close();
176
686
  this.browserPromise = undefined;
177
687
  }
688
+ void this.ownsCache;
689
+ void this.ownsSnapshots;
690
+ void this.ownsRuns;
178
691
  }
179
692
  }
180
693
  function resolveSearchProvider(search) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAqB,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAyC,MAAM,cAAc,CAAC;AACvF,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,MAAM,IAAI,SAAS,GAKpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC7B,IACE,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC7D,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EACvD,CAAC;YACD,OAAO;gBACL,yDAAyD;gBACzD,eAAe,EAAE,oCAAoC;gBACrD,QAAQ,EAAE,GAAG;aACd,CAAC;QACJ,CAAC;QACD,IACE,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC1F,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAC5B,CAAC;YACD,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnD,CAAC;QACD,IACE,IAAI,KAAK,YAAY;YACrB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC5B,IAAI,KAAK,wBAAwB,EACjC,CAAC;YACD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3E,yEAAyE;YACzE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAqDD;;;;GAIG;AACH,MAAM,OAAO,cAAc;IAChB,QAAQ,CAAiB;IACjB,mBAAmB,CAAe;IAClC,YAAY,CAAU;IACtB,cAAc,CAA6B;IACpD,cAAc,CAA+B;IAErD,YAAY,UAAiC,EAAE;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EAAE,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,+DAA+D;IAC/D,GAAG,CAAI,MAAiB;QACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,UAAwB,EAAE;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,OAAO,QAAQ,CAAC,GAAG,EAAE;YACnB,GAAG,IAAI,CAAC,mBAAmB;YAC3B,GAAG,iBAAiB,CAAC,GAAG,CAAC;YACzB,GAAG,OAAO;YACV,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO;SACpC,CAAC,CAAC;IACL,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,UAAwB,EAAE;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,KAAK,CAAc,GAAW,EAAE,UAAwB,EAAE;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAI,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,OAAO,CAAc,IAAY,EAAE,GAAW,EAAE,UAAwB,EAAE;QAC9E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAI,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,4DAA4D;IAC5D,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAe,EAAE,UAAyB,EAAE;QACjD,OAAO,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,MAAM,CACJ,OAAyB,EACzB,UAAoC,EAAE;QAEtC,OAAO,SAAS,CAAC,OAAO,EAAE;YACxB,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;YACrC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,YAA+B,EAC/B,UAAqC,EAAE;QAEvC,MAAM,OAAO,GAAG,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC;QAC1D,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;YACrD,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBAAE,MAAM;YACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACpB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;wBACtC,GAAG,OAAO,CAAC,YAAY;qBACxB,CAAC,CAAC;oBACH,OAAO;wBACL,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK;wBAC/B,KAAK,EAAE,OAAO;qBACa,CAAC;gBAChC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC/D,IAAI,CAAC,eAAe;wBAAE,MAAM,GAAG,CAAC;oBAChC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAA8B,CAAC;gBACjG,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,MAAM,EACJ,GAAG,EACH,SAAS,EACT,IAAI,EACJ,WAAW,EACX,eAAe,EACf,YAAY,EACZ,MAAM,EACN,GAAG,aAAa,EACjB,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACxD,SAAS,EAAE,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YAC/D,IAAI;YACJ,WAAW;YACX,eAAe;YACf,YAAY;YACZ,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,cAAc,KAAK,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;YAC1C,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC;IACH,CAAC;CACF;AAED,SAAS,qBAAqB,CAC5B,MAA6C;IAE7C,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,QAAQ,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,oBAAoB,CAAC,MAAsB,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAA+B,EAC/B,OAAkC;IAElC,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YAC9D,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM;QACzC,CAAC,CAAC,OAAO,CAAC,SAAS;QACnB,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEhD,MAAM,GAAG,GAA8D,EAAE,CAAC;IAC1E,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC;QACjE,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,YAAoB;IAChD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,22 @@
1
1
  export * from "./client.js";
2
2
  export * from "./registry.js";
3
3
  export * from "@x12i/core";
4
- export type { FetchOptions } from "@x12i/fetcher";
4
+ export type { FetchOptions, RetrieveOptions, RetrieveBatchItem, FetchCache, SnapshotStore, FreshnessMode, ChangeCheckRequest, ChangeCheckResult, } from "@x12i/fetcher";
5
+ export { InMemoryFetchCache, InMemorySnapshotStore, retrieve, retrieveBatch, checkChanges, } from "@x12i/fetcher";
5
6
  export type { IngestOptions, IngestResult, IngestedAsset, ExtractedFile, IngestProgressEvent, } from "@x12i/ingest";
6
- export type { WebSearchRequest, WebSearchResponse, OrganicSearchResult, SearchConfig, SearchProvider, SearchErrorCode, } from "@x12i/search";
7
- export { SearchError, isSearchConfigured, loadEnvFile, loadSearchConfig, searchCapabilityStatus, } from "@x12i/search";
7
+ export type { WebSearchRequest, WebSearchResponse, OrganicSearchResult, SearchConfig, SearchProvider, SearchErrorCode, SearchCandidate, SelectionOptions, } from "@x12i/search";
8
+ export { SearchError, isSearchConfigured, loadEnvFile, loadSearchConfig, searchCapabilityStatus, mergeSearchCandidates, selectCandidates, normalizeQueries, } from "@x12i/search";
9
+ export type { ResearchRequest, ResearchPacket } from "@x12i/research";
10
+ export { research } from "@x12i/research";
11
+ export type { CrawlRequest, CrawlResult } from "@x12i/crawl";
12
+ export { crawl } from "@x12i/crawl";
13
+ export type { ExtractRequest, ExtractResult, ExtractionAdapter, ExtractionMode, } from "@x12i/extract";
14
+ export { extract } from "@x12i/extract";
15
+ export type { EvidenceBlock } from "@x12i/evidence";
16
+ export { splitEvidence, rankEvidence, buildCitationMarkdown } from "@x12i/evidence";
17
+ export type { RunRecord, RunStore, RunStatus } from "@x12i/runs";
18
+ export { InMemoryRunStore, IdempotencyConflictError } from "@x12i/runs";
19
+ export type { WebFunctionBinding, WebFunctionRole, AnalyzeWebSourceRequest, AnswerFromWebRequest, CompareWebSubjectsRequest, AnalyzeWebChangesRequest, AuditWebResearchRequest, GroundedAnswer, WebComparison, FuncxExecutor, } from "@x12i/web-functions";
20
+ export { createMockFuncxExecutor, createDisabledExecutor, parseBindingsJson, loadHostPolicyFromEnv, } from "@x12i/web-functions";
8
21
  export { META_PARSER_TYPE, buildLlmBrief, createMetaParser, defaultSchemaCatalog, findSchema, metaLlmBriefParser, type MetaLlmBriefData, type PageSchema, } from "@x12i/parsers-meta";
9
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,YAAY,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,QAAQ,EACR,aAAa,EACb,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,YAAY,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACpF,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACxE,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,13 @@
1
1
  export * from "./client.js";
2
2
  export * from "./registry.js";
3
3
  export * from "@x12i/core";
4
- export { SearchError, isSearchConfigured, loadEnvFile, loadSearchConfig, searchCapabilityStatus, } from "@x12i/search";
4
+ export { InMemoryFetchCache, InMemorySnapshotStore, retrieve, retrieveBatch, checkChanges, } from "@x12i/fetcher";
5
+ export { SearchError, isSearchConfigured, loadEnvFile, loadSearchConfig, searchCapabilityStatus, mergeSearchCandidates, selectCandidates, normalizeQueries, } from "@x12i/search";
6
+ export { research } from "@x12i/research";
7
+ export { crawl } from "@x12i/crawl";
8
+ export { extract } from "@x12i/extract";
9
+ export { splitEvidence, rankEvidence, buildCitationMarkdown } from "@x12i/evidence";
10
+ export { InMemoryRunStore, IdempotencyConflictError } from "@x12i/runs";
11
+ export { createMockFuncxExecutor, createDisabledExecutor, parseBindingsJson, loadHostPolicyFromEnv, } from "@x12i/web-functions";
5
12
  export { META_PARSER_TYPE, buildLlmBrief, createMetaParser, defaultSchemaCatalog, findSchema, metaLlmBriefParser, } from "@x12i/parsers-meta";
6
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAiB3B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAW3B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,QAAQ,EACR,aAAa,EACb,YAAY,GACb,MAAM,eAAe,CAAC;AAkBvB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAaxE,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@x12i/sdk",
3
- "version": "0.2.0",
4
- "description": "Programmatic client: fetch(url) -> Markdown, parse(url) -> typed JSON via the parser registry. What the CLI, REST API, and MCP server are all thin wrappers around.",
3
+ "version": "0.4.0",
4
+ "description": "Programmatic client: fetch, retrieve, research, crawl, extract — the CLI, REST API, and MCP server wrap this.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -13,13 +13,19 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "playwright": "^1.49.1",
16
- "@x12i/search": "0.1.0",
17
- "@x12i/ingest": "0.1.0",
18
- "@x12i/core": "0.1.0",
19
- "@x12i/parsers-web": "0.1.0",
20
- "@x12i/parsers-meta": "0.1.0",
21
- "@x12i/parser-openrouter": "0.1.0",
22
- "@x12i/fetcher": "0.1.0"
16
+ "@x12i/core": "0.4.0",
17
+ "@x12i/search": "0.4.0",
18
+ "@x12i/ingest": "0.4.0",
19
+ "@x12i/fetcher": "0.4.0",
20
+ "@x12i/crawl": "0.4.0",
21
+ "@x12i/runs": "0.4.0",
22
+ "@x12i/evidence": "0.4.0",
23
+ "@x12i/web-functions": "0.4.0",
24
+ "@x12i/extract": "0.4.0",
25
+ "@x12i/research": "0.4.0",
26
+ "@x12i/parser-openrouter": "0.4.0",
27
+ "@x12i/parsers-meta": "0.4.0",
28
+ "@x12i/parsers-web": "0.4.0"
23
29
  },
24
30
  "devDependencies": {
25
31
  "typescript": "^5.7.3",