diff --git a/README.md b/README.md index fb4e1a8..613c2fd 100644 --- a/README.md +++ b/README.md @@ -520,6 +520,11 @@ TypeScript >= 5.0 is supported. Version 0.38 drops CommonJS and TypeScript 4 support. Use ESM and TypeScript 5 or newer. +Two nested response aliases now match their generated container types: + +- `InputItem.InputMessage.ContentPartArray` is the full content array, not one content part. +- `ResponsesUsage.ToolCallsDetails` is the full per-tool record, not one tool's details. + The following runtimes are supported: - Web browsers (Up-to-date Chrome, Firefox, Safari, Edge, and more) diff --git a/e2e/typescript-5-compat.mts b/e2e/typescript-5-compat.mts index 4908c33..e751f13 100644 --- a/e2e/typescript-5-compat.mts +++ b/e2e/typescript-5-compat.mts @@ -1,6 +1,11 @@ // oxlint-disable no-restricted-imports -- Verify packaged public entrypoints. import Perplexity, { APIError, type ClientOptions } from '@perplexity-ai/perplexity_ai'; +import type { Chat as AsyncChat } from '@perplexity-ai/perplexity_ai/resources/async/chat/chat.mjs'; +import type { Completions as AsyncCompletions } from '@perplexity-ai/perplexity_ai/resources/async/chat/completions.mjs'; +import type { Sessions } from '@perplexity-ai/perplexity_ai/resources/browser/sessions.mjs'; +import type { Completions } from '@perplexity-ai/perplexity_ai/resources/chat/completions.mjs'; import type { CompletionCreateParamsBase } from '@perplexity-ai/perplexity_ai/resources/chat/completions.mjs'; +import type { Files } from '@perplexity-ai/perplexity_ai/resources/responses/files.mjs'; import type { ResponseCreateParamsBase } from '@perplexity-ai/perplexity_ai/resources/responses/responses.mjs'; const options: ClientOptions = { @@ -14,6 +19,26 @@ const completion: CompletionCreateParamsBase = { }; const response: ResponseCreateParamsBase = { input: 'Hello' }; +type LegacyNamespaceAliases = [ + AsyncChat.Completions, + AsyncChat.CompletionCreateResponse, + AsyncChat.CompletionListResponse, + AsyncChat.CompletionGetResponse, + AsyncChat.CompletionCreateParams, + AsyncChat.CompletionGetParams, + AsyncCompletions.CompletionCreateResponse, + AsyncCompletions.CompletionListResponse, + AsyncCompletions.CompletionGetResponse, + AsyncCompletions.CompletionCreateParams, + AsyncCompletions.CompletionGetParams, + Sessions.SessionCreateParams, + Completions.CompletionCreateParams, + Completions.CompletionCreateParamsNonStreaming, + Completions.CompletionCreateParamsStreaming, + Files.FileContentParams, +]; + void client.chat.completions.create(completion); void client.responses.create(response); void APIError; +void ({} as LegacyNamespaceAliases); diff --git a/src/resources/async/chat/chat.ts b/src/resources/async/chat/chat.ts index 8ba8382..0917d85 100644 --- a/src/resources/async/chat/chat.ts +++ b/src/resources/async/chat/chat.ts @@ -1,4 +1,3 @@ import { Async } from '../../../generated/api.js'; -export const Chat = Async.Chat; -export type Chat = InstanceType; +export import Chat = Async.Chat; diff --git a/src/resources/async/chat/completions.ts b/src/resources/async/chat/completions.ts index 774e8a4..17de7ea 100644 --- a/src/resources/async/chat/completions.ts +++ b/src/resources/async/chat/completions.ts @@ -1,7 +1,6 @@ import { Async } from '../../../generated/api.js'; -export const Completions = Async.Chat.Completions; -export type Completions = InstanceType; +export import Completions = Async.Chat.Completions; export type CompletionCreateParams = Async.Chat.CompletionCreateParams; export type CompletionCreateResponse = Async.Chat.CompletionCreateResponse; export type CompletionGetParams = Async.Chat.CompletionGetParams; diff --git a/src/resources/browser/sessions.ts b/src/resources/browser/sessions.ts index 201fb0c..8e4a393 100644 --- a/src/resources/browser/sessions.ts +++ b/src/resources/browser/sessions.ts @@ -1,5 +1,4 @@ import { Browser } from '../../generated/api.js'; -export const Sessions = Browser.Sessions; -export type Sessions = InstanceType; +export import Sessions = Browser.Sessions; export type SessionCreateParams = Browser.SessionCreateParams; diff --git a/src/resources/chat/completions.ts b/src/resources/chat/completions.ts index db9cfe4..bcbb198 100644 --- a/src/resources/chat/completions.ts +++ b/src/resources/chat/completions.ts @@ -1,7 +1,6 @@ import { Chat } from '../../generated/api.js'; -export const Completions = Chat.Completions; -export type Completions = InstanceType; +export import Completions = Chat.Completions; export type CompletionCreateParams = Chat.CompletionCreateParams; export type CompletionCreateParamsBase = Omit; export type CompletionCreateParamsNonStreaming = Chat.CompletionCreateParamsNonStreaming; diff --git a/src/resources/responses/files.ts b/src/resources/responses/files.ts index e4d6ae7..f8730b7 100644 --- a/src/resources/responses/files.ts +++ b/src/resources/responses/files.ts @@ -1,5 +1,4 @@ import { Responses } from '../../generated/api.js'; -export const Files = Responses.Files; -export type Files = InstanceType; +export import Files = Responses.Files; export type FileContentParams = Responses.FileContentParams;