scoutline 0.14.7 → 0.14.8
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.
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
* boundary and never echoed outward.
|
|
16
16
|
* - HTTP 402 maps to {@link QuotaError} (Exa returns 402 for three
|
|
17
17
|
* exhaustion states: account, key, and team budget).
|
|
18
|
-
* - The `Exa-Beta` header is endpoint-scoped to `/agent/runs*`
|
|
19
|
-
* (Research, EXA-T04); search and contents calls do NOT send it.
|
|
20
18
|
*
|
|
21
19
|
* Boundary rules (ARCHITECTURE.md §2):
|
|
22
20
|
* - May import Adapter-local config and normalized errors.
|
|
@@ -75,7 +73,7 @@ export interface ExaContentsParams {
|
|
|
75
73
|
* `params` carries Exa-native API fields (camelCase) already mapped
|
|
76
74
|
* from `SearchControls` by the Adapter. Search always sends
|
|
77
75
|
* `contents: { highlights: true }` (token-efficient; populates
|
|
78
|
-
* `summary`).
|
|
76
|
+
* `summary`).
|
|
79
77
|
*/
|
|
80
78
|
export declare function fetchExaSearch(apiKey: string, query: string, params?: ExaSearchParams, deps?: ExaTransportDeps): Promise<unknown>;
|
|
81
79
|
/**
|
|
@@ -84,8 +82,7 @@ export declare function fetchExaSearch(apiKey: string, query: string, params?: E
|
|
|
84
82
|
* the Adapter post-processes into a normalized `ReaderFetchResult`).
|
|
85
83
|
*
|
|
86
84
|
* The caller wraps a single URL as `urls: [url]`. `text: true` is
|
|
87
|
-
* always set (Exa returns text content).
|
|
88
|
-
* sent on contents calls (endpoint-scoped to Agent only).
|
|
85
|
+
* always set (Exa returns text content).
|
|
89
86
|
*
|
|
90
87
|
* `params.livecrawlTimeout` is in milliseconds. The Adapter converts
|
|
91
88
|
* from the CLI's seconds-based `--timeout` before calling; the transport
|
|
@@ -127,18 +124,15 @@ export interface ExaAgentRunPollResult {
|
|
|
127
124
|
* response body in public errors. Returns the structured create result
|
|
128
125
|
* `{ id, status }`.
|
|
129
126
|
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
* so a transient create-time failure is terminal.
|
|
127
|
+
* Shared execution wraps this with `maxRetries: 0` (double-charge
|
|
128
|
+
* prevention on a usage-based endpoint), so a transient create-time
|
|
129
|
+
* failure is terminal.
|
|
134
130
|
*/
|
|
135
131
|
export declare function createExaAgentRun(apiKey: string, params: ExaAgentRunParams, deps?: ExaTransportDeps): Promise<ExaAgentRunCreateResult>;
|
|
136
132
|
/**
|
|
137
133
|
* Perform ONE GET against the Exa /agent/runs/{id} endpoint. No retry.
|
|
138
134
|
* Returns a structured poll result.
|
|
139
135
|
*
|
|
140
|
-
* **MUST send** the `Exa-Beta: agent-2026-05-07` header.
|
|
141
|
-
*
|
|
142
136
|
* Unlike other GETs, a 404 is NOT a terminal transport error here: it
|
|
143
137
|
* means the server-side run expired/disappeared, so the Adapter can
|
|
144
138
|
* delete the stale state file and create a fresh run. The poll result
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/providers/exa/client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/providers/exa/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AActD,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AA0HD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,eAAe,EACxB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAMlB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,iBAAiB,EACzB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,uBAAuB,CAAC,CAgBlC;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CA6ChC"}
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
* boundary and never echoed outward.
|
|
16
16
|
* - HTTP 402 maps to {@link QuotaError} (Exa returns 402 for three
|
|
17
17
|
* exhaustion states: account, key, and team budget).
|
|
18
|
-
* - The `Exa-Beta` header is endpoint-scoped to `/agent/runs*`
|
|
19
|
-
* (Research, EXA-T04); search and contents calls do NOT send it.
|
|
20
18
|
*
|
|
21
19
|
* Boundary rules (ARCHITECTURE.md §2):
|
|
22
20
|
* - May import Adapter-local config and normalized errors.
|
|
@@ -37,14 +35,6 @@ const SEARCH_PATH = "/search";
|
|
|
37
35
|
const CONTENTS_PATH = "/contents";
|
|
38
36
|
const AGENT_RUNS_PATH = "/agent/runs";
|
|
39
37
|
const DEFAULT_TIMEOUT_MS = 30000;
|
|
40
|
-
/**
|
|
41
|
-
* Pinned Exa Agent API beta version. Every `/agent/runs*` request
|
|
42
|
-
* (create, poll) MUST carry `Exa-Beta: <this value>` or the endpoint
|
|
43
|
-
* returns 400 before any lifecycle logic runs. The header is
|
|
44
|
-
* endpoint-scoped — search and contents calls do NOT send it. Pin as a
|
|
45
|
-
* transport constant so a future version bump is a one-line change.
|
|
46
|
-
*/
|
|
47
|
-
const EXA_BETA_HEADER = "agent-2026-05-07";
|
|
48
38
|
const USER_AGENT = `scoutline/${VERSION}`;
|
|
49
39
|
const TIMEOUT_HELP_TEXT = "Try again or increase timeout with EXA_TIMEOUT env var";
|
|
50
40
|
function resolveTimeoutMs(env) {
|
|
@@ -109,7 +99,7 @@ function normalizeTransportError(err, timeoutMs) {
|
|
|
109
99
|
}
|
|
110
100
|
return new ApiError("Exa request failed", 500);
|
|
111
101
|
}
|
|
112
|
-
async function postExaJson(apiKey, path, body, deps, endpointLabel
|
|
102
|
+
async function postExaJson(apiKey, path, body, deps, endpointLabel) {
|
|
113
103
|
const f = deps.fetch ?? getGlobalFetch();
|
|
114
104
|
const setT = deps.setTimeout ?? setTimeout;
|
|
115
105
|
const clearT = deps.clearTimeout ?? clearTimeout;
|
|
@@ -124,11 +114,6 @@ async function postExaJson(apiKey, path, body, deps, endpointLabel, extraHeaders
|
|
|
124
114
|
"Content-Type": "application/json",
|
|
125
115
|
"User-Agent": USER_AGENT,
|
|
126
116
|
};
|
|
127
|
-
if (extraHeaders) {
|
|
128
|
-
for (const [key, value] of Object.entries(extraHeaders)) {
|
|
129
|
-
headers[key] = value;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
117
|
const res = await f(url, {
|
|
133
118
|
method: "POST",
|
|
134
119
|
headers,
|
|
@@ -165,7 +150,7 @@ async function postExaJson(apiKey, path, body, deps, endpointLabel, extraHeaders
|
|
|
165
150
|
* `params` carries Exa-native API fields (camelCase) already mapped
|
|
166
151
|
* from `SearchControls` by the Adapter. Search always sends
|
|
167
152
|
* `contents: { highlights: true }` (token-efficient; populates
|
|
168
|
-
* `summary`).
|
|
153
|
+
* `summary`).
|
|
169
154
|
*/
|
|
170
155
|
export async function fetchExaSearch(apiKey, query, params, deps = {}) {
|
|
171
156
|
const body = { query };
|
|
@@ -199,8 +184,7 @@ export async function fetchExaSearch(apiKey, query, params, deps = {}) {
|
|
|
199
184
|
* the Adapter post-processes into a normalized `ReaderFetchResult`).
|
|
200
185
|
*
|
|
201
186
|
* The caller wraps a single URL as `urls: [url]`. `text: true` is
|
|
202
|
-
* always set (Exa returns text content).
|
|
203
|
-
* sent on contents calls (endpoint-scoped to Agent only).
|
|
187
|
+
* always set (Exa returns text content).
|
|
204
188
|
*
|
|
205
189
|
* `params.livecrawlTimeout` is in milliseconds. The Adapter converts
|
|
206
190
|
* from the CLI's seconds-based `--timeout` before calling; the transport
|
|
@@ -218,19 +202,16 @@ export async function fetchExaContents(apiKey, url, params, deps = {}) {
|
|
|
218
202
|
* response body in public errors. Returns the structured create result
|
|
219
203
|
* `{ id, status }`.
|
|
220
204
|
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
* so a transient create-time failure is terminal.
|
|
205
|
+
* Shared execution wraps this with `maxRetries: 0` (double-charge
|
|
206
|
+
* prevention on a usage-based endpoint), so a transient create-time
|
|
207
|
+
* failure is terminal.
|
|
225
208
|
*/
|
|
226
209
|
export async function createExaAgentRun(apiKey, params, deps = {}) {
|
|
227
210
|
const body = { query: params.query };
|
|
228
211
|
if (params.effort !== undefined) {
|
|
229
212
|
body.effort = params.effort;
|
|
230
213
|
}
|
|
231
|
-
const raw = await postExaJson(apiKey, AGENT_RUNS_PATH, body, deps, "agent-run"
|
|
232
|
-
"Exa-Beta": EXA_BETA_HEADER,
|
|
233
|
-
});
|
|
214
|
+
const raw = await postExaJson(apiKey, AGENT_RUNS_PATH, body, deps, "agent-run");
|
|
234
215
|
if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
|
|
235
216
|
throw new ApiError("Exa agent run returned a malformed response", 500);
|
|
236
217
|
}
|
|
@@ -246,8 +227,6 @@ export async function createExaAgentRun(apiKey, params, deps = {}) {
|
|
|
246
227
|
* Perform ONE GET against the Exa /agent/runs/{id} endpoint. No retry.
|
|
247
228
|
* Returns a structured poll result.
|
|
248
229
|
*
|
|
249
|
-
* **MUST send** the `Exa-Beta: agent-2026-05-07` header.
|
|
250
|
-
*
|
|
251
230
|
* Unlike other GETs, a 404 is NOT a terminal transport error here: it
|
|
252
231
|
* means the server-side run expired/disappeared, so the Adapter can
|
|
253
232
|
* delete the stale state file and create a fresh run. The poll result
|
|
@@ -271,7 +250,6 @@ export async function pollExaAgentRun(apiKey, runId, deps = {}) {
|
|
|
271
250
|
headers: {
|
|
272
251
|
Authorization: `Bearer ${apiKey}`,
|
|
273
252
|
"User-Agent": USER_AGENT,
|
|
274
|
-
"Exa-Beta": EXA_BETA_HEADER,
|
|
275
253
|
},
|
|
276
254
|
signal: controller.signal,
|
|
277
255
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/providers/exa/client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/providers/exa/client.ts"],"names":[],"mappings":"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"}
|