@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,16 @@
|
|
|
1
|
+
import type { JsonObject } from '../json.js';
|
|
2
|
+
/**
|
|
3
|
+
* What an embeddings call cost.
|
|
4
|
+
*
|
|
5
|
+
* Separate from `Usage` rather than reusing it: an embeddings response has no
|
|
6
|
+
* completion tokens, and a shared type would report `completionTokens: 0` as
|
|
7
|
+
* though none had been generated rather than because the concept does not
|
|
8
|
+
* apply. Nullable for the same reason — a provider that reports nothing is
|
|
9
|
+
* different from one that reports zero.
|
|
10
|
+
*/
|
|
11
|
+
export declare class EmbeddingsUsage {
|
|
12
|
+
readonly tokens: number | null;
|
|
13
|
+
constructor(tokens: number | null);
|
|
14
|
+
toObject(): JsonObject;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=embeddings-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings-usage.d.ts","sourceRoot":"","sources":["../../src/value-objects/embeddings-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;GAQG;AACH,qBAAa,eAAe;IACd,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;gBAArB,MAAM,EAAE,MAAM,GAAG,IAAI;IAE1C,QAAQ,IAAI,UAAU;CAGvB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What an embeddings call cost.
|
|
3
|
+
*
|
|
4
|
+
* Separate from `Usage` rather than reusing it: an embeddings response has no
|
|
5
|
+
* completion tokens, and a shared type would report `completionTokens: 0` as
|
|
6
|
+
* though none had been generated rather than because the concept does not
|
|
7
|
+
* apply. Nullable for the same reason — a provider that reports nothing is
|
|
8
|
+
* different from one that reports zero.
|
|
9
|
+
*/
|
|
10
|
+
export class EmbeddingsUsage {
|
|
11
|
+
tokens;
|
|
12
|
+
constructor(tokens) {
|
|
13
|
+
this.tokens = tokens;
|
|
14
|
+
}
|
|
15
|
+
toObject() {
|
|
16
|
+
return { tokens: this.tokens };
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=embeddings-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings-usage.js","sourceRoot":"","sources":["../../src/value-objects/embeddings-usage.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAe;IACL;IAArB,YAAqB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE9C,QAAQ;QACN,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { JsonObject } from '../json.js';
|
|
2
|
+
import { Audio } from './media/audio.js';
|
|
3
|
+
/**
|
|
4
|
+
* Speech a provider generated.
|
|
5
|
+
*
|
|
6
|
+
* Extends `Audio`, so it answers the same questions every other payload does —
|
|
7
|
+
* `base64()`, `rawContent()`, `mimeType()`. It exists as its own type only
|
|
8
|
+
* because the reference has one, and because `type` (the provider's own format
|
|
9
|
+
* name, e.g. `mp3`) is not the same thing as a mime type and should not be
|
|
10
|
+
* quietly stored as one.
|
|
11
|
+
*/
|
|
12
|
+
export declare class GeneratedAudio extends Audio {
|
|
13
|
+
/** The provider's format name — `mp3`, `wav`, `opus`. Not a mime type. */
|
|
14
|
+
readonly type: string | null;
|
|
15
|
+
constructor(base64?: string | null,
|
|
16
|
+
/** The provider's format name — `mp3`, `wav`, `opus`. Not a mime type. */
|
|
17
|
+
type?: string | null, mimeType?: string | null);
|
|
18
|
+
toObject(): JsonObject;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=generated-audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-audio.d.ts","sourceRoot":"","sources":["../../src/value-objects/generated-audio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,KAAK;IAGrC,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;gBAF5B,MAAM,GAAE,MAAM,GAAG,IAAW;IAC5B,0EAA0E;IACjE,IAAI,GAAE,MAAM,GAAG,IAAW,EACnC,QAAQ,GAAE,MAAM,GAAG,IAAW;IAKvB,QAAQ,IAAI,UAAU;CAGhC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Audio } from './media/audio.js';
|
|
2
|
+
/**
|
|
3
|
+
* Speech a provider generated.
|
|
4
|
+
*
|
|
5
|
+
* Extends `Audio`, so it answers the same questions every other payload does —
|
|
6
|
+
* `base64()`, `rawContent()`, `mimeType()`. It exists as its own type only
|
|
7
|
+
* because the reference has one, and because `type` (the provider's own format
|
|
8
|
+
* name, e.g. `mp3`) is not the same thing as a mime type and should not be
|
|
9
|
+
* quietly stored as one.
|
|
10
|
+
*/
|
|
11
|
+
export class GeneratedAudio extends Audio {
|
|
12
|
+
type;
|
|
13
|
+
constructor(base64 = null,
|
|
14
|
+
/** The provider's format name — `mp3`, `wav`, `opus`. Not a mime type. */
|
|
15
|
+
type = null, mimeType = null) {
|
|
16
|
+
super(null, base64, mimeType);
|
|
17
|
+
this.type = type;
|
|
18
|
+
}
|
|
19
|
+
toObject() {
|
|
20
|
+
return { ...super.toObject(), type: this.type };
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=generated-audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-audio.js","sourceRoot":"","sources":["../../src/value-objects/generated-audio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IAI5B;IAHX,YACE,SAAwB,IAAI;IAC5B,0EAA0E;IACjE,OAAsB,IAAI,EACnC,WAA0B,IAAI;QAE9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAHrB,SAAI,GAAJ,IAAI,CAAsB;IAIrC,CAAC;IAEQ,QAAQ;QACf,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { JsonObject } from '../json.js';
|
|
2
|
+
import { Image } from './media/image.js';
|
|
3
|
+
/**
|
|
4
|
+
* An image a provider generated, and what it generated from.
|
|
5
|
+
*
|
|
6
|
+
* EXTENDS `Image` now that a Media base exists. It previously restated the
|
|
7
|
+
* url / base64 / mimeType triple itself, which was correct while it was the
|
|
8
|
+
* only binary type in the port and wrong the moment audio arrived — three
|
|
9
|
+
* standalone copies is how a package ends up with three answers to "is this a
|
|
10
|
+
* file". This was the first, so it moved first.
|
|
11
|
+
*
|
|
12
|
+
* What it adds is the one thing a generated image has and a supplied one does
|
|
13
|
+
* not: the prompt the provider actually used.
|
|
14
|
+
*/
|
|
15
|
+
export declare class GeneratedImage extends Image {
|
|
16
|
+
/**
|
|
17
|
+
* What the provider actually generated from.
|
|
18
|
+
*
|
|
19
|
+
* OpenAI rewrites prompts for safety and quality, often substantially. Kept
|
|
20
|
+
* because a caller comparing an image against its prompt is comparing it
|
|
21
|
+
* against THIS one, not the one they typed.
|
|
22
|
+
*/
|
|
23
|
+
readonly revisedPrompt: string | null;
|
|
24
|
+
constructor(url?: string | null, base64?: string | null,
|
|
25
|
+
/**
|
|
26
|
+
* What the provider actually generated from.
|
|
27
|
+
*
|
|
28
|
+
* OpenAI rewrites prompts for safety and quality, often substantially. Kept
|
|
29
|
+
* because a caller comparing an image against its prompt is comparing it
|
|
30
|
+
* against THIS one, not the one they typed.
|
|
31
|
+
*/
|
|
32
|
+
revisedPrompt?: string | null, mimeType?: string | null);
|
|
33
|
+
hasRevisedPrompt(): boolean;
|
|
34
|
+
toObject(): JsonObject;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=generated-image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-image.d.ts","sourceRoot":"","sources":["../../src/value-objects/generated-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;;;;;;;;;GAWG;AACH,qBAAa,cAAe,SAAQ,KAAK;IAIrC;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;gBATrC,GAAG,GAAE,MAAM,GAAG,IAAW,EACzB,MAAM,GAAE,MAAM,GAAG,IAAW;IAC5B;;;;;;OAMG;IACM,aAAa,GAAE,MAAM,GAAG,IAAW,EAC5C,QAAQ,GAAE,MAAM,GAAG,IAAW;IAKhC,gBAAgB,IAAI,OAAO;IAIlB,QAAQ,IAAI,UAAU;CAGhC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Image } from './media/image.js';
|
|
2
|
+
/**
|
|
3
|
+
* An image a provider generated, and what it generated from.
|
|
4
|
+
*
|
|
5
|
+
* EXTENDS `Image` now that a Media base exists. It previously restated the
|
|
6
|
+
* url / base64 / mimeType triple itself, which was correct while it was the
|
|
7
|
+
* only binary type in the port and wrong the moment audio arrived — three
|
|
8
|
+
* standalone copies is how a package ends up with three answers to "is this a
|
|
9
|
+
* file". This was the first, so it moved first.
|
|
10
|
+
*
|
|
11
|
+
* What it adds is the one thing a generated image has and a supplied one does
|
|
12
|
+
* not: the prompt the provider actually used.
|
|
13
|
+
*/
|
|
14
|
+
export class GeneratedImage extends Image {
|
|
15
|
+
revisedPrompt;
|
|
16
|
+
constructor(url = null, base64 = null,
|
|
17
|
+
/**
|
|
18
|
+
* What the provider actually generated from.
|
|
19
|
+
*
|
|
20
|
+
* OpenAI rewrites prompts for safety and quality, often substantially. Kept
|
|
21
|
+
* because a caller comparing an image against its prompt is comparing it
|
|
22
|
+
* against THIS one, not the one they typed.
|
|
23
|
+
*/
|
|
24
|
+
revisedPrompt = null, mimeType = null) {
|
|
25
|
+
super(url, base64, mimeType);
|
|
26
|
+
this.revisedPrompt = revisedPrompt;
|
|
27
|
+
}
|
|
28
|
+
hasRevisedPrompt() {
|
|
29
|
+
return this.revisedPrompt !== null;
|
|
30
|
+
}
|
|
31
|
+
toObject() {
|
|
32
|
+
return { ...super.toObject(), revised_prompt: this.revisedPrompt };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=generated-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-image.js","sourceRoot":"","sources":["../../src/value-objects/generated-image.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IAW5B;IAVX,YACE,MAAqB,IAAI,EACzB,SAAwB,IAAI;IAC5B;;;;;;OAMG;IACM,gBAA+B,IAAI,EAC5C,WAA0B,IAAI;QAE9B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAHpB,kBAAa,GAAb,aAAa,CAAsB;IAI9C,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC;IACrC,CAAC;IAEQ,QAAQ;QACf,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;IACrE,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { Text } from './media/text.js';
|
|
2
|
+
export { AssistantMessage, SystemMessage, ToolResultMessage, UserMessage, messageFromObject, } from './messages/index.js';
|
|
3
|
+
export type { Message, MessageType } from './messages/index.js';
|
|
4
|
+
export { Artifact } from './artifact.js';
|
|
5
|
+
export { Meta } from './meta.js';
|
|
6
|
+
export { ProviderRateLimit } from './provider-rate-limit.js';
|
|
7
|
+
export { ProviderTool } from './provider-tool.js';
|
|
8
|
+
export { ToolCall } from './tool-call.js';
|
|
9
|
+
export type { ToolCallArguments } from './tool-call.js';
|
|
10
|
+
export { ToolResult } from './tool-result.js';
|
|
11
|
+
export type { ToolResultValue } from './tool-result.js';
|
|
12
|
+
export { Usage } from './usage.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/value-objects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { Text } from './media/text.js';
|
|
2
|
+
export { AssistantMessage, SystemMessage, ToolResultMessage, UserMessage, messageFromObject, } from './messages/index.js';
|
|
3
|
+
export { Artifact } from './artifact.js';
|
|
4
|
+
export { Meta } from './meta.js';
|
|
5
|
+
export { ProviderRateLimit } from './provider-rate-limit.js';
|
|
6
|
+
export { ProviderTool } from './provider-tool.js';
|
|
7
|
+
export { ToolCall } from './tool-call.js';
|
|
8
|
+
export { ToolResult } from './tool-result.js';
|
|
9
|
+
export { Usage } from './usage.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/value-objects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { JsonObject } from '../../json.js';
|
|
2
|
+
import { Media } from './media.js';
|
|
3
|
+
/** An audio payload — a recording to transcribe, or speech that was generated. */
|
|
4
|
+
export declare class Audio extends Media {
|
|
5
|
+
readonly kind: "audio";
|
|
6
|
+
static fromObject(object: JsonObject): Audio;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../src/value-objects/media/audio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,kFAAkF;AAClF,qBAAa,KAAM,SAAQ,KAAK;IAC9B,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IAEjC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK;CAG7C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Media } from './media.js';
|
|
2
|
+
/** An audio payload — a recording to transcribe, or speech that was generated. */
|
|
3
|
+
export class Audio extends Media {
|
|
4
|
+
kind = 'audio';
|
|
5
|
+
static fromObject(object) {
|
|
6
|
+
return Audio.restoreInto(new Audio(...Audio.constructorArgs(object)), object);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio.js","sourceRoot":"","sources":["../../../src/value-objects/media/audio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,kFAAkF;AAClF,MAAM,OAAO,KAAM,SAAQ,KAAK;IACrB,IAAI,GAAG,OAAgB,CAAC;IAEjC,MAAM,CAAC,UAAU,CAAC,MAAkB;QAClC,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;CACF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { JsonObject } from '../../json.js';
|
|
2
|
+
import { Media } from './media.js';
|
|
3
|
+
/**
|
|
4
|
+
* A document — a PDF, a text file, or text supplied directly as chunks.
|
|
5
|
+
*
|
|
6
|
+
* Two things a plain `Media` does not have, both because every provider that
|
|
7
|
+
* accepts a document asks for them:
|
|
8
|
+
*
|
|
9
|
+
* - a TITLE, sent as `document_name` by Mistral, `filename` by OpenAI and
|
|
10
|
+
* `title` by Anthropic;
|
|
11
|
+
* - CHUNKS, pre-split text sent as a `content` source. Anthropic is the only
|
|
12
|
+
* provider here that takes them.
|
|
13
|
+
*
|
|
14
|
+
* ONE DELIBERATE DIVERGENCE FROM THE REFERENCE. The reference threads the title
|
|
15
|
+
* through every factory as the SECOND positional argument — `Document::fromUrl(
|
|
16
|
+
* $url, $title)` — where the same position on the `Media` base means the mime
|
|
17
|
+
* type. So `Document::fromUrl($url, 'application/pdf')` silently sets the title
|
|
18
|
+
* to "application/pdf" and leaves the mime type unset. Inheriting that here
|
|
19
|
+
* would be inheriting a trap the type system cannot see, since both are
|
|
20
|
+
* `string`. The factories keep their base meaning and the title is set by
|
|
21
|
+
* {@link titled}, which cannot be confused with anything.
|
|
22
|
+
*/
|
|
23
|
+
export declare class Document extends Media {
|
|
24
|
+
#private;
|
|
25
|
+
readonly kind: "document";
|
|
26
|
+
/**
|
|
27
|
+
* A document supplied as pre-split text.
|
|
28
|
+
*
|
|
29
|
+
* Carries no bytes and no mime type — the chunks ARE the document. Only
|
|
30
|
+
* Anthropic accepts this form; the other two mappers reject it by name rather
|
|
31
|
+
* than sending an empty payload.
|
|
32
|
+
*/
|
|
33
|
+
static fromChunks(chunks: readonly string[], title?: string | null): Document;
|
|
34
|
+
/** Text as a document, rather than as part of the prompt. */
|
|
35
|
+
static fromText(text: string, title?: string | null): Document;
|
|
36
|
+
static fromObject(object: JsonObject): Document;
|
|
37
|
+
/** Name this document for the provider. Returns itself, so it chains onto a factory. */
|
|
38
|
+
titled(title: string): this;
|
|
39
|
+
documentTitle(): string | null;
|
|
40
|
+
chunks(): readonly string[] | null;
|
|
41
|
+
isChunks(): boolean;
|
|
42
|
+
toObject(): JsonObject;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/value-objects/media/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,QAAS,SAAQ,KAAK;;IACjC,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAMpC;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,GAAE,MAAM,GAAG,IAAW,GAAG,QAAQ;IAOnF,6DAA6D;IAC7D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,IAAW,GAAG,QAAQ;IAMpE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ;IAc/C,wFAAwF;IACxF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM3B,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B,MAAM,IAAI,SAAS,MAAM,EAAE,GAAG,IAAI;IAIlC,QAAQ,IAAI,OAAO;IAIV,QAAQ,IAAI,UAAU;CAOhC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Media } from './media.js';
|
|
2
|
+
/**
|
|
3
|
+
* A document — a PDF, a text file, or text supplied directly as chunks.
|
|
4
|
+
*
|
|
5
|
+
* Two things a plain `Media` does not have, both because every provider that
|
|
6
|
+
* accepts a document asks for them:
|
|
7
|
+
*
|
|
8
|
+
* - a TITLE, sent as `document_name` by Mistral, `filename` by OpenAI and
|
|
9
|
+
* `title` by Anthropic;
|
|
10
|
+
* - CHUNKS, pre-split text sent as a `content` source. Anthropic is the only
|
|
11
|
+
* provider here that takes them.
|
|
12
|
+
*
|
|
13
|
+
* ONE DELIBERATE DIVERGENCE FROM THE REFERENCE. The reference threads the title
|
|
14
|
+
* through every factory as the SECOND positional argument — `Document::fromUrl(
|
|
15
|
+
* $url, $title)` — where the same position on the `Media` base means the mime
|
|
16
|
+
* type. So `Document::fromUrl($url, 'application/pdf')` silently sets the title
|
|
17
|
+
* to "application/pdf" and leaves the mime type unset. Inheriting that here
|
|
18
|
+
* would be inheriting a trap the type system cannot see, since both are
|
|
19
|
+
* `string`. The factories keep their base meaning and the title is set by
|
|
20
|
+
* {@link titled}, which cannot be confused with anything.
|
|
21
|
+
*/
|
|
22
|
+
export class Document extends Media {
|
|
23
|
+
kind = 'document';
|
|
24
|
+
#documentTitle = null;
|
|
25
|
+
#chunks = null;
|
|
26
|
+
/**
|
|
27
|
+
* A document supplied as pre-split text.
|
|
28
|
+
*
|
|
29
|
+
* Carries no bytes and no mime type — the chunks ARE the document. Only
|
|
30
|
+
* Anthropic accepts this form; the other two mappers reject it by name rather
|
|
31
|
+
* than sending an empty payload.
|
|
32
|
+
*/
|
|
33
|
+
static fromChunks(chunks, title = null) {
|
|
34
|
+
const document = new Document();
|
|
35
|
+
document.#chunks = [...chunks];
|
|
36
|
+
return title === null ? document : document.titled(title);
|
|
37
|
+
}
|
|
38
|
+
/** Text as a document, rather than as part of the prompt. */
|
|
39
|
+
static fromText(text, title = null) {
|
|
40
|
+
const document = Document.fromRawContent(new TextEncoder().encode(text), 'text/plain');
|
|
41
|
+
return title === null ? document : document.titled(title);
|
|
42
|
+
}
|
|
43
|
+
static fromObject(object) {
|
|
44
|
+
const document = Document.restoreInto(new Document(...Document.constructorArgs(object)), object);
|
|
45
|
+
if (typeof object.document_title === 'string') {
|
|
46
|
+
document.titled(object.document_title);
|
|
47
|
+
}
|
|
48
|
+
if (Array.isArray(object.chunks)) {
|
|
49
|
+
document.#chunks = object.chunks.filter((chunk) => typeof chunk === 'string');
|
|
50
|
+
}
|
|
51
|
+
return document;
|
|
52
|
+
}
|
|
53
|
+
/** Name this document for the provider. Returns itself, so it chains onto a factory. */
|
|
54
|
+
titled(title) {
|
|
55
|
+
this.#documentTitle = title;
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
documentTitle() {
|
|
59
|
+
return this.#documentTitle;
|
|
60
|
+
}
|
|
61
|
+
chunks() {
|
|
62
|
+
return this.#chunks;
|
|
63
|
+
}
|
|
64
|
+
isChunks() {
|
|
65
|
+
return this.#chunks !== null;
|
|
66
|
+
}
|
|
67
|
+
toObject() {
|
|
68
|
+
return {
|
|
69
|
+
...super.toObject(),
|
|
70
|
+
document_title: this.#documentTitle,
|
|
71
|
+
chunks: this.#chunks === null ? null : [...this.#chunks],
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/value-objects/media/document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,GAAG,UAAmB,CAAC;IAEpC,cAAc,GAAkB,IAAI,CAAC;IAErC,OAAO,GAA6B,IAAI,CAAC;IAEzC;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,MAAyB,EAAE,QAAuB,IAAI;QACtE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAE/B,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,QAAuB,IAAI;QACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;QAEvF,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAkB;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAEjG,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC9C,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;QACjG,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wFAAwF;IACxF,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAC/B,CAAC;IAEQ,QAAQ;QACf,OAAO;YACL,GAAG,KAAK,CAAC,QAAQ,EAAE;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SACzD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { JsonObject } from '../../json.js';
|
|
2
|
+
import { Media } from './media.js';
|
|
3
|
+
/**
|
|
4
|
+
* An image.
|
|
5
|
+
*
|
|
6
|
+
* Adds nothing to `Media` but a name, deliberately: an image and an audio file
|
|
7
|
+
* differ in what a provider does with them, not in what they are.
|
|
8
|
+
*/
|
|
9
|
+
export declare class Image extends Media {
|
|
10
|
+
readonly kind: "image";
|
|
11
|
+
static fromObject(object: JsonObject): Image;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/value-objects/media/image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,KAAK;IAC9B,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IAEjC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK;CAG7C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Media } from './media.js';
|
|
2
|
+
/**
|
|
3
|
+
* An image.
|
|
4
|
+
*
|
|
5
|
+
* Adds nothing to `Media` but a name, deliberately: an image and an audio file
|
|
6
|
+
* differ in what a provider does with them, not in what they are.
|
|
7
|
+
*/
|
|
8
|
+
export class Image extends Media {
|
|
9
|
+
kind = 'image';
|
|
10
|
+
static fromObject(object) {
|
|
11
|
+
return Image.restoreInto(new Image(...Image.constructorArgs(object)), object);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/value-objects/media/image.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,OAAO,KAAM,SAAQ,KAAK;IACrB,IAAI,GAAG,OAAgB,CAAC;IAEjC,MAAM,CAAC,UAAU,CAAC,MAAkB;QAClC,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;CACF"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { JsonObject } from '../../json.js';
|
|
2
|
+
/** The kinds of payload a message part can be, minus text. */
|
|
3
|
+
export type MediaKind = 'image' | 'audio' | 'document' | 'video';
|
|
4
|
+
/**
|
|
5
|
+
* A binary payload, however it was given to us.
|
|
6
|
+
*
|
|
7
|
+
* One type behind five ways of naming the same bytes — a url, a base64 string,
|
|
8
|
+
* a local file, raw content, or a provider-side file id. Subclasses add nothing
|
|
9
|
+
* but a name; `Image` and `Audio` differ in what a provider does with them, not
|
|
10
|
+
* in what they are.
|
|
11
|
+
*
|
|
12
|
+
* The alternative was three standalone classes each restating url / base64 /
|
|
13
|
+
* mimeType, which is how a package ends up with three subtly different answers
|
|
14
|
+
* to "is this a file". `GeneratedImage` was the first of those and is now
|
|
15
|
+
* `Image`'s sibling under this base.
|
|
16
|
+
*
|
|
17
|
+
* TWO DELIBERATE DIVERGENCES FROM THE REFERENCE, both recorded in the port gaps
|
|
18
|
+
* register:
|
|
19
|
+
*
|
|
20
|
+
* - `fromStoragePath` is absent. It resolves through Laravel's filesystem, and
|
|
21
|
+
* there is no equivalent here to resolve through.
|
|
22
|
+
* - A url is NEVER fetched implicitly. The reference reads url content on
|
|
23
|
+
* demand inside `rawContent()`, so touching a property performs an outbound
|
|
24
|
+
* request; here `fetch()` is explicit and separate. A value object that
|
|
25
|
+
* reaches the network when you read it turns a stored locator into a request
|
|
26
|
+
* at replay time, which is the exact hazard prism-harness documents about
|
|
27
|
+
* replaying threads.
|
|
28
|
+
*/
|
|
29
|
+
export declare abstract class Media {
|
|
30
|
+
#private;
|
|
31
|
+
readonly url: string | null;
|
|
32
|
+
/**
|
|
33
|
+
* The discriminator in the serialized form, under the key `kind`.
|
|
34
|
+
*
|
|
35
|
+
* NOT `type`. `GeneratedAudio` already serializes `type` as the provider's
|
|
36
|
+
* own format name (`mp3`, `wav`), so a discriminator spelled `type` would be
|
|
37
|
+
* overwritten by it on exactly one subclass — the kind of collision that
|
|
38
|
+
* round-trips fine in every test that does not happen to use that class.
|
|
39
|
+
*
|
|
40
|
+
* A subclass of a subclass keeps its parent's kind: `GeneratedImage` is an
|
|
41
|
+
* `image`, and reading one back as `Image` loses only the revised prompt,
|
|
42
|
+
* which is not something a user message carries.
|
|
43
|
+
*/
|
|
44
|
+
abstract readonly kind: MediaKind;
|
|
45
|
+
constructor(url?: string | null, base64?: string | null, mimeType?: string | null);
|
|
46
|
+
static fromFileId<T extends Media>(this: new () => T, fileId: string): T;
|
|
47
|
+
static fromUrl<T extends Media>(this: new (url?: string | null) => T, url: string, mimeType?: string | null): T;
|
|
48
|
+
static fromBase64<T extends Media>(this: new (url?: string | null, base64?: string | null, mimeType?: string | null) => T, base64: string, mimeType?: string | null): T;
|
|
49
|
+
static fromRawContent<T extends Media>(this: new () => T, content: Uint8Array, mimeType?: string | null): T;
|
|
50
|
+
/**
|
|
51
|
+
* Read a file from disk.
|
|
52
|
+
*
|
|
53
|
+
* Refuses an EMPTY file, matching the reference. A zero-byte upload is almost
|
|
54
|
+
* always a mistake upstream, and a provider's error for it is far less useful
|
|
55
|
+
* than one naming the path.
|
|
56
|
+
*/
|
|
57
|
+
static fromLocalPath<T extends Media>(this: new () => T, path: string, mimeType?: string | null): T;
|
|
58
|
+
/** Alias, matching the reference's spelling. */
|
|
59
|
+
static fromPath<T extends Media>(this: new () => T, path: string): T;
|
|
60
|
+
/** Name this payload for a provider that wants a filename. */
|
|
61
|
+
as(name: string): this;
|
|
62
|
+
filename(): string | null;
|
|
63
|
+
fileId(): string | null;
|
|
64
|
+
localPath(): string | null;
|
|
65
|
+
isFileId(): boolean;
|
|
66
|
+
isFile(): boolean;
|
|
67
|
+
isUrl(): boolean;
|
|
68
|
+
hasBase64(): boolean;
|
|
69
|
+
hasMimeType(): boolean;
|
|
70
|
+
hasRawContent(): boolean;
|
|
71
|
+
mimeType(): string | null;
|
|
72
|
+
rawContent(): Uint8Array | null;
|
|
73
|
+
/**
|
|
74
|
+
* The payload as base64, or null when only a url or file id is known.
|
|
75
|
+
*
|
|
76
|
+
* Computed once and kept, because encoding a large file on every access is a
|
|
77
|
+
* cost a caller cannot see.
|
|
78
|
+
*/
|
|
79
|
+
base64(): string | null;
|
|
80
|
+
/**
|
|
81
|
+
* Fetch a url's bytes into this payload. EXPLICIT, never automatic.
|
|
82
|
+
*
|
|
83
|
+
* Separate from `rawContent()` so that reading a property never performs an
|
|
84
|
+
* outbound request — a stored locator becoming a request the moment something
|
|
85
|
+
* replays it is the hazard, not the fetch itself.
|
|
86
|
+
*/
|
|
87
|
+
fetch(): Promise<this>;
|
|
88
|
+
/**
|
|
89
|
+
* The serialized form.
|
|
90
|
+
*
|
|
91
|
+
* `base64()`, not the base64 FIELD: a payload built from raw content or from
|
|
92
|
+
* a local file has bytes and an empty `#base64` until something asks for it,
|
|
93
|
+
* so reading the field would serialize a full image as `base64: null` and the
|
|
94
|
+
* round trip would silently return an empty one. Encoding here costs one pass
|
|
95
|
+
* over bytes the caller has already decided to persist.
|
|
96
|
+
*/
|
|
97
|
+
toObject(): JsonObject;
|
|
98
|
+
/**
|
|
99
|
+
* Put a serialized payload's fields back on a fresh instance.
|
|
100
|
+
*
|
|
101
|
+
* Protected and static so each subclass's own `fromObject` can call it
|
|
102
|
+
* without every one of them restating the five keys — and without the
|
|
103
|
+
* setters becoming public, which would make a value object mutable from
|
|
104
|
+
* anywhere for the sake of one code path.
|
|
105
|
+
*
|
|
106
|
+
* The local path is NOT restored: it names a file on the machine that
|
|
107
|
+
* serialized this, and a path that resolves to a different file elsewhere is
|
|
108
|
+
* worse than no path at all. The bytes travel as base64 instead.
|
|
109
|
+
*/
|
|
110
|
+
protected static restoreInto<T extends Media>(media: T, object: JsonObject): T;
|
|
111
|
+
/** The url, base64 and mime type a serialized payload carries, as constructor arguments. */
|
|
112
|
+
protected static constructorArgs(object: JsonObject): [string | null, string | null, string | null];
|
|
113
|
+
protected setRawContent(content: Uint8Array, mimeType: string | null): void;
|
|
114
|
+
protected setMimeType(mimeType: string): void;
|
|
115
|
+
protected setLocalPath(path: string): void;
|
|
116
|
+
protected setFileId(fileId: string): void;
|
|
117
|
+
}
|
|
118
|
+
export declare function guessMimeType(path: string): string | null;
|
|
119
|
+
//# sourceMappingURL=media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/value-objects/media/media.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,8DAA8D;AAC9D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,8BAAsB,KAAK;;IA4BvB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IA3B7B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;gBAevB,GAAG,GAAE,MAAM,GAAG,IAAW,EAClC,MAAM,GAAE,MAAM,GAAG,IAAW,EAC5B,QAAQ,GAAE,MAAM,GAAG,IAAW;IAMhC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;IAOxE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,GAAG,CAAC;IAUrH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,KAAK,EAC/B,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC,EACtF,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,CAAC;IAIJ,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,GAAG,CAAC;IAOjH;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,GAAG,CAAC;IAqBzG,gDAAgD;IAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAIpE,8DAA8D;IAC9D,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMtB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,MAAM,IAAI,MAAM,GAAG,IAAI;IAIvB,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,QAAQ,IAAI,OAAO;IAInB,MAAM,IAAI,OAAO;IAIjB,KAAK,IAAI,OAAO;IAIhB,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,OAAO;IAItB,aAAa,IAAI,OAAO;IAIxB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,UAAU,IAAI,UAAU,GAAG,IAAI;IAkB/B;;;;;OAKG;IACH,MAAM,IAAI,MAAM,GAAG,IAAI;IAcvB;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB5B;;;;;;;;OAQG;IACH,QAAQ,IAAI,UAAU;IAWtB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC;IAY9E,4FAA4F;IAC5F,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAQnG,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAQ3E,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI7C,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI1C,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAG1C;AA6BD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzD"}
|