scoutline 0.7.0 → 0.9.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 +11 -3
- package/dist/capabilities/quota.d.ts +11 -0
- package/dist/capabilities/quota.d.ts.map +1 -1
- package/dist/capabilities/quota.js.map +1 -1
- package/dist/capabilities/search.d.ts +11 -1
- package/dist/capabilities/search.d.ts.map +1 -1
- package/dist/commands/crawl.js +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +13 -10
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/map.js +1 -1
- package/dist/commands/quota.d.ts +23 -0
- package/dist/commands/quota.d.ts.map +1 -1
- package/dist/commands/quota.js +21 -4
- package/dist/commands/quota.js.map +1 -1
- package/dist/commands/read.js +1 -1
- package/dist/commands/repo.js +1 -1
- package/dist/commands/research.js +1 -1
- package/dist/commands/search.d.ts +2 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +21 -12
- package/dist/commands/search.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/redact.d.ts +2 -2
- package/dist/lib/redact.d.ts.map +1 -1
- package/dist/lib/redact.js +8 -2
- package/dist/lib/redact.js.map +1 -1
- package/dist/providers/brave/adapter.d.ts +42 -0
- package/dist/providers/brave/adapter.d.ts.map +1 -0
- package/dist/providers/brave/adapter.js +504 -0
- package/dist/providers/brave/adapter.js.map +1 -0
- package/dist/providers/brave/client.d.ts +161 -0
- package/dist/providers/brave/client.d.ts.map +1 -0
- package/dist/providers/brave/client.js +297 -0
- package/dist/providers/brave/client.js.map +1 -0
- package/dist/providers/brave/credentials.d.ts +33 -0
- package/dist/providers/brave/credentials.d.ts.map +1 -0
- package/dist/providers/brave/credentials.js +55 -0
- package/dist/providers/brave/credentials.js.map +1 -0
- package/dist/providers/brave/diagnostics.d.ts +46 -0
- package/dist/providers/brave/diagnostics.d.ts.map +1 -0
- package/dist/providers/brave/diagnostics.js +76 -0
- package/dist/providers/brave/diagnostics.js.map +1 -0
- package/dist/providers/brave/quota.d.ts +86 -0
- package/dist/providers/brave/quota.d.ts.map +1 -0
- package/dist/providers/brave/quota.js +247 -0
- package/dist/providers/brave/quota.js.map +1 -0
- package/dist/providers/exa/adapter.d.ts +58 -0
- package/dist/providers/exa/adapter.d.ts.map +1 -0
- package/dist/providers/exa/adapter.js +892 -0
- package/dist/providers/exa/adapter.js.map +1 -0
- package/dist/providers/exa/client.d.ts +143 -0
- package/dist/providers/exa/client.d.ts.map +1 -0
- package/dist/providers/exa/client.js +328 -0
- package/dist/providers/exa/client.js.map +1 -0
- package/dist/providers/exa/credentials.d.ts +34 -0
- package/dist/providers/exa/credentials.d.ts.map +1 -0
- package/dist/providers/exa/credentials.js +56 -0
- package/dist/providers/exa/credentials.js.map +1 -0
- package/dist/providers/exa/diagnostics.d.ts +42 -0
- package/dist/providers/exa/diagnostics.d.ts.map +1 -0
- package/dist/providers/exa/diagnostics.js +69 -0
- package/dist/providers/exa/diagnostics.js.map +1 -0
- package/dist/providers/minimax/adapter.js +1 -1
- package/dist/providers/minimax/adapter.js.map +1 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +4 -0
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/tavily/adapter.d.ts.map +1 -1
- package/dist/providers/tavily/adapter.js +5 -0
- package/dist/providers/tavily/adapter.js.map +1 -1
- package/dist/providers/types.d.ts +1 -1
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/providers/zai/adapter.d.ts.map +1 -1
- package/dist/providers/zai/adapter.js +7 -1
- package/dist/providers/zai/adapter.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/providers/exa/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exa direct HTTP transport (tech-plan §7, Transport Client).
|
|
3
|
+
*
|
|
4
|
+
* Performs direct POSTs against the Exa REST endpoints with an
|
|
5
|
+
* `Authorization: Bearer <apiKey>` header. There is NO internal retry —
|
|
6
|
+
* shared execution owns retry policy. Fetch and timer are injectable for
|
|
7
|
+
* tests.
|
|
8
|
+
*
|
|
9
|
+
* Mirrors `providers/tavily/client.ts` in structure, but Exa-specific
|
|
10
|
+
* differences:
|
|
11
|
+
* - Base URL `https://api.exa.ai`.
|
|
12
|
+
* - JSON bodies use camelCase (contrast Tavily's snake_case).
|
|
13
|
+
* - Error body is `{"error": "message"}` — a single string. HTTP-status
|
|
14
|
+
* is the sole error signal; the body is discarded at the transport
|
|
15
|
+
* boundary and never echoed outward.
|
|
16
|
+
* - HTTP 402 maps to {@link QuotaError} (Exa returns 402 for three
|
|
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
|
+
*
|
|
21
|
+
* Boundary rules (ARCHITECTURE.md §2):
|
|
22
|
+
* - May import Adapter-local config and normalized errors.
|
|
23
|
+
* - May import `ProviderQuotaFetch` from `providers/types.ts`.
|
|
24
|
+
* - Must NOT import command presentation, capability contracts, or
|
|
25
|
+
* another Provider's Adapter.
|
|
26
|
+
* - Must NOT perform response field normalization — the Adapter owns
|
|
27
|
+
* that. This module declares Provider-native request-body types
|
|
28
|
+
* only (Exa API field names); it does not import SearchControls
|
|
29
|
+
* or any capability contract.
|
|
30
|
+
*/
|
|
31
|
+
import type { ProviderQuotaFetch } from "../types.js";
|
|
32
|
+
/** Injectable transport dependencies (fetch, timers, env). */
|
|
33
|
+
export interface ExaTransportDeps {
|
|
34
|
+
readonly fetch?: ProviderQuotaFetch;
|
|
35
|
+
readonly setTimeout?: typeof setTimeout;
|
|
36
|
+
readonly clearTimeout?: typeof clearTimeout;
|
|
37
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Provider-native search request body fields (Exa API field names,
|
|
41
|
+
* camelCase). The Adapter maps the Provider-neutral `SearchControls`
|
|
42
|
+
* into these before calling {@link fetchExaSearch}; the transport never
|
|
43
|
+
* imports a capability contract.
|
|
44
|
+
*/
|
|
45
|
+
export interface ExaSearchParams {
|
|
46
|
+
readonly numResults?: number;
|
|
47
|
+
readonly includeDomains?: readonly string[];
|
|
48
|
+
readonly startPublishedDate?: string;
|
|
49
|
+
readonly type?: string;
|
|
50
|
+
readonly category?: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Provider-native contents request options (Exa API field names,
|
|
54
|
+
* camelCase). The Adapter maps `ReaderFetchRequest` fields into these
|
|
55
|
+
* before calling {@link fetchExaContents}; the transport never imports
|
|
56
|
+
* a capability contract.
|
|
57
|
+
*
|
|
58
|
+
* `livecrawlTimeout` is in milliseconds (the CLI `--timeout` is in
|
|
59
|
+
* seconds; the Adapter converts before calling).
|
|
60
|
+
*/
|
|
61
|
+
export interface ExaContentsParams {
|
|
62
|
+
readonly livecrawlTimeout?: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Perform ONE POST against the Exa /search endpoint. No retry; no
|
|
66
|
+
* response body in public errors. Returns the parsed JSON body (raw;
|
|
67
|
+
* the Adapter post-processes into normalized search sources).
|
|
68
|
+
*
|
|
69
|
+
* `params` carries Exa-native API fields (camelCase) already mapped
|
|
70
|
+
* from `SearchControls` by the Adapter. Search always sends
|
|
71
|
+
* `contents: { highlights: true }` (token-efficient; populates
|
|
72
|
+
* `summary`). The `Exa-Beta` header is NOT sent on search calls.
|
|
73
|
+
*/
|
|
74
|
+
export declare function fetchExaSearch(apiKey: string, query: string, params?: ExaSearchParams, deps?: ExaTransportDeps): Promise<unknown>;
|
|
75
|
+
/**
|
|
76
|
+
* Perform ONE POST against the Exa /contents endpoint. No retry; no
|
|
77
|
+
* response body in public errors. Returns the parsed JSON body (raw;
|
|
78
|
+
* the Adapter post-processes into a normalized `ReaderFetchResult`).
|
|
79
|
+
*
|
|
80
|
+
* The caller wraps a single URL as `urls: [url]`. `text: true` is
|
|
81
|
+
* always set (Exa returns text content). The `Exa-Beta` header is NOT
|
|
82
|
+
* sent on contents calls (endpoint-scoped to Agent only).
|
|
83
|
+
*
|
|
84
|
+
* `params.livecrawlTimeout` is in milliseconds. The Adapter converts
|
|
85
|
+
* from the CLI's seconds-based `--timeout` before calling; the transport
|
|
86
|
+
* does NOT re-convert.
|
|
87
|
+
*/
|
|
88
|
+
export declare function fetchExaContents(apiKey: string, url: string, params?: ExaContentsParams, deps?: ExaTransportDeps): Promise<unknown>;
|
|
89
|
+
/**
|
|
90
|
+
* Provider-native Agent run request body fields (Exa API field names,
|
|
91
|
+
* camelCase). The Adapter maps the Provider-neutral `ResearchRequest`
|
|
92
|
+
* into these before calling {@link createExaAgentRun}; the transport
|
|
93
|
+
* never imports a capability contract.
|
|
94
|
+
*/
|
|
95
|
+
export interface ExaAgentRunParams {
|
|
96
|
+
readonly query: string;
|
|
97
|
+
readonly effort?: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Structured result of POST /agent/runs. The endpoint returns
|
|
101
|
+
* `{ id, status }` on success.
|
|
102
|
+
*/
|
|
103
|
+
export interface ExaAgentRunCreateResult {
|
|
104
|
+
readonly id: string;
|
|
105
|
+
readonly status: string;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Structured result of GET /agent/runs/{id}. `output` is passed as raw
|
|
109
|
+
* `unknown` — the Adapter normalizes it into a `ResearchResult`.
|
|
110
|
+
*
|
|
111
|
+
* `status: "not_found"` is returned (not thrown) for HTTP 404 so the
|
|
112
|
+
* Adapter can treat a stale state file as "delete it and create a new
|
|
113
|
+
* run" rather than a terminal transport error.
|
|
114
|
+
*/
|
|
115
|
+
export interface ExaAgentRunPollResult {
|
|
116
|
+
readonly status: "queued" | "running" | "completed" | "failed" | "cancelled" | "not_found";
|
|
117
|
+
readonly output?: unknown;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Perform ONE POST against the Exa /agent/runs endpoint. No retry; no
|
|
121
|
+
* response body in public errors. Returns the structured create result
|
|
122
|
+
* `{ id, status }`.
|
|
123
|
+
*
|
|
124
|
+
* **MUST send** the `Exa-Beta: agent-2026-05-07` header — the endpoint
|
|
125
|
+
* returns 400 without it. Shared execution wraps this with
|
|
126
|
+
* `maxRetries: 0` (double-charge prevention on a usage-based endpoint),
|
|
127
|
+
* so a transient create-time failure is terminal.
|
|
128
|
+
*/
|
|
129
|
+
export declare function createExaAgentRun(apiKey: string, params: ExaAgentRunParams, deps?: ExaTransportDeps): Promise<ExaAgentRunCreateResult>;
|
|
130
|
+
/**
|
|
131
|
+
* Perform ONE GET against the Exa /agent/runs/{id} endpoint. No retry.
|
|
132
|
+
* Returns a structured poll result.
|
|
133
|
+
*
|
|
134
|
+
* **MUST send** the `Exa-Beta: agent-2026-05-07` header.
|
|
135
|
+
*
|
|
136
|
+
* Unlike other GETs, a 404 is NOT a terminal transport error here: it
|
|
137
|
+
* means the server-side run expired/disappeared, so the Adapter can
|
|
138
|
+
* delete the stale state file and create a fresh run. The poll result
|
|
139
|
+
* carries `status: "not_found"` for that case. All other non-2xx statuses
|
|
140
|
+
* throw the standard mapped error.
|
|
141
|
+
*/
|
|
142
|
+
export declare function pollExaAgentRun(apiKey: string, runId: string, deps?: ExaTransportDeps): Promise<ExaAgentRunPollResult>;
|
|
143
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/providers/exa/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAuBtD,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;CAC5B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAgID;;;;;;;;;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,CAsBlB;AAED;;;;;;;;;;;;GAYG;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;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,iBAAiB,EACzB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,uBAAuB,CAAC,CAkBlC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CA8ChC"}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exa direct HTTP transport (tech-plan §7, Transport Client).
|
|
3
|
+
*
|
|
4
|
+
* Performs direct POSTs against the Exa REST endpoints with an
|
|
5
|
+
* `Authorization: Bearer <apiKey>` header. There is NO internal retry —
|
|
6
|
+
* shared execution owns retry policy. Fetch and timer are injectable for
|
|
7
|
+
* tests.
|
|
8
|
+
*
|
|
9
|
+
* Mirrors `providers/tavily/client.ts` in structure, but Exa-specific
|
|
10
|
+
* differences:
|
|
11
|
+
* - Base URL `https://api.exa.ai`.
|
|
12
|
+
* - JSON bodies use camelCase (contrast Tavily's snake_case).
|
|
13
|
+
* - Error body is `{"error": "message"}` — a single string. HTTP-status
|
|
14
|
+
* is the sole error signal; the body is discarded at the transport
|
|
15
|
+
* boundary and never echoed outward.
|
|
16
|
+
* - HTTP 402 maps to {@link QuotaError} (Exa returns 402 for three
|
|
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
|
+
*
|
|
21
|
+
* Boundary rules (ARCHITECTURE.md §2):
|
|
22
|
+
* - May import Adapter-local config and normalized errors.
|
|
23
|
+
* - May import `ProviderQuotaFetch` from `providers/types.ts`.
|
|
24
|
+
* - Must NOT import command presentation, capability contracts, or
|
|
25
|
+
* another Provider's Adapter.
|
|
26
|
+
* - Must NOT perform response field normalization — the Adapter owns
|
|
27
|
+
* that. This module declares Provider-native request-body types
|
|
28
|
+
* only (Exa API field names); it does not import SearchControls
|
|
29
|
+
* or any capability contract.
|
|
30
|
+
*/
|
|
31
|
+
import { createRequire } from "node:module";
|
|
32
|
+
import { ApiError, AuthError, NetworkError, QuotaError, TimeoutError } from "../../lib/errors.js";
|
|
33
|
+
const require = createRequire(import.meta.url);
|
|
34
|
+
const { version: VERSION } = require("../../../package.json");
|
|
35
|
+
const BASE_URL = "https://api.exa.ai";
|
|
36
|
+
const SEARCH_PATH = "/search";
|
|
37
|
+
const CONTENTS_PATH = "/contents";
|
|
38
|
+
const AGENT_RUNS_PATH = "/agent/runs";
|
|
39
|
+
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
|
+
const USER_AGENT = `scoutline/${VERSION}`;
|
|
49
|
+
const TIMEOUT_HELP_TEXT = "Try again or increase timeout with EXA_TIMEOUT env var";
|
|
50
|
+
function resolveTimeoutMs(env) {
|
|
51
|
+
const raw = parseInt(env.EXA_TIMEOUT || String(DEFAULT_TIMEOUT_MS), 10);
|
|
52
|
+
return Number.isFinite(raw) && raw > 0 ? raw : DEFAULT_TIMEOUT_MS;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Layer 1 — HTTP-status mapping. Runs BEFORE the body is parsed; on a
|
|
56
|
+
* non-200 response we discard the body and throw a typed error.
|
|
57
|
+
*
|
|
58
|
+
* Exa uses HTTP-status exclusively. HTTP 402 maps to {@link QuotaError}
|
|
59
|
+
* — Exa returns it for three distinct exhaustion states
|
|
60
|
+
* (NO_MORE_CREDITS, API_KEY_BUDGET_EXCEEDED, TEAM_BUDGET_EXCEEDED) which
|
|
61
|
+
* are all terminal for the running operation. The 429 rate limit and any
|
|
62
|
+
* 5xx are retryable `ApiError`s; other 4xx are terminal `ApiError`s
|
|
63
|
+
* (matching `isOperationRetryableError` in execution.ts).
|
|
64
|
+
*
|
|
65
|
+
* `timeoutMs` is forwarded so 408/504 can throw `TimeoutError` carrying
|
|
66
|
+
* the configured duration (and the `EXA_TIMEOUT` help text). The
|
|
67
|
+
* transport never embeds credential material in any error message.
|
|
68
|
+
*/
|
|
69
|
+
function mapStatusError(status, timeoutMs) {
|
|
70
|
+
if (status === 401 || status === 403) {
|
|
71
|
+
return new AuthError("Exa authentication failed", "EXA_API_KEY");
|
|
72
|
+
}
|
|
73
|
+
if (status === 402) {
|
|
74
|
+
return new QuotaError("Exa quota exhausted. Top up credits on the Exa dashboard.", "Check your Exa account credits and key/team budget at dashboard.exa.ai");
|
|
75
|
+
}
|
|
76
|
+
if (status === 408 || status === 504) {
|
|
77
|
+
return new TimeoutError(timeoutMs, TIMEOUT_HELP_TEXT);
|
|
78
|
+
}
|
|
79
|
+
if (status === 429) {
|
|
80
|
+
return new ApiError("Exa rate limit exceeded", 429);
|
|
81
|
+
}
|
|
82
|
+
if (status === 400 || status === 404 || status === 410 || status === 422) {
|
|
83
|
+
return new ApiError("Exa request failed", status);
|
|
84
|
+
}
|
|
85
|
+
if (status >= 500) {
|
|
86
|
+
return new ApiError("Exa request failed", status);
|
|
87
|
+
}
|
|
88
|
+
return new ApiError("Exa request failed", status);
|
|
89
|
+
}
|
|
90
|
+
function normalizeTransportError(err, timeoutMs) {
|
|
91
|
+
if (err instanceof AuthError ||
|
|
92
|
+
err instanceof QuotaError ||
|
|
93
|
+
err instanceof ApiError ||
|
|
94
|
+
err instanceof TimeoutError) {
|
|
95
|
+
return err;
|
|
96
|
+
}
|
|
97
|
+
if (err instanceof Error) {
|
|
98
|
+
if (err.name === "AbortError") {
|
|
99
|
+
return new TimeoutError(timeoutMs, TIMEOUT_HELP_TEXT);
|
|
100
|
+
}
|
|
101
|
+
const lower = err.message.toLowerCase();
|
|
102
|
+
if (lower.includes("fetch") ||
|
|
103
|
+
lower.includes("econnrefused") ||
|
|
104
|
+
lower.includes("econnreset") ||
|
|
105
|
+
lower.includes("enotfound") ||
|
|
106
|
+
lower.includes("network")) {
|
|
107
|
+
return new NetworkError("Exa network error");
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return new ApiError("Exa request failed", 500);
|
|
111
|
+
}
|
|
112
|
+
async function postExaJson(apiKey, path, body, deps, endpointLabel, extraHeaders) {
|
|
113
|
+
const f = deps.fetch ?? fetch;
|
|
114
|
+
const setT = deps.setTimeout ?? setTimeout;
|
|
115
|
+
const clearT = deps.clearTimeout ?? clearTimeout;
|
|
116
|
+
const env = deps.env ?? process.env;
|
|
117
|
+
const timeoutMs = resolveTimeoutMs(env);
|
|
118
|
+
const url = `${BASE_URL}${path}`;
|
|
119
|
+
const controller = new AbortController();
|
|
120
|
+
const timeoutId = setT(() => controller.abort(), timeoutMs);
|
|
121
|
+
try {
|
|
122
|
+
const headers = {
|
|
123
|
+
Authorization: `Bearer ${apiKey}`,
|
|
124
|
+
"Content-Type": "application/json",
|
|
125
|
+
"User-Agent": USER_AGENT,
|
|
126
|
+
};
|
|
127
|
+
if (extraHeaders) {
|
|
128
|
+
for (const [key, value] of Object.entries(extraHeaders)) {
|
|
129
|
+
headers[key] = value;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
const res = await f(url, {
|
|
133
|
+
method: "POST",
|
|
134
|
+
headers,
|
|
135
|
+
body: JSON.stringify(body),
|
|
136
|
+
signal: controller.signal,
|
|
137
|
+
});
|
|
138
|
+
clearT(timeoutId);
|
|
139
|
+
if (!res.ok) {
|
|
140
|
+
await res.text().catch(() => { });
|
|
141
|
+
throw mapStatusError(res.status, timeoutMs);
|
|
142
|
+
}
|
|
143
|
+
let parsed;
|
|
144
|
+
try {
|
|
145
|
+
parsed = await res.json();
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
throw new ApiError(`Exa ${endpointLabel} returned a malformed response`, 500);
|
|
149
|
+
}
|
|
150
|
+
return parsed;
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
clearT(timeoutId);
|
|
154
|
+
throw normalizeTransportError(err, timeoutMs);
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
controller.abort();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Perform ONE POST against the Exa /search endpoint. No retry; no
|
|
162
|
+
* response body in public errors. Returns the parsed JSON body (raw;
|
|
163
|
+
* the Adapter post-processes into normalized search sources).
|
|
164
|
+
*
|
|
165
|
+
* `params` carries Exa-native API fields (camelCase) already mapped
|
|
166
|
+
* from `SearchControls` by the Adapter. Search always sends
|
|
167
|
+
* `contents: { highlights: true }` (token-efficient; populates
|
|
168
|
+
* `summary`). The `Exa-Beta` header is NOT sent on search calls.
|
|
169
|
+
*/
|
|
170
|
+
export async function fetchExaSearch(apiKey, query, params, deps = {}) {
|
|
171
|
+
const body = { query };
|
|
172
|
+
if (params) {
|
|
173
|
+
if (params.numResults !== undefined) {
|
|
174
|
+
body.numResults = params.numResults;
|
|
175
|
+
}
|
|
176
|
+
if (params.includeDomains !== undefined) {
|
|
177
|
+
body.includeDomains = [...params.includeDomains];
|
|
178
|
+
}
|
|
179
|
+
if (params.startPublishedDate !== undefined) {
|
|
180
|
+
body.startPublishedDate = params.startPublishedDate;
|
|
181
|
+
}
|
|
182
|
+
if (params.type !== undefined) {
|
|
183
|
+
body.type = params.type;
|
|
184
|
+
}
|
|
185
|
+
if (params.category !== undefined) {
|
|
186
|
+
body.category = params.category;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// Always request highlights — token-efficient summary source.
|
|
190
|
+
body.contents = { highlights: true };
|
|
191
|
+
return postExaJson(apiKey, SEARCH_PATH, body, deps, "search");
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Perform ONE POST against the Exa /contents endpoint. No retry; no
|
|
195
|
+
* response body in public errors. Returns the parsed JSON body (raw;
|
|
196
|
+
* the Adapter post-processes into a normalized `ReaderFetchResult`).
|
|
197
|
+
*
|
|
198
|
+
* The caller wraps a single URL as `urls: [url]`. `text: true` is
|
|
199
|
+
* always set (Exa returns text content). The `Exa-Beta` header is NOT
|
|
200
|
+
* sent on contents calls (endpoint-scoped to Agent only).
|
|
201
|
+
*
|
|
202
|
+
* `params.livecrawlTimeout` is in milliseconds. The Adapter converts
|
|
203
|
+
* from the CLI's seconds-based `--timeout` before calling; the transport
|
|
204
|
+
* does NOT re-convert.
|
|
205
|
+
*/
|
|
206
|
+
export async function fetchExaContents(apiKey, url, params, deps = {}) {
|
|
207
|
+
const body = { urls: [url], text: true };
|
|
208
|
+
if (params?.livecrawlTimeout !== undefined) {
|
|
209
|
+
body.livecrawlTimeout = params.livecrawlTimeout;
|
|
210
|
+
}
|
|
211
|
+
return postExaJson(apiKey, CONTENTS_PATH, body, deps, "contents");
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Perform ONE POST against the Exa /agent/runs endpoint. No retry; no
|
|
215
|
+
* response body in public errors. Returns the structured create result
|
|
216
|
+
* `{ id, status }`.
|
|
217
|
+
*
|
|
218
|
+
* **MUST send** the `Exa-Beta: agent-2026-05-07` header — the endpoint
|
|
219
|
+
* returns 400 without it. Shared execution wraps this with
|
|
220
|
+
* `maxRetries: 0` (double-charge prevention on a usage-based endpoint),
|
|
221
|
+
* so a transient create-time failure is terminal.
|
|
222
|
+
*/
|
|
223
|
+
export async function createExaAgentRun(apiKey, params, deps = {}) {
|
|
224
|
+
const body = { query: params.query };
|
|
225
|
+
if (params.effort !== undefined) {
|
|
226
|
+
body.effort = params.effort;
|
|
227
|
+
}
|
|
228
|
+
const raw = await postExaJson(apiKey, AGENT_RUNS_PATH, body, deps, "agent-run", {
|
|
229
|
+
"Exa-Beta": EXA_BETA_HEADER,
|
|
230
|
+
});
|
|
231
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
|
|
232
|
+
throw new ApiError("Exa agent run returned a malformed response", 500);
|
|
233
|
+
}
|
|
234
|
+
const obj = raw;
|
|
235
|
+
const id = obj.id;
|
|
236
|
+
const status = obj.status;
|
|
237
|
+
if (typeof id !== "string" || id.length === 0) {
|
|
238
|
+
throw new ApiError("Exa agent run returned a malformed response", 500);
|
|
239
|
+
}
|
|
240
|
+
return { id, status: typeof status === "string" ? status : "queued" };
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Perform ONE GET against the Exa /agent/runs/{id} endpoint. No retry.
|
|
244
|
+
* Returns a structured poll result.
|
|
245
|
+
*
|
|
246
|
+
* **MUST send** the `Exa-Beta: agent-2026-05-07` header.
|
|
247
|
+
*
|
|
248
|
+
* Unlike other GETs, a 404 is NOT a terminal transport error here: it
|
|
249
|
+
* means the server-side run expired/disappeared, so the Adapter can
|
|
250
|
+
* delete the stale state file and create a fresh run. The poll result
|
|
251
|
+
* carries `status: "not_found"` for that case. All other non-2xx statuses
|
|
252
|
+
* throw the standard mapped error.
|
|
253
|
+
*/
|
|
254
|
+
export async function pollExaAgentRun(apiKey, runId, deps = {}) {
|
|
255
|
+
const f = deps.fetch ?? fetch;
|
|
256
|
+
const setT = deps.setTimeout ?? setTimeout;
|
|
257
|
+
const clearT = deps.clearTimeout ?? clearTimeout;
|
|
258
|
+
const env = deps.env ?? process.env;
|
|
259
|
+
const timeoutMs = resolveTimeoutMs(env);
|
|
260
|
+
const url = `${BASE_URL}${AGENT_RUNS_PATH}/${encodeURIComponent(runId)}`;
|
|
261
|
+
const controller = new AbortController();
|
|
262
|
+
const timeoutId = setT(() => controller.abort(), timeoutMs);
|
|
263
|
+
try {
|
|
264
|
+
let res;
|
|
265
|
+
try {
|
|
266
|
+
res = await f(url, {
|
|
267
|
+
method: "GET",
|
|
268
|
+
headers: {
|
|
269
|
+
Authorization: `Bearer ${apiKey}`,
|
|
270
|
+
"User-Agent": USER_AGENT,
|
|
271
|
+
"Exa-Beta": EXA_BETA_HEADER,
|
|
272
|
+
},
|
|
273
|
+
signal: controller.signal,
|
|
274
|
+
});
|
|
275
|
+
clearT(timeoutId);
|
|
276
|
+
}
|
|
277
|
+
catch (err) {
|
|
278
|
+
clearT(timeoutId);
|
|
279
|
+
throw normalizeTransportError(err, timeoutMs);
|
|
280
|
+
}
|
|
281
|
+
if (res.status === 404) {
|
|
282
|
+
await res.text().catch(() => { });
|
|
283
|
+
return { status: "not_found" };
|
|
284
|
+
}
|
|
285
|
+
if (!res.ok) {
|
|
286
|
+
await res.text().catch(() => { });
|
|
287
|
+
throw mapStatusError(res.status, timeoutMs);
|
|
288
|
+
}
|
|
289
|
+
let parsed;
|
|
290
|
+
try {
|
|
291
|
+
parsed = await res.json();
|
|
292
|
+
}
|
|
293
|
+
catch {
|
|
294
|
+
throw new ApiError("Exa agent run returned a malformed response", 500);
|
|
295
|
+
}
|
|
296
|
+
return normalizeAgentRunPollResult(parsed);
|
|
297
|
+
}
|
|
298
|
+
finally {
|
|
299
|
+
controller.abort();
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Normalize a parsed poll body into an {@link ExaAgentRunPollResult}.
|
|
304
|
+
* Accepts `{ status, output? }`. Unknown/missing status maps to a
|
|
305
|
+
* malformed-response error so the Adapter never silently advances on
|
|
306
|
+
* garbage. The raw `output` is passed through for the Adapter to
|
|
307
|
+
* normalize.
|
|
308
|
+
*/
|
|
309
|
+
function normalizeAgentRunPollResult(value) {
|
|
310
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
311
|
+
throw new ApiError("Exa agent run returned a malformed response", 500);
|
|
312
|
+
}
|
|
313
|
+
const obj = value;
|
|
314
|
+
const status = obj.status;
|
|
315
|
+
if (status !== "queued" &&
|
|
316
|
+
status !== "running" &&
|
|
317
|
+
status !== "completed" &&
|
|
318
|
+
status !== "failed" &&
|
|
319
|
+
status !== "cancelled") {
|
|
320
|
+
throw new ApiError("Exa agent run returned a malformed response", 500);
|
|
321
|
+
}
|
|
322
|
+
const result = { status };
|
|
323
|
+
if (status === "completed" && obj.output !== undefined) {
|
|
324
|
+
return { status, output: obj.output };
|
|
325
|
+
}
|
|
326
|
+
return result;
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/providers/exa/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exa credential resolution (tech-plan §7, Credential Resolution).
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for the Exa API key. Whitespace-only values
|
|
5
|
+
* are treated as absent, matching the descriptor's `isConfigured`
|
|
6
|
+
* contract.
|
|
7
|
+
*
|
|
8
|
+
* Boundary rules (ARCHITECTURE.md §2):
|
|
9
|
+
* - May import the normalized-error contract only.
|
|
10
|
+
* - Must NOT import transport, command presentation, or another
|
|
11
|
+
* Provider's Adapter.
|
|
12
|
+
*
|
|
13
|
+
* Missing credentials are surfaced as {@link ConfigurationError}
|
|
14
|
+
* (exit 3), distinct from {@link AuthError} (exit 1) which means the
|
|
15
|
+
* Provider REJECTED a presented credential.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Resolve the Exa API key without throwing. Returns `undefined`
|
|
19
|
+
* when no non-blank value is present.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveExaApiKey(env: NodeJS.ProcessEnv): string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve the Exa API key or throw {@link ConfigurationError}
|
|
24
|
+
* (exit 3) when it is missing. Call this at every capability
|
|
25
|
+
* invocation gate.
|
|
26
|
+
*/
|
|
27
|
+
export declare function requireExaApiKey(env: NodeJS.ProcessEnv): string;
|
|
28
|
+
/**
|
|
29
|
+
* True when a non-blank Exa API key is configured. Metadata-only:
|
|
30
|
+
* performs no transport construction and reads no other Provider's
|
|
31
|
+
* credentials.
|
|
32
|
+
*/
|
|
33
|
+
export declare function isExaConfigured(env: NodeJS.ProcessEnv): boolean;
|
|
34
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/providers/exa/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAgBH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAM/D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAE/D"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exa credential resolution (tech-plan §7, Credential Resolution).
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for the Exa API key. Whitespace-only values
|
|
5
|
+
* are treated as absent, matching the descriptor's `isConfigured`
|
|
6
|
+
* contract.
|
|
7
|
+
*
|
|
8
|
+
* Boundary rules (ARCHITECTURE.md §2):
|
|
9
|
+
* - May import the normalized-error contract only.
|
|
10
|
+
* - Must NOT import transport, command presentation, or another
|
|
11
|
+
* Provider's Adapter.
|
|
12
|
+
*
|
|
13
|
+
* Missing credentials are surfaced as {@link ConfigurationError}
|
|
14
|
+
* (exit 3), distinct from {@link AuthError} (exit 1) which means the
|
|
15
|
+
* Provider REJECTED a presented credential.
|
|
16
|
+
*/
|
|
17
|
+
import { ConfigurationError } from "../../lib/errors.js";
|
|
18
|
+
const MISSING_KEY_HELP = 'export EXA_API_KEY="your-api-key"';
|
|
19
|
+
/**
|
|
20
|
+
* Pick a non-blank raw value from the environment. Returns the original
|
|
21
|
+
* (untrimmed) string when it contains at least one non-whitespace
|
|
22
|
+
* character, otherwise `undefined`.
|
|
23
|
+
*/
|
|
24
|
+
function pickNonBlank(raw) {
|
|
25
|
+
if (typeof raw !== "string")
|
|
26
|
+
return undefined;
|
|
27
|
+
return raw.trim().length > 0 ? raw : undefined;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Resolve the Exa API key without throwing. Returns `undefined`
|
|
31
|
+
* when no non-blank value is present.
|
|
32
|
+
*/
|
|
33
|
+
export function resolveExaApiKey(env) {
|
|
34
|
+
return pickNonBlank(env.EXA_API_KEY);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Resolve the Exa API key or throw {@link ConfigurationError}
|
|
38
|
+
* (exit 3) when it is missing. Call this at every capability
|
|
39
|
+
* invocation gate.
|
|
40
|
+
*/
|
|
41
|
+
export function requireExaApiKey(env) {
|
|
42
|
+
const key = resolveExaApiKey(env);
|
|
43
|
+
if (key === undefined) {
|
|
44
|
+
throw new ConfigurationError("EXA_API_KEY environment variable is required", MISSING_KEY_HELP);
|
|
45
|
+
}
|
|
46
|
+
return key;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* True when a non-blank Exa API key is configured. Metadata-only:
|
|
50
|
+
* performs no transport construction and reads no other Provider's
|
|
51
|
+
* credentials.
|
|
52
|
+
*/
|
|
53
|
+
export function isExaConfigured(env) {
|
|
54
|
+
return resolveExaApiKey(env) !== undefined;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/providers/exa/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;AAE7D;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAY;IAChC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAsB;IACrD,OAAO,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAsB;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAAC,8CAA8C,EAAE,gBAAgB,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAsB;IACpD,OAAO,gBAAgB,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;AAC7C,CAAC"}
|