@inkeep/agents-manage-mcp 0.39.5 → 0.40.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 +7775 -6996
- 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/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/security.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: 98cf7172220e
|
|
3
4
|
*/
|
|
4
5
|
|
|
6
|
+
import { Security } from "../models/security.js";
|
|
7
|
+
import { env } from "./env.js";
|
|
8
|
+
|
|
5
9
|
type OAuth2PasswordFlow = {
|
|
6
10
|
username: string;
|
|
7
11
|
password: string;
|
|
@@ -11,29 +15,29 @@ type OAuth2PasswordFlow = {
|
|
|
11
15
|
};
|
|
12
16
|
|
|
13
17
|
export enum SecurityErrorCode {
|
|
14
|
-
Incomplete =
|
|
15
|
-
UnrecognisedSecurityType =
|
|
18
|
+
Incomplete = "incomplete",
|
|
19
|
+
UnrecognisedSecurityType = "unrecognized_security_type",
|
|
16
20
|
}
|
|
17
21
|
|
|
18
22
|
export class SecurityError extends Error {
|
|
19
23
|
constructor(
|
|
20
24
|
public code: SecurityErrorCode,
|
|
21
|
-
message: string
|
|
25
|
+
message: string,
|
|
22
26
|
) {
|
|
23
27
|
super(message);
|
|
24
|
-
this.name =
|
|
28
|
+
this.name = "SecurityError";
|
|
25
29
|
}
|
|
26
30
|
|
|
27
31
|
static incomplete(): SecurityError {
|
|
28
32
|
return new SecurityError(
|
|
29
33
|
SecurityErrorCode.Incomplete,
|
|
30
|
-
|
|
34
|
+
"Security requirements not met in order to perform the operation",
|
|
31
35
|
);
|
|
32
36
|
}
|
|
33
37
|
static unrecognizedType(type: string): SecurityError {
|
|
34
38
|
return new SecurityError(
|
|
35
39
|
SecurityErrorCode.UnrecognisedSecurityType,
|
|
36
|
-
`Unrecognised security type: ${type}
|
|
40
|
+
`Unrecognised security type: ${type}`,
|
|
37
41
|
);
|
|
38
42
|
}
|
|
39
43
|
}
|
|
@@ -43,40 +47,43 @@ export type SecurityState = {
|
|
|
43
47
|
headers: Record<string, string>;
|
|
44
48
|
queryParams: Record<string, string>;
|
|
45
49
|
cookies: Record<string, string>;
|
|
46
|
-
oauth2: ({ type:
|
|
50
|
+
oauth2: ({ type: "password" } & OAuth2PasswordFlow) | { type: "none" };
|
|
47
51
|
};
|
|
48
52
|
|
|
49
53
|
type SecurityInputBasic = {
|
|
50
|
-
type:
|
|
51
|
-
value:
|
|
54
|
+
type: "http:basic";
|
|
55
|
+
value:
|
|
56
|
+
| { username?: string | undefined; password?: string | undefined }
|
|
57
|
+
| null
|
|
58
|
+
| undefined;
|
|
52
59
|
};
|
|
53
60
|
|
|
54
61
|
type SecurityInputBearer = {
|
|
55
|
-
type:
|
|
62
|
+
type: "http:bearer";
|
|
56
63
|
value: string | null | undefined;
|
|
57
64
|
fieldName: string;
|
|
58
65
|
};
|
|
59
66
|
|
|
60
67
|
type SecurityInputAPIKey = {
|
|
61
|
-
type:
|
|
68
|
+
type: "apiKey:header" | "apiKey:query" | "apiKey:cookie";
|
|
62
69
|
value: string | null | undefined;
|
|
63
70
|
fieldName: string;
|
|
64
71
|
};
|
|
65
72
|
|
|
66
73
|
type SecurityInputOIDC = {
|
|
67
|
-
type:
|
|
74
|
+
type: "openIdConnect";
|
|
68
75
|
value: string | null | undefined;
|
|
69
76
|
fieldName: string;
|
|
70
77
|
};
|
|
71
78
|
|
|
72
79
|
type SecurityInputOAuth2 = {
|
|
73
|
-
type:
|
|
80
|
+
type: "oauth2";
|
|
74
81
|
value: string | null | undefined;
|
|
75
82
|
fieldName: string;
|
|
76
83
|
};
|
|
77
84
|
|
|
78
85
|
type SecurityInputOAuth2ClientCredentials = {
|
|
79
|
-
type:
|
|
86
|
+
type: "oauth2:client_credentials";
|
|
80
87
|
value:
|
|
81
88
|
| { clientID?: string | undefined; clientSecret?: string | undefined }
|
|
82
89
|
| null
|
|
@@ -86,13 +93,16 @@ type SecurityInputOAuth2ClientCredentials = {
|
|
|
86
93
|
};
|
|
87
94
|
|
|
88
95
|
type SecurityInputOAuth2PasswordCredentials = {
|
|
89
|
-
type:
|
|
90
|
-
value:
|
|
96
|
+
type: "oauth2:password";
|
|
97
|
+
value:
|
|
98
|
+
| string
|
|
99
|
+
| null
|
|
100
|
+
| undefined;
|
|
91
101
|
fieldName?: string;
|
|
92
102
|
};
|
|
93
103
|
|
|
94
104
|
type SecurityInputCustom = {
|
|
95
|
-
type:
|
|
105
|
+
type: "http:custom";
|
|
96
106
|
value: any | null | undefined;
|
|
97
107
|
fieldName?: string;
|
|
98
108
|
};
|
|
@@ -107,39 +117,42 @@ export type SecurityInput =
|
|
|
107
117
|
| SecurityInputOIDC
|
|
108
118
|
| SecurityInputCustom;
|
|
109
119
|
|
|
110
|
-
export function resolveSecurity(
|
|
120
|
+
export function resolveSecurity(
|
|
121
|
+
...options: SecurityInput[][]
|
|
122
|
+
): SecurityState | null {
|
|
111
123
|
const state: SecurityState = {
|
|
112
124
|
basic: {},
|
|
113
125
|
headers: {},
|
|
114
126
|
queryParams: {},
|
|
115
127
|
cookies: {},
|
|
116
|
-
oauth2: { type:
|
|
128
|
+
oauth2: { type: "none" },
|
|
117
129
|
};
|
|
118
130
|
|
|
119
131
|
const option = options.find((opts) => {
|
|
120
132
|
return opts.every((o) => {
|
|
121
133
|
if (o.value == null) {
|
|
122
134
|
return false;
|
|
123
|
-
}
|
|
124
|
-
if (o.type === 'http:basic') {
|
|
135
|
+
} else if (o.type === "http:basic") {
|
|
125
136
|
return o.value.username != null || o.value.password != null;
|
|
126
|
-
}
|
|
127
|
-
if (o.type === 'http:custom') {
|
|
137
|
+
} else if (o.type === "http:custom") {
|
|
128
138
|
return null;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
if (o.type ===
|
|
134
|
-
if (typeof o.value ==
|
|
139
|
+
} else if (o.type === "oauth2:password") {
|
|
140
|
+
return (
|
|
141
|
+
typeof o.value === "string" && !!o.value
|
|
142
|
+
);
|
|
143
|
+
} else if (o.type === "oauth2:client_credentials") {
|
|
144
|
+
if (typeof o.value == "string") {
|
|
135
145
|
return !!o.value;
|
|
136
146
|
}
|
|
137
147
|
return o.value.clientID != null || o.value.clientSecret != null;
|
|
138
|
-
}
|
|
139
|
-
if (typeof o.value === 'string') {
|
|
148
|
+
} else if (typeof o.value === "string") {
|
|
140
149
|
return !!o.value;
|
|
150
|
+
} else {
|
|
151
|
+
throw new Error(
|
|
152
|
+
`Unrecognized security type: ${o.type} (value type: ${typeof o
|
|
153
|
+
.value})`,
|
|
154
|
+
);
|
|
141
155
|
}
|
|
142
|
-
throw new Error(`Unrecognized security type: ${o.type} (value type: ${typeof o.value})`);
|
|
143
156
|
});
|
|
144
157
|
});
|
|
145
158
|
if (option == null) {
|
|
@@ -154,32 +167,32 @@ export function resolveSecurity(...options: SecurityInput[][]): SecurityState |
|
|
|
154
167
|
const { type } = spec;
|
|
155
168
|
|
|
156
169
|
switch (type) {
|
|
157
|
-
case
|
|
170
|
+
case "apiKey:header":
|
|
158
171
|
state.headers[spec.fieldName] = spec.value;
|
|
159
172
|
break;
|
|
160
|
-
case
|
|
173
|
+
case "apiKey:query":
|
|
161
174
|
state.queryParams[spec.fieldName] = spec.value;
|
|
162
175
|
break;
|
|
163
|
-
case
|
|
176
|
+
case "apiKey:cookie":
|
|
164
177
|
state.cookies[spec.fieldName] = spec.value;
|
|
165
178
|
break;
|
|
166
|
-
case
|
|
179
|
+
case "http:basic":
|
|
167
180
|
applyBasic(state, spec);
|
|
168
181
|
break;
|
|
169
|
-
case
|
|
182
|
+
case "http:custom":
|
|
170
183
|
break;
|
|
171
|
-
case
|
|
184
|
+
case "http:bearer":
|
|
172
185
|
applyBearer(state, spec);
|
|
173
186
|
break;
|
|
174
|
-
case
|
|
187
|
+
case "oauth2":
|
|
175
188
|
applyBearer(state, spec);
|
|
176
189
|
break;
|
|
177
|
-
case
|
|
190
|
+
case "oauth2:password":
|
|
178
191
|
applyBearer(state, spec);
|
|
179
192
|
break;
|
|
180
|
-
case
|
|
193
|
+
case "oauth2:client_credentials":
|
|
181
194
|
break;
|
|
182
|
-
case
|
|
195
|
+
case "openIdConnect":
|
|
183
196
|
applyBearer(state, spec);
|
|
184
197
|
break;
|
|
185
198
|
default:
|
|
@@ -191,7 +204,10 @@ export function resolveSecurity(...options: SecurityInput[][]): SecurityState |
|
|
|
191
204
|
return state;
|
|
192
205
|
}
|
|
193
206
|
|
|
194
|
-
function applyBasic(
|
|
207
|
+
function applyBasic(
|
|
208
|
+
state: SecurityState,
|
|
209
|
+
spec: SecurityInputBasic,
|
|
210
|
+
) {
|
|
195
211
|
if (spec.value == null) {
|
|
196
212
|
return;
|
|
197
213
|
}
|
|
@@ -205,14 +221,14 @@ function applyBearer(
|
|
|
205
221
|
| SecurityInputBearer
|
|
206
222
|
| SecurityInputOAuth2
|
|
207
223
|
| SecurityInputOIDC
|
|
208
|
-
| SecurityInputOAuth2PasswordCredentials
|
|
224
|
+
| SecurityInputOAuth2PasswordCredentials,
|
|
209
225
|
) {
|
|
210
|
-
if (typeof spec.value !==
|
|
226
|
+
if (typeof spec.value !== "string" || !spec.value) {
|
|
211
227
|
return;
|
|
212
228
|
}
|
|
213
229
|
|
|
214
230
|
let value = spec.value;
|
|
215
|
-
if (value.slice(0, 7).toLowerCase() !==
|
|
231
|
+
if (value.slice(0, 7).toLowerCase() !== "bearer ") {
|
|
216
232
|
value = `Bearer ${value}`;
|
|
217
233
|
}
|
|
218
234
|
|
|
@@ -220,3 +236,31 @@ function applyBearer(
|
|
|
220
236
|
state.headers[spec.fieldName] = value;
|
|
221
237
|
}
|
|
222
238
|
}
|
|
239
|
+
export function resolveGlobalSecurity(
|
|
240
|
+
security: Partial<Security> | null | undefined,
|
|
241
|
+
): SecurityState | null {
|
|
242
|
+
return resolveSecurity(
|
|
243
|
+
[
|
|
244
|
+
{
|
|
245
|
+
fieldName: "better-auth.session_token",
|
|
246
|
+
type: "apiKey:cookie",
|
|
247
|
+
value: security?.cookieAuth ?? env().INKEEPAGENTSMANAGE_COOKIE_AUTH,
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
fieldName: "Authorization",
|
|
251
|
+
type: "http:bearer",
|
|
252
|
+
value: security?.bearerAuth ?? env().INKEEPAGENTSMANAGE_BEARER_AUTH,
|
|
253
|
+
},
|
|
254
|
+
],
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export async function extractSecurity<
|
|
259
|
+
T extends string | Record<string, unknown>,
|
|
260
|
+
>(sec: T | (() => Promise<T>) | undefined): Promise<T | undefined> {
|
|
261
|
+
if (sec == null) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
return typeof sec === "function" ? sec() : sec;
|
|
266
|
+
}
|
package/src/lib/url.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: 8d04acd893d1
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
6
|
const hasOwn = Object.prototype.hasOwnProperty;
|
|
@@ -8,22 +9,26 @@ export type Params = Partial<Record<string, string | number>>;
|
|
|
8
9
|
|
|
9
10
|
export function pathToFunc(
|
|
10
11
|
pathPattern: string,
|
|
11
|
-
options?: { charEncoding?:
|
|
12
|
+
options?: { charEncoding?: "percent" | "none" },
|
|
12
13
|
): (params?: Params) => string {
|
|
13
14
|
const paramRE = /\{([a-zA-Z0-9_]+?)\}/g;
|
|
14
15
|
|
|
15
16
|
return function buildURLPath(params: Record<string, unknown> = {}): string {
|
|
16
|
-
return pathPattern.replace(paramRE, (_, placeholder)
|
|
17
|
+
return pathPattern.replace(paramRE, function (_, placeholder) {
|
|
17
18
|
if (!hasOwn.call(params, placeholder)) {
|
|
18
19
|
throw new Error(`Parameter '${placeholder}' is required`);
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
const value = params[placeholder];
|
|
22
|
-
if (typeof value !==
|
|
23
|
-
throw new Error(
|
|
23
|
+
if (typeof value !== "string" && typeof value !== "number") {
|
|
24
|
+
throw new Error(
|
|
25
|
+
`Parameter '${placeholder}' must be a string or number`,
|
|
26
|
+
);
|
|
24
27
|
}
|
|
25
28
|
|
|
26
|
-
return options?.charEncoding ===
|
|
29
|
+
return options?.charEncoding === "percent"
|
|
30
|
+
? encodeURIComponent(`${value}`)
|
|
31
|
+
: `${value}`;
|
|
27
32
|
});
|
|
28
33
|
};
|
|
29
34
|
}
|
|
@@ -1,90 +1,103 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: 118c0e7211c4
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
|
-
import { buildCommand
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import { buildCommand } from "@stricli/core";
|
|
7
|
+
import { numberParser } from "@stricli/core";
|
|
8
|
+
import * as z from "zod";
|
|
9
|
+
import { consoleLoggerLevels } from "../../console-logger.js";
|
|
8
10
|
|
|
9
11
|
export const startCommand = buildCommand({
|
|
10
12
|
loader: async () => {
|
|
11
|
-
const { main } = await import(
|
|
13
|
+
const { main } = await import("./impl.js");
|
|
12
14
|
return main;
|
|
13
15
|
},
|
|
14
16
|
parameters: {
|
|
15
17
|
flags: {
|
|
16
18
|
transport: {
|
|
17
|
-
kind:
|
|
18
|
-
brief:
|
|
19
|
-
default:
|
|
20
|
-
values: [
|
|
19
|
+
kind: "enum",
|
|
20
|
+
brief: "The transport to use for communicating with the server",
|
|
21
|
+
default: "stdio",
|
|
22
|
+
values: ["stdio", "sse"],
|
|
21
23
|
},
|
|
22
24
|
port: {
|
|
23
|
-
kind:
|
|
24
|
-
brief:
|
|
25
|
-
default:
|
|
26
|
-
parse: (val: string) =>
|
|
25
|
+
kind: "parsed",
|
|
26
|
+
brief: "The port to use when the SSE transport is enabled",
|
|
27
|
+
default: "2718",
|
|
28
|
+
parse: (val: string) =>
|
|
29
|
+
z.coerce.number().int().gte(0).lt(65536).parse(val),
|
|
27
30
|
},
|
|
28
31
|
tool: {
|
|
29
|
-
kind:
|
|
30
|
-
brief:
|
|
32
|
+
kind: "parsed",
|
|
33
|
+
brief: "Specify tools to mount on the server",
|
|
31
34
|
optional: true,
|
|
32
35
|
variadic: true,
|
|
33
36
|
parse: (value) => {
|
|
34
37
|
return z.string().parse(value);
|
|
35
38
|
},
|
|
36
39
|
},
|
|
37
|
-
|
|
38
|
-
kind:
|
|
39
|
-
brief:
|
|
40
|
+
"cookie-auth": {
|
|
41
|
+
kind: "parsed",
|
|
42
|
+
brief: "Sets the cookieAuth auth field for the API",
|
|
43
|
+
optional: true,
|
|
44
|
+
parse: (value) => {
|
|
45
|
+
return z.string().parse(value);
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
"bearer-auth": {
|
|
49
|
+
kind: "parsed",
|
|
50
|
+
brief: "Sets the bearerAuth auth field for the API",
|
|
51
|
+
optional: true,
|
|
52
|
+
parse: (value) => {
|
|
53
|
+
return z.string().parse(value);
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
"server-url": {
|
|
57
|
+
kind: "parsed",
|
|
58
|
+
brief: "Overrides the default server URL used by the SDK",
|
|
40
59
|
optional: true,
|
|
41
60
|
parse: (value) => new URL(value).toString(),
|
|
42
61
|
},
|
|
43
|
-
|
|
44
|
-
kind:
|
|
45
|
-
brief:
|
|
62
|
+
"server-index": {
|
|
63
|
+
kind: "parsed",
|
|
64
|
+
brief: "Selects a predefined server used by the SDK",
|
|
46
65
|
optional: true,
|
|
47
66
|
parse: numberParser,
|
|
48
67
|
},
|
|
49
|
-
|
|
50
|
-
kind:
|
|
51
|
-
brief:
|
|
52
|
-
default:
|
|
68
|
+
"log-level": {
|
|
69
|
+
kind: "enum",
|
|
70
|
+
brief: "The log level to use for the server",
|
|
71
|
+
default: "info",
|
|
53
72
|
values: consoleLoggerLevels,
|
|
54
73
|
},
|
|
55
74
|
env: {
|
|
56
|
-
kind:
|
|
57
|
-
brief:
|
|
75
|
+
kind: "parsed",
|
|
76
|
+
brief: "Environment variables made available to the server",
|
|
58
77
|
optional: true,
|
|
59
78
|
variadic: true,
|
|
60
79
|
parse: (val: string) => {
|
|
61
|
-
const sepIdx = val.indexOf(
|
|
80
|
+
const sepIdx = val.indexOf("=");
|
|
62
81
|
if (sepIdx === -1) {
|
|
63
|
-
throw new Error(
|
|
82
|
+
throw new Error("Invalid environment variable format");
|
|
64
83
|
}
|
|
65
84
|
|
|
66
85
|
const key = val.slice(0, sepIdx);
|
|
67
86
|
const value = val.slice(sepIdx + 1);
|
|
68
87
|
|
|
69
88
|
return [
|
|
70
|
-
z
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
z
|
|
77
|
-
.string()
|
|
78
|
-
.nonempty({
|
|
79
|
-
message: 'Environment variable value must be a non-empty string',
|
|
80
|
-
})
|
|
81
|
-
.parse(value),
|
|
89
|
+
z.string().nonempty({
|
|
90
|
+
message: "Environment variable key must be a non-empty string",
|
|
91
|
+
}).parse(key),
|
|
92
|
+
z.string().nonempty({
|
|
93
|
+
message: "Environment variable value must be a non-empty string",
|
|
94
|
+
}).parse(value),
|
|
82
95
|
] satisfies [string, string];
|
|
83
96
|
},
|
|
84
97
|
},
|
|
85
98
|
},
|
|
86
99
|
},
|
|
87
100
|
docs: {
|
|
88
|
-
brief:
|
|
101
|
+
brief: "Run the Model Context Protocol server",
|
|
89
102
|
},
|
|
90
103
|
});
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: deb4e93aa955
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
|
-
import { SSEServerTransport } from
|
|
6
|
-
import { StdioServerTransport } from
|
|
7
|
-
import express from
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
|
|
6
|
+
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
|
|
7
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
8
|
+
import express from "express";
|
|
9
|
+
import { SDKOptions } from "../../../lib/config.js";
|
|
10
|
+
import { LocalContext } from "../../cli.js";
|
|
11
|
+
import {
|
|
12
|
+
ConsoleLoggerLevel,
|
|
13
|
+
createConsoleLogger,
|
|
14
|
+
} from "../../console-logger.js";
|
|
15
|
+
import { createMCPServer } from "../../server.js";
|
|
12
16
|
|
|
13
17
|
interface StartCommandFlags {
|
|
14
|
-
readonly transport:
|
|
18
|
+
readonly transport: "stdio" | "sse";
|
|
15
19
|
readonly port: number;
|
|
16
20
|
readonly tool?: string[];
|
|
17
|
-
readonly
|
|
18
|
-
readonly
|
|
19
|
-
readonly
|
|
21
|
+
readonly "cookie-auth"?: string;
|
|
22
|
+
readonly "bearer-auth"?: string;
|
|
23
|
+
readonly "server-url"?: string;
|
|
24
|
+
readonly "server-index"?: SDKOptions["serverIdx"];
|
|
25
|
+
readonly "log-level": ConsoleLoggerLevel;
|
|
20
26
|
readonly env?: [string, string][];
|
|
21
27
|
}
|
|
22
28
|
|
|
@@ -26,10 +32,10 @@ export async function main(this: LocalContext, flags: StartCommandFlags) {
|
|
|
26
32
|
});
|
|
27
33
|
|
|
28
34
|
switch (flags.transport) {
|
|
29
|
-
case
|
|
35
|
+
case "stdio":
|
|
30
36
|
await startStdio(flags);
|
|
31
37
|
break;
|
|
32
|
-
case
|
|
38
|
+
case "sse":
|
|
33
39
|
await startSSE(flags);
|
|
34
40
|
break;
|
|
35
41
|
default:
|
|
@@ -38,13 +44,17 @@ export async function main(this: LocalContext, flags: StartCommandFlags) {
|
|
|
38
44
|
}
|
|
39
45
|
|
|
40
46
|
async function startStdio(flags: StartCommandFlags) {
|
|
41
|
-
const logger = createConsoleLogger(flags[
|
|
47
|
+
const logger = createConsoleLogger(flags["log-level"]);
|
|
42
48
|
const transport = new StdioServerTransport();
|
|
43
|
-
const server = createMCPServer({
|
|
49
|
+
const { server } = createMCPServer({
|
|
44
50
|
logger,
|
|
45
51
|
allowedTools: flags.tool,
|
|
46
|
-
|
|
47
|
-
|
|
52
|
+
security: {
|
|
53
|
+
cookieAuth: flags["cookie-auth"] ?? "",
|
|
54
|
+
bearerAuth: flags["bearer-auth"] ?? "",
|
|
55
|
+
},
|
|
56
|
+
serverURL: flags["server-url"],
|
|
57
|
+
serverIdx: flags["server-index"],
|
|
48
58
|
});
|
|
49
59
|
await server.connect(transport);
|
|
50
60
|
|
|
@@ -52,24 +62,28 @@ async function startStdio(flags: StartCommandFlags) {
|
|
|
52
62
|
await server.close();
|
|
53
63
|
process.exit(0);
|
|
54
64
|
};
|
|
55
|
-
process.on(
|
|
56
|
-
process.on(
|
|
65
|
+
process.on("SIGTERM", abort);
|
|
66
|
+
process.on("SIGINT", abort);
|
|
57
67
|
}
|
|
58
68
|
|
|
59
69
|
async function startSSE(flags: StartCommandFlags) {
|
|
60
|
-
const logger = createConsoleLogger(flags[
|
|
70
|
+
const logger = createConsoleLogger(flags["log-level"]);
|
|
61
71
|
const app = express();
|
|
62
|
-
const mcpServer = createMCPServer({
|
|
72
|
+
const { server: mcpServer } = createMCPServer({
|
|
63
73
|
logger,
|
|
64
74
|
allowedTools: flags.tool,
|
|
65
|
-
|
|
66
|
-
|
|
75
|
+
security: {
|
|
76
|
+
cookieAuth: flags["cookie-auth"] ?? "",
|
|
77
|
+
bearerAuth: flags["bearer-auth"] ?? "",
|
|
78
|
+
},
|
|
79
|
+
serverURL: flags["server-url"],
|
|
80
|
+
serverIdx: flags["server-index"],
|
|
67
81
|
});
|
|
68
82
|
let transport: SSEServerTransport | undefined;
|
|
69
83
|
const controller = new AbortController();
|
|
70
84
|
|
|
71
|
-
app.get(
|
|
72
|
-
transport = new SSEServerTransport(
|
|
85
|
+
app.get("/sse", async (_req, res) => {
|
|
86
|
+
transport = new SSEServerTransport("/message", res);
|
|
73
87
|
|
|
74
88
|
await mcpServer.connect(transport);
|
|
75
89
|
|
|
@@ -78,47 +92,47 @@ async function startSSE(flags: StartCommandFlags) {
|
|
|
78
92
|
};
|
|
79
93
|
});
|
|
80
94
|
|
|
81
|
-
app.post(
|
|
95
|
+
app.post("/message", async (req, res) => {
|
|
82
96
|
if (!transport) {
|
|
83
|
-
throw new Error(
|
|
97
|
+
throw new Error("Server transport not initialized");
|
|
84
98
|
}
|
|
85
99
|
|
|
86
100
|
await transport.handlePostMessage(req, res);
|
|
87
101
|
});
|
|
88
102
|
|
|
89
|
-
const httpServer = app.listen(flags.port,
|
|
103
|
+
const httpServer = app.listen(flags.port, "0.0.0.0", () => {
|
|
90
104
|
const ha = httpServer.address();
|
|
91
|
-
const host = typeof ha ===
|
|
92
|
-
logger.info(
|
|
105
|
+
const host = typeof ha === "string" ? ha : `${ha?.address}:${ha?.port}`;
|
|
106
|
+
logger.info("MCP HTTP server started", { host });
|
|
93
107
|
});
|
|
94
108
|
|
|
95
109
|
let closing = false;
|
|
96
|
-
controller.signal.addEventListener(
|
|
110
|
+
controller.signal.addEventListener("abort", async () => {
|
|
97
111
|
if (closing) {
|
|
98
|
-
logger.info(
|
|
112
|
+
logger.info("Received second signal. Forcing shutdown.");
|
|
99
113
|
process.exit(1);
|
|
100
114
|
}
|
|
101
115
|
closing = true;
|
|
102
116
|
|
|
103
|
-
logger.info(
|
|
117
|
+
logger.info("Shutting down MCP server");
|
|
104
118
|
|
|
105
119
|
await mcpServer.close();
|
|
106
120
|
|
|
107
|
-
logger.info(
|
|
121
|
+
logger.info("Shutting down HTTP server");
|
|
108
122
|
|
|
109
123
|
const timer = setTimeout(() => {
|
|
110
|
-
logger.info(
|
|
124
|
+
logger.info("Forcing shutdown");
|
|
111
125
|
process.exit(1);
|
|
112
126
|
}, 5000);
|
|
113
127
|
|
|
114
128
|
httpServer.close(() => {
|
|
115
129
|
clearTimeout(timer);
|
|
116
|
-
logger.info(
|
|
130
|
+
logger.info("Graceful shutdown complete");
|
|
117
131
|
process.exit(0);
|
|
118
132
|
});
|
|
119
133
|
});
|
|
120
134
|
|
|
121
135
|
const abort = () => controller.abort();
|
|
122
|
-
process.on(
|
|
123
|
-
process.on(
|
|
136
|
+
process.on("SIGTERM", abort);
|
|
137
|
+
process.on("SIGINT", abort);
|
|
124
138
|
}
|
package/src/mcp-server/cli.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: 22d0a5d5ca7f
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
|
-
import
|
|
6
|
+
import { CommandContext, StricliProcess } from "@stricli/core";
|
|
6
7
|
|
|
7
8
|
export interface LocalContext extends CommandContext {
|
|
8
9
|
readonly process: StricliProcess;
|