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.
Files changed (82) hide show
  1. package/README.md +11 -3
  2. package/dist/capabilities/quota.d.ts +11 -0
  3. package/dist/capabilities/quota.d.ts.map +1 -1
  4. package/dist/capabilities/quota.js.map +1 -1
  5. package/dist/capabilities/search.d.ts +11 -1
  6. package/dist/capabilities/search.d.ts.map +1 -1
  7. package/dist/commands/crawl.js +1 -1
  8. package/dist/commands/doctor.d.ts.map +1 -1
  9. package/dist/commands/doctor.js +13 -10
  10. package/dist/commands/doctor.js.map +1 -1
  11. package/dist/commands/map.js +1 -1
  12. package/dist/commands/quota.d.ts +23 -0
  13. package/dist/commands/quota.d.ts.map +1 -1
  14. package/dist/commands/quota.js +21 -4
  15. package/dist/commands/quota.js.map +1 -1
  16. package/dist/commands/read.js +1 -1
  17. package/dist/commands/repo.js +1 -1
  18. package/dist/commands/research.js +1 -1
  19. package/dist/commands/search.d.ts +2 -1
  20. package/dist/commands/search.d.ts.map +1 -1
  21. package/dist/commands/search.js +21 -12
  22. package/dist/commands/search.js.map +1 -1
  23. package/dist/index.d.ts +7 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +35 -4
  26. package/dist/index.js.map +1 -1
  27. package/dist/lib/redact.d.ts +2 -2
  28. package/dist/lib/redact.d.ts.map +1 -1
  29. package/dist/lib/redact.js +8 -2
  30. package/dist/lib/redact.js.map +1 -1
  31. package/dist/providers/brave/adapter.d.ts +42 -0
  32. package/dist/providers/brave/adapter.d.ts.map +1 -0
  33. package/dist/providers/brave/adapter.js +504 -0
  34. package/dist/providers/brave/adapter.js.map +1 -0
  35. package/dist/providers/brave/client.d.ts +161 -0
  36. package/dist/providers/brave/client.d.ts.map +1 -0
  37. package/dist/providers/brave/client.js +297 -0
  38. package/dist/providers/brave/client.js.map +1 -0
  39. package/dist/providers/brave/credentials.d.ts +33 -0
  40. package/dist/providers/brave/credentials.d.ts.map +1 -0
  41. package/dist/providers/brave/credentials.js +55 -0
  42. package/dist/providers/brave/credentials.js.map +1 -0
  43. package/dist/providers/brave/diagnostics.d.ts +46 -0
  44. package/dist/providers/brave/diagnostics.d.ts.map +1 -0
  45. package/dist/providers/brave/diagnostics.js +76 -0
  46. package/dist/providers/brave/diagnostics.js.map +1 -0
  47. package/dist/providers/brave/quota.d.ts +86 -0
  48. package/dist/providers/brave/quota.d.ts.map +1 -0
  49. package/dist/providers/brave/quota.js +247 -0
  50. package/dist/providers/brave/quota.js.map +1 -0
  51. package/dist/providers/exa/adapter.d.ts +58 -0
  52. package/dist/providers/exa/adapter.d.ts.map +1 -0
  53. package/dist/providers/exa/adapter.js +892 -0
  54. package/dist/providers/exa/adapter.js.map +1 -0
  55. package/dist/providers/exa/client.d.ts +143 -0
  56. package/dist/providers/exa/client.d.ts.map +1 -0
  57. package/dist/providers/exa/client.js +328 -0
  58. package/dist/providers/exa/client.js.map +1 -0
  59. package/dist/providers/exa/credentials.d.ts +34 -0
  60. package/dist/providers/exa/credentials.d.ts.map +1 -0
  61. package/dist/providers/exa/credentials.js +56 -0
  62. package/dist/providers/exa/credentials.js.map +1 -0
  63. package/dist/providers/exa/diagnostics.d.ts +42 -0
  64. package/dist/providers/exa/diagnostics.d.ts.map +1 -0
  65. package/dist/providers/exa/diagnostics.js +69 -0
  66. package/dist/providers/exa/diagnostics.js.map +1 -0
  67. package/dist/providers/minimax/adapter.js +1 -1
  68. package/dist/providers/minimax/adapter.js.map +1 -1
  69. package/dist/providers/registry.d.ts.map +1 -1
  70. package/dist/providers/registry.js +4 -0
  71. package/dist/providers/registry.js.map +1 -1
  72. package/dist/providers/tavily/adapter.d.ts.map +1 -1
  73. package/dist/providers/tavily/adapter.js +5 -0
  74. package/dist/providers/tavily/adapter.js.map +1 -1
  75. package/dist/providers/types.d.ts +1 -1
  76. package/dist/providers/types.d.ts.map +1 -1
  77. package/dist/providers/types.js +1 -1
  78. package/dist/providers/types.js.map +1 -1
  79. package/dist/providers/zai/adapter.d.ts.map +1 -1
  80. package/dist/providers/zai/adapter.js +7 -1
  81. package/dist/providers/zai/adapter.js.map +1 -1
  82. 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"}