@leaflow/sdk 0.0.0-dev.460.gd867712 → 0.0.0-dev.464.g3357507
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/dist/account/v1/generated/functions.d.ts +113 -1
- package/dist/account/v1/generated/functions.js +126 -0
- package/dist/account/v1/generated/models.d.ts +74 -0
- package/dist/account/v1/generated/models.js +8 -0
- package/dist/account/v1/generated/schemas.zod.d.ts +56 -0
- package/dist/account/v1/generated/schemas.zod.js +63 -0
- package/dist/account/v1/generated/validators/acceptConsentsRequestBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/acceptConsentsRequestBody.zod.js +4 -0
- package/dist/account/v1/generated/validators/acceptInvitationByTokenRequestBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/acceptInvitationByTokenRequestBody.zod.js +4 -0
- package/dist/account/v1/generated/validators/acceptedInvitationResponseBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/acceptedInvitationResponseBody.zod.js +4 -0
- package/dist/account/v1/generated/validators/accountDeletionObjectionResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/accountDeletionObjectionResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/accountDeletionResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/accountDeletionResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/accountDeletionState.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/accountDeletionState.zod.js +4 -0
- package/dist/account/v1/generated/validators/accountResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/accountResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/agreementListResponseBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/agreementListResponseBody.zod.js +4 -0
- package/dist/account/v1/generated/validators/agreementResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/agreementResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/consentBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/consentBody.zod.js +4 -0
- package/dist/account/v1/generated/validators/consentListResponseBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/consentListResponseBody.zod.js +4 -0
- package/dist/account/v1/generated/validators/consentResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/consentResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/countryOption.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/countryOption.zod.js +4 -0
- package/dist/account/v1/generated/validators/createProjectRequestBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/createProjectRequestBody.zod.js +4 -0
- package/dist/account/v1/generated/validators/createSSHKeyRequestBody.zod.d.ts +38 -0
- package/dist/account/v1/generated/validators/createSSHKeyRequestBody.zod.js +40 -0
- package/dist/account/v1/generated/validators/cursorPagination.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/cursorPagination.zod.js +4 -0
- package/dist/account/v1/generated/validators/error.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/error.zod.js +4 -0
- package/dist/account/v1/generated/validators/errorStatus.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/errorStatus.zod.js +4 -0
- package/dist/account/v1/generated/validators/fieldViolation.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/fieldViolation.zod.js +4 -0
- package/dist/account/v1/generated/validators/grantResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/grantResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/identityVerificationResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/identityVerificationResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/invitationPreviewResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/invitationPreviewResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/invitationResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/invitationResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/languageOption.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/languageOption.zod.js +4 -0
- package/dist/account/v1/generated/validators/lengthAwarePageInvitationResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/lengthAwarePageInvitationResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/lengthAwarePageProjectAccessResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/lengthAwarePageProjectAccessResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/lengthAwarePageSSHKeyResource.zod.d.ts +49 -0
- package/dist/account/v1/generated/validators/lengthAwarePageSSHKeyResource.zod.js +37 -0
- package/dist/account/v1/generated/validators/listMyInvitationsParams.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/listMyInvitationsParams.zod.js +4 -0
- package/dist/account/v1/generated/validators/listProjectsParams.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/listProjectsParams.zod.js +4 -0
- package/dist/account/v1/generated/validators/listSshKeysParams.zod.d.ts +45 -0
- package/dist/account/v1/generated/validators/listSshKeysParams.zod.js +47 -0
- package/dist/account/v1/generated/validators/locale.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/locale.zod.js +4 -0
- package/dist/account/v1/generated/validators/localeOptionsResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/localeOptionsResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/offsetPagination.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/offsetPagination.zod.js +4 -0
- package/dist/account/v1/generated/validators/previewInvitationByTokenParams.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/previewInvitationByTokenParams.zod.js +4 -0
- package/dist/account/v1/generated/validators/projectAccessList.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/projectAccessList.zod.js +4 -0
- package/dist/account/v1/generated/validators/projectAccessResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/projectAccessResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/projectResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/projectResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/projectSlugAvailabilityResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/projectSlugAvailabilityResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/projectStatus.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/projectStatus.zod.js +4 -0
- package/dist/account/v1/generated/validators/projectTraitResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/projectTraitResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/registerRequestBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/registerRequestBody.zod.js +4 -0
- package/dist/account/v1/generated/validators/renameSSHKeyRequestBody.zod.d.ts +36 -0
- package/dist/account/v1/generated/validators/renameSSHKeyRequestBody.zod.js +34 -0
- package/dist/account/v1/generated/validators/requestAccountDeletionParams.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/requestAccountDeletionParams.zod.js +4 -0
- package/dist/account/v1/generated/validators/resourceRefResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/resourceRefResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/ruleResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/ruleResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/sSHKeyResource.zod.d.ts +44 -0
- package/dist/account/v1/generated/validators/sSHKeyResource.zod.js +41 -0
- package/dist/account/v1/generated/validators/scopedTokenResponseBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/scopedTokenResponseBody.zod.js +4 -0
- package/dist/account/v1/generated/validators/searchProjectsRequestBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/searchProjectsRequestBody.zod.js +4 -0
- package/dist/account/v1/generated/validators/settingsResource.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/settingsResource.zod.js +4 -0
- package/dist/account/v1/generated/validators/submitIdentityVerificationRequestBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/submitIdentityVerificationRequestBody.zod.js +4 -0
- package/dist/account/v1/generated/validators/updateAccountRequestBody.zod.d.ts +4 -0
- package/dist/account/v1/generated/validators/updateAccountRequestBody.zod.js +4 -0
- package/dist/fleet/v1/generated/functions.d.ts +31 -16
- package/dist/fleet/v1/generated/functions.js +27 -8
- package/dist/fleet/v1/generated/models.d.ts +58 -10
- package/dist/fleet/v1/generated/models.js +6 -1
- package/dist/fleet/v1/generated/schemas.zod.d.ts +36 -14
- package/dist/fleet/v1/generated/schemas.zod.js +31 -14
- package/dist/fleet/v1/generated/validators/accountList.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/accountList.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/accountResource.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/accountResource.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/approveEnrollmentRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/approveEnrollmentRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/callMcpToolRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/callMcpToolRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/callMcpToolResponse.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/callMcpToolResponse.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/createGroupMemberRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/createGroupMemberRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/createGroupRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/createGroupRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/createMachineRegistrationRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/createMachineRegistrationRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/createMachineRegistrationResponse.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/createMachineRegistrationResponse.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/createParticipantRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/createParticipantRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/createParticipantResponse.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/createParticipantResponse.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/createPeerConnectionCandidatesRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/createPeerConnectionCandidatesRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/createPeerConnectionRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/createPeerConnectionRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/createSessionRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/createSessionRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/cursorPagination.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/cursorPagination.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/deleteMcpServerParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/deleteMcpServerParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/denyPrivilegeRequestRequest.zod.d.ts +245 -0
- package/dist/fleet/v1/generated/validators/denyPrivilegeRequestRequest.zod.js +247 -0
- package/dist/fleet/v1/generated/validators/desktopOptions.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/desktopOptions.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/desktopState.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/desktopState.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/directoryName.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/directoryName.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/enrollmentResource.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/enrollmentResource.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/enrollmentState.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/enrollmentState.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/error.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/error.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/errorStatus.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/errorStatus.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/featureState.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/featureState.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/fieldViolation.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/fieldViolation.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/findEnrollmentByPairingCodeParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/findEnrollmentByPairingCodeParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/findEnrollmentResponse.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/findEnrollmentResponse.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/groupList.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/groupList.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/groupResource.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/groupResource.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/iceCandidate.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/iceCandidate.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/iceServer.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/iceServer.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/listAccountsParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/listAccountsParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/listGroupMembersParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/listGroupMembersParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/listGroupsParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/listGroupsParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/listMachineEventsParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/listMachineEventsParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/listMachineRegistrationsParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/listMachineRegistrationsParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/listMachinesParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/listMachinesParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/listMcpToolsParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/listMcpToolsParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/listPrivilegeAutoApprovalsParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/listPrivilegeAutoApprovalsParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/listPrivilegeRequestsParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/listPrivilegeRequestsParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/listSessionsParams.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/listSessionsParams.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/machineEventList.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/machineEventList.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/machineEventResource.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/machineEventResource.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/machineEventType.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/machineEventType.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/machineFeature.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/machineFeature.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/machineList.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/machineList.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/machineRegistrationList.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/machineRegistrationList.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/machineRegistrationResource.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/machineRegistrationResource.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/machineRegistrationState.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/machineRegistrationState.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/machineResource.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/machineResource.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/mcpConfigurationFile.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/mcpConfigurationFile.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/mcpConfigurationResource.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/mcpConfigurationResource.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/mcpImplementation.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/mcpImplementation.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/mcpServerFailure.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/mcpServerFailure.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/mcpServerResource.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/mcpServerResource.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/mcpToolList.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/mcpToolList.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/mcpToolResource.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/mcpToolResource.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/mcpTransport.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/mcpTransport.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/mcpUnavailableServer.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/mcpUnavailableServer.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/migrationStep.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/migrationStep.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/namedIdentity.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/namedIdentity.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/offsetPagination.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/offsetPagination.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/operatingSystem.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/operatingSystem.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/participantList.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/participantList.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/participantResource.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/participantResource.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/peerConnection.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/peerConnection.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/privilegeAutoApprovalList.zod.d.ts +24 -7
- package/dist/fleet/v1/generated/validators/privilegeAutoApprovalList.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/privilegeAutoApprovalMode.zod.d.ts +245 -0
- package/dist/fleet/v1/generated/validators/privilegeAutoApprovalMode.zod.js +242 -0
- package/dist/fleet/v1/generated/validators/privilegeAutoApprovalResource.zod.d.ts +24 -7
- package/dist/fleet/v1/generated/validators/privilegeAutoApprovalResource.zod.js +22 -7
- package/dist/fleet/v1/generated/validators/privilegeDecider.zod.d.ts +22 -8
- package/dist/fleet/v1/generated/validators/privilegeDecider.zod.js +22 -9
- package/dist/fleet/v1/generated/validators/privilegeRequestList.zod.d.ts +23 -8
- package/dist/fleet/v1/generated/validators/privilegeRequestList.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/privilegeRequestResource.zod.d.ts +24 -8
- package/dist/fleet/v1/generated/validators/privilegeRequestResource.zod.js +26 -7
- package/dist/fleet/v1/generated/validators/privilegeRequestState.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/privilegeRequestState.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/publicKey.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/publicKey.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/renewParticipantRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/renewParticipantRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/renewParticipantResponse.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/renewParticipantResponse.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/replaceMcpConfigurationRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/replaceMcpConfigurationRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/rtcConfiguration.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/rtcConfiguration.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/runCommandRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/runCommandRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/runCommandResponse.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/runCommandResponse.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/sendMcpRequestRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/sendMcpRequestRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/sendMcpRequestResponse.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/sendMcpRequestResponse.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/sessionCloseReason.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/sessionCloseReason.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/sessionList.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/sessionList.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/sessionMode.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/sessionMode.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/sessionResource.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/sessionResource.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/sessionState.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/sessionState.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/signedMessage.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/signedMessage.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/signingKey.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/signingKey.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/updateAccountRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/updateAccountRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/updateGroupRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/updateGroupRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/updateMachineRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/updateMachineRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/updateMcpServerRequest.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/updateMcpServerRequest.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/updateMcpServerResponse.zod.d.ts +20 -7
- package/dist/fleet/v1/generated/validators/updateMcpServerResponse.zod.js +20 -7
- package/dist/fleet/v1/generated/validators/updatePrivilegeAutoApprovalRequest.zod.d.ts +24 -7
- package/dist/fleet/v1/generated/validators/updatePrivilegeAutoApprovalRequest.zod.js +22 -7
- package/dist/iam/v1/generated/functions.d.ts +8 -6
- package/dist/iam/v1/generated/functions.js +7 -5
- package/dist/iam/v1/generated/models.d.ts +1 -13
- package/dist/iam/v1/generated/models.js +0 -4
- package/dist/iam/v1/generated/schemas.zod.d.ts +8 -10
- package/dist/iam/v1/generated/schemas.zod.js +8 -6
- package/dist/iam/v1/generated/validators/applicationResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/applicationResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/attachPolicyRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/attachPolicyRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/batchGetMembersRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/batchGetMembersRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/batchGetMembersResponseBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/batchGetMembersResponseBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/catalogListResponseBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/catalogListResponseBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/catalogResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/catalogResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/createApplicationRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/createApplicationRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/createApplicationResponseBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/createApplicationResponseBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/createRoleRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/createRoleRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/createSSHKeyRequestBody.zod.d.ts +1 -6
- package/dist/iam/v1/generated/validators/createSSHKeyRequestBody.zod.js +1 -6
- package/dist/iam/v1/generated/validators/cursorPagination.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/cursorPagination.zod.js +1 -1
- package/dist/iam/v1/generated/validators/error.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/error.zod.js +1 -1
- package/dist/iam/v1/generated/validators/errorStatus.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/errorStatus.zod.js +1 -1
- package/dist/iam/v1/generated/validators/fieldViolation.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/fieldViolation.zod.js +1 -1
- package/dist/iam/v1/generated/validators/grantResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/grantResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/invitationResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/invitationResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/issueInvitationRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/issueInvitationRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/issuedInvitationResponseBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/issuedInvitationResponseBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/lengthAwarePageApplicationResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/lengthAwarePageApplicationResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/lengthAwarePageInvitationResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/lengthAwarePageInvitationResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/lengthAwarePageMemberResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/lengthAwarePageMemberResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/lengthAwarePageSSHKeyResource.zod.d.ts +1 -2
- package/dist/iam/v1/generated/validators/lengthAwarePageSSHKeyResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/listApplicationsParams.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/listApplicationsParams.zod.js +1 -1
- package/dist/iam/v1/generated/validators/listMembersParams.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/listMembersParams.zod.js +1 -1
- package/dist/iam/v1/generated/validators/listPoliciesParams.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/listPoliciesParams.zod.js +1 -1
- package/dist/iam/v1/generated/validators/listProjectInvitationsParams.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/listProjectInvitationsParams.zod.js +1 -1
- package/dist/iam/v1/generated/validators/listSshKeysParams.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/listSshKeysParams.zod.js +1 -1
- package/dist/iam/v1/generated/validators/memberResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/memberResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/membershipResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/membershipResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/offsetPagination.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/offsetPagination.zod.js +1 -1
- package/dist/iam/v1/generated/validators/ownershipTransferResponseBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/ownershipTransferResponseBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/permissionResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/permissionResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/policyListResponseBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/policyListResponseBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/policyResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/policyResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/projectAccessResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/projectAccessResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/projectResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/projectResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/projectTraitResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/projectTraitResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/quotaListResponseBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/quotaListResponseBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/quotaResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/quotaResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/renameSSHKeyRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/renameSSHKeyRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/resolvedMemberResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/resolvedMemberResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/resourceRefResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/resourceRefResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/resourceTypeResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/resourceTypeResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/roleListResponseBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/roleListResponseBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/roleResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/roleResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/rotateApplicationSecretResponseBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/rotateApplicationSecretResponseBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/ruleResource.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/ruleResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/sSHKeyResource.zod.d.ts +1 -2
- package/dist/iam/v1/generated/validators/sSHKeyResource.zod.js +1 -5
- package/dist/iam/v1/generated/validators/setMemberPermissionsRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/setMemberPermissionsRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/setMemberRolesRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/setMemberRolesRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/setProjectSlugRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/setProjectSlugRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/transferOwnershipRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/transferOwnershipRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/updateApplicationRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/updateApplicationRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/updatePolicyRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/updatePolicyRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/updateProjectRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/updateProjectRequestBody.zod.js +1 -1
- package/dist/iam/v1/generated/validators/updateRoleRequestBody.zod.d.ts +1 -1
- package/dist/iam/v1/generated/validators/updateRoleRequestBody.zod.js +1 -1
- package/dist/proto/leaflow/fleet/privilege/v1/privilege_pb.d.ts +20 -5
- package/dist/proto/leaflow/fleet/privilege/v1/privilege_pb.js +1 -1
- package/dist/routes.d.ts +40 -0
- package/dist/routes.js +45 -0
- package/package.json +1 -1
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Leaflow Account API
|
|
5
|
+
* Everything that comes before a project is chosen: registration, the account itself, the projects the caller belongs to, and entry into one of them.
|
|
6
|
+
*
|
|
7
|
+
* ## Authentication
|
|
8
|
+
*
|
|
9
|
+
* Every request carries `Authorization: Bearer <access token>`, obtained by signing in at auth.leaflow.net. The endpoints that need no token say so.
|
|
10
|
+
*
|
|
11
|
+
* ## Entering a project
|
|
12
|
+
*
|
|
13
|
+
* 1. `QUERY /account/v1/projects` searches the projects the caller belongs to. The first call registers the account, taking the name and email address from the sign-in claims.
|
|
14
|
+
* 2. `POST /account/v1/projects/{projectId}/scoped-tokens` returns a scoped token for the project chosen.
|
|
15
|
+
* 3. Every other service is called with that scoped token.
|
|
16
|
+
*
|
|
17
|
+
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
|
+
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
23
|
+
* ## Project slugs
|
|
24
|
+
*
|
|
25
|
+
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
26
|
+
*
|
|
27
|
+
* Looking up slugs and claiming custom slugs are rate limited per account. A request over the limit fails with 429, and `meta.retry_after_seconds` on the error states how many seconds to wait before retrying.
|
|
28
|
+
* OpenAPI spec version: 1.0.0
|
|
29
|
+
*/
|
|
30
|
+
import * as zod from "zod";
|
|
31
|
+
export declare const SSHKeyResource: zod.ZodObject<{
|
|
32
|
+
created_at: zod.z.ZodISODateTime;
|
|
33
|
+
fingerprint: zod.ZodString;
|
|
34
|
+
id: zod.ZodUUID;
|
|
35
|
+
key_type: zod.ZodString;
|
|
36
|
+
name: zod.ZodString;
|
|
37
|
+
public_key: zod.ZodString;
|
|
38
|
+
status: zod.ZodEnum<{
|
|
39
|
+
ACTIVE: "ACTIVE";
|
|
40
|
+
REVOKED: "REVOKED";
|
|
41
|
+
}>;
|
|
42
|
+
}, zod.z.core.$strict>;
|
|
43
|
+
export type SSHKeyResource = zod.input<typeof SSHKeyResource>;
|
|
44
|
+
export type SSHKeyResourceOutput = zod.output<typeof SSHKeyResource>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Leaflow Account API
|
|
5
|
+
* Everything that comes before a project is chosen: registration, the account itself, the projects the caller belongs to, and entry into one of them.
|
|
6
|
+
*
|
|
7
|
+
* ## Authentication
|
|
8
|
+
*
|
|
9
|
+
* Every request carries `Authorization: Bearer <access token>`, obtained by signing in at auth.leaflow.net. The endpoints that need no token say so.
|
|
10
|
+
*
|
|
11
|
+
* ## Entering a project
|
|
12
|
+
*
|
|
13
|
+
* 1. `QUERY /account/v1/projects` searches the projects the caller belongs to. The first call registers the account, taking the name and email address from the sign-in claims.
|
|
14
|
+
* 2. `POST /account/v1/projects/{projectId}/scoped-tokens` returns a scoped token for the project chosen.
|
|
15
|
+
* 3. Every other service is called with that scoped token.
|
|
16
|
+
*
|
|
17
|
+
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
|
+
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
23
|
+
* ## Project slugs
|
|
24
|
+
*
|
|
25
|
+
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
26
|
+
*
|
|
27
|
+
* Looking up slugs and claiming custom slugs are rate limited per account. A request over the limit fails with 429, and `meta.retry_after_seconds` on the error states how many seconds to wait before retrying.
|
|
28
|
+
* OpenAPI spec version: 1.0.0
|
|
29
|
+
*/
|
|
30
|
+
import * as zod from "zod";
|
|
31
|
+
export const SSHKeyResource = zod.strictObject({
|
|
32
|
+
created_at: zod.iso.datetime({ offset: true }),
|
|
33
|
+
fingerprint: zod.string().describe("The SHA-256 fingerprint, as `ssh-keygen -l` prints it"),
|
|
34
|
+
id: zod.uuid(),
|
|
35
|
+
key_type: zod.string().describe("The algorithm, such as `ssh-ed25519`"),
|
|
36
|
+
name: zod.string(),
|
|
37
|
+
public_key: zod
|
|
38
|
+
.string()
|
|
39
|
+
.describe("The key in OpenSSH format, without the comment it was added with"),
|
|
40
|
+
status: zod.enum(["ACTIVE", "REVOKED"]),
|
|
41
|
+
});
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## SSH keys
|
|
20
|
+
*
|
|
21
|
+
* The SSH keys of an account sign its holder in as themselves, in every project they belong to: Fleet machines accept them for the holder's directory account wherever `fleet:machines.login` allows it, and Compute installs them on the servers the holder creates or reinstalls. A key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
22
|
+
*
|
|
19
23
|
* ## Project slugs
|
|
20
24
|
*
|
|
21
25
|
* Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
|
|
@@ -105,8 +105,9 @@
|
|
|
105
105
|
* keep a member out of some machines, deny them `fleet:machines.login` on those machines.
|
|
106
106
|
* Elevation through sudo is never approved by a password; see "Approving sudo".
|
|
107
107
|
*
|
|
108
|
-
* Members log in over SSH with the keys
|
|
109
|
-
* log in to the machine.
|
|
108
|
+
* Members log in over SSH with the SSH keys of their own accounts (`/account/v1/me/ssh-keys` on
|
|
109
|
+
* the account API), while they may log in to the machine. The SSH keys a project shares sign in
|
|
110
|
+
* to no directory account.
|
|
110
111
|
*
|
|
111
112
|
* Machines resolve directory accounts and groups themselves and never write them into their local
|
|
112
113
|
* account files. A local account or group that already uses a name or id of the directory keeps
|
|
@@ -139,16 +140,28 @@
|
|
|
139
140
|
* applies:
|
|
140
141
|
*
|
|
141
142
|
* - inside a command run through this API, by the request itself;
|
|
142
|
-
* -
|
|
143
|
-
*
|
|
143
|
+
* - by the user's automatic approval for the machine, for a while or until removed
|
|
144
|
+
* (`PUT /api/v1/machines/{machineId}/privilege-auto-approval`), in one of two modes:
|
|
145
|
+
* - `automatic_review`, the recommended one: a large language model reviews each request and
|
|
146
|
+
* approves or denies it with a reason. It stops most dangerous requests, but not all of
|
|
147
|
+
* them. Each review is a request to Canopy, the model platform, through the project's
|
|
148
|
+
* Canopy service, and may incur Canopy charges; the project needs Canopy enabled. A
|
|
149
|
+
* request that cannot be reviewed, such as when the project has not enabled Canopy or the
|
|
150
|
+
* review does not complete in time, is denied with a reason saying so;
|
|
151
|
+
* - `always_approve`: every request is approved at once. This is dangerous: any program that
|
|
152
|
+
* runs as the account, such as a script or an AI agent, becomes root without anyone being
|
|
153
|
+
* asked;
|
|
144
154
|
* - by the user, on any of their devices, for a request listed by `GET /api/v1/privilege-requests`
|
|
145
155
|
* (`POST …:approve` or `…:deny`), or on a participant of the session the asking process belongs
|
|
146
156
|
* to. A request nobody decides expires, and sudo fails.
|
|
147
157
|
*
|
|
158
|
+
* A denied sudo shows whoever ran it the reason, when the denial gave one.
|
|
159
|
+
*
|
|
148
160
|
* Requests reach the user's devices as they happen through EventBus: the event
|
|
149
|
-
* `leaflow.fleet.privilege.requested` when one
|
|
150
|
-
* when it ends, each addressed to the user in the current
|
|
151
|
-
*
|
|
161
|
+
* `leaflow.fleet.privilege.requested` when one waits for the user and
|
|
162
|
+
* `leaflow.fleet.privilege.decided` when it ends, each addressed to the user in the current
|
|
163
|
+
* project and carrying the request's `id`. Requests decided without asking the user raise
|
|
164
|
+
* neither. A client that subscribes to them needs no polling; one that does not can list the
|
|
152
165
|
* pending requests.
|
|
153
166
|
*
|
|
154
167
|
* ## Connections that drop
|
|
@@ -223,7 +236,7 @@
|
|
|
223
236
|
* revoked. A participant whose creation failed is not announced.
|
|
224
237
|
* OpenAPI spec version: 1.0.0
|
|
225
238
|
*/
|
|
226
|
-
import type { AccountList, AccountResource, ApproveEnrollmentRequest, CallMcpToolRequest, CallMcpToolResponse, CreateGroupMemberRequest, CreateGroupRequest, CreateMachineRegistrationRequest, CreateMachineRegistrationResponse, CreateParticipantRequest, CreateParticipantResponse, CreatePeerConnectionCandidatesRequest, CreatePeerConnectionRequest, CreateSessionRequest, DeleteMcpServerParams, EnrollmentResource, Error, FindEnrollmentByPairingCodeParams, FindEnrollmentResponse, GroupList, GroupResource, ListAccountsParams, ListGroupMembersParams, ListGroupsParams, ListMachineEventsParams, ListMachineRegistrationsParams, ListMachinesParams, ListMcpToolsParams, ListPrivilegeAutoApprovalsParams, ListPrivilegeRequestsParams, ListSessionsParams, MachineEventList, MachineList, MachineRegistrationList, MachineRegistrationResource, MachineResource, McpConfigurationFile, McpConfigurationResource, McpToolList, MigrationStep, ParticipantList, ParticipantResource, PeerConnection, PrivilegeAutoApprovalList, PrivilegeAutoApprovalResource, PrivilegeRequestList, PrivilegeRequestResource, RenewParticipantRequest, RenewParticipantResponse, ReplaceMcpConfigurationRequest, RtcConfiguration, RunCommandRequest, RunCommandResponse, SendMcpRequestRequest, SendMcpRequestResponse, SessionList, SessionResource, UpdateAccountRequest, UpdateGroupRequest, UpdateMachineRequest, UpdateMcpServerRequest, UpdateMcpServerResponse, UpdatePrivilegeAutoApprovalRequest } from "./models.js";
|
|
239
|
+
import type { AccountList, AccountResource, ApproveEnrollmentRequest, CallMcpToolRequest, CallMcpToolResponse, CreateGroupMemberRequest, CreateGroupRequest, CreateMachineRegistrationRequest, CreateMachineRegistrationResponse, CreateParticipantRequest, CreateParticipantResponse, CreatePeerConnectionCandidatesRequest, CreatePeerConnectionRequest, CreateSessionRequest, DeleteMcpServerParams, DenyPrivilegeRequestRequest, EnrollmentResource, Error, FindEnrollmentByPairingCodeParams, FindEnrollmentResponse, GroupList, GroupResource, ListAccountsParams, ListGroupMembersParams, ListGroupsParams, ListMachineEventsParams, ListMachineRegistrationsParams, ListMachinesParams, ListMcpToolsParams, ListPrivilegeAutoApprovalsParams, ListPrivilegeRequestsParams, ListSessionsParams, MachineEventList, MachineList, MachineRegistrationList, MachineRegistrationResource, MachineResource, McpConfigurationFile, McpConfigurationResource, McpToolList, MigrationStep, ParticipantList, ParticipantResource, PeerConnection, PrivilegeAutoApprovalList, PrivilegeAutoApprovalResource, PrivilegeRequestList, PrivilegeRequestResource, RenewParticipantRequest, RenewParticipantResponse, ReplaceMcpConfigurationRequest, RtcConfiguration, RunCommandRequest, RunCommandResponse, SendMcpRequestRequest, SendMcpRequestResponse, SessionList, SessionResource, UpdateAccountRequest, UpdateGroupRequest, UpdateMachineRequest, UpdateMcpServerRequest, UpdateMcpServerResponse, UpdatePrivilegeAutoApprovalRequest } from "./models.js";
|
|
227
240
|
export type HTTPStatusCode1xx = 100 | 101 | 102 | 103;
|
|
228
241
|
export type HTTPStatusCode2xx = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207;
|
|
229
242
|
export type HTTPStatusCode3xx = 300 | 301 | 302 | 303 | 304 | 305 | 307 | 308;
|
|
@@ -660,12 +673,14 @@ export type updatePrivilegeAutoApprovalResponseError = updatePrivilegeAutoApprov
|
|
|
660
673
|
export type updatePrivilegeAutoApprovalResponse = updatePrivilegeAutoApprovalResponseSuccess | updatePrivilegeAutoApprovalResponseError;
|
|
661
674
|
export declare const getUpdatePrivilegeAutoApprovalUrl: (machineId: string) => string;
|
|
662
675
|
/**
|
|
663
|
-
*
|
|
664
|
-
* until removed when `expires_at` is null, replacing any
|
|
665
|
-
*
|
|
666
|
-
*
|
|
676
|
+
* Has the caller's privilege requests on the machine decided without asking them, in
|
|
677
|
+
* `mode`, until `expires_at`, or until removed when `expires_at` is null, replacing any
|
|
678
|
+
* earlier automatic approval. `automatic_review` is recommended; with `always_approve` any
|
|
679
|
+
* program that runs as the account becomes root without anyone being asked. It applies to
|
|
680
|
+
* the caller's own account only, which is created if the caller has none yet, and only
|
|
681
|
+
* while they may become root on the machine. Fails with `INVALID_ARGUMENT` when
|
|
667
682
|
* `expires_at` has passed.
|
|
668
|
-
* @summary
|
|
683
|
+
* @summary Decide the caller's privilege requests on a machine without asking
|
|
669
684
|
*/
|
|
670
685
|
export declare const updatePrivilegeAutoApproval: (machineId: string, updatePrivilegeAutoApprovalRequest: UpdatePrivilegeAutoApprovalRequest, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<updatePrivilegeAutoApprovalResponse>;
|
|
671
686
|
export type deletePrivilegeAutoApprovalResponse204 = {
|
|
@@ -795,11 +810,11 @@ export type denyPrivilegeRequestResponseError = denyPrivilegeRequestResponseDefa
|
|
|
795
810
|
export type denyPrivilegeRequestResponse = denyPrivilegeRequestResponseSuccess | denyPrivilegeRequestResponseError;
|
|
796
811
|
export declare const getDenyPrivilegeRequestUrl: (requestId: string) => string;
|
|
797
812
|
/**
|
|
798
|
-
* Denies one of the caller's pending requests; the waiting sudo fails
|
|
799
|
-
* `PRIVILEGE_REQUEST_CLOSED` as for approving.
|
|
813
|
+
* Denies one of the caller's pending requests; the waiting sudo fails and shows `reason`,
|
|
814
|
+
* when given, to whoever ran it. Fails with `PRIVILEGE_REQUEST_CLOSED` as for approving.
|
|
800
815
|
* @summary Deny a privilege request
|
|
801
816
|
*/
|
|
802
|
-
export declare const denyPrivilegeRequest: (requestId: string, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<denyPrivilegeRequestResponse>;
|
|
817
|
+
export declare const denyPrivilegeRequest: (requestId: string, denyPrivilegeRequestRequest?: DenyPrivilegeRequestRequest, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<denyPrivilegeRequestResponse>;
|
|
803
818
|
export type findEnrollmentByPairingCodeResponse200 = {
|
|
804
819
|
data: FindEnrollmentResponse;
|
|
805
820
|
status: 200;
|
|
@@ -483,12 +483,14 @@ export const getUpdatePrivilegeAutoApprovalUrl = (machineId) => {
|
|
|
483
483
|
return `https://fleet.leaflow.cloud/api/v1/machines/${encodeURIComponent(String(machineId))}/privilege-auto-approval`;
|
|
484
484
|
};
|
|
485
485
|
/**
|
|
486
|
-
*
|
|
487
|
-
* until removed when `expires_at` is null, replacing any
|
|
488
|
-
*
|
|
489
|
-
*
|
|
486
|
+
* Has the caller's privilege requests on the machine decided without asking them, in
|
|
487
|
+
* `mode`, until `expires_at`, or until removed when `expires_at` is null, replacing any
|
|
488
|
+
* earlier automatic approval. `automatic_review` is recommended; with `always_approve` any
|
|
489
|
+
* program that runs as the account becomes root without anyone being asked. It applies to
|
|
490
|
+
* the caller's own account only, which is created if the caller has none yet, and only
|
|
491
|
+
* while they may become root on the machine. Fails with `INVALID_ARGUMENT` when
|
|
490
492
|
* `expires_at` has passed.
|
|
491
|
-
* @summary
|
|
493
|
+
* @summary Decide the caller's privilege requests on a machine without asking
|
|
492
494
|
*/
|
|
493
495
|
export const updatePrivilegeAutoApproval = async (machineId, updatePrivilegeAutoApprovalRequest, options, fetchFn) => {
|
|
494
496
|
const getHeaders = (h) => {
|
|
@@ -623,14 +625,31 @@ export const getDenyPrivilegeRequestUrl = (requestId) => {
|
|
|
623
625
|
return `https://fleet.leaflow.cloud/api/v1/privilege-requests/${encodeURIComponent(String(requestId))}:deny`;
|
|
624
626
|
};
|
|
625
627
|
/**
|
|
626
|
-
* Denies one of the caller's pending requests; the waiting sudo fails
|
|
627
|
-
* `PRIVILEGE_REQUEST_CLOSED` as for approving.
|
|
628
|
+
* Denies one of the caller's pending requests; the waiting sudo fails and shows `reason`,
|
|
629
|
+
* when given, to whoever ran it. Fails with `PRIVILEGE_REQUEST_CLOSED` as for approving.
|
|
628
630
|
* @summary Deny a privilege request
|
|
629
631
|
*/
|
|
630
|
-
export const denyPrivilegeRequest = async (requestId, options, fetchFn) => {
|
|
632
|
+
export const denyPrivilegeRequest = async (requestId, denyPrivilegeRequestRequest, options, fetchFn) => {
|
|
633
|
+
const getHeaders = (h) => {
|
|
634
|
+
if (!h)
|
|
635
|
+
return {};
|
|
636
|
+
if (h instanceof Headers)
|
|
637
|
+
return Object.fromEntries(h.entries());
|
|
638
|
+
if (Symbol.iterator in h) {
|
|
639
|
+
return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
|
|
640
|
+
}
|
|
641
|
+
const headers = {};
|
|
642
|
+
for (const [name, value] of Object.entries(h)) {
|
|
643
|
+
if (value !== undefined)
|
|
644
|
+
headers[name] = value;
|
|
645
|
+
}
|
|
646
|
+
return headers;
|
|
647
|
+
};
|
|
631
648
|
const res = await (fetchFn ?? fetch)(getDenyPrivilegeRequestUrl(requestId), {
|
|
632
649
|
...options,
|
|
633
650
|
method: "POST",
|
|
651
|
+
headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
|
|
652
|
+
body: JSON.stringify(denyPrivilegeRequestRequest),
|
|
634
653
|
});
|
|
635
654
|
const body = [204, 205, 304].includes(res.status) ? null : await res.text();
|
|
636
655
|
const data = body ? JSON.parse(body) : {};
|
|
@@ -105,8 +105,9 @@
|
|
|
105
105
|
* keep a member out of some machines, deny them `fleet:machines.login` on those machines.
|
|
106
106
|
* Elevation through sudo is never approved by a password; see "Approving sudo".
|
|
107
107
|
*
|
|
108
|
-
* Members log in over SSH with the keys
|
|
109
|
-
* log in to the machine.
|
|
108
|
+
* Members log in over SSH with the SSH keys of their own accounts (`/account/v1/me/ssh-keys` on
|
|
109
|
+
* the account API), while they may log in to the machine. The SSH keys a project shares sign in
|
|
110
|
+
* to no directory account.
|
|
110
111
|
*
|
|
111
112
|
* Machines resolve directory accounts and groups themselves and never write them into their local
|
|
112
113
|
* account files. A local account or group that already uses a name or id of the directory keeps
|
|
@@ -139,16 +140,28 @@
|
|
|
139
140
|
* applies:
|
|
140
141
|
*
|
|
141
142
|
* - inside a command run through this API, by the request itself;
|
|
142
|
-
* -
|
|
143
|
-
*
|
|
143
|
+
* - by the user's automatic approval for the machine, for a while or until removed
|
|
144
|
+
* (`PUT /api/v1/machines/{machineId}/privilege-auto-approval`), in one of two modes:
|
|
145
|
+
* - `automatic_review`, the recommended one: a large language model reviews each request and
|
|
146
|
+
* approves or denies it with a reason. It stops most dangerous requests, but not all of
|
|
147
|
+
* them. Each review is a request to Canopy, the model platform, through the project's
|
|
148
|
+
* Canopy service, and may incur Canopy charges; the project needs Canopy enabled. A
|
|
149
|
+
* request that cannot be reviewed, such as when the project has not enabled Canopy or the
|
|
150
|
+
* review does not complete in time, is denied with a reason saying so;
|
|
151
|
+
* - `always_approve`: every request is approved at once. This is dangerous: any program that
|
|
152
|
+
* runs as the account, such as a script or an AI agent, becomes root without anyone being
|
|
153
|
+
* asked;
|
|
144
154
|
* - by the user, on any of their devices, for a request listed by `GET /api/v1/privilege-requests`
|
|
145
155
|
* (`POST …:approve` or `…:deny`), or on a participant of the session the asking process belongs
|
|
146
156
|
* to. A request nobody decides expires, and sudo fails.
|
|
147
157
|
*
|
|
158
|
+
* A denied sudo shows whoever ran it the reason, when the denial gave one.
|
|
159
|
+
*
|
|
148
160
|
* Requests reach the user's devices as they happen through EventBus: the event
|
|
149
|
-
* `leaflow.fleet.privilege.requested` when one
|
|
150
|
-
* when it ends, each addressed to the user in the current
|
|
151
|
-
*
|
|
161
|
+
* `leaflow.fleet.privilege.requested` when one waits for the user and
|
|
162
|
+
* `leaflow.fleet.privilege.decided` when it ends, each addressed to the user in the current
|
|
163
|
+
* project and carrying the request's `id`. Requests decided without asking the user raise
|
|
164
|
+
* neither. A client that subscribes to them needs no polling; one that does not can list the
|
|
152
165
|
* pending requests.
|
|
153
166
|
*
|
|
154
167
|
* ## Connections that drop
|
|
@@ -1039,7 +1052,25 @@ export interface McpToolList {
|
|
|
1039
1052
|
/** Servers whose tools are missing because they could not be started or reached */
|
|
1040
1053
|
unavailable_servers: McpUnavailableServer[];
|
|
1041
1054
|
}
|
|
1055
|
+
/**
|
|
1056
|
+
* How the caller's privilege requests on the machine are decided without asking them:
|
|
1057
|
+
* - `automatic_review`, recommended: a large language model reviews each request from what
|
|
1058
|
+
* the machine reports about it, chiefly the command line, and approves or denies it with
|
|
1059
|
+
* a reason. It stops most dangerous requests, but not all of them. Each review is a
|
|
1060
|
+
* request to Canopy through the project's Canopy service and may incur Canopy charges. A
|
|
1061
|
+
* request that cannot be reviewed, such as when the project has not enabled Canopy, is
|
|
1062
|
+
* denied.
|
|
1063
|
+
* - `always_approve`: every request is approved at once. Dangerous: any program that runs
|
|
1064
|
+
* as the account, such as a script or an AI agent, becomes root without anyone being
|
|
1065
|
+
* asked.
|
|
1066
|
+
*/
|
|
1067
|
+
export type PrivilegeAutoApprovalMode = (typeof PrivilegeAutoApprovalMode)[keyof typeof PrivilegeAutoApprovalMode];
|
|
1068
|
+
export declare const PrivilegeAutoApprovalMode: {
|
|
1069
|
+
readonly automatic_review: "automatic_review";
|
|
1070
|
+
readonly always_approve: "always_approve";
|
|
1071
|
+
};
|
|
1042
1072
|
export interface UpdatePrivilegeAutoApprovalRequest {
|
|
1073
|
+
mode: PrivilegeAutoApprovalMode;
|
|
1043
1074
|
/**
|
|
1044
1075
|
* When the automatic approval ends; null for one that lasts until removed
|
|
1045
1076
|
* @nullable
|
|
@@ -1049,6 +1080,7 @@ export interface UpdatePrivilegeAutoApprovalRequest {
|
|
|
1049
1080
|
export interface PrivilegeAutoApprovalResource {
|
|
1050
1081
|
id: string;
|
|
1051
1082
|
machine_id: string;
|
|
1083
|
+
mode: PrivilegeAutoApprovalMode;
|
|
1052
1084
|
/**
|
|
1053
1085
|
* When the automatic approval ends; null for one that lasts until removed
|
|
1054
1086
|
* @nullable
|
|
@@ -1067,14 +1099,23 @@ export interface PrivilegeAutoApprovalList {
|
|
|
1067
1099
|
page_size: number;
|
|
1068
1100
|
}
|
|
1069
1101
|
/**
|
|
1070
|
-
* Who decided a request on the platform: `user` the user,
|
|
1071
|
-
* automatic approval
|
|
1102
|
+
* Who decided a request on the platform: `user` the user, `always_approve` the user's
|
|
1103
|
+
* automatic approval that approves every request, or `automatic_review` the large language
|
|
1104
|
+
* model that reviewed it.
|
|
1072
1105
|
*/
|
|
1073
1106
|
export type PrivilegeDecider = (typeof PrivilegeDecider)[keyof typeof PrivilegeDecider];
|
|
1074
1107
|
export declare const PrivilegeDecider: {
|
|
1075
1108
|
readonly user: "user";
|
|
1076
|
-
readonly
|
|
1109
|
+
readonly always_approve: "always_approve";
|
|
1110
|
+
readonly automatic_review: "automatic_review";
|
|
1077
1111
|
};
|
|
1112
|
+
export interface DenyPrivilegeRequestRequest {
|
|
1113
|
+
/**
|
|
1114
|
+
* Why, shown to whoever ran sudo: plain text without control characters
|
|
1115
|
+
* @maxLength 200
|
|
1116
|
+
*/
|
|
1117
|
+
reason?: string;
|
|
1118
|
+
}
|
|
1078
1119
|
/**
|
|
1079
1120
|
* `pending` waits for a decision; `approved` and `denied` were decided on the platform, as
|
|
1080
1121
|
* `decided_by` tells; `expired` was not decided in time; `cancelled` means the machine
|
|
@@ -1115,6 +1156,13 @@ export interface PrivilegeRequestResource {
|
|
|
1115
1156
|
state: PrivilegeRequestState;
|
|
1116
1157
|
/** Who decided an `approved` or `denied` request; null in any other state */
|
|
1117
1158
|
decided_by: PrivilegeDecider | null;
|
|
1159
|
+
/**
|
|
1160
|
+
* Why the request was decided so: as the user gave it when denying, or as the automatic
|
|
1161
|
+
* review gave it, including why a review could not be made; null when none was given
|
|
1162
|
+
* @maxLength 200
|
|
1163
|
+
* @nullable
|
|
1164
|
+
*/
|
|
1165
|
+
reason: string | null;
|
|
1118
1166
|
created_at: string;
|
|
1119
1167
|
expires_at: string;
|
|
1120
1168
|
/**
|
|
@@ -68,9 +68,14 @@ export const McpServerFailure = {
|
|
|
68
68
|
protocol_error: "protocol_error",
|
|
69
69
|
timeout: "timeout",
|
|
70
70
|
};
|
|
71
|
+
export const PrivilegeAutoApprovalMode = {
|
|
72
|
+
automatic_review: "automatic_review",
|
|
73
|
+
always_approve: "always_approve",
|
|
74
|
+
};
|
|
71
75
|
export const PrivilegeDecider = {
|
|
72
76
|
user: "user",
|
|
73
|
-
|
|
77
|
+
always_approve: "always_approve",
|
|
78
|
+
automatic_review: "automatic_review",
|
|
74
79
|
};
|
|
75
80
|
export const PrivilegeRequestState = {
|
|
76
81
|
pending: "pending",
|