@particle-academy/prism 0.0.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 +21 -0
- package/README.md +155 -0
- package/dist/audio/pending-request.d.ts +37 -0
- package/dist/audio/pending-request.d.ts.map +1 -0
- package/dist/audio/pending-request.js +91 -0
- package/dist/audio/pending-request.js.map +1 -0
- package/dist/audio/request.d.ts +37 -0
- package/dist/audio/request.d.ts.map +1 -0
- package/dist/audio/request.js +50 -0
- package/dist/audio/request.js.map +1 -0
- package/dist/audio/response.d.ts +24 -0
- package/dist/audio/response.d.ts.map +1 -0
- package/dist/audio/response.js +36 -0
- package/dist/audio/response.js.map +1 -0
- package/dist/batch/batch-job.d.ts +91 -0
- package/dist/batch/batch-job.d.ts.map +1 -0
- package/dist/batch/batch-job.js +156 -0
- package/dist/batch/batch-job.js.map +1 -0
- package/dist/batch/pending-request.d.ts +29 -0
- package/dist/batch/pending-request.d.ts.map +1 -0
- package/dist/batch/pending-request.js +73 -0
- package/dist/batch/pending-request.js.map +1 -0
- package/dist/batch/request.d.ts +73 -0
- package/dist/batch/request.d.ts.map +1 -0
- package/dist/batch/request.js +79 -0
- package/dist/batch/request.js.map +1 -0
- package/dist/embeddings/pending-request.d.ts +38 -0
- package/dist/embeddings/pending-request.d.ts.map +1 -0
- package/dist/embeddings/pending-request.js +86 -0
- package/dist/embeddings/pending-request.js.map +1 -0
- package/dist/embeddings/request.d.ts +27 -0
- package/dist/embeddings/request.d.ts.map +1 -0
- package/dist/embeddings/request.js +38 -0
- package/dist/embeddings/request.js.map +1 -0
- package/dist/embeddings/response.d.ts +19 -0
- package/dist/embeddings/response.d.ts.map +1 -0
- package/dist/embeddings/response.js +21 -0
- package/dist/embeddings/response.js.map +1 -0
- package/dist/enums.d.ts +52 -0
- package/dist/enums.d.ts.map +1 -0
- package/dist/enums.js +69 -0
- package/dist/enums.js.map +1 -0
- package/dist/errors.d.ts +119 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +115 -0
- package/dist/errors.js.map +1 -0
- package/dist/files/file-data.d.ts +53 -0
- package/dist/files/file-data.d.ts.map +1 -0
- package/dist/files/file-data.js +79 -0
- package/dist/files/file-data.js.map +1 -0
- package/dist/files/pending-request.d.ts +38 -0
- package/dist/files/pending-request.d.ts.map +1 -0
- package/dist/files/pending-request.js +96 -0
- package/dist/files/pending-request.js.map +1 -0
- package/dist/files/request.d.ts +77 -0
- package/dist/files/request.d.ts.map +1 -0
- package/dist/files/request.js +81 -0
- package/dist/files/request.js.map +1 -0
- package/dist/fim/pending-request.d.ts +31 -0
- package/dist/fim/pending-request.d.ts.map +1 -0
- package/dist/fim/pending-request.js +89 -0
- package/dist/fim/pending-request.js.map +1 -0
- package/dist/fim/request.d.ts +39 -0
- package/dist/fim/request.d.ts.map +1 -0
- package/dist/fim/request.js +65 -0
- package/dist/fim/request.js.map +1 -0
- package/dist/fim/response.d.ts +21 -0
- package/dist/fim/response.d.ts.map +1 -0
- package/dist/fim/response.js +30 -0
- package/dist/fim/response.js.map +1 -0
- package/dist/http/header-names.d.ts +36 -0
- package/dist/http/header-names.d.ts.map +1 -0
- package/dist/http/header-names.js +44 -0
- package/dist/http/header-names.js.map +1 -0
- package/dist/http/transport.d.ts +94 -0
- package/dist/http/transport.d.ts.map +1 -0
- package/dist/http/transport.js +131 -0
- package/dist/http/transport.js.map +1 -0
- package/dist/images/pending-request.d.ts +30 -0
- package/dist/images/pending-request.d.ts.map +1 -0
- package/dist/images/pending-request.js +66 -0
- package/dist/images/pending-request.js.map +1 -0
- package/dist/images/request.d.ts +19 -0
- package/dist/images/request.d.ts.map +1 -0
- package/dist/images/request.js +30 -0
- package/dist/images/request.js.map +1 -0
- package/dist/images/response.d.ts +29 -0
- package/dist/images/response.d.ts.map +1 -0
- package/dist/images/response.js +34 -0
- package/dist/images/response.js.map +1 -0
- package/dist/index.d.ts +108 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +84 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/filters.d.ts +40 -0
- package/dist/internal/filters.d.ts.map +1 -0
- package/dist/internal/filters.js +83 -0
- package/dist/internal/filters.js.map +1 -0
- package/dist/json.d.ts +41 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +75 -0
- package/dist/json.js.map +1 -0
- package/dist/moderation/pending-request.d.ts +24 -0
- package/dist/moderation/pending-request.d.ts.map +1 -0
- package/dist/moderation/pending-request.js +60 -0
- package/dist/moderation/pending-request.js.map +1 -0
- package/dist/moderation/request.d.ts +20 -0
- package/dist/moderation/request.d.ts.map +1 -0
- package/dist/moderation/request.js +31 -0
- package/dist/moderation/request.js.map +1 -0
- package/dist/moderation/response.d.ts +26 -0
- package/dist/moderation/response.d.ts.map +1 -0
- package/dist/moderation/response.js +34 -0
- package/dist/moderation/response.js.map +1 -0
- package/dist/prism.d.ts +43 -0
- package/dist/prism.d.ts.map +1 -0
- package/dist/prism.js +79 -0
- package/dist/prism.js.map +1 -0
- package/dist/providers/anthropic/anthropic.d.ts +67 -0
- package/dist/providers/anthropic/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic/anthropic.js +172 -0
- package/dist/providers/anthropic/anthropic.js.map +1 -0
- package/dist/providers/anthropic/build-request-body.d.ts +15 -0
- package/dist/providers/anthropic/build-request-body.d.ts.map +1 -0
- package/dist/providers/anthropic/build-request-body.js +51 -0
- package/dist/providers/anthropic/build-request-body.js.map +1 -0
- package/dist/providers/anthropic/maps/finish-reason-map.d.ts +14 -0
- package/dist/providers/anthropic/maps/finish-reason-map.d.ts.map +1 -0
- package/dist/providers/anthropic/maps/finish-reason-map.js +30 -0
- package/dist/providers/anthropic/maps/finish-reason-map.js.map +1 -0
- package/dist/providers/anthropic/maps/media-map.d.ts +25 -0
- package/dist/providers/anthropic/maps/media-map.d.ts.map +1 -0
- package/dist/providers/anthropic/maps/media-map.js +87 -0
- package/dist/providers/anthropic/maps/media-map.js.map +1 -0
- package/dist/providers/anthropic/maps/message-map.d.ts +31 -0
- package/dist/providers/anthropic/maps/message-map.d.ts.map +1 -0
- package/dist/providers/anthropic/maps/message-map.js +121 -0
- package/dist/providers/anthropic/maps/message-map.js.map +1 -0
- package/dist/providers/anthropic/maps/tool-choice-map.d.ts +11 -0
- package/dist/providers/anthropic/maps/tool-choice-map.d.ts.map +1 -0
- package/dist/providers/anthropic/maps/tool-choice-map.js +25 -0
- package/dist/providers/anthropic/maps/tool-choice-map.js.map +1 -0
- package/dist/providers/anthropic/maps/tool-map.d.ts +14 -0
- package/dist/providers/anthropic/maps/tool-map.d.ts.map +1 -0
- package/dist/providers/anthropic/maps/tool-map.js +22 -0
- package/dist/providers/anthropic/maps/tool-map.js.map +1 -0
- package/dist/providers/anthropic/parse-response.d.ts +21 -0
- package/dist/providers/anthropic/parse-response.d.ts.map +1 -0
- package/dist/providers/anthropic/parse-response.js +109 -0
- package/dist/providers/anthropic/parse-response.js.map +1 -0
- package/dist/providers/anthropic/rate-limits.d.ts +4 -0
- package/dist/providers/anthropic/rate-limits.d.ts.map +1 -0
- package/dist/providers/anthropic/rate-limits.js +47 -0
- package/dist/providers/anthropic/rate-limits.js.map +1 -0
- package/dist/providers/anthropic/stream-events.d.ts +27 -0
- package/dist/providers/anthropic/stream-events.d.ts.map +1 -0
- package/dist/providers/anthropic/stream-events.js +147 -0
- package/dist/providers/anthropic/stream-events.js.map +1 -0
- package/dist/providers/mistral/build-request-body.d.ts +32 -0
- package/dist/providers/mistral/build-request-body.d.ts.map +1 -0
- package/dist/providers/mistral/build-request-body.js +69 -0
- package/dist/providers/mistral/build-request-body.js.map +1 -0
- package/dist/providers/mistral/embeddings.d.ts +14 -0
- package/dist/providers/mistral/embeddings.d.ts.map +1 -0
- package/dist/providers/mistral/embeddings.js +41 -0
- package/dist/providers/mistral/embeddings.js.map +1 -0
- package/dist/providers/mistral/fim.d.ts +32 -0
- package/dist/providers/mistral/fim.d.ts.map +1 -0
- package/dist/providers/mistral/fim.js +70 -0
- package/dist/providers/mistral/fim.js.map +1 -0
- package/dist/providers/mistral/maps/finish-reason-map.d.ts +15 -0
- package/dist/providers/mistral/maps/finish-reason-map.d.ts.map +1 -0
- package/dist/providers/mistral/maps/finish-reason-map.js +32 -0
- package/dist/providers/mistral/maps/finish-reason-map.js.map +1 -0
- package/dist/providers/mistral/maps/media-map.d.ts +24 -0
- package/dist/providers/mistral/maps/media-map.d.ts.map +1 -0
- package/dist/providers/mistral/maps/media-map.js +41 -0
- package/dist/providers/mistral/maps/media-map.js.map +1 -0
- package/dist/providers/mistral/maps/message-map.d.ts +20 -0
- package/dist/providers/mistral/maps/message-map.d.ts.map +1 -0
- package/dist/providers/mistral/maps/message-map.js +83 -0
- package/dist/providers/mistral/maps/message-map.js.map +1 -0
- package/dist/providers/mistral/maps/tool-choice-map.d.ts +12 -0
- package/dist/providers/mistral/maps/tool-choice-map.d.ts.map +1 -0
- package/dist/providers/mistral/maps/tool-choice-map.js +25 -0
- package/dist/providers/mistral/maps/tool-choice-map.js.map +1 -0
- package/dist/providers/mistral/maps/tool-map.d.ts +15 -0
- package/dist/providers/mistral/maps/tool-map.d.ts.map +1 -0
- package/dist/providers/mistral/maps/tool-map.js +26 -0
- package/dist/providers/mistral/maps/tool-map.js.map +1 -0
- package/dist/providers/mistral/mistral.d.ts +90 -0
- package/dist/providers/mistral/mistral.d.ts.map +1 -0
- package/dist/providers/mistral/mistral.js +210 -0
- package/dist/providers/mistral/mistral.js.map +1 -0
- package/dist/providers/mistral/parse-response.d.ts +35 -0
- package/dist/providers/mistral/parse-response.d.ts.map +1 -0
- package/dist/providers/mistral/parse-response.js +114 -0
- package/dist/providers/mistral/parse-response.js.map +1 -0
- package/dist/providers/mistral/rate-limits.d.ts +24 -0
- package/dist/providers/mistral/rate-limits.d.ts.map +1 -0
- package/dist/providers/mistral/rate-limits.js +55 -0
- package/dist/providers/mistral/rate-limits.js.map +1 -0
- package/dist/providers/mistral/stream-events.d.ts +29 -0
- package/dist/providers/mistral/stream-events.d.ts.map +1 -0
- package/dist/providers/mistral/stream-events.js +142 -0
- package/dist/providers/mistral/stream-events.js.map +1 -0
- package/dist/providers/openai/audio.d.ts +16 -0
- package/dist/providers/openai/audio.d.ts.map +1 -0
- package/dist/providers/openai/audio.js +105 -0
- package/dist/providers/openai/audio.js.map +1 -0
- package/dist/providers/openai/batch.d.ts +29 -0
- package/dist/providers/openai/batch.d.ts.map +1 -0
- package/dist/providers/openai/batch.js +181 -0
- package/dist/providers/openai/batch.js.map +1 -0
- package/dist/providers/openai/build-request-body.d.ts +25 -0
- package/dist/providers/openai/build-request-body.d.ts.map +1 -0
- package/dist/providers/openai/build-request-body.js +66 -0
- package/dist/providers/openai/build-request-body.js.map +1 -0
- package/dist/providers/openai/build-structured-body.d.ts +16 -0
- package/dist/providers/openai/build-structured-body.d.ts.map +1 -0
- package/dist/providers/openai/build-structured-body.js +47 -0
- package/dist/providers/openai/build-structured-body.js.map +1 -0
- package/dist/providers/openai/embeddings.d.ts +6 -0
- package/dist/providers/openai/embeddings.d.ts.map +1 -0
- package/dist/providers/openai/embeddings.js +61 -0
- package/dist/providers/openai/embeddings.js.map +1 -0
- package/dist/providers/openai/files.d.ts +16 -0
- package/dist/providers/openai/files.d.ts.map +1 -0
- package/dist/providers/openai/files.js +80 -0
- package/dist/providers/openai/files.js.map +1 -0
- package/dist/providers/openai/images.d.ts +6 -0
- package/dist/providers/openai/images.d.ts.map +1 -0
- package/dist/providers/openai/images.js +55 -0
- package/dist/providers/openai/images.js.map +1 -0
- package/dist/providers/openai/maps/finish-reason-map.d.ts +21 -0
- package/dist/providers/openai/maps/finish-reason-map.d.ts.map +1 -0
- package/dist/providers/openai/maps/finish-reason-map.js +56 -0
- package/dist/providers/openai/maps/finish-reason-map.js.map +1 -0
- package/dist/providers/openai/maps/media-map.d.ts +25 -0
- package/dist/providers/openai/maps/media-map.d.ts.map +1 -0
- package/dist/providers/openai/maps/media-map.js +53 -0
- package/dist/providers/openai/maps/media-map.js.map +1 -0
- package/dist/providers/openai/maps/message-map.d.ts +21 -0
- package/dist/providers/openai/maps/message-map.d.ts.map +1 -0
- package/dist/providers/openai/maps/message-map.js +128 -0
- package/dist/providers/openai/maps/message-map.js.map +1 -0
- package/dist/providers/openai/maps/tool-choice-map.d.ts +14 -0
- package/dist/providers/openai/maps/tool-choice-map.d.ts.map +1 -0
- package/dist/providers/openai/maps/tool-choice-map.js +27 -0
- package/dist/providers/openai/maps/tool-choice-map.js.map +1 -0
- package/dist/providers/openai/maps/tool-map.d.ts +16 -0
- package/dist/providers/openai/maps/tool-map.d.ts.map +1 -0
- package/dist/providers/openai/maps/tool-map.js +34 -0
- package/dist/providers/openai/maps/tool-map.js.map +1 -0
- package/dist/providers/openai/moderation.d.ts +6 -0
- package/dist/providers/openai/moderation.d.ts.map +1 -0
- package/dist/providers/openai/moderation.js +26 -0
- package/dist/providers/openai/moderation.js.map +1 -0
- package/dist/providers/openai/openai.d.ts +103 -0
- package/dist/providers/openai/openai.d.ts.map +1 -0
- package/dist/providers/openai/openai.js +385 -0
- package/dist/providers/openai/openai.js.map +1 -0
- package/dist/providers/openai/parse-response.d.ts +21 -0
- package/dist/providers/openai/parse-response.d.ts.map +1 -0
- package/dist/providers/openai/parse-response.js +114 -0
- package/dist/providers/openai/parse-response.js.map +1 -0
- package/dist/providers/openai/rate-limits.d.ts +4 -0
- package/dist/providers/openai/rate-limits.d.ts.map +1 -0
- package/dist/providers/openai/rate-limits.js +47 -0
- package/dist/providers/openai/rate-limits.js.map +1 -0
- package/dist/providers/openai/stream-events.d.ts +13 -0
- package/dist/providers/openai/stream-events.d.ts.map +1 -0
- package/dist/providers/openai/stream-events.js +79 -0
- package/dist/providers/openai/stream-events.js.map +1 -0
- package/dist/providers/openai/structured-mode-resolver.d.ts +3 -0
- package/dist/providers/openai/structured-mode-resolver.d.ts.map +1 -0
- package/dist/providers/openai/structured-mode-resolver.js +41 -0
- package/dist/providers/openai/structured-mode-resolver.js.map +1 -0
- package/dist/providers/provider.d.ts +55 -0
- package/dist/providers/provider.d.ts.map +1 -0
- package/dist/providers/provider.js +73 -0
- package/dist/providers/provider.js.map +1 -0
- package/dist/providers/registry.d.ts +10 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +27 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/providers/support/media.d.ts +16 -0
- package/dist/providers/support/media.d.ts.map +1 -0
- package/dist/providers/support/media.js +26 -0
- package/dist/providers/support/media.js.map +1 -0
- package/dist/schema/index.d.ts +114 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +192 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/streaming/events.d.ts +90 -0
- package/dist/streaming/events.d.ts.map +1 -0
- package/dist/streaming/events.js +152 -0
- package/dist/streaming/events.js.map +1 -0
- package/dist/streaming/sse.d.ts +17 -0
- package/dist/streaming/sse.d.ts.map +1 -0
- package/dist/streaming/sse.js +50 -0
- package/dist/streaming/sse.js.map +1 -0
- package/dist/structured/extract.d.ts +23 -0
- package/dist/structured/extract.d.ts.map +1 -0
- package/dist/structured/extract.js +43 -0
- package/dist/structured/extract.js.map +1 -0
- package/dist/structured/from-text.d.ts +16 -0
- package/dist/structured/from-text.d.ts.map +1 -0
- package/dist/structured/from-text.js +27 -0
- package/dist/structured/from-text.js.map +1 -0
- package/dist/structured/pending-request.d.ts +28 -0
- package/dist/structured/pending-request.d.ts.map +1 -0
- package/dist/structured/pending-request.js +48 -0
- package/dist/structured/pending-request.js.map +1 -0
- package/dist/structured/request.d.ts +28 -0
- package/dist/structured/request.d.ts.map +1 -0
- package/dist/structured/request.js +31 -0
- package/dist/structured/request.js.map +1 -0
- package/dist/structured/response.d.ts +44 -0
- package/dist/structured/response.d.ts.map +1 -0
- package/dist/structured/response.js +49 -0
- package/dist/structured/response.js.map +1 -0
- package/dist/text/pending-request.d.ts +77 -0
- package/dist/text/pending-request.d.ts.map +1 -0
- package/dist/text/pending-request.js +189 -0
- package/dist/text/pending-request.js.map +1 -0
- package/dist/text/request.d.ts +62 -0
- package/dist/text/request.d.ts.map +1 -0
- package/dist/text/request.js +117 -0
- package/dist/text/request.js.map +1 -0
- package/dist/text/response-builder.d.ts +16 -0
- package/dist/text/response-builder.d.ts.map +1 -0
- package/dist/text/response-builder.js +52 -0
- package/dist/text/response-builder.js.map +1 -0
- package/dist/text/response.d.ts +36 -0
- package/dist/text/response.d.ts.map +1 -0
- package/dist/text/response.js +40 -0
- package/dist/text/response.js.map +1 -0
- package/dist/text/step.d.ts +41 -0
- package/dist/text/step.d.ts.map +1 -0
- package/dist/text/step.js +46 -0
- package/dist/text/step.js.map +1 -0
- package/dist/tool.d.ts +34 -0
- package/dist/tool.d.ts.map +1 -0
- package/dist/tool.js +86 -0
- package/dist/tool.js.map +1 -0
- package/dist/value-objects/artifact.d.ts +14 -0
- package/dist/value-objects/artifact.d.ts.map +1 -0
- package/dist/value-objects/artifact.js +32 -0
- package/dist/value-objects/artifact.js.map +1 -0
- package/dist/value-objects/embedding.d.ts +24 -0
- package/dist/value-objects/embedding.d.ts.map +1 -0
- package/dist/value-objects/embedding.js +29 -0
- package/dist/value-objects/embedding.js.map +1 -0
- package/dist/value-objects/embeddings-usage.d.ts +16 -0
- package/dist/value-objects/embeddings-usage.d.ts.map +1 -0
- package/dist/value-objects/embeddings-usage.js +19 -0
- package/dist/value-objects/embeddings-usage.js.map +1 -0
- package/dist/value-objects/generated-audio.d.ts +20 -0
- package/dist/value-objects/generated-audio.d.ts.map +1 -0
- package/dist/value-objects/generated-audio.js +23 -0
- package/dist/value-objects/generated-audio.js.map +1 -0
- package/dist/value-objects/generated-image.d.ts +36 -0
- package/dist/value-objects/generated-image.d.ts.map +1 -0
- package/dist/value-objects/generated-image.js +35 -0
- package/dist/value-objects/generated-image.js.map +1 -0
- package/dist/value-objects/index.d.ts +13 -0
- package/dist/value-objects/index.d.ts.map +1 -0
- package/dist/value-objects/index.js +10 -0
- package/dist/value-objects/index.js.map +1 -0
- package/dist/value-objects/media/audio.d.ts +8 -0
- package/dist/value-objects/media/audio.d.ts.map +1 -0
- package/dist/value-objects/media/audio.js +9 -0
- package/dist/value-objects/media/audio.js.map +1 -0
- package/dist/value-objects/media/document.d.ts +44 -0
- package/dist/value-objects/media/document.d.ts.map +1 -0
- package/dist/value-objects/media/document.js +75 -0
- package/dist/value-objects/media/document.js.map +1 -0
- package/dist/value-objects/media/image.d.ts +13 -0
- package/dist/value-objects/media/image.d.ts.map +1 -0
- package/dist/value-objects/media/image.js +14 -0
- package/dist/value-objects/media/image.js.map +1 -0
- package/dist/value-objects/media/media.d.ts +119 -0
- package/dist/value-objects/media/media.d.ts.map +1 -0
- package/dist/value-objects/media/media.js +267 -0
- package/dist/value-objects/media/media.js.map +1 -0
- package/dist/value-objects/media/part.d.ts +25 -0
- package/dist/value-objects/media/part.d.ts.map +1 -0
- package/dist/value-objects/media/part.js +41 -0
- package/dist/value-objects/media/part.js.map +1 -0
- package/dist/value-objects/media/text.d.ts +24 -0
- package/dist/value-objects/media/text.d.ts.map +1 -0
- package/dist/value-objects/media/text.js +33 -0
- package/dist/value-objects/media/text.js.map +1 -0
- package/dist/value-objects/media/video.d.ts +7 -0
- package/dist/value-objects/media/video.d.ts.map +1 -0
- package/dist/value-objects/media/video.js +8 -0
- package/dist/value-objects/media/video.js.map +1 -0
- package/dist/value-objects/messages/assistant-message.d.ts +26 -0
- package/dist/value-objects/messages/assistant-message.d.ts.map +1 -0
- package/dist/value-objects/messages/assistant-message.js +37 -0
- package/dist/value-objects/messages/assistant-message.js.map +1 -0
- package/dist/value-objects/messages/index.d.ts +27 -0
- package/dist/value-objects/messages/index.d.ts.map +1 -0
- package/dist/value-objects/messages/index.js +32 -0
- package/dist/value-objects/messages/index.js.map +1 -0
- package/dist/value-objects/messages/system-message.d.ts +9 -0
- package/dist/value-objects/messages/system-message.d.ts.map +1 -0
- package/dist/value-objects/messages/system-message.js +17 -0
- package/dist/value-objects/messages/system-message.js.map +1 -0
- package/dist/value-objects/messages/tool-result-message.d.ts +14 -0
- package/dist/value-objects/messages/tool-result-message.d.ts.map +1 -0
- package/dist/value-objects/messages/tool-result-message.js +26 -0
- package/dist/value-objects/messages/tool-result-message.js.map +1 -0
- package/dist/value-objects/messages/user-message.d.ts +47 -0
- package/dist/value-objects/messages/user-message.d.ts.map +1 -0
- package/dist/value-objects/messages/user-message.js +87 -0
- package/dist/value-objects/messages/user-message.js.map +1 -0
- package/dist/value-objects/meta.d.ts +12 -0
- package/dist/value-objects/meta.d.ts.map +1 -0
- package/dist/value-objects/meta.js +28 -0
- package/dist/value-objects/meta.js.map +1 -0
- package/dist/value-objects/moderation-result.d.ts +20 -0
- package/dist/value-objects/moderation-result.d.ts.map +1 -0
- package/dist/value-objects/moderation-result.js +64 -0
- package/dist/value-objects/moderation-result.js.map +1 -0
- package/dist/value-objects/provider-rate-limit.d.ts +11 -0
- package/dist/value-objects/provider-rate-limit.d.ts.map +1 -0
- package/dist/value-objects/provider-rate-limit.js +34 -0
- package/dist/value-objects/provider-rate-limit.js.map +1 -0
- package/dist/value-objects/provider-tool.d.ts +19 -0
- package/dist/value-objects/provider-tool.d.ts.map +1 -0
- package/dist/value-objects/provider-tool.js +31 -0
- package/dist/value-objects/provider-tool.js.map +1 -0
- package/dist/value-objects/tool-call.d.ts +29 -0
- package/dist/value-objects/tool-call.d.ts.map +1 -0
- package/dist/value-objects/tool-call.js +112 -0
- package/dist/value-objects/tool-call.js.map +1 -0
- package/dist/value-objects/tool-result.d.ts +25 -0
- package/dist/value-objects/tool-result.d.ts.map +1 -0
- package/dist/value-objects/tool-result.js +45 -0
- package/dist/value-objects/tool-result.js.map +1 -0
- package/dist/value-objects/usage.d.ts +13 -0
- package/dist/value-objects/usage.d.ts.map +1 -0
- package/dist/value-objects/usage.js +31 -0
- package/dist/value-objects/usage.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/** Where a batch is in its lifecycle, as the provider names it. */
|
|
2
|
+
export var BatchStatus;
|
|
3
|
+
(function (BatchStatus) {
|
|
4
|
+
BatchStatus["Validating"] = "validating";
|
|
5
|
+
BatchStatus["InProgress"] = "in_progress";
|
|
6
|
+
BatchStatus["Finalizing"] = "finalizing";
|
|
7
|
+
BatchStatus["Completed"] = "completed";
|
|
8
|
+
BatchStatus["Failed"] = "failed";
|
|
9
|
+
BatchStatus["Cancelling"] = "cancelling";
|
|
10
|
+
BatchStatus["Cancelled"] = "cancelled";
|
|
11
|
+
BatchStatus["Expired"] = "expired";
|
|
12
|
+
})(BatchStatus || (BatchStatus = {}));
|
|
13
|
+
/** How one item inside a batch turned out. */
|
|
14
|
+
export var BatchResultStatus;
|
|
15
|
+
(function (BatchResultStatus) {
|
|
16
|
+
BatchResultStatus["Succeeded"] = "succeeded";
|
|
17
|
+
BatchResultStatus["Errored"] = "errored";
|
|
18
|
+
BatchResultStatus["Canceled"] = "canceled";
|
|
19
|
+
BatchResultStatus["Expired"] = "expired";
|
|
20
|
+
})(BatchResultStatus || (BatchResultStatus = {}));
|
|
21
|
+
/**
|
|
22
|
+
* How many requests are in each state.
|
|
23
|
+
*
|
|
24
|
+
* FIVE counts and a total, matching the reference — but OpenAI reports only
|
|
25
|
+
* three (`total`, `completed`, `failed`), so `canceled` and `expired` stay zero
|
|
26
|
+
* on that provider. They are not dropped, because a batch that was cancelled
|
|
27
|
+
* mid-flight is a real thing another provider does report.
|
|
28
|
+
*/
|
|
29
|
+
export class BatchJobRequestCounts {
|
|
30
|
+
processing;
|
|
31
|
+
succeeded;
|
|
32
|
+
failed;
|
|
33
|
+
canceled;
|
|
34
|
+
expired;
|
|
35
|
+
total;
|
|
36
|
+
constructor(processing = 0, succeeded = 0, failed = 0, canceled = 0, expired = 0, total = 0) {
|
|
37
|
+
this.processing = processing;
|
|
38
|
+
this.succeeded = succeeded;
|
|
39
|
+
this.failed = failed;
|
|
40
|
+
this.canceled = canceled;
|
|
41
|
+
this.expired = expired;
|
|
42
|
+
this.total = total;
|
|
43
|
+
}
|
|
44
|
+
toObject() {
|
|
45
|
+
return {
|
|
46
|
+
processing: this.processing,
|
|
47
|
+
succeeded: this.succeeded,
|
|
48
|
+
failed: this.failed,
|
|
49
|
+
canceled: this.canceled,
|
|
50
|
+
expired: this.expired,
|
|
51
|
+
total: this.total,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** A submitted batch: what it is, where it is, and what came of it. */
|
|
56
|
+
export class BatchJob {
|
|
57
|
+
id;
|
|
58
|
+
status;
|
|
59
|
+
requestCounts;
|
|
60
|
+
createdAt;
|
|
61
|
+
expiresAt;
|
|
62
|
+
endedAt;
|
|
63
|
+
resultsUrl;
|
|
64
|
+
inputFileId;
|
|
65
|
+
outputFileId;
|
|
66
|
+
errorFileId;
|
|
67
|
+
errors;
|
|
68
|
+
constructor(id, status, requestCounts,
|
|
69
|
+
/** ISO 8601, in UTC — see `parseBatchJob`. */
|
|
70
|
+
createdAt = null, expiresAt = null, endedAt = null, resultsUrl = null, inputFileId = null, outputFileId = null, errorFileId = null, errors = []) {
|
|
71
|
+
this.id = id;
|
|
72
|
+
this.status = status;
|
|
73
|
+
this.requestCounts = requestCounts;
|
|
74
|
+
this.createdAt = createdAt;
|
|
75
|
+
this.expiresAt = expiresAt;
|
|
76
|
+
this.endedAt = endedAt;
|
|
77
|
+
this.resultsUrl = resultsUrl;
|
|
78
|
+
this.inputFileId = inputFileId;
|
|
79
|
+
this.outputFileId = outputFileId;
|
|
80
|
+
this.errorFileId = errorFileId;
|
|
81
|
+
this.errors = errors;
|
|
82
|
+
}
|
|
83
|
+
toObject() {
|
|
84
|
+
return {
|
|
85
|
+
id: this.id,
|
|
86
|
+
status: this.status,
|
|
87
|
+
request_counts: this.requestCounts.toObject(),
|
|
88
|
+
created_at: this.createdAt,
|
|
89
|
+
expires_at: this.expiresAt,
|
|
90
|
+
ended_at: this.endedAt,
|
|
91
|
+
results_url: this.resultsUrl,
|
|
92
|
+
input_file_id: this.inputFileId,
|
|
93
|
+
output_file_id: this.outputFileId,
|
|
94
|
+
error_file_id: this.errorFileId,
|
|
95
|
+
errors: this.errors.map((error) => ({ ...error })),
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/** One page of batches. */
|
|
100
|
+
export class BatchListResult {
|
|
101
|
+
data;
|
|
102
|
+
hasMore;
|
|
103
|
+
lastId;
|
|
104
|
+
constructor(data, hasMore = false, lastId = null) {
|
|
105
|
+
this.data = data;
|
|
106
|
+
this.hasMore = hasMore;
|
|
107
|
+
this.lastId = lastId;
|
|
108
|
+
}
|
|
109
|
+
toObject() {
|
|
110
|
+
return {
|
|
111
|
+
data: this.data.map((job) => job.toObject()),
|
|
112
|
+
has_more: this.hasMore,
|
|
113
|
+
last_id: this.lastId,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* What one request in a batch produced.
|
|
119
|
+
*
|
|
120
|
+
* `text` and `usage` are null on a failure and `errorType`/`errorMessage` are
|
|
121
|
+
* null on a success — the four fields are read together with `status`, which is
|
|
122
|
+
* the field that says which pair means anything.
|
|
123
|
+
*/
|
|
124
|
+
export class BatchResultItem {
|
|
125
|
+
customId;
|
|
126
|
+
status;
|
|
127
|
+
text;
|
|
128
|
+
usage;
|
|
129
|
+
messageId;
|
|
130
|
+
model;
|
|
131
|
+
errorType;
|
|
132
|
+
errorMessage;
|
|
133
|
+
constructor(customId, status, text = null, usage = null, messageId = null, model = null, errorType = null, errorMessage = null) {
|
|
134
|
+
this.customId = customId;
|
|
135
|
+
this.status = status;
|
|
136
|
+
this.text = text;
|
|
137
|
+
this.usage = usage;
|
|
138
|
+
this.messageId = messageId;
|
|
139
|
+
this.model = model;
|
|
140
|
+
this.errorType = errorType;
|
|
141
|
+
this.errorMessage = errorMessage;
|
|
142
|
+
}
|
|
143
|
+
toObject() {
|
|
144
|
+
return {
|
|
145
|
+
custom_id: this.customId,
|
|
146
|
+
status: this.status,
|
|
147
|
+
text: this.text,
|
|
148
|
+
usage: this.usage === null ? null : this.usage.toObject(),
|
|
149
|
+
message_id: this.messageId,
|
|
150
|
+
model: this.model,
|
|
151
|
+
error_type: this.errorType,
|
|
152
|
+
error_message: this.errorMessage,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=batch-job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-job.js","sourceRoot":"","sources":["../../src/batch/batch-job.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { JsonObject } from '../json.js';
|
|
2
|
+
import type { Provider } from '../providers/provider.js';
|
|
3
|
+
import type { BatchJob, BatchListResult, BatchResultItem } from './batch-job.js';
|
|
4
|
+
import { BatchRequest, type BatchRequestItem, CancelBatchRequest, GetBatchResultsRequest, ListBatchesRequest, RetrieveBatchRequest } from './request.js';
|
|
5
|
+
/**
|
|
6
|
+
* The builder for batch jobs.
|
|
7
|
+
*
|
|
8
|
+
* Five terminals, like `files`, and for the same reason: submitting a batch,
|
|
9
|
+
* polling one, listing them, reading results and cancelling are five operations
|
|
10
|
+
* on a queue rather than five renderings of one request.
|
|
11
|
+
*/
|
|
12
|
+
export declare class BatchPendingRequest {
|
|
13
|
+
#private;
|
|
14
|
+
using(provider: string, providerConfig?: Record<string, unknown>): this;
|
|
15
|
+
withProviderOptions(options?: Readonly<JsonObject>): this;
|
|
16
|
+
withClientOptions(options: Record<string, unknown>): this;
|
|
17
|
+
provider(): Provider;
|
|
18
|
+
create(items?: readonly BatchRequestItem[] | null, inputFileId?: string | null): Promise<BatchJob>;
|
|
19
|
+
retrieve(batchId: string): Promise<BatchJob>;
|
|
20
|
+
list(limit?: number | null, afterId?: string | null, beforeId?: string | null): Promise<BatchListResult>;
|
|
21
|
+
getResults(batchId: string): Promise<readonly BatchResultItem[]>;
|
|
22
|
+
cancel(batchId: string): Promise<BatchJob>;
|
|
23
|
+
toCreateRequest(items?: readonly BatchRequestItem[] | null, inputFileId?: string | null): BatchRequest;
|
|
24
|
+
toRetrieveRequest(batchId: string): RetrieveBatchRequest;
|
|
25
|
+
toListRequest(limit?: number | null, afterId?: string | null, beforeId?: string | null): ListBatchesRequest;
|
|
26
|
+
toGetResultsRequest(batchId: string): GetBatchResultsRequest;
|
|
27
|
+
toCancelRequest(batchId: string): CancelBatchRequest;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=pending-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-request.d.ts","sourceRoot":"","sources":["../../src/batch/pending-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EACL,YAAY,EACZ,KAAK,gBAAgB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAEtB;;;;;;GAMG;AACH,qBAAa,mBAAmB;;IAS9B,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAO3E,mBAAmB,CAAC,OAAO,GAAE,QAAQ,CAAC,UAAU,CAAM,GAAG,IAAI;IAM7D,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMzD,QAAQ,IAAI,QAAQ;IAWd,MAAM,CACV,KAAK,GAAE,SAAS,gBAAgB,EAAE,GAAG,IAAW,EAChD,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,OAAO,CAAC,QAAQ,CAAC;IAId,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI5C,IAAI,CACR,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,OAAO,CAAC,eAAe,CAAC;IAIrB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAIhE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIhD,eAAe,CACb,KAAK,GAAE,SAAS,gBAAgB,EAAE,GAAG,IAAW,EAChD,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,YAAY;IAIf,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB;IAIxD,aAAa,CACX,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,kBAAkB;IAIrB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB;IAI5D,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;CAWrD"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { PrismError } from '../errors.js';
|
|
2
|
+
import { resolveProvider } from '../providers/registry.js';
|
|
3
|
+
import { BatchRequest, CancelBatchRequest, GetBatchResultsRequest, ListBatchesRequest, RetrieveBatchRequest, } from './request.js';
|
|
4
|
+
/**
|
|
5
|
+
* The builder for batch jobs.
|
|
6
|
+
*
|
|
7
|
+
* Five terminals, like `files`, and for the same reason: submitting a batch,
|
|
8
|
+
* polling one, listing them, reading results and cancelling are five operations
|
|
9
|
+
* on a queue rather than five renderings of one request.
|
|
10
|
+
*/
|
|
11
|
+
export class BatchPendingRequest {
|
|
12
|
+
#provider = null;
|
|
13
|
+
#providerKey = '';
|
|
14
|
+
#providerOptions = {};
|
|
15
|
+
#clientOptions = {};
|
|
16
|
+
using(provider, providerConfig = {}) {
|
|
17
|
+
this.#providerKey = provider;
|
|
18
|
+
this.#provider = resolveProvider(provider, providerConfig);
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
withProviderOptions(options = {}) {
|
|
22
|
+
this.#providerOptions = { ...options };
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
withClientOptions(options) {
|
|
26
|
+
this.#clientOptions = { ...options };
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
provider() {
|
|
30
|
+
if (this.#provider === null) {
|
|
31
|
+
throw PrismError.unsupportedProviderAction('Sending a request', 'a pending request with no provider — call using() first');
|
|
32
|
+
}
|
|
33
|
+
return this.#provider;
|
|
34
|
+
}
|
|
35
|
+
async create(items = null, inputFileId = null) {
|
|
36
|
+
return this.provider().batch(this.toCreateRequest(items, inputFileId));
|
|
37
|
+
}
|
|
38
|
+
async retrieve(batchId) {
|
|
39
|
+
return this.provider().retrieveBatch(this.toRetrieveRequest(batchId));
|
|
40
|
+
}
|
|
41
|
+
async list(limit = null, afterId = null, beforeId = null) {
|
|
42
|
+
return this.provider().listBatches(this.toListRequest(limit, afterId, beforeId));
|
|
43
|
+
}
|
|
44
|
+
async getResults(batchId) {
|
|
45
|
+
return this.provider().getBatchResults(this.toGetResultsRequest(batchId));
|
|
46
|
+
}
|
|
47
|
+
async cancel(batchId) {
|
|
48
|
+
return this.provider().cancelBatch(this.toCancelRequest(batchId));
|
|
49
|
+
}
|
|
50
|
+
toCreateRequest(items = null, inputFileId = null) {
|
|
51
|
+
return new BatchRequest({ ...this.#base(), items, inputFileId });
|
|
52
|
+
}
|
|
53
|
+
toRetrieveRequest(batchId) {
|
|
54
|
+
return new RetrieveBatchRequest({ ...this.#base(), batchId });
|
|
55
|
+
}
|
|
56
|
+
toListRequest(limit = null, afterId = null, beforeId = null) {
|
|
57
|
+
return new ListBatchesRequest({ ...this.#base(), limit, afterId, beforeId });
|
|
58
|
+
}
|
|
59
|
+
toGetResultsRequest(batchId) {
|
|
60
|
+
return new GetBatchResultsRequest({ ...this.#base(), batchId });
|
|
61
|
+
}
|
|
62
|
+
toCancelRequest(batchId) {
|
|
63
|
+
return new CancelBatchRequest({ ...this.#base(), batchId });
|
|
64
|
+
}
|
|
65
|
+
#base() {
|
|
66
|
+
return {
|
|
67
|
+
providerKey: this.#providerKey,
|
|
68
|
+
clientOptions: this.#clientOptions,
|
|
69
|
+
providerOptions: this.#providerOptions,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=pending-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-request.js","sourceRoot":"","sources":["../../src/batch/pending-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { JsonObject, JsonValue } from '../json.js';
|
|
2
|
+
import type { TextRequest } from '../text/request.js';
|
|
3
|
+
interface BaseOptions {
|
|
4
|
+
providerKey: string;
|
|
5
|
+
clientOptions?: Readonly<Record<string, unknown>>;
|
|
6
|
+
providerOptions?: Readonly<JsonObject>;
|
|
7
|
+
}
|
|
8
|
+
declare abstract class BatchRequestBase {
|
|
9
|
+
#private;
|
|
10
|
+
constructor(options: BaseOptions);
|
|
11
|
+
providerKey(): string;
|
|
12
|
+
clientOptions(): Readonly<Record<string, unknown>>;
|
|
13
|
+
providerOptions(): JsonObject;
|
|
14
|
+
providerOptions(path: string): JsonValue | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* One request inside a batch, and the id the caller will match it back by.
|
|
18
|
+
*
|
|
19
|
+
* `customId` is the caller's, not the provider's: results come back in whatever
|
|
20
|
+
* order the provider finished them, so this is the only thing tying a result to
|
|
21
|
+
* the request that produced it.
|
|
22
|
+
*/
|
|
23
|
+
export declare class BatchRequestItem {
|
|
24
|
+
readonly customId: string;
|
|
25
|
+
readonly request: TextRequest;
|
|
26
|
+
constructor(customId: string, request: TextRequest);
|
|
27
|
+
}
|
|
28
|
+
export interface BatchRequestOptions extends BaseOptions {
|
|
29
|
+
items?: readonly BatchRequestItem[] | null;
|
|
30
|
+
inputFileId?: string | null;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A batch to create, described either way.
|
|
34
|
+
*
|
|
35
|
+
* `items` and `inputFileId` are alternatives, not a pair. Supplying items means
|
|
36
|
+
* the provider mapping builds a JSONL file and uploads it; supplying a file id
|
|
37
|
+
* means one was uploaded already. Which of the two is set is checked at send
|
|
38
|
+
* time rather than here, because it is a PROVIDER rule — a provider that
|
|
39
|
+
* accepted inline items would have nothing to complain about.
|
|
40
|
+
*/
|
|
41
|
+
export declare class BatchRequest extends BatchRequestBase {
|
|
42
|
+
readonly items: readonly BatchRequestItem[] | null;
|
|
43
|
+
readonly inputFileId: string | null;
|
|
44
|
+
constructor(options: BatchRequestOptions);
|
|
45
|
+
}
|
|
46
|
+
export interface ListBatchesRequestOptions extends BaseOptions {
|
|
47
|
+
limit?: number | null;
|
|
48
|
+
afterId?: string | null;
|
|
49
|
+
beforeId?: string | null;
|
|
50
|
+
}
|
|
51
|
+
export declare class ListBatchesRequest extends BatchRequestBase {
|
|
52
|
+
readonly limit: number | null;
|
|
53
|
+
readonly afterId: string | null;
|
|
54
|
+
/** Carried and dropped by the OpenAI mapper, exactly as on `ListFilesRequest`. */
|
|
55
|
+
readonly beforeId: string | null;
|
|
56
|
+
constructor(options: ListBatchesRequestOptions);
|
|
57
|
+
}
|
|
58
|
+
export interface BatchIdRequestOptions extends BaseOptions {
|
|
59
|
+
batchId: string;
|
|
60
|
+
}
|
|
61
|
+
/** The three requests that are nothing but a batch id. */
|
|
62
|
+
declare class BatchIdRequest extends BatchRequestBase {
|
|
63
|
+
readonly batchId: string;
|
|
64
|
+
constructor(options: BatchIdRequestOptions);
|
|
65
|
+
}
|
|
66
|
+
export declare class RetrieveBatchRequest extends BatchIdRequest {
|
|
67
|
+
}
|
|
68
|
+
export declare class GetBatchResultsRequest extends BatchIdRequest {
|
|
69
|
+
}
|
|
70
|
+
export declare class CancelBatchRequest extends BatchIdRequest {
|
|
71
|
+
}
|
|
72
|
+
export {};
|
|
73
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/batch/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CACxC;AAED,uBAAe,gBAAgB;;gBAOjB,OAAO,EAAE,WAAW;IAMhC,WAAW,IAAI,MAAM;IAIrB,aAAa,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIlD,eAAe,IAAI,UAAU;IAC7B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;CAIrD;AAED;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAEzB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,OAAO,EAAE,WAAW;gBADpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW;CAEhC;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,KAAK,CAAC,EAAE,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAEnD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;gBAExB,OAAO,EAAE,mBAAmB;CAKzC;AAED,MAAM,WAAW,yBAA0B,SAAQ,WAAW;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;gBAErB,OAAO,EAAE,yBAAyB;CAM/C;AAED,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,0DAA0D;AAC1D,cAAM,cAAe,SAAQ,gBAAgB;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,OAAO,EAAE,qBAAqB;CAI3C;AAED,qBAAa,oBAAqB,SAAQ,cAAc;CAAG;AAE3D,qBAAa,sBAAuB,SAAQ,cAAc;CAAG;AAE7D,qBAAa,kBAAmB,SAAQ,cAAc;CAAG"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
class BatchRequestBase {
|
|
2
|
+
#providerKey;
|
|
3
|
+
#clientOptions;
|
|
4
|
+
#providerOptions;
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.#providerKey = options.providerKey;
|
|
7
|
+
this.#clientOptions = options.clientOptions ?? {};
|
|
8
|
+
this.#providerOptions = { ...(options.providerOptions ?? {}) };
|
|
9
|
+
}
|
|
10
|
+
providerKey() {
|
|
11
|
+
return this.#providerKey;
|
|
12
|
+
}
|
|
13
|
+
clientOptions() {
|
|
14
|
+
return this.#clientOptions;
|
|
15
|
+
}
|
|
16
|
+
providerOptions(path) {
|
|
17
|
+
return path === undefined ? this.#providerOptions : this.#providerOptions[path];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* One request inside a batch, and the id the caller will match it back by.
|
|
22
|
+
*
|
|
23
|
+
* `customId` is the caller's, not the provider's: results come back in whatever
|
|
24
|
+
* order the provider finished them, so this is the only thing tying a result to
|
|
25
|
+
* the request that produced it.
|
|
26
|
+
*/
|
|
27
|
+
export class BatchRequestItem {
|
|
28
|
+
customId;
|
|
29
|
+
request;
|
|
30
|
+
constructor(customId, request) {
|
|
31
|
+
this.customId = customId;
|
|
32
|
+
this.request = request;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A batch to create, described either way.
|
|
37
|
+
*
|
|
38
|
+
* `items` and `inputFileId` are alternatives, not a pair. Supplying items means
|
|
39
|
+
* the provider mapping builds a JSONL file and uploads it; supplying a file id
|
|
40
|
+
* means one was uploaded already. Which of the two is set is checked at send
|
|
41
|
+
* time rather than here, because it is a PROVIDER rule — a provider that
|
|
42
|
+
* accepted inline items would have nothing to complain about.
|
|
43
|
+
*/
|
|
44
|
+
export class BatchRequest extends BatchRequestBase {
|
|
45
|
+
items;
|
|
46
|
+
inputFileId;
|
|
47
|
+
constructor(options) {
|
|
48
|
+
super(options);
|
|
49
|
+
this.items = options.items ?? null;
|
|
50
|
+
this.inputFileId = options.inputFileId ?? null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export class ListBatchesRequest extends BatchRequestBase {
|
|
54
|
+
limit;
|
|
55
|
+
afterId;
|
|
56
|
+
/** Carried and dropped by the OpenAI mapper, exactly as on `ListFilesRequest`. */
|
|
57
|
+
beforeId;
|
|
58
|
+
constructor(options) {
|
|
59
|
+
super(options);
|
|
60
|
+
this.limit = options.limit ?? null;
|
|
61
|
+
this.afterId = options.afterId ?? null;
|
|
62
|
+
this.beforeId = options.beforeId ?? null;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/** The three requests that are nothing but a batch id. */
|
|
66
|
+
class BatchIdRequest extends BatchRequestBase {
|
|
67
|
+
batchId;
|
|
68
|
+
constructor(options) {
|
|
69
|
+
super(options);
|
|
70
|
+
this.batchId = options.batchId;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export class RetrieveBatchRequest extends BatchIdRequest {
|
|
74
|
+
}
|
|
75
|
+
export class GetBatchResultsRequest extends BatchIdRequest {
|
|
76
|
+
}
|
|
77
|
+
export class CancelBatchRequest extends BatchIdRequest {
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/batch/request.ts"],"names":[],"mappings":"AASA,MAAe,gBAAgB;IACpB,YAAY,CAAS;IAErB,cAAc,CAAoC;IAElD,gBAAgB,CAAa;IAEtC,YAAY,OAAoB;QAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAID,eAAe,CAAC,IAAa;QAC3B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAEhB;IACA;IAFX,YACW,QAAgB,EAChB,OAAoB;QADpB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAAa;IAC5B,CAAC;CACL;AAOD;;;;;;;;GAQG;AACH,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IACvC,KAAK,CAAqC;IAE1C,WAAW,CAAgB;IAEpC,YAAY,OAA4B;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;IACjD,CAAC;CACF;AAQD,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAC7C,KAAK,CAAgB;IAErB,OAAO,CAAgB;IAEhC,kFAAkF;IACzE,QAAQ,CAAgB;IAEjC,YAAY,OAAkC;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC3C,CAAC;CACF;AAMD,0DAA0D;AAC1D,MAAM,cAAe,SAAQ,gBAAgB;IAClC,OAAO,CAAS;IAEzB,YAAY,OAA8B;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,cAAc;CAAG;AAE3D,MAAM,OAAO,sBAAuB,SAAQ,cAAc;CAAG;AAE7D,MAAM,OAAO,kBAAmB,SAAQ,cAAc;CAAG"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { JsonObject } from '../json.js';
|
|
2
|
+
import type { Provider } from '../providers/provider.js';
|
|
3
|
+
import { EmbeddingsRequest } from './request.js';
|
|
4
|
+
import type { EmbeddingsResponse } from './response.js';
|
|
5
|
+
/**
|
|
6
|
+
* The fluent builder for embeddings.
|
|
7
|
+
*
|
|
8
|
+
* NOT a subclass of the text builder, unlike the structured one. An embeddings
|
|
9
|
+
* request has no system prompt, no tools, no temperature and no step budget —
|
|
10
|
+
* inheriting twenty methods that all throw or silently do nothing would be a
|
|
11
|
+
* larger lie than the small duplication of the four that apply.
|
|
12
|
+
*/
|
|
13
|
+
export declare class EmbeddingsPendingRequest {
|
|
14
|
+
#private;
|
|
15
|
+
using(provider: string, model?: string, providerConfig?: Record<string, unknown>): this;
|
|
16
|
+
/** APPENDS, so several calls embed several inputs in one request. */
|
|
17
|
+
fromInput(input: string): this;
|
|
18
|
+
fromArray(inputs: readonly string[]): this;
|
|
19
|
+
/**
|
|
20
|
+
* The file's contents as one input.
|
|
21
|
+
*
|
|
22
|
+
* Read eagerly rather than at send time: a caller that mistypes a path should
|
|
23
|
+
* find out on the line that names it, not inside a provider call that has
|
|
24
|
+
* already been billed for the inputs that came before it.
|
|
25
|
+
*/
|
|
26
|
+
fromFile(path: string): this;
|
|
27
|
+
withProviderOptions(options?: Readonly<JsonObject>): this;
|
|
28
|
+
withClientOptions(options: Record<string, unknown>): this;
|
|
29
|
+
provider(): Provider;
|
|
30
|
+
/**
|
|
31
|
+
* @throws PrismError code `no_embedding_input` when nothing was given. An
|
|
32
|
+
* embeddings call with no input is billable, returns an empty list, and
|
|
33
|
+
* reads to the caller as a provider that answered nothing.
|
|
34
|
+
*/
|
|
35
|
+
toRequest(): EmbeddingsRequest;
|
|
36
|
+
asEmbeddings(): Promise<EmbeddingsResponse>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=pending-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-request.d.ts","sourceRoot":"","sources":["../../src/embeddings/pending-request.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD;;;;;;;GAOG;AACH,qBAAa,wBAAwB;;IAanC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAQvF,qEAAqE;IACrE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAM1C;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU5B,mBAAmB,CAAC,OAAO,GAAE,QAAQ,CAAC,UAAU,CAAM,GAAG,IAAI;IAM7D,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMzD,QAAQ,IAAI,QAAQ;IAWpB;;;;OAIG;IACH,SAAS,IAAI,iBAAiB;IAcxB,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAGlD"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { PrismError } from '../errors.js';
|
|
3
|
+
import { resolveProvider } from '../providers/registry.js';
|
|
4
|
+
import { EmbeddingsRequest } from './request.js';
|
|
5
|
+
/**
|
|
6
|
+
* The fluent builder for embeddings.
|
|
7
|
+
*
|
|
8
|
+
* NOT a subclass of the text builder, unlike the structured one. An embeddings
|
|
9
|
+
* request has no system prompt, no tools, no temperature and no step budget —
|
|
10
|
+
* inheriting twenty methods that all throw or silently do nothing would be a
|
|
11
|
+
* larger lie than the small duplication of the four that apply.
|
|
12
|
+
*/
|
|
13
|
+
export class EmbeddingsPendingRequest {
|
|
14
|
+
#provider = null;
|
|
15
|
+
#providerKey = '';
|
|
16
|
+
#model = '';
|
|
17
|
+
#inputs = [];
|
|
18
|
+
#providerOptions = {};
|
|
19
|
+
#clientOptions = {};
|
|
20
|
+
using(provider, model = '', providerConfig = {}) {
|
|
21
|
+
this.#providerKey = provider;
|
|
22
|
+
this.#model = model;
|
|
23
|
+
this.#provider = resolveProvider(provider, providerConfig);
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
/** APPENDS, so several calls embed several inputs in one request. */
|
|
27
|
+
fromInput(input) {
|
|
28
|
+
this.#inputs.push(input);
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
fromArray(inputs) {
|
|
32
|
+
this.#inputs.push(...inputs);
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The file's contents as one input.
|
|
37
|
+
*
|
|
38
|
+
* Read eagerly rather than at send time: a caller that mistypes a path should
|
|
39
|
+
* find out on the line that names it, not inside a provider call that has
|
|
40
|
+
* already been billed for the inputs that came before it.
|
|
41
|
+
*/
|
|
42
|
+
fromFile(path) {
|
|
43
|
+
try {
|
|
44
|
+
this.#inputs.push(readFileSync(path, 'utf8'));
|
|
45
|
+
}
|
|
46
|
+
catch (cause) {
|
|
47
|
+
throw PrismError.unreadableInputFile(path, cause);
|
|
48
|
+
}
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
withProviderOptions(options = {}) {
|
|
52
|
+
this.#providerOptions = { ...options };
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
withClientOptions(options) {
|
|
56
|
+
this.#clientOptions = { ...options };
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
provider() {
|
|
60
|
+
if (this.#provider === null) {
|
|
61
|
+
throw PrismError.unsupportedProviderAction('Sending a request', 'a pending request with no provider — call using() first');
|
|
62
|
+
}
|
|
63
|
+
return this.#provider;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @throws PrismError code `no_embedding_input` when nothing was given. An
|
|
67
|
+
* embeddings call with no input is billable, returns an empty list, and
|
|
68
|
+
* reads to the caller as a provider that answered nothing.
|
|
69
|
+
*/
|
|
70
|
+
toRequest() {
|
|
71
|
+
if (this.#inputs.length === 0) {
|
|
72
|
+
throw PrismError.noEmbeddingInput();
|
|
73
|
+
}
|
|
74
|
+
return new EmbeddingsRequest({
|
|
75
|
+
model: this.#model,
|
|
76
|
+
providerKey: this.#providerKey,
|
|
77
|
+
inputs: [...this.#inputs],
|
|
78
|
+
clientOptions: this.#clientOptions,
|
|
79
|
+
providerOptions: this.#providerOptions,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async asEmbeddings() {
|
|
83
|
+
return this.provider().embeddings(this.toRequest());
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=pending-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-request.js","sourceRoot":"","sources":["../../src/embeddings/pending-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAwB;IACnC,SAAS,GAAoB,IAAI,CAAC;IAElC,YAAY,GAAG,EAAE,CAAC;IAElB,MAAM,GAAG,EAAE,CAAC;IAEZ,OAAO,GAAa,EAAE,CAAC;IAEvB,gBAAgB,GAAe,EAAE,CAAC;IAElC,cAAc,GAA4B,EAAE,CAAC;IAE7C,KAAK,CAAC,QAAgB,EAAE,KAAK,GAAG,EAAE,EAAE,iBAA0C,EAAE;QAC9E,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qEAAqE;IACrE,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,MAAyB;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,UAAgC,EAAE;QACpD,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAEvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,OAAgC;QAChD,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAErC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,UAAU,CAAC,yBAAyB,CACxC,mBAAmB,EACnB,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,iBAAiB,CAAC;YAC3B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YACzB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,eAAe,EAAE,IAAI,CAAC,gBAAgB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { JsonObject, JsonValue } from '../json.js';
|
|
2
|
+
export interface EmbeddingsRequestOptions {
|
|
3
|
+
model: string;
|
|
4
|
+
providerKey: string;
|
|
5
|
+
inputs: readonly string[];
|
|
6
|
+
clientOptions?: Readonly<Record<string, unknown>>;
|
|
7
|
+
providerOptions?: Readonly<JsonObject>;
|
|
8
|
+
}
|
|
9
|
+
export declare class EmbeddingsRequest {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(options: EmbeddingsRequestOptions);
|
|
12
|
+
model(): string;
|
|
13
|
+
providerKey(): string;
|
|
14
|
+
/**
|
|
15
|
+
* ALWAYS a list, even for one input.
|
|
16
|
+
*
|
|
17
|
+
* The reference accumulates every `fromInput` / `fromArray` / `fromFile` call
|
|
18
|
+
* into one list, so a single input is a list of one rather than a special
|
|
19
|
+
* case. Modelling it as `string | string[]` would push that branch into every
|
|
20
|
+
* provider.
|
|
21
|
+
*/
|
|
22
|
+
inputs(): readonly string[];
|
|
23
|
+
clientOptions(): Readonly<Record<string, unknown>>;
|
|
24
|
+
providerOptions(): JsonObject;
|
|
25
|
+
providerOptions(path: string): JsonValue | undefined;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/embeddings/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CACxC;AAED,qBAAa,iBAAiB;;gBAWhB,OAAO,EAAE,wBAAwB;IAQ7C,KAAK,IAAI,MAAM;IAIf,WAAW,IAAI,MAAM;IAIrB;;;;;;;OAOG;IACH,MAAM,IAAI,SAAS,MAAM,EAAE;IAI3B,aAAa,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIlD,eAAe,IAAI,UAAU;IAC7B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;CAIrD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export class EmbeddingsRequest {
|
|
2
|
+
#model;
|
|
3
|
+
#providerKey;
|
|
4
|
+
#inputs;
|
|
5
|
+
#clientOptions;
|
|
6
|
+
#providerOptions;
|
|
7
|
+
constructor(options) {
|
|
8
|
+
this.#model = options.model;
|
|
9
|
+
this.#providerKey = options.providerKey;
|
|
10
|
+
this.#inputs = options.inputs;
|
|
11
|
+
this.#clientOptions = options.clientOptions ?? {};
|
|
12
|
+
this.#providerOptions = { ...(options.providerOptions ?? {}) };
|
|
13
|
+
}
|
|
14
|
+
model() {
|
|
15
|
+
return this.#model;
|
|
16
|
+
}
|
|
17
|
+
providerKey() {
|
|
18
|
+
return this.#providerKey;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* ALWAYS a list, even for one input.
|
|
22
|
+
*
|
|
23
|
+
* The reference accumulates every `fromInput` / `fromArray` / `fromFile` call
|
|
24
|
+
* into one list, so a single input is a list of one rather than a special
|
|
25
|
+
* case. Modelling it as `string | string[]` would push that branch into every
|
|
26
|
+
* provider.
|
|
27
|
+
*/
|
|
28
|
+
inputs() {
|
|
29
|
+
return this.#inputs;
|
|
30
|
+
}
|
|
31
|
+
clientOptions() {
|
|
32
|
+
return this.#clientOptions;
|
|
33
|
+
}
|
|
34
|
+
providerOptions(path) {
|
|
35
|
+
return path === undefined ? this.#providerOptions : this.#providerOptions[path];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/embeddings/request.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,iBAAiB;IACnB,MAAM,CAAS;IAEf,YAAY,CAAS;IAErB,OAAO,CAAoB;IAE3B,cAAc,CAAoC;IAE3D,gBAAgB,CAAa;IAE7B,YAAY,OAAiC;QAC3C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAID,eAAe,CAAC,IAAa;QAC3B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC;CACF"}
|