From 40d35bf8b82fc8a0c671b7926c0b3caf92a17e2b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 01:41:17 +0000 Subject: [PATCH 1/8] feat: update npm publish --- .github/workflows/publish-npm.yml | 5 +++-- .github/workflows/release-doctor.yml | 2 -- .gitignore | 2 +- .stats.yml | 4 ++-- bin/check-release-environment | 4 ---- bin/publish-npm | 13 +++++++++++-- 6 files changed, 17 insertions(+), 13 deletions(-) diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index ec36d0a..5d6cf1b 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -12,6 +12,9 @@ jobs: publish: name: publish runs-on: ubuntu-latest + permissions: + contents: read + id-token: write steps: - uses: actions/checkout@v6 @@ -28,5 +31,3 @@ jobs: - name: Publish to NPM run: | bash ./bin/publish-npm - env: - NPM_TOKEN: ${{ secrets.PARALLEL_NPM_TOKEN || secrets.NPM_TOKEN }} diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml index c38131b..fb5d3b9 100644 --- a/.github/workflows/release-doctor.yml +++ b/.github/workflows/release-doctor.yml @@ -17,5 +17,3 @@ jobs: - name: Check release environment run: | bash ./bin/check-release-environment - env: - NPM_TOKEN: ${{ secrets.PARALLEL_NPM_TOKEN || secrets.NPM_TOKEN }} diff --git a/.gitignore b/.gitignore index c85fe68..9487e48 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,4 @@ dist-deno /*.tgz .idea/ .eslintcache - +oidc diff --git a/.stats.yml b/.stats.yml index 9a8c935..b72ab98 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 38 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web/parallel-sdk-b134f034fe11499d713c03d07778aba8a395d7e3cbbc3d8a4bd2891f0aa970ba.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web/parallel-sdk-51b579ce3bac65b907316a8f417ae2d247055e297644049a40ec5d419e5e4064.yml openapi_spec_hash: c4fc5b0cb3bc48076f736a0ad2b2e75e -config_hash: 27cd9354fb0ac3129cbf269737cece6c +config_hash: 80eeac996567402cd8f03f477c2f4133 diff --git a/bin/check-release-environment b/bin/check-release-environment index e4b6d58..6b43775 100644 --- a/bin/check-release-environment +++ b/bin/check-release-environment @@ -2,10 +2,6 @@ errors=() -if [ -z "${NPM_TOKEN}" ]; then - errors+=("The NPM_TOKEN secret has not been set. Please set it in either this repository's secrets or your organization secrets") -fi - lenErrors=${#errors[@]} if [[ lenErrors -gt 0 ]]; then diff --git a/bin/publish-npm b/bin/publish-npm index 45e8aa8..3d05c0b 100644 --- a/bin/publish-npm +++ b/bin/publish-npm @@ -2,7 +2,12 @@ set -eux -npm config set '//registry.npmjs.org/:_authToken' "$NPM_TOKEN" +if [[ ${NPM_TOKEN:-} ]]; then + npm config set '//registry.npmjs.org/:_authToken' "$NPM_TOKEN" +elif [[ ! ${ACTIONS_ID_TOKEN_REQUEST_TOKEN:-} ]]; then + echo "ERROR: NPM_TOKEN must be set if not running in a Github Action with id-token permission" + exit 1 +fi yarn build cd dist @@ -57,5 +62,9 @@ else TAG="latest" fi +# Install OIDC compatible npm version +npm install --prefix ../oidc/ npm@11.6.2 + # Publish with the appropriate tag -yarn publish --tag "$TAG" +export npm_config_registry='https://registry.npmjs.org' +../oidc/node_modules/.bin/npm publish --tag "$TAG" From d729c39f0ecdc26706a2fa3631b7ba210ec7c053 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 04:16:09 +0000 Subject: [PATCH 2/8] chore: redact api-key headers in debug logs --- src/internal/utils/log.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/internal/utils/log.ts b/src/internal/utils/log.ts index a9b5d4f..59c0d06 100644 --- a/src/internal/utils/log.ts +++ b/src/internal/utils/log.ts @@ -106,8 +106,9 @@ export const formatRequestDetails = (details: { ([name, value]) => [ name, ( - name.toLowerCase() === 'x-api-key' || name.toLowerCase() === 'authorization' || + name.toLowerCase() === 'api-key' || + name.toLowerCase() === 'x-api-key' || name.toLowerCase() === 'cookie' || name.toLowerCase() === 'set-cookie' ) ? From 9431910d0d2dcdf33f22df07ee652dea31774ce8 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 19:00:42 +0000 Subject: [PATCH 3/8] feat(api): Remove beta: tasks, task groups, search, and extract from SDK --- .stats.yml | 6 +- scripts/detect-breaking-changes | 2 - src/resources/beta/api.md | 55 --- src/resources/beta/beta.ts | 398 -------------------- src/resources/beta/findall.ts | 91 ++++- src/resources/beta/index.ts | 26 -- src/resources/beta/task-group.ts | 223 ----------- src/resources/beta/task-run.ts | 276 -------------- src/resources/task-group.ts | 11 +- src/resources/task-run.ts | 21 +- tests/api-resources/beta/beta.test.ts | 50 --- tests/api-resources/beta/task-group.test.ts | 150 -------- tests/api-resources/beta/task-run.test.ts | 96 ----- 13 files changed, 111 insertions(+), 1294 deletions(-) delete mode 100644 src/resources/beta/task-group.ts delete mode 100644 src/resources/beta/task-run.ts delete mode 100644 tests/api-resources/beta/beta.test.ts delete mode 100644 tests/api-resources/beta/task-group.test.ts delete mode 100644 tests/api-resources/beta/task-run.test.ts diff --git a/.stats.yml b/.stats.yml index b72ab98..c994788 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 38 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web/parallel-sdk-51b579ce3bac65b907316a8f417ae2d247055e297644049a40ec5d419e5e4064.yml +configured_endpoints: 30 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web/parallel-sdk-95bc4c3d92d853117110dbc74ef5f3dc142e288cdbdca89f1cc64f102922a839.yml openapi_spec_hash: c4fc5b0cb3bc48076f736a0ad2b2e75e -config_hash: 80eeac996567402cd8f03f477c2f4133 +config_hash: 7a6dacc64d87490958b733ecc4fa39d2 diff --git a/scripts/detect-breaking-changes b/scripts/detect-breaking-changes index 0eb1c56..fd3bcc9 100755 --- a/scripts/detect-breaking-changes +++ b/scripts/detect-breaking-changes @@ -12,8 +12,6 @@ TEST_PATHS=( tests/api-resources/task-group.test.ts tests/api-resources/monitor.test.ts tests/api-resources/beta/beta.test.ts - tests/api-resources/beta/task-run.test.ts - tests/api-resources/beta/task-group.test.ts tests/api-resources/beta/findall.test.ts tests/index.test.ts ) diff --git a/src/resources/beta/api.md b/src/resources/beta/api.md index 8831a07..7ef02d2 100644 --- a/src/resources/beta/api.md +++ b/src/resources/beta/api.md @@ -1,60 +1,5 @@ # Beta -Types: - -- ExcerptSettings -- ExtractResponse -- ExtractResult -- SearchResult -- WebSearchResult -- ExtractError -- FetchPolicy -- FullContentSettings -- UsageItem - -Methods: - -- client.beta.extract({ ...params }) -> ExtractResponse -- client.beta.search({ ...params }) -> SearchResult - -## TaskRun - -Types: - -- ParallelBeta -- TaskRunEventsResponse -- BetaRunInput -- BetaTaskRunResult -- Webhook -- McpServer -- McpToolCall -- TaskRunEvent -- ErrorEvent - -Methods: - -- client.beta.taskRun.create({ ...params }) -> TaskRun -- client.beta.taskRun.events(runID) -> TaskRunEventsResponse -- client.beta.taskRun.result(runID, { ...params }) -> TaskRunResult - -## TaskGroup - -Types: - -- TaskGroupEventsResponse -- TaskGroupGetRunsResponse -- TaskGroupStatus -- TaskGroupStatusEvent -- TaskGroupRunResponse - -Methods: - -- client.beta.taskGroup.create({ ...params }) -> TaskGroup -- client.beta.taskGroup.retrieve(taskGroupID) -> TaskGroup -- client.beta.taskGroup.addRuns(taskGroupID, { ...params }) -> TaskGroupRunResponse -- client.beta.taskGroup.events(taskGroupID, { ...params }) -> TaskGroupEventsResponse -- client.beta.taskGroup.getRuns(taskGroupID, { ...params }) -> TaskGroupGetRunsResponse - ## FindAll Types: diff --git a/src/resources/beta/beta.ts b/src/resources/beta/beta.ts index 7cb6dc4..7a95136 100644 --- a/src/resources/beta/beta.ts +++ b/src/resources/beta/beta.ts @@ -1,8 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../core/resource'; -import * as Shared from '../shared'; -import * as TopLevelAPI from '../top-level'; import * as FindAllAPI from './findall'; import { FindAll, @@ -34,402 +32,14 @@ import { IngestInput, MatchCondition, } from './findall'; -import * as TaskGroupAPI from './task-group'; -import { - TaskGroup, - TaskGroupAddRunsParams, - TaskGroupCreateParams, - TaskGroupEventsParams, - TaskGroupEventsResponse, - TaskGroupGetRunsParams, - TaskGroupGetRunsResponse, - TaskGroupRunResponse, - TaskGroupStatus, - TaskGroupStatusEvent, -} from './task-group'; -import * as TaskRunAPI from './task-run'; -import { - BetaRunInput, - BetaTaskRunResult, - ErrorEvent, - McpServer, - McpToolCall, - ParallelBeta, - TaskRun, - TaskRunCreateParams, - TaskRunEvent, - TaskRunEventsResponse, - TaskRunResultParams, - Webhook, -} from './task-run'; -import { APIPromise } from '../../core/api-promise'; -import { buildHeaders } from '../../internal/headers'; -import { RequestOptions } from '../../internal/request-options'; export class Beta extends APIResource { - taskRun: TaskRunAPI.TaskRun = new TaskRunAPI.TaskRun(this._client); - taskGroup: TaskGroupAPI.TaskGroup = new TaskGroupAPI.TaskGroup(this._client); findall: FindAllAPI.FindAll = new FindAllAPI.FindAll(this._client); - - /** - * Extracts relevant content from specific web URLs. - * - * @deprecated Use client.extract instead. For more info, see https://docs.parallel.ai/extract/extract-migration-guide - */ - extract(params: BetaExtractParams, options?: RequestOptions): APIPromise { - const { betas, ...body } = params; - return this._client.post('/v1beta/extract', { - body, - ...options, - headers: buildHeaders([ - { 'parallel-beta': [...(betas ?? []), 'search-extract-2025-10-10'].toString() }, - options?.headers, - ]), - }); - } - - /** - * Searches the web. - * - * @deprecated Use client.search instead. For more info, see https://docs.parallel.ai/search/search-migration-guide - */ - search(params: BetaSearchParams, options?: RequestOptions): APIPromise { - const { betas, ...body } = params; - return this._client.post('/v1beta/search', { - body, - ...options, - headers: buildHeaders([ - { 'parallel-beta': [...(betas ?? []), 'search-extract-2025-10-10'].toString() }, - options?.headers, - ]), - }); - } -} - -/** - * Optional settings for returning relevant excerpts. - */ -export interface ExcerptSettings { - /** - * Optional upper bound on the total number of characters to include per url. - * Excerpts may contain fewer characters than this limit to maximize relevance and - * token efficiency. Values below 1000 will be automatically set to 1000. - */ - max_chars_per_result?: number | null; - - /** - * Optional upper bound on the total number of characters to include across all - * urls. Results may contain fewer characters than this limit to maximize relevance - * and token efficiency. Values below 1000 will be automatically set to 1000. This - * overall limit applies in addition to max_chars_per_result. - */ - max_chars_total?: number | null; -} - -/** - * Fetch result. - */ -export interface ExtractResponse { - /** - * Extract errors: requested URLs not in the results. - */ - errors: Array; - - /** - * Extract request ID, e.g. `extract_cad0a6d2dec046bd95ae900527d880e7` - */ - extract_id: string; - - /** - * Successful extract results. - */ - results: Array; - - /** - * Usage metrics for the extract request. - */ - usage?: Array | null; - - /** - * Warnings for the extract request, if any. - */ - warnings?: Array | null; -} - -/** - * Extract result for a single URL. - */ -export interface ExtractResult { - /** - * URL associated with the search result. - */ - url: string; - - /** - * Relevant excerpted content from the URL, formatted as markdown. - */ - excerpts?: Array | null; - - /** - * Full content from the URL formatted as markdown, if requested. - */ - full_content?: string | null; - - /** - * Publish date of the webpage in YYYY-MM-DD format, if available. - */ - publish_date?: string | null; - - /** - * Title of the webpage, if available. - */ - title?: string | null; -} - -/** - * Output for the Search API. - */ -export interface SearchResult { - /** - * A list of WebSearchResult objects, ordered by decreasing relevance. - */ - results: Array; - - /** - * Search ID. Example: `search_cad0a6d2dec046bd95ae900527d880e7` - */ - search_id: string; - - /** - * Usage metrics for the search request. - */ - usage?: Array | null; - - /** - * Warnings for the search request, if any. - */ - warnings?: Array | null; -} - -/** - * A single search result from the web search API. - */ -export interface WebSearchResult { - /** - * URL associated with the search result. - */ - url: string; - - /** - * Relevant excerpted content from the URL, formatted as markdown. - */ - excerpts?: Array | null; - - /** - * Publish date of the webpage in YYYY-MM-DD format, if available. - */ - publish_date?: string | null; - - /** - * Title of the webpage, if available. - */ - title?: string | null; -} - -export type ExtractError = TopLevelAPI.ExtractError; - -export type FetchPolicy = TopLevelAPI.FetchPolicy; - -export type FullContentSettings = TopLevelAPI.FullContentSettings; - -export type UsageItem = TopLevelAPI.UsageItem; - -export interface BetaExtractParams { - /** - * Body param - */ - urls: Array; - - /** - * Body param: The model generating this request and consuming the results. Enables - * optimizations and tailors default settings for the model's capabilities. - */ - client_model?: string | null; - - /** - * Body param: Include excerpts from each URL relevant to the search objective and - * queries. Note that if neither objective nor search_queries is provided, excerpts - * are redundant with full content. - */ - excerpts?: boolean | ExcerptSettings; - - /** - * Body param: Policy for live fetching web results. - */ - fetch_policy?: TopLevelAPI.FetchPolicy | null; - - /** - * Body param: Include full content from each URL. Note that if neither objective - * nor search_queries is provided, excerpts are redundant with full content. - */ - full_content?: boolean | TopLevelAPI.FullContentSettings; - - /** - * Body param: If provided, focuses extracted content on the specified search - * objective. - */ - objective?: string | null; - - /** - * Body param: If provided, focuses extracted content on the specified keyword - * search queries. - */ - search_queries?: Array | null; - - /** - * Body param: Session identifier to track calls across separate search and extract - * calls, to be used as part of a larger task. Specifying it may give better - * contextual results for subsequent API calls. - */ - session_id?: string | null; - - /** - * Header param: Optional header to specify the beta version(s) to enable. - */ - betas?: Array; -} - -export interface BetaSearchParams { - /** - * Body param: The model generating this request and consuming the results. Enables - * optimizations and tailors default settings for the model's capabilities. - */ - client_model?: string | null; - - /** - * Body param: Optional settings to configure excerpt generation. - */ - excerpts?: ExcerptSettings; - - /** - * Body param: Policy for live fetching web results. - */ - fetch_policy?: TopLevelAPI.FetchPolicy | null; - - /** - * Body param: ISO 3166-1 alpha-2 country code for geo-targeted search results. - */ - location?: string | null; - - /** - * @deprecated Body param: DEPRECATED: Use `excerpts.max_chars_per_result` instead. - */ - max_chars_per_result?: number | null; - - /** - * Body param: Upper bound on the number of results to return. Defaults to 10 if - * not provided. - */ - max_results?: number | null; - - /** - * Body param: Presets default values for parameters for different use cases. - * - * - `one-shot` returns more comprehensive results and longer excerpts to answer - * questions from a single response - * - `agentic` returns more concise, token-efficient results for use in an agentic - * loop - * - `fast` trades some quality for lower latency, with best results when used with - * concise and high-quality objective and keyword queries - */ - mode?: 'one-shot' | 'agentic' | 'fast' | null; - - /** - * Body param: Natural-language description of what the web search is trying to - * find. May include guidance about preferred sources or freshness. At least one of - * objective or search_queries must be provided. - */ - objective?: string | null; - - /** - * @deprecated Body param: DEPRECATED: use `mode` instead. - */ - processor?: 'base' | 'pro' | null; - - /** - * Body param: Optional list of traditional keyword search queries to guide the - * search. May contain search operators. At least one of objective or - * search_queries must be provided. - */ - search_queries?: Array | null; - - /** - * Body param: Session identifier to track calls across separate search and extract - * calls, to be used as part of a larger task. Specifying it may give better - * contextual results for subsequent API calls. - */ - session_id?: string | null; - - /** - * Body param: Source policy for web search results. - * - * This policy governs which sources are allowed/disallowed in results. - */ - source_policy?: Shared.SourcePolicy | null; - - /** - * Header param: Optional header to specify the beta version(s) to enable. - */ - betas?: Array; } -Beta.TaskRun = TaskRun; -Beta.TaskGroup = TaskGroup; Beta.FindAll = FindAll; export declare namespace Beta { - export { - type ExcerptSettings as ExcerptSettings, - type ExtractResponse as ExtractResponse, - type ExtractResult as ExtractResult, - type SearchResult as SearchResult, - type WebSearchResult as WebSearchResult, - type ExtractError as ExtractError, - type FetchPolicy as FetchPolicy, - type FullContentSettings as FullContentSettings, - type UsageItem as UsageItem, - type BetaExtractParams as BetaExtractParams, - type BetaSearchParams as BetaSearchParams, - }; - - export { - TaskRun as TaskRun, - type ParallelBeta as ParallelBeta, - type TaskRunEventsResponse as TaskRunEventsResponse, - type BetaRunInput as BetaRunInput, - type BetaTaskRunResult as BetaTaskRunResult, - type Webhook as Webhook, - type McpServer as McpServer, - type McpToolCall as McpToolCall, - type TaskRunEvent as TaskRunEvent, - type ErrorEvent as ErrorEvent, - type TaskRunCreateParams as TaskRunCreateParams, - type TaskRunResultParams as TaskRunResultParams, - }; - - export { - TaskGroup as TaskGroup, - type TaskGroupEventsResponse as TaskGroupEventsResponse, - type TaskGroupGetRunsResponse as TaskGroupGetRunsResponse, - type TaskGroupStatus as TaskGroupStatus, - type TaskGroupStatusEvent as TaskGroupStatusEvent, - type TaskGroupRunResponse as TaskGroupRunResponse, - type TaskGroupCreateParams as TaskGroupCreateParams, - type TaskGroupAddRunsParams as TaskGroupAddRunsParams, - type TaskGroupEventsParams as TaskGroupEventsParams, - type TaskGroupGetRunsParams as TaskGroupGetRunsParams, - }; - export { FindAll as FindAll, type FindAllCandidate as FindAllCandidate, @@ -461,11 +71,3 @@ export declare namespace Beta { type FindAllSchemaParams as FindAllSchemaParams, }; } - -// Backwards-compat namespace member (deprecated). `BetaExtractParams.FullContentSettings` -// was previously a nested interface; the shape now lives as the top-level -// `FullContentSettings` model. -export namespace BetaExtractParams { - /** @deprecated Use `Parallel.FullContentSettings` instead. */ - export type FullContentSettings = TopLevelAPI.FullContentSettings; -} diff --git a/src/resources/beta/findall.ts b/src/resources/beta/findall.ts index 23aacbf..0620457 100644 --- a/src/resources/beta/findall.ts +++ b/src/resources/beta/findall.ts @@ -2,7 +2,6 @@ import { APIResource } from '../../core/resource'; import * as TaskRunAPI from '../task-run'; -import * as BetaTaskRunAPI from './task-run'; import { APIPromise } from '../../core/api-promise'; import { Stream } from '../../core/streaming'; import { buildHeaders } from '../../internal/headers'; @@ -800,7 +799,15 @@ export interface FindAllCreateParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export namespace FindAllCreateParams { @@ -824,14 +831,30 @@ export interface FindAllRetrieveParams { /** * Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export interface FindAllCancelParams { /** * Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export interface FindAllCandidatesParams { @@ -871,7 +894,15 @@ export interface FindAllEnrichParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export interface FindAllEventsParams { @@ -888,7 +919,15 @@ export interface FindAllEventsParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export interface FindAllExtendParams { @@ -902,7 +941,15 @@ export interface FindAllExtendParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export interface FindAllIngestParams { @@ -914,21 +961,45 @@ export interface FindAllIngestParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export interface FindAllResultParams { /** * Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export interface FindAllSchemaParams { /** * Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export declare namespace FindAll { diff --git a/src/resources/beta/index.ts b/src/resources/beta/index.ts index 5ab0a7f..dfd2046 100644 --- a/src/resources/beta/index.ts +++ b/src/resources/beta/index.ts @@ -52,29 +52,3 @@ export { type FindallResultParams, type FindallSchemaParams, } from './findall'; -export { - TaskGroup, - type TaskGroupEventsResponse, - type TaskGroupGetRunsResponse, - type TaskGroupStatus, - type TaskGroupStatusEvent, - type TaskGroupRunResponse, - type TaskGroupCreateParams, - type TaskGroupAddRunsParams, - type TaskGroupEventsParams, - type TaskGroupGetRunsParams, -} from './task-group'; -export { - TaskRun, - type ParallelBeta, - type TaskRunEventsResponse, - type BetaRunInput, - type BetaTaskRunResult, - type Webhook, - type McpServer, - type McpToolCall, - type TaskRunEvent, - type ErrorEvent, - type TaskRunCreateParams, - type TaskRunResultParams, -} from './task-run'; diff --git a/src/resources/beta/task-group.ts b/src/resources/beta/task-group.ts deleted file mode 100644 index bdb72a7..0000000 --- a/src/resources/beta/task-group.ts +++ /dev/null @@ -1,223 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -import { APIResource } from '../../core/resource'; -import * as TaskGroupAPI from '../task-group'; -import * as TaskRunAPI from '../task-run'; -import * as BetaTaskRunAPI from './task-run'; -import { APIPromise } from '../../core/api-promise'; -import { Stream } from '../../core/streaming'; -import { buildHeaders } from '../../internal/headers'; -import { RequestOptions } from '../../internal/request-options'; -import { path } from '../../internal/utils/path'; - -/** - * Tasks (Beta) - * - * @deprecated Use GA Task Group instead - */ -export class TaskGroup extends APIResource { - /** - * Initiates a TaskGroup to group and track multiple runs. - * - * @deprecated Use GA Task Group instead - */ - create(body: TaskGroupCreateParams, options?: RequestOptions): APIPromise { - return this._client.post('/v1beta/tasks/groups', { - body, - ...options, - headers: buildHeaders([{ 'parallel-beta': 'search-extract-2025-10-10' }, options?.headers]), - }); - } - - /** - * Retrieves aggregated status across runs in a TaskGroup. - * - * @deprecated Use GA Task Group instead - */ - retrieve(taskGroupID: string, options?: RequestOptions): APIPromise { - return this._client.get(path`/v1beta/tasks/groups/${taskGroupID}`, { - ...options, - headers: buildHeaders([{ 'parallel-beta': 'search-extract-2025-10-10' }, options?.headers]), - }); - } - - /** - * Initiates multiple task runs within a TaskGroup. - * - * @deprecated Use GA Task Group instead - */ - addRuns( - taskGroupID: string, - params: TaskGroupAddRunsParams, - options?: RequestOptions, - ): APIPromise { - const { refresh_status, betas, ...body } = params; - return this._client.post(path`/v1beta/tasks/groups/${taskGroupID}/runs`, { - query: { refresh_status }, - body, - ...options, - headers: buildHeaders([ - { 'parallel-beta': [...(betas ?? []), 'search-extract-2025-10-10'].toString() }, - options?.headers, - ]), - }); - } - - /** - * Streams events from a TaskGroup: status updates and run completions. - * - * The connection will remain open for up to an hour as long as at least one run in - * the group is still active. - * - * @deprecated Use GA Task Group instead - */ - events( - taskGroupID: string, - query: TaskGroupEventsParams | undefined = {}, - options?: RequestOptions, - ): APIPromise> { - return this._client.get(path`/v1beta/tasks/groups/${taskGroupID}/events`, { - query, - ...options, - headers: buildHeaders([ - { 'parallel-beta': 'search-extract-2025-10-10', Accept: 'text/event-stream' }, - options?.headers, - ]), - stream: true, - }) as APIPromise>; - } - - /** - * Retrieves task runs in a TaskGroup and optionally their inputs and outputs. - * - * All runs within a TaskGroup are returned as a stream. To get the inputs and/or - * outputs back in the stream, set the corresponding `include_input` and - * `include_output` parameters to `true`. - * - * The stream is resumable using the `event_id` as the cursor. To resume a stream, - * specify the `last_event_id` parameter with the `event_id` of the last event in - * the stream. The stream will resume from the next event after the - * `last_event_id`. - * - * @deprecated Use GA Task Group instead - */ - getRuns( - taskGroupID: string, - query: TaskGroupGetRunsParams | undefined = {}, - options?: RequestOptions, - ): APIPromise> { - return this._client.get(path`/v1beta/tasks/groups/${taskGroupID}/runs`, { - query, - ...options, - headers: buildHeaders([ - { 'parallel-beta': 'search-extract-2025-10-10', Accept: 'text/event-stream' }, - options?.headers, - ]), - stream: true, - }) as APIPromise>; - } -} - -/** - * Event indicating an update to group status. - */ -export type TaskGroupEventsResponse = - | TaskGroupAPI.TaskGroupStatusEvent - | TaskRunAPI.TaskRunEvent - | TaskRunAPI.ErrorEvent; - -/** - * Event when a task run transitions to a non-active status. - * - * May indicate completion, cancellation, or failure. - */ -export type TaskGroupGetRunsResponse = TaskRunAPI.TaskRunEvent | TaskRunAPI.ErrorEvent; - -export type TaskGroupStatus = TaskGroupAPI.TaskGroupStatus; - -export type TaskGroupStatusEvent = TaskGroupAPI.TaskGroupStatusEvent; - -export type TaskGroupRunResponse = TaskGroupAPI.TaskGroupRunResponse; - -export interface TaskGroupCreateParams { - /** - * User-provided metadata stored with the task group. - */ - metadata?: { [key: string]: string | number | boolean } | null; -} - -export interface TaskGroupAddRunsParams { - /** - * Body param: List of task runs to execute. Up to 1,000 runs can be specified per - * request. If you'd like to add more runs, split them across multiple TaskGroup - * POST requests. - */ - inputs: Array; - - /** - * Query param - */ - refresh_status?: boolean; - - /** - * Body param: Specification for a task. - * - * Auto output schemas can be specified by setting `output_schema={"type":"auto"}`. - * Not specifying a TaskSpec is the same as setting an auto output schema. - * - * For convenience bare strings are also accepted as input or output schemas. - */ - default_task_spec?: TaskRunAPI.TaskSpec | null; - - /** - * Header param: Optional header to specify the beta version(s) to enable. - */ - betas?: Array; -} - -export interface TaskGroupEventsParams { - last_event_id?: string | null; - - timeout?: number | null; -} - -export interface TaskGroupGetRunsParams { - include_input?: boolean; - - include_output?: boolean; - - last_event_id?: string | null; - - status?: - | 'queued' - | 'action_required' - | 'running' - | 'completed' - | 'failed' - | 'cancelling' - | 'cancelled' - | null; -} - -export declare namespace TaskGroup { - export { - type TaskGroupEventsResponse as TaskGroupEventsResponse, - type TaskGroupGetRunsResponse as TaskGroupGetRunsResponse, - type TaskGroupStatus as TaskGroupStatus, - type TaskGroupStatusEvent as TaskGroupStatusEvent, - type TaskGroupRunResponse as TaskGroupRunResponse, - type TaskGroupCreateParams as TaskGroupCreateParams, - type TaskGroupAddRunsParams as TaskGroupAddRunsParams, - type TaskGroupEventsParams as TaskGroupEventsParams, - type TaskGroupGetRunsParams as TaskGroupGetRunsParams, - }; -} - -// Backwards-compat namespace member (deprecated). `TaskGroupEventsResponse.TaskGroupStatusEvent` -// was previously a nested interface; the type now lives at the file's top -// level (re-exported from GA `TaskGroupAPI.TaskGroupStatusEvent`). -type _TaskGroupStatusEvent = TaskGroupStatusEvent; -export namespace TaskGroupEventsResponse { - /** @deprecated Use `Beta.TaskGroupStatusEvent` instead. */ - export type TaskGroupStatusEvent = _TaskGroupStatusEvent; -} diff --git a/src/resources/beta/task-run.ts b/src/resources/beta/task-run.ts deleted file mode 100644 index e711398..0000000 --- a/src/resources/beta/task-run.ts +++ /dev/null @@ -1,276 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -import { APIResource } from '../../core/resource'; -import * as Shared from '../shared'; -import * as TaskRunAPI from '../task-run'; -import { APIPromise } from '../../core/api-promise'; -import { Stream } from '../../core/streaming'; -import { buildHeaders } from '../../internal/headers'; -import { RequestOptions } from '../../internal/request-options'; -import { path } from '../../internal/utils/path'; - -/** - * The Task API executes web research and extraction tasks. Clients submit a natural-language objective with an optional input schema; the service plans retrieval, fetches relevant URLs, and returns outputs that conform to a provided or inferred JSON schema. Supports deep research style queries and can return rich structured JSON outputs. Processors trade-off between cost, latency, and quality. Each processor supports calibrated confidences. - * - Output metadata: citations, excerpts, reasoning, and confidence per field - * - * Task Groups enable batch execution of many independent Task runs with group-level monitoring and failure handling. - * - Submit hundreds or thousands of Tasks as a single group - * - Observe group progress and receive results as they complete - * - Real-time updates via Server-Sent Events (SSE) - * - Add tasks to an existing group while it is running - * - Group-level retry and error aggregation - * - * @deprecated Use GA Task Run instead - */ -export class TaskRun extends APIResource { - /** - * Initiates a task run. - * - * Returns immediately with a run object in status 'queued'. - * - * Beta features can be enabled by setting the 'parallel-beta' header. - * - * @deprecated Use GA Task Run instead - */ - create(params: TaskRunCreateParams, options?: RequestOptions): APIPromise { - const { betas, ...body } = params; - return this._client.post('/v1/tasks/runs', { - body, - ...options, - headers: buildHeaders([ - { 'parallel-beta': [...(betas ?? []), 'search-extract-2025-10-10'].toString() }, - options?.headers, - ]), - }); - } - - /** - * Streams events for a task run. - * - * Returns a stream of events showing progress updates and state changes for the - * task run. - * - * For task runs that did not have enable_events set to true during creation, the - * frequency of events will be reduced. - * - * @deprecated Use GA Task Run instead - */ - events(runID: string, options?: RequestOptions): APIPromise> { - return this._client.get(path`/v1beta/tasks/runs/${runID}/events`, { - ...options, - headers: buildHeaders([ - { 'parallel-beta': 'search-extract-2025-10-10', Accept: 'text/event-stream' }, - options?.headers, - ]), - stream: true, - }) as APIPromise>; - } - - /** - * Retrieves a run result by run_id, blocking until the run is completed. - * - * @deprecated Use GA Task Run instead - */ - result( - runID: string, - params: TaskRunResultParams | null | undefined = {}, - options?: RequestOptions, - ): APIPromise { - const { betas, ...query } = params ?? {}; - return this._client.get(path`/v1/tasks/runs/${runID}/result`, { - query, - ...options, - headers: buildHeaders([ - { 'parallel-beta': [...(betas ?? []), 'search-extract-2025-10-10'].toString() }, - options?.headers, - ]), - }); - } -} - -/** - * Model for the parallel-beta header. - */ -export type ParallelBeta = - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}); - -/** - * A progress update for a task run. - */ -export type TaskRunEventsResponse = - | TaskRunAPI.TaskRunProgressStatsEvent - | TaskRunAPI.TaskRunProgressMessageEvent - | TaskRunAPI.TaskRunEvent - | TaskRunAPI.ErrorEvent; - -/** - * @deprecated Use parallel.types.task_run.TaskRunInput instead - */ -export type BetaRunInput = TaskRunAPI.RunInput; - -/** - * @deprecated Use parallel.types.task_run.TaskRunResult instead - */ -export type BetaTaskRunResult = TaskRunAPI.TaskRunResult; - -/** - * Backwards-compatible namespace for `BetaTaskRunResult`. - * @deprecated Use `TaskRunJsonOutput` and `TaskRunTextOutput` from `task-run` instead. - */ -export namespace BetaTaskRunResult { - /** @deprecated Use `TaskRunAPI.TaskRunTextOutput` instead */ - export type BetaTaskRunTextOutput = TaskRunAPI.TaskRunTextOutput; - /** @deprecated Use `TaskRunAPI.TaskRunJsonOutput` instead */ - export type BetaTaskRunJsonOutput = TaskRunAPI.TaskRunJsonOutput; -} - -/** - * @deprecated Use parallel.types.task_run.Webhook instead - */ -export type Webhook = TaskRunAPI.Webhook; - -/** - * @deprecated Use parallel.types.task_run.McpServer instead - */ -export type McpServer = TaskRunAPI.McpServer; - -/** - * @deprecated Use parallel.types.task_run.McpToolCall instead - */ -export type McpToolCall = TaskRunAPI.McpToolCall; - -/** - * @deprecated Use parallel.types.task_run.TaskRunEvent instead - */ -export type TaskRunEvent = TaskRunAPI.TaskRunEvent; - -/** - * @deprecated Use parallel.types.task_run.ErrorEvent instead - */ -export type ErrorEvent = TaskRunAPI.ErrorEvent; - -export interface TaskRunCreateParams { - /** - * Body param: Input to the task, either text or a JSON object. - */ - input: string | { [key: string]: unknown }; - - /** - * Body param: Processor to use for the task. - */ - processor: string; - - /** - * Body param: Advanced search configuration for a task run. - */ - advanced_settings?: TaskRunAPI.TaskAdvancedSettings | null; - - /** - * Body param: Controls tracking of task run execution progress. When set to true, - * progress events are recorded and can be accessed via the - * [Task Run events](https://docs.parallel.ai/api-reference) endpoint. When false, - * no progress events are tracked. Note that progress tracking cannot be enabled - * after a run has been created. The flag is set to true by default for premium - * processors (pro and above). - */ - enable_events?: boolean | null; - - /** - * Body param: Optional list of MCP servers to use for the run. - */ - mcp_servers?: Array | null; - - /** - * Body param: User-provided metadata stored with the run. Keys and values must be - * strings with a maximum length of 16 and 512 characters respectively. - */ - metadata?: { [key: string]: string | number | boolean } | null; - - /** - * Body param: Interaction ID to use as context for this request. - */ - previous_interaction_id?: string | null; - - /** - * Body param: Source policy for web search results. - * - * This policy governs which sources are allowed/disallowed in results. - */ - source_policy?: Shared.SourcePolicy | null; - - /** - * Body param: Specification for a task. - * - * Auto output schemas can be specified by setting `output_schema={"type":"auto"}`. - * Not specifying a TaskSpec is the same as setting an auto output schema. - * - * For convenience bare strings are also accepted as input or output schemas. - */ - task_spec?: TaskRunAPI.TaskSpec | null; - - /** - * Body param: Webhooks for Task Runs. - */ - webhook?: TaskRunAPI.Webhook | null; - - /** - * Header param: Optional header to specify the beta version(s) to enable. - */ - betas?: Array; -} - -export interface TaskRunResultParams { - /** - * Query param - */ - timeout?: number; - - /** - * Header param: Optional header to specify the beta version(s) to enable. - */ - betas?: Array; -} - -export declare namespace TaskRun { - export { - type ParallelBeta as ParallelBeta, - type TaskRunEventsResponse as TaskRunEventsResponse, - type BetaRunInput as BetaRunInput, - type BetaTaskRunResult as BetaTaskRunResult, - type Webhook as Webhook, - type McpServer as McpServer, - type McpToolCall as McpToolCall, - type TaskRunEvent as TaskRunEvent, - type ErrorEvent as ErrorEvent, - type TaskRunCreateParams as TaskRunCreateParams, - type TaskRunResultParams as TaskRunResultParams, - }; -} - -// Backwards-compat namespace members (deprecated). Previously these types -// existed as nested interfaces under their parent's namespace; they've since -// moved to top-level model types in the GA `task-run` module. -type _TaskAdvancedSettings = TaskRunAPI.TaskAdvancedSettings; -type _TaskRunProgressMessageEvent = TaskRunAPI.TaskRunProgressMessageEvent; -type _TaskRunProgressStatsEvent = TaskRunAPI.TaskRunProgressStatsEvent; -type _TaskRunSourceStats = TaskRunAPI.TaskRunSourceStats; -export namespace TaskRunCreateParams { - /** @deprecated Use `Parallel.TaskAdvancedSettings` instead. */ - export type AdvancedSettings = _TaskAdvancedSettings; -} -export namespace TaskRunEventsResponse { - /** @deprecated Use `Parallel.TaskRunProgressMessageEvent` instead. */ - export type TaskRunProgressMessageEvent = _TaskRunProgressMessageEvent; - /** @deprecated Use `Parallel.TaskRunProgressStatsEvent` instead. */ - export type TaskRunProgressStatsEvent = _TaskRunProgressStatsEvent; - export namespace TaskRunProgressStatsEvent { - /** @deprecated Use `Parallel.TaskRunSourceStats` instead. */ - export type SourceStats = _TaskRunSourceStats; - } -} diff --git a/src/resources/task-group.ts b/src/resources/task-group.ts index 5f80745..aa2630c 100644 --- a/src/resources/task-group.ts +++ b/src/resources/task-group.ts @@ -2,7 +2,6 @@ import { APIResource } from '../core/resource'; import * as TaskRunAPI from './task-run'; -import * as BetaTaskRunAPI from './beta/task-run'; import { APIPromise } from '../core/api-promise'; import { Stream } from '../core/streaming'; import { buildHeaders } from '../internal/headers'; @@ -267,7 +266,15 @@ export interface TaskGroupAddRunsParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export interface TaskGroupEventsParams { diff --git a/src/resources/task-run.ts b/src/resources/task-run.ts index 450f728..13acae1 100644 --- a/src/resources/task-run.ts +++ b/src/resources/task-run.ts @@ -2,7 +2,6 @@ import { APIResource } from '../core/resource'; import * as Shared from './shared'; -import * as BetaTaskRunAPI from './beta/task-run'; import { APIPromise } from '../core/api-promise'; import { Stream } from '../core/streaming'; import { buildHeaders } from '../internal/headers'; @@ -731,7 +730,15 @@ export interface TaskRunCreateParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export interface TaskRunResultParams { @@ -743,7 +750,15 @@ export interface TaskRunResultParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array; + betas?: Array< + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}) + >; } export declare namespace TaskRun { diff --git a/tests/api-resources/beta/beta.test.ts b/tests/api-resources/beta/beta.test.ts deleted file mode 100644 index 0e55b6c..0000000 --- a/tests/api-resources/beta/beta.test.ts +++ /dev/null @@ -1,50 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -import Parallel from 'parallel-web'; - -const client = new Parallel({ - apiKey: 'My API Key', - baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010', -}); - -describe('resource beta', () => { - test('extract: only required params', async () => { - const responsePromise = client.beta.extract({ urls: ['string'] }); - const rawResponse = await responsePromise.asResponse(); - expect(rawResponse).toBeInstanceOf(Response); - const response = await responsePromise; - expect(response).not.toBeInstanceOf(Response); - const dataAndResponse = await responsePromise.withResponse(); - expect(dataAndResponse.data).toBe(response); - expect(dataAndResponse.response).toBe(rawResponse); - }); - - test('extract: required and optional params', async () => { - const response = await client.beta.extract({ - urls: ['string'], - client_model: 'claude-opus-4-7', - excerpts: true, - fetch_policy: { - disable_cache_fallback: true, - max_age_seconds: 86400, - timeout_seconds: 60, - }, - full_content: true, - objective: 'objective', - search_queries: ['string'], - session_id: 'session_id', - betas: ['mcp-server-2025-07-17'], - }); - }); - - test('search', async () => { - const responsePromise = client.beta.search({}); - const rawResponse = await responsePromise.asResponse(); - expect(rawResponse).toBeInstanceOf(Response); - const response = await responsePromise; - expect(response).not.toBeInstanceOf(Response); - const dataAndResponse = await responsePromise.withResponse(); - expect(dataAndResponse.data).toBe(response); - expect(dataAndResponse.response).toBe(rawResponse); - }); -}); diff --git a/tests/api-resources/beta/task-group.test.ts b/tests/api-resources/beta/task-group.test.ts deleted file mode 100644 index 1587fe7..0000000 --- a/tests/api-resources/beta/task-group.test.ts +++ /dev/null @@ -1,150 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -import Parallel from 'parallel-web'; - -const client = new Parallel({ - apiKey: 'My API Key', - baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010', -}); - -describe('resource taskGroup', () => { - test('create', async () => { - const responsePromise = client.beta.taskGroup.create({}); - const rawResponse = await responsePromise.asResponse(); - expect(rawResponse).toBeInstanceOf(Response); - const response = await responsePromise; - expect(response).not.toBeInstanceOf(Response); - const dataAndResponse = await responsePromise.withResponse(); - expect(dataAndResponse.data).toBe(response); - expect(dataAndResponse.response).toBe(rawResponse); - }); - - test('retrieve', async () => { - const responsePromise = client.beta.taskGroup.retrieve('taskgroup_id'); - const rawResponse = await responsePromise.asResponse(); - expect(rawResponse).toBeInstanceOf(Response); - const response = await responsePromise; - expect(response).not.toBeInstanceOf(Response); - const dataAndResponse = await responsePromise.withResponse(); - expect(dataAndResponse.data).toBe(response); - expect(dataAndResponse.response).toBe(rawResponse); - }); - - test('addRuns: only required params', async () => { - const responsePromise = client.beta.taskGroup.addRuns('taskgroup_id', { - inputs: [{ input: 'What was the GDP of France in 2023?', processor: 'base' }], - }); - const rawResponse = await responsePromise.asResponse(); - expect(rawResponse).toBeInstanceOf(Response); - const response = await responsePromise; - expect(response).not.toBeInstanceOf(Response); - const dataAndResponse = await responsePromise.withResponse(); - expect(dataAndResponse.data).toBe(response); - expect(dataAndResponse.response).toBe(rawResponse); - }); - - test('addRuns: required and optional params', async () => { - const response = await client.beta.taskGroup.addRuns('taskgroup_id', { - inputs: [ - { - input: 'What was the GDP of France in 2023?', - processor: 'base', - advanced_settings: { location: 'us' }, - enable_events: true, - mcp_servers: [ - { - name: 'name', - url: 'url', - allowed_tools: ['string'], - headers: { foo: 'string' }, - type: 'url', - }, - ], - metadata: { foo: 'string' }, - previous_interaction_id: 'previous_interaction_id', - source_policy: { - after_date: '2024-01-01', - exclude_domains: ['reddit.com', 'x.com', '.ai'], - include_domains: ['wikipedia.org', 'usa.gov', '.edu'], - }, - task_spec: { - output_schema: { - json_schema: { - additionalProperties: 'bar', - properties: 'bar', - required: 'bar', - type: 'bar', - }, - type: 'json', - }, - input_schema: 'string', - }, - webhook: { url: 'url', event_types: ['task_run.status'] }, - }, - ], - refresh_status: true, - default_task_spec: { - output_schema: { - json_schema: { - additionalProperties: 'bar', - properties: 'bar', - required: 'bar', - type: 'bar', - }, - type: 'json', - }, - input_schema: 'string', - }, - betas: ['mcp-server-2025-07-17'], - }); - }); - - test('events', async () => { - const responsePromise = client.beta.taskGroup.events('taskgroup_id'); - const rawResponse = await responsePromise.asResponse(); - expect(rawResponse).toBeInstanceOf(Response); - const response = await responsePromise; - expect(response).not.toBeInstanceOf(Response); - const dataAndResponse = await responsePromise.withResponse(); - expect(dataAndResponse.data).toBe(response); - expect(dataAndResponse.response).toBe(rawResponse); - }); - - test('events: request options and params are passed correctly', async () => { - // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error - await expect( - client.beta.taskGroup.events( - 'taskgroup_id', - { last_event_id: 'last_event_id', timeout: 0 }, - { path: '/_stainless_unknown_path' }, - ), - ).rejects.toThrow(Parallel.NotFoundError); - }); - - test('getRuns', async () => { - const responsePromise = client.beta.taskGroup.getRuns('taskgroup_id'); - const rawResponse = await responsePromise.asResponse(); - expect(rawResponse).toBeInstanceOf(Response); - const response = await responsePromise; - expect(response).not.toBeInstanceOf(Response); - const dataAndResponse = await responsePromise.withResponse(); - expect(dataAndResponse.data).toBe(response); - expect(dataAndResponse.response).toBe(rawResponse); - }); - - test('getRuns: request options and params are passed correctly', async () => { - // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error - await expect( - client.beta.taskGroup.getRuns( - 'taskgroup_id', - { - include_input: true, - include_output: true, - last_event_id: 'last_event_id', - status: 'queued', - }, - { path: '/_stainless_unknown_path' }, - ), - ).rejects.toThrow(Parallel.NotFoundError); - }); -}); diff --git a/tests/api-resources/beta/task-run.test.ts b/tests/api-resources/beta/task-run.test.ts deleted file mode 100644 index bf203d6..0000000 --- a/tests/api-resources/beta/task-run.test.ts +++ /dev/null @@ -1,96 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -import Parallel from 'parallel-web'; - -const client = new Parallel({ - apiKey: 'My API Key', - baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010', -}); - -describe('resource taskRun', () => { - test('create: only required params', async () => { - const responsePromise = client.beta.taskRun.create({ - input: 'What was the GDP of France in 2023?', - processor: 'base', - }); - const rawResponse = await responsePromise.asResponse(); - expect(rawResponse).toBeInstanceOf(Response); - const response = await responsePromise; - expect(response).not.toBeInstanceOf(Response); - const dataAndResponse = await responsePromise.withResponse(); - expect(dataAndResponse.data).toBe(response); - expect(dataAndResponse.response).toBe(rawResponse); - }); - - test('create: required and optional params', async () => { - const response = await client.beta.taskRun.create({ - input: 'What was the GDP of France in 2023?', - processor: 'base', - advanced_settings: { location: 'us' }, - enable_events: true, - mcp_servers: [ - { - name: 'name', - url: 'url', - allowed_tools: ['string'], - headers: { foo: 'string' }, - type: 'url', - }, - ], - metadata: { foo: 'string' }, - previous_interaction_id: 'previous_interaction_id', - source_policy: { - after_date: '2024-01-01', - exclude_domains: ['reddit.com', 'x.com', '.ai'], - include_domains: ['wikipedia.org', 'usa.gov', '.edu'], - }, - task_spec: { - output_schema: { - json_schema: { - additionalProperties: 'bar', - properties: 'bar', - required: 'bar', - type: 'bar', - }, - type: 'json', - }, - input_schema: 'string', - }, - webhook: { url: 'url', event_types: ['task_run.status'] }, - betas: ['mcp-server-2025-07-17'], - }); - }); - - test('events', async () => { - const responsePromise = client.beta.taskRun.events('run_id'); - const rawResponse = await responsePromise.asResponse(); - expect(rawResponse).toBeInstanceOf(Response); - const response = await responsePromise; - expect(response).not.toBeInstanceOf(Response); - const dataAndResponse = await responsePromise.withResponse(); - expect(dataAndResponse.data).toBe(response); - expect(dataAndResponse.response).toBe(rawResponse); - }); - - test('result', async () => { - const responsePromise = client.beta.taskRun.result('run_id'); - const rawResponse = await responsePromise.asResponse(); - expect(rawResponse).toBeInstanceOf(Response); - const response = await responsePromise; - expect(response).not.toBeInstanceOf(Response); - const dataAndResponse = await responsePromise.withResponse(); - expect(dataAndResponse.data).toBe(response); - expect(dataAndResponse.response).toBe(rawResponse); - }); - - test('result: request options and params are passed correctly', async () => { - // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error - await expect( - client.beta.taskRun.result( - 'run_id', - { timeout: 0, betas: ['mcp-server-2025-07-17'] }, - { path: '/_stainless_unknown_path' }, - ), - ).rejects.toThrow(Parallel.NotFoundError); - }); -}); From 5ff5f6a9732ad1037ee0f11c55034220151c5d83 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 22:05:43 +0000 Subject: [PATCH 4/8] feat(api): Add parallel_beta typing back --- .stats.yml | 4 +- src/resources/beta/api.md | 1 + src/resources/beta/beta.ts | 2 + src/resources/beta/findall.ts | 103 ++++++++-------------------------- src/resources/beta/index.ts | 1 + src/resources/task-group.ts | 11 +--- src/resources/task-run.ts | 21 +------ 7 files changed, 33 insertions(+), 110 deletions(-) diff --git a/.stats.yml b/.stats.yml index c994788..2b1f5b5 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 30 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web/parallel-sdk-95bc4c3d92d853117110dbc74ef5f3dc142e288cdbdca89f1cc64f102922a839.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web/parallel-sdk-74b1570d9fd4b863fed090a7a33510e2a3d46d93a05346761f9e1bbf8b93361d.yml openapi_spec_hash: c4fc5b0cb3bc48076f736a0ad2b2e75e -config_hash: 7a6dacc64d87490958b733ecc4fa39d2 +config_hash: a3dc5e363f6fdf4c7776c12c14ba5fd1 diff --git a/src/resources/beta/api.md b/src/resources/beta/api.md index 7ef02d2..6b51817 100644 --- a/src/resources/beta/api.md +++ b/src/resources/beta/api.md @@ -20,6 +20,7 @@ Types: - FindAllSchemaUpdatedEvent - IngestInput - MatchCondition +- ParallelBeta - FindAllEventsResponse Methods: diff --git a/src/resources/beta/beta.ts b/src/resources/beta/beta.ts index 7a95136..4ea0c76 100644 --- a/src/resources/beta/beta.ts +++ b/src/resources/beta/beta.ts @@ -31,6 +31,7 @@ import { FindAllSchemaUpdatedEvent, IngestInput, MatchCondition, + ParallelBeta, } from './findall'; export class Beta extends APIResource { @@ -58,6 +59,7 @@ export declare namespace Beta { type FindAllSchemaUpdatedEvent as FindAllSchemaUpdatedEvent, type IngestInput as IngestInput, type MatchCondition as MatchCondition, + type ParallelBeta as ParallelBeta, type FindAllEventsResponse as FindAllEventsResponse, type FindAllCreateParams as FindAllCreateParams, type FindAllRetrieveParams as FindAllRetrieveParams, diff --git a/src/resources/beta/findall.ts b/src/resources/beta/findall.ts index 0620457..6b16c7f 100644 --- a/src/resources/beta/findall.ts +++ b/src/resources/beta/findall.ts @@ -745,6 +745,18 @@ export interface MatchCondition { name: string; } +/** + * Model for the parallel-beta header. + */ +export type ParallelBeta = + | 'mcp-server-2025-07-17' + | 'events-sse-2025-07-24' + | 'webhook-2025-08-12' + | 'findall-2025-09-15' + | 'search-extract-2025-10-10' + | 'field-basis-2025-11-25' + | (string & {}); + /** * Event containing full snapshot of FindAll run state. */ @@ -799,15 +811,7 @@ export interface FindAllCreateParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export namespace FindAllCreateParams { @@ -831,30 +835,14 @@ export interface FindAllRetrieveParams { /** * Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export interface FindAllCancelParams { /** * Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export interface FindAllCandidatesParams { @@ -894,15 +882,7 @@ export interface FindAllEnrichParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export interface FindAllEventsParams { @@ -919,15 +899,7 @@ export interface FindAllEventsParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export interface FindAllExtendParams { @@ -941,15 +913,7 @@ export interface FindAllExtendParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export interface FindAllIngestParams { @@ -961,45 +925,21 @@ export interface FindAllIngestParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export interface FindAllResultParams { /** * Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export interface FindAllSchemaParams { /** * Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export declare namespace FindAll { @@ -1020,6 +960,7 @@ export declare namespace FindAll { type FindAllSchemaUpdatedEvent as FindAllSchemaUpdatedEvent, type IngestInput as IngestInput, type MatchCondition as MatchCondition, + type ParallelBeta as ParallelBeta, type FindAllEventsResponse as FindAllEventsResponse, type FindAllCreateParams as FindAllCreateParams, type FindAllRetrieveParams as FindAllRetrieveParams, diff --git a/src/resources/beta/index.ts b/src/resources/beta/index.ts index dfd2046..e651634 100644 --- a/src/resources/beta/index.ts +++ b/src/resources/beta/index.ts @@ -20,6 +20,7 @@ export { type FindAllSchemaUpdatedEvent, type IngestInput, type MatchCondition, + type ParallelBeta, type FindAllEventsResponse, type FindAllCreateParams, type FindAllRetrieveParams, diff --git a/src/resources/task-group.ts b/src/resources/task-group.ts index aa2630c..50d7203 100644 --- a/src/resources/task-group.ts +++ b/src/resources/task-group.ts @@ -2,6 +2,7 @@ import { APIResource } from '../core/resource'; import * as TaskRunAPI from './task-run'; +import * as FindAllAPI from './beta/findall'; import { APIPromise } from '../core/api-promise'; import { Stream } from '../core/streaming'; import { buildHeaders } from '../internal/headers'; @@ -266,15 +267,7 @@ export interface TaskGroupAddRunsParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export interface TaskGroupEventsParams { diff --git a/src/resources/task-run.ts b/src/resources/task-run.ts index 13acae1..bd8f52e 100644 --- a/src/resources/task-run.ts +++ b/src/resources/task-run.ts @@ -2,6 +2,7 @@ import { APIResource } from '../core/resource'; import * as Shared from './shared'; +import * as FindAllAPI from './beta/findall'; import { APIPromise } from '../core/api-promise'; import { Stream } from '../core/streaming'; import { buildHeaders } from '../internal/headers'; @@ -730,15 +731,7 @@ export interface TaskRunCreateParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export interface TaskRunResultParams { @@ -750,15 +743,7 @@ export interface TaskRunResultParams { /** * Header param: Optional header to specify the beta version(s) to enable. */ - betas?: Array< - | 'mcp-server-2025-07-17' - | 'events-sse-2025-07-24' - | 'webhook-2025-08-12' - | 'findall-2025-09-15' - | 'search-extract-2025-10-10' - | 'field-basis-2025-11-25' - | (string & {}) - >; + betas?: Array; } export declare namespace TaskRun { From 18d8deb7d09db3433a2cc61fe32cb8396385d996 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 02:50:29 +0000 Subject: [PATCH 5/8] ci: pin GitHub Actions to commit SHAs Pin all GitHub Actions referenced in generated workflows (both first-party `actions/*` and third-party) to immutable commit SHAs. Updating pinned actions is now a deliberate codegen-side bump rather than implicit on every workflow run. --- .github/workflows/ci.yml | 14 +++++++------- .github/workflows/detect-breaking-changes.yml | 4 ++-- .github/workflows/publish-npm.yml | 4 ++-- .github/workflows/release-doctor.yml | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b20c1d..e5153d7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,10 +21,10 @@ jobs: runs-on: ${{ github.repository == 'stainless-sdks/parallel-sdk-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Node - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: '20' @@ -43,10 +43,10 @@ jobs: contents: read id-token: write steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Node - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: '20' @@ -61,7 +61,7 @@ jobs: github.repository == 'stainless-sdks/parallel-sdk-typescript' && !startsWith(github.ref, 'refs/heads/stl/') id: github-oidc - uses: actions/github-script@v8 + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 with: script: core.setOutput('github_token', await core.getIDToken()); @@ -80,10 +80,10 @@ jobs: runs-on: ${{ github.repository == 'stainless-sdks/parallel-sdk-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Node - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: '20' diff --git a/.github/workflows/detect-breaking-changes.yml b/.github/workflows/detect-breaking-changes.yml index c2c0ea6..733ec0f 100644 --- a/.github/workflows/detect-breaking-changes.yml +++ b/.github/workflows/detect-breaking-changes.yml @@ -15,13 +15,13 @@ jobs: run: | echo "FETCH_DEPTH=$(expr ${{ github.event.pull_request.commits }} + 1)" >> $GITHUB_ENV - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: # Ensure we can check out the pull request base in the script below. fetch-depth: ${{ env.FETCH_DEPTH }} - name: Set up Node - uses: actions/setup-node@v3 + uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1 with: node-version: '20' - name: Install dependencies diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index 5d6cf1b..a30e70f 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -17,10 +17,10 @@ jobs: id-token: write steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Node - uses: actions/setup-node@v3 + uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1 with: node-version: '20' diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml index fb5d3b9..6ae6d0b 100644 --- a/.github/workflows/release-doctor.yml +++ b/.github/workflows/release-doctor.yml @@ -12,7 +12,7 @@ jobs: if: github.repository == 'parallel-web/parallel-sdk-typescript' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next') steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Check release environment run: | From 1c31062e33450b11449eb3067bdf5145d9546df6 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 02:47:03 +0000 Subject: [PATCH 6/8] chore(tests): remove redundant File import --- tests/uploads.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/uploads.test.ts b/tests/uploads.test.ts index 5480828..186d1b3 100644 --- a/tests/uploads.test.ts +++ b/tests/uploads.test.ts @@ -1,7 +1,6 @@ import fs from 'fs'; import type { ResponseLike } from 'parallel-web/internal/to-file'; import { toFile } from 'parallel-web/core/uploads'; -import { File } from 'node:buffer'; class MyClass { name: string = 'foo'; From 1e5e4ecbc0fb6b3648c7b1477d6f9248b8725778 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 02:47:36 +0000 Subject: [PATCH 7/8] fix(typescript): upgrade tsc-multi so that it works with Node 26 --- package.json | 2 +- yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 1df00af..d94ee7a 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "publint": "^0.2.12", "ts-jest": "^29.1.0", "ts-node": "^10.5.0", - "tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz", + "tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz", "tsconfig-paths": "^4.0.0", "tslib": "^2.8.1", "typescript": "5.8.3", diff --git a/yarn.lock b/yarn.lock index 18e7cbd..00842e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3192,9 +3192,9 @@ ts-node@^10.5.0: v8-compile-cache-lib "^3.0.0" yn "3.1.1" -"tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz": - version "1.1.9" - resolved "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz#777f6f5d9e26bf0e94e5170990dd3a841d6707cd" +"tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz": + version "1.1.11" + resolved "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz#010247051be13b55abdc98f787c017285149f4f2" dependencies: debug "^4.3.7" fast-glob "^3.3.2" From 06a4f549142eb4dbf40b49e8c7e764170a7e540e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 02:58:32 +0000 Subject: [PATCH 8/8] release: 0.6.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 21 +++++++++++++++++++++ package.json | 2 +- src/version.ts | 2 +- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index f1c1e58..bcd0522 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.5.0" + ".": "0.6.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index bc69885..5d34d60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## 0.6.0 (2026-05-19) + +Full Changelog: [v0.5.0...v0.6.0](https://github.com/parallel-web/parallel-sdk-typescript/compare/v0.5.0...v0.6.0) + +### Features + +* **api:** Add parallel_beta typing back ([5ff5f6a](https://github.com/parallel-web/parallel-sdk-typescript/commit/5ff5f6a9732ad1037ee0f11c55034220151c5d83)) +* **api:** Remove beta: tasks, task groups, search, and extract from SDK ([9431910](https://github.com/parallel-web/parallel-sdk-typescript/commit/9431910d0d2dcdf33f22df07ee652dea31774ce8)) +* update npm publish ([40d35bf](https://github.com/parallel-web/parallel-sdk-typescript/commit/40d35bf8b82fc8a0c671b7926c0b3caf92a17e2b)) + + +### Bug Fixes + +* **typescript:** upgrade tsc-multi so that it works with Node 26 ([1e5e4ec](https://github.com/parallel-web/parallel-sdk-typescript/commit/1e5e4ecbc0fb6b3648c7b1477d6f9248b8725778)) + + +### Chores + +* redact api-key headers in debug logs ([d729c39](https://github.com/parallel-web/parallel-sdk-typescript/commit/d729c39f0ecdc26706a2fa3631b7ba210ec7c053)) +* **tests:** remove redundant File import ([1c31062](https://github.com/parallel-web/parallel-sdk-typescript/commit/1c31062e33450b11449eb3067bdf5145d9546df6)) + ## 0.5.0 (2026-05-06) Full Changelog: [v0.4.1...v0.5.0](https://github.com/parallel-web/parallel-sdk-typescript/compare/v0.4.1...v0.5.0) diff --git a/package.json b/package.json index d94ee7a..a6d1bd2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "parallel-web", - "version": "0.5.0", + "version": "0.6.0", "description": "The official TypeScript library for the Parallel API", "author": "Parallel ", "types": "dist/index.d.ts", diff --git a/src/version.ts b/src/version.ts index 1f5d158..30c2817 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.5.0'; // x-release-please-version +export const VERSION = '0.6.0'; // x-release-please-version