@vibesdotdev/integrations-openai 0.0.0-stage → 1.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +126 -0
- package/README.md +38 -2
- package/dist/ai/index.d.ts +4 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +4 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/metadata/assets/logos/providers/openai-dark.svg +12 -0
- package/dist/ai/metadata/assets/logos/providers/openai.svg +12 -0
- package/dist/ai/metadata/provider-models/openai/openai-gpt-5-4-mini.json +41 -0
- package/dist/ai/metadata/provider-models/openai/openai-gpt-5-4.json +41 -0
- package/dist/ai/metadata/provider-models/openai/openai-gpt-5-5.json +41 -0
- package/dist/ai/metadata/provider-models/openai/openai-gpt-5-6-luna.json +7 -0
- package/dist/ai/metadata/provider-models/openai/openai-gpt-5-6-sol.json +7 -0
- package/dist/ai/metadata/provider-models/openai/openai-gpt-5-6-terra.json +7 -0
- package/dist/ai/metadata/provider-models/openai/openai-gpt-6-1-sol.json +41 -0
- package/dist/ai/metadata/provider-models/openai/openai-gpt-6-1-terra.json +40 -0
- package/dist/ai/metadata/provider-models/openai/openai-gpt-6-astra.json +41 -0
- package/dist/ai/metadata/provider-models/openai/openai-gpt-6-luna.json +41 -0
- package/dist/ai/metadata/provider-models/openai/openai-gpt-image-1.json +34 -0
- package/dist/ai/metadata/providers/openai.json +36 -0
- package/dist/ai/openai-api.d.ts +39 -0
- package/dist/ai/openai-api.d.ts.map +1 -0
- package/dist/ai/openai-api.js +94 -0
- package/dist/ai/openai-api.js.map +1 -0
- package/dist/ai/openai-client.d.ts +12 -0
- package/dist/ai/openai-client.d.ts.map +1 -0
- package/dist/ai/openai-client.js +37 -0
- package/dist/ai/openai-client.js.map +1 -0
- package/dist/ai/openai-router-codec.d.ts +32 -0
- package/dist/ai/openai-router-codec.d.ts.map +1 -0
- package/dist/ai/openai-router-codec.js +225 -0
- package/dist/ai/openai-router-codec.js.map +1 -0
- package/dist/ai/openai.api.plugin.d.ts +6 -0
- package/dist/ai/openai.api.plugin.d.ts.map +1 -0
- package/dist/ai/openai.api.plugin.js +147 -0
- package/dist/ai/openai.api.plugin.js.map +1 -0
- package/dist/ai/openai.consumer.plugin.d.ts +6 -0
- package/dist/ai/openai.consumer.plugin.d.ts.map +1 -0
- package/dist/ai/openai.consumer.plugin.js +28 -0
- package/dist/ai/openai.consumer.plugin.js.map +1 -0
- package/dist/ai/openai.plugin.d.ts +2 -0
- package/dist/ai/openai.plugin.d.ts.map +1 -0
- package/dist/ai/openai.plugin.js +2 -0
- package/dist/ai/openai.plugin.js.map +1 -0
- package/dist/ai/providers/cloud/frontier/openai/config/config.openai.descriptor.d.ts +4194 -0
- package/dist/ai/providers/cloud/frontier/openai/config/config.openai.descriptor.d.ts.map +1 -0
- package/dist/ai/providers/cloud/frontier/openai/config/config.openai.descriptor.js +28 -0
- package/dist/ai/providers/cloud/frontier/openai/config/config.openai.descriptor.js.map +1 -0
- package/dist/ai/providers/cloud/frontier/openai/config/schemas/index.d.ts +26 -0
- package/dist/ai/providers/cloud/frontier/openai/config/schemas/index.d.ts.map +1 -0
- package/dist/ai/providers/cloud/frontier/openai/config/schemas/index.js +39 -0
- package/dist/ai/providers/cloud/frontier/openai/config/schemas/index.js.map +1 -0
- package/dist/ai/providers/cloud/frontier/openai/index.d.ts +4 -0
- package/dist/ai/providers/cloud/frontier/openai/index.d.ts.map +1 -0
- package/dist/ai/providers/cloud/frontier/openai/index.js +4 -0
- package/dist/ai/providers/cloud/frontier/openai/index.js.map +1 -0
- package/dist/ai/providers/cloud/frontier/openai/provider.openai.descriptor.d.ts +183 -0
- package/dist/ai/providers/cloud/frontier/openai/provider.openai.descriptor.d.ts.map +1 -0
- package/dist/ai/providers/cloud/frontier/openai/provider.openai.descriptor.js +190 -0
- package/dist/ai/providers/cloud/frontier/openai/provider.openai.descriptor.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.spec.descriptor.d.ts +25 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.spec.descriptor.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.spec.descriptor.js +20 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.spec.descriptor.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.spec.impl.d.ts +36 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.spec.impl.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.spec.impl.js +228 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.spec.impl.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.transport.descriptor.d.ts +13 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.transport.descriptor.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.transport.descriptor.js +11 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.transport.descriptor.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.transport.impl.consumer.d.ts +47 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.transport.impl.consumer.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.transport.impl.consumer.js +111 -0
- package/dist/ai/providers/openai/codex-app-server/codex-app-server.transport.impl.consumer.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/codex-failure.d.ts +166 -0
- package/dist/ai/providers/openai/codex-app-server/codex-failure.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/codex-failure.js +229 -0
- package/dist/ai/providers/openai/codex-app-server/codex-failure.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/connection.d.ts +83 -0
- package/dist/ai/providers/openai/codex-app-server/connection.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/connection.js +222 -0
- package/dist/ai/providers/openai/codex-app-server/connection.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/failure-chunk.d.ts +10 -0
- package/dist/ai/providers/openai/codex-app-server/failure-chunk.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/failure-chunk.js +33 -0
- package/dist/ai/providers/openai/codex-app-server/failure-chunk.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/index.d.ts +10 -0
- package/dist/ai/providers/openai/codex-app-server/index.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/index.js +9 -0
- package/dist/ai/providers/openai/codex-app-server/index.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/protocol.d.ts +162 -0
- package/dist/ai/providers/openai/codex-app-server/protocol.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/protocol.js +116 -0
- package/dist/ai/providers/openai/codex-app-server/protocol.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/runtime-execution.d.ts +3 -0
- package/dist/ai/providers/openai/codex-app-server/runtime-execution.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/runtime-execution.js +3 -0
- package/dist/ai/providers/openai/codex-app-server/runtime-execution.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/runtime-transport.consumer.d.ts +5 -0
- package/dist/ai/providers/openai/codex-app-server/runtime-transport.consumer.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/runtime-transport.consumer.js +16 -0
- package/dist/ai/providers/openai/codex-app-server/runtime-transport.consumer.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/session.d.ts +24 -0
- package/dist/ai/providers/openai/codex-app-server/session.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/session.js +392 -0
- package/dist/ai/providers/openai/codex-app-server/session.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/spawner.d.ts +9 -0
- package/dist/ai/providers/openai/codex-app-server/spawner.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/spawner.js +48 -0
- package/dist/ai/providers/openai/codex-app-server/spawner.js.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/tool-name.d.ts +14 -0
- package/dist/ai/providers/openai/codex-app-server/tool-name.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-app-server/tool-name.js +45 -0
- package/dist/ai/providers/openai/codex-app-server/tool-name.js.map +1 -0
- package/dist/ai/providers/openai/codex-subscription.d.ts +48 -0
- package/dist/ai/providers/openai/codex-subscription.d.ts.map +1 -0
- package/dist/ai/providers/openai/codex-subscription.js +128 -0
- package/dist/ai/providers/openai/codex-subscription.js.map +1 -0
- package/dist/ai/providers/openai/detection/index.d.ts +2 -0
- package/dist/ai/providers/openai/detection/index.d.ts.map +1 -0
- package/dist/ai/providers/openai/detection/index.js +2 -0
- package/dist/ai/providers/openai/detection/index.js.map +1 -0
- package/dist/ai/providers/openai/detection/system.d.ts +5 -0
- package/dist/ai/providers/openai/detection/system.d.ts.map +1 -0
- package/dist/ai/providers/openai/detection/system.js +25 -0
- package/dist/ai/providers/openai/detection/system.js.map +1 -0
- package/dist/ai/providers/openai/docs/ai.providers.openai.docs.descriptor.d.ts +4 -0
- package/dist/ai/providers/openai/docs/ai.providers.openai.docs.descriptor.d.ts.map +1 -0
- package/dist/ai/providers/openai/docs/ai.providers.openai.docs.descriptor.js +39 -0
- package/dist/ai/providers/openai/docs/ai.providers.openai.docs.descriptor.js.map +1 -0
- package/dist/ai/providers/openai/index.d.ts +4 -0
- package/dist/ai/providers/openai/index.d.ts.map +1 -0
- package/dist/ai/providers/openai/index.js +4 -0
- package/dist/ai/providers/openai/index.js.map +1 -0
- package/dist/ai/providers/openai/openai.provider.impl.d.ts +50 -0
- package/dist/ai/providers/openai/openai.provider.impl.d.ts.map +1 -0
- package/dist/ai/providers/openai/openai.provider.impl.js +331 -0
- package/dist/ai/providers/openai/openai.provider.impl.js.map +1 -0
- package/dist/ai/providers/openai/recommendations.d.ts +25 -0
- package/dist/ai/providers/openai/recommendations.d.ts.map +1 -0
- package/dist/ai/providers/openai/recommendations.js +33 -0
- package/dist/ai/providers/openai/recommendations.js.map +1 -0
- package/dist/ai/transcription/index.d.ts +4 -0
- package/dist/ai/transcription/index.d.ts.map +1 -0
- package/dist/ai/transcription/index.js +4 -0
- package/dist/ai/transcription/index.js.map +1 -0
- package/dist/ai/transcription/metadata/assets/logos/providers/openai-dark.svg +12 -0
- package/dist/ai/transcription/metadata/assets/logos/providers/openai.svg +12 -0
- package/dist/ai/transcription/metadata/provider-models/openai-transcription/openai-transcription-gpt-4o-mini-transcribe-2025-12-15.json +20 -0
- package/dist/ai/transcription/metadata/provider-models/openai-transcription/openai-transcription-gpt-4o-mini-transcribe.json +17 -0
- package/dist/ai/transcription/metadata/provider-models/openai-transcription/openai-transcription-gpt-4o-transcribe.json +17 -0
- package/dist/ai/transcription/metadata/provider-models/openai-transcription/openai-transcription-whisper-1.json +16 -0
- package/dist/ai/transcription/metadata/providers/openai-transcription.json +30 -0
- package/dist/ai/transcription/provider.plugin.d.ts +6 -0
- package/dist/ai/transcription/provider.plugin.d.ts.map +1 -0
- package/dist/ai/transcription/provider.plugin.js +120 -0
- package/dist/ai/transcription/provider.plugin.js.map +1 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/config/config.openai-transcription.descriptor.d.ts +4194 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/config/config.openai-transcription.descriptor.d.ts.map +1 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/config/config.openai-transcription.descriptor.js +53 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/config/config.openai-transcription.descriptor.js.map +1 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/config/schemas/index.d.ts +17 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/config/schemas/index.d.ts.map +1 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/config/schemas/index.js +10 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/config/schemas/index.js.map +1 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/index.d.ts +5 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/index.d.ts.map +1 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/index.js +4 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/index.js.map +1 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/provider.openai-transcription.descriptor.d.ts +183 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/provider.openai-transcription.descriptor.d.ts.map +1 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/provider.openai-transcription.descriptor.js +49 -0
- package/dist/ai/transcription/providers/cloud/speech/openai-transcription/provider.openai-transcription.descriptor.js.map +1 -0
- package/dist/ai/transcription/providers/openai-transcription/detection/index.d.ts +2 -0
- package/dist/ai/transcription/providers/openai-transcription/detection/index.d.ts.map +1 -0
- package/dist/ai/transcription/providers/openai-transcription/detection/index.js +2 -0
- package/dist/ai/transcription/providers/openai-transcription/detection/index.js.map +1 -0
- package/dist/ai/transcription/providers/openai-transcription/detection/system.d.ts +4 -0
- package/dist/ai/transcription/providers/openai-transcription/detection/system.d.ts.map +1 -0
- package/dist/ai/transcription/providers/openai-transcription/detection/system.js +21 -0
- package/dist/ai/transcription/providers/openai-transcription/detection/system.js.map +1 -0
- package/dist/ai/transcription/providers/openai-transcription/index.d.ts +4 -0
- package/dist/ai/transcription/providers/openai-transcription/index.d.ts.map +1 -0
- package/dist/ai/transcription/providers/openai-transcription/index.js +4 -0
- package/dist/ai/transcription/providers/openai-transcription/index.js.map +1 -0
- package/dist/ai/transcription/providers/openai-transcription/openai-transcription.provider.impl.d.ts +20 -0
- package/dist/ai/transcription/providers/openai-transcription/openai-transcription.provider.impl.d.ts.map +1 -0
- package/dist/ai/transcription/providers/openai-transcription/openai-transcription.provider.impl.js +102 -0
- package/dist/ai/transcription/providers/openai-transcription/openai-transcription.provider.impl.js.map +1 -0
- package/dist/ai/transcription/providers/openai-transcription/recommendations.d.ts +24 -0
- package/dist/ai/transcription/providers/openai-transcription/recommendations.d.ts.map +1 -0
- package/dist/ai/transcription/providers/openai-transcription/recommendations.js +74 -0
- package/dist/ai/transcription/providers/openai-transcription/recommendations.js.map +1 -0
- package/dist/ai/tts/index.d.ts +4 -0
- package/dist/ai/tts/index.d.ts.map +1 -0
- package/dist/ai/tts/index.js +4 -0
- package/dist/ai/tts/index.js.map +1 -0
- package/dist/ai/tts/metadata/assets/logos/providers/openai-dark.svg +12 -0
- package/dist/ai/tts/metadata/assets/logos/providers/openai.svg +12 -0
- package/dist/ai/tts/metadata/provider-models/openai-tts/openai-tts-gpt-4o-mini-tts-2025-12-15.json +17 -0
- package/dist/ai/tts/metadata/provider-models/openai-tts/openai-tts-gpt-4o-mini-tts.json +17 -0
- package/dist/ai/tts/metadata/provider-models/openai-tts/openai-tts-tts-1-hd.json +17 -0
- package/dist/ai/tts/metadata/provider-models/openai-tts/openai-tts-tts-1.json +17 -0
- package/dist/ai/tts/metadata/providers/openai-tts.json +32 -0
- package/dist/ai/tts/provider.plugin.d.ts +6 -0
- package/dist/ai/tts/provider.plugin.d.ts.map +1 -0
- package/dist/ai/tts/provider.plugin.js +120 -0
- package/dist/ai/tts/provider.plugin.js.map +1 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/config/config.openai-tts.descriptor.d.ts +4194 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/config/config.openai-tts.descriptor.d.ts.map +1 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/config/config.openai-tts.descriptor.js +53 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/config/config.openai-tts.descriptor.js.map +1 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/config/schemas/index.d.ts +17 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/config/schemas/index.d.ts.map +1 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/config/schemas/index.js +10 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/config/schemas/index.js.map +1 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/index.d.ts +5 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/index.d.ts.map +1 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/index.js +4 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/index.js.map +1 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/provider.openai-tts.descriptor.d.ts +183 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/provider.openai-tts.descriptor.d.ts.map +1 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/provider.openai-tts.descriptor.js +49 -0
- package/dist/ai/tts/providers/cloud/speech/openai-tts/provider.openai-tts.descriptor.js.map +1 -0
- package/dist/ai/tts/providers/openai-tts/detection/index.d.ts +2 -0
- package/dist/ai/tts/providers/openai-tts/detection/index.d.ts.map +1 -0
- package/dist/ai/tts/providers/openai-tts/detection/index.js +2 -0
- package/dist/ai/tts/providers/openai-tts/detection/index.js.map +1 -0
- package/dist/ai/tts/providers/openai-tts/detection/system.d.ts +4 -0
- package/dist/ai/tts/providers/openai-tts/detection/system.d.ts.map +1 -0
- package/dist/ai/tts/providers/openai-tts/detection/system.js +21 -0
- package/dist/ai/tts/providers/openai-tts/detection/system.js.map +1 -0
- package/dist/ai/tts/providers/openai-tts/index.d.ts +4 -0
- package/dist/ai/tts/providers/openai-tts/index.d.ts.map +1 -0
- package/dist/ai/tts/providers/openai-tts/index.js +4 -0
- package/dist/ai/tts/providers/openai-tts/index.js.map +1 -0
- package/dist/ai/tts/providers/openai-tts/openai-tts.provider.impl.d.ts +24 -0
- package/dist/ai/tts/providers/openai-tts/openai-tts.provider.impl.d.ts.map +1 -0
- package/dist/ai/tts/providers/openai-tts/openai-tts.provider.impl.js +120 -0
- package/dist/ai/tts/providers/openai-tts/openai-tts.provider.impl.js.map +1 -0
- package/dist/ai/tts/providers/openai-tts/recommendations.d.ts +24 -0
- package/dist/ai/tts/providers/openai-tts/recommendations.d.ts.map +1 -0
- package/dist/ai/tts/providers/openai-tts/recommendations.js +74 -0
- package/dist/ai/tts/providers/openai-tts/recommendations.js.map +1 -0
- package/dist/external/codex/index.d.ts +162 -0
- package/dist/external/codex/index.d.ts.map +1 -0
- package/dist/external/codex/index.js +5 -0
- package/dist/external/codex/index.js.map +1 -0
- package/dist/external/codex/manifest.d.ts +9 -0
- package/dist/external/codex/manifest.d.ts.map +1 -0
- package/dist/external/codex/manifest.js +201 -0
- package/dist/external/codex/manifest.js.map +1 -0
- package/dist/external/codex-hooks.d.ts +39 -0
- package/dist/external/codex-hooks.d.ts.map +1 -0
- package/dist/external/codex-hooks.js +204 -0
- package/dist/external/codex-hooks.js.map +1 -0
- package/dist/external/codex-presets.d.ts +2033 -0
- package/dist/external/codex-presets.d.ts.map +1 -0
- package/dist/external/codex-presets.js +312 -0
- package/dist/external/codex-presets.js.map +1 -0
- package/dist/external/codex-subscription.operation.descriptors.d.ts +57 -0
- package/dist/external/codex-subscription.operation.descriptors.d.ts.map +1 -0
- package/dist/external/codex-subscription.operation.descriptors.js +22 -0
- package/dist/external/codex-subscription.operation.descriptors.js.map +1 -0
- package/dist/external/codex-subscription.operations.d.ts +4 -0
- package/dist/external/codex-subscription.operations.d.ts.map +1 -0
- package/dist/external/codex-subscription.operations.js +42 -0
- package/dist/external/codex-subscription.operations.js.map +1 -0
- package/dist/external/external.plugin.d.ts +3 -0
- package/dist/external/external.plugin.d.ts.map +1 -0
- package/dist/external/external.plugin.js +30 -0
- package/dist/external/external.plugin.js.map +1 -0
- package/dist/external/index.d.ts +4 -0
- package/dist/external/index.d.ts.map +1 -0
- package/dist/external/index.js +4 -0
- package/dist/external/index.js.map +1 -0
- package/dist/failure-outcome.d.ts +21 -0
- package/dist/failure-outcome.d.ts.map +1 -0
- package/dist/failure-outcome.js +22 -0
- package/dist/failure-outcome.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/codex-models.d.ts +23 -0
- package/dist/schemas/codex-models.d.ts.map +1 -0
- package/dist/schemas/codex-models.js +15 -0
- package/dist/schemas/codex-models.js.map +1 -0
- package/dist/schemas/codex-wire.d.ts +108 -0
- package/dist/schemas/codex-wire.d.ts.map +1 -0
- package/dist/schemas/codex-wire.js +25 -0
- package/dist/schemas/codex-wire.js.map +1 -0
- package/package.json +142 -4
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { composeChildEnv } from '@vibesdotdev/kernel';
|
|
2
|
+
import { getLogger } from '@vibesdotdev/logging';
|
|
3
|
+
import { settle } from "../../../failure-outcome.js";
|
|
4
|
+
/**
|
|
5
|
+
* Every Codex child runs with `envMode: 'replace'` and the kernel's composed
|
|
6
|
+
* environment (rc02-rc03 C22): the host base set, plus the host variables
|
|
7
|
+
* named here. Codex reads its own config and login from `CODEX_HOME` (default
|
|
8
|
+
* `~/.codex`, under the base set's HOME); its HTTPS calls honour the proxy and
|
|
9
|
+
* CA settings. `OPENAI_API_KEY`, `CODEX_API_KEY` and `OPENAI_BASE_URL` are not
|
|
10
|
+
* among its names and are also stripped (`CODEX_SUBSCRIPTION_UNSET_ENV`).
|
|
11
|
+
*/
|
|
12
|
+
export const CODEX_SUBSCRIPTION_INHERIT_ENV = [
|
|
13
|
+
'CODEX_HOME',
|
|
14
|
+
'HTTPS_PROXY',
|
|
15
|
+
'HTTP_PROXY',
|
|
16
|
+
'NO_PROXY',
|
|
17
|
+
'SSL_CERT_FILE'
|
|
18
|
+
];
|
|
19
|
+
/** The browser sign-in also opens a browser: the selected one and the desktop session it opens in. */
|
|
20
|
+
export const CODEX_SUBSCRIPTION_LOGIN_INHERIT_ENV = [
|
|
21
|
+
...CODEX_SUBSCRIPTION_INHERIT_ENV,
|
|
22
|
+
'BROWSER',
|
|
23
|
+
'DISPLAY',
|
|
24
|
+
'WAYLAND_DISPLAY',
|
|
25
|
+
'XDG_RUNTIME_DIR',
|
|
26
|
+
'DBUS_SESSION_BUS_ADDRESS'
|
|
27
|
+
];
|
|
28
|
+
/** A Codex child's environment on `runtime`. */
|
|
29
|
+
export function codexSubscriptionEnv(runtime, inheritEnv = CODEX_SUBSCRIPTION_INHERIT_ENV) {
|
|
30
|
+
return composeChildEnv(runtime, { inheritEnv });
|
|
31
|
+
}
|
|
32
|
+
/** API billing is a separate connection, never a fallback for a Codex subscription. */
|
|
33
|
+
export const CODEX_SUBSCRIPTION_UNSET_ENV = [
|
|
34
|
+
'OPENAI_API_KEY',
|
|
35
|
+
'CODEX_API_KEY',
|
|
36
|
+
'OPENAI_BASE_URL'
|
|
37
|
+
];
|
|
38
|
+
/** Official Codex defaults, pinned per invocation without rewriting user config. */
|
|
39
|
+
export const CODEX_SUBSCRIPTION_CONFIG = {
|
|
40
|
+
forced_login_method: 'chatgpt',
|
|
41
|
+
model_provider: 'openai',
|
|
42
|
+
openai_base_url: 'https://chatgpt.com/backend-api/codex',
|
|
43
|
+
chatgpt_base_url: 'https://chatgpt.com/backend-api/'
|
|
44
|
+
};
|
|
45
|
+
export const CODEX_SUBSCRIPTION_CONFIG_ARGS = Object.entries(CODEX_SUBSCRIPTION_CONFIG).flatMap(([key, value]) => ['--config', `${key}=${JSON.stringify(value)}`]);
|
|
46
|
+
/** Terminal sign-in. The external projector owns the command name. */
|
|
47
|
+
export const CODEX_SUBSCRIPTION_LOGIN_COMMAND = 'vibes dev external codex login';
|
|
48
|
+
/** Read-only ChatGPT account check. */
|
|
49
|
+
export const CODEX_SUBSCRIPTION_STATUS_COMMAND = 'vibes dev external codex status';
|
|
50
|
+
/** How much of `codex login status` output is read, per stream. */
|
|
51
|
+
const STATUS_READ_CHARS = 8_192;
|
|
52
|
+
/** `codex login status` must report a managed ChatGPT account. Output values are not returned. */
|
|
53
|
+
export async function readCodexSubscriptionStatus(runtime, execution, timeout) {
|
|
54
|
+
const result = await execution.execute({
|
|
55
|
+
command: 'codex',
|
|
56
|
+
args: ['login', 'status'],
|
|
57
|
+
env: codexSubscriptionEnv(runtime),
|
|
58
|
+
envMode: 'replace',
|
|
59
|
+
unsetEnv: [...CODEX_SUBSCRIPTION_UNSET_ENV],
|
|
60
|
+
timeout
|
|
61
|
+
});
|
|
62
|
+
if (result.timedOut)
|
|
63
|
+
return { authenticated: false, timedOut: true };
|
|
64
|
+
// Only the head of each stream is read: the sign-in line is the first thing the command prints.
|
|
65
|
+
const status = `${result.stdout.slice(0, STATUS_READ_CHARS)}\n${result.stderr.slice(0, STATUS_READ_CHARS)}`;
|
|
66
|
+
return {
|
|
67
|
+
authenticated: result.exitCode === 0 && /^Logged in using ChatGPT\s*$/im.test(status),
|
|
68
|
+
timedOut: false
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/** Reads a child's stream to its end and keeps none of it; a failure of the stream is reported, not thrown. */
|
|
72
|
+
async function discardStream(runtime, stream, name) {
|
|
73
|
+
if (!stream)
|
|
74
|
+
return;
|
|
75
|
+
const reader = stream.getReader();
|
|
76
|
+
const drained = await settle((async () => {
|
|
77
|
+
while (!(await reader.read()).done) {
|
|
78
|
+
// The bytes are dropped on purpose.
|
|
79
|
+
}
|
|
80
|
+
})());
|
|
81
|
+
if (drained.failed) {
|
|
82
|
+
getLogger('integrations-openai', runtime).warn('codex login output stream failed', { stream: name, error: drained.cause });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/** The browser login belongs to this invocation, including cancellation/teardown. */
|
|
86
|
+
export async function runCodexSubscriptionLogin(runtime, execution, options) {
|
|
87
|
+
if (options?.signal?.aborted)
|
|
88
|
+
return { exitCode: null, timedOut: false };
|
|
89
|
+
const child = await execution.spawn({
|
|
90
|
+
command: 'codex',
|
|
91
|
+
args: [...CODEX_SUBSCRIPTION_CONFIG_ARGS, 'login'],
|
|
92
|
+
env: codexSubscriptionEnv(runtime, CODEX_SUBSCRIPTION_LOGIN_INHERIT_ENV),
|
|
93
|
+
envMode: 'replace',
|
|
94
|
+
unsetEnv: [...CODEX_SUBSCRIPTION_UNSET_ENV],
|
|
95
|
+
stdin: 'ignore',
|
|
96
|
+
stdout: 'pipe',
|
|
97
|
+
stderr: 'pipe'
|
|
98
|
+
});
|
|
99
|
+
let timedOut = false;
|
|
100
|
+
let cancelForceStop;
|
|
101
|
+
const cancel = () => {
|
|
102
|
+
child.kill('SIGTERM');
|
|
103
|
+
cancelForceStop ??= runtime.lifecycle.timeout(() => child.kill('SIGKILL'), 1_000);
|
|
104
|
+
};
|
|
105
|
+
const cancelTimer = runtime.lifecycle.timeout(() => {
|
|
106
|
+
timedOut = true;
|
|
107
|
+
cancel();
|
|
108
|
+
}, options?.timeout ?? 10 * 60_000);
|
|
109
|
+
options?.signal?.addEventListener('abort', cancel, { once: true });
|
|
110
|
+
if (options?.signal?.aborted)
|
|
111
|
+
cancel();
|
|
112
|
+
try {
|
|
113
|
+
// The login's output is never read: it is drained and dropped, so it cannot grow without bound.
|
|
114
|
+
const [exit] = await Promise.all([
|
|
115
|
+
child.exited,
|
|
116
|
+
discardStream(runtime, child.stdout, 'stdout'),
|
|
117
|
+
discardStream(runtime, child.stderr, 'stderr')
|
|
118
|
+
]);
|
|
119
|
+
return { exitCode: exit.code, timedOut };
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
cancelTimer();
|
|
123
|
+
cancelForceStop?.();
|
|
124
|
+
options?.signal?.removeEventListener('abort', cancel);
|
|
125
|
+
child.kill('SIGTERM');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=codex-subscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-subscription.js","sourceRoot":"","sources":["../../../../src/ai/providers/openai/codex-subscription.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ai/providers/openai/detection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai/providers/openai/detection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DetectedProvider } from '@vibesdotdev/ai/providers-runtime/client/types';
|
|
2
|
+
import type { RuntimeRef } from '@vibesdotdev/kernel';
|
|
3
|
+
/** Detect OpenAI without returning credential material. */
|
|
4
|
+
export declare function detectOpenAISystem(runtime: RuntimeRef): Promise<DetectedProvider | null>;
|
|
5
|
+
//# sourceMappingURL=system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../../src/ai/providers/openai/detection/system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,2DAA2D;AAC3D,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAqB9F"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Detect OpenAI without returning credential material. */
|
|
2
|
+
export async function detectOpenAISystem(runtime) {
|
|
3
|
+
const credential = await runtime.resolveCredential({ source: 'secret', key: 'OPENAI_API_KEY' });
|
|
4
|
+
if (!credential.ok) {
|
|
5
|
+
if (credential.error.reason === 'credential-not-set')
|
|
6
|
+
return null;
|
|
7
|
+
throw credential.error;
|
|
8
|
+
}
|
|
9
|
+
if (!credential.value.trim())
|
|
10
|
+
return null;
|
|
11
|
+
return {
|
|
12
|
+
providerType: 'openai',
|
|
13
|
+
name: 'OpenAI',
|
|
14
|
+
description: 'Credential reference available from OPENAI_API_KEY',
|
|
15
|
+
status: 'available',
|
|
16
|
+
models: [],
|
|
17
|
+
configuration: {
|
|
18
|
+
authMethod: 'api-key',
|
|
19
|
+
tokenSource: 'credential',
|
|
20
|
+
apiKey: { source: 'secret', key: 'OPENAI_API_KEY' },
|
|
21
|
+
timeout: 60000
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=system.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../../../src/ai/providers/openai/detection/system.ts"],"names":[],"mappings":"AAGA,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAmB;IAC3D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAChG,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACpB,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,UAAU,CAAC,KAAK,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO;QACN,YAAY,EAAE,QAAQ;QACtB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,oDAAoD;QACjE,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,EAAE;QACV,aAAa,EAAE;YACd,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE,YAAY;YACzB,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE;YACnD,OAAO,EAAE,KAAK;SACd;KACD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.providers.openai.docs.descriptor.d.ts","sourceRoot":"","sources":["../../../../../src/ai/providers/openai/docs/ai.providers.openai.docs.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,QAAA,MAAM,UAAU,EAAE,mBAoCjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const descriptor = {
|
|
2
|
+
kind: 'docs/topic',
|
|
3
|
+
id: 'ai.providers.openai',
|
|
4
|
+
title: 'OpenAI provider',
|
|
5
|
+
summary: 'Use the OpenAI API with a credential reference, or experiment locally with Codex managed ChatGPT sign-in.',
|
|
6
|
+
body: {
|
|
7
|
+
type: 'markdown',
|
|
8
|
+
sourceType: 'raw',
|
|
9
|
+
source: `# OpenAI provider
|
|
10
|
+
|
|
11
|
+
OpenAI is registered by \`@vibesdotdev/integrations-openai\`; Framework retains
|
|
12
|
+
only provider-neutral AI kinds. Production integrations use an \`OPENAI_API_KEY\`
|
|
13
|
+
credential reference; text requests prefer OpenAI's Responses API. Chat
|
|
14
|
+
Completions remains available as an explicit compatibility variant. API usage
|
|
15
|
+
is billed separately from ChatGPT subscriptions.
|
|
16
|
+
|
|
17
|
+
On a connected consumer host, users can experiment with the managed ChatGPT
|
|
18
|
+
account held by \`codex app-server\`. OpenAI currently describes this command
|
|
19
|
+
as experimental and unsupported for production workloads. Vibes never reads
|
|
20
|
+
or persists Codex OAuth tokens, and subscription usage cannot be routed to a
|
|
21
|
+
cloud host. See [OpenAI's Codex changelog](https://learn.chatgpt.com/docs/changelog).
|
|
22
|
+
|
|
23
|
+
The provider publishes text, embedding, image, transcription, and text-to-speech
|
|
24
|
+
specs. Provider generation resolves AI's semantic client on the handed runtime.
|
|
25
|
+
Its provider-generation capability runs the AI-owned spec/transport pipeline,
|
|
26
|
+
preserving live tool handlers, generation options and actual adapter identity.
|
|
27
|
+
OpenAI-compatible router projection
|
|
28
|
+
is isolated at \`@vibesdotdev/integrations-openai/ai\`.
|
|
29
|
+
`
|
|
30
|
+
},
|
|
31
|
+
tags: ['ai', 'providers', 'openai', 'chatgpt'],
|
|
32
|
+
parent: 'ai.providers',
|
|
33
|
+
order: 1,
|
|
34
|
+
surfaces: ['cli', 'web', 'in-app'],
|
|
35
|
+
hardware: ['consumer', 'cloud'],
|
|
36
|
+
enabled: true
|
|
37
|
+
};
|
|
38
|
+
export default descriptor;
|
|
39
|
+
//# sourceMappingURL=ai.providers.openai.docs.descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.providers.openai.docs.descriptor.js","sourceRoot":"","sources":["../../../../../src/ai/providers/openai/docs/ai.providers.openai.docs.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAwB;IACvC,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,qBAAqB;IACzB,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,2GAA2G;IACpH,IAAI,EAAE;QACL,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBT;KACC;IACD,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC;IAC9C,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IAClC,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,IAAI;CACb,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai/providers/openai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai/providers/openai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ProviderOperationOptions, AIProviderTypeContext, AIProviderTypeInterface, ConnectionValidationResult, DetectedProviderInstance, ModelRecommendation, ProviderGenerateOptions, ProviderGenerateResult, ProviderHealthCheckResult } from '@vibesdotdev/ai/interfaces/provider-type';
|
|
2
|
+
import type { GenerationRequest } from '@vibesdotdev/ai/interfaces/adapter';
|
|
3
|
+
import { type AIModelDescriptor, type Modality } from '@vibesdotdev/ai/models/schemas';
|
|
4
|
+
import type { AIProviderDescriptor } from '@vibesdotdev/ai/providers-runtime/schemas/provider-descriptor';
|
|
5
|
+
import type { AIProviderTypeDescriptor } from '@vibesdotdev/ai/providers-runtime/schemas/type-descriptor';
|
|
6
|
+
/** The connection configuration the provider-type interface hands to health, authentication and validation. */
|
|
7
|
+
type ProviderConnectionConfig = Parameters<AIProviderTypeInterface['checkHealth']>[0];
|
|
8
|
+
export declare class OpenAIProviderType implements AIProviderTypeInterface {
|
|
9
|
+
readonly descriptor: AIProviderTypeDescriptor;
|
|
10
|
+
private readonly context;
|
|
11
|
+
constructor(descriptor: AIProviderTypeDescriptor, context: AIProviderTypeContext);
|
|
12
|
+
generate<T extends Modality>(providerInstance: AIProviderDescriptor, model: AIModelDescriptor, request: GenerationRequest<T>, options?: ProviderGenerateOptions): Promise<ProviderGenerateResult<T>>;
|
|
13
|
+
/**
|
|
14
|
+
* The live models of a Codex app-server connection, from Codex's own `model/list`.
|
|
15
|
+
* Any other connection has no authoritative live inventory here (`null`), so the
|
|
16
|
+
* caller keeps its catalogue. A Codex that cannot answer raises its typed failure.
|
|
17
|
+
*/
|
|
18
|
+
listModels(providerInstance: AIProviderDescriptor, options?: ProviderOperationOptions & {
|
|
19
|
+
modality?: string;
|
|
20
|
+
live?: boolean;
|
|
21
|
+
}): Promise<AIModelDescriptor[] | null>;
|
|
22
|
+
/** One `model/list` read on a fresh app-server connection, which is always closed. */
|
|
23
|
+
private readCodexModels;
|
|
24
|
+
detectInstalled(): Promise<DetectedProviderInstance[]>;
|
|
25
|
+
/** The Codex subscription instance, when Codex is installed and signed in with a managed ChatGPT account. */
|
|
26
|
+
private detectCodexInstance;
|
|
27
|
+
/**
|
|
28
|
+
* The models of this provider's catalogue (`ai/model` descriptors), ranked for `useCase`.
|
|
29
|
+
* Which models exist, what they can do, and their limits are the catalogue's; this only ranks
|
|
30
|
+
* them (a frontier tier first, a fast tier last) and drops a model this host cannot serve.
|
|
31
|
+
*/
|
|
32
|
+
recommendModels(useCase: string): Promise<ModelRecommendation[]>;
|
|
33
|
+
checkHealth(instanceConfig: ProviderConnectionConfig, options?: ProviderOperationOptions): Promise<ProviderHealthCheckResult>;
|
|
34
|
+
authenticate(instanceConfig: ProviderConnectionConfig, options?: ProviderOperationOptions): Promise<ProviderHealthCheckResult>;
|
|
35
|
+
/** Checks the Codex account, runs the browser login when it is not signed in, then checks again. */
|
|
36
|
+
private signInWithChatGpt;
|
|
37
|
+
validateConnection(config: ProviderConnectionConfig): Promise<ConnectionValidationResult>;
|
|
38
|
+
/**
|
|
39
|
+
* A host that composes no execution kind (a cloud host, or a consumer host
|
|
40
|
+
* without one) runs no Codex. A composed execution provider that is
|
|
41
|
+
* unavailable or fails is an owner failure and propagates typed.
|
|
42
|
+
*/
|
|
43
|
+
private resolveExecution;
|
|
44
|
+
private isCloudRuntime;
|
|
45
|
+
private checkCodexSubscription;
|
|
46
|
+
private unhealthy;
|
|
47
|
+
dispose(): Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=openai.provider.impl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.provider.impl.d.ts","sourceRoot":"","sources":["../../../../src/ai/providers/openai/openai.provider.impl.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACX,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAA2B,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAChH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AAW1G,+GAA+G;AAC/G,KAAK,wBAAwB,GAAG,UAAU,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAgCtF,qBAAa,kBAAmB,YAAW,uBAAuB;IACjE,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;gBAEpC,UAAU,EAAE,wBAAwB,EAAE,OAAO,EAAE,qBAAqB;IAK1E,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAChC,gBAAgB,EAAE,oBAAoB,EACtC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,OAAO,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAKrC;;;;OAIG;IACG,UAAU,CACf,gBAAgB,EAAE,oBAAoB,EACtC,OAAO,CAAC,EAAE,wBAAwB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GACxE,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAkCtC,sFAAsF;YACxE,eAAe;IAevB,eAAe,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAmB5D,6GAA6G;YAC/F,mBAAmB;IAgBjC;;;;OAIG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAsChE,WAAW,CAChB,cAAc,EAAE,wBAAwB,EACxC,OAAO,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC;IAoC/B,YAAY,CACjB,cAAc,EAAE,wBAAwB,EACxC,OAAO,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC;IA0BrC,oGAAoG;YACtF,iBAAiB;IAczB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAsB/F;;;;OAIG;YACW,gBAAgB;IAK9B,OAAO,CAAC,cAAc;YAIR,sBAAsB;IA0BpC,OAAO,CAAC,SAAS;IAIX,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAC9B"}
|