@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,28 @@
|
|
|
1
|
+
import { StructuredMode } from '../enums.js';
|
|
2
|
+
import type { Schema } from '../schema/index.js';
|
|
3
|
+
import { TextPendingRequest } from '../text/pending-request.js';
|
|
4
|
+
import { StructuredRequest } from './request.js';
|
|
5
|
+
import type { StructuredResponse } from './response.js';
|
|
6
|
+
export type StructuredResponseCallback = (pending: StructuredPendingRequest, response: StructuredResponse) => void | Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* The fluent builder for structured output.
|
|
9
|
+
*
|
|
10
|
+
* EXTENDS the text builder, so every method that shapes a request — `using`,
|
|
11
|
+
* `withMessages`, `usingTemperature`, `withTools`, all of them — is the same
|
|
12
|
+
* method with the same spelling, not a parallel set that drifts. A caller
|
|
13
|
+
* moving a call from `Prism.text()` to `Prism.structured()` changes two lines.
|
|
14
|
+
*/
|
|
15
|
+
export declare class StructuredPendingRequest extends TextPendingRequest {
|
|
16
|
+
#private;
|
|
17
|
+
withSchema(schema: Schema): this;
|
|
18
|
+
usingStructuredMode(mode: StructuredMode): this;
|
|
19
|
+
/**
|
|
20
|
+
* @throws PrismError code `missing_schema` when no schema was set — a
|
|
21
|
+
* structured request without one is a text request that has not said so,
|
|
22
|
+
* and defaulting to "any object" would return something that parses and
|
|
23
|
+
* means nothing.
|
|
24
|
+
*/
|
|
25
|
+
toRequest(): StructuredRequest;
|
|
26
|
+
asStructured(callback?: StructuredResponseCallback): Promise<StructuredResponse>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=pending-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-request.d.ts","sourceRoot":"","sources":["../../src/structured/pending-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,kBAAkB,KACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B;;;;;;;GAOG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB;;IAK9D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhC,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAM/C;;;;;OAKG;IACM,SAAS,IAAI,iBAAiB;IAYjC,YAAY,CAAC,QAAQ,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CASvF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { PrismError } from '../errors.js';
|
|
2
|
+
import { StructuredMode } from '../enums.js';
|
|
3
|
+
import { TextPendingRequest } from '../text/pending-request.js';
|
|
4
|
+
import { StructuredRequest } from './request.js';
|
|
5
|
+
/**
|
|
6
|
+
* The fluent builder for structured output.
|
|
7
|
+
*
|
|
8
|
+
* EXTENDS the text builder, so every method that shapes a request — `using`,
|
|
9
|
+
* `withMessages`, `usingTemperature`, `withTools`, all of them — is the same
|
|
10
|
+
* method with the same spelling, not a parallel set that drifts. A caller
|
|
11
|
+
* moving a call from `Prism.text()` to `Prism.structured()` changes two lines.
|
|
12
|
+
*/
|
|
13
|
+
export class StructuredPendingRequest extends TextPendingRequest {
|
|
14
|
+
#schema = null;
|
|
15
|
+
#mode = StructuredMode.Auto;
|
|
16
|
+
withSchema(schema) {
|
|
17
|
+
this.#schema = schema;
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
usingStructuredMode(mode) {
|
|
21
|
+
this.#mode = mode;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @throws PrismError code `missing_schema` when no schema was set — a
|
|
26
|
+
* structured request without one is a text request that has not said so,
|
|
27
|
+
* and defaulting to "any object" would return something that parses and
|
|
28
|
+
* means nothing.
|
|
29
|
+
*/
|
|
30
|
+
toRequest() {
|
|
31
|
+
if (this.#schema === null) {
|
|
32
|
+
throw PrismError.missingSchema();
|
|
33
|
+
}
|
|
34
|
+
return new StructuredRequest({
|
|
35
|
+
...this.requestOptions(),
|
|
36
|
+
schema: this.#schema,
|
|
37
|
+
mode: this.#mode,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async asStructured(callback) {
|
|
41
|
+
const response = await this.provider().structured(this.toRequest());
|
|
42
|
+
if (callback !== undefined) {
|
|
43
|
+
await callback(this, response);
|
|
44
|
+
}
|
|
45
|
+
return response;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=pending-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-request.js","sourceRoot":"","sources":["../../src/structured/pending-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAQjD;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAyB,SAAQ,kBAAkB;IAC9D,OAAO,GAAkB,IAAI,CAAC;IAE9B,KAAK,GAAmB,cAAc,CAAC,IAAI,CAAC;IAE5C,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,IAAoB;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACM,SAAS;QAChB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,iBAAiB,CAAC;YAC3B,GAAG,IAAI,CAAC,cAAc,EAAE;YACxB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAqC;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAEpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Schema } from '../schema/index.js';
|
|
2
|
+
import type { StructuredMode } from '../enums.js';
|
|
3
|
+
import { TextRequest, type TextRequestOptions } from '../text/request.js';
|
|
4
|
+
export interface StructuredRequestOptions extends TextRequestOptions {
|
|
5
|
+
schema: Schema;
|
|
6
|
+
mode: StructuredMode;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A text request that must come back shaped.
|
|
10
|
+
*
|
|
11
|
+
* EXTENDS `TextRequest` rather than restating it. The reference keeps two
|
|
12
|
+
* separate request classes that carry the same twenty fields, which is a fair
|
|
13
|
+
* choice in PHP where the duplication is visible and reviewed. Here it would be
|
|
14
|
+
* a second copy nobody diffs: a field added to one and forgotten in the other
|
|
15
|
+
* produces a request that builds fine and silently drops `topK` on structured
|
|
16
|
+
* calls only. Everything a text request carries, a structured request carries
|
|
17
|
+
* identically — by construction, not by agreement.
|
|
18
|
+
*
|
|
19
|
+
* What it adds is the pair that makes it structured: the SCHEMA the output must
|
|
20
|
+
* satisfy, and the MODE describing how to ask the provider for it.
|
|
21
|
+
*/
|
|
22
|
+
export declare class StructuredRequest extends TextRequest {
|
|
23
|
+
#private;
|
|
24
|
+
constructor(options: StructuredRequestOptions);
|
|
25
|
+
schema(): Schema;
|
|
26
|
+
mode(): StructuredMode;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/structured/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;CACtB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;;gBAKpC,OAAO,EAAE,wBAAwB;IAO7C,MAAM,IAAI,MAAM;IAIhB,IAAI,IAAI,cAAc;CAGvB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { TextRequest } from '../text/request.js';
|
|
2
|
+
/**
|
|
3
|
+
* A text request that must come back shaped.
|
|
4
|
+
*
|
|
5
|
+
* EXTENDS `TextRequest` rather than restating it. The reference keeps two
|
|
6
|
+
* separate request classes that carry the same twenty fields, which is a fair
|
|
7
|
+
* choice in PHP where the duplication is visible and reviewed. Here it would be
|
|
8
|
+
* a second copy nobody diffs: a field added to one and forgotten in the other
|
|
9
|
+
* produces a request that builds fine and silently drops `topK` on structured
|
|
10
|
+
* calls only. Everything a text request carries, a structured request carries
|
|
11
|
+
* identically — by construction, not by agreement.
|
|
12
|
+
*
|
|
13
|
+
* What it adds is the pair that makes it structured: the SCHEMA the output must
|
|
14
|
+
* satisfy, and the MODE describing how to ask the provider for it.
|
|
15
|
+
*/
|
|
16
|
+
export class StructuredRequest extends TextRequest {
|
|
17
|
+
#schema;
|
|
18
|
+
#mode;
|
|
19
|
+
constructor(options) {
|
|
20
|
+
super(options);
|
|
21
|
+
this.#schema = options.schema;
|
|
22
|
+
this.#mode = options.mode;
|
|
23
|
+
}
|
|
24
|
+
schema() {
|
|
25
|
+
return this.#schema;
|
|
26
|
+
}
|
|
27
|
+
mode() {
|
|
28
|
+
return this.#mode;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/structured/request.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAA2B,MAAM,oBAAoB,CAAC;AAO1E;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IACvC,OAAO,CAAS;IAEhB,KAAK,CAAiB;IAE/B,YAAY,OAAiC;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { JsonObject } from '../json.js';
|
|
2
|
+
import type { FinishReason } from '../enums.js';
|
|
3
|
+
import type { Meta } from '../value-objects/meta.js';
|
|
4
|
+
import type { Usage } from '../value-objects/usage.js';
|
|
5
|
+
import type { TextStep } from '../text/step.js';
|
|
6
|
+
export interface StructuredResponseOptions {
|
|
7
|
+
steps: readonly TextStep[];
|
|
8
|
+
text: string;
|
|
9
|
+
structured: JsonObject | null;
|
|
10
|
+
finishReason: FinishReason;
|
|
11
|
+
usage: Usage;
|
|
12
|
+
meta: Meta;
|
|
13
|
+
additionalContent?: Readonly<JsonObject>;
|
|
14
|
+
raw?: JsonObject | null;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The answer, and the answer parsed.
|
|
18
|
+
*
|
|
19
|
+
* `text` and `structured` are BOTH kept, and the pairing is the point: `text`
|
|
20
|
+
* is what the model actually said, `structured` is what could be made of it.
|
|
21
|
+
*
|
|
22
|
+
* `structured` IS NULLABLE, AND NULL IS NOT AN ERROR. A model asked for JSON can
|
|
23
|
+
* return prose — a refusal, an apology, a fenced block with commentary around it
|
|
24
|
+
* — and the reference reports that by leaving `structured` null while `text`
|
|
25
|
+
* still carries what came back. Collapsing the two, or throwing on unparseable
|
|
26
|
+
* output, would take away the one artifact that explains WHY it did not parse.
|
|
27
|
+
*
|
|
28
|
+
* So a caller checks `structured` before using it, and reads `text` when it is
|
|
29
|
+
* null. The type says so; `JsonObject | null` cannot be indexed without the
|
|
30
|
+
* check.
|
|
31
|
+
*/
|
|
32
|
+
export declare class StructuredResponse {
|
|
33
|
+
readonly steps: readonly TextStep[];
|
|
34
|
+
readonly text: string;
|
|
35
|
+
readonly structured: JsonObject | null;
|
|
36
|
+
readonly finishReason: FinishReason;
|
|
37
|
+
readonly usage: Usage;
|
|
38
|
+
readonly meta: Meta;
|
|
39
|
+
readonly additionalContent: Readonly<JsonObject>;
|
|
40
|
+
readonly raw: JsonObject | null;
|
|
41
|
+
constructor(options: StructuredResponseOptions);
|
|
42
|
+
toObject(): JsonObject;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/structured/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,iBAAiB,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IAEpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAEvC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAEpC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEjD,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;gBAEpB,OAAO,EAAE,yBAAyB;IAW9C,QAAQ,IAAI,UAAU;CAYvB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The answer, and the answer parsed.
|
|
3
|
+
*
|
|
4
|
+
* `text` and `structured` are BOTH kept, and the pairing is the point: `text`
|
|
5
|
+
* is what the model actually said, `structured` is what could be made of it.
|
|
6
|
+
*
|
|
7
|
+
* `structured` IS NULLABLE, AND NULL IS NOT AN ERROR. A model asked for JSON can
|
|
8
|
+
* return prose — a refusal, an apology, a fenced block with commentary around it
|
|
9
|
+
* — and the reference reports that by leaving `structured` null while `text`
|
|
10
|
+
* still carries what came back. Collapsing the two, or throwing on unparseable
|
|
11
|
+
* output, would take away the one artifact that explains WHY it did not parse.
|
|
12
|
+
*
|
|
13
|
+
* So a caller checks `structured` before using it, and reads `text` when it is
|
|
14
|
+
* null. The type says so; `JsonObject | null` cannot be indexed without the
|
|
15
|
+
* check.
|
|
16
|
+
*/
|
|
17
|
+
export class StructuredResponse {
|
|
18
|
+
steps;
|
|
19
|
+
text;
|
|
20
|
+
structured;
|
|
21
|
+
finishReason;
|
|
22
|
+
usage;
|
|
23
|
+
meta;
|
|
24
|
+
additionalContent;
|
|
25
|
+
raw;
|
|
26
|
+
constructor(options) {
|
|
27
|
+
this.steps = options.steps;
|
|
28
|
+
this.text = options.text;
|
|
29
|
+
this.structured = options.structured;
|
|
30
|
+
this.finishReason = options.finishReason;
|
|
31
|
+
this.usage = options.usage;
|
|
32
|
+
this.meta = options.meta;
|
|
33
|
+
this.additionalContent = options.additionalContent ?? {};
|
|
34
|
+
this.raw = options.raw ?? null;
|
|
35
|
+
}
|
|
36
|
+
toObject() {
|
|
37
|
+
return {
|
|
38
|
+
steps: this.steps.map((step) => step.toObject()),
|
|
39
|
+
text: this.text,
|
|
40
|
+
structured: this.structured === null ? null : { ...this.structured },
|
|
41
|
+
finish_reason: this.finishReason,
|
|
42
|
+
usage: this.usage.toObject(),
|
|
43
|
+
meta: this.meta.toObject(),
|
|
44
|
+
additional_content: { ...this.additionalContent },
|
|
45
|
+
raw: this.raw === null ? null : { ...this.raw },
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/structured/response.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,kBAAkB;IACpB,KAAK,CAAsB;IAE3B,IAAI,CAAS;IAEb,UAAU,CAAoB;IAE9B,YAAY,CAAe;IAE3B,KAAK,CAAQ;IAEb,IAAI,CAAO;IAEX,iBAAiB,CAAuB;IAExC,GAAG,CAAoB;IAEhC,YAAY,OAAkC;QAC5C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;IACjC,CAAC;IAED,QAAQ;QACN,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;YACpE,aAAa,EAAE,IAAI,CAAC,YAAY;YAChC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,kBAAkB,EAAE,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE;YACjD,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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { JsonObject } from '../json.js';
|
|
2
|
+
import type { ToolChoice } from '../enums.js';
|
|
3
|
+
import { Tool } from '../tool.js';
|
|
4
|
+
import type { Provider } from '../providers/provider.js';
|
|
5
|
+
import { SystemMessage } from '../value-objects/messages/index.js';
|
|
6
|
+
import type { Message } from '../value-objects/messages/index.js';
|
|
7
|
+
import type { MessagePart } from '../value-objects/media/part.js';
|
|
8
|
+
import type { ProviderTool } from '../value-objects/provider-tool.js';
|
|
9
|
+
import { TextRequest, type TextRequestOptions } from './request.js';
|
|
10
|
+
import type { TextResponse } from './response.js';
|
|
11
|
+
import type { StreamEvent } from '../streaming/events.js';
|
|
12
|
+
export type TextResponseCallback = (pending: TextPendingRequest, response: TextResponse) => void | Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* The fluent builder.
|
|
15
|
+
*
|
|
16
|
+
* Method names match the reference's spelling exactly, so a call script written
|
|
17
|
+
* against one reads the same against the other.
|
|
18
|
+
*/
|
|
19
|
+
export declare class TextPendingRequest {
|
|
20
|
+
#private;
|
|
21
|
+
using(provider: string, model?: string, providerConfig?: Record<string, unknown>): this;
|
|
22
|
+
/**
|
|
23
|
+
* The single user turn this request asks about.
|
|
24
|
+
*
|
|
25
|
+
* `additionalContent` takes any message PART, not only text — an `Image` or a
|
|
26
|
+
* `Document` passed here reaches whichever provider the request resolves to,
|
|
27
|
+
* in that provider's own spelling.
|
|
28
|
+
*/
|
|
29
|
+
withPrompt(prompt: string, additionalContent?: readonly MessagePart[]): this;
|
|
30
|
+
/** APPENDS. Two calls give two system messages, in call order. */
|
|
31
|
+
withSystemPrompt(message: string | SystemMessage): this;
|
|
32
|
+
/** REPLACES, unlike `withSystemPrompt`. */
|
|
33
|
+
withSystemPrompts(messages: readonly SystemMessage[]): this;
|
|
34
|
+
withMessages(messages: readonly Message[]): this;
|
|
35
|
+
withMaxTokens(maxTokens: number | null): this;
|
|
36
|
+
usingTemperature(temperature: number | null): this;
|
|
37
|
+
usingTopP(topP: number): this;
|
|
38
|
+
usingTopK(topK: number): this;
|
|
39
|
+
withTools(tools: readonly Tool[]): this;
|
|
40
|
+
withToolChoice(toolChoice: string | ToolChoice | Tool): this;
|
|
41
|
+
withProviderOptions(options?: Readonly<JsonObject>): this;
|
|
42
|
+
withProviderTools(providerTools: readonly ProviderTool[]): this;
|
|
43
|
+
withReasoning(enabled?: boolean): this;
|
|
44
|
+
withClientOptions(options: Record<string, unknown>): this;
|
|
45
|
+
withMaxSteps(steps: number): this;
|
|
46
|
+
providerKey(): string;
|
|
47
|
+
model(): string;
|
|
48
|
+
provider(): Provider;
|
|
49
|
+
/**
|
|
50
|
+
* Resolve the builder into a request, without sending it.
|
|
51
|
+
*
|
|
52
|
+
* @throws PrismError code `prompt_and_messages` when both were set — they are
|
|
53
|
+
* two ways of saying the same thing and the reference cannot merge them.
|
|
54
|
+
*/
|
|
55
|
+
toRequest(): TextRequest;
|
|
56
|
+
/**
|
|
57
|
+
* Every field this builder has collected, as request options.
|
|
58
|
+
*
|
|
59
|
+
* Extracted so a SUBCLASS can build a different request from the same
|
|
60
|
+
* twenty fields — see `StructuredPendingRequest`. The fields are `#private`,
|
|
61
|
+
* so a subclass cannot read them directly and the alternative is a second
|
|
62
|
+
* copy of this list that nobody diffs: add a field to one and forget the
|
|
63
|
+
* other, and the request builds fine while silently dropping it.
|
|
64
|
+
*/
|
|
65
|
+
protected requestOptions(): TextRequestOptions;
|
|
66
|
+
/**
|
|
67
|
+
* The same generation, delivered as it arrives.
|
|
68
|
+
*
|
|
69
|
+
* Yields the provider's events and accumulates NOTHING. A caller that wants
|
|
70
|
+
* the finished text collects the deltas it is already being handed; a builder
|
|
71
|
+
* that quietly buffered them would double the memory of every stream to serve
|
|
72
|
+
* the callers who do not need it.
|
|
73
|
+
*/
|
|
74
|
+
asStream(): AsyncGenerator<StreamEvent>;
|
|
75
|
+
asText(callback?: TextResponseCallback): Promise<TextResponse>;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=pending-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-request.d.ts","sourceRoot":"","sources":["../../src/text/pending-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,YAAY,KACnB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B;;;;;GAKG;AACH,qBAAa,kBAAkB;;IAqC7B,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAQvF;;;;;;OAMG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAE,SAAS,WAAW,EAAO,GAAG,IAAI;IAOhF,kEAAkE;IAClE,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAMvD,2CAA2C;IAC3C,iBAAiB,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI;IAM3D,YAAY,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI;IAMhD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAM7C,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMlD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM7B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM7B,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI;IAMvC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,IAAI;IAM5D,mBAAmB,CAAC,OAAO,GAAE,QAAQ,CAAC,UAAU,CAAM,GAAG,IAAI;IAM7D,iBAAiB,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI;IAM/D,aAAa,CAAC,OAAO,UAAO,GAAG,IAAI;IAMnC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMzD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMjC,WAAW,IAAI,MAAM;IAIrB,KAAK,IAAI,MAAM;IAIf,QAAQ,IAAI,QAAQ;IAQpB;;;;;OAKG;IACH,SAAS,IAAI,WAAW;IAIxB;;;;;;;;OAQG;IACH,SAAS,CAAC,cAAc,IAAI,kBAAkB;IAoC9C;;;;;;;OAOG;IACH,QAAQ,IAAI,cAAc,CAAC,WAAW,CAAC;IAIjC,MAAM,CAAC,QAAQ,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC;CASrE"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { PrismError } from '../errors.js';
|
|
2
|
+
import { Tool } from '../tool.js';
|
|
3
|
+
import { resolveProvider } from '../providers/registry.js';
|
|
4
|
+
import { SystemMessage } from '../value-objects/messages/index.js';
|
|
5
|
+
import { UserMessage } from '../value-objects/messages/index.js';
|
|
6
|
+
import { TextRequest } from './request.js';
|
|
7
|
+
/**
|
|
8
|
+
* The fluent builder.
|
|
9
|
+
*
|
|
10
|
+
* Method names match the reference's spelling exactly, so a call script written
|
|
11
|
+
* against one reads the same against the other.
|
|
12
|
+
*/
|
|
13
|
+
export class TextPendingRequest {
|
|
14
|
+
#provider = null;
|
|
15
|
+
#providerKey = '';
|
|
16
|
+
#model = '';
|
|
17
|
+
#prompt = null;
|
|
18
|
+
#additionalContent = [];
|
|
19
|
+
#systemPrompts = [];
|
|
20
|
+
#messages = [];
|
|
21
|
+
#maxSteps = 1;
|
|
22
|
+
#maxTokens = null;
|
|
23
|
+
#temperature = null;
|
|
24
|
+
#topP = null;
|
|
25
|
+
#topK = null;
|
|
26
|
+
#tools = [];
|
|
27
|
+
#toolChoice = null;
|
|
28
|
+
#providerOptions = {};
|
|
29
|
+
#providerTools = [];
|
|
30
|
+
#reasoningEnabled = null;
|
|
31
|
+
#clientOptions = {};
|
|
32
|
+
using(provider, model = '', providerConfig = {}) {
|
|
33
|
+
this.#providerKey = provider;
|
|
34
|
+
this.#model = model;
|
|
35
|
+
this.#provider = resolveProvider(provider, providerConfig);
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The single user turn this request asks about.
|
|
40
|
+
*
|
|
41
|
+
* `additionalContent` takes any message PART, not only text — an `Image` or a
|
|
42
|
+
* `Document` passed here reaches whichever provider the request resolves to,
|
|
43
|
+
* in that provider's own spelling.
|
|
44
|
+
*/
|
|
45
|
+
withPrompt(prompt, additionalContent = []) {
|
|
46
|
+
this.#prompt = prompt;
|
|
47
|
+
this.#additionalContent = additionalContent;
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
/** APPENDS. Two calls give two system messages, in call order. */
|
|
51
|
+
withSystemPrompt(message) {
|
|
52
|
+
this.#systemPrompts.push(typeof message === 'string' ? new SystemMessage(message) : message);
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
/** REPLACES, unlike `withSystemPrompt`. */
|
|
56
|
+
withSystemPrompts(messages) {
|
|
57
|
+
this.#systemPrompts = [...messages];
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
withMessages(messages) {
|
|
61
|
+
this.#messages = messages;
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
withMaxTokens(maxTokens) {
|
|
65
|
+
this.#maxTokens = maxTokens;
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
usingTemperature(temperature) {
|
|
69
|
+
this.#temperature = temperature;
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
usingTopP(topP) {
|
|
73
|
+
this.#topP = topP;
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
usingTopK(topK) {
|
|
77
|
+
this.#topK = topK;
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
withTools(tools) {
|
|
81
|
+
this.#tools = tools;
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
withToolChoice(toolChoice) {
|
|
85
|
+
this.#toolChoice = toolChoice instanceof Tool ? toolChoice.name() : toolChoice;
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
withProviderOptions(options = {}) {
|
|
89
|
+
this.#providerOptions = { ...options };
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
withProviderTools(providerTools) {
|
|
93
|
+
this.#providerTools = providerTools;
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
withReasoning(enabled = true) {
|
|
97
|
+
this.#reasoningEnabled = enabled;
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
100
|
+
withClientOptions(options) {
|
|
101
|
+
this.#clientOptions = { ...options };
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
withMaxSteps(steps) {
|
|
105
|
+
this.#maxSteps = steps;
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
providerKey() {
|
|
109
|
+
return this.#providerKey;
|
|
110
|
+
}
|
|
111
|
+
model() {
|
|
112
|
+
return this.#model;
|
|
113
|
+
}
|
|
114
|
+
provider() {
|
|
115
|
+
if (this.#provider === null) {
|
|
116
|
+
throw PrismError.unsupportedProviderAction('Sending a request', 'a pending request with no provider — call using() first');
|
|
117
|
+
}
|
|
118
|
+
return this.#provider;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Resolve the builder into a request, without sending it.
|
|
122
|
+
*
|
|
123
|
+
* @throws PrismError code `prompt_and_messages` when both were set — they are
|
|
124
|
+
* two ways of saying the same thing and the reference cannot merge them.
|
|
125
|
+
*/
|
|
126
|
+
toRequest() {
|
|
127
|
+
return new TextRequest(this.requestOptions());
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Every field this builder has collected, as request options.
|
|
131
|
+
*
|
|
132
|
+
* Extracted so a SUBCLASS can build a different request from the same
|
|
133
|
+
* twenty fields — see `StructuredPendingRequest`. The fields are `#private`,
|
|
134
|
+
* so a subclass cannot read them directly and the alternative is a second
|
|
135
|
+
* copy of this list that nobody diffs: add a field to one and forget the
|
|
136
|
+
* other, and the request builds fine while silently dropping it.
|
|
137
|
+
*/
|
|
138
|
+
requestOptions() {
|
|
139
|
+
if (this.#messages.length > 0 && this.#prompt !== null) {
|
|
140
|
+
throw PrismError.promptAndMessages();
|
|
141
|
+
}
|
|
142
|
+
const messages = [...this.#messages];
|
|
143
|
+
// DELIBERATE DIVERGENCE FROM THE REFERENCE. The reference gates this on
|
|
144
|
+
// truthiness, so a prompt of "" or "0" is dropped and the request carries no
|
|
145
|
+
// user message at all — the caller's turn never reaches the model. That is a
|
|
146
|
+
// defect (prism-parity finding F-2); an empty prompt is a prompt. The gate
|
|
147
|
+
// here is on ABSENCE, so only a prompt that was never set is skipped.
|
|
148
|
+
if (this.#prompt !== null) {
|
|
149
|
+
messages.push(new UserMessage(this.#prompt, this.#additionalContent));
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
model: this.#model,
|
|
153
|
+
providerKey: this.#providerKey,
|
|
154
|
+
systemPrompts: [...this.#systemPrompts],
|
|
155
|
+
prompt: this.#prompt,
|
|
156
|
+
messages,
|
|
157
|
+
maxSteps: this.#maxSteps,
|
|
158
|
+
maxTokens: this.#maxTokens,
|
|
159
|
+
temperature: this.#temperature,
|
|
160
|
+
topP: this.#topP,
|
|
161
|
+
topK: this.#topK,
|
|
162
|
+
tools: this.#tools,
|
|
163
|
+
clientOptions: this.#clientOptions,
|
|
164
|
+
toolChoice: this.#toolChoice,
|
|
165
|
+
providerOptions: this.#providerOptions,
|
|
166
|
+
providerTools: this.#providerTools,
|
|
167
|
+
reasoningEnabled: this.#reasoningEnabled,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* The same generation, delivered as it arrives.
|
|
172
|
+
*
|
|
173
|
+
* Yields the provider's events and accumulates NOTHING. A caller that wants
|
|
174
|
+
* the finished text collects the deltas it is already being handed; a builder
|
|
175
|
+
* that quietly buffered them would double the memory of every stream to serve
|
|
176
|
+
* the callers who do not need it.
|
|
177
|
+
*/
|
|
178
|
+
asStream() {
|
|
179
|
+
return this.provider().stream(this.toRequest());
|
|
180
|
+
}
|
|
181
|
+
async asText(callback) {
|
|
182
|
+
const response = await this.provider().text(this.toRequest());
|
|
183
|
+
if (callback !== undefined) {
|
|
184
|
+
await callback(this, response);
|
|
185
|
+
}
|
|
186
|
+
return response;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=pending-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-request.js","sourceRoot":"","sources":["../../src/text/pending-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { JsonObject, JsonValue } from '../json.js';
|
|
2
|
+
import { ToolChoice } from '../enums.js';
|
|
3
|
+
import type { Tool } from '../tool.js';
|
|
4
|
+
import type { Message } from '../value-objects/messages/index.js';
|
|
5
|
+
import type { SystemMessage } from '../value-objects/messages/index.js';
|
|
6
|
+
import type { ProviderTool } from '../value-objects/provider-tool.js';
|
|
7
|
+
export interface TextRequestOptions {
|
|
8
|
+
model: string;
|
|
9
|
+
providerKey?: string | null;
|
|
10
|
+
systemPrompts?: readonly SystemMessage[];
|
|
11
|
+
prompt?: string | null;
|
|
12
|
+
messages?: readonly Message[];
|
|
13
|
+
maxSteps?: number;
|
|
14
|
+
maxTokens?: number | null;
|
|
15
|
+
temperature?: number | null;
|
|
16
|
+
topP?: number | null;
|
|
17
|
+
topK?: number | null;
|
|
18
|
+
tools?: readonly Tool[];
|
|
19
|
+
clientOptions?: Readonly<Record<string, unknown>>;
|
|
20
|
+
toolChoice?: string | ToolChoice | null;
|
|
21
|
+
providerOptions?: Readonly<JsonObject>;
|
|
22
|
+
providerTools?: readonly ProviderTool[];
|
|
23
|
+
reasoningEnabled?: boolean | null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A resolved text request: everything the provider needs, and nothing that only
|
|
27
|
+
* the builder needed.
|
|
28
|
+
*
|
|
29
|
+
* Accessors are methods rather than properties so the shape mirrors the
|
|
30
|
+
* reference exactly, and so `messages()` can stay a method while `addMessage()`
|
|
31
|
+
* mutates the list beneath it.
|
|
32
|
+
*/
|
|
33
|
+
export declare class TextRequest {
|
|
34
|
+
#private;
|
|
35
|
+
constructor(options: TextRequestOptions);
|
|
36
|
+
model(): string;
|
|
37
|
+
provider(): string | null;
|
|
38
|
+
systemPrompts(): readonly SystemMessage[];
|
|
39
|
+
prompt(): string | null;
|
|
40
|
+
messages(): readonly Message[];
|
|
41
|
+
maxSteps(): number;
|
|
42
|
+
maxTokens(): number | null;
|
|
43
|
+
temperature(): number | null;
|
|
44
|
+
topP(): number | null;
|
|
45
|
+
topK(): number | null;
|
|
46
|
+
tools(): readonly Tool[];
|
|
47
|
+
clientOptions(): Readonly<Record<string, unknown>>;
|
|
48
|
+
toolChoice(): string | ToolChoice | null;
|
|
49
|
+
providerTools(): readonly ProviderTool[];
|
|
50
|
+
reasoningEnabled(): boolean | null;
|
|
51
|
+
providerOptions(): JsonObject;
|
|
52
|
+
providerOptions(path: string): JsonValue | undefined;
|
|
53
|
+
withProviderOptions(options?: Readonly<JsonObject>): this;
|
|
54
|
+
addMessage(message: Message): this;
|
|
55
|
+
setMessages(messages: readonly Message[]): this;
|
|
56
|
+
/**
|
|
57
|
+
* After a tool has been called once, a forced choice must relax to `Auto` or
|
|
58
|
+
* the model would be pinned to that tool for every remaining step.
|
|
59
|
+
*/
|
|
60
|
+
resetToolChoice(): this;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/text/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEtE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,qBAAa,WAAW;;gBAiCV,OAAO,EAAE,kBAAkB;IAmBvC,KAAK,IAAI,MAAM;IAIf,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,aAAa,IAAI,SAAS,aAAa,EAAE;IAIzC,MAAM,IAAI,MAAM,GAAG,IAAI;IAIvB,QAAQ,IAAI,SAAS,OAAO,EAAE;IAI9B,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B,IAAI,IAAI,MAAM,GAAG,IAAI;IAIrB,IAAI,IAAI,MAAM,GAAG,IAAI;IAIrB,KAAK,IAAI,SAAS,IAAI,EAAE;IAIxB,aAAa,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIlD,UAAU,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI;IAIxC,aAAa,IAAI,SAAS,YAAY,EAAE;IAIxC,gBAAgB,IAAI,OAAO,GAAG,IAAI;IAIlC,eAAe,IAAI,UAAU;IAC7B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAKpD,mBAAmB,CAAC,OAAO,GAAE,QAAQ,CAAC,UAAU,CAAM,GAAG,IAAI;IAM7D,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMlC,WAAW,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI;IAM/C;;;OAGG;IACH,eAAe,IAAI,IAAI;CAOxB"}
|