scoutline 0.14.6 → 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`). The `Exa-Beta` header is NOT sent on search calls.
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). The `Exa-Beta` header is NOT
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
- * **MUST send** the `Exa-Beta: agent-2026-05-07` header — the endpoint
131
- * returns 400 without it. Shared execution wraps this with
132
- * `maxRetries: 0` (double-charge prevention on a usage-based endpoint),
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;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;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,CAyBlB;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"}
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, extraHeaders) {
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`). The `Exa-Beta` header is NOT sent on search calls.
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). The `Exa-Beta` header is NOT
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
- * **MUST send** the `Exa-Beta: agent-2026-05-07` header — the endpoint
222
- * returns 400 without it. Shared execution wraps this with
223
- * `maxRetries: 0` (double-charge prevention on a usage-based endpoint),
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":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/providers/exa/client.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,13 @@
15
15
  * results[].url -> finalUrl
16
16
  * Request: advanced_settings.full_content = true (8P.2)
17
17
  *
18
+ * Research (Task / Deep Research API — 8P.1):
19
+ * POST /v1/tasks/runs → create async task run (pro/ultra processor)
20
+ * GET /v1/tasks/runs/{id}/result → long-poll until terminal
21
+ * output.content -> report (markdown report string)
22
+ * output.basis[].citations -> sources (flattened + deduplicated by URL)
23
+ * run.processor -> model (echoed)
24
+ *
18
25
  * Control mapping (SearchControls → Parallel-native API params):
19
26
  * topic -> appended to query string (Parallel has no native topic field)
20
27
  * type -> REJECTED (UnsupportedOptionError)
@@ -22,15 +29,34 @@
22
29
  * recency -> advanced_settings.source_policy.after_date (RFC 3339) (8P.3)
23
30
  * location -> advanced_settings.location (8P.3; only "us" accepted)
24
31
  * contentSize -> advanced_settings.excerpt_settings.max_chars_per_result (8P.3)
32
+ *
33
+ * Control mapping (ResearchRequest → Parallel Task API params):
34
+ * model -> processor (mini→pro-fast, pro→ultra, auto→pro)
35
+ * domain -> source_policy.include_domains
36
+ * outputLength -> task_spec.output_schema.description (length steering)
37
+ * citationFormat -> task_spec.output_schema.description (format steering)
25
38
  */
26
39
  import type { ProviderAdapter, ProviderContext, ProviderDescriptor, ProviderId } from "../types.js";
27
40
  import type { SearchCapability } from "../../capabilities/search.js";
28
41
  import type { ResearchCapability } from "../../capabilities/research.js";
29
42
  import type { ReaderCapability } from "../../capabilities/reader.js";
30
43
  import type { DiagnosticsCapability } from "../../capabilities/diagnostics.js";
44
+ import type { AsyncJobStateFile } from "../../lib/async-job-state.js";
31
45
  import { type ParallelTransportDeps } from "./client.js";
32
46
  export interface ParallelAdapterDependencies {
33
47
  readonly transport?: ParallelTransportDeps;
48
+ /**
49
+ * Optional Research state-file port (8P.1). Production defaults to the
50
+ * on-disk implementation under `~/.scoutline/research/`; tests inject
51
+ * in-memory doubles to exercise the lifecycle deterministically.
52
+ */
53
+ readonly researchStateFile?: AsyncJobStateFile;
54
+ /**
55
+ * Disk dir for the research create-lock (Cubic P1); defaults to
56
+ * `asyncJobStateDir("research")`. When undefined (in-memory test
57
+ * mode), the lock is a no-op.
58
+ */
59
+ readonly researchStateDir?: string;
34
60
  }
35
61
  export declare class ParallelAdapter implements ProviderAdapter {
36
62
  private readonly context;
@@ -41,5 +67,5 @@ export declare class ParallelAdapter implements ProviderAdapter {
41
67
  readonly diagnostics: DiagnosticsCapability;
42
68
  constructor(context: ProviderContext, deps?: ParallelAdapterDependencies);
43
69
  }
44
- export declare function createParallelDescriptor(): ProviderDescriptor;
70
+ export declare function createParallelDescriptor(dependencies?: ParallelAdapterDependencies): ProviderDescriptor;
45
71
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/providers/parallel/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EACV,eAAe,EAEf,eAAe,EACf,kBAAkB,EAClB,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAEV,gBAAgB,EAGjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAc/E,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAmDrB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC;CAC5C;AAoHD,qBAAa,eAAgB,YAAW,eAAe;IAQnD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAc;IACrC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAE5C,YACmB,OAAO,EAAE,eAAe,EACzC,IAAI,GAAE,2BAAgC,EAyOvC;CACF;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAU7D"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/providers/parallel/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAKH,OAAO,KAAK,EACV,eAAe,EAEf,eAAe,EACf,kBAAkB,EAClB,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAEV,gBAAgB,EAGjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAmBtE,OAAO,EAQL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAmDrB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAySD,qBAAa,eAAgB,YAAW,eAAe;IAQnD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAc;IACrC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAE5C,YACmB,OAAO,EAAE,eAAe,EACzC,IAAI,GAAE,2BAAgC,EA6TvC;CACF;AAwDD,wBAAgB,wBAAwB,CACtC,YAAY,CAAC,EAAE,2BAA2B,GACzC,kBAAkB,CAepB"}
@@ -15,6 +15,13 @@
15
15
  * results[].url -> finalUrl
16
16
  * Request: advanced_settings.full_content = true (8P.2)
17
17
  *
18
+ * Research (Task / Deep Research API — 8P.1):
19
+ * POST /v1/tasks/runs → create async task run (pro/ultra processor)
20
+ * GET /v1/tasks/runs/{id}/result → long-poll until terminal
21
+ * output.content -> report (markdown report string)
22
+ * output.basis[].citations -> sources (flattened + deduplicated by URL)
23
+ * run.processor -> model (echoed)
24
+ *
18
25
  * Control mapping (SearchControls → Parallel-native API params):
19
26
  * topic -> appended to query string (Parallel has no native topic field)
20
27
  * type -> REJECTED (UnsupportedOptionError)
@@ -22,15 +29,25 @@
22
29
  * recency -> advanced_settings.source_policy.after_date (RFC 3339) (8P.3)
23
30
  * location -> advanced_settings.location (8P.3; only "us" accepted)
24
31
  * contentSize -> advanced_settings.excerpt_settings.max_chars_per_result (8P.3)
32
+ *
33
+ * Control mapping (ResearchRequest → Parallel Task API params):
34
+ * model -> processor (mini→pro-fast, pro→ultra, auto→pro)
35
+ * domain -> source_policy.include_domains
36
+ * outputLength -> task_spec.output_schema.description (length steering)
37
+ * citationFormat -> task_spec.output_schema.description (format steering)
25
38
  */
26
39
  import crypto from "node:crypto";
40
+ import * as fs from "node:fs/promises";
41
+ import path from "node:path";
27
42
  import { decodeResearchResult } from "../../capabilities/research.js";
28
43
  import { decodeReaderFetchResult } from "../../capabilities/reader.js";
44
+ import { computeAsyncJobStateHash, createProductionAsyncJobStateFile, } from "../../lib/async-job-state.js";
45
+ import { asyncJobStateDir } from "../../lib/cache.js";
29
46
  import { ApiError, AuthError, ConfigurationError, NetworkError, QuotaError, TimeoutError, UnsupportedOptionError, ValidationError, } from "../../lib/errors.js";
30
47
  import { requireParallelApiKey, isParallelConfigured } from "./credentials.js";
31
48
  import { applySearchTopic } from "../../lib/search-topic.js";
32
49
  import { validateDomain } from "../../lib/domain-validation.js";
33
- import { fetchParallelSearch, fetchParallelExtract, } from "./client.js";
50
+ import { fetchParallelSearch, fetchParallelExtract, createParallelTaskRun, retrieveParallelTaskRunResult, } from "./client.js";
34
51
  import { createParallelDiagnosticsCapability } from "./diagnostics.js";
35
52
  function credentialFingerprint(apiKey) {
36
53
  return crypto.createHash("sha256").update(apiKey).digest("hex");
@@ -176,6 +193,165 @@ function mapSearchControlsToParams(controls, now = new Date()) {
176
193
  ...(Object.keys(advancedSettings).length > 0 ? { advanced_settings: advancedSettings } : {}),
177
194
  };
178
195
  }
196
+ // ---------------------------------------------------------------------------
197
+ // Research control mapping (ResearchRequest → Task API params) (8P.1)
198
+ // ---------------------------------------------------------------------------
199
+ /**
200
+ * Maximum input length for the Task API's `input` field. Parallel
201
+ * documents this as 15,000 characters for Deep Research.
202
+ */
203
+ const PARALLEL_MAX_TASK_INPUT_LENGTH = 15000;
204
+ /**
205
+ * Map a provider-neutral research model to a Parallel processor tier.
206
+ *
207
+ * mini → pro-fast (cheapest/fastest deep research tier)
208
+ * pro → ultra (deepest, most capable — scoutline "pro" = deepest)
209
+ * auto → pro (standard deep research processor, the default)
210
+ */
211
+ function modelToProcessor(model) {
212
+ switch (model) {
213
+ case "mini":
214
+ return "pro-fast";
215
+ case "pro":
216
+ return "ultra";
217
+ case "auto":
218
+ case undefined:
219
+ return "pro";
220
+ default:
221
+ return "pro";
222
+ }
223
+ }
224
+ /**
225
+ * Map a provider-neutral `ResearchRequest` into Parallel-native Task API
226
+ * params (processor, source_policy, task_spec).
227
+ *
228
+ * model -> processor (via {@link modelToProcessor})
229
+ * domain -> source_policy.include_domains
230
+ * outputLength -> task_spec.output_schema.description (length steering)
231
+ * citationFormat -> task_spec.output_schema.description (format steering)
232
+ *
233
+ * The output_schema description is documented by Parallel as giving
234
+ * "control over the length or the content" of the report.
235
+ */
236
+ function mapResearchControlsToTaskParams(request) {
237
+ const processor = modelToProcessor(request.model);
238
+ const params = {
239
+ processor,
240
+ task_spec: { output_schema: { type: "text" } },
241
+ };
242
+ if (request.domain) {
243
+ params.source_policy = { include_domains: [request.domain] };
244
+ }
245
+ // Fold outputLength and citationFormat into the output_schema
246
+ // description — Parallel documents this as the steering mechanism for
247
+ // report length and content.
248
+ const descParts = [];
249
+ if (request.outputLength === "short") {
250
+ descParts.push("Keep the report concise and brief.");
251
+ }
252
+ else if (request.outputLength === "long") {
253
+ descParts.push("Write a comprehensive, detailed report.");
254
+ }
255
+ if (request.citationFormat && request.citationFormat !== "numbered") {
256
+ descParts.push(`Use ${request.citationFormat.toUpperCase()} citation format.`);
257
+ }
258
+ if (descParts.length > 0) {
259
+ params.task_spec = {
260
+ output_schema: { type: "text", description: descParts.join(" ") },
261
+ };
262
+ }
263
+ return params;
264
+ }
265
+ /**
266
+ * Normalize a completed Parallel Task run result into a provider-neutral
267
+ * `ResearchResult`.
268
+ *
269
+ * output.content → report
270
+ * output.basis[].citations → sources (flattened + deduplicated by URL)
271
+ * run.processor → model (echoed, falling back to the requested processor)
272
+ */
273
+ function normalizeParallelResearchResult(result, request) {
274
+ // Deduplicate citations by URL, preserving first-seen order.
275
+ const seen = new Set();
276
+ const sources = [];
277
+ if (result.citations) {
278
+ for (const citation of result.citations) {
279
+ if (citation.url && !seen.has(citation.url)) {
280
+ seen.add(citation.url);
281
+ sources.push({
282
+ title: citation.title || "Untitled",
283
+ url: citation.url,
284
+ });
285
+ }
286
+ }
287
+ }
288
+ return {
289
+ schemaVersion: 1,
290
+ query: request.query,
291
+ model: result.processor ?? modelToProcessor(request.model),
292
+ report: result.content ?? "",
293
+ sources,
294
+ };
295
+ }
296
+ function isEexistError(err) {
297
+ return (typeof err === "object" &&
298
+ err !== null &&
299
+ "code" in err &&
300
+ err.code === "EEXIST");
301
+ }
302
+ // ---------------------------------------------------------------------------
303
+ // Concurrent-create lock (cost-safety — Cubic P1)
304
+ // ---------------------------------------------------------------------------
305
+ /** How long to wait for a contended research create-lock before giving up. */
306
+ const RESEARCH_LOCK_TIMEOUT_MS = 30000;
307
+ /** A lock older than this is treated as stale (holder died) and broken. */
308
+ const RESEARCH_LOCK_STALE_MS = 10 * 60 * 1000;
309
+ /**
310
+ * Serialize the create→persist critical section per request so two
311
+ * concurrent identical research invocations can't both POST (and charge)
312
+ * a task — the second waits, then re-reads the state file and finds the
313
+ * first's persisted `run_id` instead of re-POSTing. Uses an exclusive
314
+ * `wx`-create lockfile sibling to the state file; a stale lock (holder
315
+ * crashed) is broken after {@link RESEARCH_LOCK_STALE_MS}.
316
+ *
317
+ * Mirrors Firecrawl's `withCrawlLock` pattern. When `stateDir` is
318
+ * undefined (in-memory test mode), the lock is a no-op.
319
+ */
320
+ async function withResearchLock(stateDir, identityHash, fn, deps) {
321
+ if (stateDir === undefined)
322
+ return fn();
323
+ const setT = deps?.setTimeout ?? setTimeout;
324
+ const sleep = (ms) => new Promise((r) => setT(() => r(), ms));
325
+ await fs.mkdir(stateDir, { recursive: true }).catch(() => { });
326
+ const lockPath = path.join(stateDir, `${identityHash}.lock`);
327
+ const deadline = Date.now() + RESEARCH_LOCK_TIMEOUT_MS;
328
+ for (;;) {
329
+ try {
330
+ const handle = await fs.open(lockPath, "wx");
331
+ try {
332
+ return await fn();
333
+ }
334
+ finally {
335
+ await handle.close().catch(() => { });
336
+ await fs.unlink(lockPath).catch(() => { });
337
+ }
338
+ }
339
+ catch (err) {
340
+ if (!isEexistError(err))
341
+ throw err;
342
+ if (Date.now() > deadline) {
343
+ throw new ApiError("Parallel AI research create-lock timed out", 500);
344
+ }
345
+ // Break a stale lock (the holder died without releasing).
346
+ const stat = await fs.stat(lockPath).catch(() => null);
347
+ if (stat && Date.now() - stat.mtimeMs > RESEARCH_LOCK_STALE_MS) {
348
+ await fs.unlink(lockPath).catch(() => { });
349
+ continue;
350
+ }
351
+ await sleep(500);
352
+ }
353
+ }
354
+ }
179
355
  export class ParallelAdapter {
180
356
  context;
181
357
  id = "parallel";
@@ -187,6 +363,8 @@ export class ParallelAdapter {
187
363
  this.context = context;
188
364
  const transport = deps.transport;
189
365
  const env = context.env;
366
+ const researchStateFile = deps.researchStateFile ?? createProductionAsyncJobStateFile(asyncJobStateDir("research"));
367
+ const researchStateDir = deps.researchStateDir ?? asyncJobStateDir("research");
190
368
  this.search = {
191
369
  validate(request) {
192
370
  if (!request.query || request.query.trim().length === 0) {
@@ -257,17 +435,16 @@ export class ParallelAdapter {
257
435
  if (!request.query || request.query.trim().length === 0) {
258
436
  throw new ValidationError("Research query must not be empty");
259
437
  }
260
- // Research also sends queries via search_queries enforce the
261
- // same 200-char per-query limit (8P.4, Cubic P2). Count Unicode
262
- // code points for consistency with the search check.
263
- const researchQuery = request.query.trim();
264
- if (exceedsCodePointLimit(researchQuery, PARALLEL_MAX_QUERY_LENGTH)) {
265
- throw new ValidationError(`Parallel AI research query exceeds the ${PARALLEL_MAX_QUERY_LENGTH}-character limit`);
438
+ // The Task API's `input` field accepts up to 15,000 characters
439
+ // (documented). This replaces the old 200-char search-query
440
+ // limit that applied when research was a search alias (8P.1).
441
+ const researchInput = request.query.trim();
442
+ if (exceedsCodePointLimit(researchInput, PARALLEL_MAX_TASK_INPUT_LENGTH)) {
443
+ throw new ValidationError(`Parallel AI research input exceeds the ${PARALLEL_MAX_TASK_INPUT_LENGTH}-character limit`);
266
444
  }
267
- for (const option of ["model", "outputLength", "citationFormat", "domain"]) {
268
- if (request[option] !== undefined) {
269
- throw new UnsupportedOptionError("parallel", "research", option);
270
- }
445
+ // Validate domain syntax (same as search).
446
+ if (request.domain !== undefined) {
447
+ validateDomain(request.domain);
271
448
  }
272
449
  },
273
450
  cacheIdentity(request) {
@@ -286,30 +463,87 @@ export class ParallelAdapter {
286
463
  if (signal?.aborted)
287
464
  throw new TimeoutError(0, "Research aborted before start");
288
465
  const apiKey = requireParallelApiKey(env);
289
- const query = request.query.trim();
466
+ const taskParams = mapResearchControlsToTaskParams(request);
467
+ const credFingerprint = credentialFingerprint(apiKey);
468
+ const identityHash = computeAsyncJobStateHash({
469
+ provider: "parallel",
470
+ capability: "research",
471
+ credentialFingerprint: credFingerprint,
472
+ request,
473
+ });
290
474
  try {
291
- const response = await fetchParallelSearch(apiKey, query, { objective: "deep-research" }, transport, signal);
292
- const results = response.results || [];
293
- // Parallel AI does not return a synthesized report field.
294
- // Build the report from the excerpts of all results.
295
- const report = results.length > 0
296
- ? results
297
- .map((r) => r.excerpts?.join("\n"))
298
- .filter((text) => typeof text === "string" && text.length > 0)
299
- .join("\n\n")
300
- : "No research findings available.";
301
- return {
302
- schemaVersion: 1,
303
- query,
304
- model: "auto",
305
- report,
306
- sources: results
307
- .filter((r) => r.url)
308
- .map((r) => ({
309
- title: r.title || "Untitled",
310
- url: r.url,
311
- })),
312
- };
475
+ // 1. Check for an in-flight task (resume after Ctrl-C / crash).
476
+ // A valid state file means a task was already created
477
+ // server-side poll it instead of creating a second one
478
+ // (double-charge prevention).
479
+ const existingState = await researchStateFile.read(identityHash);
480
+ let runId;
481
+ if (existingState !== null) {
482
+ runId = existingState.requestId;
483
+ }
484
+ else {
485
+ // 2. No in-flight task: create under a lock so concurrent
486
+ // identical invocations serialize. The second caller
487
+ // waits, then re-reads the state file and finds the
488
+ // first's persisted run_id instead of creating (and
489
+ // billing) a second task (Cubic P1).
490
+ runId = await withResearchLock(researchStateDir, identityHash, async () => {
491
+ // Re-check under the lock — another caller may have
492
+ // created and persisted while we waited to acquire.
493
+ const state = await researchStateFile.read(identityHash);
494
+ if (state !== null) {
495
+ return state.requestId;
496
+ }
497
+ // No existing task: POST to create one. NO retry — a
498
+ // transient POST failure is terminal (the user re-runs);
499
+ // retrying risks a double-charge if the POST succeeded
500
+ // server-side but the response was lost.
501
+ return createParallelResearchTask(apiKey, request, taskParams, identityHash, researchStateFile, transport, signal);
502
+ }, transport);
503
+ }
504
+ // 3. Poll loop — the /result endpoint is a server-side
505
+ // long-poll (blocks up to 60s, then returns 408 if still
506
+ // active). No client-side sleep is needed between polls;
507
+ // the server IS the wait. A setImmediate yield between
508
+ // iterations lets signal handlers fire.
509
+ let recreatedAfterNotFound = false;
510
+ for (;;) {
511
+ if (signal?.aborted) {
512
+ throw new TimeoutError(0, "Research polling aborted");
513
+ }
514
+ const result = await retrieveParallelTaskRunResult(apiKey, runId, transport, signal);
515
+ if (result.status === "completed") {
516
+ // Best-effort cleanup — a filesystem error here must
517
+ // not discard a successfully completed paid report.
518
+ await researchStateFile.remove(identityHash).catch(() => { });
519
+ return normalizeParallelResearchResult(result, request);
520
+ }
521
+ if (result.status === "failed") {
522
+ await researchStateFile.remove(identityHash).catch(() => { });
523
+ // Note: normalizeParallelError sanitizes this to a constant
524
+ // message at the adapter boundary (NFR-006). The provider's
525
+ // raw error message never reaches the user by design.
526
+ throw new ApiError("Parallel AI research task failed", 500);
527
+ }
528
+ if (result.status === "not_found") {
529
+ // 404 — the server-side task expired/disappeared.
530
+ // Allow at most ONE recreation; a second 404 means the
531
+ // freshly created task also failed to register, so we
532
+ // terminate rather than risk unbounded paid creations.
533
+ if (recreatedAfterNotFound) {
534
+ await researchStateFile.remove(identityHash).catch(() => { });
535
+ throw new ApiError("Parallel AI research task not found after creation", 500);
536
+ }
537
+ recreatedAfterNotFound = true;
538
+ await researchStateFile.remove(identityHash).catch(() => { });
539
+ runId = await createParallelResearchTask(apiKey, request, taskParams, identityHash, researchStateFile, transport, signal);
540
+ continue;
541
+ }
542
+ // running (408 or non-terminal 200): yield to the event
543
+ // loop so signal handlers can fire, then re-poll. The
544
+ // server already waited RESULT_POLL_SERVER_TIMEOUT_S.
545
+ await new Promise((resolve) => setImmediate(resolve));
546
+ }
313
547
  }
314
548
  catch (error) {
315
549
  throw normalizeParallelError(error);
@@ -386,7 +620,50 @@ export class ParallelAdapter {
386
620
  this.diagnostics = createParallelDiagnosticsCapability({ env, transport });
387
621
  }
388
622
  }
389
- export function createParallelDescriptor() {
623
+ /**
624
+ * POST /v1/tasks/runs to create a Deep Research task, then persist its
625
+ * runId in the state file atomically. On EEXIST (a concurrent invocation
626
+ * already created a task for this request), read the existing state file
627
+ * and return its runId instead — the concurrent task is polled, not
628
+ * duplicated. Mirrors Tavily's `createResearchTask` pattern.
629
+ */
630
+ async function createParallelResearchTask(apiKey, request, taskParams, identityHash, stateFile, transport, signal) {
631
+ const created = await createParallelTaskRun(apiKey, request.query.trim(), taskParams, transport, signal);
632
+ const runId = created.runId;
633
+ const state = {
634
+ requestId: runId,
635
+ identityHash,
636
+ createdAt: new Date().toISOString(),
637
+ status: "pending",
638
+ };
639
+ try {
640
+ await stateFile.write(identityHash, state);
641
+ }
642
+ catch (err) {
643
+ if (isEexistError(err)) {
644
+ // Concurrent invocation won the race — poll its task instead.
645
+ const existing = await stateFile.read(identityHash);
646
+ if (existing !== null) {
647
+ return existing.requestId;
648
+ }
649
+ // The existing file was corrupt (read returned null after deleting
650
+ // it). Fall through and poll the task we just created — it is
651
+ // valid server-side even if we cannot persist it.
652
+ }
653
+ else {
654
+ // Non-EEXIST error (disk full, permissions). The task was created
655
+ // server-side — degrade to non-resumable mode rather than
656
+ // abandoning a paid task. The current invocation will still poll
657
+ // and retrieve the result; only resume-after-interrupt is lost.
658
+ // Intentionally swallow — the run_id is valid server-side.
659
+ }
660
+ }
661
+ return runId;
662
+ }
663
+ export function createParallelDescriptor(dependencies) {
664
+ const transport = dependencies?.transport;
665
+ const researchStateDir = dependencies?.researchStateDir ?? asyncJobStateDir("research");
666
+ const researchStateFile = dependencies?.researchStateFile ?? createProductionAsyncJobStateFile(researchStateDir);
390
667
  return {
391
668
  id: "parallel",
392
669
  credentialEnvVars: ["PARALLEL_API_KEY"],
@@ -394,7 +671,7 @@ export function createParallelDescriptor() {
394
671
  capabilities() {
395
672
  return new Set(["search", "research", "reader", "diagnostics"]);
396
673
  },
397
- create: (context) => new ParallelAdapter(context),
674
+ create: (context) => new ParallelAdapter(context, { transport, researchStateFile, researchStateDir }),
398
675
  };
399
676
  }
400
677
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/providers/parallel/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/providers/parallel/adapter.ts"],"names":[],"mappings":"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"}
@@ -58,4 +58,76 @@ export interface ParallelExtractResponse {
58
58
  readonly errors?: readonly ParallelExtractErrorEntry[];
59
59
  }
60
60
  export declare function fetchParallelExtract(apiKey: string, targetUrl: string, deps?: ParallelTransportDeps): Promise<ParallelExtractResponse>;
61
+ /**
62
+ * Provider-native Task API request fields (Parallel field names). The
63
+ * Adapter maps the provider-neutral `ResearchRequest` into these before
64
+ * calling {@link createParallelTaskRun}.
65
+ */
66
+ export interface ParallelTaskParams {
67
+ /** Processor tier: pro, ultra, pro-fast, ultra-fast. */
68
+ readonly processor: string;
69
+ /** Restrict research to specific domains. */
70
+ readonly source_policy?: {
71
+ readonly include_domains?: readonly string[];
72
+ readonly exclude_domains?: readonly string[];
73
+ readonly after_date?: string;
74
+ };
75
+ /** Geo-targeted search results (ISO 3166-1 alpha-2). */
76
+ readonly advanced_settings?: {
77
+ readonly location?: string;
78
+ };
79
+ /** Output schema — text mode produces a markdown report. */
80
+ readonly task_spec?: {
81
+ readonly output_schema: {
82
+ readonly type: "text";
83
+ readonly description?: string;
84
+ };
85
+ };
86
+ }
87
+ /** Structured result of POST /v1/tasks/runs (HTTP 202). */
88
+ export interface ParallelTaskRunCreateResult {
89
+ readonly runId: string;
90
+ readonly status: string;
91
+ }
92
+ /** A single citation from the research basis. */
93
+ export interface ParallelTaskCitation {
94
+ readonly title?: string;
95
+ readonly url: string;
96
+ readonly excerpts?: readonly string[];
97
+ }
98
+ /**
99
+ * Structured result of GET /v1/tasks/runs/{run_id}/result. `status:
100
+ * "running"` covers both the explicit 408 (server long-poll timed out)
101
+ * and a 200 whose `run.status` is not yet terminal. `status:
102
+ * "not_found"` covers HTTP 404 (run failed or run_id expired).
103
+ */
104
+ export interface ParallelTaskRunResult {
105
+ readonly status: "completed" | "running" | "failed" | "not_found";
106
+ readonly content?: string;
107
+ readonly citations?: readonly ParallelTaskCitation[];
108
+ readonly processor?: string;
109
+ readonly errorMessage?: string;
110
+ }
111
+ /**
112
+ * Perform ONE POST against the Parallel /v1/tasks/runs endpoint to start
113
+ * a Deep Research task run. No retry — a transient POST failure is
114
+ * terminal (the user re-runs); retrying risks a double-charge if the
115
+ * POST succeeded server-side but the response was lost. Returns the
116
+ * structured create result `{ runId, status }`.
117
+ */
118
+ export declare function createParallelTaskRun(apiKey: string, input: string, params: ParallelTaskParams, deps?: ParallelTransportDeps, externalSignal?: AbortSignal): Promise<ParallelTaskRunCreateResult>;
119
+ /**
120
+ * Perform ONE GET against the Parallel /v1/tasks/runs/{run_id}/result
121
+ * endpoint. This is a server-side long-poll: the server blocks up to
122
+ * `RESULT_POLL_SERVER_TIMEOUT_S` seconds, then returns 408 if the run is
123
+ * still active. On 200, the response includes `run.status` and (if
124
+ * completed) `output.content` + `output.basis`. On 404, the run failed
125
+ * or the run_id expired.
126
+ *
127
+ * The client-side AbortController timeout is set to
128
+ * `max(PARALLEL_TIMEOUT, (server_timeout + 30)s)` so the server's 408
129
+ * arrives before our timeout fires. The external signal (from the
130
+ * command handler's `--timeout`) can abort at any time.
131
+ */
132
+ export declare function retrieveParallelTaskRunResult(apiKey: string, runId: string, deps?: ParallelTransportDeps, externalSignal?: AbortSignal): Promise<ParallelTaskRunResult>;
61
133
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/providers/parallel/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAU9D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC,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,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE;YACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;YAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;SAC9B,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;SACxC,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAmCD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,oBAAyB,EACjC,IAAI,GAAE,qBAA0B,EAChC,cAAc,CAAC,EAAE,WAAW,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CA4DjC;AAMD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;CACxD;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,uBAAuB,CAAC,CAqDlC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/providers/parallel/client.ts"],"names":[],"mappings":"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"}
@@ -144,4 +144,270 @@ export async function fetchParallelExtract(apiKey, targetUrl, deps = {}) {
144
144
  clearTimer(timer);
145
145
  }
146
146
  }
147
+ /**
148
+ * Server-side long-poll window (seconds) for GET /result. The server
149
+ * blocks up to this many seconds before returning 408 (still active).
150
+ * 60 seconds balances responsiveness (a completed run returns ASAP) with
151
+ * HTTP overhead (one request per minute while waiting, not per second).
152
+ */
153
+ const RESULT_POLL_SERVER_TIMEOUT_S = 60;
154
+ function isRecord(value) {
155
+ return typeof value === "object" && value !== null && !Array.isArray(value);
156
+ }
157
+ /**
158
+ * Perform ONE POST against the Parallel /v1/tasks/runs endpoint to start
159
+ * a Deep Research task run. No retry — a transient POST failure is
160
+ * terminal (the user re-runs); retrying risks a double-charge if the
161
+ * POST succeeded server-side but the response was lost. Returns the
162
+ * structured create result `{ runId, status }`.
163
+ */
164
+ export async function createParallelTaskRun(apiKey, input, params, deps = {}, externalSignal) {
165
+ const fetchFn = deps.fetch || globalThis.fetch;
166
+ const setTimer = deps.setTimeout || globalThis.setTimeout;
167
+ const clearTimer = deps.clearTimeout || globalThis.clearTimeout;
168
+ const env = deps.env || process.env;
169
+ const timeoutMs = resolveTimeoutMs(env);
170
+ const url = `${BASE_URL}/v1/tasks/runs`;
171
+ const body = {
172
+ input,
173
+ processor: params.processor,
174
+ task_spec: params.task_spec ?? { output_schema: { type: "text" } },
175
+ };
176
+ if (params.source_policy) {
177
+ body.source_policy = params.source_policy;
178
+ }
179
+ if (params.advanced_settings) {
180
+ body.advanced_settings = params.advanced_settings;
181
+ }
182
+ const controller = new AbortController();
183
+ const onExternalAbort = () => controller.abort();
184
+ if (externalSignal?.aborted)
185
+ controller.abort();
186
+ externalSignal?.addEventListener("abort", onExternalAbort, { once: true });
187
+ const timer = setTimer(() => controller.abort(), timeoutMs);
188
+ try {
189
+ const response = await fetchFn(url, {
190
+ method: "POST",
191
+ headers: {
192
+ "Content-Type": "application/json",
193
+ "x-api-key": apiKey,
194
+ "User-Agent": USER_AGENT,
195
+ },
196
+ body: JSON.stringify(body),
197
+ signal: controller.signal,
198
+ });
199
+ if (!response.ok) {
200
+ throw mapStatusError(response.status, timeoutMs);
201
+ }
202
+ const text = await response.text();
203
+ const parsed = JSON.parse(text);
204
+ if (!isRecord(parsed)) {
205
+ throw new ApiError("Parallel AI task run creation returned a malformed response", 500);
206
+ }
207
+ const runId = parsed.run_id;
208
+ if (typeof runId !== "string" || runId.length === 0) {
209
+ throw new ApiError("Parallel AI task run creation returned a malformed response", 500);
210
+ }
211
+ return {
212
+ runId,
213
+ status: typeof parsed.status === "string" ? parsed.status : "queued",
214
+ };
215
+ }
216
+ catch (err) {
217
+ if (err instanceof AuthError ||
218
+ err instanceof ApiError ||
219
+ err instanceof QuotaError ||
220
+ err instanceof TimeoutError ||
221
+ err instanceof ValidationError) {
222
+ throw err;
223
+ }
224
+ if (err instanceof SyntaxError) {
225
+ throw new ApiError("Parallel AI returned a malformed JSON response", 500);
226
+ }
227
+ if (err instanceof Error && err.name === "AbortError") {
228
+ if (externalSignal?.aborted) {
229
+ throw new TimeoutError(0, "Research aborted");
230
+ }
231
+ throw new TimeoutError(timeoutMs, TIMEOUT_HELP_TEXT);
232
+ }
233
+ throw new NetworkError(`Parallel AI task run creation failed: ${err instanceof Error ? err.message : String(err)}`);
234
+ }
235
+ finally {
236
+ externalSignal?.removeEventListener("abort", onExternalAbort);
237
+ clearTimer(timer);
238
+ }
239
+ }
240
+ /**
241
+ * Flatten `output.basis[].citations[]` into a single citation array.
242
+ * Handles both the standard FieldBasis shape (each item has a
243
+ * `citations` array) and a potential flat-citation shape (items are
244
+ * citations directly, as described for text-mode basis).
245
+ */
246
+ function extractCitationsFromBasis(basis) {
247
+ if (!Array.isArray(basis))
248
+ return [];
249
+ const citations = [];
250
+ for (const item of basis) {
251
+ if (!isRecord(item))
252
+ continue;
253
+ const nested = item.citations;
254
+ if (Array.isArray(nested)) {
255
+ // FieldBasis shape: { field, citations: [...], reasoning, confidence }
256
+ for (const c of nested) {
257
+ if (isRecord(c) && typeof c.url === "string") {
258
+ citations.push({
259
+ ...(typeof c.title === "string" ? { title: c.title } : {}),
260
+ url: c.url,
261
+ ...(Array.isArray(c.excerpts) ? { excerpts: c.excerpts } : {}),
262
+ });
263
+ }
264
+ }
265
+ }
266
+ else if (typeof item.url === "string") {
267
+ // Flat citation shape (text-mode basis)
268
+ citations.push({
269
+ ...(typeof item.title === "string" ? { title: item.title } : {}),
270
+ url: item.url,
271
+ });
272
+ }
273
+ }
274
+ return citations;
275
+ }
276
+ /**
277
+ * Normalize a parsed /result response body into a
278
+ * {@link ParallelTaskRunResult}. Maps `run.status` to the lifecycle
279
+ * status, extracts `output.content` and flattens `output.basis`
280
+ * citations. Any malformed shape is a retryable `ApiError` 500.
281
+ */
282
+ function normalizeTaskRunResult(parsed) {
283
+ if (!isRecord(parsed)) {
284
+ throw new ApiError("Parallel AI task result returned a malformed response", 500);
285
+ }
286
+ const run = parsed.run;
287
+ const output = parsed.output;
288
+ if (!isRecord(run)) {
289
+ throw new ApiError("Parallel AI task result returned a malformed response", 500);
290
+ }
291
+ const runStatus = run.status;
292
+ if (runStatus === "failed" || runStatus === "cancelled") {
293
+ // "failed" and "cancelled" are terminal non-success states. Map
294
+ // both to "failed" so the poll loop stops and cleans up.
295
+ const error = run.error;
296
+ const errorMessage = isRecord(error) && typeof error.message === "string" ? error.message : undefined;
297
+ return {
298
+ status: "failed",
299
+ ...(errorMessage ? { errorMessage } : {}),
300
+ };
301
+ }
302
+ if (runStatus === "completed") {
303
+ // Completed — extract output.content and output.basis citations.
304
+ }
305
+ else if (runStatus === "queued" ||
306
+ runStatus === "running" ||
307
+ runStatus === "action_required" ||
308
+ runStatus === "cancelling") {
309
+ // Non-terminal — poll again.
310
+ return { status: "running" };
311
+ }
312
+ else {
313
+ // Unknown status — treat as malformed so the poll loop doesn't
314
+ // spin forever on an unrecognized terminal state.
315
+ throw new ApiError("Parallel AI task result returned a malformed response", 500);
316
+ }
317
+ // Completed — extract output.content and output.basis citations.
318
+ if (!isRecord(output)) {
319
+ throw new ApiError("Parallel AI task result returned a malformed response", 500);
320
+ }
321
+ const content = output.content;
322
+ if (typeof content !== "string") {
323
+ throw new ApiError("Parallel AI task result returned a malformed response", 500);
324
+ }
325
+ const citations = extractCitationsFromBasis(output.basis);
326
+ const processor = typeof run.processor === "string" ? run.processor : undefined;
327
+ return {
328
+ status: "completed",
329
+ content,
330
+ ...(citations.length > 0 ? { citations } : {}),
331
+ ...(processor ? { processor } : {}),
332
+ };
333
+ }
334
+ /**
335
+ * Perform ONE GET against the Parallel /v1/tasks/runs/{run_id}/result
336
+ * endpoint. This is a server-side long-poll: the server blocks up to
337
+ * `RESULT_POLL_SERVER_TIMEOUT_S` seconds, then returns 408 if the run is
338
+ * still active. On 200, the response includes `run.status` and (if
339
+ * completed) `output.content` + `output.basis`. On 404, the run failed
340
+ * or the run_id expired.
341
+ *
342
+ * The client-side AbortController timeout is set to
343
+ * `max(PARALLEL_TIMEOUT, (server_timeout + 30)s)` so the server's 408
344
+ * arrives before our timeout fires. The external signal (from the
345
+ * command handler's `--timeout`) can abort at any time.
346
+ */
347
+ export async function retrieveParallelTaskRunResult(apiKey, runId, deps = {}, externalSignal) {
348
+ const fetchFn = deps.fetch || globalThis.fetch;
349
+ const setTimer = deps.setTimeout || globalThis.setTimeout;
350
+ const clearTimer = deps.clearTimeout || globalThis.clearTimeout;
351
+ const env = deps.env || process.env;
352
+ const transportTimeoutMs = resolveTimeoutMs(env);
353
+ // Client-side timeout MUST exceed the server long-poll window so the
354
+ // server's 408 arrives before our AbortController fires.
355
+ const clientTimeoutMs = Math.max(transportTimeoutMs, (RESULT_POLL_SERVER_TIMEOUT_S + 30) * 1000);
356
+ const url = `${BASE_URL}/v1/tasks/runs/${encodeURIComponent(runId)}/result?timeout=${RESULT_POLL_SERVER_TIMEOUT_S}`;
357
+ const controller = new AbortController();
358
+ const onExternalAbort = () => controller.abort();
359
+ if (externalSignal?.aborted)
360
+ controller.abort();
361
+ externalSignal?.addEventListener("abort", onExternalAbort, { once: true });
362
+ const timer = setTimer(() => controller.abort(), clientTimeoutMs);
363
+ try {
364
+ const response = await fetchFn(url, {
365
+ method: "GET",
366
+ headers: {
367
+ "x-api-key": apiKey,
368
+ "User-Agent": USER_AGENT,
369
+ },
370
+ signal: controller.signal,
371
+ });
372
+ // 408 — server long-poll timed out; the run is still active.
373
+ if (response.status === 408) {
374
+ await response.text().catch(() => { });
375
+ return { status: "running" };
376
+ }
377
+ // 404 — run failed or run_id not found (may have expired).
378
+ if (response.status === 404) {
379
+ await response.text().catch(() => { });
380
+ return { status: "not_found" };
381
+ }
382
+ if (!response.ok) {
383
+ throw mapStatusError(response.status, clientTimeoutMs);
384
+ }
385
+ const text = await response.text();
386
+ const parsed = JSON.parse(text);
387
+ return normalizeTaskRunResult(parsed);
388
+ }
389
+ catch (err) {
390
+ if (err instanceof AuthError ||
391
+ err instanceof ApiError ||
392
+ err instanceof QuotaError ||
393
+ err instanceof TimeoutError ||
394
+ err instanceof ValidationError) {
395
+ throw err;
396
+ }
397
+ if (err instanceof SyntaxError) {
398
+ throw new ApiError("Parallel AI returned a malformed JSON response", 500);
399
+ }
400
+ if (err instanceof Error && err.name === "AbortError") {
401
+ if (externalSignal?.aborted) {
402
+ throw new TimeoutError(0, "Research polling aborted");
403
+ }
404
+ throw new TimeoutError(clientTimeoutMs, TIMEOUT_HELP_TEXT);
405
+ }
406
+ throw new NetworkError(`Parallel AI task run retrieval failed: ${err instanceof Error ? err.message : String(err)}`);
407
+ }
408
+ finally {
409
+ externalSignal?.removeEventListener("abort", onExternalAbort);
410
+ clearTimer(timer);
411
+ }
412
+ }
147
413
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/providers/parallel/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/providers/parallel/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scoutline",
3
- "version": "0.14.6",
3
+ "version": "0.14.8",
4
4
  "description": "Multimodal source investigation CLI for web, repositories, and visual media.",
5
5
  "type": "module",
6
6
  "bin": {