gitextract_h79a7hmg/ ├── .devcontainer/ │ └── devcontainer.json ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── ci.yml │ ├── create-releases.yml │ ├── detect-breaking-changes.yml │ ├── publish-jsr.yml │ ├── publish-npm.yml │ └── release-doctor.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── .release-please-manifest.json ├── .stats.yml ├── Brewfile ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── MIGRATION.md ├── README.md ├── SECURITY.md ├── api.md ├── azure.md ├── bin/ │ ├── check-release-environment │ ├── cli │ ├── migration-config.json │ ├── publish-jsr │ └── publish-npm ├── ecosystem-tests/ │ ├── browser-direct-import/ │ │ ├── .gitignore │ │ ├── package.json │ │ ├── public/ │ │ │ ├── index.html │ │ │ └── index.js │ │ ├── src/ │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── bun/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── bun.lockb │ │ ├── openai.test.ts │ │ ├── package.json │ │ └── tsconfig.json │ ├── cli.ts │ ├── cloudflare-worker/ │ │ ├── .editorconfig │ │ ├── .prettierrc │ │ ├── jest.config.cjs │ │ ├── package.json │ │ ├── src/ │ │ │ ├── uploadWebApiTestCases.ts │ │ │ └── worker.ts │ │ ├── tests/ │ │ │ └── test.js │ │ ├── tsconfig.check.json │ │ ├── tsconfig.json │ │ └── wrangler.toml │ ├── deno/ │ │ ├── deno.jsonc │ │ └── main_test.ts │ ├── node-js/ │ │ ├── package.json │ │ └── test.js │ ├── node-ts-cjs/ │ │ ├── jest.config.cjs │ │ ├── package.json │ │ ├── tests/ │ │ │ ├── test-jsdom.ts │ │ │ └── test-node.ts │ │ ├── tsconfig.json │ │ └── tsconfig.nodenext.json │ ├── node-ts-cjs-auto/ │ │ ├── jest.config.cjs │ │ ├── moduleResolution/ │ │ │ ├── node/ │ │ │ │ └── type-tests.ts │ │ │ └── nodenext/ │ │ │ └── type-tests.ts │ │ ├── package.json │ │ ├── tests/ │ │ │ └── test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.nodenext.json │ ├── node-ts-cjs-web/ │ │ ├── jest.config.cjs │ │ ├── package.json │ │ ├── tests/ │ │ │ ├── test-jsdom.ts │ │ │ └── test-node.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.nodenext.json │ │ └── types-test.ts │ ├── node-ts-esm/ │ │ ├── iitm.js │ │ ├── jest.config.cjs │ │ ├── package.json │ │ ├── tests/ │ │ │ ├── test-esnext.ts │ │ │ └── test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.noderesolution.json │ ├── node-ts-esm-auto/ │ │ ├── esnext-type-tests.ts │ │ ├── jest.config.cjs │ │ ├── package.json │ │ ├── tests/ │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── node-ts-esm-web/ │ │ ├── jest.config.cjs │ │ ├── package.json │ │ ├── tests/ │ │ │ └── test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.noderesolution.json │ │ └── types-test.ts │ ├── node-ts4.5-jest28/ │ │ ├── jest.config.cjs │ │ ├── package.json │ │ ├── tests/ │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── proxy.ts │ ├── ts-browser-webpack/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── package.json │ │ ├── public/ │ │ │ └── index.html │ │ ├── src/ │ │ │ ├── index.ts │ │ │ └── test.ts │ │ ├── tsconfig.json │ │ └── webpack.config.js │ └── vercel-edge/ │ ├── .gitignore │ ├── jest.config.cjs │ ├── next.config.js │ ├── package.json │ ├── src/ │ │ ├── pages/ │ │ │ ├── _app.tsx │ │ │ ├── _document.tsx │ │ │ ├── ai-streaming.tsx │ │ │ ├── api/ │ │ │ │ ├── edge-test.ts │ │ │ │ ├── node-test.ts │ │ │ │ ├── query-params.ts │ │ │ │ ├── response.ts │ │ │ │ ├── streaming.ts │ │ │ │ ├── transcribe.ts │ │ │ │ └── vercel-ai-streaming.ts │ │ │ └── index.tsx │ │ └── uploadWebApiTestCases.ts │ ├── tests/ │ │ └── test.ts │ └── tsconfig.json ├── eslint.config.mjs ├── examples/ │ ├── .gitignore │ ├── .keep │ ├── assistant-stream-raw.ts │ ├── assistant-stream.ts │ ├── assistants.ts │ ├── audio.ts │ ├── azure/ │ │ ├── chat.ts │ │ └── realtime/ │ │ ├── websocket.ts │ │ └── ws.ts │ ├── chat-params-types.ts │ ├── demo.ts │ ├── errors.ts │ ├── fine-tuning-data.jsonl │ ├── fine-tuning.ts │ ├── function-call-diy.ts │ ├── function-call-stream-raw.ts │ ├── function-call-stream.ts │ ├── function-call.ts │ ├── image-stream.ts │ ├── logprobs.ts │ ├── package.json │ ├── parsing-run-tools.ts │ ├── parsing-stream.ts │ ├── parsing-tools-stream.ts │ ├── parsing-tools.ts │ ├── parsing.ts │ ├── raw-response.ts │ ├── realtime/ │ │ ├── websocket.ts │ │ └── ws.ts │ ├── responses/ │ │ ├── stream.ts │ │ ├── stream_background.ts │ │ ├── streaming-tools.ts │ │ ├── structured-outputs-tools.ts │ │ ├── structured-outputs.ts │ │ └── websocket.ts │ ├── speech-to-text.ts │ ├── stream-to-client-browser.ts │ ├── stream-to-client-express.ts │ ├── stream-to-client-next.ts │ ├── stream-to-client-raw.ts │ ├── stream.ts │ ├── text-to-speech.ts │ ├── tool-call-helpers-zod.ts │ ├── tool-call-helpers.ts │ ├── tool-calls-stream.ts │ ├── tsconfig.json │ ├── types.ts │ └── ui-generation.ts ├── helpers.md ├── jest.config.ts ├── jsr.json ├── jsr.json.orig ├── package.json ├── realtime.md ├── release-please-config.json ├── scripts/ │ ├── bootstrap │ ├── build │ ├── build-deno │ ├── detect-breaking-changes │ ├── fast-format │ ├── format │ ├── lint │ ├── mock │ ├── test │ └── utils/ │ ├── attw-report.cjs │ ├── check-is-in-git-install.sh │ ├── check-version.cjs │ ├── convert-jsr-readme.cjs │ ├── fix-index-exports.cjs │ ├── git-swap.sh │ ├── make-dist-package-json.cjs │ ├── postprocess-files.cjs │ └── upload-artifact.sh ├── src/ │ ├── _vendor/ │ │ ├── partial-json-parser/ │ │ │ ├── README.md │ │ │ └── parser.ts │ │ └── zod-to-json-schema/ │ │ ├── LICENSE │ │ ├── Options.ts │ │ ├── README.md │ │ ├── Refs.ts │ │ ├── errorMessages.ts │ │ ├── index.ts │ │ ├── parseDef.ts │ │ ├── parsers/ │ │ │ ├── any.ts │ │ │ ├── array.ts │ │ │ ├── bigint.ts │ │ │ ├── boolean.ts │ │ │ ├── branded.ts │ │ │ ├── catch.ts │ │ │ ├── date.ts │ │ │ ├── default.ts │ │ │ ├── effects.ts │ │ │ ├── enum.ts │ │ │ ├── intersection.ts │ │ │ ├── literal.ts │ │ │ ├── map.ts │ │ │ ├── nativeEnum.ts │ │ │ ├── never.ts │ │ │ ├── null.ts │ │ │ ├── nullable.ts │ │ │ ├── number.ts │ │ │ ├── object.ts │ │ │ ├── optional.ts │ │ │ ├── pipeline.ts │ │ │ ├── promise.ts │ │ │ ├── readonly.ts │ │ │ ├── record.ts │ │ │ ├── set.ts │ │ │ ├── string.ts │ │ │ ├── tuple.ts │ │ │ ├── undefined.ts │ │ │ ├── union.ts │ │ │ └── unknown.ts │ │ ├── util.ts │ │ └── zodToJsonSchema.ts │ ├── api-promise.ts │ ├── azure.ts │ ├── beta/ │ │ └── realtime/ │ │ ├── index.ts │ │ ├── internal-base.ts │ │ ├── websocket.ts │ │ └── ws.ts │ ├── client.ts │ ├── core/ │ │ ├── EventEmitter.ts │ │ ├── README.md │ │ ├── api-promise.ts │ │ ├── error.ts │ │ ├── pagination.ts │ │ ├── resource.ts │ │ ├── streaming.ts │ │ └── uploads.ts │ ├── error.ts │ ├── helpers/ │ │ ├── audio.ts │ │ └── zod.ts │ ├── index.ts │ ├── internal/ │ │ ├── README.md │ │ ├── builtin-types.ts │ │ ├── decoders/ │ │ │ └── line.ts │ │ ├── detect-platform.ts │ │ ├── errors.ts │ │ ├── headers.ts │ │ ├── parse.ts │ │ ├── qs/ │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── formats.ts │ │ │ ├── index.ts │ │ │ ├── stringify.ts │ │ │ ├── types.ts │ │ │ └── utils.ts │ │ ├── request-options.ts │ │ ├── shim-types.ts │ │ ├── shims.ts │ │ ├── stream-utils.ts │ │ ├── to-file.ts │ │ ├── types.ts │ │ ├── uploads.ts │ │ ├── utils/ │ │ │ ├── base64.ts │ │ │ ├── bytes.ts │ │ │ ├── env.ts │ │ │ ├── log.ts │ │ │ ├── path.ts │ │ │ ├── query.ts │ │ │ ├── sleep.ts │ │ │ ├── uuid.ts │ │ │ └── values.ts │ │ └── utils.ts │ ├── lib/ │ │ ├── .keep │ │ ├── AbstractChatCompletionRunner.ts │ │ ├── AssistantStream.ts │ │ ├── ChatCompletionRunner.ts │ │ ├── ChatCompletionStream.ts │ │ ├── ChatCompletionStreamingRunner.ts │ │ ├── EventEmitter.ts │ │ ├── EventStream.ts │ │ ├── ResponsesParser.ts │ │ ├── RunnableFunction.ts │ │ ├── Util.ts │ │ ├── chatCompletionUtils.ts │ │ ├── jsonschema.ts │ │ ├── parser.ts │ │ ├── responses/ │ │ │ ├── EventTypes.ts │ │ │ └── ResponseStream.ts │ │ └── transform.ts │ ├── pagination.ts │ ├── realtime/ │ │ ├── index.ts │ │ ├── internal-base.ts │ │ ├── websocket.ts │ │ └── ws.ts │ ├── resource.ts │ ├── resources/ │ │ ├── audio/ │ │ │ ├── audio.ts │ │ │ ├── index.ts │ │ │ ├── speech.ts │ │ │ ├── transcriptions.ts │ │ │ └── translations.ts │ │ ├── audio.ts │ │ ├── batches.ts │ │ ├── beta/ │ │ │ ├── assistants.ts │ │ │ ├── beta.ts │ │ │ ├── chatkit/ │ │ │ │ ├── chatkit.ts │ │ │ │ ├── index.ts │ │ │ │ ├── sessions.ts │ │ │ │ └── threads.ts │ │ │ ├── chatkit.ts │ │ │ ├── index.ts │ │ │ ├── realtime/ │ │ │ │ ├── index.ts │ │ │ │ ├── realtime.ts │ │ │ │ ├── sessions.ts │ │ │ │ └── transcription-sessions.ts │ │ │ ├── realtime.ts │ │ │ ├── threads/ │ │ │ │ ├── index.ts │ │ │ │ ├── messages.ts │ │ │ │ ├── runs/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── runs.ts │ │ │ │ │ └── steps.ts │ │ │ │ ├── runs.ts │ │ │ │ └── threads.ts │ │ │ └── threads.ts │ │ ├── beta.ts │ │ ├── chat/ │ │ │ ├── chat.ts │ │ │ ├── completions/ │ │ │ │ ├── completions.ts │ │ │ │ ├── index.ts │ │ │ │ └── messages.ts │ │ │ ├── completions.ts │ │ │ └── index.ts │ │ ├── chat.ts │ │ ├── completions.ts │ │ ├── containers/ │ │ │ ├── containers.ts │ │ │ ├── files/ │ │ │ │ ├── content.ts │ │ │ │ ├── files.ts │ │ │ │ └── index.ts │ │ │ ├── files.ts │ │ │ └── index.ts │ │ ├── containers.ts │ │ ├── conversations/ │ │ │ ├── api.md │ │ │ ├── conversations.ts │ │ │ ├── index.ts │ │ │ └── items.ts │ │ ├── conversations.ts │ │ ├── embeddings.ts │ │ ├── evals/ │ │ │ ├── evals.ts │ │ │ ├── index.ts │ │ │ ├── runs/ │ │ │ │ ├── index.ts │ │ │ │ ├── output-items.ts │ │ │ │ └── runs.ts │ │ │ └── runs.ts │ │ ├── evals.ts │ │ ├── files.ts │ │ ├── fine-tuning/ │ │ │ ├── alpha/ │ │ │ │ ├── alpha.ts │ │ │ │ ├── graders.ts │ │ │ │ └── index.ts │ │ │ ├── alpha.ts │ │ │ ├── checkpoints/ │ │ │ │ ├── checkpoints.ts │ │ │ │ ├── index.ts │ │ │ │ └── permissions.ts │ │ │ ├── checkpoints.ts │ │ │ ├── fine-tuning.ts │ │ │ ├── index.ts │ │ │ ├── jobs/ │ │ │ │ ├── checkpoints.ts │ │ │ │ ├── index.ts │ │ │ │ └── jobs.ts │ │ │ ├── jobs.ts │ │ │ └── methods.ts │ │ ├── fine-tuning.ts │ │ ├── graders/ │ │ │ ├── grader-models.ts │ │ │ ├── graders.ts │ │ │ └── index.ts │ │ ├── graders.ts │ │ ├── images.ts │ │ ├── index.ts │ │ ├── models.ts │ │ ├── moderations.ts │ │ ├── realtime/ │ │ │ ├── api.md │ │ │ ├── calls.ts │ │ │ ├── client-secrets.ts │ │ │ ├── index.ts │ │ │ └── realtime.ts │ │ ├── realtime.ts │ │ ├── responses/ │ │ │ ├── api.md │ │ │ ├── index.ts │ │ │ ├── input-items.ts │ │ │ ├── input-tokens.ts │ │ │ ├── internal-base.ts │ │ │ ├── responses.ts │ │ │ └── ws.ts │ │ ├── responses.ts │ │ ├── shared.ts │ │ ├── skills/ │ │ │ ├── content.ts │ │ │ ├── index.ts │ │ │ ├── skills.ts │ │ │ ├── versions/ │ │ │ │ ├── content.ts │ │ │ │ ├── index.ts │ │ │ │ └── versions.ts │ │ │ └── versions.ts │ │ ├── skills.ts │ │ ├── uploads/ │ │ │ ├── index.ts │ │ │ ├── parts.ts │ │ │ └── uploads.ts │ │ ├── uploads.ts │ │ ├── vector-stores/ │ │ │ ├── file-batches.ts │ │ │ ├── files.ts │ │ │ ├── index.ts │ │ │ └── vector-stores.ts │ │ ├── vector-stores.ts │ │ ├── videos.ts │ │ ├── webhooks/ │ │ │ ├── api.md │ │ │ ├── index.ts │ │ │ └── webhooks.ts │ │ └── webhooks.ts │ ├── resources.ts │ ├── streaming.ts │ ├── uploads.ts │ └── version.ts ├── tests/ │ ├── _vendor/ │ │ └── partial-json-parser/ │ │ └── partial-json-parsing.test.ts │ ├── api-resources/ │ │ ├── audio/ │ │ │ ├── speech.test.ts │ │ │ ├── transcriptions.test.ts │ │ │ └── translations.test.ts │ │ ├── batches.test.ts │ │ ├── beta/ │ │ │ ├── assistants.test.ts │ │ │ ├── chatkit/ │ │ │ │ ├── sessions.test.ts │ │ │ │ └── threads.test.ts │ │ │ └── threads/ │ │ │ ├── messages.test.ts │ │ │ ├── runs/ │ │ │ │ ├── runs.test.ts │ │ │ │ └── steps.test.ts │ │ │ └── threads.test.ts │ │ ├── chat/ │ │ │ └── completions/ │ │ │ ├── completions.test.ts │ │ │ └── messages.test.ts │ │ ├── completions.test.ts │ │ ├── containers/ │ │ │ ├── containers.test.ts │ │ │ └── files/ │ │ │ ├── content.test.ts │ │ │ └── files.test.ts │ │ ├── conversations/ │ │ │ ├── conversations.test.ts │ │ │ └── items.test.ts │ │ ├── embeddings-base64-response.json │ │ ├── embeddings-float-response.json │ │ ├── embeddings.test.ts │ │ ├── evals/ │ │ │ ├── evals.test.ts │ │ │ └── runs/ │ │ │ ├── output-items.test.ts │ │ │ └── runs.test.ts │ │ ├── files.test.ts │ │ ├── fine-tuning/ │ │ │ ├── alpha/ │ │ │ │ └── graders.test.ts │ │ │ ├── checkpoints/ │ │ │ │ └── permissions.test.ts │ │ │ └── jobs/ │ │ │ ├── checkpoints.test.ts │ │ │ └── jobs.test.ts │ │ ├── images.test.ts │ │ ├── models.test.ts │ │ ├── moderations.test.ts │ │ ├── realtime/ │ │ │ ├── calls.test.ts │ │ │ └── client-secrets.test.ts │ │ ├── responses/ │ │ │ ├── input-items.test.ts │ │ │ ├── input-tokens.test.ts │ │ │ └── responses.test.ts │ │ ├── skills/ │ │ │ ├── skills.test.ts │ │ │ └── versions/ │ │ │ ├── content.test.ts │ │ │ └── versions.test.ts │ │ ├── uploads/ │ │ │ ├── parts.test.ts │ │ │ └── uploads.test.ts │ │ ├── vector-stores/ │ │ │ ├── file-batches.test.ts │ │ │ ├── files.test.ts │ │ │ └── vector-stores.test.ts │ │ ├── videos.test.ts │ │ └── webhooks.test.ts │ ├── backwards-compat-resource-exports.test.ts │ ├── base64.test.ts │ ├── buildHeaders.test.ts │ ├── form.test.ts │ ├── helpers/ │ │ └── zod.test.ts │ ├── index.test.ts │ ├── internal/ │ │ └── decoders/ │ │ └── line.test.ts │ ├── lib/ │ │ ├── ChatCompletionRunFunctions.test.ts │ │ ├── ChatCompletionStream.test.ts │ │ ├── ResponseStream.test.ts │ │ ├── __snapshots__/ │ │ │ ├── ChatCompletionStream.test.ts.snap │ │ │ ├── ResponseStream.test.ts.snap │ │ │ └── parser.test.ts.snap │ │ ├── azure.test.ts │ │ ├── parser.test.ts │ │ └── transform.test.ts │ ├── log.test.ts │ ├── path.test.ts │ ├── qs/ │ │ ├── empty-keys-cases.ts │ │ ├── stringify.test.ts │ │ └── utils.test.ts │ ├── responses.test.ts │ ├── responsesItems.test.ts │ ├── streaming/ │ │ └── assistants/ │ │ └── assistant.test.ts │ ├── streaming.test.ts │ ├── stringifyQuery.test.ts │ ├── uploads.test.ts │ └── utils/ │ ├── mock-fetch.ts │ ├── mock-snapshots.ts │ └── typing.ts ├── tsc-multi.json ├── tsconfig.build.json ├── tsconfig.deno.json ├── tsconfig.dist-src.json └── tsconfig.json