@openrouter/sdk 0.9.11 → 0.11.2
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/FUNCTIONS.md +3 -2
- package/_speakeasy/.github/action-inputs-config.json +4 -0
- package/esm/funcs/analyticsGetUserActivity.js +2 -1
- package/esm/funcs/apiKeysCreate.js +2 -1
- package/esm/funcs/apiKeysDelete.js +2 -1
- package/esm/funcs/apiKeysGet.js +2 -1
- package/esm/funcs/apiKeysGetCurrentKeyMetadata.js +2 -1
- package/esm/funcs/apiKeysList.js +2 -1
- package/esm/funcs/apiKeysUpdate.js +2 -1
- package/esm/funcs/betaResponsesSend.d.ts +4 -4
- package/esm/funcs/betaResponsesSend.js +4 -5
- package/esm/funcs/call-model.d.ts +20 -71
- package/esm/funcs/call-model.js +30 -72
- package/esm/funcs/chatSend.d.ts +4 -4
- package/esm/funcs/chatSend.js +4 -5
- package/esm/funcs/creditsCreateCoinbaseCharge.js +2 -1
- package/esm/funcs/creditsGetCredits.js +2 -1
- package/esm/funcs/embeddingsGenerate.js +2 -1
- package/esm/funcs/embeddingsListModels.js +2 -1
- package/esm/funcs/endpointsList.js +2 -1
- package/esm/funcs/endpointsListZdrEndpoints.js +2 -1
- package/esm/funcs/generationsGetGeneration.js +2 -1
- package/esm/funcs/guardrailsBulkAssignKeys.js +2 -1
- package/esm/funcs/guardrailsBulkAssignMembers.js +2 -1
- package/esm/funcs/guardrailsBulkUnassignKeys.js +2 -1
- package/esm/funcs/guardrailsBulkUnassignMembers.js +2 -1
- package/esm/funcs/guardrailsCreate.js +2 -1
- package/esm/funcs/guardrailsDelete.js +2 -1
- package/esm/funcs/guardrailsGet.js +2 -1
- package/esm/funcs/guardrailsList.js +2 -1
- package/esm/funcs/guardrailsListGuardrailKeyAssignments.js +2 -1
- package/esm/funcs/guardrailsListGuardrailMemberAssignments.js +2 -1
- package/esm/funcs/guardrailsListKeyAssignments.js +2 -1
- package/esm/funcs/guardrailsListMemberAssignments.js +2 -1
- package/esm/funcs/guardrailsUpdate.js +2 -1
- package/esm/funcs/modelsCount.d.ts +1 -1
- package/esm/funcs/modelsCount.js +9 -4
- package/esm/funcs/modelsList.js +3 -1
- package/esm/funcs/modelsListForUser.js +2 -1
- package/esm/funcs/oAuthCreateAuthCode.d.ts +1 -1
- package/esm/funcs/oAuthCreateAuthCode.js +4 -3
- package/esm/funcs/oAuthExchangeAuthCodeForAPIKey.js +2 -1
- package/esm/funcs/providersList.js +2 -1
- package/esm/index.d.ts +5 -23
- package/esm/index.js +5 -25
- package/esm/lib/anthropic-compat.d.ts +3 -2
- package/esm/lib/anthropic-compat.js +10 -11
- package/esm/lib/anthropic-compat.test.js +2 -1
- package/esm/lib/async-params.d.ts +21 -7
- package/esm/lib/async-params.js +5 -1
- package/esm/lib/chat-compat.d.ts +2 -2
- package/esm/lib/chat-compat.js +9 -10
- package/esm/lib/chat-compat.test.js +3 -2
- package/esm/lib/claude-type-guards.d.ts +2 -2
- package/esm/lib/config.d.ts +9 -11
- package/esm/lib/config.js +3 -3
- package/esm/lib/conversation-state.d.ts +4 -4
- package/esm/lib/conversation-state.js +35 -32
- package/esm/lib/encodings.js +20 -5
- package/esm/lib/env.d.ts +6 -2
- package/esm/lib/env.js +7 -3
- package/esm/lib/event-streams.d.ts +11 -4
- package/esm/lib/event-streams.js +44 -22
- package/esm/lib/files.d.ts +13 -0
- package/esm/lib/files.js +18 -0
- package/esm/lib/matchers.js +0 -1
- package/esm/lib/model-result.d.ts +79 -28
- package/esm/lib/model-result.js +386 -167
- package/esm/lib/next-turn-params.d.ts +4 -4
- package/esm/lib/next-turn-params.js +1 -1
- package/esm/lib/sdks.d.ts +1 -1
- package/esm/lib/sdks.js +18 -34
- package/esm/lib/security.d.ts +1 -1
- package/esm/lib/security.js +20 -10
- package/esm/lib/stream-transformers.d.ts +45 -21
- package/esm/lib/stream-transformers.js +33 -38
- package/esm/lib/stream-type-guards.d.ts +15 -15
- package/esm/lib/stream-type-guards.js +8 -32
- package/esm/lib/tool-context.d.ts +68 -0
- package/esm/lib/tool-context.js +175 -0
- package/esm/lib/tool-executor.d.ts +9 -5
- package/esm/lib/tool-executor.js +26 -16
- package/esm/lib/tool-orchestrator.d.ts +4 -4
- package/esm/lib/tool-orchestrator.js +1 -1
- package/esm/lib/tool-types.d.ts +123 -22
- package/esm/lib/tool-types.js +23 -0
- package/esm/lib/tool.d.ts +49 -60
- package/esm/lib/tool.js +15 -19
- package/esm/lib/turn-context.d.ts +3 -3
- package/esm/lib/turn-context.js +1 -1
- package/esm/lib/url.js +4 -2
- package/esm/models/annotationaddedevent.d.ts +20 -0
- package/esm/models/annotationaddedevent.js +30 -0
- package/esm/models/applypatchservertool.d.ts +20 -0
- package/esm/models/applypatchservertool.js +21 -0
- package/esm/models/baseinputsunion.d.ts +185 -0
- package/esm/models/baseinputsunion.js +274 -0
- package/esm/models/basereasoningconfig.d.ts +13 -0
- package/esm/models/basereasoningconfig.js +17 -0
- package/esm/models/chatassistantimages.d.ts +33 -0
- package/esm/models/chatassistantimages.js +44 -0
- package/esm/models/chatassistantmessage.d.ts +86 -0
- package/esm/models/chatassistantmessage.js +70 -0
- package/esm/models/chataudiooutput.d.ts +38 -0
- package/esm/models/chataudiooutput.js +36 -0
- package/esm/models/chatchoice.d.ts +27 -0
- package/esm/models/chatchoice.js +25 -0
- package/esm/models/chatcontentaudio.d.ts +52 -0
- package/esm/models/chatcontentaudio.js +55 -0
- package/esm/models/chatcontentcachecontrol.d.ts +40 -0
- package/esm/models/chatcontentcachecontrol.js +39 -0
- package/esm/models/chatcontentfile.d.ts +57 -0
- package/esm/models/chatcontentfile.js +59 -0
- package/esm/models/chatcontentimage.d.ts +68 -0
- package/esm/models/chatcontentimage.js +68 -0
- package/esm/models/chatcontentitems.d.ts +31 -0
- package/esm/models/chatcontentitems.js +57 -0
- package/esm/models/chatcontenttext.d.ts +37 -0
- package/esm/models/chatcontenttext.js +42 -0
- package/esm/models/chatcontentvideo.d.ts +26 -0
- package/esm/models/chatcontentvideo.js +33 -0
- package/esm/models/chatcontentvideoinput.d.ts +23 -0
- package/esm/models/chatcontentvideoinput.js +21 -0
- package/esm/models/{debugoptions.d.ts → chatdebugoptions.d.ts} +5 -5
- package/esm/models/{debugoptions.js → chatdebugoptions.js} +5 -5
- package/esm/models/chatdevelopermessage.d.ts +35 -0
- package/esm/models/chatdevelopermessage.js +21 -0
- package/esm/models/chatfinishreasonenum.d.ts +13 -0
- package/esm/models/{chatcompletionfinishreason.js → chatfinishreasonenum.js} +4 -4
- package/esm/models/chatformatgrammarconfig.d.ts +20 -0
- package/esm/models/chatformatgrammarconfig.js +14 -0
- package/esm/models/chatformatjsonschemaconfig.d.ts +21 -0
- package/esm/models/chatformatjsonschemaconfig.js +20 -0
- package/esm/models/chatformatpythonconfig.d.ts +15 -0
- package/esm/models/chatformatpythonconfig.js +13 -0
- package/esm/models/chatformattextconfig.d.ts +15 -0
- package/esm/models/chatformattextconfig.js +13 -0
- package/esm/models/chatfunctiontool.d.ts +77 -0
- package/esm/models/chatfunctiontool.js +49 -0
- package/esm/models/{jsonschemaconfig.d.ts → chatjsonschemaconfig.d.ts} +5 -5
- package/esm/models/{jsonschemaconfig.js → chatjsonschemaconfig.js} +5 -5
- package/esm/models/chatmessages.d.ts +20 -0
- package/esm/models/chatmessages.js +22 -0
- package/esm/models/chatnamedtoolchoice.d.ts +37 -0
- package/esm/models/chatnamedtoolchoice.js +26 -0
- package/esm/models/chatreasoningsummaryverbosityenum.d.ts +11 -0
- package/esm/models/chatreasoningsummaryverbosityenum.js +13 -0
- package/esm/models/{chatgenerationparams.d.ts → chatrequest.d.ts} +213 -120
- package/esm/models/chatrequest.js +426 -0
- package/esm/models/chatresult.d.ts +50 -0
- package/esm/models/chatresult.js +35 -0
- package/esm/models/chatstreamchoice.d.ts +27 -0
- package/esm/models/chatstreamchoice.js +24 -0
- package/esm/models/{chatstreamingresponsechunk.d.ts → chatstreamchunk.d.ts} +17 -13
- package/esm/models/chatstreamchunk.js +43 -0
- package/esm/models/{chatstreamingmessagechunk.d.ts → chatstreamdelta.d.ts} +12 -10
- package/esm/models/chatstreamdelta.js +37 -0
- package/esm/models/chatstreamtoolcall.d.ts +57 -0
- package/esm/models/chatstreamtoolcall.js +33 -0
- package/esm/models/chatsystemmessage.d.ts +35 -0
- package/esm/models/chatsystemmessage.js +21 -0
- package/esm/models/chattokenlogprob.d.ts +36 -0
- package/esm/models/chattokenlogprob.js +31 -0
- package/esm/models/chattokenlogprobs.d.ts +21 -0
- package/esm/models/chattokenlogprobs.js +16 -0
- package/esm/models/chattoolcall.d.ts +57 -0
- package/esm/models/chattoolcall.js +49 -0
- package/esm/models/chattoolchoice.d.ts +31 -0
- package/esm/models/chattoolchoice.js +32 -0
- package/esm/models/chattoolmessage.d.ts +35 -0
- package/esm/models/chattoolmessage.js +26 -0
- package/esm/models/{chatgenerationtokenusage.d.ts → chatusage.d.ts} +4 -4
- package/esm/models/{chatgenerationtokenusage.js → chatusage.js} +5 -5
- package/esm/models/chatusermessage.d.ts +35 -0
- package/esm/models/chatusermessage.js +21 -0
- package/esm/models/chatwebsearchservertool.d.ts +124 -0
- package/esm/models/chatwebsearchservertool.js +84 -0
- package/esm/models/chatwebsearchshorthand.d.ts +219 -0
- package/esm/models/chatwebsearchshorthand.js +141 -0
- package/esm/models/codeinterpreterservertool.d.ts +68 -0
- package/esm/models/codeinterpreterservertool.js +85 -0
- package/esm/models/codexlocalshelltool.d.ts +20 -0
- package/esm/models/codexlocalshelltool.js +21 -0
- package/esm/models/compoundfilter.d.ts +36 -0
- package/esm/models/compoundfilter.js +32 -0
- package/esm/models/computeruseservertool.d.ts +39 -0
- package/esm/models/computeruseservertool.js +50 -0
- package/esm/models/conflictresponseerrordata.d.ts +17 -0
- package/esm/models/conflictresponseerrordata.js +16 -0
- package/esm/models/contentpartaddedevent.d.ts +29 -0
- package/esm/models/contentpartaddedevent.js +43 -0
- package/esm/models/contentpartdoneevent.d.ts +29 -0
- package/esm/models/contentpartdoneevent.js +43 -0
- package/esm/models/contextcompressionengine.d.ts +15 -0
- package/esm/models/contextcompressionengine.js +14 -0
- package/esm/models/customtool.d.ts +75 -0
- package/esm/models/customtool.js +96 -0
- package/esm/models/datetimeservertool.d.ts +37 -0
- package/esm/models/datetimeservertool.js +27 -0
- package/esm/models/defaultparameters.d.ts +3 -0
- package/esm/models/defaultparameters.js +6 -0
- package/esm/models/easyinputmessage.d.ts +120 -0
- package/esm/models/easyinputmessage.js +141 -0
- package/esm/models/{openresponseserrorevent.d.ts → errorevent.d.ts} +4 -4
- package/esm/models/{openresponseserrorevent.js → errorevent.js} +6 -5
- package/esm/models/errors/conflictresponseerror.d.ts +33 -0
- package/esm/models/errors/conflictresponseerror.js +42 -0
- package/esm/models/errors/index.d.ts +1 -0
- package/esm/models/errors/index.js +1 -0
- package/esm/models/filesearchservertool.d.ts +111 -0
- package/esm/models/filesearchservertool.js +180 -0
- package/esm/models/formatjsonobjectconfig.d.ts +20 -0
- package/esm/models/formatjsonobjectconfig.js +21 -0
- package/esm/models/formatjsonschemaconfig.d.ts +32 -0
- package/esm/models/formatjsonschemaconfig.js +29 -0
- package/esm/models/formats.d.ts +19 -0
- package/esm/models/formats.js +29 -0
- package/esm/models/formattextconfig.d.ts +20 -0
- package/esm/models/formattextconfig.js +21 -0
- package/esm/models/functioncallargsdeltaevent.d.ts +17 -0
- package/esm/models/functioncallargsdeltaevent.js +25 -0
- package/esm/models/functioncallargsdoneevent.d.ts +18 -0
- package/esm/models/functioncallargsdoneevent.js +26 -0
- package/esm/models/functioncallitem.d.ts +33 -0
- package/esm/models/functioncallitem.js +29 -0
- package/esm/models/functioncalloutputitem.d.ts +70 -0
- package/esm/models/functioncalloutputitem.js +79 -0
- package/esm/models/imagegencallcompletedevent.d.ts +16 -0
- package/esm/models/{openresponsesimagegencallcompleted.js → imagegencallcompletedevent.js} +5 -5
- package/esm/models/imagegencallgeneratingevent.d.ts +16 -0
- package/esm/models/{openresponsesimagegencallgenerating.js → imagegencallgeneratingevent.js} +5 -5
- package/esm/models/imagegencallinprogressevent.d.ts +16 -0
- package/esm/models/{openresponsesimagegencallinprogress.js → imagegencallinprogressevent.js} +5 -5
- package/esm/models/{openresponsesimagegencallpartialimage.d.ts → imagegencallpartialimageevent.d.ts} +4 -4
- package/esm/models/{openresponsesimagegencallpartialimage.js → imagegencallpartialimageevent.js} +5 -5
- package/esm/models/imagegenerationservertool.d.ts +125 -0
- package/esm/models/imagegenerationservertool.js +153 -0
- package/esm/models/{openairesponsesincompletedetails.d.ts → incompletedetails.d.ts} +4 -4
- package/esm/models/{openairesponsesincompletedetails.js → incompletedetails.js} +5 -5
- package/esm/models/index.d.ts +126 -95
- package/esm/models/index.js +126 -95
- package/esm/models/inputaudio.d.ts +47 -0
- package/esm/models/inputaudio.js +58 -0
- package/esm/models/{responseinputfile.d.ts → inputfile.d.ts} +7 -7
- package/esm/models/{responseinputfile.js → inputfile.js} +8 -8
- package/esm/models/inputimage.d.ts +43 -0
- package/esm/models/inputimage.js +52 -0
- package/esm/models/inputmessageitem.d.ts +84 -0
- package/esm/models/inputmessageitem.js +92 -0
- package/esm/models/inputsunion.d.ts +208 -0
- package/esm/models/inputsunion.js +228 -0
- package/esm/models/inputtext.d.ts +22 -0
- package/esm/models/inputtext.js +23 -0
- package/esm/models/inputvideo.d.ts +20 -0
- package/esm/models/{responseinputvideo.js → inputvideo.js} +5 -5
- package/esm/models/legacychatcontentvideo.d.ts +28 -0
- package/esm/models/legacychatcontentvideo.js +33 -0
- package/esm/models/legacywebsearchservertool.d.ts +78 -0
- package/esm/models/legacywebsearchservertool.js +87 -0
- package/esm/models/mcpservertool.d.ts +128 -0
- package/esm/models/mcpservertool.js +174 -0
- package/esm/models/model.d.ts +4 -0
- package/esm/models/model.js +2 -0
- package/esm/models/openairesponsestruncation.d.ts +1 -1
- package/esm/models/openairesponsestruncation.js +1 -1
- package/esm/models/openresponsesresult.d.ts +110 -0
- package/esm/models/openresponsesresult.js +142 -0
- package/esm/models/operations/bulkassignkeystoguardrail.d.ts +16 -3
- package/esm/models/operations/bulkassignkeystoguardrail.js +2 -2
- package/esm/models/operations/bulkassignmemberstoguardrail.d.ts +16 -3
- package/esm/models/operations/bulkassignmemberstoguardrail.js +2 -2
- package/esm/models/operations/bulkunassignkeysfromguardrail.d.ts +16 -3
- package/esm/models/operations/bulkunassignkeysfromguardrail.js +2 -2
- package/esm/models/operations/bulkunassignmembersfromguardrail.d.ts +16 -3
- package/esm/models/operations/bulkunassignmembersfromguardrail.js +2 -2
- package/esm/models/operations/createauthkeyscode.d.ts +16 -3
- package/esm/models/operations/createauthkeyscode.js +2 -2
- package/esm/models/operations/createcoinbasecharge.d.ts +16 -3
- package/esm/models/operations/createcoinbasecharge.js +2 -2
- package/esm/models/operations/createembeddings.d.ts +16 -3
- package/esm/models/operations/createembeddings.js +2 -2
- package/esm/models/operations/createguardrail.d.ts +25 -3
- package/esm/models/operations/createguardrail.js +6 -2
- package/esm/models/operations/createkeys.d.ts +20 -3
- package/esm/models/operations/createkeys.js +4 -2
- package/esm/models/operations/createresponses.d.ts +20 -7
- package/esm/models/operations/createresponses.js +8 -7
- package/esm/models/operations/deleteguardrail.d.ts +16 -3
- package/esm/models/operations/deleteguardrail.js +2 -2
- package/esm/models/operations/deletekeys.d.ts +16 -3
- package/esm/models/operations/deletekeys.js +2 -2
- package/esm/models/operations/exchangeauthcodeforapikey.d.ts +16 -3
- package/esm/models/operations/exchangeauthcodeforapikey.js +2 -2
- package/esm/models/operations/getcredits.d.ts +16 -3
- package/esm/models/operations/getcredits.js +2 -2
- package/esm/models/operations/getcurrentkey.d.ts +20 -3
- package/esm/models/operations/getcurrentkey.js +4 -2
- package/esm/models/operations/getgeneration.d.ts +27 -3
- package/esm/models/operations/getgeneration.js +9 -2
- package/esm/models/operations/getguardrail.d.ts +20 -3
- package/esm/models/operations/getguardrail.js +4 -2
- package/esm/models/operations/getkey.d.ts +20 -3
- package/esm/models/operations/getkey.js +4 -2
- package/esm/models/operations/getmodels.d.ts +21 -3
- package/esm/models/operations/getmodels.js +4 -2
- package/esm/models/operations/getuseractivity.d.ts +16 -3
- package/esm/models/operations/getuseractivity.js +2 -2
- package/esm/models/operations/list.d.ts +20 -3
- package/esm/models/operations/list.js +4 -2
- package/esm/models/operations/listembeddingsmodels.d.ts +16 -3
- package/esm/models/operations/listembeddingsmodels.js +2 -2
- package/esm/models/operations/listendpoints.d.ts +16 -3
- package/esm/models/operations/listendpoints.js +2 -2
- package/esm/models/operations/listendpointszdr.d.ts +16 -3
- package/esm/models/operations/listendpointszdr.js +2 -2
- package/esm/models/operations/listguardrailkeyassignments.d.ts +16 -3
- package/esm/models/operations/listguardrailkeyassignments.js +2 -2
- package/esm/models/operations/listguardrailmemberassignments.d.ts +16 -3
- package/esm/models/operations/listguardrailmemberassignments.js +2 -2
- package/esm/models/operations/listguardrails.d.ts +20 -3
- package/esm/models/operations/listguardrails.js +4 -2
- package/esm/models/operations/listkeyassignments.d.ts +16 -3
- package/esm/models/operations/listkeyassignments.js +2 -2
- package/esm/models/operations/listmemberassignments.d.ts +16 -3
- package/esm/models/operations/listmemberassignments.js +2 -2
- package/esm/models/operations/listmodelscount.d.ts +21 -3
- package/esm/models/operations/listmodelscount.js +4 -2
- package/esm/models/operations/listmodelsuser.d.ts +16 -3
- package/esm/models/operations/listmodelsuser.js +2 -2
- package/esm/models/operations/listproviders.d.ts +539 -3
- package/esm/models/operations/listproviders.js +514 -2
- package/esm/models/operations/sendchatcompletionrequest.d.ts +20 -7
- package/esm/models/operations/sendchatcompletionrequest.js +8 -7
- package/esm/models/operations/updateguardrail.d.ts +25 -3
- package/esm/models/operations/updateguardrail.js +6 -2
- package/esm/models/operations/updatekeys.d.ts +20 -3
- package/esm/models/operations/updatekeys.js +4 -2
- package/esm/models/outputdatetimeitem.d.ts +44 -0
- package/esm/models/outputdatetimeitem.js +30 -0
- package/esm/models/outputfilesearchcallitem.d.ts +33 -0
- package/esm/models/outputfilesearchcallitem.js +35 -0
- package/esm/models/outputfunctioncallitem.d.ts +69 -0
- package/esm/models/outputfunctioncallitem.js +94 -0
- package/esm/models/outputimagegenerationcallitem.d.ts +33 -0
- package/esm/models/outputimagegenerationcallitem.js +35 -0
- package/esm/models/outputitems.d.ts +18 -0
- package/esm/models/outputitems.js +28 -0
- package/esm/models/outputmessage.d.ts +23 -0
- package/esm/models/outputmessage.js +24 -0
- package/esm/models/outputmessageitem.d.ts +81 -0
- package/esm/models/outputmessageitem.js +93 -0
- package/esm/models/outputmodality.d.ts +1 -0
- package/esm/models/outputmodality.js +1 -0
- package/esm/models/outputmodalityenum.d.ts +10 -0
- package/esm/models/outputmodalityenum.js +12 -0
- package/esm/models/outputreasoningitem.d.ts +74 -0
- package/esm/models/outputreasoningitem.js +75 -0
- package/esm/models/outputservertoolitem.d.ts +42 -0
- package/esm/models/outputservertoolitem.js +44 -0
- package/esm/models/outputwebsearchcallitem.d.ts +116 -0
- package/esm/models/outputwebsearchcallitem.js +141 -0
- package/esm/models/pdfparserengine.d.ts +18 -9
- package/esm/models/pdfparserengine.js +17 -6
- package/esm/models/pdfparseroptions.d.ts +3 -3
- package/esm/models/preview20250311websearchservertool.d.ts +75 -0
- package/esm/models/preview20250311websearchservertool.js +89 -0
- package/esm/models/previewwebsearchservertool.d.ts +75 -0
- package/esm/models/previewwebsearchservertool.js +89 -0
- package/esm/models/previewwebsearchuserlocation.d.ts +34 -0
- package/esm/models/previewwebsearchuserlocation.js +36 -0
- package/esm/models/providername.d.ts +2 -0
- package/esm/models/providername.js +2 -0
- package/esm/models/providerpreferences.d.ts +7 -0
- package/esm/models/providerpreferences.js +4 -0
- package/esm/models/providersort.d.ts +1 -0
- package/esm/models/providersort.js +1 -0
- package/esm/models/providersortconfig.d.ts +1 -0
- package/esm/models/providersortconfig.js +1 -0
- package/esm/models/reasoningconfig.d.ts +23 -0
- package/esm/models/reasoningconfig.js +23 -0
- package/esm/models/{openresponsesreasoningdeltaevent.d.ts → reasoningdeltaevent.d.ts} +4 -4
- package/esm/models/{openresponsesreasoningdeltaevent.js → reasoningdeltaevent.js} +5 -5
- package/esm/models/{openresponsesreasoningdoneevent.d.ts → reasoningdoneevent.d.ts} +4 -4
- package/esm/models/{openresponsesreasoningdoneevent.js → reasoningdoneevent.js} +5 -5
- package/esm/models/reasoningeffortenum.d.ts +16 -0
- package/esm/models/reasoningeffortenum.js +18 -0
- package/esm/models/reasoningitem.d.ts +73 -0
- package/esm/models/reasoningitem.js +71 -0
- package/esm/models/{openresponsesreasoningsummarypartaddedevent.d.ts → reasoningsummarypartaddedevent.d.ts} +4 -4
- package/esm/models/{openresponsesreasoningsummarypartaddedevent.js → reasoningsummarypartaddedevent.js} +5 -5
- package/esm/models/reasoningsummarypartdoneevent.d.ts +19 -0
- package/esm/models/reasoningsummarypartdoneevent.js +28 -0
- package/esm/models/reasoningsummarytextdeltaevent.d.ts +18 -0
- package/esm/models/{openresponsesreasoningsummarytextdeltaevent.js → reasoningsummarytextdeltaevent.js} +5 -5
- package/esm/models/reasoningsummarytextdoneevent.d.ts +18 -0
- package/esm/models/{openresponsesreasoningsummarytextdoneevent.js → reasoningsummarytextdoneevent.js} +5 -5
- package/esm/models/reasoningsummaryverbosityenum.d.ts +13 -0
- package/esm/models/reasoningsummaryverbosityenum.js +15 -0
- package/esm/models/refusaldeltaevent.d.ts +18 -0
- package/esm/models/refusaldeltaevent.js +27 -0
- package/esm/models/refusaldoneevent.d.ts +18 -0
- package/esm/models/refusaldoneevent.js +27 -0
- package/esm/models/{openairesponsesincludable.d.ts → responseincludesenum.d.ts} +4 -4
- package/esm/models/{openairesponsesincludable.js → responseincludesenum.js} +4 -4
- package/esm/models/responseoutputtext.d.ts +8 -8
- package/esm/models/responseoutputtext.js +10 -9
- package/esm/models/responsesrequest.d.ts +499 -0
- package/esm/models/responsesrequest.js +347 -0
- package/esm/models/searchcontextsizeenum.d.ts +19 -0
- package/esm/models/searchcontextsizeenum.js +18 -0
- package/esm/models/shellservertool.d.ts +20 -0
- package/esm/models/shellservertool.js +21 -0
- package/esm/models/storedprompttemplate.d.ts +35 -0
- package/esm/models/storedprompttemplate.js +56 -0
- package/esm/models/streamevents.d.ts +136 -0
- package/esm/models/streamevents.js +165 -0
- package/esm/models/textconfig.d.ts +27 -0
- package/esm/models/textconfig.js +25 -0
- package/esm/models/textdeltaevent.d.ts +42 -0
- package/esm/models/textdeltaevent.js +52 -0
- package/esm/models/textdoneevent.d.ts +42 -0
- package/esm/models/textdoneevent.js +53 -0
- package/esm/models/textextendedconfig.d.ts +30 -0
- package/esm/models/textextendedconfig.js +23 -0
- package/esm/models/toolcallstatusenum.d.ts +13 -0
- package/esm/models/toolcallstatusenum.js +15 -0
- package/esm/models/truncationenum.d.ts +10 -0
- package/esm/models/truncationenum.js +12 -0
- package/esm/models/{openresponsesusage.d.ts → usage.d.ts} +4 -4
- package/esm/models/{openresponsesusage.js → usage.js} +5 -5
- package/esm/models/websearchcallcompletedevent.d.ts +16 -0
- package/esm/models/websearchcallcompletedevent.js +24 -0
- package/esm/models/websearchcallinprogressevent.d.ts +16 -0
- package/esm/models/websearchcallinprogressevent.js +24 -0
- package/esm/models/websearchcallsearchingevent.d.ts +16 -0
- package/esm/models/websearchcallsearchingevent.js +24 -0
- package/esm/models/websearchengine.d.ts +2 -0
- package/esm/models/websearchengine.js +2 -0
- package/esm/models/websearchservertool.d.ts +78 -0
- package/esm/models/websearchservertool.js +89 -0
- package/esm/models/websearchservertoolopenrouter.d.ts +35 -0
- package/esm/models/websearchservertoolopenrouter.js +28 -0
- package/esm/models/websearchuserlocation.d.ts +37 -0
- package/esm/models/websearchuserlocation.js +36 -0
- package/esm/sdk/chat.d.ts +4 -4
- package/esm/sdk/responses.d.ts +4 -4
- package/esm/sdk/sdk.d.ts +4 -1
- package/esm/sdk/sdk.js +0 -1
- package/esm/types/index.d.ts +0 -2
- package/esm/types/index.js +0 -1
- package/jsr.json +1 -1
- package/package.json +11 -11
- package/tsconfig.json +3 -1
- package/turbo.json +10 -0
- package/esm/models/assistantmessage.d.ts +0 -80
- package/esm/models/assistantmessage.js +0 -83
- package/esm/models/assistantmessageimages.d.ts +0 -33
- package/esm/models/assistantmessageimages.js +0 -44
- package/esm/models/chatcompletionfinishreason.d.ts +0 -13
- package/esm/models/chatgenerationparams.js +0 -371
- package/esm/models/chatmessagecontentitem.d.ts +0 -30
- package/esm/models/chatmessagecontentitem.js +0 -54
- package/esm/models/chatmessagecontentitemaudio.d.ts +0 -52
- package/esm/models/chatmessagecontentitemaudio.js +0 -55
- package/esm/models/chatmessagecontentitemcachecontrol.d.ts +0 -40
- package/esm/models/chatmessagecontentitemcachecontrol.js +0 -41
- package/esm/models/chatmessagecontentitemimage.d.ts +0 -68
- package/esm/models/chatmessagecontentitemimage.js +0 -68
- package/esm/models/chatmessagecontentitemtext.d.ts +0 -37
- package/esm/models/chatmessagecontentitemtext.js +0 -42
- package/esm/models/chatmessagecontentitemvideo.d.ts +0 -26
- package/esm/models/chatmessagecontentitemvideo.js +0 -33
- package/esm/models/chatmessagecontentitemvideolegacy.d.ts +0 -28
- package/esm/models/chatmessagecontentitemvideolegacy.js +0 -33
- package/esm/models/chatmessagetokenlogprob.d.ts +0 -36
- package/esm/models/chatmessagetokenlogprob.js +0 -31
- package/esm/models/chatmessagetokenlogprobs.d.ts +0 -21
- package/esm/models/chatmessagetokenlogprobs.js +0 -16
- package/esm/models/chatmessagetoolcall.d.ts +0 -57
- package/esm/models/chatmessagetoolcall.js +0 -48
- package/esm/models/chatresponse.d.ts +0 -46
- package/esm/models/chatresponse.js +0 -33
- package/esm/models/chatresponsechoice.d.ts +0 -27
- package/esm/models/chatresponsechoice.js +0 -24
- package/esm/models/chatstreamingchoice.d.ts +0 -27
- package/esm/models/chatstreamingchoice.js +0 -24
- package/esm/models/chatstreamingmessagechunk.js +0 -35
- package/esm/models/chatstreamingmessagetoolcall.d.ts +0 -57
- package/esm/models/chatstreamingmessagetoolcall.js +0 -34
- package/esm/models/chatstreamingresponsechunk.js +0 -41
- package/esm/models/developermessage.d.ts +0 -35
- package/esm/models/developermessage.js +0 -24
- package/esm/models/message.d.ts +0 -20
- package/esm/models/message.js +0 -23
- package/esm/models/namedtoolchoice.d.ts +0 -37
- package/esm/models/namedtoolchoice.js +0 -26
- package/esm/models/openairesponsesinputunion.d.ts +0 -154
- package/esm/models/openairesponsesinputunion.js +0 -222
- package/esm/models/openairesponsesprompt.d.ts +0 -35
- package/esm/models/openairesponsesprompt.js +0 -56
- package/esm/models/openairesponsesreasoningconfig.d.ts +0 -13
- package/esm/models/openairesponsesreasoningconfig.js +0 -17
- package/esm/models/openairesponsesreasoningeffort.d.ts +0 -16
- package/esm/models/openairesponsesreasoningeffort.js +0 -18
- package/esm/models/openairesponsesservicetier.d.ts +0 -13
- package/esm/models/openairesponsesservicetier.js +0 -15
- package/esm/models/openresponseseasyinputmessage.d.ts +0 -94
- package/esm/models/openresponseseasyinputmessage.js +0 -115
- package/esm/models/openresponsesfunctioncalloutput.d.ts +0 -31
- package/esm/models/openresponsesfunctioncalloutput.js +0 -28
- package/esm/models/openresponsesfunctiontoolcall.d.ts +0 -33
- package/esm/models/openresponsesfunctiontoolcall.js +0 -29
- package/esm/models/openresponsesimagegencallcompleted.d.ts +0 -16
- package/esm/models/openresponsesimagegencallgenerating.d.ts +0 -16
- package/esm/models/openresponsesimagegencallinprogress.d.ts +0 -16
- package/esm/models/openresponsesinput.d.ts +0 -28
- package/esm/models/openresponsesinput.js +0 -54
- package/esm/models/openresponsesinputmessageitem.d.ts +0 -84
- package/esm/models/openresponsesinputmessageitem.js +0 -92
- package/esm/models/openresponseslogprobs.d.ts +0 -16
- package/esm/models/openresponseslogprobs.js +0 -22
- package/esm/models/openresponsesnonstreamingresponse.d.ts +0 -102
- package/esm/models/openresponsesnonstreamingresponse.js +0 -117
- package/esm/models/openresponsesreasoning.d.ts +0 -73
- package/esm/models/openresponsesreasoning.js +0 -71
- package/esm/models/openresponsesreasoningconfig.d.ts +0 -23
- package/esm/models/openresponsesreasoningconfig.js +0 -23
- package/esm/models/openresponsesreasoningsummarytextdeltaevent.d.ts +0 -18
- package/esm/models/openresponsesreasoningsummarytextdoneevent.d.ts +0 -18
- package/esm/models/openresponsesrequest.d.ts +0 -451
- package/esm/models/openresponsesrequest.js +0 -300
- package/esm/models/openresponsesresponsetext.d.ts +0 -30
- package/esm/models/openresponsesresponsetext.js +0 -24
- package/esm/models/openresponsesstreamevent.d.ts +0 -287
- package/esm/models/openresponsesstreamevent.js +0 -379
- package/esm/models/openresponsestoplogprobs.d.ts +0 -14
- package/esm/models/openresponsestoplogprobs.js +0 -15
- package/esm/models/openresponseswebsearch20250826tool.d.ts +0 -47
- package/esm/models/openresponseswebsearch20250826tool.js +0 -64
- package/esm/models/openresponseswebsearchpreview20250311tool.d.ts +0 -29
- package/esm/models/openresponseswebsearchpreview20250311tool.js +0 -40
- package/esm/models/openresponseswebsearchpreviewtool.d.ts +0 -29
- package/esm/models/openresponseswebsearchpreviewtool.js +0 -40
- package/esm/models/openresponseswebsearchtool.d.ts +0 -47
- package/esm/models/openresponseswebsearchtool.js +0 -64
- package/esm/models/reasoningsummaryverbosity.d.ts +0 -13
- package/esm/models/reasoningsummaryverbosity.js +0 -15
- package/esm/models/responseformatjsonobject.d.ts +0 -20
- package/esm/models/responseformatjsonobject.js +0 -21
- package/esm/models/responseformatjsonschema.d.ts +0 -21
- package/esm/models/responseformatjsonschema.js +0 -20
- package/esm/models/responseformattext.d.ts +0 -15
- package/esm/models/responseformattext.js +0 -13
- package/esm/models/responseformattextconfig.d.ts +0 -19
- package/esm/models/responseformattextconfig.js +0 -28
- package/esm/models/responseformattextgrammar.d.ts +0 -20
- package/esm/models/responseformattextgrammar.js +0 -14
- package/esm/models/responseformattextpython.d.ts +0 -15
- package/esm/models/responseformattextpython.js +0 -13
- package/esm/models/responseinputaudio.d.ts +0 -47
- package/esm/models/responseinputaudio.js +0 -57
- package/esm/models/responseinputimage.d.ts +0 -43
- package/esm/models/responseinputimage.js +0 -51
- package/esm/models/responseinputtext.d.ts +0 -22
- package/esm/models/responseinputtext.js +0 -23
- package/esm/models/responseinputvideo.d.ts +0 -20
- package/esm/models/responsesformattext.d.ts +0 -20
- package/esm/models/responsesformattext.js +0 -21
- package/esm/models/responsesformattextjsonschemaconfig.d.ts +0 -32
- package/esm/models/responsesformattextjsonschemaconfig.js +0 -29
- package/esm/models/responsesimagegenerationcall.d.ts +0 -33
- package/esm/models/responsesimagegenerationcall.js +0 -35
- package/esm/models/responsesoutputitem.d.ts +0 -29
- package/esm/models/responsesoutputitem.js +0 -25
- package/esm/models/responsesoutputitemfilesearchcall.d.ts +0 -33
- package/esm/models/responsesoutputitemfilesearchcall.js +0 -35
- package/esm/models/responsesoutputitemfunctioncall.d.ts +0 -69
- package/esm/models/responsesoutputitemfunctioncall.js +0 -94
- package/esm/models/responsesoutputitemreasoning.d.ts +0 -103
- package/esm/models/responsesoutputitemreasoning.js +0 -118
- package/esm/models/responsesoutputmessage.d.ts +0 -89
- package/esm/models/responsesoutputmessage.js +0 -114
- package/esm/models/responsesoutputmodality.d.ts +0 -10
- package/esm/models/responsesoutputmodality.js +0 -12
- package/esm/models/responsessearchcontextsize.d.ts +0 -19
- package/esm/models/responsessearchcontextsize.js +0 -18
- package/esm/models/responseswebsearchcalloutput.d.ts +0 -31
- package/esm/models/responseswebsearchcalloutput.js +0 -33
- package/esm/models/responseswebsearchuserlocation.d.ts +0 -37
- package/esm/models/responseswebsearchuserlocation.js +0 -36
- package/esm/models/responsetextconfig.d.ts +0 -27
- package/esm/models/responsetextconfig.js +0 -24
- package/esm/models/systemmessage.d.ts +0 -35
- package/esm/models/systemmessage.js +0 -24
- package/esm/models/toolcallstatus.d.ts +0 -13
- package/esm/models/toolcallstatus.js +0 -15
- package/esm/models/toolchoiceoption.d.ts +0 -31
- package/esm/models/toolchoiceoption.js +0 -32
- package/esm/models/tooldefinitionjson.d.ts +0 -68
- package/esm/models/tooldefinitionjson.js +0 -36
- package/esm/models/toolresponsemessage.d.ts +0 -35
- package/esm/models/toolresponsemessage.js +0 -29
- package/esm/models/usermessage.d.ts +0 -35
- package/esm/models/usermessage.js +0 -24
- package/esm/models/videoinput.d.ts +0 -23
- package/esm/models/videoinput.js +0 -22
- package/esm/models/websearchpreviewtooluserlocation.d.ts +0 -34
- package/esm/models/websearchpreviewtooluserlocation.js +0 -36
package/esm/lib/tool-types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { $ZodObject, $ZodShape, $ZodType, infer as zodInfer } from 'zod/v4/core';
|
|
2
2
|
import type * as models from '../models/index.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { StreamEvents } from '../models/index.js';
|
|
4
4
|
import type { ModelResult } from './model-result.js';
|
|
5
5
|
/**
|
|
6
6
|
* Tool type enum for enhanced tools
|
|
@@ -14,12 +14,68 @@ export declare enum ToolType {
|
|
|
14
14
|
*/
|
|
15
15
|
export interface TurnContext {
|
|
16
16
|
/** The specific tool call being executed (only available during tool execution) */
|
|
17
|
-
toolCall?: models.
|
|
17
|
+
toolCall?: models.FunctionCallItem;
|
|
18
18
|
/** Number of tool execution turns so far (1-indexed: first turn = 1, 0 = initial request) */
|
|
19
19
|
numberOfTurns: number;
|
|
20
20
|
/** The full request being sent to the API (only available during tool execution) */
|
|
21
|
-
turnRequest?: models.
|
|
21
|
+
turnRequest?: models.ResponsesRequest;
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Extract context schema type from a tool definition
|
|
25
|
+
* Returns the inferred type of the tool's contextSchema, or empty object if none
|
|
26
|
+
*/
|
|
27
|
+
export type InferToolContext<T> = T extends {
|
|
28
|
+
function: {
|
|
29
|
+
contextSchema: infer S;
|
|
30
|
+
};
|
|
31
|
+
} ? S extends $ZodType ? zodInfer<S> : Record<string, never> : Record<string, never>;
|
|
32
|
+
/**
|
|
33
|
+
* Extract tool name from a tool definition
|
|
34
|
+
*/
|
|
35
|
+
type InferToolName<T> = T extends {
|
|
36
|
+
function: {
|
|
37
|
+
name: infer N extends string;
|
|
38
|
+
};
|
|
39
|
+
} ? N : string;
|
|
40
|
+
/**
|
|
41
|
+
* Flat execute context passed as the second argument to tool execute functions.
|
|
42
|
+
* Merges TurnContext fields with a `local` getter (own tool context) and `setContext()`.
|
|
43
|
+
*
|
|
44
|
+
* @template TName - The tool's literal name string
|
|
45
|
+
* @template TContext - The shape of the tool's contextSchema
|
|
46
|
+
* @template TShared - The shape of the sharedContextSchema
|
|
47
|
+
*/
|
|
48
|
+
export type ToolExecuteContext<TName extends string = string, TContext extends Record<string, unknown> = Record<string, unknown>, TShared extends Record<string, unknown> = Record<string, unknown>> = TurnContext & {
|
|
49
|
+
/** The tool's name (type-level only, for generic inference) */
|
|
50
|
+
readonly _toolName?: TName;
|
|
51
|
+
/** This tool's own context (reads from the store, frozen snapshot) */
|
|
52
|
+
local: Readonly<TContext>;
|
|
53
|
+
/** Mutate this tool's context in the shared store (persists across turns) */
|
|
54
|
+
setContext(partial: Partial<TContext>): void;
|
|
55
|
+
/** Shared context visible to all tools */
|
|
56
|
+
shared: Readonly<TShared>;
|
|
57
|
+
/** Mutate the shared context in the store (persists across turns) */
|
|
58
|
+
setSharedContext(partial: Partial<TShared>): void;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Context map keyed by tool name for callModel's `context` option.
|
|
62
|
+
* Each key is a tool's name, each value is that tool's inferred context type.
|
|
63
|
+
*/
|
|
64
|
+
export type ToolContextMap<T extends readonly Tool[]> = {
|
|
65
|
+
[K in T[number] as InferToolName<K>]: InferToolContext<K>;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Context map with an optional `shared` key for shared context.
|
|
69
|
+
* When TShared is provided (non-empty), a `shared` key is added to the map.
|
|
70
|
+
*/
|
|
71
|
+
export type ToolContextMapWithShared<T extends readonly Tool[], TShared extends Record<string, unknown> = Record<string, never>> = ToolContextMap<T> & (TShared extends Record<string, never> ? {} : {
|
|
72
|
+
shared: TShared;
|
|
73
|
+
});
|
|
74
|
+
/**
|
|
75
|
+
* Reserved key in the context store for shared context data.
|
|
76
|
+
* The tool name 'shared' is forbidden — it's reserved for this purpose.
|
|
77
|
+
*/
|
|
78
|
+
export declare const SHARED_CONTEXT_KEY: "shared";
|
|
23
79
|
/**
|
|
24
80
|
* Context passed to nextTurnParams functions
|
|
25
81
|
* Contains current request state for parameter computation
|
|
@@ -27,7 +83,7 @@ export interface TurnContext {
|
|
|
27
83
|
*/
|
|
28
84
|
export type NextTurnParamsContext = {
|
|
29
85
|
/** Current input (messages) */
|
|
30
|
-
input: models.
|
|
86
|
+
input: models.InputsUnion;
|
|
31
87
|
/** Current model selection */
|
|
32
88
|
model: string;
|
|
33
89
|
/** Current models array */
|
|
@@ -64,6 +120,8 @@ export interface BaseToolFunction<TInput extends $ZodObject<$ZodShape>> {
|
|
|
64
120
|
name: string;
|
|
65
121
|
description?: string;
|
|
66
122
|
inputSchema: TInput;
|
|
123
|
+
/** Zod schema declaring the context data this tool needs */
|
|
124
|
+
contextSchema?: $ZodObject<$ZodShape>;
|
|
67
125
|
nextTurnParams?: NextTurnParamsFunctions<zodInfer<TInput>>;
|
|
68
126
|
/**
|
|
69
127
|
* Whether this tool requires human approval before execution
|
|
@@ -73,10 +131,12 @@ export interface BaseToolFunction<TInput extends $ZodObject<$ZodShape>> {
|
|
|
73
131
|
}
|
|
74
132
|
/**
|
|
75
133
|
* Regular tool with synchronous or asynchronous execute function and optional outputSchema
|
|
134
|
+
* @template TContext - Shape of the tool's context (inferred from contextSchema)
|
|
135
|
+
* @template TName - The tool's literal name string
|
|
76
136
|
*/
|
|
77
|
-
export interface ToolFunctionWithExecute<TInput extends $ZodObject<$ZodShape>, TOutput extends $ZodType = $ZodType<unknown
|
|
137
|
+
export interface ToolFunctionWithExecute<TInput extends $ZodObject<$ZodShape>, TOutput extends $ZodType = $ZodType<unknown>, TContext extends Record<string, unknown> = Record<string, unknown>, TName extends string = string> extends BaseToolFunction<TInput> {
|
|
78
138
|
outputSchema?: TOutput;
|
|
79
|
-
execute: (params: zodInfer<TInput>, context?:
|
|
139
|
+
execute: (params: zodInfer<TInput>, context?: ToolExecuteContext<TName, TContext>) => Promise<zodInfer<TOutput>> | zodInfer<TOutput>;
|
|
80
140
|
}
|
|
81
141
|
/**
|
|
82
142
|
* Generator-based tool with async generator execute function
|
|
@@ -100,10 +160,10 @@ export interface ToolFunctionWithExecute<TInput extends $ZodObject<$ZodShape>, T
|
|
|
100
160
|
* }
|
|
101
161
|
* ```
|
|
102
162
|
*/
|
|
103
|
-
export interface ToolFunctionWithGenerator<TInput extends $ZodObject<$ZodShape>, TEvent extends $ZodType = $ZodType<unknown>, TOutput extends $ZodType = $ZodType<unknown
|
|
163
|
+
export interface ToolFunctionWithGenerator<TInput extends $ZodObject<$ZodShape>, TEvent extends $ZodType = $ZodType<unknown>, TOutput extends $ZodType = $ZodType<unknown>, TContext extends Record<string, unknown> = Record<string, unknown>, TName extends string = string> extends BaseToolFunction<TInput> {
|
|
104
164
|
eventSchema: TEvent;
|
|
105
165
|
outputSchema: TOutput;
|
|
106
|
-
execute: (params: zodInfer<TInput>, context?:
|
|
166
|
+
execute: (params: zodInfer<TInput>, context?: ToolExecuteContext<TName, TContext>) => AsyncGenerator<zodInfer<TEvent> | zodInfer<TOutput>, zodInfer<TOutput> | void>;
|
|
107
167
|
}
|
|
108
168
|
/**
|
|
109
169
|
* Manual tool without execute function - requires manual handling by developer
|
|
@@ -114,16 +174,16 @@ export interface ManualToolFunction<TInput extends $ZodObject<$ZodShape>, TOutpu
|
|
|
114
174
|
/**
|
|
115
175
|
* Tool with execute function (regular or generator)
|
|
116
176
|
*/
|
|
117
|
-
export type ToolWithExecute<TInput extends $ZodObject<$ZodShape> = $ZodObject<$ZodShape>, TOutput extends $ZodType = $ZodType<unknown>> = {
|
|
177
|
+
export type ToolWithExecute<TInput extends $ZodObject<$ZodShape> = $ZodObject<$ZodShape>, TOutput extends $ZodType = $ZodType<unknown>, TContext extends Record<string, unknown> = Record<string, unknown>> = {
|
|
118
178
|
type: ToolType.Function;
|
|
119
|
-
function: ToolFunctionWithExecute<TInput, TOutput>;
|
|
179
|
+
function: ToolFunctionWithExecute<TInput, TOutput, TContext>;
|
|
120
180
|
};
|
|
121
181
|
/**
|
|
122
182
|
* Tool with generator execute function
|
|
123
183
|
*/
|
|
124
|
-
export type ToolWithGenerator<TInput extends $ZodObject<$ZodShape> = $ZodObject<$ZodShape>, TEvent extends $ZodType = $ZodType<unknown>, TOutput extends $ZodType = $ZodType<unknown>> = {
|
|
184
|
+
export type ToolWithGenerator<TInput extends $ZodObject<$ZodShape> = $ZodObject<$ZodShape>, TEvent extends $ZodType = $ZodType<unknown>, TOutput extends $ZodType = $ZodType<unknown>, TContext extends Record<string, unknown> = Record<string, unknown>> = {
|
|
125
185
|
type: ToolType.Function;
|
|
126
|
-
function: ToolFunctionWithGenerator<TInput, TEvent, TOutput>;
|
|
186
|
+
function: ToolFunctionWithGenerator<TInput, TEvent, TOutput, TContext>;
|
|
127
187
|
};
|
|
128
188
|
/**
|
|
129
189
|
* Tool without execute function (manual handling)
|
|
@@ -235,8 +295,8 @@ export interface ParsedToolCall<T extends Tool> {
|
|
|
235
295
|
export interface ToolExecutionResult<T extends Tool> {
|
|
236
296
|
toolCallId: string;
|
|
237
297
|
toolName: string;
|
|
238
|
-
result: T extends ToolWithExecute
|
|
239
|
-
preliminaryResults?: T extends ToolWithGenerator
|
|
298
|
+
result: T extends ToolWithExecute<$ZodObject<$ZodShape>, infer O> | ToolWithGenerator<$ZodObject<$ZodShape>, $ZodType<unknown>, infer O> ? zodInfer<O> : unknown;
|
|
299
|
+
preliminaryResults?: T extends ToolWithGenerator<$ZodObject<$ZodShape>, infer E> ? zodInfer<E>[] : undefined;
|
|
240
300
|
error?: Error;
|
|
241
301
|
}
|
|
242
302
|
/**
|
|
@@ -255,8 +315,8 @@ export interface StepResult<TTools extends readonly Tool[] = readonly Tool[]> {
|
|
|
255
315
|
readonly text: string;
|
|
256
316
|
readonly toolCalls: TypedToolCallUnion<TTools>[];
|
|
257
317
|
readonly toolResults: ToolExecutionResultUnion<TTools>[];
|
|
258
|
-
readonly response: models.
|
|
259
|
-
readonly usage?: models.
|
|
318
|
+
readonly response: models.OpenResponsesResult;
|
|
319
|
+
readonly usage?: models.Usage | null | undefined;
|
|
260
320
|
readonly finishReason?: string | undefined;
|
|
261
321
|
readonly warnings?: Warning[] | undefined;
|
|
262
322
|
readonly experimental_providerMetadata?: Record<string, unknown> | undefined;
|
|
@@ -287,7 +347,7 @@ export interface ExecuteToolsResult<TTools extends readonly Tool[]> {
|
|
|
287
347
|
}
|
|
288
348
|
/**
|
|
289
349
|
* Standard tool format for OpenRouter API (JSON Schema based)
|
|
290
|
-
* Matches
|
|
350
|
+
* Matches ResponsesRequestToolFunction structure
|
|
291
351
|
*/
|
|
292
352
|
export interface APITool {
|
|
293
353
|
type: 'function';
|
|
@@ -321,13 +381,41 @@ export type ToolResultEvent<TResult = unknown, TPreliminaryResults = unknown> =
|
|
|
321
381
|
timestamp: number;
|
|
322
382
|
preliminaryResults?: TPreliminaryResults[];
|
|
323
383
|
};
|
|
384
|
+
/**
|
|
385
|
+
* Tool call output event carrying the fully-formed FunctionCallOutputItem.
|
|
386
|
+
* Broadcast by executeToolRound so passive consumers (getItemsStream) can yield
|
|
387
|
+
* tool results in real-time without owning tool execution.
|
|
388
|
+
*/
|
|
389
|
+
export type ToolCallOutputEvent = {
|
|
390
|
+
type: 'tool.call_output';
|
|
391
|
+
output: models.FunctionCallOutputItem;
|
|
392
|
+
timestamp: number;
|
|
393
|
+
};
|
|
394
|
+
/**
|
|
395
|
+
* Turn start event emitted at the beginning of each API turn
|
|
396
|
+
* Turn 0 is the initial request, subsequent turns follow tool execution
|
|
397
|
+
*/
|
|
398
|
+
export type TurnStartEvent = {
|
|
399
|
+
type: 'turn.start';
|
|
400
|
+
turnNumber: number;
|
|
401
|
+
timestamp: number;
|
|
402
|
+
};
|
|
403
|
+
/**
|
|
404
|
+
* Turn end event emitted at the end of each API turn
|
|
405
|
+
*/
|
|
406
|
+
export type TurnEndEvent = {
|
|
407
|
+
type: 'turn.end';
|
|
408
|
+
turnNumber: number;
|
|
409
|
+
timestamp: number;
|
|
410
|
+
};
|
|
324
411
|
/**
|
|
325
412
|
* Enhanced stream event types for getFullResponsesStream
|
|
326
|
-
* Extends
|
|
413
|
+
* Extends StreamEvents with tool preliminary results, tool results,
|
|
414
|
+
* and turn delimiter events for multi-turn streaming
|
|
327
415
|
* @template TEvent - The event type from generator tools
|
|
328
416
|
* @template TResult - The result type from tool execution
|
|
329
417
|
*/
|
|
330
|
-
export type ResponseStreamEvent<TEvent = unknown, TResult = unknown> =
|
|
418
|
+
export type ResponseStreamEvent<TEvent = unknown, TResult = unknown> = StreamEvents | ToolPreliminaryResultEvent<TEvent> | ToolResultEvent<TResult, TEvent> | ToolCallOutputEvent | TurnStartEvent | TurnEndEvent;
|
|
331
419
|
/**
|
|
332
420
|
* Type guard to check if an event is a tool preliminary result event
|
|
333
421
|
*/
|
|
@@ -336,6 +424,18 @@ export declare function isToolPreliminaryResultEvent<TEvent = unknown>(event: Re
|
|
|
336
424
|
* Type guard to check if an event is a tool result event
|
|
337
425
|
*/
|
|
338
426
|
export declare function isToolResultEvent<TResult = unknown, TPreliminaryResults = unknown>(event: ResponseStreamEvent<TPreliminaryResults, TResult>): event is ToolResultEvent<TResult, TPreliminaryResults>;
|
|
427
|
+
/**
|
|
428
|
+
* Type guard to check if an event is a tool call output event
|
|
429
|
+
*/
|
|
430
|
+
export declare function isToolCallOutputEvent(event: ResponseStreamEvent): event is ToolCallOutputEvent;
|
|
431
|
+
/**
|
|
432
|
+
* Type guard to check if an event is a turn start event
|
|
433
|
+
*/
|
|
434
|
+
export declare function isTurnStartEvent(event: ResponseStreamEvent): event is TurnStartEvent;
|
|
435
|
+
/**
|
|
436
|
+
* Type guard to check if an event is a turn end event
|
|
437
|
+
*/
|
|
438
|
+
export declare function isTurnEndEvent(event: ResponseStreamEvent): event is TurnEndEvent;
|
|
339
439
|
/**
|
|
340
440
|
* Tool stream event types for getToolStream
|
|
341
441
|
* Includes both argument deltas and preliminary results
|
|
@@ -359,14 +459,14 @@ export type ChatStreamEvent<TEvent = unknown> = {
|
|
|
359
459
|
delta: string;
|
|
360
460
|
} | {
|
|
361
461
|
type: 'message.complete';
|
|
362
|
-
response: models.
|
|
462
|
+
response: models.OpenResponsesResult;
|
|
363
463
|
} | {
|
|
364
464
|
type: 'tool.preliminary_result';
|
|
365
465
|
toolCallId: string;
|
|
366
466
|
result: TEvent;
|
|
367
467
|
} | {
|
|
368
468
|
type: string;
|
|
369
|
-
event:
|
|
469
|
+
event: StreamEvents;
|
|
370
470
|
};
|
|
371
471
|
/**
|
|
372
472
|
* Result of a tool execution that hasn't been sent to the model yet
|
|
@@ -405,7 +505,7 @@ export interface ConversationState<TTools extends readonly Tool[] = readonly Too
|
|
|
405
505
|
/** Unique identifier for this conversation */
|
|
406
506
|
id: string;
|
|
407
507
|
/** Full message history */
|
|
408
|
-
messages: models.
|
|
508
|
+
messages: models.InputsUnion;
|
|
409
509
|
/** Previous response ID for chaining (OpenRouter server-side optimization) */
|
|
410
510
|
previousResponseId?: string;
|
|
411
511
|
/** Tool calls awaiting human approval */
|
|
@@ -465,4 +565,5 @@ export declare function toolHasApprovalConfigured(tool: Tool): boolean;
|
|
|
465
565
|
* Type guard to check if any tools in array have approval configured at runtime
|
|
466
566
|
*/
|
|
467
567
|
export declare function hasApprovalRequiredTools(tools: readonly Tool[]): boolean;
|
|
568
|
+
export {};
|
|
468
569
|
//# sourceMappingURL=tool-types.d.ts.map
|
package/esm/lib/tool-types.js
CHANGED
|
@@ -5,6 +5,11 @@ export var ToolType;
|
|
|
5
5
|
(function (ToolType) {
|
|
6
6
|
ToolType["Function"] = "function";
|
|
7
7
|
})(ToolType || (ToolType = {}));
|
|
8
|
+
/**
|
|
9
|
+
* Reserved key in the context store for shared context data.
|
|
10
|
+
* The tool name 'shared' is forbidden — it's reserved for this purpose.
|
|
11
|
+
*/
|
|
12
|
+
export const SHARED_CONTEXT_KEY = 'shared';
|
|
8
13
|
/**
|
|
9
14
|
* Type guard to check if a tool has an execute function
|
|
10
15
|
*/
|
|
@@ -41,6 +46,24 @@ export function isToolPreliminaryResultEvent(event) {
|
|
|
41
46
|
export function isToolResultEvent(event) {
|
|
42
47
|
return event.type === 'tool.result';
|
|
43
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Type guard to check if an event is a tool call output event
|
|
51
|
+
*/
|
|
52
|
+
export function isToolCallOutputEvent(event) {
|
|
53
|
+
return event.type === 'tool.call_output';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Type guard to check if an event is a turn start event
|
|
57
|
+
*/
|
|
58
|
+
export function isTurnStartEvent(event) {
|
|
59
|
+
return event.type === 'turn.start';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Type guard to check if an event is a turn end event
|
|
63
|
+
*/
|
|
64
|
+
export function isTurnEndEvent(event) {
|
|
65
|
+
return event.type === 'turn.end';
|
|
66
|
+
}
|
|
44
67
|
/**
|
|
45
68
|
* Type guard to check if a tool has approval configured at runtime
|
|
46
69
|
*/
|
package/esm/lib/tool.d.ts
CHANGED
|
@@ -1,55 +1,49 @@
|
|
|
1
1
|
import type { $ZodObject, $ZodShape, $ZodType, infer as zodInfer } from 'zod/v4/core';
|
|
2
|
-
import { type
|
|
2
|
+
import { type Tool, type ToolExecuteContext, type ToolWithExecute, type ToolWithGenerator, type ManualTool, type NextTurnParamsFunctions, type ToolApprovalCheck } from "./tool-types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Configuration for a regular tool with outputSchema
|
|
5
5
|
*/
|
|
6
|
-
type RegularToolConfigWithOutput<TInput extends $ZodObject<$ZodShape>, TOutput extends $ZodType> = {
|
|
7
|
-
name:
|
|
6
|
+
type RegularToolConfigWithOutput<TInput extends $ZodObject<$ZodShape>, TOutput extends $ZodType, TContext extends Record<string, unknown> = Record<string, unknown>, TName extends string = string> = {
|
|
7
|
+
name: TName;
|
|
8
8
|
description?: string;
|
|
9
9
|
inputSchema: TInput;
|
|
10
10
|
outputSchema: TOutput;
|
|
11
11
|
eventSchema?: undefined;
|
|
12
|
+
/** Zod schema declaring the context data this tool needs */
|
|
13
|
+
contextSchema?: $ZodObject<$ZodShape>;
|
|
12
14
|
nextTurnParams?: NextTurnParamsFunctions<zodInfer<TInput>>;
|
|
13
|
-
/**
|
|
14
|
-
* Whether this tool requires human approval before execution
|
|
15
|
-
* Can be a boolean or an async function that receives the tool's input params and context
|
|
16
|
-
*/
|
|
17
15
|
requireApproval?: boolean | ToolApprovalCheck<zodInfer<TInput>>;
|
|
18
|
-
execute: (params: zodInfer<TInput>, context?:
|
|
16
|
+
execute: (params: zodInfer<TInput>, context?: ToolExecuteContext<TName, TContext>) => Promise<zodInfer<TOutput>> | zodInfer<TOutput>;
|
|
19
17
|
};
|
|
20
18
|
/**
|
|
21
19
|
* Configuration for a regular tool without outputSchema (infers return type from execute)
|
|
22
20
|
*/
|
|
23
|
-
type RegularToolConfigWithoutOutput<TInput extends $ZodObject<$ZodShape>, TReturn> = {
|
|
24
|
-
name:
|
|
21
|
+
type RegularToolConfigWithoutOutput<TInput extends $ZodObject<$ZodShape>, TReturn, TContext extends Record<string, unknown> = Record<string, unknown>, TName extends string = string> = {
|
|
22
|
+
name: TName;
|
|
25
23
|
description?: string;
|
|
26
24
|
inputSchema: TInput;
|
|
27
25
|
outputSchema?: undefined;
|
|
28
26
|
eventSchema?: undefined;
|
|
27
|
+
/** Zod schema declaring the context data this tool needs */
|
|
28
|
+
contextSchema?: $ZodObject<$ZodShape>;
|
|
29
29
|
nextTurnParams?: NextTurnParamsFunctions<zodInfer<TInput>>;
|
|
30
|
-
/**
|
|
31
|
-
* Whether this tool requires human approval before execution
|
|
32
|
-
* Can be a boolean or an async function that receives the tool's input params and context
|
|
33
|
-
*/
|
|
34
30
|
requireApproval?: boolean | ToolApprovalCheck<zodInfer<TInput>>;
|
|
35
|
-
execute: (params: zodInfer<TInput>, context?:
|
|
31
|
+
execute: (params: zodInfer<TInput>, context?: ToolExecuteContext<TName, TContext>) => Promise<TReturn> | TReturn;
|
|
36
32
|
};
|
|
37
33
|
/**
|
|
38
34
|
* Configuration for a generator tool (with eventSchema)
|
|
39
35
|
*/
|
|
40
|
-
type GeneratorToolConfig<TInput extends $ZodObject<$ZodShape>, TEvent extends $ZodType, TOutput extends $ZodType> = {
|
|
41
|
-
name:
|
|
36
|
+
type GeneratorToolConfig<TInput extends $ZodObject<$ZodShape>, TEvent extends $ZodType, TOutput extends $ZodType, TContext extends Record<string, unknown> = Record<string, unknown>, TName extends string = string> = {
|
|
37
|
+
name: TName;
|
|
42
38
|
description?: string;
|
|
43
39
|
inputSchema: TInput;
|
|
44
40
|
eventSchema: TEvent;
|
|
45
41
|
outputSchema: TOutput;
|
|
42
|
+
/** Zod schema declaring the context data this tool needs */
|
|
43
|
+
contextSchema?: $ZodObject<$ZodShape>;
|
|
46
44
|
nextTurnParams?: NextTurnParamsFunctions<zodInfer<TInput>>;
|
|
47
|
-
/**
|
|
48
|
-
* Whether this tool requires human approval before execution
|
|
49
|
-
* Can be a boolean or an async function that receives the tool's input params and context
|
|
50
|
-
*/
|
|
51
45
|
requireApproval?: boolean | ToolApprovalCheck<zodInfer<TInput>>;
|
|
52
|
-
execute: (params: zodInfer<TInput>, context?:
|
|
46
|
+
execute: (params: zodInfer<TInput>, context?: ToolExecuteContext<TName, TContext>) => AsyncGenerator<zodInfer<TEvent> | zodInfer<TOutput>>;
|
|
53
47
|
};
|
|
54
48
|
/**
|
|
55
49
|
* Configuration for a manual tool (execute: false, no eventSchema or outputSchema)
|
|
@@ -58,14 +52,27 @@ type ManualToolConfig<TInput extends $ZodObject<$ZodShape>> = {
|
|
|
58
52
|
name: string;
|
|
59
53
|
description?: string;
|
|
60
54
|
inputSchema: TInput;
|
|
55
|
+
/** Zod schema declaring the context data this tool needs */
|
|
56
|
+
contextSchema?: $ZodObject<$ZodShape>;
|
|
61
57
|
nextTurnParams?: NextTurnParamsFunctions<zodInfer<TInput>>;
|
|
62
|
-
/**
|
|
63
|
-
* Whether this tool requires human approval before execution
|
|
64
|
-
* Can be a boolean or an async function that receives the tool's input params and context
|
|
65
|
-
*/
|
|
66
58
|
requireApproval?: boolean | ToolApprovalCheck<zodInfer<TInput>>;
|
|
67
59
|
execute: false;
|
|
68
60
|
};
|
|
61
|
+
/**
|
|
62
|
+
* Loose config type for the `tool<TShared>()` overload.
|
|
63
|
+
* Accepts any valid tool config while typing `ctx.shared` from TShared.
|
|
64
|
+
*/
|
|
65
|
+
type ToolConfigWithSharedContext<TShared extends Record<string, unknown>> = {
|
|
66
|
+
name: string;
|
|
67
|
+
description?: string;
|
|
68
|
+
inputSchema: $ZodObject<$ZodShape>;
|
|
69
|
+
outputSchema?: $ZodType;
|
|
70
|
+
eventSchema?: $ZodType;
|
|
71
|
+
contextSchema?: $ZodObject<$ZodShape>;
|
|
72
|
+
nextTurnParams?: NextTurnParamsFunctions<Record<string, unknown>>;
|
|
73
|
+
requireApproval?: boolean | ToolApprovalCheck<Record<string, unknown>>;
|
|
74
|
+
execute: ((params: Record<string, unknown>, context?: ToolExecuteContext<string, Record<string, unknown>, TShared>) => unknown) | ((params: Record<string, unknown>, context?: ToolExecuteContext<string, Record<string, unknown>, TShared>) => AsyncGenerator<unknown>) | false;
|
|
75
|
+
};
|
|
69
76
|
/**
|
|
70
77
|
* Creates a tool with full type inference from Zod schemas.
|
|
71
78
|
*
|
|
@@ -74,46 +81,28 @@ type ManualToolConfig<TInput extends $ZodObject<$ZodShape>> = {
|
|
|
74
81
|
* - **Regular tool**: When `execute` is a function (no `eventSchema`)
|
|
75
82
|
* - **Manual tool**: When `execute: false` is set
|
|
76
83
|
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* name: "get_weather",
|
|
81
|
-
* description: "Get weather for a location",
|
|
82
|
-
* inputSchema: z.object({ location: z.string() }),
|
|
83
|
-
* outputSchema: z.object({ temperature: z.number() }),
|
|
84
|
-
* execute: async (params) => {
|
|
85
|
-
* // params is typed as { location: string }
|
|
86
|
-
* return { temperature: 72 }; // return type is enforced
|
|
87
|
-
* },
|
|
88
|
-
* });
|
|
89
|
-
* ```
|
|
84
|
+
* Shared context typing: Pass a type parameter to type `ctx.shared`
|
|
85
|
+
* in the execute callback. Runtime validation happens at callModel
|
|
86
|
+
* via `sharedContextSchema`.
|
|
90
87
|
*
|
|
91
|
-
* @example
|
|
88
|
+
* @example Regular tool with typed shared context:
|
|
92
89
|
* ```typescript
|
|
93
|
-
*
|
|
94
|
-
* name: "process_data",
|
|
95
|
-
* inputSchema: z.object({ data: z.string() }),
|
|
96
|
-
* eventSchema: z.object({ progress: z.number() }),
|
|
97
|
-
* outputSchema: z.object({ result: z.string() }),
|
|
98
|
-
* execute: async function* (params) {
|
|
99
|
-
* yield { progress: 50 }; // typed as event
|
|
100
|
-
* yield { result: "done" }; // typed as output
|
|
101
|
-
* },
|
|
102
|
-
* });
|
|
103
|
-
* ```
|
|
90
|
+
* type SharedCtx = z.infer<typeof SharedContextSchema>;
|
|
104
91
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
92
|
+
* const execTool = tool<SharedCtx>({
|
|
93
|
+
* name: "sandbox_exec",
|
|
94
|
+
* inputSchema: z.object({ command: z.string() }),
|
|
95
|
+
* execute: async (params, ctx) => {
|
|
96
|
+
* ctx?.shared._sessionId; // string | undefined
|
|
97
|
+
* return { output: '...' };
|
|
98
|
+
* },
|
|
111
99
|
* });
|
|
112
100
|
* ```
|
|
113
101
|
*/
|
|
114
|
-
export declare function tool<TInput extends $ZodObject<$ZodShape>, TEvent extends $ZodType, TOutput extends $ZodType>(config: GeneratorToolConfig<TInput, TEvent, TOutput>): ToolWithGenerator<TInput, TEvent, TOutput>;
|
|
102
|
+
export declare function tool<TInput extends $ZodObject<$ZodShape>, TEvent extends $ZodType, TOutput extends $ZodType, TContext extends Record<string, unknown> = Record<string, unknown>, TName extends string = string>(config: GeneratorToolConfig<TInput, TEvent, TOutput, TContext, TName>): ToolWithGenerator<TInput, TEvent, TOutput, TContext>;
|
|
115
103
|
export declare function tool<TInput extends $ZodObject<$ZodShape>>(config: ManualToolConfig<TInput>): ManualTool<TInput>;
|
|
116
|
-
export declare function tool<TInput extends $ZodObject<$ZodShape>, TOutput extends $ZodType>(config: RegularToolConfigWithOutput<TInput, TOutput>): ToolWithExecute<TInput, TOutput>;
|
|
117
|
-
export declare function tool<TInput extends $ZodObject<$ZodShape>, TReturn>(config: RegularToolConfigWithoutOutput<TInput, TReturn>): ToolWithExecute<TInput, $ZodType<TReturn
|
|
104
|
+
export declare function tool<TInput extends $ZodObject<$ZodShape>, TOutput extends $ZodType, TContext extends Record<string, unknown> = Record<string, unknown>, TName extends string = string>(config: RegularToolConfigWithOutput<TInput, TOutput, TContext, TName>): ToolWithExecute<TInput, TOutput, TContext>;
|
|
105
|
+
export declare function tool<TInput extends $ZodObject<$ZodShape>, TReturn, TContext extends Record<string, unknown> = Record<string, unknown>, TName extends string = string>(config: RegularToolConfigWithoutOutput<TInput, TReturn, TContext, TName>): ToolWithExecute<TInput, $ZodType<TReturn>, TContext>;
|
|
106
|
+
export declare function tool<TShared extends Record<string, unknown>>(config: ToolConfigWithSharedContext<TShared>): Tool;
|
|
118
107
|
export {};
|
|
119
108
|
//# sourceMappingURL=tool.d.ts.map
|
package/esm/lib/tool.js
CHANGED
|
@@ -1,20 +1,12 @@
|
|
|
1
|
-
import { ToolType, } from "./tool-types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Type guard to check if config is a generator tool config (has eventSchema)
|
|
4
|
-
*/
|
|
5
|
-
function isGeneratorConfig(config) {
|
|
6
|
-
return "eventSchema" in config && config.eventSchema !== undefined;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Type guard to check if config is a manual tool config (execute === false)
|
|
10
|
-
*/
|
|
11
|
-
function isManualConfig(config) {
|
|
12
|
-
return config.execute === false;
|
|
13
|
-
}
|
|
1
|
+
import { ToolType, SHARED_CONTEXT_KEY, } from "./tool-types.js";
|
|
14
2
|
// Implementation
|
|
15
3
|
export function tool(config) {
|
|
4
|
+
// 'shared' is reserved for shared context — forbid it as a tool name
|
|
5
|
+
if (config.name === SHARED_CONTEXT_KEY) {
|
|
6
|
+
throw new Error(`Tool name "${SHARED_CONTEXT_KEY}" is reserved for shared context. Choose a different name.`);
|
|
7
|
+
}
|
|
16
8
|
// Check for manual tool first (execute === false)
|
|
17
|
-
if (
|
|
9
|
+
if (config.execute === false) {
|
|
18
10
|
const fn = {
|
|
19
11
|
name: config.name,
|
|
20
12
|
inputSchema: config.inputSchema,
|
|
@@ -22,6 +14,9 @@ export function tool(config) {
|
|
|
22
14
|
if (config.description !== undefined) {
|
|
23
15
|
fn.description = config.description;
|
|
24
16
|
}
|
|
17
|
+
if (config.contextSchema !== undefined) {
|
|
18
|
+
fn.contextSchema = config.contextSchema;
|
|
19
|
+
}
|
|
25
20
|
if (config.nextTurnParams !== undefined) {
|
|
26
21
|
fn.nextTurnParams = config.nextTurnParams;
|
|
27
22
|
}
|
|
@@ -34,18 +29,20 @@ export function tool(config) {
|
|
|
34
29
|
};
|
|
35
30
|
}
|
|
36
31
|
// Check for generator tool (has eventSchema)
|
|
37
|
-
if (
|
|
32
|
+
if ('eventSchema' in config && config.eventSchema !== undefined) {
|
|
38
33
|
const fn = {
|
|
39
34
|
name: config.name,
|
|
40
35
|
inputSchema: config.inputSchema,
|
|
41
36
|
eventSchema: config.eventSchema,
|
|
42
37
|
outputSchema: config.outputSchema,
|
|
43
|
-
// Types now align - config.execute matches the interface type
|
|
44
38
|
execute: config.execute,
|
|
45
39
|
};
|
|
46
40
|
if (config.description !== undefined) {
|
|
47
41
|
fn.description = config.description;
|
|
48
42
|
}
|
|
43
|
+
if (config.contextSchema !== undefined) {
|
|
44
|
+
fn.contextSchema = config.contextSchema;
|
|
45
|
+
}
|
|
49
46
|
if (config.nextTurnParams !== undefined) {
|
|
50
47
|
fn.nextTurnParams = config.nextTurnParams;
|
|
51
48
|
}
|
|
@@ -58,21 +55,20 @@ export function tool(config) {
|
|
|
58
55
|
};
|
|
59
56
|
}
|
|
60
57
|
// Regular tool (has execute function, no eventSchema)
|
|
61
|
-
// TypeScript can't infer the relationship between TReturn and TOutput
|
|
62
|
-
// So we build the object without type annotation, then return with correct type
|
|
63
58
|
const functionObj = {
|
|
64
59
|
name: config.name,
|
|
65
60
|
inputSchema: config.inputSchema,
|
|
66
61
|
execute: config.execute,
|
|
67
62
|
...(config.description !== undefined && { description: config.description }),
|
|
68
63
|
...(config.outputSchema !== undefined && { outputSchema: config.outputSchema }),
|
|
64
|
+
...(config.contextSchema !== undefined && { contextSchema: config.contextSchema }),
|
|
69
65
|
...(config.nextTurnParams !== undefined && { nextTurnParams: config.nextTurnParams }),
|
|
70
66
|
...(config.requireApproval !== undefined && { requireApproval: config.requireApproval }),
|
|
71
67
|
};
|
|
72
|
-
// The function signature guarantees this is type-safe via overloads
|
|
73
68
|
return {
|
|
74
69
|
type: ToolType.Function,
|
|
75
70
|
function: functionObj,
|
|
76
71
|
};
|
|
77
72
|
}
|
|
73
|
+
//#endregion
|
|
78
74
|
//# sourceMappingURL=tool.js.map
|
|
@@ -7,9 +7,9 @@ export interface BuildTurnContextOptions {
|
|
|
7
7
|
/** Number of turns so far (1-indexed for tool execution, 0 for initial request) */
|
|
8
8
|
numberOfTurns: number;
|
|
9
9
|
/** The specific tool call being executed (optional for initial/async resolution contexts) */
|
|
10
|
-
toolCall?: models.
|
|
10
|
+
toolCall?: models.FunctionCallItem;
|
|
11
11
|
/** The full request being sent to the API (optional for initial/async resolution contexts) */
|
|
12
|
-
turnRequest?: models.
|
|
12
|
+
turnRequest?: models.ResponsesRequest;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Build a turn context for tool execution or async parameter resolution
|
|
@@ -46,5 +46,5 @@ export declare function buildTurnContext(options: BuildTurnContextOptions): Turn
|
|
|
46
46
|
* // Returns: [{ role: "user", content: "Hello!" }]
|
|
47
47
|
* ```
|
|
48
48
|
*/
|
|
49
|
-
export declare function normalizeInputToArray(input: models.
|
|
49
|
+
export declare function normalizeInputToArray(input: models.InputsUnion): Array<models.BaseInputsUnion>;
|
|
50
50
|
//# sourceMappingURL=turn-context.d.ts.map
|
package/esm/lib/turn-context.js
CHANGED
|
@@ -49,7 +49,7 @@ export function normalizeInputToArray(input) {
|
|
|
49
49
|
if (typeof input === 'string') {
|
|
50
50
|
// Construct object with all required fields - type is optional
|
|
51
51
|
const message = {
|
|
52
|
-
role: models.
|
|
52
|
+
role: models.EasyInputMessageRoleUser.User,
|
|
53
53
|
content: input,
|
|
54
54
|
};
|
|
55
55
|
return [message];
|
package/esm/lib/url.js
CHANGED
|
@@ -6,7 +6,8 @@ const hasOwn = Object.prototype.hasOwnProperty;
|
|
|
6
6
|
export function pathToFunc(pathPattern, options) {
|
|
7
7
|
const paramRE = /\{([a-zA-Z0-9_][a-zA-Z0-9_-]*?)\}/g;
|
|
8
8
|
return function buildURLPath(params = {}) {
|
|
9
|
-
return pathPattern
|
|
9
|
+
return pathPattern
|
|
10
|
+
.replace(paramRE, function (_, placeholder) {
|
|
10
11
|
if (!hasOwn.call(params, placeholder)) {
|
|
11
12
|
throw new Error(`Parameter '${placeholder}' is required`);
|
|
12
13
|
}
|
|
@@ -17,7 +18,8 @@ export function pathToFunc(pathPattern, options) {
|
|
|
17
18
|
return options?.charEncoding === "percent"
|
|
18
19
|
? encodeURIComponent(`${value}`)
|
|
19
20
|
: `${value}`;
|
|
20
|
-
})
|
|
21
|
+
})
|
|
22
|
+
.replace(/^\/+/, "");
|
|
21
23
|
};
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
|
+
import { Result as SafeParseResult } from "../types/fp.js";
|
|
3
|
+
import { SDKValidationError } from "./errors/sdkvalidationerror.js";
|
|
4
|
+
import { OpenAIResponsesAnnotation } from "./openairesponsesannotation.js";
|
|
5
|
+
/**
|
|
6
|
+
* Event emitted when a text annotation is added to output
|
|
7
|
+
*/
|
|
8
|
+
export type AnnotationAddedEvent = {
|
|
9
|
+
type: "response.output_text.annotation.added";
|
|
10
|
+
outputIndex: number;
|
|
11
|
+
itemId: string;
|
|
12
|
+
contentIndex: number;
|
|
13
|
+
sequenceNumber: number;
|
|
14
|
+
annotationIndex: number;
|
|
15
|
+
annotation: OpenAIResponsesAnnotation;
|
|
16
|
+
};
|
|
17
|
+
/** @internal */
|
|
18
|
+
export declare const AnnotationAddedEvent$inboundSchema: z.ZodType<AnnotationAddedEvent, unknown>;
|
|
19
|
+
export declare function annotationAddedEventFromJSON(jsonString: string): SafeParseResult<AnnotationAddedEvent, SDKValidationError>;
|
|
20
|
+
//# sourceMappingURL=annotationaddedevent.d.ts.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: e5c5f2adf5f6
|
|
4
|
+
*/
|
|
5
|
+
import * as z from "zod/v4";
|
|
6
|
+
import { remap as remap$ } from "../lib/primitives.js";
|
|
7
|
+
import { safeParse } from "../lib/schemas.js";
|
|
8
|
+
import { OpenAIResponsesAnnotation$inboundSchema, } from "./openairesponsesannotation.js";
|
|
9
|
+
/** @internal */
|
|
10
|
+
export const AnnotationAddedEvent$inboundSchema = z.object({
|
|
11
|
+
type: z.literal("response.output_text.annotation.added"),
|
|
12
|
+
output_index: z.number(),
|
|
13
|
+
item_id: z.string(),
|
|
14
|
+
content_index: z.number(),
|
|
15
|
+
sequence_number: z.number(),
|
|
16
|
+
annotation_index: z.number(),
|
|
17
|
+
annotation: OpenAIResponsesAnnotation$inboundSchema,
|
|
18
|
+
}).transform((v) => {
|
|
19
|
+
return remap$(v, {
|
|
20
|
+
"output_index": "outputIndex",
|
|
21
|
+
"item_id": "itemId",
|
|
22
|
+
"content_index": "contentIndex",
|
|
23
|
+
"sequence_number": "sequenceNumber",
|
|
24
|
+
"annotation_index": "annotationIndex",
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
export function annotationAddedEventFromJSON(jsonString) {
|
|
28
|
+
return safeParse(jsonString, (x) => AnnotationAddedEvent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AnnotationAddedEvent' from JSON`);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=annotationaddedevent.js.map
|