tekimax-ts 0.1.7 → 0.1.8
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/README.md +113 -26
- package/dist/adapter-BtbeHotF.d.cts +81 -0
- package/dist/adapter-BtbeHotF.d.ts +81 -0
- package/dist/adapter-C5iFgx6o.d.cts +162 -0
- package/dist/adapter-C5iFgx6o.d.ts +162 -0
- package/dist/adapter-CMu9Gvvm.d.cts +81 -0
- package/dist/adapter-CMu9Gvvm.d.ts +81 -0
- package/dist/adapter-DeUJcFAn.d.cts +43 -0
- package/dist/adapter-DeUJcFAn.d.ts +43 -0
- package/dist/adapter-K9NFtBg8.d.cts +81 -0
- package/dist/adapter-K9NFtBg8.d.ts +81 -0
- package/dist/adapter-TuDzMu0Y.d.cts +43 -0
- package/dist/adapter-TuDzMu0Y.d.ts +43 -0
- package/dist/adapter-YcdKK3By.d.cts +63 -0
- package/dist/adapter-YcdKK3By.d.ts +63 -0
- package/dist/adapter-xdRwibId.d.cts +144 -0
- package/dist/adapter-xdRwibId.d.ts +144 -0
- package/dist/adapter-zXqUGXCx.d.cts +81 -0
- package/dist/adapter-zXqUGXCx.d.ts +81 -0
- package/dist/chunk-MLKGABMK.js +9 -0
- package/dist/gen/index.js +1572 -378
- package/dist/gen/types.js +290 -201
- package/dist/gen/zod/allowedToolChoiceSchema.js +17 -13
- package/dist/gen/zod/allowedToolsParamSchema.js +28 -13
- package/dist/gen/zod/annotationSchema.js +16 -11
- package/dist/gen/zod/assistantMessageItemParamSchema.js +52 -19
- package/dist/gen/zod/createResponseBodySchema.js +142 -44
- package/dist/gen/zod/createresponseSchema.js +23 -12
- package/dist/gen/zod/detailEnumSchema.js +8 -8
- package/dist/gen/zod/developerMessageItemParamSchema.js +35 -16
- package/dist/gen/zod/emptyModelParamSchema.js +8 -8
- package/dist/gen/zod/errorPayloadSchema.js +27 -14
- package/dist/gen/zod/errorSchema.js +17 -11
- package/dist/gen/zod/errorStreamingEventSchema.js +23 -13
- package/dist/gen/zod/functionCallItemParamSchema.js +38 -15
- package/dist/gen/zod/functionCallItemStatusSchema.js +12 -8
- package/dist/gen/zod/functionCallOutputItemParamSchema.js +90 -27
- package/dist/gen/zod/functionCallOutputSchema.js +67 -24
- package/dist/gen/zod/functionCallOutputStatusEnumSchema.js +12 -8
- package/dist/gen/zod/functionCallSchema.js +29 -16
- package/dist/gen/zod/functionCallStatusSchema.js +12 -8
- package/dist/gen/zod/functionToolChoiceSchema.js +10 -10
- package/dist/gen/zod/functionToolParamSchema.js +25 -14
- package/dist/gen/zod/functionToolSchema.js +24 -14
- package/dist/gen/zod/imageDetailSchema.js +8 -8
- package/dist/gen/zod/includeEnumSchema.js +11 -8
- package/dist/gen/zod/incompleteDetailsSchema.js +14 -10
- package/dist/gen/zod/index.js +871 -213
- package/dist/gen/zod/inputFileContentParamSchema.js +24 -13
- package/dist/gen/zod/inputFileContentSchema.js +23 -12
- package/dist/gen/zod/inputImageContentParamAutoParamSchema.js +29 -13
- package/dist/gen/zod/inputImageContentSchema.js +22 -13
- package/dist/gen/zod/inputTextContentParamSchema.js +19 -11
- package/dist/gen/zod/inputTextContentSchema.js +16 -11
- package/dist/gen/zod/inputTokensDetailsSchema.js +15 -10
- package/dist/gen/zod/inputVideoContentSchema.js +17 -11
- package/dist/gen/zod/itemFieldSchema.js +45 -20
- package/dist/gen/zod/itemParamSchema.js +55 -23
- package/dist/gen/zod/itemReferenceParamSchema.js +15 -11
- package/dist/gen/zod/jsonObjectResponseFormatSchema.js +9 -9
- package/dist/gen/zod/jsonSchemaResponseFormatParamSchema.js +38 -13
- package/dist/gen/zod/jsonSchemaResponseFormatSchema.js +13 -13
- package/dist/gen/zod/logProbSchema.js +20 -14
- package/dist/gen/zod/messageRoleSchema.js +13 -8
- package/dist/gen/zod/messageSchema.js +109 -43
- package/dist/gen/zod/messageStatusSchema.js +12 -8
- package/dist/gen/zod/metadataParamSchema.js +13 -8
- package/dist/gen/zod/outputTextContentParamSchema.js +21 -12
- package/dist/gen/zod/outputTextContentSchema.js +30 -15
- package/dist/gen/zod/outputTokensDetailsSchema.js +17 -10
- package/dist/gen/zod/reasoningBodySchema.js +173 -54
- package/dist/gen/zod/reasoningEffortEnumSchema.js +14 -8
- package/dist/gen/zod/reasoningItemParamSchema.js +26 -14
- package/dist/gen/zod/reasoningParamSchema.js +33 -13
- package/dist/gen/zod/reasoningSchema.js +27 -13
- package/dist/gen/zod/reasoningSummaryContentParamSchema.js +13 -10
- package/dist/gen/zod/reasoningSummaryEnumSchema.js +12 -8
- package/dist/gen/zod/reasoningTextContentSchema.js +16 -11
- package/dist/gen/zod/refusalContentParamSchema.js +13 -10
- package/dist/gen/zod/refusalContentSchema.js +18 -11
- package/dist/gen/zod/responseCompletedStreamingEventSchema.js +23 -13
- package/dist/gen/zod/responseContentPartAddedStreamingEventSchema.js +98 -39
- package/dist/gen/zod/responseContentPartDoneStreamingEventSchema.js +98 -39
- package/dist/gen/zod/responseCreatedStreamingEventSchema.js +23 -13
- package/dist/gen/zod/responseFailedStreamingEventSchema.js +23 -13
- package/dist/gen/zod/responseFunctionCallArgumentsDeltaStreamingEventSchema.js +38 -15
- package/dist/gen/zod/responseFunctionCallArgumentsDoneStreamingEventSchema.js +33 -14
- package/dist/gen/zod/responseInProgressStreamingEventSchema.js +23 -13
- package/dist/gen/zod/responseIncompleteStreamingEventSchema.js +23 -13
- package/dist/gen/zod/responseOutputItemAddedStreamingEventSchema.js +32 -14
- package/dist/gen/zod/responseOutputItemDoneStreamingEventSchema.js +30 -14
- package/dist/gen/zod/responseOutputTextAnnotationAddedStreamingEventSchema.js +43 -17
- package/dist/gen/zod/responseOutputTextDeltaStreamingEventSchema.js +48 -18
- package/dist/gen/zod/responseOutputTextDoneStreamingEventSchema.js +39 -17
- package/dist/gen/zod/responseQueuedStreamingEventSchema.js +23 -13
- package/dist/gen/zod/responseReasoningDeltaStreamingEventSchema.js +40 -16
- package/dist/gen/zod/responseReasoningDoneStreamingEventSchema.js +31 -15
- package/dist/gen/zod/responseReasoningSummaryDeltaStreamingEventSchema.js +42 -16
- package/dist/gen/zod/responseReasoningSummaryDoneStreamingEventSchema.js +33 -15
- package/dist/gen/zod/responseReasoningSummaryPartAddedStreamingEventSchema.js +102 -39
- package/dist/gen/zod/responseReasoningSummaryPartDoneStreamingEventSchema.js +102 -39
- package/dist/gen/zod/responseRefusalDeltaStreamingEventSchema.js +33 -15
- package/dist/gen/zod/responseRefusalDoneStreamingEventSchema.js +31 -15
- package/dist/gen/zod/responseResourceSchema.js +146 -51
- package/dist/gen/zod/responsesToolParamSchema.js +15 -11
- package/dist/gen/zod/serviceTierEnumSchema.js +13 -8
- package/dist/gen/zod/specificFunctionParamSchema.js +13 -10
- package/dist/gen/zod/specificToolChoiceParamSchema.js +11 -9
- package/dist/gen/zod/streamOptionsParamSchema.js +18 -10
- package/dist/gen/zod/summaryTextContentSchema.js +18 -11
- package/dist/gen/zod/systemMessageItemParamSchema.js +35 -16
- package/dist/gen/zod/textContentSchema.js +13 -11
- package/dist/gen/zod/textFieldSchema.js +24 -14
- package/dist/gen/zod/textFormatParamSchema.js +16 -10
- package/dist/gen/zod/textParamSchema.js +23 -12
- package/dist/gen/zod/textResponseFormatSchema.js +9 -9
- package/dist/gen/zod/toolChoiceParamSchema.js +21 -11
- package/dist/gen/zod/toolChoiceValueEnumSchema.js +8 -8
- package/dist/gen/zod/toolSchema.js +16 -11
- package/dist/gen/zod/topLogProbSchema.js +14 -12
- package/dist/gen/zod/truncationEnumSchema.js +8 -8
- package/dist/gen/zod/urlCitationBodySchema.js +29 -14
- package/dist/gen/zod/urlCitationParamSchema.js +28 -13
- package/dist/gen/zod/usageSchema.js +35 -16
- package/dist/gen/zod/userMessageItemParamSchema.js +64 -22
- package/dist/gen/zod/verbosityEnumSchema.js +8 -8
- package/dist/index.cjs +1574 -0
- package/dist/index.d.cts +2823 -0
- package/dist/index.d.mts +51000 -31111
- package/dist/index.d.ts +407 -29296
- package/dist/index.js +1136 -1405
- package/dist/index.mjs +2441 -1010
- package/dist/react/index.cjs +216 -0
- package/dist/react/index.d.cts +25 -0
- package/dist/react/index.d.ts +25 -0
- package/dist/react/index.js +191 -0
- package/dist/tekimax-C-DJ0z27.d.cts +283 -0
- package/dist/tekimax-C-DJ0z27.d.ts +283 -0
- package/package.json +47 -9
- package/.dockerignore +0 -5
- package/Dockerfile +0 -25
- package/kubb.config.js +0 -30
- package/kubb.config.ts +0 -35
- package/public/logos/tekimax-logo-ScreenRGB-2.png +0 -0
- package/spec/openapi.json +0 -3876
- package/src/client.ts +0 -129
- package/src/gen/.kubb/config.ts +0 -43
- package/src/gen/client/createresponse.ts +0 -27
- package/src/gen/client/index.ts +0 -1
- package/src/gen/index.ts +0 -187
- package/src/gen/schemas/allowedToolChoice.json +0 -1
- package/src/gen/schemas/allowedToolsParam.json +0 -1
- package/src/gen/schemas/annotation.json +0 -1
- package/src/gen/schemas/assistantMessageItemParam.json +0 -1
- package/src/gen/schemas/createResponseBody.json +0 -1
- package/src/gen/schemas/detailEnum.json +0 -1
- package/src/gen/schemas/developerMessageItemParam.json +0 -1
- package/src/gen/schemas/emptyModelParam.json +0 -1
- package/src/gen/schemas/error.json +0 -1
- package/src/gen/schemas/errorPayload.json +0 -1
- package/src/gen/schemas/errorStreamingEvent.json +0 -1
- package/src/gen/schemas/functionCall.json +0 -1
- package/src/gen/schemas/functionCallItemParam.json +0 -1
- package/src/gen/schemas/functionCallItemStatus.json +0 -1
- package/src/gen/schemas/functionCallOutput.json +0 -1
- package/src/gen/schemas/functionCallOutputItemParam.json +0 -1
- package/src/gen/schemas/functionCallOutputStatusEnum.json +0 -1
- package/src/gen/schemas/functionCallStatus.json +0 -1
- package/src/gen/schemas/functionTool.json +0 -1
- package/src/gen/schemas/functionToolChoice.json +0 -1
- package/src/gen/schemas/functionToolParam.json +0 -1
- package/src/gen/schemas/imageDetail.json +0 -1
- package/src/gen/schemas/includeEnum.json +0 -1
- package/src/gen/schemas/incompleteDetails.json +0 -1
- package/src/gen/schemas/inputFileContent.json +0 -1
- package/src/gen/schemas/inputFileContentParam.json +0 -1
- package/src/gen/schemas/inputImageContent.json +0 -1
- package/src/gen/schemas/inputImageContentParamAutoParam.json +0 -1
- package/src/gen/schemas/inputTextContent.json +0 -1
- package/src/gen/schemas/inputTextContentParam.json +0 -1
- package/src/gen/schemas/inputTokensDetails.json +0 -1
- package/src/gen/schemas/inputVideoContent.json +0 -1
- package/src/gen/schemas/itemField.json +0 -1
- package/src/gen/schemas/itemParam.json +0 -1
- package/src/gen/schemas/itemReferenceParam.json +0 -1
- package/src/gen/schemas/jsonObjectResponseFormat.json +0 -1
- package/src/gen/schemas/jsonSchemaResponseFormat.json +0 -1
- package/src/gen/schemas/jsonSchemaResponseFormatParam.json +0 -1
- package/src/gen/schemas/logProb.json +0 -1
- package/src/gen/schemas/message.json +0 -1
- package/src/gen/schemas/messageRole.json +0 -1
- package/src/gen/schemas/messageStatus.json +0 -1
- package/src/gen/schemas/metadataParam.json +0 -1
- package/src/gen/schemas/outputTextContent.json +0 -1
- package/src/gen/schemas/outputTextContentParam.json +0 -1
- package/src/gen/schemas/outputTokensDetails.json +0 -1
- package/src/gen/schemas/reasoning.json +0 -1
- package/src/gen/schemas/reasoningBody.json +0 -1
- package/src/gen/schemas/reasoningEffortEnum.json +0 -1
- package/src/gen/schemas/reasoningItemParam.json +0 -1
- package/src/gen/schemas/reasoningParam.json +0 -1
- package/src/gen/schemas/reasoningSummaryContentParam.json +0 -1
- package/src/gen/schemas/reasoningSummaryEnum.json +0 -1
- package/src/gen/schemas/reasoningTextContent.json +0 -1
- package/src/gen/schemas/refusalContent.json +0 -1
- package/src/gen/schemas/refusalContentParam.json +0 -1
- package/src/gen/schemas/responseCompletedStreamingEvent.json +0 -1
- package/src/gen/schemas/responseContentPartAddedStreamingEvent.json +0 -1
- package/src/gen/schemas/responseContentPartDoneStreamingEvent.json +0 -1
- package/src/gen/schemas/responseCreatedStreamingEvent.json +0 -1
- package/src/gen/schemas/responseFailedStreamingEvent.json +0 -1
- package/src/gen/schemas/responseFunctionCallArgumentsDeltaStreamingEvent.json +0 -1
- package/src/gen/schemas/responseFunctionCallArgumentsDoneStreamingEvent.json +0 -1
- package/src/gen/schemas/responseInProgressStreamingEvent.json +0 -1
- package/src/gen/schemas/responseIncompleteStreamingEvent.json +0 -1
- package/src/gen/schemas/responseOutputItemAddedStreamingEvent.json +0 -1
- package/src/gen/schemas/responseOutputItemDoneStreamingEvent.json +0 -1
- package/src/gen/schemas/responseOutputTextAnnotationAddedStreamingEvent.json +0 -1
- package/src/gen/schemas/responseOutputTextDeltaStreamingEvent.json +0 -1
- package/src/gen/schemas/responseOutputTextDoneStreamingEvent.json +0 -1
- package/src/gen/schemas/responseQueuedStreamingEvent.json +0 -1
- package/src/gen/schemas/responseReasoningDeltaStreamingEvent.json +0 -1
- package/src/gen/schemas/responseReasoningDoneStreamingEvent.json +0 -1
- package/src/gen/schemas/responseReasoningSummaryDeltaStreamingEvent.json +0 -1
- package/src/gen/schemas/responseReasoningSummaryDoneStreamingEvent.json +0 -1
- package/src/gen/schemas/responseReasoningSummaryPartAddedStreamingEvent.json +0 -1
- package/src/gen/schemas/responseReasoningSummaryPartDoneStreamingEvent.json +0 -1
- package/src/gen/schemas/responseRefusalDeltaStreamingEvent.json +0 -1
- package/src/gen/schemas/responseRefusalDoneStreamingEvent.json +0 -1
- package/src/gen/schemas/responseResource.json +0 -1
- package/src/gen/schemas/responsesToolParam.json +0 -1
- package/src/gen/schemas/serviceTierEnum.json +0 -1
- package/src/gen/schemas/specificFunctionParam.json +0 -1
- package/src/gen/schemas/specificToolChoiceParam.json +0 -1
- package/src/gen/schemas/streamOptionsParam.json +0 -1
- package/src/gen/schemas/summaryTextContent.json +0 -1
- package/src/gen/schemas/systemMessageItemParam.json +0 -1
- package/src/gen/schemas/textContent.json +0 -1
- package/src/gen/schemas/textField.json +0 -1
- package/src/gen/schemas/textFormatParam.json +0 -1
- package/src/gen/schemas/textParam.json +0 -1
- package/src/gen/schemas/textResponseFormat.json +0 -1
- package/src/gen/schemas/tool.json +0 -1
- package/src/gen/schemas/toolChoiceParam.json +0 -1
- package/src/gen/schemas/toolChoiceValueEnum.json +0 -1
- package/src/gen/schemas/topLogProb.json +0 -1
- package/src/gen/schemas/truncationEnum.json +0 -1
- package/src/gen/schemas/urlCitationBody.json +0 -1
- package/src/gen/schemas/urlCitationParam.json +0 -1
- package/src/gen/schemas/usage.json +0 -1
- package/src/gen/schemas/userMessageItemParam.json +0 -1
- package/src/gen/schemas/verbosityEnum.json +0 -1
- package/src/gen/types.ts +0 -2613
- package/src/gen/zod/allowedToolChoiceSchema.ts +0 -14
- package/src/gen/zod/allowedToolsParamSchema.ts +0 -14
- package/src/gen/zod/annotationSchema.ts +0 -14
- package/src/gen/zod/assistantMessageItemParamSchema.ts +0 -20
- package/src/gen/zod/createResponseBodySchema.ts +0 -45
- package/src/gen/zod/createresponseSchema.ts +0 -17
- package/src/gen/zod/detailEnumSchema.ts +0 -8
- package/src/gen/zod/developerMessageItemParamSchema.ts +0 -17
- package/src/gen/zod/emptyModelParamSchema.ts +0 -10
- package/src/gen/zod/errorPayloadSchema.ts +0 -19
- package/src/gen/zod/errorSchema.ts +0 -14
- package/src/gen/zod/errorStreamingEventSchema.ts +0 -16
- package/src/gen/zod/functionCallItemParamSchema.ts +0 -16
- package/src/gen/zod/functionCallItemStatusSchema.ts +0 -8
- package/src/gen/zod/functionCallOutputItemParamSchema.ts +0 -30
- package/src/gen/zod/functionCallOutputSchema.ts +0 -27
- package/src/gen/zod/functionCallOutputStatusEnumSchema.ts +0 -11
- package/src/gen/zod/functionCallSchema.ts +0 -19
- package/src/gen/zod/functionCallStatusSchema.ts +0 -8
- package/src/gen/zod/functionToolChoiceSchema.ts +0 -11
- package/src/gen/zod/functionToolParamSchema.ts +0 -15
- package/src/gen/zod/functionToolSchema.ts +0 -19
- package/src/gen/zod/imageDetailSchema.ts +0 -8
- package/src/gen/zod/includeEnumSchema.ts +0 -8
- package/src/gen/zod/incompleteDetailsSchema.ts +0 -13
- package/src/gen/zod/index.ts +0 -103
- package/src/gen/zod/inputFileContentParamSchema.ts +0 -16
- package/src/gen/zod/inputFileContentSchema.ts +0 -15
- package/src/gen/zod/inputImageContentParamAutoParamSchema.ts +0 -16
- package/src/gen/zod/inputImageContentSchema.ts +0 -16
- package/src/gen/zod/inputTextContentParamSchema.ts +0 -14
- package/src/gen/zod/inputTextContentSchema.ts +0 -14
- package/src/gen/zod/inputTokensDetailsSchema.ts +0 -13
- package/src/gen/zod/inputVideoContentSchema.ts +0 -14
- package/src/gen/zod/itemFieldSchema.ts +0 -23
- package/src/gen/zod/itemParamSchema.ts +0 -23
- package/src/gen/zod/itemReferenceParamSchema.ts +0 -14
- package/src/gen/zod/jsonObjectResponseFormatSchema.ts +0 -10
- package/src/gen/zod/jsonSchemaResponseFormatParamSchema.ts +0 -16
- package/src/gen/zod/jsonSchemaResponseFormatSchema.ts +0 -14
- package/src/gen/zod/logProbSchema.ts +0 -17
- package/src/gen/zod/messageRoleSchema.ts +0 -8
- package/src/gen/zod/messageSchema.ts +0 -46
- package/src/gen/zod/messageStatusSchema.ts +0 -8
- package/src/gen/zod/metadataParamSchema.ts +0 -13
- package/src/gen/zod/outputTextContentParamSchema.ts +0 -13
- package/src/gen/zod/outputTextContentSchema.ts +0 -18
- package/src/gen/zod/outputTokensDetailsSchema.ts +0 -13
- package/src/gen/zod/reasoningBodySchema.ts +0 -57
- package/src/gen/zod/reasoningEffortEnumSchema.ts +0 -8
- package/src/gen/zod/reasoningItemParamSchema.ts +0 -15
- package/src/gen/zod/reasoningParamSchema.ts +0 -16
- package/src/gen/zod/reasoningSchema.ts +0 -16
- package/src/gen/zod/reasoningSummaryContentParamSchema.ts +0 -11
- package/src/gen/zod/reasoningSummaryEnumSchema.ts +0 -8
- package/src/gen/zod/reasoningTextContentSchema.ts +0 -14
- package/src/gen/zod/refusalContentParamSchema.ts +0 -11
- package/src/gen/zod/refusalContentSchema.ts +0 -14
- package/src/gen/zod/responseCompletedStreamingEventSchema.ts +0 -16
- package/src/gen/zod/responseContentPartAddedStreamingEventSchema.ts +0 -42
- package/src/gen/zod/responseContentPartDoneStreamingEventSchema.ts +0 -42
- package/src/gen/zod/responseCreatedStreamingEventSchema.ts +0 -16
- package/src/gen/zod/responseFailedStreamingEventSchema.ts +0 -16
- package/src/gen/zod/responseFunctionCallArgumentsDeltaStreamingEventSchema.ts +0 -18
- package/src/gen/zod/responseFunctionCallArgumentsDoneStreamingEventSchema.ts +0 -17
- package/src/gen/zod/responseInProgressStreamingEventSchema.ts +0 -16
- package/src/gen/zod/responseIncompleteStreamingEventSchema.ts +0 -16
- package/src/gen/zod/responseOutputItemAddedStreamingEventSchema.ts +0 -17
- package/src/gen/zod/responseOutputItemDoneStreamingEventSchema.ts +0 -17
- package/src/gen/zod/responseOutputTextAnnotationAddedStreamingEventSchema.ts +0 -20
- package/src/gen/zod/responseOutputTextDeltaStreamingEventSchema.ts +0 -21
- package/src/gen/zod/responseOutputTextDoneStreamingEventSchema.ts +0 -20
- package/src/gen/zod/responseQueuedStreamingEventSchema.ts +0 -16
- package/src/gen/zod/responseReasoningDeltaStreamingEventSchema.ts +0 -19
- package/src/gen/zod/responseReasoningDoneStreamingEventSchema.ts +0 -18
- package/src/gen/zod/responseReasoningSummaryDeltaStreamingEventSchema.ts +0 -19
- package/src/gen/zod/responseReasoningSummaryDoneStreamingEventSchema.ts +0 -18
- package/src/gen/zod/responseReasoningSummaryPartAddedStreamingEventSchema.ts +0 -42
- package/src/gen/zod/responseReasoningSummaryPartDoneStreamingEventSchema.ts +0 -42
- package/src/gen/zod/responseRefusalDeltaStreamingEventSchema.ts +0 -18
- package/src/gen/zod/responseRefusalDoneStreamingEventSchema.ts +0 -18
- package/src/gen/zod/responseResourceSchema.ts +0 -54
- package/src/gen/zod/responsesToolParamSchema.ts +0 -11
- package/src/gen/zod/serviceTierEnumSchema.ts +0 -8
- package/src/gen/zod/specificFunctionParamSchema.ts +0 -11
- package/src/gen/zod/specificToolChoiceParamSchema.ts +0 -9
- package/src/gen/zod/streamOptionsParamSchema.ts +0 -13
- package/src/gen/zod/summaryTextContentSchema.ts +0 -14
- package/src/gen/zod/systemMessageItemParamSchema.ts +0 -17
- package/src/gen/zod/textContentSchema.ts +0 -14
- package/src/gen/zod/textFieldSchema.ts +0 -15
- package/src/gen/zod/textFormatParamSchema.ts +0 -10
- package/src/gen/zod/textParamSchema.ts +0 -13
- package/src/gen/zod/textResponseFormatSchema.ts +0 -10
- package/src/gen/zod/toolChoiceParamSchema.ts +0 -14
- package/src/gen/zod/toolChoiceValueEnumSchema.ts +0 -8
- package/src/gen/zod/toolSchema.ts +0 -14
- package/src/gen/zod/topLogProbSchema.ts +0 -15
- package/src/gen/zod/truncationEnumSchema.ts +0 -8
- package/src/gen/zod/urlCitationBodySchema.ts +0 -17
- package/src/gen/zod/urlCitationParamSchema.ts +0 -14
- package/src/gen/zod/usageSchema.ts +0 -19
- package/src/gen/zod/userMessageItemParamSchema.ts +0 -23
- package/src/gen/zod/verbosityEnumSchema.ts +0 -8
- package/src/index.ts +0 -3
- package/tsconfig.json +0 -21
package/README.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="
|
|
3
|
-
<h1>
|
|
4
|
-
<p><strong>
|
|
2
|
+
<img src="https://raw.githubusercontent.com/TEKIMAX/tekimax-ts/main/apps/docs/public/tekimax-logo.png" alt="Tekimax SDK Logo" width="200" />
|
|
3
|
+
<h1>Tekimax TS</h1>
|
|
4
|
+
<p><strong>A type-safe, framework-agnostic AI SDK for building AI-powered apps.</strong></p>
|
|
5
|
+
|
|
6
|
+
[](https://www.npmjs.com/package/tekimax-ts)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
8
|
|
|
6
|
-
[](https://www.npmjs.com/package/tekimax-ts)
|
|
7
|
-
[](https://opensource.org/licenses/MIT)
|
|
8
9
|
</div>
|
|
9
10
|
|
|
10
11
|
## 📦 Installation
|
|
@@ -15,40 +16,89 @@ npm install tekimax-ts
|
|
|
15
16
|
|
|
16
17
|
## 💻 Usage
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
### 1. Initialize the Client
|
|
20
|
+
|
|
21
|
+
The `Tekimax` client is the unified entry point. It wraps any provider (OpenAI, Anthropic, Ollama, etc.) and exposes a consistent multi-modal interface.
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { Tekimax, OpenAIProvider } from 'tekimax-ts'
|
|
25
|
+
|
|
26
|
+
const client = new Tekimax({
|
|
27
|
+
provider: new OpenAIProvider({ apiKey: process.env.OPENAI_API_KEY })
|
|
28
|
+
})
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 2. Multi-Modal Interfaces
|
|
32
|
+
|
|
33
|
+
The client is organized into cohesive namespaces:
|
|
34
|
+
|
|
35
|
+
#### Text (Chat)
|
|
19
36
|
|
|
20
37
|
```typescript
|
|
21
|
-
|
|
38
|
+
const response = await client.text.chat.completions.create({
|
|
39
|
+
model: 'gpt-4o',
|
|
40
|
+
messages: [{ role: 'user', content: 'Hello!' }]
|
|
41
|
+
})
|
|
42
|
+
console.log(response.message.content)
|
|
43
|
+
```
|
|
22
44
|
|
|
23
|
-
|
|
24
|
-
apiKey: process.env.TEKIMAX_API_KEY
|
|
25
|
-
});
|
|
45
|
+
#### Images (Generation & Vision)
|
|
26
46
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
47
|
+
```typescript
|
|
48
|
+
// Generate
|
|
49
|
+
const image = await client.images.generate({
|
|
50
|
+
model: 'dall-e-3',
|
|
51
|
+
prompt: 'A cyberpunk city',
|
|
52
|
+
size: '1024x1024'
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
// Analyze (Vision)
|
|
56
|
+
const analysis = await client.images.analyze({
|
|
57
|
+
model: 'gpt-4o',
|
|
58
|
+
image: 'https://example.com/image.png',
|
|
59
|
+
prompt: 'Describe this scene'
|
|
60
|
+
})
|
|
61
|
+
```
|
|
30
62
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
63
|
+
#### Audio (TTS)
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
const audio = await client.audio.speak({
|
|
67
|
+
model: 'tts-1',
|
|
68
|
+
input: 'Hello world',
|
|
69
|
+
voice: 'alloy'
|
|
70
|
+
})
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
#### Video (Analysis)
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
const analysis = await client.videos.analyze({
|
|
77
|
+
model: 'gemini-1.5-flash',
|
|
78
|
+
video: 'https://example.com/video.mp4',
|
|
79
|
+
prompt: 'Summarize this clip'
|
|
80
|
+
})
|
|
36
81
|
```
|
|
37
82
|
|
|
38
|
-
##
|
|
83
|
+
## 📚 Documentation
|
|
39
84
|
|
|
40
|
-
|
|
85
|
+
For full documentation, guides, and API references, visit **[docs.tekimax.com](https://docs.tekimax.com)**.
|
|
41
86
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
87
|
+
## 🧠 Motivation
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
Modern LLM systems have converged on similar primitives: messages, function calls, tool usage, and multimodal inputs but each provider encodes them differently. **Tekimax** standardizes these concepts, enabling:
|
|
91
|
+
|
|
92
|
+
- **One spec, many providers**: Describe inputs/outputs once; run on OpenAI, Anthropic, Gemini, or local models.
|
|
93
|
+
- **Composable agentic loops**: Unified streaming, tool invocation, and message orchestration.
|
|
94
|
+
- **Easier evaluation and routing**: Compare providers, route requests, and log results through a shared schema.
|
|
95
|
+
- **Blueprints for provider APIs**: Labs and model providers wanting to expose their APIs in a common format can easily do so.
|
|
46
96
|
|
|
47
97
|
## 🔑 Key Principles
|
|
48
98
|
|
|
49
99
|
### Agentic Loop
|
|
50
100
|
|
|
51
|
-
All models, to some extent, exhibit agency
|
|
101
|
+
All models, to some extent, exhibit agency: the ability to perceive input, reason, act through tools, and reflect on outcomes.
|
|
52
102
|
|
|
53
103
|
The **Tekimax Standard** at its core is designed to expose the power of this agentic loop to developers, making requests that allow the model to do multiple things and yield back a result, whether this is developer-hosted tool calls where control is yielded back to the user, or provider-hosted tools where control is held by the model provider until the model signals an exit criteria.
|
|
54
104
|
|
|
@@ -66,10 +116,47 @@ Tekimax defines a common set of items supported by a quorum of model providers,
|
|
|
66
116
|
|
|
67
117
|
Streaming is modeled as a series of semantic events, not raw text or object deltas.
|
|
68
118
|
|
|
69
|
-
Events describe meaningful transitions. They are either state transitions
|
|
119
|
+
Events describe meaningful transitions. They are either state transitions (e.g., `response.in_progress`, `response.completed`) or they can represent a delta from a previous state (e.g., `response.output_item.added`, `response.output_text.delta`).
|
|
70
120
|
|
|
71
121
|
Tekimax defines a common set of streaming events supported by a quorum of model providers, and defines how provider-specific streaming events can be defined.
|
|
72
122
|
|
|
73
123
|
### State Machines
|
|
74
124
|
|
|
75
125
|
Objects in Tekimax are state machines, that is, they can live in one of a finite number of states, such as `in_progress`, `completed`, or `failed`. The spec defines the set of valid states for each state machine in the API.
|
|
126
|
+
|
|
127
|
+
## 🛡️ Security & Trust
|
|
128
|
+
|
|
129
|
+
At **Tekimax**, we believe security is a feature, not an afterthought.
|
|
130
|
+
|
|
131
|
+
- **Zero Vulnerabilities**: We enforce a strict **Zero CVE** policy. Our SDK is audited daily.
|
|
132
|
+
- **Minimal Surface Area**: By optimizing our dependency tree, we identified and **removed 159 unnecessary packages**, drastically reducing the attack surface.
|
|
133
|
+
- **Secured by Chainguard**: Our build pipeline and artifacts rely on [Chainguard Images](https://www.chainguard.dev/chainguard-images)—hardened, minimal container images designed to secure the software supply chain. Chainguard images are stripped of shells, package managers, and other unnecessary tools that attackers often exploit.
|
|
134
|
+
|
|
135
|
+
Supply chain attacks on the Node.js/npm ecosystem are increasingly common. By building on Chainguard, we ensure that the Tekimax SDK meets the highest standards of integrity and safety for enterprise and production use.
|
|
136
|
+
|
|
137
|
+
## Get Involved
|
|
138
|
+
|
|
139
|
+
- We welcome issues and pull requests!
|
|
140
|
+
- Participate in **GitHub Discussions**.
|
|
141
|
+
- See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup instructions.
|
|
142
|
+
|
|
143
|
+
## Partners
|
|
144
|
+
|
|
145
|
+
We're looking for Tekimax Partners to join our mission! Partner with us to push the boundaries of Tekimax and build amazing things together.
|
|
146
|
+
|
|
147
|
+
[LET'S CHAT](mailto:info@tekimax.com?subject=Tekimax%20Partnership)
|
|
148
|
+
|
|
149
|
+
## Code of Conduct
|
|
150
|
+
|
|
151
|
+
## Please note that this project is released with a [Contributor Code of Conduct](./CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
|
|
152
|
+
|
|
153
|
+
<div align="center">
|
|
154
|
+
<p>
|
|
155
|
+
<strong>Secured by <a href="https://www.chainguard.dev">Chainguard</a></strong><br>
|
|
156
|
+
Zero-CVE Images for a Safe Supply Chain
|
|
157
|
+
</p>
|
|
158
|
+
<p>
|
|
159
|
+
Built on the <a href="https://openresponses.org">OpenResponses Standard</a> • Generated with <a href="https://kubb.dev">Kubb</a>
|
|
160
|
+
</p>
|
|
161
|
+
<sub>Built with ❤️ by the Tekimax Team</sub>
|
|
162
|
+
</div>
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
type MessageRole = 'system' | 'user' | 'assistant' | 'tool';
|
|
2
|
+
interface ToolCall {
|
|
3
|
+
id: string;
|
|
4
|
+
type: 'function';
|
|
5
|
+
function: {
|
|
6
|
+
name: string;
|
|
7
|
+
arguments: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
interface ToolDefinition {
|
|
11
|
+
type: 'function';
|
|
12
|
+
function: {
|
|
13
|
+
name: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
parameters?: Record<string, unknown>;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
interface Tool<T = any> extends ToolDefinition {
|
|
19
|
+
execute: (args: T) => Promise<unknown>;
|
|
20
|
+
}
|
|
21
|
+
interface GenerateTextResult {
|
|
22
|
+
text: string;
|
|
23
|
+
toolCalls: Array<ToolCall>;
|
|
24
|
+
toolResults: Array<{
|
|
25
|
+
id: string;
|
|
26
|
+
result: unknown;
|
|
27
|
+
}>;
|
|
28
|
+
finishReason: 'stop' | 'length' | 'tool_calls' | 'error' | 'unknown';
|
|
29
|
+
usage: {
|
|
30
|
+
promptTokens: number;
|
|
31
|
+
completionTokens: number;
|
|
32
|
+
totalTokens: number;
|
|
33
|
+
};
|
|
34
|
+
warnings?: Array<string>;
|
|
35
|
+
}
|
|
36
|
+
interface Message {
|
|
37
|
+
role: MessageRole;
|
|
38
|
+
content: string | null;
|
|
39
|
+
toolCalls?: Array<ToolCall>;
|
|
40
|
+
toolCallId?: string;
|
|
41
|
+
name?: string;
|
|
42
|
+
}
|
|
43
|
+
interface ChatOptions {
|
|
44
|
+
model: string;
|
|
45
|
+
messages: Array<Message>;
|
|
46
|
+
tools?: Array<ToolDefinition>;
|
|
47
|
+
temperature?: number;
|
|
48
|
+
maxTokens?: number;
|
|
49
|
+
stream?: boolean;
|
|
50
|
+
signal?: AbortSignal;
|
|
51
|
+
}
|
|
52
|
+
interface ChatResult {
|
|
53
|
+
message: Message;
|
|
54
|
+
usage?: {
|
|
55
|
+
promptTokens: number;
|
|
56
|
+
completionTokens: number;
|
|
57
|
+
totalTokens: number;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
interface StreamChunk {
|
|
61
|
+
delta: string;
|
|
62
|
+
usage?: {
|
|
63
|
+
promptTokens: number;
|
|
64
|
+
completionTokens: number;
|
|
65
|
+
totalTokens: number;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
interface TekimaxAdapter {
|
|
70
|
+
name: string;
|
|
71
|
+
/**
|
|
72
|
+
* Send a chat completion request.
|
|
73
|
+
*/
|
|
74
|
+
chat: (options: ChatOptions) => Promise<ChatResult>;
|
|
75
|
+
/**
|
|
76
|
+
* Stream a chat completion.
|
|
77
|
+
*/
|
|
78
|
+
chatStream: (options: ChatOptions) => AsyncIterable<StreamChunk>;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export type { ChatOptions as C, GenerateTextResult as G, Message as M, StreamChunk as S, TekimaxAdapter as T, ChatResult as a, Tool as b, MessageRole as c, ToolCall as d, ToolDefinition as e };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
type MessageRole = 'system' | 'user' | 'assistant' | 'tool';
|
|
2
|
+
interface ToolCall {
|
|
3
|
+
id: string;
|
|
4
|
+
type: 'function';
|
|
5
|
+
function: {
|
|
6
|
+
name: string;
|
|
7
|
+
arguments: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
interface ToolDefinition {
|
|
11
|
+
type: 'function';
|
|
12
|
+
function: {
|
|
13
|
+
name: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
parameters?: Record<string, unknown>;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
interface Tool<T = any> extends ToolDefinition {
|
|
19
|
+
execute: (args: T) => Promise<unknown>;
|
|
20
|
+
}
|
|
21
|
+
interface GenerateTextResult {
|
|
22
|
+
text: string;
|
|
23
|
+
toolCalls: Array<ToolCall>;
|
|
24
|
+
toolResults: Array<{
|
|
25
|
+
id: string;
|
|
26
|
+
result: unknown;
|
|
27
|
+
}>;
|
|
28
|
+
finishReason: 'stop' | 'length' | 'tool_calls' | 'error' | 'unknown';
|
|
29
|
+
usage: {
|
|
30
|
+
promptTokens: number;
|
|
31
|
+
completionTokens: number;
|
|
32
|
+
totalTokens: number;
|
|
33
|
+
};
|
|
34
|
+
warnings?: Array<string>;
|
|
35
|
+
}
|
|
36
|
+
interface Message {
|
|
37
|
+
role: MessageRole;
|
|
38
|
+
content: string | null;
|
|
39
|
+
toolCalls?: Array<ToolCall>;
|
|
40
|
+
toolCallId?: string;
|
|
41
|
+
name?: string;
|
|
42
|
+
}
|
|
43
|
+
interface ChatOptions {
|
|
44
|
+
model: string;
|
|
45
|
+
messages: Array<Message>;
|
|
46
|
+
tools?: Array<ToolDefinition>;
|
|
47
|
+
temperature?: number;
|
|
48
|
+
maxTokens?: number;
|
|
49
|
+
stream?: boolean;
|
|
50
|
+
signal?: AbortSignal;
|
|
51
|
+
}
|
|
52
|
+
interface ChatResult {
|
|
53
|
+
message: Message;
|
|
54
|
+
usage?: {
|
|
55
|
+
promptTokens: number;
|
|
56
|
+
completionTokens: number;
|
|
57
|
+
totalTokens: number;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
interface StreamChunk {
|
|
61
|
+
delta: string;
|
|
62
|
+
usage?: {
|
|
63
|
+
promptTokens: number;
|
|
64
|
+
completionTokens: number;
|
|
65
|
+
totalTokens: number;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
interface TekimaxAdapter {
|
|
70
|
+
name: string;
|
|
71
|
+
/**
|
|
72
|
+
* Send a chat completion request.
|
|
73
|
+
*/
|
|
74
|
+
chat: (options: ChatOptions) => Promise<ChatResult>;
|
|
75
|
+
/**
|
|
76
|
+
* Stream a chat completion.
|
|
77
|
+
*/
|
|
78
|
+
chatStream: (options: ChatOptions) => AsyncIterable<StreamChunk>;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export type { ChatOptions as C, GenerateTextResult as G, Message as M, StreamChunk as S, TekimaxAdapter as T, ChatResult as a, Tool as b, MessageRole as c, ToolCall as d, ToolDefinition as e };
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
type MessageRole = 'system' | 'user' | 'assistant' | 'tool';
|
|
2
|
+
interface ToolCall {
|
|
3
|
+
id: string;
|
|
4
|
+
type: 'function';
|
|
5
|
+
function: {
|
|
6
|
+
name: string;
|
|
7
|
+
arguments: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
interface ToolDefinition {
|
|
11
|
+
type: 'function';
|
|
12
|
+
function: {
|
|
13
|
+
name: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
parameters?: Record<string, unknown>;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
interface Tool<T = any> extends ToolDefinition {
|
|
19
|
+
execute: (args: T) => Promise<unknown>;
|
|
20
|
+
}
|
|
21
|
+
interface GenerateTextResult {
|
|
22
|
+
text: string;
|
|
23
|
+
toolCalls: Array<ToolCall>;
|
|
24
|
+
toolResults: Array<{
|
|
25
|
+
id: string;
|
|
26
|
+
result: unknown;
|
|
27
|
+
}>;
|
|
28
|
+
finishReason: 'stop' | 'length' | 'tool_calls' | 'error' | 'unknown';
|
|
29
|
+
usage: {
|
|
30
|
+
promptTokens: number;
|
|
31
|
+
completionTokens: number;
|
|
32
|
+
totalTokens: number;
|
|
33
|
+
};
|
|
34
|
+
warnings?: Array<string>;
|
|
35
|
+
}
|
|
36
|
+
interface Message {
|
|
37
|
+
role: MessageRole;
|
|
38
|
+
content: string | null;
|
|
39
|
+
toolCalls?: Array<ToolCall>;
|
|
40
|
+
toolCallId?: string;
|
|
41
|
+
name?: string;
|
|
42
|
+
}
|
|
43
|
+
interface ImageGenerationOptions {
|
|
44
|
+
prompt: string;
|
|
45
|
+
model?: string;
|
|
46
|
+
n?: number;
|
|
47
|
+
size?: string;
|
|
48
|
+
quality?: string;
|
|
49
|
+
style?: string;
|
|
50
|
+
response_format?: 'url' | 'b64_json';
|
|
51
|
+
user?: string;
|
|
52
|
+
}
|
|
53
|
+
interface ImageEditOptions extends ImageGenerationOptions {
|
|
54
|
+
image: string | Blob | Buffer;
|
|
55
|
+
mask?: string | Blob | Buffer;
|
|
56
|
+
}
|
|
57
|
+
interface ImageContent {
|
|
58
|
+
url?: string;
|
|
59
|
+
b64_json?: string;
|
|
60
|
+
revised_prompt?: string;
|
|
61
|
+
}
|
|
62
|
+
interface ImageResult {
|
|
63
|
+
created: number;
|
|
64
|
+
data: ImageContent[];
|
|
65
|
+
}
|
|
66
|
+
interface SpeechGenerationOptions {
|
|
67
|
+
input: string;
|
|
68
|
+
model?: string;
|
|
69
|
+
voice: string;
|
|
70
|
+
response_format?: 'mp3' | 'opus' | 'aac' | 'flac' | 'wav' | 'pcm';
|
|
71
|
+
speed?: number;
|
|
72
|
+
}
|
|
73
|
+
interface SpeechResult {
|
|
74
|
+
buffer: ArrayBuffer;
|
|
75
|
+
headers?: Record<string, string>;
|
|
76
|
+
}
|
|
77
|
+
interface VideoGenerationOptions {
|
|
78
|
+
prompt: string;
|
|
79
|
+
model?: string;
|
|
80
|
+
aspect_ratio?: string;
|
|
81
|
+
duration_seconds?: number;
|
|
82
|
+
}
|
|
83
|
+
interface VideoContent {
|
|
84
|
+
url?: string;
|
|
85
|
+
b64_json?: string;
|
|
86
|
+
}
|
|
87
|
+
interface VideoResult {
|
|
88
|
+
data: VideoContent[];
|
|
89
|
+
}
|
|
90
|
+
interface VideoAnalysisOptions {
|
|
91
|
+
video: string | Blob | Buffer;
|
|
92
|
+
prompt?: string;
|
|
93
|
+
model: string;
|
|
94
|
+
messages?: Array<Message>;
|
|
95
|
+
}
|
|
96
|
+
interface VideoAnalysisResult {
|
|
97
|
+
content: string;
|
|
98
|
+
usage?: {
|
|
99
|
+
inputTokens?: number;
|
|
100
|
+
outputTokens?: number;
|
|
101
|
+
totalTokens?: number;
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
interface ChatOptions {
|
|
105
|
+
model: string;
|
|
106
|
+
messages: Array<Message>;
|
|
107
|
+
tools?: Array<ToolDefinition>;
|
|
108
|
+
temperature?: number;
|
|
109
|
+
maxTokens?: number;
|
|
110
|
+
stream?: boolean;
|
|
111
|
+
signal?: AbortSignal;
|
|
112
|
+
}
|
|
113
|
+
interface ChatResult {
|
|
114
|
+
message: Message;
|
|
115
|
+
usage?: {
|
|
116
|
+
promptTokens: number;
|
|
117
|
+
completionTokens: number;
|
|
118
|
+
totalTokens: number;
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
interface StreamChunk {
|
|
122
|
+
delta: string;
|
|
123
|
+
usage?: {
|
|
124
|
+
promptTokens: number;
|
|
125
|
+
completionTokens: number;
|
|
126
|
+
totalTokens: number;
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
interface AIProvider {
|
|
131
|
+
name: string;
|
|
132
|
+
/**
|
|
133
|
+
* Send a chat completion request.
|
|
134
|
+
*/
|
|
135
|
+
chat: (options: ChatOptions) => Promise<ChatResult>;
|
|
136
|
+
/**
|
|
137
|
+
* Stream a chat completion.
|
|
138
|
+
*/
|
|
139
|
+
chatStream: (options: ChatOptions) => AsyncIterable<StreamChunk>;
|
|
140
|
+
/**
|
|
141
|
+
* Generate an image.
|
|
142
|
+
*/
|
|
143
|
+
generateImage?: (options: ImageGenerationOptions) => Promise<ImageResult>;
|
|
144
|
+
/**
|
|
145
|
+
* Edit an image.
|
|
146
|
+
*/
|
|
147
|
+
editImage?: (options: ImageEditOptions) => Promise<ImageResult>;
|
|
148
|
+
/**
|
|
149
|
+
* Generate speech from text (TTS).
|
|
150
|
+
*/
|
|
151
|
+
generateSpeech?: (options: SpeechGenerationOptions) => Promise<SpeechResult>;
|
|
152
|
+
/**
|
|
153
|
+
* Generate a video.
|
|
154
|
+
*/
|
|
155
|
+
generateVideo?: (options: VideoGenerationOptions) => Promise<VideoResult>;
|
|
156
|
+
/**
|
|
157
|
+
* Analyze a video (Video-to-Text).
|
|
158
|
+
*/
|
|
159
|
+
analyzeVideo?: (options: VideoAnalysisOptions) => Promise<VideoAnalysisResult>;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export type { AIProvider as A, ChatOptions as C, GenerateTextResult as G, ImageGenerationOptions as I, Message as M, StreamChunk as S, Tool as T, VideoGenerationOptions as V, ChatResult as a, ImageResult as b, ImageEditOptions as c, SpeechGenerationOptions as d, SpeechResult as e, VideoResult as f, VideoAnalysisOptions as g, VideoAnalysisResult as h, ImageContent as i, MessageRole as j, ToolCall as k, ToolDefinition as l, VideoContent as m };
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
type MessageRole = 'system' | 'user' | 'assistant' | 'tool';
|
|
2
|
+
interface ToolCall {
|
|
3
|
+
id: string;
|
|
4
|
+
type: 'function';
|
|
5
|
+
function: {
|
|
6
|
+
name: string;
|
|
7
|
+
arguments: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
interface ToolDefinition {
|
|
11
|
+
type: 'function';
|
|
12
|
+
function: {
|
|
13
|
+
name: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
parameters?: Record<string, unknown>;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
interface Tool<T = any> extends ToolDefinition {
|
|
19
|
+
execute: (args: T) => Promise<unknown>;
|
|
20
|
+
}
|
|
21
|
+
interface GenerateTextResult {
|
|
22
|
+
text: string;
|
|
23
|
+
toolCalls: Array<ToolCall>;
|
|
24
|
+
toolResults: Array<{
|
|
25
|
+
id: string;
|
|
26
|
+
result: unknown;
|
|
27
|
+
}>;
|
|
28
|
+
finishReason: 'stop' | 'length' | 'tool_calls' | 'error' | 'unknown';
|
|
29
|
+
usage: {
|
|
30
|
+
promptTokens: number;
|
|
31
|
+
completionTokens: number;
|
|
32
|
+
totalTokens: number;
|
|
33
|
+
};
|
|
34
|
+
warnings?: Array<string>;
|
|
35
|
+
}
|
|
36
|
+
interface Message {
|
|
37
|
+
role: MessageRole;
|
|
38
|
+
content: string | null;
|
|
39
|
+
toolCalls?: Array<ToolCall>;
|
|
40
|
+
toolCallId?: string;
|
|
41
|
+
name?: string;
|
|
42
|
+
}
|
|
43
|
+
interface ImageGenerationOptions {
|
|
44
|
+
prompt: string;
|
|
45
|
+
model?: string;
|
|
46
|
+
n?: number;
|
|
47
|
+
size?: string;
|
|
48
|
+
quality?: string;
|
|
49
|
+
style?: string;
|
|
50
|
+
response_format?: 'url' | 'b64_json';
|
|
51
|
+
user?: string;
|
|
52
|
+
}
|
|
53
|
+
interface ImageEditOptions extends ImageGenerationOptions {
|
|
54
|
+
image: string | Blob | Buffer;
|
|
55
|
+
mask?: string | Blob | Buffer;
|
|
56
|
+
}
|
|
57
|
+
interface ImageContent {
|
|
58
|
+
url?: string;
|
|
59
|
+
b64_json?: string;
|
|
60
|
+
revised_prompt?: string;
|
|
61
|
+
}
|
|
62
|
+
interface ImageResult {
|
|
63
|
+
created: number;
|
|
64
|
+
data: ImageContent[];
|
|
65
|
+
}
|
|
66
|
+
interface SpeechGenerationOptions {
|
|
67
|
+
input: string;
|
|
68
|
+
model?: string;
|
|
69
|
+
voice: string;
|
|
70
|
+
response_format?: 'mp3' | 'opus' | 'aac' | 'flac' | 'wav' | 'pcm';
|
|
71
|
+
speed?: number;
|
|
72
|
+
}
|
|
73
|
+
interface SpeechResult {
|
|
74
|
+
buffer: ArrayBuffer;
|
|
75
|
+
headers?: Record<string, string>;
|
|
76
|
+
}
|
|
77
|
+
interface VideoGenerationOptions {
|
|
78
|
+
prompt: string;
|
|
79
|
+
model?: string;
|
|
80
|
+
aspect_ratio?: string;
|
|
81
|
+
duration_seconds?: number;
|
|
82
|
+
}
|
|
83
|
+
interface VideoContent {
|
|
84
|
+
url?: string;
|
|
85
|
+
b64_json?: string;
|
|
86
|
+
}
|
|
87
|
+
interface VideoResult {
|
|
88
|
+
data: VideoContent[];
|
|
89
|
+
}
|
|
90
|
+
interface VideoAnalysisOptions {
|
|
91
|
+
video: string | Blob | Buffer;
|
|
92
|
+
prompt?: string;
|
|
93
|
+
model: string;
|
|
94
|
+
messages?: Array<Message>;
|
|
95
|
+
}
|
|
96
|
+
interface VideoAnalysisResult {
|
|
97
|
+
content: string;
|
|
98
|
+
usage?: {
|
|
99
|
+
inputTokens?: number;
|
|
100
|
+
outputTokens?: number;
|
|
101
|
+
totalTokens?: number;
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
interface ChatOptions {
|
|
105
|
+
model: string;
|
|
106
|
+
messages: Array<Message>;
|
|
107
|
+
tools?: Array<ToolDefinition>;
|
|
108
|
+
temperature?: number;
|
|
109
|
+
maxTokens?: number;
|
|
110
|
+
stream?: boolean;
|
|
111
|
+
signal?: AbortSignal;
|
|
112
|
+
}
|
|
113
|
+
interface ChatResult {
|
|
114
|
+
message: Message;
|
|
115
|
+
usage?: {
|
|
116
|
+
promptTokens: number;
|
|
117
|
+
completionTokens: number;
|
|
118
|
+
totalTokens: number;
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
interface StreamChunk {
|
|
122
|
+
delta: string;
|
|
123
|
+
usage?: {
|
|
124
|
+
promptTokens: number;
|
|
125
|
+
completionTokens: number;
|
|
126
|
+
totalTokens: number;
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
interface AIProvider {
|
|
131
|
+
name: string;
|
|
132
|
+
/**
|
|
133
|
+
* Send a chat completion request.
|
|
134
|
+
*/
|
|
135
|
+
chat: (options: ChatOptions) => Promise<ChatResult>;
|
|
136
|
+
/**
|
|
137
|
+
* Stream a chat completion.
|
|
138
|
+
*/
|
|
139
|
+
chatStream: (options: ChatOptions) => AsyncIterable<StreamChunk>;
|
|
140
|
+
/**
|
|
141
|
+
* Generate an image.
|
|
142
|
+
*/
|
|
143
|
+
generateImage?: (options: ImageGenerationOptions) => Promise<ImageResult>;
|
|
144
|
+
/**
|
|
145
|
+
* Edit an image.
|
|
146
|
+
*/
|
|
147
|
+
editImage?: (options: ImageEditOptions) => Promise<ImageResult>;
|
|
148
|
+
/**
|
|
149
|
+
* Generate speech from text (TTS).
|
|
150
|
+
*/
|
|
151
|
+
generateSpeech?: (options: SpeechGenerationOptions) => Promise<SpeechResult>;
|
|
152
|
+
/**
|
|
153
|
+
* Generate a video.
|
|
154
|
+
*/
|
|
155
|
+
generateVideo?: (options: VideoGenerationOptions) => Promise<VideoResult>;
|
|
156
|
+
/**
|
|
157
|
+
* Analyze a video (Video-to-Text).
|
|
158
|
+
*/
|
|
159
|
+
analyzeVideo?: (options: VideoAnalysisOptions) => Promise<VideoAnalysisResult>;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export type { AIProvider as A, ChatOptions as C, GenerateTextResult as G, ImageGenerationOptions as I, Message as M, StreamChunk as S, Tool as T, VideoGenerationOptions as V, ChatResult as a, ImageResult as b, ImageEditOptions as c, SpeechGenerationOptions as d, SpeechResult as e, VideoResult as f, VideoAnalysisOptions as g, VideoAnalysisResult as h, ImageContent as i, MessageRole as j, ToolCall as k, ToolDefinition as l, VideoContent as m };
|