@inkeep/agents-manage-mcp 0.39.5 → 0.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/settings.json +5 -0
- package/README.md +38 -139
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +27 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8462 -6978
- package/dist/index.js.map +1 -1
- package/manifest.json +61 -6
- package/package.json +12 -12
- package/scripts/fetch-openapi.mjs +22 -40
- package/scripts/generate.mjs +33 -66
- package/src/core.ts +3 -1
- package/src/funcs/agentArtifactComponentRelationsAssociateArtifactComponentWithAgent.ts +94 -78
- package/src/funcs/agentArtifactComponentRelationsCheckArtifactComponentAgentAssociation.ts +98 -81
- package/src/funcs/agentArtifactComponentRelationsGetAgentsUsingArtifactComponent.ts +94 -78
- package/src/funcs/agentArtifactComponentRelationsGetArtifactComponentsForAgent.ts +91 -76
- package/src/funcs/agentArtifactComponentRelationsRemoveArtifactComponentFromAgent.ts +96 -80
- package/src/funcs/agentDataComponentRelationsAssociateDataComponentWithAgent.ts +92 -77
- package/src/funcs/agentDataComponentRelationsCheckDataComponentAgentAssociation.ts +95 -79
- package/src/funcs/agentDataComponentRelationsGetAgentsUsingDataComponent.ts +91 -76
- package/src/funcs/agentDataComponentRelationsGetDataComponentsForAgent.ts +91 -76
- package/src/funcs/agentDataComponentRelationsRemoveDataComponentFromAgent.ts +93 -78
- package/src/funcs/agentGetFullAgentDefinition.ts +89 -74
- package/src/funcs/agentGetRelatedAgentInfos.ts +91 -76
- package/src/funcs/agentsCreateAgent.ts +88 -73
- package/src/funcs/agentsDeleteAgent.ts +74 -58
- package/src/funcs/agentsGetAgent.ts +90 -73
- package/src/funcs/agentsListAgents.ts +89 -74
- package/src/funcs/agentsUpdateAgent.ts +92 -75
- package/src/funcs/apiKeysCreateAPIKey.ts +88 -73
- package/src/funcs/apiKeysDeleteAPIKey.ts +74 -58
- package/src/funcs/apiKeysGetAPIKeyById.ts +90 -73
- package/src/funcs/apiKeysListAPIKeys.ts +90 -75
- package/src/funcs/apiKeysUpdateAPIKey.ts +92 -75
- package/src/funcs/artifactComponentCreateArtifactComponent.ts +89 -74
- package/src/funcs/artifactComponentDeleteArtifactComponent.ts +74 -60
- package/src/funcs/artifactComponentGetArtifactComponentById.ts +89 -74
- package/src/funcs/artifactComponentListArtifactComponents.ts +90 -75
- package/src/funcs/artifactComponentUpdateArtifactComponent.ts +91 -76
- package/src/funcs/cliGetApiCliMe.ts +144 -0
- package/src/funcs/contextConfigCreateContextConfig.ts +91 -76
- package/src/funcs/contextConfigDeleteContextConfig.ts +87 -73
- package/src/funcs/contextConfigGetContextConfigById.ts +91 -76
- package/src/funcs/contextConfigListContextConfigs.ts +92 -77
- package/src/funcs/contextConfigUpdateContextConfig.ts +93 -78
- package/src/funcs/conversationsGetConversation.ts +92 -77
- package/src/funcs/credentialCreateCredential.ts +90 -73
- package/src/funcs/credentialDeleteCredential.ts +73 -59
- package/src/funcs/credentialGetCredentialById.ts +89 -74
- package/src/funcs/credentialListCredentials.ts +91 -74
- package/src/funcs/credentialStoreCreateCredentialInStore.ts +91 -76
- package/src/funcs/credentialStoreListCredentialStores.ts +87 -72
- package/src/funcs/credentialUpdateCredential.ts +91 -76
- package/src/funcs/dataComponentCreateDataComponent.ts +90 -73
- package/src/funcs/dataComponentDeleteDataComponent.ts +74 -60
- package/src/funcs/dataComponentGetDataComponentById.ts +89 -74
- package/src/funcs/dataComponentListDataComponents.ts +91 -74
- package/src/funcs/dataComponentUpdateDataComponent.ts +91 -76
- package/src/funcs/externalAgentsCreateExternalAgent.ts +90 -73
- package/src/funcs/externalAgentsDeleteExternalAgent.ts +74 -60
- package/src/funcs/externalAgentsGetExternalAgentById.ts +89 -74
- package/src/funcs/externalAgentsListExternalAgents.ts +91 -74
- package/src/funcs/externalAgentsUpdateExternalAgent.ts +91 -76
- package/src/funcs/fullAgentCreateFullAgent.ts +89 -74
- package/src/funcs/fullAgentDeleteFullAgent.ts +86 -70
- package/src/funcs/fullAgentGetFullAgent.ts +90 -73
- package/src/funcs/fullAgentUpdateFullAgent.ts +92 -75
- package/src/funcs/fullProjectCreateFullProject.ts +87 -72
- package/src/funcs/fullProjectDeleteFullProject.ts +82 -68
- package/src/funcs/fullProjectGetFullProject.ts +86 -71
- package/src/funcs/fullProjectUpdateFullProject.ts +88 -73
- package/src/funcs/functionToolsCreateFunctionTool.ts +91 -76
- package/src/funcs/functionToolsDeleteFunctionTool.ts +87 -73
- package/src/funcs/functionToolsGetFunctionTool.ts +91 -76
- package/src/funcs/functionToolsListFunctionTools.ts +92 -77
- package/src/funcs/functionToolsUpdateFunctionTool.ts +93 -78
- package/src/funcs/functionsCreateFunction.ts +90 -73
- package/src/funcs/functionsDeleteFunction.ts +86 -70
- package/src/funcs/functionsGetFunction.ts +90 -73
- package/src/funcs/functionsListFunctions.ts +91 -74
- package/src/funcs/functionsUpdateFunction.ts +92 -75
- package/src/funcs/health.ts +61 -45
- package/src/funcs/invitationsGetApiInvitationsPending.ts +60 -52
- package/src/funcs/mcpCatalogListMCPCatalog.ts +88 -71
- package/src/funcs/oAuthInitiateOauthLoginPublic.ts +74 -62
- package/src/funcs/oAuthOauthCallback.ts +73 -61
- package/src/funcs/playgroundCreatePlaygroundToken.ts +75 -62
- package/src/funcs/projectsCreateProject.ts +87 -72
- package/src/funcs/projectsDeleteProject.ts +86 -71
- package/src/funcs/projectsGetProjectById.ts +86 -71
- package/src/funcs/projectsListProjects.ts +87 -72
- package/src/funcs/projectsUpdateProject.ts +88 -73
- package/src/funcs/subAgentCreateSubagent.ts +91 -76
- package/src/funcs/subAgentDeleteSubagent.ts +77 -61
- package/src/funcs/subAgentExternalAgentRelationsCreateSubAgentExternalAgentRelation.ts +95 -79
- package/src/funcs/subAgentExternalAgentRelationsDeleteSubAgentExternalAgentRelation.ts +80 -65
- package/src/funcs/subAgentExternalAgentRelationsGetSubAgentExternalAgentRelationById.ts +95 -79
- package/src/funcs/subAgentExternalAgentRelationsListSubAgentExternalAgentRelations.ts +96 -80
- package/src/funcs/subAgentExternalAgentRelationsUpdateSubAgentExternalAgentRelation.ts +97 -81
- package/src/funcs/subAgentGetSubagentById.ts +91 -76
- package/src/funcs/subAgentListSubagents.ts +92 -77
- package/src/funcs/subAgentRelationsCreateSubAgentRelation.ts +91 -76
- package/src/funcs/subAgentRelationsDeleteSubAgentRelation.ts +76 -62
- package/src/funcs/subAgentRelationsGetSubAgentRelationById.ts +91 -76
- package/src/funcs/subAgentRelationsListSubAgentRelations.ts +96 -81
- package/src/funcs/subAgentRelationsUpdateSubAgentRelation.ts +93 -78
- package/src/funcs/subAgentTeamAgentRelationsCreateSubAgentTeamAgentRelation.ts +93 -78
- package/src/funcs/subAgentTeamAgentRelationsDeleteSubAgentTeamAgentRelation.ts +78 -64
- package/src/funcs/subAgentTeamAgentRelationsGetSubAgentTeamAgentRelationById.ts +93 -78
- package/src/funcs/subAgentTeamAgentRelationsListSubAgentTeamAgentRelations.ts +94 -79
- package/src/funcs/subAgentTeamAgentRelationsUpdateSubAgentTeamAgentRelation.ts +95 -80
- package/src/funcs/subAgentToolRelationsCreateSubagentToolRelation.ts +91 -76
- package/src/funcs/subAgentToolRelationsDeleteSubagentToolRelation.ts +76 -62
- package/src/funcs/subAgentToolRelationsGetSubagentToolRelation.ts +91 -76
- package/src/funcs/subAgentToolRelationsGetSubagentsForTool.ts +94 -79
- package/src/funcs/subAgentToolRelationsListSubagentToolRelations.ts +94 -79
- package/src/funcs/subAgentToolRelationsUpdateSubagentToolRelation.ts +93 -78
- package/src/funcs/subAgentUpdateSubagent.ts +93 -78
- package/src/funcs/thirdPartyMCPServersGetOauthRedirectUrl.ts +209 -0
- package/src/funcs/thirdPartyMCPServersGetThirdPartyMCPServer.ts +89 -74
- package/src/funcs/toolsCreateTool.ts +88 -73
- package/src/funcs/toolsDeleteTool.ts +97 -58
- package/src/funcs/toolsGetTool.ts +90 -73
- package/src/funcs/toolsGetUserCredentialForTool.ts +211 -0
- package/src/funcs/toolsListTools.ts +90 -75
- package/src/funcs/toolsUpdateTool.ts +92 -75
- package/src/funcs/userOrganizationsGetApiUsersUserIdOrganizations.ts +62 -52
- package/src/funcs/userOrganizationsPostApiUsersUserIdOrganizations.ts +64 -54
- package/src/hooks/header-forwarding-hook.ts +4 -2
- package/src/hooks/hooks.ts +25 -14
- package/src/hooks/registration.ts +5 -4
- package/src/hooks/types.ts +18 -8
- package/src/index.ts +2 -1
- package/src/lib/base64.ts +8 -3
- package/src/lib/config.ts +19 -11
- package/src/lib/dlv.ts +3 -2
- package/src/lib/encodings.ts +118 -87
- package/src/lib/env.ts +17 -7
- package/src/lib/files.ts +29 -28
- package/src/lib/http.ts +66 -46
- package/src/lib/is-plain-object.ts +2 -1
- package/src/lib/logger.ts +1 -0
- package/src/lib/matchers.ts +111 -94
- package/src/lib/primitives.ts +14 -8
- package/src/lib/result.ts +4 -1
- package/src/lib/retries.ts +26 -18
- package/src/lib/schemas.ts +20 -26
- package/src/lib/sdks.ts +115 -85
- package/src/lib/security.ts +90 -46
- package/src/lib/url.ts +10 -5
- package/src/mcp-server/cli/start/command.ts +54 -41
- package/src/mcp-server/cli/start/impl.ts +52 -38
- package/src/mcp-server/cli.ts +2 -1
- package/src/mcp-server/console-logger.ts +27 -12
- package/src/mcp-server/extensions.ts +11 -6
- package/src/mcp-server/mcp-server.ts +8 -7
- package/src/mcp-server/prompts.ts +64 -51
- package/src/mcp-server/resources.ts +54 -35
- package/src/mcp-server/scopes.ts +1 -0
- package/src/mcp-server/server.ts +25 -6
- package/src/mcp-server/shared.ts +35 -24
- package/src/mcp-server/tools/agentArtifactComponentRelationsAssociateArtifactComponentWithAgent.ts +34 -33
- package/src/mcp-server/tools/agentArtifactComponentRelationsCheckArtifactComponentAgentAssociation.ts +34 -33
- package/src/mcp-server/tools/agentArtifactComponentRelationsGetAgentsUsingArtifactComponent.ts +34 -32
- package/src/mcp-server/tools/agentArtifactComponentRelationsGetArtifactComponentsForAgent.ts +34 -32
- package/src/mcp-server/tools/agentArtifactComponentRelationsRemoveArtifactComponentFromAgent.ts +34 -32
- package/src/mcp-server/tools/agentDataComponentRelationsAssociateDataComponentWithAgent.ts +33 -32
- package/src/mcp-server/tools/agentDataComponentRelationsCheckDataComponentAgentAssociation.ts +34 -32
- package/src/mcp-server/tools/agentDataComponentRelationsGetAgentsUsingDataComponent.ts +33 -32
- package/src/mcp-server/tools/agentDataComponentRelationsGetDataComponentsForAgent.ts +33 -32
- package/src/mcp-server/tools/agentDataComponentRelationsRemoveDataComponentFromAgent.ts +33 -32
- package/src/mcp-server/tools/agentGetFullAgentDefinition.ts +16 -13
- package/src/mcp-server/tools/agentGetRelatedAgentInfos.ts +16 -13
- package/src/mcp-server/tools/agentsCreateAgent.ts +16 -13
- package/src/mcp-server/tools/agentsDeleteAgent.ts +16 -13
- package/src/mcp-server/tools/agentsGetAgent.ts +16 -13
- package/src/mcp-server/tools/agentsListAgents.ts +16 -13
- package/src/mcp-server/tools/agentsUpdateAgent.ts +16 -13
- package/src/mcp-server/tools/apiKeysCreateAPIKey.ts +16 -13
- package/src/mcp-server/tools/apiKeysDeleteAPIKey.ts +16 -13
- package/src/mcp-server/tools/apiKeysGetAPIKeyById.ts +16 -13
- package/src/mcp-server/tools/apiKeysListAPIKeys.ts +16 -13
- package/src/mcp-server/tools/apiKeysUpdateAPIKey.ts +16 -13
- package/src/mcp-server/tools/artifactComponentCreateArtifactComponent.ts +19 -14
- package/src/mcp-server/tools/artifactComponentDeleteArtifactComponent.ts +19 -14
- package/src/mcp-server/tools/artifactComponentGetArtifactComponentById.ts +15 -12
- package/src/mcp-server/tools/artifactComponentListArtifactComponents.ts +19 -14
- package/src/mcp-server/tools/artifactComponentUpdateArtifactComponent.ts +19 -14
- package/src/mcp-server/tools/cliGetApiCliMe.ts +38 -0
- package/src/mcp-server/tools/contextConfigCreateContextConfig.ts +19 -14
- package/src/mcp-server/tools/contextConfigDeleteContextConfig.ts +19 -14
- package/src/mcp-server/tools/contextConfigGetContextConfigById.ts +19 -14
- package/src/mcp-server/tools/contextConfigListContextConfigs.ts +32 -28
- package/src/mcp-server/tools/contextConfigUpdateContextConfig.ts +19 -14
- package/src/mcp-server/tools/conversationsGetConversation.ts +16 -13
- package/src/mcp-server/tools/credentialCreateCredential.ts +16 -13
- package/src/mcp-server/tools/credentialDeleteCredential.ts +16 -13
- package/src/mcp-server/tools/credentialGetCredentialById.ts +16 -13
- package/src/mcp-server/tools/credentialListCredentials.ts +16 -13
- package/src/mcp-server/tools/credentialStoreCreateCredentialInStore.ts +19 -14
- package/src/mcp-server/tools/credentialStoreListCredentialStores.ts +19 -14
- package/src/mcp-server/tools/credentialUpdateCredential.ts +16 -13
- package/src/mcp-server/tools/dataComponentCreateDataComponent.ts +19 -14
- package/src/mcp-server/tools/dataComponentDeleteDataComponent.ts +19 -14
- package/src/mcp-server/tools/dataComponentGetDataComponentById.ts +19 -14
- package/src/mcp-server/tools/dataComponentListDataComponents.ts +32 -28
- package/src/mcp-server/tools/dataComponentUpdateDataComponent.ts +19 -14
- package/src/mcp-server/tools/externalAgentsCreateExternalAgent.ts +19 -14
- package/src/mcp-server/tools/externalAgentsDeleteExternalAgent.ts +19 -14
- package/src/mcp-server/tools/externalAgentsGetExternalAgentById.ts +19 -14
- package/src/mcp-server/tools/externalAgentsListExternalAgents.ts +19 -14
- package/src/mcp-server/tools/externalAgentsUpdateExternalAgent.ts +19 -14
- package/src/mcp-server/tools/fullAgentCreateFullAgent.ts +16 -13
- package/src/mcp-server/tools/fullAgentDeleteFullAgent.ts +16 -13
- package/src/mcp-server/tools/fullAgentGetFullAgent.ts +16 -13
- package/src/mcp-server/tools/fullAgentUpdateFullAgent.ts +16 -13
- package/src/mcp-server/tools/fullProjectCreateFullProject.ts +16 -13
- package/src/mcp-server/tools/fullProjectDeleteFullProject.ts +16 -13
- package/src/mcp-server/tools/fullProjectGetFullProject.ts +16 -13
- package/src/mcp-server/tools/fullProjectUpdateFullProject.ts +16 -13
- package/src/mcp-server/tools/functionToolsCreateFunctionTool.ts +32 -28
- package/src/mcp-server/tools/functionToolsDeleteFunctionTool.ts +32 -28
- package/src/mcp-server/tools/functionToolsGetFunctionTool.ts +16 -13
- package/src/mcp-server/tools/functionToolsListFunctionTools.ts +32 -28
- package/src/mcp-server/tools/functionToolsUpdateFunctionTool.ts +32 -28
- package/src/mcp-server/tools/functionsCreateFunction.ts +16 -13
- package/src/mcp-server/tools/functionsDeleteFunction.ts +16 -13
- package/src/mcp-server/tools/functionsGetFunction.ts +16 -13
- package/src/mcp-server/tools/functionsListFunctions.ts +16 -13
- package/src/mcp-server/tools/functionsUpdateFunction.ts +16 -13
- package/src/mcp-server/tools/health.ts +14 -12
- package/src/mcp-server/tools/invitationsGetApiInvitationsPending.ts +19 -14
- package/src/mcp-server/tools/mcpCatalogListMCPCatalog.ts +16 -13
- package/src/mcp-server/tools/oAuthInitiateOauthLoginPublic.ts +16 -13
- package/src/mcp-server/tools/oAuthOauthCallback.ts +16 -13
- package/src/mcp-server/tools/projectsCreateProject.ts +16 -13
- package/src/mcp-server/tools/projectsDeleteProject.ts +16 -13
- package/src/mcp-server/tools/projectsGetProjectById.ts +16 -13
- package/src/mcp-server/tools/projectsListProjects.ts +16 -13
- package/src/mcp-server/tools/projectsUpdateProject.ts +16 -13
- package/src/mcp-server/tools/subAgentCreateSubagent.ts +16 -13
- package/src/mcp-server/tools/subAgentDeleteSubagent.ts +16 -13
- package/src/mcp-server/tools/subAgentExternalAgentRelationsCreateSubAgentExternalAgentRelation.ts +34 -33
- package/src/mcp-server/tools/subAgentExternalAgentRelationsDeleteSubAgentExternalAgentRelation.ts +34 -33
- package/src/mcp-server/tools/subAgentExternalAgentRelationsGetSubAgentExternalAgentRelationById.ts +34 -33
- package/src/mcp-server/tools/subAgentExternalAgentRelationsListSubAgentExternalAgentRelations.ts +34 -31
- package/src/mcp-server/tools/subAgentExternalAgentRelationsUpdateSubAgentExternalAgentRelation.ts +34 -33
- package/src/mcp-server/tools/subAgentGetSubagentById.ts +16 -13
- package/src/mcp-server/tools/subAgentListSubagents.ts +16 -13
- package/src/mcp-server/tools/subAgentRelationsCreateSubAgentRelation.ts +19 -14
- package/src/mcp-server/tools/subAgentRelationsDeleteSubAgentRelation.ts +19 -14
- package/src/mcp-server/tools/subAgentRelationsGetSubAgentRelationById.ts +19 -14
- package/src/mcp-server/tools/subAgentRelationsListSubAgentRelations.ts +19 -14
- package/src/mcp-server/tools/subAgentRelationsUpdateSubAgentRelation.ts +19 -14
- package/src/mcp-server/tools/subAgentTeamAgentRelationsCreateSubAgentTeamAgentRelation.ts +33 -32
- package/src/mcp-server/tools/subAgentTeamAgentRelationsDeleteSubAgentTeamAgentRelation.ts +33 -32
- package/src/mcp-server/tools/subAgentTeamAgentRelationsGetSubAgentTeamAgentRelationById.ts +34 -32
- package/src/mcp-server/tools/subAgentTeamAgentRelationsListSubAgentTeamAgentRelations.ts +33 -32
- package/src/mcp-server/tools/subAgentTeamAgentRelationsUpdateSubAgentTeamAgentRelation.ts +33 -32
- package/src/mcp-server/tools/subAgentToolRelationsCreateSubagentToolRelation.ts +33 -30
- package/src/mcp-server/tools/subAgentToolRelationsDeleteSubagentToolRelation.ts +33 -30
- package/src/mcp-server/tools/subAgentToolRelationsGetSubagentToolRelation.ts +20 -16
- package/src/mcp-server/tools/subAgentToolRelationsGetSubagentsForTool.ts +19 -14
- package/src/mcp-server/tools/subAgentToolRelationsListSubagentToolRelations.ts +33 -30
- package/src/mcp-server/tools/subAgentToolRelationsUpdateSubagentToolRelation.ts +33 -30
- package/src/mcp-server/tools/subAgentUpdateSubagent.ts +16 -13
- package/src/mcp-server/tools/thirdPartyMCPServersGetOauthRedirectUrl.ts +47 -0
- package/src/mcp-server/tools/thirdPartyMCPServersGetThirdPartyMCPServer.ts +15 -12
- package/src/mcp-server/tools/toolsCreateTool.ts +16 -13
- package/src/mcp-server/tools/toolsDeleteTool.ts +16 -13
- package/src/mcp-server/tools/toolsGetTool.ts +16 -13
- package/src/mcp-server/tools/toolsGetUserCredentialForTool.ts +43 -0
- package/src/mcp-server/tools/toolsListTools.ts +16 -13
- package/src/mcp-server/tools/toolsUpdateTool.ts +16 -13
- package/src/mcp-server/tools/userOrganizationsGetApiUsersUserIdOrganizations.ts +33 -30
- package/src/mcp-server/tools/userOrganizationsPostApiUsersUserIdOrganizations.ts +33 -30
- package/src/mcp-server/tools.ts +111 -79
- package/src/models/agent.ts +3 -2
- package/src/models/agentcreate.ts +3 -2
- package/src/models/agentlistresponse.ts +6 -5
- package/src/models/agentresponse.ts +4 -3
- package/src/models/agentstopwhen.ts +3 -2
- package/src/models/agentupdate.ts +3 -2
- package/src/models/agentwithincontextofproject.ts +30 -21
- package/src/models/agentwithincontextofprojectresponse.ts +5 -6
- package/src/models/apikey.ts +3 -2
- package/src/models/apikeycreate.ts +3 -2
- package/src/models/apikeylistresponse.ts +6 -5
- package/src/models/apikeyresponse.ts +4 -3
- package/src/models/apikeyupdate.ts +3 -2
- package/src/models/artifactcomponent.ts +6 -5
- package/src/models/artifactcomponentarrayresponse.ts +7 -5
- package/src/models/artifactcomponentcreate.ts +5 -6
- package/src/models/artifactcomponentlistresponse.ts +8 -6
- package/src/models/artifactcomponentresponse.ts +7 -5
- package/src/models/artifactcomponentupdate.ts +5 -6
- package/src/models/associateartifactcomponentwithagentop.ts +36 -32
- package/src/models/associatedatacomponentwithagentop.ts +28 -25
- package/src/models/badrequest.ts +28 -16
- package/src/models/candelegatetoexternalagent.ts +4 -5
- package/src/models/candelegatetoteamagent.ts +4 -5
- package/src/models/canuseitem.ts +9 -10
- package/src/models/checkartifactcomponentagentassociationop.ts +33 -31
- package/src/models/checkdatacomponentagentassociationop.ts +22 -19
- package/src/models/componentassociation.ts +7 -9
- package/src/models/componentassociationlistresponse.ts +5 -6
- package/src/models/contextconfig.ts +5 -6
- package/src/models/contextconfigcreate.ts +15 -13
- package/src/models/contextconfiglistresponse.ts +5 -6
- package/src/models/contextconfigresponse.ts +7 -9
- package/src/models/contextconfigupdate.ts +15 -13
- package/src/models/conversationwithformattedmessagesresponse.ts +5 -8
- package/src/models/createagentop.ts +23 -16
- package/src/models/createapikeyop.ts +41 -40
- package/src/models/createartifactcomponentop.ts +23 -20
- package/src/models/createcontextconfigop.ts +26 -20
- package/src/models/createcredentialinstoreop.ts +26 -22
- package/src/models/createcredentialinstorerequest.ts +4 -5
- package/src/models/createcredentialinstoreresponse.ts +4 -7
- package/src/models/createcredentialop.ts +23 -20
- package/src/models/createdatacomponentop.ts +25 -19
- package/src/models/createexternalagentop.ts +25 -19
- package/src/models/createfullagentop.ts +29 -23
- package/src/models/createfullprojectop.ts +25 -21
- package/src/models/createfunctionop.ts +27 -22
- package/src/models/createfunctiontoolop.ts +26 -20
- package/src/models/createplaygroundtokenop.ts +17 -30
- package/src/models/createprojectop.ts +39 -35
- package/src/models/createsubagentexternalagentrelationop.ts +30 -24
- package/src/models/createsubagentop.ts +28 -23
- package/src/models/createsubagentrelationop.ts +24 -21
- package/src/models/createsubagentteamagentrelationop.ts +30 -24
- package/src/models/createsubagenttoolrelationop.ts +26 -22
- package/src/models/createtoolop.ts +26 -16
- package/src/models/credentialreference.ts +35 -14
- package/src/models/credentialreferencecreate.ts +25 -7
- package/src/models/credentialreferencelistresponse.ts +8 -6
- package/src/models/credentialreferenceresponse.ts +7 -5
- package/src/models/credentialreferenceupdate.ts +25 -7
- package/src/models/credentialstore.ts +20 -10
- package/src/models/credentialstorelistresponse.ts +7 -5
- package/src/models/datacomponent.ts +5 -4
- package/src/models/datacomponentarrayresponse.ts +4 -5
- package/src/models/datacomponentcreate.ts +6 -5
- package/src/models/datacomponentlistresponse.ts +5 -6
- package/src/models/datacomponentresponse.ts +7 -9
- package/src/models/datacomponentupdate.ts +6 -5
- package/src/models/deleteagentop.ts +11 -10
- package/src/models/deleteapikeyop.ts +15 -17
- package/src/models/deleteartifactcomponentop.ts +9 -12
- package/src/models/deletecontextconfigop.ts +21 -18
- package/src/models/deletecredentialop.ts +9 -12
- package/src/models/deletedatacomponentop.ts +9 -12
- package/src/models/deleteexternalagentop.ts +9 -12
- package/src/models/deletefullagentop.ts +20 -17
- package/src/models/deletefullprojectop.ts +19 -16
- package/src/models/deletefunctionop.ts +22 -20
- package/src/models/deletefunctiontoolop.ts +21 -18
- package/src/models/deleteprojectop.ts +33 -32
- package/src/models/deletesubagentexternalagentrelationop.ts +11 -14
- package/src/models/deletesubagentop.ts +12 -16
- package/src/models/deletesubagentrelationop.ts +10 -13
- package/src/models/deletesubagentteamagentrelationop.ts +11 -14
- package/src/models/deletesubagenttoolrelationop.ts +10 -13
- package/src/models/deletetoolop.ts +34 -12
- package/src/models/errorresponse.ts +3 -2
- package/src/models/errors/apierror.ts +5 -4
- package/src/models/errors/httpclienterrors.ts +8 -7
- package/src/models/errors/sdkvalidationerror.ts +7 -58
- package/src/models/existsresponse.ts +3 -2
- package/src/models/externalagent.ts +5 -4
- package/src/models/externalagentcreate.ts +6 -5
- package/src/models/externalagentlistresponse.ts +5 -6
- package/src/models/externalagentresponse.ts +7 -9
- package/src/models/externalagentupdate.ts +6 -5
- package/src/models/forbidden.ts +28 -16
- package/src/models/fullagentagentinsert.ts +50 -39
- package/src/models/fullprojectdefinition.ts +52 -38
- package/src/models/fullprojectdefinitionresponse.ts +5 -6
- package/src/models/function.ts +3 -2
- package/src/models/functioncreate.ts +3 -2
- package/src/models/functionlistresponse.ts +9 -11
- package/src/models/functionresponse.ts +7 -5
- package/src/models/functiontool.ts +3 -2
- package/src/models/functiontoolcreate.ts +4 -3
- package/src/models/functiontoollistresponse.ts +5 -6
- package/src/models/functiontoolresponse.ts +7 -9
- package/src/models/functiontoolupdate.ts +4 -3
- package/src/models/functionupdate.ts +3 -2
- package/src/models/getagentop.ts +25 -18
- package/src/models/getagentsusingartifactcomponentop.ts +27 -21
- package/src/models/getagentsusingdatacomponentop.ts +27 -21
- package/src/models/getapiclimeop.ts +58 -0
- package/src/models/getapiinvitationspendingop.ts +10 -16
- package/src/models/getapikeybyidop.ts +34 -33
- package/src/models/getapiusersuseridorganizationsop.ts +13 -17
- package/src/models/getartifactcomponentbyidop.ts +22 -19
- package/src/models/getartifactcomponentsforagentop.ts +25 -21
- package/src/models/getcontextconfigbyidop.ts +23 -20
- package/src/models/getconversationop.ts +25 -20
- package/src/models/getcredentialbyidop.ts +22 -19
- package/src/models/getdatacomponentbyidop.ts +22 -19
- package/src/models/getdatacomponentsforagentop.ts +23 -20
- package/src/models/getexternalagentbyidop.ts +22 -19
- package/src/models/getfullagentdefinitionop.ts +27 -21
- package/src/models/getfullagentop.ts +38 -31
- package/src/models/getfullprojectop.ts +25 -22
- package/src/models/getfunctionop.ts +26 -16
- package/src/models/getfunctiontoolop.ts +23 -20
- package/src/models/getoauthredirecturlop.ts +111 -0
- package/src/models/getprojectbyidop.ts +25 -20
- package/src/models/getrelatedagentinfosop.ts +25 -21
- package/src/models/getsubagentbyidop.ts +25 -19
- package/src/models/getsubagentexternalagentrelationbyidop.ts +29 -23
- package/src/models/getsubagentrelationbyidop.ts +23 -20
- package/src/models/getsubagentsfortoolop.ts +27 -21
- package/src/models/getsubagentteamagentrelationbyidop.ts +29 -23
- package/src/models/getsubagenttoolrelationop.ts +25 -21
- package/src/models/getthirdpartymcpserverop.ts +43 -22
- package/src/models/gettoolop.ts +34 -25
- package/src/models/getusercredentialfortoolop.ts +64 -0
- package/src/models/healthop.ts +4 -3
- package/src/models/initiateoauthloginpublicop.ts +11 -13
- package/src/models/internalservererror.ts +34 -20
- package/src/models/listagentsop.ts +25 -15
- package/src/models/listapikeysop.ts +26 -16
- package/src/models/listartifactcomponentsop.ts +23 -19
- package/src/models/listcontextconfigsop.ts +22 -19
- package/src/models/listcredentialsop.ts +23 -19
- package/src/models/listcredentialstoresop.ts +21 -18
- package/src/models/listdatacomponentsop.ts +21 -18
- package/src/models/listexternalagentsop.ts +21 -18
- package/src/models/listfunctionsop.ts +36 -35
- package/src/models/listfunctiontoolsop.ts +22 -19
- package/src/models/listmcpcatalogop.ts +23 -21
- package/src/models/listprojectsop.ts +34 -27
- package/src/models/listsubagentexternalagentrelationsop.ts +26 -21
- package/src/models/listsubagentrelationsop.ts +24 -20
- package/src/models/listsubagentsop.ts +37 -36
- package/src/models/listsubagentteamagentrelationsop.ts +28 -22
- package/src/models/listsubagenttoolrelationsop.ts +27 -21
- package/src/models/listtoolsop.ts +41 -18
- package/src/models/mcpcataloglistresponse.ts +19 -13
- package/src/models/mcptool.ts +54 -25
- package/src/models/mcptoollistresponse.ts +6 -5
- package/src/models/mcptoolresponse.ts +6 -6
- package/src/models/model.ts +4 -3
- package/src/models/modelsettings.ts +4 -3
- package/src/models/notfound.ts +28 -16
- package/src/models/oauthcallbackop.ts +20 -22
- package/src/models/pagination.ts +3 -2
- package/src/models/postapiusersuseridorganizationsop.ts +18 -25
- package/src/models/project.ts +7 -6
- package/src/models/projectcreate.ts +7 -6
- package/src/models/projectlistresponse.ts +6 -5
- package/src/models/projectmodel.ts +4 -3
- package/src/models/projectresponse.ts +6 -6
- package/src/models/projectupdate.ts +7 -6
- package/src/models/relatedagentinfo.ts +8 -6
- package/src/models/relatedagentinfolistresponse.ts +8 -6
- package/src/models/removeartifactcomponentfromagentop.ts +25 -19
- package/src/models/removedatacomponentfromagentop.ts +25 -19
- package/src/models/removedresponse.ts +6 -6
- package/src/models/security.ts +9 -12
- package/src/models/statuscomponent.ts +17 -11
- package/src/models/statusupdate.ts +7 -3
- package/src/models/stopwhen.ts +3 -2
- package/src/models/subagent.ts +7 -6
- package/src/models/subagentartifactcomponentresponse.ts +4 -7
- package/src/models/subagentcreate.ts +8 -7
- package/src/models/subagentdatacomponentresponse.ts +4 -7
- package/src/models/subagentexternalagentrelation.ts +3 -4
- package/src/models/subagentexternalagentrelationcreate.ts +4 -5
- package/src/models/subagentexternalagentrelationlistresponse.ts +6 -7
- package/src/models/subagentexternalagentrelationresponse.ts +5 -6
- package/src/models/subagentexternalagentrelationupdate.ts +4 -5
- package/src/models/subagentlistresponse.ts +9 -11
- package/src/models/subagentrelation.ts +6 -4
- package/src/models/subagentrelationcreate.ts +15 -8
- package/src/models/subagentrelationlistresponse.ts +8 -6
- package/src/models/subagentrelationresponse.ts +7 -5
- package/src/models/subagentrelationupdate.ts +15 -8
- package/src/models/subagentresponse.ts +7 -5
- package/src/models/subagentteamagentrelation.ts +3 -4
- package/src/models/subagentteamagentrelationcreate.ts +4 -5
- package/src/models/subagentteamagentrelationlistresponse.ts +6 -7
- package/src/models/subagentteamagentrelationresponse.ts +5 -6
- package/src/models/subagentteamagentrelationupdate.ts +4 -5
- package/src/models/subagenttoolrelation.ts +13 -15
- package/src/models/subagenttoolrelationcreate.ts +13 -13
- package/src/models/subagenttoolrelationlistresponse.ts +6 -7
- package/src/models/subagenttoolrelationresponse.ts +5 -6
- package/src/models/subagenttoolrelationupdate.ts +13 -13
- package/src/models/subagentupdate.ts +8 -7
- package/src/models/teamagent.ts +3 -2
- package/src/models/thirdpartymcpserverresponse.ts +19 -13
- package/src/models/toolcreate.ts +43 -24
- package/src/models/toolupdate.ts +43 -24
- package/src/models/unauthorized.ts +26 -13
- package/src/models/unprocessableentity.ts +34 -20
- package/src/models/updateagentop.ts +24 -17
- package/src/models/updateapikeyop.ts +34 -30
- package/src/models/updateartifactcomponentop.ts +24 -21
- package/src/models/updatecontextconfigop.ts +27 -21
- package/src/models/updatecredentialop.ts +24 -21
- package/src/models/updatedatacomponentop.ts +26 -20
- package/src/models/updateexternalagentop.ts +26 -20
- package/src/models/updatefullagentop.ts +29 -23
- package/src/models/updatefullprojectop.ts +25 -21
- package/src/models/updatefunctionop.ts +28 -23
- package/src/models/updatefunctiontoolop.ts +27 -21
- package/src/models/updateprojectop.ts +38 -34
- package/src/models/updatesubagentexternalagentrelationop.ts +31 -25
- package/src/models/updatesubagentop.ts +29 -24
- package/src/models/updatesubagentrelationop.ts +25 -22
- package/src/models/updatesubagentteamagentrelationop.ts +31 -25
- package/src/models/updatesubagenttoolrelationop.ts +27 -23
- package/src/models/updatetoolop.ts +27 -17
- package/src/types/async.ts +24 -9
- package/src/types/bigint.ts +88 -0
- package/src/types/blobs.ts +5 -4
- package/src/types/enums.ts +2 -1
- package/src/types/fp.ts +4 -1
- package/src/types/rfcdate.ts +8 -5
- package/src/types/streams.ts +8 -5
- package/src/zod-int.ts +9 -0
- package/tsconfig.json +3 -2
- package/openapi.json +0 -17114
- package/scripts/watch-and-fetch.mjs +0 -72
- package/src/hooks/auth-hook.ts +0 -32
- package/src/http-server.ts +0 -34
package/src/lib/sdks.ts
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: 1c0644378c5e
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
|
-
import { SDKHooks } from
|
|
6
|
-
import
|
|
6
|
+
import { SDKHooks } from "../hooks/hooks.js";
|
|
7
|
+
import { HookContext } from "../hooks/types.js";
|
|
7
8
|
import {
|
|
8
9
|
ConnectionError,
|
|
9
10
|
InvalidRequestError,
|
|
10
11
|
RequestAbortedError,
|
|
11
12
|
RequestTimeoutError,
|
|
12
13
|
UnexpectedClientError,
|
|
13
|
-
} from
|
|
14
|
-
import { stringToBase64 } from
|
|
15
|
-
import { SDK_METADATA,
|
|
16
|
-
import { encodeForm } from
|
|
17
|
-
import { env } from
|
|
14
|
+
} from "../models/errors/httpclienterrors.js";
|
|
15
|
+
import { stringToBase64 } from "./base64.js";
|
|
16
|
+
import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "./config.js";
|
|
17
|
+
import { encodeForm } from "./encodings.js";
|
|
18
|
+
import { env } from "./env.js";
|
|
18
19
|
import {
|
|
19
20
|
HTTPClient,
|
|
20
21
|
isAbortError,
|
|
@@ -22,11 +23,11 @@ import {
|
|
|
22
23
|
isTimeoutError,
|
|
23
24
|
matchContentType,
|
|
24
25
|
matchStatusCode,
|
|
25
|
-
} from
|
|
26
|
-
import
|
|
27
|
-
import { ERR, OK,
|
|
28
|
-
import {
|
|
29
|
-
import
|
|
26
|
+
} from "./http.js";
|
|
27
|
+
import { Logger } from "./logger.js";
|
|
28
|
+
import { ERR, OK, Result } from "./result.js";
|
|
29
|
+
import { retry, RetryConfig } from "./retries.js";
|
|
30
|
+
import { SecurityState } from "./security.js";
|
|
30
31
|
|
|
31
32
|
export type RequestOptions = {
|
|
32
33
|
/**
|
|
@@ -53,15 +54,15 @@ export type RequestOptions = {
|
|
|
53
54
|
*
|
|
54
55
|
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options|Request}
|
|
55
56
|
*/
|
|
56
|
-
fetchOptions?: Omit<RequestInit,
|
|
57
|
-
} & Omit<RequestInit,
|
|
57
|
+
fetchOptions?: Omit<RequestInit, "method" | "body">;
|
|
58
|
+
} & Omit<RequestInit, "method" | "body">;
|
|
58
59
|
|
|
59
60
|
type RequestConfig = {
|
|
60
61
|
method: string;
|
|
61
62
|
path: string;
|
|
62
63
|
baseURL?: string | URL | undefined;
|
|
63
64
|
query?: string;
|
|
64
|
-
body?: RequestInit[
|
|
65
|
+
body?: RequestInit["body"];
|
|
65
66
|
headers?: HeadersInit;
|
|
66
67
|
security?: SecurityState | null;
|
|
67
68
|
uaHeader?: string;
|
|
@@ -69,16 +70,14 @@ type RequestConfig = {
|
|
|
69
70
|
timeoutMs?: number;
|
|
70
71
|
};
|
|
71
72
|
|
|
72
|
-
const gt: unknown = typeof globalThis ===
|
|
73
|
-
const webWorkerLike =
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
(typeof navigator !== 'undefined' && 'serviceWorker' in navigator) ||
|
|
81
|
-
(typeof window === 'object' && typeof window.document !== 'undefined');
|
|
73
|
+
const gt: unknown = typeof globalThis === "undefined" ? null : globalThis;
|
|
74
|
+
const webWorkerLike = typeof gt === "object"
|
|
75
|
+
&& gt != null
|
|
76
|
+
&& "importScripts" in gt
|
|
77
|
+
&& typeof gt["importScripts"] === "function";
|
|
78
|
+
const isBrowserLike = webWorkerLike
|
|
79
|
+
|| (typeof navigator !== "undefined" && "serviceWorker" in navigator)
|
|
80
|
+
|| (typeof window === "object" && typeof window.document !== "undefined");
|
|
82
81
|
|
|
83
82
|
export class ClientSDK {
|
|
84
83
|
readonly #httpClient: HTTPClient;
|
|
@@ -89,7 +88,12 @@ export class ClientSDK {
|
|
|
89
88
|
|
|
90
89
|
constructor(options: SDKOptions = {}) {
|
|
91
90
|
const opt = options as unknown;
|
|
92
|
-
if (
|
|
91
|
+
if (
|
|
92
|
+
typeof opt === "object"
|
|
93
|
+
&& opt != null
|
|
94
|
+
&& "hooks" in opt
|
|
95
|
+
&& opt.hooks instanceof SDKHooks
|
|
96
|
+
) {
|
|
93
97
|
this.#hooks = opt.hooks;
|
|
94
98
|
} else {
|
|
95
99
|
this.#hooks = new SDKHooks();
|
|
@@ -100,7 +104,7 @@ export class ClientSDK {
|
|
|
100
104
|
|
|
101
105
|
const url = serverURLFromOptions(options);
|
|
102
106
|
if (url) {
|
|
103
|
-
url.pathname = url.pathname.replace(/\/+$/,
|
|
107
|
+
url.pathname = url.pathname.replace(/\/+$/, "") + "/";
|
|
104
108
|
}
|
|
105
109
|
this._baseURL = url;
|
|
106
110
|
this.#httpClient = options.httpClient || defaultHttpClient;
|
|
@@ -108,7 +112,7 @@ export class ClientSDK {
|
|
|
108
112
|
this._options = { ...options, hooks: this.#hooks };
|
|
109
113
|
|
|
110
114
|
this.#logger = this._options.debugLogger;
|
|
111
|
-
if (!this.#logger && env().
|
|
115
|
+
if (!this.#logger && env().INKEEPAGENTSMANAGE_DEBUG) {
|
|
112
116
|
this.#logger = console;
|
|
113
117
|
}
|
|
114
118
|
}
|
|
@@ -116,37 +120,37 @@ export class ClientSDK {
|
|
|
116
120
|
public _createRequest(
|
|
117
121
|
context: HookContext,
|
|
118
122
|
conf: RequestConfig,
|
|
119
|
-
options?: RequestOptions
|
|
123
|
+
options?: RequestOptions,
|
|
120
124
|
): Result<Request, InvalidRequestError | UnexpectedClientError> {
|
|
121
125
|
const { method, path, query, headers: opHeaders, security } = conf;
|
|
122
126
|
|
|
123
127
|
const base = conf.baseURL ?? this._baseURL;
|
|
124
128
|
if (!base) {
|
|
125
|
-
return ERR(new InvalidRequestError(
|
|
129
|
+
return ERR(new InvalidRequestError("No base URL provided for operation"));
|
|
126
130
|
}
|
|
127
131
|
const reqURL = new URL(base);
|
|
128
132
|
const inputURL = new URL(path, reqURL);
|
|
129
133
|
|
|
130
134
|
if (path) {
|
|
131
|
-
reqURL.pathname += reqURL.pathname.endsWith(
|
|
132
|
-
reqURL.pathname += inputURL.pathname.replace(/^\/+/,
|
|
135
|
+
reqURL.pathname += reqURL.pathname.endsWith("/") ? "" : "/";
|
|
136
|
+
reqURL.pathname += inputURL.pathname.replace(/^\/+/, "");
|
|
133
137
|
}
|
|
134
138
|
|
|
135
|
-
let finalQuery = query ||
|
|
139
|
+
let finalQuery = query || "";
|
|
136
140
|
|
|
137
141
|
const secQuery: string[] = [];
|
|
138
142
|
for (const [k, v] of Object.entries(security?.queryParams || {})) {
|
|
139
|
-
const q = encodeForm(k, v, { charEncoding:
|
|
140
|
-
if (typeof q !==
|
|
143
|
+
const q = encodeForm(k, v, { charEncoding: "percent" });
|
|
144
|
+
if (typeof q !== "undefined") {
|
|
141
145
|
secQuery.push(q);
|
|
142
146
|
}
|
|
143
147
|
}
|
|
144
148
|
if (secQuery.length) {
|
|
145
|
-
finalQuery += `&${secQuery.join(
|
|
149
|
+
finalQuery += `&${secQuery.join("&")}`;
|
|
146
150
|
}
|
|
147
151
|
|
|
148
152
|
if (finalQuery) {
|
|
149
|
-
const q = finalQuery.startsWith(
|
|
153
|
+
const q = finalQuery.startsWith("&") ? finalQuery.slice(1) : finalQuery;
|
|
150
154
|
reqURL.search = `?${q}`;
|
|
151
155
|
}
|
|
152
156
|
|
|
@@ -155,8 +159,10 @@ export class ClientSDK {
|
|
|
155
159
|
const username = security?.basic.username;
|
|
156
160
|
const password = security?.basic.password;
|
|
157
161
|
if (username != null || password != null) {
|
|
158
|
-
const encoded = stringToBase64(
|
|
159
|
-
|
|
162
|
+
const encoded = stringToBase64(
|
|
163
|
+
[username || "", password || ""].join(":"),
|
|
164
|
+
);
|
|
165
|
+
headers.set("Authorization", `Basic ${encoded}`);
|
|
160
166
|
}
|
|
161
167
|
|
|
162
168
|
const securityHeaders = new Headers(security?.headers || {});
|
|
@@ -164,14 +170,16 @@ export class ClientSDK {
|
|
|
164
170
|
headers.set(k, v);
|
|
165
171
|
}
|
|
166
172
|
|
|
167
|
-
let cookie = headers.get(
|
|
173
|
+
let cookie = headers.get("cookie") || "";
|
|
168
174
|
for (const [k, v] of Object.entries(security?.cookies || {})) {
|
|
169
175
|
cookie += `; ${k}=${v}`;
|
|
170
176
|
}
|
|
171
|
-
cookie = cookie.startsWith(
|
|
172
|
-
headers.set(
|
|
177
|
+
cookie = cookie.startsWith("; ") ? cookie.slice(2) : cookie;
|
|
178
|
+
headers.set("cookie", cookie);
|
|
173
179
|
|
|
174
|
-
const userHeaders = new Headers(
|
|
180
|
+
const userHeaders = new Headers(
|
|
181
|
+
options?.headers ?? options?.fetchOptions?.headers,
|
|
182
|
+
);
|
|
175
183
|
for (const [k, v] of userHeaders) {
|
|
176
184
|
headers.set(k, v);
|
|
177
185
|
}
|
|
@@ -179,10 +187,13 @@ export class ClientSDK {
|
|
|
179
187
|
// Only set user agent header in non-browser-like environments since CORS
|
|
180
188
|
// policy disallows setting it in browsers e.g. Chrome throws an error.
|
|
181
189
|
if (!isBrowserLike) {
|
|
182
|
-
headers.set(
|
|
190
|
+
headers.set(
|
|
191
|
+
conf.uaHeader ?? "user-agent",
|
|
192
|
+
conf.userAgent ?? SDK_METADATA.userAgent,
|
|
193
|
+
);
|
|
183
194
|
}
|
|
184
195
|
|
|
185
|
-
const fetchOptions: Omit<RequestInit,
|
|
196
|
+
const fetchOptions: Omit<RequestInit, "method" | "body"> = {
|
|
186
197
|
...options?.fetchOptions,
|
|
187
198
|
...options,
|
|
188
199
|
};
|
|
@@ -192,7 +203,7 @@ export class ClientSDK {
|
|
|
192
203
|
}
|
|
193
204
|
|
|
194
205
|
if (conf.body instanceof ReadableStream) {
|
|
195
|
-
Object.assign(fetchOptions, { duplex:
|
|
206
|
+
Object.assign(fetchOptions, { duplex: "half" });
|
|
196
207
|
}
|
|
197
208
|
|
|
198
209
|
let input;
|
|
@@ -208,9 +219,9 @@ export class ClientSDK {
|
|
|
208
219
|
});
|
|
209
220
|
} catch (err: unknown) {
|
|
210
221
|
return ERR(
|
|
211
|
-
new UnexpectedClientError(
|
|
222
|
+
new UnexpectedClientError("Create request hook failed to execute", {
|
|
212
223
|
cause: err,
|
|
213
|
-
})
|
|
224
|
+
}),
|
|
214
225
|
);
|
|
215
226
|
}
|
|
216
227
|
|
|
@@ -224,27 +235,37 @@ export class ClientSDK {
|
|
|
224
235
|
errorCodes: number | string | (number | string)[];
|
|
225
236
|
retryConfig: RetryConfig;
|
|
226
237
|
retryCodes: string[];
|
|
227
|
-
}
|
|
238
|
+
},
|
|
228
239
|
): Promise<
|
|
229
240
|
Result<
|
|
230
241
|
Response,
|
|
231
|
-
|
|
242
|
+
| RequestAbortedError
|
|
243
|
+
| RequestTimeoutError
|
|
244
|
+
| ConnectionError
|
|
245
|
+
| UnexpectedClientError
|
|
232
246
|
>
|
|
233
247
|
> {
|
|
234
248
|
const { context, errorCodes } = options;
|
|
235
249
|
|
|
236
250
|
return retry(
|
|
237
251
|
async () => {
|
|
238
|
-
const req = await this.#hooks.beforeRequest(
|
|
252
|
+
const req = await this.#hooks.beforeRequest(
|
|
253
|
+
context,
|
|
254
|
+
request.clone() as Request,
|
|
255
|
+
);
|
|
239
256
|
await logRequest(this.#logger, req).catch((e) =>
|
|
240
|
-
this.#logger?.log(
|
|
257
|
+
this.#logger?.log("Failed to log request:", e)
|
|
241
258
|
);
|
|
242
259
|
|
|
243
260
|
let response = await this.#httpClient.request(req);
|
|
244
261
|
|
|
245
262
|
try {
|
|
246
263
|
if (matchStatusCode(response, errorCodes)) {
|
|
247
|
-
const result = await this.#hooks.afterError(
|
|
264
|
+
const result = await this.#hooks.afterError(
|
|
265
|
+
context,
|
|
266
|
+
response,
|
|
267
|
+
null,
|
|
268
|
+
);
|
|
248
269
|
if (result.error) {
|
|
249
270
|
throw result.error;
|
|
250
271
|
}
|
|
@@ -253,70 +274,74 @@ export class ClientSDK {
|
|
|
253
274
|
response = await this.#hooks.afterSuccess(context, response);
|
|
254
275
|
}
|
|
255
276
|
} finally {
|
|
256
|
-
await logResponse(this.#logger, response, req)
|
|
257
|
-
this.#logger?.log(
|
|
258
|
-
);
|
|
277
|
+
await logResponse(this.#logger, response, req)
|
|
278
|
+
.catch(e => this.#logger?.log("Failed to log response:", e));
|
|
259
279
|
}
|
|
260
280
|
|
|
261
281
|
return response;
|
|
262
282
|
},
|
|
263
|
-
{ config: options.retryConfig, statusCodes: options.retryCodes }
|
|
283
|
+
{ config: options.retryConfig, statusCodes: options.retryCodes },
|
|
264
284
|
).then(
|
|
265
285
|
(r) => OK(r),
|
|
266
286
|
(err) => {
|
|
267
287
|
switch (true) {
|
|
268
288
|
case isAbortError(err):
|
|
269
289
|
return ERR(
|
|
270
|
-
new RequestAbortedError(
|
|
290
|
+
new RequestAbortedError("Request aborted by client", {
|
|
271
291
|
cause: err,
|
|
272
|
-
})
|
|
292
|
+
}),
|
|
273
293
|
);
|
|
274
294
|
case isTimeoutError(err):
|
|
275
|
-
return ERR(
|
|
295
|
+
return ERR(
|
|
296
|
+
new RequestTimeoutError("Request timed out", { cause: err }),
|
|
297
|
+
);
|
|
276
298
|
case isConnectionError(err):
|
|
277
|
-
return ERR(
|
|
299
|
+
return ERR(
|
|
300
|
+
new ConnectionError("Unable to make request", { cause: err }),
|
|
301
|
+
);
|
|
278
302
|
default:
|
|
279
303
|
return ERR(
|
|
280
|
-
new UnexpectedClientError(
|
|
304
|
+
new UnexpectedClientError("Unexpected HTTP client error", {
|
|
281
305
|
cause: err,
|
|
282
|
-
})
|
|
306
|
+
}),
|
|
283
307
|
);
|
|
284
308
|
}
|
|
285
|
-
}
|
|
309
|
+
},
|
|
286
310
|
);
|
|
287
311
|
}
|
|
288
312
|
}
|
|
289
313
|
|
|
290
314
|
const jsonLikeContentTypeRE = /(application|text)\/.*?\+*json.*/;
|
|
291
|
-
const jsonlLikeContentTypeRE =
|
|
315
|
+
const jsonlLikeContentTypeRE =
|
|
316
|
+
/(application|text)\/(.*?\+*\bjsonl\b.*|.*?\+*\bx-ndjson\b.*)/;
|
|
292
317
|
async function logRequest(logger: Logger | undefined, req: Request) {
|
|
293
318
|
if (!logger) {
|
|
294
319
|
return;
|
|
295
320
|
}
|
|
296
321
|
|
|
297
|
-
const contentType = req.headers.get(
|
|
298
|
-
const ct = contentType?.split(
|
|
322
|
+
const contentType = req.headers.get("content-type");
|
|
323
|
+
const ct = contentType?.split(";")[0] || "";
|
|
299
324
|
|
|
300
325
|
logger.group(`> Request: ${req.method} ${req.url}`);
|
|
301
326
|
|
|
302
|
-
logger.group(
|
|
327
|
+
logger.group("Headers:");
|
|
303
328
|
for (const [k, v] of req.headers.entries()) {
|
|
304
329
|
logger.log(`${k}: ${v}`);
|
|
305
330
|
}
|
|
306
331
|
logger.groupEnd();
|
|
307
332
|
|
|
308
|
-
logger.group(
|
|
333
|
+
logger.group("Body:");
|
|
309
334
|
switch (true) {
|
|
310
335
|
case jsonLikeContentTypeRE.test(ct):
|
|
311
336
|
logger.log(await req.clone().json());
|
|
312
337
|
break;
|
|
313
|
-
case ct.startsWith(
|
|
338
|
+
case ct.startsWith("text/"):
|
|
314
339
|
logger.log(await req.clone().text());
|
|
315
340
|
break;
|
|
316
|
-
case ct ===
|
|
341
|
+
case ct === "multipart/form-data": {
|
|
317
342
|
const body = await req.clone().formData();
|
|
318
343
|
for (const [k, v] of body) {
|
|
319
|
-
const vlabel = v instanceof Blob ?
|
|
344
|
+
const vlabel = v instanceof Blob ? "<Blob>" : v;
|
|
320
345
|
logger.log(`${k}: ${vlabel}`);
|
|
321
346
|
}
|
|
322
347
|
break;
|
|
@@ -330,42 +355,47 @@ async function logRequest(logger: Logger | undefined, req: Request) {
|
|
|
330
355
|
logger.groupEnd();
|
|
331
356
|
}
|
|
332
357
|
|
|
333
|
-
async function logResponse(
|
|
358
|
+
async function logResponse(
|
|
359
|
+
logger: Logger | undefined,
|
|
360
|
+
res: Response,
|
|
361
|
+
req: Request,
|
|
362
|
+
) {
|
|
334
363
|
if (!logger) {
|
|
335
364
|
return;
|
|
336
365
|
}
|
|
337
366
|
|
|
338
|
-
const contentType = res.headers.get(
|
|
339
|
-
const ct = contentType?.split(
|
|
367
|
+
const contentType = res.headers.get("content-type");
|
|
368
|
+
const ct = contentType?.split(";")[0] || "";
|
|
340
369
|
|
|
341
370
|
logger.group(`< Response: ${req.method} ${req.url}`);
|
|
342
|
-
logger.log(
|
|
371
|
+
logger.log("Status Code:", res.status, res.statusText);
|
|
343
372
|
|
|
344
|
-
logger.group(
|
|
373
|
+
logger.group("Headers:");
|
|
345
374
|
for (const [k, v] of res.headers.entries()) {
|
|
346
375
|
logger.log(`${k}: ${v}`);
|
|
347
376
|
}
|
|
348
377
|
logger.groupEnd();
|
|
349
378
|
|
|
350
|
-
logger.group(
|
|
379
|
+
logger.group("Body:");
|
|
351
380
|
switch (true) {
|
|
352
|
-
case matchContentType(res,
|
|
353
|
-
|
|
381
|
+
case matchContentType(res, "application/json")
|
|
382
|
+
|| jsonLikeContentTypeRE.test(ct) && !jsonlLikeContentTypeRE.test(ct):
|
|
354
383
|
logger.log(await res.clone().json());
|
|
355
384
|
break;
|
|
356
|
-
case matchContentType(res,
|
|
385
|
+
case matchContentType(res, "application/jsonl")
|
|
386
|
+
|| jsonlLikeContentTypeRE.test(ct):
|
|
357
387
|
logger.log(await res.clone().text());
|
|
358
388
|
break;
|
|
359
|
-
case matchContentType(res,
|
|
389
|
+
case matchContentType(res, "text/event-stream"):
|
|
360
390
|
logger.log(`<${contentType}>`);
|
|
361
391
|
break;
|
|
362
|
-
case matchContentType(res,
|
|
392
|
+
case matchContentType(res, "text/*"):
|
|
363
393
|
logger.log(await res.clone().text());
|
|
364
394
|
break;
|
|
365
|
-
case matchContentType(res,
|
|
395
|
+
case matchContentType(res, "multipart/form-data"): {
|
|
366
396
|
const body = await res.clone().formData();
|
|
367
397
|
for (const [k, v] of body) {
|
|
368
|
-
const vlabel = v instanceof Blob ?
|
|
398
|
+
const vlabel = v instanceof Blob ? "<Blob>" : v;
|
|
369
399
|
logger.log(`${k}: ${vlabel}`);
|
|
370
400
|
}
|
|
371
401
|
break;
|