{"_id":"@ank1015/agents-provider-openai-spec","_rev":"2-8cdf509f22bfd6d9f22fb0e4597fe1c8","name":"@ank1015/agents-provider-openai-spec","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@ank1015/agents-provider-openai-spec","version":"0.1.0","keywords":["agents","openai","gpt","llm","typescript"],"license":"UNLICENSED","_id":"@ank1015/agents-provider-openai-spec@0.1.0","maintainers":[{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"}],"homepage":"https://github.com/ank1015/agent#readme","bugs":{"url":"https://github.com/ank1015/agent/issues"},"dist":{"shasum":"e7be500d18e2714c54f46af933a01696ae5cfb75","tarball":"https://registry.npmjs.org/@ank1015/agents-provider-openai-spec/-/agents-provider-openai-spec-0.1.0.tgz","fileCount":15,"integrity":"sha512-tbYPtFFzgLce9iN0TixfDLBv4yBgHwl+61OjyxC+OdC66b9c7M3882ZvfepUDvvxHbEtvDxX6FHaKOTUCRoweA==","signatures":[{"sig":"MEUCIDSw3Obtum7QDsM5ura0fgdNaSmKNhzR28qWK9FmMxw1AiEA1eSzvScVQEGAgf39qeT/1b7O/giQZsZFc9LIdo68U0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13806},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./config":{"types":"./dist/config.d.ts","import":"./dist/config.js"},"./models":{"types":"./dist/models.d.ts","import":"./dist/models.js"}},"gitHead":"431be335969ec0ba4d3eb5bd8127b8f9bc2f2005","scripts":{"test":"vitest run && tsc --noEmit --strict --skipLibCheck --module NodeNext --moduleResolution NodeNext --target ES2022 --ignoreConfig tests/*.test.ts","build":"tsc -b","check":"tsc -b --pretty false","clean":"rm -rf dist ../../.tsbuildinfo/provider-openai-spec.tsbuildinfo","prepack":"tsc -b"},"_npmUser":{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"},"repository":{"url":"git+https://github.com/ank1015/agent.git","type":"git","directory":"packages/provider-openai-spec"},"_npmVersion":"11.17.0","description":"OpenAI provider static spec (model catalog, config + per-call option types) for @ank1015/agents.","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"zod":"^4.4.3","openai":"^6.42.0","@ank1015/agents-contracts":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/agents-provider-openai-spec_0.1.0_1782740642352_0.7033266745639328","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ank1015/agents-provider-openai-spec","version":"0.1.1","description":"OpenAI provider static spec (model catalog, config + per-call option types) for @ank1015/agents.","keywords":["agents","openai","gpt","llm","typescript"],"license":"UNLICENSED","type":"module","sideEffects":false,"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/ank1015/agent.git","directory":"packages/provider-openai-spec"},"bugs":{"url":"https://github.com/ank1015/agent/issues"},"homepage":"https://github.com/ank1015/agent#readme","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./config":{"types":"./dist/config.d.ts","import":"./dist/config.js"},"./models":{"types":"./dist/models.d.ts","import":"./dist/models.js"}},"publishConfig":{"access":"public"},"scripts":{"prepack":"tsc -b","build":"tsc -b","check":"tsc -b --pretty false","test":"vitest run && tsc --noEmit --strict --skipLibCheck --module NodeNext --moduleResolution NodeNext --target ES2022 --ignoreConfig tests/*.test.ts","clean":"rm -rf dist ../../.tsbuildinfo/provider-openai-spec.tsbuildinfo"},"dependencies":{"@ank1015/agents-contracts":"^0.1.11","openai":"^6.46.0","zod":"^4.4.3"},"devDependencies":{"vitest":"^4.1.9"},"gitHead":"621232a246d0d99569ea3cf02bdc37801c1c71df","_id":"@ank1015/agents-provider-openai-spec@0.1.1","_nodeVersion":"26.4.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-Qjoq/2PrbYItbKJTAddGPuq+oTuzKTH92+ioPXkrUAvotYjpdE90ftn+ITDal/C8r+DnotJ3puy2imCuYhlMtA==","shasum":"b809866e91563f48488403189b560cad585960ff","tarball":"https://registry.npmjs.org/@ank1015/agents-provider-openai-spec/-/agents-provider-openai-spec-0.1.1.tgz","fileCount":15,"unpackedSize":23703,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAKjDJnacfc33CTyaUOzDXh4I8e5TA7HfbuXpw0zI6VOAiEAlmeIDfVAni+Tih1K0N9cvHTxk7KGq95g/ylRsHpqAS0="}]},"_npmUser":{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"},"directories":{},"maintainers":[{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agents-provider-openai-spec_0.1.1_1783677158552_0.05728045835103579"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-29T13:44:02.173Z","modified":"2026-07-10T09:52:38.822Z","0.1.0":"2026-06-29T13:44:02.498Z","0.1.1":"2026-07-10T09:52:38.682Z"},"bugs":{"url":"https://github.com/ank1015/agent/issues"},"license":"UNLICENSED","homepage":"https://github.com/ank1015/agent#readme","keywords":["agents","openai","gpt","llm","typescript"],"repository":{"type":"git","url":"git+https://github.com/ank1015/agent.git","directory":"packages/provider-openai-spec"},"description":"OpenAI provider static spec (model catalog, config + per-call option types) for @ank1015/agents.","maintainers":[{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"}],"readme":"# @ank1015/agents-provider-openai-spec\n\nStatic OpenAI provider metadata for the `@ank1015/agents` packages.\n\nThis package contains no live OpenAI client. It provides provider identity, config types, provider-specific type augmentation, and a static model catalog that other packages can consume without depending on the OpenAI runtime adapter.\n\n## Install\n\n```sh\npnpm add @ank1015/agents-provider-openai-spec\n```\n\n## What This Package Provides\n\n- `OPENAI_PROVIDER` provider id.\n- `openAIProviderConfigSchema` for provider config validation.\n- `OpenAIProviderOptions` based on OpenAI Responses API request options.\n- `OpenAINativeMessage` based on OpenAI SDK response objects.\n- `OPENAI_MODELS` static model catalog.\n- `OpenAIModelId` literal union derived from the catalog.\n- Contract augmentation for `@ank1015/agents-contracts`.\n\n## Import Paths\n\n```ts\nimport {\n  OPENAI_MODELS,\n  OPENAI_PROVIDER,\n  getOpenAIModel,\n} from '@ank1015/agents-provider-openai-spec';\n\nimport { openAIProviderConfigSchema } from '@ank1015/agents-provider-openai-spec/config';\nimport type { OpenAIModelId } from '@ank1015/agents-provider-openai-spec/models';\n```\n\n## Provider Config\n\nOpenAI provider config uses a secret reference for the API key. Environment references keep keys out of config:\n\n```ts\nimport {\n  OPENAI_PROVIDER,\n  openAIProviderConfigSchema,\n} from '@ank1015/agents-provider-openai-spec';\n\nconst config = openAIProviderConfigSchema.parse({\n  provider: OPENAI_PROVIDER,\n  apiKey: {\n    type: 'env',\n    name: 'OPENAI_API_KEY',\n  },\n});\n```\n\nThe live adapter resolves the referenced environment variable when it creates the OpenAI SDK client. Callers that already have a key from another secret source can pass a direct value reference:\n\n```ts\nconst config = openAIProviderConfigSchema.parse({\n  provider: OPENAI_PROVIDER,\n  apiKey: {\n    type: 'value',\n    value: openAIKey,\n  },\n});\n```\n\n## Model Catalog\n\n`OPENAI_MODELS` is a static snapshot used for model lookup, UI metadata, defaults, and compile-time model-id narrowing:\n\n```ts\nimport {\n  OPENAI_MODELS,\n  getOpenAIModel,\n} from '@ank1015/agents-provider-openai-spec';\n\nconst model = getOpenAIModel('gpt-5.6-terra');\n```\n\nThe catalog currently includes:\n\n- `gpt-5.6-sol`\n- `gpt-5.6-terra`\n- `gpt-5.6-luna`\n- `gpt-5.5`\n- `gpt-5.4-mini`\n- `gpt-5.4-nano`\n\nStatic model metadata can age as providers release or retire models. Treat pricing, context windows, and max-token metadata as package-versioned snapshot data. GPT-5.6 Sol, Terra, Luna, and GPT-5.5 include long-context tiers: prompts over 272K input tokens use 2x input/cache rates and 1.5x output rates for the full request. GPT-5.4 mini and nano remain flat-priced.\n\n## Type Augmentation\n\nImporting this package augments `@ank1015/agents-contracts` so OpenAI requests can narrow provider-specific fields:\n\n```ts\nimport type { LLMRequest } from '@ank1015/agents-contracts';\nimport type { OpenAIProvider } from '@ank1015/agents-provider-openai-spec';\n\nconst request: LLMRequest<OpenAIProvider> = {\n  provider: 'openai',\n  modelId: 'gpt-5.6-sol',\n  messages: [],\n  providerOptions: {\n    reasoning: {\n      effort: 'max',\n      mode: 'pro',\n      context: 'all_turns',\n    },\n    prompt_cache_key: 'tenant:example',\n    prompt_cache_options: {\n      mode: 'implicit',\n      ttl: '30m',\n    },\n  },\n};\n```\n\n## Versioning\n\nThis package is currently `0.1.1`. Until `1.0.0`, model metadata and provider option types may evolve as the surrounding agent runtime settles.\n","readmeFilename":"README.md"}