@leaflow/sdk 0.188.0 → 0.190.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/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
|
@@ -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
|
|
@@ -225,6 +238,7 @@
|
|
|
225
238
|
*/
|
|
226
239
|
import * as zod from "zod";
|
|
227
240
|
export declare const privilegeRequestResourceSessionIdMax = 40;
|
|
241
|
+
export declare const privilegeRequestResourceReasonMax = 200;
|
|
228
242
|
export declare const PrivilegeRequestResource: zod.ZodObject<{
|
|
229
243
|
id: zod.ZodUUID;
|
|
230
244
|
machine_id: zod.ZodUUID;
|
|
@@ -243,8 +257,10 @@ export declare const PrivilegeRequestResource: zod.ZodObject<{
|
|
|
243
257
|
}>;
|
|
244
258
|
decided_by: zod.ZodUnion<readonly [zod.ZodEnum<{
|
|
245
259
|
user: "user";
|
|
246
|
-
|
|
260
|
+
automatic_review: "automatic_review";
|
|
261
|
+
always_approve: "always_approve";
|
|
247
262
|
}>, zod.ZodNull]>;
|
|
263
|
+
reason: zod.ZodNullable<zod.ZodString>;
|
|
248
264
|
created_at: zod.z.ZodISODateTime;
|
|
249
265
|
expires_at: zod.z.ZodISODateTime;
|
|
250
266
|
decided_at: zod.ZodNullable<zod.z.ZodISODateTime>;
|
|
@@ -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
|
|
@@ -227,6 +240,7 @@ import * as zod from "zod";
|
|
|
227
240
|
import { PrivilegeDecider } from "./privilegeDecider.zod.js";
|
|
228
241
|
import { PrivilegeRequestState } from "./privilegeRequestState.zod.js";
|
|
229
242
|
export const privilegeRequestResourceSessionIdMax = 40;
|
|
243
|
+
export const privilegeRequestResourceReasonMax = 200;
|
|
230
244
|
export const PrivilegeRequestResource = zod.strictObject({
|
|
231
245
|
id: zod.uuid(),
|
|
232
246
|
machine_id: zod.uuid(),
|
|
@@ -246,6 +260,11 @@ export const PrivilegeRequestResource = zod.strictObject({
|
|
|
246
260
|
decided_by: zod
|
|
247
261
|
.union([PrivilegeDecider, zod.null()])
|
|
248
262
|
.describe("Who decided an `approved` or `denied` request; null in any other state"),
|
|
263
|
+
reason: zod
|
|
264
|
+
.string()
|
|
265
|
+
.max(privilegeRequestResourceReasonMax)
|
|
266
|
+
.nullable()
|
|
267
|
+
.describe("Why the request was decided so: as the user gave it when denying, or as the automatic\nreview gave it, including why a review could not be made; null when none was given"),
|
|
249
268
|
created_at: zod.iso.datetime({ offset: true }),
|
|
250
269
|
expires_at: zod.iso.datetime({ offset: true }),
|
|
251
270
|
decided_at: zod.iso
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|