@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,19 @@
|
|
|
1
|
+
import type { JsonObject } from '../json.js';
|
|
2
|
+
import type { Embedding } from '../value-objects/embedding.js';
|
|
3
|
+
import type { EmbeddingsUsage } from '../value-objects/embeddings-usage.js';
|
|
4
|
+
import type { Meta } from '../value-objects/meta.js';
|
|
5
|
+
export interface EmbeddingsResponseOptions {
|
|
6
|
+
embeddings: readonly Embedding[];
|
|
7
|
+
usage: EmbeddingsUsage;
|
|
8
|
+
meta: Meta;
|
|
9
|
+
raw?: JsonObject | null;
|
|
10
|
+
}
|
|
11
|
+
export declare class EmbeddingsResponse {
|
|
12
|
+
readonly embeddings: readonly Embedding[];
|
|
13
|
+
readonly usage: EmbeddingsUsage;
|
|
14
|
+
readonly meta: Meta;
|
|
15
|
+
readonly raw: JsonObject | null;
|
|
16
|
+
constructor(options: EmbeddingsResponseOptions);
|
|
17
|
+
toObject(): JsonObject;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/embeddings/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IACjC,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CACzB;AAED,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAE1C,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAEhC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;gBAEpB,OAAO,EAAE,yBAAyB;IAO9C,QAAQ,IAAI,UAAU;CAQvB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class EmbeddingsResponse {
|
|
2
|
+
embeddings;
|
|
3
|
+
usage;
|
|
4
|
+
meta;
|
|
5
|
+
raw;
|
|
6
|
+
constructor(options) {
|
|
7
|
+
this.embeddings = options.embeddings;
|
|
8
|
+
this.usage = options.usage;
|
|
9
|
+
this.meta = options.meta;
|
|
10
|
+
this.raw = options.raw ?? null;
|
|
11
|
+
}
|
|
12
|
+
toObject() {
|
|
13
|
+
return {
|
|
14
|
+
embeddings: this.embeddings.map((embedding) => embedding.toObject()),
|
|
15
|
+
usage: this.usage.toObject(),
|
|
16
|
+
meta: this.meta.toObject(),
|
|
17
|
+
raw: this.raw === null ? null : { ...this.raw },
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/embeddings/response.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,kBAAkB;IACpB,UAAU,CAAuB;IAEjC,KAAK,CAAkB;IAEvB,IAAI,CAAO;IAEX,GAAG,CAAoB;IAEhC,YAAY,OAAkC;QAC5C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;IACjC,CAAC;IAED,QAAQ;QACN,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACpE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;SAChD,CAAC;IACJ,CAAC;CACF"}
|
package/dist/enums.d.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a finish reason has a wire value and a tool choice does not.
|
|
3
|
+
*
|
|
4
|
+
* `FinishReason` is a BACKED enum in the reference: its values reach `toArray()`
|
|
5
|
+
* and therefore reach anything that persists a response. They are pinned here.
|
|
6
|
+
*
|
|
7
|
+
* `ToolChoice` is a PURE enum in the reference — the members carry no value at
|
|
8
|
+
* all, and the mapping to a wire string lives in each provider (OpenAI turns
|
|
9
|
+
* `Any` into `"required"`). Modelling it as a string enum here would invite a
|
|
10
|
+
* port to serialize the member directly and send `"any"`, which OpenAI rejects.
|
|
11
|
+
* The numeric backing keeps the members opaque, and it is also what lets
|
|
12
|
+
* `withToolChoice()` tell a tool NAME (a string) from a choice (a number).
|
|
13
|
+
*/
|
|
14
|
+
export declare enum FinishReason {
|
|
15
|
+
Stop = "stop",
|
|
16
|
+
Length = "length",
|
|
17
|
+
ContentFilter = "content-filter",
|
|
18
|
+
ToolCalls = "tool-calls",
|
|
19
|
+
Pause = "pause",
|
|
20
|
+
Refusal = "refusal",
|
|
21
|
+
Error = "error",
|
|
22
|
+
Other = "other",
|
|
23
|
+
Unknown = "unknown"
|
|
24
|
+
}
|
|
25
|
+
export declare enum ToolChoice {
|
|
26
|
+
Auto = 1,
|
|
27
|
+
Any = 2,
|
|
28
|
+
None = 3
|
|
29
|
+
}
|
|
30
|
+
/** Rebuild a `FinishReason` from its wire value; unknown values become `Unknown`. */
|
|
31
|
+
export declare function finishReasonFromValue(value: unknown): FinishReason;
|
|
32
|
+
/** Rebuild a `ToolChoice` from its member NAME (`"Auto"`, `"Any"`, `"None"`). */
|
|
33
|
+
export declare function toolChoiceFromName(name: string): ToolChoice;
|
|
34
|
+
/**
|
|
35
|
+
* How to ask a provider for structured output.
|
|
36
|
+
*
|
|
37
|
+
* A PURE enum in the reference — the members carry no wire value, because each
|
|
38
|
+
* provider decides what the mode means on its own API. Backed numerically here
|
|
39
|
+
* for the same reason `ToolChoice` is: an opaque member cannot be serialized
|
|
40
|
+
* into a request by accident.
|
|
41
|
+
*
|
|
42
|
+
* `Auto` lets the provider pick the strongest method it supports for the model
|
|
43
|
+
* in hand. `Json` asks only for valid JSON. `Structured` demands the provider's
|
|
44
|
+
* schema-enforcing mode and fails rather than degrading, which is the one to
|
|
45
|
+
* choose when a malformed answer would be worse than no answer.
|
|
46
|
+
*/
|
|
47
|
+
export declare enum StructuredMode {
|
|
48
|
+
Auto = 1,
|
|
49
|
+
Json = 2,
|
|
50
|
+
Structured = 3
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=enums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,aAAa,mBAAmB;IAChC,SAAS,eAAe;IACxB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,oBAAY,UAAU;IACpB,IAAI,IAAI;IACR,GAAG,IAAI;IACP,IAAI,IAAI;CACT;AAID,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAElE;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAW3D;AAED;;;;;;;;;;;;GAYG;AACH,oBAAY,cAAc;IACxB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,UAAU,IAAI;CACf"}
|
package/dist/enums.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a finish reason has a wire value and a tool choice does not.
|
|
3
|
+
*
|
|
4
|
+
* `FinishReason` is a BACKED enum in the reference: its values reach `toArray()`
|
|
5
|
+
* and therefore reach anything that persists a response. They are pinned here.
|
|
6
|
+
*
|
|
7
|
+
* `ToolChoice` is a PURE enum in the reference — the members carry no value at
|
|
8
|
+
* all, and the mapping to a wire string lives in each provider (OpenAI turns
|
|
9
|
+
* `Any` into `"required"`). Modelling it as a string enum here would invite a
|
|
10
|
+
* port to serialize the member directly and send `"any"`, which OpenAI rejects.
|
|
11
|
+
* The numeric backing keeps the members opaque, and it is also what lets
|
|
12
|
+
* `withToolChoice()` tell a tool NAME (a string) from a choice (a number).
|
|
13
|
+
*/
|
|
14
|
+
export var FinishReason;
|
|
15
|
+
(function (FinishReason) {
|
|
16
|
+
FinishReason["Stop"] = "stop";
|
|
17
|
+
FinishReason["Length"] = "length";
|
|
18
|
+
FinishReason["ContentFilter"] = "content-filter";
|
|
19
|
+
FinishReason["ToolCalls"] = "tool-calls";
|
|
20
|
+
FinishReason["Pause"] = "pause";
|
|
21
|
+
FinishReason["Refusal"] = "refusal";
|
|
22
|
+
FinishReason["Error"] = "error";
|
|
23
|
+
FinishReason["Other"] = "other";
|
|
24
|
+
FinishReason["Unknown"] = "unknown";
|
|
25
|
+
})(FinishReason || (FinishReason = {}));
|
|
26
|
+
export var ToolChoice;
|
|
27
|
+
(function (ToolChoice) {
|
|
28
|
+
ToolChoice[ToolChoice["Auto"] = 1] = "Auto";
|
|
29
|
+
ToolChoice[ToolChoice["Any"] = 2] = "Any";
|
|
30
|
+
ToolChoice[ToolChoice["None"] = 3] = "None";
|
|
31
|
+
})(ToolChoice || (ToolChoice = {}));
|
|
32
|
+
const FINISH_REASONS = Object.values(FinishReason);
|
|
33
|
+
/** Rebuild a `FinishReason` from its wire value; unknown values become `Unknown`. */
|
|
34
|
+
export function finishReasonFromValue(value) {
|
|
35
|
+
return FINISH_REASONS.find((reason) => reason === value) ?? FinishReason.Unknown;
|
|
36
|
+
}
|
|
37
|
+
/** Rebuild a `ToolChoice` from its member NAME (`"Auto"`, `"Any"`, `"None"`). */
|
|
38
|
+
export function toolChoiceFromName(name) {
|
|
39
|
+
switch (name) {
|
|
40
|
+
case 'Auto':
|
|
41
|
+
return ToolChoice.Auto;
|
|
42
|
+
case 'Any':
|
|
43
|
+
return ToolChoice.Any;
|
|
44
|
+
case 'None':
|
|
45
|
+
return ToolChoice.None;
|
|
46
|
+
default:
|
|
47
|
+
throw new TypeError(`Unknown ToolChoice case ${name}.`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* How to ask a provider for structured output.
|
|
52
|
+
*
|
|
53
|
+
* A PURE enum in the reference — the members carry no wire value, because each
|
|
54
|
+
* provider decides what the mode means on its own API. Backed numerically here
|
|
55
|
+
* for the same reason `ToolChoice` is: an opaque member cannot be serialized
|
|
56
|
+
* into a request by accident.
|
|
57
|
+
*
|
|
58
|
+
* `Auto` lets the provider pick the strongest method it supports for the model
|
|
59
|
+
* in hand. `Json` asks only for valid JSON. `Structured` demands the provider's
|
|
60
|
+
* schema-enforcing mode and fails rather than degrading, which is the one to
|
|
61
|
+
* choose when a malformed answer would be worse than no answer.
|
|
62
|
+
*/
|
|
63
|
+
export var StructuredMode;
|
|
64
|
+
(function (StructuredMode) {
|
|
65
|
+
StructuredMode[StructuredMode["Auto"] = 1] = "Auto";
|
|
66
|
+
StructuredMode[StructuredMode["Json"] = 2] = "Json";
|
|
67
|
+
StructuredMode[StructuredMode["Structured"] = 3] = "Structured";
|
|
68
|
+
})(StructuredMode || (StructuredMode = {}));
|
|
69
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAN,IAAY,YAUX;AAVD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,gDAAgC,CAAA;IAChC,wCAAwB,CAAA;IACxB,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,+BAAe,CAAA;IACf,+BAAe,CAAA;IACf,mCAAmB,CAAA;AACrB,CAAC,EAVW,YAAY,KAAZ,YAAY,QAUvB;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,2CAAQ,CAAA;IACR,yCAAO,CAAA;IACP,2CAAQ,CAAA;AACV,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,cAAc,GAA4B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAE5E,qFAAqF;AACrF,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC;AACnF,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB,KAAK,KAAK;YACR,OAAO,UAAU,CAAC,GAAG,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB;YACE,MAAM,IAAI,SAAS,CAAC,2BAA2B,IAAI,GAAG,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,mDAAQ,CAAA;IACR,mDAAQ,CAAA;IACR,+DAAc,CAAA;AAChB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Failures carry a stable CODE.
|
|
3
|
+
*
|
|
4
|
+
* The PHP reference identifies every failure by an English sentence and nothing
|
|
5
|
+
* else, so any consumer that needs to branch on a failure ends up matching on
|
|
6
|
+
* prose and every wording improvement becomes a silent breaking change. Here the
|
|
7
|
+
* code is the contract and the message is not: treat `PrismError.code` as
|
|
8
|
+
* stable and `PrismError.message` as free to change in any release.
|
|
9
|
+
*/
|
|
10
|
+
export type PrismErrorCode =
|
|
11
|
+
/** `prompt` and `messages` were both set on the same pending request. */
|
|
12
|
+
'prompt_and_messages'
|
|
13
|
+
/** The provider stopped because it ran out of output tokens. */
|
|
14
|
+
| 'max_tokens_exceeded'
|
|
15
|
+
/** The provider returned a payload that is missing, empty or carries an error. */
|
|
16
|
+
| 'provider_response_error'
|
|
17
|
+
/** The provider does not implement the capability that was asked for. */
|
|
18
|
+
| 'unsupported_provider_action'
|
|
19
|
+
/** A tool call's `arguments` string is not valid JSON. */
|
|
20
|
+
| 'malformed_tool_call_arguments'
|
|
21
|
+
/** A value in the message list is not a message this port knows how to map. */
|
|
22
|
+
| 'unknown_message_type'
|
|
23
|
+
/** The response finished on tool calls; the tool-execution loop is not ported. */
|
|
24
|
+
| 'tool_loop_not_supported'
|
|
25
|
+
/** A value handed to the canonical encoder cannot survive a JSON round trip. */
|
|
26
|
+
| 'canonical_json_unencodable'
|
|
27
|
+
/** A structured request reached `toRequest()` with no schema set. */
|
|
28
|
+
| 'missing_schema'
|
|
29
|
+
/** The model cannot produce structured output at all, by name. */
|
|
30
|
+
| 'unsupported_structured_model'
|
|
31
|
+
/** An embeddings request reached `toRequest()` with no input. */
|
|
32
|
+
| 'no_embedding_input'
|
|
33
|
+
/** `fromFile()` could not read the path it was given. */
|
|
34
|
+
| 'unreadable_input_file'
|
|
35
|
+
/** An images request reached `toRequest()` with no prompt. */
|
|
36
|
+
| 'no_image_prompt'
|
|
37
|
+
/** A moderation request reached `toRequest()` with no input. */
|
|
38
|
+
| 'no_moderation_input'
|
|
39
|
+
/** A media file could not be read from disk. */
|
|
40
|
+
| 'unreadable_media_file'
|
|
41
|
+
/** A media payload could not be fetched from its url. */
|
|
42
|
+
| 'unfetchable_media'
|
|
43
|
+
/** A provider was handed a media part in a form it cannot send. */
|
|
44
|
+
| 'unsupported_media'
|
|
45
|
+
/** An audio terminal was called with the input for the other direction. */
|
|
46
|
+
| 'wrong_audio_input'
|
|
47
|
+
/** A speech-to-text input carries no bytes to send. */
|
|
48
|
+
| 'no_audio_content';
|
|
49
|
+
export interface PrismErrorOptions {
|
|
50
|
+
cause?: unknown;
|
|
51
|
+
httpStatus?: number | null;
|
|
52
|
+
responseBody?: string | null;
|
|
53
|
+
}
|
|
54
|
+
export declare class PrismError extends Error {
|
|
55
|
+
readonly code: PrismErrorCode;
|
|
56
|
+
readonly httpStatus: number | null;
|
|
57
|
+
readonly responseBody: string | null;
|
|
58
|
+
constructor(code: PrismErrorCode, message: string, options?: PrismErrorOptions);
|
|
59
|
+
static promptAndMessages(): PrismError;
|
|
60
|
+
/**
|
|
61
|
+
* A structured request with no schema.
|
|
62
|
+
*
|
|
63
|
+
* Refused rather than defaulted. "Any object" would produce a response that
|
|
64
|
+
* parses and means nothing, and the caller would discover that at the point
|
|
65
|
+
* they read a field that was never asked for.
|
|
66
|
+
*/
|
|
67
|
+
static missingSchema(): PrismError;
|
|
68
|
+
static unsupportedStructuredModel(model: string): PrismError;
|
|
69
|
+
/**
|
|
70
|
+
* An embeddings request with no input.
|
|
71
|
+
*
|
|
72
|
+
* Refused rather than sent. The call is billable, comes back with an empty
|
|
73
|
+
* list, and reads to the caller as a provider that answered nothing.
|
|
74
|
+
*/
|
|
75
|
+
static noEmbeddingInput(): PrismError;
|
|
76
|
+
/**
|
|
77
|
+
* A moderation request with no input.
|
|
78
|
+
*
|
|
79
|
+
* Refused rather than sent, and this matters more than the other empty-input
|
|
80
|
+
* guards: an empty moderation call returns no results, `isFlagged()` is then
|
|
81
|
+
* false, and a caller gating on it lets everything through. A safety check
|
|
82
|
+
* that fails OPEN because it was called wrong is the worst shape here.
|
|
83
|
+
*/
|
|
84
|
+
static wrongAudioInput(wanted: string, got: string): PrismError;
|
|
85
|
+
/**
|
|
86
|
+
* A transcription input with nothing to upload.
|
|
87
|
+
*
|
|
88
|
+
* Reached when the `Audio` holds only a url, which this port does not fetch
|
|
89
|
+
* implicitly — see `Media`. Says so rather than posting an empty file, which
|
|
90
|
+
* a provider answers with a transcript of silence.
|
|
91
|
+
*/
|
|
92
|
+
static noAudioContent(): PrismError;
|
|
93
|
+
static unreadableMediaFile(path: string, cause?: unknown): PrismError;
|
|
94
|
+
/**
|
|
95
|
+
* Names the provider, the part, and WHAT IT WOULD ACCEPT.
|
|
96
|
+
*
|
|
97
|
+
* The reference says only that the provider "does not support the mediums
|
|
98
|
+
* available" and points at the docs. The form a payload is in is the whole
|
|
99
|
+
* question here — a url where bytes were needed, or the reverse — so the
|
|
100
|
+
* accepted forms belong in the message rather than a page away.
|
|
101
|
+
*/
|
|
102
|
+
static unsupportedMedia(provider: string, part: string, accepts: string): PrismError;
|
|
103
|
+
static unfetchableMedia(reason: string): PrismError;
|
|
104
|
+
static noModerationInput(): PrismError;
|
|
105
|
+
static noImagePrompt(): PrismError;
|
|
106
|
+
static unreadableInputFile(path: string, cause?: unknown): PrismError;
|
|
107
|
+
static maxTokensExceeded(status: string, type: string): PrismError;
|
|
108
|
+
static providerResponseError(message: string, options?: {
|
|
109
|
+
httpStatus?: number | null;
|
|
110
|
+
responseBody?: string | null;
|
|
111
|
+
cause?: unknown;
|
|
112
|
+
}): PrismError;
|
|
113
|
+
static unsupportedProviderAction(action: string, provider: string): PrismError;
|
|
114
|
+
static malformedToolCallArguments(toolName: string, cause?: unknown): PrismError;
|
|
115
|
+
static unknownMessageType(description: string): PrismError;
|
|
116
|
+
static toolLoopNotSupported(): PrismError;
|
|
117
|
+
static canonicalJsonUnencodable(path: string, value: unknown): PrismError;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Failures carry a stable CODE.
|
|
3
|
+
*
|
|
4
|
+
* The PHP reference identifies every failure by an English sentence and nothing
|
|
5
|
+
* else, so any consumer that needs to branch on a failure ends up matching on
|
|
6
|
+
* prose and every wording improvement becomes a silent breaking change. Here the
|
|
7
|
+
* code is the contract and the message is not: treat `PrismError.code` as
|
|
8
|
+
* stable and `PrismError.message` as free to change in any release.
|
|
9
|
+
*/
|
|
10
|
+
export class PrismError extends Error {
|
|
11
|
+
code;
|
|
12
|
+
httpStatus;
|
|
13
|
+
responseBody;
|
|
14
|
+
constructor(code, message, options = {}) {
|
|
15
|
+
super(message, 'cause' in options ? { cause: options.cause } : undefined);
|
|
16
|
+
this.name = 'PrismError';
|
|
17
|
+
this.code = code;
|
|
18
|
+
this.httpStatus = options.httpStatus ?? null;
|
|
19
|
+
this.responseBody = options.responseBody ?? null;
|
|
20
|
+
}
|
|
21
|
+
static promptAndMessages() {
|
|
22
|
+
return new PrismError('prompt_and_messages', 'You can only use `prompt` or `messages`.');
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* A structured request with no schema.
|
|
26
|
+
*
|
|
27
|
+
* Refused rather than defaulted. "Any object" would produce a response that
|
|
28
|
+
* parses and means nothing, and the caller would discover that at the point
|
|
29
|
+
* they read a field that was never asked for.
|
|
30
|
+
*/
|
|
31
|
+
static missingSchema() {
|
|
32
|
+
return new PrismError('missing_schema', 'A structured request needs a schema. Call withSchema() before asStructured().');
|
|
33
|
+
}
|
|
34
|
+
static unsupportedStructuredModel(model) {
|
|
35
|
+
return new PrismError('unsupported_structured_model', `Structured output is not supported for ${model}`);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* An embeddings request with no input.
|
|
39
|
+
*
|
|
40
|
+
* Refused rather than sent. The call is billable, comes back with an empty
|
|
41
|
+
* list, and reads to the caller as a provider that answered nothing.
|
|
42
|
+
*/
|
|
43
|
+
static noEmbeddingInput() {
|
|
44
|
+
return new PrismError('no_embedding_input', 'An embeddings request needs at least one input. Call fromInput(), fromArray() or fromFile().');
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A moderation request with no input.
|
|
48
|
+
*
|
|
49
|
+
* Refused rather than sent, and this matters more than the other empty-input
|
|
50
|
+
* guards: an empty moderation call returns no results, `isFlagged()` is then
|
|
51
|
+
* false, and a caller gating on it lets everything through. A safety check
|
|
52
|
+
* that fails OPEN because it was called wrong is the worst shape here.
|
|
53
|
+
*/
|
|
54
|
+
static wrongAudioInput(wanted, got) {
|
|
55
|
+
return new PrismError('wrong_audio_input', `This call needs ${wanted}, and withInput() was given ${got}.`);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* A transcription input with nothing to upload.
|
|
59
|
+
*
|
|
60
|
+
* Reached when the `Audio` holds only a url, which this port does not fetch
|
|
61
|
+
* implicitly — see `Media`. Says so rather than posting an empty file, which
|
|
62
|
+
* a provider answers with a transcript of silence.
|
|
63
|
+
*/
|
|
64
|
+
static noAudioContent() {
|
|
65
|
+
return new PrismError('no_audio_content', 'The audio input has no content to send. Build it from a file, bytes or base64, or call fetch() on a url payload first.');
|
|
66
|
+
}
|
|
67
|
+
static unreadableMediaFile(path, cause) {
|
|
68
|
+
return new PrismError('unreadable_media_file', `Could not read the media file [${path}].`, { cause });
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Names the provider, the part, and WHAT IT WOULD ACCEPT.
|
|
72
|
+
*
|
|
73
|
+
* The reference says only that the provider "does not support the mediums
|
|
74
|
+
* available" and points at the docs. The form a payload is in is the whole
|
|
75
|
+
* question here — a url where bytes were needed, or the reverse — so the
|
|
76
|
+
* accepted forms belong in the message rather than a page away.
|
|
77
|
+
*/
|
|
78
|
+
static unsupportedMedia(provider, part, accepts) {
|
|
79
|
+
return new PrismError('unsupported_media', `${provider} cannot send this ${part}: it accepts ${accepts}.`);
|
|
80
|
+
}
|
|
81
|
+
static unfetchableMedia(reason) {
|
|
82
|
+
return new PrismError('unfetchable_media', `Could not fetch the media payload: ${reason}.`);
|
|
83
|
+
}
|
|
84
|
+
static noModerationInput() {
|
|
85
|
+
return new PrismError('no_moderation_input', 'A moderation request needs at least one input. Call withInput().');
|
|
86
|
+
}
|
|
87
|
+
static noImagePrompt() {
|
|
88
|
+
return new PrismError('no_image_prompt', 'An images request needs a prompt. Call withPrompt().');
|
|
89
|
+
}
|
|
90
|
+
static unreadableInputFile(path, cause) {
|
|
91
|
+
return new PrismError('unreadable_input_file', `Could not read the embeddings input file [${path}].`, { cause });
|
|
92
|
+
}
|
|
93
|
+
static maxTokensExceeded(status, type) {
|
|
94
|
+
return new PrismError('max_tokens_exceeded', `The provider stopped before finishing because it ran out of output tokens (status: ${status || 'n/a'}, type: ${type || 'n/a'}). If you are using a reasoning model, raise max tokens to cover its internal reasoning tokens.`);
|
|
95
|
+
}
|
|
96
|
+
static providerResponseError(message, options = {}) {
|
|
97
|
+
return new PrismError('provider_response_error', message, options);
|
|
98
|
+
}
|
|
99
|
+
static unsupportedProviderAction(action, provider) {
|
|
100
|
+
return new PrismError('unsupported_provider_action', `${action} is not supported by ${provider}.`);
|
|
101
|
+
}
|
|
102
|
+
static malformedToolCallArguments(toolName, cause) {
|
|
103
|
+
return new PrismError('malformed_tool_call_arguments', `Tool call arguments for tool ${toolName} are not valid JSON.`, { cause });
|
|
104
|
+
}
|
|
105
|
+
static unknownMessageType(description) {
|
|
106
|
+
return new PrismError('unknown_message_type', `Could not map message type ${description}.`);
|
|
107
|
+
}
|
|
108
|
+
static toolLoopNotSupported() {
|
|
109
|
+
return new PrismError('tool_loop_not_supported', 'The response finished on tool calls. This port maps requests and parses text responses; it does not run the tool-execution loop.');
|
|
110
|
+
}
|
|
111
|
+
static canonicalJsonUnencodable(path, value) {
|
|
112
|
+
return new PrismError('canonical_json_unencodable', `Cannot canonically encode ${typeof value} at ${path}: JSON.stringify would drop or rewrite it. Use an explicit null if the key should carry null, or omit the key entirely.`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { JsonObject } from '../json.js';
|
|
2
|
+
/** One file, as the provider describes it. */
|
|
3
|
+
export declare class FileData {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly filename: string | null;
|
|
6
|
+
/**
|
|
7
|
+
* NULL on OpenAI, always. Its files endpoint reports `id`, `object`,
|
|
8
|
+
* `bytes`, `created_at`, `filename` and `purpose` — and no content type at
|
|
9
|
+
* all. The field is here because the reference has it and another provider
|
|
10
|
+
* may fill it; it is not a parsing bug when it is empty.
|
|
11
|
+
*/
|
|
12
|
+
readonly mimeType: string | null;
|
|
13
|
+
readonly sizeBytes: number | null;
|
|
14
|
+
/** ISO 8601, in UTC. See `fileDataFromObject`. */
|
|
15
|
+
readonly createdAt: string | null;
|
|
16
|
+
readonly purpose: string | null;
|
|
17
|
+
readonly raw: Readonly<JsonObject> | null;
|
|
18
|
+
constructor(id: string, filename?: string | null,
|
|
19
|
+
/**
|
|
20
|
+
* NULL on OpenAI, always. Its files endpoint reports `id`, `object`,
|
|
21
|
+
* `bytes`, `created_at`, `filename` and `purpose` — and no content type at
|
|
22
|
+
* all. The field is here because the reference has it and another provider
|
|
23
|
+
* may fill it; it is not a parsing bug when it is empty.
|
|
24
|
+
*/
|
|
25
|
+
mimeType?: string | null, sizeBytes?: number | null,
|
|
26
|
+
/** ISO 8601, in UTC. See `fileDataFromObject`. */
|
|
27
|
+
createdAt?: string | null, purpose?: string | null, raw?: Readonly<JsonObject> | null);
|
|
28
|
+
toObject(): JsonObject;
|
|
29
|
+
}
|
|
30
|
+
/** Files that came back from a list call, and where the page ends. */
|
|
31
|
+
export declare class FileListResult {
|
|
32
|
+
readonly data: readonly FileData[];
|
|
33
|
+
readonly hasMore: boolean;
|
|
34
|
+
readonly firstId: string | null;
|
|
35
|
+
readonly lastId: string | null;
|
|
36
|
+
constructor(data: readonly FileData[], hasMore?: boolean, firstId?: string | null, lastId?: string | null);
|
|
37
|
+
toObject(): JsonObject;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* What a delete call reported.
|
|
41
|
+
*
|
|
42
|
+
* `deleted` is the provider's own answer, not an inference from the status
|
|
43
|
+
* code: OpenAI answers 200 with `deleted: false` for a file it declined to
|
|
44
|
+
* remove, and treating the status as the verdict would report a success that
|
|
45
|
+
* did not happen.
|
|
46
|
+
*/
|
|
47
|
+
export declare class DeleteFileResult {
|
|
48
|
+
readonly id: string;
|
|
49
|
+
readonly deleted: boolean;
|
|
50
|
+
constructor(id: string, deleted: boolean);
|
|
51
|
+
toObject(): JsonObject;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=file-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-data.d.ts","sourceRoot":"","sources":["../../src/files/file-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,8CAA8C;AAC9C,qBAAa,QAAQ;IAEjB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IACjC,kDAAkD;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAC/B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI;gBAbhC,EAAE,EAAE,MAAM,EACV,QAAQ,GAAE,MAAM,GAAG,IAAW;IACvC;;;;;OAKG;IACM,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,SAAS,GAAE,MAAM,GAAG,IAAW;IACxC,kDAAkD;IACzC,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,GAAG,GAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAW;IAGlD,QAAQ,IAAI,UAAU;CAUvB;AAED,sEAAsE;AACtE,qBAAa,cAAc;IAEvB,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE;IAClC,QAAQ,CAAC,OAAO;IAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;gBAHrB,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,OAAO,UAAQ,EACf,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,MAAM,GAAE,MAAM,GAAG,IAAW;IAGvC,QAAQ,IAAI,UAAU;CAQvB;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAEzB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO;gBADhB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO;IAG3B,QAAQ,IAAI,UAAU;CAGvB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/** One file, as the provider describes it. */
|
|
2
|
+
export class FileData {
|
|
3
|
+
id;
|
|
4
|
+
filename;
|
|
5
|
+
mimeType;
|
|
6
|
+
sizeBytes;
|
|
7
|
+
createdAt;
|
|
8
|
+
purpose;
|
|
9
|
+
raw;
|
|
10
|
+
constructor(id, filename = null,
|
|
11
|
+
/**
|
|
12
|
+
* NULL on OpenAI, always. Its files endpoint reports `id`, `object`,
|
|
13
|
+
* `bytes`, `created_at`, `filename` and `purpose` — and no content type at
|
|
14
|
+
* all. The field is here because the reference has it and another provider
|
|
15
|
+
* may fill it; it is not a parsing bug when it is empty.
|
|
16
|
+
*/
|
|
17
|
+
mimeType = null, sizeBytes = null,
|
|
18
|
+
/** ISO 8601, in UTC. See `fileDataFromObject`. */
|
|
19
|
+
createdAt = null, purpose = null, raw = null) {
|
|
20
|
+
this.id = id;
|
|
21
|
+
this.filename = filename;
|
|
22
|
+
this.mimeType = mimeType;
|
|
23
|
+
this.sizeBytes = sizeBytes;
|
|
24
|
+
this.createdAt = createdAt;
|
|
25
|
+
this.purpose = purpose;
|
|
26
|
+
this.raw = raw;
|
|
27
|
+
}
|
|
28
|
+
toObject() {
|
|
29
|
+
return {
|
|
30
|
+
id: this.id,
|
|
31
|
+
filename: this.filename,
|
|
32
|
+
mime_type: this.mimeType,
|
|
33
|
+
size_bytes: this.sizeBytes,
|
|
34
|
+
created_at: this.createdAt,
|
|
35
|
+
purpose: this.purpose,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** Files that came back from a list call, and where the page ends. */
|
|
40
|
+
export class FileListResult {
|
|
41
|
+
data;
|
|
42
|
+
hasMore;
|
|
43
|
+
firstId;
|
|
44
|
+
lastId;
|
|
45
|
+
constructor(data, hasMore = false, firstId = null, lastId = null) {
|
|
46
|
+
this.data = data;
|
|
47
|
+
this.hasMore = hasMore;
|
|
48
|
+
this.firstId = firstId;
|
|
49
|
+
this.lastId = lastId;
|
|
50
|
+
}
|
|
51
|
+
toObject() {
|
|
52
|
+
return {
|
|
53
|
+
data: this.data.map((file) => file.toObject()),
|
|
54
|
+
has_more: this.hasMore,
|
|
55
|
+
first_id: this.firstId,
|
|
56
|
+
last_id: this.lastId,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* What a delete call reported.
|
|
62
|
+
*
|
|
63
|
+
* `deleted` is the provider's own answer, not an inference from the status
|
|
64
|
+
* code: OpenAI answers 200 with `deleted: false` for a file it declined to
|
|
65
|
+
* remove, and treating the status as the verdict would report a success that
|
|
66
|
+
* did not happen.
|
|
67
|
+
*/
|
|
68
|
+
export class DeleteFileResult {
|
|
69
|
+
id;
|
|
70
|
+
deleted;
|
|
71
|
+
constructor(id, deleted) {
|
|
72
|
+
this.id = id;
|
|
73
|
+
this.deleted = deleted;
|
|
74
|
+
}
|
|
75
|
+
toObject() {
|
|
76
|
+
return { id: this.id, deleted: this.deleted };
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=file-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-data.js","sourceRoot":"","sources":["../../src/files/file-data.ts"],"names":[],"mappings":"AAEA,8CAA8C;AAC9C,MAAM,OAAO,QAAQ;IAER;IACA;IAOA;IACA;IAEA;IACA;IACA;IAdX,YACW,EAAU,EACV,WAA0B,IAAI;IACvC;;;;;OAKG;IACM,WAA0B,IAAI,EAC9B,YAA2B,IAAI;IACxC,kDAAkD;IACzC,YAA2B,IAAI,EAC/B,UAAyB,IAAI,EAC7B,MAAmC,IAAI;QAbvC,OAAE,GAAF,EAAE,CAAQ;QACV,aAAQ,GAAR,QAAQ,CAAsB;QAO9B,aAAQ,GAAR,QAAQ,CAAsB;QAC9B,cAAS,GAAT,SAAS,CAAsB;QAE/B,cAAS,GAAT,SAAS,CAAsB;QAC/B,YAAO,GAAP,OAAO,CAAsB;QAC7B,QAAG,GAAH,GAAG,CAAoC;IAC/C,CAAC;IAEJ,QAAQ;QACN,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;CACF;AAED,sEAAsE;AACtE,MAAM,OAAO,cAAc;IAEd;IACA;IACA;IACA;IAJX,YACW,IAAyB,EACzB,UAAU,KAAK,EACf,UAAyB,IAAI,EAC7B,SAAwB,IAAI;QAH5B,SAAI,GAAJ,IAAI,CAAqB;QACzB,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAsB;QAC7B,WAAM,GAAN,MAAM,CAAsB;IACpC,CAAC;IAEJ,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,OAAO,EAAE,IAAI,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IAEhB;IACA;IAFX,YACW,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACxB,CAAC;IAEJ,QAAQ;QACN,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;CACF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { JsonObject } from '../json.js';
|
|
2
|
+
import type { Provider } from '../providers/provider.js';
|
|
3
|
+
import type { DeleteFileResult, FileData, FileListResult } from './file-data.js';
|
|
4
|
+
import { DeleteFileRequest, DownloadFileRequest, GetFileMetadataRequest, ListFilesRequest, UploadFileRequest } from './request.js';
|
|
5
|
+
/**
|
|
6
|
+
* The builder for provider-side file storage.
|
|
7
|
+
*
|
|
8
|
+
* FIVE terminals rather than one, because these are five different operations
|
|
9
|
+
* on a store, not five renderings of one request. `using()` is the only thing
|
|
10
|
+
* they share — there is no model, no prompt, and nothing to accumulate between
|
|
11
|
+
* calls, so the builder is thin by nature rather than by omission.
|
|
12
|
+
*/
|
|
13
|
+
export declare class FilesPendingRequest {
|
|
14
|
+
#private;
|
|
15
|
+
using(provider: string, providerConfig?: Record<string, unknown>): this;
|
|
16
|
+
withProviderOptions(options?: Readonly<JsonObject>): this;
|
|
17
|
+
withClientOptions(options: Record<string, unknown>): this;
|
|
18
|
+
provider(): Provider;
|
|
19
|
+
upload(content: Uint8Array, filename: string, mimeType?: string | null): Promise<FileData>;
|
|
20
|
+
list(limit?: number | null, afterId?: string | null, beforeId?: string | null): Promise<FileListResult>;
|
|
21
|
+
getMetadata(fileId: string): Promise<FileData>;
|
|
22
|
+
delete(fileId: string): Promise<DeleteFileResult>;
|
|
23
|
+
/**
|
|
24
|
+
* The file's bytes.
|
|
25
|
+
*
|
|
26
|
+
* The reference returns a PHP string, which is a byte array. `Uint8Array`
|
|
27
|
+
* here for the same reason `UploadFileRequest.content` takes one: decoding a
|
|
28
|
+
* PDF as UTF-16 to hand back a JavaScript string corrupts it, and the caller
|
|
29
|
+
* has no way to tell.
|
|
30
|
+
*/
|
|
31
|
+
download(fileId: string): Promise<Uint8Array>;
|
|
32
|
+
toUploadRequest(content: Uint8Array, filename: string, mimeType?: string | null): UploadFileRequest;
|
|
33
|
+
toListRequest(limit?: number | null, afterId?: string | null, beforeId?: string | null): ListFilesRequest;
|
|
34
|
+
toGetMetadataRequest(fileId: string): GetFileMetadataRequest;
|
|
35
|
+
toDeleteRequest(fileId: string): DeleteFileRequest;
|
|
36
|
+
toDownloadRequest(fileId: string): DownloadFileRequest;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=pending-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-request.d.ts","sourceRoot":"","sources":["../../src/files/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,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAEtB;;;;;;;GAOG;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,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIhG,IAAI,CACR,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,OAAO,CAAC,cAAc,CAAC;IAIpB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI9C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIvD;;;;;;;OAOG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAInD,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,GAAG,iBAAiB;IAWzG,aAAa,CACX,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,gBAAgB;IAWnB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB;IAI5D,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB;IAIlD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;CAWvD"}
|